Modbus TCP 是 Modbus 协议的以太网扩展版本,基于 TCP/IP 协议栈实现设备间数据交换。它采用 客户端-服务器(主从)架构,主设备(客户端)发起请求,从设备(服务器)响应操作,适用于PLC、传感器、执行器等工业设备的通信。
由于现在行业竞争激烈,很多厂子都为了节省成本,一般会先从设备方面入手,比如产线控制系统里的PLC跟下属执行器之间的通信,为了省一个板卡的钱,modbus tcp通讯基本就成了最优的选择(modbus tcp通讯一般来说都是标配,不需要花费)
安川机器人Modbus TCP 功能介绍
机器人侧设定
机器人进入维护模式,随后进入安全模式。
进入设置-选项功能-LAN接口设定-设置需要的IP
设置机器人LAN2口IP为192.168.1.48注意:机器人IP设定需要和PLC的IP同属一个网段,插网线的时候LAN2口和LAN3口不要插错了。
进入设置-选项功能-MODBUS/TCP(CPU基板)进行参数的设置
选择系统、设置、选项功能,找到 MODBUS/TCP(CPU 基板 。
(如果未找到此功能,则控制柜版本需要升级YAS4.71.00 00 以上,另外启用此功能需另行开通)
需要安川加密狗的可以联系我!!!!!!
① ST #
设定本功能分配的IO模块的工位编号。请设定1~14中还没有分配IO模块的编号。
②IO大小(IN/OUT)
设定IO区域保留的IO大小(单位:byte)。可设定的最大值为506 byte(4048点)。
③M寄存器
设定寄存器数据收发使用的M寄存器起始序号。可设定的值为0~999。
④M寄存器大小
设定寄存器数据收发使用的M寄存器的个数。若指定为0个,则不收发寄存器数据。“M 寄存器”+“M 寄存器大小”可设定的合计值为0~1000。
⑥超时检查
设定是否检查PLC发出的通信指令的无通信时间。每按一次[选择]键,“有效”“无效”交替切换。若要进行检查,请设定为“有效”。
在设定为“有效”的状态下,若无通信时间超过设定值,通信状态的通信异常位便会变为ON。
此后,若接收到PLC通信指令,则使通信状态的通信异常位变为OFF,重新开始超时检查。
请设定无通信时间的超时值(单位:msec)。
可设定值为1~65535,超时检查的精度为2msec。
设置完成后回车确认修改,多次按回车键确认修改。
选择分配模式自动分配,选择外部IO分配-详细,查看IO分配
按回车键,确认修改内容,随后重启机器人到在线模式。
Modbus TCP不保证通信周期恒定。在本功能的通信状态中可以检查通信连接的状态,但通信连接一旦确立后,只要不明确地进行切断或再连接,就不会变为未确立状态。另外,虽然可以通过设置超时检查有效来检测未通信状态,但这是检查是否在设定时间内接收到来自上位PLC的指令,并不是检查是否发送或接收到了预期的IO数据。
为了确认是否正确收发了预期的IO数据,请客户在并行IO程序等中追加进行检查的处理。
关于Modbus TCP(CPU基板)的状态
Modbus TCP(CPU基板)状态(分配区域的前8点)的含义如下所示。表中分配信号(输入)的“xxx”值是与Modbus TCP(CPU基板)的起始分配编号的数值对应的值。(在上述例子中为20060~20067,所以“xxx”为006)
PLC侧设置
打开博图软件,新建项目,进入项目视图,在硬件目录中找到对应的 PLC添加PLC 到项目中(本次使用的软件为博图 V17)
封装一个读写多个I/O,读写多个寄存器的FB块
新建DB块,储存读取写入的数据。
新建DB块,储存连接参数
ADDR参数(服务器侧IP1地址设置为192.168.1.48)
新建FB块
接口参数如下
Main程序调用FB块
设置PLC的IP 192.168.1.10(需要和机器人IP同网段即可)
修改电脑以太网的IP(需要和机器人IP/PLC的IP同网段且不能冲突)
正确连接电脑、PLC和机器人的网线,下载PLC程序到PLC进行通信测试。
PLC侧强制写入IO信号给机器人的状态如下:
机器人侧监视外部输入信号的状态如下:
机器人侧强制输出信号到PLC的状态如下
PLC侧监视机器人输入的IO信号状态如下:
以上,西门子1500和安川YRC1000机器人进行modbus tcp通信成功啦
如果有需要这个测试DEMO的,请先点赞,然后转发到朋友圈或者工控相关群。然后把转发后的截图发送到后台,我看到截图后会分享给您的。(如果嫌麻烦不想转发的,可以直接打赏喔)
(人工分享,我在工作摸鱼期间或者下班后看到消息就会分享资料给您,请不要着急!!!)
9273
