M340的modbus通过Dataexch通讯实验 图文并茂Word格式.docx
《M340的modbus通过Dataexch通讯实验 图文并茂Word格式.docx》由会员分享,可在线阅读,更多相关《M340的modbus通过Dataexch通讯实验 图文并茂Word格式.docx(8页珍藏版)》请在冰豆网上搜索。
说明
01
读线圈
02
读离散量输入
03
读保持寄存器
04
读输入寄存器
05
写单个线圈
06
写单个寄存器
07
读异常状态
08
诊断
11
0B
获得事件计数器
12
0C
获得事件记录
15
0F
写多个线圈
16
10
写多个寄存器
17
报告从站ID
22
屏蔽写寄存器
23
读/写多个寄存器
24
18
读FIFO队列
DATA_EXCH用梯形图表示为
各个引脚定义
ADR为地址引脚,对于PREMIUM系列需要使用ADDR功能块连接
对于M340系列需要使用ADDM功能块连接。
TYPE为类型引脚,1为接受/发送,2为只接受,3为只发送。
EMIS为要发送表
RECP为接受表
GEST为交换管理表
实验一:
读取N位(功能码01)
其中在EMIS数组中第一个字,低字节为功能码01,高字节为读取位的起始位1
第二个字,低字节为读取位的起始位1,高字节为读取位的长度5
第三个字,低字节为读取位的长度5
最后要在交换管理表的第四个字中定义这个报文字节的长度,为1个字节的功能码,2个字节的数据起始地址,2个字节的读取位的长度,所以长度为1+2+2=5
在TWIDO中赋值如下:
在RECP中第一个字为返回码
第二个字为读取的数据
实验二:
读取N字(功能码03)
其中在EMIS数组中第一个字,低字节为功能码03,高字节为读取字的起始地址1
第二个字,低字节为读取字的起始地址1,高字节为读取字的长度6
第三个字,低字节为读取字的长度6
最后要在交换管理表的第四个字中定义这个报文字节的长度,为1个字节的功能码,2个字节的数据起始地址,2个字节的读取字的长度,所以长度为1+2+2=5
在TWIDO中赋值如下
第二个字开始为读取的数据
实验三:
写单字(功能码06)
其中在EMIS数组中第一个字,低字节为功能码06,高字节为从站要写入字的地址11
第二个字,低字节为从站要写入字的地址11,高字节为主站写出字的地址90
第三个字,低字节为主站写出字的地址90
最后要在交换管理表的第四个字中定义这个报文字节的长度,为1个字节的功能码,2个字节的从站写入字地址,2个字节的主站写出字地址,所以长度为1+2+2=5
在主站赋值如下
在TWIDO中显示如下
实验四:
写N字(功能码16)
其中在EMIS数组中第一个字,低字节为功能码16,高字节为从站要写入字的起始地址20
第二个字,低字节为从站要写入字的起始地址20,高字节为要写入字的长度3
第三个字,低字节为要写入字的长度3,高字节为2倍的要写入字的长度
第四个字~第六个字为主站写出字,高低字节顺序要相互转换
最后要在交换管理表的第四个字中定义这个报文字节的长度,为1个字节的功能码,2个字节的从站写入字地址,2个字节的写入字的长度,1个2倍的要写入字的长度,6个字节的主站写出字,所以长度为1+2+2+1+6=12
另外注意刷新数据时,必须要把EN引脚断开一下才可以重新读取或写入。
通过实验,把交换管理表的完成位(即GEST第一个字的最低位)放在EN引脚前不太好使,所以最好编个令牌循环指令。
把令牌放在EN引脚前,当取得令牌时再读取或者写入。
功能码05: