pc电源编程工具

在过去,可编程逻辑控制器(plc)是用专用软件在继电器梯形逻辑中编程的。屏幕导航带有功能键。几乎没有办法将程序从一台机器重复使用到另一台机器。对于一些问题,从用户的观点来看,从通用汽车动力系统侧栏。

Gary A. Mintchell,控制工程 一九九八年十二月一日
关键字
  • 机控制

  • 编程

  • 微软视窗系统

  • 控制软件

  • 可编程逻辑控制器(plc)

栏:
IEC 61131-3定义
通用汽车动力总成揭示了软件愿景

在过去,可编程逻辑控制器(plc)是用专用软件在继电器梯形逻辑中编程的。屏幕导航带有功能键。几乎没有办法将程序从一台机器重复使用到另一台机器。对于一些问题,从用户的观点来看,从通用汽车动力系统侧栏。

如今,编程软件的外观和功能都大不相同。大多数工程师和技术人员至少熟悉微软Windows 32位工具,如“拖放”、“剪切-复制-粘贴”、对话框和向导等。Visual Basic, Microsoft Visual Basic for Applications,甚至C和Visual c++也很有名。

需要开放系统

用户的要求越来越高——希望能够为当前的应用程序选择最好的产品。如果另一种产品更适合下一个应用程序,那么用户希望能够在不进行大量再培训的情况下切换。还需要编程软件工作在一个以上的硬件平台的能力。开放系统允许用户做出这些决定,而不是默认一个供应商。(例如,参见.的相关文章控制工程1998年9月,第156-163页,1998年10月,第92-100页。)

使开放策略发挥作用的一种方法是制定产品标准——比如数据类型和结构、接口、平台等。这种标准的一个例子是IEC 61131。这个国际标准由五个部分组成,其中第三部分涵盖了编程语言。(IEC今年在命名法中增加了“6”;供应商仍然普遍使用“1131-3”)虽然不是标准,但Windows的dll、api和通用对话框的接口被广泛使用,并且为全球大多数控件工程师所熟知。

编程语言标准iec 61131-3包括两个部分:公共元素和编程语言。常见的元素包括数据类型、变量、配置、资源、任务、程序组织单元和顺序功能图表。尽管允许用户定义类型,但定义公共元素提供了程序的公共组织,从而减少了出错的机会。顺序功能图通常被认为是五种标准“语言”之一,但实际上是一种逻辑组织程序的方法。它被组织在动作和转换中,其中一个动作被处理,直到转换变为真,此时该动作被关闭,下一个动作被激活。

标准的其他四种语言在程序设计语言一节下定义。其中两种语言是基于文本的,另外两种是图形的。文本语言是指令表,它类似于汇编程序,并且是结构化的文本,和帕斯卡类似。图形语言有梯形图,当然是在美国使用最广泛的功能框图.该标准允许用户定义的功能块,可以包含用C编写的自定义例程,梯形图,结构化文本或指令列表。这些块可以在其他程序中保存和重用,显然是一个非常强大的工具。

还有一种“第六种”语言,它不是标准流程图的一部分。一些公司正在推广这种语言作为IEC 61131-3的补充。由于市场上有不同种类的流程图,标准化的好处也适用于这种语言。

有关该标准及其好处的更多信息可通过联系PLCopen (Bloomingdale, Ill)获得。美国;Zaltbommel,荷兰;东京,日本),一个在国际上推广该标准的组织。

分布式系统编程

根据罗克韦尔自动化高级首席工程师、IEC 61131编辑和IEC 61499项目负责人James Christensen的说法,IEC 61131-3标准的一个问题是,它只处理一台PLC或PC内发生的事情。即使在离散制造中,控制系统也倾向于分布式控制模型。IEC 61499是一个使用ISA现场总线模型进行分布式控制的小组,分布式控制是当今敏捷制造所必需的概念。功能块的定义与61131不同,尽管这两个组都属于同一个技术委员会。现在的工作正在朝着更广泛的定义发展,以便为程序员提供改进的方法。这些标准仍在不断发展。

标准化编程工具的采用在欧洲取得了进一步的进展。Klopper & Wiege Software GmbH (Lemgo, Germany)在Windows环境中提供所有五种语言。根据Bernd Pelzer的说法,“今天,IEC-61131标准是国际上公认的软逻辑PLC系统的编程接口。它简化了软件任务并缩短了开发周期。这样的32位环境包括高效的特性,比如用于快速开发应用程序的向导,或者在编辑和在线调试期间自动更新交叉引用。目前的32位技术,如DCOM和ActiveX,既开放又集成。”

