APP下载

Modbus协议在立体车库实时监控中的应用

2018-11-21丁跃华

自动化仪表 2018年11期
关键词:立体车库主站角速度

周 余,张 伟,丁跃华

(1.重庆复融科技有限公司,重庆 401220;2.重庆工程职业技术学院电气工程学院,重庆 402260)

0 引言

随着我国人民生活水平的不断提高,如今的汽车已经如同电视和手机一样,进入到每个人的生活。随之而来的问题是,我国的汽车保有量在近年出现了爆发式增长,停车位严重供不应求。在这样的背景下,立体车库应运而生。立体车库的安全运行关乎人们的生命财产安全。但传统立体车库由于设备的特殊性和成本限制,尚未实现对载车板运行的实时监控。如当载车板运行过程中钢丝绳(或链条)断裂或发生其他机械故障时,控制器无法及时停止载车板运行,也就无法避免重大安全事故的发生。为此,设计了基于Modbus协议的数据采集系统。

1 系统设计

本系统由可编程逻辑控制器(programmable logic controller,PLC)、Modbus通信模块、ZigBee模块、倾角开关四个部分构成,其结构如图1所示。

倾角开关安装在载车板上,随着载车板的运行一起升降横移。倾角开关通过Modbus协议与PLC通信,将立体车库中载车板的姿态信息实时传送给PLC。但由于立体车库的特殊性,倾角开关的供电和信号传输线路不便采用有线连接的方式。本设计采用基于ZigBee协议的无线数据传输模块,实现倾角开关与PLC之间的无线通信。ZigBee协议依据IEEE 802.15.4标准,以接力的方式将数据从一个传感器传递到另一个传感器[1]。ZigBee协议是一种低成本、低功耗、可靠性高且复杂度低的短程无线通信协议,能够满足小型、低成本的固定、便携或移动设备的无线组网要求[2]。由于倾角开关和ZigBee模块的功耗低,因此本设计采用可充电锂电池供电,由立体车库中已有的线路,为锂电池周期性地充电。

PLC选用西门子S7 315F-2DP,Modbus通信模块选用西门子CP341-RS485/422(以下简称CP341)。PLC 与CP341之间通过背板总线连接;CP341与Zigbee模块、ZigBee模块与倾角开关之间都采用标准两线制RS-485总线[3](以下简称总线)相连。

PLC通过CP341不间断地向倾角开关发出数据请求,倾角开关根据PLC发出的请求,将指定寄存器中保存的载车板的姿态信息发送给PLC。由于在控制器与倾角开关之间布线复杂而困难,因此采用ZigBee模块进行无线通信。在本设计中,只需要将ZigBee之间的无线连接想象为一根标准两线制总线即可。

ZigBee主站(Coordinator)与CP341相连,ZigBee从站与倾角开关相连。ZigBee主站与CP341的波特率应当一致,但应当大于ZigBee从站,ZigBee从站各自的波特率可以互不相同。

ZigBee模块的工作电压为DC 5~38 V。与CP341连接的ZigBee模块为主站(称为ZigBee主站),ZigBee主站与CP341共用DC 24 V电源;与倾角开关相连的ZigBee模块为从站(称为ZigBee从站)。由于倾角开关的工作电压为DC 5 V,因此ZigBee从站与倾角开关共用DC 5 V电源。

2 Modbus协议

Modbus协议由美国Modicon公司于1979年提出[4]。由于其传输机制简单、可靠,至今仍广泛应用于现场工业组网中。Modbus协议采用主从工作方式[5]。在同一个通信网络中,只存在一个主站。通信以主站和从站之间的请求和响应形式,或者主站通过广播的形式向所有从站发送指令的形式建立[6]。Modbus协议可以选择的传输方式有两种,美国信息交换标准码(american standard code for information interchange,ASCII)模式和远程终端单元(remote terminal unit,RTU)模式[7]。本设计采用RTU模式。

PLC为Modbus主站,通过CP341主动发起通信请求;倾角开关为Modbus从站,被动地根据主站的请求发送指定寄存器中的数据。主站不间断地将消息帧发送到总线上。总线上的所有从站都将消息帧包含的站地址与自己的进行比较。站地址相同即执行消息帧中的功能码对应的请求,不同则丢掉消息帧且不响应任何请求。

本设计中,设定Modbus通信的格式为数据位8位、停止位1位,无校验。Modbus协议要求通信双方之间的通信格式一致,否则无法建立通信。Modbus协议共有8个功能码,分别是01H、02H、03H、04H、05H、06H、0EH、10H。不同的功能码代表不同的请求[8]。本设计用到功能码03H,用于读取倾角开关多个寄存器数据。通过查询倾角开关用户手册,其内部寄存器地址0x34开始的12个字节的数据分别为X轴、Y轴、Z轴的倾斜角度、角速度、加速度的原始数据,因此消息帧格式如表1所示。

