软PLC开发系统设计和实现

软PLC开发系统设计和实现

ID:44898621

大小:134.00 KB

页数:4页

时间:2019-11-01

软PLC开发系统设计和实现_第1页
软PLC开发系统设计和实现_第2页
软PLC开发系统设计和实现_第3页
软PLC开发系统设计和实现_第4页
资源描述:

《软PLC开发系统设计和实现》由会员上传分享,免费在线阅读,更多相关内容在工程资料-天天文库

1、软PLC开发系统的设计与实现TheDesignandRealizationofSoftPLCProgrammingSystem魏晓晴,吴旭光,牛云,郭逸WEIXiaoqing,WUXuguang,NIUYun,GUOYi(西北工业大学,西安710072)摘要:设计完成了一种软PLC编程开发系统,并研究了各部分的设计组成与实现方法。其中重点研究了梯形图到指令表编译解算的实现过程,并提出了一种解算的新策略,以一种“节点势”的形式将梯形图图元间的逻辑关系抽象为数值关系,并以此建立二叉树,遍历生成语句表

2、。实验表明,该系统能够方便准确地完成梯形图的编辑与解算,并且可以对梯形图进行逻辑查错和规范检查。关键词:软PLC;节点势;二叉树;梯形图;语句表中图分类号:TP319文献标识码:A0引言随着计算机技术、通讯技术、微电子技术的迅速发展,软PLC技术己渐渐成为国内外工业控制技术研究的热点。软PLC是以标准的、通用的控制器硬件平台和专用控制卡作为硬件基础,基于工业控制计算机(IPC)或嵌入式PC(EPC),使用软件实现PLC功能的软逻辑控制系统。因此,软PLC既可提供传统PLC的相应功能,也具备PC机

3、或嵌入式系统的各种优点,具有更强的兼容性和可扩展性。软PLC开发系统实际上就是带有编译和调试功能的软PLC编程器[1],应当支持基于IEC61131-3[2]国际标准的编程语言。在IEC61131-3定义的5种语言中,梯形图和语句表应用最为广泛,梯形图便于工程人员编程,语句表便于控制器解析执行。因此,在软PLC开发系统中实现从梯形图到语句表的转换解算尤为重要。现有的解算方法有很多,但往往存在结构不清晰、建立过程繁琐、复杂节点判断困难等问题[3-4]。为此,本文提出了一种梯形图到语句表转换的新策略

4、。1软PLC开发系统本文研究并实现了一种软PLC开发系统。它运行在PC机上,既可以与软PLC执行系统组成一个完整的系统,又可以单独仿真运行。该开发系统按功能可分为梯形图编辑模块,编译解算模块,通信监控模块三大部分,以VC++编程实现。2梯形图编辑模块2.1设计组成梯形图编辑模块即梯形图编辑器,主要功能包括梯形图图元的绘制,编辑,保存和读取,如图1所示。图1梯形图编辑模块设计组成2.2编辑功能的实现梯形图元件包括常开触点、输出线圈等简单元件和定时器、计数器等复杂元件。由C++面向对象的继承特性,可

5、以抽象出一个基类作为梯形图图元的总体接口,再以这个类为基础,派生出具体的图元子类。梯形图图元的基类定义如下:classElement:publicCObject{public:inttype;introw,col;public:Element();Element(inttype,introw,intcol);virtual~Element();virtualvoidDraw(CDC*pDC);};因每个图元继承自同一个基类,拥有共同的属性,因此,界面上的所有图元可看作一个集合,称为集合类。对图元

6、的各种操作,如绘制、选中、删除、存取等,都是通过对集合类的操作进行,这里用到的集合类为C++的CPtrArray类。如绘制定时器图元的过程:程序响应鼠标左键消息,新建一个定时器子类对象,将该对象加入集合类并调用定时器子类的Draw()函数实现绘制。示例代码如下:Timertof*tof;tof=newTimertof(operation,row,col);m_ptrArray.Add(tof);tof->Draw(pDC);3编译模块3.1设计组成梯形图的编译[6]是本系统的关键部分,主要包括编

7、译解算和语法查错两部分。编译解算即把用户编辑的梯形图程序,编译转换生成语句表。语法查错即在编译过程中,按照梯形图编程语言规范,进行逻辑和语法分析,若发现梯形图有错误,便生成相应的错误提示信息,并显示到用户界面。3.2基于“节点势”的梯形图到语句表解算的新策略将梯形图逻辑关系转换解算为语句表一直是软PLC开发中的重点和难点,本文提出了一种转换解算的新策略,它基于二叉树的转换解算方法,但不同于传统的扫描分割图形构造二叉树法,而是一种按“节点势”关系构造二叉树的方法,它的指导思想是将梯形图图元间逻辑关

8、系抽象为数值关系,量化地显示出梯形图的层次,从而以之精确地解析出图元之间的串、并联等关系。本文首次提出了“节点势”这一概念,可以将它类似于电路中的电势理解。节点,即梯形图各图元间的连接点。节点势,即节点的势值。因为梯形图每个图元都有左右两个节点,因此每个图元拥有左节点势和右节点势。如图2所示,I0.0的左节点势=0,右节点势=1。梯形图到语句表的转换解算的过程大体分为以下四步。1定义梯形图的“节点势”。按从左→右,从上→下的顺序多次扫描梯形图,按一定规则给每个图元左右节点赋值。通过各图元节点势的

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。