您现在所在的是:

工控软件

回帖:12个,阅读:3857 [上一页] [1] [2] [下一页]
1065
huyafeng
文章数:84
年度积分:76
历史总积分:1065
注册时间:2012/3/1
发站内信
发表于:2016/4/8 11:34:40
#0楼
最近用51单片机和组态王做了一个modbus通信系统
描述:单片机用c语言开发了底层modbus协议,经串口与组态王通信
     组态王在设备一栏选择的是莫迪康的modbus RTU      
     组态王部分,我用虚拟串口工具虚拟了两个直连口,分别是COM2和COM3,串口调试软件设为COM3,组态王的设备一
     栏设为COM2。在组态王里添加了2个按钮,1个按下时置位0x00001,另一个按钮按下时复位0x00001.
问题:单片机部分用串口调试软件测试过了,可以正常收发数据,基本可以排除单片机的问题了
     组态王部分,按下按钮,第一次串口工具收到的数据是01 05 00 00 00 00 8C 3A(置位线圈0x00001);但是再按
     ,收到的是01 01 00 00 00 00 FD CA(读取线圈0x00001),在信息窗口里一直显示“[I]运行系统:尝试与设备“单片机”通信失败”不知道怎么回事,请高手解答,谢谢!
附件 01.jpg

附件 02.jpg

附件 03.jpg

附件 04.jpg

附件 05.jpg

附件 06.jpg

附件 07.jpg

附件 08.jpg



19254
pqsh 版主
文章数:7424
年度积分:1084
历史总积分:19254
注册时间:2006/8/22
发站内信
2018论坛解答高手
发表于:2016/4/8 11:52:37
#1楼
读取线圈不是按下去的效果,是modbus轮询的报文.
你说了三个意思,单片机,虚拟端口和组态王.发生是三者关系?
轮询的55ms减慢点.
[此贴子已经被作者于2016/4/8 11:59:23编辑过]
如果我忘了我
请帮忙记得我
pqsh@163,326199298@v&q同号
27950
guanyumou 版主
文章数:10552
年度积分:1133
历史总积分:27950
注册时间:2008/7/13
发站内信
2018论坛优秀版主
2018春节活动(三)
2017论坛优秀版主
2017国庆活动(二)
2017春节活动(三)
发表于:2016/4/8 12:03:01
#2楼
附件 untitled1.jpg
首先这条指令是给0x00001复位的命令!

附件 untitled2.jpg
这个是组态王尝试通信恢复的命令,你单片机必须安装MODBUS RTU协议予以回复!本身你变量类型就是可读写的bit类型变量,既然可读可写,那么组态王肯定会安装采集周期进行读的
且读操作一般不是你可以控制的,组态王会按照采集周期执行的,建议采集周期设置为100ms以上!
基于各种组态软件\触摸屏\PLC\单片机\变频器Modbus TCP\RTU\ASCII通信编程服务,需要请直接
联系!腾讯扣扣149034219
27950
guanyumou 版主
文章数:10552
年度积分:1133
历史总积分:27950
注册时间:2008/7/13
发站内信
2018论坛优秀版主
2018春节活动(三)
2017论坛优秀版主
2017国庆活动(二)
2017春节活动(三)
发表于:2016/4/8 12:05:32
#3楼
试试把变量类型修改为只写变量,当类型为只写变量的时候,请把采集周期设置为0!然后再试试!
基于各种组态软件\触摸屏\PLC\单片机\变频器Modbus TCP\RTU\ASCII通信编程服务,需要请直接
联系!腾讯扣扣149034219
27950
guanyumou 版主
文章数:10552
年度积分:1133
历史总积分:27950
注册时间:2008/7/13
发站内信
2018论坛优秀版主
2018春节活动(三)
2017论坛优秀版主
2017国庆活动(二)
2017春节活动(三)
发表于:2016/4/8 12:15:01
#4楼
附件 untitled1.jpg



附件 untitled2.jpg



附件 untitled3.jpg



附件 untitled4.jpg



附件 untitled5.jpg



附件 untitled6.jpg
基于各种组态软件\触摸屏\PLC\单片机\变频器Modbus TCP\RTU\ASCII通信编程服务,需要请直接
联系!腾讯扣扣149034219
27950
guanyumou 版主
文章数:10552
年度积分:1133
历史总积分:27950
注册时间:2008/7/13
发站内信
2018论坛优秀版主
2018春节活动(三)
2017论坛优秀版主
2017国庆活动(二)
2017春节活动(三)
发表于:2016/4/8 12:17:11
#5楼
测试工程给你
附件:
[本地下载]
基于各种组态软件\触摸屏\PLC\单片机\变频器Modbus TCP\RTU\ASCII通信编程服务,需要请直接
联系!腾讯扣扣149034219
1065
huyafeng
文章数:84
年度积分:76
历史总积分:1065
注册时间:2012/3/1
发站内信
发表于:2016/4/8 18:51:40
#6楼
what's the matter?
[此贴子已经被作者于2016/4/8 19:09:07编辑过]
1065
huyafeng
文章数:84
年度积分:76
历史总积分:1065
注册时间:2012/3/1
发站内信
发表于:2016/4/8 19:03:58
#7楼
回复 #1楼 pqsh
谢谢回复,我单片机硬件已经做好了,主要是上位机测试部分出了点问题
我用组态王做上位机,下位机想用软件的方式来实现,于是就用虚拟串口软件(电脑上不同的软件使用同一个串口会产生冲突),将COM2和COM3直连,再用串口调试工具收发COM3数据
1065
huyafeng
文章数:84
年度积分:76
历史总积分:1065
注册时间:2012/3/1
发站内信
发表于:2016/4/8 19:07:40
#8楼
回复 #5楼 guanyumou
今天测试了一下你给的程序,先用虚拟串口软件将COM2和COM3相连,然后将组态王里设置为COM2,modbus slaver设置为COM3,用commMonitor监控组态王进程 Touchvew.exe COM2,出现了连续回传的结果。
有一点不明白的是:我如果用串口调试工具检测,检测到的却是另一种结果,COM2口不停地开关,感觉和下位机的响应也有关系,能否帮忙分析下?
附件 组态王截屏1.jpg

附件 组态王截屏2.jpg
27950
guanyumou 版主
文章数:10552
年度积分:1133
历史总积分:27950
注册时间:2008/7/13
发站内信
2018论坛优秀版主
2018春节活动(三)
2017论坛优秀版主
2017国庆活动(二)
2017春节活动(三)
发表于:2016/4/8 21:53:12
#9楼
以下是引用huyafeng2016/4/8 19:07:40的发言:
今天测试了一下你给的程序,先用虚拟串口软件将COM2和COM3相连,然后将组态王里设置为COM2,modbus slaver设置为COM3,用commMonitor监控组态王进程 Touchvew.exe COM2,出现了连续回传的结果。
有一点不明白的是:我如果用串口调试工具检测,检测到的却是另一种结果,COM2口不停地开关,感觉和下位机的响应也有关系,能否帮忙分析下?
附件 组态王截屏1.jpg

附件 组态王截屏2.jpg
跟那个串口调试助手有关系?!
上位机组态王问题解决后,你可以和你单片机链接了啊!
+5
基于各种组态软件\触摸屏\PLC\单片机\变频器Modbus TCP\RTU\ASCII通信编程服务,需要请直接
联系!腾讯扣扣149034219

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

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

78.0005