摘 要:本系统以hollias-lec g3小型一体化plc为核心,采用自由口通信技术,对多台激光测距传感器进行监控,实现了激光测距系统的数据采集与处理。
关键词:plc,激光测距传感器,自由口通信
随着激光技术的发展,激光测距传感器在检测领域得到了越来越多的应用。本文所研究的基于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作为激光测距系统的控制核心,可以方便地与激光测距传感器进行通信。实践证明,该方案结构简单,运行过程稳定可靠,实现了激光测距系统的数据采集与处理。