3S公司(德国肯普滕)的Manfred Werner认为工作应该集中在I/O驱动程序、数据交换和通用数据库的标准上。他补充说:“我认为该标准有两个主要好处。现在有一个编程工具的软件市场。工具是由专业软件公司制作的。培训人员更简单。一旦理解了IEC编程,人们就可以很容易地切换工具。”

Softing GmbH(慕尼黑,德国)的研发经理Achim Liebl指出了几个在编程包中有用的新软件技术:用光标激活的动态“工具提示”提供了有用的提示,标准的OPC (OLE for Process Control)驱动程序提供了人机界面和I/O系统的接口,加载人机界面信息的功能块是启用Web浏览器的,而且Softing的软件接受Java代码以及其他标准语言。

根据Phoenix Contact公司Interbus组主管Mark Knebusch的说法,实现诊断的能力是编程工具的一个重要属性。Phoenix Contact的编程软件利用Interbus网络的诊断能力,精确定位故障位置,节省维护时间。

“独立于硬件的编程是标准工具的最大好处之一,”TranSys (Gilbert, Ariz)的执行副总裁兼总经理Robert Lyons说,TranSys是CJ International (Seyssins, France)的姐妹公司。“当更换硬件平台时,不需要更改程序。只有I/O配置需要修改。”流程图已被添加为IsaGraf包的第六种语言,这表明该工具越来越受欢迎,特别是在美国。

ASAP的应用工程师Lucian Fogoros指出,C/ c++函数块编辑器增加了编程的灵活性。“从一个编程环境与至少20家制造商的I/O模块通信,再加上直接与HMI对话的能力,进一步提高了灵活性。”

可移植性和可伸缩性

Intellution公司(马萨诸塞州诺伍德)的业务发展经理Bruce Buscher指出:“在美国和欧洲,加入PLCopen的公司数量证明了IEC 61131-3的实力不断增强。另一个因素是今天支持该标准的软件公司和PLC制造商的数量。”Intellution软件与嵌入式控制总监Bill Medved补充道:“我们61131-3产品的可扩展性是标准的一个重要优势。该软件可以在Windows NT上运行,具有实时内核;Windows NT;以及运行在英特尔、日立SH3和MIPS芯片上的Windows CE。C语言也是平台可移植性和可扩展性的好工具。”

施耐德自动化(North Andover, Mass.)也支持IEC 61131-3语言。程序员可以构建用户定义的函数块库,以便在其他程序中重用。未定位变量像商用PC中的RAM一样分配内存,从而消除了浏览器知道寄存器号来查找数据的要求。

对Wonderware(加州欧文市)产品营销经理斯科特•基瑟(Scott Kiser)来说,关键在于灵活性。ActiveX组件可以集成到Wonderware的iec兼容编程语言中,用软件对象打开世界。客户已经为排序、PID、视觉接口、驱动器和I/O设备编写了ActiveX控件。C、Visual Basic或Java都可以用来编程对象,这给了程序员所需的灵活性。甚至可以从网上下载ActiveX组件。”

西门子能源与自动化公司还通过组态软件支持一些IEC语言,使I/O点分配比目前的梯形图更容易。

一位色盲工程师指出,在编程工具中,除了颜色区分之外,还需要一些约定。VMIC(亨茨维尔,阿拉巴马州)设计了一种让色盲工程师通过逻辑工作的方式。销售和营销助理副总裁Wayne McGee强调的一个有用的工具是在调试期间设置断点和逐步执行程序的易用性。OPC和DDE是使用的标准通信工具。

罗克韦尔软件公司(Mayfield Heights, O.)在其编程工具中支持五种IEC语言中的三种:梯形图、结构化文本和顺序功能图。罗克韦尔已经安装了非iec软件的plc基础,但新的Logix战略(参见本月的技术更新)包括在编程软件中采用标准。

Jeff Wilson, GE发那科自动化(Charlottesville, Va.)经理指出了结合标准iec兼容语言的其他好处。梯形图、结构化文本和顺序函数图编辑器利用Windows技术,便于程序创建和维护。将结构化文本集成到顺序功能图中,为顺序控制与连续控制的结合提供了一种有用的方法。一个应用程序中的多个SFC程序提供了程序流程和执行灵活性。”

