登录
首页 PLC论坛 西门子SIEMENS
回帖 发帖
正文

主题:[分享]什么是IEC 61131?-- 已降低阅读标准

点击:66661 回复:335

[Post=1]结构化文本 - ST
用文本语言ST编写的代码本体由语句和表达式组成。
当编辑时,可以使用不同类型的语句。所有语句必须用分号结束。
表达式是一个对语句的执行返回一个值的结构。表达式由操作符和操作数组成。操作符必须以这样一种方式而应用到操作数上:具有最高优先级的操作符后面紧跟着具有较低优先级的操作符。ST中的操作数可以是直接量、变量或函数名。在表达式中,操作数是与操作符一起来使用的。
在ST代码本体中,可以用星号和括号来插入注释。
您可以在ST代码本体工作单中的任何位置添加注释。注释在星号和括号内表示,如下面的例子所示:
(* 这是一条注释 *)
注释对您的程序本身没有任何意义。它们仅仅是为了便于您更好地理解而添加注解的一种可能性。
[/Post]
最后修改:2005-11-8 22:37:35
05-02-04 11:44
[Post=2]功能块图 - FBD
用FBD图形编程语言编写的代码本体由函数和功能块组成,这些函数和功能块通过连接线彼此互连,或与变量相连。FBD工作单中的连线,是将函数或功能块彼此互连,或将它们与变量相连的对象。也可以通过创建一个连接点来连接两条连线。这些线也互相连接。在FBD网络中,不能将输出连接到输出。
所连接对象的集合被称为FBD网络。
在大网络的情况下,可以使用连接符,来更好地结构化工作单内的元素。连接符代替连接线。
跳转可用于跳转到当前工作单中的某个标号。为实现跳转,必须在工作单中插入两个对象:一个跳转和一个标号。标号是跳转的目标。跳转和标号必须具有相同名称。在FBD工作单内的标号是跳转的目标。标号使用冒号来表示,并带有下划线。
可以插入返回来返回到调用POU。如果布尔变量为TRUE,FBD工作单中的返回是可用于返回调用POU的对象。如果变量为FALSE,则程序的执行继续。
[/Post]
最后修改:2005-11-8 22:38:13
05-02-04 11:45
[Post=50]用LD图形语言编程的代码本体,由触点和线圈组成。根据IEC 61131-3,使用不同类型的触点和线圈。触点根据其自身类型,将电力从左边传递到右边。线圈将输入值保存到布尔变量。
这些触点和线圈由连线连接,并且左右范围由电源轨线来限制。左边电源轨线的状态被认为始终处于ON状态。右边轨线是可选的。
除了触点和线圈的串行连接,还可以创建并行分支。并行分支也被称为线或(wired-OR)。
所连接对象的集合被称为LD网络。每个LD网络应该至少包括一个线圈和一个左电源轨线。
在大网络的情况下,可以使用连接符,来更好地结构化工作单内的元素。连接符代替连接线。
跳转可用于跳转到当前工作单中的某个标号。为实现跳转,必须在工作单中插入两个对象:一个跳转和一个标号。标号是跳转的目标。跳转和标号必须具有相同名称。在LD工作单内的标号是跳转的目标。标号使用冒号来表示,并带有下划线。
可以插入返回来返回到调用POU。LD工作单中的返回是这样的对象:可用于当布尔变量为TRUE的情况下,返回调用POU。如果变量为FALSE,则程序的执行继续。
LD代码本体中的变量总是布尔变量。当插入触点或线圈时,可以键入变量名。变量名被显示在工作单内的触点或线圈之上方。
[/Post]
05-02-04 11:47
[Post=400]用SFC图形语言编程的代码本体由步和转换组成,这些步和转换是通过定向的链接连接在一起的。
可以将一个或多个动作块关联到一个SFC步。
动作块是SFC网络的基本元素。它由一个动作和相应的动作限定符组成。动作块总是与步相关联。动作限定符说明动作是如何受与其相关联的步的影响的。动作既可以是一个布尔变量,也可以具有它自己的代码本体、并称之为明细。
当步变为活动状态时,所关联的动作会根据动作限定符而被执行。这个动作可以是一个布尔变量。也可以在另外一个被称为明细的代码本体中,用IL、ST、LD或FBD等语言来编辑将被执行的代码。. 在这种情形下,代码本体工作单的名称必须被用作动作名称。
一个转换代表过程由一个步通往另一个步的条件。如果一个转换变为TRUE,则前一个步被再执行一次,并且后一个的步成为活动状态。转换既可以是一个布尔变量,也可以是使用FBD或LD编写的直接连接的布尔表达式。也可以在另一个被称为明细的代码本体中,编辑将要执行的代码。在这种情形下,必须要将该代码本体工作单的名称插入到转换处。
所连接对象的集合被称为SFC网络。一个SFC网络总是必须具有一个初始步,当调用该POU时,这个初始步是第一个要被执行的步。
可以在SFC网络内插入并行分支或选择分支。
并行分支被同步地执行。这意味着只有在所有分支内的步均已经被执行完后,这些分支的后继转换才会变为TRUE。在图形编辑器中,并行分支用一条双水平线来表示。
选择分支被可选地执行。这意味着,如果其中某一个分支内的步已被执行完毕,则其后继转换就会变为TRUE。在图形编辑器中,选择分支用加粗的水平线来表示。
[/Post]
05-02-04 11:48
[Post=1200]您的编程系统是一个用于符合IEC设计的PLC和传统PLC的标准编程系统。它基于IEC 61131-3标准,并且包括了IEC特征的全部范围。
编程系统中的工程
这个编程系统基于使用了MS-Windows图形界面的窗口技术。因此,IEC 61131-3原理大部分已经用符号和图标或对话框图形化地实现了,对话框用于其元素属性可被设置的对象。
一个IEC 61131-3工程包括了一个自动化系统的所有必要元素。它由库、数据类型、POU以及‘物理硬件’子树中所表示的配置元素(如资源、任务和程序)的集合而组成。一个工程在工程树中表示。
编程系统中的库
库是被声明为库的工程。您可以在您正编辑着的工程中,再利用库中的程序、功能块、函数和用户自定义的数据类型。
固件库是那些包含了由PLC制造商所提供的POU的库。固件库的文件扩展名为*.fwl。
用户库是那些您以前已创建的、并想重新使用其中的POU的工程。用户库的文件扩展名为*.mwt。如果工程是用1.3.6.14版本之前的较早编程系统创建的,则工程文件名具有*.pwt的扩展名。较早创建的工程不能被声明为库。
在工程树中,库拥有自己的子树。您既可以显示整个工程树,也可以通过在工程树的底部,点击‘库’标签,来只显示‘库’子树。
编程系统中的POU
可以在工程树中编辑程序、功能块和函数。
一个POU由几个工作单组成。这些工作单的集合构成了POU。这些工作单是:
一个描述工作单,包括了由PLC应用程序员输入的文本。这些描述了POU或配置元素的用户注解用于文档目的。这些工作单是可选的。
注意: 如果您正在调用关于用户自定义函数或FB的帮助,则可以将描述工作单用作上下文相关帮助(例如当使用编辑向导时)。
一个变量表格工作单,包含了对局部变量的声明。
一个或多个代码本体工作单,包含了由可用的编程语言中的一种来编辑的实际代码。
在使用了SFC编程语言的POU情况下,可以编辑更多一些的工作单:动作和转换工作单。
如果打开了一个代码工作单,则您很容易通过选择‘编辑’子菜单的‘打开变量工作单’菜单项,或通过点击工具栏上的‘变量工作单’图标,来打开相关的变量表格工作单。
编程系统中的数据类型
编程系统中的数据类型基本上与IEC 61131-3中所描述的数据类型相同。用户自定义数据类型可以在数据类型工作单内编辑,该工作单包含于工程树的‘数据类型’子树中。
编程系统中的配置元素
在工程树中,配置元素被图形化地表示。
编程系统在‘物理硬件’子树中反映配置元素的结构,该子树会随PLC的不同而不同。
通常可以使用一个或多个配置。在每个配置中,可以声明一个或多个资源。每个资源中,可以使用多个任务及所关联的程序。
资源可以被比作能插入到导轨内的CPU。在资源中可以声明仅在该资源内有效的全局变量。在一个资源中,可以执行一个或多个任务。
任务决定了所关联程序的时间调度。这意味着程序必须被关联到任务上。任务的属性决定了时间的调度。
标识符
标识符由字母、数字和下划线组成。标识符必须以字母或下划线开始。可以混合大小写。
不允许有多个下划线或者空格。
对于不同标识符,允许有不同的长度,如下表所示:
标识符用于... 字符数量
POU、描述工作单、工程、配置元素、位图、页面布局、归档文件 24个字符
变量和代码本体工作单 24个字符
步、动作和转换 24个字符
变量、实例名称 30个字符
物理硬件’子树中的程序和功能块实例
在‘物理硬件’子树中实例化程序的方式,例如把程序与任务关联起来,已被扩展。也可以实例化程序和功能块,并为每个实例编辑一个单独的全局变量工作单。通过这种方法,每个程序或功能块实例有它自己的、能被直接访问的数据实例。
下图显示了带有相应全局变量工作单的程序和功能块实例的一个例子:
程序和功能块实例很有用,例如,当您有两个被同一个PLC控制、但连接到不同I/O的相同钻孔机的情况下。您可以象往常一样,在‘逻辑POU’子树内编辑PLC程序,并且两次实例化程序以及/或者功能块。每个实例用它自己的全局变量声明的数据工作。
点击此处,来查看一个关于该POU程序和两个实例的变量声明的例子。
在‘物理硬件’子树中,只能在程序内实例化功能块。不能在功能块内部实例化功能块。
用于‘物理硬件’子树内的实例名称必须要相应于‘逻辑POU’子树中所用的实例名称。
用于程序实例的变量声明关键字
为了声明程序实例或功能块实例,必须使用另外的变量声明关键字。这些额外的关键字,可以在声明一个实例时,在变量表格工作单的‘用途’栏中选择。它们在下面的表中被解释:
关键字 描述
VAR_EXTERNAL_FB 用于在被插入到‘物理硬件’子树中的实例化了的功能块内所使用的全局变量
它的值由位于‘物理硬件’子树中的功能块实例的全局变量工作单内的VAR_GLOBAL_FB声明来提供。
可以在此POU内部修改其值
可以仅用于符号变量的声明

VAR_EXTERNAL_PG 用于在被插入到‘物理硬件’子树中的实例化了的程序或功能块内所使用的全局变量
它的值由位于‘物理硬件’子树中的程序实例的全局变量工作单内的VAR_GLOBAL_PG声明来提供。
可以在此POU内部修改其值
可以仅用于符号变量的声明

VAR_GLOBAL_FB 用于被相应的功能块实例使用的全局变量
可用于直接表示、定位和符号变量的声明
可以与‘RETAIN’关键字一起,用于声明保持型变量

VAR_GLOBAL_PG 用于被相应的程序实例使用的全局变量
可用于直接表示、定位和符号变量的声明
可以与‘RETAIN’关键字一起,用于声明保持型变量

[/Post]
05-02-04 11:52
楼主啊,好人,谢谢
05-02-05 00:18
楼主啊,我信了你的邪,我诚心想学IEC 61131,你偏要遮遮掩掩的,像这样,我什么时候才能拜读完你的文章,难道非要我瞎灌水不可,求你了
05-02-05 00:28
谢谢!
05-02-05 11:31
谢谢karl!
05-02-05 11:34
再一次感谢karl!
05-02-05 11:36

上一页 下一页

工控新闻

更多新闻资讯