软PLC 技术在油田物联网中的应用探讨

2019-01-17 07:23韩超
中国设备工程 2019年6期
关键词:编译器梯形图指令

韩超

(大庆油田有限责任公司第一采油厂仪表安装维修大队,黑龙江 大庆 163000)

中石油为了推进业务领域的信息化,提出进行油田物联网系统建设,在总体规划内容中要求各油气生产企业在已建成的站库自动控制系统当中的作业区实现二次组态。由于油田应用的PLC 品牌较多,每个品牌的硬件和软件之间有着很大的差异,给使用人员的工作带来很多不便,PLC 自动控制系统之间进行信息交换的能力不强,有的PLC 没有自主的上位机软件,只能通过其它品牌的上位机进行控制。同时,无法把关键的运行信息全部集成到控制主站之中。软PLC 技术可以在具备原有功能的基础之上,应用面向控制现场的总线构建体系,开放以太网、串行数据等通讯接口,使软件起到传统PLC 的作用。

1 软PLC 体系构成

1.1 软PLC 工作原理和控制系统方案设计

软PLC 采用软逻辑控制技术,可以灵活的配置PLC 控制系统的软、硬件,用户可以采用自己较为熟悉的编程语言进行控制软件的开发,把工业计算机变成功能强大的PLC 控制器。软件PLC 结合了计算机以及PLC 的开关和模拟量控制功能,可以对数据进行数学运算,并对数值结果进行处理,实现数据的通讯,可以对控制对象进行PID 控制。利用多任务控制内核,具有功能强大的指令,较高的扫描周期,对被控对象实现稳定可靠的控制,可以实现与各类I/O 接口进行数据连接,构建出开放式的网络体系。

原来采用PLC 控制系统,利用现场总线控制技术把PLC控制器和现场设备连接起来,利用上位机系统对PLC 控制系统进行监测和控制,之后把获取到的数据信息传送给企业的管理层,这样组建的系统进行数据交换所需要的时间较长,相互之间的通讯极不便利。而采用软PLC 控制系统可以通过组建高效率、实时的通讯网络来对现场设备进行操控。真正意义上实现了从企业管理层到设备层的直接数据传输,把企业管理和现场控制进行有效的集成,使控制系统的工作效率以及各类设备的可靠性得到大幅提升。依据软PLC 硬件运行平台之间存在的差异,可以把控制方案划分为3 种,也就是以传统PLC 为基础的控制方案、IPC 或者EPC 控制方案和嵌入式控制方案。

本文把传统的PLC 控制方案作为研究的前提,该控制方案可以把软PLC 和传统的PLC 硬件系统进行有效地匹配,传统的PLC 控制系统提供一个硬件系统的平台,利用上位机软件开发和编写PLC 控制的应用程序,利用通讯接口下载到硬件支持平台中实现对执行对象的控制,再通过输入输出模块达到要实现的控制功能。

软PLC 是以PC 机作为开发基础,在操作系统提供的平台上利用软件的方式实现传统PLC 的数据处理、数学运算、数据存储和通讯功能,采用输入输出模块和现场总线技术对现场设备进行数据采集和控制。

1.2 软PLC 系统的构成

参照传统PLC 控制系统的结构,软PLC 控制系统由开发和应用系统组成。对于开发系统,该系统为用户提供了符合国际标准的程序编辑器,把5 种编程语言经过编译生成目标代码,通过数据连接后下载到硬件当中,还具备对应用程序进行调试以及和第三方程序进行数据通讯的功能。

软PLC 运行系统是面向不同的硬件平台而研制开发出来的虚拟机,对编译生成的目标代码进行读取和执行代码指令。针对不同的硬件平台,运行系统可以和开发系统进行数据通讯,并可以和输入输出模块进行数据连接。该部分为软PLC的核心,可以进行数据输入的处理,执行控制程序,对输入控制信号进行处理等。

2 软PLC 集成开发环境的设计

2.1 编辑系统环境设计

梯形图作为一种比较常用的PLC 编程,对该语言进行直接的编译是较为困难的,由于梯形图和指令之间存在着紧密的联系,可以不对梯形图编写的PLC 程序进行编译,而是把它转变为可执行的指令语言,采用指令语言的编译功能模块来完成编译,有效解决了上述问题,提升了代码的利用效率。