三菱电机自动化(弗农山,伊利诺伊州)提供三种控制编程选择。高级产品营销工程师蒙蒂•福克斯(Monty Fox)表示,目前大多数客户仍然喜欢带有三菱指令集的传统梯形图。运往欧洲的原始设备制造商更喜欢符合iec标准的版本。“流程图程序,”他补充道,“由于程序中的每个元素都有标签,因此在安装后经过一段时间后,可以更容易地进行故障排除。更容易跟踪逻辑,使操作员能够进行基本的故障排除。应用程序被划分为单独的进程,而不是一大块代码。这种模块化方法允许机器随着时间的推移而扩展。”

流程图提供优势

正如Nematron (Ann Arbor, michigan)的产品管理副总裁Tim Wallaert所观察到的,“如今几乎每个从大学毕业的电气工程师或程序员都学会了如何制作流程图。”流程图几乎是自记录的,在故障排除时易于遵循。沃勒特补充说:“每个区块都是一个子程序。在程序员地理位置分散的复杂项目中,在程序员之间分配任务很容易,并且更有保证程序在组装时可以正常工作。”Nematron的包使用iec兼容的数据类型和变量。

steplecase Software(密歇根州安娜堡)的产品营销总监Jeffrey Fisher指出:“流程图由方块(行动元素)组成,方块(决策元素)检查事情是否完成或移动。添加一些基本工具可以减少调试。流程图有两个主要优点。首先是诊断——每个决策都可能成为自动诊断的占位符。另一个主要优点是模块化、可重用、通用的子程序被开发为库和样本。”

Cutler-Hammer Automation (Westerville, O.)在其流程图编程包中添加了一个类似Windows资源管理器的界面,以方便导航和故障排除。配置库使编写许多例程变得容易。

“流程图是可扩展的,”Gary Marchuk说,他是Think & Do软件公司(密歇根州安娜堡)的销售和市场经理。“流程图允许程序中的‘动作’块。使用可扩展性增加了诸如PID环路控制、串行通信、运动控制和字符串处理等功能。程序员可以在公共编程环境中使用公共数据库与控制设备进行交互。”

Opto 22的流程图工具包括实时多任务处理,每个图表都是一个任务,最多可以同时运行31个图表。销售副总裁Bob Sheffres补充道:“逻辑可以按照用户要求的任何方式流动,而不需要严格遵守编号结构。流程图可以在PC或各种强化控制器上执行。从控制数据库直接连接到Microsoft SQL Server和Access,以便进行信息处理。支持智能I/O设备,允许在I/O级别执行的操作编程,包括PID,高速计数,事件反应等。

选择一个工具,任何工具

微软Windows作为一个广泛使用的工业平台的发展已经催生了许多独立的软件开发人员,他们正在寻找增强编程软件功能的方法。这种竞争刺激了其他人的创新。其结果是软件比以往任何时候都更强大,更容易使用。

IEC 61131-3定义

IEC 61131标准的第三部分定义了五种标准编程语言。

顺序函数图-实际上不仅仅是一种语言,它也是一种组织控制程序的图形方法。

指令表-一种类似于汇编语言的基于文本的语言。

结构化文本一种基于文本的语言,类似于Pascal。

梯形图-在北美最常用,它用图形表示触点、线圈和特殊指令块的梯级。

功能框图-与电路图相对应的图形语言。

通用汽车动力总成揭示了软件愿景

通用汽车动力系统公司(GMPT)已经委托专家团队为制造自动化控制的工程、设计、文档和编程定义未来的愿景、需求和迁移计划。竞争压力要求以更快的速度、更低的成本向全球市场推出质量更好的新产品,这促使通用汽车需要以全球通用的方式改进控制工程流程、标准和工具。影响操作的子目标包括减少停机时间和质量损失。影响工程成本的子目标包括软件组件等资产的重用。

