求助:台达PLC如何用RS指令读取MODBUSRTU功能码04H的数据 点击:4510 | 回复:9



澄尘

    
  • 精华:0帖
  • 求助:0帖
  • 帖子:1帖 | 6回
  • 年度积分:0
  • 历史总积分:9
  • 注册:2006年4月24日
发表于:2006-05-15 23:02:00
楼主
请教大侠modbus RTU中功能码为04H的用RS指令怎么读啊?
用modrd读不了.
如果装置地址为01H,
功能码04H,
欲读取装置寄存器地址为03E8H
字数为01H
CRC码为B1BAH
可否成:
^^^^
ld 1000
mov h0104 d100
mov h03e8 d101
mov h01   d102
mov hb1ba d103
^^^^
rs d100 k8 d200 k8
^^^^
我不大明白MODBUS协议的报文格式,不能像上面这样写吧?我用上面的方法写后D200~D203都没有数据

望哪位仁兄不吝赐教在下,不甚感激.



lesing

  • 精华:1帖
  • 求助:0帖
  • 帖子:76帖 | 3076回
  • 年度积分:0
  • 历史总积分:5728
  • 注册:2005年4月13日
发表于:2006-05-16 07:46:00
1楼
DVP-PLV不支持功能码04H,你是要读取03E8H
得内容,用功能码03就可以了

lesing

  • 精华:1帖
  • 求助:0帖
  • 帖子:76帖 | 3076回
  • 年度积分:0
  • 历史总积分:5728
  • 注册:2005年4月13日
发表于:2006-05-16 07:48:00
2楼
01 03 03E8 0001 (校验码)   结束符

澄尘

  • 精华:0帖
  • 求助:0帖
  • 帖子:1帖 | 6回
  • 年度积分:0
  • 历史总积分:9
  • 注册:2006年4月24日
发表于:2006-05-16 11:06:00
3楼
谢谢lesing.du的回复.
我的PLC连的是FUJI温控仪,FUJI温控仪有两个03E8H的地址,一个必须用功能码为03H的读取,一个必须用功能码为04H的读取。
所以想到用RS指令,RS指令也不支持04H的读取吗?

lesing

  • 精华:1帖
  • 求助:0帖
  • 帖子:76帖 | 3076回
  • 年度积分:0
  • 历史总积分:5728
  • 注册:2005年4月13日
发表于:2006-05-16 11:17:00
4楼
那请问FUJI温控仪应该支持Modbus通讯协议,如果FUJI温控仪支持Modbus协议,那FUJI温控仪是否功能码04?如果FUJI温控仪支持功能码04 ,那么就可以通过台达PLC读取FUJI温控仪的绝对地址03E8

lesing

  • 精华:1帖
  • 求助:0帖
  • 帖子:76帖 | 3076回
  • 年度积分:0
  • 历史总积分:5728
  • 注册:2005年4月13日
发表于:2006-05-16 11:40:00
5楼
你的PLC的M1161=ON还是OFF?
如果是M1161=OFF
那你的程序也有错误,因该是MOV H0401 D100

澄尘

  • 精华:0帖
  • 求助:0帖
  • 帖子:1帖 | 6回
  • 年度积分:0
  • 历史总积分:9
  • 注册:2006年4月24日
发表于:2006-05-16 12:08:00
6楼
回lesing.du
1、03E8是相对地址
2、M1143=ON
M1161=OFF
现在把程序改为
^^^^
ld 1000
mov h0401 d100
mov h03e8 d101
mov h01   d102
mov hb1ba d103
^^^^
rs d100 k8 d200 k8

D200~D203里仍然无值。不知何故

澄尘

  • 精华:0帖
  • 求助:0帖
  • 帖子:1帖 | 6回
  • 年度积分:0
  • 历史总积分:9
  • 注册:2006年4月24日
发表于:2006-05-16 13:06:00
7楼
不方便发图片,把我写的指令全文发上来吧,请大家看看哪里有误:
LD M1002
MOV H87 D1120
SET M1120
SET M1143
RST M1161
MOV K200 D1129
LD M1000
MOV H401 D100
MOV H3E8 D101
MOV H1   D102
MOV HB1BA D103
LDP X0
SET M1122
LD X0
RS D100 K8 D200 K8
LD M1123
RST M1123
END

lesing

  • 精华:1帖
  • 求助:0帖
  • 帖子:76帖 | 3076回
  • 年度积分:0
  • 历史总积分:5728
  • 注册:2005年4月13日
发表于:2006-05-16 14:16:00
8楼
请问你的FUJI温控器的通讯格式有没有设置成RTU,9600 ,8,E,1

澄尘

  • 精华:0帖
  • 求助:0帖
  • 帖子:1帖 | 6回
  • 年度积分:0
  • 历史总积分:9
  • 注册:2006年4月24日
发表于:2006-05-16 21:12:00
9楼
回lesing.du
FUJI温控仪设成RTU,9600,8,E,1了.
问题已经解决了:
改成8位模式(SET M1161)
MOV H1 D100
MOV H4 D101
MOV H3 D102
MOV HE8 D103
MOV H0 D104(昨天用8位模式试验时这句忘掉了)
MOV H1 D105
MOV HB1 D106
MOV HBA D107
再次谢谢lesing.du的帮助

热门招聘
相关主题

官方公众号

智造工程师