机器人

图形界面是程序员的朋友

编程编辑器和语言越来越多地装载强大的函数。更快、更强大的控制器、微处理器和微软基于windows的图形环境相结合,允许程序员完成复杂的任务。PLC编程最初是严格的布尔型。一个语句将是类似于“如果(限位开关接触)A关闭或(电机起动器接触…

由Gary A. MintChell,控制工程 1999年11月1日
关键字
  • 机控制

  • 流程图编程

  • IEC 61131

  • PLC编程软件

  • 编程

栏:
IEC 61131 - 3种语言
让“艺术分解”成为现实

编程编辑器和语言越来越多地装载强大的函数。更快,更强大的控制器微处理器和微软的基于Windows的图形环境结合起来,允许程序员完成复杂的任务。

PLC编程最初是严格的布尔型。A statement would be something like ‘If (limit switch contact) A closes OR (motor starter contact)B closes AND (limit switch contact) C is closed THEN energize coil D.’ There were, and still are, text-based languages to accomplish this programming. Relay ladder logic (RLL), also called ladder diagrams (LD), were found to be ideal representations of Boolean logic (see diagram). These diagrams looked like relay logic diagrams familiar to electricians, while representing digital logic.

对于某些机器函数来说,这很好,但当程序员需要特殊函数,想要做数学运算,有模拟输入和输出,想要通信时,会发生什么呢?函数块解决了这个问题。RLL程序编辑器开始合并一个特殊函数块库,用于计时器、计数器、数学、消息传递和越来越复杂的函数(如PID控制)。

语言标准

RLL是机器控制最常用的编程语言,但今天使用的其他四种语言包括功能框图(FBD),结构化文本,指令列表和流程图。还有用于运动控制的专用语言,C通常用作控制语言。传统PLC语言的编辑已经专门为特定的硬件平台开发。在处理从一个制造商到另一个制造商的时,不同的惯例演变为处理特殊功能导致混淆。

为了从混乱中恢复秩序,采用了国际标准IEC 61131。IEC 61131-3由通用元素和编程语言两部分组成。

常见元素部分定义了数据类型,变量,配置,资源,任务和程序组织单位。定义数据类型可防止此类错误作为整数分隔日期。变量仅分配给配置,资源或程序中的显式硬件地址,以实现从程序的硬件独立性。为特定控制系统配置程序,并且被认为是函数和功能块的网络。

程序,函数和功能块称为程序组织单位。IEC已定义标准函数,如添加(Ition),ABS(绝对)和SQRT。在标准下允许用户定义的功能。一旦定义,可以重复使用它们。功能块等同于集成电路并表示专用控制功能。它们包含数据以及算法,并具有明确定义的接口。该程序可以用任何定义的编程语言编写。

这四种已定义的语言都有已定义的语法和语义,没有给方言留下任何空间。有两个文本和两个图形版本。文本语言有类似汇编代码的指令列表(Instruction List)和类似Pascal的结构化文本(Structured Text)。图形化语言有梯形图和功能块图。FBD在加工工业和程序中很常见,就像一组相互连接的图形块,类似于电子电路图。

顺序功能图

顺序功能图表(SFC)不是一种语言,而是描述了图形方式控制程序的顺序行为。这是根据所选择的特定编辑器使用一种或多种语言,这是一个组织结构。许多编辑器还允许在C和其他计算机语言中进行编程。

SFC被组织成步骤(包含动作)和转换(参见示例)。每个步骤代表系统的一个特定状态。转换是一个条件,当该条件为真时,将导致取消前一个步骤,并激活下一个步骤。一个台阶用一个矩形来表示,其中的台阶由一条形成路径的直线连接。穿过步骤之间连接线的线表示过渡。每个步骤后面都有一个转换。第一步通常是初始化系统。

步骤中的每个操作块和每个转换都可以在任何IEC标准语言或其他语言中编程,例如编辑器支持的其他语言。并非所有编辑都支持所有四种IEC语言,但它们可能是IEC符合IEC符合IEC的。

sfc可以在AND或or路径中分支。在OR分支中,转换在每个并行路径的步骤之前。第一个条件为true的路径将被激活。一个转换用于激活AND分支中的所有路径。当它为真时,每个平行路径的第一步将被扫描。

结构化程序设计

普尔科潘执行董事Eelco Van der Wal(荷兰ZaltBommel),在使用机器控制的结构化编程时,识别成功的七个步骤:

  • 识别控制系统的外部接口,

  • 控制系统和工厂其他部分之间交换的主要信号的定义,

  • 所有操作员交互、覆盖和监控数据的定义,

  • 分析控制问题从顶层到逻辑分区,

  • 所需pou的定义,

  • 定义扫描周期时间要求,以及

  • 通过定义资源,将程序与物理输入和输出连接起来,并将程序和功能块分配给任务来配置系统。

范德华解释说,“IEC 61131-3可以帮助你,特别是在转换成软件的四个步骤中。”

罗克韦尔自动化(Mayfield Heights, O.)高级首席工程师Jim Christensen与IEC 61131-3和61499的技术委员会一起工作。61499标准描述了功能块在分布式控制环境中的使用,这种环境通常在大型流程制造工厂中出现。他解释说,两个标准定义的功能块不一样,这可能会造成一些混淆。61499演示了如何将61131函数块放入61499块中来实现分布式处理。他预测,随着未来标准的修订,两者之间的协调将会加强。未来还可以看到XML的定义,用于分布式代理的制造和开发、协作式分布式代理以及完整制造的其他进展。

克莱夫·史密斯,施耐德电气自动化公司(North Andover, Mass.)软件经理,指出了其编辑器固有的诊断功能。每个步骤都有可以与容忍窗口相关联的持续时间的自动计时。如果该步骤启动和关闭的速度过快或耗时过长,则可以发出警报来警告问题。在库中封装块和节省时间可以在未来的项目中节省很多编程时间。专有算法可以在C中创建,并保存到.exe文件中以保持它们的私有。

Ge Fanuc Automation(Charlottesville,VA)的Versopro产品经理Jerry Weisenborn说,编程编辑器最重要的设计参数是为了使其易于使用。此函数扩展到应用程序之间的标签数据库和从Microsoft Excel中的加载变量中共享标记数据库或访问变量参考表。运动轴控制也集成在一起。

用于编程的流程图

有一个图形系统教几乎每个大学生作为分析流程图的工具。流程图包含我们熟悉的矩形动作块和菱形决策块。一些美国公司将流程图作为控制编程工具,包括Cutler-Hammer (Westerville, O.)、Nematron (Ann Arbor, michigan .)、障碍赛跑软件(Ann Arbor, michigan .)和Think & Do软件(Ann Arbor, michigan .)。这些流程图使用PC作为系统控制器。

编程流程图有两种基本的元素类型:动作和分支。Action块表示对系统中数据的操作。这可能包括输入或输出数据。一个Action块有一个入口点(顶部)和一个出口(底部)。菱形分支块表示控制电路中基于决策结果的分支。决策可以将一个变量与另一个变量进行比较,或者将一个变量与一个常量进行比较。分支块有一个入口点(顶部)和两个出口点(侧面和底部)。

这块街区有什么?虽然这些公司提供的编辑存在差异,但它们也在方法中也类似。通常,程序员将在工作区中放置一个框,用鼠标单击它以激活它,然后选择所需的逻辑或控制类型。可以编辑或输入逻辑语句,例如,运动移动或PID设置点输入参数。流程图编程的优点之一是内置的复杂控件库。提供了通过Microsoft Windows NT的集成运动控制,PID和快速数据通信。必须指出的是,思考并仅在NT上运行,而其他人则在NT下使用嵌入式“实时操作系统”。

其他可用的操作包括对工厂网络的I/O设备控制、布尔逻辑函数、高级数学、数组操作、字符串函数以及移动和复制数据。动作块可以调用一个子流程图,执行Do循环,等待(定时器功能),并执行串行通信。

分支块是决策和比较。一个决定返回Yes或No的条件“开关1打开了吗?”Compare查看两个值是否大于、小于或等于,并返回Yes或No。If- then - else逻辑可以通过决策块(If)轻松实现,每个出口都指向一个Action块。所以,如果开关1是打开的,那么打开线圈1,否则打开指示灯1。然后将两个动作块连接到下一个动作上。

如果初学者熟悉梯形图,那么将决策块看作是接触块,将动作块看作是线圈是很有用的。如果触点是开的(决定块),然后打开一个线圈(动作块)。

此信息主要来自思考和做软件的白皮书(WYSIWID控制逻辑你看到的是它做了什么)与额外的输入从障碍赛跑软件手册

国家语言削减了复杂性

sfc的前身之一是国家语言。控制技术公司(Control Technology Corp., Hopkinton, Mass.)总裁Ken Crater说,状态语言从20世纪70年代早期就出现了,是由Carl Adam Petri在20世纪60年代早期开发的Petri网理论派生出来的。国家语言的基本工具是国家或步骤。步骤定义了机器或过程(或部分)在有限时间内的完整状态。通常有两个组成部分:一个或多个命令来创建一个运动或改变,导致新的物理状态;以及一个或多个指令来限制该步骤的持续时间,指定完成该步骤的条件,并激活下一个步骤。

控制语言的未来是什么?Crater表示,一种被称为封装的技术可以在检查顶级程序流程时,将机器执行器详细控制的复杂性隐藏起来。这使得程序更容易理解,并起到导航辅助的作用。封装包括以一种方式组织状态语言程序,即机器的大部分功能驻留在任务中,每个任务与机器上的一个机制或模块相关。

另一种基于pc的控制编程方法是美国国家仪器公司(Austin, Tex.)的LabView。作为一种图形语言,LabView的外观和行为类似于函数块编程。最初设计用于数据采集的程序被称为虚拟仪器。LabView越来越多地用于各种工业控制。LabView用户不仅可以开发逻辑、排序和PID控制,还可以设计一个用于频率分析的阵列管理系统。例如,LabView使得振动监测等应用程序可以直接用于预测性维护。

C已经用于各种类型的控制好几年了。Visual Basic相当流行,但还没有移植到控件应用程序中。Micro-Design Electronics (Brandon, Miss.)正在使用它来加强pc与plc的连接。其VB函数库实现了操作界面、控制系统、数据采集等功能。随着越来越多的程序员熟练使用这门语言,希望看到更多的VB在控件中使用。

机器控制程序员的好处是,竞争正在推动所有公司,使编辑更容易使用,语言更强大。值得注意的是,只需参考控制编程而不是基于PC或基于PC(甚至DCS)编程,它变得最有用。

IEC 61131 - 3种语言

在编程plc的国际标准IEC 61131的第三部分规定了两种基于文本的语言:

结构化文本类似于帕斯卡,和

指令表类似于汇编语言。

有两种图形语言:

梯形图两条垂直的“电源”线和水平的“梯级”,包括触点和线圈的表示,以及特殊的块

功能块图表达作为类似于电子电路图的一组互连图形块的功能。

顺序功能图被指定为描述控制程序的顺序行为的方法。它们不是一种语言,而是援助构建计划的内部组织。

让“艺术分解”成为现实

制造商面临越来越大的压力,需要快速应对不断变化的市场,这推动了新的制造设计和实施工具。戴姆勒-克莱斯勒和其他汽车制造商正在他们的车身生产系统中利用一些最新的软件技术。

该系统允许它们在虚拟世界中查看机器和部件设计,在剪切金属之前,消耗昂贵的资源。这项技术可能被称为“CAD来控制”,因为它专注于从CAD(计算机辅助设计)环境信息中提取,这些环境信息可以应用于创建和修改植物地板机械的控制程序。相同的信息可用于使用虚拟原型验证该过程。

虚拟制造

虚拟制造允许工程师查看计算机模拟版本的成品机器如何在厂房上运行。在部件开发的开始阶段确定设计机器的最佳方法可以节省数千美元。Daimlerchrysler的工程师认为,通过使用虚拟原型设计,他们可以节省数百万美元的新启动。

CAD Technologies用于设计和开发许多产品的产品,以及用于制造的一些机器。虚拟制造,也称为数字工厂,将CAD带到下一级别,允许工程师开发完整的交互式制造系统,而不是独立的组件。三个主要技术允许虚拟制造系统的概念成为现实且经济实惠的:CAD系统,3D可视化和操作系统。

第一代用于工厂地面机器控制的CAD是建立在20世纪70年代末和80年代初的2D技术之上的,当时软件代表了一个单一平面上的部件。然后,该平面上零件的轮廓被转换为一组中间指令,该指令以代码描述刀具路径,可由用于金属切割的计算机数控控制器(CNC)解释。这些系统在航空航天工业中被大量使用,因为它们制造的产品可以消化电脑和软件的高成本。

3D模拟模拟方向发展

3D实体建模软件的引入,首先在大型UNIX机器上,最近在台式PC工作站上创造了设计旧复杂腔的能力。电子表面现在具有墙壁和厚度,可以随着单个物体的一部分容易地操纵。Part geometries can be translated into machining of molds that, when the two halves are mated, can precisely mirror the visualization of the part on the designer’s screen.. Plastic technology now brings everything from lightweight miniature gears to automobile bumpers because of the designer’s ability to visualize a part as a 3D solid model, and the manufacturing engineer’s ability to translate that object into a mold.

对象建模最引人注目的特性是可以将行为(即在特定条件下告诉对象做“某事”的指令)封装到对象中。设计者可以在软件中建立模型,使模型具有静态和动态特性。虚拟部分现在可以在第四维时间内与系统中的其他对象进行交互。

模拟产品已经问世多年,但通常非常昂贵。微软的COM(组件对象模型)通信技术允许仿真软件与原始设计模型直接交互,大大降低了系统的成本。

戴姆勒-克莱斯勒公司在1998年5月底特律IAM展上赞助了一个对象建模和动画技术的演示。CATIA V5(当时是beta版)用于计划工作单元。作为CATIA体系结构的外接程序开发的过程规划工具用于指定非机器人组件(如夹具和夹具)的行为或顺序。这个序列还确定了工作单元中与机器人的联锁。序列中的所有项目都以它们的名称作为CATIA系统中的对象引用。罗克韦尔软件公司(Mayfield Heights, O.)利用新开发的技术,能够读取时序图并将其转换为PLC代码。最后,Deneb使用在软控制器中执行的PLC代码来驱动包含在他们的IGRIP产品中的虚拟工作单元中的机器人。

如今,从部件设计过渡到工艺设计到机械设计,然后控制是一种纸张活动。这些活动中的每一个都有自己的软件工具,当然是一组能力的用户。在未来,可以使用此Rockwell控制程序集概念的努力来开发接线图,HMI组件,诊断和仿真元素 - 组织模型周围的任务,而不是在哪个框中执行.Able对象建模变得更加普遍,更详细模型将允许同时验证部分,过程和控制。分布式COM和其他Web技术将允许协作工程在分散的环境中。