基于Linux系统的软PLC设计.docx

上传人:安*** 文档编号:17772498 上传时间:2022-05-26 格式:DOCX 页数:9 大小:21.44KB
返回 下载 相关 举报
基于Linux系统的软PLC设计.docx_第1页
第1页 / 共9页
基于Linux系统的软PLC设计.docx_第2页
第2页 / 共9页
点击查看更多>>
资源描述

《基于Linux系统的软PLC设计.docx》由会员分享,可在线阅读,更多相关《基于Linux系统的软PLC设计.docx(9页珍藏版)》请在taowenge.com淘文阁网|工程机械CAD图纸|机械工程制图|CAD装配图下载|SolidWorks_CaTia_CAD_UG_PROE_设计图分享下载上搜索。

1、基于Linux系统的软PLC设计wuyue导语:中国工业自动化的水平相对国外来讲较低,技术含量少。发展自主产权的软PLC将对此问题产生有力的推动作用,也有助于我国PLC企业发展本国市场并向外扩展。软PLC介绍,也叫软逻辑,是一种基于PC机开放构造的控制装置。软PLC综合了计算机和PLC的开关量控制、模拟量控制、数学运算、数值处理、通信网络等功能,通过一个多任务的控制内核,提供了强大的指令集、快速而准确的扫描周期、可靠的操作和可连接的各种I/O系统及网络的开放构造。软PLC提供了硬PLC的各种功能,同时具备了PC的各种优点。基于PC平台的软PLC由于无需专门的编程器,因此能够充分利用PC机的软硬

2、件资源,直接采用梯形图或指令语言编程,并具有良好的人机界面,在数控系统中正逐步取代硬件PLC,编程系统也正在逐步转向占据软件市场的PC机。软PLC技术发展的一个重要条件就IEC61131-3标准的制定。20世纪90年代,IEC国际电工委员会公布了IEC61131国际标准,它的内容涵盖了PLC整个生命周期的各个部分。IEC61131-3是PLC的语言标准,它定义了5种PLC编程语言的规范,其中构造化文本ST和指令表IL为文本语言,而顺序功能图SFC、梯形图LD、功能模块FBD为图形语言。同时,标准还允许在同一个程序中混合使用多种语言。IEC61131-3标准由IEC的SC65BW7工作组制定,它

3、包括来自不同的PLC制造商、软件公司和用户代表,实现了统一的编程标准。相对传统PLC,软PLC解决了兼容性差、通用性差等问题,具有了多方面的优势:1硬件体系构造不再是封闭的,用户能够本人选择适宜的硬件来组成知足要求的PLC。2PC机厂家的竞争剧烈使得基于PC机的软PLC性价比得以提高。3软PLC不仅能够实现连接到私有的PLC网络中,而且能够通过PC连接到计算机网络上。4由于软PLC是基于IEC61131-3标准的,因而在把握标准后就能够容易的进行开发了。由于具有兼容性、通用性、性价比高、易于与网络连接、编程方便等优点。因此,目前世界各国都在进行软PLC的研究。国际上,已经有了一些比拟成熟和影响

4、比拟大的产品:如德国KW-sofeware公司的MULTIPROGwt32、倍福TwinCAT控制软件TwinCATPLC、法国CJInternational公司的ISaGRAF软件包、PCSoftInternational公司的WinPLC、美国WizdomControlIntellution公司的Paradym-31等等。而国内有关部门和工控方面的公司也正在着手研究开发具有自主版权的中文软PLC产品。软PLC设计平台硬件工作平台软PLC的等待硬件工作平台为工控机等PC工业微机平台和嵌入式PC平台。本设计因需要应用于嵌入式的数控系统中,所以采用了嵌入式PC平台。嵌入式PC是将PC机的主要硬件

5、集中在一张信誉卡大小的主板上,将操作系统和应用软件存储在Flash芯片中。嵌入式PC与标准PC全兼容,采用与标准PC一样的硬件构造和软件构造。因此,嵌入式PC在理论上能完成与普通PC系统的工作。因此,我们能够在普通PC上做好设计和开发,再将软件移植到嵌入式PC上。嵌入式PC包括单板计算机SBC、PC/104计算机和饼干机,本设计采用的是嵌入式PC104计算机。嵌入式PC/104组件尺寸小,标准化,模块化程度高,采用层叠式构造,通过在CPU板的基础上堆叠扩展板构成一个完好的计算机系统。PC104的扩展板齐全,包括了网卡、数字I/O卡、A/D卡等。在PC104上构造的系统即可扩展性好,标准化和模块

