您现在所在的是:

PLC论坛

回帖:8个,阅读:4757 [上一页] [1] [下一页]
507
AAAFaAKIeCMt
文章数:41
年度积分:50
历史总积分:507
注册时间:2017/6/21
发站内信
发表于:2017/7/7 12:40:32
#0楼
 前阵子做的PLC与变送器的通讯,读程序我都写好了,用MODRD 完全可以通讯,写我觉得就是换个MODWR的命令,就没写了。结果今天突然用了MODWR写命令,不能写进去,换了很多个地址都不行。这是怎么回事? 我看了例程也就是换个指令啊,前后的设定都没变的,请问为什么,是哪里还要设定吗??
507
AAAFaAKIeCMt
文章数:41
年度积分:50
历史总积分:507
注册时间:2017/6/21
发站内信
发表于:2017/7/7 12:41:05
#1楼
PLC型号DVP20SX2
507
AAAFaAKIeCMt
文章数:41
年度积分:50
历史总积分:507
注册时间:2017/6/21
发站内信
发表于:2017/7/7 12:57:47
#2楼
附件 6.jpg
我刚刚看了一下,在D1089-D1096中PLC发出的都是有数据的,说明程序写对了,但是D1070-D1077中PLC接受的数据是没有的,说明是变送器没有返回值,这是可能是什么问题呢???求指教
5752
121111115
文章数:1421
年度积分:196
历史总积分:5752
注册时间:2015/3/16
发站内信
2018论坛分享达人
发表于:2017/7/7 13:35:00
#3楼
这说明你发过来的数据变送器不认识,PLC和变送器之间是通过什么通讯方式通讯的,不要违反通讯协议,注意地址,通讯参数的配置。
507
AAAFaAKIeCMt
文章数:41
年度积分:50
历史总积分:507
注册时间:2017/6/21
发站内信
发表于:2017/7/7 13:41:14
#4楼
回复 #3楼 121111115
你好,是用的MODBUS通讯协议,变送器是标准的MODBUS。而且我用的命令也是MODBUS 的指令MODRD和MODWR,最关键是我用读取命令MODRD是完全正常的,多个地址位都可以正常读取,PLC发出的和接受的D存储区都是有正常数值的!!但是用写指令MODWR就没有PLC接受到的返回数据了。。百思不得其解,。。
5752
121111115
文章数:1421
年度积分:196
历史总积分:5752
注册时间:2015/3/16
发站内信
2018论坛分享达人
发表于:2017/7/7 14:10:56
#5楼
注意modbus地址的寻址区
00001至09999是离散输出(线圈)
10001至19999是离散输入(触点)
30001至39999是输入寄存器(通常是模拟量输入)
40001至49999是保持寄存器
读和写是在不同的寻址区,你读的位地址是1XXXX的,那你写的时候就因该是0XXXX,你要照着原地址写是写不进的,先确定你要写的数据是什么类型,然后照着地址区往里写或者读,注意看寻址区是可读可写,还是只读只写的。
人家不支持写,你往里写就写不进去,人家不让读,你读就读不到,不是你想干嘛就能干的。
507
AAAFaAKIeCMt
文章数:41
年度积分:50
历史总积分:507
注册时间:2017/6/21
发站内信
发表于:2017/7/7 14:28:36
#6楼
回复 #5楼 121111115
你好,我不太明白“ 读和写是在不同的寻址区,你读的位地址是1XXXX的,那你写的时候就因该是0XXXX”这句话。 我是一台变送器和台达PLC做485接口连接, 要读写它的保存寄存器。在西门子PLC上的地址我是用4000X 这样的4开头的,但是是在台达的MODRD命令里  我写的就是去掉4开头剩下的,能够正常读。 而且在西门子PLC里我对一个项目比如输入数值 的读取都是一个地址,不知道你说读和写不同是什么意思。。。???
5752
121111115
文章数:1421
年度积分:196
历史总积分:5752
注册时间:2015/3/16
发站内信
2018论坛分享达人
发表于:2017/7/7 15:15:03
#7楼
我用PLC和触摸屏用modbus通讯时,位状态读是1开头的地址是可以读进来的,但是你照着这个地址是写不过去的,写要卸载0开头的地址上去。
比如读这一位状态需要读10003地址,你可以看到他的状态,但是你要修改他就不能用这个地址,要写在00003上去就行,这就是存储区的读写限制,变送器一般都是读保持寄存器,写的话(整数)你可以换个3地址试试。
有些是只读的,有些可读可写,有的只能写,明白我的意思吗,还有就是注意数据类型,是整数还是bool
5752
121111115
文章数:1421
年度积分:196
历史总积分:5752
注册时间:2015/3/16
发站内信
2018论坛分享达人
发表于:2017/7/7 15:28:53
#8楼
再告诉你一个方法,变送器一般都自带调试软件的,用它的软件发送读写指令,然后用串口助手监听串口数据,分析报文,看人家官方是用什么指令写到了什么地址上。

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

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

46.8003