您现在所在的是:

PLC论坛

回帖:7个,阅读:1101 [上一页] [1] [下一页]
631
191897090
文章数:12
年度积分:50
历史总积分:631
注册时间:2014/10/30
发站内信
发表于:2014/11/14 8:28:20
#0楼
1.PLC使用串口线通过485转232转换器直接与电脑相连时,modscan和mopc软件均可以读取从站上的数据,
但是我改用C2000  N2A1串口转网口转换器时(虚拟串口3),modscan可以正常通讯但是mopc无法读取,请问这是
什么原因?是否因为mopc不支持虚拟串口??
2.modbus地址为4XXXX时,假如从站的保持寄存器VB0到VB7依次输入10、11。。。17,那么正常情况下读取4..1、4..2时会读到什么数据??
28357
guanyumou 版主
文章数:10598
年度积分:335
历史总积分:28357
注册时间:2008/7/13
发站内信
2018论坛优秀版主
2018春节活动(三)
2017论坛优秀版主
2017国庆活动(二)
2017春节活动(三)
发表于:2014/11/14 9:35:38
#1楼
以下是引用1918970902014/11/14 8:28:20的发言:
1.PLC使用串口线通过485转232转换器直接与电脑相连时,modscan和mopc软件均可以读取从站上的数据,
但是我改用C2000  N2A1串口转网口转换器时(虚拟串口3),modscan可以正常通讯但是mopc无法读取,请问这是
什么原因?是否因为mopc不支持虚拟串口??
2.modbus地址为4XXXX时,假如从站的保持寄存器VB0到VB7依次输入10、11。。。17,那么正常情况下读取4..1、4..2时会读到什么数据??
1、应该跟Mopc有关系
2、VB0、VB1组成VW0,VB2、VB3组成VW2,。。。。。。
如果从站指令库中的HoldStart为&VB0的话
且如果你说的数据10 11等是10进制的话
那么依次读过来的数据
400001:16#0A0B
400002:16#0C0D
。。。。。。
+10
基于各种组态软件\触摸屏\PLC\单片机\变频器Modbus TCP\RTU\ASCII通信编程服务,需要请直接
联系!腾讯扣扣149034219
631
191897090
文章数:12
年度积分:50
历史总积分:631
注册时间:2014/10/30
发站内信
发表于:2014/11/14 9:54:40
#2楼
回复 #1楼 guanyumou
先感谢;
也就是说如果我想实现主机某个软件通过modbus读取PLC采集的数据,那么PLC采集的模拟量最后要转化保存为VW0/2/4....??
28357
guanyumou 版主
文章数:10598
年度积分:335
历史总积分:28357
注册时间:2008/7/13
发站内信
2018论坛优秀版主
2018春节活动(三)
2017论坛优秀版主
2017国庆活动(二)
2017春节活动(三)
发表于:2014/11/14 10:11:49
#3楼
以下是引用1918970902014/11/14 9:54:40的发言:
先感谢;
也就是说如果我想实现主机某个软件通过modbus读取PLC采集的数据,那么PLC采集的模拟量最后要转化保存为VW0/2/4....??
MODBUS中4开始的寄存器都是16位的!
西门子里诸如VW0 VW2 VW4也是一个字16位的!
这样才能一一对应!
基于各种组态软件\触摸屏\PLC\单片机\变频器Modbus TCP\RTU\ASCII通信编程服务,需要请直接
联系!腾讯扣扣149034219
631
191897090
文章数:12
年度积分:50
历史总积分:631
注册时间:2014/10/30
发站内信
发表于:2014/11/15 9:49:51
#4楼
回复 #3楼 guanyumou
不好意思再打搅一下,因为之前在200程序的数据库里赋值的都是VB,但是没办法赋值给MAXHOLD范围内的VW,那么如果PLC采集到数据是否只能保存进VBXXX中??
28357
guanyumou 版主
文章数:10598
年度积分:335
历史总积分:28357
注册时间:2008/7/13
发站内信
2018论坛优秀版主
2018春节活动(三)
2017论坛优秀版主
2017国庆活动(二)
2017春节活动(三)
发表于:2014/11/15 13:36:47
#5楼
以下是引用1918970902014/11/15 9:49:51的发言:
不好意思再打搅一下,因为之前在200程序的数据库里赋值的都是VB,但是没办法赋值给MAXHOLD范围内的VW,那么如果PLC采集到数据是否只能保存进VBXXX中??
VW0本身就是由VB0和VB1组成的啊!
基于各种组态软件\触摸屏\PLC\单片机\变频器Modbus TCP\RTU\ASCII通信编程服务,需要请直接
联系!腾讯扣扣149034219
631
191897090
文章数:12
年度积分:50
历史总积分:631
注册时间:2014/10/30
发站内信
发表于:2014/11/15 15:59:52
#6楼
回复 #5楼 guanyumou
不好意思,因为我刚接触这个东西,表达的不是很清楚。。我在VB0/1中输入十进制的10、11,通过MOPC软件读取VW0得到的是2XXX即为16进制的0A0B;如果我直接在PLC从站程序中数据块里定义VW的值则显示报错,除非定义的VW不在设置保持寄存器的范围;
我看到的程序里采集的数据存储在VD中,那么应该在程序中怎么转化才可以让MOPC软件读出正确的值呢?因为我直接赋值VW失败了,是否表示最后数据只能以VB的形式存储呢?
28357
guanyumou 版主
文章数:10598
年度积分:335
历史总积分:28357
注册时间:2008/7/13
发站内信
2018论坛优秀版主
2018春节活动(三)
2017论坛优秀版主
2017国庆活动(二)
2017春节活动(三)
发表于:2014/11/15 20:42:56
#7楼
以下是引用1918970902014/11/15 15:59:52的发言:
不好意思,因为我刚接触这个东西,表达的不是很清楚。。我在VB0/1中输入十进制的10、11,通过MOPC软件读取VW0得到的是2XXX即为16进制的0A0B;如果我直接在PLC从站程序中数据块里定义VW的值则显示报错,除非定义的VW不在设置保持寄存器的范围;
我看到的程序里采集的数据存储在VD中,那么应该在程序中怎么转化才可以让MOPC软件读出正确的值呢?因为我直接赋值VW失败了,是否表示最后数据只能以VB的形式存储呢?
VB0 VB1分别是两个字节
VW0是一个字,由VB0作为高8位、VB1作为低8位
基于各种组态软件\触摸屏\PLC\单片机\变频器Modbus TCP\RTU\ASCII通信编程服务,需要请直接
联系!腾讯扣扣149034219

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

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

46.8003