分享

Modbus TCP通讯(PLC/机器人)

 六指 2022-09-04 发布于北京

需要指出的是,在两者设置通讯时,机器人侧通常只能用于做服务器,PLC作为客户端(主站)。

1

在FANUC机器人侧,需要加装Modbus TCP通讯软件。

加装完成后,在IO选项中会出现Modbus TCP选项。

图片

在Modbus TCP中设置通讯字节长度。

图片

示例中的输入输出为4words。

设置完成之后,需要到设置选项中,设置IP地址。

图片

示例中的端口#1 IP地址为:192.168.1.100

其中需要注意的是,Modbus TCP默认通讯端口号为502,无需进行手动修改。

2

在PLC侧,需要确认PLC支持Modbus TCP通讯功能。

下图以SIEMENS S7 1200为例进行说明。

图片

在进行设置时,需要通过客户端进行IP和端口号设置。

需要确保PLC的IP和机器人保持同一网段,同时端口号一致。

在这一过程中,需要保证通讯的字节长度与机器人设置的相同。

否则通讯无法连通。

tips:可通过机器人主机通讯界面的ping指令对PLC进行测试。

3

连通之后,需要对PLC和机器人侧的IO进行映射匹配。

通常机器人侧安装完成Modbus TCP之后,IO会自动分配相应字节长度的IO点位。

图示的DI/DO从201-264分配给Modbus TCP(机架号96)通讯。

图片

图片

如果是手动分配的IO点位,记得冷启动之后才能生效。

4

在PLC侧,需要分配与机器人相匹配的字节长度。

需要通过MB_CLIENT指令进行发送相应指令进行连接和传输数据。

图片

在通讯过程中,我们需要了解该款PLC相对应的Modbus功能码和相对应的地址位。

不同型号的PLC会略有不同,具体需要参考该款PLC的帮助文档。

图示是SIEMENS S7-1200的功能码和地址说明。

图片

而机器人侧支持的Modbus功能码有:

图片

因此,我们需要使用两边都支持的功能码去实现Modbus TCP通讯功能。

5

在SIEMENS的一些PLC中Modbus功能码是不能直接输入的,而是通MB_MODE和MB_DATA_ADDR的组合去确认Modbus功能码。

如下图示例,如果我们需要读输出位DO【201】的内容,此时我们有两种写法:MB_MODE=0,MB_DATA_ADDR=1或MB_MODE=101,MB_DATA_ADDR=00000。

图片

找到PLC端的读写映射地址与机器人IO的关系在Modbus TCP中较为重要。

图片

END

以上是今天分享的内容,欢迎大家转载和收藏!

在实际操作中碰到问题,也可以后台私信我哦。

图片

您点的每个赞,我都认真当成了喜欢

图片

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

    0条评论

    发表

    请遵守用户 评论公约

    类似文章 更多