基于单片机PLC系统开发与MCGS上位监控系统设计研究

2020-06-17 01:58牛凤文余搏立
安阳师范学院学报 2020年2期
关键词:梯形图驱动程序寄存器

牛凤文,余搏立

(安徽职业技术学院,安徽 合肥 230011)

随着我国经济与科学技术的不断发展,PLC技术也前所未有的得到快速发展,并广泛地应用于各个领域。我国是全球第二大经济体,属于经济发展较快的国家之一,市场对PLC技术需求日益增大,此外随着我国工业设备不断更新换代与工业的快速发展,对PLC技术的要求也越来越高。然而,当前我国PLC技术还主要依赖进口[1]。为了对PLC的上位进行监控,实现与MCGS数据交换,还需要进行MCGS的上位监控系统设计,因此,开展对单片机PLC系统开发与MCGS上位监控系统设计具有重要的现实意义。

1 总体设计方案

1.1 PLC简介

PLC是可编程逻辑控制器,取其英文首字母,简称PLC。在PLC诞生之前,继电控制器在工业领域应用中占主导地位,但是由于继电控制器存在较多的缺点,比如耗电量大、体积笨重、速度慢、以及使用时间短等,很难适应于灵活多变的工业生产领域。PLC比继电控制器具有更多优势,比如编程语言简单易懂、抗干扰能力强、接口功能性强、体积小、重量轻、以及方便维修等优势;同时还能使设计与施工的工作量大大减少,逐渐取代了继电控制器,而被广泛地应用于各个领域[2]。

1.2 PLC基本结构

PLC系统属于一种微型计算机控制系统,常用于工业控制领域,其具体构成见图1所示。

图1 PLC系统的基本构成示意图

1)CPU模块:此模块属于PLC关键性模块,其主要构成部分为微处理器与存储器两部分,整个PLC的工作均由微处理器来完成。2)输出与输入模块:该两大模块功能主要起着连接作用,承担着PLC接口与外部设备的连接,除此之外,输入模块还有一个作用就是能够接收与整理相关设备传入信号,同时还能在某个电压或者电流范围之内,事先之前对模拟量传入信号进行约束,再将此传入信息转变为CPU能够处理的相关信息;而输出模块还负责向各执行机构输出控制信号[3]。3)编程设备:在PLC中,编程设备具有非常重要的地位,它不仅保障用户程序进行编辑、检查、修改、以及调试等功能,还能够在线监控PLC的目前工作状况。4)电源模块:主要承接电流电源,为维持PLC系统正常工作提供电源。

1.3 PLC工作基本原理

PLC工作基本原理见图2所示。

图2 PLC工作基本原理示意图

1)集中采集输入。分为执行程序前与过程中两个步骤:执行程序前,向输入映像寄存器中读入PLC输入端子全部状况;在执行过程中,尽管对输入状态进行改变,但是输入映像寄存器中的内容也将未出现任何变动,一直至下一个扫描周期的输入处理时期,输入映像寄存器中内容的变动将会被读入[4]。2)程序处理:在可编程逻辑控制器执行程序时,程序将会依照指令逐条地依次来实现,依照程序指令来进行逻辑计算,再在相应的映像寄存器中写入结果,对于每个元件来说,由于执行逐条程序,无法使元件映像寄存器的内容发生变化,则输出寄存器的内部触点动作就容易受到其内容影响。在这当中输出映像寄存器的内容就对输出寄存器的内部触点动作进行决定[4]。3)集中输出:在对所有用户程序执行结束之后,在向输出锁存寄存器传递输出映像寄存状态,再利用驱动功率将电路放大与隔离,以此把可编程逻辑控制器的控制信号向外输送。

1.4 PLC系统总体架构

根据可编程逻辑控制器系统有关研发要求,选择AT89S52单片机为主控芯片,再通过单片机数据地址及I/O端口,电源模块、复位电路模块、以及输出与输入光电隔离模块等外围电路,从而来完成系统所需要的设计功能,PLC系统的总体架构示意图见图3。

图3 PLC系统总体框示意图

