时间:2022-08-03 23:16:48
开篇:写作不仅是一种记录,更是一种创造,它让我们能够捕捉那些稍纵即逝的灵感,将它们永久地定格在纸上。下面是小编精心整理的12篇modbus协议,希望这些内容能成为您创作过程中的良师益友,陪伴您不断探索和进步。
【关键词】称重仪;电阻应变片;C8051F410单片机;modbus协议
【Abstract】The design is Weighing Device based on MUDBUS Protocol. We use the microcontroller C8051F410 as the key controller of the entire design system. The hardware circuit design including minimum system of the C8051F410 microcontroller, A/D converter, weighing sensor , LED display circuit, ±5V power supply circuit ,communication circuit and so on.
【Key words】Weighing Device; Resistance strain gauge; C8051F410; MODBUS; LED
0 引言
压力是现代工业生产过程中的一个重要参数,在生产过程中经常需要对压力进行检测和监控。压力测量有许多种方法,本文介绍的是一种压电转换装置,压力变化使传感器发生形变,从而使阻抗发生变化,同时输出一个变化的模拟电压信号。该信号经放大电路放大后输出至A/D转换器。使之转换成便于处理的数字信号,该数字信号传送给单片机,最终LED显示压力大小。
1 系统概述
本设计是一个基于C8051F410单片机的压力测量系统。本设计由称重传感器,放大电路,A/D转换电路,单片机电路,显示电路,通讯接口电路,稳压电源电路等设计内容组成。当物体放在秤盘上时,压力变化使传感器发生形变,从而使阻抗发生变化,同时输出一个变化的模拟电压信号。该信号经放大电路放大后输出至A/D转换器。使之转换成便于处理的数字信号,该数字信号传送到CPU。数据经过处理、程序运行后在LED上显示出来。同时该设计是一款测量精度高、支持RS485硬件接口和MODBUS工业现场总线协议的压力控制模块。该压力控制模块能够对压力进行实时采集,采用支持MODBUS工业现场总线协议的RS485串行接口与PC机连接。
2 主要电路模块设计
2.1 主控电路
C8051F410单片机是整个系统的控制核心。C8051F410基本接口电路是保证系统正常工作的辅助电路,包括C8051F410片上系统工作所需要的JATG接口、电源退耦、基准滤波、上电复位等基本电路。
2.2 称重传感器的设计
称重传感器实际上是一种将质量(压力)信号转变为可测量的电信号输出的装置。称重传感器主要由弹性体、电阻应变片、电缆线等组成,内部线路采用惠更斯电桥,当弹性体承受载荷产生变形时,输出电压正比于应变片发生应变时产生的电阻变化量。
2.3 信号采集调理电路
数据采集模块分为3个部分:称重传感器、前级放大器和A/D转换器传感器选用压力传感器,为双孔悬臂梁形式。前级放大器用AD620内部采用差动输入,共模抑制比高,差模输入阻抗大,增益高,精度也非常好,且外部接口简单,且放大器的增益是可以改变的。压力传感器的输出信号输入至AD620同相和反相输入端,AD620可对差模信号进行放大,放大倍数由AD620的1脚与8脚并接了的一个可调电阻RG决定。由于AD620在单极性电源供电时有零点漂移,因此本电路设计采用双极性电源供电,同时在电源两端加上滤波电容,确保供电稳定。选用12位逐次比较式ADC,此方案经小信号放大、调理电路,可直接连接单片机,也可以可满足精度要求,而C8051F410单片机的ADC0子系统集成了一个27通道的模拟多路选择器和一个200ksps的12位逐次逼近寄存器型ADC。ADC中集成了跟踪保持电路、可编程窗口检测器和硬件累加器。经过计算满足精度要求。故本设计选用C8051F410单片机内部A/D。
3 MODBUS协议
MODBUS通讯系统是一种用于工业通讯的分布式控制系统。该系统可靠性高,适应性强,可以在任何工业领域内控制各种生成过程和作业。其数据通讯系统协议控制着网络内一切设备所共用的语言结构或报文格式。协议是系统操作的关键,协议决定如何建立或中断主从设备之间的关系,如何使发送和接收装置协调一致,如何井然有序地交换报文,如何检测错误。
MODBUS通讯协议有两种消息帧格式:ASCII和RTU帧格式。ASCII消息以冒号字符开始,以回车换行符结束,其它域使用的传输字符为十六进制;RTU消息则以传递一段空闲时间为开始和结束,这段时间不小于3.5倍的字符发送时间T,一般取4T。本设计在通讯协议中只用了两个命令,03号命令和06号命令。他们都属于公共功能码。03号命令要求发送数据,06号命令代表要求从机原样数据发回作为应答。
4 调试处理
数据处理是将A/D采集的数据进行处理,A/D转换所得的值的精确性与很多因素有关,包括A/D元件的精度、电路的焊接情况、环境温度的变化等。这些因素的影响直接导致了A/D转换的数据围绕着某个中心值上下波动。这就需要对采集的数据进行软件滤波。
为了能够使变送器的输出和被测量对应上,要对信号进行归一化处理,也就是标定。具体的做法是使用二次差值法对标准信号进行定标。要实现高的拟合精度,拟合多项式的次数要很高,对于单片机来说,由于速度和存储容量等原因,实现这样的运算很难。这里采用朗格朗日二次插值的方法对信号数据进行处理。
5 总结
本设计是基于MODBUS通讯协议的称重仪设计。在设计过程中以压力采集及检测为主要目标,利用电阻应变片阻值随压力变化而变化的性质,对压力进行采集调理经由单片机的控制传出,将采集的压力通过单片机的处理后传输给数码管显示,同时也支持RS-485硬件接口通过MODBUS通讯协议传给上位机。测量压力误差不大于5g。该设计系统具有操作方便、控制灵活、移植性强等优点。
【参考文献】
[1]康华光,陈大钦,等.电子技术基础(模拟部分)[M].北京:高等教育出版社,2000.22-48.
引言
工业控制已从单机控制走向集中监控、集散控制,如今已进入网络集约制造时代。工业控制器连网也为网络管理提供了方便。Modbus就是工业控制器的网络协议中的一种。Modbus协议是应用于电子控制器上的一种通信规约。通过此协议,控制器相互之间、控制器经由网络(例如以太网)和其他设备之间可以通信。它已经成为主流的工业标准之一。不同厂商生产的控制设备通过Modbus协议可以连成工业网络,进行集中监控。
Modbus通信协议
1 通信传送方式
每一个数据字节包括:每个字节的位、1个起始位、8个数据位、最小的有效位先发送、1个奇偶校验位(无校验则无)、1个停止位(有校验时)、2个停止位(无校验时)。
在RTU模式下每个字节的格式(11bit)如下:
编码系统:8位二进制
字节组成:1bit起始位、8bit数据位,最低位最先发送、1bit奇偶校验位、1bit停止位(或者没奇偶校验位,就发送一个附加的停止位)。
2 数据帧结构
地址码:地址码为通信传送的第一字节。这字节表明由用户设定地址码的从机将接收由主机发送来的信息。并且每个从机都有唯一的地址码,并且响应回送均以各自的地址码开始。主机发送的地址码表明将发送到的从机地址,而从机发送的地址码表明回送的从机地址。
功能码:通信传送的第二字节。ModBus通信规约定义功能号为1~127。根据实际需要只利用其中的一部分功能码。作为主机请求发送,通过功能码告诉从机执行什么动作。作为从机响应,从机发送的功能码与从主机发送来的功能码一样,并表明从机已响应主机进行操作。如果从机发送的功能码的最高位为1,则表明从机没有响应操作或发送出错。
数据区:数据区根据不同的功能码而不同。数据区可以是实际数值、设置点、主机发送给从机或从机发送给主机的地址。
CRC码:二字节的错误检测码。冗余循环码检查(CRC)包含两字节,即16位二进制。CRC码由发送设备计算,放置于发送信息的尾部。接收信息的设备再重新计算接收到信息的CRC码,比较计算得到的CRC码是否与接收到的相符,如果两者不相符,则表明出错。CRC码的计算方法是,先预置16位寄存器全为1。再逐步把每8位数据信息进行处理。在进行CRC码计算时只用8位数据位、起始位及停止位,如有奇偶校验位的话也包括奇偶校验位,都不参与CRC码计算。
在计算CRC码时,8位数据与寄存器的数据相异或,得到的结果向低位移一位,用0填补最高位。再检查最低位,如果最低位为1,把寄存器的内容与预置数相异或,如果最低位为0,不进行异或运算。
这个过程一直重复8次。第8次移位后,下一个8位再与现在寄存器的内容相异或,这个过程与以上一样重复8次。当所有的数据信息处理完后,最后寄存器的内容即为CRC码值。CRC码中的数据发送、接收时低字节在前。在实际应用中,为了提高运算速度,采用了查表的方法取代计算方法。
3 Modbus RTU数据帧结构
在RTU模式下,每一个数据帧之间的间隔至少是3.5个字符位。一个完整的数据帧必须要连续的传送,当一帧消息中两字节间的间距大于1.5字符位时,此数据帧错误,被接受方放弃。
当通信波特率小于等于19 200b/s。对1.5个字符位/3.5个字符位计算时间有严格要求。当通信波特率大于19 200b/s。1.5个字符位固定为750μs,3.5个字符位固定为1.75ms。官方的Modbus RTU规定标准为3.5个字符长周期,不同的串口设备由于使用环境不同可能在发送中出现5~10字长的间隙。对于Modbus RTU来说比较安全的设置为50ms。
4 用到的功能代码
用到的功能代码如表2所示。
关键词:Modbus协议;电流检测;转速检测;棉花加工;测控系统
中图分类号:TP277;TS113 文献标识码:A 文章编号:0439-8114(2016)11-2913-04
DOI:10.14088/ki.issn0439-8114.2016.11.052
棉花加工的生产过程是指由原料子棉开始到制成产品皮棉、短绒等的全部劳动过程[1],其工艺主要由子棉预处理、轧花、皮棉清理、集棉、打包、剥绒六个环节组成。在子棉预处理、轧花、皮棉清理和集棉环节,由于棉花喂给不均匀、子棉回潮率大等原因,存在加工设备堵棉、皮带断裂等故障。随着中国近年棉花产量不断提高,传统的继电器与单一的PLC的控制模式,检测信息速度慢且信息量少[2],致使加工设备很难同步协调工作,继而造成加工设备故障率高、故障处理时间长,严重影响了棉花加工的产量与质量。
本研究设计的棉花加工测控系统,根据Modbus协议简单、实施容易等特点,解决棉花加工过程中存在的设备故障率高、故障处理时间长的问题。通过测控系统的使用,降低了棉花加工过程的设备故障率,缩短了故障处理时间,提高了棉花加工产量与质量。
1 Modbus协议及其分析
Modbus协议是应用于电子控制器上的一种通用语言,通过此协议,控制器及相互之间经由网络和其他设备之间可以通信[3-5]。Modbus协议包括ASCII、RTU、TCP等,并没有规定物理层。协议的物理层可以是RS-232、RS-422、RS-485或TCP。与其他总线标准相比,Modbus协议具有协议简单、实施容易、性价比高、可靠性好等优点,在工业自动化领域获得了越来越广泛的应用[6,7]。
Modbus协议采用主从方式定时收发数据。在实际使用中,如果某Slave站点断开后(如故障或关机),Master端可以加以诊断;而当故障修复后,网络又可自动接通。因此,Modbus协议的可靠性较高[8]。在Modbus协议中,有多种协议代码,本研究主要使用以下4种功能代码(表1)。
2 测控系统设计
2.1 测控系统硬件组成
测控系统主要由上位机、触摸屏与控制器、传感器等几部分组成。上位机实现棉花加工数据的存储、统计功能;触摸屏与控制器实现数据分析判断、控制、传输、显示功能;传感器实现数据检测、传输功能;LED显示屏实现车间加工设备运行状态及故障报警功能。棉花加工测控系统组成框图如图1所示。2.2 Modbus传感器设计
Modbus传感器设计包括电流检测装置设计和转速检测装置设计。电流检测装置和转速检测装置主控芯片均采用宏晶科技生产的STC15F2K60S2单片机。
STC15F2K60S2系列单片机是STC生产的单时钟的单片机,是高速、高可靠、低功耗、超强抗干扰的新一代8051单片机,指令代码完全兼容传统8051,且速度快8~12倍。内部集成高精度R/C时钟(±0.3%),±1%温飘(-40~+85 ℃),常温下温飘±0.6%(-20~+65 ℃),5 MHz~35 MHz宽范围可设置,可彻底省掉外部昂贵的晶振和外部复位电路[9]。
2.2.1 电流检测装置设计 电流检测装置实时检测加工设备的电流值,并把测得的电流值通过Modbus RTU协议发送给PLC控制器,电流检测装置可实现16路电流的检测。
电流检测装置主要由STC15F2K60S2、16路模拟量转换电路、A/D采样、DC/DC降压电路、光耦隔离电路、RS-485电路组成。装置结构图如图2所示。由于电流检测装置安装的配电房存在多种干扰源,为了确保检测装置数据传输的稳定性,在电流检测装置的通讯电路中增加光耦隔离电路,实现RS-485通讯电路的电气隔离。
2.2.2 转速检测装置设计 转速检测装置实时检测加工设备关键部位的转速值,并把所测转速值通过Modbus RTU协议发送给PLC控制器,以供控制器对加工设备工况进行判断。
转速检测装置主要由STC15F2K60S2、脉冲信号检测电路、DC/DC降压电路、数码管显示电路、光耦隔离电路、RS-485电路组成。装置结构图如图3所示。转速检测装置安装在车间加工设备上,为了方便加工人员及时掌握所测加工设备的转速值,设计转速检测装置时增加数码管显示电路,实时显示转速值。同样,为了确保通讯的稳定性,在转速检测装置的通讯电路中,增加光耦电气隔离电路,增强通讯的可靠性。
2.3 测控系统数据分析设计
棉花加工设备在工作过程中,常会出现堵棉、皮带或链条断裂、主轴失稳等故障,通过研究与分析可知,根据电流和转速的变化率,可区分出加工设备不同的工作状态,具体如下。
1)当加工设备正常工作时,其电流和转速变化曲线如图4所示。从图4可以看出,转速曲线和电流曲线几乎为一条直线。因此,在加工设备正常工作时,电流变化率di/dt≈0,转速变化率a≈0。
2)当加工设备出现堵棉现象时,其电流曲线和转速曲线如图5所示。从图5可以看出,转速曲线迅速下降为0,电流曲线迅速上升,达到一定值时保持不变,当加工人员关断加工设备电源后,电流曲线逐渐降低为零。因此,在加工设备电机出现堵转后的有限时间内,电流变化率di/dt0。
3)当加工设备出现皮带或链条断裂现象时,其电流曲线和转速曲线如图6所示。从图6可以看出,转速曲线迅速下降为0,电流曲线缓慢下降,下降到一定值时保持不变。因此,在加工设备电机出现皮带或者链条断裂现象后的有限时间内,电流变化率di/dt
4)当加工设备出现主轴失稳现象时,其转速和电流曲线如图7所示。从图7可以看出,电流曲线和转速曲线呈周期性变化。因此,在加工设备出现主轴失稳现象时,电流变化率|di/dt|>0,转速变化率|a|>0。
通过以上分析可以看出,测控系统控制器通过计算检测的加工设备电机的电流变化率和设备关键部位转速变化率,根据电流变化率和转速变化率的不同,判断出加工设备的工作状态,进行相应的控制和其他处理。
2.4 测控系统控制流程设计
测控系统通过传感器实时采集子棉预处理、轧花、皮棉清理、集棉工艺环节加工设备的电流值与转速值,通过Modbus RTU协议把数据传输给PLC控制器;PLC控制器对检测的电流值与转速值进行综合分析判断,把检测数据和判断结果通过Modbus RTU协议传输给触摸屏,触摸屏显示数据,并通过Modbus TCP协议把数据传输给上位机;上位机软件对数据进行存储和统计,然后把统计结果提供给管理人员。
在子棉预处理环节,当加工设备出现故障时,PLC控制器控制自动喂花机的电机停止工作,停止喂花;在轧花、皮棉清理、集棉环节,当加工设备出现故障时,PLC控制器控制轧花机开合箱电机开箱,停止轧花;在加工设备出现故障时,PLC控制器控制LED屏显示器控制器,实现车间LED显示屏故障报警显示。测控系统控制流程如图8所示。
3 上位机软件设计
上位机软件为测控系统统计软件。软件采用VC6.0开发环境,使用SQL Server 2000数据库。SQL Server 2000数据库功能允许用户透明地查询和操作远程数据库实例的数据,并使应用程序看起来只有一个大型的集中式数据库,用户可以在任何一个场地执行全局应用,具有数据分布透明性和逻辑整体性等特点。
上位机负责统计、存储车间内所有采集的数据;统计车间加工设备故障原因、故障时间、故障率。上位机软件与车间触摸屏通过Modbus TCP协议通讯,把所采集的数据存储在SQL server 2000数据库中,并对数据进行处理。
进入主界面后,可以选择查看所检测加工设备的电流曲线与转速曲线,当加工设备出现故障时,可在故障报警界面查看故障原因、故障处理时间等相关故障信息。
4 小结
基于Modbus协议的棉花加工测控系统,在新疆生产建设兵团第六师新湖总场新旺社区棉花加工厂安装使用,将棉花加工设备的参数检测、分析判断与自动控制相结合,降低棉花加工设备故障率10%,缩短故障处理时间30%,提高了生产效率;基于Modbus协议的棉花加工测控系统,实现了加工过程设备故障率、故障原因统计,为管理人员生产决策提供数据支撑。
随着棉花加工测控系统的进一步完善,以及系统的推广使用,将为棉花加工过程的信息化、智能化生产奠定了基础。
参考文献:
[1] 徐炳炎.棉花加工新工艺与设备[M].北京:机械出版社,2002.
[2] 张 顺,张锦石.机采棉加工微电脑智能控制系统[J].中国棉花加工,2014(2):17-19.
[3] 何凌霄,林凡强.基于MODBUS协议网络的多点火灾测控系统[J].电子科技,2013(9):148-151.
[4] 邓元生. 基于单片机的MODBUS总线协议实现技术研究[D].长沙:中南大学,2009.
[5] 陈 铭.基于MODBUS协议的设备和PLC实现通讯的研究[J].湖南科技学院学报,2009,30(4):60-62.
[6] 张世界,蒋 健,宋 彬.一种基于Modbus协议的多总线工业测控系统[J].今日电子,2012(1):55-57.
[7] 王小鹏,张九强.MODBUS在智能保护装置上的应用[J].煤矿机械,2011(1):190-192.
关键词 MODBUS模拟测试;MCM模块配置;泵站集约化
中图分类号 TP39 文献标识码A 文章编号 1674-6708(2013)101-0198-02
1概述
Modbus协议最初由Modicon公司开发出来,在1979年末该公司成为施耐德自动化部门的一部分,现在Modbus已经是工业领域全球最流行的协议。此协议支持传统的RS-232、RS-422、RS-485和以太网设备。在我国,Modbus已经成为国家标准GB/T19582-2008。据不完全统计:截止到2007年,Modbus的节点安装数量已经超过了1000万个。
Intouch软件是由美国wonderware公司开发的过程可视化组态软件,其功能强大、易用性好,市场占有率高,结合其他的软件,如IO Server和D/A Server,可以完成许多工业项目。
通过水厂泵站案例:一种基于Intouch和Modbus协议的监控系统,上位机采用安装有Intouch软件的工控机,下位机采用AB系列LOGIX5000的PLC系统,并通过MVI56-MCM通讯模块,和现场仪表构架了完整的通讯链路,系统开发方便,扩展性和稳定性好。
2 Modbus协议概述
当在网络上通信时,Modbus协议决定了每个控制器须要知道它们的设备地址,识别按地址发来的消息,决定要产生何种行动。如果需要回应,控制器将生成应答并使用Modbus协议发送给询问方。标准的Modbus口是使用一RS-232C兼容串行接口,它定义了连接口的针脚、电缆、信号位、传输波特率、奇偶校验。控制器能直接或经由Modem组网。
Modbus协议测试软件:
Modbus协议测试软件有很多,比较典型的有Modscan和Modsim,这两款软件联合使用,可以使获得完整的仪表通讯连接情况。其中Modscan软件用于电脑模仿上位机环境和仪表进行连接,Modsim软件用于电脑模拟仪表环境和PLC系统进行连接。
2.1 Modscan软件及设置
Device Id为仪表设定的通讯地址,一条线路中,每个仪表地址必须指定(1-256之间)并且唯一;Address为读取仪表的首地址,一般仪表读取地址为40001开始,而软件设置中,定义为00001开始;Length为连续读取的位数;MODBUS Point Type选择03 HOLDING REGISTER锁定寄存器地址,接下来设置如下图:
点击Connection,下拉菜单,选择Connect,出现如图对话框。其中Connect Using下拉菜单,选择电脑用哪个COM口和现场仪表通讯;Baud Rate选择仪表波特率,通常有2400,4800,9600,19200这几个选项;Word Length默认8位;Parity奇偶校验,根据仪表,通常为NONE;Stop Bits停止位,通常为 1;RTS Control为请求允许发送,相当于一种握手协议,通过COM口测试时通常为ENABLE,高电平触发,在和PLC直连中,默认DISABLE也可通讯。然后点击OK按钮,一切正常情况下,即可实现通讯,会有回码显示从00001开始,到指定Length长度下,读取出仪表地址读数。
2.2 Modsim软件及设置
Modsim的界面和设置基本上和Modscan相同,所不同的是Modscan软件用于电脑模仿上位机环境和仪表进行连接,Modsim软件用于电脑模拟仪表环境和PLC系统进行连接,具体的设置就不再一一叙说了。
3 MVI56-MCM模块的配置
3.1 硬件配置
MVI56-MCM模块属于基于AB公司LOGIX5000系列PLC的第三方通讯模块,主要功能是可以支持LOGIX5000系列PLC读写基于标准MODBUS协议下的仪表通讯。通讯模块MVI56-MCM是Modbus网络和AB PLC之间的一个网关。处理器的数据传送异步于Modbus网络上的数据活动。模块内部具有5000个字的寄存器,用于处理器和Modbus网络之间的数据交换,MVI56-MCM模块共有3个端口P1、P2、P3:
其中SETUP区域插口默认不用改,PRT2和PRT3分别对应P2端口和P3端口,该端口设置MVI56-MCM模块以何种端口读取现场仪表的MODBUS协议,第一排表示以RS-232端口读取,第二排表示以RS-422端口读取,第三排表示以RS485端口读取,现在通常以RS232端口读取。
前端P2,P3端口由该模块专用转接头,接出一个9针接口的端口,该端口可以配置成232,422,485接口的任意一个。注意这三种接口的接线方式不一样。
3.2 MCM模块工作方式
MODBUS从站端口驱动,从ControlLogix处理器接收设置信息,用这些信息设置串口,并且定义从站节点特征。然后主站设备向模块节点地址发送读或写的命令,端口驱动在接收前进行验证。一旦命令被接收,数据立即传输到从模块的内部数据库;如果是读命令,数据从数据库中读出并创建相应信息;如果是写命令,数据直接写入到数据库中并创建相应信息。当处理过程结束后,模块相应信息到主站。在状态数据库中计数器使梯形逻辑图对从站的状态进行判断。
3.3软件配置
MVI56-MCM模块随机附带了一张光盘,上面会有样例程序,分别对应LOGIX5000软件不同版本,目前从13.0-21.0都有,以样例程序为蓝本编程将较为简易,内部通讯均有程序,只需在Controller Tags里定义相应的参数,即可在LOGIX5000的PLC中读写仪表地址,不同版本的样例程序,在Controller Tags的定义以及内部通讯程序上均有不同,因此样例程序版本和PLC版本必须严格一致,以确保可以正常通讯。目前泵站管理所对仪表为只读不写。
1)以17.0版本样例程序为例,在Monitor Tags模式下,点击MCM,MCM.CONFIG.ModDef中,分别设置MCM.CONFIG.ModDef.WriteStartReg(写仪表的首地址),MCM.CONFIG.ModDef.WriteRegCnt(写仪表的连续位数),MCM.CONFIG.ModDef.ReadStartReg(读仪表的首地址),MCM.CONFIG.ModDef.ReadRegCnt(读仪表的连续位数),注意地址不能重复。
2)然后在MCM.CONFIG.Port1和MCM.CONFIG.Port2中分别设置两个端口的参数,PORT1和PORT2分别对应于硬件的P2和P3端口。以下为需要设置的一些参数:
1)然后是MCM.CONFIG.Port1MasterCmd参数的设置,该参数下有100个数组,每个数组可以读写一次仪表数据段;
2)如果仪表设置和MCM设置均正确,且硬件连接均正常,通过MCM.DATA目录下,相应的MCM.DATA.ReadData[X]就会有相应的仪表地址的读取显示,表明数据连接正常。然后数据就可以正常在LOGIX5000里编程,并通过INTOUCH对应相应的OPC SERVER读取数据了。
4 应用实例
上海市自来水市南泵站管理所从2000年开始采用PLC系统,PLC系统采用AB公司的LOGIX5000系列,CPU采用L61系列,工控机的通讯采用ENBT以太网通信模块,涉及到和现场的仪表通讯,大多数采用了MODBUS通讯,用了MVI56-MCM通讯模块,该模块的优点如前文所述有集成化的软件,只要软件参数做修改调整即可对现场仪表进行读写,操作很方便,涉及到的仪表通讯,包括变压器温度控制仪、高压系统综合保护器和LOGIX5000的PLC通讯,均通过这些方法得到了实现。其中综合保护器读取了电机绕组及轴承7个温度、电压、电流、功率、电量参数、电机电能参数等多个信号,通讯规约为 MODBUS协议下RTU半双工方式,RS-485通讯接口频率采用9.6kbps。
要注意的是,MVI56-MCM光盘自带软件,要结合LOGIX5000版本的不同,采用相应版本的样本程序,这样能保证和PLC的通讯正常。另外MVI56-MCM模块的接口为232接口或485接口,如果通讯电缆有室外,最好室外部分通过光纤连接,室内通过光模转换成为相应的232或485信号,这样可以去除雷击对信号线路的影响,甚至会导致MVI56-MCM模块故障。
由于PLC系统的成功引入,基于MODBUS协议下仪表通讯连接的成熟稳定,水厂泵站的控制由离散的人工操作方式,逐步转型为远程集约化操作的模式,上海市自来水市南有限公司泵站管理所下属十几个泵站目前均实现了远程集约化监控,绝大多数泵站实现了无人值守模式的运行,在极大程度提高了设备监控水平的同时,节约了可观的人力成本,为企业的可持续发展打下良好基础。
参考文献
[1]任胜杰.电气控制与PLC系统. 机械工业出版社, 2013.
[2]黄海燕.PLC现场工程师工作指南. 化学工业出版社,2012.
论文关键词:智能开关柜,协议,上位机,控件
引言
我国智能发电和智能输电网的建设与发达国家基本同步,但是智能配电网的建设则相对滞后。随着国家低碳经济、节能减排和新能源战略的实施,智能配电网的建设必然受到越来越多的重视。现代计算机技术和通信技术的飞速发展,促进了智能配电系统的发展和完善,而开关柜的智能化就是智能配电网的重要基础。
智能开关柜是在以模拟仪表、继电器为监测、控制设备的普通开关柜基础上,与新型的智能仪表(网络电力仪表、智能配电监控/保护模块、网络I/0等)进行配合,通过其网络通讯接口与中央控制室的计算机系统联网,从而可以实现对各供配电回路的电压、电流、有功功率、无功功率、功率因数、频率、电度量等电参数以及断路器的分合闸状态、故障信息、开关柜的温湿度信息进行监测,对断路器的分合闸状态和开关柜的温湿度进行控制,并可以配合远程监控软件实现“四遥”。
本课题采用高性能AVR单片机设计的开关柜智能操控装置提供RS485通讯接口,可进行串口通信。本文根据Modbus通讯协议的定义以及智能开关柜操控装置采集信息的种类和特点,完整地设计了该类智能开关柜操控装置与上位机通讯的Modbus-RTU通信协议,并采用VC++程序设计语言实现了该通讯协议。
1智能开关柜Modbus-RTU通讯协议设计
1.1Modbus-RTU通讯协议简介
Modbus通讯协议是由Modicon公司开发且已是工业领域全球最流行的通讯协议。此协议支持传统的RS-232、RS-422、RS-485和以太网设备。
Modbus协议规定了消息、数据的结构、命令和应答的方式。数据通讯采用Maser/Slave方式,Master端发出数据请求消息,Slave端接收到正确消息后就可以发送数据到Master端以响应请求。Master端也可以直接发消息修改Slave端的数据,实现双向读写。
Modbus协议在一根通讯线上使用主从应答式连接(半双工),这意味着在一根单独的通讯线上信号沿着相反的两个方向传输。首先,主计算机的信号寻址到一台唯一的终端设备(开关柜),然后,终端设备发出的应答信号以相反的方向传输给主机。Modbus协议只允许在主机和终端设备之间通讯,而不允许独立的终端设备之间的数据交换,这样各终端设备不会在它们初始化时占据通讯线路,而仅限于响应到达本机的查询信号。
Modbus通讯规约包括RTU协议和ASCII协议。RTU(RemoteTerminalUnit)通讯方式采用8位二进制数据传输命令或数据,数据校验采用CRC循环冗余校验,通讯速度较快;ASCII通讯方式采用7位二进制表示的ASCII码进行通讯,数据校验采用奇偶校验或LRC逻辑冗余校验,通讯速度较慢。在一个通讯系统中,只能选用一种通讯方式。
在RTU模式下,帧中的每个字节直接用于传输,这样在同样的波特率下,可比ASCII模式传输更多的数据。与绝大多数电力自动化仪表一致,本仪表采用Modbus-RTU通讯模式。
1.2字节格式
智能开关柜操控装置Modbus-RTU通讯协议中的数据结构以及数据传输遵循以下规则:
编码形式:二进制;
字节位:每个传输序列包含11位串行数据,其中1位起始位、8位数据位D0~D7、2位停止位;
发送方式:数据位传输时,先传低位,后传高位,如图1所示。
图1字节传输序列(RTU模式)
Fig.1Bytetransmissionsequence(RTUmode)
1.3数据帧格式
帧是传送信息的基本单元,Modbus协议中主机与从机采用相同的帧格式。
RTU帧以至少4个字节的停顿时间开始,同样以至少4个字节的停顿时间标志帧的结束。整个帧必须作为连续的流传送,RTU数据帧格式如表1所示。
表1Modbus-RTU协议的帧格式
Tab.1FrameformatofModbus-RTUprotocol
帧开始 地址码 功能码 数据区 校验码 帧结束
4字节
停顿时间
1字节 1字节 N字节 2字节
关键词: DeviceNet; ModBus; 嵌入式I/O模块; LPC2129
中图分类号: TN711?34 文献标识码: A 文章编号: 1004?373X(2013)11?0134?05
0 引 言
DeviceNet是一种基于CAN总线技术的符合全球工业标准的开放型现场总线通信网络,它用于控制,配置和数据采集等方面。CAN总线具有布线简单、典型的总线型结构、稳定可靠、实时、抗干扰能力强、传输距离远、布线成本低等特点。由于具备了这些特点,DeviceNet总线被广泛应用于工业自动化控制,它不仅可以接入更多,更复杂的设备,还可以为上层提供更多的信息和服务。在很多欧美国家,越来越多的系统方案设计采用DeviceNet来实现。
ModBus协议是应用于电子控制器上的一种通用语言,是全球第一个真正用于工业现场的总线协议,由于该协议的产生,使控制器之间、控制器经由网络和其他设备之间实现相互通信。ModBus协议现在已经成为一种通用的工业标准,应用该协议技术可以使不同厂商生产的控制设备连成一个工业网络,进行集中监控管理。此协议定义了一个控制器能认识使用的消息结构体,从而使用户不需要关心它们使用哪种网络进行通信。它描述了一个控制器请求访问其他设备的过程,如何回应来自其他设备的请求,以及怎样侦测错误并记录。它制定了消息域格局和内容的公共格式。
本文主要解决DeviceNet与ModBus之间的协议转换问题。标准的ModBus口是使用RS-232C兼容串行接口,它定义了连接口的针脚、电缆、信号位、传输波特率、奇偶校验。控制器能直接或经由Modem组网。基于DeviceNet的嵌入式I/O模块通过I/O口发送和接收数据,ModBus通过串口与嵌入式I/O模块进行通信。通过此过程完成DeviceNet与ModBus之间的协议转换问题。
1 嵌入式I/O模块的设计与实现
DeviceNet是一种上层的应用层协议,其物理层和数据链路层采用CAN总线技术,ModBus协议只是用于数据链路层上的协议[1]。这两种现场总线是异构的,因此要实现两种协议之间的通信,必须要进行协议转换。协议转换的转换过程是分层次进行的。首先把总线设备发送过来的设备逐层解包,得到需要的数据,然后再把数据按另一协议所需的方式打包,发送到相应的设备上。
DeviceNet与ModBus协议都采用主从通信模式,所以它们之间的通信只能是单向的,主站发送命令报文而从站被动接收命令报文。本设计中的嵌入式I/O模块既是DeviceNet从站,又是ModBus的主站。通过该模块可以实现DeviceNet主站的数据与ModBus从站的数据进行传输。
嵌入式I/O模块的功能是把DeviceNet格式的报文转换为ModBus的报文命令,再传给底层的ModBus设备,设备在接收到ModBus命令之后,会向报文转换模块发送ModBus格式的响应报文,最后经协议转换模块将报文转换为DeviceNet格式的报文传输给DeviceNet主站。本嵌入式I/O模块既是DeviceNet的从站实现接收主站报文并做出响应的功能,同时又可以作为ModBus的主站向其他ModBus设备发送报文并接收响应报文。
本设计采用的处理器为LPC2129,硬件结构如图1所示。它是NXP公司的32位工业级ARM7处理器,其内部集成了两个CAN控制器,在一片处理器内首先将主站端的DeviceNet协议数据转换成中间协议数据,之后转换成ModBus可以识别的协议数据。
关键词:Modbus总线;温度采集;湿度采集;PLC;智能仪表;马铃薯贮藏
中图分类号:TP273 文献标识码:A 文章编号:0439-8114(2014)20-4969-04
DOI:10.14088/ki.issn0439-8114.2014.20.054
Collecting Temperature and Humidity of Potato Storage Based on Modbus Bus
HU Bing,XIONG Xing-rong,YUAN Yong,SUN Tian-long,WANG Xiao-juan
(Xinjiang Institute of Engineering,Urumqi 830011,China)
Abstract: To meet the requirements of storage temperature and humidity of potato, a scheme based on Modbus bus in collecting temperature and humidity of potato storage was put forward. Using MCGS configuration as the system of PC monitoring, CPU224 S7-200 PLC as the control core, acquisition module for intelligent instrument with LM410 temperature and humidity, through the Modbus fieldbus protocol and remote collection system communication, the real-time and accurate collection of temperature and humidity of potato storehouse was realized. The results showed that the system was stable and reliable. The data was accurate and satisfied the requirements of practical application. It will provide reference for designing the system of collecting temperature and humidity of potato storage.
Key words: Modbus bus; temperature acquisition; humidity acquisition; PLC; intelligent instrument; potato storage
马铃薯是粮菜兼用的高产作物,具有很高的营养价值和药用价值。对马铃薯种植、加工企业或个人而言,马铃薯贮藏技术相当重要。贮藏不当,则薯块会因为蒸发、呼吸、发芽及贮藏期病虫害等造成种薯营养成分的流失,更重要的是降低了马铃薯种植后对病虫害的抵御能力,从而对马铃薯产量及质量产生极大的负面影响,而马铃薯的贮藏技术中,温度和湿度是两项重要的因素。国内外研究结果表明,马铃薯处在温度为1~4 ℃,环境相对湿度在80%~90%时病菌不繁殖,块茎不发芽且水分保持良好[1]。然而,目前对马铃薯贮藏库温湿度数据的读取,主要以定时人工记录的方式进行,存在实时性、准确性较差等问题,为了实时采集温湿度数据,进一步提高温湿度数据的准确性,采用实时可靠的数据采集方法非常重要。本研究设计了一种基于Modbus总线的温湿度采集方法,借助于上位机的组态软件,能够实时显示温湿度的变化。
1 Modbus通信
Modbus是一种国际的、开放的现场总线标准。最早是美国Modicon公司为其PLC制定的资料交换通信接口标准,由于Modbus协议是公开的通信协议,被很多的PLC、变频器及RTU生产厂家支持,是一种广泛应用于工业现场的总线协议。根据传输网络类型的不同分为串行链路上的Modbus和基于TCP/IP协议的Modbus,本研究为串行链路上的Modbus应用。
1.1 通信原理
串行链路上的Modbus是一个主-从协议,该协议位于OSI模型的第二层,采用请求-响应的方式,通信过程中遵循以下流程:①主站向从站发送请求;②从站分析并处理主站端请求并发送结果;③如果出现差错,从站返回异常码。
主站向从站设备发送的报文数据域中包括附加信息,从站使用这个信息执行功能码定义的操作。如果在一个正确接收的Modbus应用数据单元中,不出现与请求Modbus功能相关的差错,从站发送给主站的响应数据中包括请求数据;如果出现请求Modbus功能有关的差错,那么域包括一个异常码,从站应用能够使用这个域确定下一个执行的操作。Modbus事物处理如图1、图2所示。
Modbus网络上只能有一个主站存在,主站在网络上没有地址,从站的地址范围为0~247,其中0为广播地址,从站的实际地址范围为1~247,在同一时间,只能将一个主站连接到总线,将一个或多个从站连接到相同的串行总线,Modbus通信只能由主站发起,从站没有收到来自主站的请求时,不会发送数据,从站之间不能相互通信,Modbus串行链路系统在物理层可以使用不同的物理接口,最常用的是两线制RS485接口[2]。
1.2 传输模式
Modbus协议有2种传输模式即:Modbus ASCII模式和Modbus RTU模式,当控制器设定为ASCII传输模式时,数据传输中1 byte(8 bits)拆分为两个对应的ASCII字符,这种传输方式的优点是字符发送的时间间隔可到达1 s,保证了数据传输的高准确率,一般通信数据量少且主要是文本的通信采用这种传输方式,当控制器设定为RTU通信模式时,数据传输中1 byte(8 bits)代表2个十六进制字符(4 bits),这种传输方式的优点是在相同的传输速度下,可以传输更多的数据量,满足更大的系统组网要求,本系统选用RTU的传输模式。
1.3 报文格式
当传输模式选择为Modbus RTU模式时,报文格式如表1所示,一帧报文主要由地址域、功能码域、数据域和CRC校验组成,最大的Modbus/RTU 帧是256个字节。报文帧中帧间字符间隔和帧内字符间隔必须分别遵守大于等于3.5 个字符时间和小于等于1.5 个字符时间的规定,所以起始和结束标志均大于等于3.5个字符,作为发送报文的字流符规定必须是连续的,如果两个字符之间的空闲间隔大于1.5个字符时间,认为该报文帧不完整,接收站需要将其丢弃;地址域为从站地址,其范围为1~247;功能码指示主站要执行的动作,紧随其后的是请求或响应参数的数据域;差错校验域是对报文内容执行冗余校验的计算结果,根据不同的传输方式使用不同的计算方法,RTU使用循环冗余校验(CRC校验)[3]。
2 应用系统组成
系统由link-max LM410温湿度远程采集模块、西门子S7-200 CPU224PLC、研华工控机和MCGS组态软件构成。系统结构图如图3所示。系统中上位机装有MCGS组态软件,PLC与上位机采用S7-200PPI通信,用PPI电缆将PLC的port1口与上位机连接,实时读取并显示S7200采集的温度、湿度值,PLC与温度采集模块采用ModbusRTU通信,采用RS485电缆将PLC的port0口与温湿度采集模块的通信网络连接,将现场温湿度数据实时传送到S7-200中。
3 应用系统实现
3.1 LM410 Modbus数据通信
LM410是一款工作于-40~85 ℃工业级温湿度采集模块,该模块可通过隔离的485 通讯接口与Modbus现场总线连接,最多允许32个温湿度采集模块挂在同一总线上,但如采用中继器,则可将多达256个温湿度采集模块连到同一网络,且最大通信距离为1 200 m。采集温度范围为-40~+85 ℃,精度0.1 ℃;相对湿度范围0%~100%,精度0.5%。模块的标准Modbus输入寄存器说明如表2所示。
3.2 S7-200 Modbus RTU编程
S7-200PLC由于具有结构紧凑、成本低、指令集功能强大等特点,使得其成为各种小型任务理想的解决方案,S7-200PLC支持PPI通信、MPI通信、自由口通信等多种通信方式,用户完全可以使用Modbus通讯协议把S7-200和其他智能设备连接在一起。本研究以S7-200PLC为Modbus主站,智能仪表LM410为Modbus从站,读取现场温湿度数据。
3.2.1 Modbus Master 协议库支持的功能 根据Modbus通信协议,Modbus协议库支持数据的功能码与地址对应的关系如表3所示[4]。S7-200PLC Modbus通信时,可以通过发送指令(XMT)、接收指令(RCV)结合接收中断、发送中断、定时中断实现ModbusRTU通信,也可以通过S7-200PLC附带的Modbus指令库实现ModbusRTU通信,本研究采用后者的通信方式,在使用S7-200的指令库时,Modbus数据地址与S7-200的I、O和数据存储区地址间有特定的对应关系如表4所示。根据表4所对应关系,S7-200PLC采集LM410中温湿度的数据时采用的地址温度为30001,湿度为30002。
3.2.2 S7-200PLC Modbus程序实现 在S7-200PLC中,通过调用的Modbus指令库实现Modbus与LM410通信,以S7-200为主站,使用STEP7-Micro/WIN V4.0 SP6的Modbus主站指令,读写LM410的输入寄存器。
1)添加ModbusRTU主站指令库。在初次使用S7-200的ModbusRTU指令库时,需要添加ModbusRTU主站指令库,添加成功后,会在STEP7-Micro/WIN V4.0 SP6的指令树中的“库”文件下显示“Modbus Master Port0”和其中的MBUS_CTRL、MBUS_MSG,ModbusRTU指令的变量要求284个字节的V存储区[5,6],用STEP7-Micro/WIN V4.0 SP6的“文件”“库存储区”指定,默认情况下是从VB0开始,但因为与Modbus的保持寄存区冲突,所以手动改为VB2000。
2)调用Modbus RTU主站初始化和控制子程序。使用 SM0.0 调用 MBUS_CTRL 完成主站的初始化,并启动其功能控制。调用 Modbus RTU 主站初始化和控制子程序如图4所示。通信过程中指定Port0端口作为Modbus通信,此时该端口就不能再作PPI通信协议使用,所以,在MBUS_CTRL指令中的Mode一直置1(为0是PPI通信),通信波特率Baud设为9600,校验方式根据需要设置奇校验、偶校验或无校验,设置0表示无校验,超时时间Timeout设为1 000 ms,Done为完成位,初始化完成,此位会自动置1,Error为初始化错误代码[7]。
3)调用ModbusRTU主站读写子程序。ModbusRTU主站读写子程序为MBUS_MSG,用于启动到Modbus从站请求、发送请求、等待响应和处理响应。调用ModbusRTU主站读写子程序如图5所示。从图5中可以看出,First为读写请求位,每一个新的读写请求必须使用脉冲触发,Slave为从站地址,根据实际温湿度地址设置(地址不能重复);RW为读写操作,Addr读写从站的数据地址,Count通讯的数据个数,应用中需要采集温度、湿度数据,所以RW设置为0,Addr设置为30001,Count设置为2;DataPtr为数据指针,PLC将读回的数据这个数据区中,所以读会的温度放到VW0、湿度放到VW2中,Done和Error同上。
3.3 MCGS组态监控实现
MCGS是一套用于快速构造和生成计算机监控系统的组态软件,能够在基于Microsoft运行,通过对现场数据的采集处理,以动画显示、报警处理、流程控制、实时曲线、历史曲线和报表输出等多种方式向用户提供解决实际工程问题的方案,应用系统的上位机采用MCGS做监控界面,显示PLC中采集的温度、湿度数据,并提供实时报表、历史报表数据。在用户窗口完成温度、湿度显示界面和报表界面的制作,设置相应的属性,在实时数据库完成数据对象的定义,并连接相应的数据对象,部分数据对象如表5所示。在设备窗口添加“通用串口父设备”和“西门子-S7200PPI”,完成通信参数的设置,按表5完成数据对象与S7-200数据的连接,即可运行调试。
4 小结
应用系统采用S7-200为主站,LM410温湿度远程采集模块为从站,通过Modbus通信的方式实现了马铃薯贮藏库温湿度数据的采集,经过试验验证,系统可以正常运行,能够在上位机的监控画面中实时、准确地显示各个设备的运行状态和参数,达到了现场无人值守的目的,具有结构简单、成本低的优点。
参考文献:
[1] 王金刚.大型加工用马铃薯恒温保鲜库的设计与实践[J].粮油建筑工程,2009,16(2):48-49.
[2] 王靖欧,雷山凤.Modbus协议在监控系统串行通讯中的应用[J].湖北水利发电,2007,71(4):39-40.
[3] 华 .从Modbus到透明就绪施耐德电气工业网络的协议、设计安装和应用[M].北京:机械工业出版社,2009.
[4] 任清娟.基于Modbus和GPRS的高炉渣粒化配电监控系统的设计[D].内蒙古包头:内蒙古科技大学,2012.
[5] 白 鑫,吕丽平,赵雪梅.Modbus协议在柴油发电机监控系统中的应用研究[J].制造业自动化,2012,34(2):9-11.
摘 要:以欧陆2604仪表为例,与西门子S7-300进行通讯研究,详细说明通过Modbus-B-Profibus协议转换桥实现具备Modbus通讯协议的智能仪表与西门子S7-300进行通讯的方法。
关键词:智能仪表;Modbus -Profibus转换;s7-300;通讯
0 引言
随着自动化技术的不断发展,智能仪表以其控制精度高、模块化、易维护等优点早已被广泛应用在自动化控制系统中。而因其针对性强、结构简单、灵活性差等缺点,往往不能独立完成一整套设备的控制任务。这样,就需要用智能仪表与可编程控制器(以下简称PLC)来共同完成一套系统的控制任务。如果采用西门子CP340做Modbus通讯,系统成本则会大大提升,并且速度上也受到限制。而本身具备Profibus-DP通讯模块的仪表同样造价较高,并且每一块仪表均需要配置Profibus-DP通讯模块。本文就以欧陆2604仪表为例,详细说明以Modbus-B-Profibus协议转换桥为中介,将欧陆2604仪表挂在S7-300的profibus-DP网络中,实现交互通讯的方法。
1 系统组成
(1)系统硬件组成。本系统所需硬件包括PLC模块、Profibus通讯模块、智能仪表和Modbus-B-Profibus转换桥。1)PLC模块。本系统采用S7-300系列的CPU313C(313-5BG04-0AB0)。该型PLC是一款紧凑型PLC,其特点是集成数字量和模拟量输入/输出,可实现过程的直接连接,而且性价比较高,非常适合系统试验及研究;2)Profibus模块。由于CPU313C只有一个MPI接口用于编程及上位机通讯,所以本系统采用CP342-5(342-5DA03-0XE0)做为Profibus主站来组建Profibus网络;3)智能仪表。本系统智能采用英国欧陆公司的2604型可编程回路调节器,内嵌Modbus-RTU通讯模块;4)Modbus-B-Profibus转换桥。将具有Modbus通讯协议的设备连接在Profibus总线上,使该设备成为Profibus总线上的一个从站。
(2)应用软件。1)SIMATIC STEP 7。本系统采用Simatic Step 7 V5.5 SP1,用做在系统硬件的组态、数据的转发以及系统逻辑控制程序的编写;2)iTOOLS。iTools V9.00是由Eurotherm公司推出的工具软件,可以针对欧陆温控器、调功器等产品进行在线监督编程、模拟运行、克隆配置等操作。本系统试验中应用该软件查看欧陆2604温度调节仪相关参数的Modbus地址,更改设备地址等操作;3)Modsan32。Modscan32是一款运行在windows下,作为在RTU或ASKII传输模式下的MODBUS协议主设备的应用程序。可以用计算机通过串口或网络对MODBUS从站设备的数据点进行读写。
(3)网络组成。该系统CPU313C与计算机通过CP5611进行MPI通讯,该通讯用来上传、下载程序以及监控数据或以后用来与上位机组态通讯。
为了组建Profibus网络,系统采用CP342-5模块与Modbus-B-Profibus转换桥组建Profibus通讯。而Modbus-B-Profibus转换桥又与欧陆2604仪表组成Modbus网络。
2 测试步骤
2.1 用iTools软件测试2604仪表的主要参数地址及数据
将2604仪表通过RS485-RS232转换器接入计算机串口,通过iTOOLS软件得到2604仪表的主要参数,如图1所示。
2.2 用MODSCAN软件测试2604仪表主要参数的MODBUS地址
将2604仪表通过RS485-RS232转换器接入计算机串口,可通过Modscan软件得到2604仪表的主要参数。软件的通讯参数即波特率、字长、校验、停止位等需与参与通讯的仪表保持一致,本系统设置参数如表1所示。
设置完毕后,从地址0001开始连续读取6个保持寄存器的数据,可得到数据及其Modbus RTU地址,如图2所示。
结合图1可得如表1所示数据。
2.3 Step7硬件组态及编程
在Step7的硬件组态中,将CP342-5和Modbus-B-Profibus协议转换模块组态到一个Profibus网络中。并对数据的接收和发送编写如图3所示程序。
经试验,最终监视到2604仪表中的数据可以正常传送到已有数据块中,当我们需要在程序中应用到或需要改写仪表中的某一数据时,可以用MOVE指令直接对发送、接收数据块做读取与修改。
3 总结
本文主要以欧陆2604仪表为例,介绍一种将Modbus协议的仪表与西门子S7-300CPU通讯的方法,用该方法的应用可以结合Modbus通讯和Profibus通讯的优点,更可以降低仪表等设备备件的费用,经测试该方法在炉窑系统中应用稳定。
参考文献:
关键词:Modbus协议 现场总线 测试平台 流量监控
中图分类号: TP273 文献标识码:A 文章编号:1007-9416(2016)01-0000-00
Abstract:With the rapid development of machinery, chemicals, textiles and other industries and the continuous expansion of production scale, people’s centralized monitoring requirements of the production process, now, has become more and more urgent, the fieldbus technology came into being. This paper selected liquid flow measurement as an object, designed the liquid flow test platform based on Modbus protocol and achieved upper and lower computer communications protocol by writing PC Modbus protocol procedures. The 请键入文字或网站地址,或者上传文档。Cèshì píngtái kěyǐ kuàisù, shíshí dì cǎijí liúliàng xìnxī bìng néng zhǔnquè, shíshí dì chuánshū shùjù, bìng tígōng yǒuhǎo de yònghù jièmiàn源语言: 中文test platform can quickly gather real-time traffic information and accurate, real-time transmission of data. It also provides a friendly user interface and good value for the actual industrial production, as well as a certain reference for the development of similar products.
Key words: Modbus protocol; fieldbus; test platform; flow monitoring
1 引言
在如今现代化测控领域, 被控对象、测控装置等物理设备的地域分散性现状、监控与控制等任务的实时性要求,以及不同设备之间信息交互频繁等特点越发突出,极易造成大量的“信息孤岛”现象。而基于现场总线的测控平台可以让上级管理网与子站交互数据,以实现全局的监控和优化。使采用不同开发平台、不同通讯协议组成的异构系统可以实现信息交互,避免信息孤岛的出现。Modbus协议作为现场总线的一种,以其开发成本低,简单易用等诸多优点己被工业领域广泛接受。本文基于Modbus协议的液体流量测试平台的设计,可以快速、实时地采集流量信息并能准确、实时地传输数据,并提供友好的用户界面,方便用户监控,实现了数据监测,数据传输和数据处理保存,对实际的工业化生产提供了很好的参考价值,对同类产品的开发也有一定的借鉴意义。
2 整体设计方案
系统平台由单片机测试终端和上位机两部分组成, 通过RS232通讯电路实现节点和PC的Modbus通讯以达到数据交互。单片机测试终端作为平台从机子站部分,采用涡轮流量计的原理进行流量的监控,通过采集频率量实现液体流量数据获取和控制功能。以PC机作为上位机主站,主站和子站之间通过串行传输网络总线进行连接和通信,实现控制命令的发送和采集数据的显示存储功能,可充当数据库服务器。
考虑到可靠性、实时性和性价比等要求, 选用STC89C52单片机, 该单片机采用流水线架构, 片内资源丰富,通过输入接口采样频率,能够很好地满足设计要求。上位机在VS2010集成环境下采用C#语言编写程序,将编辑好的Modbus 协议程序载入51 单片机,并通过RS-232 串口连接单片机终端,既而接收终端数据,发送控制命令,远程配置单片机程序中相关参数, 建立数据库存储监控终端上传的流量数据并绘出流量变化曲线,在现场流量超过设定的上下限时,蜂鸣器进行报警,警示灯会亮。
3 硬件实现
3.1 最小应用系统设计
单片机通过测量涡轮流量计输出的频率信号实现数据采集,单片机不能单独直接使用,需要添加外围器件以构成最小系统。单片机最小系统,或者称为最小应用系统,是指用最少的元件组成单片机可以工作的系统。对51系列单片机来说,最小系统一般应该包括: 晶振电路、复位电路、下载口电路和单片机,进而通过编写程序实现单片机的功能。在此最小系统中,在单片机外围,选择11.0592M的晶振,P0口接上拉电阻,有复位按钮和上电装置,电路通过USB转串口232进行程序烧写。如图1所示。
3.2 通讯电路设计为实现现场组网和方便上位机完成现场数据采集和各种控制任务,该设计提供了两种通信接口:RS485接口和RS232接口。RS232主要用来实现一对一的通信方式,即流量测控节点和上位机的通讯,而RS485则可用来完成节点组网通信。RS232通讯电路是以具体RS232C标准协议规定的通信,它规定连接电缆和机械、电气特性、信号功能及传送过程。采用RS232接口实现串口通信时,由于PC机上的串口是具有RS232C电平的接口,而单片机上的串口是TTL电平的,因此需要采用MAX232电平转换芯片将PC端和单片机端的电平均转换为RS232电平,以实现串行数据传输。
本测试平台需要实现上位机(即电脑)和下位机(即51单片机)的点对点通信,所以使用RS232接口,完全可以满足设计要求,通讯电路如图2所示。
4 软件设计
4.1 Modbus协议基础
Modbus是由Modicon在1979年发明的,是全球第一个真正用于工业现场的总线协议。此协议定义了一个控制器能认识使用的消息结构,而不管它们是经过何种网络进行通信的。Modbus通信过程就是一个查询和回应的过程,其中查询消息中的功能代码表示被选中的从设备要执行何种功能。如果有错误发生,功能代码将被修改来指出回应消息是错误的,同时数据段包含了描述此错误信息的代码,错误校验是主设备确认消息传输的正误。当在实际的Modbus网络上通信中,控制器须要知道它们的设备地址,识别按地址发来的消息后,再决定要产生何种行动。平台控制器通信使用主-从技术,主设备(上位机)能初始化查询,其他从设备根据主设备查询提供的数据作出相应反应。本测试平台中上位机地址为00,51单片机地址为01。主从查询回应如图3所示。
4.2 传输方式
控制器可使用 AsciI 或RTU 两种传输模式。RTU 模式与ASCII 模式相比,在同样的波特率下,比ASCII 方式传送更多的数据。ASCII模式通信时,在消息中每个字节对应的由两位16进制表示的数都会以ASCII字符值发送,采用LRC(纵向冗长检测)进行检测。这种方式的主要优点是字符发送的时间间隔可达到1秒而不容易产生错误。此次的设计数据量不多,因而选择了ASCII模式。如图4所示。
4.3 Modbus协议程序设计
Modbus协议程序完成消息帧的解析和信息,实现MODBUS协议规定的寄存器的读、写,实现在通讯过程中错误校验功能。根据MODBUS协议:必须主机发送查询请求,从机才会返回数据。所以从机通讯是以接收中断开始,首先判断接收的是什么功能码,知道是从寄存器读出数据还是向寄存器写数据,然后再对数据进行相应处理,传送给相应的寄存器进行操作。
根据MODBUS功能码和功能对应表,本MODBUS协议软件设计了的功能码03和15具有代表性的两项功能,功能码0x03,代码功能读保持寄存器,功能代码0x15,代码功能为写多个寄存器。设备响应如果成功,把计算机发送的命令原样返回,否则不响应。当有错误发生时,功能代码将被修改,用以指出回应的消息是错误的,回功能代码+80H,同时数据段包含了描述此错误信息代码,0x01表明从机能识别主机请求,0x02表示请求帧中的从机地址不存在,0x03表示主机的请求不允许,0x04表示从机不能完成请求。
对于功能代码0x03,在一个节点中,使用该功能码读取保持寄存器连续块的内容。请求PDU说明了要读寄存器的起始地址和寄存器数量。响应报文中的每个寄存器的数据有两字节,在每个字节中直接地调整二进制内容。对于每个寄存器,第一个字节包括高位比特,并且第二个字节包括低位比特。读寄存器的值时,根据接收到的命令,从起始地址去读要读数目的寄存器数目,然后发回!
比如,主机发送:0103 0000 0005 F7(十六进制为3a 30 31 30 33 30 30 30 30 30 30 30 35 46 37 0d 0a),表示请求读起始地址为0的5个寄存器的值。01表示从机地址,03表示功能码,0000表示寄存器起始地址,0005表示要读取的寄存器数目,F7是LRC校验码。当从机接收到此报文并正常响应时,会回发:0103 0A 0000 0000 0000 0000 0000 F2。01,03意义同上,0A表示数据区字节数,接下来为数据区,表示寄存器的实际数据,这里开始都默认为0。F2为LRC校验码。
功能代码0x15原理一样。Modbus协议功能实现程序的流程图如图5所示:
4.4总体软件实现
除Modbus协议程序设计外,单片机整体软件的设计还需要:主机和从机之间要有串口通讯功能,单片机要监测外部中断处的频率变化,测得准确频率值;最后,通过液晶显示出来,并且编写上位机程序,实现定时发送接收,使测得的频率在图形界面上实时显示出来。单片机主函数程序流程图如图6所示。
C#是一种强大的、面向对象的程序开发语言,是Microsoft专门用于.NET 平台的编程语言,它可以快速地编写各种基于Microsoft .NET平台的应用程序。上位机的程序设计是在Visual Studio 2010集成开发环境中使用C#语言进行编写,实现上下位机的Modbus协议通信。整个上位机程序,由串口配置,寄存器配置,数据库,自动发送接收和图形显示模块组成。
凸显界面如下图7所示。
液晶显示单片机接受的频率值,上位机接受由单片机发送的频率数字值。频率量程范围为200-2000HZ,报警上限为1800HZ,报警下限为400HZ,当超过1800HZ或者低于400HZ时,报警信号灯都会亮,并发出报警声。
5 结语
Modbus协议具有开放性、用户范围广、易实现、扩展性好及可靠性强等优点。由于此协议的通用性和使用的普遍性,具有此通信协议的设备能够与其它的自动化测控系统进行可靠的连接和组网。本文测试平台的实现对实际的工业化生产提供了很好的参考价值,对同类产品的开发也有一定的借鉴意义。 本文由wWw.DYlw.net提供,第一论 文 网专业和以及服务,欢迎光临dYLW.nET
参考文献
[1]李大尉,电能自动监测系统设计.[学位论文]华东师范大学,2010年
[2]何立民.单片机应用技术选编[M].北京:北京航空大学出版社,1998.
一拖(洛阳)福莱格车身有限公司AG一400型数控等离子/火焰切割机(上海金凤焊割机械制造有限公司生产),轨距4m,轨长12m,采用上海九天数控系统,整机配备1个等离子割炬和2个氧气乙炔火焰割炬,配套等离子电源为海宝PowerMax1650,配套除尘系统为凯天环保科技股份有限公司生产的KTJZ一6.OKD集中式净化器,处理风量6000m3/h,配套切割平台为单侧下抽风风门式工作平台,规格为2.5m~8m。该机切割平台内有12个抽烟风门,上横梁带着等离子割炬移动到某一位置通过除尘感应系统控制打开对应位置的抽烟风门,除尘主机通过切割平台内部抽烟风道完成等离子切割烟尘抽除。除尘感应系统由感应架、感应开关组成。控制抽烟风门打开的感应开关安装在切割平台侧面防护罩上。
由于总长度为8m的切割平台侧面防护罩由4块2m长小防护罩拼接而成,无法保证防护罩侧面高度一致性,且感应开关安装在切割平台侧面防护罩上造成感应架悬臂太长,刚性和精度很差,移动过程中经常发生变形,同时感应开关作用距离很小只有5mm,导致感应开关经常碰坏,抽烟风门无法打开,除尘系统频繁发生故障。通过现场观察研究,发现等离子行走轨道下面的沉梁加工精度较高,将感应开关安装到沉梁上,既能保证感应开关伸出长度一致,又能缩短感应架长度,保证感应架有较高的刚度。
改进前后感应开关安装位置如图1所示。具体实施如下:
(1)用角钢制作12个感应开关座,并将感应开关座焊接到等离子沉梁上。
(2)将感应开关移至焊好的感应开关座上,用卡尺测量感应开关到沉梁边的距离,保证感应开关伸出沉梁的长度一致。
(3)将角钢焊接感应架改为折弯钢板感应架,保证感应架有足够刚性,移动时不变形。
(4)重新架设感应开关电气线路。采取上述措施后,经车间使用表明,除尘感应系统抽烟风门打开灵敏、稳定、可靠,除尘系统工作正常,故障率大大降低,杜绝了感应开关被碰坏现象,效果良好。用BTD指令转换高低字,再利用COP指令将DINT型数据转换为所需的REAL型,最后得到所需的真实值。
3.s7—200PLC从站通信程序设计S7—200PLC中预置了Modbus协议,STEP7-Micro/WIN指令库包含为Modbus通信预先配置的子程序和中断例行程序,使Modbus主、从设备通信更加便捷。Modbus从站协议指令可配置s7—200PLC,将其用作ModbusRTU从站,与Modbus主设备通信,Modbus从站协议库仅支持端口0通信。S7—200PLCModbusRTU从站协议是通过调用指令库中MBUS_INIT和MBUS—SLAVE[呦能块实现的,前者用于启用和初始化或禁止Modbus通信,后者用于为Modbus主设备发出的查询服务,并且必须在每次扫描时执行,以便允许该指令检查和响应Modbus主设备查询。
在S7—200PLC与Rockwel1769一L35EPLC通信之前,需根据主站的通信参数进行初始化设置,MBUS—INIT功能块通信格式设置为Mode=l,Modbus协议;Baud(波特率)=9600;Addr(从站地址)=5;Parity=0,无校验(图5)。其中,MaxIQ参数将供Modbus地址Oxxxx和1xxxx使用的I和Q点数设为0-128之间的数值。数值0禁止所有向输入和输出的读取。程序中使用的MaxIQ数值是128,该数值可在s7—200中存取所有的I和Q点。MaxAI参数将供Modbus地址3xxxx使用。
关键词 MODBUS;PROFIBUS;PLC;工业通信;通讯协议;
中图分类号TN91 文献标识码A 文章编号 1674-6708(2013)93-0153-02
0 引言
MODBUS是一种标准、开放的协议,Modbus的帧格式简单、紧凑,通俗易懂,可以支持多种电气接口,具有MODBUS接口的电子仪器可以很方便的进行组态,在同一个网络中要求各终端设备波特率,校验方式一致,地址唯一。MODBUS在国内工业通讯领域用途甚广。
PROFIBUS,是一种国际化.开放式.不依赖于设备生产商的现场总线标准。Profibus的传输速率为9.6K~12Mbps,最大传输距离在9.6K~187.5Kbps时为1000m,500Kbps时为400m,1500Kbps时为200m,3000K~12000Kbps时为100m,可用中继器延长至10km。其传输介质可以是双绞线,也可以是光缆,最多可挂接127个站点。PROFIBUS可实现数字和模拟输入/输出模块、智能信号装置和过程调节装、PLC、PC机之间的数据传输,可把I/O通道分散到现场设备附近,可减少系统工程费用,装配费用,硬件成本调试成本,被广泛应用于电力输送,过程自动化,楼宇自动化,制造业自动化等领域。PROFIBUS系统的安全、可靠性好,故障停机时间少,系统维护、设备更换和系统扩充方便,用户对系统配置、设备选型有较大的自。
在实际工程应用中,电气工程师在一个项目里往往会遇到不同厂家,不同功能的控制设备,那么如何经济地,可靠地把不同厂家,不同功能的控制设备集成到一个通讯网络中,并且要求安装方便,编程简单,那就成为一个至关重要的技术问题!
1 本通讯系统的硬件设备
1)SCADA数据采集与监视控制系统,此装置安装在变电所
2)意大利MS公司的直流继电保护装置:U-MLE-Ts,此装置安装在馈线柜,可为地铁直流牵引配电系统提供以下功能
(1)馈线段直流供电保护,例如热过负荷,一段过流,二段过流,电流增量,电流上升率,欠压保护等;
(2)逻辑控制;
(3) 故障记录;
(4) MODBUS RTU通信。
3)德国西门子公司的S7-300 PLC: CPU 313C-2 DP , 此装置安装在进线柜和负极柜
(1)进线柜的S7-300 PLC可为地铁直流牵引配电系统提供以下功能
①进线段直流供电保护,例如过流,反流保护等;
②故障记录;
③逻辑控制;
④PROFIBUS通信。
(2)负极柜的S7-300 PLC可为地铁直流牵引配电系统提供以下功能
①框架保护;
② 逻辑控制;
③PROFIBUS通信。
4)德国西门子公司的S7-200 PLC: CPU 226 CN此装置安装在钢轨电位限制柜,可为地铁直流牵引配电系统提供以下功能
(1) 轨道电压限制保护;
(2)逻辑控制;
(3)MODBUS RTU通信。
2 通信网络的集成的关键技术问题分析:
SCADA数据采集与监视控制系统、意大利MS公司的直流继电保护装置:U-MLE-Ts、西门子S7-200 PLC:CPU 226 CN均支持MODBUS RTU通信,在不增加硬件成本的前提下,这三种装置设备可构成一个MODBUS RTU通信系统,但西门子S7-300 PLC: CPU 313C-2 DP本体不支持MODBUS RTU通信,如果要集成到此MODBUS RTU通信系统的话,则需要每台S7-300 PLC: CPU 313C-2 DP增加一个串行通讯模块CP 341(如右图),如果按常规的做法,一个变电所的直流牵引配电系统中就要增加3个CP 341模块,但此模块价格昂贵,因此我们最终确定只在202进线柜的S7-300 PLC的底板扩展总线增加1个CP 341模块,以此为三台本体不支持MODBUS RTU通信的S7-300 PLC集成到MODBUS RTU通信系统中去。
具体实现方法是:系统网络分两层。
第一层是PROFIBUS网络: 201进线柜和负极柜做PROFIBUS从站,202进线柜做PROFIBUS主站,PROFIBUS网络1主站2从站。
第二层是MODUBUS RTU网络: 安装在202进线柜的PLC通讯模块CP341 做MODBUS 网络的从站,SCADA系统 做MODBUS 网络主站 ,MODUBUS RTU网络1主站7从站。在PROFIBUS 网络中,202进线柜PROFIBUS主站收集201进线柜PROFIBUS从站和负极柜PROFIBUS从站的信息,并把信息映射在202进线柜S7-300 PLC的保持存储区中,然后通过编程使插在202进线柜S7-300PLC 底板扩展总线的CP341通讯模块访问PLC保持存储区, 同时SCADA也可以通过CP341通讯模块发信息到202进线柜PROFIBUS主站,然后主站再通过PROFIBUS的映射功能发给各从站,202进线柜PROFIBUS主站起传输枢纽的作用。
在MODUBUS RTU 网络中 SCADA与CP341通讯模块交换信息,根据MODBUS存储区与PLC存储器的对应关系,在PLC内部相应编程对应的存储器,即能间接与SCADA通讯。
1)202进线柜S7-300 PLC双层网络编程方法如下:
以上PROFIBUS编程对应的PLC映射存储区地址:
2)钢轨电位限制柜S7-200 PLCMODBUS RTU编程方法如下:
3)直流继电保护装置 U-MLE-Ts MODBUS RTU编程方法如下:
3 MODBUS RTU通讯的验证
可使用Modbus协议测试软件,根据MODBUS RTU协议,数据帧结构为
8Bit地址 8Bit功能码 nX8Bit数据 16BitCRC校验码
当数据帧到达被寻址的终端设备时,网络中唯一从站地址的终端根据功能码,作出相应的应答,就好像两人交谈一样一问一答,两者的语言就是通讯协议,两者谈话内容就是特定格式的报文,提问就是MODBUS功能码,如下图的实验数据
参考文献
关键词:PLC 张力传感器 无线数传模块 MODBUS
中图分类号:TD53 文献标识码:A 文章编号:1007-9416(2013)03-0050-02
1 引言
目前,随着煤矿生产规模的逐渐扩大,煤矿对于大型设备的安全性能和自动化程度也越来越重视,矿井提升机担负着提人和提物的重要任务,其安全更是煤矿生产中较为重要的环节。目前提升机箕斗的装载超限是较为典型的事故隐患之一,它降低了钢丝绳的安全系数,威胁了制动安全,有必要采取措施对其监测。针对以往方法的不足,本系统是采用基于无线通讯控制的提升机过载监测系统,采用PLC做为控制,通过张力传感器进行测量,由无线数传模块进行传输,具有高效率与高精度得来实时监测提升机载重的变化。
2 工作原理
2.1 系统原理组成
基于无线通讯控制的提升机过载监测系统,该系统通过PLC监测张力传感器变换的电流,通过线性拟合的方法判断箕斗的重量,对载重进行实时监测,最终通过MODBUS协议实现快速、高精度、实时监测对载重进行实时控制,实现提升机连续稳定的工作。其系统控制原理图如图1所示。
2.2 工作过程
将传感器放置在缆绳上面,提升机工作时缆绳由于负重会对传感器产生张力,这样传感器会产生电流,将张力传感器测出的电流送到采集装置里在通过协议实现无线通讯,将现场的数据采集出来经过D/A转换转变成数字信号,在由主站接收设备的D/A转换经有线与PLC连接,根据传感器中电流与拉力的对应关系在液晶显示器中显示出来。因此,在硬件组装好的情况下利用编写软件,以及显示器显示内容的编写,设置采集装置的通道口地址,利用协议将从端口地址里取出数据放到PLC的存储器中,然后编写显示时,利用公式的对应关系将显示存储器里的内容,根据显示的载重来调节装载的量。
3 系统硬件设计
3.1 提升张力检测主电路
控制系统的硬件主要由PLC、显示屏和张力传感器等组成。本张力传感器使用旁压式原理实现对钢丝绳的张力的测量。张力传感器能将力转变成易控制、易采集的4-20mA电流,电流与拉力又有成线性关系的对应。在匀速运动情况下拉力又等于重力所以能准确地反映出载重的关系。恒流源电路图如图2所示
3.2 无线数据采集与发送装置
采用无线数传模块可根据矿井环境选择不同的发射功率来进行远距离传输。该控制以PLC为中心与无线模块进行双向通讯,利用轮询查询方式,利用先编好的软件来进行取数据,用显示器对所测的载重进行增减,达到实时监测。图3为无线接收模块的电路图。
4 系统软件设计
系统软件主要实现的是PLC与无线数传模块之间的通讯及PLC与显示器之间的连接。其数据传输是利用MODBUS协议进行的。采用MODBUS协议的设备,通过查询命令查询数据。查询命令必需通过无线方式查询。主站设备或路由设备都可发命令查询MODBUS协议设备,但MODBUS协议设备反馈数据时只发给主站设备。例如设备地址为12345678,MODBUS协议设备地址为78。起始寄存器地址都从00 00开始,与设备的硬件端口对应,如第一路硬件采集端口对应寄存器地址00 00,第二路硬件采集端口对应寄存器地址00 01,以此类推。根据协议从无线采集模块通道口数据发送到无线接收模块,传到PLC中,然后PLC通过协议将数据分配,最终显示在显示器上进行实时观察。
5 实验数据结果与分析
利用串口调试软件发送数据01 04 0000 0004 来求出无线采集装置通道1、2、3、4的十六进制数字量,然后用恒流源去标定,利用公式转换为(高字节*256+低字节)/100 然后多取几组数据如表1:
利用最小二乘法进行线性拟合,
设,其中x为电流模拟量,y为载重。
推出:b=-4.77
K=1.25
所以载重与电流的关系为Y=1.25X-4.77
6 结语
该系统通过PLC控制,并借助显示屏来设定相关参数和显示PLC中的实时数据,提高了系统的可操作性。系统中采用无线数传模块代替有线来进行传输降低了损耗,提高了精确度。目前,该过载监测装置已在淮北矿业集团使用,系统正常工作运行,能安全可靠的实时监测箕斗的载重。
参考文献
[1]吕刚.PLC技术在变频起重机上的应用[J].船舶机电,2010(3):21-22.
[2]赵强,刘世春.提升机钢丝绳张力差分析检测与调整[J].煤炭技术2004(8).
[3]藏北关,周国柏 等.主井提升机箕斗装载超重的原因及防治措施[J].煤矿安全,2001(11).
[4]谢锡纯,李晓豁.矿山机械与设备[M].徐州:中国矿业大学出版社,2000.
[5]李仪钰.矿山提升运输机械[M].北京:冶金工业出版社,1989.