S7200组态王通讯的问题MODBUS.docx

上传人:b****3 文档编号:3461899 上传时间:2022-11-23 格式:DOCX 页数:57 大小:2.48MB
下载 相关 举报
S7200组态王通讯的问题MODBUS.docx_第1页
第1页 / 共57页
S7200组态王通讯的问题MODBUS.docx_第2页
第2页 / 共57页
S7200组态王通讯的问题MODBUS.docx_第3页
第3页 / 共57页
S7200组态王通讯的问题MODBUS.docx_第4页
第4页 / 共57页
S7200组态王通讯的问题MODBUS.docx_第5页
第5页 / 共57页
点击查看更多>>
下载资源
资源描述

S7200组态王通讯的问题MODBUS.docx

《S7200组态王通讯的问题MODBUS.docx》由会员分享,可在线阅读,更多相关《S7200组态王通讯的问题MODBUS.docx(57页珍藏版)》请在冰豆网上搜索。

S7200组态王通讯的问题MODBUS.docx

S7200组态王通讯的问题MODBUS

“MODBUS”常见问题解答

1.我的设备支持modbus设备,能否直接与组态王软件连接?

只要设备是标准的modbus协议设备,即可使用组态王设备列表下的PLC-->莫迪康

-->MODBUSRTU(或者ACSII码)进行通信。

但具体的寄存器地址对照表必须从设备厂家

索取。

2.我的支持modbus协议的串口设备,能否与多个上位软件(比如组态王软件和某品

牌触摸屏)同时通讯?

因为modbus串口协议不支持多主站,所以不能多个软件同时与modbus设备同时通

信。

3.在组态王工程中建立多个modbusTCPIPserver设备定义,分别使用两台客户端对其

访问,只有站点高的那个server通讯ok,站点低的通讯失败,为什么?

这是因为在组态王软件中只支持建立一个modbusTCPIPserver,当建立多个server

时,组态王客户端则会自动与站点高的server进行通讯,所以会导致站点低的通讯失败。

4.如何实现组态王数据通过串口或者以太网驱动方式传送到其他组态软件或者应用程

序中?

如果其他组态软件或者应用程序支持modbus协议,则可以通过组态王提供的

modRTUserver或者modbusTCPserver驱动来实现。

5.组态王与支持Modbus协议的设备进行通讯时,组态王画面上显示的数据不正确常有

哪些原因?

引起数据不正确的原因主要有如下几点:

1)组态王中定义的寄存器地址跟实际设备不一致导致。

比如某些使用modbus协议

通讯的设备的数据地址是从0开始的,而组态王modbus协议驱动寄存器地址是从1开

始的,所以遇到此种情况时在组态王中定义变量时,寄存器地址要进行加1处理;

2)数据词典中最大原始值和最大值定义不不当;比如最大原始值和最大值不一样会

导致画面看到的数据和实际设备不一致;

3)组态王读取FLOAT和LONG类型的数据时,没有使用提供的SwapF和SwapL

寄存器来调整FLOAT型和LONG型数据的字节顺序;

4)LONG或FLOAT型的双字的数据,没有按照间隔隔地址方式定义;因为modbus

协议所对应的参数地址一般按照字为基本单位进行分地址排序的。

6.组态王与西门子200plc自由口协议通过modem通讯,硬件接线怎样实现?

设备上插标准PPI电缆,modem9针口通过一个标准232交叉线接到PPI电缆上即

可,232交叉线的modem侧需要146短接,7和8短接。

7.西门子200plc通过modbus协议与组态王通讯时,组态王中定义的寄存器地址与plc

地址是如何对应的?

映射关系如下:

0-Q,1-I,3、4、8、9-V;

3,4,8,9的dd号与PLC中V寄存器的偏移地址(实际地址-1000)的对应关系:

组态王中(寄存器的dd号-1)*2=PLC中的V寄存器的偏移地址。

组态王中40031

对应PLC:

VW1060(组态王中寄存器4表示SHORT型变量)组态王中90640对应PLC:

VD2278(组态王中寄存器9表示FLOAT型变量)。

注:

上面的对应关系是针对用户使用的是亚控公司提供了PLC(MODBUS)通讯的初

始化程序,如果用户是自己编程写的初始化程序,则根据实际程序规定的modbus对应

地址定义变量。

8.西门子200plc通过modbus协议与组态王通讯,需要注意哪些事项?

