Advertisement
当前位置:
请教台达plc 如何读取MODBUS的40100地址
回复 | 人气 | 打印
hydbw 个人主页 给TA发消息 加TA为好友 发表于:2014-10-23 12:03:15 楼主

不知道该用什么命令读,用MODRD命令输入不了40100地址,用RS 命令好像又不合适,请问该如何访问外部设备的40100地址?

分享到: 收藏 回复 举报
公孙小天 个人主页 给TA发消息 加TA为好友 发表于:2014-10-23 12:51:23 1楼
 

把前面的4去掉,看成十进制的100,然后看你设备的定义如果寻址是从40001开始的,那么就是第99个地址,把99转成16进制地址H63,MODRD或RS指令里面地址用H63即可,如果寻址是从40000开始的那么就是H64.

  回复引用举报
dgl123 个人主页 给TA发消息 加TA为好友 发表于:2014-10-23 14:38:40 2楼
 

楼主,能发个线路图参考一下吗?

  回复引用举报
hydbw 个人主页 给TA发消息 加TA为好友 发表于:2014-10-23 18:00:18 3楼
 

回复内容:

对: 公孙小天 把前面的4去掉,看成十进制的100,然后看你设备的定义... 内容的回复!


谢谢了,modbus的地址40100是十进制的? ,还有4DF0110地址怎么读取?

  回复引用举报
公孙小天 个人主页 给TA发消息 加TA为好友 发表于:2014-10-23 18:15:50 4楼
 

不明白的话可以看一下台达PLC编程手册中的PLC装置通讯地址表,举个例子,D0的MODBUS通讯地址有十进制和十六进制两种,十进制是401027(6位扩展地址),十六进制是H1000,其中十进制地址中最高位的4表示的是地址分类是4区的保持型寄存器,而后面的01027才是地址的编号,只不过十进制是从1开始编号,而十六进制是从0开始编的而已。至于4DF0110就不明白了,你确定是地址?

  回复引用举报
hydbw 个人主页 给TA发消息 加TA为好友 发表于:2014-10-25 00:24:27 5楼
 

回复内容:

对: 公孙小天 不明白的话可以看一下台达PLC编程手册中的PLC装置通... 内容的回复!


恩,没错,可以用了,就是H63,十分感谢。4DF0110实际就是浮点数的意思,实际地址是110,就是十六进制6E-1=6D。

还想请教下我要读取几个分开的地址,如40100,40110,40001地址,用MODRD的话好像就没法同时读到了,能有什么好办法解决吗?RS指令没用过,怎么感觉都是本机的地址

  回复引用举报
公孙小天 个人主页 给TA发消息 加TA为好友 发表于:2014-10-27 11:17:08 6楼
 

一条MODRD指令的读取长度最多是6个WORD,如果不够,那么换用MODRW加03功能码来做,最多可读16个WORD(注意如果用COM2,ASCII模式则是8个WORD),如果间隔超过16了,只能另写一条读取指令了,具体见手册。

  回复引用举报
hydbw 个人主页 给TA发消息 加TA为好友 发表于:2014-10-29 20:53:09 7楼
 

回复内容:

对: 公孙小天  一条MODRD指令的读取长度最多是6个WORD,如果不... 内容的回复!


 谢谢,我要用到8个字的长度吧,关键就是地址不是连续的,分别在40100,40110,40001,另写一条读取指令感觉会重复读,会冲突呀,有什么方法避免呢,手册上没翻到这方面的东西

  回复引用举报
公孙小天 个人主页 给TA发消息 加TA为好友 发表于:2014-10-30 10:35:07 8楼
 

多条通讯指令用不同的触发条件,然后用比如定时器、计数器等来错开这些触发条件的时序,你可以到下面的网址下载编程实例,从目录中找一下通讯程序的范例,拿来改一下就能用了。

http://www.delta.com.tw/ch/product/em/download/download_main.asp?act=3&pid=3&cid=1&tpid=10  

  回复引用举报
hydbw 个人主页 给TA发消息 加TA为好友 发表于:2014-10-30 15:34:45 9楼
 

回复内容:

对: 公孙小天 多条通讯指令用不同的触发条件,然后用比如定时器、计数器... 内容的回复!


