16位的modbus参数地址产品参数是什么意思思

MODBUS通讯协议及PLC编程通讯实例通讯,编程,协议,PLC,协议通信,和PLC,PLC..
扫扫二维码,随身浏览文档
手机或平板扫扫即可继续访问
MODBUS通讯协议及PLC编程通讯实例
举报该文档为侵权文档。
举报该文档含有违规或不良信息。
反馈该文档无法正常浏览。
举报该文档为重复文档。
推荐理由:
将文档分享至:
分享完整地址
文档地址:
粘贴到BBS或博客
flash地址:
支持嵌入FLASH地址的网站使用
html代码:
&embed src='/DocinViewer-4.swf' width='100%' height='600' type=application/x-shockwave-flash ALLOWFULLSCREEN='true' ALLOWSCRIPTACCESS='always'&&/embed&
450px*300px480px*400px650px*490px
支持嵌入HTML代码的网站使用
您的内容已经提交成功
您所提交的内容需要审核后才能发布,请您等待!
3秒自动关闭窗口求助!难啊!!现场仪表是(MODBUS)32位信号,可模板只能设16位,由于数据地址不能重叠,在程序中怎么能转换成32位? - 中国亿万电器网 - Powered by LeadBBS 6.0
loading...
loading...
+3魅力3积分1491经验42225文章426注册
求助!难啊!!现场仪表是(MODBUS)32位信号,可模板只能设16位,由于数据地址不能重叠,在程序中怎么能转换成32位?
求助!难啊!!1现场仪表是(MODBUS)32位信号,可模板(MVI169-mcm0只能设16位,由于数据地址不能重叠,在程&
& & & & & 序中怎么 能转换成32位?&& & 西门子:mwo是字;
& & & & & mdo是双字& & &施耐得;400001是字;
& & & & && 092)是双字;& & &Ge; &r0)是双字;
& & & & &r00001是字;& & & &/?/是字?
& & & & &/?/是双字?
职务论坛版主声望+1806魅力1706积分19410经验158074文章5347注册
多少位都不是问题,还有64位的。
关键是通讯后期处理。
工控技术交流QQ千人群:(满员)
工控交流群二群,群号码:
-5积分4764经验135198文章1161注册
连续读2个字不就是DINT吗
+1520魅力1520积分9025经验58282文章705注册
国版说的对。&
MB使用浮点数通讯数据时,不是看你用的16还是32位,而是寄存器号。&
读到数据后的关键是根据数据类型进行数据类型转换。
+298魅力297积分3630经验21641文章601注册
使用cop指令吧
+3魅力3积分1491经验42225文章426注册
楼上提的COP指令是一个办法,但是拷贝和被拷贝需要同型号, &对于 INT 和 DINT又不能建立结构体,&
我试了,还是不行,.&
谢谢你的参与!
+3魅力3积分1491经验42225文章426注册
楼上提的 连续读2个字不就是DINT吗, &&
提的没错,但是这2个字是INT,它组成不了DINT,也不行,&&
谢谢你的参与!&&
+25魅力25积分1400经验55202文章308注册
[QUOTE][b]下面引用由[u]snkus7[/u]发表的内容:[/b]
楼上提的COP指令是一个办法,但是拷贝和被拷贝需要同型号, &对于 INT 和 DINT又不能建立结构体,
我试了,还是不行,.
试得不对。Old programmers never die, they just GOSUB without RETURN.
-5积分4764经验135198文章1161注册
把读过来的数用cop指令转为浮点就行,有可能读过来的数,要做字或字节交换,具体看你的表的说明
[upload=位整数转换为浮点号.doc[/upload]
+298魅力297积分3630经验21641文章601注册
这种方法我们已经在用了,不知道你的为什么不行。你注意一下cop的结果,有可能是数据高地位的问题。
+3魅力3积分1491经验42225文章426注册
我又试了几遍,用COP好使,已经解诀了,&
谢谢网友的帮助!!!!!!!
+193魅力192积分1580经验9408文章121注册
呵呵 10楼说得对
loading...
loading...
loading...
loading...
loading...
loading...
长度不得超过255字
内容(最大25K)
是否是UBB代码
Alt+S或Ctrl+Enter快速提交
Powered by .<option value="年第2期 总第86期
<option value="年第1期 总第85期
<option value="年第6期 总第84期
<option value="年第5期 总第83期
<option value="年第4期 总第82期
<option value="年第3期 总第81期
<option value="年第2期 总第80期
<option value="年第1期 总第79期
<option value="年第6期 总第78期
<option value="年第5期 总第77期
<option value="年第4期 总第76期
<option value="年第3期 总第75期
<option value="年第2期 总第74期
<option value="年第1期 总第73期
<option value="年第6期 总第72期
<option value="年第5期 总第71期
<option value="年第4期 总第70期
<option value="年第3期 总第69期
<option value="年第2期 总第68期
<option value="年第1期 总第67期
<option value="年第6期 总第66期
<option value="年第5期 总第65期
<option value="年第4期 总第64期
<option value="年第3期 总第63期
<option value="年第2期 总第62期
<option value="年第1期 总第61期
<option value="年第6期 总第60期
<option value="年第5期 总第59期
<option value="年第4期 总第58期
<option value="年第3期 总第57期
2010年第2期 总第56期
2010年第1期 总第55期
2009年第6期 总第54期
2009年第5期 总第53期
2009年第4期 总第52期
2009年第3期 总第51期
2009年第2期 总第50期
2009年第1期 总第49期
2008年第6期 总第48期
2008年第5期 总第47期
2008年第4期 总第46期
2008年第3期 总第45期
2008年第2期 总第44期
2008年第1期 总第43期
2007年第6期 总第42期
2007年第5期 总第41期
2007年第4期 总第40期
2007年第3期 总第39期
2007年第2期 总第38期
2007年第1期 总第37期
2006年第6期 总第36期
2006年第5期 总第35期
2006年第4期 总第34期
2006年第3期 总第33期
2006年第2期 总第32期
2006年第1期 总第31期
2005年第6期 总第30期
2005年第5期 总第29期
2005年第4期 总第28期
2005年第3期 总第27期
2005年第2期 总第26期
2005年第1期 总第25期
2004年第6期 总第24期
2004年第5期 总第23期
2004年第4期 总第22期
2004年第3期 总第21期
2004年第2期 总第20期
2004年第1期 总第19期
2003年第6期 总第18期
2003年第5期 总第17期
2003年第4期 总第16期
2003年第3期 总第15期
2003年第2期 总第14期
2003年第1期 总第13期
2002年第9期 总第12期
2002年第8期 总第11期
2002年第7期 总第10期
2002年第6期 总第9期
2002年第5期 总第8期
2002年第4期 总第7期
2002年第3期 总第6期
2002年第2期 总第5期
2002年第1期 总第4期
2001年第2期 总第3期
2001年第1期 总第2期
2000年第1期 总第1期
&传真:&6 &E-mail:&
中控技术股份公司& 郑 艳&
摘 要:本文主要针对中控各类支持Modbus通讯的系统软件、硬件,并配合Modbus仿真软件(ModSim)、调试软件(ModScan)、虚拟串口软件(Ethcomm)等工具,阐述系统与设备间的Modbus通讯仿真与调试的应用方法。
关键词:Modbus&
仿真& 调试
在培训及现场服务时,经常会遇到用户来咨询:“企业中有支持Modbus协议的PLC、仪表及其他设备,如何与中控的系统连接,如何实现通讯?”针对此类问题,为了更直观、有效说明及演示,特对Modbus通讯连接的仿真与调试进行说明,希望对有此类疑问的用户和同事能起到一定的帮助作用。
Modbus协议最初由Modicon公司(现所属Schneider
Automation――施耐德自动化公司)开发,是主要应用于电子控制器上的一种通用语言。通过此协议,控制器相互之间、控制器经由网络和其他设备之间可以通讯,支持传统的RS-232、RS-422、RS-485和以太网设备,并已成为一种通用工业标准。采用Modbus协议,不同厂商生产的控制设备可以方便地进行连接、通讯和组网,进行集中监控。
Modbus协议规定了消息、数据的结构、命令和应答的方式,数据通讯采用Master/
Slave(主/从)方式,Master端发出数据请求消息,Slave端接收到正确消息后发送数据到Master端以响应请求;Master端也可以直接发送消息修改Slave端的数据,实现双向读写。Modbus采用主/从方式定时收发数据,在实际使用中如果某Slave站点断开后(如故障或关机),Master端可诊断出来,而当故障修复后,网络又可自动接通。因此,Modbus协议的可靠性较好。
2.1 传输方式
在标准的Modbus网络通讯中,需要确定设备的工作模式(ASCII、RTU、TCP协议),包括串口通讯参数(波特率、校验方式等),在一个Modbus网络上的所有设备都必须选择相同的传输模式和串口参数。
ASCII(美国标准信息交换代码)
在消息中的每个8Bit字节都作为两个ASCII字符发送。这种方式的主要优点是字符发送的时间间隔可达到1秒而不产生错误。
数据1…数据n
● 十六进制,ASCII字符0…9,A…F
● LRC(纵向冗长检测)
● 数据字:起始位(1),数据位(7),奇偶校验(1),停止位(1/2)
RTU(远程终端单元)
在消息中的每个8Bit字节包含两个4Bit的十六进制字符。这种方式的主要优点是在同样的波特率下,可比ASCII方式传送更多的数据。
数据1…数据n
● 8位二进制,十六进制数0…9,A…F
● CRC(循环冗长检测)
● 数据字:起始位(1),数据位(8),奇偶校验(1),停止位(1/2)
TCP和RTU协议非常类似,我们只要把RTU协议的两个字节的校验码去掉,然后在RTU协议的开始加上5个0和1个6,并通过TCP/IP网络协议发送出去即可。
表1& Modbus地址设置
开关量输出(ON/OFF)
开关量输入(ON/OFF)
保持寄存器
模拟量输出(16位)
输入寄存器
模拟量输入(16位)
2.3 常用功能代码
表2& Modbus常用功能代码
读取线圈状态
取得一组逻辑线圈的当前状态(ON/OFF)
读取输入状态
取得一组开关输入的当前状态(ON/OFF)
读取保持寄存器
在一个或多个保持寄存器中取得当前的二进制值
读取输入寄存器
在一个或多个输入寄存器中取得当前的二进制值
强置单线圈
强置一个逻辑线圈的通断
预置单寄存器
把具体二进值装入一个保持寄存器
强置多线圈
强置一串连续逻辑线圈的通断
预置多寄存器
把具体的二进制值装入一串连续的保持寄存器
Modbus设备可通过直接与计算机相连的方式,配合相关公司系统软件(如中控技术股份公司的AdvanTrol-Pro、SupView、PIMS等,以下均以中控的产品为例)实现通讯。
3.1 Modbus设备的仿真
在教学或调试组态过程中,如果没有实际的硬件设备,可通过建立一个虚拟的Modbus设备来实现仿真与调试。
利用ModSim软件,可建立虚拟Modbus设备并提供仿真数据。虚拟Modbus设备与计算机的连接主要有两种方式:一种是串口方式(支持RS-232/422/485),可以利用Ethcomm建立Modbus设备虚拟串口并实现与计算机的连接;另一种是以太网方式(支持TCP/IP),ModSim软件可以直接作为支持TCP/IP的仿真设备。
图1& ModSim和Ethcomm软件界面
3.2 系统软件的组态调试
(1)AdvanTrol-Pro系统软件,主要利用它的Modbus数据连接工具(AdvMBLink.exe)实现与Modbus设备连接。
(2)SupView系统软件,SCADA组态中可通过Modbus I/O驱动实现与Modbus设备连接。
MB1:串口(RS-232/422/485)通讯Modbus I/O驱动程序;
MBE:以太网(TCP/IP)通讯Modbus I/O驱动程序。
(3)PIMS系统软件,在数据库设备驱动中通过Modbus I/O驱动可实现与Modbus设备连接。
4.1 Modbus设备与控制系统的连接
Modbus设备可通过直接与控制系统(JX-300X/300XP、ECS-100/700等)相连的方式,配合相关系统软件实现(AdvanTrol-Pro、VisualField等)通讯。
JX-300X系统:可以使用SP244卡。
JX-300XP系统:可以使用XP244卡和XP248卡,XP248卡不但支持通道冗余,而且还支持卡件冗余。
ECS-100系统:可以使用FW244卡和FW248卡,FW248不支持两块卡的冗余,只支持单块卡内两个串口的冗余。
ECS-700系统:可以使用COM741卡,支持两块卡的冗余。
说明:COM741和244系列串口通讯卡仅支持Modbus-RTU主机通讯模式,248系列多串口通讯卡支持Modbus-RTU主机、从机通讯模式。
4.2 系统软件的组态
(1)AdvanTrol-Pro软件
如果是244系列单路串口通讯卡,需要使用SCX语言编辑器来实现Modbus数据通讯。
参考程序截图如下:
图2& 244卡的Modbus通讯程序示例
SCX语言编辑器提供丰富的Modbus-RTU主站通讯函数用于实现数据的读写,常用函数有setcomm、setdelaytime、readcoil、readholdingreg、forcecoil、presetreg等。
如果是248系列多路串口通讯卡,可以使用SCControl图形化编辑器来实现Modbus数据通讯,并可实现Modbus-RTU主站、从站通讯。
● Modbus-RTU主机模式
下面是一个以读取从站触点状态的例子:
端子板COM4口,波特率19200,8位数据位,2位停止位,无校验。
串口发出2号命令,对6号从站中的10001开始的16个触点的状态,并将10001号触点的状态读到自定义一字节变量BOOL1,将1号触点的状态读到自定义一字节变量BOOL2~BOOL6。
图3& 248卡之Modbus-RTU主机模式通讯程序示例
● Modbus-RTU从机模式
下面是一个具体的例子:
端子板COM4口,波特率19200,8位数据位,2位停止位,无校验。
从站4号等待着主站来查询数据。
图4& 248卡之Modbus-RTU从机模式通讯程序示例
(2)VisualField组态管理软件
COM741串口通讯卡可以直接通过位号组态来实现Modbus数据通讯。
图5& VF软件通过位号组态实现Modbus通讯
4.3 Modbus设备的仿真与组态调试
本节内容同3。
采用上述方法可将计算机作为虚拟Modbus设备,连接控制系统后进行程序、组态的调试及仿真演示。
采用本文阐述的方法,能够方便地实现Modbus通讯的仿真调试,对于教学或是工程模拟而言,提供了很多的便利条件,既节约了成本,又达到了培训和工程模拟的目的,是一种值得推广的方法。
(责任编辑&
中控科技集团有限公司
(C)2011&&E-mail: &

我要回帖

更多关于 modbus rtu 的文章

 

随机推荐