您现在所在的是:

施耐德电气论坛

回帖:5个,阅读:2269 [上一页] [1] [下一页]
5190
FreeTigerMan
文章数:555
年度积分:165
历史总积分:5190
品牌积分(施耐德):895
注册时间:2002/9/9
发站内信
发表于:2019/7/30 17:33:10
#0楼
Modbus通讯编程实例(二)

继续上编程实例。请结合前面讲到的Modbus协议内容,就很容易理解这些数值设定。

实例二:读取N字(功能码03)

附件 m5.jpg

-图-

其中在EMIS数组中第一个字,低字节为功能码03,高字节为读取字的起始地址1
第二个字,低字节为读取字的起始地址1,高字节为读取字的长度6
第三个字,低字节为读取字的长度6
最后要在交换管理表的第四个字中定义这个报文字节的长度,为1个字节的功能码,2个字节的数据起始地址,2个字节的读取字的长度,所以长度为1+2+2=5

在TWIDO中赋值如下
附件 m6.jpg

-图-

在RECP中第一个字为返回码
第二个字开始为读取的数据
附件 m7.jpg

-图-


实例三:写单字(功能码06)
附件 m8.jpg
-图-

其中在EMIS数组中第一个字,低字节为功能码06,高字节为从站要写入字的地址11
第二个字,低字节为从站要写入字的地址11,高字节为主站写出字的地址90
第三个字,低字节为主站写出字的地址90
最后要在交换管理表的第四个字中定义这个报文字节的长度,为1个字节的功能码,2个字节的从站写入字地址,2个字节的主站写出字地址,所以长度为1+2+2=5


在主站赋值如下
附件 m9.jpg

-图-
在TWIDO中显示如下:
附件 m10.jpg

-图-
50
weicy007
文章数:571
年度积分:50
历史总积分:50
品牌积分(施耐德):852
注册时间:2019/4/29
发站内信
发表于:2019/7/31 14:45:15
#1楼
DATA_EXCH模块有调用数量的限制吗?还是说随便用多少个都可以。
5190
FreeTigerMan
文章数:555
年度积分:165
历史总积分:5190
品牌积分(施耐德):895
注册时间:2002/9/9
发站内信
发表于:2019/7/31 16:02:35
#2楼
就像例子里的,不要多个同时工作,错开
50
AUTOSYS168
文章数:288
年度积分:50
历史总积分:50
品牌积分(施耐德):308
注册时间:2019/10/29
发站内信
发表于:2019/11/2 15:41:11
#3楼
楼主,请问可以用指针给定地址吗?这样使用起来会很方便。
5190
FreeTigerMan
文章数:555
年度积分:165
历史总积分:5190
品牌积分(施耐德):895
注册时间:2002/9/9
发站内信
发表于:2019/11/5 9:34:05
#4楼
回复 #3楼 AUTOSYS168
就是地址区。。。。
883
659060314
文章数:56
年度积分:120
历史总积分:883
品牌积分(施耐德):2
注册时间:2015/4/29
发站内信
发表于:2019/11/8 16:23:38
#5楼
很好,学习了
此帖发自手机工控论坛

关于我们 | 联系我们 | 广告服务 | 本站动态 | 友情链接 | 法律声明 | 非法和不良信息举报

工控网客服热线:0755-86369299
版权所有 工控网 Copyright©2024 Gkong.com, All Rights Reserved

62.4004