SIEMENS西藏自治区山南市 西门子代理商——西门子西南总代理
| 更新时间 2024-11-17 07:00:00 价格 请来电询价 西门子总代理 PLC 西门子一级代 驱动 西门子代理商 伺服电机 联系电话 15903418770 联系手机 15915421161 联系人 张经理 立即询价 |
除了相对廉价的个人电脑和为个人电脑编写的PLC编程软件的出现外,20世纪80年代出现了另一个重大发展,也是PLC历史上Zui重要的里程碑之一,即1982年国际电工委员启动了IEC61131-3规范的开发。由于在美国、欧洲和日本等PLC编程语言呈现多样化,如美国流行梯形逻辑图语言、德国偏爱功能图语言、法国的PLC编程语言标准推荐GRAFCET(SFC顺序功能图的前身),以及日本常用指令表语言等,在制定标准的过程中需要获得众多PLC生产商的支持,就必须采取求同存异、相互补充,而不是相互排斥的原则。显然折衷和平衡是一个比较漫长的协商过程,但Zui终还是得到令人满意、各方都能接受的结果。为了弥补传统PLC在复杂数据和复杂控制算法编程处理结构化缺失的短板,还专门开发了一种类似PASCAL语言的结构化文本的语言。在制定编程语言guojibiaozhun的过程中,大量的吸取现代软件概念(例如结构化、模块化、程序的可复用性等)和软件工程技术的方法(例如软件统一开发过程、面向对象的方法等),也有力的推动了标准编程语言的发展。从标准制定的启动到1993年作为IEC1131国际可编程控制器标准正式推出,历时11年。今天,大多数主要PLC制造商都在提供符合IEC61131-3规范的软件开发平台。而且IEC61131-3是迄今为止工业界唯一的工业控制编程语言标准,还被DCS、SCADA、PC控制(软PLC)等系统广泛采纳,成为事实上的工业控制编程语言的通用标准。随着分布式控制系统的强烈需求,在2005年IEC又开发了IEC61499,作为IEC61131-3的补充和扩展,于今也活跃在开放自动化的前沿,这是后话了。
正如IEC61131-3标准所指出的,它的部分内容是“为每一种Zui常用的编程语言定义主要的应用领域、语法和语义规则,简单但完整的编程元素的基本集合,适用的测试和方法,制造商可以扩展或调整这些基本集,以实现他们自己的可编程控制器。”同时为了兼容,一个PLC编程包必须至少支持LD(梯形图语言)、ST(结构文本语言)、FBD(功能块图语言)、IL(指令表语言)和SFC(顺序功能图语言)这五种语言中的一种。
IEC61131-3标准非常重要,因为它为符合该标准的所有软件产品带来了一致性。例如,一个标准IEC定义的函数在一个品牌为x的PLC运行的结果与在另一个品牌y的PLC是相同的。这种标准化一个有价值的结果是,无论什么集成开发环境(IDE),只要有相同的定义输入和输出,函数和功能块看起来都是一样的。因此,工程师或维护人员可以快速理解任何制造商软件的逻辑和程序流程。
IEC61131-3定义了标准数据类型、命名约定、程序流程和其他各种编程元素。当PLC的OEM声明其编程软件符合IEC61131-3时,这通常意味着该软件符合该标准的部分内容。
PLC制造商和用户也可以添加自定义扩展,功能块和数据类型的标准。这实际上造成即使这些平台符合IEC61131-3标准,项目在平台之间的无缝移植也不太现实。2019年在PLCopen开发的XML的IEC61131-3方案(schemes)的基础上推出了IEC61131-10,定义了XML文件交换格式,为跨平台转移项目提供了可能。
目前支持IEC61131-3的编程平台有:德国的CoDeSys和Multiprog;美国的ISaGRAF和COPA-DATA公司的Zenon Logic;意大利Axel公司的LogicLab等。国内近些年也有代码完全自主化的北京奥特思技术有限公司的商品化软件AnyControl问世。
自1993年颁布第一版,IEC61131-3标准于2003年颁布第二版,2013年颁布第三版。基本上是每十年发布一个新的修订版本。
编程语言不可能是一成不变的,随着科技和工业的发展它会不断改善和进步。不过作为国际工业标准,需要有一定年限的稳定期。这两者之间必须有一个平衡。为适应数字控制技术的发展,使编程语言能够适用于PLC、DCS、FCS、运动控制、机器安全及SCADA等工业控制领域的应用,特别是智能制造、工业4.0的大力推进,需要不断努力和完善有关编程语言标准。
第三版是第二版的改进和扩展。考虑到现代编程环境在很多情况下都涉及到面向对象编程,包括Python、c++、Delphi、Java等,第三版的重要改进是面向对象特性的集成,包括类以及方法和接口、功能块的面向对象编程(OOP)特性和命名空间等。这些使编程语言进一步完善了功能和结构等概念,能够让PLC代充分吸取多年来在采用gaoji别面向对象语言的软件开发中经过验证的概念和zuijia实践。正是这些概念产生了更易读、更模块化、Zui终更可维护的代码。此外,通过让PLC软件的开发变得更加现代和类似于上述高度分布式语言,可能会吸引一大批软件工程师进入PLC开发领域,Zui终使PLC代码可以在企业软件组合中占有重要地位。
与第2版相比,这些OOP扩展有一些更改或新的定义。例如,一个原来定义为函数、功能块或程序的程序组织单元,被扩展为包括一个新的类别“类”。功能块和类可以包含方法。此外,它们是可继承的,从而分别引出基型、导出功能块和导出类的概念。
下面列出了Zui重要的新定义:
目前IEC61131-3第四版的修订工作正在进行中。一个可能较大的变化是如何规范与IEC61499的互补和结合,以适应工业技术发展对编程语言的要求。
为了更好的满足工业市场的要求,继PLC编程软件广泛应用以后,推出了自动化套件或统一的综合开发平台,为套件/平台所支持的软件产品提供一个共享的开发接口。这样工业自动化的用户可以在一个集成开发环境下对多个产品系列(如PLC、HMI和运动控制器等)的应用软件进行开发,而无需像以前那样,对同一个控制对象的不同控制功能要启动不同的软件包才能完成应用软件的编制或组态。
不过有些自动化套件包很少或没有程序之间的集成,只不过是启动独立软件的包装器wrapper)或适配器(adapter),提供对异构对象或服务对象的透明访问,将请求或所要求的响应从一个交互接口转换成另一个接口,但在一个软件包中输入的每个数据点都需要从第一个程序复制或导出/导入到另一个程序中。真正集成的自动化套件软件作为一个单独的包开发,可以显著减少程序编制人员的工作量。这种集成开发环境从定义PLC项目开始,程序员可以添加其他要支持的设备(如伺服控制器或安全控制器),软件自动创建所添加设备采用的PLC生成的标签,以及所添加设备自行生成的标签。在创建新标签时,软件会自动创建通信路径和数据类型定义。
应该注意的是,如果使用随PLC硬件产品配套的软件包是不支持其他制造商的产品。当制造商停止支持某些设备的单个软件时,需要购买高价的软件包来支持廉价的控制产品。
也有一类相对通用的自动化套件,支持工业PC实现软PLC和嵌入式系统构建客制化的PLC。譬如意大利的Axel套件(Axel Automation Suite)包括一个完整的软件产品系列:LogicLab(PLC的开发环境,支持IEC61131-3标准的5种语言和C语言),LogicView(用于工业PC的HMI开发环境),PageLab(用于嵌入式系统的HMI开发环境),SoftTune全客制化的多设备组态工具,RunTimes Components(各种开发好供用户选用的实时操作系统、现场总线、OPC UA等组件,可加载到客户的设备程序中),SoftScope(全客制化的供调试用的软件示波器)等。新的Axel自动化套件3.2.8已投放市场,而且增添了一些新的性能,如开源的工业OSCAT算法库,PLCopen Motion库,以及MQTT引擎的实现等。
自动化软件在不断发展。它当然比早期的在DOS操作系统环境下的软件产品做得更好更多。现在,当自动化工程师熟悉了一个品牌自动化套件或开发平台,即使转换到另一个品牌也可以很快适应,而不用经历一个较长的学习过程。这也可看成是标准化的一个直接作用。