需要注意如下几点:

1)需要向PLC中下载对应的初始化程序(KVmoddbus.mwp),由亚控提供。

此程

序默认的plc通讯端口为port0,地址为2,波特率9600,无校验(地址和波特率可由程

SBR0中的VB8,SMB30进行修改);

2)由于PLCModbus协议程序占用V1000及以前的地址,所以用户在编写逻辑控制

程序中用到的寄存器不能和亚控提供的协议中所占用的V区地址冲突;

3)西门子S7200PLC和通过modbus协议和组态王通讯时,CPU上的开关必须拨在

RUN状态,否则PLC中的modbus通讯程序没有处于运行状态,组态王和设备通过自由

口协议肯定通讯失败;

9.西门子200plc通过GPRS链路和组态王通讯,使用哪种协议方式比较好?

推荐使用自由口/modbusRTu协议。

ppi协议实际上也支持通过GPRS链路和组态王通讯,但由于PPI协议的特殊性,

GPRS方式下通讯效果不是很好,因此不推荐客户使用。

10.组态王提供的ModbusRTUServer和ModbusRTU驱动的寄存器是怎样对应的?

ModbusRTUServer的B寄存器对应ModbusRTU的0寄存器;

ModbusRTUServer的R寄存器对应ModbusRTU的4寄存器。

 

)LONG或FLOAT型的双字的数值,没有按照距离隔地址体式格局界说;因为modbus

  地址是如何对于应的?

  步伐顶用到的寄放器不克不及以及亚控供给的以及谈中所占用的V区地址冲突;

  VD2278(组态王中寄放器9暗示FLOAT型变量)

  组态王中(寄放器的dd号-1)*2=PLC中的V寄放器的偏移地址组态王中40031

  保举施用自由口/modbusRTu以及谈

  1.我的装备撑持modbus装备,可否直接与组态王软体毗连?

  导致银幕看见的数值以及现实装备纷歧致;

  哪一些缘故原由?

  0-Q,1-I,三、四、八、9-V;

  2.我的撑持modbus以及谈的串口装备,可否与多个上位软体(好比组态王软体以及某品

  modRTUserver或modbusTCPserver驱动来使成为事实

  通信的装备的数值地址是从0起头的,而组态王modbus以及谈驱动寄放器地址是从1开

  3.在组态王工程中成立多个modbusTCPIPserver装备界说,别离施用两台客户端对于其

  1)组态王中界说的寄放器地址跟现实装备纷歧致导致好比某些施用modbus以及谈

  拜候,只有站点高的阿谁server通信ok,站点低的通信掉败,为啥子?

  时,组态王客户端则会AUTO与站点高的server举行通信,以是会导致站点低的通信掉败

  可,232交织线的modem侧需要146短接,7以及8短接

  RUN状况,不然PLC中的modbus通信步伐没有处于运行述况,组态王以及装备路程经过过程自由

  寄放器来调解FLOAT型以及LONG型数值的字节挨次;

  导致数值不不错的缘故原由首要就象次几点:

  ppi以及谈现实上也撑持路程经过过程GPRS链路以及组态王通信,但因为PPI以及谈的特殊性,

2010年07月07日

  需要注重如次几点:

  5.组态王与撑持Modbus以及谈的装备举行通信时,组态王银幕上预示的数值不不错常有

  地址界说变量

  照射瓜葛如次:

  

  GPRS体式格局下通信成效不是大好,是以不保举客户施用

  3)组态王读取FLOAT以及LONG类型的数值时,没有施用供给的SwapF以及SwapL

  序中?

  ModbusRTUServer的B寄放器对于应ModbusRTU的0寄放器;

  注:

