说明:其中T为S7-200中的缓冲区起始地址,即HoldStart。
如果已知S7-200中的V存储区地址,推算MODBUS地址的公式如下:
MODBUS地址=40000+(T/2+1)
其中T为偶数。
5 结束语
Modbus RTU作为一种工业控制器的网络通讯协议,其在如今众多的控制器之间进行联网、监控、相互通讯等方面发挥着重大作用,本文以典型的S7-200控制系统为例,详述了如何应用Modbus RTU通讯协议以及检测方法,使得控制器之间的通讯变得更加简易和清晰
西门子 S7-400 控制器 贝加莱 X20系列I/O模块 Profibus-DP网络
1. 概述
在过去的十多年里,随着生产车间自动化和过程自动化中分散化结构的迅速增长,现场总线系统的应用日益普遍。其原因之一是:现场总线系统实现了数字和模拟输入/输出模块、智能信号装置和过程调节装置与可编程逻辑控制器(PLC)和PC之间的数据传输,把I/O通道分散到实际需要的现场设备附近,使安装和布线的费用开销减少到Zui小,从而使成本费用大大地节省。其原因之二是:标准化的现场总线具有“开放"的通信接口,允许用户选用不同制造商生产的分散I/O装置和现场设备。
Profibus是Process Fieldbus的缩写,是一种用于工厂自动化车间级监控和现场设备层数据通信与控制的现场总线技术,可实现现场设备层到车间级监控的分散式数字控制和现场通信,从而为实现工厂综合自动化和现场设备智能化提供可行的解决方案。Profibus的网络协议是以ISO颁布的OSI标准七层参考模型为基础的,只是对第三层到第六层进行简化,因此可以说它的标准适应性强。此外它的三种模块(DP、FMS和PA)又可以适应不同的应用对象和通信速率方面的要求,开放性也好。
2. 系统介绍
某造纸厂制浆项目大致分为提取、筛选和漂白三部分。本系统采用西门子S7-400 控制器,PROFIBUS-DP现场总线系统,WINCC和SIMATIC Step 7 软件,组成的高可靠的DCS系统。上位机采用联想计算机,WinCC软件用于整个系统状态监控。PLC采用西门子公司大型S7-400 CPU为414-2DP,上位机与S7-400 PLC之间采用Profibus-DP通讯方式控制,现场分站采用贝加莱公司的X20BC0063 DP模块进行扩展联网,它们通过Profibus-DP总线和S7-400 PLC相连。同一DP地址下再通过X20BR9300和X20BT9100通讯模块进行扩展,可以挂接63个X20系列I/O模块。所有的X20模块采用分布式的导轨式系统底板,支持带电热插拔。
提取部分控制要点:
调节洗浆机的上浆浓度、浆层厚度、浆料液位、洗涤水流量、洗涤液温度等影响洗涤效果的因素,使操作工艺参数稳定在合适的范围内,以保证洗涤过程正常运行。尽可能获得高浓度的黑液,以利于蒸发工段回收利用。
筛选部分控制要点:
纸浆中含有各种各样的杂质,经过筛洗去除这些杂质,以得到纯净的纸浆。稳定压力筛进浆浓度、进浆流量、稀释水流量、尾浆流量、压力筛进浆口与良浆出口的压差,防止和排除筛孔堵塞,使得筛选净化过程得以正常运行
漂白部分控制要点:
漂白过程对自控系统的要求是使各种药液的加入量与浆料保持一定的比例关系。使之在获得均匀的所需白度的同时,尽可能减少对纤维的降解作用,保持纤维强度。另外,漂白过程是一个连续的化学反应过程,必须控制其反应时间、反应温度和反应浓度三个主要因素。
3. 系统硬件配置情况
西门子公司产品:
电源模块 PS407/10A 6ES7407-0KA01-0AA0 1块
CPU模块 414-2 6ES7414-2XG04-0AB0 1块
UR2机架 6ES7400-1JA01-0AA0 1块
存储卡 6ES7952-1KL00-0AA0 1块
CP5611卡 6GK1561-1AA01 2块
总线连接器 6ES7972-0BA50-0XA0 3块
贝加莱公司产品:
总线接收模块 X20BR9300 8块
总线中继模块 X20BT9100 5块
电源总线模块 X20BM01 8块
标准总线模块 X20BM11 121块
DP总线模块 X20BC0063 3块
电源模块 X20PS9400 3块
总线模块 X20BB80 3块
端子排 X20TB12 134块
模拟量输入模块 X20AI4622 37块
模拟量输出模块 X20AO4622 14块
温度模块 X20AT4222 4块
开关量输入模块 X20DI9371 15块
开关量输出模块 X20DO9322 24块
电源模块 X20PS2100 24块
电源模块 X20PS3300 3块
总线连接器 0G1000.00-090 3块