2 PLC硬件系统设计

单片机PLC设计重点包含了硬件结构设计与软件编程两部分,前者是PLC系统的物理基础,为后者正常运行提供良好的平台;而后者能够对整个硬件系统依照相关要求运行得到保障。硬件结构设计与软件编程两部分非常重要,两者缺一不可,认真梳理、仔细规划和设计,根据各个设计要求,对存储设备、不同接口进行识别和设计[5]。

2.1 微处理器的选择

微处理器是PLC硬件结构的核心要件,其存储容量和处理速度对PLC性能等重要参数起着决定性作用,因此微处理器为PLC系统正常工作速度起着决定性作用,从控制系统开发便捷度和成本角度考虑,研究中拟选用AT89S52单片机,和8031型号的单片机相比,其中增加了4KB的存储器ROM,能够更加便捷的对流程和程序进行调整[6]。

2.2 PLC硬件系统结构

系统采用AT89S52单片机为主芯片,规划了小型PLC系统,通过多路径探究数字的输入、输出及存储器的拓展,包括了程序存储器拓展和数据存储器拓展两个方面。前者主要使用27512,后者主要使用8253为定时/计数器,输入和输出层与CPU相分离,重点启用光耦通信设备接口,启用了串行通信,利用RS485与RS232两种接口标准进行支持,通信接口不仅能够在下载程序时使用,而且还能够应用于系统监督和控制[7]。硬件系统总体构架见图4。

图4 PLC系统硬件系统构架示意图

3 软件系统设计

3.1 PLC编程语言的选择

目前PLC编程语言的标准是PLC未来发展最重要的趋势之一,IEC61131-31对指令表、结构化文本、梯形图、顺序功能图与功能块图5种标准语言进行了规范,它们当中有两种标准语言属于文本语言,即指令表与结构文本,文本语言有一个特点就是较容易完成一些比较繁琐而又复杂的计算;而其余的则属于图形语言,它们对于处理逻辑控制比较擅长。PLC系统设计的编辑语言以梯形图语言为主,该语言产生于继电器电气原理图,它是一种布尔语言,主要以梯级图表符为前提,利用可以编辑的逻辑控制器的关联连接,有利于对它前后顺序关系和指令调用进行描述,与电气原理图非常相似[8]。

使用梯形图指令进行程序编程,主要运用计算机技术,配设相关编程软件,由于单片机不可以对梯形图此种图形语言进行有效的识别,对PLC的开发产生了阻碍,利用Visualc++6.0与MPC进行软件编程,使用Visualc++6.0与基本库MFC能够降低PLC设计的困难,有助于强化对PLC的认知和探究[9]。

3.2 PLC软件结构

PLC编程软件结构详见图5所示。

图5 PLC编程软件结构示意图

3.3 梯形编辑器

在PLC系统中编辑器起到了关键的作用,在该系统设计中,使用Visualc++6.0与MFC对编辑器展开设计,启用文档/视窗结构、梯形图就画在视窗口的客户区范围内,其起点处是MM_TEXT映射方式下的视窗口客户区的原点,在窗口中输出的GDI可以提供程序调用服务,并在MFC应用程序中,具备6个类型的GDI对象,可以启用Selec()b-ject()函数进行选入设备表述应用,位图就是在本次设计中用来表示梯形图符号的GDI对象[8]。

因梯形图编程的大小是未知的,对梯形图的编辑视图需要具备滚动条,从MSDN可以获取CScroIView类供应的水平、垂直滚动条,可以有效迎合这一需求,而CScroIView类是以CView以Publicde的方式展开传承的。在梯形图编辑器视图CLDView设计时,也以CScroIIView类为基础,以Public的方式传承,能够有效、便捷对梯形图的程序进行展示,同时,还可以调用CView与CScroIIView方面的有关函数,大大降低了编程工作量。