上边的对于应瓜葛是针对于用户施用的是亚控公司供给了PLC(MODBUS)通信的初

  1)需要向PLC中下载对于应的初始化步伐(KVmoddbus.mwp),由亚控供给此程

  索要

  ModbusRTUServer的R寄放器对于应ModbusRTU的4寄放器

  牌触碰屏)同时通信?

  要是其它组态软体或应用步伐撑持modbus以及谈,则可以路程经过过程组态王供给的

  2)数值辞书中最大原始值以及最大值界说不不妥;好比最大原始值以及最大值纷歧样会

  这是因为在组态王软体中只撑持成立1个modbusTCPIPserver,当成立多个server

  始化步伐,要是用户是本身编程写的初始化步伐,则按照现实步伐划定的modbus对于应

  序默许的plc通信端口为port0,地址为2,波特率9600,无校验(地址以及波特率可由程

  因为modbus串口以及谈不撑持多主站,以是不克不及多个软体同时与modbus装备同时通

  装备上插规范PPI电缆,modem9针口路程经过过程1个规范232交织线接到PPI电缆上即

  9.西门子200plc路程经过过程GPRS链路以及组态王通信,施用哪一种以及谈体式格局比力好?

  对于应PLC:

VW1060(组态王中寄放器4暗示SHORT型变量)组态王中90640对于应PLC:

  -->MODBUSRTU(或ACSII码)举行通信但详细的寄放器地址对于照表必需从装备厂家

  4.如何使成为事实组态王数值路程经过过程串口或以太网驱动体式格局传送到其它组态软体或应用程

  3,4,8,9的dd号与PLC中V寄放器的偏移地址(现实地址-1000)的对于应瓜葛:

  只要装备是规范的modbus以及谈装备,便可施用组态王装备列表下的PLC-->莫迪康

  10.组态王供给的ModbusRTUServer以及ModbusRTU驱动的寄放器是如何对于应的?

  SBR0中的VB8,000B30举行修改);

  信

  8.西门子200plc路程经过过程modbus以及谈与组态王通信,需要注重哪一些事变?

  7.西门子200plc路程经过过程modbus以及谈与组态王通信时,组态王中界说的寄放器地址与plc

  始的,以是碰至此种环境时在组态王中界说变量时,寄放器地址要举行加1措置惩罚;

  2)因为PLCModbus以及谈步伐占用V1000及之前的地址,以是用户在编著思维规律节制

  口以及谈必定通信掉败;

  6.组态王与西门子200plc自由口以及谈路程经过过程modem通信,硬件接线如何使成为事实?

  3)西门子S7200PLC以及路程经过过程modbus以及谈以及组态王通信时,CPU上的开关必需拨在

  以及谈所对于应的参量地址一般按照字为基本单元举行分地址排序的

组态王MODBUS通讯协议十条经典问题

工控技术类2010-07-0716:

25:

32阅读839评论0  字号:

大中小 订阅

1.我的设备支持modbus设备,能否直接与组态王软件连接?

只要设备是标准的modbus协议设备,即可使用组态王设备列表下的PLC-->莫迪康

-->MODBUSRTU(或者ACSII码)进行通信。

但具体的寄存器地址对照表必须从设备厂家

索取。

2.我的支持modbus协议的串口设备,能否与多个上位软件(比如组态王软件和某品

牌触摸屏)同时通讯?

因为modbus串口协议不支持多主站,所以不能多个软件同时与modbus设备同时通

信。

3.在组态王工程中建立多个modbusTCPIPserver设备定义,分别使用两台客户端对其

访问,只有站点高的那个server通讯ok,站点低的通讯失败,为什么?

这是因为在组态王软件中只支持建立一个modbusTCPIPserver,当建立多个server

时,组态王客户端则会自动与站点高的server进行通讯,所以会导致站点低的通讯失败。

4.如何实现组态王数据通过串口或者以太网驱动方式传送到其他组态软件或者应用程

序中?

如果其他组态软件或者应用程序支持modbus协议,则可以通过组态王提供的

modRTUserver或者modbusTCPserver驱动来实现。

5.组态王与支持Modbus协议的设备进行通讯时,组态王画面上显示的数据不正确常有

哪些原因?

引起数据不正确的原因主要有如下几点:

1)组态王中定义的寄存器地址跟实际设备不一致导致。

比如某些使用modbus协议

通讯的设备的数据地址是从0开始的,而组态王modbus协议驱动寄存器地址是从1开

始的,所以遇到此种情况时在组态王中定义变量时,寄存器地址要进行加1处理;

2)数据词典中最大原始值和最大值定义不不当;比如最大原始值和最大值不一样会

导致画面看到的数据和实际设备不一致;

3)组态王读取FLOAT和LONG类型的数据时,没有使用提供的SwapF和SwapL

寄存器来调整FLOAT型和LONG型数据的字节顺序;

4)LONG或FLOAT型的双字的数据,没有按照间隔隔地址方式定义;因为modbus

协议所对应的参数地址一般按照字为基本单位进行分地址排序的。

6.组态王与西门子200plc自由口协议通过modem通讯,硬件接线怎样实现?

