当前位置:
工控论坛
> >
产品
>
工业互联
>
现场总线
>
Modbus
我要发帖
有些MODBUS组态软件中,包含有“建立连接”命令和“断开连接”命令,是什么意思,如何实现
点击:
1586
| 回复:
4
霸王猫
关注
私信
精华:0帖
求助:0帖
帖子:4帖 | 11回
年度积分:0
历史总积分:41
注册:2007年7月18日
发表于:2007-07-19 10:58:00
楼主
有些MODBUS组态软件中,当对某一个从设备进行组态前有“建立连接”命令,以便获取模块类型。
请问:“建立连接”如何实现(是否是组态软件发送一个特定的寄存器地址,从设备收到后,返回特定的内容)
因为我想编写一个MODBUS上位机组态软件,即可以通过RS232单独和某一个从设备进行组态,又可以通过RS485和所有的从设备进行组态。
因此为想实现三个功能:
功能1:当按下“扫描设备”按钮后,上位机组态软件依次扫描总线上的从设备。
功能2:当按下“建立连接”按钮后,上位机组态软件既可以和当前从设备建立连接,之后可以进行通讯。
功能3:当按下“断开连接”按钮后,上位机组态软件停止和当前从设备的通讯。
由于初次接触MODBU协议,不知道如何实现扫描设备和建立连接,请指教!
分享到:
收藏
邀请回答
回复楼主
举报
BMC
关注
私信
精华:0帖
求助:0帖
帖子:0帖 | 20回
年度积分:0
历史总积分:283
注册:2005年1月13日
发表于:2007-09-12 00:38:00
1楼
不知道你用的是那家的组态软件啊,看来是及有可能是用VB自己开发的吧。一般的,用VB自己开发软件的时候,习惯性的书写二个COMMAND,一个作为建立连接,一个断开连接。,作用主要是进行设备的初始化工作和等待设备工作。你完全可以通过一个TIMER来控制啊。而真正的商业化的组态软件中这些都留给了低层人员。如果想实现MODBUS的上位机通信,首先要了解你书写要控制的设备地址啊。如果有需要可联系我。QQ:350277791。我做过VB控制监视PLC的MODBUS协议通信。
回复
引用
举报
霸王猫
关注
私信
精华:0帖
求助:0帖
帖子:4帖 | 11回
年度积分:0
历史总积分:41
注册:2007年7月18日
发表于:2007-09-12 10:58:00
2楼
谢谢你的解释,我准备编写的系统有两种组态方式
1、用手持编程器组态
2、用上位机组态
其中手持编程器已经编写完成,已经摒弃了“建立连接”概念,只
有“扫描设备”命令。
回复
引用
举报
zaxife
关注
私信
精华:0帖
求助:0帖
帖子:1帖 | 80回
年度积分:0
历史总积分:270
注册:2005年5月25日
发表于:2007-10-02 19:47:00
3楼
建立连接
断开连接
感觉没什么意义。
扫描设备倒是挺管用的。
一般扫描设备我是这样做的:
1、首先建立一个串口属性列表,比如在Combo里添加N个“Com1,9600,n,8,1”等这些属性参数;
2、设置串口的其他参数,接受缓冲区设为6字中断;
3、建立一个100ms的时间控件,如果100ms后没相应就认为断开连接;
4、在时间控件里加上相应的语句,每次循环从机地址自动加1,而且只是读取40001寄存器;
5、在串口中断响应事件里查询CommEvent的状态是否comEvReceive事件就可以了。
回复
引用
举报
远 方
关注
私信
精华:1帖
求助:0帖
帖子:18帖 | 401回
年度积分:0
历史总积分:561
注册:2002年1月29日
发表于:2007-10-06 19:05:00
4楼
modbus本来就只是简单的读写协议,并没有连接的概念,什么时候想读了,或是想写了,就发数据去读写就好了,根本不存在什么连接,非要加一个连接在上面,也只是写软件的人觉得这样写用户好理解一些而已罢了
回复
引用
举报
热门招聘
相关主题
弱电快速入门
[1402]
为什么要在网络总线中添加终...
[1588]
求助:IEC1158-2协议内容
[1879]
dpc31
[1547]
虚拟专用网VPN系列讲座(四)
[1944]
简单介绍DCS和FCS系统
[1575]
P-NET系列讲座(五):多网结构...
[1866]
RS232 422 485接口引脚定义
[2246]
To好兄弟-中国人应该资源共享...
[2347]
请教15针RS232接口定义
[9128]
官方公众号
智造工程师
客服
小程序
公众号