123
卡尔·海因斯·约翰·迈克尔·蒂格坎
IEC6l131-3:
编程工业自动化系统
概念和编程语言,编程系统要求,决策工具帮助
有139位人物
Dipl.-Inform。KARL - HEI NZ)OH N lrr l r in nig 13
0-9130I福希海姆
E-米一IL:karllieinz。裘ħ啤克MX。d è
浸湖 - Jnform。M!CHAL!L TIEGJ!LKAMP
古[R pfal岱TR。34
D-90602皮尔鲍姆
Ë -邮箱:弥Ç hael.Titgclkamp @ GMX。德
我小号乙N 3 - 5 40-67572-6Springer-VERL纳克肛ř升在 HEID ELBë屯纽约
大号磅R,N·钴N” “S的Ca LAL oging· Ñ我心blicatlon d由
Ĵ NH ñ 。k扯1寸,血l ”上
IS P小号- ProRram中号我crung MI吨IF。Ç 61lll -升。叩Ĵ我SH升
l EC“”“J。progt AMM荷兰国际集团1它ð ü $ 1 ,叫小1升ö米·吨我ø Ñ,“ ` “ 米&O N,EPL ··NDP ř Ô RMMM
,rcqu我«MC NTS亲克RAMM我纳克” 业匹。。 ids` 。如汕 ñ -m吐在摹陆心我臼ñ 。11E皿我铁克Ë LK上午p。p 。皿
我Ñblmg,“ 8 .. 。 Ĵ哦Ñ 。麋,公顷Ç 1
LN clud,某人我b LIO GRAP ħ , IC升RD:” “ , “ “'1 d我毫升离。我SBN 3540677526
我。TI ,比Progtamm我纳克吲,,里亚尔AU吨是自动化生产SYST ,米, 0.1 1 ' J' IC克d b 米p,麦克风妇d 升9 š 9
。李Ĵ 。`升1个薄层层析。
T59s 。IM加1 67 0.1 < 1 “7 -山21加1 018丸8
Ť喜š瓦特或きSS ü BJE <110copyr炉我
t。一,我升
ighm rc r “ 注意v,dw hc 1 h,八hc吐” dc , o
下午的` ħ丙麻“ ' 我A1 ”
,
N + 1引我上,八prinl ING ,- [R < UF ILLU”“伽Ñ小号,吨心talio
N,如心沁我; 。8 。reproduct IOO ñ Ø ñ虹ofilmor在0 1bor瓦•YS ,nndSlorag,在达拉银行。Ouplka 1IO ñø ˚F个LS公
众, LI1米ø ; R P一个RTS磅口CUR比PE ř而`吨d ö Ñ升ý ü NDC ř加pロv函OM的如心RM•无铜p yrig HTL ..瓦特
的的I0咖R 9,1 965池`我“”“ENT v吓Ò Ñ ,和p 小号pdng , ER V”时如林ħ必如RG汹升P RIN 1TD我Ñ德国ÿ
file:///C/Users/Administrator.USER-20200402YV/Desktop/新建文件夹 (5)/123.html[2021/1/12 9:04:12]
123
Ť HC MCö 「ř Ç克识Ç RD米米O,Iradcmark“北,II我小时“我p Ù b升心如心0吨我N1帘布层, m l心止
,RY严克拉升余Ñ克:0我R, “ ' DYB” UL ħ “'共米设计:S TN氏& L'AR升NC R,海德伽邓
镨在LD ONAC ID · ˚F重新Ë p叩”,“队1 0 77 44 3 1 6-U302 ù几ķ - H L 2 10
内容
1 简介9
1.1 书的主题10
1.2 IEC 61131标准12
1.2.1 标准的目标和好处12
制造商(PLC硬件和软件)13
客户13
1.2.2 历史和组成部分14
1.3 组织PLCopen 16
1.3.1 目标16
1.3.2 委员会和活动领域17
1.3.3 结果18
认证18
用户程序的交换格式19
2 IEC 61131-3的构建块21
2.1 新标准简介21
2.1.1 构件的结构22
变量声明22
POU 23的代码部分
2.1.2 用IL 25编写的入门示例
2.1.3 PLC分配27
2.2 计划组织股(POU)30
2.3 POU的要素32
2.3.1 实施例33
2.3.2 宣言第34部分
POU中的变量类型35
POU接口的特征36
POU 37的形式参数和返回值
外部和内部访问POU变量37
2.3.3 代码部分39
2.4 功能块41
2.4.1 功能块实例41
什么是“实例”?41
实例表示“结构”。43
实例表示“内存” 45
FB实例和数据块之间的关系。46
2.4.2 可重用和面向对象的FB 47
2.4.3 FB 48中的变量类型
2.5 功能48
2.5.1 函数中变量的类型和函数值49
2.5.2 使用EN和ENO 50进行执行控制
2.6 计划52
2.7 调用函数和功能块53
2.7.1 POU的相互调用53
2.7.2 禁止递归调用54
2.7.3 用形式参数调用56
2.7.4 省略输入参数或以其他顺序调用59
2.7.5 FB实例作为实际FB参数60
间接FB调用示例62
FB实例名称作为功能的实际参数。63
功能值作为实际参数63
2.8 POU功能摘要64
file:///C/Users/Administrator.USER-20200402YV/Desktop/新建文件夹 (5)/123.html[2021/1/12 9:04:12]
123
3 变量,数据类型和公共元素65
3.1 简单语言元素65
3.1.1 保留关键字67
3.2 文字和标识符68
3.2.1 文字68
3.2.2 标识符70
3.3 数据类型和变量的含义71
3.3.1 从直接PLC地址通过符号到变量72
3.3.2 数据类型确定变量的属性73
3.3.3 特定类型使用变量74
3.3.4 自动将变量映射到PLC 75
3.4 数据类型75
3.4.1 基本数据类型76
3.4.2 派生数据类型(类型定义)77
基本数据类型的附加属性。78
数组80
数据结构81
类型定义中的初始值。83
3.4.3 通用数据类型84
3.5 变量85
3.5.1 输入,输出和标志作为特殊变量86
3.5.2 多元素变量:数组和结构88
3.5.3 在程序开始时分配初始值90
3.5.4 变量类型的属性91
3.5.5 变量声明的图形表示93
4 IEC 61131-3的新编程语言95
4.1 指令清单IL 96
4.1.1 IL 96中的说明
4.1.2 通用累加器(当前结果)97
4.1.3 运营商100
取反操作数。100
通过括号嵌套级别。100
有条件地执行运算符。101
4.1.4 使用功能和功能块104
调用功能104
调用功能块。106
4.1.5 IL示例:山区铁路107
4.2 结构化文本ST 111
4.2.1 ST语句111
4.2.2 表达式:ST 113中的部分陈述
操作数。113
运营商。113
充当操作员115
4.2.3 声明:分配。116
4.2.4 声明:功能块的调用118
4.2.5 声明:RETURN 118
4.2.6 陈述:选择和多项选择119
选择。119
多选。120
4.2.7 声明:迭代122
WHILE和REPEAT语句。122
FOR语句。123
退出语句。125
4.2.8 示例:立体声盒式录音机125
4.3 功能框图FBD 128
4.3.1 LD和FBD的网络,图形元素和连接。128
网络标签128
网络评论。129
网络图形。129
4.3.2 FBD 131中的网络架构
4.3.3 FBD 133中的图形对象
连接。134
执行控制(跳转)134
调用功能和功能块。135
4.3.4 FBD 136中的编程方法
网络评估136
反馈变量137
file:///C/Users/Administrator.USER-20200402YV/Desktop/新建文件夹 (5)/123.html[2021/1/12 9:04:12]
123
4.3.5 示例:立体声盒式录音机137
对示例4.24和示例4.31的网络的评论140
4.4 梯形图LD 141
4.4.1 网络,图形元素和连接(LD)141
4.4.2 LD 141中的网络架构
4.4.3 LD 142中的图形对象
连接。142
触点和线圈。143
执行控制147
调用功能和功能块。148
4.4.4 LD 149中的编程方法
网络评估149
反馈变量151
4.4.5 梯形图示例:山区铁路153
关于山区铁路网的评论。156
4.5 美国阶梯编程方式159
4.5.1 网络布局159
4.5.2 模块地址和存储区161
4.5.3 配置163
4.6 顺序功能图SFC 164
4.6.1 步骤/过渡组合165
4.6.2 步骤-过渡序列167
4.6.3 步骤和过渡的详细说明172
4.6.4 使用动作块和动作执行步骤179
4.6.5 动作和动作块的详细说明181
4.6.6 步骤,过渡,动作和动作框185之间的关系
4.6.7 动作限定符和执行控制189
步骤172
过渡174
动作。181
动作块。182
资格赛189
顺序控制195
4.6.8 示例:“恐龙公园” 196
恐龙公园200网络上的评论
5 标准化的PLC功能201
5.1 标准功能202
5.1.1 重载和可扩展功能206
重载功能。206
扩展功能208
5.1.1示例209
类型转换功能。210
数值函数211
算术功能211
移位功能212
按位布尔函数212
选择功能213
比较功能214
字符串功能215
时间数据类型的功能。215
枚举数据类型的功能216
双稳态元件(触发器)220
边缘检测221
柜台223
计时器224
5.2 标准功能块217
5.2.2示例218
6 最新的PLC配置227
6.1 使用配置元素构造项目227
6.2 实际PLC配置的元素228
6.3 配置元素230
6.3.1 定义230
6.3.2 配置231
6.3.3 资源232
file:///C/Users/Administrator.USER-20200402YV/Desktop/新建文件夹 (5)/123.html[2021/1/12 9:04:12]
123
6.3.4 具有运行时程序233的任务
6.3.5 访问声明236
6.4 配置示例237
6.5 配置和POU之间的通信240
7 创新的PLC编程系统243
7.1 创新编程工具的要求243
7.2 技术变革244
7.2.1 处理器性能244
7.2.2 全图形显示和打印输出244
7.2.3 操作系统244
7.2.4 统一的用户界面245
7.3 反编译(反向文档)245
7.3.1 无需反编译246
7.3.2 带有符号和注释的反编译246
7.3.3 包含图形的反编译246
7.3.4 存储在PLC 247中的源
7.4 语言兼容性247
7.4.1 交叉编译248
交叉编译的动机248
图形和文本语言的不同方法。249
语言上的差异会影响交叉编译。250
LD / FBD 251中的限制
IL / ST 251中的限制
交叉编译IL / ST 251
完全交叉编译,仅包含其他信息。252
交叉编译的质量标准。253
7.4.2 语言独立性254
7.5 文档255
7.5.1 对照表255
7.5.2 分配列表(接线列表)256
7.5.3 评论257
7.6 项目经理257
7.7 测试和调试功能261
7.7.1 程序传送261
7.7.2 在线修改程序262
7.7.3 远程控制:启动和停止PLC 263
7.7.4 变量和程序状态263
7.7.5 强迫267
7.7.6 程序测试268
7.7.7 测试顺序功能图程序269
7.8 数据块和配方269
7.9 FB互连273
7.9.1 分布式系统中块的数据交换和协调273
7.9.2 FB互连中的宏技术275
7.10 诊断,错误检测和错误处理276
IEC 61131-3的错误概念。277
扩展的错误处理模型(超出IEC)277
7.11 硬件依赖性279
7.12 准备新功能279
7.12.1 程序和数据交换280
7.12.2 扩展带有其他软件包281
8 IEC 61131-3 283的主要优点
8.1 变量和数据类型的便利性和安全性283
8.2 扩展功能块284
8.3 具有运行时行为的PLC配置。285
8.4 统一编程语言286
8.5 结构化PLC程序286
8.6 开放式PLC编程系统的趋势286
8.7 结论288
9 通过使用IEC 61499 289进行配置进行编程
9.1 通过FB互连进行编程,符合IEC 61131-3 289
9.2 IEC 61499 –分布式PLC系统的编程标准290
file:///C/Users/Administrator.USER-20200402YV/Desktop/新建文件夹 (5)/123.html[2021/1/12 9:04:12]
123
9.2.1 系统模型291
9.2.2 设备型号291
9.2.3 资源模型292
9.2.4 应用模型293
9.2.5 功能块型号294
复合功能块296
9.2.6 创建应用程序298
9.3 IEC 61499 298的各部分概述
10 CD-ROM 299的内容
10.1 IEC编程系统STEP 7和OpenPCS 299
STEP 7(Siemens)和OpenPCS(infoteam)299的演示版
IL示例300
10.2 IEC 61131-3 PLC编程系统购买者指南300
标准功能301
A.1 类型转换函数302
A.2 数值函数303
A.3 算术函数304
A.4 移位功能305
A.5 按位布尔函数306
A.6 最大值,最小值的选择功能 第307章
A.7 二进制选择和多路复用器的选择功能308
A.8 比较功能310
A.9 字符串功能311
A.10 时间数据类型的函数313
A.11 枚举数据类型的函数314
B标准功能块315
B.1 双稳态元素(触发器)316
B.2 边缘检测317
B.3 柜台318
B.4 计时器320
C IL示例323
C.1 功能323的示例
C.2 FUNCTION_BLOCK 325的示例
C.3 程序327的示例
D标准数据类型331
E错误原因333
F与实现有关的参数335
G IL语法范例339
IL 340的G.1语法图
语法图347中的G.2 IL示例
H保留关键字和分隔符349
H.1保留关键字349
H.2定界符353
我计划对标准357进行修订
词汇表359
K参考书目365
L索引331
作者传记375
卡尔·海因茨·约翰375
迈克尔·蒂格尔坎普375
file:///C/Users/Administrator.USER-20200402YV/Desktop/新建文件夹 (5)/123.html[2021/1/12 9:04:12]
123
1 介绍
高性能和微型技术的飞速发展为可编程逻辑控制器(PLC)不断开拓了新的市场。经过特殊设计的控制器硬件或基于PC的
控制器,再加上具有实时功能的硬件和软件扩展,现在可以控制高度复杂的自动化过程。
不同类型的PLC涵盖了广泛的任务范围-从小型网络节点计算机和分布式紧凑型单元到模块化,容错的高性
能PLC。它们的性能特征不同,例如处理速度,联网能力或它们支持的I / O模块的选择。
在本书中,术语“ PLC”用于指代整个技术,包括硬件和软件,而不仅仅是硬件体系结构。
硬件的广泛功能要求适当的编程工具提供相应的支持,以允许以低成本,注重质量的方式创建简单和复杂的软件解决方
案。编程工具的理想功能包括:
- 同时使用几种PLC编程语言
- PLC中程序的“在线”修改
- 从PLC反向记录程序
- PLC程序块的可重用性
- 用户程序的“离线”测试和模拟
- 集成的组态和调试工具
- 质量保证,项目文件
- 使用具有开放接口的系统。
在过去的10年中,现代PC使日益高效的PLC编程工具得以开发。
到目前为止,已采用的经典PLC编程方法(例如指令列表,梯形逻辑或控制系统功能图)已达到其极限。用户想要统一
的,与制造商无关的语言
概念,高级编程语言和开发工具类似于PC世界中已经存在的工具。
随着国际标准IEC 61131的引入,现在已经为利用现代软件技术概念的统一PLC编程奠定了基础。
1.1 这本书的主题
本书的目的是向读者提供标准IEC 61131的概念和语言的通俗易懂的介绍。给出了简单的示例来解释新PLC编程语言的
思想和应用。一个广泛的示例程序总结了每个部分的结果。
这本书为希望熟悉新标准可能性的培训和工作人员提供了有用的指导和介绍。
需要一定的个人计算机经验和PLC技术领域的基本知识。经验丰富的PLC程序员还将在这里找到信息,这些信息将简化
向新一代编程系统的转换。为此,将先前系统的概念和术语与IEC编程领域中使用的概念进行了比较和对比,并说明了
根据IEC标准进行编程的优点。
本书是对学生有用的参考书,有助于系统地学习新的编程标准。
读者还可以使用随附的“购买者指南”自己评估各个PLC编程系统。请参阅随附的CD-ROM。
IEC标准的正式内容和结构是以实践为导向的。在其上下文中清楚地解释了困难的主题,并说明了该标准的
解释范围和扩展可能性。
本书旨在为读者提供以下问题的具体答案:
- 您如何按照IEC 61131进行编程?该标准的基本思想是什么?如何在实践中应用它们?
- 与以前的(国家)PLC编程标准相比,新的国际标准IEC 61131有什么优势?新标准提供了哪些创新和机遇?
- 如果要更改为新一代编程系统,用户必须注意什么?
- 现代编程系统必须具有哪些功能才能符合IEC 61131并满足这一新标准?
- 用户在选择PLC编程系统时需要寻找什么:哪些标准对编程系统的性能起决定性作用?
第2章介绍了该标准的三个基本构建块:程序,功能和功能块。一个包含该标准最重要的语言元素并提供其编程方法概述
的介绍性示例对IEC 61131的概念进行了初步介绍。
第三章介绍了五种编程语言的通用语言元素,以及借助声明进行数据描述的可能性。
将详细介绍IEC 61131的五种编程语言,并在第4章中通过大量示例进行说明。
IEC
述。
编程后,必须通过组态将程序和数据分配给相关PLC的功能和硬件。这将在第6章中找到。
61131的优势部分归因于对常用元素,标准功能和标准功能块的统一描述。它们的定义和应用在第5章中进行了描
PLC市场正在发展为具有非常特定要求的技术。PLC编程的这些特殊功能以及使用IEC 61131的新功能实现这些功能
是第7章的主题。第8章总结了第2至7章中最重要的标准质量。一致的
file:///C/Users/Administrator.USER-20200402YV/Desktop/新建文件夹 (5)/123.html[2021/1/12 9:04:12]
123
此处概述了编程系统以供参考。
任务对并行性和分散性的要求。
可执行演示版本。
第9章介绍了分布式自动化过程的未来标准IEC 61499 。它基于IEC 61131-3,但采用了更广泛的方法来满足现代自动化
第10章介绍了随附CD-ROM的用法。它包括本书中的所有编程示例,表格形式的购买者指南以及两个IEC编程系统的
该附录提供进一步的详细信息。
附录J中的词汇表按字母顺序简要解释了本书中使用的最重要的术语。
附录K包含参考书目,该参考书目不仅引用了书,而且还引用了有关IEC 61131-3的专业论文。
附录L是一个通用索引,它对于关键字的位置非常有帮助。
1.2 在IEC 61131标准
IEC 61131标准的五个部分总结了现代PLC系统的要求。这些要求涉及PLC硬件和编程系统。
该标准包括PLC编程中已经使用的通用概念和其他新的编程方法。
IEC 61131-3将自身视为PLC编程的准则,而不是严格的规则集。定义的大量细节意味着编程系统只能实现部分标准,
而不能全部实现。PLC制造商必须记录此数量:如果要符合标准,则必须证明在哪些零件中符合或不符合标准。
为此,该标准包括62个具有要求的功能表,制造商必须在其中填写注释(例如“已完成;未实现;以下部分已实
现:...”)。
即符合IEC 61131-3。
该标准提供了一个基准,使制造商和客户都可以评估每个编程系统与该标准的紧密程度,
为了进一步证明合规性,PLCopen(请参见第1.3节)定义了可以由独立机构进行的合规性级别的进一步测试。
该标准由国际标准化组织IEC(国际电工委员会)的SC65B WG7工作组(最初为SC65A WG6)建立,该工作组由不同
的PLC制造商,软件公司和用户组成。这样做的好处是,它被大多数PLC制造商接受为准则。
1.2.1 标准的目标和好处
由于PLC系统的复杂性不断提高,因此以下方面的成本稳步上升:
- 应用程序程序员培训
- 创建越来越大的程序
- 实现越来越复杂的编程系统。
PLC编程系统正逐步遵循PC世界的大众软件市场趋势。在这里,首先通过标准化和协同作用可以降低成本的压力。由于该
标准将以前的制造商专用系统联系在一起,因此制造商和客户都可以从IEC 61131-3中受益。
制造商(PLC硬件和软件)
一些制造商可以投资一起在履行必要在今天的市场上功能所需的数百万美元的软件。
编程系统的基本形式在很大程度上取决于标准。除了诸如代码生成器或“在线”模块之类的特定部件外,可以共享诸如编
辑器之类的基本软件。市场差异源于特定细分市场所需的基本套件的补充元素以及PLC硬件。
通过引入该标准,当前硬件和软件制造商之间正在进行经验和产品的生动交流。购买现成的产品可以大大降低开发成
本。通过使用先前测试的软件,可以大大减少新开发软件的错误倾向。
开发不当(系统无法满足市场需求)的风险较小。该标准设置了客户已从其他IEC 61131-3产品中了解的规则。
由于需要的功能,现代编程工具的开发成本已大大增加。通过购买现成的软件组件或完整的系统,可以大大缩短“上市时
间”,这对于跟上快速硬件发展的步伐至关重要。
顾客
客户通常同时使用来自不同制造商的PLC系统。到目前为止,这意味着员工需要参加编程方面的几项不同的培训课程,而
61131-3-的系统的培训仅限于使用单独的编程系统和PLC的其他特殊功能的方面。这减少了对系统专家和
符合IEC
培训人员的需求,并且PLC程序员更加灵活。
该标准的要求使选择合适的编程系统变得容易,因为符合该标准的系统很容易比较。
尽管在可预见的将来,不希望完整的应用程序能够在不同的PLC系统之间交换,但是在不同的IEC系统之间,语言元素和
程序结构仍然相似。这有助于移植到其他系统上。
1.2.2 历史和组件
IEC 61131标准代表了不同标准的结合和延续。它引用了其他10个国际标准(IEC 50,IEC 559,IEC 617-12,IEC 617-
13,IEC 848,ISO / AFNOR,ISO / IEC646,ISO 8601,ISO 7185,ISO
7498)。这些规则包括有关所用字符代码,所用术语的定义或图形表示结构的规则。
file:///C/Users/Administrator.USER-20200402YV/Desktop/新建文件夹 (5)/123.html[2021/1/12 9:04:12]