随着激光技术的发展,激光测距传感器在检测领域得到了越来越多的应用。本文所研究的基于HOLLiAS-LECG3小型一体化PLC的激光测距系统,对多台激光测距传感器所采集到的数据进行处理,并将数据传送给上位机,实现了对多台激光测距传感器的监控。
1 激光测距传感器的基本原理
激光测距传感器的基本原理是,通过测量激光往返于被测目标之间所需的时间,来确定被测目标之间的距离。激光测距传感器的原理和结构都很简单,是长距离检测有效的手段。
激光测距传感器工作时,首先由激光二极管对被测目标发射激光脉冲。经被测目标反射后,激光向各方向散射。部分散射的激光返回到传感器的接收器,被光学系统接收后,成像到雪崩光电二极管上。雪崩光电二极管是一种内部具有放大功能的光学传感器,能够检测极其微弱的光信号。记录并处理激光脉冲从发射到返回所经历的时间,即可得到被测目标的距离。
2 PLC控制系统硬件设计
基于HOLLiAS-LECG3小型一体化PLC的激光测距系统的功能结构图如图1所示。系统通过PLC的自由口通信,接收多台激光测距传感器发送过来的数据,根据传感器提供的数据格式解析数据包,计算出测量的距离。系统的功能还包括显示测量距离、在非正常情况下报警、与上位机进行数据交换等。
PLC的CPU模块选用HOLLiAS-LECG3系列的LM3108模块,其性能价格比很高,广泛应用于工业控制的各个领域。LM3108模块的标准配置包括两个串行通信接口PORT0和PORT1,其中PORT0为RS485接口,PORT1为RS232接口。采用RS232接口建立PLC与上位机的通信,实现PLC程序的下装和监控。采用RS485接口建立PLC与现场仪表的通信。
3 PLC控制系统软件设计
PLC采用自由口通信方式接收激光测距传感器的数据,用%MB400~%MB411的12个字节作为通信接收寄存器,存放自由口通信方式下所接收的数据。所谓自由口通信,是指用户可以通过设置通信模式来改变通信接口的参数,以适应不同的通信协议。在PLC程序中设定的激光测距传感器的通信参数如表1所示。PLC控制程序采用和利时公司的编程软件PowerPro完成,下面详细介绍数据解析程序。其它应用程序从略。
3.1数据解析程序的变量定义
PROGRAMPLC_PRG
VAR
SetRS485:Set_COMM2_PRMT;(*RS485自由口通信参数设置*)
:BOOL;(*RS485自由口通信参数设置标志*)
Receive:COMM2_RECEIVE;(*RS485自由口通信数据接收*)
:BOOL;(*RS485自由口通信数据接收标志*)
ReceivedData:bbbbbb;(*存储ASCII码数据的字符串*)
bbbbbbbb1:INT;(*起始字符的位置*)
bbbbbbbb2:INT;(*结束字符的位置*)
ReceivedData_bbbbbb:bbbbbb;(*ASCII码形式的数据*)
ReceivedData_DWORD:DWORD;(*十六进制形式的数据*)
END_VAR
3.2数据解析程序的梯形图
3.3数据解析程序分析
PLC从激光测距传感器接收到的数据是ASCII码形式,所以需要将ACSII码转换成PLC能够操作的十六进制数。
首先在存储ASCII码数据的字符串ReceivedData中找到数据的起始字符“+”,并将其位置存储在变量bbbbbbbb1中。然后再找到数据的结束字符“$R”,并将其位置存储在变量bbbbbbbb2中。将位置bbbbbbbb2与位置bbbbbbbb1之间的字符取出,存入变量ReceivedData_bbbbbb中,此即为数据的ASCII码形式。后将该ASCII码形式的数据ReceivedData_bbbbbb转换位十六进制形式的数据ReceivedData_DWORD,即完成了数据的解析。 4 结论
采用和利时HOLLiAS-LECG3小型一体化PLC作为激光测距系统的控制核心,可以方便地与激光测距传感器进行通信。实践证明,该方案结构简单,运行过程稳定可靠,实现了激光测距系统的数据采集与处理。
选用WinCC是因为其灵活快速的画面组态、报警组态功能,完善的历史数据归档、曲线、报表功能,丰富的图库、脚本函数库资源。
WinCCV6版本使用了S数据库,开放的接口,广泛的使用面更为WinCC增添了新的亮点。WinCC对OPC技术的支持与应用,使用户获得了自由扩展的接口,WinCC即可以作为标准的OPCClient使用,同时又是标准的OPCDA/HDA/A&EServer。作为标准的OPCClient,我们可以用WinCC通过添加OPCSuite来访问所有支持OPCDA接口的OPCServers,即可以是象SimaticNet这样的Siemens自己的产品,也可以是第三方厂家产品。而作为标准的OPCDA/HDA/A&EServer,我们可以开发自己的OPCClient应用程序实现对WinCC过程数据/历史数据/报警事件数据的访问,现在较为流行的工厂SIS/MIS系统软件多数支持OPC访问接口,WinCC完全支持他们的访问。
SimaticNet也是一套标准的OPCServer产品,同时它又提供了对Siemens各网络类型板卡的支持,项目中就是借助CP5613A2板卡通过SimaticNet中的OPCServer实现与S5系列AS站之间的FMS连接,上位机中FMS连接的建立是在安装了SimaticNet后生成的PCStation中实现的,借助SimaitcNet的PCStation组态工具,将建立好的FMS连接下装到PCStation中,要注意的是所建的连接一定要与AS站上的CP5431的设置参数相一致,CP5431的设置工作是在专用软件COM5431中完成的。AS站加装CP5431板卡,对程序作相应更改并调试通过后,应能建立上位机与S5PLC之间的数据通讯,在此调试过程中,SimaticNet提供了一个很好的OPC调试工具----OPCScout,利用OPCScout我们可以方便直观的浏览、连接、测试当前能够连接上的OPC数据源。
当然WinCC也不甘落后,在添加了OPC驱动包后,右击此OPC驱动包并选择Systembbbbbeter,打开的窗口同样具有OPC扫描、浏览功能,利用其完美的浏览选择功能我们能快速、方便的建立我
们所需要的数据标签。此项目中除了采集3套S5PLC数据外,同时又连接了4套OMRON的小型PLC,我们采用的依然是OPC技术,选购了OMRON的SYSMACOPC产品,用WinCC与SYSMAC建立OPC通讯,从而实现了对OMRONPLC产品的监控,更体现了WinCC对OPC的支持所带来的益处。经以上各技术点的应用,我们成功实现了对除灰系统的WinCC监控改造。
2.项目中的难点:在项目实施过程中,遇到的大困难是通讯响应速度问题。原有控制方式中,设备的状态显示借助指示灯的状态来实现,指示灯有两种闪烁频率,1Hz和0.5Hz。为了不改变程序中的逻辑处理部分,我们力图在WinCC画面上实现与操作屏上指示灯的同步闪烁,这就要求WinCC上的数据刷新周期要快于灯的闪烁周期。为了实现这一目的,在WinCC中的画面元素的刷新周期要一致,全部设为500ms周期;关键的设置在于CP5431的发送周期上,若将SendAll/ReceiveAll的调用安排在OB1中是不合理的,因为此项目的程序量较大,导致OB1的完全执行周期较长且不稳定,对于S5-155U/948CPU,我们选择了较快的定周期中断OB11。另外,在组态CP5431的COM5431中的数据排列顺序也要作相应考虑,力求使与显示有关的所有数据能在一个发送包中传递完毕。经过对以上几点的着重处理,终获得了令人满意的同步显示效果。
3.附加生产工艺当中的工艺照片。
四、项目运行
到目前为止,项目已经投入运行近一年了,系统运行很稳定,用户反应良好。
五、应用体会
通过这一项目,切身体会了WinCC的OPC接口的方便性与开放性。SimaticNet体系逻辑结构清晰,接口全面使用方便,其附带的调试工具非常实用。
西门子代理商,西门子模块代理商,西门子一级代理商,西门子PLC代理,西门子中国代理商