6、化程度高。现今PC104的硬件水平能够到达P2或者P3一级,CPU速度足够快,内存可到128M,程序存储空间能够选用CF卡作为硬存储空间,能够到达128M,且可通过PC104接口扩展其硬件I/O能力,可增加软PLC的I/O口,丰富的硬件资源完全能够知足运行软PLC的需要。这也使得设计时完全能够在普通PC上,在LINUX内核下对软PLC的各个模块进行调试,调试成功再移植到PC104组件上运行。软件平台目前,大多数软PLC分别以Windows,DOS和Linux系统为操作平台。早期的基于PC的软PLC采用的较多的是DOS系统,这类软件由于运行DOS环境下,能够轻松实现其实时控制的要求,但由于DOS

7、环境是单任务处理方式,使得PC的潜力得不到充分发挥,系统的功能和灵敏性也遭到限制。而Windows具有操作界面良好、程序开发相对容易、多任务等优点,但Windows操作系统并不是一个理想的实时操作系统,且Windows操作系统是收费的,这将大大增加开发应用的成本。因此,本设计配合数控系统的需要选用的是Linux系统为操作平台,基于Linux内核模块的Rtlinux是一个免费的、开放源代码的实时操作系统。软PLC模块设计本设计的基于嵌入式PC104计算机,建立在Linux操作系统之上,软件的设计采用了模块化设计。每个模块都专职一项功能,每个模块都是一个进程。软PLC全局变量是所有模块的公共数据,

8、由配置文件设定。各个模块通过全局变量进行通信,各个模块的私有数据不包含在配置文件内。全局变量在每个模块都有副本,各个模块通过副本的数据对本模块进行运算,当循环一次运算后,就更新到全局变量,这样就实现了各个模块之间的通信。每个模块对全局变量的读写权限不一样的,只要对全局变量具有写权限的模块才能够更新全局变量里的数据。每个模块作为一个进程,进程之间的通信采用的是分享内存进行通信。软PLC各模块之间的构造框图如图1所示: (1)主程序mainprogram,启动软PLC,将首先运行主程序,主程序将读取配置文件上的内容,并运行配置文件上所设定的模块。(2)配置文件configurefile,在软PLC

9、中具有核心的地位,它由几部分组成:软PLC配置,在这部分设置了内核和各个模块的相关参数,主要包括:模块列表,列出了要运行的模块;变量列表,列出了软PLC中的全局变量,并定义了具有对应全局变量有写权限的模块。公共配置,这部分设置了各个模块之间的共同属性。同步配置,这部分是要配制各个模块之间的同步性。为了保证数据的传输,必须让模块之间同步。实时性配置,能够运行在3种形式:正常形式、软实时形式和硬实时形式,设计时能够根据详细情况选择其中的一种形式。对于每个详细的设计来讲,需要对配置文件中的几个部分进行配置。()人机界面模块HMI,用户和软PLC之间的互动模块。通过友好的人机界面,用户能够控制软PLC

10、的调用和开关,同时能够查看软PLC各个状态点的状态。在Linux下,能够使用GTK或者TCL/TK进行设计。本设计由于整个数控系统的需要,采用了TCL/TK进行设计。由于软PLC的其他部分是用c语言进行设计,因此在用tcl/tk设计的人机界面模块和软PLC之间,需要设计一个TCL/TK的扩展模块作为两种语言之间的接口,这样在界面上就能够用TCL语言调用C语言编写的软PLC函数。现阶段本设计主要完成了常用的PLC图形语言梯形图和两种文本语言IL语言和ST语言的设计,因此人机界面能够分为两种,梯形图的编辑运行界面和文本编程的监控界面。梯形图界面如图2。在梯形图界面上,用户可自由拖动如开关、计时器等

11、各种器件进行自主编程,进而实如今线编程。在界面上右侧是状态栏,能够对各种状态点的控制和状态显示,如将状态点B1状态置1,则需单击B1前的小方框。界面的上方是菜单栏。用户可通过菜单的选择进行编辑、保存、打开等功能,编辑完毕,按下Run键,TCL/TK的底层程序将会检测状态点状态,并根据元件种类进行逻辑运算,这些直接使用TCL/TK编程就能够实现。而Exit键则是退出,当按下该键时,将会设置全局变量Quit=1并传递给关闭模块Plcshutdown。关闭模块将关闭所有在运行的软PLC模块,并杀死分享内存上的信号量。文本编程监控界面。文本语言相对不够图形语言直观,设计监控界面,能够从监控界面上调用所

