下载  >  服务器应用  >  群集服务  > 西门子S7_200__MODBUS通信协议和支持MODBUS_RTU协议

西门子S7_200__MODBUS通信协议和支持MODBUS_RTU协议 评分

西门子S7_200__MODBUS通信协议和支持MODBUS_RTU协议的电磁流量计、超声波流量计的通信实例
图2.控制指令 网络7 提升泵进水流量计腰时流量通信采集 First 上 rrom1 40001 Addr Count 网络8 通信束清楚上次通信使熊,并开始下次通信 M0.6 M0.5 R MO. 7 网络9 提升泵房流量计瞬封流量、净系积流量、正积流量、负积流量数据通信采集 P First SI F 401134Addr &vB30DataPt 图3.控制指令 这里 指令要一直调用,有一点要指明:图中的程序是读取其中一台流量计的,图 是读取另一台流量计的,这两个流量计是不一样的。这里最重要的是 指令中地址“” 的填写,其实这里要填写站的寄存器地址(该地址内有我们需要的信息),那么这个地址要怎么 頃写呢,填写多少呢?这就要査看从站没各(这里是流量讣)的“通信手册”了,因为每个厂家的设备都 不一样,所以相同信息的寄存器地址也不一样。下面是流量计厂家要的通讯手册上的信息 RTU消息帧基本定义 设备地址功能编码地址 地址 数据 数据 位字节 位字节 位字节位字节位字节位字节位字节位字节 参数读出命令 、主机命令格式 设备地址功能代码地址 地址 数据 数据 、从机回应格式 备地址功能代码 长度 数据 数据 高字节 低字节 数据数据数据; 注意:读出时,参数编号加( 协议规定),如上机命令中参数编号为,读出的参数编号 、读出瞹时流量、流速、百分比、空管匕、报警 主机命令格式 设备地址功能代码|地址 地址 数据 数据 从机回应格式 设备功能字节流量流量单位流速流速|百分百分空管|空管报警 地址代码数量高位低位数点高位低位比高比低比高比低状态 读出累计总量 主机命令格式 设备地上功能代码|地址 地址 数据 数据 从机回应格式 设功字正正正正反反反反 备能节向向向向向向向向量留 地代数总总|总总|总总总|总单 址码量量|量量量量量量量位 有的通信手朋并没有给出例子,而是以有寄存器地址如另一台流量计的通信手朋:: 寄有器 寄存器变量名称 数据类型说明 个数 000-0022 瞬时流量 REALA 单位:立方米/小时 0003-00042 瞬时热流量 REAL 4 单位:J/小时 0005-00062 流体速度 REAL 单位:米/秒 0007-0008 十2测量流体声速cM4单位:米/秒 000900102 正累积流量 LONG 所有使用长整数的流量累积器, 其计量单位受M32(即REG1438) 控制 001100122 正累积流量小数部分 REAL4是标准IEEE74格式单精 度浮点数。该格式数一般也称 为F04T格式 001300142 负累积流量 LONG 0是低字在前带符号长整数 0015-0018 负祟积流量小数部分RE4L4 0017-00182 正祟积热量 LONG 所有使用长整数的热量累积器, 其计量单位受M84(即REG1441) 控制 0019-00202 正素积热量小数部分 REAL 好了,有了对应的寄存器地址我们就可以参照它米填写指令中的地址“”,注意一点:指令中的 地址不能直接填写对应寄存器的地址, 中是这样规定的: 散输出(线图)和保持寄仔器支持读取和写入请求。离散输入(触点)和输入渣存器仅支持读取请求。“地址“参数是起始的 Mobu地址。允许使用下列取值范围:000109999离散输出(线圈 10001至1999是离散输入(触点) 30001至399是输入寄存器 40001至4999是保持寄存器 地址"的指定取值范围基于 Modbusε从站支持的地址。 "计数"参数指定在该请求中读取或写入的数据元素的数目。"计数"值是位数(对于位数据类型)和字数(对于字数据类型) 地址0XXx"计数"是要读取或写入的位数。 地址1xXX°计数"是要读取的位数。 地址3xXxX"计数"是要读取的输入寄存器的字数。 地址4XxX"计数"是要读取或写入的保持寄存器的字数。 MBUS_MsG指令将读取畎写入最大120^字或1920个位(240字节旳数)。"计数"的头际限值将取决于 Modbus从站中的限 " Dataptr"参数是指向S7-啁00CP的V存储器中与读取或写入请求相关的薮据的间接地圠指针。对于读取请求, DataPτ应讧 指向用于存储从 Modbus从站读取的数据的第一个G叫存倩器位置。对于写入请求, Dataptr应该指向要发送到 Modbus从站 的数据的第一个CPU存储器位置。 我们读取的就是从站的保持寄存器的地坤,所以要在从站寄存器地址加上数字。例如第二个流量计 的地址是 (在图中),实际是读取了从达的从第一个和第个寄存器始的信息。功能 码是 再来看一卜第一个流量计中的地址是以头的地址,即 和 这里的程序是没有错的 这就要看通信于册中具体要主站发送的数据咴格式和功能码,如下:可以看到功能码是,这里的功能码 也是读取保持崙存器的,那么如何让发出这个功能码呢?正常读取从站时发出的功能码是(这 也是 协议给定好的) 主机命令格式 设备地址功能代码地址 地址 数据 数据 其实 标准协议中也有这个功能拦令,该指令命名为“读取输入寄存器”而不是“保持寄 存器”。 协议当然可以发送这个指令,问题是 中的 协议库如何发送这个 指令呢? 指令要填写的信息如下:这里的只能填写或代表读和写,并不是具体的读写指 今 还是 MBUS MSG PI ave ErrorkMB10 300114Addr Count &vBODataPtr 其实这里的功能就是告诉 是该还是写,至于是具体读什么或具体写什么并不是从这旦来确 定的,是按照它下面的地址“”米区分的。在 软件的帮助中是这样规定的: 高散输出线圈闻持寄存器支持读取和写入请求。离散输入触点和输入守存器支持读取请求。“地址"参数是起的 Mcbs地址。允许复月下列取值范:0099是高出/线蜀) 100190输(触) 300139是入寄存器 4014999是持奇器 "地北”指定值茫围其于 Modbus s站文持的地址 所以,在我们要读取的 从站的寄存器地址的基础上加上,我们最终要输入的地址就是 了(注意地址是从开始的而不是。这样输入后,在执行 指令时就会判 断并发送的指令是。同样如果我们输入的地址数据是 ,就会发送这个指令了,也可以这样 理解 指令通过判断输入的信息地址“”的最高位来发送具体的功能指令( 或其他)的。在设备和通信之前最好先用调试软件来调试设备通信是否正常,是否能采集到数据,然 后冉编写程序。下面这个软件就是模拟了执行 指令,从下血图中可以看到对 的(功能指令)是 迅 Loans Pn11=[mhn111 下i1 e Corme ct on se11 p Funeti ons isp1ey1ew直 indow且ep 口圖曼x〓巴050151622 11?岭 卫卫1 口:TD"1:1"04:了R〓10口口 。 Connec:t1o1 口口口1 nII Definition 口 4 Read Input Re比图- n e h Apply sc山k:10 ⅴ卫nab1ePa11ing Poll Once 还有一点就是编程时要注意 指令的调用: 指令要一直调用 同一条指令使能在没有完成时要一直有效,要想再次调用该指令必须将使能端无效一次扫 描让完成标志位复位。 和 的停止位是位,其他参数可以修改的。 Modbus功能码 功能码名称 作用 读取线圈状态 取得一组逻辑线閣的当前状态(ON/OF) 02读取输入状态 取得一组开关输入的当前状态(CN/OFF 读取保寺寄存器在一个或多个保持寄存器中取得当前的二进制值 04读取输入奇存器在一个或多个输入寄仔器中取得当前的二进制值 强置单线圈 强置一个逻辑线圈的断状态 预置单寄存器 把具体二进值装入一个保持寄存器 取得8个内部线圈的递断状念,这8个线圈的地址由控制帮决定,月户逻辑可以将这些线圈定义, 读取异常状态 以说明从机状态,短报文适官于迅运读取状态 回送诊断校验 把诊断校验报文送从机,以对通信处理过行袢鉴 编程(只用于484)使主机模拟编程器作用,修改PC从机逻辑 可使三机与一台正玍执行长程序任务从机通信,探询该从机是否已完成其操作任务,仅在含有功 控询(只用于484) 能码9的报文发送后,本功能码才发送 读取事牛计数 可使主机发出单询问,并随即判定獎作是否成功,尤其是该命令或其他应答产牛通信错误时 可是主机检索每台从机的 ModBus事务欠理通信事作记录。如果某项事务处理完成,记录会给出有 读取通信事件记录 关错误 编程(184/384484 可使主机樸拟编程器功能修改ⅣC从机逻辑 584) 探询(184/384484可使亠机与正在执行任务的从机信,定期控询该从机是否已完成其程序操作,仅在含有功危13 584) 的报文发送后,本功能妈才得发送 强置多线圈 强置一串连续逻辑线圈的通断 预置多寄仔器 把具体的二进制值装入一串连续的保持寄午器 17报告从机标识可使主机判断编址从机的类型及该从机运行指示灯的状态 18(881和 MICRO84)可使三机樸拟编程能,修改PC状心逻辑 重置通信链路 发生非可修改错误后,是从札复位于已知状态,可亘置顺序字节 0读取通用参数(584L)显示扩展存储器文仁中的效据信息 写入通用参数(584L)把通月参数写入扩展存储文件,或修改之 2~64保留作扩展功能备用 保留以备用尸功能所 留作月户功能的扩展编码 非法功能 保留 留作闪部作用 保留 用于异常应答 閃络只是一个主机,所有通信都由他发出。网络可支持个之多的远程从属控制器,但实 际所支持的从机数要由所用通信设备决定。采用这个系统, 可以和中心主机交换信息而不影响各 执行本身的控制仁务。表是 各功能码对应的数据类型。 表2 ModBus功能码与数据类型对应表 代码功能数据类型 03读整型、字符型、状态宰、浮点型 04读整型、状态字、浮点型 06写整型、字符型、状态字、淨点型 8N/A重复“回路反馈”信息 6写整型、字符型、状态字,浮点型 7读字符型 MBUS MSG指令 操什数 数据类型 布尔 Q,M,S,SM,T,C,V(以上升沿检测元京为祭件的功卒沉) 从站 字节 VB. IB QB MB. SB. SMB. LB. AC. Constant. D 'AC. "LD 读写 字节 VB, IB, QB, MB, SB, SMB, LE, AC, Constant, D AC, LD 地址 双字 VD ID QD. MD. SD. SMD LD. AC, Constant. *VD. 'AC. LD 计款 整型 Y, W. QW, MW/, SW, SMW, LW. AC, Constant. YD, 'AC " LD Detat 布尔 ,Q,M,S, SM,T,C,V,L 错误 VB. IB QB MB SB. SMB. LB AC. VD. AC. LD SIMATIC IEC131|求并处理应答 MBUS MSG指或用于端口1 TMBJS MSG P1用于声动对 Modbus3从达的请 当EN输入和"首次”输入打开时, BUS MSG指令启动对 Modbus从站的诸求。发 送请求、等待应答、并处理应答通常斋要多次扫指。EN输入必须打开以启用清 A 求的发送,并应该持打廾直到完成位被置 今穹屮上并产生错误代码6 首次"参数应该在有新请求要发送时才打开以进行一次扫插。"首次输入应当 First 过一个边沿检测元素例如上升沿开,这将导致请求被传送一次。参见实例程 序 Slave Donel"从站爹是 Modbus的地址:允汗的范出足0到247地址0是广播地址, 能月于写诮求。不存在对地址0的播请求的应谷.并卡所向的从站会支持播 坻卧:S7200Modu5从始协议库不文广稻上奸 Addr S CALL MBUS_MSG rst Slave, RW L Addr, Cc DataPtr Done Error "读写"参指定是否要读取或写入该消息。读写"多数允许使用下列两个值 离敢输出(图和保持寄存器文持取和写入请求。离款输入(轴点和输入寄存弱仅文持读取请求。"地业参效是起始的 Mbus地址。允许使用下列取值范围:0001至099是离敏输出线图) 015199%输入(起s) 301至3999是入寄存器 4001至4999是持寄存器 地址的指定值范图基士Mcu从支持的北址 计数”参数指定在该请求中议取或写入的效把元亲的数目"计数是位数(对于位款把类型)利字数(对于字数亮类型) 地址0X°计数”是要读取或写入的位数 地址1计数"是要读取的位数。 地址3X°计数"是要读取的输入寄存器的字数。 也址4xX计数"是要读取啦写入的保持存器的字数 MFS_MG指今将读软求写入最大1字1?个位门40字节的强据).“计数”的实际限值将取于Mx址s从站的跟制 DataPtr参数是者向572C0~PU的V估器中三读取或写入诺求相关的数楫的间接出针。对干远取朮,DP该 指同用存储从 Modbus5从站读取的款的一个CPU存修器位置,对于写入调求:DaP该拦问要反送到 Modbus站 的数茫的第一个CPU存烯器位置 DataPtr值作为间接地址指针传递到 MBUS MSG。例如,如果要写入MbJs从站的数据从S7-200cU中的地址200开 始,则 DataPt的兹值将会是&VB200(日2C的地址)。指针必须始终是E类型,即使它们指向字数祸 保持寄存器(地址XXxX.输入寄存器(地址3×0值足字(个字节或16位)S1-2UCPU字的格式与Mdb百存器相司 低位编号的∨你储器地址是奇们器的最高有效字节。高位编号的V你储器地址是奇器的最低有效字节。下表显示了S7200 字节和字寻址圳何与 Modbus存器格式相对应 s7-200Cu存储器 s7200CPu存储器 Modbus 字节地址 保持寄存助址 地址 十六进制 十六进制数据 数据 E203 Vw200 4D0↑ 1234 vE201 vE203 vw204 4003 9A BC VE205 BC 位数地0801×区域作为瓜维宇节被读取和写入,就是说,每个薮据宇节内瓜缩8位。第个数据字节的最低有 效位是司址的位号(参数地址”)如果仅与入单个的位,则该位必狈处于播向 FataL的了节的最有效位宁节。 压缩字节的格式(显示离散偷入地北) 10008 10001 10UU7 10002 10006 10003 10005 10004 对于木在偶数字节边界上开始的位数据地,与起始地址相关的位必须处于字节的最低有效位。参见如下在 Mod bus地址10004 处开始的3位压缩字节格式实例 斥缩字节的格式(卉地址10004开的寓输入) Vx.0 0 10004 10005 10006 当写入到离散输出数据类悉线图)时,用户必须在数据通过冂hP传递到 MRUS MSG指令之前,将压缩字节内的位放置到 正确的位位置中 完成输巳在发送请求和接应答时关闭。"完成"输出在应答完成或 MBUS MSG指令因错误而中止时打开。 铅误"输已仅当完戎"出打开时有效。请参阅MOus设备 MBUS MSG执行错误通过 MBUS MSG指令返回 低位编号的错误代码(1到0是出 MDUS MSG指令检测到的错误。这些精误代码通常指示与 MDUS M5G指令的输入参数有关 问逦,吸接收来白从站的应答时岀现的问。奇偶校验和心3C错识指示有在应答但是数据木王确褛收。这通常是由电气故 障(例如连鸢有向题或者电声)引起的 高位编号的错误代从101开始)是由 Modbus从站返叵的错误。这些错误指云从站不支持所请求的功能,或者所请求的地址( 或觉据光型或地址范围)不被Mdbu从站支持。 程序举例 该实例程序显示了在每次输入0打开时,如何使用 Modbus主设备指令将4个保持寄存器写入 Modbus从站然后手从中读取 S720cPU把白w100丌始的4字写入 Modbus从站。数挺将写入从站中白地址40001始的4个保持寄存器。 S2CPU于是将从 Modbus从站读取个保持寄存器。数据来自保持寄存器1U0110013,并放置到S/20UCPU存 佬器中自W200开始的地址。 实例程席数据传送 S7-200 CPU 存储器 保持寄存器

...展开详情
所需积分/C币:11 上传时间:2012-11-29 资源大小:1.11MB
举报 举报 收藏 收藏 (1)
分享 分享

评论 下载该资源后可以进行评论 1

xwhpc 看了能明白,有用,顶!
2013-01-07
回复
S7-200MODBUS通信协议

S7-200MODBUS通信协议,包括主站和从站。

立即下载
ModbusTCP/RTU网关设计

基于UIP协议栈,实现MODBUS联网,可参考本文档资料,有MODBUS协议介绍

立即下载
html+css+js制作的一个动态的新年贺卡

该代码是http://blog.csdn.net/qq_29656961/article/details/78155792博客里面的代码,代码里面有要用到的图片资源和音乐资源。

立即下载
iCopy解码软件v1.0.1.7.exe

解ic,id,hid卡密码破解ic,id,hid卡密码破解ic,id,hid破解ic,id,hid卡破解ic,id,hid卡密码密码卡密码破解ic,id,hid卡...

立即下载
分布式服务框架原理与实践(高清完整版)

第1章应用架构演进1 1.1传统垂直应用架构2 1.1.1垂直应用架构介绍2 1.1.2垂直应用架构面临的挑战4 1.2RPC架构6 1.2.1RPC框架原理6 1.2.2最简单的RPC框架实现8 1.2.3业界主流RPC框架14 1.2.4RPC框架面临的挑战17 1.3SOA服务化架构18 1.3.1面向服务设计的原则18 1.3.2服务治理19 1.4微服务架构21 1.4.1什么是微服务21 1.4.2微服务架构对比SOA22 1.5总结23 第2章分布式服务框架入门25 2.1分布式服务框架诞生背景26 2.1.1应用从集中式走向分布式.26?

立即下载
Camtasia 9安装及破解方法绝对有效

附件中注册方法亲测有效,加以整理与大家共享。 由于附件大于60m传不上去,另附Camtasia 9百度云下载地址。免费自取 链接:http://pan.baidu.com/s/1kVABnhH 密码:xees

立即下载
电磁场与电磁波第四版谢处方 PDF

电磁场与电磁波第四版谢处方 (清晰版),做天线设计的可以作为参考。

立即下载
压缩包爆破解密工具(7z、rar、zip)

压缩包内包含三个工具,分别可以用来爆破解密7z压缩包、rar压缩包和zip压缩包。

立即下载
source insight 4.0.0087 注册机序列号Patched(2017/10/17)

最新的sourceinsight4.0.0087和谐license及和谐文件。真正的4087版本,使用附件中的license文件,替换sourceinsight4.exe

立即下载
Java项目经验汇总(简历项目素材)

Java项目经验汇总(简历项目素材)

立即下载
支付宝转账demo

支付宝单笔转账,实现提现功能(内有demo实例,望大家多多提意见)

立即下载
新开普身份证读卡器驱动

安装新开普身份证读卡器驱动后,可以读取身份证信息,

立即下载