我也想过用定时器,但没想到具体怎么用...,您发的网址里我找了下,有RTU 485 的例子,但好像没有找到有分时读的例子。实在不行只有通过触摸屏来读了

  回复引用举报
sz22970 个人主页 给TA发消息 加TA为好友 发表于:2015-01-26 15:12:31 10楼
 

请问用MODRW的02功能吗怎么读10001呀

  回复引用举报
pyjzz 个人主页 给TA发消息 加TA为好友 发表于:2015-02-13 17:57:01 11楼
 

在PLC程序中先将40100,40110,40001地址内的数据传送到你没有用的相近字里面(如:40100传到40111;40110传到40112,40001传到40113),然后再读40111、40112、40113三个字不就可以了。

  回复引用举报
oydaosheng 个人主页 给TA发消息 加TA为好友 发表于:2015-02-25 11:16:21 12楼
 

本人正在测试ABB ACS550变频器,PLC用台达的 也是通信问题还没好。

  回复引用举报
秦雨纷乱 个人主页 给TA发消息 加TA为好友 发表于:2017-08-21 17:49:53 13楼
 

回复内容:

对:公孙小天 把前面的4去掉,看成十进制的100,然后看你设备的定义如果寻址是从40001开始的,那么就是第99个地址,把99转成16进制地址H63,MODRD或RS指令里面地址用H63即可,如果寻址是从40000开始的那么就是H64.     内容的回复:

有联系方式吗?QQ1847121522

  回复引用举报
秦雨纷乱 个人主页 给TA发消息 加TA为好友 发表于:2017-08-21 17:49:55 14楼
 

回复内容:

对:公孙小天 把前面的4去掉,看成十进制的100,然后看你设备的定义如果寻址是从40001开始的,那么就是第99个地址,把99转成16进制地址H63,MODRD或RS指令里面地址用H63即可,如果寻址是从40000开始的那么就是H64.     内容的回复:

有联系方式吗?QQ1847121522

  回复引用举报
nizhidao 个人主页 给TA发消息 加TA为好友 发表于:2017-08-22 17:26:59 15楼
 

受益匪浅,照着这个帖子改了程序,可是……任然通讯不了啊哈哈哈

  回复引用举报
119434587 个人主页 给TA发消息 加TA为好友 发表于:2017-10-19 17:23:51 16楼
 


回复内容:

对: 公孙小天 不明白的话可以看一下台达PLC编程手册中的PLC装置通... 内容的回复!

是是是是是是是是是是

  回复引用举报
leechonghua 个人主页 给TA发消息 加TA为好友 发表于:2017-10-26 18:45:15 17楼
 


引用 nizhidao 的回复内容: 受益匪浅,照着这个帖子改了程序,可是……任然通讯不了啊哈哈哈


  回复引用举报
一冬无雪 个人主页 给TA发消息 加TA为好友 发表于:2017-11-02 15:34:49 18楼
 

楼主,能发个线路图参考一下吗?

  回复 引用 举报
qweqwe3252 个人主页 给TA发消息 加TA为好友 发表于:2018-04-26 14:22:09 19楼
  有没有人知道怎么设置com2口,我的变频器是欧瑞e-2000,modbus通讯不上,外部接线应该是没错,com口有什么特殊设置要求吗
  回复 引用 举报
brillian0315 个人主页 给TA发消息 加TA为好友 发表于:2018-06-07 13:00:47 20楼
 

xiexiefenxiang

  回复 引用 举报
狼人杀 个人主页 给TA发消息 加TA为好友 发表于:2018-06-12 11:21:34 21楼
 

COM口的通讯不是在PLC的参数中设置好就可以用了??捕获.PNG


难道还需要写通讯程序?

  回复 引用 举报
海涛 个人主页 给TA发消息 加TA为好友 发表于:2018-09-08 16:00:14 22楼
 

谢谢楼主,学习学习

  回复 引用 举报
永夜凡 个人主页 给TA发消息 加TA为好友 发表于:2018-10-12 16:25:17 23楼
 

新手来看看,哈哈,好东西大家来分享


  回复 引用 举报

相关主题
周点击排行
周回复排行
    最新求助
      Advertisement Advertisement