为了有利于梯形图编程,可以把编辑器视图划分成M×N个小范围,在编程过程中,需要在梯形图工具栏中选择对应的梯形图元件,在梯形图元件的位图中根据其ID号通过函数的方式进行加载,并利用双击的方式将梯形图原件展开双击,进而有效地实现梯形图属性的设定。每一个梯形图原件的属性包括了元件的名字、种类和型号等[9]。将梯形图的原件的少数属性封装在CLDBase类中,CLD-Base类是以Public的方式从CDocument类继承的。

有效识别流程中原件位图彼此间的关系密切程度,本文是通过启用公共类别的基准展开有效识别和筛选的,通过CLDBaseELenent进行有效表述。在基类中界定位图所在网格与附近网格之间关联的一系列参数,利用系列参数进行有效判断其和附近网络加载的元件是否存在某种联系。

3.4 梯形图编译器

对梯形图的扫描采用二叉树方式,以梯形图的左竖线为根基点,每一个叶节点所针对的基本梯形图功能模块,每一个根节点都和左右子树的逻辑关系相对应,梯形图和二叉树序列是一一对应的。通过对控制电机的正反转的程序体现其之间的关系,见图6,它所对应的指令表见表1,再依据梯形图的特点在二叉树中进行中序遍历。

(a)电机的正反转控制梯形图

(b)对应的二叉树

表1 指令表

采用二叉树对梯形图进行描述后,经过根遍历可以得到所对应的指令表语句,尽管指令表语句与汇编很接近,但对指令表的编译同样要经过代码转换,这就需要对每个指令表语句进行定义以便形成目标代码,正常工作的PLC系统只需要将目标代码下载至AT89S52单片机中就可以了[9]。

4 关于MCGS上位监控系统设计

作为立足于窗口平台的组态软件系统,MCGS系统主要为了对工业生产过程进行控制,其操作界面采用32位全汉语界面设计可提供实时监测服务。所研发的PLC系统可以与组态软件进行信息之间的沟通和交流,能够形成以PCL上下位机为基础的一套比较完善的监督和控制系统[9]。

4.1 驱动程序设计

MCGS供应了世界各地比较常见的工控设备驱动程序,通过自行规划和设计PLC MCGS对应的驱动程序,启用MCGS的高级开发向导,并在VB6.0软件条件下产生设备驱动程序整体框架,根据规划的PLC职能能够对接口规范设置、调试等方面进行更深入工作,其驱动程序的通信流程示意图如图7所示[10]。MCGS上位监督与控制系统启用的是Active DLL组件,接着通过对OLE接口连接到MCGS之中进行规范,从而形成一个整体,在MCGS的设备组态之中就能够寻觅到此驱动。

图7 驱动程序的通信流程示意图

4.2 MCGS上位监控界面规划

对监督和控制界面进行明确规范和设计,如图8所示,继而对MCGS实时数据中变量展开有效的增加和界定,从而对体系中的实时数据展开跟踪和监控,重点包括电机正向和反向旋转以及停止等控制变量与显示变量,进而为监督调控设计窗口和数据路径搭建平台[11]。上位监督控制界面组合动态如图8所示。

图8 PLC正反转控制监控界面示意图

通过上位机对电机的启动停止或者转向进行有效的控制,利用窗口指示灯,实现上位机中MCGS组态件PLC的数据交互,通过MCGS上位监控窗口,将控制命令发到下位机,并且显示PLC传输过来的电机运转状态相关信息。

5 总结

立足于AT89S52单片机,对小型PLC集成多路开关量L/O及模拟量输入与高速开关的输出进行设计;对使用MPC梯形图与VC语言,以及有关操作进行表述,将梯形图切换成语句表,对组态软件MCGS驱动程序进行设计,并使得PLC系统MCGS监控机制数据实现了有效的交流与互动并对MCGS上位监控系统进行科学设计。

猜你喜欢
梯形图驱动程序寄存器
Lite寄存器模型的设计与实现
阻止Windows Update更新驱动程序
二进制翻译中动静结合的寄存器分配优化方法
计算机硬件设备驱动程序分析
移位寄存器及算术运算应用
PLC梯形图编程系统应用分析
PLC编译功能的实现
S7—200PLC基本编程教学案例
数控机床梯形图故障设置方法研究
妙用鼠标驱动