三菱触摸屏怎么改时间_三菱FX5U通过485接口与IAI电缸进行modbus通讯实例讲解

论坛 期权论坛 编程之家     
选择匿名的用户   2021-6-2 16:57   1633   0

#423知识节##423 今日头条知识节#

下图是我们的电柜,原先是计划通过三菱QD70定位模块发脉冲控制IAI电缸的,后面才发现这款控制器是只能收差动信号,而QD70定位模块是发出的集电极信号,需要加转换模块才能使用。为了不影响设备调试,先接了IO信号控制电缸走点位和示教。也能用,就是不用电脑的话不知道示教的是多少距离,有改动位置的话不容易恢复。

ba8ddf7d8a3522eb94c13f879b06317d.png

右侧的FX5U是外购设备的控制器,看它的485接口就闲置的,就研究了一下IAI电缸的modbus通讯,下面介绍下怎么用。

首先看接线吧,电缸的1脚是B,2脚是A

fe15312b8e030b2dff17554f65c573c4.png
b4e9904e4fc1b579ab4b685af6796eab.png

IAI设置

电缸控制器那边确认站号和波特率即可,站号是拨码开关设置的,默认是0,表示1号站。

6bcf25b1889a057da8b091182e8f4979.png

波特率需要用软件设置,就下面的这个软件。

9ece06b2cfc88ac17422d3ed1b05b93f.png

由于只有保存备份了位置数据,忘记保存参数配置文件,所以没法上图看在哪里配置,我用的这款波特率默认的是38400,也没去改。

PLC参数设置

1c68632a48d87d8a6833b49cd9ade712.png

PLC参数也就波特率,奇偶校验那些,串口通讯的都是这些,设置一致就可以了。

PLC编程

因为我是IO控制的,接线如下,选择输出指令No.1

9cc0b5bf41925f6baebc80a4efb8bdd7.png

控制器就会走到我示教好的位置1,它是27.23mm的位置

22882ef739ae2c409a7aee2dfe9f0a7f.png

电脑联机IAI查看的

主要是靠IO选择,为了实现方便调试功能,我只要通过modbus通讯实现2个功能就行了。

一个是读取实时位置显示在触摸屏,还有就是可以随时查看和修改各个No位置数据。

其他的功能我就没去看了,也没啥区别,只是对不同地址读写而已。

读取当前位置

下面是IAI手册的一部分,它的9000-9001存放的就是当前位置,写指令读取这个地址的数据就行了

H为16进制表示

507747bec770322fff9e12215e68f99c.png

下面是5U的主站读取指令,PLC作为主站,IAI为从站

5c8a252e8602ec85d0fb54ebbcf0a3e5.png

H1表示1号从站就是IAI,H3是功能码,H9000为起始地址,H2位读取个数,格式就是上面的示列。CRC校验是不用考虑的,这条指令会自己计算,M3010为指令执行结果标志位,失败M3010会ON,成功的话M3011会ON,成功读取的数据就会存到D6000开始的地址里,转到到D280起始的地址中。

返回数据示列如下

e1a3a1ba6e63cfa30dc245058ccd82c1.png

正常数据返回的话,D280存的是数据字节数,D281-D282就是电缸的当前位置。

2,读取No:位置数据

cbf0bc43ba2bb3f12f9fdd637119c4f0.png

如上,No位置存放在1000H起始地址里,一个位置数据占用16个地址,就像读取当前位置那样读取就好了。

a42527c7f2e4a5d364aa261a2224b587.png

功能码还是03,起始地址变成了1000H,读取个数变成了H50,一次读取5条位置No数据,读取成功后存放在D15000开始的地址中

然后做好触摸屏能显示就好

798cf5945a388e0b0850df8a166769fb.png

3,写入No位置数据

39099fbc64260ca94b0d8cafa5fb7111.png

地址没变,功能码变成H10了

4823f3e4f08495d48f0203d2b0572a62.png

以上就是实现读取实时位置和修改No位置数据的编程方式,有疑问可以一起探讨,感谢观看!

调试成功后,我就把QD70拆下来啦,又省下一个模块。

afa6c10eb895b35a2945ee85fdc6e87c.png
分享到 :
0 人收藏
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

积分:3875789
帖子:775174
精华:0
期权论坛 期权论坛
发布
内容

下载期权论坛手机APP