设备上插标准PPI电缆,modem9针口通过一个标准232交叉线接到PPI电缆上即

可,232交叉线的modem侧需要146短接,7和8短接。

7.西门子200plc通过modbus协议与组态王通讯时,组态王中定义的寄存器地址与plc

地址是如何对应的?

映射关系如下:

0-Q,1-I,3、4、8、9-V;

3,4,8,9的dd号与PLC中V寄存器的偏移地址(实际地址-1000)的对应关系:

组态王中(寄存器的dd号-1)*2=PLC中的V寄存器的偏移地址。

组态王中40031

对应PLC:

VW1060(组态王中寄存器4表示SHORT型变量)组态王中90640对应PLC:

VD2278(组态王中寄存器9表示FLOAT型变量)。

注:

上面的对应关系是针对用户使用的是亚控公司提供了PLC(MODBUS)通讯的初

始化程序,如果用户是自己编程写的初始化程序,则根据实际程序规定的modbus对应

地址定义变量。

8.西门子200plc通过modbus协议与组态王通讯,需要注意哪些事项?

需要注意如下几点:

1)需要向PLC中下载对应的初始化程序(KVmoddbus.mwp),由亚控提供。

此程

序默认的plc通讯端口为port0,地址为2,波特率9600,无校验(地址和波特率可由程

SBR0中的VB8,SMB30进行修改);

2)由于PLCModbus协议程序占用V1000及以前的地址,所以用户在编写逻辑控制

程序中用到的寄存器不能和亚控提供的协议中所占用的V区地址冲突;

3)西门子S7200PLC和通过modbus协议和组态王通讯时,CPU上的开关必须拨在

RUN状态,否则PLC中的modbus通讯程序没有处于运行状态,组态王和设备通过自由

口协议肯定通讯失败;

9.西门子200plc通过GPRS链路和组态王通讯,使用哪种协议方式比较好?

推荐使用自由口/modbusRTu协议。

ppi协议实际上也支持通过GPRS链路和组态王通讯,但由于PPI协议的特殊性,

GPRS方式下通讯效果不是很好,因此不推荐客户使用。

10.组态王提供的ModbusRTUServer和ModbusRTU驱动的寄存器是怎样对应的?

ModbusRTUServer的B寄存器对应ModbusRTU的0寄存器;

ModbusRTUServer的R寄存器对应ModbusRTU的4寄存器

 S7-200PLC是西门子公司的小型PLC系统,具有简单灵活的特点,但是,模拟量通道少的可怜,增加一个扩展模块也只有4路模拟量输入,尤其热电偶温度、热电阻温度采集模块,不但通道少,而且价格高,信号类型必须统一选择,不能混合输入,当需要采集大量温度时,S7-200PLC将无法胜任。

   一,S7-EM239模拟量扩展模块

   S7-EM239模块是专为S7-200系统设计的16通道模拟量扩展模块,外形尺寸和使用方法与S7-200系列模块完全兼容,可以和S7-200系列的任何型号的CPU直接连接,每个CPU可以连接32个S7-EM239模块,最大可实现512路模拟量采集。

 

   S7-EM239模块有16路模拟量输入通道,每个通道可以独立设置为电压、电流、热电阻温度、热电偶温度等信号类型,有6种类型的热电偶和6种型号的热电阻可以选择,16个通道信号类型可以混合输入,满足多通道模拟量采集的需要,尤其在多通道温度数据采集的场合,不仅使用方便,而且节约成本,每通道相当100元。

   二,S7-EM239模块与S7-200CPU的连接

   S7-EM239模块与S7-200CPU的连接十分简单,将S7-EM239模块的RS485接口与S7-200CPU的RS485接口连接在一起就可以了,如下图所示。

 

   三,软件编程

   S7-EM239模块支持MODBUS-RTU协议,S7-200CPU只需使用MODBUS协议库指令,即可读取S7-EM239模块的采集数据。

S7-200CPU的编程步骤是:

1,安装西门子标准指令库。

2,使用SM0.0调用MBUS_CTRL主站初始化指令,具体参数解释如下:

EN和First均接通时启动MBUS_CTRL命令,必须保证每一扫描周期都被使能(使用SM0.0);

Mode模式:

常为1,使能Modbus协议功能;为0时恢复为系统PPI协议;

Baud波特率:

设为19200,要与从站S7-EM239波特率对应;

Parity校验:

