首页 上一页 1 2 下一页 尾页

modbus新起点连载--台达PLC的modbusTCP客户端程序 点击:8839 | 回复:21



we9322025

    
  • 精华:2帖
  • 求助:0帖
  • 帖子:11帖 | 41回
  • 年度积分:8
  • 历史总积分:955
  • 注册:2012年10月23日
发表于:2018-07-21 17:11:11
楼主

之前章节链接

modbus新起点1--基础篇:http://bbs.gongkong.com/d/201807/764982_1.shtml 

modbus新起点连载2--modbus台达篇:http://bbs.gongkong.com/d/201807/765040_1.shtml

modbus的新起点连载3——台达PLC的modbus主站:http://bbs.gongkong.com/d/201807/765110_1.shtml

modbus新起点连载4--台达PLC以太网的数据交换:http://bbs.gongkong.com/D/201807/765957_1.shtml 

modbus新起点连载5--台达PLC的modbusTCP客户端程序:http://bbs.gongkong.com/D/201807/765961_1.shtml 

modbus新起点连载6——西门子200的modbusRTU: http://bbs.gongkong.com/D/201807/766167_1.shtml 

上一章节的分享,主要是基于台达PLC的以太网的资料交换功能。资料交换挺方便的,速度蛮快,但是只支持H03(读取多个寄存器)、H10(写入多个寄存器)、H17(读写多个寄存器),如果需要用到其他功能码的比如01功能(读线圈),02功能(读取输入点)就显得无能为力了。

为此给大家分享一下台达modbus tcp客户端的使用方法。

在这里的我这边依然采用台达12SEPLCModbus TCP指令为ETHRW

说明如下:

  image.png

S1的区域占用5个寄存器,S2区域作为协议装置的地址。

在这里用PCmodbus slave工具模拟了一个数值。IP地址为192.168.1.55PLCIP地址为192.168.1.99),我对2048之后的一些地址进行赋值如下图:

image.png

在这里指令各个参数含义就并不介绍了,直接进入编程环节。程序如下:

image.png

可以看出,由于TCP的请求超时默认是3S,基本不用修改,所以第一步忽略,剩下3步。

第一部分 通讯指令填写

image.png

S1赋值D0连续5个寄存器,分别存储了IP、模块编号、通讯站号和功能码四个内容。参见程序的第二步。

S2地址:目前modbus slave中赋值的参数从2048(十六进制H0800)开始。

D:读写的数据,如果是读取,存放读取的内容,如果是写入,则存放写入的内容。

第二步 IP、通讯口、读写参数设定

image.png

可以看到IP地址占用了一个32位的存储D0,内容为HC0A80127,按八位的拆开后,C0(十进制192),A8(十进制168),01(十进制01),37,(十进制55)。PCIP正好是192.168.1.55。这样就很明白了。

D2为模块编号,EH3的通讯卡编号和SE的主机固定为K108;当有连接左侧Ethernet模块时,其通讯口分别依其连接台数(最靠近主机的为第1)编号定义为K100(1) ~ K107(8)

D3为站号:站号我习惯默认为1。在modbus TCP中这个参数本身意义不大,只是用来转换RTUASCII中才有用。

D4功能码:在这我用读取的指令,使用常用的03的功能码

第三步 判断通讯读取的结果

image.png

D1395为存放接收完成时的状态旗标,其bit0~8分别表示哪一个模块的通讯口已经完成接收,也即是bit0~7分别表示左侧第1~8台的通讯口,bit8表示Ethernet 通讯卡;例如EH312SE主机) Ethernet通讯卡接收完成,则输入条件判断指令BLD  D1395  k8 就会成立。

D1396为存放接收错误的状态旗标,其bit0~8分别表示哪一模块已经发生错误;例如左侧模块第1EN01的通讯口有接收错误发生,则输入条件判断指令BLD  D1396  k0 就会成立。

在这里12SE的主机的通讯均有Bit8决定,所以用其生成了通讯的标志位。

最后看下我们当M0使能后,读取回D50的内容存的是什么。

image.png

在把之前的模拟数据拿出来。(因为只读取了5个数,所以D56显示为0

image.png


PS:到这里经历了两周的时间,到台达的章节已经完成,附件是modbus TCP客户端的样例。下一章节的1200部分,由于软件装起来比较费劲。所以可能会稍微慢一点。

在这里分享这么多,只想聚集一群在通信上摸爬滚打的兄弟们,欢迎志同道合的同志们加我微信we9322025.




正在下载,请等待……
下载附件需1积分!



无为天下_1

  • 精华:0帖
  • 求助:2帖
  • 帖子:4帖 | 41回
  • 年度积分:83
  • 历史总积分:369
  • 注册:2011年11月23日
发表于:2024-01-09 15:18:56
21楼

感谢楼主分享


热门招聘
相关主题

官方公众号

智造工程师
    首页 上一页 1 2 下一页 尾页