PLC梯形图编程系统应用分析

来源 :大陆桥视野·下 | 被引量 : 0次 | 上传用户:yangjia14
下载到本地 , 更方便阅读
声明 : 本文档内容版权归属内容提供方 , 如果您对本文有版权争议 , 可与客服联系进行内容授权或下架
论文部分内容阅读
  【摘 要】体系结构开放化是数控系统发展的必然趋势,软PLC技术采用软件实现传统PLC的功能,是实现数控系统开放性的关键技术之一。软PLC系统由编程开发系统及运行系统组成。其中,编程开发系统是实现具备PLC控制功能的控制系统必不可少的开发工具之一。本文通过深入分析梯形图中各单元之间关系,各功能的配置与实现,提出了一种新的梯形图编程系统的数据结构与实现方法。利用Windows平台下的Visual C++作为开发语言以期能够开发出更为简单实用的梯形图编程系统。
  【关键词】PLC梯形图编程系统;应用分析
  一、导言
  软PLC系统由编程开发系统及运行系统组成。其中,编程开发系统是实现具备PLC控制功能的控制系统必不可少的开发工具之一。通过编写PLC程序并转换为可执行目标代码,下载到软PLC运行系统中执行,才能够实现系统的控制功能。然而,目前国内的PLC编程开发系统种类繁多、编程语言差异大,与IEC61131-3 PLC编程语言标准相差甚远、编译效率低、缺乏程序调试功能等问题突出,导致控制程序开发过程繁琐、调试困难、开发周期长、系统稳定性差,成为快速开发稳定可靠的控制程序的主要障碍。本文提出一种基于双向循环链表和十字链表的梯形图编辑和指令表生成算法,实现了一个软PLC开发系统,并分析了软PLC运行系统实现思想。
  二、梯形图与指令表简介
  梯形图(ladder diagram,LD)是一种图形化编程语言,引入了电气系统中电源轨线、继电器、触点、线圈等概念,以“能量流动”描述数据传递过程,直观性强,易于学习。一个电动机启保停控制逻辑梯形图示例如图1所示。
  按动START触点对应的按钮,线圈MO-TOR对应的电动机将持续运转,直到按动STOP触点对应的按钮,电动机停止运转。由图1梯形图生成的指令表如图2所示。
  指令表(IL,instruction list)以一系列指令作为编程语言,由操作符、修正符和操作数等组成。
  LD指令读取相应触点状态,st指令将运算后的结果输出到线圈Motor对应的输出点,从而控制电动机启停。
  三、双向循环链表与十字链表
  双向循环链表每个节点中有2个指针,*next指向后继节点,*previous指向前驱节点,因此在查找前驱节点和后继节点时非常高效,如图3所示。
  十字链表是表示正交关系的一种链式存储结构,可用于存储有向图和稀疏矩阵等,如图4所示。
  四、梯形图的数据结构
  (一)梯形图基本元素定义
  梯形图的基本元素包括电源轨线、连接线、触点、线圈等,具体分类见表1所列。
  为便于扩展梯形图基本元素,提高程序模块化程度,降低不同基本元素处理复杂度,可将所有梯形图基本元素的共同特征抽象为一个公共基类。基类中定义了基本元素的类型、输入输出参数、对应的变量名、在梯形图中的坐标等信息。同时以虚函数的方式定义了赋值函数、绘图函数和IL指令转换函数。每个基本元素继承自基类,并按照各自特點重新实现虚函数。如竖直连接线元素,不需要赋值,也不用输出IL指令,只需重写Draw()函数,在指定行列坐标画出该连接线即可。
  (二)梯形图生成指令表实例
  梯形图双向循环十字链表各节点命名如下:v[i]表示电源轨线和连接线,x[i],YO表示触点和线圈,如图5所示。
  借助栈记录遍历过的电源轨线和连接线节点,编写梯形图outPutIL()遍历算法,按图5所示中箭头及标号顺序表示的路径依次访问节点。
  分别调用各基本元素节点的toIL()方法输出该元素代表的具体IL指令,最终组成完整的指令表语言程序。
  五、相关算法对比
  梯形图的编辑和指令表转换,已有算法主要采用链表、二叉树、AOV网相结合的方式实现。
  (一)链表与二叉树结合算法
  以AOV网的节点表示梯形图元素,AOV网的弧表示梯形图元素间的连接关系,对梯形图进行存储;再将AOV网转换为二叉树,以二叉树的非叶节点表示梯形图串联、并联逻辑关系,对转换后的二叉树进行一定的裁剪,通过中序遍历输出指令表语句。以图1所示梯形图为例,该算法对应的存储结构和转换示意如图6所示。
  此算法的AOV网将连接线元素统一作为虚节点,梯形图元素间的串联、并联逻辑关系隐含在节点的出度、入度信息中,需要对AOV网进行一次遍历,构建出二叉树,裁剪虚节点,才能进行指令表的转换。AOV网发生变化后,二叉树需要重建。
  (二)双向链表与AOV网结合算法
  以行双向链表作为梯形图数据结构,用于存储和显示数据;根据行双向链表生成AOV网,对梯形图节点进行拓扑排序,再转换为指令表语句。以图1所示梯形图为例,该算法对应的存储结构和转换示意如图7所示。
  此算法的行双向链表仅保留了行内元素之间和行与行之间的逻辑关系,却丢失了处于不同行的元素之间的逻辑关系。因此在将梯形图转换为指令表前,需要对整个链表进行一次扫描,在适当位置添加虚节点(图7中的vp1节点),构建AOV网,再进行拓扑排序和输出。一旦对梯形图进行编辑,建立AOV网的过程需要重新进行。
  (三)程序的传输
  当用户编辑好梯形图程序之后,将程序生成为指令表形式。然后再把指令表程序转换为一系列的二进制指令,可以通过串口来实现程序指令从编程主机向硬件平台的传输。VC提供了MSComm控件,利用该控件可以很方便的实现应用程序的串行通信功能。另外要利用该控件必须使它寄生于某个对话框,所以首先要生成一个应用于串口传输的对话框类。如
  IBCD VW132
  Network 7
  LD M0.0
  MOVB VB121,VB140
  MOVB VB123,VB141
  MOVB VB125,VB142
  Network 8
  LD M0.0
  MOVB VB127,VB143
  MOVB VB131,VB144
  MOVB VB133,VB145
  Network 9
  LD M1.6
  ED
  TODW VB140
  六、结束语
  本文提出一种基于双向循环链表和十字链表的梯形图数据结构,正确实现了梯形图编辑和梯形图生成指令表算法。该数据结构能直观地表现梯形图各元素间逻辑关系,对实现完整的软PLC控制系统具有一定意义。
  参考文献:
  [1]周峰,王新华.软PLC编辑系统的设计与实现[J].计算机工程与应用,2005,41(7):111-113.
  [2]杉布,王蔚庭.IEC61131-3国际标准简介[J].国内外机电一体化技术,2001(1):54-57.
