刘巧龙
[摘 要 ]文章提出了基于西门子PRODAVE工具包的掘进机人机界面开发方法,针对掘进机需要采集大量异构数据的特点以及各系统的业务逻辑,开展了针对性设计,实现了掘进机人机界面所需的全部功能。
[关键词]掘进机; PRODAVE;异构数据;人机界面
[中图分类号]TP311 [文献标志码]A [文章编号]2095–6487(2021)06–0–02
[Abstract]The article proposes a roadheader man-machine interface development method based on the Siemens PRODAVE toolkit. According to the characteristics of the roadheader that needs to collect a large amount of heterogeneous data and the business logic of each system, a targeted design is carried out to realize the roadheader man-machine interface. All the functions needed.
[Keywords]roadheader; PRODAVE; heterogeneous data; man-machine interface
掘进机是一种集机、电、液、光和信息等多项技术于一体,能一次性完成隧道开挖、排碴与衬砌,实现隧道安全、可靠、高效施工的大型高端装备,是地铁、公路、铁路、水利和国防等建设急需的国之重器。
对于掘进机这样的重型工程机械来说,其工作机构重量大、动力强,控制逻辑复杂,作业过程十分危险,迫切需要一个高可靠性的控制系统来指挥作业。掘进机电气控制系统的核心,一般以PLC(Programmable Logic Controller)为主,而人机界面是控制系统的重要组成部分,是系统和用户之间进行信息交换和业务逻辑实现的媒介,是整个系统的灵魂。
进入21世纪以后,信息技术的迅速发展也使得工控业的智能化水平不断提高,工业互联网也开始被越来越多的人关注。德国针对自己的制造业现状及发展规划,提出了“工业4.0”战略,其后各国纷纷效仿,针对自己的国情提出来相应的工业发展策略。从各国提出的工业发展战略来看,都指向了同一个方向,那就是将信息化与工业化相结合,并从生产型转变为服务型。在大环境的影响下,掘进机作为一个高端地下工程设备,开始被越来越广泛地应用在隧道施工上。为适应恶劣的环境,一种结构紧凑、抗干扰能力强的控制器—PLC诞生了。PLC工作可靠但无法完成复杂的运算,更不能将工艺流程动态地展示给用户,人机交互性差,不利于使用者的实时操作。因此现代工业中,一般都会采用两级控制,底层控制器控制工业设备运行,操作层则为使用者提供了人机交互界面。现场工控系统,一般由PLC、上位机和各种智能仪表及执行器等组成,三者组成的工控网络之间需要数据交互,而不同厂家生产的设备的通信协议都不一样,因此需要研发一套系统来完成通信。
人机交互系统是集数据采集、数据处理与显示、数据存储、数据查询、业务逻辑处理及UI界面等于一体的复杂交互系统,对人机交互系统的开发也主要围绕以上需求展开。
文章旨在解决人机交互系统实现中的最关键节点问题,即数据采集与处理问题。
1 系统介绍
掘进机控制系统架构复杂,产学研用等领域内的不同单位对其架构的划分方式也不尽相同,将整个掘进机控制系统分为5层架构,分别为现场层、IO层、控制层、监控层以及地面层。其中现场层包含了掘进机的传感测量器件以及末端执行机构,如摄像头、传感器、继电器、接触器、电磁阀、变频器、电动机等;IO层包括了设备上所有的数据交互模块,如第三方I/O 设备、遥控器、智能仪表、其他总线设备及网关、分系统控制子站等;控制层是整个控制系统的中央主CPU,所有运算与逻辑控制都在这里进行,本设计适配西门子S7-300、S7-400、S7-1500系列PLC;监控层包括了视频监控主机、工控机、显示屏、触摸屏等,用于监控设备状态;上述1~4层都位于隧道内的掘进机上,处于隧道内;而地面层则通常部署在项目部的地面监控室内,主要包含了地面监控平台与视频监控主机,作用是让项目管理部实时监控地下设备的运行情况。
2 通信方法設计
为了提升自身技术积累,掌握自主权,本文设计的掘进机人机界面基于西门子Prodave工具包开发。西门子Prodave软件提供了用于第三方开发的动态链接库“Prodave6.DLL”,里面包含了通过PC对西门子PLC进行操作的常用接口。在上位机控制软件中通过调用动态链接库,可在自动化系统和PG / PC之间建立SIMATIC AS(Automation Station)的DP、MPI或以太网通信。在通信期间,Prodave工具包拥有访问S7DOS组件的权限。掘进机人机界面软件通过动态链接库与PLC建立起通信后,便可以对掘进机的各系统数据进行交互。
2.1 Prodave主要函数声明
本控制软件中使用到的主要函数及其主要功能如表1所示。
2.2 通信流程
根据数据采集模块接口函数的功能,建立组件类S7PLC(供主窗口程序使用的接口通信类),并定义如下接口字段,包括设置CPU通信密码、设置通信类型、设置CPU站号、设置CPU槽号、设置单词读写长度、设置CPU的IP地址、设置CPU连接代号、设置数据块编号、设置数据块数据长度(字节)、设置通信时间间隔(ms)、设置命令数据块编号、设置命令数据起始地址等。根据接口定义及Prodave动态连接库函数,建立数据块读取函数(ReadDB),循环读取函数,命令写入函数、连接及断开函数。
在组件类的基础上,根据接口定义,建立起掘进机专用数据块读取函数,循环对PLC数据区进行连接、读取、写入、断开等操作,以满足掘进机大数据量交互的需求。
掘进机控制软件通信流程如下。
(1)软件启动,启动后先检查与PLC的连接是否已断开,如果没有断开则需要先执行中断指令UnloadConnect。
(2)执行LoadConnect指令,初始化连接接口。
(3)连接PLC,执行SetPassword命令,使用预设密码进行连接访问。
(4)执行SetActiveConnect命令,激活连接通道,通过本通道进行后续的数据交互;
(5)执行As_info命令,读取软件版本号、硬件订货号、序列号等信息。
(6)执行Field_read、Field_write等读写命令,进行与PLC的数据交互。
(7)执行UnloadConnect命令,断开连接。
(8)结束程序。
3 控制软件开发
本论文所设计的人机界面软件具备集数据采集、数据处理与显示、数据存储、数据查询、业务逻辑处理及人机界面等功能。
在PC与PLC通信期间,Prodave软件拥有访问S7DOS组件的权限。通过基于Prodave开发的数据采集模块,我们获取到了所需要的完整的控制器有效数据,但是该有效数据是以字节数字的形式获取,需要对其解析才能供整个应用程序使用。上面已经说到了,如果使用常规解析方法,那么在下一台设备上,一旦有改动就要重新开发软件,没有办法通用。因此根据有效数据的作用,将数据划分为4段,分别是公共数据(Common Data)、报警数据(Alarm Data)、参数设置数据(Parameter Data)以及累积量数据(Sum Data)。根据4段数据的特点,建立4个类(DataClass、ErrClass、ParaClass、SumClass)对其进行处理,将模块化、通用性强的数据解析及处理函数封装再基本块(BaseClass)中,另外再通过公共类(Module)处理整个数据模型。
为了能使每台设备的字节数据与各数据块结构对应上,避免每台设备都需要单独编程,建立带有各数据库结构属性的对象,便于全局引用,系统采用了XML生成结构对象的方法来实现这一操作。可扩展标记语言(XML)是一种标记语言,它定义了一组规则,用于以人类可读和机器可读的格式编码文档。利用XML文档,来编辑每台设备的数据结构;在程序中通过读取XML结构来获取本臺设备的数据结构,再依据获取到的数据结构去解析字节数据。每当生产1台新设备时,只需要修改XML文档就可以便捷地解析读取到的字节数据,开发起来方便且快捷。
4 优缺点分析
目前国内掘进机行业使用最多的是西门子PLC,使用PRODAVE开发掘进机控制软件,能够很好的实现掘进机上下位机之间的通信,其灵活性强、兼容性好、可扩展性良好、开发成本低,且有利于企业自身积累技术经验。但由于PRODAVE动态链接库只能在X86环境下编译,无法在其他系统框架下使用,导致其适用性受到限制。
5 结束语
基于西门子PRODAVE动态链接库开发的掘进机人机姐界面软件能够满足PC与西门子PLC通信的要求,并且有着良好的灵活性、可扩展性,而且便于进行仿真测试,更有利于企业技术的积累,加快掘进机的自主可控进程。本文提出的通信方法,对西门子S7-200、300、400、1500等系列PLC具有通用性,可以在掘进机乃至其他采用西门子上述系列PLC的工程机械上推广,目前已成功运行在上千台设备上。
参考文献
[1] 闫少勃.国产化PLC上下位机安全通信技术研究[D].西安:西安电子科技大学,2017.
[2] Hoyoung Jeong,Nan Zhang,Seokwon Jeon. Review of Technical Issues for Shield TBM Tunneling in Difficult Grounds. 2018,28(1):1-24.
[3] 李丰堂,谢明红.基于VC++的PC与PLC的通信软件设计[J].计算机技术与发展,2008,18(8):219.