台达PLC方便指令MODRW指令对RTU485的位读写

1.台达指令手册中说明MODRW目前仅支持功能码H3 H06 H10分别指读取多笔word ,写单笔word ,写多笔word , 也就是不支持bit位的读写?
2.远程通信模块RTU-485除了上述功能码外,还支持H01 读取有效位, H02读取输入有效位,h0f对有效位多笔写 ,我多笔写有效位可以用DODRW吗?
3.我用DVP-SV 做主机,RTU-485挂接若干AI DI DO做从站 ,我在程序里用中间若干m表示远程的X Y ,想实时反应在远程的DI DO 上面 ,需要MODRW 对位操作??不知可以吗?
4.不想用rs指令,我的DI DO 100多点,肯定很费劲 请各位专家帮忙,急,急

1、台达的PLC不支持位的读写
2、不知道你的远程RTU能不能编程,台达MODBUS通讯的只能字操作,不能位操作,如果可以编程,转换一下就可以
3、和第2个问题差不多,既然是若干m,那就比如mov k4m0 d100就把16个位放到了一个字里面
4、关键是要了解MODBUS通讯的方法,台达的只能对字操作,如果从设备只能做位操作,建议还是换一种PLC,比如欧姆龙的,功能码可以自己设,如果从设备可以将一个字转成16个位,那就省心了,通讯速度还会快很多倍的,如果这个项目带触摸屏的,那就更省心了,把所有设备都连到触摸屏上,设定一下地址,直接用宏指令做一下就搞定
关键还是要了解MODBUS通讯协议追问

1.我也有这种打算,在程序里面用若干个M 当做远程 Y的标志 ,在程序里运行, 若干个M就会有1 或者0的两种变化,然后我用 MOV K4M0 D100 然后用 MODRW 指令吧 D100 通过通信的方式传到远程 Y 的通信地址里面去 。不知道这么做可以吗?还有个问题,Y 是8位的 ,我将MO-M15 传到 D100 的16个位里面,然后,将D100 传送到 Y0-Y15 这16个连续地址吗?Y0 到 Y7 ,然后 Y8 ,Y9 没有了,Y10-Y17 ,这个怎么处理 ??

追答

这样是可以的,你的PLC是8位的应该可以自动转换到把Y8到Y10里,如果不放心可以在用M点过渡一下,用M点输出到Y点

追问

我用的RTU-485远程地址是从H500开始的,我用 MOV K4MO D100 ,将 M0-M15 传送到 D100 的 bit 0 - bit 15 然后用台达的MODBUS 方便指令 MODRW
MODRW K1 H10 H500 D100 K1 (K1为从站地址 , H10 为写多笔word 命令码,H500 为写入的地址起始位置 ,D100 是写入的源地址,K1 ,为写入 1 笔word )从站会自动将传送的数据转为Y500-516 ,Y510-Y516 吗?

追答

答案是肯定的可以,如果你的远程设备也是台达的PLC,不过H500应该对应的是Y0,范围最多应该是Y0-Y7、Y10-Y17,台达的PLC输入输出是按8进制算地址的,你把8进制的地址换算成10进制,就可以看出其实地址还是连续的,不必担心

温馨提示:答案为网友推荐,仅供参考

相关了解……

你可能感兴趣的内容

本站内容来自于网友发表,不代表本站立场,仅表示其个人看法,不对其真实性、正确性、有效性作任何的担保
相关事宜请发邮件给我们
© 非常风气网