可编程控制器(PLC,Programmable LogicController)经过几十年的发展,现在已经成为了最重要、最可靠、应用场合最广泛的工业控制微型计算机。然而,人们在使用过程中也逐渐发现了传统PLC的缺点:兼容性差,由于生产厂家众多,各种机型互不兼容,没有统一的标准,难以构造统一的硬件结构;封闭、扩展能力差:产品能力的功能实现依赖硬件;对使用者的要求高:现行的PLC 产品,其编程方式要求使用者对PLC的硬件结构、电器原理、编程指令都要有相当的了解;可维护性差:PLC 出现故障时需要专业人员用专业工具进行检测和维修;成本较高,传统PLC 被几家厂商所垄断,性价比增长缓慢。这些问题都制约着传统PLC 的发展。近年来,工控领域的不少研究人员一直在寻求着解决这些问题的途径。随着计算机软硬件技术的发展及PLC 国际标准IEC61131-3的制定,在计算机上以软件的方式来实现PLC 成为了发展的热点,这也就是软PLC(Soft PLC)。
软PLC介绍
软PLC,也叫软逻辑,是一种基于PC 机开放结构的控制装置。软PLC 综合了计算机和PLC 的开关量控制、模拟量控制、数学运算、数值处理、通信网络等功能,通过一个多任务的控制内核,提供了强大的指令集、快速而准确的扫描周期、可靠的操作和可连接的各种I/O 系统及网络的开放结构。软PLC 提供了硬PLC 的各种功能,同时具备了PC 的各种优点。
基于PC 平台的软PLC 由于无需专门的编程器,因而可以充分利用PC 机的软硬件资源,直接采用梯形图或指令语言编程,并具有良好的人机界面,在数控系统中正逐渐取代硬件PLC,PLC 编程系统也正在逐步转向占据软件市场的PC 机。软PLC 技术发展的一个重要条件就IEC61131-3 标准的制定。
20 世纪90 年代,IEC(国际电工委员会)颁布了IEC61131 国际标准,它的内容涵盖了PLC 整个生命周期的各个部分。IEC61131-3 是PLC 的语言标准,它定义了5 种PLC 编程语言的规范,其中结构化文本(ST)和指令表(IL)为文本语言,而顺序功能图(SFC)、梯形图(LD)、功能模块(FBD)为图形语言。同时,标准还允许在同一个程序中混合使用多种语言。IEC61131-3 标准由IEC 的SC65BW7工作组制定,它包括来自不同的PLC 制造商、软件公司和用户代表,实现了统一的编程标准。相对传统PLC,软PLC 解决了兼容性差、通用性差等问题,具有了多方面的优势:
(1) 硬件体系结构不再是封闭的,用户可以自己选择合适的硬件来组成满足要求的PLC。
(2) PC 机厂家的竞争激烈使得基于PC 机的软PLC 性价比得以提高。
(3) 软PLC 不仅可以实现连接到私有的PLC 网络中,而且可以通过PC 连接到计算机网络上。
(4) 由于软PLC 是基于IEC61131-3 标准的,因此在掌握标准后就可以容易的进行开发了。
由于软PLC 具有兼容性、通用性、性价比高、易于与网络连接、编程方便等优点。因而,目前世界各国都在进行软PLC 的研究。国际上,已经有了一些比较成熟和影响比较大的产品:如德国KW -sofeware 公司的MULTIPROG wt32、倍福TwinCAT控制软件TwinCAT PLC、法国CJ International公司的ISaGRAF 软件包、PCSoft International 公司的WinPLC、美国Wizdom Control Intellution 公司的Paradym-31 等等。而国内有关部门和工控方面的公司也正在着手研究开发具有自主版权的中文软PLC产品。
软PLC设计平台
硬件工作平台
软PLC 的期待硬件工作平台为工控机等PC 工业微机平台和嵌入式PC 平台。本设计因需要应用于嵌入式的数控系统中,所以采用了嵌入式PC 平台。嵌入式PC 是将PC 机的主要硬件集中在一张信用卡大小的主板上,将操作系统和应用软件存储在Flash芯片中。嵌入式PC 与标准PC 全兼容,采用与标准PC 相同的硬件结构和软件结构。因而,嵌入式PC在理论上能完成与普通PC 系统的工作。因而,我们可以在普通PC上做好设计和开发,再将软件移植到嵌入式PC 上。
嵌入式PC 包括单板计算机(SBC)、PC/104 计算机和饼干机,本设计采用的是嵌入式PC104 计算机。嵌入式PC/104 组件尺寸小,标准化,模块化程度高,采用层叠式结构,通过在CPU 板的基础上堆叠扩展板构成一个完整的计算机系统。PC104 的扩展板齐全,包括了网卡、数字I/O 卡、A/D 卡等。在PC104 上构造的系统即嵌入式软PLC 可扩展性好,标准化和模块化程度高。
现今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 环境是单任务处理方式,使得PC 的潜力得不到充分发挥,系统的功能和灵活性也受到限制。而Windows 具有操作界面良好、程序开发相对容易、多任务等优点,但Windows 操作系统并不是一个理想的实时操作系统,且Windows 操作系统是收费的,这将大大增加开发应用的成本。因而,本设计配合数控系统的需要选用的是Linux 系统为操作平台,基于Linux 内核模块的Rtlinux 是一个免费的、开放源代码的实时操作系统。
软PLC模块设计
本设计的软PLC 基于嵌入式PC104 计算机,建立在Linux 操作系统之上,软件的设计采用了模块化设计。每个模块都专职一项功能,每个模块都是一个进程。软PLC 全局变量是所有模块的公共数据,由配置文件设定。各个模块通过全局变量进行通信,各个模块的私有数据不包含在配置文件内。全局变量在每个模块都有副本,各个模块通过副本的数据对本模块进行运算,当循环一次运算后,就更新到全局变量,这样就实现了各个模块之间的通信。每个模块对全局变量的读写权限不一样的,只有对全局变量具有写权限的模块才可以更新全局变量里的数据。每个模块作为一个进程,进程之间的通信采用的是共享内存进行通信。软PLC 各模块之间的结构框图如图1 所示:
声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