mysql与plc通讯_Matlab与PLC进行通信(通过ModBus TCP协议)

这篇博客介绍了如何使用Matlab2018b与西门子PLC通过ModBus TCP协议进行通信。在PLC端,创建DataSend数据块并配置通信描述,编写梯形图使用MB_SERVER指令。在Matlab端,创建modbus连接对象,通过`read`和`write`函数实现数据的读取和写入。遇到通信问题时,可以通过重启PLC或使用Modbus Poll和Modbus Slave进行调试。
摘要由CSDN通过智能技术生成

软件:博途V15、Matlab2018b

非必须软件:Modbus Poll(模拟Client端)、Modbus Slave(模拟Server端)

编程:梯形图

此通信可分为Server端和Client端。将数据被读写的端理解为Server端,进行操控的端理解为Client端。故这个PLC为Server端,Matlab部分为Client端。

Server端:

1.创建DataSend数据块,用于matlab对其数据进行读写(data1为Bool类型不能成功写入)。

9b6e2caf0041

2.右键单击DataSend数据块,在属性里取消勾选优化块的访问(很重要,不然数据无法使用绝对地址,数据无法通信)

9b6e2caf0041

3.创建全局数据块SEND作为TCON_IP_v4传输对象

在块里创建SendObj,数据类型为TCON_IP_v4,该变量是ModBus TCP的通信描述。

变量的含义:

InterfaceId:PLC的硬件标识符

ID:连接编号,取值范围1~4095

ADDR[1]~[4]:Client端的IP地址(参考适配器设置里PLC的那个网络连接(非PLC自身IP))

LocalPort:Server的端口,一般Server端才需要设置,Clien

  • 3
    点赞
  • 7
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值