2.2 梯形图编辑器设计

梯形图可以为用户编程提供很大的便利,避免应用较多程序语句引起逻辑上的混乱,开发出功能齐全的指令集来满足程序编写的需要。每个PLC 厂家的PLC 编程指令虽然不同,但是指令的功能大多是相同的。在梯形图当中,继电器应该对应实际的物理输入输出端子,而继电器控制采用开关量控制,也就是应用位存储器,如果该位存储器状态为1,则表明该继电器线圈处于通电状态,常开触点闭合,而常闭触点为断开。如果该位存储器为0,说明该线圈没有通电,PLC 控制器通过持续扫描执行程序来完成各类逻辑判断和数据处理,从而控制继电器线圈通断电以及发送各类控制指令。

IL 与ST 编辑器和梯形图语言进行比较来看,前者主要针对的是文本。IL 编辑器设计有效传承了CILView,设计功能主要在CSyntaxEditView 类中完成。

3 编译器设计

3.1 功能以及功能模块设计

功能是指具备输入变量作用和功能值,在进行程序设计时,参照国际通用的标准内容,可以把没有进行命名的一个输入变量用IN 来表达,多个没有被命名的输入变量用IN1、IN2 等符号进行表示,而功能值则用F 来表示,常用的数据类型有ANY、ANY_NUM 等,具有进行数据类型转换、运算、数据移位和字符串等功能。而程序设计的功能模功能有计数器、定时器、双稳态触发功能等。

3.2 编译器的实现

编译器设计过程十分繁杂,先要对高级语言的实现进行充分的考虑,发挥出目标机的特征,还要注意到程序的移植问题,保证程序移植之后执行效率不会降低,保证具有友好的可编辑界面。编译系统在对可执行程序进行编译时起到了重要的作用,它和计算机的硬件构成有着十分紧密的联系。最后的目标代码生成要经过对源程序进行语法分析,中间代码生成等多个阶段。

(1)梯形图转变为指令表的分析和实现。因为很难对梯形图程序进行较为直接的编译,所以,应该把梯形图程序转变为指令表后再实现对其的编译。指令表是以助记符的方式来体现用户编写的程序,CPU 可以较为容易地识别出它的机器码。

(2)转换中间语言模型的组建和实现。现在常用的多种编程语言都可以把其转变成指令表语言,本论文设计的系统对指令表语句进行简化处理。可以使数据信息在控制策略以及监控策略文件之间实现自动的数据传输。所以,相对于指令表程序,采用一种更加优化的中间语句转换程序更符合标准对转换目标的要求。

(3)指令表编译器设计。指令表编译器可以把IL 用户程序转换为利用四元组进行表示的中间代码,IL 语言是一种类似于汇编语言的简单化机器语言,可是,如果把其转变为中间代码,还得需要经过语法分析、中间代码生成等多个阶段。

4 仿真模块设计

该模块可以给用户创建出一种在电脑上可以模拟的PLC运行环境,对编制完成的梯形图程序是否满足设计要求进行检验,如果达不到设计要求,则可以重新返回梯形图编程界面来完成对程序的修改。具体的实现功能有:读取出编辑完的PLC 程序,对PLC 应用程序的运行过程和最终结果进行描述,对接点以及负载情况进行描述。

5 结论与认识

本论文将软件PLC 体系构成作为开发的前提,对软PLC编辑环境的重要组成构架、编译器以及仿真模块进行了设计。软PLC 的实现较为复杂,研发时间较长,但是,软PLC 完全满足当前工控领域的应用需要,应有前景较好,应用在油田物联网技术中将会产生很好的效果。

猜你喜欢
编译器梯形图指令
面向理想性能空间的跨架构编译分析方法
《单一形状固定循环指令G90车外圆仿真》教案设计
基于相异编译器的安全计算机平台交叉编译环境设计
运行速度大突破华为《方舟编译器》详解
PLC梯形图编程系统应用分析
PLC编译功能的实现
S7—200PLC基本编程教学案例
数控机床梯形图故障设置方法研究
中断与跳转操作对指令串的影响
一种基于滑窗的余度指令判别算法