12、需要的文本程序,同时对各个状态点的状态进行显示和控制。 (4)文本编辑模块,用户文本程序的编辑模块,使用文本编辑器即可实现。用户使用符合61131-3标准的编程语言编写控制应用程序。编辑好的模块将会被软PLC的编译器所编译,生成可执行代码。(5)逻辑模块,软PLC的核心模块,它包括IEC61131-3编译器和数据处理模块。IEC61131-3编译器将编译用户编辑好的文本应用程序,首先将PLC的代码编译成C语言,然后再调用GCC将程序和软PLC的链接库编译成目的文件,同时显示编译结果的正确性,将编译的错误信息及警告信息反应给用户。文本编辑模块与编译模块在软PLC运行时,不会作为调用模块。软PLC

13、只调用最后生成的可执行模块。数据处理模块执行对各种浮点型数据的操作,功能包括PID控制、按一定的比例缩放数据大小等。(6)通信模块Communicationmodule,主要负责软件的网络通信协议等的实现,借助与操作系统的结合构建网络服务器,实现强大的网络服务功能,实现Modbus等总线协议的总线控制功能。(7)I/O模块,软PLC与物理IO连接的模块。通过IO模块,软PLC的状态点与硬件的IO点逐一对应,软PLC能够通过IO模块直接读写PC104上IO扩展板的IO点,实现对IO点的读取和控制。(8)关闭模块Plcshutdown,由于本设计采用了多模块化设计和分享内存通信机制。因此退出,需要

14、关闭所有正在运行的模块和杀死分享内存上的信号量。关闭模块提供了Quit的全局变量,当Quit=1,将运行关闭模块中的程序关闭所有的软PLC模块和杀死分享内存的信号量。以上是根据需要设计的一些模块,根据用户需要还能够增加一些模块,如记录模块,数据库连接模块等,这些模块将会记录软PLC的工作记录和保存软PLC的数据记录。这些有待进一步的开发和设计。设计好各个模块,软PLC的工作流程可如图3所示。本设计是在Linux下进行设计,除HMI模块是使用TCL/TK设计外,其他均是使用C语言进行编写,在Linux下使用GCC进行编译。由于篇幅所限,此处不展示代码。实例下面以一个简单的对3并口通道循环控制为例

15、,讲明的工作流程。1梯形图编程。从软PLC主界面进入后,启动梯形图编程,调用梯形图编程的主程序。梯形图编程共需要调用梯形图界面模块、关闭模块、IO模块,这些均在配置文件中设置好,不需用户进行设置。配置文件主要部分定义如下:需运行的模块:主要状态点定义:Ladder为拥有写的权利模块,主程序启动后,将读取对应的配置文件,运行所需模块。用户即可在梯形图界面进行编辑,编辑后的梯形图程序如图4所示。这是一个比拟简单的程序,因此只需要使用3个计时器和几个复位、置位输出就能够实现功能。编辑好梯形图程序后,按下Run键,程序即可运行,并实现对IO板上对应端口的控制。2文本IL语言编程。开场与梯形图编程一样,

16、从软PLC主界面进入后,启动IL语言编程,调用主程序。文本编程共需要调用监控界面模块、逻辑目的程序模块、关闭模块、IO模块。逻辑目的模块为用户编辑好的IL程序,并通过编译器生成的可执行逻辑程序,用户可在PC机上编辑和编译好逻辑程序,再移植到PC104上进行调用。为编译后的IL程序模块,由于篇幅关系,实现循环控制的IL程序在此处不再列出。结束语具有强大的功能,在工业控制中发挥着越来越重要的作用,是一项具有宏大潜力的技术,其强大的网络功能是传统的PLC无法比较的。中国工业自动化的水平相对国外来讲较低,技术含量少。因此国内企业要在剧烈的竞争中立于不败之地,必须增加生产的自动化程度,提高产品的技术含量。发展自主产权的软PLC将对此问题产生有力的推动作用,也有助于我国PLC企业发展本国市场并向外扩展。0

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 技术资料 > 技术方案

本站为文档C TO C交易模式,本站只提供存储空间、用户上传的文档直接被用户下载,本站只是中间服务平台,本站所有文档下载所得的收益归上传人(含作者)所有。本站仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。若文档所含内容侵犯了您的版权或隐私,请立即通知淘文阁网,我们立即给予删除!客服QQ:136780468 微信:18945177775 电话:18904686070

工信部备案号:黑ICP备15003705号© 2020-2023 www.taowenge.com 淘文阁