4.结束语
自调试完成后系统运行正常,Profibus-DP网络稳。主站S7-400PLC与从站正常通讯,并上位机控制系统通讯良好。系统响应速度快,精度高。很好发挥了Profibus-DP网络的*性能,得到用户的肯定
西门子6ES7313-6CG04-0AB0型号规格
运用VC#编程通过OPC方式实现PC机与西门子PLC通讯-异步篇
在上一次发表的<运用VC#编程通过OPC方式实现PC机与西门子PLC通讯>主要讲的是同步通讯,本文将主要讲解如何编程实现异步通讯,通过讲解你也将会知道同步通讯与异步通讯的区别,以及在什么情况下使用异步通讯。
1、 配置OPC服务器
对于服务器的配置与同步通讯的配置一样,这里不需再讲解,若有不清楚的,可以参阅之前发布的<运用VC#编程通过OPC方式实现PC机与西门子PLC通讯>
2、 OPC编程
变量组、项的命名规则与同步通讯的一样,这里不再描叙,下面主要就开发一个异步通讯类 AsynServer来讲解如何编程。
<1>、引用
在VC#开发环境中添加对OpcRcw.Da库以及OpcRcw.Comn库的引用,该库属于.NET库,不属于COM库,西门子虽然编写了类库,以提供对.NET平台的支持,但这些类库仍然难于编程,里面包含了大量的在托管和非托管区传输数据,因此我们需要在它的基础上再开发一个类库,以简化以后的编程,
1 引言
工业控制已从单机控制走向集中监控、集散控制,如今已进入网络集约制造时代。工业控制器连网也为网络管理提供了方便。Modbus就是工业控制器的网络协议中的一种。Modbus协议是应用于电子控制器上的一种通讯约规。通过此协议,控制器相互之间、控制器经由网络(例如以太网)和其它设备之间可以通信。它已经成为主流的工业标准之一。他为符合Modbus协议的不同厂商生产的控制设备可以连成工业网络,进行集中监控。
2 Modbus RTU协议在S7-200中的应用原理
2.1 Modbus RTU协议与S7-200相互关系简介
S7-200 CPU上的通讯口Port0可以支持Modbus RTU协议,成为Modbus RTU从站。此功能是通过S7-200的自由口通讯模式实现,因此可以通过无线数据电台等慢速通讯设备传输。
如果想在S7-200 CPU与其他支持Modbus RTU的设备使用Modbus RTU协议通讯,需要由有S7-200 CPU做Modbus主站。S7-200 CPU做主站必须由用户自己用自由口模式,按相关协议编程。
在S7-200控制系统应用中,Modbus RTU从站指令库只支持CPU上的通讯0口(Port0)。要实现Modbus RTU通讯,需要Step7-Micro/WIN32 V3.2以上版本的编程软件,而且须安装Step7-Micro/WIN32 V3.2 Instruction Library(指令库)。Modbus RTU功能是通过指令库中预先编好的程序功能块实现的。
2.2 Modbus RTU协议在S7-200中应用的基本过程
(1) 首先检查S7-200控制系统中所用Micro/WIN的软件版本,应当是Step7-Micro/WIN V3.2以上版本。
(2) 检查Micro/WIN的指令树中是否存在Modbus RTU从站指令库(图1),库中应当包括MBUS_INIT和MBUS_SLAVE两个子程
指令树中的库指令
(3) 编程时使用SM0.1—调用子程序MBUS_INIT进行初始化,使用SM0.0—调用研究MBUS_SLAVE,并相应参数。关于参数的详细说明,可在子程序的局部变量表中找到。
示例参见图2:
图2中参数意义如下:
●模式选择:启动/停止MODBUS,1=启动;0=停止;
● 从站地址:MODBUS从站地址,取值1~247;
● 波特率:可选1200,2400,4800,9600,19200,38400,57600;
● 奇偶校验:0=无校验;1=奇校验;2=偶校验;
● 延时:附加字符间延时,缺省值为0;
●Zui大I/Q位:参与通讯的Zui大I/O点数,S7-200的I/O映像区为128/128,缺省值为128;
●Zui大AI字数:参与通讯的Zui大AI通道数,可为16或32;
●Zui大保持寄存器区:参与通讯的V存储区字(VW);
● 保持寄存器区起始地址:以&VBx(间接寻址方式);
● 初始化完成标志:成功初始化后置1;
● 错误代码:0=无错误。
(4) 注意的问题
调用Step7-Mciro/WIN32 V3.2 Instruction Library(指令库)需要分配库指令数据区(Library Memory)。库指令数据区是相应库的子程序和中断程序所要用到的变量存储空间。如果在编程时不分配库指令数据区,编译时会产生许多相同的错误。
由子程序参数HoldStart和MaxHold的保持寄存器区,是在S7-200 CPU的V数据存储区中分配,此数据区不能和库指令数据区有任何重叠,否则在运行时会产生错误,不能正常通讯。注意Modbus 中的保持寄存器区按“字"寻址,即MaxHold规定的是VW而不是VB的个数。
3 Modbus RTU协议测试
包含Modbus RTU从站指令库的项目编译、下载到CPU中后,在编程计算机(PG/PC)上运行一些Modbus测试软件可以检验S7-200的Modbus RTU通讯是否正常,这对查找故障点很有用。测试软件通过计算机串口(RS-232)和PC/PPI电缆连接CPU。
(以ModScan32测试软件为例作以检测说明)
西门子代理商,西门子模块代理商,西门子一级代理商,西门子PLC代理,西门子中国代理商