1 引言 随着激光技术的发展,激光测距传感器在检测领域得到了越来越多的应用。本文所研究的基于HOLLiAS-LEC G3小型一体化PLC的激光测距系统,对多台激光测距传感器所采集到的数据进行处理,并将数据传送给上位机,实现了对多台激光测距传感器的监控。
2 激光测距传感器的基本原理 激光测距传感器的基本原理是通过测量激光往返于被测目标之间所需的时间,来确定被测目标之间的距离。激光测距传感器的原理和结构都很简单,是长距离检测最有效的手段。 激光测距传感器工作时,首先由激光二极管对被测目标发射激光脉冲。经被测目标反射后,激光向各方向散射。部分散射的激光返回到传感器的接收器,被光学系统接收后,成像到雪崩光电二极管上。雪崩光电二极管是一种内部具有放大功能的光学传感器,能够检测极其微弱的光信号。记录并处理激光脉冲从发射到返回所经历的时间,即可得到被测目标的距离。
3 PLC控制系统硬件设计 基于HOLLiAS-LEC G3小型一体化PLC的激光测距系统的功能结构图如图1所示。
图1 激光测距系统的功能结构图
PLC的CPU模块选用HOLLiAS-LEC G3系列的LM3108模块,其性能价格比很高,广泛应用于工业控制的各个领域。LM3108模块的标准配置包括两个串行通信接口PORT0和PORT1,其中PORT0为RS-485接口,PORT1为RS-232接口。采用RS-232接口建立PLC与上位机的通信,实现PLC程序的下装和监控。采用RS-485接口建立PLC与现场仪表的通信。
4 PLC控制系统软件设计 PLC采用自由口通信方式接收激光测距传感器的数据,用%MB400~%MB411的12个字节作为通信接收寄存器,存放自由口通信方式下所接收的数据。在PLC程序中设定的激光测距传感器的通信参数如表1所示。PLC控制程序采用和利时公司的编程软件PowerPro完成,下面详细介绍数据解析程序。其它应用程序从略。
表1 激光测距传感器的通信参数
4.1 数据解析程序的变量定义 PROGRAM PLC_PRG VAR SetRS-485: Set_COMM2_PRMT; (* RS-485自由口通信参数设置 *) SetRS-485Q: BOOL; (* RS-485自由口通信参数设置标志 *) Receive: COMM2_RECEIVE; (* RS-485自由口通信数据接收 *) ReceiveQ: BOOL; (* RS-485自由口通信数据接收标志 *) ReceivedData: STRING; (* 存储ASCII码数据的字符串 *) Position1: INT; (* 起始字符的位置 *) Position2: INT; (* 结束字符的位置 *) ReceivedData_STRING: STRING; (* ASCII码形式的数据 *) ReceivedData_DWORD: DWORD; (* 十六进制形式的数据 *) END_VAR 4.2 数据解析程序的梯形图 如图2所示。
图2 数据解析程序梯形图
4.3 数据解析程序分析 PLC从激光测距传感器接收到的数据是ASCII码形式,所以需要将ACSII码转换成PLC能够操作的十六进制数。 首先在存储ASCII码数据的字符串ReceivedData中找到数据的起始字符“+”,并将其位置存储在变量Position1中。然后再找到数据的结束字符“$R”,并将其位置存储在变量Position2中。将位置Position2与位置Position1之间的字符取出,存入变量ReceivedData _STRING中,此即为数据的ASCII码形式。最后将该ASCII码形式的数据ReceivedData_STRING转换位十六进制形式的数据ReceivedData_DWORD,即完成了数据的解析。
5 结束语 采用和利时HOLLiAS-LEC G3小型一体化PLC作为激光测距系统的控制核心,可以方便地与激光测距传感器进行通信。实践证明,该方案结构简单,运行过程稳定可靠,实现了激光测距系统的数据采集与处理。 |