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