表1 消息帧格式

3 程序设计

编程软件为SIMATIC STEP 7 V5.5。打开编程软件后,首先新建一个项目,并将S7-300添加到项目中。打开硬件组态界面,将PLC和CP341添加到硬件组态中,并打开CP341的参数设置界面。按照前文所述设置Modbus通信参数,保存并编译后,将硬件组态下载到硬件中。完成上述操作后,打开项目中的OB1程序块,开始编程。本系统的程序主要包括两个部分:数据收发模块程序和数据处理模块程序。

数据收发模块的程序流程如图3所示[9-10]。

图2 数据收发模块的程序流程图

从站1和从站2的发送数据块分别为DB110和DB111。从站1的发送数据块如表2所示。从站2的发送数据块只需将站地址slave_adr改为B#16#11。从站1和从站2的接收数据块分别为DB120和DB121,包含一个长度为50的整型数组变量inidata[...]。在OB1中调用FB7(P_RCV_RK)和FB8(P_SND_RK),并编写好轮询程序[10],循环发送DB110和DB111中的消息帧。

表2 从站1的发送数据块

数据处理模块需要将接收数据块DB120和DB121中接收到的载车板的倾斜角度、角速度、加速度的原始数据inidata[n],分别通过式(1)~式(3),换算为对应的倾斜角度、角速度和加速度的实际值,并存储到数据块DB300和DB301中。

①倾斜角度计算公式为:

(1)

式中:n取值为10~12,计算结果分别表示X、Y、Z轴的倾斜角度。

②角速度计算公式为:

(2)

式中:n取值为4~6,计算结果分别表示X、Y、Z轴的角速度。

③加速度计算公式为:

(3)

式中:n取值为1~3,计算结果分别表示X、Y、Z轴的加速度;g为当地重力加速度。

4 结果分析

当安装有倾角开关和Zigbee模块的载车板作升降或横移运动时,数据块DB300和DB301中的数据实时更新。PLC实时读取载车板的姿态信息如表3所示。

表3 载车板的姿态信息

由于在运动过程中,载车板受到空气流动和自身机械结构震动的影响,其倾斜角度、角速度、加速度的值并不是一个恒定值,而是在一个极小的区间内波动。假设载车板运行正常时,其倾斜角度、角速度、加速度的波动范围的绝对值分别为Δd1、Δd2、Δd3,则可以分别从以下两大类情况分析载车板的倾斜角度、角速度、加速度与其运行状态之间的关系。

若载车板的倾斜角度值的波动范围小于等于Δd1,则表示载车板运行正常;若载车板的倾斜角度值的波动范围大于Δd1,则表示载车板可能发生了倾斜。此时,PLC应当控制载车板的横移电机立即停止运行。

载车板作匀速横移运动时,X轴、Y轴、Z轴的角速度应当近似为0。若载车板的角速度值的波动范围小于等于Δd2,则表示载车板运行正常;若载车板的角速度值的波动范围大于Δd2,则表示载车板可能发生了倾斜。此时,PLC应当控制载车板的横移电机,立即停止运行。

载车板作匀速横移运动时,X轴、Y轴的加速度值应当近似为零;Z轴的加速度受地球引力的影响,其值应当近似为重力加速度。若载车板的加速度值波动范围小于等于Δd3,则表示载车板运行正常;若载车板的加速度值的波动范围大于Δd3,则表示载车板可能发生了倾斜。此时,PLC应当控制载车板的横移电机立即停止运行。

5 结束语

本设计中的Modbus通信协议基于标准两线制RS-485总线。由于RS-485总线结构简单、传输数据量大、容错能力强,因此Modbus协议的数据传输可靠性高、实时性表现优异。而通过ZigBee模块替代有线连接实现无线通信,解决了在立体车库中布线困难的问题。综上所述,本设计实现了对载车板运行过程的实时监控,消除了电气监控盲区,解决了传统立体车库运行的安全问题,为传统立体车库的智能化改造和立体车库本身的广泛应用,提供了一种可靠性高、成本可控、易于实现的解决方案。

猜你喜欢

立体车库主站角速度
基于S7-1200 PLC的DP总线通信技术在马里古伊那水电站泄洪冲沙孔门机上的应用
轿厢式垂直升降立体车库的研制及应用
圆周运动角速度测量方法赏析
智能旋转立体车库设计
EtherCAT主站与主站通信协议的研究与实现*
多表远程集抄主站系统
县级配电自动化主站系统的设计
基于PLC的升降横移式立体车库控制系统设计
半捷联雷达导引头视线角速度提取
基于构架点头角速度的轨道垂向长波不平顺在线检测