西门子s7_200plc与组态王的无线远程gprs通信modbus方案 在这里介绍一种采用gprs透明数据终端和plc的modbus无线组态通信的实现方法。本方案可以作为西门子plc与组态王远程无线通信的实例。 在工业现场可能会遇到这样的情况,分布在不同地方(车间、控制室场所等)的plc需要与总控中心的组态王软件进行远程通信,通常情况是采用有线rs485总线敷设电缆,通过modbus协议完成此功能。如果现场距离总控中心距离非常远,布线不可能话,就可以采用gprs方式进行无线通信。本方案中采用了专门用于无线远程gprs通信的智能数据终端dtp_s09f。 l有线modbus网络: l远程无线modbus网络: 在实际系统中,人机界面与plc不在一个地区,中心计算机一般放置在办公室,而plc安装在现场车间,二者之间距离可能往往从几十米到几千米甚至几千公里。如果在厂区几公里范围内的话可以采用无线电方案,要是距离再远的话就可以采用移动gprs网络,这样的话就没有距离限制了,这种情况下比较适合远程无线通信。 一、plc与组态王的modbus通信 1.下载s7_200程序 需要向plc中下载对应的初始化程序(kvmoddbus.mwp),由亚控公司提供。此程序默认的plc通讯端口为port0,地址为2,波特率9600,无校验(地址和波特率可由程sbr0中的vb8,smb30进行修改); 2.设备选择 选择以下两个设备都可以。 3.修改虚拟设备 必须注意配置dtu设备标识信息与图中一致,端口号根据用户的设定。 4.演示程序界面 打开组态王演示工程文件 二、满足西门子plc的modbus通信协议的专用gprs数据终端 为了满足西门子plc和组态王的modbus通信协议,对gprs数据终端具有以下要求: ◆适合于rs232/rs485串口连接,可以直接代替有线的rs485网; ◆无需修改用户软件,无需二次开发; ◆全透明传输,永远在线,自动重连; ◆支持域名和ip两种连接方式; ◆双看门狗,永不死机; ◆工作温度:-35~+75℃; ◆工业标准设计,能工作于各种恶劣环境; ◆提供力控、杰控及组态王等组态例程。 三、试验设备及其接线 l组态软件:组态王6.53 ls7-200型号:cpu224xpcn,1台 lgprs数据终端:dtp_s09f s7-200与无线数据终端dtp_s09f连接 rs-485连线s7-200port0dtp_s09f rs485+adb9-pin3bdb9_5a rs485-bdb9-pin8adb9_3b 四、实物图片 五、方案附件 l组态王测试程序 ls7-200测试程序 l组态软件modbus与西门子plc的无线远程gprs通信方案.pdf 六、西门子提供的modbus设备地址 1.modbus主设备寻址 modbus地址通常写作包含数据类型和偏移量的5个字符的数值。第一个字符决定数据类型,最后四个字符在数据类型中选择适当的数值。然后,modbus主设备指令将地址映射至正确的功能,以便发送到从站。modbus主设备指令支持下列modbus地址: 00001至09999是离散输出(线圈) 10001至19999是离散输入(触点) 30001至39999是输入寄存器(通常是模拟量输入) 40001至49999是保持寄存器 所有modbus地址均以1为基位,表示第一个数据值从地址1开始。有效地址范围将取决于从站。不同的从站将支持不同的数据类型和地址范围。 2.modbus从站寻址 modbus地址通常被写为包含数据类型和偏移量的5个字符的数值。第一个字符决定数据类型,最后四个字符在数据类型中选择适当的数值。然后,modbus主设备将地址映射至正确的功能。modbus从站指令支持下列地址: 00001至00128是映射至q0.0-q15.7的离散输出 10001至10128是映射至i0.0-i15.7的离散输入 30001至30032是映射至aiw0至aiw62的模拟输入寄存器 40001至4xxxx是映射至v存储器的保持寄存器。 所有modbus地址均以1为基位。下表显示映射至s7-200地址的modbus地址。 3.modbus地址s7-200 00001q0.0 00002q0.1 00003q0.2 ...... 00127q15.6 00128q15.7 10001i0.0 10002i0.1 10003i0.2 ...... 10127i15.6 10128i15.7 30001aiw0 30002aiw2 30003aiw4 ...... 30032aiw62 40001holdstart 40002holdstart+2 40003holdstart+4 ...... 4xxxxholdstart+2x(xxxx-1) modbus从站协议允许您限制modbus主设备可存取的输入、输出、模拟输入和保持寄存器(v存储器)数量。 mbus_init指令的maxiq参数指定modbus主设备允许存取的离散输入或输出(i或q)的最大数目。 mbus_init指令的maxai参数指定modbus主设备允许存取的输入寄存器(aiw)的最大数目。 mbus_init指令的maxhold参数指定modbus主设备允许存取的保持寄存器(v存储器字)的最大数目。 请参阅mbus_init指令说明,了解有关为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寄存器的偏移地址(
搜索关键词:GPRS
商家:西安达泰电子有限责任公司 |
锟斤拷锟斤拷谋思锟斤拷 锟斤拷 锟斤拷系锟斤拷锟斤拷 锟斤拷 锟斤拷锟斤拷锟斤拷锟斤拷 锟斤拷 锟斤拷锟斤拷锟斤拷锟斤拷 锟斤拷 锟斤拷私锟斤拷锟斤拷 锟斤拷 锟斤拷锟斤拷锟斤拷锟斤拷 锟斤拷 锟斤拷站锟斤拷图
Copyright © 2011-2024 imosi.com. All Rights Reserved.