schneider Unity Pro User Manual

Unity Pro
语言和程序结构参考手册
2
目录
第一部分
第1章介
关于本书
Unity Pro
介绍
介绍
Unity Pro
用户界面 项目浏览器 配置器 数据编辑器 程序编辑器 功能块图 梯形图 关于顺序功能图 指令表 结构化文本
PLC
导出/导入 用户文档 调试服务 诊断浏览器 操作屏
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
的一般介绍
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
的特性
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 24
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 28
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 34
FBD . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 37
语言
(LD)
IL . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 44
模拟器
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 48
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 49
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 56
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 39
(SFC)
ST. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 45
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 46
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 47
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 55
第二部分 应用程序的结构
内容预览
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 61
. . . . . . . . . . . . . . . . . . . . . . . . . . . .
的常规信息
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 41
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
15
15
17 18 21 23
第2章各
各种
PLC
PLC
可用功能介绍
的可用功能
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 63
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .63
3
目录
第3章 应用程序结构
内容预览
3.1 任务和进程描述 内容预览 主任务介绍 快速任务介绍 辅助任务介绍 事件处理概述
3.2 代码段和子程序描述 内容预览 代码段描述
SFC
子程序描述
3.3 单一任务执行 内容预览 主任务周期描述 单一任务:循环执行 周期执行 扫描时间控制 带有分布式输入/输出的
3.4 多任务执行 内容预览 多任务软件结构 多任务结构中的任务顺序 任务控制 为主任务,快速任务和辅助任务分配输入/输出通道 事件处理管理 计时器类型事件处理的执行 在事件处理中的输入/输出交换 如何编写事件处理程序
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 65
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 66
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 67
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 68
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 69
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 71
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 72
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 73
代码段描述
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 76
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 77
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 77
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 81
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 82
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 84
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 84
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 87
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 92
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 65
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 66
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 72
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 75
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 78
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 80
Quantum
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 85
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 86
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 93
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 98
代码段执行
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 97
. . . . . . . . . . . . . . . . . . . . . . . . . 83
. . . . . . . . . . . . . . . . . . . . . 90
第4章 应用内存结构
内容预览
Premium和Atrium PLC
内存区的详细描述
Quantum PLC
内存区的详细描述
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 101
第5章 操作模式
内容预览 断电和恢复处理 冷启动处理 热重启处理
4
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 109
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 101
的内存结构
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 104
的内存结构
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 107
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 105
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 102
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 109
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 110
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 112
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 116
目录
第6章系
内容预览
6.1 系统位 描述 系统位介绍 系统位 系统位 系统位 系统位 系统位 系统位 系统位
6.2 系统字 描述 系统字 系统字 系统字 系统字 系统字 系统字 系统字 系统字
6.3
Atrium/Premium-
描述 系统字 系统字 系统字 系统字 系统字
Premium/Atrium
6.4
Quantum
描述
Quantum Quantum
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .119
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 119
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 120
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 120
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 121
%S0到%S7 %S9到%S13 %S15到%S20 %S30到%S59 %S60到%S78 %S80到%S96 %S100到%S122
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 134
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 134
%SW0到%SW11 %SW12到%SW18 %SW30到%SW47 %SW48到%SW59 %SW60到%SW69 %SW70到%SW99
%SW108到%SW116描述 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 153
%SW124
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 156
%SW128到%SW143描述 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 157
%SW144到%SW146描述 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 158
%SW147到%SW152描述 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 160
%SW153 %SW154
特有系统字
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 165
系统字 系统字
描述
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 122
描述
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 123
描述
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 124
描述
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 127
描述
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 130
描述
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 132
描述
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 133
描述
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 135
描述
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 137
描述
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 139
描述
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 141
描述
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 143
描述
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 150
%SW127描述 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 154
特有系统字
描述 描述
系统字
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 165
%SW128到%SW179 %SW180到%SW640
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 156
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 161
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 163
%SW155到%SW167
描述
. . . . . . . . . . . . . . . . . . . . 164
描述
. . . . . . . . . . . . . . . . . . . . . . . . . 166
描述
. . . . . . . . . . . . . . . . . . . . . . . . . 169
第三部分 数据描述
内容预览
第7章数
内容预览 概述 数据类型系列综述 数据实例概述
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 179
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 181
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 182
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 179
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .181
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 183
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 185
5
目录
数据引用概述 类型\实例名称的语法规则
第8章 数据类型
内容预览
8.1 二进制格式的基本数据类型 内容预览 二进制格式的数据类型概述 布尔类型 整数类型 时间类型
8.2
8.3 实数格式的基本数据类型
8.4 字符串格式的基本数据类型
8.5 位串格式的基本数据类型
8.6 导出数据类型
8.7 功能块数据类型
8.8 泛型数据类型
8.9 属于顺序功能图
8.10
格式的基本数据类型
BCD
内容预览
格式的数据类型概述
BCD
数据类型 日时间 日期和时间
实数格式的数据类型概述
字符串格式的数据类型概述
内容预览 位串格式的数据类型概述 位串类型
内容预览 数据表 结构
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 216
导出数据类型系列
:内存占有
DDT
输入/输出导出数据类型
内容预览 功能块数据类型系列概述 功能块数据类型 属于功能块的元素的特性
泛型数据类型概述
顺序功能图系列数据类型概述 数据类型之间的兼容性 数据类型之间的兼容性
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 186
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 189
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 189
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 190
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 192
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 195
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 197
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 198
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 201
(TOD)类型 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 202
(DT)
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 209
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 211
(DDT/IODDT) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 213
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 213
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 214
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 224
(GDT) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 232
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 187
(EDT) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 190
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 191
(EDT) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 198
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 199
类型
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 203
(EDT). . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 205
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 205
(EDT) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 207
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 207
(EDT) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 209
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 210
概述
(DDT)
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 219
(DFB\EFB) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 224
(EFB\DFB)
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 232
(SFC)
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 217
(IODDT)
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 225
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 229
的数据类型
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 237
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 237
概述
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 222
的特性
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 227
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 235
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 235
6
目录
第9章数
内容预览 数据类型实例 数据实例属性 直接寻址数据实例
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 241
第10章数
内容预览 通过数值引用数据实例 通过名称引用数据实例 通过地址引用数据实例 数据命名规则
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 253
第四部分 编程语言
介绍
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 265
第11章 功能块语言
介绍
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 267
关于 基本功能,基本功能块,导出功能块和功能程序 子程序调用 控制元素 链接 文本对象
FFB
更改执行顺序 设置循环
功能块的常规信息
FBD
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 279
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 280
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 282
的执行顺序
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 290
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .241
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 242
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 245
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 247
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .253
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 254
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 254
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 254
.. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 262
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 265
FBD . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .267
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 268
(FFB). . . . . . . . . . . . . . . . . . . 270
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 278
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 283
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 285
第12章梯
介绍 关于LD梯形图语言的常规信息 触点 线圈 基本功能,基本功能块,导出功能块和功能程序 控制元素 操作和比较功能块 链接 文本对象 执行顺序和信号流 设置循环 更改执行顺序
LD . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .291
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 291
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 295
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 296
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 306
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 309
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 312
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 315
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 292
(FFB). . . . . . . . . . . . . . . . . . . 298
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 307
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 313
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 316
7
目录
第13章
13.10 多令牌
SFC
介绍
13.1 关于
13.2 步和宏步
13.3 动作和动作代码段
13.4 转换和转换代码段
13.5 跳转
13.6 链接
13.7 分支和合并
13.8 文本对象
13.9 单令牌
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 321
介绍
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 322
关于 链接规则
介绍
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 328
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 329
宏步和宏代码段
介绍
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 336
动作
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 337
动作代码段 标识符
介绍
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 343
转换
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 344
转换代码段
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 348
跳转
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 348
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 349
链接
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 349
介绍
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 350
选择分支和选择连接 并行分支和并行连接
文本对象
介绍
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 354
执行顺序单令牌 选择串 顺序跳转和顺序循环 并行串 非对称并行串
介绍
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 365
多令牌执行顺序 选择串 并行串 跳转到一个并行串 从一个并行串跳出
顺序功能图
顺序功能图的常规信息
SFC
顺序功能图的常规信息
SFC
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 327
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 328
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 339
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 340
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 346
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 350
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 353
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 353
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 354
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 356
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 360
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 365
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 367
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 370
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 321
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 322
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 323
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 332
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 336
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 343
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 351
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 352
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 355
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 357
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 362
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 366
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 374
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 375
8
目录
第14章指
介绍
14.1 关于IL指令表的常规信息 介绍 关于IL指令表的常规信息 操作数 限定词 运算符 子程序调用 标号和跳转 注释
14.2 调用基本功能,基本功能块,导出功能块和过程 介绍 基本功能调用 调用基本功能块和导出功能块 调用过程
第15章 结构化文本
介绍
15.1 关于结构化文本ST的常规信息 介绍 关于结构化文本ST的常规信息 操作数 运算符
15.2 指令 介绍 指令 赋值 选择性指令 选择性指令 选择性指令 选择性指令 循环指令 重复性指令 重复性指令 重复性指令 子程序调用 返回 空指令 标记和跳转 注释
15.3 调用基本功能,基本功能块,导出功能块和过程 介绍
调用基本功能
IL . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .379
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 379
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 380
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 380
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 380
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 384
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 386
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 388
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 397
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 398
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 400
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 401
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 402
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 407
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 416
ST . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .423
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 423
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 424
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 424
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 425
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 427
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 429
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 434
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 434
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 434
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 436
IF...THEN...END_IF . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 438
ELSE . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 439
ELSIF...THEN. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 440
CASE...OF...END_CASE . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 441
FOR...TO...BY...DO...END_FOR. . . . . . . . . . . . . . . . . . . . . . . . . . . . 442
WHILE...DO...END_WHILE . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 444
REPEAT...UNTIL...END_REPEAT. . . . . . . . . . . . . . . . . . . . . . . . . 445
EXIT . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 446
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 447
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 448
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 449
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 450
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 451
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 452
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 453
. . . . . . . . . . . . . . . . . . . . . . . 401
. . . . . . . . . . . . . . . . . . . . . . . 452
9
目录
调用基本功能块和导出功能块 过程
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 466
第五部分 用户功能块
内容预览
第16章 用户功能块
内容预览 用户功能块介绍 如何实现一个
第17章 用户功能块
内容预览
内部数据定义
DFB
参数
DFB
变量
DFB
代码代码段
DFB
第18章 用户功能块
内容预览 创建
DFB实例 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 488
实例的执行
DFB
导出功能块
(DFB) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .471
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 471
(DFB)
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 473
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 474
功能块
DFB
(DFB)
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 479
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 480
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 482
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 484
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 485
(DFB)
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 487
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 489
的编程举例
(DFB)
第19章 在不同编程语言中使用
内容预览 在程序中使用 在 在梯形图语言程序中使用 在结构化文本语言程序中使用 在指令表程序中使用 在功能块图语言程序中使用
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 493
的规则
DFB
中使用
DFB
IODDT . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 496
DFB . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 504
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 458
概述
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 473
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 476
描述
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 479
实例
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 487
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 490
DFB. . . . . . . . . . . . . . . . . . . . . . . . . . . . 493
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 494
DFB . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 500
DFB . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 502
DFB . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 508
10
第20章 用户诊断
内容预览 用户诊断 如何创建用户诊断
DFB . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 511
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 511
DFB介绍 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 512
DFB . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 513
附录 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 515
介绍
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 515
目录
附录
遵循的
A
内容预览
A.2 关于
关于
A.2 遵循的
内容预览 公共元素
IL ST
公共图形元素
LD
取决于实现过程的参数 出错条件
A.3
IEC 61131-3 IEC 61131-3第2
A.4 文本语言语法
文本语言语法
IEC
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 517
IEC 61131-3 IEC 61131-3
IEC标准 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 519
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 519
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 520
语言元素
语言元素
语言元素
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 539
标准
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .517
的常规信息 遵循性的常规信息
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 532
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 533
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 534
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 535
扩展内容
版扩展内容
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 542
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 542
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 518
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 518
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 536
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 541
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 541
术语表 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 543
索引 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 563
11
目录
12
内容预览
关于本书
文档范围 本手册描述了使用
Quantum PLC
有效性声明 本手册中的数据和演示并不具有约束力。我们保留因进行产品持续开发而修改产品
的权利。本文档中所包含的信息会在未给出事先通知的情况下进行更改,施耐德公 司不应该对此承担责任。
Unity Pro V1.0
编程所需的基础内容。
编程工作时,进行
Premium、Atrium
13
关于本书
与产品相关的警告 施耐德电气公司对本文档中所出现的错误不承担任何责任。如果您对本文有任何改
进或更改建议,请通知我公司。 在未获得施耐德电气公司明确书面许可的情况下,本文档的任何部分都不能以任何
电子或者机械形式被复制,包括影印。 在安装和使用本产品的过程中,必须遵守所有相关的州,地区,地方安全法规。为
了保证安全,并确保文献系统资料的一致性,部件的维修只应由厂商来进行。 在带有技术安全要求的应用场合使用控制器时,请遵循相关说明。 如果不使用施耐德电气公司的软件,或者在我公司的硬件产品中未能使用经过核准
的软件,可能会造成伤害,损伤,或者导致错误的操作结果。 如果不遵守与本产品相关的警告,可能会导致伤害,或者损坏设备。
用户建议 非常欢迎您对本文档提出相关建议。您也可以通过电子邮件
TECHCOMM@modicon.com
和我们联系。
14
介绍
Unity Pro
的一般介绍
I
本节内容 本节介绍了通过
本部分内容 本部分包含以下各章:
章名
1
Unity Pro
介绍
创建的应用程序的常规设计和行为。
17
15
Unity Pro
的一般介绍
16
介绍
介绍
1
概述 本节介绍了通过
Unity Pro
本章内容 本章包含以下内容:
内容 页码
(LD)
IL
模拟器
特性
FBD
语言
(SFC)
ST
Unity Pro
用户界面
项目浏览器
配置器
数据编辑器
程序编辑器
功能块图
梯形图
关于顺序功能图
指令表
结构化文本
PLC
导出/导入
用户文档
调试服务
诊断浏览器
操作屏
创建的项目的常规设计和行为。
的常规信息
18
21
23
24
24
34
37
39
41
44
45
46
47
48
49
55
56
17
介绍
Unity Pro
硬件平台
编程语言
的特性
Unity Pro
z
z
z
Unity Pro
z 功能块图 z 梯形图语言 z 指令表 z 结构化文本 z 顺序控制
支持如下硬件平台:
Quantum Premium Atrium
为创建用户程序提供了如下编程语言:
IL
FBD
LD
ST
SFC
在同一个项目中,可以同时使用所有这些编程语言。 这些编程语言都符合
功能块库
Unity Pro
扩展功能块库中所包含的功能块,既有用于简单布尔运算的功能块, 也有用于字符串和数组运算的功能块,另外还有用于控制复杂控制循环的功能块。 为了便于用户把握各种功能块,不同的功能块被归纳到各个库中,并划分为不同的
系列。 功能块可以用在编程语言
程序的元素 一个程序可以包含:
z 一个主任务 z 一个快速任务 z 一到四个辅助任务 z 多个分配了定义任务的代码段
z 用来处理时间控制事件的代码段 z 用来处理硬件控制事件的代码段 z 子程序代码段
(MAST)
(FAST)
(SR)
IEC 61131-3
FBD, LD, IL和ST
(AUX)
(Timerx) (EVTx)
中。
软件包 有以下可用的软件包:
z
Unity Pro L
z
Unity Pro XL
z
Unity Studio Unity
开发版本
(UDE)
z
18
介绍
功能范围 下面的表格给出了个体软件包的主要特性:
Unity Pro L Unity Pro XL Studio
编程语言
功能块图
梯形图语言
指令表
结构化文本
顺序语言
标准库
控制库
控制库
诊断库
I/O
系统库
运动库
TCP Open
过时库
常规内容
创建及使用数据结构和 字段
创建及使用导出功能块
(DFB)
带有结构和/或功能视图的
项目浏览器
管理访问权限
操作屏
诊断浏览器
系统诊断
项目诊断
旧数据转换器
管理多工作站
支持的平台
FBD
LD
IL
ST
SFC
管理库
+++
+++
+++
+++
+++
+++
-+
+++
+++
+++
+++
+++
+++
+++
+++
+++
+++
+++
+++
+++
+++
+++
+++
+++
--+
(Premium 57 5••)
(Quantum CPUs)
:仅限于
:所有
+
19
介绍
Unity Pro L Unity Pro XL Studio
Premium
Quantum
Atrium
模拟器
开放性
超链接
脚本
VBA
VBA IDE - - +
在软件包中所包含的软件组件
XBTL1000 + + +
PowerSuite + + +
OFS - - +
其他
装载器
管理器
PDF
+ HW
文档
Unity Studio
Visio2002 Enterprise - - +
上下文帮助和
EXEC
所有
CPU
除了
P57 554
P57 5634
低端
CPU
所有
CPU
+++
+++
+++
--Unity Pro XL
--+
+++
+++
固件
所有
所有
所有
CPU
CPU
CPU
所有
所有
所有
CPU
CPU
CPU
图例说明:
+ = 可用
- = 不可用
命名规则 在后面的文档中,“
20
Unity Pro L
”和 “
Unity Pro XL
”统称为 “
Unity Pro
”。
用户界面
概述 用户界面包括若干个可配置的窗口和工具栏。
用户界面:
1
Unity Pro: My_Project
文件
编辑 视图 服务 工具 结构 PLC 调试 窗口
2
34
帮助
介绍
RUN STOP
项目浏览器
结构视图
就绪
工作站配置
0 : XBus Cabinet
导出数据类型 导出FB类型
变量和FB实例 通信 程序
任务
MAST
代码段
进程
SFC
未使用的
动作 转换
SFC
填料 混合
SFC
配比
ST
进程:
IL
结构
IL1
M
初始填充
010
数据编辑器
过滤器
名称
数据编辑器
010
导入/导出
3
变量
My_Section [MAST]
LD
4
1
开始周期 周期正常
2
DDT
3
Name
计数
4
P
填充
混合填充
填充结束
初始混合
初始填充
清空
配比
SFC LD fbd
.8.2(2)
AND_BOOL
IN1 IN2
MY_SFC... MY_FBD...
脱机
43215
警报
/
Temp
S
选择
有效的计数计数正常
.8.5(5)
OR_BOOL
OUT1
IN1 IN2
MY_LD...
MBT:127.0.0.1 NOT BUILT
OUT1
PID
正常
S
65
21
7
介绍
图例说明:
号码 介绍
1
2
3
4
5
6
7
菜单栏
工具栏
项目浏览器
编辑器窗口(编程语言编辑器,数据编辑器,等等
用来直接访问编辑器窗口的选项卡
信息窗口(提供关于已发生错误,信号跟踪,导入功能等方面的信息
状态栏
)
)
22
介绍
项目浏览器
介绍 项目浏览器显示所有项目参数。浏览器的视图可以通过结构(拓扑)和/或功能视图
的形式显示出来。
项目浏览器
结构视图
工作站
配置
导出数据类型 导出FB类型
变量和FB实例
通信 程序
0 : X Bus
任务
MAST
代码段
进程
SFC
填料箱
SFC
混合
SFC
ST
混合
ST
混合
SR
_1:ST1 _2:ST2
代码段
功能视图
配比机器
配比
进程
程序 数据表
页面 填料箱
程序
LD
数据表 页面
混合
程序
ST
数据表 页面
程序
IL
IL1
数据表
ladder1
ST1
结构试图: 在结构视图中,项目浏览器提供了如下功能:
z 创建和删除元素 z 代码段符号显示了代码段的编程语言,还可以显示它是否受保护 z 浏览元素属性 z 创建用户目录 z 启动不同的编辑器 z 开启导入
导出功能
/
功能试图: 在功能试图中,项目浏览器提供了如下功能:
z 创建功能组件 z 从结构视图中,通过拖放操作,插入代码段,动态数据表,操作员屏幕等内容。 z 创建代码段 z 浏览元素属性 z 启动不同的编辑器 z 代码段符号显示了编程语言和其他属性
23
介绍
配置器
配置器窗口 配置器窗口内又分为两个窗口:
本地
总线:
Quantum
本地
Quantum
模拟
140 ACI 030 00 01.00 140 ACI 040 00 01.00 140 ACO 020 00 01.00 140 ACO 130 00 01.00 140 AII 330 00 01.00 140 AII 330 10 01.00
140 AIO 330 00 01.00 140 AMM 090 00 01.00 140 ARI 030 10 01.00 140 ATI 030 00 01.00 140 AVI 030 00 01.00 140 AVO 020 00 01.00
通信
140 CRP 811 00 01.00 140 CRP 93X 00 01.00 140 EIA 921 00 01.00 140 NOE 211 00 01.00
140 NOE 251 00 01.00
z 目录窗口
可以在该窗口中选择一个模块,并通过拖放操作将其直接插入到 形演示中去。
z
PLC
配置器窗口的显示:
总线
1
140 CPU 671 60 01.00
总线
配置的图形显示
1
CPS
111
缩放
1
总线属性
2
3
CPU
ACI
671
00
030
60
...
00
4
ACO
020
00
剪切
复制
插入
删除模块
打开模块
移动模块
电源和
5
DDI 353
00
6
7 8 9 10 11 12 13 14
DDO
353
00
I/O预算...
剪切
复制
插入
新设备
PLC
...
配置的图
24
用户可以通过变换鼠标指针的位置来调用以下快捷菜单(右键)之一:
z 如果鼠标指针位于背景处:
z 选择不同的缩放比例
z 如果鼠标指针位于模块上:
z 实现编辑功能 z 打开用来定义模块特有参数的模块配置
z 显示
z 如果鼠标指针位于空插槽上:
z 从目录中插入一个模块 z 插入一个预先复制的模块,其中包括该模块预先定义的属性
I/O
删除,复制,移动
(
属性和总电流
)
介绍
模块配置 模块配置窗口(通过模块快捷菜单或者双击模块来调用)用来配置模块。它还包括通
道选择,为所选通道选择功能,分配 一个
Premium I/O
0.2 : TSX AEY 414
4I ANA. MULTIRANGE
模块的模块配置窗口:
State RAM
地址(仅用于
Quantum)
等内容。
TSX AEY 414
通道 通道 通道
通道
任务:
MAST
终端块识别
连接
Cold
内部 外部
0 1 2
3
Te le f a st PT100
配置
符号
0 1 2 3
范围
+/-10 V Thermo K +/-10 V Pt100 IEC/
标度
%... 1/10 °C %... 1/10 °C
过滤
0 0 0 0
25
介绍
模块属性 模块属性窗口(通过模块快捷菜单来调用)显示了模块属性,比如功率消耗,
的数量(仅限于
Premium)
,等等。
电源的模块属性窗口显示了背板的总电流:
TSX PSY 2600M:-1
电源 EA
120%
100%
80%
60%
40%
20%
5000 mA
1904 mA
200 mA
5V
已用的 超载的 可用的
625 mA
0 mA
24V
500 mA
30 mA
24VR
:用于继电器
VR
:用于
V
VDC
输入
确定
取消
网络配置 网络配置通过通信文件夹进行调用。
网络配置:
项目浏览器
结构视图
通信
网络
我的网络
以太网
Modbus Plus_A
路由数据表
链接
本地
1
分析
打印
添加网络
增加
减少
添加用户目录
添加超链接
I/O
26
用户可以通过网络配置窗口:
z 创建网络 z 进行网络分析 z 打印输出网络配置
以下是一个配置网络的窗口:
以太网
_1
模型系列 模块地址
配置
常规连接
0
消息 带宽I/O
TCP/IP 10/100
模块IP地址
地址
IP
.0.0.
0
IP
地址配置
IP
已配置的
子网掩码
.0.0.
0
0
请求
机架
模块
网关地址
.0.0.
0
全局数据
通道
模块服务
0
SNMP 地址服务器
请求
I/O
全局数据
地址服务器
介绍
地址
IP
子网掩码
网关地址
客户/服务器配置
以太网配置
以太网
II 802.3
.0.0.
0
.0.0.
0
.0.0.
0
0
0
0
配置完成以后,要为网络分配一个通信模块。
27
介绍
数据编辑器
介绍 数据编辑器具有以下功能:
z 对变量实例进行声明 z 对导出数据类型
z 对基本和导出功能块 z 对导出功能块
在数据编辑器的所有选项卡中都可以使用以下功能:
z 复制,剪切,粘贴 z 扩展
z 根据类型,符号,地址等进行分类 z 过滤器 z 插入,删除和更改栏位 z 在数据编辑器和程序编辑器之间进行拖放操作 z 取消上一次更改 z 导出
缩进结构化数据
/
导入
/
变量 变量选项卡用来声明变量。
变量选项卡:
数据编辑器
00
1
变量 过滤
名称
工作站
Filling_up Mixer_filling_u End_of_filling Initial_mixer Initial_filling Empty_mixer Proportioning Fill_up_A Fill_up_B Sync_1 Sync_2 Fill_up_C Start_mixer
(DDT)
(DFB)
类型 功能块
DDT
名称
类型
1
Bool
SFCSTEP_STATE
Bool
Byte
SFCSTEP_STATE Date
SFCSTEP_STATE Dint
SFCSTEP_STATE Dt
SFCSTEP_STATE DWord
SFCSTEP_STATE EBoot
SFCSTEP_STATE Int
SFCSTEP_STATE Bool Dint Dint Bool Bool
(EFB/DFB)
参数进行定义
*
进行定义
基本的
进行实例声明
类型
DFB
导出的
数值 注释
地址
...
导出的
I/O
28
有以下可用功能:
z 为变量定义符号 z 分配数据类型 z 为导出数据类型提供选择对话框 z 分配一个地址 z 自动用符号表示
z 为一个初始值赋值 z 输入一个注释 z 在数据属性窗口中浏览一个变量的所有属性
I/O
变量
介绍
取决于硬件的数据 类型
(IO DDT)
IO DDT IO DDT
用来把一个模块的完整 分配:
数据编辑器
00
1
变量
过滤器
名称 别名
temp_ffeding_box
Analog_输入_1
CH_ERROR
temp_ffeding_box
EXCH_STS STS_IN_PROGR CMD_IN_PROGR ADJ_IN_PROGR EXCH_RPT STS_ERR CMD_ERR ADJ_ERR
类型 功能块
DDT
名称
*
temp_ffeding_b Int %IW0.2.0.0
结构分配给一个个体变量。
I/O
类型
DFB
基本的
类型
Int %IW0.2.0.0
ANA_I... %CH0.2.0
Bool %I0.2.0.ERR
Int %MW0.2.0.0 Bool %MW0.2.0.0 Bool %MW0.2.0.0 Bool %MW0.2.0.0 Int %MW0.2.0.1 Bool %MW0.2.0.1 Bool %MW0.2.0.1 Bool %MW0.2.0.1
导出的
地址
导出的
数值
I/O
有以下可用功能:
z 完整的 z 在输入变量地址以后,系统会为结构的所有元素自动分配正确的输入
结构可以通过
I/O
IO DDT
分配给个体变量。
输出位
/
或字。
z 因为地址分配的操作可以稍后进行,所以用户可以创建一个简单的标准模块,并
在以后再定义名称。
z 用户可以为
结构的所有元素指定一个别名。
I/O
29
介绍
导出数据类型
(DDT)
类型选项卡用来定义导出数据类型
DDT
(DDT)
。 导出数据类型是对任何来自已经定义的数据类型(基本的或者导出的)的结构或者 数组的定义。
类型选项卡:
DDT
00
1
名称
数据编辑器
变量
过滤器
标准 马达
SFCSTEP_STATE SFCSTEP_TIMES
停止 反馈 开始 警报 速度
Amp
DDT
名称
类型
功能块
*
类型 注释
<Struct> <Struct> Bool Bool Bool Standard Int Int
<Struct> <Struct>
DFB
类型
有以下可用功能:
z 嵌套 z 数组的定义,最多有 z 初始值的赋值
z 地址分配 z 输入一个注释 z 导出数据类型分析 z 将导出数据类型分配给一个库 z 在数据属性窗口内浏览一个导出数据类型的所有属性
的定义(最多8级
DDT
)
6
30
介绍
功能块 功能块选项卡用来对基本和导出功能块
功能块选项卡:
数据编辑器
00
1
变量
名称
过滤
SFC
DDT
名称
控制
<输入>
CHARTREF INIT CLEAR DISTIME DISTRANS DISACT STEPUN STEPDEP RESTERR DISRMOTE ALLTRANS RESSTEPT
类型
功能块
*
号码 注释类型
1 2 3 4 5 6 7 8 9 10 11 12
有以下可用的功能:
z 显示在项目中所使用的功能块 z 为项目中所使用的功能块定义一个符号 z 自动激活在项目中所定义的符号 z 输入一个关于功能块的注释 z 浏览功能块的所有参数
z 将一个初始值赋给功能块输入
输入/输出
(
/
输出
(EFB/DFB)
类型
DFB
SFCCNT
SFCCHA Bool FA LSE Bool FA LSE Bool FA LSE Bool FA LSE Bool FA LSE Bool FA LSE Bool FA LSE Bool FA LSE Bool FA LSE Bool FA LSE Bool FA LSE
数值
)
的实例进行声明。
EFB
链接到 重置
SFC
重置
SFC
监管时间 转换
动作处理 步结束 步结束 监管时间 远程控制 所有转换 实耗时间
DFB
SFC
31
介绍
DFB
类型
类型选项卡用来定义导出功能块
DFB
逻辑可以在
DFB
类型选项卡:
DFB
数据编辑器
00
1
变量 DDT
过滤器
名称
FBD,LD,IL
类型
名称
<输入>
打开 关闭 有效 未打开 未关闭
<输出> <输入/输出>
<公共>
计时器盘面 计时器开口
*
或者
功能块
Nu 类型
有以下可用的功能:
z 定义 z 定义
z 输入 z 输出
z z 私有变量
z 公共变量
z z 为导出数据类型提供选择对话框
z 为一个初始值赋值 z 嵌套
z 在一个 z z 对定义的 z 版本管理
z 将定义的
名称
DFB
的所有参数,比如:
DFB
VAR_IN_OUT (
参数分配数据类型
DFB
DFB
中使用若干个代码段
DFB
DFB和DFB
参数输入一个注释
进行分析
DFB
分配给一个库
DFB
联合输入/输出
参数。
(DFB)
编程语言的一个或多个代码段内直接创建。
ST
类型
DFB
DFB
类型
数值
<DFB>
Bool Bool Bool Bool Bool
Int Int
)
32
介绍
数据的使用 通过数据编辑器所创建的数据类型和实例可以插入到(取决于上下文)编程编辑器
中去。 有以下可用的功能:
z 访问所有编程语言编辑器 z 只有兼容的数据会被显示出来 z 浏览根据所属库来排列的功能,功能块,过程和导出数据类型。
z 在编程过程中可以对实例进行声明
数据选择对话框:
名称
:实例选择
功能块
*
SFCSTEP_STATE Motor Motor
Int Real
在结构中
注释
设点 设点 设点
%MW100Int %MW101Int %MW102Int
取消确认
GEOFBDEDITOR
.1
AND
...
IN2
|
1
变量
OUTIN1
名称 地址类型
清空 马达混合 马达清空
fb1_a_presel fb1_b_presel fb1_c_presel adjust_tempo_0 logo nv
33
介绍
程序编辑器
介绍 可以从以下各项创建程序:
z 任务,以周期或者循环方式执行。
可以从以下各项创建任务:
z 代码段 z 子程序
z 事件处理,要在所有其他任务之前执行。
可以从以下各项创建事件处理:
z 用来处理时间控制事件的代码段 z 用来处理硬件控制事件的代码段
程序的例子:
项目浏览器
结构视图
程序
任务
事件
ST
ST
ST
ST
MAST
代码段
F
B
计数
D
LD
钻孔 清洗
SFC
代码段
SR
ST
SR1
LD
SR2
FAS T
代码段
代码段
SR
AUX0
代码段
代码段
SR
计时器事件
计时器 计时器
事件
I/O
Evt0 Evt1
0 1
34
介绍
任务
Unity Pro
各个任务以 “并行”和独立的方式执行,其执行优先级被
支持多重任务(多重任务处理)。
所控制。用户可以
PLC
根据不同的需要对任务进行调整,从而使其成为构建项目的有力工具。 可以从以下各项来构建多重任务项目:
z 一个主任务
主任务以循环或者周期的方式执行。
(MAST)
它形成程序的主代码段,并以顺序的方式执行。
z 一个快速任务
(FAST)
快速任务以周期的方式执行。它的优先级比主任务高。快速任务用于以快速和周 期方式执行的进程。
z 一到四个辅助任务
(AUX)
辅助任务以周期的方式执行。它们用于慢速处理,优先级最低。 在构建项目的过程中,也可以只使用一个任务。在这种情况下,只有主任务是 有效的。
事件处理 事件处理在事件代码段出现。事件代码段比所有其他任务代码段的优先级都高。它
们适合用于那些在触发了一个事件之后需要极短反应时间的处理过程。 对于事件处理过程来说,有以下可用的代码段类型:
z 用来处理时间控制事件的代码段 z 用来处理硬件控制事件的代码段
(Timerx (Evtx
代码段
代码段
)
)
它支持以下编程语言:
FBD (
LD (
指令表
IL (
ST (
功能块图
梯形图语言
)
结构化文本
)
)
)
z
z
z
z
代码段 代码段是自治的程序单元,项目逻辑是在代码段中创建的。代码段是按照项目浏览
器 (结构试图)中给出的顺序执行的。代码段与一个任务相关联。 同一个代码段不能同时隶属于一个以上的任务。
它支持以下编程语言:
z
z
z
z
z
35
FBD (
LD (
SFC (
指令表
IL (
ST (
功能块图
梯形图语言
顺序功能图
)
结构化文本
)
)
)
)
介绍
子程序 子程序是在子程序代码段中作为单独的单元来创建的。
子程序是从代码段或者另外的子程序中被调用的。 嵌套的级别最多可以有8级。 子程序不能调用自己(非递归)。 子程序会分配给一个任务。同一个子程序不能被不同的任务所调用。 它支持以下编程语言:
z
z
z
z
FBD ( LD (
指令表
IL ( ST (
功能块图
梯形图语言
)
结构化文本
)
)
)
36
介绍
功能块图
介绍
演示
检查窗口
FBD
IN1
%QX4.2.3
注释
字面值
变量
EN
FBD
FBD
输入
cond
IN1
TRUE
1
cond1
IN2 IN3
编辑器用于符合
代码段的演示:
AND
EN
AND
对象 用户可以借助
z 基本功能 z 基本功能块 z 导出功能块 z 功能程序
z 子程序 z 跳转 z 链接 z 实际参数 z 文本对象,给出逻辑注释
ENO
拓扑地址
ENOEN
FBD (
(EF)
(EFB) (DFB)
IEC 61131-3
的图形功能块编程。
输出
ENO
1
5
链接
EN
%IX1.5.4
%IX1.5.5
错误提示
VarX
E1061 Undefined Symbol 'Varx'
OR
ENO
链接
求反
23
A < B C = D
交叉点
IN4
ST
EN
表达式
AND
XOR
功能块图)编程语言的对象把一个程序段划分为若干个:
ENO
ENOEN
Error1 Result1
执行号码
4
Error2 Result2
37
介绍
属性
输入帮助
代码段带有一个背景网格。一个网格单元由十个网格点组成。网格单元是
FBD
代码段内两个对象之间最小的距离。 通过网格坐标来进行对齐。 一个
(=23
代码段包含
FBD
个网格单元)。
300
个水平网格点
编程语言不是面向单元的,但是对象可以
FBD
个网格单元)以及
(=30
230
可以通过鼠标或者键盘输入程序代码。
编辑器提供了以下输入帮助:
FBD
z 用于对所需对象进行快速便捷访问的工具栏 z 在创建程序的时候,进行直接的语法和语义检查
z 错误的功能和功能块会用蓝色显示出来 z 未知字
z 在错误提示中给出简短的错误说明
z 表格显示的 z 实际的参数可以以符号或者拓扑地址的形式输入和显示
z 不同的缩放比例 z 链接跟踪 z 链接线路的优化 z 检查窗口的显示
比如未经声明的变量)或者不匹配的数据类型会用红色的波浪线标出
(
FFB
FBD
个垂直网格点
38
介绍
梯形图
介绍
演示
(LD)
语言
编辑器用于符合
LD
代码段的演示:
LD
左电源母线
%IX1.5.6
%IX1.5.6
接点
%IX1.5.6
%Q2
%Q3
IEC 61131-3
拓扑地址
%IX1.5.5
执行号码
XOR
IN1
IN2
ENOEN
OUT
的梯形图编程。
功能
8
右电源母线
线圈
检查窗口
%QX4.2.3
E1061 Undefined Symbol 'Varx
变量
Error
注释
错误提示
%QX2
Error
VarX
39
介绍
对象
属性
输入帮助
编程语言对象帮助用户将一个代码段划分为若干个:
LD
z 触点 z 线圈 z 基本功能
z 基本功能块 z 导出功能块 z 功能程序
z 控制元素 z 对代表某一个
z 子程序调用 z 跳转 z 链接 z 实际的参数 z 文本对象,给出逻辑注释
代码段带有一个背景网格,该网格将代码段划分为行和列。LD编程语言是面向
LD
网格单元的,也就是说,在每一个网格单元中只能放置一个对象。
代码段中可以定义
LD
(EF)
(EFB) (DFB)
IEC 61131-3
11-64
扩展内容的功能块进行操作和比较
列和
17-2000行。
可以通过鼠标或者键盘输入程序代码。
编辑器提供了以下输入帮助:
LD
z 可以从工具栏,菜单中选择对象,也可以借助快捷键直接进行选择 z 在创建程序的时候,直接进行语法和语义检查
z 错误的对象会用蓝色显示出来 z 未知字
z 在错误提示中给出简短的错误说明
z 表格显示的 z 实际的参数可以以符号或者拓扑地址的形式被输入和显示
z 不同的缩放比例
z
FFB
z 优化 z 检查窗口的显示
比如未经声明的变量)或者不匹配的数据类型会用红色的波浪线标出
(
FFB
链接的跟踪
的链接线路
FFB
40
介绍
关于顺序功能图
(SFC)
的常规信息
介绍 该代码段描述了符合
通过显示使能步骤,可以消除 初始步,与并行串之间进行跳转等功能。
演示
链接
转换条件
转换条件的返回
(
代码段的演示:
SFC
)
S_4_1
T1
S_4_2 S_4_5
T_4_2
S_4_3
IEC 61131-3
转换条件
布尔变
(
%I10.1
S_4_6
的顺序功能图
的限制,进而使用户能够使用诸如多令牌,多重
IEC
初始步
)
Var X
(SFC)。
并行分支
%I10.3
E1061 Undefined Symbol 'VarX'
S_4_9
S_4_7
选择分支
跳转
T_4_3
%I10.4
>
转换条件
S_4_7
布尔字面值
(
宏步
S_4_4
1
MS_4_1
Return_Var
41
)
%I10.5
转换条件
拓扑布尔
(
选择合并
地址)
并行合并
介绍
对象
输入帮助
代码段为生成程序提供了如下对象:
SFC
z z 宏步
z 转换 z 转换代码段
z 动作代码段 z 跳转 z 链接 z 选择顺序 z 并行顺序 z 文本对象,给出逻辑注释
SFC
z 用来对所需对象进行快速便捷访问的工具栏 z 自动步编号 z 直接访问动作和转换条件 z 在创建程序的时候,直接进行语法和语义检查
z 不同的缩放比例 z 显示
z 链接跟踪 z 链接线路的优化
嵌入了子步的顺序
(
转换条件
(
)
)
编辑器提供了以下输入帮助:
z 错误的对象会用蓝色显示出来 z 未知字
z 在错误的对象会用蓝色显示出来
比如未经声明的变量)或者不匹配的数据类型会用红色的波浪线标出
(
隐藏分配的动作
/
42
介绍
步属性 步属性:
步属性
常规 动作 注释
步名称
监管时间和延迟时间
StepX
'SFCSTEP_TIMES'变量
最大
最小
延迟
步属性
常规 动作
时间
标识符
DS
DS Motor1
t#1s
对所选变量进行初始搜索
初始步
字面值
注释
OK
Var iableLiteral
动作
变量
Motor1 . .
...
代码段
HelpApplyCancel
接受动作
新动作
删除动作
向上
向下
确定
帮助应用取消
步属性通过一个对话框进行定义,该对话框具有以下功能:
z 定义初始步 z 定义诊断时间 z 步注释 z 分配动作及其标识符
43
介绍
指令表
介绍
演示
IL
编辑器用于符合
IL
代码段演示:
IL
标号
START:
IEC 61131-3
的指令表编程。
运算符 操作数
LD ANDN ST
VarA VarB VarC
(* Key 1 *) (* and not key 2 *)
(* Ventilator On *)
LD VarX (* Undeclared 变量 *)
E1061 Undefined Symbol ’VarX
注释
VarA
%I4.2.3
Comment
错误提示
检查窗口
对象 指令表包含一系列指令。每一个指令都会在新的一行开始,并含有以下内容:
z 一个运算符 z 如果需要的话,会有一个限定词 z 如果需要的话,会有一个或多个操作数 z 如果需要的话,会有一个作为跳转目标标记 z 如果需要的话,会有一个关于逻辑的注释
输入帮助
编辑器提供了以下输入帮助:
IL
z 在创建程序的时候,直接进行语法和语义检查
z 用颜色显示出关键字和注释 z 未知字
z 在快速信息
z 表格显示功能和功能块 z 功能和功能块的输入辅助功能 z 操作数可以以符号或者拓扑地址的方式输入和显示 z 检查窗口的显示
比如未经声明的变量)或者不匹配的数据类型会用红色的波浪线标出
(
错误提示)中给出简短错误说明
(
44
介绍
结构化文本
介绍
演示
对象
ST
编辑器用于符合
ST
代码段演示:
ST
IEC 61131-3
指令
D := B*B - 4*A*C ;
IF D < 0.0 THEN NROOTS := 0 ; ELSIF D = 0.0 THEN
检查窗口
NROOTS := 1 ; X1 := -B / (2.0*A) ;
ELSE
X1
%QF4.2.3 Comment
NROOTS := 2 ; X1 := (-B + SQRT(D)) / (2.0*A) ; X2 := (-B - SQRT(D)) / (2.0*A) ;
END_IF ;
错误提示
编程语言通过 “表达式”进行操作。
ST
Varx := 15;
E1061 Undefined Symbol 'Varx
表达式由运算符和操作数构成,它在执行的时候会返回一个数值。 运算符是在执行运算过程中所用到的符号。
运算符用于操作数。操作数包括变量,字面值,功能以及功能块输入/输出,等等。 指令用来构建和控制表达式。
的结构化文本编程。
运算符
操作数
(* Undeclared 变量 *)
注释
(* Basis Calculation *)
表达式
输入辅帮助
45
编辑器提供了以下输入帮助:
ST
z 在创建程序的时候,直接进行语法和语义检查
z 用颜色显示出关键字和注释
z 未知字
z 在快速信息
z 表格显示功能和功能块 z 功能和功能块的输入辅助功能 z 操作数可以以符号或者拓扑地址的方式输入和显示 z 检查窗口显示
比如未经声明的变量)或者不匹配的数据类型会用红色的波浪线标出
(
错误提示)中给出简短错误说明
(
介绍
PLC
模拟器
介绍 通过
在真实 器上运行。 该模拟器和真实
模拟器,用户可以不必连接到真实
PLC
上运行的所有项目任务
PLC
PLC
的区别在于它没有
ETHWAY,Fipio和Modbus Plus)
模拟器也具有所有调试功能,动态仿真,断点,强制变量等内容。
PLC
演示 对话框演示:
CH2 CH0 RUN ERR
CH3 CH1 TER I/O
事件
重新启动
电源关闭/开启
PLC
模拟器控制
...
Premium
FIP
主机名称:
Name of the client:
模拟器的结构 模拟器控制器提供了以下可视内容:
z 模拟的 z 模拟的 z 加载项目的名称
z 用于模拟器的主机 z 用来模拟 z 用来重启模拟 z 用来模拟热重启的电源关闭 z 用来控制模拟器的快捷菜单
PLC PLC
I/O
的类型 的当前状态
地址和
IP
DNS
事件的对话框
的重新启动按钮(模拟的冷启动
PLC
开启按钮
/
鼠标右键
(
的情况下进行程序调试。
PLC
(Mast,Fast,AUX和Event)
模块和通信网络(比如:
I/O
的非确定性实时行为。
模拟
sg6157.aut.schneider-
连接的客户端
139.158.106.116主机IP地址:
Station项目名称:
地址:
IP
127.000.000.001local host
139.158.107.005sg-avail.aut.schneider
名称,以及所有建立连接的客户机
)
)
,都可以在模拟
?
46
导出/导入
介绍
介绍 导入和导出功能允许用户在新项目中使用已有的数据。借助
用户可以向/从外部软件提供/接受数据。
导出 以下对象可以被导出:
z 包括配置在内的完整的项目 z 所有编程语言的代码段 z 所有编程语言的子程序代码段 z 导出功能块
z 导出数据类型 z 变量声明
z 操作屏 z 配置
(FNES
(DFB)
(DDT)
格式
)
导入 所有能够导出的对象也可以被导入。
有两种导入方式:
z 直接导入
完全按照导出时的情况将对象导入。
z 通过辅助功能进行导入
辅助功能允许用户更改变量名称,代码段或者功能组件。用户也可以修改地址的
映射。
导出/导入格式,
XML
47
介绍
用户文档
用户文档 用户文档范围:
文档
*
1
工作站
标题
2
Contents
...
Configuration
Local Quantum Bus
动态数据表
页脚
以下是针对项目文档操作所提供的一些服务功能:
z 对整个项目 z 在结构和功能视图之间进行选择 z 调整结果 z 为编程语言编辑器,配置器等进行本地打印
z 突出显示 z 可以选择文件格式
z 打印预览 z 保存文档
(
(
(4)
排除所有标题
包含所有标题
参数
结构文档文件
视图
打印
填料箱
(?)
混合
(?)
3
ST1 (?)
IL1
排除标题
load
包含标题
Emp
SR Sec
事件
(?)
或者按代码段进行打印
(2)
视图
打印
(?)
(1)
页脚,常规信息,等等。
粗体)关键字
4
(3)
)
48
调试服务
介绍
在用户应用程序中 寻找错误
以下功能用来在项目中进行调试优化:
z 在编程语言编辑器中设置断点 z 逐步执行程序,包括进入,跳出和跨过每一步 z 调用内存,以便恢复整个程序路径 z 控制输入和输出
联机模式 联机模式指个人计算机和
式来进行调试,动态操作以及更改程序。 在个人计算机和 项目进行比较。
建立了连接以后,系统会自动对个人计算机的项目和
PLC
比较可能有以下几种结果:
z 个人计算机和
上的项目不同:
PLC
在这种情况下,联机模式会被限制。用户只能使用
止),诊断服务和变量监视。用户不能更改
和上传功能是可用的,可以在不受限制的模式下运行(个人计算机和
目相同)。
z 个人计算机和
上的项目相同:
PLC
有两种可能性:
z 联机相同,创建的
上一次在个人计算机上所创建的项目被下载到 也就是说,个人计算机上的项目和 在这种情况下,所有动态功能都是可用的,不受限制的。
z 联机相当,未创建的
上一次在个人计算机上所创建的项目被下载到 在这种情况下,动态功能只能用于未改动过的项目组件中。
建立了连接的情况。用户可以在
PLC
PLC
上的是完全一致的。
PLC
上使用联机模
PLC
PLC
控制命令(比如开始,中
PLC
程序逻辑或者配置。不过,下载
上的项
PLC
上,此后没有发生更改,
PLC
上,不过后来发生了改变。
PLC
49
介绍
动态化 变量的动态化有各种可能性:
z 代码段动态化
所有编程语言
(FBD,LD,SFC,IL和ST)
接在代码段中动态化。
ST1 : [MAST]
TIMER(IN := NOT pulse; PT := t#1s; (* Blink timer *)
pulse := TIMER.Q;
(* Count every pulse *) IF pulse = 1 THEN count := count + 1; END_IF; (* Animate lights according to counter *) CASE count OF 1: out1 := TRUE; 2: out2 := TRUE; ELSE (* All lights are on, switch then off again and start from
out1 := FALSE; out2 := FALSE;
FBD1 : [MAST]
都可以动态化。变量在连接时可以直
50
cond
IN1
TRUE
1
AND
ENOEN
1
%IX1.5.4 %IX1.5.5
23
OR
ENOEN
A > B C = D
AND
ENOEN
Error1 Result1
介绍
z 工具提示
带有一个变量值的工具提示会在鼠标掠过该变量区域的时候显示出来。
ST1 : [MAST]
TIMER(IN := NOT pulse; PT := t#1s; (* Blink timer *)
pulse := TIMER.Q;
(* Count every pulse *) IF pulse = 1 THEN count := count + 1; END_IF; (* Animate lights according to counter *) CASE count OF 1: out1 := TRUE; 2: out2 := TRUE; ELSE (* All lights are on, switch then off again and start from
out1 := FALSE; out2 := FALSE;
z 检查窗口
66
用户可以为任何变量创建一个检查窗口。该窗口显示变量值,地址和所有注释
如果有的话)。在所有编程语言中,该功能都可用。
(
ST1 : [MAST]
TIMER(IN := NOT pulse; PT := t#1s; (* Blink timer *)
pulse := TIMER.Q;
(* Count every pulse *) IF pulse = 1 THEN count := count + 1; END_IF; (* Animate lights according to counter *) CASE count OF 1: out1 := TRUE; 2: out2 := TRUE; ELSE (* All lights are on, switch then off again and start from
out1 := FALSE; out2 := FALSE;
count
out1
TRUE
7
51
介绍
z 变量窗口
该窗口显示在当前代码段中所使用的所有变量。
变量窗口
名称 数值 类型 注释
pump_1.start Bool
pump_1.cmd Bool pump_1.speed Int high_anim Bool jack_1_out Bool jack_3_out Bool midle_anim Bool Low_anim Bool hole_anim1 Bool End_threading.x Bool Unblocking.x Bool hole_anim2 Bool End_drilling.x Bool
z 动态数据表
1
1 100 0 1 0 1 0 0 0 0 0 0
用户可以在动态数据表中显示,更改任何变量的数值,或者对它们进行强制赋 值。用户可以更改某一个变量的数值,也可以同时更改多个变量的数值。
A
Table[FBD Editor - FBD1: MAST]]
T
修改 强制赋值
52
名称
start Indexing_blocki...
t x tminErr
tmaxErr text String var1 120 120 Int var2 360 360 Int
数值
1
0s 1 0 0
设定数值 类型
1
Bool
注释
SFCSTEP_STAT Time Bool Bool Bool
介绍
观察点 用户可以在创建观察点
期结束。 动态数据表可以和观察点 观察点更新的频率由一个计数器 带有观察点的ST代码段:
观察点
ST
ST (Section): My_ST [MAST]
if pump_1.start then pump_1.cmd: = true; else pump_1.cmd: = false; pump_1.speed: = 0; end_if; if pump_1.cmd then pump_1.speed: = pump_1.speed + 1; end_if;
1
if pump_1.speed>100 then pump_1.speed: = 100; end_if; (* animation drilling & threadinf *)
high_anim: = not jack_1_out and not jack_3_out;
A
Table[FBD-Editor - My_ST: MAST]]
T
修改
名称 数值 类型 注释
start
Indexing_blocki...
t x tminErr
的同时,借助这些观察点浏览
(1)
同步。
(2)
强制赋值
341
来决定。
(3)
3
Bool
SFCST... Time Bool Bool
数据,而不必等到周
PLC
2
断点 借助断点,用户可以在项目的任意位置停止处理过程。
带有断点的ST代码段:
TIMER(IN := NOT pulse; PT := t#1s; (* Blink timer *)
断点
53
pulse := TIMER.Q;
(* Count every pulse *) IF pulse = 1 THEN count := count + 1; END_IF; (* Animate lights according to counter *) CASE count OF 1: out1 := TRUE; 2: out2 := TRUE; ELSE (* All lights are on, switch then off again and start from
out1 := FALSE; out2 := FALSE;
ST1: [MAST]
介绍
单一步模式 单一步模式允许用户逐步执行程序。如果项目被某个断点所中止,或者已经处于单
一步模式,那么就会提供单一步功能。 在单一步模式下的ST代码段:
ST
代码段):
ST (
(* inc counter var1 *) my_dfb (var2, var3);
1
test1 [MAST]
ST
ST (DFB): test [test - t...
out: = in;
2
3
MAST call stack
调用 (离最早一次调用最近的一次
代码段
test (test)my_dfb ST (1,4) test1 ST (2,1)
实例 语言
Display
Close
)
在单一步模式中提供了以下功能:
z 逐步执行程序 z 进入步
z 跳出步 z 跨过步 z 显示当前步
z 调用内存
(1)
(2)
(3)
在 “步信息”功能被执行若干次以后,调用内存功能就会从第一个断点处起显示 整个路径。
书签 借助书签,用户可以对代码段进行选择,并且很容易地再次找到它们。
54
诊断浏览器
介绍
描述
Unity Pro
提供了系统和项目诊断功能。
发生的错误会在一个诊断窗口内显示出来。用户可以直接从诊断窗口打开引起错误 的代码段,以便于纠正错误。
诊断浏览器
确认:
0
已确认
已删除 缓冲器电池错误 已删除 缓冲器电池错误 系统 已删除 索引溢出 系统
系统警报
错误的设备机架: 错误的设备插槽:
缓冲器电池错误
消息 错误 符号 范围
缓冲器电池错误
系统
... %S68 0
系统
28/01/2002 21:10:51
0 0
%S68 0
...
%S68 0
...
%S20 0
...
55
介绍
操作屏
介绍 操作员窗口显示自动化进程。
借助操作屏编辑器,用户可以很方便地创建,修改和管理操作屏。 用户借助项目浏览器来创建和访问操作屏。
项目浏览器
结构视图
工作站
配置
0 : X Bus
导出数据类型 导出FB类型 变量和FB实例
基本变量
?
导出变量
?
导出变量
I/O-
?
基本FB实例
?
导出FB实例
?
通信
网络 路由数据表
程序
任务
事件
动态数据表
操作屏
系列
_1
_1
_2_3
系列
_2
系列
_3
文档
扉页
?
常规信息
?
56
介绍
操作屏编辑器 操作员窗口中含有很多信息(动态变量,系统概览,文本说明,等等),使得用户能
够方便地监视和更改自动化变量。 操作屏
FBD1: [MAST]
螺纹切削
钻孔
0
钻孔速度
50
Print
插入数值
功能块
100
启用
锁和功能块
周期结束
螺纹切削
开始
菜单
操作屏编辑器提供了如下功能:
z 丰富的显示功能
z 几何元素
线,矩形,椭圆,曲线,多边形,位图,文本
z 控制元素
按钮,控制箱,开关,页面浏览,超链接,输入区,旋转区
z 动态元素
棒状图,趋势图,对话,日期,消失,闪烁色,变量动态化
z 为管理图形对象创建一个库 z 复制对象 z 创建一个在操作屏中使用的所有变量的列表 z 创建在操作屏中使用的消息 z 从操作屏直接访问动态数据表或者交叉引用数据表的一个或多个变量 z 工具提示给出关于变量的附加信息 z 按照系列来管理操作屏 z 导入
57
导出个体操作屏或整个系列
/
介绍
58
介绍
59
介绍
60
内容预览
应用程序结构
II
本部分内容 本部分描述了与每种
本部分内容 本部分包含以下各章:
章名
2
3
4
5
6
每种
PLC
应用程序结构
应用内存结构
操作模式
系统对象
相关的应用程序和内存结构。
PLC
可用功能的描述
63
65
101
109
119
61
应用程序结构
62
每种
PLC
可用功能的描述
2
各种
编程语言 可用语言
PLC
的可用功能
平台
处理器
LD
FBD
ST
语言
IL
SFC
图例说明
X
-
语言
语言
语言
语言
Premium: TSX Atrium: TSX Quantum: 140 CPU
P57 1•• P57 2••
P57 3•• P57 4••
XXXX X X
-XXX XX
XXXX X X
XXXX X X
XXXX X X
可用语言。
不可用语言。
P57 5•• PCI 57 204/
454
31•••• 43•••• 53••••
651•• 671••
63
每种
可用功能的描述
PLC
任务和处理 可用的任务和处理
平台
处理器
主任务
循环式或周期式
快速任务 周期式
辅助任务 周期式
类型事件处理
I/O
计时器类型事件处理
类型和计时器类型
I/O
事件处理总计
图例说明
或数值 可用的任务或进程。该数值给出了任务或处理的最大数量。
X
-
Premium: TSX Atrium:
TSX
P57 1•• P57 2••
P57 3•• P57 4••
XXXX X X
XXXX X X
--4 - - 4
32 64 128 64 64 128
--32- 1632
32 64 128 64 64 128
不可用的任务或处理。
P57 5•• PCI 57 204/
454
Quantum: 140 CPU
31•••• 43•••• 53••••
651•• 671••
64
内容预览
应用程序结构
3
本章主题 本章描述了通过
本章内容 本章包含以下各节:
3.1
3.2
3.3
3.4
Unity Pro
主题 页码
任务和进程描述
代码段和子程序描述
单任务执行
多任务执行
软件创建的程序的结构和执行情况。
66
72
77
84
65
应用程序结构
3.1
任务和进程描述
内容预览
本节主题 本节描述了包含应用程序的任务和进程。
本节内容 本节包含以下主题:
主题 页码
主任务介绍
快速任务介绍
辅助任务介绍
事件处理概述
67
68
69
71
66
主任务介绍
常规信息 主任务是应用程序的主要任务。它是必需的,以缺省的方式创建。
应用程序结构
结构 主任务
(MAST)
由代码段和子程序组成。
主任务的每一个代码段都用以下语言进行编写:LD,
子程序用LD,
注意:
只能用在主任务代码段。用
SFC
FBD,IL
或者ST进行编写,在任务代码段中进行调用。
编写的代码段的数量不受限制。
SFC
执行 用户可以选择执行主任务的类型:
z 循环式 z 或者周期式
注意:如果主任务是循环式的,那么辅助任务是被禁止的。
缺省的选择
(
(1到255
)
毫秒
)
控制 主任务可以用程序通过位和系统字来控制。
系统对象 描述
%SW0
%S30
%S11
%S19
%SW30
%SW31
%SW32
任务周期
主任务激活
监视时钟错误
周期溢出
上个周期的执行时间(毫秒
最长周期的执行时间(毫秒
最短周期的执行时间(毫秒
FBD,IL,ST
)
)
)
或者
SFC
67
应用程序结构
快速任务介绍
常规信息 快速任务用于持续时间较短的、周期性的处理任务。
结构 快速任务
(FAST)
由代码段和子程序组成。
快速任务的每一个代码段都是用以下语言中的一种编写的:LD,
在快速任务的代码段中不能使用
子程序是用LD,
FBD,IL
或者ST语言编写的,并在任务代码段中调用。
SFC
语言。
执行 快速任务的执行是周期式的。
它的优先级比主任务高。
快速任务
(FAST)
的周期由配置来确定,其数值从1到
不过,被执行的程序的时间必须尽量短,以避免低优先级任务的溢出。
控制 快速任务可以用程序通过字或系统位来控制。
系统对象 描述
%SW1
%S31
%S11
%S19
%SW33
%SW34
%SW35
任务周期
快速任务激活
监视时钟错误
周期溢出
上个周期的执行时间
最长周期的执行时间
最短周期的执行时间
(ms)
(ms)
(ms)
255 ms
FBD,IL
或者ST。
68
辅助任务介绍
常规信息 辅助任务用于较慢的处理任务。它们是优先级最低的任务。
应用程序结构
Premium TSX P57 5•• 和Quantum 140 CPU 6
任务
(AUX0,AUX1,AUX2或AUX3)
结构 辅助任务
由代码段和子程序组成。
(AUX)
每一个辅助任务的代码段都是用以下几种语言之一编写的:LD,
在辅助任务的代码段中不能使用
用LD,
FBD,IL
或者ST语言最多可以编写64个子程序。这些子程序由任务代码
段进行调用。
执行 辅助任务的执行是周期式的。
它们的优先级是最低的。
辅助任务的周期可以固定在
语言。
SFC
10 ms到2.55 s
之间。
••••
上最多可以编写4个辅助
PLC
FBD,IL
或者ST。
69
应用程序结构
控制 辅助任务可以用程序通过位和系统字来控制。
系统对象 描述
%SW2
%SW3
%SW4
%SW5
%S32
%S33
%S34
%S35
%S11
%S19
%SW36
%SW39
%SW42
%SW45
%SW37
%SW40
%SW43
%SW46
%SW38
%SW41
%SW44
%SW47
辅助任务0的周期
辅助任务1的周期
辅助任务2的周期
辅助任务3的周期
激活辅助任务
激活辅助任务
激活辅助任务
激活辅助任务
监视时钟错误
周期溢出
辅助任务0上个周期的执行时间
辅助任务1上个周期的执行时间
辅助任务2上个周期的执行时间
辅助任务3上个周期的执行时间
辅助任务0最长周期的执行时间
辅助任务1最长周期的执行时间
辅助任务2最长周期的执行时间
辅助任务3最长周期的执行时间
辅助任务0最短周期的执行时间
辅助任务1最短周期的执行时间
辅助任务2最短周期的执行时间
辅助任务3最短周期的执行时间
0
1
2
3
(ms)
(ms)
(ms)
(ms)
(ms)
(ms)
(ms)
(ms)
(ms)
(ms)
(ms)
(ms)
70
事件处理概述
常规信息 事件处理用来缩短下列事件应用程序的响应时间:
z 来自输入 z 来自事件计时器。
这些处理任务的优先级高于任何其他任务。所以,它们适用于需要很短的事件响应 时间的处理任务。
输出模块,
/
应用程序结构
能够编写的事件处理任务的数量(参见
任务和处理,
64
取决于处理器的类型。
)
结构 事件处理任务是单代码段的,它只含有一个(无条件的)代码段。
它是用LD,
FBD,IL或ST
语言中的一种来编写的。
有两种事件:
z
z
用于来自输入/输出模块的事件
EVTi: TIMERi
:用于来自事件计时器的事件
执行 事件处理任务的执行是异步的。
在出现了某个事件以后,系统会重新安排应用程序到输入/输出通道的路径。
控制 在执行程序的过程中,用户可以通过如下系统位和字来控制事件处理任务。
系统对象 描述
%S38
%S39
%SW48
事件处理激活
事件调用管理堆栈饱和
执行事件处理任务的数量
71
应用程序结构
3.2
代码段和子程序描述
内容预览
本节主旨 本节描述了构成任务的代码段和子程序。
本节内容 本节包含以下主题:
主题 页码
代码段描述
代码段描述
SFC
子程序描述
73
75
76
72
代码段描述
代码段概述 代码段是自治的编程实体。
指令行的识别标号和接点网络等是每个代码段所专有的内容(不能和别的代码段进 行程序跳转)。
它们用下列语言中的一种来编写:
z 梯形图语言 z 功能块语言 z 指令表 z 结构化文本 z 或者顺序功能图
编写的前提是相关的任务能够接受该语言。
代码段按照它们在浏览器窗口内的编写顺序来执行(结构视图)。
在主任务,快速任务和辅助任务中,可以把一个执行条件和一个或多个代码段相关 联,但不能用在事件处理任务中。
代码段与一个任务相链接。同一个代码段不能同时和多个任务相链接。
(LD)
(FBD)
(IL)
(ST)
(SFC)
应用程序结构
例子 下面的图表显示了一个组织成代码段的任务。
MAST
Sections
Airlock
Oven_1
Dryer
SR Sections
73
应用程序结构
代码段的特性 下面的表格描述了代码段的特性。
特性 描述
名称 最多为32个字符(可以使用撇号,但是不能使用空格)。
语言
任务或处理 主任务,快速任务,辅助任务,事件
条件(可选
注释 最多为
保护 写保护,读/写保护。
LD,FBD,IL,ST或者SFC
可以用一个
)
BOOL或者EBOOL
个字符。
256
类的位变量来为代码段的执行设置条件。
74
代码段描述
SFC
常规信息 在顺序功能图语言中的代码段由以下内容组成:
z 一个用 z
SFC
z
LD,FBD,ST
代码段只能在主任务中编写(请参见关于
SFC
编写的主图表
SFC
编写的宏步
(MS)
,或者IL编写的动作或转换。
代码段的详细描述
SFC
应用程序结构
)
例子 下面的图表给出了一个
的宏步调用。
MAST
代码段的结构实例,并借助相关的图表显示了它所使用
SFC
代码段文件夹
Airlock
Oven_1
顺序处理
图表
MS_1_1
MS_2_1
MS_1_2
未用的宏
MS_4_1
MS_4_2
动作
Dryer
转换
75
应用程序结构
子程序描述
子程序概述 子程序作为单独的实体,使用以下几种语言之一进行编写:
z 梯形图语言 z 功能块语言 z 指令表 z 结构化文本
(IL)
(LD) (FBD)
(ST)
子程序可以在代码段或者其他子程序中来调用。嵌套的数量最多为8个。 子程序不能调用自身(非递归)。
子程序也与一个任务相链接。同一个子程序不能被多个不同的任务所调用。
例子 下面的图表显示了组织成代码段和子程序的任务。
MAST
代码段
代码段
SR
Control_1
Detection
子程序的特性 下面的表格描述了子程序的特性。
特性 描述
名称 最多为32个字符(可以使用下横杠,但是不能使用空格
语言
任务 主任务,快速任务或者辅助任务
注释 最多为
LD,FBD,IL
512
或者
个字符
ST.
)
76
应用程序结构
3.3
单任务执行
内容预览
本节主题 本节描述了单任务应用程序的操作。
本节内容 本节包含以下主题:
主题 页码
主任务周期描述
单任务:循环执行
周期执行
扫描时间控制
Quantum
中带有分布式输入/输出的代码段的执行
78
80
81
82
83
77
应用程序结构
主任务周期描述
常规信息 单任务应用程序是指只有一个用户任务,也就是主任务 (参见
您可以选择执行主任务的类型:
z 循环式 z 或者周期式
图例 下面的图例显示了操作周期。
输入获取
程序处理
输出更新
主任务介绍,
67
)
78
不同阶段的描述 下面的表格描述了各个操作阶段。
阶段 描述
输入获取 把与任务相关联的离散量模块和专用模块的输入数据状态写到内存中去,
用户可以通过强制赋值操作修改它们的值。
程序处理 执行由用户编写的应用程序
输出更新 根据应用程序所执行的结果,把输出位或字写到与任务相关联的离散量模
块和专用的模块中去。
用户可以通过强制赋值的操作对输出的数值进行修改。
应用程序结构
注意:在输入获取和输出更新阶段,系统还会隐式地监视
钟当前值的更新,状态发光二极管和液晶显示屏的更新,运行/停止模式转换检测,等等
和处理来自终端的请求(修改和动态化)。
操作模式 运行的
更新。
停止的
z 内部处理, z 输入获取
z 根据所选择的配置:
z 返回模式: z 保持模式:
适用于
(1)
状态时,禁止进行输入获取。
系统位和字的管理, 实时时
PLC (
,处理器按照顺序进行内部处理,输入获取,应用程序处理以及输出
PLC
,处理器进行以下操作:
PLC
(1)
输出设置到返回值。 保留上一个输出值。
Premium和Atrium PLCs
;对于
Quantum PLC
来说,当
PLC
)
处于停止
79
应用程序结构
单任务:循环式执行
常规信息 主任务按照下面所述的方式进行操作。此处描述了在单任务操作中循环执行主任务
的过程。
操作 下图显示了
%I
%I 读输入
%Q 写输出
周期的各个执行阶段。
PLC
处理程序
周期
n
描述 这种操作由连续的周期所构成。
在完成了输出更新以后,系统会执行自己的特殊处理操作,然后不间断地开始一个 新的周期。
周期检查 监视时钟会对周期进行检查(参见
%Q
%I
扫描时间控制,82页
)
周期
处理程序
%Q
n+1
80
应用程序结构
周期式执行
描述 在这种操作模式下,输入获取,应用程序处理和输出更新会根据一个定义的扫描时
间周期执行,这个定义的扫描时间为1到
在每个 并启动倒计时。 在定时器时间用完以前,
周期的开始阶段,一个根据定义的扫描时间对当前定时器进行初始化,
PLC
周期必须结束,以启动一个新的周期。
PLC
255 ms
操作 下面的图表显示了
%I
%I 读输入
%Q 写输出
周期的各个执行阶段。
PLC
处理程序
周期
n
%Q %I
处理程序
周期
n+1
操作模式 处理器按照顺序进行内部处理,输入获取,应用程序处理以及输出更新。
z 如果扫描时间尚未结束,处理器会通过进行内部处理操作来完成操作周期,直到
扫描时间耗尽。
z 如果操作时间大于分配的扫描时间,
会通过将任务的系统位
PLC
%S19
发出溢出信号。接下来系统就会继续处理过程,并完成操作 (不过,它必须不能 超过监视时钟的时间限定)。在输出被当前周期明确写入以后,下一个周期就会 开始。
周期检查 有两种检查:
z 周期溢出 z 通过监视时钟
(
参见
扫描时间控制,
参见
扫描时间控制,
(
82
82
)
)
%Q
设置为1而
81
应用程序结构
扫描时间控制
常规信息 在循环式或者周期式操作中,主任务的执行周期被
监视时钟 (周期式 或者循环式操作
周期性操作中的 控制
超过在
如果监视时钟发生了溢出,系统就会报错,从而使
)
%S11
%SW11
注意:
z 如果要再次激活任务,需要把终端连上,以便于分析错误原因,纠正错误,对
行初始化,并将其切换到运行模式。
z 如果要退出暂停模式,仅仅通过将其切换到停止模式是不行的,用户必须对应用程序重新
进行初始化,以确保数据的一致性。
在周期性操作中,用户可以通过一个附加的控制功能来检测周期溢出。如果周期溢 出的时间小于监视软件的值,那么周期溢出就不会使
%S19
%SW0
配置中定义的数值(缺省值为
Tmax
250 ms
位表示监视时钟的溢出。当扫描时间大于监视时钟时,系统就会将其设定为1。
含有以毫秒为单位的监视时钟值。用户不能通过程序更改这个数值。
位表示周期溢出。当扫描时间大于任务周期的时候,系统会把它的值设定为1。
字含有周期值(以毫秒为单位),这个值在冷重启的时候由定义值进行初始
化。用户可以更改这个数值。
监视时钟)所控制,不能
PLC (
,最大值为
PLC
PLC
2.55 s)
暂时停止(暂停)。
停止。
PLC
重新进
主任务执行时间的利用以下系统字可以用来获取与扫描时间相关的信息:
82
z
%SW30
z
%SW31
z
%SW32
注意:用户也可以通过配置编辑器来访问这些信息项。
包含上一个周期的执行时间, 包含最长周期的执行时间, 包含最短周期的执行时间。
应用程序结构
带有分布式输入/输出的
常规信息
Quantum PLC
Quantum
代码段的执行
有一个专用的代码段管理系统。它适用于带有远程输入/输出的站。 系统允许代码段以优化的响应时间,对输入/输出进行更新 (在更新输入/输出时, 不需要等待整个任务周期)。
操作 下面的图表显示了一个带有3个代码段的任务的各个执行阶段,这3个代码段与
个远程输入/输出站相关联。
代码段1的
处理
%I1
%Ii
%Qi
号站的输入
i
号站的输出
i
%Q1
%I2
代码段1的
处理
周期
%Q2
%I3
代码段1的
处理
%Q3
描述
阶段 描述
1
读入与1号代码段相关联的远程输入/输出站的输入。
2
处理代码段1的程序。
3
读入与1号代码段相关联的远程输入/输出站的输出。
4
周期将以同样的方式继续执行后面的代码段和远程站。
3
83
应用程序结构
3.4
多任务执行
内容预览
本节主题 本节针对多任务应用程序的操作进行了描述。
本节内容 本节包含以下主题:
主题 页码
多任务软件结构
在多任务结构中的任务顺序
任务控制
把输入/输出通道分配给主任务,快速任务和辅助任务
事件处理的管理
计时器类事件处理的执行
在事件处理中的输入/输出交换
如何编写事件处理程序
85
86
87
90
92
93
97
98
84
多任务软件结构
任务和处理 这种应用程序的任务结构如下所示:
任务/处理 名称 描述
主任务
快速任务
辅助任务
事件
MAST
FAST
AUX 0到3
EVTi 和 TIMERi
常规信
参见
(
息,
92
在任何情况下都存在,可以是循环式的或者周期式的。
可选,总是周期式的。
可选,总是周期式的。
当某个事件在一个输入/输出模块上发生,或者被事件计
时器所触发,系统就会调用它。
这些处理类型是可选的,可以被那些要在较短响应时间内 作用于输入/输出的应用程序所使用。
)
应用程序结构
图例 以下图表显示了多任务结构中的任务,以及它们的优先级。
描述
(
辅助任务
AUXi
-
(MAST)
参见
任务和处理,
主任务
MAST
优先级
任务仍然是应用程序的基础。其他任务则根据
64
)。
快速任务
FAST
每一个任务的优先级都是固定的,以便于用户能够在进行特定处理的过程中区分任 务的优先次序。
通过外部事件生成的命令可以通过与周期式任务不同步的方式激活事件处理。系统 会优先处理该命令,并停止所有正在处理的任务。
事件处理
EVTi和 TIMERi
的类型而有所不同
PLC
+
85
应用程序结构
在多任务结构中的任务顺序
常规信息 在缺省的情况下,主任务处于激活状态。
和辅助任务如果事先被编好,那么在缺省的情况下,它们也处于激活状态。事
Fast
件处理则在发生了相关事件的情况下被激活。
操作 下面的表格给出了具有高优先级的任务的执行情况 (下面的图表也演示了这一操作)。
阶段 描述
1
某一个事件发生,或者快速任务周期开始。
2
停止执行低优先级任务。
3
执行高优先级的任务。
4
在高优先级任务执行完毕以后,重新恢复中断的任务。
任务顺序描述 下面的图表演示了多任务处理的顺序,其中包括一个循环式主任务,一个具有
毫秒周期的快速任务,以及事件处理。
事件
I P
IPO
PO
20ms
快速任务
主任务
系统
IPO
20ms
I P
IPO
20ms
IP
PO
I
IPO
20ms
20
IPO
P
图例说明:
输入获取
I: P: O:
程序处理
输出更新
任务控制 用户可以通过程序,借助系统位控制快速任务和事件处理任务的执行:
z
z
z
z
注意:基本功能
86
用来控制
%S30
用来控制
%S31 %S32到%S35
用来控制
%S38
MASKEVT和UNMASKEVT
主任务是否被激活。
MAST
任务是否被激活。
FAST
用来控制辅助任务
事件处理是否被激活。
EVTi
AUX0到AUX3
也允许程序对事件进行全局掩码和消除掩码操作。
是否被激活。
任务控制
应用程序结构
循环式和周期式 操作
在多任务处理中,具有最高优先级的任务应该使用周期式模式,以便具有较低优先 级的任务能够拥有足够的执行时间。
出于这个原因,只有具有最低优先级的任务才应该使用循环模式。因而,如果为主 任务选择了循环操作模式,那么就不能使用辅助任务。
任务持续时间的 测量
系统会不断测量任务的持续时间。这种测量会给出任务执行开始和结束之间的持续 时间。
这种测量包含由较高优先级的任务所占有的时间,这些任务可能会中断正在测量的 任务的执行过程。
以下系统字给出了每一个任务的当前,最大和最小扫描时间(以ms为单位
时间测量
当前
最大
最小
注意:最大和最小时间来自上一次冷重启以后测得的时间。
MAST FAST AUX0 AUX1 AUX2 AUX3
%SW30 %SW33 %SW36 %SW39 %SW42 %SW45
%SW31 %SW34 %SW37 %SW40 %SW43 %SW46
%SW32 %SW35 %SW38 %SW41 %SW44 %SW47
任务周期 任务周期在任务属性中进行定义。它们可以被以下系统字所修改。
系统字 任务 数值 缺省值 注释
%SW0 MAST 0..255ms
%SW1 FAST 1..255ms 5ms -
%SW2 AUX0 10ms..2.55s 100ms
%SW3 AUX1 10ms..2.55s 200ms
%SW4 AUX2 10ms..2.55s 300ms
%SW5 AUX3 10ms..2.55s 400ms
循环式
循环式操作
0 =
扫描时间以
10 ms
)
来表示。
当任务的扫描时间超过了这个周期以后,系统会将任务的系统位
%S19
设为1,并
继续进行下一个扫描周期的操作。
注意:周期的数值与任务的优先级没有关系。用户可以定义比主任务更长的快速任务周期。
87
应用程序结构
监视时钟 通过任务属性,用户可以使用监视时钟来控制每一个任务的执行。
下面的表格给出了监视时钟针对每一种任务的取值范围:
任务 监视时钟的数值
(最小...最大) (ms)
MAST 10..1500 250 %SW11
FAST 10..500 100 -
AUX0 100..5000 2000 -
AUX1 100..5000 2000 -
AUX2 100..5000 2000 -
AUX3 100..5000 2000 -
缺省的监视时钟的数值
(ms)
相关的系统字
如果监视时钟发生了溢出,系统就会报错,从而使
%SW11
字包含主任务的监视时钟数值,该数值以毫秒为单位,它的数值不能被程
暂时停止(暂停)。
PLC
序所修改。
位表示监视时钟的溢出。如果扫描时间比监视时钟更大,那么系统就会把它
%S11
设定为1。
注意:
z 如果要再次激活任务,需要把终端连上,以便于分析错误原因,纠正错误,对
行初始化,并将其切换到运行模式。
z 如果要退出暂停模式,仅仅通过将其切换到停止模式是不行的,用户必须对应用程序重新
进行初始化,以确保数据的一致性。
PLC
重新进
88
应用程序结构
任务控制 在执行应用程序的过程中,用户可以通过以下系统位激活或者禁止某个任务:
系统位 任务
%S30 MAST
%S31 FAST
%S32 AUX0
%S33 AUX1
%S34 AUX2
%S35 AUX3
当相关的系统位被设定为1时,任务就会被激活。在主任务结束的时候,系统会对 这些位进行检测。 如果某个任务被禁止,系统会连续读输入,写输出。 在启动应用程序的时候,在第一个执行周期,只有主任务会被激活。在第一个周期
结束的时候,其他未被程序禁止(相关的系统位被设为0)的任务会自动激活。
在读输入和写输出 阶段的控制
以下系统字的位可以用来禁止读输入和写输出阶段。
禁止的阶段
读输入
写输出
注意:
MAST FAST AUX0 AUX1 AUX2 AUX3
...
%SW8.0 %SW8.1 %SW8.2 %SW8.3 %SW8.4 %SW8.5
%SW9.0 %SW9.1 %SW9.2 %SW9.3 %SW9.4 %SW9.5
在缺省的情况下,读输入和写输出阶段是被激活的(系统字的 被设为0)。
Quantum
上,通过
总线进行分配的输入/输出没有被
DIO
%SW8和%SW9
%SW8和%SW9
字所分配。
89
应用程序结构
将输入/输出通道分配给主任务,快速任务和辅助任务
常规信息 每一个任务都会对分配给它的输入/输出进行写操作和读操作。
在通道,通道组,或者输入/输出模块与任务之间建立关联的操作,是在相应模块 的配置页面进行定义的。 在缺省情况下的关联任务是
MAST
任务。
Premium
上的
读输入和写输出
所有内置模块的输入/输出通道,都可以与一个任务
(MAST,FAST
或者
AUX 0..3)
建立关联。
本地和远程输入/输出(X总线):
对于每一个任务周期来说,输入都在任务开始的时候被读入,输出都在任务结束的 时候被写出。
总线上的远程输入/输出:
Fipio
在受控模式下,输入/输出的更新与任务周期相关。系统能够保证输入/输出在一 个周期内被更新。只有与该任务相关的输入/输出会被更新。 在这种模式下,
PLC 任务(MAST, FAST or AUX)
的周期必须大于或者等于网络扫
描时间。
在自由模式下,对任务周期没有限制。
PLC
任务周期
(MAST, FAST
或者
AUX)
以小于网络周期。在这种情况下,在执行任务的时候不必更新输入/输出。如果选 择了这种模式,您就可以为那些速度至为关键的任务获取最短的任务时间。
90
应用程序结构
Quantum
上的
读输入和写输出
Premium
上的
例子
本地输入/输出:
每一个输入/输出模块或者模块组都可以与一个任务
(MAST,FAST
或者
AUX 0..3)
进行关联。
远程输入/输出:
远程输入/输出工作站只能与主
带有分布式输入/输出的
参见
(
(MAST)
Quantum
任务相关联。代码段可进行相关的分配
代码段的执行,
,每一个代码段可
83
)
以与31个远程站中的一个站输入和31个远程输出站中的一个站输出相关联。
分布式输入/输出:
分布式输入/输出工作站只能与主
(MAST)
任务相关联。输入会在主任务开始的时
候读入,输出会在主任务结束的时候写出。
Premium
道8到15,等等),分配给
离散量模块的输入/输出可以按8个连续的通道为一组(通道0到7,通
MAST,AUXi
或者
FAST
任务。
例子: 可以将一个28输入/输出模块的通道进行如下分配:
z 把输入 z 把输入 z 把输出 z 把输出
0到7 8到15 0到7 8到15
分配给
分配给
分配给
分配给
MAST
FAST
MAST
AUX0
任务,
任务,
任务,
任务。
91
应用程序结构
事件处理管理
常规信息 事件处理的优先级比其他任务高。
优先级管理 z
下面的图例说明了3种定义的优先级级别:
计时器
事件
TIMERi
第2级优先级
-
事件处理是最高的优先级处理。它可以中断其他类型的事件处理。
EVT0
z 由输入
z
输出模块触发的
/
TIMERi
事件处理(第2级优先级)高。
Premium和Atrium PLC
EVTi
模块
I/O
事件
EVTi
优先级
事件处理的优先级(第1级优先级)比由计时器所触发
上:具有第1级优先级的事件处理会按照顺序进行
存储和处理。
z
Quantum PLC
z 由机架上输入 z 由模块上通道的位置决定。
上:具有第1级优先级的处理类型,其优先级由以下因素决定:
输出模块的位置决定,
/
位置号最小的模块具有最高的优先级。
z 由计时器所触发的事件处理具有第
级优先级。处理优先级是由最小的计时器号
2
码决定的。
模块
I/O
事件
EVT0
第0级优先级第1级优先级
+
控制 通过系统位
的过程中发生了一个或者多个事件,相关的处理就会丢失。
在应用程序中所使用的两种基本功能块 MASKEVT() UNMASKEVT(),也可以用 来对事件处理进行掩码或者消除掩码操作。
如果在对事件处理进行掩码操作的过程中发生了一个或多个事件,系统会把它们存 储起来,在进行消除掩码操作以后会进行相关的处理。
92
,应用程序可以激活或者禁止各种类型的事件处理。如果在禁止
%S38
计时器类型事件处理的执行
应用程序结构
描述 在所有进程中,计时器类型事件处理都是由
能会在每次达到了预定值以后,周期性地激活事件处理。
参考 在事件处理属性中可以选择如下参数。
参数 数值 缺省值 作用
时基
预设值
相位
1 ms, 10ms, 100ms, 1 sec
1..1023 10
0..1023 0
10ms
ITCNTRL
计时器的时间基准。注意:应该谨慎地使 用1毫秒的时基,因为如果处理触发频率
太高,系统可能会发生溢出。
计时器预设定数值。得到的时间周期等 于:预设值
PLC停止/
后,当前值是与计时器从0开始之间的偏
移量数值。 当前值等于:
相位
功能触发的。这个计时器功
时基。
x
运行切换时,第一次重新启动
时基。
x
93
应用程序结构
ITCNTRL
功能
正常操作的计时器 时序图
中的演示:
FBD
Enable
Reset_Timer
Hold_Timer
Nb_Task_Event
ENABLE RESET
HOLD
EVENT
ITCNTRL
STATUS
VALU E
下面的表格描述了输入参数:
参数 类型 注释
Enable BOOL
Reset_Timer BOOL
Hold_Timer BOOL
Nb_Task_Event BYTE
激活输入
值为1时复位计时器
值为1时保持计时器
输入字节,确定要触发的事件处理号
下面的表格描述了输出参数:
参数 类型 注释
Status_Timer WORD
Current_Value TIME
计时器时序图
状态字
计时器的当前值
Status_Timer
Current_Value
94
复位
使能
保持
预设值
当前值
x
时基
1
3
2
事件
事件
4
事件
5
事件
应用程序结构
正常操作 下面的表格描述了计时器类型事件处理操作的触发(参见上文的计时器图表)。
阶段 描述
1
2
计时器的当前值
3
在当前值达到了预定值以后,就会产生一个事件,计时器会返回为0,然后重新
计时。如果事件没有被掩码,相关的事件处理也会触发。如果一个具有更高的 或同等优先级别的事件处理任务正在执行,那么它就会延迟处理。
4
5
为0。
输入接收到一个上升沿以后,计时器会复位为0。
RESET
VALUE从0
ENABLE
HOLD
输入处于0的时候,计时器不会再计时,事件也就不会触发。
输入处于1的时候,计时器被冻结,当前值停止增加,直到输入返回
向预设值增加,每个时基脉冲会使其值加一。
事件处理同步 相位参数用来定位触发不同计时器类型的事件处理任务。
这个参数设定为一个带有绝对时间原点的当前偏移值,绝对时间原点是
PLC
上一次
从停止模式转换到运行模式而获得的。
操作条件:
z 事件处理任务必须具有同样的时基和预设值 z RESET HOLD 输入不能被设定为
1
例子: 2个事件处理任务
第一个任务
Timer1
Timer1和Timer2
用相位0来进行定义,第二个任务 进行定义(相位7,时间基准为 任何触发
Timer1
相关任务的事件,都会在
关任务。
10 ms)。
要以70毫秒的时间间隔执行。
Timer2
的时间间隔以后触发
70 ms
用一个
70 ms
Timer2
的相位
的相
95
应用程序结构
时序图:停止/运 行模式转换
PLC
停止/运
行以后的操作
上面例子的时序图,对
使能
预设定
数值
Timer1
预设定
数值
Timer2
下面的表格描述了
阶段 描述
1
2
3
1
相位
PLC
的停止/运行模式转换过程中,计时功能被触发,以便于在相当于相位
PLC
时基的时间周期结束时能够达到预设定的数值,从而发出第一个事件。
x
计时器的当前值 VALUE 从0向预先设定的值增加,每个时基脉冲会使其值加一。
在当前值达到了预定值以后,就会产生一个事件,计时器会返回为0,然后重新
计时。如果事件没有被掩码,相关的事件处理也会触发。如果一个具有更高或 者同等优先级别的事件处理任务正在执行,那么它就会延迟处理。
Timer1和Timer2
停止/运行以后的操作
PLC
160
事件 0
2
3
70
事件 0
230
事件 1
具有同一个预设定数值
事件 1
事件 2
....................
....................
16 (160 ms)。
事件 n
事件 n
从停止模式转换到运行模式以后的操作(参见上面的时序图):
96
应用程序结构
事件处理中的输入/输出交换
常规信息 对于每一种事件处理来说,除了处理事件任务以外,还可以使用其他输入/输出通道。
和其他任务一样,系统会执行隐式交换,在程序之前处理
(%Q)
操作 下面的表格描述了被执行的交换和处理。
阶段 描述
Premium/Atrium PLCs
Quantum PLC
1
2
3
4
获取输入和更新输出包括:
z 与引起事件相关联的输入通道, z 在事件处理过程中所使用的输入和输出。
注意:这些交换可能会与以下内容相关:
z 一个通道 z 或者一组通道组
获取输入和更新输出在配置中选定。用户只能选择本地的输入/输出。
如果发生了某个事件,应用程序的路径会重新安排,对引起事件的输入/输出通
道进行相关联的处理操作。
系统会自动获取与事件处理相关联的输入。
执行事件处理。它越短越好。
所有与事件处理相关联的输出都会更新。
比如计数模块),
(
离散量模块)。在这种情况下,如果数据发生改变,比如说,一个离散量
(
模块的输出2和3发生变化,那么输出0到7的映射就会传递到该模块。
,在程序之后处理
(%I)
编程规则 在事件处理执行过程中交换的输入(以及相关联的通道组)会被更新(历史值丢失,
从而边沿值也会丢失)。所以您应该避免在主任务 辅助
任务中对这些输入的边沿进行测试。
(AUXi)
(MAST)
,快速任务
(FAST)
或者
97
应用程序结构
如何编写事件处理程序
过程 下面的表格概述了编写事件处理程序的基本步骤。
步骤 操作
1
配置阶段 (针对由输入/输出模块所触发的事件
在脱机模式下,从配置编辑器内选择事件处理
相关输入/输出模块通道。
2
消除掩码阶段
任务能够被中断的条件:
z 在系统级别激活事件处理:将 z 使用 UNMASKEVT 指令对事件消除掩码 z 在通道级别对相关事件进行消除掩码操作
件),其操作方法是将用于输入/输出模块中触发事件的通道,进行消除掩 码操作,把其隐式语言对象设置为1。 在缺省的情况下,事件是被掩码的。
z 在系统级别,确认事件堆栈没有饱和
3
创建事件程序阶段: 程序必须:
z 如果输入
输出模块能够产生多个事件,那么就要根据与输入/输出模块相关
/
联的事件状态字来确定事件起源。
z 执行与事件相关的映像处理。这个过程越短越好。 z 写相关的映像输出。
注意:事件状态字会自动设定为0。
%S38
位设为
(%S39
)
,事件处理号,以及指定
(EVT)
缺省值)。
1 (
缺省为激活状态)。
(
针对由输入/输出模块所触发的事
(
位必须是0)。
98
应用程序结构
事件消除掩码图例 这个图例显示了
(*
(*
%S1
如果发生了冷启动,那么就对阈值0交叉事件进行消除掩码操作:
(*
%S1
如果发生了冷启动,那么就对阈值1交叉事件进行消除掩码操作: %
(*
%S1
事件消除掩码
如果发生了冷启动,那么就批准事件
任务中的事件消除掩码操作。
MAST
*)
UNMASKEVT
EN
ENO
*)
事件处理内容图例 这个图例显示了事件处理可能含有的内容(位测试和操作)。
如果是交叉阈值事件0,那么就把物理输出
%IW1.0.3.5
%IW1.0.3.6
(*
如果是交叉阈值事件1,那么就把物理输出
(*
%Q2.0设为1*)
%Q2.0设为0*)
%QW1.1.0.5*)
%QW1.0.1.5
QW1.1.0.6*)
%QW1.0.1.6
%S38
S
%Q2.0
S
%Q2.0
R
99
应用程序结构
100
Loading...