分享

1200与200 Modbus通信

 圆月7 2018-05-26

                                       

一;

1、组态硬件,选择CPU型号及激活以太网口,CM1241 RS422/485通信模块,设定等待时间50ms,消息超时时间一般为50ms。


2、调用指令,选择通信处理(点到点)——MODBUS——MB_COMM_LOAD

3、MB_COMM_LOAD指令为启用Modbus协议进行通信,且该指令只需调用一次,也就是使用上升沿触发该指令,可使用系统存储器调用(组态时勾选)。

4、REQ为1时启用Modbus RTU协议通信。

5、PORT是通信端口的硬件标识符,双击该地址选择“Local_CM_1241_(RS422/485)”。

6、MB_DB是Modbus_Master指令的背景数据块(先调用MB_Master指令才会出现背景数据块),若既有发送又有接收,则两个指令应使用相同的背景数据块。

7、DATA_LEN是发送的位或字个数,当DATA_LEN为1-10128时表示位个数,当DATA_LEN为30001-49999时表示字个数。

8、DATA_PTR是发送的数据区,注意:只能是M区或DB块,否则通信错误。

9、若需交换I区或Q区的数据,可使用传送指令先将数据传到M/D区,再进行数据交换。

二、

1使用Modbus_Master指令向从站发送数据。

2、REQ为发送条件,可用上升沿或不用上升沿,若需连续交换数据,则最好使用上升沿作为触发条件下降沿作为接收条件。

3、MB_ADDR是Modbus协议的从站地址,注意:不是端口的站地址,也不是发送或接收区的从站Modbus起始地址。

4、MODE为1时表示发送数据,为0时表示接收数据。

5、DATA_LEN是从站Modbus起始地址,1-128对应Q0.0-Q15.7,10001-10128对应I0.0-I15.7,30001-30032对应AIW0-AIW62,40001-49999对应V区。

三;从站程序


注意:从站只能使用0号端口通信;HoldStart是分配给指令的数据区;调用指令时注意分配库存区(尽量使用后面的地址)

指南车机器人学院
点击关注,与10万+工程师一起成长!

 与数十万机器人工程师共同进步 

工业机器人大神只差关注

指南车机器人学院,机器人工程师摇篮


    本站是提供个人知识管理的网络存储空间,所有内容均由用户发布,不代表本站观点。请注意甄别内容中的联系方式、诱导购买等信息,谨防诈骗。如发现有害或侵权内容,请点击一键举报。
    转藏 分享 献花(0

    0条评论

    发表

    请遵守用户 评论公约

    类似文章 更多