其他文献
2015年的脚步即将走进历史,但变革与创新的时代烙印使2015年注定将成为中国经济社会发展史上值得铭记的一段历程.2015年,中国经济面临多重挑战,经济增速放缓、三期叠加持续深
在贫困地区,农村小学处于欲罢不能、欲办还休的两难境地,办学成本高昂。高中招生市场上则出现境遇两重天的局面,少数重点校对优秀教育资源形成垄断之势,结果以一校之兴换来的
自动化生产设备上应用视觉检测系统能够提升设备生产效率,提高作业精度.尤其在高精度产品生产领域中,视觉检测系统的作用将越来越大.因此相关技术人员要加强对视觉检测系统的
光伏发电技术已逐渐成为新一代发电技术,但由于初期成本高,转换效率低,不能完全吸引用户.目前,因为光强和温度都会影响最大功率点跟踪(MPPT)算法的特性,因此,本文对多种算法
一、引言rn上海HK经济发展有限公司是一家经营房地产经纪、评估、拍卖等业务的服务型企业,其生存和发展主要取决于员工的素质、知识的贡献和工作的绩效水平等.因此在发展的过
本文通过对荣华二采区10
近年来,随着中国风电市场的蓬勃发展,国内风电会展也开始“风生水起”.据不完全统计,仅2011年初到现在,国内就举办了7场风电专题大型国际会展,另有十几场风电产业的新能源和
利用无人机平台进行多焦段图像取样,既能提高无人机巡航效率和样本锐度,又能确保监测范围,也能使得原始样本的噪声大为降低,为后续数字图像处理提供良好的样本;采用智能化深
培养高中生对数学的学习兴趣是提高教学效率的一种手段.因此教师要借助课堂教学来逐步培养学生的学习兴趣.教师要利用新课改的教学理念,为学生营造良好的学习氛围.教师还要课
社会的无限开放导致人们的迷失,怨与争执则多来自偏见.由于对个体差异性和立场不同的错位认识导致了偏见的存在,而对于这种必然结果的不同态度也决定了对待生活的态度.偏见和
期刊