校验方式选择0=无校验,与从站S7-EM239对应;

Timeout超时:

主站等待从站响应的时间,以毫秒为单位,典型的设置值为1000毫秒(1秒)。

Done完成位:

初始化完成,此位会自动置1。

可以用该位启动MBUS_MSG读写操作;

Error初始化错误代码(只有在Done位为1时有效)。

3,调用ModbusRTU主站读写子程序MBUS_MSG,发送一个读模拟量请求,参数设置如下:

EN和First均接通时启动MBUS_MSG命令;

slave用来指明S7-EM239模块的地址,可选范围1~247;

RW=0,指明该命令是读数据命令;

addr=30001指明读取模拟量数据从S7-EM239模块的1通道开始;

count=16代表连续读取16个通道数据(对S7-EM239模块可以是1~16间的任何数);

Dataptr指明读取数据存放地址;

Done读写功能完成位;

4,当S7-200CPU扩展多个S7-EM239模块时,须多次调用MBUS_MSG指令,注意,必须是前一个指令执行完才能调用下一个指令,还要注意slave指向不同的S7-EM239模块。

详细内容参见《MODBUS协议及自由口通讯》及《S7-200可编程序系统手册》。

由于S7-EM239模块使用RS485接口与S7-200CPU通讯,S7-EM239模块与S7-200CPU可以有1200米的距离,实现远程分布式数据采集。

有关S7-EM239模块的使用方法及软件编程参见。

当前位置:

工控论坛>《SiemensPLC》

基于GPRS网络的PLC分布式控制系统

gunner57

建议删除该贴!

!

|收藏|回复

|修改

|2011-03-1710:

27:

17楼主

自20世纪90年代以来,数字化技术取得突飞猛进的发展,并且日益渗透到各个领域,智能

家居在21世纪将成为现代社会和家庭的新时尚。

作为通用工业控制计算机的PLC,30多年来不论是在功能上还是在应用领域方面,都有着从逻辑控制到数字控制、单体控制到运动控制、过程控制到集散控制的飞跃,今天的可编程序控制器PLC正成为工业控制领域的主流控制设备,在世界各地发挥着越来越大的作用。

而随着PLC应用的迅猛发展,各种高级控制策略不得不面对不同的对象在大跨距分散地点下的远程控制应用,如何实现大范围分布式应用中各种现场数据传输处理及远程控制,远程维护等就是很现实的问题,这其中的前提之一就是各种数据包的远程传输.

以前,有的PLC应用系统中采用了无线数传电台通信来达到远程控制PLC的目的,但是这种方案仍然存在一些缺陷,主要就是其分布范围仍然较为有限,而且随着通信距离的增加,其可靠性受到很大影响。

目前最新应用趋势是将PLC控制系统与现有GPRS无线通信网络技术集成,通过GPRS网络通信技术,可以实现全国,甚至全球范围内的数据超远程可靠传输,进而达到数据远程分析处理,远程控制的目的。

GPRS+PLC方案优点

中G移动GPRS系统可提供广域的无线IP连接。

在移动通信公司的GPRS业务平台上构建分布式PLC控制系统,实现PLC的无线数据传输具有可充分利用现有网络,缩短建设周期,降低建设成本的优点,而且设备安装方便、维护简单。

经过比较分析,我们选择中G移动的GPRS系统作为分布式PLC控制系统的数据通信平台。

GPRS无线通信系统具备如下特点:

1、可靠性高:

与SMS短信息方式相比,GPRSDTU采用面向连接的TCP协议通信,避免了数据包丢失的现象,保证数据可靠传输。

中心可以与多个监测点同时进行数据传输,互不干扰。

GPRS网络本身具备完善的频分复用机制,并具备极强的抗干扰性能,完全避免了传统数传电台的多机频段“碰撞”现象。

2、实时性强:

GPRS具有实时在线的特性,数据传输时延小,并支持多点同时传输,因此GPRS监测数据中心可以多个监测点之间快速,实时地进行双向通信,很好地满足系统对数据采集和传输实时性的要求。

目前GPRS实际数据传输速率在30Kbps左右,完全能满足系统数据传输速率(≥10Kbps)的需求。

3、监控范围广:

GPRS网络已经实现全国范围内覆盖,并且扩容无限制,接入地点无限制,能满足山区、乡镇和跨地区的接入需求。

对于分布在全市/全

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 党团工作 > 入党转正申请

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1