前言:中文期刊网精心挑选了modbus协议范文供你参考和学习,希望我们的参考范文能激发你的文章创作灵感,欢迎阅读。
modbus协议范文1
中图分类号TN91 文献标识码A 文章编号 1674-6708(2013)82-0188-02
DCS系统以及PLC系统以其独特优势而被各行各业广泛应用,为实现生产的经济高效、节能环保提供了可靠的基础保障。但DCS系统与PLC系统之间的通讯始终是工程生产的重点问题,本文对MODBUS协议基础上,实现DCS系统与PLC系统之间的通讯进行分析与探讨,以其对工程生产提供帮助。
1 系统组成
1.1 通讯系统
Modbus通讯协议是一种通用的电子控制器应用语言,可利用网络或其它设备实现控制器之间的通讯,Modbus协议可以在忽略控制器通信方式的前提下,对其所能认识与使用的消息结构做出定义,是一个通用的工业标准,它还对控制器与其他设备之间的访问请求与过程进行描述,可以侦测错误信息并进行记录。并且,Modbus协议还制定了公共内容格式及消息域格局,控制器可设置为RTU或ASCII中任一种传输模式,用户可在标准的Modbus网络通信中选择所需模式及串口参数,Modbus网络上所有设备在控制器配置时,都应将传输模式以及串口通信参数选择一致。本文基于RS485协议来实现DCS与PLC之间的数据共享,可通过DCS控制PLC,也可将PLC的数据上传到DCS。实际操作时,可将一块MODBUS转DP通讯模块增加于DCS控制器下方,以使维护与控制简单方便,而基于MODBUS协议,此通讯模块可作为通讯主站,实现与现场PLC间的通讯,也可基于Pmfibus-DP协议并作为从站,实现与DCS系统的挂接。
1.2 DCS系统
集散控制系统DCS是以通信网络为连接纽带并包括过程监控级与控制级的多级计算机系统,它将计算机技术、控制技术、通讯技术以及显示技术等有机结合起来。本文DCS系统采用的是和利时MACS V控制系统,不仅可以实现集中操作而分散控制,还可以分级进行管理,组态及其方便且配置较为灵活。
1.3 PLC系统
因工业化发展需求而产生的PLC数字运算操作系统,它利用可编程存储将定时计数、顺序控制及逻辑运算等操作指令存储起来,再经由数字模拟输入与输出对机械设备或生产过程进行控制。可编程控制器与相关设备的选择应从其功能原则设计扩充简便为切入点,选择易与工业控制系统形成整体的设备,而且维护与控制也较为简便。本文PLC系统是由三套和利LK207、一套GE的IC200以及一套西门子S7-200组成。
2 系统组态
2.1 硬件组态
将通讯线自各PLC串口引出,并将其与MODBUS转PROFIBUS-DP协议转换模块的MODBUS接口连接。
2.2 软件组态
1)DCS系统组态。将MODBUS转PROFIBUS-DP协议转换模块中的GSD文件拷贝至MACS V系统的相应安装目录,再打开MACS V系统的控制器组态文件与工程,将此模块添加于硬件组态中,然后打开模块属性对通讯参数波特率等进行设置,再基于PLC读写数据对MODBUS读写数据块进行合理添加,数据块属性设置取决于数据起始地址及PLC地址。以各自地址以及PLC读写变量进行添加于程序中的子程序编写以及变量添加,然后对编译进行保存。将PLC变量至工艺画面添加至打开的MACS V画面的组态程序并保存,然后下装于操作员站,而将PLC传过来的量程或信号类型等变量属性添加至打开的MACS V数据库的组态程序,再联编并将其下装于服务器;
2)PLC系统组态。本文以GE公司的IC200型PLC来说明该系统组态。将GE PLC编程软件打开并对PLC Port(2) 进行设置,然后利用网络将小酒改后的设置内容下至PLC。
3 系统常见故障的判断与排除
若DCS系统与PLC系统之间的数据通讯正常,则对故障隐患的判断可通过模块状态指示灯来实现,可从模块上的数据传送与接收指示及错误状态表示对,作通讯状态进行判断并对故障进行诊断。而若DCS与PLC之间的数据通讯为不正常状态,则DCS系统画面所显示的数据不正常,模块状态指示灯有错误状态显示。对此,应对硬件错误及软件错误进行依次检查并排除故障。硬件方面,应使用DP电缆,接线时切忌将正负极性接反,模块选型时也要注意选择有较高的使用信誉度且实用效果较好的产品,由于兼容性差异的问题,两次以上的接口转换情况应尽量避免。而软件方面,首先要保持一致的DCS与PLC间的通讯速率,最好使用无校验而减少奇偶校验,其次要确保DCS与OLC系统的通讯数据地址合理有效,若有地址错位状况,可通过DCS系统设置来解决。
4 结论
综上所述,在实现DCS系统与PLC系统之间的通讯中应用MODBUS协议,可以取得良好成效,即是说,基于MODBUS协议的DCS与PLC通讯的实现,具有稳定的通讯性能,可以为工艺监控提供可靠技术支持,为工程生产创造良好的条件,有效实现生产的节能减排、经济高效。
参考文献
[1]赵钊.基于Modbus协议的DCS系统与PLC系统的通讯[J].节能技术,2011(4).
[2]王刚,王玉琪,王冰.用Modbus协议实现DCS与PLC之间的串行通讯[J].自动化技术与应用,2010(4).
modbus协议范文2
关键词:智能调压器;串口服务器; MODBUS协议
中图分类号:TP393 文献标识码:A 文章编号:1009-3044(2015)27-0197-03
Abstract: In this paper, it mainly implements a gas pressure controlling system, containing of five intelligent regulators and one host computer, in which each intelligent regulator connects with the host computer via a port. This system provides our customers with an efficient integrative solutions that realizes unified controlling management of five regulators by one host computer. Specifically, this system uses MODBUS communication protocol to realize the communication between each regulator and host computer. Additionally, users can remote access control, and query or control the state of regulators on time.
Key words: Intelligent regulators; Serial port server; MODBUS communication protocol
本课题来源于某燃气设备公司的一个项目,首先先对该项目进行简要的介绍。该燃气公司目前拥有五台智能调压器,如图1所示。该调压器拥有五种功能,分别是流量测量、本地或远程出口压力设定、流量限制、远程监控和终端用户管理。它的优点是功能多,且只需要一个电源。
每台智能调压器通过串口与上位机通讯,现在需要实现了一个高效整合解决方案,通过一台上位机对五台调压器的统一控制管理,并且用户可以远程对其进行访问控制,即时地查询和控制调压器的状态。
1 方案综述
1.1 硬件实现方案
由于每台智能调压器都是通过串口和上位机一对一连接,而上位机只有一个串口,所以想要用一台上位机实现对五台设备的集体控制,首先要解决硬件连接上的问题。
我们的解决方案是使用一个串口服务器[1]。串口联网服务器让传统的RS-232/422/485设备立即联网,利用基于TCP/IP的串口数据流传输的实现来控制管理[2]。串口服务器拥有多个串口,并且通过以太网与上位机连接,在上位机上虚拟多个串口,实现了一带多的功能。
本课题所使用的串口服务器可以同时和八台设备连接通信,很好地解决了硬件上的问题。
1.2 软件实现方案
硬件的问题通过串口服务器比较容易地解决了,下面重点在于软件上的实现。
首先,需要在调压器和上位机间建立通信,由于通过串口服务器,上位机具备了多个虚拟串口,所以可以直接使用传统的一对一通讯协议。在本系统中,我们使用MODBUS通讯协议中的命令3,命令6和命令16,来实现上位机对调压器的读多个寄存器,写单个寄存器和写多个寄存器的功能。
其次,为了实现多个用户远程的访问控制调压器,我们使用SQL SERVER 2008数据库作为中间媒介,现场的上位机通过串口服务器实时采集各个调压阀的状态,并存入数据库中, 而用户可以使用我们提供的应用程序在任何地方访问数据库,读取数据,从而远程监测燃气压力控制系统的状态。同理,远程用户可以将控制命令写入数据库,而现场上位机将这些命令从数据库读出,并转发给各个调压器。
最后,根据权限的高低依次设计Admin、Controller、Observer三种用户角色,所有远程用户必须使用账户密码进行登录,根据不同的权限进行不同的操作,这样可以保证系统的安全性。
2 MODBUS协议简介
MODBUS是OSI模型第7层上的应用层报文传输协议,它在连接至不同类型总线或网络的设备之间提供客户机/服务器通信[3]。MODBUS协议定义了一个与基础通信层无关的简单协议数据单元(PDU)。特定总线或网络上的MODBUS协议映射能够在应用数据单元(ADU)上引入一些附加域,如图2所示。
在本系统中,功能码代表了上位机向调压器指示的操作类型。根据需求,我们使用到了功能码3,6和16,下文将简单介绍这三种功能码。
2.1功能码3
功能码3用于读取寄存器连续快的内容,上位机通过这条命令,结合地址表,采集调压器当前状态。功能码3的请求报文,如图3所示。
2.2 功能码6
功能码6将某个值写入远程设备的单个寄存器中,上位机通过这条命令,结合地址表,设定调压器的状态。在本系统中,我们并未直接实现功能码6,而是将功能码6作为功能码16的一种特殊情况。
2.3 功能码16
功能码16用于将多个值写入远程设备的连续寄存器块中,上位机通过这条命令,结合地址表,连续设定调压器的多个状态。特别地,将寄存器数量设为1,即可作为功能码6的实现,用于设定单个状态值。功能码16的请求报文,如图4所示。
3 上位机控制程序
上位机控制程序是在现场的上位机的一个进程,由它对整个系统进行实时的控制。主要有以下两个功能:
1)运行时不断更新调压器监测数据到数据库中,供远程用户从数据库中读取。
2)从数据库的命令表项里读取远程用户命令并执行。
上位机控制程序使用定时器的方式,每5秒调用已实现并封装的MODBUS协议的接口,采集各个调压器的状态,并且使用[4]将当前状态更新到数据库的CURRENT_STATUS表,如表1所示。这张表里永远只有一条数据,这样远程用户通过不断的读取这张表里的第一行数据,就可以实时监控系统状态。
其次,上位机控制程序使用从数据库中的COMMAND_TABLE表中读取远程用户的命令,如表2所示。上位机控制程序通过表中DONE字段判断这条命令是否已执行,对于未执行命令,上位机程序调用MODBUS库接口,根据命令类型,调压器编号去设定调压器状态。
4 数据库表项和用户角色
4.1 数据库表项
在本系统中,数据库用来实现远程用户对调压器的监测和间接控制以及存放历史数据。在数据库中设置了四张表,分别是:
1) 历史信息表:用于记录实时采集的系统数据,采用月表的形式,在每月固定时间新建一张。
2) 当前信息表:实时记录当前调压器的状态。
3) 命令表:用于特定权限用户写入命令,上位机控制程序从中读取命令并执行。
4) 用户表:admin用户使用,记录用户信息,每注册一个新用户增加一个表项。
历史信息表和当前信息表都只提供给远程用户读取功能,而由上位机控制程序更新(写入)。由于有五台智能调压器,每台调压器都拥有各自独立的历史信息表和当前信息表。
4.2 用户角色
根据安全性的需要,用户分为以下三种:
1) Admin用户:拥有最高权限,主要用于管理其他用户。可以访问数据库中所有表,只有admin能访问用户表。
2)Controller用户:既可以查看历史信息和当前状态,即读取数据库中五台设备的历史信息表和当前信息表,也可以写控制命令到命令表,提供给上位机控制程序执行,对调压器进行远程控制。
3)Observer用户:权限最低,作为观察用户,只能访问历史信息表和当前信息表,不能访问命令表,即不能对调压器进行控制[5]。
5 结论
本文实现了一个高效整合的燃气压力控制系统,硬件上使用串口服务器扩展硬件上位机的串口,实现一带多的功能。通讯上,使用MODBUS通讯协议,实现了协议中的功能码3,功能码6和功能码16。使用SQL SERVER 2008数据库作为中间媒介,实现了远程监测和控制的功能。安全性上,根据权限的高低依次设计Admin、Controller、Observer三种用户角色,保证了控制系统的安全性。
参考文献:
[1] 董小吉. 利用NPORT串口服务器组网解决方案[J]. 治淮, 2006(1):41-42.
[2] 王双庆, 邢建春, 王平,等. 基于NPort串口服务器的人防工程智能设备集成[J]. 工业控制计算机, 2008(8):8-10.
[3] 潘洪跃. 基于MODBUS协议通信的设计与实现[J]. 计量技术, 2002(4):35-36.
modbus协议范文3
【关键词】 Modbus协议 保护装置 报文丢失
南京地铁二号线变电所内高压供电设备的保护装置(P139保护装置和P521保护装置)与所内SCADA系统的网络通信服务器(WTS-65C)通过RS485接口运用Modbus协议进行通信。在正常运行状态和调试状态下,保护装置的信号能够准确、及时地传输给SCADA后台。地铁实际投运后,发生了多次重要保护动作没有被后台采集到的故障。这些故障的共同特点是保护装置本身可以观察到保护动作的完整信号记录,SCADA系统后台却只显示了开关跳闸的动作而无法查阅与之相关的保护告警报文。
1 Modbus协议介绍
1.1 背景介绍
Modbus协议是由美国MODICON公司在1978年开发的一种通信协议,最初是用在MODICON公司开发的PLC可编程控制器上,它支持传统RS232、RS422以及RS485通信标准。1996年MODICON公司又推出了基于TCP/IP的Modbus协议使得其在工业领域的应用更加广泛[1]。
1.2 Modbus通讯协议关键技术
各种不同公司和厂家的PLC、RTU、SCADA系统、DCS或与兼容Modbus协议的第三方设备之间可以通过Modbus协议连成工业网络,构建各种复杂的监控系统。参考ISO/OSI模型,可以发现在物理层,Modbus协议可以采用RS232、RS422、RS485接口以及以太网的物理层结构;在数据链路层,Modbus主要采用串行主从协议;由于Modbus现场总线的实时性特点,所以在网络层、传输层、会话层和表示层,Modbus协议模型中均没有定义;在应用层中Modbus规定了协议的模型,主要包括消息帧格式、功能码、校验、通讯时序控制等内容[2]。
电力系统中Modbus协议的数据分为四类:开入量;开出量;只读模拟量(输入寄存器),例如遥测值等;可读写模拟量(保持寄存器),例如保护定值、设备参数等[4]。Modbus需要处理的所有数据都需要存放在装置的存储器中,为了不把存储器物理地址和寄存器编号混淆,就需要把寄存器编号与存储器地址建立链接,通过统一管理存储器地址来管理寄存器。
Modbus的数据存储模型也分为两类,分别是带有四个独立数据块的数据存储模型和仅有一个数据块的数据模型。四个独立的数据块模型使用四个独立的存储器分区分别存储四种数据,这样有助于针对不同类型的数据进行相应的硬件处理,但是不同的工业应用场合使用的数据类型不会完全相同,因而可能产生存储器资源的耗费;共用一个独立数据块模型进行数据存储的方式可以节省存储器的硬件资源,但需要软件针对不同的数据类型对存储器空间进行划分。南京地铁二号线高压保护装置使用了仅有一个数据块的数据存储器结构。
2 保护信号丢失的原因分析及解决方案
2.1 南京地铁二号线Modbus规约数据传输方式
南京地铁二号线站内SCADA系统在RS485通信标准下采用Modbus一对多通信协议。作为Master的网络通信服务器采用RTU方式轮流向每一台35kV保护装置发送数据请求广播。请求报文为8字节报文,其数据格式如(表1)。
2.2 保护信号丢失的原因分析及解决方案
通过调查所有历史告警记录,我们发现故障中被丢失的保护信号也曾经被系统采样到并形成报文传至SCADA系统后台。这说明保护信号丢失的现象并不是必然发生,也就排除了系统结构倒致故障的原因。
通过查看保护装置的保护信号点表配置,我们发现保护信号的采样和维持皆取自于保护信号的条件信号。保护条件是否满足是判断保护动作是否发生的关键,所以保护动作信号从保护条件信号上采样并判断并没有问题。但是保护信号的维持也依靠保护条件信号的维持就产生了矛盾。对比试验条件和现场环境,可以发现实验条件下保护条件信号是人工手动加载于装置的接线端子之上的。信号的发生与消失的速度完全依靠人手工操作的速度,而这个速度明显慢于网络通信服务器的一个循环检测周期,因而保护信号因得到了手工延时可以被网络通信服务器采集到。现实条件下保护信号却是一个瞬态量。当有保护动作时,相应机构的动作延时一般不超过50ms,机构动作完毕后,作为保护动作的条件就消失,保护条件信号和保护信号随之消失。所以保护信号在保护装置中的维持时长一般短于50ms。当保护信号发生时网络通信服务器在保护信号维持的时间段内恰巧能够采集到相应的保护装置,则保护信号能够被采集并上传;如果此时网络通信服务没有采集到这一台保护装置,那么在保护信号消失之后网络通信服务器就不会采集到相应的告警。
3 结语
循环检测是Modbus协议的主要特点。作为串行通信条件下的一种通信协议,Modbus无法通过自身的构架改良来解决瞬态信号的采样问题。设法延长信号时长和提高采样器件的采样频率是两种可行的方法。后一种方法需要硬件升级,耗用较高的成本;前一种方法成本较低,但是需要合适的使用环境以及可实现的信号延时方法。
参考文献:
[1]李伟.基于Modbus协议的工控节点设计与实现[J].计算机工程,2007-36(16):226-228.
[2]史运涛,孙德辉,李志军等.基于Modbus协议的通讯集成技术研究[J].化工自动化及仪表,2010-34(4):67-72.
[3]卢文俊,冷杉,杨建军.基于Modbus协议的控制器远程监控系统[J].电力自动化设备,2003-23 (6):54-56.
modbus协议范文4
关键词:RTU;无线仪表;Modbus;XML
DOIDOI:10.11907/rjdk.171492
中图分类号:TP319
文献标识码:A 文章编号:1672-7800(2017)006-0050-03
0 引言
随着计算机网络技术、通信技术的快速发展,石油行业对油田的数字化、信息化、智能化要求越来越高,目前各大油田都在致力于数字化油田的建设。在传统的油田现场,仪表和RTU之间采用RS485串行接口或通过模拟量输入进行数据通信,该方式以其高可靠性、高适应性、易扩展性[1],在油气田监控中得到了广泛的应用。但是这种方式也存在以下不足:①调试人员需要去油田现场通过串口调试软件或者直接修改仪表程序对仪表进行配置,浪费时间且容易出错,对调试人员的专业技能要求比较高,而且由于部分油田距离较远,环境恶劣,增加了现场维护成本;②由于油田现场环境复杂多变,抽油机机械运动导致传输线路容易损坏,加之其它因素使得传输信号受到的干扰加剧,导致信号不稳定。
Zigbee以其低复杂度、低功耗、低成本、高可靠等优点,在智能家居等领域得到广泛应用。近年来,在油田现场,无线仪表开始兴起,实践证明,Zigbee作为仪表和RTU之间的通信方式完全可行,油田现场仪表-RTU-上位机通信结构如图1所示。
本文在考察数字化油田信息传输流程的基础上,设计与实现了基于Modbus通信协议的油田RTU调试软件。
1 软件总体设计
1.1 设计目标
首先,本系统可以根据油田现场实际情况选择RTU与上位机之间的通信方式是串口Modbus还是网口Modbus,从而实现数据的读写交互;其次,可以读取RTU型号代码、序列号、固件版本、软件版本等常规数据以及RPC信息、仪表信息,采集示功D数据并且绘制示功图;最后,可以配置仪表、井口、RTU的相关参数,开启或者关闭RTU等功能。系统功能模块如图2所示。
1.2 系统开发流程
本系统首先编程实现串口Modbus和网口Modbus通信,然后用ModScan32软件验证数据包的正确性,最后进行数据读取,即获取信息和配置参数。系统软件开发流程如图3所示。
2 通信模块实现
2.1 Modbus通信协议
Modbus是由Modicon在1979年发明的,是全球第一个真正用于工业现场的总线协议,也是目前工业现场总线中较为流行的总线协议,标准的Modbus协议物理层接口有RS232、RS433、RS485和以太网口[2]。本系统RTU和上位机物理层使用的接口为RS232和以太网口。Modbus协议是一项应用层报文传输协议,包括Modbus ASCII、Modbus RTU、Modbus TCP/IP 3种报文类型[3]。其中Modbus ASCII、Modbus RTU在串行链路上传输,Modbus TCP/IP在以太网上传输。
由于标准Modbus RTU协议的物理层为串口通信,因此应用层数据单元ADU的最大长度为256字节。如图4所示为Modbus RTU通用数据帧格式,因此,协议数据单元PDU的长度为:256-Server address(1 byte从地址)-CRC(2 byte CRC校验)=253 bytes。
Modbus TCP/IP是运行在传输控制协议上的Modbus 报文传输协议[4]。互联网编号分配管理机构IANA给Modbus协议赋予TCP端口号为502[5]。Modbus TCP/IP通用数据帧如图5所示。
功能码占一个字节,编号为0的功能码未定义。因此,共有127功能码,它们一共分为3类:公共功能码、用户自定义功能码、保留功能码[6]。
2.2 通信模块实现
使用VS2010开发环境集成的SerialPort控件实现串口数据的读写,自定义一个控件ipBox用以接收用户输入的RTU的IP地址。使用ComboBox下拉菜单显示调试软件和RTU的通信方式,即计算机串口的COM口或者网口。在实际应用中,仪表和RTU的数据及相关参数都存储在RTU的寄存器中,由于油田现场的仪表较多,因此参数也较多,每个参数所占用寄存器的单元个数也较多。为了方便管理,将这些参数有规律地存放在RTU的寄存器单元中,并绘制成如图6所示的点表,然后根据点表将这些信息编成XML文件,当需要对某个寄存器读写时,只需要加载rtu.xml文件并读取相应的信息即可。
本文在Modbus协议的基础上,将Modbus数据帧的Data部分划分为两部分,第一部分占用2个字节,表示参数存放的寄存器的起始地址,第二部分占用2个字节,表示占用的寄存器个数。
因此,定义一个函数public int MakeData(byte cmd,short addr,short len,ref byte[]data)形成Modbus数据帧。函数参数含义:
cmd:功能码,该参数的含义为读/写单个或者多个RTU单元的数据。
addr:RTU存储单元起始地址。
len:一次读/写RTU存储单元的个数。
data:前3个参数形成的数据帧存放在data数组中。
当数据帧形成以后,判断RTU与上位机之间的通信方式,如果是串口通信,则使用SerialPort控件的成员函数Read(byte[]buffer,int offset,int count)、Write(byte[]buffer,int offset,int count)和RTU交互,完成稻莸亩列床僮鳎蝗绻是以太网口通信,用Socket套接字实现与RTU的通信,WSAStartup()、socket()、bind()、send()、recv()函数可以完成一次通信,使用的TCP端口号为502。
3 显示界面设计和通信测试
显示界面设计主要是调试软件的界面布局,使用的控件主要有:Button控件、ComboBox控件、自定义的IpBox、Label控件、TextBox控件、DataGridView控件以及Chart控件等。
测试通信和数据帧是否正确的方法为:利用ModScan32软件向RTU发送和调试软件相同的命令,对比数据帧每一个字段,看是否相同。经过测试,RTU和上位机之间能进行正常通信,数据帧的格式正确。
4 结语
该软件实现了与RTU之间的串口和网口通信。经测试,能够实现正常通信,且可准确获取RPC、仪表、RTU信息的各项参数,同时可正确采集功图数据并绘制示功图。在仪表、RTU和上位机能正常通信的前提下,该软件能完成仪表、RTU、井口的配置。经过现场测试,该软件运行稳定良好,并成功应用于某油田现场。
参考文献:
[1]李涛,王双友.智能化配电系统中Modbus协议转换的实现[J].自动化与仪表,2016(1):30-33.
[2]杨艳华,周永录,苏.通用串口到Modbus RTU的协议转换器设计与实现[J].计算机测量与控制,2014(2):604-606.
[3]王兴贵,张明智,杜莹.Modbus RTU通信协议在智能仪表与工控机通信中的应用[J].低压电器,2008(2):8-11.
[4]张隆希.嵌入式Modbus协议交换机的设计[J].机电工程技术,2016(Z2):232-236.
[5]王力.Modbus RTU从站通信协议在嵌入式系统中的实现[J].石油化工自动化,2011(5):46-48.
[6]吕国芳,唐海龙,李进.基于Modbus RTU的串口调试软件的实现[J].计算机技术与发展,2009(9):236-238,241.
modbus协议范文5
关键词:通信;Modbus协议;S7-226;直流电源
中图分类号:TP311文献标识码:A文章编号:1009-3044(2012)10-2395-04
Modbus Protocol Applied in the Communication of S7-226 and HSPY DC Power
LIU Shi-chao
(Taiyuan University of Technology, Taiyuan 030024, China)
Abstract: IN DC power control system of Dense Medium Separation ,based on the Modbus protocol,realized the communication between S7-200PLC and HSPY DC power. IN Modbus communication protocol,Siemens S7-226 PLC is master,HSPY DC power is slave, use communication to control the start of the DC power supply, stop, and the change in current. Instruced Modbus library in the Step 7 MicroWin Software of Siemens, and used the serial port debugging software to facilitate the writing and debugging of the program. Modbus simplify external wiring ,solve the interference and distortion in the transmission process of conventional switching of analog signals , the communication control method can easily read the information of the operation of the DC power ,monitoring the DCpower operation status .
Key words: communication; Modbus agreement; S7-226 ; DC power
某选煤厂为了在线调节控制三产品旋流器二段分选密度,外加螺线圈来用磁场影响磁铁矿粉的分布。螺线圈是采用直流电源来供电,系统要求通过调节电流来控制螺线圈磁场,因此要控制直流电源的运行状态。控制信号需要从集控室开始需要传输五百米才能到达直流电源,从而控制直流电源动作。在一般工业应用中,对于电源的控制大部分采用的是0-24mA或0-5V模拟量控制,很少总线控制方式。但经过比较和实际使用发现,现场总线与模拟量控制相比有很多优势,最显著的是具有很高的可靠性高,避免失真,并且交换的信息非常多样化,因此越来越多的设备开始支持串口通信协议,可以预见总线控制方式通信在工程上的应用将越来越广泛。
MODBUS通信协议是MODICON公司提出的一种报文传输协议,是全球第一个真正用于工业现场的总线协议[1]。它广泛应用于工业控制领域,并已经成为一种通用的行业标准。MODBUS通信协议可以支持多种电气接口,如RS-232、RS-485等,还可以在各种介质上传送,如双绞线、光纤、无线等。不同厂商提供的控制设备可通过MODBUS协议连成通信网络,从而实现集中控制。已经有很多通过MODBUS通信协议进行PLC和变频器的成功案例[2]。该文中采用MODBUS协议进行S7-226和HSPY程控直流稳压电源的通讯,可以更好地控制电源,监控电源运行状态,来解决信号远距离传输失真的问题。
1PLC与HSPY程控直流稳压电源通信控制系统
在此系统方案中PLC采用西门子公司的SIMATIC S7-226CN,直流电源采用HSPY程控直流稳压电源。S7-226系列PLC的CPU内部集成了2个通信端口,该通信口为标准的RS485串口,可以在三种方式下工作,即PPI方式、MPI方式和自由通信口方式。系统可以将一个通信端口设为PPI方式用于连接工控机也可将其设置为MPI方式以连接触摸屏,做为人机信息交换[2]。而另一个通信端口设为自由通信口方式,自由通信口方式是S7-200的一个特色功能,是一种通信协议完全开放的功能工作方式。在自由通信口方式下的通信口的协议由外设决定,PLC通过程序来适应外设,从而使得S7-200系列的PLC可以与任何具备通信能力并且协议公开的设备通信[3] [4]。系统中的HSPY程控直流稳压电源均内置了Modbus现场总线,相关系统构成如图1所示,PLC的Port0通讯端口和HSPY程控直流稳压电源构成Modbus总线。通过S7-226CN控制多台HSPY程控直流稳压电源,完成系统控制要求,实现对直流稳压电源的输出电流、电压设定,运行状态监控及数据交换等。
图1直流电源控制系统
本系统中PLC作为主站,直流稳压电源作为从站,主站向直流稳压电源发送运行指令,同时接受直流稳压电源反馈的运行状态及故障报警状态的信号等。
2MODBUS通信协议在电源通信控制系统中的使用
西门子在Micro/Win V4.0 SP5中正式推出Modbus RTU主站命令库,西门子标准库指令通过调用该指令库可以使S7-200CPU上的通信口设置在自由口模式下成为Modbus RTU的主站。在S7-200控制系统应用中,要实现Modbus RTU通讯,需要STEP7-Micro/Win32 V4.0 SP5以上版本,并且安装Modbus指令库,如图2,STEP7-Micro/Win32指令库包含有专门为Modbus通讯设计的预先定义的子程序和中断服务程序,使得PLC与Modbus从站的通讯简单易行[5]。
图2 Modbus命令库
2.1 MODBUS RTU主站命令库使用步骤
使用Modbus RTU主站命令库,可以读写MODBUS RTU从站的数字量、模拟量I/O、以及保持寄存器[2]。按照一下步骤使用MODBUS RTU主站命令库:
1)安装西门子标准MODBUS RTU指令库。
2)调用MODBUS RTU主站初始化和控制子程序,使用SM0.0调用MBUS_CTRL完成主站的初始化,并启动其功能控制。
3)在CPU的V数据区中为MODBUS分配存储区。
4)调用MODBUS RTU主站读写子程序MBUS_MSG,发送MODBUS请求。
表1 MODBUS部分功能码表
2.2 HSPY电源的Modbus通讯规约
HSPY系列电源支持MODBUS通信协议,主机(PLC、RTU、PC机、DCS等)利用通讯命令,可以任意读写其数据寄存器。HSPY系列电源支持的MODBUS功能码为03,10。
HSPY系列电源通讯方式为:
波特率:9600;起始位:1;数据位:8;校验位:无;停止位:1。
2.3 HSPY系列电源的参数通讯地址的转换
通常MODBUS地址由5位数字组成,包括起始的数据类型代号,以及后面的偏移地址。MODBUS Master协议库把标准的MODBUS地址映射为所谓MODBUS功能号,读写从站的数据。MODBUS Master协议库支持如下地址:
00001 - 09999:数字量输出(线圈)
10001 - 19999:数字量输入(触点)
30001 - 39999:输入数据寄存器(通常为模拟量输入)
40001 - 49999:数据保持寄存器
HSPY系列电源的参数通讯地址是16进制数,首先转为10进制,由于S7-200 PLC中最小地址为400001,而HSPY系列电源中最小地址为0,所以在写HSPY系列电源地址时必须要加1。例如,电源的电压设定值参数通讯地址是1000H,转为10进制是4096,加1后是4097,寄存器地址栏要写44097.
3串口调试软件进行MODBUS通信调试
由于程序编写比较繁琐,一旦出现错误可能会损害HSPY电源,为了避免损害的发生,可以利用串口调试软件进行MODBUS通信调试,其优点是不必连接HSPY电源,而是在工控机或PC机上用串口调试软件查看S7-226CN输出和读取的数据,来判断程序是否正确。
一般的工控机或PC机没有RS485串口,可以将通过RS232转RS485转换模块和PLC连接。RS485线选择3号线和8号线,(其余均断开)3号线接T+,8号线接T-,将另一端9针插头接到PLC的PORT0通信端口上。也可以通过USB转RS485转换器连接。将编写的通讯程序下载到PLC中。运行程序,打开串口调试软件进行监控,从接收到的数据来看,和设置的HSPY电源动作的数据一致,说明MODBUS主站程序编写正确[2] [6]。不一致,则要修改MODBUS通信程序,使其一致。
图3 PLC串口调试软件监控界面
4 PLC控制HSPY程控直流稳压电源的部分程序
使用SM0.0调用MBUS_CTRL完成主站的初始化,并启动其功能控制,如图4。
图4 Modbus RTU主站初始化
图5(a)上电初始化,将控制电源的数据存入S7-226CN的V存储器。在分配存储区时要注意,数据区不能和其他数据区重叠,否则不能正常通讯。图5(b)向电源发送Modbus请求,把1写入电源寄存器1004,电源开启;图5(c)把1写入电源寄存器1006,锁定电源面板按键;图5(d)把10写入电源寄存器1004,电源输出电流10A;图5(e)读取从电源寄存器数据:图5(f)把0写入电源寄存器1004,电源关闭。
(a)
(b)
(c)
(d)
(e)
(f)
图5部分控制程序
5结论
该文以S7-200控制系统为例,叙述了利用Modbus RTU协议指令库PLC与HSPY程控直流稳压电源通讯的实现。采用自由口通讯方式的Modbus RTU协议很好的解决了PLC与直流电源等智能设备的通讯问题,不仅能有效解决信号传输过程中失真的问题,而且在通信模式下PLC可以方便控制直流稳压电源的运行和读取直流稳压电源的运行信息,对直流稳压电源进行有效监控。
参考文献:
[1]西门子(中国)有限公司自动化与驱动集团.深入浅出西门子S7-200PLC [M].北京:北京航空航天大学出版社,2003.
[2]廖常初. PLC编程及应用[M].北京:机械工业出版社,2005.
[3]龚俊,黄锐,戴涛.ACS 550与S7-226PLC自由口通讯[J/OL].[2010-04-17].中国科技论文在线(paper.省略).
[4]张士聪,王波,王然风.成庄矿选煤厂重介密度监控系统的改造实践[J].工矿自动化,2011(5):12-14.
modbus协议范文6
关键词:工业现场总线;modbus
中图分类号:TP23 文献标识码:A 文章编号:1674-7712 (2013) 10-0186-01
一、工业现场总线技术概述
现场总线是在上个世纪80年代末、90年代初国际上发展形成的,发展初期的主要功能是将当时的可编程逻辑控制器(ProgrammableLogicController,简称PLC)以一种较简洁的方式连接起来。但是,随着计算机技术引入PLC,计算机通信技术被引入现场总线;PLC功能的增强对现场总线提出了更高的要求,计算机通信技术的引入大大增强了现场总线的功能,成为现场总线技术发展的主要趋势。
二、Modbus总线协议概述
Modbus是由Modicon(现为施耐德电气公司的一个品牌)在1979年发明的,是世界范围内第一个真正应用在工业现场的总线协议,于1979年推出,现由IDA(分布式自动化接口)组织进行管理。Modbus不仅可应用在串行链路(RS-232/RS-485)上,还可应用于令牌环网(Modbusplus)、以太网(Modbus/TCP)上。在不断的发展和进步的过程中,Modbus已经逐渐被人们认可,并成为了真正意义上的工业自动化标准。据不完全统计,到2007年为止,已经有多于1000万个Modbus的节点被安装使用。伴随着工业自动化技术的发展以及Modbus协议的不断扩充完善,如今Modbus现场总线已经成为世界范围内应用最为广泛的现场总线之一。2008年,Modbus已经正式被批准成为我国工业自动化领域国家标准GB/T19582-2008《基于Modbus协议的工业自动化网络规范》。
Modbus是应用在生产现场、在微机化测量控制设备之间实现双向串行多字节数字通信的系统,也被称为开放式、数字式、多点通信的底层控制网。现场总线属于控制网络的范畴,是构成网络控制系统的关键环节。
三、Modbus总线在水泥行业中的应用
袋装水泥是常见的一种水泥包装形式,其出厂包括装包,喷码,装车计数,运输等几个环节。在水泥厂中,存在有大量以PLC或者ARM为处理器的设备自动完成喷码和计数工作,但不具有通讯接口或者只具有RS-232/RS-485等传输距离较近的通信接口,需要人工现场操作,无法实现集中控制和远程控制。因此,Modbus总线在水泥行业具有极大的发展空间。
(一)Modbus总线的拓扑结构
Modbus总线具有Modbus/RTU传输模式和Modbus/TCP传输模式,分别适用于早期的RS-485设备和具有以太网TCP/IP接口的设备,其系统(二)Modbus协议的两种数据帧结构
因为Modbus总线具有Modbus/RTU传输模式和Modbus/TCP传输模式,当在Modbus串行链路上使用RTU模式通信时,报文中的1个字节(8bit)是由含有2个十六进制字符(4bit)构成。图2给出了Modbus/RTU模式下的报文帧格式,主要由地址域、功能码域、数据域和CRC校验组成。
MODBUS总线的另一种传输模式是modbus/tcp模式,这是一种固有的协议数据单元(PDU),底层通信无关,对于特定网络上的的Modbus应用数据单元(ADU),可以引入一些附加域(如附加地址域等)。Modbus/TCP实现时,在ModbusPDU之前附加MBAP报文头(Modbus应用协议报文头),图3所示为Modbus/TCP数据帧结构。Modbus/TCP帧结构中不包含CRC校验域,这是由于在TCP/IP协议中已经使用了CRC-32差错校验码,无需进行重复校验。
(三)Modbus总线的差错控制
Modbus协议的差错控制采用LRC校验和CRC校验,在发送方通过一定算法在原始数据上添加必要的校验信息,接收方接受到数据后通过同样的算法进行数据校验,以防止以数据在传输过程中产生的错误而引起误操作。
四、结论
通过Modbus总线,可以实现水泥行业中现场设备的远程控制和集中控制,使操作人员远离恶劣的现场环境,提高了企业运行效率,保障了员工的人身安全,提升了企业形象。
参考文献:
[1]许杰.浅谈Modbus现场工业总线技术在煤矿的应用[J].中国科技博览,2011(35).