通用汽车面临许多挑战。缩短交货期的力量在产品工程、制造工艺工程和控制工程中重叠,需要对机器/过程控制程序进行更改。生产控制方面的其他差异源于全球范围内工厂复制时间、应用特性、区域法规、公约、标准和技能基础限制的差异。快速的技术过时迫使在产品程序完全实现之前对平台组件和工具进行升级。由于与制造设备相比,计算机技术的生命周期较短,因此必须在设备的生命周期内进行多次升级。因此,许多版本的平台组件和工具在生产中使用,增加了维护难度和更新培训成本。

为了应对这些挑战,GMPT通俗化工作将把来自世界各地的最佳实践和经验教训整合到一个通用的全球规范中。关键技术概念包括:(1)使用主流技术;(2)基于模块化组件的体系结构,最大限度地提高软件重用和最小化需求、技术、执行平台和表示形式变化的成本;(3)统一的工程和编程工具和环境;(4)协调国际标准。

使用主流技术

解决方案应尽可能利用主流大容量应用程序中使用的计算和通信/网络硬件、平台软件、工具和软件组件。以特定于制造自动化行业的方式创建和维护等效功能是不经济的。当主流计算和网络服务以可靠的、可维护的方式满足应用程序的需求时,接口应该对主流计算和网络服务(例如web工具、通信服务和操作系统服务)是通用的。

模块化的基于组件的体系结构

控制逻辑软件应该是模块化的、可移植的,并由可重用的库组件和语言元素组成,这些组件和语言元素具有公共的、与供应商无关的接口,并在各自的应用领域和用户之间进行标准化。用户组织,在其制造操作中,应该能够重用这些库,并管理版本和配置控制、分发和维护,以确保整个程序的一致性。

应用程序类库组件可以来自控制器、编程工具、机床、硬件组件供应商、控制集成商或第三方软件组件供应商的供应商。控制逻辑序列,建模为状态转换网络,由这些类的实例的功能组成。特定应用程序域中控制周期的重复模式可以作为库类重用。整个机器控制逻辑程序由上述可重用的库组件组成,根据需要进行专门化或实例化。通过这种方式,最小化了特定于机器的编程。类库的重用还有助于保持一致的结构并减少后续培训时间。

通过一组定义好的软件接口,所有库组件及其状态转换网络(包括整个程序)应该在一个视图无关的数据库中可用和可访问。这struc -

ture允许灵活地集成在计算机编程语言(如C/ c++, IEC 61131表示语言)或通过流程图实现的预先存在的库组件。

编程工具和环境

应该消除不必要的工程工具和编程语言的多样性。例如,需要一个统一的编程环境,以便在给定的工作单元中对所有功能进行编程。应提供上下文相关的帮助和文档作为进一步的帮助。故障排除不应要求研究原来的控制逻辑程序。

在典型的高生产率制造工作站集成各种处理和支持功能的地方,用户组织面临着获取、维护和集成多种编程环境、语言和技能的负担。应该可以在同一个编程环境中指定各种相互作用的混合进程。

需要统一标准

不幸的是,对于“不同”类型的制造自动化,有不同的编程语言标准,例如,用于数控的ISO 6983或EIA RS 274,用于尺寸测量和检查的DMIS,用于离散逻辑控制的IEC 61131,用于通信的ISO 9506。这些差异已在标准化委员会结构中制度化,例如ISO TC 184(制造自动化技术委员会)。每种语言的词汇在表达能力上都局限于其传统的狭窄焦点。它们的功能中存在显著的非增值重叠。对于同一个概念,它们在语义上存在不必要的混淆差异。

需要统一这些标准,以促进必要的效率改进和一体化。然而,正在进行的标准工作仍然不协调。

为了控制应用程序和工具的软件生命周期成本,我们需要将更高级别的过程计划非常有效地转换为更细粒度的过程计划,直到最终转换为控制制造机床或单元的程序。转换(映射)越简单、越直接,效果就越好。因此,流程计划或操作序列的等价物应该可以分解并尽可能直接映射到控制器api中。然而,没有协调语言体系结构和控制器体系结构规范开发的一致努力。作为整合的第一步,标准化工作应寻求不同表达形式的语义对等。

当前的标准不能保证应用软件的可移植性,也不能保证多源组件的互换性和互操作性。在开发必要的标准、一致性测试和合格的认证设施方面,需要付出更多的努力。

一起工作

通过自动化控制、监控和诊断,在制造操作中存在改进机会。作为解决这个问题的第一步,我们敦促主要用户按照电子硬件设计的成功模式,共同制定一套共同的未来需求。