You are on page 1of 712

TwidoSuite V2.

35013230 05/2009

TwidoSuite V2.3
编程指南
06/2011
35013230.05

www.schneider-electric.com
本文档中提供的信息包含有关此处所涉及产品之性能的一般说明和 / 或技术特性。
本文档并非用于 (也不代替)确定这些产品对于特定用户应用场合的适用性或可靠
性。任何此类用户或集成者都有责任就相关特定应用场合或使用方面对产品执行适
当且完整的风险分析、评估和测试。 Schneider Electric 或是其任何附属机构或子公
司对于误用此处包含的信息而产生的后果概不负责。如果您有关于改进或更正此出
版物的任何建议,或者从中发现错误,请通知我们。
未经 Schneider Electric 明确书面许可,不得以任何形式、通过任何电子或机械手段
(包括影印)复制本文档的任何部分。
在安装和使用本产品时,必须遵守国家、地区和当地的所有相关的安全法规。出于
安全方面的考虑和为了帮助确保符合归档的系统数据,只允许制造商对各个组件进
行维修。
当设备用于具有技术安全要求的应用场合时,必须遵守有关的使用说明。
如果在我们的硬件产品上不正确地使用 Schneider Electric 软件或认可的软件,则可
能导致人身伤害、损害或不正确的操作结果。
不遵守此信息可能导致人身伤害或设备损坏。
© 2011 Schneider Electric。保留所有权利。

2 35013230 06/2011
目录

安全信息 . . . . . . . . . . . . . . . . . . . . . . 11
关于本书 . . . . . . . . . . . . . . . . . . . . . . 13
部分 I Twido 软件描述 . . . . . . . . . . . . . . . . 15
章 1 TwidoSuite 简介 . . . . . . . . . . . . . . . . . . 17
TwidoSuite 介绍 . . . . . . . . . . . . . . . . . . . . . . . . . 18
Twido 语言简介 . . . . . . . . . . . . . . . . . . . . . . . . . 19
章 2 Twido 语言对象 . . . . . . . . . . . . . . . . . . 23
语言对象验证 . . . . . . . . . . . . . . . . . . . . . . . . . . 24
位对象 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 25
字对象 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 27
浮点和双字对象 . . . . . . . . . . . . . . . . . . . . . . . . . 30
找到位对象的地址 . . . . . . . . . . . . . . . . . . . . . . . . 34
找到字对象的地址 . . . . . . . . . . . . . . . . . . . . . . . . 35
浮动对象寻址 . . . . . . . . . . . . . . . . . . . . . . . . . . 36
双字对象寻址 . . . . . . . . . . . . . . . . . . . . . . . . . . 37
输入 / 输出寻址 . . . . . . . . . . . . . . . . . . . . . . . . . 38
网络寻址 . . . . . . . . . . . . . . . . . . . . . . . . . . . . 40
功能块对象 . . . . . . . . . . . . . . . . . . . . . . . . . . . 41
结构化对象 . . . . . . . . . . . . . . . . . . . . . . . . . . . 43
索引对象 . . . . . . . . . . . . . . . . . . . . . . . . . . . . 46
用变量表示对象 . . . . . . . . . . . . . . . . . . . . . . . . . 48
章 3 用户存储器 . . . . . . . . . . . . . . . . . . . . 49
用户存储器结构 . . . . . . . . . . . . . . . . . . . . . . . . . 50
不使用备份存储卡或扩展存储器进行 Backup 和恢复 . . . . . . . . . 53
使用 32K 备份存储卡进行 Backup 和恢复 . . . . . . . . . . . . . . 55
使用 64K 扩展存储卡 . . . . . . . . . . . . . . . . . . . . . . . 58
章 4 事件任务管理 . . . . . . . . . . . . . . . . . . . . 61
事件任务概述 . . . . . . . . . . . . . . . . . . . . . . . . . . 62
不同事件源描述 . . . . . . . . . . . . . . . . . . . . . . . . . 63
事件管理 . . . . . . . . . . . . . . . . . . . . . . . . . . . . 64

35013230 06/2011 3
部分 II 特殊功能 . . . . . . . . . . . . . . . . . . . . 65
章 5 通讯 . . . . . . . . . . . . . . . . . . . . . . . . 67
不同通讯类型简介 . . . . . . . . . . . . . . . . . . . . . . . 68
TwidoSuite 到控制器的通讯 . . . . . . . . . . . . . . . . . . . 70
TwidoSuite 与调制解调器之间的通讯 . . . . . . . . . . . . . . . 77
远程连接通讯 . . . . . . . . . . . . . . . . . . . . . . . . . 88
ASCII 通讯 . . . . . . . . . . . . . . . . . . . . . . . . . . 100
Modbus 通讯 . . . . . . . . . . . . . . . . . . . . . . . . . 111
标准 Modbus 请求 . . . . . . . . . . . . . . . . . . . . . . . 126
Modbus 功能代码 23 (MB FC) - 读 / 写多个寄存器和 N 个字 . . . . . 131
Modbus 功能代码 43/14 (MB FC) - 读取设备标识 . . . . . . . . . 133
Transparent Ready 实现类 (Twido 串口 A05,以太网 A15) . . . . 137
章 6 内置模拟功能 . . . . . . . . . . . . . . . . . . . . 139
模拟量电位计 . . . . . . . . . . . . . . . . . . . . . . . . . 140
模拟量通道 . . . . . . . . . . . . . . . . . . . . . . . . . . 142
章 7 管理模拟模块 . . . . . . . . . . . . . . . . . . . . 145
模拟量模块概述 . . . . . . . . . . . . . . . . . . . . . . . . 146
4 模拟量输入和输出寻址 . . . . . . . . . . . . . . . . . . . . 147
配置模拟量输入与输出 . . . . . . . . . . . . . . . . . . . . . 148
模拟量模块状态信息 . . . . . . . . . . . . . . . . . . . . . . 154
模拟量模块使用示例 . . . . . . . . . . . . . . . . . . . . . . 156
章8 Twido Extreme 输入 / 输出配置 . . . . . . . . . . . 159
8.1 Twido Extreme 输入和输出简介 . . . . . . . . . . . . . . . . . 160
Twido Extreme 输入 / 输出 (I/O) 寻址. . . . . . . . . . . . . . . 160
8.2 Twido Extreme 输入配置 . . . . . . . . . . . . . . . . . . . . 162
Twido Extreme 离散量输入配置 . . . . . . . . . . . . . . . . . 163
Twido Extreme 模拟量输入配置 . . . . . . . . . . . . . . . . . 167
Twido Extreme PWM 输入配置 . . . . . . . . . . . . . . . . . 171
Twido Extreme PWM 输入配置示例 . . . . . . . . . . . . . . . 173
8.3 Twido Extreme 输出配置 . . . . . . . . . . . . . . . . . . . . 179
Twido Extreme 离散量输出配置 . . . . . . . . . . . . . . . . . 180
Twido Extreme 脉冲 (PLS) 发生器输出配置 . . . . . . . . . . . . 183
Twido Extreme 在标准模式下的 PWM 输出配置 . . . . . . . . . . 189
Twido Extreme 在液压模式下的 PWM 输出配置 . . . . . . . . . . 197
Twido Extreme 液压 PWM 输出配置示例 . . . . . . . . . . . . . 205
章 9 安装 AS-i V2 总线 . . . . . . . . . . . . . . . . . . 207
AS-i V2 总线简介 . . . . . . . . . . . . . . . . . . . . . . . 208
常规功能描述 . . . . . . . . . . . . . . . . . . . . . . . . . 209
软件设置原则 . . . . . . . . . . . . . . . . . . . . . . . . . 212
AS-i 总线配置屏幕描述 . . . . . . . . . . . . . . . . . . . . . 213

4 35013230 06/2011
AS-i 总线配置 . . . . . . . . . . . . . . . . . . . . . . . . . . 215
在线模式下的 AS-i 窗口描述. . . . . . . . . . . . . . . . . . . . 220
从站地址的修改 . . . . . . . . . . . . . . . . . . . . . . . . . 223
以在线模式更新 AS-i 总线配置. . . . . . . . . . . . . . . . . . . 225
AS-i V2 从站的自动寻址 . . . . . . . . . . . . . . . . . . . . . 229
如何将从站设备插入到现有 AS-i V2 配置中 . . . . . . . . . . . . . 230
已替换的 AS-i V2 从站的自动配置 . . . . . . . . . . . . . . . . . 231
与连接到 AS-i V2 总线的从站设备相关联的 I/O 寻址 . . . . . . . . . 232
AS-i 总线的编程和诊断 . . . . . . . . . . . . . . . . . . . . . . 234
AS-i V2 总线接口模块操作模式:. . . . . . . . . . . . . . . . . . 239
章 10 安装和配置 CANopen 现场总线. . . . . . . . . . . . 241
10.1 CANopen 现场总线概览 . . . . . . . . . . . . . . . . . . . . . 242
CANopen 知识库 . . . . . . . . . . . . . . . . . . . . . . . . 243
关于 CANopen . . . . . . . . . . . . . . . . . . . . . . . . . 244
CANOpen 启动 . . . . . . . . . . . . . . . . . . . . . . . . . 247
过程数据对象 (PDO) 传输. . . . . . . . . . . . . . . . . . . . . 250
通过显式交换访问数据 (SDO) . . . . . . . . . . . . . . . . . . . 252
"Node Guarding" 与 "Life Guarding" . . . . . . . . . . . . . . . . 253
内部总线管理 . . . . . . . . . . . . . . . . . . . . . . . . . . 255
10.2 实施 CANopen 总线 . . . . . . . . . . . . . . . . . . . . . . . 256
概述 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 257
硬件设置 . . . . . . . . . . . . . . . . . . . . . . . . . . . . 259
CANOpen 配置 - 默认参数 . . . . . . . . . . . . . . . . . . . . 260
配置方法 . . . . . . . . . . . . . . . . . . . . . . . . . . . . 263
CANopen 主模块声明 . . . . . . . . . . . . . . . . . . . . . . 265
CANopen 配置工具 . . . . . . . . . . . . . . . . . . . . . . . 266
CANopen 网络从站声明 . . . . . . . . . . . . . . . . . . . . . 269
CANopen 对象映射 (从站) . . . . . . . . . . . . . . . . . . . 277
CANopen 对象链接 (主站) . . . . . . . . . . . . . . . . . . . 280
CANopen 对象符号 . . . . . . . . . . . . . . . . . . . . . . . 283
CANopen 主模块的 PDO 寻址 . . . . . . . . . . . . . . . . . . . 284
CANopen 现场总线的编程和诊断 . . . . . . . . . . . . . . . . . 286
Twido 控制器的 CANopen 热交换 . . . . . . . . . . . . . . . . . 293
章 11 安装和配置 CANJ1939 现场总线 . . . . . . . . . . . 295
11.1 CANJ1939 现场总线概览 . . . . . . . . . . . . . . . . . . . . . 296
CANJ1939 知识库 . . . . . . . . . . . . . . . . . . . . . . . . 297
CANJ19139 参数组编号和可能的参数编号 . . . . . . . . . . . . . 299
CANJ1939 标识符 . . . . . . . . . . . . . . . . . . . . . . . . 300
CANJ1939 网络上的通讯 . . . . . . . . . . . . . . . . . . . . . 302

35013230 06/2011 5
11.2 实施 CANJ1939 总线 . . . . . . . . . . . . . . . . . . . . . . 303
CANJ1939 实施概述 . . . . . . . . . . . . . . . . . . . . . . 304
硬件设置 . . . . . . . . . . . . . . . . . . . . . . . . . . . 305
CANJ1939 配置方法 . . . . . . . . . . . . . . . . . . . . . . 306
CANJ1939 配置对话框 (元素、网络、端口) . . . . . . . . . . . 308
创建或删除 CANJ1939 传输 / 接收对象 . . . . . . . . . . . . . . 311
查看 CANJ1939 传输 / 接收对象 . . . . . . . . . . . . . . . . . 318
CANJ1939 广播配置 . . . . . . . . . . . . . . . . . . . . . . 320
CANJ1939 对等配置 . . . . . . . . . . . . . . . . . . . . . . 322
专用模式中的 CANJ1939 配置 . . . . . . . . . . . . . . . . . . 324
CANJ1939 输入 / 输出对象 . . . . . . . . . . . . . . . . . . . 326
请求 PGN 输出 . . . . . . . . . . . . . . . . . . . . . . . . 329
章 12 配置 TwidoPort 以太网网关 . . . . . . . . . . . . . 333
12.1 TwidoPort 的普通配置和连接 . . . . . . . . . . . . . . . . . . 334
使用 TwidoSuite 进行普通配置. . . . . . . . . . . . . . . . . . 335
BootP 配置 . . . . . . . . . . . . . . . . . . . . . . . . . . 341
12.2 TwidoPort 的 Telnet 配置 . . . . . . . . . . . . . . . . . . . . 342
Telnet 配置简介 . . . . . . . . . . . . . . . . . . . . . . . . 343
Telnet 主菜单 . . . . . . . . . . . . . . . . . . . . . . . . . 344
IP/ 以太网设置. . . . . . . . . . . . . . . . . . . . . . . . . 345
串口参数配置 . . . . . . . . . . . . . . . . . . . . . . . . . 346
配置网关 . . . . . . . . . . . . . . . . . . . . . . . . . . . 347
安全配置 . . . . . . . . . . . . . . . . . . . . . . . . . . . 348
以太网统计表 . . . . . . . . . . . . . . . . . . . . . . . . . 349
串口统计表 . . . . . . . . . . . . . . . . . . . . . . . . . . 350
保存配置 . . . . . . . . . . . . . . . . . . . . . . . . . . . 351
恢复默认设置 . . . . . . . . . . . . . . . . . . . . . . . . . 352
升级 TwidoPort 固件 . . . . . . . . . . . . . . . . . . . . . . 353
忘记了密码和 / 或 IP 配置? . . . . . . . . . . . . . . . . . . . 355
12.3 通讯功能 . . . . . . . . . . . . . . . . . . . . . . . . . . . 356
以太网功能 . . . . . . . . . . . . . . . . . . . . . . . . . . 357
Modbus/TCP 通讯协议 . . . . . . . . . . . . . . . . . . . . . 358
本地支持的 Modbus 功能代码 . . . . . . . . . . . . . . . . . . 359
章 13 操作显示操作 . . . . . . . . . . . . . . . . . . . . 361
操作显示 . . . . . . . . . . . . . . . . . . . . . . . . . . . 362
控制器标识和状态信息 . . . . . . . . . . . . . . . . . . . . . 365
系统对象和变量 . . . . . . . . . . . . . . . . . . . . . . . . 367
串行口设置 . . . . . . . . . . . . . . . . . . . . . . . . . . 374
实时时钟 . . . . . . . . . . . . . . . . . . . . . . . . . . . 375
实时修正因数 . . . . . . . . . . . . . . . . . . . . . . . . . 376

6 35013230 06/2011
部分 III Twido 语言描述 . . . . . . . . . . . . . . . . 379
章 14 梯形图 . . . . . . . . . . . . . . . . . . . . . . . 381
梯形图简介 . . . . . . . . . . . . . . . . . . . . . . . . . . . 382
梯形图的编程规则 . . . . . . . . . . . . . . . . . . . . . . . . 384
梯形图块 . . . . . . . . . . . . . . . . . . . . . . . . . . . . 386
梯形图语言图形元素 . . . . . . . . . . . . . . . . . . . . . . . 389
特殊梯形图指令 OPEN 和 SHORT . . . . . . . . . . . . . . . . . 392
编程建议 . . . . . . . . . . . . . . . . . . . . . . . . . . . . 394
梯形图 / 指令列表可转换性 . . . . . . . . . . . . . . . . . . . . 398
梯形图 / 指令列表可转换性指南 . . . . . . . . . . . . . . . . . . 399
程序文档 . . . . . . . . . . . . . . . . . . . . . . . . . . . . 401
章 15 指令列表语言 . . . . . . . . . . . . . . . . . . . . 403
指令列表程序概览 . . . . . . . . . . . . . . . . . . . . . . . . 404
指令列表指令的操作 . . . . . . . . . . . . . . . . . . . . . . . 406
指令列表语言指令 . . . . . . . . . . . . . . . . . . . . . . . . 407
使用圆括号 . . . . . . . . . . . . . . . . . . . . . . . . . . . 410
栈指令 (MPS、 MRD、 MPP) . . . . . . . . . . . . . . . . . . . 413
章 16 Grafcet . . . . . . . . . . . . . . . . . . . . . . 415
Grafcet 指令的描述 . . . . . . . . . . . . . . . . . . . . . . . 416
Grafcet 程序结构的描述 . . . . . . . . . . . . . . . . . . . . . 420
与 Grafcet 步骤关联的动作 . . . . . . . . . . . . . . . . . . . . 423
部分 IV 指令和功能描述 . . . . . . . . . . . . . . . . 425
章 17 基本指令 . . . . . . . . . . . . . . . . . . . . . . 427
17.1 布尔处理 . . . . . . . . . . . . . . . . . . . . . . . . . . . . 428
布尔指令 . . . . . . . . . . . . . . . . . . . . . . . . . . . . 429
理解描述布尔指令的格式 . . . . . . . . . . . . . . . . . . . . . 431
载入指令 (LD、 LDN、 LDR 和 LDF). . . . . . . . . . . . . . . 433
赋值指令 (ST、 STN、 R 和 S) . . . . . . . . . . . . . . . . . 435
逻辑 AND 指令 (AND、 ANDN、 ANDR 和 ANDF). . . . . . . . . 437
逻辑 OR 指令 (OR、 ORN、 ORR 和 ORF). . . . . . . . . . . . 439
异或,指令 (XOR、 XORN、 XORR 和 XORF) . . . . . . . . . . 441
NOT 指令 (N) . . . . . . . . . . . . . . . . . . . . . . . . . . 443
17.2 基本功能块 . . . . . . . . . . . . . . . . . . . . . . . . . . . 445
基本功能块 . . . . . . . . . . . . . . . . . . . . . . . . . . . 446
标准功能块编程原理 . . . . . . . . . . . . . . . . . . . . . . . 448
定时器功能块 (%TMi) . . . . . . . . . . . . . . . . . . . . . . 450
TOF 类型定时器 . . . . . . . . . . . . . . . . . . . . . . . . . 452
TON 型定时器. . . . . . . . . . . . . . . . . . . . . . . . . . 453
TP 型定时器 . . . . . . . . . . . . . . . . . . . . . . . . . . 454
编程和配置定时器 . . . . . . . . . . . . . . . . . . . . . . . . 455

35013230 06/2011 7
加 / 减计数器功能块 (%Ci) . . . . . . . . . . . . . . . . . . . 458
编程和配置计数器 . . . . . . . . . . . . . . . . . . . . . . . 461
移位寄存器功能块 (%SBRi) . . . . . . . . . . . . . . . . . . . 463
步进计数器功能块 (%SCi). . . . . . . . . . . . . . . . . . . . 466
17.3 数字处理 . . . . . . . . . . . . . . . . . . . . . . . . . . . 470
数字指令简介 . . . . . . . . . . . . . . . . . . . . . . . . . 471
赋值指令 . . . . . . . . . . . . . . . . . . . . . . . . . . . 472
比较指令 . . . . . . . . . . . . . . . . . . . . . . . . . . . 477
整数算术指令 . . . . . . . . . . . . . . . . . . . . . . . . . 479
逻辑指令 . . . . . . . . . . . . . . . . . . . . . . . . . . . 482
移位指令 . . . . . . . . . . . . . . . . . . . . . . . . . . . 484
转换指令 . . . . . . . . . . . . . . . . . . . . . . . . . . . 486
单 / 双字转换指令 . . . . . . . . . . . . . . . . . . . . . . . 488
17.4 程序指令 . . . . . . . . . . . . . . . . . . . . . . . . . . . 489
END 指令 . . . . . . . . . . . . . . . . . . . . . . . . . . . 490
NOP 指令. . . . . . . . . . . . . . . . . . . . . . . . . . . 492
跳转指令 . . . . . . . . . . . . . . . . . . . . . . . . . . . 493
子程序指令 . . . . . . . . . . . . . . . . . . . . . . . . . . 494
章 18 高级指令 . . . . . . . . . . . . . . . . . . . . . . 497
18.1 高级功能块 . . . . . . . . . . . . . . . . . . . . . . . . . . 498
与高级功能块关联的位对象和字对象 . . . . . . . . . . . . . . . 499
高级功能块的编程规则 . . . . . . . . . . . . . . . . . . . . . 501
LIFO/FIFO 寄存器功能块 (%Ri) . . . . . . . . . . . . . . . . . 503
LIFO 操作. . . . . . . . . . . . . . . . . . . . . . . . . . . 504
FIFO 操作 . . . . . . . . . . . . . . . . . . . . . . . . . . 505
编程和配置寄存器 . . . . . . . . . . . . . . . . . . . . . . . 506
脉宽调制功能块 (%PWM) . . . . . . . . . . . . . . . . . . . . 509
脉冲发生器输出功能块 (%PLS) . . . . . . . . . . . . . . . . . 512
鼓控制器功能块 (%DR) . . . . . . . . . . . . . . . . . . . . . 515
鼓控制器功能块 %DRi 操作 . . . . . . . . . . . . . . . . . . . 517
编程和配置鼓控制器 . . . . . . . . . . . . . . . . . . . . . . 519
高速计数器功能块 (%FC) . . . . . . . . . . . . . . . . . . . . 521
超高速计数器功能块 (%VFC) . . . . . . . . . . . . . . . . . . 524
传输 / 接收消息 - 交换指令 (EXCH) . . . . . . . . . . . . . . . . 535
交换控制功能块 (%MSGx) . . . . . . . . . . . . . . . . . . . 536
18.2 时钟功能 . . . . . . . . . . . . . . . . . . . . . . . . . . . 540
时钟功能 . . . . . . . . . . . . . . . . . . . . . . . . . . . 541
调度模块 . . . . . . . . . . . . . . . . . . . . . . . . . . . 542
时间 / 日期标记 . . . . . . . . . . . . . . . . . . . . . . . . 545
设置日期和时间 . . . . . . . . . . . . . . . . . . . . . . . . 547

8 35013230 06/2011
18.3 Twido PID 快速入门指南 . . . . . . . . . . . . . . . . . . . . . 551
文档用途 . . . . . . . . . . . . . . . . . . . . . . . . . . . . 552
步骤 1 - 配置用于控制的模拟量通道 . . . . . . . . . . . . . . . . 554
步骤 2 - PID 配置的先决条件 . . . . . . . . . . . . . . . . . . . 556
步骤 3 – 配置 PID . . . . . . . . . . . . . . . . . . . . . . . . 558
步骤 4 - 控制设置的初始化 . . . . . . . . . . . . . . . . . . . . 563
步骤 5 - 控制设置 AT + PID . . . . . . . . . . . . . . . . . . . . 567
步骤 6 - 调试调整 . . . . . . . . . . . . . . . . . . . . . . . . 570
18.4 PID 功能 . . . . . . . . . . . . . . . . . . . . . . . . . . . . 572
概述 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 573
调节回路的原理 . . . . . . . . . . . . . . . . . . . . . . . . . 574
调节应用程序的开发方法 . . . . . . . . . . . . . . . . . . . . . 575
兼容性和性能 . . . . . . . . . . . . . . . . . . . . . . . . . . 576
PID 功能的详细特性 . . . . . . . . . . . . . . . . . . . . . . . 577
如何访问 PID 配置 . . . . . . . . . . . . . . . . . . . . . . . . 580
PID 功能的 PID 屏幕元素 . . . . . . . . . . . . . . . . . . . . . 581
PID 功能的 “ 常规 ” 选项卡 . . . . . . . . . . . . . . . . . . . . 585
PID 的 " 输入 " 选项卡 . . . . . . . . . . . . . . . . . . . . . . 588
PID 功能的 PID 选项卡 . . . . . . . . . . . . . . . . . . . . . . 590
PID 功能的 “AT” 选项卡. . . . . . . . . . . . . . . . . . . . . . 592
PID 的 " 输出 " 选项卡 . . . . . . . . . . . . . . . . . . . . . . 597
如何访问 PID 调试 . . . . . . . . . . . . . . . . . . . . . . . . 600
PID 功能的 " 动态显示 " 选项卡 . . . . . . . . . . . . . . . . . . 601
PID 功能的 " 跟踪 " 屏幕 . . . . . . . . . . . . . . . . . . . . . 603
PID 状态和错误代码 . . . . . . . . . . . . . . . . . . . . . . . 605
使用自调节 (AT) 进行 PID 调节 . . . . . . . . . . . . . . . . . . 609
PID 参数调整方法 . . . . . . . . . . . . . . . . . . . . . . . . 616
PID 参数的作用和影响 . . . . . . . . . . . . . . . . . . . . . . 618
附录 1:PID 理论基础 . . . . . . . . . . . . . . . . . . . . . . 622
附录 2:一阶时间延迟模型 . . . . . . . . . . . . . . . . . . . . 624
18.5 浮点数指令 . . . . . . . . . . . . . . . . . . . . . . . . . . . 626
浮点算法指令 . . . . . . . . . . . . . . . . . . . . . . . . . . 627
三角指令 . . . . . . . . . . . . . . . . . . . . . . . . . . . . 630
转换指令 . . . . . . . . . . . . . . . . . . . . . . . . . . . . 632
整数 <-> 浮点数的转换指令 . . . . . . . . . . . . . . . . . . . . 634
18.6 ASCII 指令 . . . . . . . . . . . . . . . . . . . . . . . . . . . 637
ROUND 指令 . . . . . . . . . . . . . . . . . . . . . . . . . . 638
ASCII 到整数的转换 . . . . . . . . . . . . . . . . . . . . . . . 640
整数到 ASCII 的转换 . . . . . . . . . . . . . . . . . . . . . . . 642
ASCII 到浮点转换 . . . . . . . . . . . . . . . . . . . . . . . . 644
浮点到 ASCII 转换 . . . . . . . . . . . . . . . . . . . . . . . . 646

35013230 06/2011 9
18.7 对象表的指令 . . . . . . . . . . . . . . . . . . . . . . . . . 648
数据表求和函数 . . . . . . . . . . . . . . . . . . . . . . . . 649
数据表比较函数 . . . . . . . . . . . . . . . . . . . . . . . . 651
数据表搜索函数 . . . . . . . . . . . . . . . . . . . . . . . . 653
最大值和最小值的数据表搜索函数 . . . . . . . . . . . . . . . . 655
某个值在数据表中出现的次数 . . . . . . . . . . . . . . . . . . 656
表循环移位函数 . . . . . . . . . . . . . . . . . . . . . . . . 657
数据表排序函数 . . . . . . . . . . . . . . . . . . . . . . . . 659
浮点数表内插函数 . . . . . . . . . . . . . . . . . . . . . . . 661
浮点数表的值的平均值函数 . . . . . . . . . . . . . . . . . . . 665
章 19 系统位和系统字 . . . . . . . . . . . . . . . . . . . 667
系统位 (%S). . . . . . . . . . . . . . . . . . . . . . . . . . 668
系统字 (%SW). . . . . . . . . . . . . . . . . . . . . . . . . 675
术语表 . . . . . . . . . . . . . . . . . . . . . . . . 689
索引 . . . . . . . . . . . . . . . . . . . . . . . . 703

10 35013230 06/2011
安全信息
§

重要信息

声明
在尝试安装、操作或维护设备之前,请仔细阅读下述说明并通过查看来熟悉设备。
下述特别信息可能会在本文其他地方或设备上出现,提示用户潜在的危险,或者提
醒注意有关阐明或简化某一过程的信息。

35013230 06/2011 11
请注意
电气设备的安装、操作、维修和维护工作仅限于合格人员执行。 对于使用本资料所
引发的任何后果, Schneider Electric 概不负责。
专业人员是指掌握与电气设备的制造和操作相关的技能和知识的人员,他们经过安
全培训能够发现和避免相关的危险。

12 35013230 06/2011
关于本书

概览

文档范围
本手册是 Twido 可编程控制器的软件参考手册,由以下主要部分组成:
z Twido 编程软件的描述和 Twido 控制器编程所需基本原理的简介。
z 通讯、管理模拟量 I/O、安装 AS-i 总线接口模块、 CANopen 现场总线主模块和
其他特殊功能的描述。
z 用于创建 Twido 程序的软件语言的描述。
z Twido 控制器指令和功能的描述。

有效性说明
本手册中的信息仅适用于 Twido 可编程控制器。此文档适用于 TwidoSuite 2.3 版。

用户意见
欢迎对本书提出意见。您可以给我们发邮件,我们的邮件地址是
techcomm@schneider-electric.com。

35013230 06/2011 13
14 35013230 06/2011
TwidoSuite V2.3
Twido 软件
35013230 05/2009

Twido 软件描述

I
本部分主题
本部分介绍创建 Twido 可编程控制器的控制程序所需的软件语言和基本信息。

本部分包含了哪些内容?
本部分包括以下各章:
章 章节标题 页
1 TwidoSuite 简介 17
2 Twido 语言对象 23
3 用户存储器 49
4 事件任务管理 61

35013230 06/2011 15
Twido 软件

16 35013230 06/2011
TwidoSuite V2.3
TwidoSuite 语言
35013230 05/2009

TwidoSuite 简介

1
本章主题
本章简要介绍了 TwidoSuite (Twido 控制器的编程和配置软件)以及指令列表、梯
形图和 Grafcet 编程语言。

本章包含了哪些内容?
本章包含了以下主题:
主题 页
TwidoSuite 介绍 18
Twido 语言简介 19

35013230 06/2011 17
TwidoSuite 语言

TwidoSuite 介绍

简介
TwidoSuite 是用于创建、配置和维护 Schneider Electric 可编程控制器的自动化应
用程序的全功能图形开发环境。 TwidoSuite 允许您使用不同的语言类型 ( 参见
第 19 页 ) 创建程序,然后传送应用程序使其在控制器上运行。

TwidoSuite
TwidoSuite 是基于 Windows 的 32 位程序,适用于运行 Microsoft Windows
2000/XP Professional/Vista 操作系统的个人计算机 (PC)。
TwidoSuite 的主要软件特性:
z 面向项目、直观的用户界面
z 自由菜单式软件设计始终显示所选项目步骤的所有任务和功能
z 编程和配置支持
z 与控制器通讯
z 任务级别的第一手帮助提供指向联机帮助的相关链接
注意: 控制器与 PC 的连接使用 TCP/IP 协议。一定要在 PC 上安装此协议。

最低配置
使用 TwidoSuite 的最低配置为:
z PC 兼容计算机
z 推荐使用 Pentium 466 MHz 或更高的处理器
z 推荐使用 128 MB 或更高的 RAM
z 100 MB 硬盘空间

z 操作系统:Windows 2000、 Windows XP 或 Windows Vista:


z 不要使用补丁 834707-SP1 (由补丁 890175 纠正)和补丁 896358,它们会
导致联机帮助出现显示问题
z 推荐使用 Service Pack 2 或更高。可从 www.microsoft.com 网站下载

18 35013230 06/2011
TwidoSuite 语言

Twido 语言简介

简介
可编程控制器可以基于控制程序读取输入、写入输出和解算逻辑。为 Twido 控制器
创建控制程序的过程包括以 Twido 编程语言之一编写一系列指令。

Twido 语言
以下语言可用于创建 Twido 控制程序:
z 指令列表语言:
指令列表程序是一系列以布尔指令序列编写的逻辑表达式。
z 梯形图:
梯形图是一种能够显示逻辑表达式的图形。
z Grafcet 语言:
Grafcet 语言由一系列步骤和转换组成。 Twido 支持 Grafcet 指令列表指令,但
不支持图形 Grafcet。
使用这些编程语言,可以在个人计算机 (PC) 上创建并编辑 Twido 控制程序。
指令列表 / 梯形图的可转换性功能可以使您方便地将程序从梯形图转换为指令列表,
或从指令列表转换为梯形图。

指令列表语言
以指令列表语言编写的程序由控制器按顺序执行的一系列指令组成。以下是指令列
表程序的示例。

35013230 06/2011 19
TwidoSuite 语言

梯形图
梯形图与表示继电器控制电路的继电器逻辑图类似。图形元素 (例如线圈、触点和
块)表示指令。以下是梯形图程序的示例。

20 35013230 06/2011
TwidoSuite 语言

Grafcet 语言
Grafcet 分析方法可以将任何序列控制系统划分为一系列与操作、转换和条件关联的
步骤。下图显示了 Grafcet 指令分别在指令列表程序和梯形图程序中使用的示例。

35013230 06/2011 21
TwidoSuite 语言

22 35013230 06/2011
TwidoSuite V2.3
Twido 语言对象
35013230 05/2009

Twido 语言对象

2
本章主题
本章详细介绍了用于通过编程设置 Twido 控制器的语言对象。

本章包含了哪些内容?
本章包含了以下主题:
主题 页
语言对象验证 24
位对象 25
字对象 27
浮点和双字对象 30
找到位对象的地址 34
找到字对象的地址 35
浮动对象寻址 36
双字对象寻址 37
输入 / 输出寻址 38
网络寻址 40
功能块对象 41
结构化对象 43
索引对象 46
用变量表示对象 48

35013230 06/2011 23
Twido 语言对象

语言对象验证

简介
如果内存空间已在控制器中分配,则字对象和位对象有效。要做到这一点,它们必
须在下载到控制器之前在应用程序中使用。

示例
有效对象的范围为从零到该对象类型的最大引用。例如,如果应用程序的内存字最
大引用为 %MW9,则 %MW0 到 %MW9 为分配的空间。此示例中的 %MW10 无
效,并且不能进行内部访问或外部访问。

24 35013230 06/2011
Twido 语言对象

位对象

简介
位对象是位类型的软件变量,可以用作操作数并可以由布尔指令测试。以下为位对
象的列表:
z I/O 位
z 内部位 (存储器位)
z 系统位
z 步骤位
z 从字中提取的位

操作数位列表
下表列出了布尔指令中用作操作数的所有主要位对象,并对它们进行了介绍。

类型 描述 地址或值 最大数 写访问 (1)


立即值 0 或 1 (False 或 True) 0或1 - -

输入 这些位为 I/O 电气状态的 " 逻辑映像 %Ix.y.z (2) 注 (3) 否


输出 "。它们存储在数据存储器中并在每 %Qx.y.z (2) 是
次扫描程序逻辑期间更新。
AS-i 这些位为 I/O 电气状态的 " 逻辑映像 注 (4)
输入 "。它们存储在数据存储器中并在每 %IAx.y.z 否
输出 次扫描程序逻辑期间更新。 %QAx.y.z 是

内部 (存储器) 内部位为在程序运行时用于存储中间 %Mi 128 TWDLC•A10DRF 是


值的内部存储区。 和 TWDLC•A16DRF
注:未使用的 I/O 位不能用作内部 256 (所有其他控制器)
位。
系统 系统位 %S0 到 %S127 监控控制器的 %Si 128 根据 i
正确操作和应用程序的正确运行。
功能块 功能块位与功能块的输出相对应。 %TMi.Q 和 %Ci.P 注 (3) 否 (5)
可以直接连接这些输出或将它们用作 等。
对象。
可转换的功能块 使用可转换编程指令 BLK、 E、 D、 F、 Q、 注 (3) 否
OUT_BLK 和 END_BLK 编程的功能 TH0 和 TH1
块。

35013230 06/2011 25
Twido 语言对象

类型 描述 地址或值 最大数 写访问 (1)


字提取 可以将某些字中 16 位的一位提取为 变量 变量 变量
操作数位。
Grafcet 步骤 位 %X1 到位 %Xi 与 Grafcet 步骤相 %Xi 62 TWDLC•A10DRF 和 是
关联。当相应步骤处于活动状态时, TWDLC•A16 DRF
将步骤位 Xi 设置为 1 ;而当相应步 96 TWDLC•A24DRF、
骤处于禁止状态时,将步骤位设置为 TWDLCA•40DRF 和模
0。 块型控制器

说明:
1. 由程序写入或使用动态数据表编辑器写入。
2. 查看 I/O 寻址。
3. 值由控制器模型确定。
4. 其中, x = 扩展模块的地址 (0..7) ; y = AS-i 地址 (0A..31B) ; z = 通道编号
(0..3)。(请参见与连接到 AS-i V2 总线的从站设备相关联的 I/O 寻址 ,
第 232 页。)
5. 除 %SBRi.j 和 %SCi.j 外,这些位都是可读写的。

26 35013230 06/2011
Twido 语言对象

字对象

简介
字对象存储在数据存储器中,以 16 位字形式寻址,可以包含介于 -32768 和 32767
之间的整数值 (高速计数器功能块除外,其值介于 0 和 65535 之间)。
字对象的示例:
z 立即值
z 内部字 (%MWi) (存储器字)
z 常量字 (%KWi)
z I/O 交换字 (%IWi 和 %QWi%)
z AS-i 模拟量 I/O 字 (IWAi 和 %QWAi)
z 系统字 (%SWi)
z 功能块 (配置和 / 或运行时数据)

字格式
字的内容或值以 16 位二进制代码 (二进制补码)形式存储在用户存储器中,并使
用以下约定:

在有符号二进制表示法中,按约定将位 15 分配为编码值的符号位:
z 位 15 设置为 0:该字的内容为正值。
z 位 15 设置为 1:该字的内容为负值 (负值以二进制补码逻辑表示)。

可以按以下格式输入或检索字和立即值:
z 十进制
最小值:-32768,最大值:32767 (例如, 1579)
z 十六进制
最小值:16#0000,最大值:16#FFFF (例如, 16#A536)
替代语法:#A536
z ASCII 格式规则如下:
z 该功能始终首先读取最高有效字节。
z 未在间隔 ['0' - '9'] ([16#30 - 16#39]) 中的任何 ASCII 字符都被视为结束字符,
但减号 "-"(16#2D) 在作为第一个字符放置时除外。

35013230 06/2011 27
Twido 语言对象

z 在溢出 (>32767 或 <-32768)情况下,系统位 %S18 (算术溢出或错误)设


置为 1,并且返回值 32767 或 -32768。
z 如果操作数的第一个字符是 "end" 字符,则返回值 0,并且位 %S18 设置为 1。
例如, "HELLO":
z %MW0 := "HE"
z %MW1 := "LL"
z %MW2 := "O "

字对象描述
下表介绍了字对象。

字 描述 地址或值 最大数 写访问 (1)


立即值 这些整数值与 16 位字的格式相同,因此可 - 否
以将值分配给这些字。
以 10 为基数 -32768 到 32767
以 16 为基数 16#0000 到
16#FFFF
内部 (存储器) 在数据存储器中操作期间用作 " 工作 " 字来 %MWi 3000 是
存储值。
常量 存储常量或字母数字消息。它们的内容仅 %KWi 256 是
能在配置时使用 TwidoSuite 写入或修改。 仅通过使用
TwidoSuite
系统 这些 16 位字具有多个功能: %SWi 128 根据 i
z 通过读取 %SWi 字访问直接来自控制器
的数据。
z 在应用程序上执行操作 (例如,调整调
度功能块)。
功能块 这些字对应于功能块的当前参数或值。 %TM2.P 和 是
%Ci.P 等
网络交换字 分配给采用远程连接方式的控制器。这些
字用于控制器之间的通讯:
网络输入 %INWi.j 每远程连接 4 个 否
网络输出 %QNWi.j 每远程连接 4 个 是
模拟量 I/O 字 分配给 AS-i 从站模块的模拟量输入和输
出。
模拟量输入 %IWAx.y.z 注 (2) 否
模拟量输出 %QWAx.y.z 注 (2) 是

28 35013230 06/2011
Twido 语言对象

字 描述 地址或值 最大数 写访问 (1)


提取的位 可以从以下字中提取 16 位中的一位:
内部 %MWi:Xk 1500 是
系统 %SWi:Xk 128 取决于 i
常量 %KWi:Xk 64 否
输入 %IWi.j:Xk 注 (3) 否
输出 %QWi.j:Xk 注 (3) 是
AS-i 从站输入 %IWAx.y.z:Xk 注 (3) 否
AS-i 从站输出 %QWAx.y.z:Xk 注 (3) 是
网络输入 %INWi.j:Xk 注 (3) 否
网络输出 %QNWi.j:Xk 注 (3) 是

注意:
1. 由程序写入或使用动态数据表编辑器写入。
2. 其中, x = 扩展模块的地址 (0..7) ; y = AS-i 地址 (0A..31B) ; z = 通道编号
(0..3)。(请参见与连接到 AS-i V2 总线的从站设备相关联的 I/O 寻址 ,
第 232 页。)
3. 值由配置确定。

35013230 06/2011 29
Twido 语言对象

浮点和双字对象

简介
TwidoSuite 允许对浮点数和双整数字对象执行操作。
浮点数是一种数学自变量,其表达式中包含小数点 (例如:3.4E+38、 2.3 或
1.0)。
双整数字由存储在数据存储器中的 4 个字节组成,包含一个介于 -2147483648 和
+2147483647 之间的值。

浮点数格式和值
所用浮点格式为标准 IEEE STD 734-1985(对应于 IEC 559)。字长为 32 位,对应
于单小数点浮点数。
下表显示浮点值的格式:

位 31 位 {30...23} 位 {22...0}
S 指数 小数部分

以下等式确定上述格式表达的值:

32 位浮点值 = * * 1. 小数位
浮点值可以带有或不带有指数,但必须始终带有小数点 (浮点)。
浮点值介于 -3.402824e+38 和 -1.175494e-38 以及 1.175494e-38 和 3.402824e+38
之间 (图表上灰色标出的值)。它们也包含值 0,写为 0.0

.
当计算结果:
z 小于 -3.402824e+38 时,将显示符号 -1.#INF (表示负无穷)
z 大于 +3.402824e+38 时,将显示符号 1.#INF (表示正无穷)
z 介于 -1.175494e-38 和 1.175494e-38 之间时,舍入为 0.0。位于上述限值中的值
不能输入为浮点值。
z 不定时 (例如负数的平方根),将显示符号 1.#NAN 或 -1.#NAN。
表示精确度为 2-24。浮点数没有必要显示多于 6 个的小数位。
注意:
z 值 "1285" 将被解释为整数值,要使其被识别为浮点值,必须将其写为以下格式:
"1285.0"

30 35013230 06/2011
Twido 语言对象

针对浮点数的算术函数的极限范围
下表描述针对浮点数对象的算术函数的极限范围

算术函数 极限范围和无效运算
类型 语法 #QNAN (无效) #INF (无穷)
操作数的平方根 SQRT(x) x<0 x > 1.7E38
整数的实数幂 EXPT(y, x) x<0 y.ln(x) > 88
EXPT(%MF,%MW) (其中:
x^y = %MW^%MF)
以 10 为底数的对数 LOG(x) x <= 0 x > 2.4E38

自然对数 LN(x) x <= 0 x > 1.65E38


自然指数 EXP(x) x<0 x > 88.0

硬件兼容性
所有 Twido 控制器均不支持浮点数和双字运算。
下表显示硬件兼容性:

Twido 控制器 支持双字 支持浮点数


TWDLMDA40DUK 是 是
TWDLMDA40DTK 是 是
TWDLMDA20DUK 是 否
TWDLMDA20DTK 是 否
TWDLMDA20DRT 是 是
TWDLC••40DRF 是 是
TWDLC•A24DRF 是 否
TWDLC•A16DRF 是 否
TWDLC•A10DRF 否 否

35013230 06/2011 31
Twido 语言对象

有效性检查
当结果不在有效范围内时,系统位 %S18 将设置为 1。
状态字 %SW17 位表明导致浮点运算出现检测到的错误的原因:
字 %SW17 的不同位:

%SW17:X0 无效运算,结果非数字 (1.#NAN 或 -1.#NAN)


%SW17:X1 保留
%SW17:X2 除数为 0,结果为无穷 (-1.#INF 或 1.#INF)
%SW17:X3 结果的绝对值大于 +3.402824e+38,结果为无穷 (-1.#INF 或 1.#INF)
%SW17:X4 至 X15 保留

冷启动时系统会将该字复位为 0,程序也会出于再次使用的目的将其复位为 0。

浮点数和双字对象描述
下表描述浮点数和双字对象:

对象类型 描述 地址 最大数 写访问 索引格式


立即值 与 32 位对象具有相同格式 - [-] 否 -
的整数 (双字)或小数
(浮点数)。
内部浮点数 用于在操作过程中将值存储 %MFi 1500 是 (ODM/T) %MFi[ 索引 ]
在数据存储器中的对象。
内部双字 %MDi 1500 是 (ODM/T) %MDi[ 索引 ]
浮点常量值 用于存储常量。 %KFi 128 是, (T) %KFi[ 索引 ]
双常量 %KDi 128 是, (T) %KDi[ 索引 ]
注: 1. ODM:使用操作显示模块进行写访问 (请参阅操作显示操作 , 第 361 页)
2. T:使用 TwidoSuite 进行写访问

对象间重叠的可能性
单、双长度和浮点字存储在一个存储区中的数据空间内。因此,浮点字 %MFi 和双
字 %MDi 对应于单长度字 %MWi 和 %MWi+1(字 %MWi 包含字 %MFi 的最低有效
位,而字 %MWi+1 包含字 %MFi 的最高有效位)。

32 35013230 06/2011
Twido 语言对象

下表显示浮点内部字和双内部字如何重叠:

浮点常量和双常量 奇地址 内部字


%MF0/%MD0 %MW0
%MF1/%MD1 %MW1
%MF2/%MD2 %MW2
%MF3/%MD3 %MW3
%MF4/%MD4 %MW4
... %MW5
... ...
%MFi/%MDi %MWi
%MFi+1/%MDi+1 %MWi+1

下表显示浮点常量和双常量如何重叠:

浮点常量和双常量 奇地址 内部字


%KF0/%KD0 %KW0
%KF1/%KD1 %KW1
%KF2/%KD2 %KW2
%KF3/%KD3 %KW3
%KF4/%KD4 %KW4
... %KW5
... ...
%kFi/%kDi %KWi
%KFi+1/%KDi+1 %KWi+1

示例:
%MF0 对应于 %MW0 和 %MW1。 %KF543 对应于 %KW543 和 %KW544。

35013230 06/2011 33
Twido 语言对象

找到位对象的地址

语法
请使用以下格式找到内部位对象、系统位对象和步骤位对象的地址:

描述
下表介绍寻址格式中的元素:

组 项目 描述
变量 % 百分号始终出现在软件变量之前。
对象类型 M 程序正在运行时,内部位存储中间值。
S 系统位为控制器提供状态和控制信息。
X 步骤位提供步骤活动的状态。
编号 i 最大编号值由配置的对象数决定。

位对象寻址示例:
z %M25 = 内部位编号 25
z %S20 = 系统位编号 20
z %X6 = 步骤位编号 6

从字中提取的位对象
TwidoSuite 用于从字中提取 16 个位中的一个。随后根据以下语法,字的地址由提
取的位行完成:

示例:
z %MW5:X6 = 内部字 %MW5 的位编号 6
z %QW5.1:X10 = 输出字 %QW5.1 的位编号 10

34 35013230 06/2011
Twido 语言对象

找到字对象的地址

简介
找到字对象的地址 (除输入 / 输出寻址以外,请参阅输入 / 输出寻址 , 第 38 页)和
功能块 (请参阅功能块对象 , 第 41 页)遵循下述格式。

语法
请使用以下格式找到内部字、常量和系统字的地址:

描述
下表介绍寻址格式中的元素。

组 项目 描述
变量 % 百分号始终出现在内部地址之前。
对象类型 M 程序正在运行时,内部字存储中间值。
K 常量字存储常量值或字母数字消息。仅能使用
TwidoSuite 写入或修改其内容。
S 系统位为控制器提供状态和控制信息。
语法 W 16 位字。
编号 i 最大编号值由配置的对象数决定。

字对象寻址示例:
z %MW15 = 内部字编号 15
z %KW26 = 常量字编号 26
z %SW30 = 系统字编号 30

35013230 06/2011 35
Twido 语言对象

浮动对象寻址

简介
除输入 / 输出寻址 (请参阅 输入 / 输出寻址 , 第 38 页)和功能块 (请参阅功能块
对象 , 第 41 页)外,浮动对象寻址遵循下述格式。

语法
使用以下格式对内部浮动对象和常量浮动对象寻址:

描述
下表介绍了寻址格式中的元素。

组 项 描述
符号 % 百分比符号始终位于内部地址之前。
对象类型 M 内部浮动对象在程序运行时存储中间值。
K 浮动常量用于存储常量值。只能使用 TwidoSuite 写入
或修改浮动常量的内容。
语法 F 32 位对象。
编号 i 编号的最大值取决于配置对象的数量。

浮动对象地址示例:
z %MF15 = 编号为 15 的内部浮动对象
z %KF26 = 编号为 26 的常量浮动对象

36 35013230 06/2011
Twido 语言对象

双字对象寻址

简介
除输入 / 输出寻址 (请参阅 输入 / 输出寻址 , 第 38 页)和功能块 (请参阅功能块
对象 , 第 41 页)外,双字对象寻址遵循下述格式。

语法
使用以下格式对内部双字和常量双字寻址:

描述
下表介绍了寻址格式中的元素。

组 项 描述
符号 % 百分比符号始终位于内部地址之前。
对象类型 M 内部双字用于在程序运行时存储中间值。
K 常量双字存储常量值或字母数字信息。只能使用
TwidoSuite 写入或修改浮动常量的内容。
语法 D 32 位双字。
编号 i 编号的最大值取决于配置对象的数量。

双字对象寻址示例:
z %MD15 = 编号为 15 的内部双字
z %KD26 = 编号为 26 的常量双字

35013230 06/2011 37
Twido 语言对象

输入 / 输出寻址

简介
Twido 配置中的每个输入 / 输出 (I/O) 点均有一个唯一的地址:例如,地址 “%I0.0.4”
是分配给控制器的输入 4 的地址。
I/O 地址可以分配给以下硬件:
z 配置为用作远程连接主模块的控制器
z 配置为用作远程 I/O 的控制器
z 扩展 I/O 模块
TWDNOI10M3 AS-i 总线接口模块和 TWDNCO1M CANopen 现场总线模块各自使
用其特定地址系统为连接到其总线上的从站设备的 I/O 寻址:
z 有关 TWDNOI10M3,请参阅为与连接到 AS-i V2 总线的从站设备关联的 I/O 寻址
( 参见第 232 页 )。
z 有关 TWDNCO1M,请参阅 CANopen 主模块的 PDO 寻址 ( 参见第 284 页 )。

输出或线圈的多次引用
在一个程序中,您可以多次引用单个输出或线圈。仅在硬件输出上更新上一次解决
的结果。例如,可以在程序中多次使用 %Q0.0.0。因此确认等式提供所需要的输出
状态很重要。

小心
意外的设备操作
请确保您肯定重复输出或线圈不会对您的控制器产生异常行为。
如果不遵守这些说明,将会导致受伤或设备损坏。

格式
使用以下格式进行输入 / 输出寻址。

使用以下格式进行输入 / 输出交换字寻址。

38 35013230 06/2011
Twido 语言对象

描述
下表介绍了 I/O 寻址格式。

组 项 值 描述
符号 % - 百分号变量始终位于内部地址之前。
对象类型 I - 输入。控制器电气状态的 “ 逻辑图像 ” 或扩展 I/O
模块输入。
Q - 输出。控制器电气状态的 “ 逻辑图像 ” 或扩展 I/O
模块输出。
控制器位置 x 0 主控制器 (远程连接主控制器)。
1-7 远程控制器 (远程连接从站)。
I/O 类型 y 0 本体 I/O (控制器上的本地 I/O)。
1-7 扩展 I/O 模块。
通道编号 z 0 - 31 控制器或扩展 I/O 模块上的 I/O 通道编号。可用
的 I/O 点数取决于控制器模型或扩展 I/O 模块的
类型。

示例
下表显示了 I/O 寻址的部分示例。

I/O 对象 描述
%I0.0.5 本体控制器 (本地 I/O)上的输入点数 5。
%Q0.30.4 控制器本体 (扩展 I/O)在位于地址 3 处的扩展 I/O 模块上的输出点
数 4。
%I0.0.3 本体控制器上的输入点数 3。
%I3.0.1 远程连接位于地址 3 处的远程 I/O 控制器上的输入点数 1。
%I0.3.2 控制器本体在位于地址 3 处的扩展 I/O 模块上的输入点数 2。

35013230 06/2011 39
Twido 语言对象

网络寻址

简介
通过使用网络字 %INW 和 %QNW 在 Twido 远程连接网络上的对等控制器和主控制
器之间交换应用程序数据。有关详细信息,请参阅通讯 , 第 67 页。

格式
使用以下格式进行网络寻址。

格式描述
下表描述了网络寻址格式。

组 元素 值 描述
变量 % - 百分比变量始终位于内部地址之前。
对象类型 IN - 网络输入字。数据从主站传送到对等站。
QN - 网络输出字。数据从对等站传送到主站。
格式 W - A16 位字。
控制器位置 x 0 主控制器 (远程连接主站)。
1-7 远程控制器 (远程连接从站)。
字 j 0-3 每个对等控制器使用一到四个字与主控制器交换
数据。

示例
下表显示了网络寻址的一些示例。

网络对象 描述
%INW3.1 3 号远程控制器的 1 号网络字。
%QNW0.3 本体控制器的 3 号网络字。

40 35013230 06/2011
Twido 语言对象

功能块对象

简介
功能块提供了程序可以访问的位对象和特定的字。

功能块示例
下图显示了计数器功能块。

位对象
位对象对应块输出。使用以下任何一种方法,布尔测试指令均可以访问这些位:
z 如果在可转换编程中用线将这些位连接到块,则直接访问 (例如, LD E)(请
参阅标准功能块编程原理 , 第 448 页)。
z 通过指定块类型 (例如, LD %Ci.E)。
可以以指令的格式访问输入。

字对象
字对象对应指定的参数和值,如下所述:
z 块配置参数:某些参数是程序可以访问的 (例如,预选择参数),而某些参数是
程序不可以访问的 (例如,时基)。
z 当前值:例如, %Ci.V,当前计数值。

35013230 06/2011 41
Twido 语言对象

双字对象
执行系统功能 (例如高速计数器 [%FC]、超高速计数器 [%VFC] 和脉冲发生器
[%PLS])时,双字对象提高了 Twido 控制器的计算能力。
与功能块一起使用的 32 位双字对象的寻址,仅是在标准字对象的原始语法中附加
"D" 字符。以下示例显示了如何找到高速计数器在标准格式和双字格式中的当前值的
地址:
z %FCi.V 是高速计数器在标准格式中的当前值。
z %FCi.VD 是高速计数器在双字格式中的当前值。
注意:所有 Twido 控制器均不支持双字对象。请参阅硬件兼容性 , 第 31 页以查看您
的 Twido 控制器是否可以容纳双字。

程序可以访问的对象
有关程序可以访问的对象列表,请参阅以下相应部分。
z 有关基本功能块,请参阅基本功能块 , 第 446 页。
z 有关高级功能块,请参阅与高级功能块关联的位对象和字对象 , 第 499 页。

42 35013230 06/2011
Twido 语言对象

结构化对象

简介
结构化对象是相邻对象的组合。 Twido 支持以下类型的结构化对象:
z 位字符串
z 字表
z 双字表
z 浮点字表

位字符串
位字符串是一系列具有相同类型和已定义长度 (L) 的相邻对象位。
示例:位字符串 %M8:6

注意:%M8:6 是可接受的(8 是 8 的倍数),而 %M10:16 是不可接受的(10 不是


8 的倍数)。
位字符串可以用于分配指令 (请参阅赋值指令 , 第 472 页)。

可用位类型
位字符串的可用位类型:

类型 地址 最大大小 写访问
离散量输入位 %I0.0:L 或 %I1.0:L (1) 0<L<17 否
离散量输出位 %Q0.0:L 或 %Q1.0:L (1) 0<L<17 是
系统位 %Si:L 0<L<17 且 i+L≤128 取决于 i
i 是 8 的倍数
Grafcet 步骤位 %Xi:L 0<L<17 且 i+L≤95 (2) 是 (由程序确定)
i 是 8 的倍数
内部位 %Mi:L 0<L<17 且 i+L≤256 (3) 是
i 是 8 的倍数

注:
1. 仅 I/O 位 0 到 16 可以读入位字符串。对于具有 24 路输入和 32 个 I/O 模块的控制
器,大于 16 的位无法读入位字符串。
2. TWWDLCAA10DRF 和 TWDLCAA16DRF 的 i+L 的最大值为 62

35013230 06/2011 43
Twido 语言对象

3. TWWDLCAA10DRF 和 TWDLCAA16DRF 的 i+L 的最大值为 128


注意:%M10:=%M2 XORR %M1 相当于 %M10:=%M2 或者。

字表
字表是一系列具有相同类型和已定义长度 (L) 的相邻字。
示例:字表 %KW10:7

字表可以用于分配指令 (请参阅赋值指令 , 第 472 页)。

可用字类型
字表的可用字类型:

类型 地址 最大大小 写访问
内部字 %MWi:L 0<L<256 且 i+L< 3000 是
常量字 %KWi:L 0<L<256 且 i+L< 256 否
系统字 %SWi:L 0<L 且 i+L<128 取决于 i

双字表
双字表是一系列具有相同类型和已定义长度 (L) 的相邻字。
示例:双字表 %KD10:7

双字表可以用于分配指令 (请参阅赋值指令 , 第 472 页)。

44 35013230 06/2011
Twido 语言对象

可用双字类型
双字表的可用字类型:

类型 地址 最大大小 写访问
内部字 %MDi:L 0<L<256 且 i+L< 3000 是
常量字 %KDi:L 0<L 且 i+L< 256 否

浮点字表
浮点字表是一系列具有相同类型和已定义长度 (L) 的相邻字。
示例:浮点字表 %KF10:7

浮点字表可用于分配指令 (请参阅 “ 高级指令 ”)。

可用浮点字类型
浮点字表的可用字类型:

类型 地址 最大大小 写访问
内部字 %MFi:L 0<L<256 且 i+L< 3000 是
常量字 %KFi:L 0<L 且 i+L<256 否

35013230 06/2011 45
Twido 语言对象

索引对象

简介
索引字为带有索引对象地址的单字、双字或浮点数。有以下两种类型的对象寻址方
式:
z 直接寻址
z 变址寻址

直接寻址
对象的直接地址在编写程序时进行设置和定义。
示例:%M26 表示直接地址为 26 的内部位。

变址寻址
对象的索引地址提供了一种通过向对象的直接地址添加索引来修改对象地址的方
法。索引内容将添加到对象的直接地址中。索引由内部字 %MWi 定义。 " 索引字 "
数不受限制。
示例:%MW108[%MW2] 表示所用地址由直接地址 108 与字 %MW2 的内容相加而
成的字。
如果字 %MW2 的值为 12,则写入 %MW108[%MW2] 等同于写入 %MW120 (108
加 12)。

可进行变址寻址的对象
以下是可进行变址寻址的对象类型。

类型 地址 最大大小 写访问
内部字 %MWi[MWj] 0≤i+%MWj<3000 是
常量字 %KWi[%MWj] 0≤i+%MWj<256 否
内部双字 %MDi[MWj] 0≤i+%MWj<2999 是
常量双字 %KDi[%MWj] 0≤i+%MWj<255 否
内部浮点数 %MFi[MWj] 0≤i+%MWj<2999 是
常量浮点数 %KFi[%MWj] 0≤i+%MWj<255 否

索引对象可以与赋值指令 (请参阅用于单字或双字的赋值指令 , 第 472 页)和比较


指令 (请参阅用于单字或双字的比较指令 , 第 477 页)一起使用。此类型的寻址能
够通过使用程序修改索引对象内容的方式,使同一类型 (例如内部字和常量)的一
系列对象依次经过扫描。

46 35013230 06/2011
Twido 语言对象

索引溢出系统位 %S20
在索引对象的地址超过包含同类对象的存储器区限制时,将发生索引溢出。概括如
下:
z 对象地址加索引内容小于 0。
z 对象地址加索引内容大于应用程序中直接引用的最大字。最大值是 2999 (用于
字 %MWi)或 255 (用于字 %KWi)。
在索引溢出事件中,系统会将系统位 %S20 设置为 1 并将索引值 0 分配给对象。
注意:由用户负责监控溢出。位 %S20 必须由用户程序读取以进行相应处理。用户
必须确认已将其复位为 0。
%S20 (初始状态 = 0):
z 索引溢出时:由系统设置为 1。
z 溢出确认时:修改索引之后,由用户设置为 0。

35013230 06/2011 47
Twido 语言对象

用变量表示对象

简介
您可以按照名称或自定义的记忆方法使用变量找到 TwidoSuite 语言对象的地址。使
用变量可以快速检查并分析程序逻辑,并且大大简化了应用程序的开发和测试。

示例
例如, WASH_END 是一个可以用于标识表示清除循环结束的定时器功能块的变
量。记忆此名称的目的应该比尝试记住此程序地址 (例如 %TM3)的角色容易。

定义变量指南
以下是定义变量指南:
z 最多 32 个字符。
z 字母 (A-Z)、数字 (0 -9) 或下划线 (_)。
z 第一个字符必须是字母或带重音的字符。不能使用百分号 (%)。
z 请勿使用空格或特殊字符。
z 不区分大小写。例如, Pump1 和 PUMP1 是相同的变量,并且在一个应用程序
中只能使用一次。

编辑变量
在变量编辑器中定义变量,且变量与语言对象相关联。变量及其注释与应用程序一
起存储在 PC 硬盘驱动器上,但未存储在控制器上。因此,无法将其与应用程序一
起传送到控制器。

48 35013230 06/2011
TwidoSuite V2.3
用户存储器
35013230 05/2009

用户存储器

3
本章主题
本章介绍 Twido 用户存储器的结构和用法。

本章包含了哪些内容?
本章包含了以下主题:
主题 页
用户存储器结构 50
不使用备份存储卡或扩展存储器进行 Backup 和恢复 53
使用 32K 备份存储卡进行 Backup 和恢复 55
使用 64K 扩展存储卡 58

35013230 06/2011 49
用户存储器

用户存储器结构

简介
应用程序可访问的控制器存储器分为两个不同的集合:
z 位值
z 字值 (有符号的 16 位值)和双字值 (有符号的 32 位值)

位存储器
位存储器位于控制器的内置 RAM 中。它包含 128 位对象的映像。

字存储器
字存储器 (16 位)支持:
z 动态字:运行时存储器 (仅存储在 RAM 中)。
z 存储器字 (%MW) 和双字 (%MD):动态系统数据和系统数据。
z 程序:任务的描述符和可执行代码。
z 配置数据:常量字、初始值和输入 / 输出配置。

存储器存储类型
以下是用于 Twido 控制器的不同类型的存储器。
z 随机存取存储器。
内部易失性存储器:包含动态字、存储器字、程序和配置数据。
z EEPROM
能够提供内部程序和数据备份的集成 32kB EEPROM。可超过 30 天连续保护程
序免受由于电池故障或停电而导致的损坏。它包含程序和配置数据。最多可储存
512 个存储器字。如果使用的是 64kB 扩展存储卡并且已将 Twido 配置为接受
64kB 扩展存储卡,则程序不在此处备份。 The Twido Extreme TWDLEDCK1 没
有扩展存储卡。
z 32 kB 备份存储卡
用于保存程序并将该程序传输到其他 Twido 控制器的可选外部存储卡。可以用于
更新控制器 RAM 中的程序。包含程序和常量,但不包含存储器字。
Twido ExtremeTWDLEDCK1 没有备份存储卡。
z 64 kB 扩展存储卡
最多可存储 64kB 程序的可选外部存储卡。使用卡中的程序时必须将卡插入控制
器。 The Twido Extreme TWDLEDCK1 没有扩展存储卡。

50 35013230 06/2011
用户存储器

保存存储器
控制器的程序和存储器字可以保存在以下位置:
z RAM (电池状态良好时最多可使用 30 天)
z EEPROM (最多 32kB)
如果 RAM 中的程序丢失或未安装电池,系统会自动将程序从 EEPROM 存储器传送
到 RAM 存储器。 Twido Extreme TWDLEDCK1 没有内部电池。
也可以使用 TwidoSuite 执行手动传输。

Twido 一体型和模块型存储器配置
下表介绍了 Twido 一体型控制器和模块型控制器可以配备的存储器配置类型。

一体型控制器
存储器类型 10DRF 16DRF 24DRF 40DRF 40DRF**
(32 kB) (64 kB)
内部 RAM 10 kB 10 kB 10 kB 10 kB 10 kB
存储器 1*
外部 RAM 16 kB 32 kB 32 kB 64 kB
存储器 2*
内部 EEPROM 8 kB 16 kB 32 kB 32 kB 32 kB***

外部 EEPROM 32 kB 32 kB 32 kB 32 kB 64 kB

最大程序大小 8 kB 16 kB 32 kB 32 kB 64 kB
最大外部备份 8 kB 16 kB 32 kB 32kB 64 kB

模块型控制器
存储器类型 20DUK 20DRT 20DRT
20DTK 40DUK 40DUK
40DTK (32 kB) 40DTK** (64 kB)
内部 RAM 10 kB 10 kB 10 kB
存储器 1*
外部 RAM 32 kB 32 kB 64 kB
存储器 2*
内部 EEPROM 32 kB 32 kB 32 kB***

外部 EEPROM 32 kB 32 kB 64 kB

35013230 06/2011 51
用户存储器

模块型控制器
存储器类型 20DUK 20DRT 20DRT
20DTK 40DUK 40DUK
40DTK (32 kB) 40DTK** (64 kB)
最大程序大小 32 kB 32 kB 64 kB
最大外部备份 32 kB 32 kB 64 kB

(*) 存储器使用中的 “ 存储器 1” 和 “ 存储器 2”。


(**) 在此情况下必须在 Twido 上安装 64 kB 存储卡并在配置中声明(若尚未声明)。
(***) 专用于备份第一个 512 %MW 字或第一个 256 %MD 双字。

Twido Extreme 存储器配置


下表描述了 Twido Extreme 控制器的存储器配置的可能类型。

Twido Extreme 控制器


存储器类型 TWDLEDCK1
外部 RAM 32 kB

内部 EEPROM 32 kB

最大程序大小 32 kB

52 35013230 06/2011
用户存储器

不使用备份存储卡或扩展存储器进行 Backup 和恢复

简介
下文详细介绍未插入 backup 存储卡或扩展存储器的模块型和一体型控制器中的
backup 和恢复存储器功能。
本节不适用于也不具备备份存储卡的 Twido Extreme PLC (TWDLEDCK1)。
Twido Extreme 用户存储器部分介绍了相关内容。

概览
Twido 程序、存储器字和配置数据可以使用控制器内部 EEPROM 进行备份。由于
将程序保存至内部 EEPROM 会清除任何先前备份的存储器字,因此,必须首先备
份程序,然后备份配置的存储器字。可以将动态数据先存储在存储器字中,然后备
份到 EEPROM。如果没有程序保存到内部 EEPROM,则不能将存储器字保存到其
中。

存储器结构
下图显示控制器的存储器结构。箭头显示了可以从 RAM 备份到 EEPROM 的内容:

35013230 06/2011 53
用户存储器

程序 Backup
以下为将程序备份到 EEPROM 的步骤:

步骤 操作
1 必须满足以下要求:
RAM 中存在有效程序。
2 在 TwidoSuite 窗口中,从程序 →调试 →检查 PLC 中选择查看存储器信息,
然后单击保存。
注: 检查 PLC 只能在连接模式下使用。

程序恢复
在加电过程中,有一种情况将导致程序从 EEPROM 恢复到 RAM (假设没有安装存
储卡或扩展存储器):
z RAM 程序无效

要从 EEPROM 手动恢复程序,请执行以下步骤:
z 在 TwidoSuite 窗口中,从程序 →调试选择存储卡命令,然后选择一个连接并单
击恢复。

数据 (%MWs) Backup
以下为将数据 (存储器字)备份到 EEPROM 的步骤:

步骤 操作
1 必须满足以下要求才能执行操作:
RAM 中存在有效程序 (%SW96:X6=1)。
已将相同的有效程序备份到 EEPROM。
已在程序中配置存储器字。
2 将 %SW97 设置为要保存的存储器字的长度。
注:长度不能超过已配置存储器字的长度,并且必须大于 0 且小于或等于 512。
3 将 %SW96:X0 设置为 1。

数据 (%MW) 恢复
通过将系统位 %S95 设置为 1 来手动恢复 %MW。
必须满足以下要求才能执行操作:
z EEPROM 中存在有效的 backup 应用程序
z RAM 中的应用程序与 EEPROM 中的 backup 应用程序匹配
z backup 存储器字有效

54 35013230 06/2011
用户存储器

使用 32K 备份存储卡进行 Backup 和恢复

简介
以下信息详细介绍了如何使用 32K 备份存储卡 backup 和恢复模块型和一体型控制
器中的存储功能。
本节不适用于不具备备份存储卡的 Twido Extreme PLC (TWDLEDCK1)。
Twido Extreme 用户存储器部分介绍了相关内容。

概览
备份存储卡用于保存程序和将保存的程序传送到其他 Twido 控制器。安装或保存程
序后,应该从控制器中取出存储卡并放在一边。仅可以将程序和配置数据保存到存
储卡 (而无法将 %MW 保存到 32K 备份存储卡)。可以将动态数据先存储在存储器
字中,然后备份到 EEPROM。程序安装完成时,安装前备份到内部 EEPROM 的所
有 %MW 将丢失。

35013230 06/2011 55
用户存储器

存储器结构
下图是附加了备份存储卡的控制器存储器结构。箭头显示了可以从 RAM 备份到
EEPROM 和存储卡的内容:

程序 Backup
以下为将程序备份到备份存储卡的步骤:

步骤 操作
1 关闭控制器电源。
2 插入备份存储卡。
3 为控制器加电。
4 在 TwidoSuite 窗口中,从程序 →调试选择存储卡命令,然后选择一个连接并单
击 Backup。
5 关闭控制器电源。
6 从控制器取出备份存储卡。

56 35013230 06/2011
用户存储器

程序恢复
要将已保存在备份存储卡上的程序载入控制器,请执行以下操作:

步骤 操作
1 关闭控制器电源。
2 插入备份存储卡。
3 为控制器加电。
(如果已配置自动启动,必须再次关闭电源,然后打开电源以进入运行模式。)
4 关闭控制器电源。
5 从控制器取出备份存储卡。

数据 (%MWs) Backup
以下为将数据 (存储器字)备份到 EEPROM 的步骤:

步骤 操作
1 必须满足以下要求才能执行操作:
RAM 中存在有效程序。
已将相同的有效程序备份到 EEPROM。
已在程序中配置存储器字。
2 将 %SW97 设置为要保存的存储器字的长度。
注:长度不能超过已配置存储器字的长度,并且必须大于 0 且小于或等于 512。
3 将 %SW96:X0 设置为 1。

数据 (%MW) 恢复
通过将系统位 %S95 设置为 1 来手动恢复 %MW。
必须满足以下要求才能执行操作:
z EEPROM 中存在有效的 backup 应用程序
z RAM 中的应用程序与 EEPROM 中的 backup 应用程序匹配
z backup 存储器字有效

35013230 06/2011 57
用户存储器

使用 64K 扩展存储卡

简介
下文详细介绍如何使用 64K 扩展存储卡来使用模块型控制器中的存储器功能。

概览
64K 扩展存储卡用于将 Twido 控制器的程序存储器容量从 32K 扩展到 64K。只要使
用卡中的扩展程序,就必须将卡插入控制器。如果取出存储卡,控制器将进入停止
状态。存储器字仍将备份到控制器中的 EEPROM。可以将动态数据先存储在存储
器字中,然后备份到 EEPROM。 64K 扩展存储卡具有与 32K 备份存储卡相同的加
电行为。

存储器结构
下图显示使用扩展存储卡的控制器存储器结构。箭头显示了可以从 RAM 备份到
EEPROM 和 64K 扩展存储卡的内容:

58 35013230 06/2011
用户存储器

配置软件并安装扩展存储器
开始写入扩展程序之前,必须将 64K 扩展存储卡安装到控制器中。以下四个步骤说
明如何进行操作:

步骤 操作
1 在 TwidoSuite 窗口上的 " 硬件 " 选项菜单下输入 "TWDXCPMFK64"。
2 关闭控制器电源。
3 插入 64K 扩展存储卡。
4 为控制器加电。

保存程序。
一旦安装了 64K 扩展存储卡并写入了程序:
z 在 TwidoSuite 窗口中,从程序 →调试选择存储卡命令,然后选择一个连接并单
击备份。

数据 (%MW) 备份
以下为将数据 (存储器字)备份到 EEPROM 的步骤:

步骤 操作
1 必须满足以下要求才能执行操作:
存在有效程序
已在程序中配置存储器字。
2 将 %SW97 设置为要保存的存储器字的长度。
注:长度不能超过已配置存储器字的长度,并且必须大于 0 且小于或等于 512。
3 将 %SW96:X0 设置为 1。

数据 (%MW) 恢复
通过将系统位 %S95 设置为 1 来手动恢复 %MW。
必须满足以下要求才能执行操作:
z 存在有效程序
z 备份存储器字有效

35013230 06/2011 59
用户存储器

60 35013230 06/2011
TwidoSuite V2.3
事件任务管理
35013230 05/2009

事件任务管理

4
本章主题
本章描述事件任务以及如何在控制器中执行事件任务。
注意:Twido Brick 10 控制器 (TWDLCAA10DRF) 不管理事件任务。

本章包含了哪些内容?
本章包含了以下主题:
主题 页
事件任务概述 62
不同事件源描述 63
事件管理 64

35013230 06/2011 61
事件任务管理

事件任务概述

简介
上一章介绍了在任务开始时和结束时更新对象的周期性和循环任务。执行更高优先
级的 (事件)任务时,事件源可以停止特定任务,以使对象可以更快地更新。
事件任务:
z 是满足给定条件 (事件源)时执行的程序的一部分
z 具有比主程序更高的优先级
z 具有快速响应时间,从而能够减少系统的总体响应时间

事件描述
事件由以下内容组成:
z 事件源,可以定义为能够中断主程序 ( 参见第 63 页 ) 的软件或硬件中断条件
z 段,与事件相关的独立编程实体
z 事件队列,可以用于存储事件列表,直到其中的事件被执行
z 优先级,指定事件执行的顺序

62 35013230 06/2011
事件任务管理

不同事件源描述

不同事件源概览
事件源需要由软件管理,以调用链接到事件的编程段,并确保主程序能够被事件正
确地中断。应用程序扫描时间对事件的执行没有影响。
可以使用以下 9 种事件源:
z 链接到 VFC 功能块阈值的 4 个条件 (每个 %VFC 实例 2 个事件)
z 链接到控制器基板的物理输入的 4 个条件
z 1 个周期条件

一个事件源只能连接到单个事件,并且必须立即使用 TwidoSuite 对其进行检测。一


旦检测到事件源,软件将执行连接到该事件的编程段:每个事件均连接到标记为
SRi: (在配置事件源时定义)的子程序。

控制器基板的物理输入事件
如果输入 %I0.2、 %I0.3、 %I0.4 和 %I0.5 未被锁定,并且配置过程中可以使用事
件,可以将它们作为事件源使用。
在上升沿或下降沿上,控制器基板 (位置 0)的输入 2 至 5 可以激活事件处理。
有关配置该事件的详细信息,请参阅 "TwidoSuite 操作指南 " 联机帮助中的 " 硬件配
置 -> 输入配置 " 一节。

%VFC 功能块的输出事件
%VFC 功能块的输出 TH0 和 TH1 为事件源。输出 TH0 和 TH1 分别设置为:
z 1,当值大于阈值 S0 和阈值 S1 时
z 0,当值小于阈值 S0 和阈值 S1 时
这些输出的上升沿或下降沿可以激活事件处理。
有关配置该事件的详细信息,请参见 "TwidoSuite 操作指南 " 联机帮助中的 " 软件配
置 -> 超高速计数器 " 一节。

周期性事件
该事件定期执行单个编程段。该任务具有比主任务 (主模块)更高的优先级。
但是,该事件源具有比其他事件源更低的优先级。
该任务的周期在配置时设置,范围从 5 到 255 毫秒。仅可以使用一个周期性事件。
有关配置该事件的详细信息,请参见 "TwidoSuite 操作指南 " 联机帮助中的 " 配置程
序参数 -> 扫描模式 " 一节。

35013230 06/2011 63
事件任务管理

事件管理

事件队列和优先级
事件具有 2 种可能的优先级:高和低。但是,仅有一种事件类型 (因此仅有一个事
件源)可以具有高优先级。因此,其他事件都具有低优先级,并且它们的执行顺序
取决于被检测到的顺序。
有两种事件队列可以管理事件任务的执行顺序:
z 一种最多可以存储来自相同事件源的 16 个高优先级事件
z 另一种最多可以存储来自其他事件源的 16 个低优先级事件
这些队列是基于 FIFO 进行管理的:第一个存储的事件为第一个执行的事件。但是,
这些队列只能容纳 16 个事件,其他所有事件都将丢失。
高优先级队列为空后,才会执行低优先级队列。

事件队列管理
每次出现链接到事件源的中断时,将启动以下序列:

步骤 描述
1 中断管理:
z 识别物理中断
z 事件存储在适当的事件队列中
z 确认没有挂起同一优先级的事件 (如果挂起,则事件将在队列中保持挂起状态)
2 保存环境。
3 执行链接到事件的编程段 (标记为 SRi: 的子程序)。
4 更新输出
5 恢复环境

重新建立环境之前,必须执行队列中的所有事件。

事件检查
使用系统位和系统字检查事件 ( 参见第 667 页 ):
z %S31:用于执行或延迟事件
z %S38:用于确定是否在事件队列中放置事件
z %S39:用于查明事件是否丢失
z %SW48:显示自上次冷启动以来执行的事件数 (计算除周期性事件以外的所有
事件)
冷重启时或载入应用程序之后,位 %S39 和字 %SW48 的值将被重设为零,并且
%S31 和 %S38 的值将被设置为其初始状态 1,但是这些值在热重启之后保持不变。
在任何情况下都将重设事件队列。

64 35013230 06/2011
TwidoSuite V2.3
特殊功能
35013230 05/2009

特殊功能

II
本部分主题
本部分介绍了 Twido 控制器的通讯、内置模拟量功能、模拟量 I/O 模块的管理以及
AS-i V2 总线和 CANopen 现场总线的安装。

本部分包含了哪些内容?
本部分包括以下各章:
章 章节标题 页
5 通讯 67
6 内置模拟功能 139
7 管理模拟模块 145
8 Twido Extreme 输入 / 输出配置 159
9 安装 AS-i V2 总线 207
10 安装和配置 CANopen 现场总线 241
11 安装和配置 CANJ1939 现场总线 295
12 配置 TwidoPort 以太网网关 333
13 操作显示操作 361

35013230 06/2011 65
特殊功能

66 35013230 06/2011
TwidoSuite V2.3
通讯
35013230 05/2009

通讯

5
本章主题
本章简要介绍了如何对 Twido 控制器的通讯进行配置、编程和管理。

本章包含了哪些内容?
本章包含了以下主题:
主题 页
不同通讯类型简介 68
TwidoSuite 到控制器的通讯 70
TwidoSuite 与调制解调器之间的通讯 77
远程连接通讯 88
ASCII 通讯 100
Modbus 通讯 111
标准 Modbus 请求 126
Modbus 功能代码 23 (MB FC) - 读 / 写多个寄存器和 N 个字 131
Modbus 功能代码 43/14 (MB FC) - 读取设备标识 133
Transparent Ready 实现类 (Twido 串口 A05,以太网 A15) 137

35013230 06/2011 67
通讯

不同通讯类型简介

概览
Twido 提供一个或两个串行通讯端口,用于与远程 I/O 控制器、对等控制器或常规
设备进行通讯。每个可用端口都可用于任一服务,但仅可以使用第一个端口与
TwidoSuite 进行通讯。每个 Twido 控制器均支持三种不同的基本协议:远程连接、
ASCII 或 Modbus (modbus 主模块或 modbus 从站)。
此外, TWDLC•E40DRF 一体型控制器提供一个 RJ45 以太网通讯端口。它们支持
Modbus TCP/IP 客户端 / 服务器协议,此协议适用于控制器之间通过以太网网络进行
的对等通讯。
TWDLEDCK1 Twido Extreme 控制器只有一个串行口,并支持 Modbus、 ASCII、
以太网和蓝牙通讯。

远程连接
远程连接是一种高速主模块 / 从站总线,用于在主控制器与最多七个远程 (从站)
控制器之间进行小数据量通讯。根据远程控制器的配置,可以传输应用程序或 I/O
数据。不同类型的远程控制器可以混合使用,其中一些可以是远程 I/O 控制器,而
另一些可以是对等控制器。
TWDLEDCK1 Twido Extreme 控制器不支持远程连接 (既不是串行 RS485 也不是
CANJ1939)。

ASCII
ASCII 协议是一种简单的半双工字符模式协议,用于向简单设备 (打印机或终端)
传输字符串和 / 或从其接收字符串。仅可通过 “EXCH” 指令支持该协议。
对于 TWDLEDCK1 Twido Extreme 控制器,如果使用 ASCII,则必须将 0V 应用于
通讯电缆束触点 (引脚 22)以启用通讯。

Modbus
Modbus 协议是一种主模块 / 从站协议,它仅可以使一个主模块从多个从站请求响
应,或根据请求执行操作。主站可以向单个从站发送消息,或向所有从站发送广播
消息。从站将向单独发送给它们的查询返回消息 (响应)。不向来自主站的广播查
询返回响应。
Modbus 主模块 - Modbus 主模式可以使 Twido 控制器将 Modbus 查询发送至从站
并等候其回应。仅可通过 “EXCH” 指令支持 modbus 主模式。 modbus 主模式支持
Modbus ASCII 和 RTU。
注意: 可向不会在 IP 从站列表中声明的 IP 从站发送一个 Modbus 请求。

68 35013230 06/2011
通讯

Modbus 从站 - Modbus 从站模式可以使 Twido 控制器响应来自 Modbus 主模块的


Modbus 查询,如果没有配置其他类型的通讯,它将是缺省通讯模式。 Twido 控制
器支持标准 modbus 数据和控制功能以及用于对象访问的服务扩展。 modbus 从站
模式支持 Modbus ASCII 和 RTU。此外,还可在不更改应用程序的条件下通过某
%SW 更改 IP 地址 / IP 子掩码与 IP 网关。
注意:可以在 RS485 网络上 (1 个主模块和最多 31 个从站)安装 32 台设备 (无
中继器),设备的地址可以介于 1 和 247 之间。

Modbus TCP/IP
注意:只有具有内置以太网网络接口的一体型控制器的 TWDLC•E40DRF 系列才支
持 Modbus TCP/IP。
下文介绍 Modbus 应用协议 (MBAP)。
Modbus 应用协议 (MBAP) 是第 7 层协议,提供 LAN 上的可编程逻辑控制器 (PLC)
和其他节点之间的对等通讯。
当前 Twido 控制器 TWDLC•E40DRF 实现在以太网网络上通过 TCP/IP 传输
Modbus 应用协议。Modbus 协议事务是典型的请求 - 响应消息对。PLC 既可以是客
户端,也可以是服务器,具体取决于它正在查询还是应答消息。

以太网服务器 / Modbus 从站
Brick 40 是网络的组成部分,是进入 Twido 检索一些数据的监视系统通道。此要求
取决于在不更改应用程序的条件下通过某 %SW 更改 IP 地址 / IP 子掩码与 IP 网关的
可能性。

以太网客户端 / Modbus 主模块


Brick 40 是一种监视系统,需要向其他以太网设备 (如:OTB 或另外一个 Brick
40)发送一些数据。此要求取决于向一个不会使用字进行声明从而检索以太网当前
状态的 IP 从站发送 Modbus 请求的可能性。

35013230 06/2011 69
通讯

TwidoSuite 到控制器的通讯

概览
每台 Twido 控制器都有一个内置的 EIA RS485 终端口并带有自己的内部电源 (在
端口 1 上)。(TWDLEDCK1 Twido Extreme 控制器只有一个串行口)。必须使用端
口 1 与 TwidoSuite 编程软件进行通讯。
可选存储卡或通讯模块不能使用此端口。但是,在该端口上可以使用调制解调器。
有多种方式可以将 PC 连接至 Twido 控制器 RS485 端口 1:
z 通过 TSX PCX 电缆
z 通过电话线:调制解调器连接
z 通过蓝牙,适用于 TWDLEDCK1 Twido Extreme 控制器,需使用蓝牙适配器
(转换器) VW3 A8114。
此外, TWDLC•E40DRF 一体型控制器具有内置的 RJ45 以太网网络连接端口,可
用于与可连接至以太网并运行 TwidoSuite 编程软件的 PC 进行通讯。
有两种方式可以使可连接至以太网的 PC 与 TWDLC•E40DRF Twido 控制器 RJ45
端口进行通讯:
z 通过 UTP 5 类 RJ45 以太网交叉电缆进行直接电缆连接 (不建议)
z 通过可从 Schneider Electric 目录(电缆参考号:490NTW000••)获得的 SFTP
5 类 RJ45 以太网电缆 490NTW000••).
通过 Modbus 至以太网连接盒 OSITRACK XGS Z33ETH,还可以将 TWDLEDCK1
Twido Extreme 控制器连接到以太网网络。

警告
意外的设备操作
在将一根电缆从一个控制器上取下并快速插入另一个控制器之前,使用
TwidoSuite 正确断开 TSX PCX1031、 TSX CRJMD25 或以太网通讯电缆,因为
如果操作快速, TwidoSuite 可能无法感测到断开连接。
如果不遵守这些说明,将会导致死亡、严重伤害或设备损坏。

70 35013230 06/2011
通讯

串行电缆连接
使用 TSX PCX1031 电缆可以将个人计算机上的 EIA RS232C 端口连接到控制器的
端口 1。(对于 Twido ExtremePLC (TWDLEDCK1),此串行连接采用 VW3 A8106
电缆。)此电缆在 EIA RS232 与 EIA RS485 之间转换信号。TSX PCX1031 电缆配
备了 4 档旋转开关,可以选择不同的操作模式。该开关指定四档为 “0-3”,对于
TwidoSuite 到 Twido 控制器的连接,正确设置为位置 2。
下图说明此连接。

注意:对于此电缆,引脚 5 上的 DPT 信号未连接至 0V。这向控制器表明当前连接


是 TwidoSuite 连接。此信号在内部被升压,通知固件执行程序这是 TwidoSuite 连
接。
对于 TWDLEDCK1 Twido Extreme 控制器,如果使用 ASCII 协议,则必须将 0V 应
用于通讯电缆束触点 (引脚 22)以启用通讯。

35013230 06/2011 71
通讯

USB 电缆连接
使用 TSX CUSB485 和 TSX CRJMD25 通讯电缆,可以将个人计算机上的 USB 端
口连接到控制器的端口 1。(对于 Twido ExtremePLC (TWDLEDCK1),可以使用
TSX CUSB485 和 TWD XCAFJ010 电缆进行此连接。) TSX CUSB485 电缆在
USB 与 EIA RS485 之间转换信号。
下图说明此连接。

注意: 对于此电缆,引脚 5 上的 DPT 信号未连接至 0V。这向控制器表明当前连接


是 TwidoSuite 连接。此信号在内部被升压,通知固件执行程序这是 TwidoSuite 连
接。
对于 TWDLEDCK1 Twido Extreme 控制器,如果使用 ASCII 协议,则必须将 0V 应
用于通讯电缆束触点 (引脚 22)以启用通讯。

72 35013230 06/2011
通讯

凸型连接器和凹型连接器的引脚输出
下图显示凸型 8 引脚 miniDIN 连接器和终端的引脚输出:

下图显示用于 TSX PCX1031 的 SubD 凹型 9 引脚连接器的引脚输出。

35013230 06/2011 73
通讯

电话线连接
调制解调器 ( 参见第 77 页 ) 连接使用电话线,实现了对控制器的编程和通讯。
与控制器关联的调制解调器是连接到控制器端口 1 的接收调制解调器。与 PC 关联
的调制解调器可以是内部调制解调器或连接到 COM 串行口的外部调制解调器。
下图说明此连接。

注意: 仅有一个调制解调器可以连接至控制器的端口 1。
注意: 请记住安装随调制解调器提供的软件,因为 TwidoSuite 仅接受已安装的调制
解调器。

以太网网络连接
注意:尽管支持在 Twido TWDLC•E40DRF 与运行 TwidoSuite 编程软件的 PC 之间
使用以太网交叉电缆进行直接电缆连接,但是建议您不要使用此方法。因此,对于
以太网连接,我们建议您始终使用以太网网络集线器 / 交换机。
下图显示通过网络以太网集线器 / 交换机进行的 PC 到 Twido 连接:

注意: 运行 TwidoSuite 应用程序的 PC 必须支持以太网。


Twido TWDLC•E40DRF 基板配有一个 RJ45 连接器,能够以自适应模式连接至
100 BASE-TX 网络以太网。它可以适应 100Mbps 和 10 Mbps 网络速度。

74 35013230 06/2011
通讯

注意:还可以使用 ConneXium TwidoPort 以太网接口模块 499TWD01100 进行以太


网连接。配置 TwidoPort ( 参见第 335 页 ) 介绍了如何在 TwidoSuite 中声明和配置
此模块。
以下提供了 Twido Extreme TWDLEDCK1 的以太网连接示例。
下图显示 Twido 控制器的 RJ45 连接器:

RJ45 连接器的八个引脚垂直排列,并按照从下到上的顺序编号。下表介绍 RJ45 连


接器的引脚输出:

引脚 功能 极性
8 NC
7 NC
6 RxD (-)
5 NC
4 NC
3 RxD (+)
2 TxD (-)
1 TxD (+)

注意:
z 相同的连接器和引脚输出用于 10Base-T 和 100Base-TX。
z 将 Twido 控制器连接至 100Base-TX 网络时,至少应该使用 5 类以太网电缆。

35013230 06/2011 75
通讯

Twido Extreme 以太网连接示例


下图显示通过 XGS Z33ETH 连接盒在运行 TwidoSuite 应用程序的 PC 与
Twido Extreme TWDLEDCK1 控制器之间进行连接的示例。使用此连接盒,最多可
以在以太网网络上连接 3 个 Twido Extreme 基板。只能对 Twido Extreme
TWDLEDCK1 控制器进行这种类型的连接。

注意: 还可以使用 ConneXium TwidoPort 以太网接口模块 499TWD01100,通过


TWD XCAFJ010 电缆连接 Twido Extreme。配置 TwidoPort ( 参见第 335 页 ) 介绍了
如何在 TwidoSuite 中声明和配置此模块。

76 35013230 06/2011
通讯

TwidoSuite 与调制解调器之间的通讯

一般信息
可以将执行 TwidoSuite 的 PC 连接到 Twido 控制器,以传输应用程序、动态显示对
象和执行操作员模式命令。也可以将 Twido 控制器连接到其他设备,例如另一个
Twido 控制器,以与应用程序过程建立通讯。

35013230 06/2011 77
通讯

安装调制解调器
用户要与 TwidoSuite 一起使用的所有调制解调器都必须安装在运行 Windows 的 PC
上。
要在运行 Windows 的系统中安装调制解调器,请按照 Windows 文档执行。
此安装独立于 TwidoSuite 的安装。

蓝牙连接
Twido 控制器还可以采用蓝牙连接,此时需要使用蓝牙适配器 (转换器)
VW3 A8114。未配备集成蓝牙设备的 PC 可以使用蓝牙 PC 适配器 VW3 A8115。

注意: 为便于进行 Twido Extreme 应用程序下载和调试,建议使用蓝牙连接。


对于 Twido Extreme,可以使用 TWD XCAFJ010 电缆将此蓝牙适配器连接到 PLC
的串行口。

建立连接
TwidoSuite 与 Twido 控制器之间的缺省通讯连接是通过一个串行通讯端口,使用
TSX PCX1031 电缆和一个交叉适配器来进行的。有关更详细信息,请参阅
Appendix 1 ( 参见第 86 页 )。对于 Twido Extreme TWDLEDCK1,需要使用 VW3
A8106 电缆来进行串行连接。
如果调制解调器用于连接 PC,必须在 TwidoSuite 软件中声明。

要选择使用 TwidoSuite 的连接,请单击 首选项。

78 35013230 06/2011
通讯

结果:
将显示以下对话框:

此屏幕允许您创建、修改或删除连接。
要使用现有的连接,请从程序 →调试 →连接任务的连接表中选择。
如果必须添加、修改或删除连接,请使用显示连接及其属性的列表的 “ 连接管理 ”
表。
在这种情况下,屏幕显示两个串行口 (Com1 和 Com2),以及调制解调器连接
(显示已配置为组成以下编号的 TOSHIBA V.90 模型):xxxxxxxxxx (调制解调器
编号)。
注意:以相邻编号格式组成该编号。
用户可以更改每个连接的名称以维护应用程序 (无法更改 COM1 或 COM2)。
35013230 06/2011 79
通讯

这是定义和选择要用于将 PC 连接到调制解调器的连接的方式。
但是,这仅为在计算机和 Twido 控制器之间进行整体连接过程的一部分。
下一步包括 Twido 控制器。必须将远程 Twido 连接到调制解调器。
所有调制解调器均需初始化后才能建立连接。 Twido 控制器至少要包含 2.0 版的固
件,才能够在系统加电阶段将合适的字符串发送到调制解调器 (如果调制解调器已
在应用程序中配置)。

配置调制解调器
在 Twido 控制器中配置调制解调器的步骤如下所示。
要将调制解调器添加到打开的应用程序中,请执行 Modem Positioning 中所述的步
骤。
在端口 1 上配置调制解调器后,必须定义属性。在 “ 描述 ” 步骤中,双击调制解调

器缩略图 。
结果:将显示调制解调器特性对话框。调制解调器属性对话框使您可以选择已知的
调制解调器、创建新调制解调器或修改调制解调器配置。
“ 调制解调器特性 ” 对话框示意图:

所选配置对应于在控制器中读取的配置:随后读取的 Hayes 初始化命令将以 Hayes


标准格式显示。

80 35013230 06/2011
通讯

注意:调制解调器完全由 Twido 控制器通过端口 1 管理。这意味着用户可以将调制


解调器连接到通讯端口 2,但是在这种情况下,必须手动执行调制解调器的所有操
作模式及其初始化序列,并且无法以与通讯端口 1 相同的方式执行。
(Twido Extreme TWDLEDCK1 控制器只有一个串行口。)
用户可以选择先前定义的调制解调器,或者通过单击 “ 新建 ” 来创建新的调制解调
器。
“ 添加 / 修改调制解调器 ” 对话框示意图:

然后按照调制解调器文档中所述,为新的配置文件命名并完成 Hayes 初始化命令。


在上图中, “xxxxxx” 表示要使调制解调器进行适当通讯而必须输入的初始化序列,
例如,波特率、校验、停止位和接收模式。
要完成序列,请参见调制解调器文档。
最大字符串长度为:127 个字符。
应用程序完成时,或者至少通讯端口 1 已完全描述时,使用 “ 点对点连接 ” 传送应
用程序。
Twido 控制器现在已准备就绪,可以通过调制解调器连接到执行 TwidoSuite 的
PC。
注意:
对于调制解调器 SR2 MOD03,请按照下列步骤配置 DTE RS 232 端口:
z 数据速率 19200 波特
z 数据大小 8 位
z 校验位 : 无校验
z 停止位:1 个停止位
z 流控制 : 硬件流控制停用

35013230 06/2011 81
通讯

连接序列
TwidoSuite 和 Twido 控制器准备就绪后,将按以下顺序建立连接:

步骤 操作
1 为 Twido 控制器和调制解调器加电。
2 启动计算机并运行 TwidoSuite。
3
选择 首选项,并从 “ 连接管理 ” 表选择一个调制解调器连接 (例如, “ 我的
调制解调器 ” 或您为调制解调器连接命名的名称 – 请参见 “ 创建连接 ”)。
4 连接 TwidoSuite

注意: 如果要始终使用您的调制解调器连接,请单击 “ 文件 ”、 “ 首选项 ”,然后选


择 “ 我的调制解调器 ” (或您给出的调制解调器连接的名称)。 TwidoSuite 现在将
记忆此首选项。

操作模式
Twido 控制器将初始化字符串发送到已连接并加电的调制解调器。如果调制解调器
已在 Twido 应用程序中配置,控制器首先发送 “AT&F” 命令以确定调制解调器是否
已连接。如果控制器收到回答,初始化字符串将被发送到调制解调器。

内部电话、外部电话和国际电话
如果要与公司内部的 Twido 控制器进行通讯,您可以只使用需要拨打的内线分机号
码,例如: 8445

82 35013230 06/2011
通讯

如果使用内部接线总机拨打公司外的电话号码,您必须先按 “0” 或 “9”,再按号码,


使用以下语法:0,xxxxxxxxxx 或 9,xxxxxxxxxx

对于国际电话,语法为:例如, +1xxxxxxxxxx。如果使用接线总机,语法为:0,+
1xxxxxxxxxx

常见问题解答
通讯建立几分钟后,可能会遇到某些通讯中断情况。在这种情况下,您必须调整通
讯参数。
TwidoSuite 使用 modbus 驱动程序通过串行口或内部调制解调器来进行通讯。通讯
开始时, modbus 驱动程序在工具栏中可见。双击 modbus 驱动程序图标以打开窗
口。现在您可以访问 modbus 驱动程序参数,并且 “ 运行时 ” 选项卡给出了与远程
控制器交换的帧的有关信息。
如果 “ 超时数 ” 增加或不等于 0,可以使用 “ 连接管理 ” 表更改该值,也可以使用

TwidoSuite 通过单击 首选项访问。单击“超时”字段,然后单击“修改”按钮并输入


一个新的且更大的值。缺省值为 “5000” (以毫秒计)。

35013230 06/2011 83
通讯

使用新连接重试。调整该值直到连接稳定。

84 35013230 06/2011
通讯

示例
z 示例 1:连接到 TWD LMDA 20DRT 的 TwidoSuite (Windows 98 SE)
z PC:运行 Windows 98 的 Toshiba Portege 3490CT
z 调制解调器 (PC 内部):Toshiba 内部 V.90 调制解调器
z Twido 控制器:TWD LMDA 20DRT 2.0 版
z 调制解调器 (已连接到 Twido):Schneider 参考号 SR2 MOD01,可以从新
Twido 目录获得。有关更详细信息,请参阅 Appendix 2 ( 参见第 87 页 )。
( 欧洲波段:900/1800 MHz 与美国波段:850/1900MHz)
z 电缆:TSX PCX1031,已连接到 Twido 通讯端口 1 和适配器:9 针凸型 /9 针
凸型,其作用是在调制解调器和 Twido 控制器的连接期间交叉 Rx 和 Tx。有
关更详细信息,请参阅 Appendix 1 ( 参见第 86 页 )。您也可以使用 TSX
PCX1130 电缆 (RS485/232 转换和 Rx/Tx 交叉)。

首次测试包括使用 2 条公司内部的模拟电话线,但不使用完整的号码 – 仅使用内线


号码 (因此,内部 Toshiba V.90 调制解调器号码仅为 4 位数)。
对于此测试,已使用缺省值 (5000 次超时和 20 次断开超时)建立连接参数
(TwidoSuite“ 首选项 ” 和 “ 连接管理 ”)。
z 示例 2:连接到 TWD LMDA 20DRT 的 TwidoSuite (Windows XP Pro)
z PC:Compaq Pentium 4, 2.4GHz
z 调制解调器 :Lucent Win 调制解调器, PCI 总线
z Twido 控制器:TWD LMDA 20DRT 2.0 版
z 调制解调器 (已连接到 Twido):Schneider 参考号 SR2 MOD01,可以从新
Twido 目录获得。有关更详细信息,请参阅 Appendix 2 ( 参见第 87 页 )。
( 欧洲波段:900/1800 MHz 与美国波段:850/1900MHz)

35013230 06/2011 85
通讯

z 电缆:TSX PCX1031,已连接到 Twido 通讯端口 1 和适配器:9 针凸型 /9 针


凸型,其作用是在调制解调器和 Twido 控制器的连接期间交叉 Rx 和 Tx。有
关更详细信息,请参阅 Appendix 1 ( 参见第 86 页 )。您也可以使用 TSX
PCX1130 电缆 (RS485/232 转换和 Rx/Tx 交叉)。

首次测试包括使用两条公司内部的模拟电话线,但不使用完整的号码 – 仅使用内线
号码 (因此,内部 Toshiba V.90 调制解调器号码仅为 4 位数)。
对于此测试,已使用缺省值 (5000 次超时和 20 次断开超时)建立连接参数
(TwidoSuite“ 首选项 ” 和 “ 连接管理 ”)。

附录 1
适用于电缆 TSX PCX1031 和 SR2 MOD0X 调制解调器的交叉适配器:

86 35013230 06/2011
通讯

附录 2
Schneider 参考号 SR2 MOD0X(1) ( 欧洲波段:900/1800 MHz 与美国波段:
850/1900MHz)

注意:
1. 某些产品可能不是在所有地区都兼容和 / 或可用。请与本地 Schneider 代表联系
以了解产品可用性。

附录 3
本文档中使用的产品的参考号:
z Twido 产品:TWD LMDA 20DRT
z TwidoSuite 软件:TWD SPU 1002 V10M
z TSX PCX1031 电缆,
z TSX PCX1130 电缆,
z RTU 调制解调器:SR2 MOD01(1),
z GSM 调制解调器:SR2 MOD03(1),
注意:
1. 某些产品可能不是在所有地区都兼容和 / 或可用。请与本地 Schneider 代表联系
以了解产品可用性。

35013230 06/2011 87
通讯

远程连接通讯

简介
远程连接是一种高速主站 / 从站总线,用于在主控制器和最多七个远程 (从站)控
制器之间进行小数据量通讯。根据远程控制器的配置,可以传输应用程序或 I/O 数
据。不同类型的远程控制器可以混合使用,其中一些可以是远程 I/O 控制器,而另
一些可以是对等控制器。
注意:TWDLEDCK1 Twido Extreme 控制器不支持远程连接通讯。
注意: 主控制器包含关于远程 I/O 地址的信息。它不知道具体是哪个控制器位于该
地址。因此,主控制器无法确认用户应用程序中使用的所有远程输入和输出是否确
实存在。请注意这些远程输入或输出是否确实存在。
注意: 使用的远程 I/O 总线和协议是专用的,网络上不允许存在第三方设备。

警告
意外的设备操作
z 确保远程连接上只有一台主控制器。
z 请确保所有的从站控制器具有唯一的地址。任何两个从站控制器均不应具有相
同的地址。
如果不遵守这些说明,将会导致死亡、严重伤害或设备损坏。

注意: 远程连接需要 EIA RS485 连接并且每次只能在一个通讯端口上运行。

硬件配置
远程连接必须使用最少 3 线的 EIA RS485 端口。可以将其配置为使用第一个端口或
可选的第二个端口 (如果存在)。
注意: 每次只能将一个通讯端口配置为远程连接。
下表列出了可以使用的设备:

远程 端口 规格
TWDLC•A10/16/24DRF, 1 配有 3 线 EIA RS485 端口 (使用 miniDIN 连接器)的基板
TWDLC••40DRF, 控制器。
TWDLMDA20/40DUK,
TWDLMDA20/40DTK,
TWDLMDA20DRT
TWDNOZ485D 2 配有 3 线 EIA RS485 端口 (使用 miniDIN 连接器)的通讯
模块。
注:此模块仅可用于模块型控制器。模块已连接时,控制
器不能具有操作显示扩展模块。

88 35013230 06/2011
通讯

远程 端口 规格
TWDNOZ485T 2 配有 3 线 EIA RS485 端口 (使用端子)的通讯模块。
注:此模块仅可用于模块型控制器。模块已连接时,控制
器不能具有操作显示扩展模块。
TWDNAC485D 2 配有 3 线 EIA RS485 端口 (使用 miniDIN 连接器)的通讯
适配器。
注:此适配器仅可用于一体型 16、 24 和 40 I/O 控制器和
操作显示扩展模块。
TWDNAC485T 2 配有 3 线 EIA RS485 端口 (使用端子)的通讯适配器。
注:此适配器仅可用于一体型 16、 24 和 40 I/O 控制器和
操作显示扩展模块。
TWDXCPODM 2 配有 3 线 EIA RS485 端口(使用 miniDIN 连接器)或 3 线
EIA RS485 端口 (使用端子)的操作显示扩展模块。
注:此模块仅可用于模块型控制器。模块已连接时,控制
器不能具有通讯扩展模块。

注意:您只能在加电或复位时通过固件执行程序检查端口 2 的存在和配置 (RS232


或 RS485)。

到每台设备的电缆连接
注意:引脚 5 上的 DPT 信号必须连接到引脚 7 上的 0V,以表示使用远程连接通讯。
如果此信号没有接地,无论主站或从站 Twido 控制器都将缺省为一种模式,在该模
式下,控制器将尝试与 TwidoSuite 建立通讯。
注意:仅当连接到端口 1 上基板控制器时,才需要 DPT 到 0V 的连接。
到每个远程设备的电缆连接如下所示。

35013230 06/2011 89
通讯

软件配置
远程连接上必须且只能定义一个主控制器。另外,每个远程控制器都必须具有唯一
的从站地址。如果多个主站或从站使用相同的地址,可能会破坏传输或导致不确定
结果。

小心
意外的设备操作
请确保在远程连接上仅有一个主控制器并且每个从站控制器都有唯一地址。
如果不遵守这些说明,将会导致受伤或设备损坏。

主控制器配置
使用 TwidoSuite 配置主控制器,以管理最多包含七个远程控制器的远程连接网络。
这七个远程控制器可以配置为远程 I/O 或对等控制器。使用 TwidoSuite 配置的主控
制器的地址为 0。
要将控制器配置为主控制器,请使用 TwidoSuite 将端口 1 或端口 2 配置为远程连接
并选择地址 0 (主控制器)。
然后,从 “ 添加远程控制器 ” 窗口中,可以将从站控制器指定为远程 I/O 或对等控制
器并指定它们的地址。

远程控制器配置
要配置远程控制器,可以使用 TwidoSuite 将端口 1 或端口 2 设置为远程连接,或为
端口分配从 1 到 7 的地址。
下表概述了这些远程控制器配置类型的差异和局限:

类型 应用程序 数据访问
远程 I/O 否 %I 和 %Q

即使简单的 “END” 语句也不 仅可访问控制器的本地 I/O (并非其 I/O 扩


能传输 展)。
运行模式与主控制器的模式紧
密相关。
对等控制器 是 %INW 和 %QNW

运行模式独立于主控制器。 最多 4 个输入字和 4 个输出字可以传输到


和传输出每个对等控制器。

90 35013230 06/2011
通讯

远程控制器同步扫描
远程连接的更新周期与主控制器的扫描周期不同步。与远程控制器的通讯是由中断
驱动的,并作为与主控制器的扫描并行运行的后台任务进行。扫描周期结束时,大
多数最新值被读入应用程序数据,以用于下一个程序的执行。对于远程 I/O 和对等
控制器,此处理相同。
任何控制器都可以使用系统位 %S111 检查常规连接活动。但要达到同步,主控制
器或对等控制器都必须使用系统位 %S110。当已经过一个完整的更新周期时,该位
将设置为 1。应用程序负责将该位复位为 0。
主控制器可以使用系统位 %S112 启用或禁用远程连接。控制器可以使用 %S113 检
查配置是否正确并更正远程连接的操作。在 %S100 上感测并报告端口 1 上的 DPT
信号 (用于确定 TwidoSuite 是否已连接)。
下表概述了所有这些内容:

系统位 状态 指示
%S100 0 主站 / 从站:DPT 未处于活动状态 (TwidoSuite 电缆未连接)
1 主站 / 从站:DPT 处于活动状态 (TwidoSuite 电缆已连接)
%S110 0 主站 / 从站:由应用程序设置为 0
1 主站:已完成所有远程连接交换 (仅远程 I/O)
从站:已完成与主站的交换
%S111 0 主站:已完成单个远程连接交换
从站:检测到单个远程连接交换
1 主站:正在进行单个远程连接交换
从站:检测到单个远程连接交换
%S112 0 主站:已启用远程连接通讯
1 主站:已禁用远程连接通讯
%S113 0 主站 / 从站:远程连接配置 / 操作正确
1 主站:远程连接配置 / 操作错误
从站:远程连接操作错误

主控制器重启
如果主控制器重启,将发生以下事件之一:
z 冷启动 (%S0 = 1) 将强制通讯重新初始化
z 热启动 (%S1 = 1) 将强制通讯重新初始化
z 在停止模式中,主站将继续与从站通讯

35013230 06/2011 91
通讯

从站控制器重启
如果从站控制器重启,将发生以下事件之一:
z 冷启动 (%S0 = 1) 将强制通讯重新初始化
z 热启动 (%S1 = 1) 将强制通讯重新初始化
z 在停止模式中,从站将继续与主站通讯如果主站指示 “ 停止 ” 状态:
z 远程 I/O 将应用 “ 停止 ” 状态
z 对等控制器将继续其当前状态

主控制器停止
当主控制器进入停止模式时,所有从站设备将继续与主控制器通讯。主控制器指示
“ 停止 ” 为请求的状态时,远程 I/O 控制器将停止,但是对等控制器将继续当前的 “ 运
行 ” 或 “ 停止 ” 状态。

远程 I/O 数据访问
配置为远程 I/O 的远程控制器不具有或不执行其本身的应用程序。远程控制器的基
板离散量输入和输出是主控制器的简单扩展。应用程序只能使用提供的全部三位寻
址机制。
注意: 对于远程 I/O,模块编号始终为零。
示意图

要与远程 I/O 通讯,主控制器要使用标准的输入和输出表示法 (%I 和 %Q)。要访


问在地址 2 配置的远程 I/O 的第三个输出位,应使用指令 %Q2.0.2。同样,要读取
在位置 7 配置的远程 I/O 的第五个输入位,应使用指令 %I7.0.4。
注意: 主控制器被限制为只能访问离散量 I/O (远程本地 I/O 的一部分)。除非使用
对等通讯,否则无法传输模拟量或扩展 I/O。

92 35013230 06/2011
通讯

示意图

35013230 06/2011 93
通讯

对等控制器数据访问
要与对等控制器通讯,主控制器要使用网络字 %INW 和 %QNW 来交换数据。对于
网络上的每个对等控制器,将通过其远程地址 “j” 使用字 %INWj.k 和 %QNWj.k 对其
进行访问。网络上的每个对等控制器都使用 %INW0.0 到 %INW0.3 以及 %QNW0.0
到 %QNW0.3 访问主控制器上的数据。控制器处于 “ 运行 ” 或 “ 停止 ” 模式时,网络
字将自动更新。
下面的示例显示了主控制器和两个已配置的对等控制器之间的数据交换。

远程连接内没有对等消息发送。主控制器应用程序可以用于管理网络字,要在远程
控制器之间传输信息,应使用主控制器作为桥梁。

94 35013230 06/2011
通讯

状态信息
除之前已解释的系统位外,主控制器还保持远程控制器的存在和配置状态。此操作
使用系统字 %SW111 和 %SW113 执行。无论是远程控制器还是主控制器,均可获
取上次检测出的错误 (出现在使用系统字 %SW112 在远程连接上通讯时)的值。

系统字 使用
%SW111 远程连接状态:每个远程控制器两位 (仅主控制器)
x0-6 0- 远程控制器 1-7 不存在
1- 远程控制器 1-7 存在
x8-14 0- 已在远程控制器 1-7 处检测到远程 I/O
1- 已在远程控制器 1-7 处检测到对等控制器
%SW112 远程连接配置 / 操作错误代码
00: 操作成功
01 - 已检测到超时 (从站)
02 - 已检测到校验和错误 (从站)
03 - 配置不匹配 (从站)
04 - (仅对于端口 1)端口不可用, punit 已连接或 punit 模式
%SW113 远程连接配置:每个远程控制器两位 (仅主控制器)
x0-6 0- 远程控制器 1-7 未配置
1- 远程控制器 1-7 已配置
x8-14 0- 远程 I/O 已配置为远程控制器 1-7
1- 对等控制器已配置为远程控制器 1-7

远程连接示例
要配置远程连接,您必须执行以下操作:
1. 配置硬件。
2. 为控制器接线。
3. 在 PC 到控制器之间连接通讯电缆。
4. 配置软件。
5. 写入应用程序。
下图说明了远程 I/O 和对等控制器的远程连接的使用。

35013230 06/2011 95
通讯

步骤 1:配置硬件:

硬件配置是任何类型的三个基板控制器。端口 1 用于两种通讯模式。一种模式为使
用 TwidoSuite 配置和传送应用程序。第二种模式用于远程连接网络。如果可用,可
以使用任何控制器上的可选端口 2,但是控制器仅支持单个远程连接。
注意: 在此示例中,远程 I/O 上前两个输入硬接线到前两个输出。
步骤 2:为控制器接线

将 A(+) 和 B(-) 信号线连接在一起。并且每个控制器的 DPT 信号接地。虽然在端口


2 上使用远程连接 (可选的存储卡或通讯模块)并不要求信号接地,但这是个良好
的习惯。

96 35013230 06/2011
通讯

步骤 3:在 PC 和控制器之间连接通讯电缆:

TSX PCX1031 或 TSX CUSB485 和 TSX CRJMD25 多功能编程电缆用于与三个基


板控制器中的每一个进行通讯。确保电缆处于开关位置 2。要通过编程设计每个控
制器,将需要建立与每个控制器的点对点通讯。要建立此通讯,请执行以下操作:
连接到第一个控制器的端口 1,传送配置和应用程序数据,然后将控制器设置为运
行状态。为每个控制器重复此步骤。
注意:传送每个控制器配置和应用程序后,需要移除电缆。
步骤 4:配置软件:
三个控制器都使用 TwidoSuite 创建配置,如果合适,也可以创建应用程序。
对于主控制器,编辑控制器通讯设置,以将协议设置为 “ 远程连接 ” 并且将地址设置
为 “0” (主控制器)。

35013230 06/2011 97
通讯

通过在地址 “1” 上添加 “ 远程 I/O” 以及在地址 “2” 上添加 “ 对等 PLC” 来配置主控制


器上的远程控制器。

对于配置为远程 I/O 的控制器,请确认控制器通讯设置设为 “ 远程连接 ” 并且地址设


置为 “0”。

对于配置为对等控制器的控制器,请确认控制器通讯设置设为 “ 远程连接 ” 并且地


址设置为 “2”。

步骤 5:写入应用程序:
对于主控制器,请写入下面的应用程序:

对于配置为远程 I/O 的控制器,请勿写入任何应用程序。

98 35013230 06/2011
通讯

对于配置为对等的控制器,请写入下面的应用程序:

在此示例中,主应用程序增加了内部存储器字,并使用单个网络字使其与对等控制
器通讯。对等控制器使用从主控制器接收的字并向主控制器发出回应。在主控制器
中,不同的存储器字接收并存储该传输。
对于与远程 I/O 控制器的通讯,主控制器将本地输入发送到远程 I/O 输出。使用远程
I/O 的外部 I/O 硬接线,主控制器返回并检索信号。

35013230 06/2011 99
通讯

ASCII 通讯

简介
ASCII 协议为 Twido 控制器提供了一种简单的半双工字符模式协议,可以使用简单
的设备传输和 / 或接收数据。此协议使用 EXCHx 指令进行支持并使用 %MSGx 功
能块进行控制。
使用 ASCII 协议将有三种可能的通讯类型:
z 仅传输
z 传输 / 接收
z 仅接收
使用 EXCHx 指令传输和 / 或接收帧的最大大小为 256 字节。

硬件配置
ASCII 连接(请参见系统位 %S103 和 %S104 ( 参见第 668 页 ))可以在 EIA RS232
或 EIA RS485 端口上建立,并且每次均可以在两个通讯端口上运行。
下表列出了可以使用的设备:

设备 端口 规格
TWDLC•A10/16/24DRF、 1 配有 3 线 EIA RS485 端口 (使用 miniDIN 连接器)的基
TWDLC••40DRF、 板控制器。
TWDLMDA20/40DTK 和
TWDLMDA20DRT
TWDLEDCK1 1 配有非隔离 EIA RS485 型的基板控制器,最大长度限制
为 200 米。
注:以下配置选项不可行
z 7 位,无校验位, 1 个停止位
z 8 位,偶校验, 2 个停止位
z 8 位,奇校验, 2 个停止位

TWDNOZ232D 2 配有 3 线 EIA RS232 端口 (使用 miniDIN 连接器)的通


讯模块。
注:此模块仅可用于模块型控制器。模块已连接时,控制
器不能具有操作显示扩展模块。
TWDNOZ485D 2 配有 3 线 EIA RS485 端口 (使用 miniDIN 连接器)的通
讯模块。
注:此模块仅可用于模块型控制器。模块已连接时,控制
器不能具有操作显示扩展模块。
TWDNOZ485T 2 配有 3 线 EIA RS485 端口 (使用端子)的通讯模块。
注:此模块仅可用于模块型控制器。模块已连接时,控制
器不能具有操作显示扩展模块。

100 35013230 06/2011


通讯

设备 端口 规格
TWDNAC232D 2 配有 3 线 EIA RS232 端口 (使用 miniDIN 连接器)的通
讯适配器。
注:此适配器仅可用于一体型 16、 24 和 40 I/O 控制器和
操作显示扩展模块。
TWDNAC485D 2 配有 3 线 EIA RS485 端口 (使用 miniDIN 连接器)的通
讯适配器。
注:此适配器仅可用于一体型 16、 24 和 40 I/O 控制器和
操作显示扩展模块。
TWDNAC485T 2 配有 3 线 EIA RS485 端口 (使用端子)的通讯适配器。
注:此适配器仅可用于一体型 16、 24 和 40 I/O 控制器和
操作显示扩展模块。
TWDXCPODM 2 配有 3 线 EIA RS232 端口(使用 miniDIN 连接器)、3 线
EIA RS485 端口 (使用 miniDIN 连接器)和 3 线 EIA
RS485 端口 (使用端子)的操作显示扩展模块。
注:此模块仅可用于模块型控制器。模块已连接时,控制
器不能具有通讯扩展模块。

注意:您只能在加电或复位时通过固件执行程序检查端口 2 的存在和配置 (RS232


或 RS485)。(Twido Extreme TWDLEDCK1 控制器只有一个串行口。)

标称电缆连接
EIA RS232 和 EIA RS485 类型的标称电缆连接如下图所示。
注意:如果端口 1 在 Twido 控制器上使用,引脚 5 上的 DPT 信号必须连接到引脚 7
上的 0 V。这指示 Twido 控制器通过端口 1 进行的通讯为 ASCII 通讯,而不是用于
与 TwidoSuite 软件通讯的协议。
注意:对于 TWDLEDCK1 Twido Extreme 控制器,如果使用 ASCII,则必须将 0V
应用于通讯电缆束触点 (引脚 22)以启用通讯。这向 Twido 控制器表明:通过端
口 1 进行的通讯不是用于与 TwidoSuite 软件通讯的协议。

35013230 06/2011 101


通讯

到每台设备的电缆连接如下图所示。

软件配置
要将控制器配置为使用 ASCII 协议通过串行连接发送和接收字符,您必须执行以下
操作:

步骤 描述
1 使用 TwidoSuite 配置 ASCII 的串行口 1.
2 在应用程序中创建传输 / 接收表 (将由 EXCHx 指令使用)。
1
对于 Twido Extreme TWDLEDCK1 PLC,以下配置选项不可行:
z 7 位,无校验位, 1 个停止位
z 8 位,偶校验, 2 个停止位
z 8 位,奇校验, 2 个停止位

102 35013230 06/2011


通讯

配置端口
Twido 控制器可以使用主端口 1 或可选的已配置端口 2 来使用 ASCII 协议。
(Twido Extreme TWDLEDCK1 PLC 只有一个串行口。)要配置 ASCII 串行口,请
执行以下操作:

步骤 操作
1 定义任何已配置为基板的其他通讯适配器或模块。
2 在 TwidoSuite 的 " 描述 " 步骤中声明 ASCII 网络 (请参阅适用于 ASCII 的
和)。
3 选择端口 1 (或端口 2,如果已安装)在 " 描述 " 窗口中进行配置 (请参阅)。
4 要配置 ASCII 元素,请使用以下两种方法之一:
z 单击工具栏中的 " 配置 " 图标,然后选择描述图形中的 ASCII 元素。
z 双击描述图形中的 ASCII 元素。

5 要显示与 ASCII 连接硬件参数关联的 " 功能 " 对话框,请使用以下两种方法之


一:
z 单击工具栏中的 " 配置 " 图标,然后选择描述图形中的 ASCII 连接。
z 双击描述图形中的 ASCII 连接。

6 配置显示的 " 功能 " 对话框,如后续步骤中所述:

7 设置通讯参数。
对于 Twido Extreme TWDLEDCK1 PLC,以下配置选项不可行:
z 7 位,无校验位, 1 个停止位
z 8 位,偶校验, 2 个停止位
z 8 位,奇校验, 2 个停止位

8 单击高级按钮以设置高级参数。

35013230 06/2011 103


通讯

配置 ASCII 模式的传输 / 接收表


传输和 / 或接收帧的最大大小为 256 字节。与 EXCHx 指令关联的字表由传输和接
收控制表组成。

最高有效字节 最低有效字节
控制表 命令 长度 (传输 / 接收)
保留 (0) 保留 (0)
传输表 传输的字节 1 传输的字节 2
...
...
传输的字节 n
传输的字节 n+1
接收表 接收的字节 1 接收的字节 2
...
...
接收的字节 p
接收的字节 p+1

控制表
长度字节包含以字节表示的传输表长度 (最大 250 字节),如果需要接收,则其将
在接收结束时被收到的字符数覆盖。
命令字节必须包含以下内容之一:
z 0: 仅传输
z 1: 发送 / 接收
z 2: 仅接收

传输 / 接收表
在仅传输模式下,将在执行 EXCHx 指令之前填充控制和传输表,并且可以为 %KW
或 %MW 类型。在仅传输模式下,字符的接收无需空格。传输所有字节后,
%MSGx.D 设置为 1,并且可以执行新的 EXCHx 指令。
在传输 / 接收模式下,将在执行 EXCHx 指令之前填充控制和传输表,并且必须为
%MW 类型。在传输表的结束处需要最多 256 个接收字节的空格。传输所有字节
后, Twido 控制器将切换到接收模式并等待接收所有字节。
在仅接收模式下,将在执行 EXCHx 指令之前填充控制表,并且必须为 %MW 类型。
在控制表的结束处需要最多 256 个接收字节的空格。 Twido 控制器立即进入接收模
式并等待接收所有字节。

104 35013230 06/2011


通讯

在已收到使用的帧字节结尾或接收表已满时,接收结束。在这种情况下,字
%SW63 和 %SW64 将出现错误代码 (接收表溢出)。如果已配置非零超时,则当
超时完成时接收结束。如果已选择零超时值,将不存在接收超时。因此要停止接
收,必须激活 %MSGx.R 输入。

消息交换
该语言提供了两种通讯服务:
z EXCHx 指令:传输 / 接收消息
z %MSGx 功能块:控制消息交换。
处理 EXCHx 指令时, Twido 控制器使用为该端口配置的协议。
注意:可以将每个通讯端口配置为使用不同的或相同的协议。每个通讯端口的
EXCHx 指令或 %MSGx 功能块可以通过添加端口号 (1 或 2)访问。

EXCHx 指令
EXCHx 指令使 Twido 控制器可以将信息发送到 ASCII 设备,也可以接收来自 ASCII
设备的信息。用户定义包含要发送和 / 或接收 (最多传输和 / 或接收 256 个字节)
的控制信息和数据的字 (%MWi:L 或 %KWi:L)表。之前已描述了字表的格式。
使用 EXCHx 指令执行消息交换:

Twido 控制器必须完成来自第一个 EXCHx 指令的交换,才能启动第二个指令。发


送多条消息时,必须使用 %MSGx 功能块。
若在中断控制 (数据接收也在中断控制下)下启动任何传输,将立即处理 EXCHx
列表指令,这称为后台处理。

%MSGx 功能块
%MSGx 功能块的使用是可选的;该功能块可用于管理数据交换。 %MSGx 功能块
有三种用途:
z 通讯错误检查
错误检查验证使用 EXCHx 指令编程的参数 L (字表的长度)足够大,可以包含
要发送的消息长度。该长度与在字表第一个字的最低有效字节中编程的长度相比
较。
z 多消息协调
为确保发送多个消息时协调一致, %MSGx 功能块提供了确定上一个消息完成传
输的时间所需的信息。

35013230 06/2011 105


通讯

z 优先消息的传输
%MSGx 功能块允许停止当前消息传输以便立即发送紧急消息。
一个输入和两个输出与 %MSGx 功能块关联:

输入 / 输出 定义 描述
R 复位输入 设置为 1:重新初始化通讯或复位块
(%MSGx.E = 0 和 %MSGx.D = 1)
%MSGx.D 通讯完成 0: 正在执行请求。
1: 如果传输结束、接收到结束字符、出现错
误或复位块,则通讯完成。
%MSGx.E 错误 0: 消息长度正确并且连接正确。
1: 命令错误、表错误配置、接收到错误字符
(速度和校验等)或接收数据表已满。

限制
注意以下限制非常重要:
z 仅在加电或复位时检查端口 2 的可用性和类型 (请参见 %SW7)
z 连接 TwidoSuite 时,端口 1 上的任何消息处理都将中止
z 不能在配置为远程连接的端口上处理 EXCHx 或 %MSG
z EXCHx 将中止活动的 Modbus 从站处理
z 出现错误时, EXCHx 指令的处理将不会重试
z 复位输入 (R) 可用于中止 EXCHx 指令接收处理
z 可以使用超时将 EXCHx 指令配置为中止接收
z 通过 %MSGx.D 可控制多个消息

106 35013230 06/2011


通讯

错误和操作模式条件
如果使用 EXCHx 指令时发生错误,位 %MSGx.D 和 %MSGx.E 将设置为 1 并且系
统字 %SW63 将包含端口 1 的错误代码, %SW64 将包含端口 2 的错误代码。

系统字 使用
%SW63 EXCH1 错误代码:
0 - 操作已成功
1 - 要传输的字节数太多 (> 250)
2 - 传输表太小
3 - 字表太小
4 - 接收表溢出
5 - 超时已过
6 - 传输错误
7 - 表中存在错误命令
8 - 所选端口未配置 / 不可用
9 - 接收错误
10 - 接收时不能使用 %KW
11 - 传输偏移大于传输表
12 - 接收偏移大于接收表
13 - 控制器停止了 EXCH 处理
%SW64 EXCH2 错误代码:请参见 %SW63。

通讯中控制器重启的结果
如果控制器重启,将发生以下事件之一:
z 冷启动 (%S0 = 1) 将强制通讯重新初始化
z 热启动 (%S1 = 1) 将强制通讯重新初始化
z 在停止模式中,控制器将停止所有 ASCII 通讯

远程连接示例
要配置 ASCII 连接,您必须执行以下操作:
1. 配置硬件。
2. 连接 ASCII 通讯电缆。
3. 配置端口。
4. 写入应用程序。
5. 初始化动态数据表编辑器。
下图显示了 PC 上终端仿真器的 ASCII 通讯的使用。

35013230 06/2011 107


通讯

步骤 1:配置硬件:

硬件配置是使用可选的 EIA RS232 端口 2 从 PC 到 Twido 控制器的两个串行连接。


在模块型控制器上,可选的端口 2 为 TWDXCPODM 中的 TWDNOZ232D 或
TWDNAC232D。在一体型控制器上,可选的端口 2 为 TWDNAC232D。
Twido Extreme TWDLEDCK1 控制器只有一个串行口,并不存在端口 2。
要配置控制器,请将 TSX PCX1031 电缆 (未显示)连接到 Twido 控制器的端口
1。接下来,将电缆连接到 PC 的 COM 1 端口。确保开关处于位置 2。最后,将 PC
的 COM 2 端口连接到 Twido 控制器上可选的 EIA RS232 端口 2。下一个步骤提供
了接线示意图。

步骤 2:ASCII 通讯电缆 (EIA RS232) 接线示意图:

ASCII 通讯电缆中使用线的最小数量为 3。交叉传输和接收信号。


注意: 在电缆的 PC 侧,可能需要其他连接 (例如,数据终端就绪和数据集就绪)
以满足信号交换。 Twido 控制器无需任何其他连接。

108 35013230 06/2011


通讯

步骤 3:端口配置:

使用 PC 上的简单终端仿真器应用程序来配置 COM2 端口并确保没有流控制。


使用 TwidoSuite 来配置控制器端口。首先,配置硬件选件。在此示例中,将
TWDNOZ232D 添加到模块型基板控制器。
其次,使用与 PC 上的终端仿真器相同的所有参数设置来初始化控制器通讯设置。
在此示例中,选择大写字母 "A" 表示 " 首个结束字符 ",以终止字符接收。为 " 响应
超时 " 参数选择 10 秒超时。仅调用这两个参数中首先发生的参数。

步骤 4:写入应用程序:

35013230 06/2011 109


通讯

使用 TwidoSuite 创建具有三个主要部分的应用程序。首先,初始化控制和传输表以
用于 EXCH 指令。在此示例中,设置了发送和接收数据的命令。将要发送数据的数
量设置为 4 个字节 (在应用程序中定义),其后为使用的帧字符结束符 (在本示例
中,为首个结束字符 "A")。动态数据表中不显示开始和结束字符,而仅显示数据字
符。总之,在使用时,这些字符将在 (通过 %SW63 和 %SW64)接收时自动传输
或检查。
接下来,检查与 %MSG2 关联的状态位并仅在端口就绪时,发出 EXCH2 指令。对
于 EXCH2 指令,指定了一个 8 个字的值。有 2 个控制字(%MW10 和 %MW11)、
2 个用于传输信息的字 (%MW12 和 %MW13)和 4 个用于接收数据的字
(%MW14 到 %MW16)。
最后,将在本地基板控制器 I/O 的第一个输出位上感测和存储 %MSG2 的错误状
态。也可以添加使用 %SW64 进行的其他错误检查过程,以使其更精确。

步骤 5:初始化动态数据表编辑器:

最后的步骤是下载此应用程序控制器并运行它。初始化动态数据表编辑器可以激活
并显示从 %MW10 到 %MW16 的字。在终端仿真器上,可以在 EXCH 功能块响应
时间已过时始终显示 "O- K - CR - LF - A" 字符。在终端仿真器上,键入 "T - W - I - D
- O - A"。此信息可以与 Twido 控制器交换并在动态数据表编辑器中显示。

110 35013230 06/2011


通讯

Modbus 通讯

简介
Modbus 协议是一种主站 - 从站协议,它使一个且仅使一个主站可以请求来自从站的
响应,或根据请求执行操作。每个从站必须具有唯一的地址。主站可以向单个从站
发送消息,或向所有从站发送广播消息。从站将向单独发送给它们的查询返回消息
(响应)。不向来自主站的广播查询返回响应。

小心
意外的设备操作
z 请确保在总线上仅有一个 Modbus 主控制器并且每个 Modbus 从站控制器都有
唯一地址。
z 请确保所有的 Modbus 从站控制器具有唯一的地址。
如果不遵守这些说明,将会导致受伤或设备损坏。

硬件配置
Modbus 连接可以在 EIA RS232 或 EIA RS485 端口上建立,并且每次可以在两个通
讯端口上运行。使用系统位 %S101 以及系统字 %SW101 和 %SW102 ( 参见
第 668 页 ),可为所有这些端口分配各自的 Modbus 地址。
下表列出了可以使用的设备:

设备 端口 规格
TWDLC•A10/16/24DRF, 1 支持 3 线 EIA RS485 端口 (使用 miniDIN 连接器)的基
TWDLC••40DRF, 板控制器。
TWDLMDA20/40DTK,
TWDLMDA20DRT
TWDLEDCK1 1 配有非隔离 EIA RS485 型的基板控制器,最大长度限制
为 200 米。
注:以下配置选项不可行
z 7 位,无校验位, 1 个停止位
z 8 位,偶校验, 2 个停止位
z 8 位,奇校验, 2 个停止位

TWDNOZ232D 2 配有 3 线 EIA RS232 端口 (使用 miniDIN 连接器)的通


讯模块。
注:此模块仅可用于模块型控制器。模块已连接时,控
制器不能具有操作显示扩展模块。
TWDNOZ485D 2 配有 3 线 EIA RS485 端口 (使用 miniDIN 连接器)的通
讯模块。
注:此模块仅可用于模块型控制器。模块已连接时,控
制器不能具有操作显示扩展模块。

35013230 06/2011 111


通讯

设备 端口 规格
TWDNOZ485T 2 配有 3 线 EIA RS485 端口 (使用端子)的通讯模块。
注:此模块仅可用于模块型控制器。模块已连接时,控
制器不能具有操作显示扩展模块。
TWDNAC232D 2 配有 3 线 EIA RS232 端口 (使用 miniDIN 连接器)的通
讯适配器。
注:此适配器仅可用于一体型 16、 24 和 40 I/O 控制器
和操作显示扩展模块。
TWDNAC485D 2 配有 3 线 EIA RS485 端口 (使用 miniDIN 连接器)的通
讯适配器。
注:此适配器仅可用于一体型 16、 24 和 40 I/O 控制器
和操作显示扩展模块。
TWDNAC485T 2 配有 3 线 EIA RS485 端口 (使用端子连接器)的通讯适
配器。
注:此适配器仅可用于一体型 16、 24 和 40 I/O 控制器
和操作显示扩展模块。
TWDXCPODM 2 配有 3 线 EIA RS232 端口 (使用 miniDIN 连接器)、 3
线 EIA RS485 端口 (使用 miniDIN 连接器)和 3 线 EIA
RS485 端口 (使用端子)的操作显示扩展模块。
注:此模块仅可用于模块型控制器。模块已连接时,控
制器不能具有通讯扩展模块。

注意:您可以在加电或复位时通过固件执行程序检查端口 2 的存在和配置 (RS232


或 RS485)。

标称电缆连接
EIA RS232 和 EIA RS485 类型的标称电缆连接如下图所示。
注意:如果在 Twido 控制器上使用端口 1,则引脚 5 上的 DPT 信号必须连接到引脚
7 上的电路公共端 (COM)。这向 Twido 控制器指明:通过端口 1 进行的通讯为
Modbus 通讯,而不是用于与 TwidoSuite 软件通讯的协议。
注意: 对于 TWDLEDCK1 Twido Extreme 控制器,如果 Modbus 用于编程,则必须
断开通讯电缆束触点 (引脚 22)的连接。如果此触点 (引脚 22)为 0V,这就向
Twido 控制器表明:通过端口 1 进行的通讯不是用于与 TwidoSuite 软件通讯的协
议。

112 35013230 06/2011


通讯

到每个远程设备的电缆连接如下所示。

软件配置
要将控制器配置为使用 Modbus 协议通过串行连接发送和接收字符,您必须执行以
下操作:

步骤 描述
1 使用 TwidoSuite 配置 Modbus 的串行口。 1
2 在应用程序中创建传输 / 接收表 (将由 EXCHx 指令使用)。
1
对于 Twido Extreme PLC (TWDLEDCK1),以下配置选项不可行:
z 7 位,无校验位, 1 个停止位
z 8 位,偶校验, 2 个停止位
z 8 位,奇校验, 2 个停止位

35013230 06/2011 113


通讯

配置端口
Twido 控制器可以使用主端口 1 或可选配置的端口 2 来使用 Modbus 协议。
(Twido Extreme PLC (TWDLEDCK1) 只有一个串行口。)要配置 Modbus 串行口,
请执行以下操作:

步骤 操作
1 定义任何已配置为基板的其他通讯适配器或模块。
2 在 TwidoSuite 的 “ 描述 ” 步骤中声明 Modbus 网络(请参阅如何创建网络 [ 以
Modbus 为例 ])。
3 在 “ 描述 ” 窗口中选择端口 1 (或端口 2,如果已安装)进行配置 (请参阅配
置对象)。
4 要配置 Modbus 元素,请使用以下两种方法之一:
z 单击工具栏中的 “ 配置 ” 图标,然后选择描述图形中的 Modbus 元素。
z 双击描述图形中的 Modbus 元素。

5 要显示与 Modbus 连接硬件参数关联的 “ 功能 ” 对话框,请使用以下两种方法


之一:
z 单击工具栏中的 “ 配置 ” 图标,然后选择描述图形中的 Modbus 连接。
z 双击描述图形中的 Modbus 连接。

6 配置显示的 “ 功能 ” 对话框,如后续步骤中所述:。

7 在协议:类型框中选择 Modbus。
8 设置关联的通讯参数。
对于 Twido Extreme PLC (TWDLEDCK1),以下配置选项不可行:
z 7 位,无校验位, 1 个停止位
z 8 位,偶校验, 2 个停止位
z 8 位,奇校验, 2 个停止位

114 35013230 06/2011


通讯

Modbus 主站
Modbus 主模式使控制器可以向从站发送 Modbus 查询并等待响应。仅可以通过
EXCHx 指令支持 Modbus 主模式。 Modbus 主模式支持 Modbus ASCII 和 RTU。
传输和 / 或接收帧的最大大小为 250 字节。此外,与 EXCHx 指令关联的字表由控
制表、传输表和接收表组成。

最高有效字节 最低有效字节
控制表 命令 长度 (传输 / 接收)
接收偏移 传输偏移
传输表 传输的字节 1 传输的字节 2
... ...
... 传输的字节 n
传输的字节 n+1
接收表 接收的字节 1 接收的字节 2
... ...
... 接收的字节 p
接收的字节 p+1

注意:除对单个从站进行查询外, Modbus 主控制器还可以向所有从站发送广播查


询。广播查询中的命令字节必须设置为 00,同时从站地址必须设置为 0。

控制表
长度字节包含传输表的长度 (最大 250 字节),如果需要接收,则其将在接收结束
时被收到的字符数覆盖。
该参数为以字节表示的传输表长度。如果 Tx 偏移参数等于 0,此参数将等于传输帧
的长度。如果 Tx 偏移参数不等于 0,传输表中将有一个字节 (由偏移值指定)不
被传输并且此参数等于帧长度加 1。
对于 Modbus RTU 请求 (广播除外),命令字节必须始终等于 1 (Tx 和 Rx)。
Tx 偏移字节包含传输时将忽略的字节在传输表中的序号 (1 表示第一个字节、 2 表
示第二个字节,依次类推)。这用于处理 Modbus 协议中与字节 / 字关联的问题。例
如,如果此字节包含 3,则将忽略第三个字节,而使数据表中的第四个字节成为要
传输的第三个字节。
Rx 偏移字节包含传输数据包时将添加的字节在接收表中的序号 (1 表示第一个字
节、 2 表示第二个字节,依次类推)。这用于处理 Modbus 协议中与字节 / 字关联的
问题。例如,如果此字节包含 3,则表中的第三个字节将填充为零,并且将实际接
收的第三个字节输入到表中的第四个位置。

35013230 06/2011 115


通讯

传输 / 接收表
使用某种模式 (Modbus ASCII 或 Modbus RTU)时,将在执行 EXCHx 指令之前
用请求填充传输表。在执行时,控制器将确定数据链路层,并且执行处理传输和响
应时必需的所有转换。开始字符、结束字符和检查字符不存储在传输表 / 接收表中。
传输所有字节后,控制器将切换到接收模式并等待接收任何字节。
将以如下几种方式之一完成接收:
z 在字符或帧上检测到超时
z 在 ASCII 模式中接收到帧字符结束符
z 接收表已满
传输的字节 X 条目包含要传输的 Modbus 协议 (RTU 编码)数据。如果通讯端口
配置用于 Modbus ASCII,则将校正帧字符附加到传输。第一个字节包含设备地址
(特定地址或广播地址),第二个字节包含功能代码,而其余字节包含与该功能代码
关联的信息。
注意: 这是典型的应用,但是未定义所有的可能性。将不对传输的数据执行任何验
证。
接收的字节 X 包含要接收的 Modbus 协议 (RTU 编码)数据。如果通讯端口配置
用于 Modbus ASCII,则将校正帧字符从响应中删除。第一个字节包含设备地址,
第二个字节包含功能代码 (或响应代码),而其余字节包含与该功能代码关联的信
息。
注意: 这是典型的应用,但是未定义所有的可能性。将不对接收的数据执行任何验
证 (校验和验证除外)。

Modbus 从站
Modbus 从站模式使控制器可以响应来自 Modbus 主控制器的标准 Modbus 查询。
将 TSX PCX1031 电缆连接到控制器时,将在端口上启动 TwidoSuite 通讯(临时禁
用连接电缆之前正在运行的通讯模式)。
Modbus 协议支持以下两种数据链路层格式:ASCII 和 RTU。每种格式都由物理层
实现定义,包括使用 7 个数据位的 ASCII 格式和使用 8 个数据位的 RTU 格式。
使用 Modbus ASCII 模式时,消息中的每个字节都作为两个 ASCII 字符发送。
Modbus ASCII 帧以开始字符 (“:”)开始,并可以以两个结束字符 (CR 和 LF)结
束。帧字符的结束符缺省为 0x0A (换行符),用户可以在配置期间修改此字节的
值。 Modbus ASCII 帧的检查值是帧的简单二进制补码,不包括开始和结束字符。
Modbus RTU 模式不会在传输之前重新设置消息的格式,但是,它将使用指定为
CRC 的不同校验和计算模式。

116 35013230 06/2011


通讯

Modbus 数据链路层具有以下限制:
z 地址 1-247
z 位:请求 128 位
z 字数:请求 125 个 16 位的字

消息交换
语言提供了两种通讯服务:
z EXCHx 指令:传输 / 接收消息
z %MSGx 功能块:控制消息交换
处理 EXCHx 指令时, Twido 控制器使用为该端口配置的协议。
注意:可以将每个通讯端口配置为使用不同的或相同的协议。每个通讯端口的
EXCHx 指令或 %MSGx 功能块可以通过添加端口号 (1 或 2)访问。

EXCHx 指令
EXCHx 指令使 Twido 控制器可以将信息发送到 Modbus 设备,也可以接收来自
Modbus 设备的信息。用户定义字 (%MWi:L) 表,其中包含将发送和 / 或接收的控制
信息和数据 (最多可传输和 / 或接收 250 字节)。之前已介绍了字表的格式。
使用 EXCHx 指令执行消息交换:

Twido 控制器必须完成来自第一个 EXCHx 指令的交换,才能启动第二个指令。发


送多条消息时,必须使用 %MSGx 功能块。
若在中断控制 (数据接收也在中断控制下)下启动任何传输,将立即处理 EXCHx
列表指令,这称为后台处理。

%MSGx 功能块
%MSGx 功能块的使用是可选的;该功能块可用于管理数据交换。 %MSGx 功能块
有三种用途:
z 通讯错误检查
错误检查验证使用 EXCHx 指令编程的参数 L (字表的长度)足够大,可以包含
要发送的消息长度。该长度与在字表第一个字的最低有效字节中编程的长度相比
较。
z 多消息协调
为确保发送多个消息时协调一致, %MSGx 功能块提供了确定上一条消息完成传
输的时间所需的信息。

35013230 06/2011 117


通讯

z 优先消息的传输
%MSGx 功能块允许停止当前消息传输以便立即发送紧急消息。
一个输入和两个输出与 %MSGx 功能块关联:

输入 / 输出 定义 描述
R 复位输入 设置为 1:重新初始化通讯或复位块
(%MSGx.E = 0 和 %MSGx.D = 1)
%MSGx.D 通讯完成 0: 正在执行请求。
1: 如果传输结束、接收到结束字符、出现错
误或复位块,则通讯完成。
%MSGx.E 错误 0: 消息长度正确并且连接正确。
1: 命令错误、表错误配置、接收到错误字符
(速度和校验等)或接收数据表已满。

限制
注意以下限制非常重要:
z 在加电或复位时检查端口 2 的存在和配置 (RS232 或 RS485)
z 连接 TwidoSuite 时,端口 1 上的任何消息处理都将中止
z 不能在配置为远程连接的端口上处理 EXCHx 或 %MSG
z EXCHx 将中止活动的 Modbus 从站处理
z 出现错误时, EXCHx 指令的处理将不会重试
z 复位输入 (R) 可用于中止 EXCHx 指令接收处理
z 可以使用超时将 EXCHx 指令配置为中止接收
z 通过 %MSGx.D 可控制多个消息

118 35013230 06/2011


通讯

错误和操作模式条件
如果使用 EXCHx 指令时发生错误,位 %MSGx.D 和 %MSGx.E 将设置为 1 并且系
统字 %SW63 将包含端口 1 的错误代码, %SW64 将包含端口 2 的错误代码。

系统字 使用
%SW63 EXCH1 错误代码:
0 - 操作已成功
1 – 要传输的字节数太多 (> 250)
2 - 传输表太小
3 - 字表太小
4 - 接收表溢出
5 - 超时已过
6 - 传输
7 - 表中存在错误命令
8 - 所选端口未配置 / 不可用
9 - 接收错误
10 - 如果正在接收则无法使用 %KW
11 - 传输偏移大于传输表
12 - 接收偏移大于接收表
13 - 控制器停止了 EXCH 处理
%SW64 EXCH2 错误代码:请参见 %SW63。

主控制器重启
如果主 / 从站控制器重启,将发生以下事件之一:
z 冷启动 (%S0 = 1) 将强制通讯重新初始化
z 热启动 (%S1 = 1) 将强制通讯重新初始化
z 在停止模式中,控制器将停止所有 Modbus 通讯

Modbus 连接示例 1
要配置 Modbus 连接,您必须执行以下操作:
1. 配置硬件。 1
2. 连接 Modbus 通讯电缆。
3. 配置端口。
4. 写入应用程序。
5. 初始化动态数据表编辑器。
下图说明了如何使用 Modbus 请求代码 3 读取从站的输出字。此示例使用两个
Twido 控制器。

35013230 06/2011 119


通讯

1 对于 Twido Extreme PLC (TWDLEDCK1),以下配置选项不可行:


z 7 位,无校验位, 1 个停止位
z 8 位,偶校验, 2 个停止位
z 8 位,奇校验, 2 个停止位
步骤 1:配置硬件:

硬件配置基于两个 Twido 控制器。一个配置为 Modbus 主站而另一个配置为


Modbus 从站。
注意: 在此示例中,每个控制器配置为在端口 1 上使用 EIA RS485,而在端口 2 上
使用可选的 EIA RS485。在模块型控制器上,可选的端口 2 可以是 TWDNOZ485D
或 TWDNOZ485T,如果您使用 TWDXCPODM,则端口 2 可以是 TWDNAC485D
或 TWDNAC485T。在一体型控制器上,可选的端口 2 可以为 TWDNAC485D 或
TWDNAC485T。 Twido Extreme TWDLEDCK1 控制器只有一个串行口,并不存在
端口 2。
要配置每个控制器,请将 TSX PCX1031 电缆连接到控制器的端口 1。
注意: 一次只能将 TSX PCX1031 连接到一个控制器 (仅限 RS485 EIA 端口 1)。
接下来,将电缆连接到 PC 的 COM 1 端口。请确保电缆处于开关位置 2。下载并监
视应用程序。为第二个控制器重复此步骤。

120 35013230 06/2011


通讯

步骤 2:连接 Modbus 通讯电缆:

此示例中的接线演示了一个简单的点对点连接。根据图对三个信号 D1(A+)、 D0(B-


) 和 COM(0V) 进行接线。
如果使用 Twido 控制器的端口 1, DPT 信号 (引脚 5)必须接到电路公共端 (引
脚 7)。 DPT 的此条件将确定 TwidoSuite 是否已连接。接地时,控制器将使用在应
用程序中设置的端口配置来确定通讯类型。
对于 TWDLEDCK1 Twido Extreme 控制器,如果 Modbus 用于编程,则必须断开通
讯电缆束触点 (引脚 22)的连接。如果此触点 (引脚 22)为 0V,这就向 Twido
控制器表明:通过端口 1 进行的通讯不是用于与 TwidoSuite 软件通讯的协议。
步骤 3:端口配置 1:

1 对于 Twido Extreme PLC (TWDLEDCK1),以下配置选项不可行:


z 7 位,无校验位, 1 个停止位
z 8 位,偶校验, 2 个停止位
z 8 位,奇校验, 2 个停止位

35013230 06/2011 121


通讯

在主应用程序和从站应用程序中,可选的 EIA RS485 端口已配置。请确保控制器的


通讯参数已在 Modbus 协议中修改并位于不同的地址。
在此示例中,将主站设置为地址 1 而从站设置为 2。位数设置为 8,表明将使用
Modbus RTU 模式。如果位数已设置为 7,则将使用 Modbus-ASCII 模式。对其他
缺省设置所做的唯一修改为将响应超时增加到 1 秒。
注意: 由于已经选择了 Modbus RTU 模式,将忽略 “ 帧结束符 ” 参数。
步骤 4:写入应用程序:

使用 TwidoSuite,为主站和从站写入应用程序。对于从站,仅将一些存储器字写入
一组已知值。在主站中,将 EXCHx 指令的字表初始化为从 Modbus 地址 2 处的从
站读取从位置 %MW0 开始的 4 个字。
注意: 请注意 Modbus 主站的 %MW1 中 RX 偏移设置的使用。偏移为 3 将在接收表
中的第 3 个位置添加一个字节 (值 = 0)。这将对齐主站中的字,以使它们处于正确
的字边界。如果没有此偏移,则在交换块中,每个数据字都将在两个字之间拆分。
使用此偏移的目的是使操作更方便。
执行 EXCH2 指令前,应用程序将检查与 %MSG2 关联的通讯位。最后,将在本地
基板控制器 I/O 的第一个输出位上感测和存储 %MSG2 的错误状态。也可以添加使
用 %SW64 进行的其他错误检查过程,以使其更精确。
步骤 5:初始化主站中的动态数据表编辑器:

下载并设置每个控制器使其运行后,打开主控制器上的动态数据表。检查表的响应
部分,以确定响应代码为 3 以及已读取正确的字节数。同样在此示例中,请注意,
从从站读取的字 (开始于 %MW7)应与主站中的字边界正确对齐。

122 35013230 06/2011


通讯

Modbus 连接示例 2
下图显示了如何使用 Modbus 请求 16 将输出字写入从站。此示例使用两个 Twido
控制器。
步骤 1:配置硬件:

硬件配置与上一个示例相同。
步骤 2:连接 Modbus 通讯电缆 (RS485):

Modbus 通讯电缆连接与上一个示例相同。

35013230 06/2011 123


通讯

步骤 3:端口配置:

端口配置与上一个示例中那些配置相同。
步骤 4:写入应用程序:

使用 TwidoSuite 为主站和从站创建应用程序。对于从站,写入单个存储器字
%MW18。这将在从站上为从 %MW0 到 %MW18 的存储器地址分配空间。如果未
分配空间, Modbus 请求将尝试写入从站上不存在的位置。
在主站中,将 EXCH2 指令的字表初始化为向 Modbus 地址 2 处的从站的地址
%MW16 (10 十六进制)读入 4 个字节。
注意: 请注意 Modbus 主站应用程序的 %MW1 中 TX 偏移设置的使用。偏移为 7 将
抑制第 6 个字的高字节 (%MW5 中的十六进制值 00)。此工作将在字表的传输表
中对齐数据值,以使它们处于正确的字边界。
执行 EXCH2 指令前,应用程序将检查与 %MSG2 关联的通讯位。最后,将在本地
基板控制器 I/O 的第一个输出位上感测和存储 %MSG2 的错误状态。也可以添加使
用 %SW64 进行的其他错误检查过程,以使其更精确。

124 35013230 06/2011


通讯

步骤 5:初始化动态数据表编辑器:
在主站上创建下面的动态数据表:

在从站上创建下面的动态数据表:

下载并设置每个控制器使其运行后,打开从站控制器上的动态数据表。将 %MW16
和 %MW17 中的两个值写入从站。在主站中,动态数据表可以用于检查交换数据的
接收表部分。该数据显示了从站地址、响应代码、写入的第一个字和以上示例中在
%MW8 处开始写入的字数。

35013230 06/2011 125


通讯

标准 Modbus 请求

简介
这些请求用于在远程设备之间交换存储器字或位。下表格式可适用于 RTU 模式和
ASCII 模式。

格式 参考号
位 %Mi
字 %MWi

Modbus 主模块:读取 N 个位
下表显示了请求 01 和 02。

表 最高有效字节 最低有效字节
索引
控制表 0 01 (传输 / 接收) 06 (传输长度) (*)
1 03 (接收偏移) 00 (传输偏移)
传输表 2 位于 (1..247) 的从 01 或 02 (请求代码)

3 要读取的第一个位的地址
4 N1 = 要读取的位数

接收表 (响应后) 5 位于 (1..247) 的从 01 或 02 (响应代码)



6 00 (由 Rx 偏移操 N2
作添加的字节) = 要读取的数据字节数
= [1+(N1-1)/8]
其中 [] 表示整数部分
7 第 1 个字节的值 第 2 个字节的值 (若 N1>1)
(值 = 00 或 01)
8 第 3 个字节的值
(若 N1>1)
...
(N2/2)+6 (若 N2 第 N2 个字节的值
为偶数) (若 N1>1)
(N2/2+1)+6 (若
N2 为奇数)

(*) 该字节同样接收响应后传输的字符串长度

126 35013230 06/2011


通讯

Modbus 主模块:读取 N 个字
下表显示了请求 03 和 04。

表 最高有效字节 最低有效字节
索引
控制表 0 01 (传输 / 接收) 06 (传输长度) (*)
1 03 (接收偏移) 00 (传输偏移)
传输表 2 位于 (1..247) 的从站 03 或 04 (请求代码)
3 要读取的第一个字的地址
4 N = 要读取的字数
接收表 (响应后) 5 位于 (1..247) 的从站 03 或 04 (响应代码)
6 00 (由 Rx 偏移操作添加 2*N (要读取的字节数)
的字节)
7 要读取的第一个字
8 要读取的第二个字 (若 N>1)
...
N+6 要读取的第 N 个字 (若 N>2)

(*) 该字节同样接收响应后传输的字符串长度
注意:以上三处 Rx 偏移均将在接收表中的第三个位置添加一个字节 (值 = 0)。这
样可以确保能够对在该数据表中要读取的字节数和字的值进行方便的定位。

Modbus 主模块:写入位
下表显示了请求 05。

表 最高有效字节 最低有效字节
索引
控制表 0 01 (传输 / 接收) 06 (传输长度) (*)
1 00 (接收偏移) 00 (传输偏移)
传输表 2 位于 (1..247) 的从站 05 (请求代码)
3 要写入的位的地址
4 要写入位的值

35013230 06/2011 127


通讯

表 最高有效字节 最低有效字节
索引
接收表 (响应后) 5 位于 (1..247) 的从站 05 (响应代码)
6 已写入的位的地址
7 已写入的值

(*) 该字节同样接收响应后传输的字符串长度
注意:
z 该请求无需使用偏移。
z 此处响应帧与请求帧相同 (正常情况下)。
z 对于要写入 1 的位,传输表中的关联字必须包含值 FF00H,对于要写入 0 的位必
须包含值 0。

Modbus 主模块:写入字
下表显示了请求 06。

表 最高有效字节 最低有效字节
索引
控制表 0 01 (传输 / 接收) 06 (传输长度) (*)
1 00 (接收偏移) 00 (传输偏移)
传输表 2 位于 (1..247) 的从站 06 (请求代码)
3 要写入的字的地址
4 要写入字的值
接收表 (响应后) 5 位于 (1..247) 的从站 06 (响应代码)
6 已写入字的地址
7 已写入的值

(*) 该字节同样接收响应后传输的字符串长度
注意:
z 该请求无需使用偏移。
z 此处响应帧与请求帧相同 (正常情况下)。

128 35013230 06/2011


通讯

Modbus 主模块:写入 N 个位
下表显示了请求 15。

表 最高有效字节 最低有效字节
索引
控制表 0 01 (传输 / 接收) 8 + 字节数 (传输)
1 00 (接收偏移) 07 (传输偏移)
传输表 2 位于 (1..247) 的从站 15 (请求代码)
3 要写入的第一个位的编号
4 N1 = 要写入的位数
5 00 (未发送的字节, N2
偏移影响) = 要写入的数据字节数
= [1+(N1-1)/8]
其中 [] 表示整数部分
6 第 1 个字节的值 第 2 个字节的值
7 第 3 个字节的值 第 4 个字节的值
...
(N2/2)+5 (若 第 N2 个字节的值
N2 为偶数)
(N2/2+1)+5
(若 N2 为奇
数)
接收表 (响应后) 位于 (1..247) 的从站 15 (响应代码)
已写入的第 1 个位的地址
已写入的位的地址 (= N1)

注意:
z Tx 偏移 = 7 将抑制已发送帧中的第 7 个字节。还可以使传输表中字的值进行良好
的通讯。

35013230 06/2011 129


通讯

Modbus 主模块:写入 N 个字
下表显示了请求 16。

表 最高有效字节 最低有效字节
索引
控制表 0 01 (传输 / 接收) 8 + (2*N) (传输长度)
1 00 (接收偏移) 07 (传输偏移)
传输表 2 位于 (1..247) 的从站 16 (请求代码)
3 要写入的第一个字的地址
4 N = 要写入的字数
5 00 (未发送的字节,偏移 2*N = 要写入的字节数
影响)
6 要写入第一个字的值
7 要写入的第二个值
...
N+5 要写入的 N 个值
接收表 (响应后) N+6 位于 (1..247) 的从站 16 (响应代码)
N+7 已写入的第一个字的地址
N+8 已写入的字的地址 (= N)

注意:Tx 偏移 = 7 将抑制已发送帧中的第 7 个字节。还可以使传输表中字的值进行


良好的通讯。

130 35013230 06/2011


通讯

Modbus 功能代码 23 (MB FC) - 读 / 写多个寄存器和 N 个字

描述
读 / 写多个寄存器功能代码在单个 Modbus 事务中执行一个读操作与一个写操作的
组合。
注意:先执行写操作,再执行读操作。
保持寄存器的地址从零开始。因此,保持寄存器 1 到 16 在 PDU 中的地址为 0 到
15。

请求参数
此请求指定要读取的保持寄存器的起始地址和数量,以及要写入的保持寄存器的起
始地址、数量以及数据。
字节计数指定将要在写入数据字段中写入的字节数。
下表提供了读 / 写多个寄存器请求参数值:

参数 字节数 值
功能代码 1 个字节 0x17

读取起始地址 2 个字节 0x0000 至 0xFFFF


要读取的数量 2 个字节 0x0000 到约 0x0076
写入起始地址 2 个字节 0x0000 至 0xFFFF
要写入的数量 2 个字节 0x0000 到约 0x0076
写入字节计数 1 个字节 N* x 2

写入寄存器值 N* x 2 字节

N* 为要写入的数量。

响应参数
标准响应包含来自所读取的寄存器组中的数据。字节计数参数指定将要包含在读取
数据字段中的字节数。
下表提供了读 / 写多个寄存器响应参数值:

参数 字节数 值
功能代码 1 个字节 0x17

字节计数 1 个字节 N* x 2

读取寄存器值 N* x 2 字节

N* 为要写入的数量。

35013230 06/2011 131


通讯

错误参数
下表提供了返回的错误的值。

参数 字节数 值
错误代码 1 个字节 0x97

例外代码 1 个字节 01、 02、 03 或 04

传输 / 接收表
下表给出了用于传输 / 接收的有效字节参数:

索引 最高有效字节 最低有效字节
控制表 0 01 (传输 / 接收) 12 + (2N) (传输长度)
1 03 (接收偏移) 11 (传输偏移)
传输表 2 2 从站地址 (1,,,147) 23 (请求代码)
3 要读取的第一个字的地址
4 X = 要读取的字数
5 要写入的第一个字的地址
6 N = 要写入的字数
7 00 (未发送的字节,偏移效果) 2*N = 要写入的字节数
8 要写入的第一个值
9 要写入的第二个值
...
N+5 N 要写入的值
接收表 (响应后) N+6 从站地址 (1,,,147) 23 (请求代码)
N+7 00 (由于接收偏移添加的字节) 2*X = 所读取的字节数
N+8 所读取的第一个字
N+9 所读取的第二个字 (如果 X>1)
...
X+N+7 读取的字 N (如果 N>2)

注意: 此请求代码 23 仅限 Twido base TWDLCxx40DRF 提供。

132 35013230 06/2011


通讯

Modbus 功能代码 43/14 (MB FC) - 读取设备标识

描述
读取设备标识功能代码检索远程设备的标识,以及与其物理描述和功能描述相关的
其他信息。
读取设备标识接口的模型是一个由一组可寻址数据元素组成的地址空间。这些数据
元素称为对象 (由对象 ID 标识)。

设备标识结构
此接口包含三类对象:
z 基本设备标识 - 此类别的所有对象都是必需的:
z 供应商名称
z 产品代码
z 修订号

z 常规设备标识 - 除基本数据对象外,设备还提供了附加标识、可选标识以及描述
数据对象。此类别的所有对象都在标准中定义,但是否实施这些对象则是可选的
z 扩展设备标识 - 除常规数据对象外,设备还提供附加标识和可选标识以及有关物
理设备本身的描述专用数据。所有这些数据对象都与设备有关。
下表汇总了接口对象:

对象 ID 对象名称 / 描述 类型 必需 / 可选 类别
0x00 VendorName ASCII 字符串 必需 基本
0x01 ProductCode ASCII 字符串 必需
0x02 MajorMinorRevision ASCII 字符串 必需
0x03 VendorURL ASCII 字符串 可选 常规
0x04 ProductName ASCII 字符串 可选
0x05 ModelName ASCII 字符串 可选
0x06 UserApplicationName ASCII 字符串 可选
0x07 保留 可选
...
0x7F
0x80 另外,还可以定义专用对象。 与设备有关 可选 扩展
... 范围 [0x80 - 0xFF] 与产品有关。
0xFF

35013230 06/2011 133


通讯

请求参数
读取设备标识功能代码的请求由以下参数组成:

参数 描述
功能代码 功能代码 43 (十进制)、 20x2B (十六进制)。
Modbus 封装接口 为 Modbus 封装接口分配了编号 14,用于标识读取标识请求接口。
(MEI) 类型
读取设备 ID 代码 读取设备 ID 代码:此参数定义了四种访问类型:
z 01 - 请求检索基本设备标识 (流访问)
z 02 - 请求检索常规设备标识 (流访问)
z 03 - 请求检索扩展设备标识 (流访问)
z 04 - 请求检索一个特定标识对象 (单独访问)

如果读取设备 ID 代码是非法的,则响应中将返回例外代码 03。


注:如果要求服务器提供的描述级别 (读取设备 ID 代码)高于其
符合性级别,则服务器必须根据其实际符合性级别进行响应。
对象 ID 对于读取设备 ID 代码 01、 02 或 03 - 流访问
如果某个响应不适合单个响应,且需要生成多个事务 (请求 / 响
应)以便获得完全响应,则使用此参数。
对象 ID 字节提供了要检索的第一个对象的标识。
对于第一个事务,必须将对象 ID 设置为 0,以获取设备标识数据的
开头。
对于后续事务,必须将对象 ID 设置为由服务器在其先前响应中返
回的值。
如果对象 ID 与任何已知对象都不匹配,服务器将按对象 ID 似乎已
设置为 0 的方式响应,并从头开始重启。
对于读取设备 ID 代码 04 - 单独访问
此对象 ID 标识要返回的对象。
如果此对象 ID 与任何已知对象不匹配,服务器返回一个具有例外
代码 02 (非法数据地址)的例外响应。

请求参数值表
可为请求参数提供以下值:

参数 字节 可能的值
功能代码 1 个字节 0x2B

MEI 类型 1 个字节 0x0E

读取设备 ID 代码 1 个字节 01, 02, 03, 04

对象 ID 1 个字节 0x00 到 0xFF

134 35013230 06/2011


通讯

响应参数
下表描述针对读取设备标识请求返回的响应参数:

参数 描述
功能代码 功能代码 43 (十进制)、 20x2B (十六进制)。
Modbus 封装接口 为 MEI 分配了编号 14,用于标识读取标识请求接口。
(MEI) 类型
读取设备 ID 代码 返回的读取设备 ID 代码与请求中包含的代码相同:01、 02、 03 或
04。
符合性级别 支持的设备标识符合性级别和访问类型:
z 01 - 基本标识 (仅限于流访问)
z 02 - 常规标识 (仅限于流访问)
z 03 - 扩展标识 (仅限于流访问)
z 81 - 基本标识 (流访问和单独访问)
z 82 - 常规标识 (流访问和单独访问)
z 83 - 扩展标识 (流访问和单独访问)

更多后续 对于读取设备 ID 代码 01、 02 或 03 - 流访问


如果返回的响应不适合单个响应,则可能需要多个事务以发送此响
应。以下是具体设置的含义:
z 00:没有更多可用的对象
z FF:其他标识对象可用,且需要更多 Modbus 事务。

对于读取设备 ID 代码 04 - 单独访问
此参数必须设置为 00。
下一个对象 ID 如果更多后续设置为 FF,则此参数包含要请求的下一个对象的标
识。
如果更多后续设置为 00,则此参数必须设置为 00 (此参数变成无用
参数)。
对象数 响应中返回的标识对象数。
注:在单独访问情况下,对象数始终设置为 1。
Object0.Id PDU (流访问)中返回的第一个对象或所请求的对象 (单独访问)
的标识。
Object0.Length 第一个对象的长度,以字节表示。
Object0.Value 第一个对象的值 (Object0.Length 字节)。
......... .........
ObjectN.Id 响应中返回的最后一个对象的标识。
ObjectN.Length 最后一个对象的长度,以字节表示。
ObjectN.Value 最后一个对象的值 (ObjectN.Length 字节)。

35013230 06/2011 135


通讯

响应参数值表
可为请求参数提供以下值:

参数 字节 可能的值
功能代码 1 个字节 0x2B

MEI 类型 1 个字节 0x0E

读取设备 ID 代码 1 个字节 01, 02, 03, 04

符合性级别 1 个字节
更多后续 1 个字节 00/FF

下一个对象 ID 1 个字节 对象 ID 编号
列表:
对象 ID 1 个字节
对象长度 1 个字节
对象值 对象长度 值取决于对象 ID

错误参数值表
可在返回的错误代码中找到以下值:

参数 字节 可能的值
功能代码 1 个字节 0xAB:
Fc 0x2B + 0x80
MEI 类型 1 个字节 14

例外代码 1 个字节 01 / 02 / 03 / 04

136 35013230 06/2011


通讯

Transparent Ready 实现类 (Twido 串口 A05,以太网 A15)

概览
串口 Modbus 和 TCP/IP Modbus 支持以下 Modbus 功能代码。有关 Modbus 协议的
详细信息,请参阅 http://www.modbus-ida.org 上的 Modbus 应用程序协议文档

Twido 支持的 Modbus 功能代码 (MB FC)


下表介绍了 Twido 串口和 TCP/IP Modbus 支持的功能代码:

支持的 支持的子功能代码 功能
MB FC
1 — 读取多个内部位 %M
2 — 读取多个内部位 %M
3 — 读取多个内部寄存器 %MW
4 — 读取多个内部寄存器 %MW
5 — 强制单个内部位 %M
6 — 写入单个内部寄存器 %MW
8 仅 00 回显诊断
15 — 写入多个内部位 %M
16 — 写入多个内部寄存器 %MW
23 — 读取 / 写入多个内部寄存器 %MW
43 14 读取设备标识 (常规服务)

35013230 06/2011 137


通讯

138 35013230 06/2011


TwidoSuite V2.3
内置模拟功能
35013230 05/2009

内置模拟功能

6
本章主题
本章介绍如何管理内置模拟通道和电位计。

本章包含了哪些内容?
本章包含了以下主题:
主题 页
模拟量电位计 140
模拟量通道 142

35013230 06/2011 139


内置模拟功能

模拟量电位计

简介
Twido 控制器:
z 在 TWDLC•A10DRF 控制器、 TWDLC•A16DRF 控制器和所有模块型控制器
(TWDLMDA20DTK、 TWDLMDA20DUK、 TWDLMDA20DRT、
TWDLMDA40DTK 和 TWDLMDA40DUK)上具有一个模拟量电位计
z 在 TWDLC•A24DRF and TWDLC••40DRF 控制器上具有两个电位计

编程
下面两个输入字中包含对应于上述电位计提供的模拟量值的数值 (从 0 到 1023 用
于模拟量电位计 1 ;从 0 到 1023 用于模拟量电位计 2):
z %IW0.0.0 用于模拟量电位计 1 (在左侧)
z %IW0.0.1 用于模拟量电位计 2 (在右侧)

这些字可在算术运算中使用。它们可以用于任何类型的调整,例如预设时间延迟或
计数器,调整脉冲发生器的频率或机器预热时间。

示例
使用模拟量电位计 1 将时间延迟期限从 5 秒调整到 10 秒:

对于此调整,实际使用了模拟量电位计
1 的从 0 到 1023 的整个调整范围。

以下参数是在配置时间延迟块 %TM0 时选择的:


z 类型 TON
z 时基:10 毫秒

时间延迟的预设值是使用等式 %TM0.P := (%IW0.0.0/2)+500 从电位计的调整值计


算而来的。

140 35013230 06/2011


内置模拟功能

以上示例的代码:

35013230 06/2011 141


内置模拟功能

模拟量通道

简介
所有模块型控制器 (TWDLMDA20DTK、 TWDLMDA20DUK、
TWDLMDA20DRT、 TWDLMDA40DTK 和 TWDLMDA40DUK)都具有内置模拟量
通道。电压输入范围为从 0 到 10 V,数字化信号范围为从 0 到 1023
. 模拟量通道利用通过八个采样进行的简单平均方案。

原理
离散量转换器的模拟将 0 到 10 V 的输入电压采样为 0 到 1023 的离散量值。该值存
储在系统字 %IW0.0.1 中。该值在整个范围内都是线性的,因此每个增量都约为 20
mV (10 V/512)。一旦系统检测到值 1023,则将通道视为饱和。

编程示例
控制烤箱的温度:烹饪温度设置为 350°C。 +/- 2.5°C 的变化会导致输出 %Q0.0 和
%Q0.2 各自脱扣。在本示例中,实际使用了模拟量通道从 0 到 1023 的所有可能的
设置范围。温度设定点的模拟量设置为:

温度 (°C) 电压 系统字 %IW0.0.0


0 0 0
347.5 7.72 395
350 7.77 398
352.5 7.83 401
450 10 1023

142 35013230 06/2011


内置模拟功能

以上示例的代码:

35013230 06/2011 143


内置模拟功能

144 35013230 06/2011


TwidoSuite V2.3
管理模拟模块
35013230 05/2009

管理模拟模块

7
本章主题
本章简要介绍了如何管理 Twido 控制器的模拟模块。

本章包含了哪些内容?
本章包含了以下主题:
主题 页
模拟量模块概述 146
4 模拟量输入和输出寻址 147
配置模拟量输入与输出 148
模拟量模块状态信息 154
模拟量模块使用示例 156

35013230 06/2011 145


管理模拟模块

模拟量模块概述

简介
除了内置 10 位电位计和 9 位模拟量通道之外,所有支持扩展 I/O 的 Twido 控制器也
可以配置模拟量 I/O 模块并与其进行通讯。
这些模拟量模块为:

名称 点 信号范围 编码
TM2AMI2HT 2 路输入 0 - 10 V 或 4 - 20 mA 12 位
TM2AMI2LT 2 路输入 输入 - 热电偶 16 位
TM2AMO1HT 1 路输出 0 - 10 V 或 4 - 20 mA 12 位
TM2AMM3HT 2 路输入、 0 - 10 V 或 4 - 20 mA 12 位
1 路输出
TM2AMM6HT 4 路输入、 0 - 10 V 或 4 - 20 mA 12 位
2 路输出
TM2ALM3LT 2 路输入、 0 - 10 V、输入 Th 或 PT100、输出 4 - 20 mA 12 位
1 路输出
TM2AVO2HT 2 路输出 +/- 10 V 11 位 + 符号
TM2AMI4LT 4 路输入 0 - 10 V、 0 - 20 mA、 NI 或 PT 3 线传感器 12 位
TM2AMI8HT 8 路输入 0 - 10 V 或 0 - 20 mA 10 位
TM2ARI8HT 8 路输入 NTC 或 PTC 传感器 10 位

模拟量模块的操作
输入字和输出字 (%IW 和 %QW)用于在用户应用程序和任一模拟量通道之间交换
数据。在 RUN 模式中,这些字的更新与控制器扫描同步完成。

警告
意外的设备操作
注意当控制器处于停止模式时的输出缺省值。
z 模拟量输出设置到其故障预置位置。
z 离散量输出设定为零。
如果不遵守这些说明,将会导致死亡、严重伤害或设备损坏。

146 35013230 06/2011


管理模拟模块

4 模拟量输入和输出寻址

简介
地址是根据模拟通道在扩展总线上的位置而分配给模拟通道的。

模拟量 I/O 寻址示例


在此示例中, TWDLMDA40DUK 具有一个内置模拟调整 10 位电位计和一个 9 位内
置模拟通道。以下模块位于扩展总线上:已配置 TM2AMM3HT 模拟量模块、
TM2DMM8DRT 输入 / 输出离散量继电器模块和第二个 TM2AMM3HT 模拟量模块。

下表详细介绍为每个输出进行的寻址。

描述 本体 模块 1 模块 2 模块 3
电位计 1 %IW0.0.0

内置模拟通道 %IW0.0.1
模拟量输入通道 1 %IW0.1.0 %IW0.3.0

模拟量输入通道 2 %IW0.1.1 %IW0.3.1

模拟量输出通道 1 %QW0.1.0 %QW0.3.0

离散量输入通道 %I0.2.0 - %I0.2.3


离散量输出通道 %Q0.2.0 -%Q0.2.3

35013230 06/2011 147


管理模拟模块

配置模拟量输入与输出

简介
本节介绍如何配置模拟量模块的输入和输出。

配置模拟量 I/O
使用配置编辑器来设置模拟量 I/O 模块的参数,这些模块是您在描述系统时作为扩
展模块添加的 (请参见位置选项)。
注意: 所有模拟量 I/O 配置参数都可以在线和离线修改。例如,对于 TM2AMI2LT
模块,可以离线和在线修改输入类型 (J、 K 或 T)。

配置编辑器内容
在程序 →配置 →配置硬件中,配置窗格显示一个描述区域,该区域中包含模块的参
考号和简短描述,后随模块配置表。
如果您在系统中具有若干模块,则要显示相应模块的配置表,应在上部图形窗格中
单击所需模块。
以下示例显示 TM2AMI2LT 模块的硬件配置窗格。

148 35013230 06/2011


管理模拟模块

该表显示:地址、符号、类型、范围、最小值、最大值和单位
z 在 TM2AMI4LT 和 TM2AMI8HT 中,表之前有一个输入类型列表框。
z 在 TM2AVO2HT 和 TM2AMI8HT 中,包含复选框的已配置列取代了类型列。
z 在 TM2ARI8HT 中,每个通道 (0-7) 都在一个选项卡内单独配置,您可以在选项
卡中选择图形或公式配置方法。可以在查看选项卡中查看该表。

描述
描述区域显示模块的简短摘要。

地址
电子表格的每一行都代表模块的一个输入通道或输出通道。
通过下表可以识别每个模块的地址,其中 “i” 为模块在扩展总线上的位置。

模块名称 地址
TM2AMI2LT 2 路输入 (%IWi.0、 %IWi.1)
TM2ALM3LT 2 路输入 (%IWi.0、 %IWi.1), 1 路输出 (%QWi.0)
TM2AMM3HT 2 路输入 (%IWi.0、 %IWi.1), 1 路输出 (%QWi.0)
TM2AMM6HT 4 路输入 (%IWi.0 到 %IWi.3), 2 路输出 (%QWi.0、
%QWi.1)
TM2AMI2HT 2 路输入 (%IWi.0、 %IWi.1)
TM2AMO1HT 1 路输出 (%QWi.0)
TM2AVO2HT 2 路输出 (%QWi.0、 %QWi.1)
TM2AMI4LT 4 路输入 (%IWi.0 到 %IWi.3)
TM2AMI8HT 8 路输入 (%IWi.0 到 %IWi.7)
TM2ARI8HT 8 路输入 (%IWi.0 到 %IWi.7)

符号
这是用于地址的符号 (如已分配)的只读显示。

35013230 06/2011 149


管理模拟模块

输入和输出类型
该类型标识通道的模式。选择哪种类型具体取决于模块的通道和类型。
对于 TM2AMO1HT、 TM2AMM3HT 和 TM2ALM3LT,可以将单个输出通道类型配
置为:

类型
未使用
0 - 10 V
4 – 20 mA

对于 TM2AMM6HT,可以将 4 路输入和 2 路输出通道类型配置为:

输入类型
0 - 10 V
4 – 20 mA

对于 TM2AMI2HT 和 TM2AMM3HT,可以将 2 路输入通道类型配置为:

类型
未使用
0 - 10 V
4 – 20 mA

对于 TM2AMI2LT*,可以将 2 路输入通道类型配置为:

类型
未使用
热电偶 K
热电偶 J
热电偶 T

注意: * 为了使用 TM2AMI2LT 模块,请确保您的 PLC 固件为版本 4.0 或更高版本。


对于 TM2ALM3LT,可以将 2 路输入通道类型配置为:

类型
未使用
热电偶 K
热电偶 J

150 35013230 06/2011


管理模拟模块

类型
热电偶 T
PT 100

对于 TM2AVO2HT,没有可以调整的类型。
对于 TM2AMI4LT,可以将 4 路输入类型配置为:

输入类型 类型
未使用
电压 0 - 10 V
未使用
当前 0-20 mA
未使用
PT 100
温度 PT 1000
NI 100
NI 1000

对于 TM2AMI8HT,可以将 8 路输入类型配置为:

输入类型
0 - 10 V
0 - 20 mA

对于 TM2ARI8HT,可以从窗口下部的操作字段单独配置每个输入通道 (0-7)。如果
需要,直接选择模式和范围。然后,可以在 “ 查看 ” 选项卡中查看所有信息的摘要,
其中类型列显示:

类型
未使用
NTC/CTN
PTC/CTP

小心
设备运行不正确
请确保接线符合 TwidoSuite 配置。如果用电线连接了用于电压测量的输入,却配
置 TwidoSuite 使用电流类型的配置,则可能永久性损坏模拟量模块。
如果不遵守这些说明,将会导致受伤或设备损坏。

35013230 06/2011 151


管理模拟模块

范围
该范围标识通道值的范围。选择哪个范围具体取决于通道和模块的特定类型。
配置类型后,可以设置相应的范围。如果需要,有一个表显示接受的最小值和最大
值 (固定值或用户定义的值)以及单位。

范围 (NTC 最小值 最大值 单位 I/O 模拟量模块


传感器)
TM2AMI2LT
TM2ALM3LT
TM2AMO1HT
0 4095 TM2AMM3HT
TM2AMM6HT
正常 无 TM2AMI2HT
TM2AMI4LT
-2048 2047 TM2AVO2HT
TM2AMI8HT
0 1023
TM2ARI8HT
用户定义 用户定义 (最
自定义 (最小值为 - 大值为 32767) 无 所有 I/O 模拟量模块
32768)
摄氏 K: -2700 K: 13700 0.1 °C TM2AMI2LT
J: -2000 J: 7600
T: -2700 T: 4000
K: 0 K: 13000 TM2ALM3LT
J: 0 J: 12000
T: 0 T: 40000
由 TwidoSuite 根据用户定义的 TM2ARI8HT
参数动态更新
-2000 6000 TM2AMI4LT (Pt 传感器)
-500 1500 TM2AMI4LT (Ni 传感器)
华氏 K: -4540 K: 24980 0.1 °F TM2AMI2LT
J: -3280 J:14000
T: -4540 T: 7520
K: 320 K: 23720 TM2ALM3LT
J: 320 J: 21920
T: 320 T: 7520
由 TwidoSuite 根据用户定义的 TM2ARI8HT
参数动态更新
-3280 11120 TM2AMI4LT (Pt 传感器)
-580 3020 TM2AMI4LT (Ni 传感器)

152 35013230 06/2011


管理模拟模块

范围 (NTC 最小值 最大值 单位 I/O 模拟量模块


传感器)
100 10000 TM2ARI8HT
74 199 TM2AMI4LT (Ni100)
电阻 742 1987 欧姆 TM2AMI4LT (Ni1000)
18 314 TM2AMI4LT (Pt100)
184 3138 TM2AMI4LT (Pt1000)

图形或公式方式
在 TM2ARI8HT 中,每个通道 (0-7) 都在一个选项卡内单独配置。选中已使用框,然
后在图形和公式配置方法之间选择一种。
z 图形方法
((R1, T1) 和 (R2, T2) 对应于属于一条曲线的两点的浮点格式坐标。
R1 (缺省值 8700)和 R2 (缺省值 200)值以欧姆为单位表示。
可以在单位列表框中设置 T1 (缺省值 233.15)和 T2 (缺省值 398.15)值的单
位:开氏 (缺省值)、摄氏或华氏。
注:在设置 T1 和 T2 值之后更改温度单位将不会使用新单位自动重新计算 T1 和
T2 值。
z 公式方法
如果知道 Rref、 Tref 和 B 参数,可以使用此方法定义传感器特性。
Rref (缺省值 330)以欧姆为单位表示。
B 为缺省值 3569 (最小值 1,最大值 32767)。
可以在单位列表框中设置 Tref (缺省值 298.15)的单位:开氏 (缺省值)、摄
氏或华氏。
下表包含各单位相应的最小 / 最大 Tref 值:

单位 最小值 最大值
开氏 1 650
摄氏 -272 376
华氏 -457 710

在 “ 图形 ” 和 “ 公式 ” 窗口中,可以将值从另一通道导入当前配置的通道:
1. 从通道编号框中选择通道编号。
2. 按导入值按钮。
某些错误消息可以与这些窗口关联。
注意:如果您先开始设置值,然后决定从图形切换到公式或从公式切换到图形,将
弹出一条消息,说明程序将还原到缺省值并且任何修改的值都将丢失。

35013230 06/2011 153


管理模拟模块

模拟量模块状态信息

状态表
下表包含监视模拟量 I/O 模块的状态所需的信息。

系统字 功能 描述
%SW80 基板 I/O 状态 对于标准模拟量模块, %SW8x 如下所述:
位 [0] 表示所有模拟量通道处于正常状态
位 [1] 表示模块处于初始化状态
位 [2] 表示电源故障
位 [3] 表示配置故障
位 [4] 表示正在为输入通道 0 运行转换
位 [5] 表示正在为输入通道 1 运行转换
位 [6] 表示输入通道 0 的参数无效
位 [7] 表示输入通道 1 的参数无效
位 [8 & 9] 未使用
位 [10] 表示输入通道 0 的值溢出
位 [11] 表示输入通道 1 的值溢出
位 [12] 表示输入通道 0 的值下溢
位 [13] 表示输入通道 1 的值下溢
位 [14] 未使用
位 [15] 表示输出通道的参数无效
%SW80 基板 I/O 状态 对于 TM2AMI4LT 和 TM2AMM6HT 模拟量模块, %SW8x 如下所述:
(续) (续) 位 [0 & 1] 表示通道 0 的状态
0 0: 模拟量通道处于正常状态
0 1: 输入通道的参数无效
1 0: 输入值不可用 (模块处于初始化状态,正在运行转换)
1 1: 输入通道的值无效 (溢出值或下溢值)
位 [2 & 3] 表示通道 1 的状态 (与位 [0 & 1] 的描述相同)
位 [4 & 5] 表示通道 2 的状态 (与位 [0 & 1] 的描述相同)
位 [6 & 7] 表示通道 3 的状态 (与位 [0 & 1] 的描述相同)
位 [8 到 15] 未使用

154 35013230 06/2011


管理模拟模块

系统字 功能 描述
%SW80 基板 I/O 状态 对于 TM2AMI8HT 模拟量模块, %SW8x 如下所述:
(续) (续) 位 [0 & 1] 表示通道 0 的状态
0 0: 模拟量通道处于正常状态
0 1: 输入通道的参数无效
1 0: 输入值不可用 (模块处于初始化状态,正在运行转换)
1 1: 输入通道的值无效 (溢出值或下溢值)
位 [2 & 3] 表示通道 1 的状态 (与位 [0 & 1] 的描述相同)
位 [4 & 5] 表示通道 2 的状态 (与位 [0 & 1] 的描述相同)
位 [6 & 7] 表示通道 3 的状态 (与位 [0 & 1] 的描述相同)
位 [8 & 9] 表示通道 4 的状态 (与位 [0 & 1] 的描述相同)
位 [10 & 11] 表示通道 5 的状态 (与位 [0 & 1] 的描述相同)
位 [12 & 13] 表示通道 6 的状态 (与位 [0 & 1] 的描述相同)
位 [14 & 15] 表示通道 7 的状态 (与位 [0 & 1] 的描述相同)
%SW81 扩展 I/O 模块 1 状态:与 %SW80 定义相同
%SW82 扩展 I/O 模块 2 状态:与 %SW80 定义相同
%SW83 扩展 I/O 模块 3 状态:与 %SW80 定义相同
%SW84 扩展 I/O 模块 4 状态:与 %SW80 定义相同
%SW85 扩展 I/O 模块 5 状态:与 %SW80 定义相同
%SW86 扩展 I/O 模块 6 状态:与 %SW80 定义相同
%SW87 扩展 I/O 模块 7 状态:与 %SW80 定义相同

35013230 06/2011 155


管理模拟模块

模拟量模块使用示例

简介
本节提供了可用于 Twido 的模拟量模块的使用示例。

示例:模拟量输入
此示例将模拟量输入信号与五个单独阈值进行比较。比较模拟量输入,如果它小于
或等于阈值,则在本体控制器上设置一位。

示例:模拟量输出
以下程序使用插槽 1 和插槽 2 中的模拟卡。在插槽 1 中使用的卡具有 " 正常 " 范围
的 10 伏输出:

156 35013230 06/2011


管理模拟模块

z 针对 %QW1.0=4095 (正常情况)的输出值示例:
下表根据分配给 %QW1.0 的最大值显示输出电压值:

数值 模拟量值 (伏)
最小值 0 0
最大值 4095 10
值1 100 0.244

值2 2460 6

z 针对自定义范围 (最小值 = 0,最大值 = 1000)的输出值示例:


下表根据分配给 %QW1.0 的最大值显示输出电压值:

数值 模拟量值 (伏)
最小值 0 0
最大值 1000 10
值1 100 1

值2 600 6

35013230 06/2011 157


管理模拟模块

158 35013230 06/2011


TwidoSuite V2.3
Twido Extreme 输入 / 输出配置
35013230 05/2009

Twido Extreme 输入 / 输出配置

8
本章主题
本章概述 Twido Extreme 本体的输入和输出,并描述输入和输出寻址。

本章包含了哪些内容?
本章包含了以下部分:
节 主题 页
8.1 Twido Extreme 输入和输出简介 160
8.2 Twido Extreme 输入配置 162
8.3 Twido Extreme 输出配置 179

35013230 06/2011 159


Twido Extreme 输入 / 输出配置

8.1 Twido Extreme 输入和输出简介

Twido Extreme 输入 / 输出 (I/O) 寻址

简介
Twido Extreme 本体带有一个 70 针连接器,该连接器包括电源、输入、输出和通
讯总线。本节提供有关输入、输出及其地址的概述信息。

I/O 地址
Twido 配置中的每个输入 / 输出 (I/O) 点均有一个唯一地址。例如,地址 "%I0.0.4" 是
分配给 PLC 的输入 4 的地址。
地址格式如下所示:

%I 用于离散量输入, %IW 用于模拟量 (和 PWM)输入, %Q 用于离散量 (和


PWM)输出。

输入 / 输出的类型
下表汇总了 Twido Extreme 的输入和输出的类型和数量及其地址:

键开关输入 (共 1 个)
输入 (共 22 个)
类型 最大数量 地址范围
离散量 切换至接地 (源极) 11 %I0.0 - %I0.10
切换至电池 (漏极) 2 %I0.11, %I0.12
模拟量 主动模拟量传感器 4 %IW0.0 - %IW0.3
被动模拟量传感器 3 %IW0.4 - %IW0.6
模拟量 主动模拟量传感器或脉宽调制 1 (最大 1 %IW0.7
/PWM 1 kHz)
PWM 脉宽调制 (最大 5 kHz) 1 %IW0.8
1
注:输入 %IW0.7 既可用作主动模拟量输入,也可用作 PWM 输入

160 35013230 06/2011


Twido Extreme 输入 / 输出配置

键开关输入 (共 1 个)
输入 (共 22 个)
输出 (总共 19 个)
类型 数量 地址
离散量 1 离散量电流源极驱动 1 %Q.4

50 mA 离散量电流源极驱动,专用的 1 %Q.3
SECU, PLC 状态输出
12/24 V 300 mA 数字量电流漏极驱动 14 %Q0.5 - %Q0.18
PLS/PWM PLS 或 PWM (10 Hz 至 1 kHz) 2 %Q0.0, %Q0.1
PLS 或 PWM (10 Hz 至 5 kHz) 1 %Q.2
1
注:输入 %IW0.7 既可用作主动模拟量输入,也可用作 PWM 输入

有关这些输入和输出的规格和引脚位置的详细信息,请参阅。

键开关
键开关是特殊的 (物理)输入,用于:
z 打开和关闭 Twido Extreme
z 在备用模式中设置 Twido Extreme。

注意:要从备用模式中启用热重启, Twido Extreme 必须与电源连接。如果未保持


电源,则控制器将执行冷重启,此时将丢失日期和时间信息。
在备用模式中, Twido Extreme 使 RAM 保持活动状态并保持 RTC 数据完好无损,
但这意味着 PLC 必须连接到电源 (因为它没有内部电池)。要进一步说明这一点,
我们用汽车点火开关作为类比。键开关如同一个与汽车收音机连接的汽车点火开
关。当关闭发动机时,汽车收音机也关闭,但收音机频道、时间和其他数据都保留
在存储器中。只要不断开收音机与汽车电池的连接,当发动机重新启动时,收音机
就会重新启动,并且所有数据均完好无损。
在上述表中尚未为此键开关分配地址,因为此键开关是一种特殊类型的输入,不能
在 TwidoSuite 中进行配置,因此没有专用的地址。

I/O 更新
输入位 (%I 表示离散量)、输入字 (%IW 表示模拟量)和输出 (%Q) 位用来在用
户应用程序与离散量或模拟量通道之间交换数据。这些对象在运行模式下与控制器
扫描结果以同步方式进行更新。

35013230 06/2011 161


Twido Extreme 输入 / 输出配置

8.2 Twido Extreme 输入配置

本节主题
本节介绍 Twido Extreme PLC 的输入配置。

本节包含了哪些内容?
本节包含了以下主题:
主题 页
Twido Extreme 离散量输入配置 163
Twido Extreme 模拟量输入配置 167
Twido Extreme PWM 输入配置 171
Twido Extreme PWM 输入配置示例 173

162 35013230 06/2011


Twido Extreme 输入 / 输出配置

Twido Extreme 离散量输入配置

简介
本节描述离散量输入的配置。

离散量输入
有两种主要类型的离散量输入:
z 切换至接地输入
z 切换至电池输入 (+)
离散量输入包括输入值、上升沿值和下降沿值。上升沿值和下降沿值是从连续两次
扫描的当前映像数据和上一个映像数据计算得出的。
可以对每个输入进行滤波、强制或锁存

输入滤波
输入滤波器可以减少噪声对 PLC 输入的影响。将滤波器值设置为 3 (或 12)毫秒
可确保忽略输入电平因噪声产生的突然变化,除非这一新的输入电平持续 3 (或
12)毫秒。

输入强制
可以在用户定义的指令列表 / 梯形图程序中为输入 (和输出)值分配强制值。这可
能有助于进行调试。强制输入 / 输出值中描述了相关内容。

输入锁存
输入锁存是一种特殊功能,可以分配给 Twido Extreme 上的所有四个输入 (%I0.0
到 %I0.3)或者其中一个输入。该功能用于记忆 (或锁存)持续时间短于控制器扫
描时间的任何脉冲。如果脉冲的持续时间短于一次扫描时间,且具有一个大于或等
于 1 毫秒的值,则控制器将锁存该脉冲,然后在下一扫描中进行更新。考虑到噪声
因素,锁存的输入必须持续一毫秒以上,才能被识别为上升沿。锁存机制仅识别上
升沿。无法锁存下降沿。通过离散量输入配置屏幕可以分配要锁存的输入,如下所
示。
要确保在选择锁定输入选项时正确地检测脉冲信号,脉宽 (TON) 和周期 (P) 必须满
足以下两个要求:
z TON ≥ 1 毫秒
z 输入信号周期 (P) 必须至少为最大程序扫描时间 (%SW31) 的两倍:
P ≥ 2 x %SW31
注意:如果不满足此条件,则可能检测不到某些脉冲

35013230 06/2011 163


Twido Extreme 输入 / 输出配置

下图显示了使用锁存输入时的输入信号要求:

离散量输入地址
下表显示分配给 Twido Extreme 离散量输入的地址:

离散量输入 (共 13 个)
类型 最大数量 地址范围
切换至接地 (源极) 11 %I0.0 - %I0.10
切换至电池 (漏极) 2 %I0.11, %I0.12

上表中不包括钥匙开关,因为钥匙开关是一个特殊类型的输入,不能在 TwidoSuite
中进行配置,因此没有专用地址。有关详细信息 (请参阅 Twido Extreme 输入 / 输
出 (I/O) 寻址 , 第 160 页)。
注意: 在梯形图程序中, I/O 地址语法为 %I0.i (i=0...19) 和 %Q0.j (j=0...18),如配
置表中显示。但是,在指令列表程序中,语法 %IW0.0.i 和 %Q0.0.j 用于引用这些相
同的地址。输入 %I0.13-%I0.19 为模拟量输入的离散量映射。

164 35013230 06/2011


Twido Extreme 输入 / 输出配置

离散量输入配置
可以通过 TwidoSuite 的程序 →配置 →配置硬件模块配置窗格查看和配置在梯形图 /
指令列表程序中使用的离散量输入。
模块配置输入选项卡列出了所有已用和可用的输入,如下所示:

注意:在在线模式下,还可以显示输入值。
前 4 个输入 %I0.0 - %I0.3 既可以锁存,也可以用于事件(上升沿、下降沿或同时用
于上升沿和下降沿),因此可链接到子程序。
可以对前 13 个输入 %I0.0 - %I0.12 进行滤波 (3 毫秒或 12 毫秒),其中任何一个
输入都可以用于运行 / 停止功能。
%I0.0 到 %I0.10 为切换到接地输入。
%I0.11 到 %I0.13 为切换至电池输入。
模拟量输入 %IW0.0 到 %IW0.6 与离散量输入 %I0.13 到 %I0.19 关联,这些离散量
输入将根据相应模拟量的值来更改状态,如下表所示:

离散量输入状态更改 对应的模拟量值
1到0 ≤1.2 V DC

0到1 ≥3.1 V DC

例如,如果 %IW0.0 ≥ 3.1V,则 %I0.13 将从 0 更改为 1。


不能对这些输入进行滤波或锁存,也不能将它们与事件关联。

35013230 06/2011 165


Twido Extreme 输入 / 输出配置

输入配置字段
下表详细介绍了上图中显示的输入配置字段。根据说明,此表中的某些字段只是为
了便于显示,因此不能进行修改。

字段 可能的值 功能
已使用 选中或不选中复选框。 仅用于显示。显示程序使用的输入。
选中表示已使用。
清除表示未使用。
地址 输入地址 %I0.0-%I0.19 每个离散量输入的地址。
符号 用户定义的值:最大 32 个字母数字字符。 提供输入的名称。可以编辑此字段。应用
后,此名称将显示在梯形图 / 指令列表程序
中。
使用者 用户逻辑,事件 仅用于显示。列出使用此输入的所有功能
块,或表明输入是否用于触发事件。
滤波器 包含以下选项的下拉列表框: 滤波器用于减少噪声对 PLC 输入的影响。
z 无滤波器
z 3 毫秒
z 12 毫秒

锁存 ? 选中或不选中复选框。 锁存允许捕获并记录振幅宽度小于 PLC 扫


仅适用于前 4 个输入 %I0.0 到 %I0.3。 描时间的输入脉冲。
无法锁存具有滤波器的输入。
不能锁存与事件关联的输入。
选中表示锁存。
清除表示不锁存。
运行 / 停止 ? 选中或不选中复选框。 运行或停止 PLC 程序。
仅适用于前 13 个输入 %I0.0 - %I0.12。
选中表示运行。
清除表示停止。
禁用 包含以下选项的下拉列表框: 配置是否由输入触发事件。
z 未使用
z 上升沿
z 下降沿
z 上升 / 下降沿

高优先级 选中或不选中复选框。 使事件获得高优先级 (已触发)。


仅可选中一个输入 (%I0.0 到 %I0.3)。
仅当有一个已触发事件时才选中此复选框 (即当禁用
字段不为 " 未使用 " 时)。
子程序号 从下拉列表框中选择的子程序编号。 将子程序编号分配给事件 (已触发)。
仅当有一个已触发事件时才选中此复选框 (即当禁用
字段不为 " 未使用 " 时)。

166 35013230 06/2011


Twido Extreme 输入 / 输出配置

Twido Extreme 模拟量输入配置

简介
本节描述模拟量输入的配置并提供一个示例。

模拟量输入
模拟量输入类型有三种:
z 主动 (传感器)模拟量输入
z 被动 (传感器)模拟量输入
z PWM 输入
主动传感器使用外部电源提供信号。
被动传感器使用部分信号能量。
PWM 输入将在下一节中描述。

模拟量输入地址
下表显示分配给 Twido Extreme 模拟量输入的地址:

模拟量输入 (共 9 个)
类型 最大数量 地址范围
主动 4 %IW0.0 - %IW0.3
被动 3 %IW0.4 - %IW0.6
模拟量 /PWM 1 %IW0.7
PWM 1 %IW0.8

35013230 06/2011 167


Twido Extreme 输入 / 输出配置

模拟量输入配置
可以通过 TwidoSuite 的程序 →配置 →配置硬件模块配置窗格查看和配置在梯形图 /
指令列表程序中使用的模拟量输入。
在模块配置输入选项卡中向下滚动可以列出已用和可用的模拟量输入,如下所示:

注意: 在在线模式下,还可以显示输入值。
前面 4 个输入 %IW0.0 - %IW0.3 为主动输入。
接下来的 4 个输入 %IW0.4 - %IW0.6 为被动输入。
模拟量输入 %IW0.0 到 %IW0.6 与离散量输入 %I0.13 到 %I0.19 关联,这些离散量
输入将根据相应模拟量的值来更改状态,如下表所示:

离散量输入状态更改 对应的模拟量值
1到0 ≤1.2 V DC

0到1 ≥3.1 V DC

例如,如果 %IW0.0 ≥ 3.1V,则 %I0.13 将从 0 更改为 1。


%IW0.7 和 %IW0.8 为 PWM 输入,将在下一节中描述。但是,需要时也可以将
%IW0.7 用于模拟量输入。

输入配置字段
下表详细介绍了上图中显示的输入配置字段。根据说明,此表中的某些字段只是为
了便于显示,因此不能进行修改。

字段 可能的值 功能
已使用 选中或不选中复选框。 仅用于显示。显示程序使用的输入。不能
选中表示已使用。 编辑此字段。
清除表示未使用。
地址 输入地址 %IW0.0-%IW0.6 每个模拟量输入的地址。
符号 用户定义的值:最大 32 个字母数字字符。 提供输入的名称。可以编辑此字段。应用
后,此名称将显示在梯形图 / 指令列表程
序中。

168 35013230 06/2011


Twido Extreme 输入 / 输出配置

字段 可能的值 功能
相当于 %I0.13 到 %I0.19 仅用于显示。列出等效的离散量映射。
范围 包含以下选项的下拉列表框: 使您能够在后续字段中选择电压范围 (正
z 正常 ( 缺省 ) 常模式)或修改电压范围 (自定义模
z 自定义 式)。
最大值 / 最小值 正常模式:最小值 0,最大值 5120 %IW 范围:最小值 0,最大值 5120
对应于
电压范围:最小值 0,最大值 5 V。
不能更改这些字段。
自定义模式:最小值 -32,768,最大值 +32,767 ,以用 启用模拟量输入的自定义。在自定义模式
户定义的单位表示。 中,可以编辑这些字段。

示例:模拟量输入
此示例将模拟量输入信号与五个单独阈值进行比较。比较模拟量输入,如果它小于
阈值,则在 Twido Extreme 中设置一位。

35013230 06/2011 169


Twido Extreme 输入 / 输出配置

以下是该示例的指令列表程序:
0 LD [ %IW0.0.1<16 ]
1 ST %Q0.0.0
2 LD [ %IW0.0.1<32 ]
3 ST %Q0.0.1
4 LD [ %IW0.0.1<64 ]
5 ST %Q0.0.2
6 LD [ %IW0.0.1<128 ]
7 ST %Q0.0.3
8 LD [ %IW0.0.0<256 ]
9 ST %Q0.0.4
注意:在梯形图程序中, I/O 地址语法为 %IW0.i (i=0...8) 和 %Q0.j (j=0...18),如配
置表中显示。但是,在指令列表程序中,语法 %IW0.0.i 和 %Q0.0.j 用于引用这些相
同的地址。

170 35013230 06/2011


Twido Extreme 输入 / 输出配置

Twido Extreme PWM 输入配置

概述
本节描述 PWM 输入的配置。

PWM 输入
脉宽调制 (PWM) 输入是一种特殊类型的输入,可将矩形信号输入转换成参数 (根
据信号计算得出)。
此输入对于创造一个更稳定的、噪声干扰敏感度较低的环境特别有用。
例如,可以使用单轴操纵杆 (请参阅 Twido Extreme PWM 输入配置示例 ,
第 173 页)来提高精度,同时降低由噪声引起异常行为的风险。这是
Twido Extreme PLC 的一种非常突出的特性。

PWM 输入地址
地址 %IW0.7 和 %IW0.8 专用于 Twido Extreme PWM 输入,但 %IW0.7 也可用作
模拟量输入。

PWM 输入配置
可以在 TwidoSuite 的程序 →配置 →配置硬件模块配置窗格中查看和配置 PWM 输
入。
向下滚动配置窗格可以显示 PWM 输入表,如下所示:

输入配置字段
下表描述了 PWM 输入配置字段。根据说明,此表中的某些字段只是为了便于显示
(只读),因此不能进行修改。

字段 可能的值 功能
已使用 选中或不选中复选框。 仅用于显示。显示程序使用的输入。不能编
选中表示已使用。 辑此字段。
清除表示未使用。
地址 输入地址 %IW0.7, %IW0.8 每个模拟量 /PWM 输入的地址。

35013230 06/2011 171


Twido Extreme 输入 / 输出配置

字段 可能的值 功能
符号 用户定义的值:最大 32 个字母数字字符。 提供输入的名称。可以编辑此字段。应用
后,此名称将显示在梯形图 / 指令列表程序
中。
类型 包含以下选项的下拉列表框: 如果要用作模拟量输入,则选择 " 模拟量
z 模拟量 "。
z 频率 ( 缺省 ) 如果输入为 PWM,则选择要将 PWM 输入
z 比率 信号转换成哪个参数。
z 脉宽

范围 包含以下选项的下拉列表框: 使您能够在后续字段中调整要自定义的范
z 正常 ( 缺省 ) 围。
z 自定义

最大值 / 最小值 正常模式: 在正常模式下,不能编辑这些字段。


频率:最小值 0,最大值 20000
比率:最小值 0,最大值 100
脉宽:最小值 0,最大值 20000
自定义模式: 启用要自定义的模拟量 /PWM 输入。在自
对于所有类型:最小值 -32768,最大值 32767 定义模式中,可以编辑这些字段。

172 35013230 06/2011


Twido Extreme 输入 / 输出配置

Twido Extreme PWM 输入配置示例

简介
本节通过应用示例介绍如何配置 Twido Extreme PWM 输入。
在本例中,您将了解如何:
z 将 PWM 输入配置为接受单轴操纵杆,
z 使用此输入控制电机的速度和方向。

PWM 输入示例
如下图所示,可以通过具有 PWM 输出的单轴操纵杆以及 ATV31 驱动器来控制电
机。操纵杆位置提供速度和旋转方向 (正向或反向)。

下面列出了本示例中所标记的不同硬件:

图标签 参考 描述
1 TWDLEDCK1 Twido Extreme PLC
2 TWDXPUJ1A 单轴操纵杆
3 VW3A8114 蓝牙转换器 - 启用从 PC 到 PLC 的无线传输
4 ATV31H037M2A Altivar ATV31 驱动器 - 更改电机的速度和方向
5 VW3CANTAP2 CANopen 接线盒 (TAP) - 将 ATV31 驱动器连接到 PLC
6 - 电机 0.37kW 1490 rpm

35013230 06/2011 173


Twido Extreme 输入 / 输出配置

图标签 参考 描述
7 - 配备 TwidoSuite 软件的 PC
8 XB6AV5BB 黄色的 Harmony 6 型信令单元
9 XB6AV4BB 红色的 Harmony 6 型信令单元
10 XB6AV3BB 绿色的 Harmony 6 型信令单元

电机的方向和速度取决于由操纵杆输出信号提供的 PWM 占空比:

条件 结果
如果占空比 > 52% 电机以顺时针方向旋转,速度 = (占空比 - 50)*30 rpm,绿色
信号单元亮起
如果 48% ≤占空比 ≤52% 电机停止,红色信号单元亮起
如果占空比 < 48% 电机以逆时针方向旋转,速度 = (50 - 占空比) *30 rpm,黄
色信号单元亮起

在 PLC 与 Altivar 驱动器之间使用了 CANopen 网络。 Twido Extreme 具有集成的


CANopen 现场总线,因此无需其他 CANopen 模块。
Altivar 驱动器由 PLC 程序中使用的 DRIVE 宏控制。

创建应用示例
请执行以下步骤,使用 TwidoSuite 创建本节前面描述的示例。

步骤 操作
1 在 " 描述 " 窗口中使用拖放方式从描述目录声明 Twido Extreme,并使用
ATV31 驱动器创建 CANopen 网络以控制电机速度和方向。
注:实现 CANopen 总线 ( 参见第 256 页 ) 描述如何创建 CANopen 网络。对于
Twido Extreme,无需 CANopen 主模块,因为该模块已集成在
Twido Extreme 中。CANopen 现场总线概览 , 第 242 页中介绍了 Twido Extreme
的其他 CANopen 特性。
2 使用 TwidoSuite 配置 PWM 输入,以便将由单轴操纵杆生成的 PWM 信号转换
为比率。
3 编写程序,以便根据从输入信号计算得出的比率值激活 Twido Extreme 输出。
4 将前面列出的硬件组件物理连接到 Twido Extreme PLC。
5 将程序从 PC 传输到 PLC。

174 35013230 06/2011


Twido Extreme 输入 / 输出配置

配置 PWM 输入
在程序 →配置 →配置硬件 →输入选项卡 →PWM 输入表中,在 " 类型 " 字段中为
%IW0.7 输入选择比率,如下所示:

注意:在 PWM 输入配置 ( 参见第 171 页 ) 中提供了有关这些配置字段的详细信息。

35013230 06/2011 175


Twido Extreme 输入 / 输出配置

PWM 输入编程示例
此程序首先在梯形图中显示,然后显示在指令列表中。此程序使用宏 DRIVE 来控制
Altivar 驱动器。

176 35013230 06/2011


Twido Extreme 输入 / 输出配置

PWM 输入应用示例指令列表程序:
---- (* 启动宏 DRIVE *)
0 LD 1
1 [ D_MANAGER 0 ]
---- (* 如果 PWM 比率 > 52%,则正向运行 *)
2 LD [ %IW0.0.7 > 52 ]
3 ST %Q0.0.5
4 [ D_RUN_FWD 0 ]
---- (* 如果 PWM 比率 < 48%,则反向运行 *)
5 LD [ %IW0.0.7 < 48 ]
6 [ D_RUN_REV 0 ]
7 ST %Q0.0.6
---- (* 如果 PWM 比率介于 48% 与 52 % 之间,则停止电机 *)
8 LD [ %IW0.0.7 >= 48 ]
9 AND [ %IW0.0.7 <= 52 ]
10 [ D_STOP 0 ]
11 ST %Q0.0.7
---- (* 将比率调整为电机速度 *)
12 LD %Q0.0.5
13 [ %MW101 := %IW0.0.7 - 50 ]
14 [ %MW100 := 30 * %MW101 ]
----
15 LD %Q0.0.6
16 [ %MW101 := 50 - %IW0.0.7 ]
17 [ %MW100 := 30 * %MW101 ]
---- (* 将速度发送到 ATV *)
18 LD 1
19 [ %MW3 := 0 ]
20 [ %MW4 := %MW100 ]
21 [ D_SELECT_SPEED 0 ]
---- (* 复位错误位 *)
22 LD %I0.0.0
23 [ D_CLEAR_ERR 0 ]

35013230 06/2011 177


Twido Extreme 输入 / 输出配置

梯形图 / 指令列表 I/O 语法


注意:在梯形图程序中, I/O 地址语法为 %IW0.i (i=0...8) 和 %Q0.j (j=0...18),如配
置表中显示。但是,在指令列表程序中,语法 %IW0.0.i 和 %Q0.0.j 用于引用这些相
同的地址。

输入 / 输出连接
连接硬件输入和输出:
z 将操纵杆的输出连接到 %IW0.7 Twido Extreme 输入。
z 通过接线盒将 Altivar 驱动器输入连接到 Twido Extreme CANopen 端口。
z 将 Twido Extreme 输出 %Q0.5、 %Q0.6 和 %Q0.7 连接到信令单元,以便能够
监控系统。
z 将 Altivar 驱动器连接到电机。
z 将蓝牙转换器连接到 Twido Extreme 以进行程序传输。

注意: 有关单轴操纵杆和 I/O 连接的详细信息 (请参阅)。

178 35013230 06/2011


Twido Extreme 输入 / 输出配置

8.3 Twido Extreme 输出配置

本节主题
本节介绍 Twido Extreme PLC 的输出配置。

本节包含了哪些内容?
本节包含了以下主题:
主题 页
Twido Extreme 离散量输出配置 180
Twido Extreme 脉冲 (PLS) 发生器输出配置 183
Twido Extreme 在标准模式下的 PWM 输出配置 189
Twido Extreme 在液压模式下的 PWM 输出配置 197
Twido Extreme 液压 PWM 输出配置示例 205

35013230 06/2011 179


Twido Extreme 输入 / 输出配置

Twido Extreme 离散量输出配置

简介
本节描述离散量输出的配置。

离散量输出
离散量输出是 Twido Extreme 输出的唯一类型。
离散量输出可以是标准离散量输出,也可以与功能块相关 (如 PWM 或 PLS),还
可以提供有关 PLC 状态的信息 (此类输出限制为 50 mA)。一个输出以反向逻辑执
行:值为 1 表示 0 (或低)电压,值为 0 表示高电压。这对某些应用场合 (如继电
器)很有用。

离散量输出地址
下表显示分配给 Twido Extreme 离散量输出的地址:

离散量输出 (共 19 个)
类型 最大数量 地址范围
PLS/PWM 3 %Q0.0 - %Q0.2
正常 (1A)/PLC 状态 (限制为 50mA) 1 %Q0.3

正常 (1A) 1 %Q0.4

正常 (300 mA) 13 %Q0.5 - %Q0.17

反转 1 %Q0.18
注:%Q0.3 是唯一可用来提供 PLC 状态的地址,但此地址也可用作正常的离散量地址。

180 35013230 06/2011


Twido Extreme 输入 / 输出配置

离散量输出配置
梯形图 / 指令列表程序中的离散量输出可以在 TwidoSuite 的 " 程序 →配置 →配置硬
件 模块配置 " 窗格中查看。
在模块配置输出选项卡中向下滚动可以列出已用和可用的模拟量输出,如下所示:

注意:在在线模式下,还可以显示输出值。
前 3 个输出 %Q0.0 - %Q0.2 专用于 PLS/PWM 功能块。
输出 %Q0.3 - %Q0.17 为正常离散量输出,表示各种可能的输出电流和保护级别。
输出 %Q0.3 可用于提供 PLC 状态。
输出 %Q0.18 为反向逻辑输出 (值为 1 表示 0 (或低)电压,值为 0 表示高电
压)。
输出 %Q0.10 到 %Q0.17 仅适用于 12VDC 电源,且仅当选中 12VDC 电源复选框时
才可用。这些输出不适用于 24 VDC。

35013230 06/2011 181


Twido Extreme 输入 / 输出配置

输出配置字段
下表详细介绍了上图中显示的输出配置字段。此表中的某些字段仅用于显示,因此
不能修改。

字段 可能的值 功能
12V 电源复选框 选中或不选中复选框。 如果使用 12 VDC 电源,则选择此复选框。
要激活 12 VDC 电源,请选择此复选框,此时将弹出 如果选择 12 VDC 复选框,则所有输出都可
一条消息,通知您输出 %Q0.10 到 %Q0.17 现在已处 用。
于活动状态。 如果清除 12 VDC 复选框,则电源为 24 V,
要禁用 12 VDC 电源,请清除此复选框,此时将弹出 %Q0.10 到 %Q0.17 不可用。
一条消息,通知您输出 %Q0.10 到 %Q0.17 不再处于
活动状态。
已使用 选中或不选中复选框。 仅用于显示。显示程序使用的输出。
地址 输出地址 %Q0.0-%Q0.18 每个离散量输出的地址。
符号 用户定义的值:最大 32 个字母数字字符。 提供输出的名称。可以编辑此字段。应用
后,此名称将显示在梯形图 / 指令列表程序
中。
状态 复选框:选择或未选中 用于指示 PLC 状态。
可以通过选择并单击 " 应用 " (或通过更改窗口,此 如果 PLC 处于运行模式,则输出设置为 1。
时将询问您是否应用更改)来应用更改。 如果 PLC 处于停止模式或检测到错误,则
输出设置为 0。
使用者 用户逻辑 仅用于显示。列出使用此输出的任何功能
块或程序逻辑。

182 35013230 06/2011


Twido Extreme 输入 / 输出配置

Twido Extreme 脉冲 (PLS) 发生器输出配置

简介
本节介绍 Twido Extreme PLC 的 PLS 输出的配置。

脉冲 (PLS) 发生器输出
PLS 是一个特殊功能,它在 Twido Extreme PLC 上具有 %Q0.0 - %Q0.2 作为专用
输出。用户定义的功能块在这些输出上生成脉冲信号。此方波信号有一个固定不变
(用户可配置)的周期 P 以及一个固定不变 (不可配置)的占空比。 PLS 发生器的
占空比在出厂时设置为 50% (TON / P)。
PLS 占空比的示意图 = 50% (TON / P):

Twido Extreme 支持 3 个 PLS 发生器。

专用 PLS/PWM 输出
输出 %Q0.0 - %Q0.2 专用于 %PLS 或 %PWM 功能块。例如,创建功能块 %PLSi
(i=0...2) 会自动将输出 %Q0.i 分配给此功能块。一旦此输出用于 %PLSi,它就不能
由 %PWMi 功能块或在程序中的其他位置再次使用。

35013230 06/2011 183


Twido Extreme 输入 / 输出配置

%PLS 功能块
下图显示 Twido Extreme PLC 的 %PLS 功能块的梯形图表示形式。

一个 %PLS 功能块具有多个变量,下表中汇总了这些变量。配置 %PLS 功能块 ( 参


见第 186 页 ) 介绍如何配置这些变量。
%PLSi (i = 0...2) 功能块具有以下变量:

对象 描述 可能的值 写访问
IN 启用功能 0,1 N
如果 IN=1,则将在 PLSi.Q 处生成
脉冲
如果 IN=0,则 PLSi.Q 设置为 0
PLSi.R 复位为 0 0,1 N
如果 PLSi.R=1,则输出 %PLSi.Q
和 %PLSi.D 设置为 0。
PLSi.Q 在程序中生成 0,1 N
如果 PLSi.Q=1,则在已配置的专
用输出 %Q0.i 处生成脉冲信号。
PLSi.D 循环结束 0,1 N
如果 PLSi.D=1,则信号生成已完
成。已达到所需的脉冲数。
TYPE 为可以定义的脉冲数定义可能的范围。 单或双 (字) 是
ADJUSTABLE 此项定义是否可以修改预设周期值。 Y/N 是
"Y" 表示可以修改预设值。
PLS0.P 和 预设周期 频率范围:10...1000 Hz 是
PLS1.P (这是根据配置表中用户定义的频率计算 给出以下
得出的。) 周期范围:100...10 000 (以
10 微秒为单位)。

1 变量 PLSi.N (或对于双字为 ND)定义所需的脉冲总数。这一点必须在用户正在使用的梯形图 / 指令列表程序 (如

操作块)中定义,如下面的步骤 1 所示。

184 35013230 06/2011


Twido Extreme 输入 / 输出配置

对象 描述 可能的值 写访问
PLS2.P 预设周期 频率范围:10...5000 Hz 是
(这是根据配置表中用户定义的频率计算 给出以下
得出的。) 周期范围:20...10 000 (以 10 微
秒为单位)。
PLSi.N1 要生成的总脉冲数。 0 ≤PLSi.N ≤32 767 是

PLSi.ND 1 要生成的总脉冲数 (双字格式)。 0 ≤PLSi.ND ≤4 294 967 295 是


1
变量 PLSi.N (或对于双字为 ND)定义所需的脉冲总数。这一点必须在用户正在使用的梯形图 / 指令列表程序 (如
操作块)中定义,如下面的步骤 1 所示。

下图显示 PLS 功能块的脉冲图。

35013230 06/2011 185


Twido Extreme 输入 / 输出配置

配置 %PLS 功能块
下表显示如何配置 %PLS 功能块。

步骤 操作
1 在梯形图 / 指令列表编辑器中创建 %PLSi 功能块 (i = 0..2) 梯形图功能块 ( 参见
第 386 页 )。
2 示例:梯形图程序,第 2 部分为功能块,第 1 部分中配置了 %PLSi.N 变量 (1)。

(1) 变量 PLSi.N (对双字为 ND)定义所需的脉冲总数。这一点必须在正在使用


的梯形图 / 指令列表程序 (如操作块)中定义,如步骤 1 所示。
缺省值为 0。要生成不受限制的脉冲数,应将 %PLSi.N 或 %PLSi.ND 设置为
零。

186 35013230 06/2011


Twido Extreme 输入 / 输出配置

步骤 操作
3 示例:以下是该示例的指令列表程序 (1)。

(1) 变量 PLSi.N (对双字为 ND)定义所需的脉冲总数。这一点必须在正在使用


的梯形图 / 指令列表程序 (如操作块)中定义,如步骤 1 所示。
缺省值为 0。要生成不受限制的脉冲数,应将 %PLSi.N 或 %PLSi.ND 设置为
零。
4 打开 PLS 配置表 ( 参见第 188 页 )
结果:

此处将显示先前在梯形图编辑器中为功能块定义的 %PLSi 地址 (在 " 已使用 "


复选框中显示为已选中)。最多可定义 3 个 %PLS 功能块。
5 单击左侧窗格中与要配置的 %PLSi 对应的行。如果已在程序中的其他地方使用
了专用输出 Q0.i,则会收到一条错误消息,通知您不能配置此 %PLS。在此情
况下,请返回程序,并分配另一个 %PLS 或 %Q。

35013230 06/2011 187


Twido Extreme 输入 / 输出配置

步骤 操作
6 只有 " 常规 " 选项卡适用于 %PLS 功能块。其他选项卡 (" 液压 " 和 " 输出 ")
仅与 %PWM 功能块相关,不适用于 %PLS。
在右侧窗格 (" 常规 " 选项卡)中,
z 选择类型 %PLS
z 输入频率 (2) (3)
对于 %PLS0 和 %PLS1:频率 10 ...1000 Hz => 周期 100 ... 10 000
对于 %PLS2:频率 10 ...5000 Hz => 周期 20 ... 10 000
z 选择或清除双字
z 选择或清除可调整

不能在此窗口中配置脉冲数。 (1)
(1) 变量 PLSi.N (对双字为 ND)定义所需的脉冲总数。这一点必须在正在使用

的梯形图 / 指令列表程序 (如操作块)中定义,如步骤 1 所示。


(2)
如果输入的频率值超出范围,将显示一条错误消息。
(3)
根据您输入的频率值 F 计算周期 P(以 10 微秒表示)(P = 1/F)。如果频率为
10,则周期为 10 000 ;如果频率为 1000,则周期 100。
7 要配置所有其他所需的 PLS 输出 (包括程序中尚未使用的此类输出),请重复
执行步骤 3 和步骤 4。
当选择另一个 %PLS 时,将会询问您是否应用更改,此时请回答 " 是 "。
8 单击应用 (或更改窗口,此时系统将询问您是否应用更改)。
9
如果您使用 按钮返回到上一个屏幕,先前的窗口将显示其以前的状态。

打开 %PLS 配置表
下表显示如何打开 %PLS 配置表

步骤 操作
1 要从程序窗口打开 %PLS 配置表:
双击梯形图编辑器中的 %PLS 功能块。
2 要从 TwidoSuite 中的其他位置打开 %PLS 配置表:
1. 选择程序 →配置 →配置数据
2. 从对象目录中选择 I/O 对象
3. 从 I/O 对象中选择 %PLS/%PWM

188 35013230 06/2011


Twido Extreme 输入 / 输出配置

Twido Extreme 在标准模式下的 PWM 输出配置

简介
本节描述标准模式下的 PWM 输出配置。

PWM 输出
PWM 是一个特殊功能,可分配给输出。此矩形信号有一个固定不变 (用户可配
置)的周期 P,但其脉宽 TON 和占空比 (TON / P) 可能会发生变化。
PWM 占空比的示意图:

PWM 输出地址
最多可以配置 3 个 PWM 输出。
PWM 分配给输出 %Q0.0 到 %Q0.2:

PWM 地址 专用输出
%PWM0 %Q0.0
%PWM1 %Q0.1
%PWM2 %Q0.2

输出 %Q0.0 - %Q0.2 专用于 %PWM 功能块或 %PLS 功能块。例如,创建功能块


%PWMi (i=0...2) 时,会自动将输出 %Q0.i 分配给此功能块。一旦此输出用于
%PWMi,它就不能由 %PLSi 功能块或在程序中的其他位置再次使用。

35013230 06/2011 189


Twido Extreme 输入 / 输出配置

%PWM 功能块
下图显示 Twido Extreme PLC 的 %PWM 功能块的梯形图表示形式。

一个 %PWM 功能块具有多个变量,下表中汇总了这些变量。配置 %PWM 功能块 (


参见第 192 页 ) 介绍如何配置这些变量。
%PWMi (i = 0...2) 功能块具有以下变量:

对象 描述 可能的值 写访问
IN 启用功能 0,1 N
如果 IN=1,将在已配置的专用输出 %Q0.i (i=0,1,2)
处生成脉冲。
如果 IN=0,输出通道将设置为 0
%PWMi.R 占空比 该值给出周期 P 中信号为状态 1 的百分比。这样, 是
修改程序中的 % PWMi.R 占空比可 脉宽 TON 等于:
以调节信号的宽度。 TON = P * (%PWMi.R/100)。
(P 为用 10 微秒表示的周期)。
缺省值为 0,大于 100 的值被视为 100。
对于 Q0.0 和 Q0.1,占空比值必须介于 5% 与 95%
之间。
对于 Q0.2,占空比值必须介于 20% 与 80% 之间。
%PWMi.R 必须在正在使用的梯形图/指令列表程序
(如操作块)中定义,如下面的步骤 1 所示。
PWM0.P 和 预设周期 频率范围:10...1000 Hz 是
PWM1.P (这是根据配置表中用户定义的频率 给出以下
计算得出的。) 周期范围:100...10 000 (以 10 微秒为单位)。
PWM2.P 预设周期 频率范围:10...5000 Hz 是
(这是根据配置表中用户定义的频率 给出以下
计算得出的。) 周期范围:20...10 000 (以 10 微秒为单位)。
ADJUSTABLE 此项定义是否可以修改预设周期值。 Y/N 是
"Y" 表示可以修改预设值。

190 35013230 06/2011


Twido Extreme 输入 / 输出配置

具有可变占空比的 PWM 功能块


下图显示具有可变占空比的 PWM 功能块的脉冲图。

在以下编程示例中,信号宽度由程序根据控制器输入 %I0.0 和 %I0.1 的状态进行修


改。
如果 %I0.1 和 %I0.2 设置为 0,而 %PWM0.R 比率设置为 20%,则信号处于状态 1
的持续时间为:20% x 500 毫秒 = 100 毫秒。
如果 %I0.0 设置为 0, %I0.1 设置为 1, %PWM0.R 比率设置为 50%,则持续时间
为 250 毫秒。
如果 %I0.0 和 %I0.1 都设置为 1,而 %PWM0.R 比率设置为 80%,则持续时间为
400 毫秒。
编程示例:

35013230 06/2011 191


Twido Extreme 输入 / 输出配置

配置 %PWM 功能块
下表显示如何配置 %PWM 功能块。

步骤 操作
1 在梯形图 / 指令列表编辑器中创建 %PWMi 功能块 (i = 0..2) 梯形图功能块 ( 参见
第 386 页 )。
示例:梯形图程序,第 2 部分为功能块,第 1 部分中配置了占空比 %PWM0.R
变量。

以下是该示例的指令列表程序:

192 35013230 06/2011


Twido Extreme 输入 / 输出配置

步骤 操作
2 打开 PMW 配置表 ( 参见第 194 页 )
结果:

此处将显示先前在梯形图编辑器中为功能块定义的 %PWMi 地址 (在 " 已使用 "


复选框中显示为已选中)。最多可以定义 3 个 %PWM 功能块。 PMW 输出配置
介绍了这些字段 ( 参见第 189 页 )。
3 单击左侧窗格中与要配置的 %PWMi 对应的行。如果已在程序中的其他地方使
用了专用输出 Q0.i,则会收到一条错误消息,通知您不能配置此 %PWM。在此
情况下,请返回程序,并分配另一个 %PWM 或 %Q。
4 已选择了 PWM 的 " 常规 " 选项卡与 %PWM 输出相关。 " 液压 " 选项卡与液压
模式 ( 参见第 197 页 ) 下的 %PWM 输出相关。
在右侧窗格 (" 常规 " 选项卡)中,
z 选择类型 %PWM
z 输入频率 (1) (2)
对于 %PLS0 和 %PLS1:频率 10 ...1000 Hz => 周期 100 ... 10 000
对于 %PLS2:频率 10 ...5000 Hz => 周期 20 ... 10 000
z 选择或清除可调整
z 选择相对液压或连续液压将启用液压模式。

在此窗口中不能配置占空比。这一点必须在正在使用的梯形图 / 指令列表程序
(如操作块)中定义,如步骤 1 所示。
(1)
如果输入的频率值超出范围,将显示一条错误消息。
(2)
根据您输入的频率值 F 计算周期 P (以 10 微秒表示) (P=1/F)。如果频率为
10,则周期为 10 000 ;如果频率为 1000,则周期 100。
5 要配置所有其他所需的 PWM 输出 (包括程序中尚未使用的此类输出),请重
复执行步骤 3 和步骤 4。
当选择另一个 %PWM 时,系统将会询问您是否应用更改,此时请回答 " 是 "。
6 单击应用 (或更改窗口,此时系统将询问您是否应用更改)。
7
如果您使用 按钮返回到上一个屏幕,先前的窗口将显示其以前的状态。

35013230 06/2011 193


Twido Extreme 输入 / 输出配置

打开 %PWM 配置表
下表显示如何打开 %PWM 配置表

步骤 操作
1 要从程序窗口打开 %PWM 配置表:
双击梯形图编辑器中的 %PWM 功能块。
2 要从 TwidoSuite 中的其他任何位置打开 %PWM 配置表:
1. 选择程序 →配置 →配置数据
2. 从对象目录中选择 I/O 对象
3. 从 I/O 对象中选择 %PLS/%PWM

PWM 输出配置
可以在程序 →配置 →配置数据 →I/O 对象 →%PLS/%PWM 中查看并配置 PWM 输
出。
下面显示了 PWM 配置表的 " 常规 " 选项卡:

194 35013230 06/2011


Twido Extreme 输入 / 输出配置

PWM 输出的 " 常规 " 选项卡配置字段


下表描述了 PWM 输出配置字段。根据说明,此表中的某些字段只是为了便于显示
(只读),因此不能进行修改。

字段 可能的值 功能
过滤器框 包含以下选项的下拉列表框: 使您可以查看 / 隐藏已使用 / 未使用的对象。
z 所有
z 已使用
z 未使用

已使用 选中或不选中复选框。 仅用于显示。显示程序使用的 PWM 输出。


选中表示已使用。 不能编辑此字段。
清除表示未使用。
地址 PWM 输出地址: 每个 PWM 输出的地址。
z %PWM0
z %PWM1
z %PWM2

符号 用户定义的值:最大 32 个字母数字字符。 提供 PWM 输出的名称。可以编辑此字段。


应用后,此名称将显示在梯形图 / 指令列表
程序中。
PLS/PWM 类型 有 3 个选项可供选择: 选择生成 PLS 或 PWM。
z 未使用
z %PLS
z %PWM

频率 用户定义的在以下范围内的值: PWM 输出信号的频率。


z 对于 %PLS0 和 %PLS1:10 ... 1000 Hz (在标
准模式下)。
对于 %PLS2:10 ... 5000 Hz (在标准模式
下)。
z 50 Hz ...400 Hz (在液压模式 ( 参见第 197 页 )
下)。
周期 由频率得出 (P=1/F)。 PWM 输出信号的周期 (以 10 微秒表示 )。
注:通过使用 %PLSi.P 参数,可以在应用程序中修
改周期。
可调整 选中或不选中复选框 此项定义是否可以修改预设周期值。
如果选中,则可以通过 TwidoSuite 程序或动态数据
表编辑器,使用 %PLSi.P 参数来修改周期。
如果未选中,则不能使用 %PLSi.P 参数来修改周
期。
相对液压 复选框 (请参见 Twido Extreme 在液压模式下的 启用 / 禁用液压模式。
连续液压 PWM 输出配置 , 第 197 页)
注:选择这些复选框可启用液压选项卡和输入选项
卡。

35013230 06/2011 195


Twido Extreme 输入 / 输出配置

字段 可能的值 功能
专用输出 PWM 专用输出: 专用于 PWM 的输出。
z %Q0.0
z %Q0.1
z %Q0.2

应用 / 取消 单击: 保存或放弃对 TwidoSuite 项目所做的更改。


z 应用以确认并保存更改
z 取消以放弃更改

占空比
使用 %PWMi.R 参数可以在用户程序中设置和修改占空比 (R)。
对于 Q0.0 和 Q0.1,占空比值必须介于 5% 与 95% 之间。
对于 Q0.2,占空比值必须介于 20% 与 80% 之间。

196 35013230 06/2011


Twido Extreme 输入 / 输出配置

Twido Extreme 在液压模式下的 PWM 输出配置

简介
本节描述液压模式下的 PWM 输出配置。

液压模式下的 PWM 输出
PWM 是一个特殊功能,可分配给输出。此矩形信号有一个固定不变 (用户可配
置)的周期,但占空比可能发生变化。 PWM 输出 ( 参见第 189 页 ) 详细介绍了相
关内容。
在液压模式下, PWM 使得 Twido Extreme 能够控制液压系统。

PWM 输出地址
最多可以配置 3 个 PWM 输出。
PWM 分配给输出 %Q0.0 到 %Q0.2:

PWM 地址 专用输出
%PWM0 %Q0.0
%PWM1 %Q0.1
%PWM2 %Q0.2

输出 %Q0.0.0 - %Q0.0.2 专用于 %PWM 或 %PLS 功能块。例如,创建功能块


%PWMi (i=0...2) 时,会自动将输出 %Q0.i 分配给此功能块。一旦此输出用于
%PWMi,它就不能由 %PLSi 功能块或在程序中的其他位置再次使用。
注意:在液压模式下,还可以使用其他离散量输入和输出。但是, %Q0.0-%Q0.2
这三个输出保留用于 %PWM0-%PWM2 的信号输出,因此不能重复使用。

35013230 06/2011 197


Twido Extreme 输入 / 输出配置

PWM 输出的 " 液压 " 选项卡配置


可以在程序 →配置 →配置数据 →I/O 对象 →%PLS/%PWM →" 液压 " 选项卡中查看
和配置 PWM 输出
仅当第一次选择 PWM,并在下面显示的 " 常规 " 选项卡中选择相对液压或连续液
压时,才启用 " 液压 " 选项卡中的字段:

下面显示了 PWM 配置表,液压选项卡:

198 35013230 06/2011


Twido Extreme 输入 / 输出配置

PWM 输出的 " 液压 " 选项卡配置字段


下表介绍 PWM 输出的液压选项卡配置字段。

字段 可能的值 功能
命令 选择以下两个选项之一: 请参阅抖动定义 , 第 199 页和斜坡定义 ,
z 抖动 第 200 页
z 斜坡

偏移 斜坡模式:为以下各项设置处于范围 [0 秒 ...9 秒 ] 内的 设置斜坡的上升部分和下降部分的持续


值: 时间 (斜坡模式)或设置抖动频率 (抖
z 慢速斜坡 动模式)。
z 快速斜坡

抖动模式:为以下各项设置处于范围 [2 Hz...400 Hz] 内的


值:
z 慢速抖动
z 快速抖动

频率 / 周期 用户定义的在以下范围内的值: 修改在 " 常规 " 选项卡中设置的频率值。


z [50 Hz...400 Hz (在液压模式下) ] 周期是根据用户输入的频率计算得出
的,因此不能直接修改。
应用 / 取消 单击: 保存或放弃对 TwidoSuite 项目所做的更
z 应用以确认并保存更改 改
z 取消以放弃更改

抖动定义
粘滞和滞后可能会使控制液压阀的过程变得毫无规律和不可预测:
z 当输入信号变化很小时,粘滞可能阻止阀槽移动,并且
z 对于同一个命令信号输入,滞后可能导致阀槽进行不同的移位,具体取决于发生
的变化是增还是减。
抖动有两个定义:
z 在常量区中 ( 参见第 203 页 ),阀槽围绕所需位置进行快速、小范围的移动,目的
是为了保持阀槽移动以避免粘滞。此移动量限制为围绕所需位置的总位移值的
5%。
z 在上升斜坡或下降斜坡中 ( 参见第 203 页 ),阀的位置可以改变频率。例如,对于
一个频率为 100 Hz 的抖动,阀每隔 10 毫秒就会改变一次位置。
注意:抖动幅度必须足够大,而且频率足够慢,以使阀槽能够正常回应。但是,抖
动幅度不能过大,频率也不能过慢,否则将不能在液压输出中引起脉动。

35013230 06/2011 199


Twido Extreme 输入 / 输出配置

斜坡定义
斜坡用于减慢阀驱动对于不断变化的输入命令的响应。这样,当命令输入信号发生
快速变化时,就会产生平滑过渡。
如果输入信号变化幅度低于斜坡设置,则斜坡不起作用。
可以固定或调整斜坡。对于快速 (或慢速)设置,斜坡的斜率对于上升部分和下降
部分都相同。
在相对液压模式中, Twido Extreme 允许您配置总共四个斜坡 (2 个慢速 / 快速上
升斜坡和 2 个慢速 / 快速下降斜坡), PWM 比率可在 5% 和 95% 之间变化。独立
斜坡将对上升部分和下降部分使用单独的斜坡命令 (请参见下面的内容)。必须至
少设置一个上升斜坡和一个下降斜坡。
对称斜坡对于上升部分和下降部分具有相同的斜率。通过对每个斜坡使用单独的斜
坡命令,可以实现独立的加减速控制。如果将双线圈双向阀驱动用于四个电位计,
则可以控制 4 个斜坡 (慢速 / 快速上升斜坡和慢速 / 快速下降斜坡)。
在连续液压模式中, Twido Extreme 允许您配置两个斜坡 (慢速和快速),同时定
义一个您希望 PWM 比率达到的设定点值。

PWM 斜坡配置
可以在程序 →配置 →配置数据 →I/O 对象 →%PLS/%PWM →输入选项卡中查看和配
置 PWM 斜坡。
在 " 常规 " 选项卡中选择相对液压之后所获得的 PWM 配置表,输入选项卡将显示
如下:

200 35013230 06/2011


Twido Extreme 输入 / 输出配置

在 " 常规 " 选项卡中选择连续液压之后所获得的 PWM 配置表,输入选项卡将显示


如下:

PWM 斜坡的 " 输入 " 选项卡配置字段


下表介绍 PWM 斜坡的配置字段。仅当在 " 常规 " 选项卡中选择液压复选框 (连续
或相对)时, " 输入 " 选项卡才可用。通过在这些字段中输入地址,可以指定四个
斜坡。

液压模式 字段 可能的值 功能
相对 慢速上升斜坡 当触发器设置为 1 时,将启动
慢速上升斜坡转换。比率缓慢
从 5% 上升到 95%。
快速上升斜坡 当触发器设置为 1 时,将启动
选择用于斜坡的触发器: 快速上升斜坡转换。比率快速
z 存储器位 %Mi (i=0...99) 从 5% 上升到 95%。
慢速下降斜坡 z 数字量输入 %I0.j (j=0...19) 当触发器设置为 1 时,将启动
z 数字量输出 %Q0.k (k=0...18)) 慢速下降斜坡转换。比率缓慢
从 95% 下降到 5%。
快速下降斜坡 当触发器设置为 1 时,将启动
快速下降斜坡转换。比率快速
从 95% 下降到 5%。
相对 / 连续 当前比率 z %MWi (i=0...99) PWM 比率的当前值。
z %QWCxyz(x= 0 或 1 ; y = 0...31 ; z = 0...7)

35013230 06/2011 201


Twido Extreme 输入 / 输出配置

液压模式 字段 可能的值 功能
连续 慢速斜坡 当触发器设置为 1 时,将启动
选择用于斜坡的触发器: 慢速斜坡转换。比率缓慢从当
z 存储器位 %Mi (i=0...99) 前比率值更改为设定点值。
快速斜坡 z 数字量输入 %I0.j (j=0...19) 当触发器设置为 1 时,将启动
z 数字量输出 %Q0.k (k=0...18)) 快速斜坡转换。比率快速从当
前比率值更改为设定点值。
设定点 z %IW0i (i=0...8) 比率要达到的设定点。
z %IWCxyz(x= 0 或 1 ; y = 0...31 ; z = 0...7)
z %MWi (i=0...99)
z %QWCxyz(x= 0 或 1 ; y = 0...31 ; z = 0...7)

应用 / 取消 单击: 保存或放弃对 TwidoSuite 项目


z 应用以确认并保存更改 所做的更改。
z 取消以放弃更改

斜坡优先级
如果为同一斜坡同时设置慢速和快速触发器,则使用以下定义的优先级顺序以保护
阀:
z 快速下降
z 慢速下降
z 慢速上升
z 快速上升

占空比
使用 %PWMi.R 参数可以在用户 (梯形图或指令列表)程序中设置和修改占空比
(R)。对于液压应用程序,占空比必须处于以下范围内:5% ≤R ≤95%。
对于 Q0.0 和 Q0.1,占空比值必须介于 5% 与 95% 之间。
对于 Q0.2,占空比值必须介于 20% 与 80% 之间。

202 35013230 06/2011


Twido Extreme 输入 / 输出配置

在线模式下的液压 PWM 输出
在在线模式下,可以从程序 →调试 →监视软件配置中监视 PWM 输出斜坡的状态:

在在线模式下, PWM 信号有 6 种不同的状态,如下所示:

状态编号 状态 在线图
1 死区

2 快速上升斜坡转换

35013230 06/2011 203


Twido Extreme 输入 / 输出配置

状态编号 状态 在线图
3 慢速上升斜坡转换

4 常量区

5 快速下降斜坡转换

6 慢速下降斜坡转换

Twido Extreme 操作模式对 PWM 输出的影响

系统位状态 操作模式 影响
%S0=1 冷重启 将输出复位为其初始状态,且输出信号为空。
%S1=1 热重启 输出重启,以进入断电前的同一状态。
%S9=1 PLC 处于 " 停止 " 模式 输出 %Q0.0、 %Q0.1 和 %Q0.2 设置为 0,而
或 不考虑系统位 %S8 的状态。
在运行模式下复位输出

204 35013230 06/2011


Twido Extreme 输入 / 输出配置

Twido Extreme 液压 PWM 输出配置示例

概述
本节通过一个应用示例介绍如何配置液压模式下的 PWM 输出。

液压 PWM 输出配置过程
请执行以下步骤,将 PWM 输出配置为控制液压系统:

阶段 描述
1 配置 PWM 输出的 " 常规 " 选项卡
2 配置 PWM 输出的 " 液压 " 选项卡
3 配置 PWM 输出的 " 输入 " 选项卡

PWM 输出配置窗口访问
执行以下操作,可以访问输出配置窗口:
z 双击梯形图程序中的 PWM 功能块
z 或选择程序 →配置 →配置数据 →I/O 对象 →%PLS/%PWM

PWM 输出的 " 常规 " 选项卡配置


按如下方式配置 PWM 输出的 " 常规 " 选项卡:

步骤 操作
1 在 " 类型 PLS/PWM" 字段中选择 %PWM。
2 将频率设置为 150 Hz
结果:周期 (以 10 微秒为单位)根据频率计算得出 (P=1/F)
3 选择其中一个 " 液压 " 复选框 (" 连续 " 或 " 相对 ")以访问液压选项卡和输入选
项卡
4 结果:

35013230 06/2011 205


Twido Extreme 输入 / 输出配置

PWM 输出的 " 液压 " 选项卡配置


按如下方式配置 PWM 输出的 " 液压 " 选项卡:

步骤 操作
1 在 " 命令 " 字段中选择 " 斜坡 "。
2 将 " 慢速位移 " 设置为 6 秒。
3 将 " 快速位移 " 设置为 1 秒。
4 如果需要,请修改先前设置的频率。
5 结果:

PWM 输出的 " 输入 " 选项卡配置


按如下方式配置 PWM 输出的 " 输入 " 选项卡:

步骤 操作
1 设置慢速上升斜坡。
2 设置快速上升斜坡。
3 设置慢速下降斜坡。
4 设置快速下降斜坡。
5 设置当前比率 (可选)
6 单击 " 应用 " 以保存所有选项卡中的更改。
7 结果:

206 35013230 06/2011


TwidoSuite V2.3
安装 AS-i 总线
35013230 05/2009

安装 AS-i V2 总线

9
本章主题
本章介绍了 AS-i 主模块 TWDNOI10M3 及其从站的软件安装。

本章包含了哪些内容?
本章包含了以下主题:
主题 页
AS-i V2 总线简介 208
常规功能描述 209
软件设置原则 212
AS-i 总线配置屏幕描述 213
AS-i 总线配置 215
在线模式下的 AS-i 窗口描述 220
从站地址的修改 223
以在线模式更新 AS-i 总线配置 225
AS-i V2 从站的自动寻址 229
如何将从站设备插入到现有 AS-i V2 配置中 230
已替换的 AS-i V2 从站的自动配置 231
与连接到 AS-i V2 总线的从站设备相关联的 I/O 寻址 232
AS-i 总线的编程和诊断 234
AS-i V2 总线接口模块操作模式: 239

35013230 06/2011 207


安装 AS-i 总线

AS-i V2 总线简介

简介
AS-i 总线 (执行器传感器接口)允许在自动化的最低级别下在传感器设备 / 执行器
的单个电缆上进行互连。
这些传感器 / 执行器将在文档中定义为从站设备。
要实现 AS-i 应用程序,需要将应用程序的物理环境定义到它随后将集成以确保其软
件实现的设备中 (扩展总线、电源、处理器、模块、连接至总线的 AS-i 从站设
备)。
这是第二个方面,它将从不同的 TwidoSuite 编辑器中执行:
z 在本地模式下
z 或在在线模式下

AS-i V2 总线
AS-i 主模块 TWDNOI10M3 包括以下功能:
z M3 配置文件:该配置文件包括 AS-i V2 标准定义的所有功能,但不支持 S7-4 模
拟配置文件
z 每个模块一个 AS-i 通道
z 为具有地址 0 的从站自动寻址
z 管理配置文件和参数
z 保护系统免于总线输入上的极性接反
而 AS-i 总线允许:
z 最多 31 个标准地址从站和 62 个扩展地址从站
z 最多 248 路输入和 186 路输出
z 最多 7 个模拟从站 (每个从站最多四个 I/O)
z 最长 10 毫秒循环时间
Twido 模块型控制器、TWDLC•A24DRF 或 TWDLC••40DRF 一体型控制器最多可
连接 2 个 AS-i 主模块。

208 35013230 06/2011


安装 AS-i 总线

常规功能描述

简介
对于 AS-i 配置, TwidoSuite 软件可以使用户:
z 手动配置总线 (在总线上声明从站和分配地址)
z 根据总线上存在的设备修改配置
z 确认从站参数
z 控制器总线状态
出于此原因,所有来自于或流向 AS-i 主模块的数据都存储在特定对象 (字和位)
中。

AS-i 主模块结构
AS-i 模块包括可以使您管理从站列表和输入 / 输出数据映像的数据字段。这些信息存
储在易失性存储器中。
下图显示 TWDNOI10M3 模块构架。

说明:

地址 项目 描述
1 I/O 数据 AS-i V2 总线的 248 路输入映像和 186 路输出映像。
(IDI、 ODI)
2 当前参数 所有从站的参数映像。
(PI、 PP)

35013230 06/2011 209


安装 AS-i 总线

地址 项目 描述
3 配置 / 标识 此字段包含所有检测到的从站的所有 I/O 代码和标识代
(CDI、 PCD) 码。
4 LDS 在总线上检测到的所有从站的列表。
5 LAS 在总线上激活的从站列表。
6 LPS 在总线上提供并通过 TwidoSuite 配置的从站列表。
7 LPF 已停用从站的列表。

从站设备的结构
每个标准地址从站都具有:
z 4 个输入 / 输出位
z 4 个参数位
每个具有扩展地址的从站都具有:
z 4 个输入 / 输出位 (最后一位专用于输入数据)
z 3 个参数位
每个从站都具有自己的地址、配置文件和子配置文件 (定义变量交换)。
下图显示扩展地址从站的结构:

说明:

地址 项目 描述
1 输入 / 输出数 输入数据由从站存储,并且可被 AS-i 主模块使用。
据 主模块更新输出数据。
2 参数 参数用于进行控制,以及将内部操作模式切换到传感器或执行
器。

210 35013230 06/2011


安装 AS-i 总线

地址 项目 描述
3 配置 / 标识 此字段包含:
z 对应于 I/O 配置的代码
z 从站标识 (ID) 代码
z 从站标识代码 (ID1 和 ID2)

4 地址 从站的物理地址。

注:操作参数、地址、配置和标识数据保存在非易失性存储器中。

35013230 06/2011 211


安装 AS-i 总线

软件设置原则

概览
要遵守 TwidoSuite 中采用的基本原理,用户应该采用逐步方式创建 AS-i 应用程序。

设置原则
用户必须了解如何配置 AS-i 总线的功能 ( 参见第 230 页 )。
下表显示 AS-i 总线的不同软件实现阶段:

模式 阶段 描述
本地 声明模块 为 AS-i 主模块 TWDNOI10M3 在扩展总线上选择插
槽。
配置模块通道 选择 " 主 " 模式。
声明从站设备 为每个设备选择:
z 在总线上的插槽号
z 标准或扩展地址从站类型

确认配置参数 在从站级别确认。
全局确认应用程序 确认应用程序级别。
本地或已连接 用符号表示 (可选) 用符号表示与从站设备关联的变量。
编程 通过编程设置 AS-i V2 功能。
已连接 传输 应用程序到 PLC 的传输。
调试 在以下工具的帮助下调试应用程序:
z AS-i 窗口,一方面用于显示从站 (地址和参
数),另一方面,为它们分配所需的地址。
z 诊断屏幕可以辨别错误。

注意:AS-i 主模块在扩展总线上的声明和删除与其他扩展模块相同。但是,一旦在
扩展总线上声明了两个 AS-i 主模块, TwidoSuite 将不允许声明另外的模块。

连接之前的预防措施
在将 PC (通过软件)连接到控制器之前,为避免任何检测问题,请执行以下操
作:
z 确保总线上不物理存在具有地址 0 的从站
z 确保总线上不物理存在具有同一地址的 2 个从站

212 35013230 06/2011


安装 AS-i 总线

AS-i 总线配置屏幕描述

概览
从 AS-i 主模块的配置屏幕可以访问与模块和从站设备关联的参数。
该屏幕可以用于在离线模式下显示和修改参数。
注意:要访问 AS-i 主站模块配置屏幕,可执行下列步骤:双击 AS-i 主站模块,或
进入 " 程序 \ 配置 \ 配置硬件页 " 并单击 AS-i 主站模块。

离线模式示意图
离线模式下的配置屏幕示意图:

35013230 06/2011 213


安装 AS-i 总线

离线模式下的屏幕描述
此屏幕将组成总线的所有数据归类到以下三个信息块中:

信息块 描述
AS-i 配置 用户所需的总线映像:应出现在总线上的标准和扩展地址设置从站的视
图。沿垂直条向下移动光标可以访问下面的地址。
不可访问的地址对应于在此不能用于从站配置的地址。例如,如果声明具
有地址 1A 的新标准地址设置从站,则地址 1B 将自动变为不可访问。
从站 xxA/B 所选从站的配置:
z 特性:从站上的 IO 代码、 ID 代码、 ID1 和 ID2 代码 (配置文件)以
及注释
z 参数:可修改参数列表,其格式由用户决定,可以是二进制 (4 个复选
框)或十进制 (1 个复选框)
z 输入 / 输出:可用 I/O 及其各自地址的列表

主模式 可以激活或禁用此 AS-i 模块可用的两个功能 (例如自动寻址)。


" 网络关闭 " 可以使您强制 AS-i 总线进入离线模式。
缺省情况下, " 自动寻址 " 模式处于选中状态。
注:尚不能使用 " 数据交换激活 " 功能。

该屏幕还包括 2 个按钮:

按钮 描述
应用 保存 AS-i 总线的当前配置数据。
然后,可以将配置传送到 Twido 控制器。
取消 放弃正在进行的所有更改。

注意: 只能在离线模式下在配置屏幕中进行更改。

214 35013230 06/2011


安装 AS-i 总线

AS-i 总线配置

简介
AS-i 总线是在本地模式下在配置屏幕中配置的。
选择了 AS-i 主模块和主模式后,配置 AS-i 总线就意味着配置从站设备。

声明并配置从站的过程
在 AS-i V2 总线上创建或修改从站的过程:

步骤 操作
1 在总线映像中选择所需地址单元格 (从可用的单元格中选择):

35013230 06/2011 215


安装 AS-i 总线

步骤 操作
2 在从站配置屏幕中,输入或修改:
z 新配置文件的名称 (限于 13 个字符)
z 注释 (可选)

或单击功能快速访问栏中的从目录插入按钮 ,并从预先配置的 AS-i 配置


文件系列中选择一个从站。
针对从站的配置屏幕示意图:

注:
z 对于新从站,将显示用于配置从站的新屏幕," 地址 " 字段将显示所选地址,
缺省情况下 " 配置文件 " 字段将设置为 F,并且屏幕中的所有其他字段均为

z 对于修改,将显示从站配置屏幕,其中的字段将包含先前为所选从站定义
的值
3 输入:
z IO 代码 (与输入 / 输出配置相符)
z ID 代码 (标识符),(加上 ID1,并且是针对扩展类型的)

注:
" 输入 " 和 " 输出 " 字段显示输入通道数和输出通道数。输入 IO 代码时,将自动实
现这些字段。
4 为每个参数定义:
z 系统的确认(" 位 " 视图中已选中的复选框,或 " 十进制 " 视图中介于 0 和 15
之间的十进制值)
z 比 " 参数 X" 更有意义的名称 (可选)

注:
所选参数是提供给 AS-i 主模块的永久参数的映像。

216 35013230 06/2011


安装 AS-i 总线

步骤 操作
5 如果需要,单击地址左侧的上 / 下箭头 (随后可以选择授权的地址)或使用键
盘输入地址,在总线上可用地址的限制内修改 " 地址 "。
6 单击应用按钮确认从站配置。
结果是:
z 检查 IO 和 ID 是否已授权
z 根据 ID 代码(如果 ID 代码等于 A,则仅 " 组 "/B 从站可用)检查从站地址是
否已授权 (如果使用键盘输入)
如果出现检测到的错误,错误消息将警告用户 (例如:" 从站不能具有此地址
"),并且将再次显示带有初始值 (在配置文件或地址中,具体位置取决于情
况本身)的屏幕。

注意:软件将模拟量从站声明数限制为最大 7 个。
注意:关于 Schneider AS-i 目录:单击 " 从目录插入 " 时,可以创建和配置 " 专用系
列 " 中的从站 (Schneider AS-i 目录中的从站除外)。

AS-i 目录

使用从目录插入按钮 有助于配置总线上的从站。使用来自 Schneider 产品系


列的从站时,使用此按钮可以简化并加速配置过程。

注意:可通过单击插入到目录按钮来添加 AS-i 从站
单击从目录插入会打开下面的窗格:

35013230 06/2011 217


安装 AS-i 总线

通过下拉菜单可以访问 Schneider AS-i 目录的所有产品系列:

选择产品之后,将显示相应的从站列表。单击所需从站并单击 " 插入 " 进行确认


注意:
z 单击 AS-I 目录中的产品名称,在右侧窗格显示其特性。
z 可以添加和配置不属于 Schneider 目录的从站。只需选择专用系列并配置新从站
即可。

218 35013230 06/2011


安装 AS-i 总线

快捷菜单
右键单击时,会显示快捷菜单:

快捷菜单用于:
z 剪切 (Ctrl+X)
z 复制 (Ctrl+C)
z 粘贴 (Ctrl+V)
z 删除 (Del)

35013230 06/2011 219


安装 AS-i 总线

在线模式下的 AS-i 窗口描述

概览
当 PC 连接到控制器时 (将应用程序上载到控制器后), AS-i 窗口显示在线特性。
在线模式下, AS-i 窗口动态提供物理总线的映像,其中包括:
z 配置过程中需要的 (输入的)从站列表 (包括名称)和检测到的从站列表 (包
括未知名称,但需要)
z AS-i 模块和从站设备的状态
z 所选从站的配置文件、参数和输入 / 输出值的映像
使用 AS-i 窗口还可以:
z 获得检测到错误的从站的诊断信息 ( 参见第 222 页 )
z 以在线模式修改从站的地址 ( 参见第 223 页 )
z 将从站的映像传输到配置屏幕 ( 参见第 225 页 )
z 为所有从站分配所需地址 (在第一次调试期间)

220 35013230 06/2011


安装 AS-i 总线

AS-i 窗口的示意图
AS-i 窗口 (仅在在线模式下)的示意图如下:

35013230 06/2011 221


安装 AS-i 总线

AS-i 窗口的描述
AS-i 窗口提供与配置屏幕 ( 参见第 214 页 ) 相同的信息。
下表列出了不同之处:

调度 描述
AS-i V2 配置 物理总线的映像。
包括从站状态:
z 绿色指示灯:具有此地址的从站处于活动状态
z 红色指示灯:位于此地址的从站上检测到错误,并且消息将在 "
网络出错 " 窗口中通知您错误类型
从站 xxA/B 所选从站的配置的映像:
z 特性:检测到配置文件的映像 (不可用,不可修改)
z 参数:检测到参数的映像。用户仅可以选择参数显示格式
z 输入 / 输出:显示检测到的输入 / 输出值,这些值不可修改

网络出错 所选从站上检测到错误时通知您检测到的错误类型。
AS-i 总线 由隐式 " 读取状态 " 命令产生的信息。
z 显示总线状态:例如, " 配置正确 = 关 " 表明用户指定的配置与
总线的物理配置不符
z 显示 AS-i 主模块的授权功能:例如," 自动寻址激活 = 开 " 表明
自动寻址主模式已授权

显示从站状态
当与地址关联的指示等显示红色时,则与此地址关联的从站上检测到错误。然后,
" 网络出错 " 窗口将提供所选从站的诊断信息。
错误描述:
z 用户通过配置给定地址所指定的配置文件与在总线上检测到的用于此地址的实际
配置文件不符 (诊断信息:" 配置文件错误 ")
z 在总线上检测到在配置时未指定的新从站:随后将显示对应于此地址的红色指示
灯并且显示的从站名称为 " 未知 " (诊断信息:" 从站未映射 ")
z 外设停用,如果检测到的从站支持它 (诊断信息:" 外设停用 ")
z 已指定已配置的配置文件,但是没有在总线上检测到具有此地址的从站 (诊断信
息:" 未检测到从站 ")

222 35013230 06/2011


安装 AS-i 总线

从站地址的修改

概览
从 AS-i 窗口中,用户可在在线模式下修改从站的地址。

从站地址的修改

下表显示修改从站地址的过程:

步骤 描述
1 访问 AS-i 窗口。
2 在 "AS-i V2 配置 " 区中选择一个从站。
3 将从站拖放到对应于所需地址的单元格中。
示意图:将从站 3B 拖放到地址 15B

35013230 06/2011 223


安装 AS-i 总线

步骤 描述
结果:
将自动选中所有从站参数以查看是否可以执行操作。
结果的示意图:

执行该操作之后,对位于地址 3B 的从站的诊断信息表明 " 未检测到从站 ",意思是应位于


此地址的从站不再位于原处。通过选择地址 15B 可以重新找到移动过的从站的配置文件和
参数,但是从站的名称仍然保持未知,因为它不应位于此地址。

注意: 从站的配置文件和参数没有相关联的名称。不同名的多个从站可以具有相同
的配置文件和参数。

224 35013230 06/2011


安装 AS-i 总线

以在线模式更新 AS-i 总线配置

概览
在在线模式下,不授权更改配置屏幕,并且物理配置与软件配置可以不同。可以在
配置屏幕中顾及到已配置或未配置从站的配置文件或参数的任何区别;事实上,在
将新应用程序传送到控制器之前,可以将任何修改传输到配置屏幕。
要顾及物理配置,请遵循以下过程:

步骤 描述
1 将所需从站配置传送到配置屏幕。
2 在配置屏幕中接受配置。
3 确认新配置。
4 将应用程序传送到模块。

将从站映像传送到配置屏幕。
在总线上检测到未在配置中指定的从站时,对于检测到的地址, AS-i 窗口的 "AS-i
V2 配置区 " 中将显示 " 未知 " 从站。
下表介绍将 " 未知 " 从站的映像传送到配置屏幕的过程:

步骤 描述
1 访问 AS-i 窗口。
2 在 "AS-i V2 配置 " 区中选择所需从站。

35013230 06/2011 225


安装 AS-i 总线

步骤 描述
3 单击鼠标右键以选择 " 传送配置 "。
示意图:

结果:
所选从站的映像 (配置文件和参数的映像)随后将被传送至配置屏幕。
4 为每个要将其映像传送至配置屏幕的从站重复该操作。

226 35013230 06/2011


安装 AS-i 总线

返回配置屏幕
用户返回配置屏幕后,将显示所有已传送的新从站 (非预期的从站)。
所有从站传送之后的配置屏幕示意图:

说明:
z 叉号表示在被传送从站的配置文件的映像和配置屏幕中最初需要的配置文件之间
存在差异
z 惊叹号表示已将新配置文件添加至配置屏幕
说明:
配置屏幕始终显示所需配置的永久映像 (这就是从站不管地址的更改 ( 参见
第 223 页 ) 仍作为 3B 存在的原因),该映像是由总线的当前映像完成的。
显示的所需从站的配置文件和参数对应于需要的配置文件和参数。显示的未知从站
的配置文件和参数对应于检测到的从站的映像。

35013230 06/2011 227


安装 AS-i 总线

将最终应用程序传送到模块的过程
在将新应用程序传送至模块之前,对于每个从站,用户可以接受传送至配置屏幕的
检测到的配置文件和参数或 " 手动 " 修改配置 ( 参见第 215 页 )。
下表介绍确认最终配置并将其传送至模块时要遵循的步骤:

步骤 操作
1 通过软件断开 PC 与模块的连接。
注:
如果 PC 连接至模块,则在不能在配置屏幕中进行修改。
2 右键单击所需从站。
3 2 种选择:
z 选择 " 接受配置 " 以接受所选从站的检测到的配置文件。

示意图:

对于每个以叉号标记的从站,用户将收到一条警告消息,通知该操作将覆盖屏
幕上显示的从站初始配置文件。
z 在快捷菜单中选择其他选项以手动配置所选从站。
4 为配置中的每个所需从站重复该操作。
5 单击 " 确定 " 按钮以确认并创建新应用程序。
结果:自动返回主屏幕。
6 将应用程序传送至模块。

228 35013230 06/2011


安装 AS-i 总线

AS-i V2 从站的自动寻址

概览
AS-i 总线上的每个从站都必须通过配置分配唯一的物理地址。此地址必须与在
TwidoSuite 中声明的地址相同。
TwidoSuite 软件提供自动从站寻址实用程序,因此不必使用 AS-i 控制台。
自动寻址实用程序用于:
z 替换停用的从站,
z 插入新从站

过程
下表显示设置自动寻址参数的过程。

步骤 操作
1 访问 AS-i V2 主模块的配置屏幕。
2 单击主模式区中的自动寻址复选框。
结果:将激活 (选中复选框)或禁用 (清除复选框)自动寻址实用程序。
注:缺省情况下,配置屏幕中已选择自动寻址参数。

35013230 06/2011 229


安装 AS-i 总线

如何将从站设备插入到现有 AS-i V2 配置中

概览
可以将设备插入到现有 AS-i V2 配置中,而不必使用便携式编程器。
当满足以下条件时,可执行此操作:
z 配置模式的 ( 参见第 229 页 ) 自动寻址实用程序处于活动状态
z 物理配置中不存在单一从站
z 要插入的从站是在配置屏幕中指定的
z 从站具有配置所需的配置文件
z 从站具有地址 0 (A)
这样, AS-i V2 模块将自动为从站分配配置中预定义的值。

过程
下表显示了使自动插入新从站生效的步骤。

步骤 操作
1 在配置屏幕中以本地模式添加新从站。
2 以连接模式执行到 PLC 的配置传输。
3 将地址为 0 (A) 的新从站物理链接到 AS-i V2 总线。

注意: 可根据需要执行任意多次以上操作,修改应用程序。

230 35013230 06/2011


安装 AS-i 总线

已替换的 AS-i V2 从站的自动配置

原理
当已声明某从站停用时,可以使用相同类型的从站自动替换该从站。
进行此操作无需停止 AS-i V2 总线,并且无需任何操作,因为配置模式的自动寻址
实用程序处于活动状态 ( 参见第 229 页 )。
有两个选项可用:
z 替换从站是使用便携式编程器以相同地址来编写的,并且其配置文件和子配置文
件与停用的从站相同。因此,它会自动插入到已检测到的从站列表 (LDS) 和活动
从站列表 (LAS) 中。
z 替换从站为空 (地址 0 (A),新从站),但其配置文件与停用的从站的相同。它
将自动采用被替换的从站的地址,然后插入到检测到的从站列表 (LDS) 和活动从
站列表 (LAS) 中。

35013230 06/2011 231


安装 AS-i 总线

与连接到 AS-i V2 总线的从站设备相关联的 I/O 寻址

概览
本页详细介绍了从站设备的离散量或模拟量 I/O 寻址。
为避免与远程 I/O 混淆, AS-i 语法可以使用新的符号:例如 %IA。

示意图
寻址规则提示:

特定值
下表给出了 AS-i V2 从站对象的特定值:

部分 值 注释
IA - 从站物理离散量输入的图像。
QA - 从站物理离散量输出的图像。
IWA - 从站物理模拟量输入的映像。
QWA - 从站物理模拟量输出的映像。
x 1到7 扩展总线上的 AS-i 模块地址。
n 0A 到 31B 插槽 0 不能配置。
i 0到3 -

232 35013230 06/2011


安装 AS-i 总线

示例
下表显示了一些 I/O 寻址的示例:

I/O 对象 描述
%IWA4.1A.0 AS-i 模块从站 1A 的模拟量输入 0,该模块位于扩展总线上的位置
4。
%QA2.5B.1 扩展总线上位于位置 2 的 AS-i 模块的从站 5B 的离散量输出 1。
%IA1.12A.2 扩展总线上位于位置 1 的 AS-i 模块的从站 12A 的离散量输入 2。

隐式交换
以下描述的对象进行隐式交换,也就是说,它们在每个 PLC 循环中自动交换。

35013230 06/2011 233


安装 AS-i 总线

AS-i 总线的编程和诊断

显式交换
与 AS-i 总线关联的对象 (字和位)提供数据 (例如:总线操作、从站状态等)和
附加命令,以执行 AS-i 功能的高级编程。
这些对象通过扩展总线在 Twido 控制器和 AS-i 主模块之间进行显式交换:
z 按照程序用户的请求,通过以下指令进行:ASI_CMD (请参见下面的
"ASI_CMD 指令简介 ")
z 通过 AS-i 窗口或动态数据表进行

保留的特定系统字
Twido 控制器中为 AS-i 主模块保留的系统字使您可以确定网络状态:%SW73 为第
一个 AS-i 扩展模块保留, %SW74 为第二个模块保留。仅使用这些字的前 5 位,这
些位为只读位。
下表显示了已使用的位:

系统字 位 描述
0 系统状态 (如果配置正确,则为 1 ;否则为 0)
%SW73
1 数据交换 (如果已启用数据交换,则为 1 ;如果处于数据交换关闭 ( 参见

%SW74 第 239 页 ) 模式,则为 0)
2 系统已停止 (如果已启用离线 ( 参见第 239 页 ) 模式,则为 1 ;否则为
0)
3 ASI_CMD 指令已终止 (如果已终止,则为 1 ;如果正在执行,则为 0)
4 ASI_CMD 错误指令 (如果指令中有错误,则为 1 ;否则为 0)

使用示例 (对于第一个 AS-i 扩展模块):


使用 ASI_CMD 指令之前,必须检查 %SW73:X3 位以查看指令是否未在执行:即检
查是否 %SW73:X3 = 1。
要检查指令是否已正确执行,请检查 %SW73:X4 位是否等于 0。

234 35013230 06/2011


安装 AS-i 总线

ASI_CMD 指令简介
对于每个用户程序, ASI_CMD 指令使用户可以通过编程设置网络并获得从站诊断
信息。指令参数通过内部字 (存储器字) %MWx 传递。
该指令的语法如下:
ASI_CMD n %MW x : l
说明:

符号 描述
n AS-i 扩展模块的地址 (1 到 7)。
x 参数中传递的第一个内部字 (存储器字)的编号。
地 以字数表示的指令长度 (2)。

使用 ASI_CMD 指令
下表描述了根据参数 %MW(x) 和 %MW(x+1) (必要时)的值, ASI_CMD 指令将
采取的操作。对于从站诊断请求,在 %MW(x+1) 中返回结果。

%MWx %MWx+1 操作
1 0 退出离线模式。
1 1 切换到离线模式。
2 0 禁止主模块与其从站之间的数据交换 (进入数据交换关闭模式)。
2 1 允许主模块与其从站之间的数据交换 (退出数据交换关闭模式)。
3 保留 -
4 结果 读取地址为从 0A 到 15A (每个从站 1 位)的活动从站列表
(LAS 表)。
5 结果 读取地址为从 16A 到 31A (每个从站 1 位)的活动从站列表
(LAS 表)。
6 结果 读取地址为从 0B 到 15B (每个从站 1 位)的活动从站列表
(LAS 表)。
7 结果 读取地址为从 16B 到 31B (每个从站 1 位)的活动从站列表
(LAS 表)。
8 结果 读取地址为从 0A 到 15A (每个从站 1 位)的已检测到的从站列
表 (LDS 表)。
9 结果 读取地址为从 16A 到 31A (每个从站 1 位)的已检测到的从站列
表 (LDS 表)。
10 结果 读取地址为从 0B 到 15B (每个从站 1 位)的已检测到的从站列
表 (LDS 表)。

35013230 06/2011 235


安装 AS-i 总线

%MWx %MWx+1 操作
11 结果 读取地址为从 16B 到 31B (每个从站 1 位)的已检测到的从站列
表 (LDS 表)。
12 结果 读取地址为从 0A 到 15A (每个从站 1 位)的从站外设故障列表
(LPF 表)。
13 结果 读取地址为从 16A 到 31A (每个从站 1 位)的从站外设故障列表
(LPF 表)。
14 结果 读取地址为从 0B 到 15B (每个从站 1 位)的从站外设故障列表
(LPF 表)。
15 结果 读取地址为从 16B 到 31B (每个从站 1 位)的从站外设故障列表
(LPF 表)。
16 结果 读取总线状态。
请参见下一个段落中的详细结果。
32 参数 将新的参数写入 AS-i 从站 (PI 表)。
参数:
z 字节 0:要写入的新参数 - 0 到 15
z 字节 1:地址 - 0 到 31 (代表 0A 到 31A)和 100 到 131 (代
表 0B 到 31B)
33 参数 读取 AS-i 从站上的参数 (PI 表)。
参数:
z 字节 0:要写入的新参数 - 0 到 15
z 字节 1:地址 - 0 到 31 (代表 0A 到 31A)和 100 到 131 (代
表 0B 到 31B)

注意: 每次进行 PLC 扫描时都会更新总线状态。但是, ASI_CMD 总线读取指令的


结果仅在随后的 PLC 扫描结束时可用。

236 35013230 06/2011


安装 AS-i 总线

读取总线状态的 ASI_CMD 指令结果的详细信息


在 ASI_CMD 指令读取总线状态 (%MWx 参数的值等于 16)的情况下,%MWx+1
字中结果的格式如下:

%MWx+1 标记 (1=OK, 0=NOK)


最低有效字节 位0 配置正确
位1 LDS.0 (地址为 0 的从站)
位2 自动寻址激活
位3 自动寻址可用
位4 配置模式激活
位5 正常操作激活
位6 APF (电源问题)
位7 离线准备就绪
最高有效字节 位0 外设正常
位1 数据交换激活
位2 离线模式
位3 正常模式 (1)
位4 AS-i 主模块通讯中断
位5 ASI_CMD 指令正在执行
位6 ASI_CMD 指令错误

读取从站状态的 ASI_CMD 指令结果的详细信息


在 ASI_CMD 指令诊断从站 (%MWx 的值介于 4 和 15 之间)的情况下,将在
%MWx+1 字的位 (1=OK) 中返回从站状态。下表给出了根据 %MWx 字的值所得出
结果的详细信息:

%MWx %MWx+1
值 最高有效字节 最低有效字节
位7 位6 位5 位4 位3 位2 位1 位0 位7 位6 位5 位4 位3 位2 位1 位0
4, 8, 12 15A 14A 13A 12A 11A 10A 9A 8A 7A 6A 5A 4A 3A 2A 1A 0A
5, 9, 13 31A 30A 29A 28A 27A 26A 25A 24A 23A 22A 21A 20A 19A 18A 17A 16A
6, 10, 14 15B 14B 13B 12B 11B 10B 9B 8B 7B 6B 5B 4B 3B 2B 1B 0B
7, 11, 15 31B 30B 29B 28B 27B 26B 25B 24B 23B 22B 21B 20B 19B 18B 17B 16B

35013230 06/2011 237


安装 AS-i 总线

要读取从站 20B 是否处于活动状态,必须使用值为 7 的 %MWx 内部字执行


ASI_CMD 指令。结果将在 %MWx+1 内部字中返回,从站 20B 的状态由最低有效
字节的位 4 的值给出:如果位 4 等于 1,则从站 20B 处于活动状态。

ASI_CMD 指令的编程示例
强制将 AS-i 主模块 (位于扩展总线上的位置 1)切换到离线模式:
LD 1
[%MW0 := 16#0001]
[%MW1 := 16#0001]
LD %SW73:X3 // 如果未执行任何 ASI_CMD 指令,则继续
[ASI_CMD1 %MW0:2] // 以强制切换到离线模式

读取地址为 0A 到 15A 的活动从站的列表:


LD 1
[%MW0 := 16#0004]
[%MW1 := 16#0000 // 可选 ]
LD %SW73:X3 // 如果未执行任何 ASI_CMD 指令,则继续
[ASI_CMD1 %MW0:2] // 读取地址为 0A 到 15A 的 LAS 表

238 35013230 06/2011


安装 AS-i 总线

AS-i V2 总线接口模块操作模式:

概览
AS-i 总线接口模块 TWDNOI10M3 有三种操作模式,分别对应特定的需要。这些模
式为:
z 保护模式
z 离线模式
z 数据交换关闭模式
在用户程序中使用 ASI_CMD ( 参见第 235 页 ) 指令可以进入或退出这些模式。

保护模式
保护操作模式通常用于正在运行的应用程序。该模式假定已在 TwidoSuite 中配置
AS-i V2 模块。这种模式:
z 持续检查已检测到的从站列表是否与预期的从站列表相同
z 监视电源
在此模式中,仅当从站已在配置中声明并且已检测到该从站时,才会将该从站激
活。
在加电或配置阶段, Twido 控制器强制 AS-i 模块进入保护模式。

离线模式
置于离线模式时,该模块首先将所有从站重设为零,然后停止总线上的交换。处于
离线模式时,输出强制设为零。
除使用 TWDNOI10M3 AS-i 模块上的 PB2 按钮外,还可以通过软件,使用
ASI_CMD ( 参见第 238 页 ) 指令来访问离线模式,该指令还可以使您退出此模式并
返回到保护模式。

数据交换关闭模式
当使用数据交换关闭模式时,总线上的交换继续进行,但不再刷新数据。
只能使用 ASI_CMD ( 参见第 235 页 ) 指令访问此模式。

35013230 06/2011 239


安装 AS-i 总线

240 35013230 06/2011


TwidoSuite V2.3
安装和配置 CANopen 现场总线
35013230 05/2009

安装和配置 CANopen 现场总线

10
本章主题
本章描述如何在 CANopen 现场总线上安装和配置 TWDNCO1M CANopen 主模块、
Twido Extreme 集成的 CANopen 总线及其从站设备。

本章包含了哪些内容?
本章包含了以下部分:
节 主题 页
10.1 CANopen 现场总线概览 242
10.2 实施 CANopen 总线 256

35013230 06/2011 241


安装和配置 CANopen 现场总线

10.1 CANopen 现场总线概览

本节主题
本节旨在为您提供关于 CANopen 现场总线技术的一般知识,并介绍 CAN 特定的术
语 (将在本章的所有其余部分使用)。

本节包含了哪些内容?
本节包含了以下主题:
主题 页
CANopen 知识库 243
关于 CANopen 244
CANOpen 启动 247
过程数据对象 (PDO) 传输 250
通过显式交换访问数据 (SDO) 252
"Node Guarding" 与 "Life Guarding" 253
内部总线管理 255

242 35013230 06/2011


安装和配置 CANopen 现场总线

CANopen 知识库

简介
以下介绍用于 CANopen 网络通讯的技术术语和缩写词。

EDS 文件
EDS (电子数据表)
EDS 文件描述 CAN 网络上设备的通讯属性(波特率、传输类型和 I/O 特性等)。该
文件由设备制造商提供。用于在配置工具中配置节点 (类似于操作系统中的驱动程
序)。

PDO
PDO (过程数据对象)
包含 I/O 数据的 CANopen 帧。
我们可以区分以下 PDO:
z Transmit-PDO (具有节点提供的数据的 TPDO)和
z Receive-PDO (具有节点使用的数据的 RPDO)

始终可以从节点的角度来查看传输方向。 PDO (TPDO 或 RPDO 均可)并非必须


包含节点的整个数据映像。在正常情况下,会将模拟量输入数据和离散量输入数据
划分到不同的 TPDO。对于输出也是如此。

SDO
SDO (服务数据对象)
包含参数的 CANopen 帧。
SDO 通常用于在应用程序运行时读取参数或写入参数。

COB-ID
COB-ID (通讯对象标识符)
每个 CANopen 帧均以 COB-ID 开头, COB-ID 用作为 CAN 帧中的标识符。在配置
阶段中,作为帧的提供者 (或使用者)的每个节点都将接收相应帧的 COB-ID。

35013230 06/2011 243


安装和配置 CANopen 现场总线

关于 CANopen

简介
CANopen 是一种用于工业控制系统的标准现场总线协议。 CANopen 特别适合于实
时 PLC,因为它为集成和可传输的工业应用程序提供了一种有效而低成本的解决方
案。

CANopen 协议
CANopen 协议是作为 CAL (CAN 应用层协议)的子集创建的。通过定义配置文
件,可对 CANopen 协议进行有针对性地改编,使其更为适合在标准工业组件中使
用。 CANopen 是一个 CiA (自动化中的 CAN)标准,一经推出就被传动工业广泛
采用。在欧洲, CANopen 被认为是基于 CAN 设计的工业系统的工业标准。

物理层
CAN 使用差分驱动二线总线(公共回路)。CAN 信号为 CAN-High 线和 CAN-Low
线之间的电压差。(请参见下图。)
下图显示了二线 CAN 总线的物理层的组件:

1 CAN-High 线
2 CAN-Low 线
3 CAN-High/CAN-Low 信号之间的电压差
4 120 欧姆电阻插孔
5 节点
按照电磁兼容性要求,可以以并行、绞合或屏蔽方式布置总线电线。单一线路结构
可以将反射降到最小。

244 35013230 06/2011


安装和配置 CANopen 现场总线

CANopen 配置文件
通讯配置文件
CANopen 配置文件系列基于 " 通讯配置文件 ",通讯配置文件指定主要通讯机制以及
它们的描述 (DS301)。
设备配置文件
" 设备配置文件 " 中介绍了工业自动化中使用的最重要的设备类型。它们还定义了设
备功能。
介绍的标准设备的示例为:
z 离散量和模拟量输入 / 输出模块 (DS401)
z 电机 (DS402)
z 控制设备 (DSP403)
z 闭合回路控制器 (DSP404)
z PLC (DS405)
z 编码器 (DS406)

通过 CAN 总线进行设备配置
能够通过 CAN 总线配置设备,这是制造商为确保自主性 (针对每个配置文件系列)
设定的基本要求。

CANopen 配置文件的一般规格
CANopen 是 CAN 系统的配置文件集,具有以下规格:
z 开放总线系统
z 无协议过载的实时数据交换
z 可调整大小的模块化设计
z 设备的交互操作性和可交换性
z 大量国际制造商的支持
z 标准化网络配置
z 访问所有设备参数
z 循环过程数据和 / 或事件驱动数据的同步和循环 (系统响应时间短的可能性)

CANopen 产品认证
市场上所有提供 CANopen 认证产品的制造商均为 CiA 组织的成员。作为 CiA 组织
中活跃的成员, Schneider Electric Industries SAS 遵从此协会设立的标准化建议开
发自己的产品。

35013230 06/2011 245


安装和配置 CANopen 现场总线

CAN 标准
CANopen 规格由 CiA 组织定义,您可在该组织站点 (http://www.can-cia.com) 上访
问 (服从某些限制)这些规格。许多供应商都可提供主设备和从站设备的源代码。
注意: 要查找有关 CANopen 标准规格和机制的详细信息,请访问 CiA 的主页
(http://www.can-cia.de/)。

CANopen 网络上的通讯
通讯配置文件基于 CAL 服务和协议。
它为用户提供了对两种交换类型的访问:SDO 和 PDO。
加电时,设备先进入初始化阶段,然后进入预操作状态。在此阶段,仅 SDO 通讯
已获授权。在收到启动命令后,设备切换到操作状态。然后可以使用 PDO 交换,
同时仍可以使用 SDO 通讯。

246 35013230 06/2011


安装和配置 CANopen 现场总线

CANOpen 启动

启动过程
最小设备配置可以指定缩短的启动过程。下图说明了此过程:

说明

编号 描述
1 模块加电
2 初始化之后,模块自动进入预操作状态。
3 NMT 服务指示:启动远程节点
4 NMT 服务指示:预操作
5 NMT 服务指示:停止远程节点

35013230 06/2011 247


安装和配置 CANopen 现场总线

编号 描述
6 NMT 服务指示:复位节点
7 NMT 服务指示:复位通讯

取决于状态机器的活动 CANopen 对象
下表中的 "X" 指示在每个状态中哪些 CANopen 对象处于活动状态。

初始化 预操作 操作 已停止


PDO 对象 X

SDO 对象 X X

紧急 X X
启动 X X
NMT X X X

复位应用程序
设备进入 " 复位应用程序 " 状态:
z 设备启动后
z 或通过使用 " 复位节点 " 网络管理 (NMT) 服务
在此状态下,将初始化设备配置文件,并将所有设备配置文件信息复位为缺省值。
完成初始化后,设备将自动进入 " 复位通讯 " 状态。

复位通讯
设备进入 " 复位通讯 " 状态:
z 进入 " 复位应用程序 " 状态后
z 或通过使用 " 复位通讯 " 网络管理 (NMT) 服务
在此状态下,支持的通讯对象 (与设备标识有关的对象,如设备类型、心跳等:
1000H - 1FFFH)的所有参数 (标准值,取决于设备配置)都保存在对象目录中。
然后,设备自动进入 " 初始化 " 状态。

248 35013230 06/2011


安装和配置 CANopen 现场总线

初始化
设备在处于 " 复位通讯 " 状态之后进入 " 初始化 " 模式。
该状态使您可以:
z 定义所需的通讯对象 (SDO、 PDO 和紧急)
z 安装相应的 CAL 服务
z 配置 CAN 控制器
完成设备初始化后,设备自动进入 " 预操作 " 状态。
注意:TWDNCO1M CANopen 主模块和 Twido Extreme 集成的 CANopen 总线主站
不支持 SYNC 模式。

预操作
设备进入 " 预操作 " 状态:
z 进入 " 初始化 " 状态后,或
z 如果设备处于 操作 状态,则在收到 " 进入预操作 "NMT 指示时
设备处于此状态时,可以修改其配置。但是,只有 SDO 可以用于读取或写入与设
备相关的数据。
完成配置后,设备在接收相应指示时进入以下状态之一:
z " 在接收 " 停止远程节点 "NMT 指示时进入 " 已停止 "
z " 在接收 " 启动远程节点 "NMT 指示时进入 " 操作 "

已停止
如果设备处于 " 预操作 " 或 " 操作 " 状态,在接收 " 节点停止 " 指示 (NMT 服务)
时,将进入 " 已停止 " 状态。
此状态下,不能配置设备。无任何服务可用于读取或写入与设备相关的数据
(SDO)。仅从站监视功能 (" 节点防护 ")保持活动状态。

操作
如果设备处于 " 预操作 " 状态,当收到 " 启动远程节点 " 指示时,将进入 " 操作 " 状
态。
当使用 " 操作 " 状态中的 " 节点启动 "NMT 服务启动 CANopen 网络时,所有设备功
能均可使用。通讯可以使用 PDO 或 SDO。
注意:在 " 操作 " 模式下对配置进行修改可能会引起意外结果,因此,仅应在 " 预操
作 " 模式下对配置进行修改。

35013230 06/2011 249


安装和配置 CANopen 现场总线

过程数据对象 (PDO) 传输

PDO 定义
PDO 是可以为通讯接口提供过程数据并使这些数据进行实时交换的对象。
CANOpen 设备的 PDO 集介绍了此设备和其通讯伙伴之间在网络上的隐式交换。
PDO 的交换在设备处于 " 操作 " 模式时得到授权。

PDO 的类型
有以下两种类型的 PDO:
z 由设备传输的 PDO (通常标记为:Transmit PDO 或 Tx-PDO 或 TPDO)
z 由设备接收的 PDO (通常标记为:Receive PDO 或 Rx-PDO 或 RPDO)

PDO 生产者和消费者
PDO 基于"生产者/消费者"模型。发送 PDO 的设备称为"生产者",而接收 PDO 的设
备称为 " 消费者 "。
因此,如果将输出写入 TWDNCO1M 主模块,或写入 Twido Extreme 集成的
CANopen 总线主站,则会发送与主站关联的 TPDO,其中包含要更新的输出的值。
在这种情况下,主模块是 PDO" 生产者 " (而从站设备为 PDO" 消费者 ")。
相反,如果输入由主模块传输 RPDO 来更新,则主模块是 " 消费者 "。

PDO 传输模式
除了定义要传输的数据外,还可以配置每个 PDO 的交换类型。
PDO 可以由 TWDNCO1M 主模块或由 Twido Extreme 集成的 CANopen 总线主站按
以下传输模式进行交换:

模式编号 模式类型 模式名称


254 或 255 异步 状态更改

250 35013230 06/2011


安装和配置 CANopen 现场总线

状态更改 (模式 254 和 255)


" 状态更改 " 对应于输入值的修改 (事件控制)。完成更改后,会立即将数据发送到
总线上。事件控制能够以最佳方式利用总线带宽,这是由于仅传输修改而非整个过
程映像。这可以实现非常短的响应时间,因为修改输入值时,不必等待主模块的下
一个请求。
但是,当选择 " 状态更改 "PDO 传输时,应注意可能会在同一时间发生多个事件,
而在等待较低优先级的 PDO 传输到总线时又可能会造成延迟。还应避免另一种情
况,即不断修改高优先级的 PDO 的输入会阻塞总线 (这称为 " 混串音 (babbling
idiot)")。
注意:通常情况下,如果增量模式 (对象 6426H)或禁止时间 (对象 1800H 到
1804H,子索引 3)设置为避免总线过载,则应该仅能为模拟量输入模块选择使用
PDO 传输。

35013230 06/2011 251


安装和配置 CANopen 现场总线

通过显式交换访问数据 (SDO)

SDO 是什么?
服务数据对象 (SDO) 允许通过使用显式请求来访问设备的数据。
当设备处于 " 操作 " 或 " 预操作 " 状态时, SDO 服务可用。

SDO 的类型
有两种类型的 SDO:
z 读取 SDO (下载 SDO)
z 写入 SDO (上载 SDO)

客户端 / 服务器模型
SDO 协议基于 " 客户端 / 服务器 " 模型。
对于下载 SDO
客户端发送请求表明要读取的对象。
服务器返回对象中包含的数据。
对于上载 SDO
客户端发送请求表明要写入的对象和需要的值。
更新对象后,服务器返回确认消息。
对于未处理的 SDO
在这两种情况下,如果不能处理 SDO,服务器将返回错误代码 (中止代码)。

252 35013230 06/2011


安装和配置 CANopen 现场总线

"Node Guarding" 与 "Life Guarding"

Life-Time 的定义
"Life time" 参数的计算如下:
Life Time = Guard Time x Life Time Factor
对象 100CH 包含以毫秒表示的 "Guard Time" 参数。对象 100DH 包含 "Life Time
Factor" 参数。

激活监视
如果这两个参数之一设置为 "0" (默认配置),模块将不执行监视 ("Life
Guarding")。
要激活随时监视,您必须至少在对象 100DH 中输入值 1,并在对象 100CH 中指定
时间 (以毫秒计)。

改进可靠的操作
为改进可靠的操作,建议输入 "Life time factor" 值为 2。
否则,主模块应该会发生延迟 (例如,由于在 "Node Guarding" 上处理最高优先级
消息或内部处理),模块会切换到 "Pre-Operational" 状态而不生成错误通知。

监视的重要性
如果设备通常不在事件控制模式下进行操作,这两种监视机制对于 CANopen 系统
特别重要。

从站监视
监视可以按以下方式执行:

阶段 描述
1 从站的 "Guarding COB-ID" 上要被监视的主模块集 "Remote Frames"(remote
transmit requests)。
2 相关从站通过发送 "Guarding" 消息来响应。其包含从站的 "Status Code" 和
"Toggle Bit",这些信息在每个消息后都必须更改。
3 主模块比较 "Status" 和 "Toggle Bit" 信息:
如果它们未处于 NMT 主模块预期的状态,或未收到响应,主模块则认为从站
上检测到错误。

35013230 06/2011 253


安装和配置 CANopen 现场总线

主模块监视
如果主模块请求严格循环基础上的 "Guarding" 消息,从站可以检测到主模块是否停
用。
如果从站在已定义的 "Life Time" 间隔内未收到主站发送的请求 (Guarding 错误),
其将认为主模块已停用 ("Watchdog" 功能)。
在这种情况下,相应的输出进入错误状态,而从站切换回 "Pre-Operational" 模式。
注意: 即使未在 "Guard Time" 和 "Life Time Factor" 对象中输入任何值,来自主模
块的 "Remote" 请求也会获得响应。仅在两个对象中的值都大于 0 时,才会激活时
间监视。 "Guard Time" 参数的典型值介于 250 毫秒和 2 秒之间。

""Guarding" 协议
在第一个 "Guarding" 消息中发送的 "Toggle Bit"(t) 值为 "0"。
然后,位在每条后续 "Guarding" 消息中更改 ("toggles"),使得其可以表明是否丢
失了消息。
总线头表明剩余七位的网络状态:

网络状态 响应
Stopped 0x04 或 0x84
Pre-operational 0x7F 或 0xFF
Operational 0x05 或 0x85

254 35013230 06/2011


安装和配置 CANopen 现场总线

内部总线管理

将内部总线切换到 "Stop" 状态
当通讯模块从 "Pre-operational" 切换到 "Operational" 状态时,内部总线将自动从
''Stop'' 切换到 "Run" 状态。
当内部总线切换到 "Stop" 状态时,所有扩展模块 * 输出均设置为零。
通讯模块输出将维持在它们的当前状态。

配置扩展模块
内部总线用于更新离散量扩展模块参数和模拟量扩展模块 * 参数的配置。
当总线处于 ''Stop'' 状态时,参数会被发送到通讯模块。
当总线进入 ''Run'' 状态时,新配置参数可以得到确认。
注意:* Twido Extreme PLC (TWDLEDCK1) 不支持扩展模块。

35013230 06/2011 255


安装和配置 CANopen 现场总线

10.2 实施 CANopen 总线

简介
本节介绍如何使用 TWDNCO1M CANopen 主模块或 Twido Extreme 集成的
CANopen 总线在 Twido PLC 上实现 CANopen 现场总线。

本节包含了哪些内容?
本节包含了以下主题:
主题 页
概述 257
硬件设置 259
CANOpen 配置 - 默认参数 260
配置方法 263
CANopen 主模块声明 265
CANopen 配置工具 266
CANopen 网络从站声明 269
CANopen 对象映射 (从站) 277
CANopen 对象链接 (主站) 280
CANopen 对象符号 283
CANopen 主模块的 PDO 寻址 284
CANopen 现场总线的编程和诊断 286
Twido 控制器的 CANopen 热交换 293

256 35013230 06/2011


安装和配置 CANopen 现场总线

概述

硬件和软件要求
在 Twido 一体型或模块型基板上实施 CANopen 总线需要以下硬件和软件:

硬件 要求
Twido PLC 一体型或模块型基 一体型基板:
板控制器 z TWDLC•24DRF
z TWDLC••40DRF

模块型基板:
z TWDLMDA20•••
z TWDLMDA40•••

CANopen 主模块 1 个 CANopen 主模块:TWDNCO1M


CANopen 从站设备 最多 16 个 CANopen 从站
CANopen 连接器和电缆
用于 Twido PLC 的可编程电缆 z 串行电缆:TSX PCX1031
z USB 电缆:TSX CUSB485、 TSX CRJMD25 和
TSX PCX3030
z Mini-DIN 到自由线的通讯电缆:TSX CX100

软件 要求
Twido PLC 配置软件 TwidoSuite

在 Twido Extreme 上实施 CANopen 总线需要以下硬件和软件:

硬件 要求
Twido Extreme 基板控制器 TWDLEDCK1

CANopen 从站设备 最多 16 个 CANopen 从站


CANopen 连接器和电缆 请参阅 《Twido Extreme 硬件指南》。
用于 Twido Extreme 的编程 z 串行电缆:VW3 A8106
电缆 z USB 电缆:TSX CUSB485 和 TWD XCAFJ010
z PLC 蓝牙适配器:VW3 A8114

软件 要求
Twido PLC 配置软件 TwidoSuite

35013230 06/2011 257


安装和配置 CANopen 现场总线

CANopen 实施步骤
以下步骤将引导您安装、配置和使用 CANopen 网络:

步骤 描述
1 硬件设置
2 配置方法
3 CANopen 主模块声明
4 网络 CANopen 从站声明
5 CANopen 对象映射
6 CANopen 对象链接
7 用符号表示 CANopen 对象
8 网络 CANopen 诊断
以下各小节将详细介绍此步骤的每一步。

258 35013230 06/2011


安装和配置 CANopen 现场总线

硬件设置

Twido Extreme CANopen 接线


对于 Twido Extreme 本体控制器,请参阅 。

安装 TWDNCO1M 主模块
对于其他一体型或模块型本体控制器,在 Twido PLC 系统 (DIN 滑轨或面板安装)
上安装 TWDNCO1M 主模块,并将其连接到 Twido PLC 内部总线 (连接方式与组
装 I/O 扩展模块相同)。请执行以下步骤:

步骤 操作 描述
1 安装准备 请参考 《Twido 可编程控制器硬件参考指南 (TWD
USE 10AE)》以获取有关以下内容的说明:
z Twido 模块的正确安装位置
z 从 DIN 滑轨中添加和删除 Twido 组件
z 直接在面板表面上安装
z 控制面板中模块间的最小间隙

2 安装 TWDNCO1M 模块 在 DIN 滑轨或面板上安装 TWDNCO1M 主模块。有


关详细信息,请参见 "TwdoHW"-" 安装扩展模块 "。
3 将模块连接到 Twido 将 CANopen 主模块连接到 Twido PLC 内部总线
PLC 总线 (有关详细信息,请参见 "TwdoHW"-" 安装扩展模
块 ")。
4 CANopen 接线和连接 按照 "CANopen 接线和连接 " 中概述的接线和连接
说明来连接 CAN 总线电源和信号线。

35013230 06/2011 259


安装和配置 CANopen 现场总线

CANOpen 配置 - 默认参数

概述
此功能允许用户配置 CANOpen 从站复位。

用户功能
为复位 CANOpen 从站,存在三种配置:
z 默认复位 (默认值):
CANOpen 主站选择向从站发送的复位(“ 复位通讯 ” 仅用于 Lexium 05,“ 复位全
部 ” 用于所有其他从站)。
z 复位所有参数:
CANOpen 主站在从站上强行复位全部 (甚至包括 Lexium 05)。
z 仅复位通讯 (建议用户使用):
CANOpen 主站仅复位从站通讯。
每一种配置均可用于各个从站。

操作模式
要配置 CANOpen 网络,将 CANOpen 主扩展模块和 CANOpen 从站添加到
TwidoSuite 的描述窗口。然后,按下表所述将它们相互链接起:

步骤 操作
1 在 CAN Open 网络上双击,使从站的 PDO 的关联。

260 35013230 06/2011


安装和配置 CANopen 现场总线

步骤 操作
2 在从站上单击右键,配置 CAN Open (从站的映射)以及配置从站

注意:可配置 “ 复位参数 ”。默认为默认值。还可删除从站。


3 在 CAN Open 主站上双击,查看 TwidoSuite 配置部分上的模块全局配置。

35013230 06/2011 261


安装和配置 CANopen 现场总线

兼容性
要执行此功能,必须将功能等级提高至 5.2。有关功能级别的更多信息,请参阅功
能级别描述。
注意: 使用旧版本 TwidoSuite 无法打开使用 TwidoSuite V2.20 生成的新应用程序。
固件同样受到影响,必须将新版本与 TwidoSuite 同步。

262 35013230 06/2011


安装和配置 CANopen 现场总线

配置方法

概述
通过可从 TwidoSuite 中的 “ 描述 ” 窗口访问的 CANopen 配置工具来执行 CANopen
配置。
注意:
1. CANopen 网络、主模块和从站配置以及通讯参数配置仅能在离线模式中执行。
2. 在线模式下不能更改 CANopen 配置。
3. 在线模式下只能调整某些参数,例如 %IWC 和 %QWC PDO 寻址参数。

配置方法
下表介绍了 CANopen 总线软件的不同实施阶段:

模式 阶段 描述
本地 CANopen 主模块声明 在描述窗口中,将 TWDNCO1M CANopen 主模块
添加到 Twido 应用程序。 1
1
对于 Twido Extreme TWDLEDCK1,则无需此操作,因为 CANopen 主站总
线已集成到基板控制器中。
CANopen 网络配置 通过以下方式配置 CANopen 网络:
z 将所有从站设备的 EDS 文件导入到网络目录
z 将从站设备从目录添加到 CANopen 网络

PDO 映射 在网络上执行已声明的每个从站设备的 TPDO 和


RPDO 对象的映射。
PDO 链接 将每个从站 PDO 链接到相应主模块 PDO。
本地或已连 用符号表示 (可选) 用符号表示与从站设备关联的变量。

编程 编写 CANopen 功能。
已连接 传输 应用程序到 PLC 的传输。
调试 在动态显示和调试屏幕的帮助下调试应用程序

注意:扩展总线上 TWDNCO1M CANopen 主模块的声明和删除操作与任何其他扩


展模块的操作一样。但是, Twido 扩展总线上只能有一个 CANopen 主模块。
TwidoSuite 用户界面程序将不允许添加另一个 CANopen 模块。

35013230 06/2011 263


安装和配置 CANopen 现场总线

连接之前的忠告
在将 PC (通过软件)连接到控制器之前,为避免任何检测问题,请执行以下操
作:
z 请确保总线上地址为 127 的位置物理上不存在任何从站 (127 是保留值,它是分
配给 TWDNCO1M 主模块或 Twido Extreme 集成的 CANopen 总线主站的出厂设
置地址)。
z 确保安装在 CANopen 总线上的从站没有重复地址。

264 35013230 06/2011


安装和配置 CANopen 现场总线

CANopen 主模块声明

概述
本节介绍如何在一体型或模块型控制器内部总线上声明 CANopen 总线主模块。
注意:本节中的信息不适用于具有集成的 CANopen 总线主模块的 Twido Extreme
TWDLDCK1 基板控制器。

过程
下表显示了声明 CANopen 主模块的各个步骤。

步骤 操作 注释
1 从 TwidoSuite 界面中选择描述步骤。 请参见。
2 显示产品目录并选择 TWDNCO1M 模块以 请参见。
添加到系统描述。 注:可以将 TWDNCO1M 主模块插入到任何可用的扩展位
置。随后,可将其移到其他扩展模块的左侧或右侧。
您可以继续添加其他扩展模块 (最多 7 个,包含
TWDNCO1M 模块)。
注:仅允许有一个 TWDNCO1M CANopen 主模块。
仅支持 TWDC•A24DRF、 TWDC••40DRF、
TWDLMDA20••• 和 TWDLMDA40••• 控制器。

35013230 06/2011 265


安装和配置 CANopen 现场总线

CANopen 配置工具

概述
本节描述如何访问 CANopen 配置工具。

CANopen 配置器
通过单击如下所示的相应 CANopen 元素,可从 " 描述 " 窗口访问 CANopen 配置工
具:

CANopen 元素 操作 结果
链接到 双击 (或右键
CANopen 主站 单击并选择
的 CANopen 从 CANopen 配
站 置)从站

CANopen 主站 双击 (或右键
TWDNCOM1 单击并选择配
(只读) 置)主站

266 35013230 06/2011


安装和配置 CANopen 现场总线

CANopen 元素 操作 结果
Extreme 双击 (或右键
TWDLEDCK1 单击并选择配
(只读) 置)基板,然后
在结果面板中选
择 "CANopen"
选项卡

CANopen 网络 双击或右键单击
并选择配置

CANopen 从站 右键单击此从
(链接或未链 站,并选择配置
接)

35013230 06/2011 267


安装和配置 CANopen 现场总线

CANopen 元素 操作 结果
主站上的 双击 (或右键
CANopen 端口 单击并选择
CANopen 配
置)紫色的
Canopen 端口

也可以通过选择程序 →配置 →配置硬件任务来查看 (但不能编辑)主站 CANopen


配置屏幕。
z 对于 Twido Extreme TWDLEDCK1,选择 "CANopen" 选项卡,然后单击配置。
z 对于其他一体型和模块型基板控制器,在上半部的图形窗格中选择 TWDNCO1M
模块,然后在下半部的配置窗格中单击 " 配置 " (没有针对一体型和模块型 PLC
的选项卡)。
注意: 通过清除配置窗格的 "CANopen" 选项卡中的激活 CANopen 网络复选框,可
以禁用 Twido Extreme 集成的 CANopen 总线主站。这样,将释放 CANopen 专用
存储器。禁用 Twido Extreme 集成的 CANopen 总线主站将删除 CANopen 网络配
置。

268 35013230 06/2011


安装和配置 CANopen 现场总线

CANopen 网络从站声明

概述
网络 CANopen 从站声明包括三个阶段,即:
1. 将 CANopen 从站设备的 EDS 文件导入到 Twido 的 “ 描述 ” 目录中,
2. 通过将从站设备 (最多 16 个)从目录中添加到网络,建立 CANopen 网络
3. 配置网络管理参数 (网络速度和错误控制协议参数)

导入从站配置文件
下表介绍如何将新 CANopen 从站配置文件 (.EDS 文件)导入到 CANopen 配置工
具目录中:

步骤 操作
1 在描述窗口的目录中,单击 CANopen 元素,然后选择导入,如下所示。

结果: 将显示操作系统的 “ 打开 ” 对话框。


2 浏览到包含要添加到目录中的 CANopen 从站设备 EDS 文件的文件夹位置。
结果:“ 打开 ” 对话框中将显示可用 EDS 文件的名称:

35013230 06/2011 269


安装和配置 CANopen 现场总线

步骤 操作
3 从列表中选择一个 EDS 文件 (“ 文件名 ”.EDS),然后单击打开。
结果:CANopen 配置工具将载入所选设备的对象字典。
注:根据所选 EDS 文件的大小,此过程可能需要几分钟。进度条表明载入过程
的完成状态,如下面的示例所示:

4 请稍候,直到载入过程完成,然后重复步骤 2 到 3 将任何其他从站配置文件添加
到目录。
注:仅需执行一次此过程,因为 TwidoSuite 存储了已加载目录中列出的所有设备
配置文件和对象字典。

270 35013230 06/2011


安装和配置 CANopen 现场总线

步骤 操作
5 要显示 CANopen 从站的设备属性,请通过双击靠最低层的元素的类型 (或其左
侧的加号)展开 “ 描述 ” 窗口的目录中的 CANopen 元素树结构,然后单击从站
设备,如下所示:

注:“ 目录 ” 区域的下半部分将显示所选 CANopen 从站的设备属性,包括:


z 卖主名称 (例如 Schneider Electric),
z 从站配置文件 (例如, ATV 31 CANopen 从站的 EDS 文件)
z 作者姓名 (例如,作者 S.T.I.E.),
z 配置文件的创建日期 (例如, 01-14-2004)

35013230 06/2011 271


安装和配置 CANopen 现场总线

步骤 操作
6 注:基本从站 (如 BASIC_ATV371)为当包含在 CANopen 配置 (“ 描述 ” 工作
空间)中时预配置的从站。目录中的其他配置文件 (如 ATV71_V1.1 (V1.1))向
您提供未配置从站,您可稍后自定义这些从站。
为了添加 OTB 或 FTB 从站,请右键单击 Advantys OTB (或 Advantys FTB),
然后选择配置。这将启动外部配置工具 Advantys Lite,此工具应已经安装在您的
计算机上。
7 要从目录中删除从站配置文件,请在 “ 目录 ” 中右键单击该配置文件,然后选择
删除,如下所示。

注:您可以在 CANopen 元素目录中存储比当前 CANopen 总线配置实际所需数


量更多的设备配置文件。已载入到 “ 目录 ” 的配置文件可存储以供将来使用。

272 35013230 06/2011


安装和配置 CANopen 现场总线

建立 CANopen 网络
下表介绍如何在 Twido CANopen 网络上声明从站设备。请注意,您只能声明其
EDS 配置文件先前已添加到“目录”中的从站或 EDS 配置文件已存储到“目录”中的从
站。某些从站 (如 Advantys FTB 和 OTB 模块)要求使用外部配置工具。在将此类
从站连接到主站之前,必须先在外部进行配置。如果 PC 上没有安装所需的工具,
您将无法将这些从站添加到 “ 描述 ” 图形工作空间。

步骤 操作
1 在描述窗口的目录中,展开 CANopen 元素树结构,以显示先前在 “ 导入从站
配置文件 ” 的步骤 5 中描述的相应从站设备及其属性。

2 从目录中拖放所需数量的从站设备。(请参阅定位方式和规则)
结果:在 “ 描述 ” 窗口的图形工作空间中,这些设备显示为未配置。
注:
z 如果您从目录树中拖放某个 BASIC 元素 (如 BASIC_ATV371),则位于 “
描述 ” 工作空间中的设备为预配置的设备 (已定义 PDO 映射),它仅要求
分配地址和可选名称。如果您选择非基本元素,例如:ATV71_V1.1
(V1.1),则位于 “ 描述 ” 工作空间中的设备可供自定义,有关详细信息,请参
阅对象映射 ( 参见第 278 页 )。
z 在 Twido CANopen 网络上最多可以声明 16 个从站。

35013230 06/2011 273


安装和配置 CANopen 现场总线

步骤 操作
3 可选:可通过右键单击从站并选择配置来配置从站
结果:

在此可以定义:
z 名称 : 最多 32 个字符 – 但大小应受限制,因为名称用于生成自动符号
z 地址:可用值范围为 1 到 16
z 监督模式 (要用于管理 TWDNCO1M 主模块或 Twido Extreme 集成的
CANopen 总线主站与所选从站设备之间通讯的错误控制协议):
z 节点防护
z 心跳
z 无 (请参阅下面的监督选项 )

如果在创建网络时将使用缺省值自动配置从站,则此步骤为可选的 (请参阅下
一步)。
4 您可以通过创建链接将从站连接到其他从站。如果从站未配置,则在将其连接
到 CANopen 主站之前将保持未配置状态。
5 通过创建链接将从站连接到 CANopen 主站。
结果:现在,所连接的从站 (如果先前未配置)将显示一个具有名称和节点地
址的配置。如果从站先前已配置,则在将其连接到主站时,它将保持其配置。
新连接 (先前未配置)的从站设备将使用具有最低可用索引的节点地址。(例
如,如果已在节点地址 1、 2 和 4 处声明从站设备,则缺省情况下,新添加的
从站设备将使用可用节点地址 3。)
6 可以按照步骤 2 中的说明配置从站,从而更改从站的名称,并为其分配任何可
用的节点地址 (1 到 16)。
7 对于要在 CANopen 网络上声明的任何新从站设备,重复步骤 1 到 5。
8 要从 CANopen 网络中删除从站设备或网络链接,请右键单击图形工作空间中
的对象,然后选择删除。

274 35013230 06/2011


安装和配置 CANopen 现场总线

步骤 操作
9 要配置网络管理参数,请右键单击网络链接,然后选择配置 (请参阅下面的配
置网络管理参数 ( 参见第 269 页 ))。
注:仅当 CANopen 主站已链接时,才能配置网络管理参数。如果 CANopen
主站未链接,只能修改网络的名称。(缺省值:我的网络 x)

监督选项
您要用于管理 TWDNCO1M 主模块或 Twido Extreme 集成的 CANopen 总线主站与
所选从站设备之间通讯的错误控制协议在从站配置中使用以下选项定义:
z 节点防护
z 心跳
z 无
如果在网络从站表中将监督选项设置为无,则当此从站与 TWDNCO1M 主模块或
Twido Extreme 集成的 CANopen 总线主站之间的连接 (*) 出现中断时,输出将无法
返回到其故障预置值。
(*) 这一断开连接的原因可能为:
z TWDNCO1M CANopen 主模块与 Twido PLC 基板控制器 (不适用于
Twido Extreme 控制器)的扩展连接断开
z 此 CANopen 从站到 Twido CANopen 总线的连接断开
z 总线电缆不运行,
z TwidoSuite 的 “ 复位 ” 命令 (在线 →固件 / 复位),
z TwidoSuite 载入配置命令 (在线 →下载),
z 通过 TwidoSuite (在线 →固件下载)将固件下载到 TWDNCO1M 主模块 (或
Twido Extreme 基板控制器)的命令 (不适用于 Twido Extreme 控制器)。

35013230 06/2011 275


安装和配置 CANopen 现场总线

配置网络管理参数
下面的过程介绍如何配置网络管理参数,如:Baudrate (网络速度)和 life-time。
(错误控制协议在从站配置中定义)

步骤 操作
1 要配置网络管理参数,请右键单击网络链接,然后选择配置。
结果:

2 从下拉列表中选择 Baudrate (网络速度):125、 250 (缺省值)、 500。


3 配置 Life-time 期限。此值采用介于范围 [300、32,767] 内的值,缺省值为 300
毫秒。此参数定义将在每个从站设备的监督字段中实施的通讯循环时间周期。
在监督字段中,输入消费者时间 (以毫秒计)。
CANopen 主站使用以下公式通过该值计算生产者时间:
生产者时间 = 2/3 消费者时间
注:请勿在此字段中输入 0。

276 35013230 06/2011


安装和配置 CANopen 现场总线

CANopen 对象映射 (从站)

概述
从站 CANopen 配置的映射对话框使您能够参考从站字典,并配置已在网络上声明
的每个从站设备 (针对无缺省 PDO 的从站)的 PDO。

" 映射 " 对话框


要访问映射对话框,请双击 (或右键单击并选择 CANopen 配置)所链接的从站。
如果该从站未链接到 CANopen 主站,则此选项不可用。
结果:屏幕上将显示 " 映射 " 对话框,如下图所示:

35013230 06/2011 277


安装和配置 CANopen 现场总线

对象映射
要了解如何使用 " 映射 " 对话框来配置每个从站设备的 TPDO 和 RPDO,请遵循以
下指南:

步骤 操作
1 双击 (或右键单击并选择 "CANopen 配置 ")要配置的从站。(此从站必须链接到
CANopen 主站以便此选项可用)。
结果:

所选从站支持的所有 CANopen 对象将显示在可用对象下面的左侧。


在右侧将显示所选从站的预定义缺省 PDO - 传输 PDO (PDO TX)。使用类型切换列
表以显示预定义的缺省接收 PDO (PDO RX)。
右下角的已映射的对象将显示每个所选 PDO 的预定义映射。
2 对于 " 非基本 " 从站,可以选择自定义 PDO 映射,例如:ATV71_V1.1 (V1.1),您
可以将其拖放到描述图形工作空间。 " 基本 " 从站已配置,因此不能自定义。使用
这些已映射的对象可以进行自定义。
RPDO 或 TPDO 是 64 字节对象,可包含最多八个 8 字节字对象或四个 16 字节字对
象或这两种类型的字对象的任意组合,只要不超过 PDO 的 64 字节总限制。
要自定义 PDO 映射,请选择要修改的已映射对象。
示例:选择第一个传输 PDO (PDO R1)。
结果:预定义 PDO 映射 (或当前自定义映射)将显示在 " 已映射的对象 " 框中。
3 要从 PDO 映射结构中删除未使用的字对象,请选择字对象 (索引 1 至 8),然后单

击删除图标 。

278 35013230 06/2011


安装和配置 CANopen 现场总线

步骤 操作
4
在可用对象框的对象系列中选择要映射的字对象,然后单击添加图标 将字对
象添加至已映射的对象结构中。

注:要恢复所选 PDO 的缺省映射结构,请单击缺省图标 。


5 要更改已映射 PDO 结构中的字对象的地址,请使用上移 / 下移箭头图标

/ 。
6 单击确定以确认对已映射 PDO 结构所做的更改,并将 PDO 映射保存到 TwidoSuite
项目中 (或单击 " 取消 " 以放弃修改)。
7 为每个要配置的 PDO 映射重复步骤 2 至步骤 6。
8 PDO 存储器占用:
可以通过位于 " 已映射的对象 " 框右侧的存储器状态栏监视 PDO 存储器的占用情

况: 。

35013230 06/2011 279


安装和配置 CANopen 现场总线

CANopen 对象链接 (主站)

概述
主站 CANopen 配置的链接对话框用于定义从站设备的所选 PDO 与 TWDNCO1M
CANopen 主模块 (或 Twido Extreme 集成的 CANopen 总线主站) PDO 之间的物
理链接。

“ 链接 ” 对话框
要访问链接对话框,请在 TWDNCO1M 主模块或 Twido Extreme 集成的 CANopen
总线主站上双击 (或右键单击并选择 CANopen 配置) CANopen 主站端口。
结果:屏幕上将显示 “ 链接 ” 对话框,如下图所示:

280 35013230 06/2011


安装和配置 CANopen 现场总线

对象链接
要了解如何使用 “ 链接 ” 对话框来定义从站设备与主模块 PDO 之间的物理链接,请
遵循以下指南:

步骤 操作
1 在 TWDNCO1M 或 Twido Extreme 上双击 (或右键单击并选择 CANopen 配
置) CANopen 主站端口。
结果:屏幕上将显示 “ 链接 ” 对话框,如下图所示:

在非链接从站 PDO 的左下方将显示非链接 PDO,在链接的主站 PDO 的右下


方将显示链接的 PDO。
使用类型切换列表在接收 PDO 与传输 PDO 之间切换。
注:在 “ 从站 PDO” 框中选择 Receive 或 Transmit 会自动将 “ 主 PDO” 切换为
相反的类型:分别 Transmit 或 Receive。
2 在 “ 非链接从站 PDO” 框中,选择要链接至 TWDNCO1M CANopen 主模块
(或 Twido Extreme 集成的 CANopen 总线主站)的 PDO,然后单击添加图标

将该 PDO 附加到主 PDO 链接列表。


注:TWDNCO1M 主模块和 Twido Extreme 集成的 CANopen 总线主站支持最
多 16 路 TPDO 链接和 16 路 RPDO 链接。
3 要更改 “ 链接的主 PDO” 框中 PDO 链接的地址索引,请使用上移 / 下移箭头图

标 / 。

35013230 06/2011 281


安装和配置 CANopen 现场总线

步骤 操作
4 要删除 “ 链接的主 PDO” 框中未使用的 PDO 链接,请选择需要的 PDO(索引

1 至 16),然后单击删除图标 。
5 单击确定以确认对已映射 PDO 结构所做的更改,并将 PDO 链接保存到
TwidoSuite 项目中 (或单击 “ 取消 ” 以取消修改)。
6 为每个要链接至 CANopen 主模块的从站 PDO 重复步骤 1 至步骤 5。
SDO 额外存储器占用:
预定义 PDO 和字对象不使用任何额外 SDO 存储器。
但是,从 PDO 映射结构中删除字对象或向其添加字对象都需要使用额外的系
统存储器。 SDO 存储器的当前使用情况显示在 “ 链接 ” 对话框底部的状态栏

中: 。

282 35013230 06/2011


安装和配置 CANopen 现场总线

CANopen 对象符号

概述
CANopen 主模块配置对话框中的符号列用于为与 CANopen 主站关联的变量定义符
号。

对象符号
可以按以下操作在主模块中编辑 CANopen 对象符号:

步骤 操作
1 双击 (或右键单击并选择配置) CANopen 主站。
对于 Twido Extreme,请双击 (或右键单击并选择配置)基板,然后在出现的面
板中选择 "CANopen" 选项卡。
将显示以下对话框:

2 编辑 " 符号 " 列中的条目:提供变量的描述性名称。


最多可使用 32 个字符:
z 字母 a-z
z 数字 0-9
z 下划线 _

禁止使用所有其他字符和空格。

注意:有关编辑符号的详细信息,请参阅用变量表示对象 , 第 48 页。

35013230 06/2011 283


安装和配置 CANopen 现场总线

CANopen 主模块的 PDO 寻址

概览
该小节介绍 CANopen 主模块的 PDO 输入和 PDO 输出的寻址。
为避免与远程 I/O 混淆,为 CANopen 对象的语法采用了新的指定规则:例如
%IWC。

示意图
寻址原则提示:

特定值
下表给定 CANopen 从站对象的特定值:

部分 值 注释
IWC - 物理 PDO 输入的映像。
QWC - 物理 PDO 输出的映像。
IWCD - 与 IWC 用法相同,但为双字格式。
QWCD - 与 QWC 用法相同,但为双字格式。
IWCF - 与 IWC 用法相同,但为浮点格式。
QWCF - 与 QWC 用法相同,但为浮点格式。

284 35013230 06/2011


安装和配置 CANopen 现场总线

部分 值 注释
x 1到7 TWDNCO1M CANopen 主模块在 Twido
扩展总线上的地址。
对于 Twido Extreme, x=1
n 0 到 15 PDO 编号 (取决于 PDO 索引)。
i 0到7 通道编号 (取决于 PDO 子索引)。

示例
下表显示 PDO 寻址示例:

I/O 对象 描述
%IWC4.1.0 在 Twido 扩展总线上,位于地址 4 处的 CANopen 模块的 PDO 编
号 1、子索引 0 输入。

隐式交换
下述对象是隐式交换的,也就是说,它们在每个 PLC 循环上都自动交换。

35013230 06/2011 285


安装和配置 CANopen 现场总线

CANopen 现场总线的编程和诊断

显式交换
与 CANopen 现场总线关联的对象 (字和位)提供数据 (例如:总线操作、从站状
态等)和附加命令,以执行 CANopen 功能的高级编程。
这些对象通过扩展总线在 Twido 控制器与 CANopen 主模块之间进行显式交换:
z 按照程序用户的请求,通过指令:CAN_CMD (请参见下面的 “CAN_CMD 指令
简介 ”)
z 通过调试屏幕或动态数据表

CANopen 主模块保留的特定系统字
Twido 控制器中为 TWDNCO1M CANopen 主模块保留的系统字使您能够确定网络
的状态:%SW8x (x=1-7) 保留用于在 Twido 总线上扩展地址 x 处安装的 CANopen
主模块。只使用这些字的前 7 位,而且这些位为只读位。
对于 Twido Extreme 集成的 CANopen 总线主站,保留的特定系统字始终为
%SW81 (%SW82...%SW87 未使用)。
下表显示了已使用的位:

系统字 位 描述
0 CANopen 主模块的配置状态 (如果配置正确,则为 1,否
%SW8x 则为 0)
(x=1-7)
1 CANopen 主模块的操作模式 (如果启用数据交换,则为
1,否则为 0)
2 系统已停止 (如果启用离线模式,则为 1,否则为 0)
3 CAN_CMD 指令完成 (如果命令完成,则为 1,当命令仍
在执行时为 0)
4 CAN_CMD 指令错误 (如果指令出错,则为 1,否则为 0)
5 初始化错误 (为 1)
6 消息丢失, “ 电源相关错误 (为 1) ”

使用示例 (针对在 Twido 总线上扩展地址 1 处安装的 CANopen 主模块):


使用 CAN_CMD 指令之前,必须检查 %SW81:X3 位以查看指令是否未在执行:即
检查是否 %SW81:X3 = 1。
要确定随后是否正确执行了指令,请检查 %SW81:X4 位是否等于 0。

286 35013230 06/2011


安装和配置 CANopen 现场总线

CANopen 从站保留的特定系统字
%SW20 至 %SW27 为保留的系统字,通过它们您可以了解节点地址范围为 1 至 16
的 16 个 CANopen 从站的当前状态。这些存储器字的内容是只读的。
下表介绍系统字 %SW20 至 %SW27:

节点地址
(从站编号)
系统字 字内容 / 描述
位 位
[15-8] [7-0]
%SW20 2 1 当 %SW2x 采用以下值时:
%SW21 4 3 z = 0 => 在 CANopen 主模块启动时在 CANopen 总线上所有

%SW22 6 5 模块均丢失 (1)。


z = 1 => 网络上存在意外的模块。从网络上删除该模块之
%SW23 8 7 前,该模块已将自己标记为 “ 存在错误 ”。
%SW24 10 9
z = 2 => 节点状态为操作 (模块处于操作状态):
%SW25 12 11 -“ 没有错误 ”。
%SW26 14 13 z = 3 => 节点状态为操作 (模块处于操作状态):
%SW27 16 15 -“ 存在错误 ”。
z = 4 => 节点状态为预操作 (模块处于预操作状态):
- 仅预期的模块 (在配置表中声明为预期的那些模块);
- 模块可被设置为操作状态;
-“ 没有错误 ”。
z = 5 => 节点状态为预操作 (模块处于预操作状态):
- 仅预期的模块 (在配置表中声明为预期的那些模块);
- 模块可被设置为操作状态;
-“ 存在错误 ”。

35013230 06/2011 287


安装和配置 CANopen 现场总线

节点地址
(从站编号)
系统字 字内容 / 描述
位 位
[15-8] [7-0]
z = 6 => 节点状态为预操作 (模块处于预操作状态):
- 仅预期的模块 (在配置表中声明为预期的那些模块);
- 模块存在,但其当前状态不允许将其设置为操作;
-“ 没有错误 ”。
z = 7 => 节点状态为预操作 (模块处于预操作状态):
- 仅预期的模块 (在配置表中声明为预期的那些模块);
- 模块存在,但其当前状态不允许将其设置为操作;
-“ 存在错误 ”。
z = 8 => 错误的模块 (检测到具有不同设备标识信息的模
块):
-“ 没有错误 ”。
z = 9 => 错误的模块 (检测到具有不同设备标识信息的模
块):
-“ 存在错误 ”。
z = 10 => 从站配置错误 (模块以错误确认应答了 SDO 命令
表的 SDO 写入请求,或没有遵循 SDO 协议的规则):
-“ 没有错误 ”。
z = 11 => 从站配置错误:
-“ 存在错误 ”。
z = 12 => 模块丢失 / 错误控制超时 /SDO 超时(配置的模块
不可用,在操作过程中消失或不应答 SDO 访问):
-“ 没有错误 ”。
z = 13 => 模块丢失 / 错误控制超时 /SDO 超时(配置的模块
不可用,在操作过程中消失或不应答 SDO 访问):
-“ 存在错误 ”。 (1)
z = 14 => 意外的模块 (检测到不在配置表中的模块):
-“ 没有错误 ”。
z = 15 => 意外的模块 (检测到不在配置表中的模块):
-“ 存在错误 ”。

注意:
1. 当 %SW2x 采用以下值时:
z =0,对于某一从站意味着所有从站均丢失。
z =13,对于某一从站意味着该从站丢失,但在 CANopen 总线上至少存在 1 个
从站。

288 35013230 06/2011


安装和配置 CANopen 现场总线

CAN_CMD 指令简介
对于每个用户程序, CAN_CMD 指令使用户可以通过编程来设置网络并获得从站诊
断信息。指令参数通过内部字 (存储器字) %MWx 传递。
该指令的语法如下:
CAN_CMD n %MW x :l
说明:

符号 描述
n CANopen 主模块在 Twido 总线上的扩展地址 (1 至 7)。
x 参数中传递的第一个内部字 (存储器字)的编号。
l 以字数表示的指令长度 (2 或 6)。

注意:主站 CanOpen Twido 不管理字符串等对象,而只是管理 8、16 与 32 位对象


(带符号或不带符号)。

使用 CAN_CMD 指令
CAN_CMD 指令使您可以对 CANopen 网络进行编程和管理,并对单个从站设备执
行诊断检查。命令参数通过存储器字 %MWx 传递。
下表根据需要,根据参数 %MW(x) 至 %MW(x+5) 的值介绍 CAN_CMD 指令的操
作:

%MWx %MWx+1 %MWx+2 %MWx+3 %MWx+4 %MWx+5


位 位 位 位 位 位 位 位 位 位 操作
[15-8] [7-0] [15-8] [7-0] [15-8] [7-0] [15-8] [7-0] [15-8] [7-0]
1 0 复位 CANopen 通讯。
1 1 复位 CANopen 节点。

2 0 从操作模式切换到预操作
模式。
2 1 切换到操作模式。

35013230 06/2011 289


安装和配置 CANopen 现场总线

%MWx %MWx+1 %MWx+2 %MWx+3 %MWx+4 %MWx+5


位 位 位 位 位 位 位 位 位 位 操作
[15-8] [7-0] [15-8] [7-0] [15-8] [7-0] [15-8] [7-0] [15-8] [7-0]
3 => 开始读取 SDO 命令。
3或4
4 => 开始写入 SDO 命令。
节点 节点 = 1-16 => 节点地址
索引 PDO 对象索引。
子索引 = 0-255 => 对象子
子索 索引
长度
引 长度 = 以字节表示的数据
长度
取决于长度字段 (长度)
数据 1
值的有效负载
取决于长度字段 (长度)
数据 2
值的有效负载
5 (1) 节点 为节点复位 CANopen 通
讯。
6 (1) 节点 为节点复位 CANopen 节
点。
7 (1) 节点 将节点从操作模式切换到
预操作模式。
8 (1) 节点 将节点切换到操作模式。
(1)
CAN_CMD 仅适用于:Twido Extreme (固件版本为 4.0 或更高版本),以及 TWDNCO1M CANopen 主模块 (固
件版本为 2.0 或更高版本)。

注意: 每次进行 PLC 扫描时都将更新总线状态。但是, CAN_CMD 总线读取指令


的结果仅在随后的 PLC 扫描结束时才可用。

CAN_CMD 指令的编程示例
示例 1:
要强制将 TWDNCO1M CANopen 主模块 (位于 Twido 扩展总线上的地址 1)或
Twido Extreme 集成的 CANopen 总线主站切换到初始化模式:
LD 1
[%MW0 := 16#0001]
[%MW1 := 16#0001]
LD %SW81:X3 (* 如果无 CAN_CMD 指令 *)
(* 则继续 *)

290 35013230 06/2011


安装和配置 CANopen 现场总线

[CAN_CMD1 %MW0:2] (* 强制将 CANopen 主模块 *)


(* 切换到初始化模式 *)
----
LDN %SW81:X4 (* (可选)了解是否 CAN_CMD *)
(* 了解是否成功 *)
(* 正在发送一个新指令。 *)
示例 2:
读取以下变量:SDO_Slave:1_index:24576_sub-index:1_length:4
LD 1
[%MW6 := %MW4] (* 存储上一个 *)
(* SDO 命令的结果 *)
[%MW7 := %MW5] (* 存储上一个 SDO *)
(* 命令 *)
----
LD %SW81:X3 (* 如果无 CAN_CMD 指令 *)
(* 则继续 *)
[%MW0 := 16#0003]
[%MW1 := 16#0001] (* SDO 读取到地址节点 1*)
[%MW2 := 16#6000] (* 访问索引编号 24576*)
[%MW3 := 16#0104] (* 访问子索引编号 1*)
(* 和长度值 4 *)
[CAN_CMD1 %MW0:6](* 开始 SDO 命令 *)
示例 3:
写入以下变量:SDO_Slave:1_index:24576_sub-index:1_length:4
LD 1
[%MW0 := 16#0004]
[%MW1 := 16#0001] (* SDO 写至地址节点 1*)
[%MW2 := 16#6000] (* 访问索引编号 24576*)
[%MW3 := 16#0104] (* 访问子索引编号 1*)
(* 和长度值 4 *)
[%MW4 := 16#1234] (* 数据 1 值 *)

35013230 06/2011 291


安装和配置 CANopen 现场总线

[%MW5 := 16#1234] (* 数据 2 值 *)
----
LD %SW81:X3 (* 如果无 CAN_CMD 指令 *)
(* 则继续 *)
[CAN_CMD1 %MW0:6](* 开始 SDO 命令 *)
示例 4:
要强制将 Twido Extreme 集成的 CANopen 总线主站切换到初始化模式:
LD 1
[%MW0 := 16#0005] (* 命令类型 5 至 8*)
[%MW1 := 16#0001] (* 节点地址 *)
----
LD %SW81:X3 (* 如果无 CAN_CMD 指令 *)
(* 则继续 *)
[CAN_CMD1 %MW0:2] (* 强迫 Twido Extreme *)
(* 集成的 CANopen 总线主站切换到初始化模式 *)

292 35013230 06/2011


安装和配置 CANopen 现场总线

Twido 控制器的 CANopen 热交换

CANopen 热交换
具有 Twido 控制器和 CANopen 主站 TWDNCO1M (具有固件版本 2.0 或更高版
本)的 CANopen 网络支持热交换。 Twido Extreme 也支持热交换。热交换意味着
您可以断开 CANopen 从站,然后重新连接,而无需开 / 关主站连接 (或者,无需
在 Twido Extreme 控制器的情况下将它断开与 PLC 的连接)。

热交换兼容性
仅当配置了节点监控 (保护时间或心跳)功能时,热交换功能才可用。有关如何配
置节点监控的详细信息,请参阅配置网络管理参数 , 第 276 页。

35013230 06/2011 293


安装和配置 CANopen 现场总线

294 35013230 06/2011


TwidoSuite V2.3
安装和配置 CANJ1939 现场总线
35013230 05/2009

安装和配置 CANJ1939 现场总线

11
本章主题
本章描述如何使用 Twido Extreme TWDLEDCK1 本体控制器安装和配置 CANJ1939
现场总线。

本章包含了哪些内容?
本章包含了以下部分:
节 主题 页
11.1 CANJ1939 现场总线概览 296
11.2 实施 CANJ1939 总线 303

35013230 06/2011 295


安装和配置 CANJ1939 现场总线

11.1 CANJ1939 现场总线概览

本节主题
本节提供有关 CANJ1939 现场总线的一般信息,并介绍本章其余部分通篇使用的
CANJ1939 特定的术语。

本节包含了哪些内容?
本节包含了以下主题:
主题 页
CANJ1939 知识库 297
CANJ19139 参数组编号和可能的参数编号 299
CANJ1939 标识符 300
CANJ1939 网络上的通讯 302

296 35013230 06/2011


安装和配置 CANJ1939 现场总线

CANJ1939 知识库

简介
本节提供有关 CANJ1939 网络通讯的基本信息。

应用领域
CANJ1939 是一种适用于 CAN 现场总线的高层协议,由 SAE (Society of
Automotive Engineers,汽车工程师协会)制定,适用于在各种工业领域中使用的
设备,应用领域包括农业、建筑、火警 / 救援、林业、材料处理以及公路机动设备
和非公路机动设备等。

特性
CANJ1939 是一种高速通讯网络,其作用是在物理上分布于整个车辆中的各台电子
设备之间支持实时的闭合回路控制功能。
CANJ1939 可以执行 J1708/J1587 的所有功能以及控制系统支持,任何应用程序都
可以利用其中一种网络或同时利用这两种网络。
注意:Jl708/Jl587 是一种较早的、广泛使用的网络,其作用是在电子设备之间提供
简单的信息交换 (包括诊断数据)。

电子控制单元 (ECU)
电子控制单元 (ECU) 是基于计算机的电子部件,通过它可以接收或发送 CANJ1939
消息。
在本文档的其余部分中, ECU 称为 CANJ1939 元素。

参数组编号 (PGN)
在 CANJ1939 规范中,将相似或相关的参数 (信号)结合在一起组成参数组
(PG)。每个参数组都可以通过一个唯一编号进行标识:即它的参数组编号 (PGN)
(请参阅参数组编号 (PGN), 第 299 页)。

可能的参数编号 (SPN)
可能的参数编号 (SPN) 用于标识与 CANJ1939 元素关联的特定参数 (信号)(请参
阅可疑参数编号 (SPN), 第 299 页)。
SPN 是一个唯一的 19 位编号,此编号是 PGN 的一部分。
注意:所有 SPN 和 PGN 的详细列表由 SAE 委员会以 MS Excel 电子表格形式提供
(请参阅 http://www.sae.org/)。

35013230 06/2011 297


安装和配置 CANJ1939 现场总线

通讯方法
CANJ1939 中具有三种核心通讯方法:
z 对等通讯 ( 参见第 302 页 ):消息定向到特定设备,消息的标识符中包含特定的目
标地址。
z 广播通讯 ( 参见第 302 页 ):消息在网络上传输,但不定向到特定目标。这就允许
任何设备使用此数据,而无需额外的请求消息。
z 专有通讯:不能用于 Twido Extreme

其他来源
有关 CANJ1939 的详细信息,请参阅以下 SAE 文献:

文档参考号 文档名称
SAE J1939 有关串行控制和通讯汽车网络的建议实践
SAE J1939-11 物理层 — 250K 位 / 秒,屏蔽双绞线
SAE J1939-13 非板载诊断连接器
SAE J1939-15 简化物理层, 250K 位 / 秒,非屏蔽双绞线 (UTP)
SAE J1939-21 数据链路层
SAE J1939-31 网络层
SAE J1939-71 汽车应用层
SAE J1939-73 应用层 - 诊断
SAE J1939-81 网络管理协议

还可以参见以下因特网站点:
z CAN In Automation (CIA) 网站:http://www.can-cia.org/
z 汽车工程师协会 (SAE) 网站:http://www.sae.org/

298 35013230 06/2011


安装和配置 CANJ1939 现场总线

CANJ19139 参数组编号和可能的参数编号

简介
本节介绍与在 CANJ1939 网络中使用参数组编号和可能的参数编号相关的信息。

参数组 (PG)
参数组 (PG) 是指在 CANJ1939 消息中传送的参数的集合。
参数组包括:
z 命令
z 数据
z 请求
z 确认
z 负面确认

PG 不依赖于源地址字段:任何源都可以发送任意 PG。

参数组编号 (PGN)
参数组编号 (PGN) 是标识特定 PG 的 24 位表示形式。
PGN 结构允许多达 8672 个不同的参数组。在传输参数组时, PGN 被编码到 CAN
标识符中。

可疑参数编号 (SPN)
可能的参数编号 (SPN) 是一个 19 位编号,用于标识与 ECU (CANJ1939 元素)关
联的特定元素、组件或参数。此功能对于进行诊断尤其有用,当 ECU 检测到与特定
组件 (如传感器)关联的问题时,它允许 ECU 传送一条标识该停用组件的消息。
SPN 由 SAE (汽车工程师协会)委员会指定。前 511 个 SPN 保留,供以后分配以
对应于 J1587 的参数标识符 (PID) 中完全相同的编号。

SPN 示例
z 发动机冷却液温度
z 燃油温度
z 发动机机油温度
z 涡轮机油温度
z 发动机中冷器温度

35013230 06/2011 299


安装和配置 CANJ1939 现场总线

CANJ1939 标识符

简介
通过使用在 CAN 协议中定义的 29 位标识符 (CAN 扩展帧), CANJ1939 提供了
完整的网络定义。
注意:CANJ1939 还使得 11 位标识符 (CAN 标准帧)设备能够用于同一网络中,
同时将所有消息定义为专有消息,并允许这两种设备类型共存而不产生干扰。

CANJ1939 标识符描述
CANJ1939 标识符的 29 位帧结构如下所示:

以下各节介绍组成 CANJ1939 帧的各个部分。

优先级
优先级字段 (3 位)用于在仲裁过程中确定消息的优先级:
z 值 000 具有最高的优先级。较高优先级消息通常用于高速控制消息。
z 值 111 具有最低优先级。较低优先级消息用于对时间要求不高的数据。

保留 (R)
R 位为保留位。此缺省设置允许以后将此位用于由 SAE (汽车工程师协会)委员会
定义的其他功能。

数据页 (DP)
DP 位用作页面选择器:
z 页面 0 包含当前定义的所有消息。
z 页面 1 保留供将来使用。这种设计的目的在于:一旦页面 0 存储器空间用完,页
面 1 可以提供额外的扩展容量。

PDU 格式 (PF)
PF 字段 (8 位)用于标识两种可以传输的消息格式之一:
z 如果 0 ≤PF ≤239,则将 PDU1 格式用于对等 ( 参见第 302 页 ) 通讯方法。
z 如果 240 ≤PF ≤255,则将 PDU2 格式用于广播通讯 ( 参见第 302 页 ) 方法。

注意:PDU 表示协议数据单元 (Protocol Data Unit)。

300 35013230 06/2011


安装和配置 CANJ1939 现场总线

PDU 特定 (PS)
PS 字段 (8 位)取决于 PDU 的值:
z 如果使用 PDU1 格式,则 PS 字段包括一个目标地址 (DA)。PDU1 格式的每个数
据页面中都提供了 240 个参数组
z 如果使用 PDU2 格式,则 PS 字段包括一个组扩展 (GE)。组扩展字段与 PDU 格
式字段的四个最低有效位相结合,为每个数据页面 (DP) 提供 4096 个参数组

源地址
源地址字段 (8 位)包括用于传输消息的 ECU (CANJ1939 元素)的唯一地址。

其他字段
z SOF (帧开始):CAN 帧的初始位,仅用于指示帧的开头。
z SRR (替代远程请求):此位完全由 CAN 定义和控制,因此不能通过
CANJ1939 进行描述或修改。
z IDE(标识符扩展位):此位完全由 CAN 定义和控制,因此不能通过 CANJ1939
进行描述或修改。
z RTR (远程传输请求):CANJ1939 中不使用 CAN 的这一特性。

35013230 06/2011 301


安装和配置 CANJ1939 现场总线

CANJ1939 网络上的通讯

概述
本节提供有关 CANJ1939 网络上的冲突检测、地址分配和通讯方法的详细信息。

冲突检测
CANJ1939 使用 CAN 协议,该协议允许网络上的任何设备在总线空闲时传输消息。
由于在传输标识符时会发生仲裁过程,因而可以避免冲突 (使用非破坏性仲裁方
案)。由于任何设备对网络都具有平等的访问权,因此通过仲裁,可以允许高优先
级消息以低延迟时间通过网络。

地址分配
对应给定的网络,每个网络元素地址必须是唯一的 (0 到 254, 255 可用于广播)。
PGN 不依赖于源地址。因此,任何 CANJ1939 元素都可以传输任何消息。

广播
CANJ1939 网络上使用的大多数消息属于广播类型。这意味着数据在网络上传输
时,无需将其定向到特定的目标。这允许任何设备使用这些数据,而无需其他的请
求消息。这还使将来的软件版本能够轻松地容纳新设备 (地址分配)。

对等
如果某条消息必须定向到特定设备,则在消息的标识符内可包括一个特定目标地
址。

302 35013230 06/2011


安装和配置 CANJ1939 现场总线

11.2 实施 CANJ1939 总线

简介
本节描述如何使用 Twido Extreme TWDLEDCK1 本体控制器实施 CANJ1939 现场
总线。

本节包含了哪些内容?
本节包含了以下主题:
主题 页
CANJ1939 实施概述 304
硬件设置 305
CANJ1939 配置方法 306
CANJ1939 配置对话框 (元素、网络、端口) 308
创建或删除 CANJ1939 传输 / 接收对象 311
查看 CANJ1939 传输 / 接收对象 318
CANJ1939 广播配置 320
CANJ1939 对等配置 322
专用模式中的 CANJ1939 配置 324
CANJ1939 输入 / 输出对象 326
请求 PGN 输出 329

35013230 06/2011 303


安装和配置 CANJ1939 现场总线

CANJ1939 实施概述

硬件和软件要求
在 Twido PLC 系统上实施 CANJ1939 总线需要以下硬件和软件:

硬件 要求
Twido Extreme PLC 本体 Extreme 本体
z TWDLEDCK1

CANJ1939 连接器和电缆 请参阅 Twido Extreme 硬件指南。


用于 Twido Extreme PLC 的编 PC 到控制器的编程电缆:USB
程电缆 z TSX CUSB485 和 TWD XCAFJ010

用于 Twido Extreme PLC 的编 PC 到控制器的编程电缆:串行


程电缆 z VW3 A8106

蓝牙转换器 - 启用从 PC 到 PLC PLC 蓝牙适配器:


的无线传输 z VW3 A8114

软件 要求
Twido PLC 配置软件 TwidoSuite V2.0 或更高版本

CANJ1939 实施过程
以下过程将指导您安装、配置和使用 CANJ1939 网络:

步骤 描述
1 硬件设置
2 CANJ1939 配置方法
3 " 配置 " 对话框
4 创建传输 / 接收对象
5 广播配置
6 对等配置
7 专用模式配置
8 CANJ1939 I/O 对象
9 使用 SPN 请求
以下各节详细描述了这些步骤。

304 35013230 06/2011


安装和配置 CANJ1939 现场总线

硬件设置

安装 Twido Extreme PLC (TWDLEDCK1)


要安装 Twido Extreme,请执行以下步骤:

步骤 操作 描述
1 安装 Twido Extreme 使用安装孔安装 TWDLEDCK1 Twido Extreme (水平
TWDLEDCK1 或垂直)。有关更多详细信息,请参阅 。
2 CANJ1939 接线和连接 使用 70 针连接器连接电源和设备。有关接线详细信
息,请参阅。

35013230 06/2011 305


安装和配置 CANJ1939 现场总线

CANJ1939 配置方法

概述
本节描述配置 CANJ1939 总线的一般方法。后续几节提供了进一步的信息。
在 TwidoSuite 的描述窗口中进行 CANJ1939 配置。然后,可以在程序 →配置硬件,
模块配置 CANJ1939 选项卡中查看配置结果(请参阅查看 CANJ1939 传输 / 接收对
象 , 第 318 页)。
注意:
1. CANJ1939 配置只能在离线模式下进行。
2. 当 Twido Extreme 连接到 PC 时,不能进行任何更改。在在线模式下只能修改网
络名称、元素名称和 " 专用模式 " 复选框。

306 35013230 06/2011


安装和配置 CANJ1939 现场总线

CANJ1939 配置方法
下表介绍 CANJ1939 网络的不同软件实施阶段。有关如何在 TwidoSuite 中创建和
配置 CANJ1939 网络的详细描述 (请参阅)。

模式 阶段 描述
本地 硬件选择 通过从产品目录中选择 Twido Extreme
TWDLEDCK1 基板控制器和所需数量的 CANJ1939
设备,可以在 TwidoSuite 的 " 描述 " 窗口的图形工
作空间中创建 CANJ1939 网络。
配置 CANJ1939 网络 通过以下方式在描述窗口中配置 CANJ1939 网络:
z 为每个 CANJ1939 元素分配一个唯一地址(0 到
254, 255 可用于广播) (2)。单个 CANJ1939
设备可以具有多个地址。在这种情况下,应在
TwidoSuite 中创建具有相同名称的多个元素,但
这些元素使用不同的地址。有关这些对话框的详
情 (请参阅 CANJ1939 配置对话框 (元素、网
络、端口) , 第 308 页)
z 在图形工作空间中将元素连接在一起 (请参阅)
z 为每个相关的 CANJ1939 元素定义适当的 (接
收或传输)消息对象 (最多 8 个字节的数据)。
有关详细信息,请参阅创建或删除 CANJ1939 传
输 / 接收对象 , 第 311 页
查看 CANJ1939 消息对象 可以在程序 →配置 →配置硬件窗口 (模块配置窗
格,选择 CANJ1939 选项卡)中查看先前定义的消
息对象。
有关此配置窗格的详细信息(请参阅查看 CANJ1939
传输 / 接收对象 , 第 318 页)。
重命名消息对象 (可选) 消息对象已预定义了描述性名称。但是,您可以在
程序 →配置 →配置硬件窗口 (模块配置窗格,选
择 CANJ1939 选项卡)中编辑这些名称 (最多 32
个字符)。
编程 对 CANJ1939 功能进行编程。
在线 传输 应用程序到 PLC 的传输。
调试 在动态显示和调试屏幕的帮助下调试应用程序

注意:
1. 在 TwidoSuite 中, CANJ1939 设备由一个或几个 CANJ1939 元素表示。设备
(或元素)也称为电子控制单元 (ECU) (请参阅电子控制单元 (ECU),
第 297 页)。
2. 元素地址被限制在值 0 到 254 之间。请参阅 CANJ1939 知识库 , 第 297 页

35013230 06/2011 307


安装和配置 CANJ1939 现场总线

CANJ1939 配置对话框 (元素、网络、端口)

概述
本节详细介绍在 TwidoSuite 的描述窗口中使用的 CANJ1939 配置对话框。

配置 CANJ1939 元素 / 网络 / 端口
下表显示如何配置先前已创建的 CANJ1939 元素、网络或端口,并详细介绍相应的
对话框字段:

步骤 操作
1 在描述窗口中,将鼠标移到元素、网络或端口上方,直至出现配置 (螺丝刀)光标,然后双击 (或右键单
击并选择 " 配置 ")。
结果:将打开以下配置对话框之一,请参阅步骤 2、 3 和 4.
2 " 端口配置 " 对话框

308 35013230 06/2011


安装和配置 CANJ1939 现场总线

步骤 操作
3 " 元素配置 " 对话框

4 " 网络配置 " 对话框

35013230 06/2011 309


安装和配置 CANJ1939 现场总线

步骤 操作
5 可以修改以下字段 (可选):
z 名称:缺省名称为 " 元素 1"(对于元素)和 " 我的网络 "(对于网络 1),并且此字段限制为 32 个字符。
z 地址:缺省值为 0。元素地址限制在值 0 到 255 之间。
z 专用模式复选框:选择此复选框后,将显示 PGN/SPN 编号。缺省情况下此复选框为已清除状态,即使
在关闭此对话框时此复选框处于选中状态,重新打开此对话框时也将恢复缺省值 (已清除)。
z #:采用 0 到 31 之间的值,为不同类型的消息提供一个简单的标识号 (请参阅参数组编号 (PGN),
第 297 页)。如果两个或更多消息对象来自同一个参数组,则它们共享相同的 # ;如果更改一个对象的
# 值,则自动将此值应用到其他对象。该表还将重新排序,以便始终以 # 的升序显示这些对象。
z 优先级:采用 0 到 7 之间的值 (0 为最高优先级)。将根据特定的消息对象 (SPN) 预设这些值 (请参阅
可能的参数编号 (SPN), 第 297 页)。但您可以编辑这些值,如果更改一个消息对象的优先级,则会导致
将同一优先级应用于共享相同 # 的所有消息对象。
z 周期模式 (传输对象)复选框:选中此复选框后,将以您在 " 周期 " 字段中指示的周期 (以毫秒为单位)
定期发送消息。如果清除周期模式复选框,则无法编辑周期字段。如果对一个消息对象更改周期模式,
会导致将同一模式应用于共享相同 # 的所有消息对象。
z 沙漏模式(接收对象)复选框:选中此复选框时,在 " 周期 " 字段中指示的时间(以毫秒为单位)将提供
超时时段。(如果 Twido Extreme 在此超时间段后尚未收到消息,将出现参数组错误。)系统字
%SW33 到 %SW40 将得到更新。
z 周期:(以毫秒为单位)采用 10 到 60000 之间的值 (缺省值为 100),仅在选中相应的周期模式 (传
输对象)复选框或超时 (接收对象)复选框时,才能编辑该值。
z 描述:按此按钮可以显示消息对象 (SPN) 的描述。
z 处理器实例: (1) 指示 PLC 将向它发送消息的 CANJ1939 元素。授权值为 0 和 1。
z 功能实例: (1) 给定功能在汽车系统和给定网络中的特定出现。如果在网络中只存在某个功能的一个实
例,则该字段必须设置为 "0",以便将其定义为第一个实例。
z 汽车系统实例: (1) 给定车辆系统在给定网络中的特定出现。如果在网络中只存在某个汽车系统的一个实
例,则该字段必须设置为 "0",以便将其定义为第一个实例。

注: (1) 所有这些值都在 SAE J1939 中指定。


6 以下字段为只读字段:
z 制造商代码 (1) 指示负责电子控制模块的生产的制造商。
z 功能: (1) 指示控制器应用程序的主要功能。
z 汽车系统: (1) 网络中的一组功能。
z 集团公司 (1) 指示集团公司。

注: (1) 所有这些值都在 SAE J1939 中指定。


7 单击取消以放弃更改,或单击确定以应用这些更改,并关闭此对话框。

310 35013230 06/2011


安装和配置 CANJ1939 现场总线

创建或删除 CANJ1939 传输 / 接收对象

概述
CANJ1939 消息既可以是传输对象,也可以是接收对象。这些消息对象是通过相应
的 (元素或端口)配置对话框 (可从描述窗口中访问)创建的。传输对象是由
Twido Extreme 传输的对象,而接收对象是由 Twido Extreme 接收的对象。
本节说明如何创建和删除传输 / 接收对象。可以通过在端口上添加对象来定义广播
消息。可以通过向相应的元素添加对象来定义对等消息。请参阅 CANJ1939 网络上
的通讯 , 第 302 页。
注意:在 TwidoSuite 中,可以配置 CANJ1939 网络来处理由 Twido Extreme PLC
发送的消息 (广播消息或对等消息)。 TwidoSuite 只可用于配置 Twido Extreme 控
制器。不能使用 TwidoSuite 配置在 CANJ1939 网络上连接的其他非 Twido 产品。

35013230 06/2011 311


安装和配置 CANJ1939 现场总线

创建传输 / 接收对象
以下步骤显示如何创建传输 / 接收对象。

步骤 操作
1 在描述窗口中,将鼠标滚动到对应的元素 (对等)或端口 (广播)上方,直至出现配置 (螺丝刀)光
标,然后双击 (或右键单击并选择 “ 配置 ”)以打开配置对话框。
结果:将打开以下 “ 配置 ” 对话框 (端口示例)。

注:此示例针对广播消息。对等消息采用相同的方法,只不过是通过配置元素来创建。
有关元素配置对话框的示例以及有关其字段的更详细信息,请参阅 CANJ1939 配置对话框 (元素、网
络、端口) , 第 308 页。

312 35013230 06/2011


安装和配置 CANJ1939 现场总线

步骤 操作
2 单击添加对象。
结果:将打开以下对话框:

3 选择类型接收或传输,并从类型列表中选择所需的消息对象。(此类型列表可通过滚动条或键入对象名
称的前三个字母来进行滚动。)
如果您选择的对象已在另一个 CANJ1939 元素、端口或网络上创建 (使用同一类型 “ 接收 / 传输 ”),
则将收到一条错误消息,并阻止添加此对象。
(选择专用模式复选框将显示相应的 PGN/SPN(1)。)
对象的类型 (“ 接收 ” 或 “ 传输 ”)取决于您是配置元素还是端口,以及所需消息的类型 (广播或对
等)。请参阅下面的消息对象摘要 ( 参见第 315 页 )。
在源地址字段中,您可以选择处理来自所有 CANJ1939 元素的所需消息或只来自一个 CANJ1939 元素
的所需消息 (通过选择其地址)。如果在类型列表中选择了传输,则源字段不可用。
(1)
CANJ1939 消息对象分组为不同的类型 (或参数组)。因此,每个消息对象都与一个十六进制参数组
编号 (PGN) 关联,而且还拥有自己独立的十六进制标识号,该编号称为可能的参数编号 (Suspect
Parameter Number, SPN)。这样,一个消息对象通常按其 SPN 来引用,并且多个 SPN 与同一个 PGN
相关。有关更多信息,请参阅专用模式中的 CANJ1939 配置 , 第 324 页。

35013230 06/2011 313


安装和配置 CANJ1939 现场总线

步骤 操作
4 单击取消以放弃操作,或者单击确定以添加所选对象,然后关闭 “ 添加对象 ” 配置对话框。
结果:(元素或端口)配置对话框将显示所选的消息对象。
示例:

5 针对您希望为此元素或端口创建的每个消息对象重复步骤 2 到 4。
在一个元素或端口上只能添加不超过 32 个相同类型 (传输或接收)的索引。如果您试图超过此限制,
则会出现一个错误消息,并且您将不能添加新对象。
6 如果必要,则通过删除对象解决冲突。
如果您选择的消息对象 (SPN) 的总大小超出了 TwidoSuite 的存储器限制 (这取决于所选的 SPN,因为
它们大小不同),将收到错误消息 “ 网络中定义了过多的 SPN”,并提示删除一些对象 (2)。
(2)
如果您尝试添加传输 (接收)对象 (超过 8 个字节),并且已存在另一个来自相同参数组的传输
(接收)对象 (在元素或端口上),则将收到一条冲突错误消息,提示您 “ 创建 ” (缺省选项)此参数
组的包含您所需消息对象的一个新实例。您还可以选择 “ 替换 ” (删除相同参数组的冲突消息对象)或 “
取消 ” (放弃更改)。
7 (可选)您可以在 (元素或端口)配置对话框中手动编辑某些字段,如 #、优先级、周期模式。有关这
些字段的详细说明,请参阅 CANJ1939 配置对话框 (元素、网络、端口) , 第 308 页
如有必要,手动编辑 # 字段,以便为创建的对象组分配新的索引 (PGN)。请确保所选消息对象具有连续
的 # 索引。有关 # 字段的更多信息,请参阅下面的 “ 消息对象索引 ”。
8 单击取消以放弃更改,或单击确定以保存更改并关闭 “ 配置 ” 对话框。

314 35013230 06/2011


安装和配置 CANJ1939 现场总线

消息对象摘要
此表汇总了在 CANJ1939 或 CANJ1939 端口上添加传输 / 接收对象的意义。

添加了传输对象 添加了接收对象
在元素上 (对等) Twido Extreme 向元素发送一条消 如果该元素发送此消息,则
息。(这使得此元素能够接收此消 Twido Extreme 将处理此消息
息)
在 CANJ1939 端 Twido Extreme 将消息发送到配置为 如果网络上显示此消息,则
口上 接收该消息的元素 (即,此元素具 Twido Extreme 将处理此消息
(广播) 有声明为传输对象的同一消息对象) 注:您可以配置 Twido Extreme,
以便处理来自所有 CANJ1939 元
素的此消息或只来自一个
CANJ1939 元素的此消息

在 TwidoSuite 中不能配置由其他设备发送的消息。

消息对象索引
# 字段为所创建的对象组 (PGN) 的 TwidoSuite 索引,采用 0 到 31 之间的值。如果
两个或更多消息对象来自同一个参数组,则这些对象将共享相同的 #。因此,如果
更改一个对象的 # 值,则会自动将此值应用于其他对象。该表还将重新排序,以便
始终以 # 的升序显示这些对象。不能使用已由其他元素或端口使用的 # 索引来创建
消息对象 (在此类情况下, TwidoSuite 将生成错误消息)。要解决此问题,可以手
动编辑 # 字段,并分配一个新的索引号。
注:要确保已添加的所有 SPN 以后在程序 →配置 →配置硬件 (模块配置窗格,
CANJ1939 选项卡)窗口中可访问,则确保所创建的消息对象具有连续的 # 索引。
例如,如果您添加 6 个 SPN,则它们将自动采用编号 #0 到 #5。如果您删除索引为
#3 的 SPN,则 SPN #4 和 #5 将在配置屏幕中不可见。为避免这一情况发生,请手
动编辑索引 #4 和 #5,并且用索引 #3 和 #4 代替它们,以确保连续的索引列表 #0 到
#4。

35013230 06/2011 315


安装和配置 CANJ1939 现场总线

删除传输 / 接收对象
以下步骤显示如何删除传输 / 接收对象。

步骤 操作
1 在描述窗口中,将鼠标滚动到对应的元素或端口上方,直至出现配置 (螺丝
刀)光标,然后双击 (或右键单击,然后选择 “ 配置 ”)以打开配置对话框,
该对话框将显示先前创建的传输 / 接收对象。
结果:将打开以下对话框:

2 单击要删除的接收 / 传输对象,然后单击删除对象或按键盘上的 Delete 键。


(选择 “ 专用模式 ” 复选框将显示相应的 PGN/SPN (1)。)
(1) CANJ1939 消息对象分组为不同的类型 (或参数组)。因此,每个消息对
象都与一个十六进制参数组编号 (PGN) 关联,而且还拥有自己独立的十六进制
标识号,该编号称为可能的参数编号 (Suspect Parameter Number, SPN)。这
样,一个消息对象通常按其 SPN 来引用,并且多个 SPN 与同一个 PGN 相关。
有关更多信息,请参阅专用模式中的 CANJ1939 配置 , 第 324 页。
3 对每个要删除的消息对象,重复执行步骤 1 和步骤 2。

316 35013230 06/2011


安装和配置 CANJ1939 现场总线

步骤 操作
4 在删除消息对象后,始终确保最终的索引 # 是连续的。这将确保所有 SPN 以
后在 程序 →配置 →配置硬件 (模块配置窗格, CANJ1939 选项卡)窗口中
可访问。
例如,如果您添加 6 个 SPN,则它们将自动采用编号 #0 到 #5。如果您删除索
引为 #3 的 SPN,则 SPN #4 和 #5 将在配置屏幕中不可见。为避免这一情况发
生,请手动编辑索引 #4 和 #5,并且用索引 #3 和 #4 代替它们,以确保连续的
索引列表 #0 到 #4。
5 单击取消以放弃操作,或单击确定以删除所选对象,并关闭 “ 配置 ” 对话框。

35013230 06/2011 317


安装和配置 CANJ1939 现场总线

查看 CANJ1939 传输 / 接收对象

概述
本节介绍如何查看先前在 TwidoSuite 的程序 →配置 →配置硬件窗口 (模块配置窗
格,选择 CANJ1939 选项卡)中定义的 CANJ1939 消息对象,并详细介绍在此窗
格中出现的字段。
注意: 在此窗口中不能执行任何实际配置。
有关一般配置信息,请参阅 CANJ1939 配置方法 , 第 306 页,并参阅创建或删除
CANJ1939 传输 / 接收对象 , 第 311 页以添加和删除消息对象。

318 35013230 06/2011


安装和配置 CANJ1939 现场总线

查看传输 / 接收对象
选择程序 →配置 →配置硬件窗口 (模块配置窗格, CANJ1939 选项卡)将显示先
前创建的传输 / 接收对象,如下图所示。

注意:要确保以前创建的所有消息对象均在此窗格中出现,必须在用于创建或删除
CANJ1939 传输 / 接收对象 ( 参见第 315 页 ) 的配置对话框(可从描述窗口访问)中以
连续方式建立这些消息对象的索引。
在此窗格中仅能编辑符号字段。如果您选择修改此字段,当离开此窗口时,系统将
询问您是否应用这些更改。如果以后要删除带有已修改符号的对象,则不保存符号
修改。
有关地址字段的更多信息,请参阅 CANJ1939 输入 / 输出对象 , 第 326 页。
如果 SPN 小于 8 位,则将 ":Xi" 附加到此地址后面,以提供此字中 SPN 的开始位
置。

35013230 06/2011 319


安装和配置 CANJ1939 现场总线

CANJ1939 广播配置

概述
本节描述 CANJ1939 网络中的广播配置。

广播消息
在 CANJ1939 网络中,每个设备 (元素)至少有一个地址。但是,大多数消息是广
播,因此它们不定向到特定的目标地址。
CANJ1939 消息由一个 29 位的标识符组成(有关详细信息,请参阅 CANJ1939 标识
符 , 第 300 页),该标识符定义消息的优先级、发送方以及所包含的数据。广播消
息与此标识符不同,它由一个包含组扩展的字段标识,该字段指示必须将消息广播
到所有网络元素,而不是某个特定地址。广播消息对象也可称为 PDU2 类型对象
(请参阅 CANJ1939 标识符 , 第 300 页)。
通过在 TwidoSuite 的描述窗口的端口上添加消息对象,可以在 TwidoSuite 中创建
广播消息。

通过 Twido Extreme 传输的广播消息


下表显示如何创建要由 Twido Extreme 广播到所有网络设备的 CANJ1939 消息。

步骤 操作
1 在 TwidoSuite 的描述窗口中创建并配置 CANJ1939 网络。
请参阅和。
2 将所需的传输对象添加到端口。这样,可以将消息广播到网络上的所有元素
(请参阅创建或删除 CANJ1939 传输 / 接收对象 , 第 311 页)。这使得任何设备
都可以使用包含在此消息中的数据。
3 打开程序 →配置 →配置硬件 (模块配置窗格,选择 CANJ1939 选项卡)窗
口,以显示已在上一步中配置的消息对象。
请参阅查看 CANJ1939 传输 / 接收对象 , 第 318 页。

320 35013230 06/2011


安装和配置 CANJ1939 现场总线

通过 Twido Extreme 接收的广播消息


Twido Extreme 可以配置为接收在 CANJ1939 网络上广播的消息。TwidoSuite 只可
用于配置 Twido Extreme 控制器。不能使用 TwidoSuite 配置在 CANJ1939 网络上
连接的其他非 Twido 产品。下表显示如何将 Twido Extreme 配置为接收要由
CANJ1939 元素广播的消息。

步骤 操作
1 在 TwidoSuite 的描述窗口中创建和配置 CANJ1939 网络。
请参阅和。
2 将所需的接收对象添加到端口 (请参阅)。这样,如果消息在网络上广播,则
可以通过 Twido Extreme 进行接收。
注:您可以配置 Twido Extreme,以便处理来自所有 CANJ1939 元素的消息
或只来自一个 CANJ1939 元素的消息。
请参阅创建或删除 CANJ1939 传输 / 接收对象 , 第 311 页。
3 打开程序 →配置 →配置硬件 (模块配置窗格,选择 CANJ1939 选项卡)窗
口,以显示已在上一步中配置的消息对象。
请参阅查看 CANJ1939 传输 / 接收对象 , 第 318 页。

35013230 06/2011 321


安装和配置 CANJ1939 现场总线

CANJ1939 对等配置

概述
本节描述 CANJ1939 网络中的对等配置。

对等消息
对等消息由 CANJ1939 的 29 位标识符中的一个目标地址字段在 CANJ1939 中定
义。对等消息对象也称为 PDU1 类型对象 (有关详细信息,请参阅 CAN 标识符部
分 CANJ1939 标识符 , 第 300 页)。
通过在 TwidoSuite 的描述窗口的元素上添加消息对象,可以在 TwidoSuite 中创建
对等消息。

在元素上定义的由 Twido Extreme 传输的对等消息


下表显示如何创建要由 Twido Extreme 发送到特定地址的 CANJ1939 消息。

步骤 操作
1 在 TwidoSuite 的描述窗口中创建并配置 CANJ1939 网络。
请参阅和。
2 将所需的传输对象添加到元素(请参阅创建或删除 CANJ1939 传输 / 接收对象
, 第 311 页)。此消息将由 Twido Extreme 发送。这样,当 Twido Extreme 发
送消息时,此元素就可以接收到此消息。
3 打开程序 →配置 →配置硬件 (模块配置窗格,选择 CANJ1939 选项卡)窗
口,以显示已在上一步中配置的消息对象。
请参阅查看 CANJ1939 传输 / 接收对象 , 第 318 页。

在元素上定义的由 Twido Extreme 接收的对等消息


Twido Extreme 可配置为接收由 CANJ1939 网络上的另一台设备 (对等)发送的消
息。 TwidoSuite 只可用于配置 Twido Extreme 控制器。不能使用 TwidoSuite 配置
在 CANJ1939 网络上连接的其他非 Twido 产品。下表显示如何将 Twido Extreme 配
置为接收由 CANJ1939 网络上的其他设备 (对等)发送的消息。

步骤 操作
1 在 TwidoSuite 的描述窗口中创建并配置 CANJ1939 网络。
请参阅和。
2 将所需的接收对象添加到元素(请参阅创建或删除 CANJ1939 传输 / 接收对象
, 第 311 页)。这样,当此元素发送消息时, Twido Extreme 可以接收它。
3 打开程序 →配置 →配置硬件 (模块配置窗格,选择 CANJ1939 选项卡)窗
口,以显示已在上一步中配置的消息对象。
请参阅查看 CANJ1939 传输 / 接收对象 , 第 318 页。

322 35013230 06/2011


安装和配置 CANJ1939 现场总线

由其他设备发送的消息
在 TwidoSuite 中只能创建由 Twido Extreme 发送的消息。无法在 TwidoSuite 中配
置由其他 CANJ1939 元素 (设备)发送的消息。这些消息必须在设备固件中创建。

35013230 06/2011 323


安装和配置 CANJ1939 现场总线

专用模式中的 CANJ1939 配置

概述
CANJ1939 配置涉及到在网络中的元素上添加相应的传输对象或接收对象。请参阅
创建或删除 CANJ1939 传输 / 接收对象 , 第 311 页。也可在专用模式中完成此操作
(通过在 " 配置 " 对话框中选择 " 专用模式 " 复选框)。本节说明此模式的用法。

选择专用模式
在 TwidoSuite 的 " 描述 " 窗口中,双击要配置的网络、元素或端口以打开 " 配置 "
对话框。选择专用模式复选框。
结果:" 添加 / 删除对象 " 按钮现在称为 " 添加 / 删除 SPN"。将显示对应的
PGN/SPN。将显示添加的所有对象以及它们的 PGN 和 SPN。

PGN 和 SPN
CANJ1939 消息对象将分为不同类型的组 (或者参数组)。因此,每个消息对象都
与一个十六进制参数组编号 (PGN) 关联,而且还拥有自己独立的十六进制标识号,
该编号称为可能的参数编号 (Suspect Parameter Number, SPN)。这样,一个消息
对象通常按其 SPN 来引用,并且多个 SPN 与同一个 PGN 相关。有关详细信息,请
参阅 CANJ19139 参数组编号和可能的参数编号 , 第 299 页

SPN 请求
专用模式的一种特殊用途是从网络中的 CANJ1939 元素请求特定的信息。具体做法
是将特定的传输 SPN 添加到该 CANJ1939 元素,并将此 SPN 值分配给梯形图 / 指
令列表程序中的 %IWC。请参阅请求 PGN 输出 , 第 329 页,这是一个具体示例。

CAN J1939 用户对象


I/O 对象有:
z %IWC0.i.j, %QWC0.i.j (字格式 - 无 I/O 位)
z %IWCD0.i.j, %QWCD0.i.j (双字格式)
z %IWCF0.i.j, %QWC0.i.j (浮点格式)
其中
z i 是 SPN 索引 (# 在 " 描述配置 " 对话
框中)
i = 0,..., 31
z j 是通道编号 (SPN 的位置,以字节表示)
j = 0,...7 (对于字); j = 0,...,6 (其他)

324 35013230 06/2011


安装和配置 CANJ1939 现场总线

双字和浮点格式 I/O (%IWCD、 %QWCD 和 %IWCF、 %QWCF)与双字和浮点


内部存储器对象 (%MD 和 %MF)具有相同的结构。有关详细信息,请参阅
CANJ1939 输入 / 输出对象 , 第 326 页。

35013230 06/2011 325


安装和配置 CANJ1939 现场总线

CANJ1939 输入 / 输出对象

简介
本节描述 CANJ1939 输入和输出的寻址。
下图说明了为 CANJ1939 对象实现的语法。

示意图
寻址原则提示:

特定值
下表给出了 CANJ1939 对象的特定值:

部件 值 注释
IWC - 物理 PGN 输入的映像。
QWC - 物理 PGN 输出的映像。
IWCD - 与 IWC 用法相同,但为双字格式。
QWCD - 与 QWC 用法相同,但为双字格式。
IWCF - 与 IWC 用法相同,但为浮点格式。
QWCF - 与 QWC 用法相同,但为浮点格式。
0 0 对于 CANJ1939 始终为 O (而对于
CANopen 始终为 1)。
i 0 到 31 PGN 索引 (描述配置对话框中的 #)
j 0 到 7 (对于 通道编号 (SPN 的位置,以字节表示)
字)
其他为 0 到 6
注:如果 SPN 小于 8 位,则将 ":Xi" 附加到此地址后面,以提供此字中 SPN 的
开始位置。此地址不能直接用在 SPN 请求程序中。但是, SPN 大小可以用在
此类程序中。

326 35013230 06/2011


安装和配置 CANJ1939 现场总线

示例
下表显示 CANJ1939 寻址的示例:

I/O 对象 描述
%IWC0.1.0 PGN 1, Twido Extreme CANJ1939 总线的子索引 0 输入。

双字和浮点 I/O
单字、双字和浮点字共享同一个存储区。因此,浮点字 %IWCF0.i.1 和双字
%IWCD0.i.1 对应于单长度字 %IWC0.i.j 和 %IWC0.i.j+1 (字 %IWC0.i.j 包含字
%IWCF0.i.j 的最低有效位,而 %IWC0.i.j+1 包含 %IWCF0.i.j 的最高有效位)。
下表说明类型为 %IWC 的单浮点字和双浮点字的存储器分配的重叠部分。这同样适
用于 %QWC。

双字和浮点格式 单字格式
偶地址 奇地址
%IWCD0.i.0/%IWCF0.i.0 ... %IWC0.i.0
%IWCD0.i.1/%IWCF0.i.1 %IWC0.i.1
%IWCD0.i.2/%IWCF0.i.2 %IWC0.i.2
%IWCD0.i.3/%IWCF0.i.3 %IWC0.i.3
%IWCD0.i.4/%IWCF0.i.4 %IWC0.i.4
%IWCD0.i.5/%IWCF0.i.5 %IWC0.i.5
%IWCD0.i.6/%IWCF0.i.6 %IWC0.i.6
... %IWC0.i.7

注意:CANJ1939 中没有特殊指令 (如用于 CANopen 的 CAN_CMD)。

CANJ1939 保留的系统字
保留的系统字用于提供状态信息。
%SW80 包含 16 位存储器 (字格式),以提供关于 CANJ1939 端口的状态信息。
%SW80 描述如下:
z 位 [0] 初始化错误 - 无法提供请求的地址
z 位 [1] 初始化错误 - 无法请求地址
z 位 [2] 端口处于被动状态
z 位 [3]:端口上总线处于关闭状态

%SW33 到 %SW40 提供关于 32 个 PGN 输入 / 输出对象的状态信息。

35013230 06/2011 327


安装和配置 CANJ1939 现场总线

下表说明了这些 I/O 系统字

%SWx PGN 对象编号 内容


%SW33 3 -2 1-0 4 位 /PGN:
%SW34 7-6 5-4 0 = 正常状态
1 = 收到 PGN,无错误
%SW35 11- 10 9-8
2 = 强制写入 PGN 输出
%SW36 15 -14 13- 12 4 = PGN 错误 (输入或输出)
%SW37 19 - 18 17 - 16 有 3 种类型的 PGN 错误
%SW38 23 - 22 21 - 20 z PGN 接收错误
z PGN 接收超时
%SW39 27 - 26 25 -24
z PGN 传输错误
%SW40 31 -30 29 - 28

例如,要为特定 PGN 强制写入 PGN 输出,则设置相应的 %SW 中的位 2。

CANJ1939 编程
使用与其他 Twido 应用程序相似的方法创建梯形图程序或指令列表程序。请参阅梯
形图 , 第 381 页和指令列表语言 , 第 403 页。在梯形图 / 指令列表程序编辑器中使用
数据浏览器时,请在 " 地址 " 菜单中选择相应的对象类型 (%IWC0、 %QWC0、
%IWCD0、 %QWCD0、 %IWCF0 和 %QWCF0)。如果以后使用不支持
CANJ1939 协议的基板替换 Twido Extreme,必须从程序中删除这些项,使它们不
再可用于数据浏览器的 " 地址 " 列表中。

CANJ19393 错误消息
以下条件将在程序中生成有关 CANJ1939 I/O 对象的错误消息:
z 当输入对象 (%IWC0、 %QWC0、 %IWCD0、 %QWCD0、 %IWCF0 和
%QWCF0)时, SPN 编号 i (0 到 31)或通道编号 j (0 到 7)超出范围。
z 在 " 描述 " 窗口中选择的 PLC 不支持 CANJ1939 协议。
z 在地址 i、通道 j 上没有定义 SPN。

328 35013230 06/2011


安装和配置 CANJ1939 现场总线

请求 PGN 输出

简介
只要 CANJ1939 元素的值发生变化,它就会发送一个 PGN。要强制 PGN 输出,请
使用以下 2 种方法之一:
z Twido Extreme 使用标记了 SPN 的 RQST 从 CANJ1939 元素中请求 PGN。
z 使用系统字 %SW33 强制 PGN 输出。

PGN 请求过程
下图通过示例说明 PGN 请求。在本例中, Twido Extreme 向排气温度参数组的
CANJ1939 元素发送一个请求。下表介绍了此过程:

35013230 06/2011 329


安装和配置 CANJ1939 现场总线

下表详细说明了 PGN 请求的过程:

阶段 描述
1 Twido Extreme 向 CANJ1939 元素发送 SPN RQST,以请求 PGN 排气温度的值
2 CANJ1939 元素发送所请求的 PGN 值 (排气温度)

使用 SPN RQST
要使用 SPN RQST 方法,请按以下示例中的详细描述配置 CANJ1939 网络:

步骤 操作 TwidoSuite 中的窗口位置
1 使用 CANJ1939 元素创建 CANJ1939 网络。 描述
有关如何创建 CANJ1939 网络的详细信息,请参阅。
2 在 CANJ1939 元素上: 描述
z 添加参数组编号 (RQST) 传输 SPN。有关如何定义相应的 (接收或传
输) SPN 的详细信息,请参阅创建或删除 CANJ1939 传输 / 接收对象 ,
第 311 页。
z 添加要请求的接收 SPN (例如,发动机排放废气温度 - 右歧管)。有关
如何定义相应的 (接收或传输) SPN 的详细信息,请参阅创建或删除
CANJ1939 传输 / 接收对象 , 第 311 页。
3 在 CANJ1939 元素上: 描述
1. 右键单击并选择配置。
2. 选择专用模式复选框。
3. 记录要请求的 PGN。(例如,参数组排气温度的编号为 65031)
4 记录输出交换字 (%QWCD0.y.z) 的地址 (该输出交换字分配给您在上一步 程序 →配置 →配置硬件 →
中添加的 SPN RQST)。 CANJ1939 选项卡 →地址字

5 为记录的输出交换字 %QWCD0.y.z 分配要强制的 PGN。 程序 →程序 →编辑程序
示例:要请求 PG 排气温度 (PGN=65031(16#FE07)),请使用列表指令:
%QWC0.0.0 := 16#FE07
注:还可以使用动态数据表在线调整 %QWCD0.y.z。
6 通过以下步骤在线查看输入交换字 %IWCD0.y.z. 中强制参数的值:
z 使用动态数据表 (请参阅),
z 在输出上连接 %IWCD0.y.z。

7 计算强制参数的实际值:

注: 如果请求的参数不可用, CANJ1939 元素将向 Twido Extreme 发送一个否认确认 (NACK)。

330 35013230 06/2011


安装和配置 CANJ1939 现场总线

使用系统字 %SW33
要使用系统字 %SW33 方法,请按以下过程操作 (下面的应用程序示例将介绍该方
法):

步骤 操作 TwidoSuite 中的窗口位

1 在要强制 PGN 输出的 CANJ1939 元素上: 描述
1. 右键单击并选择配置。
2. 选择专用模式复选框。
3. 记录要强制的 PGN。
2 记录输出交换字 (%QWCD0.y.z) 的地址 (该输出交换字分配给您要强制的 程序 →配置 →配置硬件 →
PGN)。 CANJ1939 选项卡 →地址
字段
3 将系统字 %SW33 设置为 2 (请参阅下面示例)。 程序 →程序 →编辑程序
注:还可以使用动态数据表在线调整 %QWCD0.y.z
4 为记录的输出交换字 %QWCD0.y.z 分配要强制的 PGN (请参阅下面的示例)。 程序 →程序 →编辑程序
注:还可以使用动态数据表在线调整 %QWCD0.y.z
5 通过以下步骤查看输入交换字 %IWCD0.y.z. 中请求参数的值:
z 使用动态数据表 (请参阅),
z 在输出上连接 %IWCD0.y.z。

6 计算所请求参数的实际值:

系统字 %SW33 示例
本示例显示如何每隔一秒强制一个排气温度 PG 输出:
假设:
z 您要强制传输 PG 排气温度 (PGN=65031(16#FE07))。
z 将输出交换字 %QWCD0.0.0 分配给 PGN 65031。

(* 要每隔一秒强制 %M0 的一个上升沿 *)


LD %S6
ST %M0
LDR %M0
ST %Q0.0.0
[ %SW33 := %SW33 OR 2 ] (* 在 %M0 的每个上升沿上 *)
(* 系统字 %SW33 设置为 2*)
[ %QWCD0.0.0 := 16#FE07 ] (* 将 PG 排气温度分配 *)
(* 给输出交换字 %QWCD0.0.0*)

35013230 06/2011 331


安装和配置 CANJ1939 现场总线

以下是该示例的梯形图程序:

332 35013230 06/2011


TwidoSuite V2.3
配置 TwidoPort 以太网网关
35013230 05/2009

配置 TwidoPort 以太网网关

12
本章主题
本章介绍了 ConneXium TwidoPort 以太网网关模块的软件配置。

本章包含了哪些内容?
本章包含了以下部分:
节 主题 页
12.1 TwidoPort 的普通配置和连接 334
12.2 TwidoPort 的 Telnet 配置 342
12.3 通讯功能 356

35013230 06/2011 333


配置 TwidoPort 以太网网关

12.1 TwidoPort 的普通配置和连接

本节主题
本节介绍了如何使用 TwidoSuite 应用程序执行 ConneXium TwidoPort 模块的普通
配置、模块连接和 BootP 配置。

本节包含了哪些内容?
本节包含了以下主题:
主题 页
使用 TwidoSuite 进行普通配置 335
BootP 配置 341

334 35013230 06/2011


配置 TwidoPort 以太网网关

使用 TwidoSuite 进行普通配置

前言
请使用以下说明配置 TwidoPort:
注意:即插即用功能
使用 TwidoSuite 配置 TwidoPort 时, TwidoPort 的 IP 配置将存储在 Twido 控制器
中。因此,维护人员无需另外配置即可交换 TwidoPort。
要使用即插即用功能,请使用 TwidoSuite 并将 Twido 固件升级至 3.4 或更高版本。

安装 499TWD01100 TwidoPort 模块
要在 Twido PLC 系统 (DIN 滑轨或面板安装)上安装 TwidoPort 并将其连接至
Twido PLC 内部总线,请遵循以下步骤:

步骤 描述 操作
1 安装准备 请参考 《Twido 可编程控制器硬件参考指南 (TWD
USE 10AE)》以获取有关以下内容的说明:
z Twido 模块的正确安装位置
z 从 DIN 滑轨中添加和删除 Twido 组件
z 直接在面板表面上安装
z 控制面板中模块间的最小间隙

2 安装 499TWD01100 在 DIN 滑轨或面板上安装模块。有关详细信息,请


TwidoPort 模块 参见 " 如何安装 TwidoPort 以太网接口模块 "。
3 接地保护 (PE) 将接地线连接到 TwidoPort 底部上的 M3 螺钉端子。

35013230 06/2011 335


配置 TwidoPort 以太网网关

步骤 描述 操作
4 串行和以太网连接 将连接 TwidoPort 和 Twido 的电缆 (已提供)的模
块型插头端连接至 TwidoPort 的串行口,并将另一
端连接至 Twido PLC 的 RS485 串行口。
将标准以太网网络电缆 (未提供)的 RJ45 插头连
接至 TwidoPort 的以太网端口。

336 35013230 06/2011


配置 TwidoPort 以太网网关

声明 499TWD01100 TwidoPort 模块
下表介绍声明 499TWD01100 TwidoPort 模块时的各个阶段。

步骤 操作 注释
1 选择端口 1 (或端口 2, 请参见。
如果已安装)以在 " 描述 "
窗口中进行配置。
2 按照以下步骤中的说明,
配置显示的 " 功能 " 对话
框 (参见 " 注 2")。

3 在 " 协议类型 " 框中选择


Modbus。
4 选择描述 步骤 (从 请参见。
TwidoSuite 界面中)
5 显示产品目录,然后选择 请参见。
一个 499TWD01100 模块 在此阶段,您可以继续添加 Twido 控制器支持的其他任何可选模块。
并将其添加到系统描述 注:仅可以使用一个 499TWD01100 TwidoPort 模块。
中。
注1 可以使用 Twido 上的任何 RS485 Modbus 端口。
注2 您可以为 Twido 控制器的端口 1 选择任何可用的 Modbus 地址。无论您为端口 1 选择什么地址,都必须
在 TwidoSuite 的 " 连接管理 " 中将 Punit/ 地址 ( 参见第 339 页 ) 设定为 1。
注3 499TWD01100 TwidoPort 模块也必须配置(请参阅配置 499TWD01100 TwidoPort 模块 , 第 338 页),并
且当在 TwidoSuite 者设置以太网连接 ( 参见第 339 页 ) 时, "Punit/ 地址 " 值必须从缺省值 " 直接 " 更改
为 Modbus 端口的地址 (例如, 1 或您以前用于该控制器的任何地址)。

35013230 06/2011 337


配置 TwidoPort 以太网网关

配置 499TWD01100 TwidoPort 模块
注意: 仅当 TwidoSuite 应用程序处于离线模式时,才可以配置 TwidoPort 的以太网
参数。
要配置 TwidoPort 的以太网参数,请遵循以下过程:

步骤 操作 注释
前言 要了解关于 IP 参数 (IP 地址、子网掩码和网关地址)的更多信息,请参见 和。
1 选择 499TWD01100 TwidoPort 模块以配置 结果:将显示以太网配置对话框,如下面的示例所示。
TwidoPort 的 IP 参数,请参见。
结果:屏幕上将显示 TwidoPort 配置窗
口,如下面的小节所示。

2 在 IP 地址中,以点分隔十进制表示法输入 注:要实现良好的设备通讯,运行 TwidoSuite 应用程序的


TwidoPort 的静态 IP 地址。 PC 的 IP 地址和 TwidoPort 的 IP 地址必须共享同一网络
(请参见注 1 和注 2。) ID。
3 在子网掩码中,输入网络管理员分配给 注:要实现良好的设备通讯,配置在运行 TwidoSuite 应用
TwidoPort 的有效子网掩码。请注意,不能 程序的 PC 上的子网掩码和 TwidoPort 的子网掩码必须匹
将该字段保留为空白,您必须输入一个值。 配。
(请参见注 1 和注 3。) 缺省情况下, TwidoSuite 应用程序将根据您在上面的 "IP
地址 " 字段中提供的 IP 种类自动计算并显示缺省子网掩
码。根据 TwidoPort 网络 IP 地址的类别,缺省子网掩码值
遵循以下规则:
A 类网络 -> 缺省子网掩码: 255.0.0.0
B 类网络 -> 缺省子网掩码: 255.255.0.0
C 类网络 -> 缺省子网掩码: 255.255.255.0
4 输入网关的 IP 地址。 在 LAN 上,网关必须与 TwidoPort 位于同一段上。该信息
(请参见注 1 和注 4。) 通常由您的网络管理员提供。请注意,应用程序未提供缺
省值,您必须在该字段中输入有效的网关地址。
注1 请咨询您的网络管理员或系统管理员以获得网络的有效 IP 参数。
注2 要实现可靠的网络通讯,每个连接的设备都必须具有唯一的 IP 地址。连接至网络之后, TwidoPort 将检
查是否有重复的 IP 地址。如果在网络上找到重复的 IP 地址,则 STATUS LED 将周期性闪烁 4 次。然
后,您必须在该字段中输入新的不重复的 IP 地址。
注3 除非 TwidoPort 对子网划分有特殊需要,否则,请使用缺省的子网掩码。
注4 如果网络上没有网关设备,则在 " 网关地址 " 字段中输入 TwidoPort 的 IP 地址即可。

338 35013230 06/2011


配置 TwidoPort 以太网网关

步骤 操作 注释
5 确认配置并将其传输到 Twido 控制器。
6 关闭 Twido 控制器,然后再打开。
注1 请咨询您的网络管理员或系统管理员以获得网络的有效 IP 参数。
注2 要实现可靠的网络通讯,每个连接的设备都必须具有唯一的 IP 地址。连接至网络之后, TwidoPort 将检
查是否有重复的 IP 地址。如果在网络上找到重复的 IP 地址,则 STATUS LED 将周期性闪烁 4 次。然
后,您必须在该字段中输入新的不重复的 IP 地址。
注3 除非 TwidoPort 对子网划分有特殊需要,否则,请使用缺省的子网掩码。
注4 如果网络上没有网关设备,则在 " 网关地址 " 字段中输入 TwidoPort 的 IP 地址即可。

在 TwidoSuite 中设置以太网连接
要允许运行 TwidoSuite 的 PC 和 Twido 控制器通过以太网网络进行通讯,请执行以
下操作:

选择 首选项
结果:
将显示以下连接管理对话框:

35013230 06/2011 339


配置 TwidoPort 以太网网关

步骤 操作
1 单击连接管理对话框中的添加按钮。
结果:将添加新连接行。新行显示建议的缺省连接设置。您将需要更改这些设
置。
注:要在字段中设置新值,有两种方式供您选择:
z 选择所需字段,然后单击修改按钮。
z 双击需要的字段。
2 在名称字段中,为新连接输入描述性名称。有效名称最多可包含 32 个字母数
字字符。
3 在连接类型字段中,单击以展开包含以下项目的下拉列表:串行、以太网和
USB (如果存在)。
选择以太网,因为您正在设置 PC 与支持以太网的 Twido 控制器之间的新以太
网连接。
4 在 IP/ 电话字段中,输入有效的 IP 地址,该地址是您希望连接的 Twido 控制器
的 IP 信息。
IP 地址:输入先前为 Twido 控制器指定的静态 IP 地址。
5 选择了 "IP/ 电话 " 时,可以填充 Punit/ 地址字段。
对于以太网连接,缺省的 "Punit/ 地址 " 值为 " 直接 "。此缺省值必须更改为 1
(或者先前用于该控制器的任何地址)。
注:如果您使用的地址不是 1,则无法连接 (无论您为 Twido 控制器的端口 1
( 参见第 337 页 ) 配置了何种地址)。
对于串口类型的连接,缺省值为 Punit。选择任一值之后,将禁用下面三个字
段 (" 波特率 "、 " 校验位 " 和 " 停止位 ")。
如果不知道控制器地址,则输入 @ 可以使您以后在传输程序之后再选择地址。
(第一次连接之前将弹出窗口,让您选择要向其传输消息的控制器,范围为 1
到 247,缺省地址值为 1。)

6 在超时和断开超时字段中使用缺省设置,除非有特定的超时需要。(有关详细
信息,请参见。)
7 单击确定按钮以保存新连接设置并关闭 " 连接管理 " 对话框。
结果:所有新添加的连接将追加,操作方法:首选项 →连接管理 表,以及程
序 →调试 →连接 →选择连接 表。

340 35013230 06/2011


配置 TwidoPort 以太网网关

BootP 配置

BootP 过程
在其 BootP 请求传输后的两分钟内, TwidoPort 需要得到来自 BootP 服务器的响
应。如果未得到响应, TwidoPort 将采用从以下结构的 MAC 地址创建的默认 IP 配
置:

MAC 地址
MAC 地址具有以下结构:
MAC[0] MAC[1] MAC[2] MAC[3] MAC[4] MAC[5].
例如,如果 MAC 地址为 0080F4012C71,则默认 IP 地址将为 85.16.44.113。

35013230 06/2011 341


配置 TwidoPort 以太网网关

12.2 TwidoPort 的 Telnet 配置

本节主题
本节介绍如何使用 Telnet 会话配置 ConneXium TwidoPort 模块。

本节包含了哪些内容?
本节包含了以下主题:
主题 页
Telnet 配置简介 343
Telnet 主菜单 344
IP/ 以太网设置 345
串口参数配置 346
配置网关 347
安全配置 348
以太网统计表 349
串口统计表 350
保存配置 351
恢复默认设置 352
升级 TwidoPort 固件 353
忘记了密码和 / 或 IP 配置? 355

342 35013230 06/2011


配置 TwidoPort 以太网网关

Telnet 配置简介

Telnet 配置概览
在以下情况中,请使用 Telnet 会话配置 TwidoPort (使用兼容 VT100 的 Telnet 客
户端):找不到特定的 Twido 配置,或 BootP 请求发出两分钟后未收到应答从而实
现了默认 IP 地址。

进行 Telnet 配置之前的准备
注意:TwidoPort 的 Telnet 要求
使用 Telnet 配置 TwidoPort 时,请确保以下事项:
z TwidoPort 通过其串口连接从 Twido 控制器获得电源。
z Telnet 的本地回显设置为 " 关 "。

要使用 Telnet,请使用以下命令将 TwidoPort 的默认 IP 地址(或 TwidoPort 的配置


IP 地址)添加至 PC 的路由表:

示例:
如果 PC 的 IP 地址为 192.168.10.30 且 TwidoPort 的默认 IP 地址(或配置 IP 地
址)为 85.16.44.113,则完整的命令为:

35013230 06/2011 343


配置 TwidoPort 以太网网关

Telnet 主菜单

启动 Telnet 主菜单
启动 Telnet 会话时 (例如,通过在命令提示中键入 telnet 85.16.44.113 或通
过使用 WindowsTM HyperterminalTM 启动),按 Enter 键之后将显示 Telnet 主菜
单:

344 35013230 06/2011


配置 TwidoPort 以太网网关

IP/ 以太网设置

配置 IP/ 以太网设置
请使用以下说明来更改 IP/ 以太网设置:

步骤 操作 注释
1 启动 Telnet 会话。 使用上述说明来打开 Telnet 主菜单
( 参见第 344 页 )。
2 选择 (键入) "1" 以将 IP 源更改为 "STORED" 可能已经是 IP 源。
"STORED",然后按 Enter 键。
3 手动设置需要的 IP 参数。 (请参阅此表 其他参数包括:
后的 "TwidoPort 以太网设置 "。) z IP 地址
z 默认网关
z 掩码
z 以太网帧类型

4 选择 "R",然后按 Enter 键。 将显示 Telnet 主菜单。(可能必须


再次按 Enter 键以更新屏幕。)

IP Source
选择 "IP 源 " 选项指示获得 IP 配置的位置:
z STORED— 从本地闪存。
z SERVED— 从 BootP 服务器。
z TWIDO— 从 Twido 控制器。

默认 IP 地址 (DEFAULT) 是由 MAC 地址导出的。(根据定义,不能选择默认 IP 地


址。)
注意:Twido 控制器中的有效 IP 配置将覆盖用户选择。

以太网设置示例
下图显示 TwidoPort 的以太网设置示例:

35013230 06/2011 345


配置 TwidoPort 以太网网关

串口参数配置

前言
注意: 在正常情况下,没有必要配置 TwidoPort 的串口参数,因为模块支持自动波
特算法,从而无需进行串口配置。

配置串口参数
要配置 TwidoPort 的串口参数,请执行以下操作:

步骤 操作 注释
1 启动 Telnet 会话。 使用上述说明来打开 Telnet 主菜单
( 参见第 344 页 )。
2 选择 (键入) "2" 以更改串口设置。 请参阅下图。
3 确认或重设设置。 其他参数包括:
z 波特率
z 数据位
z 校验
z 停止位
z 协议

4 选择 "R",然后按 Enter 键。 将显示 Telnet 主菜单。(可能必须


再次按 Enter 键以更新屏幕。)

串口设置示例
下图显示 TwidoPort 的串口设置示例:

346 35013230 06/2011


配置 TwidoPort 以太网网关

配置网关

前言
注意:通常情况下,没有必要配置 TwidoPort 的网关参数。

配置网关参数
要配置 TwidoPort 的网关,请执行以下操作:

步骤 操作 注释
1 启动 Telnet 会话。 使用上述说明来打开 Telnet 主菜单 ( 参见
第 344 页 )。
2 选择 (键入) "3" 以更改网关 请参阅下图。
参数。
3 可设置以下网关参数:
(1) 从站地址源 FIXED 如果从站地址源为 "FIXED",将
该地址设置为 Twido 控制器的
Modbus 地址的值。有效地址介于
1 到 247 之间。
UNIT_ID 将使用 Modbus/TCP 帧的设备
ID。
(2) 网关模式 SLAVE 本版本的唯一选项。
(3) MB 广播 DISABLED 不能在 TwidoPort 的串口上发送广
播消息。
ENABLED 广播消息是从 TwidoPort 的串口发
送的。(请参阅以下注意事项。)
4 选择 "R",然后按 Enter 键。 将显示 Telnet 主菜单。(可能必须再次按 Enter
键以更新屏幕。)
注意 Twido 不支持任何广播 Modbus 消息。

网关设置示例
下图显示 TwidoPort 的网关设置示例:

35013230 06/2011 347


配置 TwidoPort 以太网网关

安全配置

配置安全设置
请使用以下说明来更改默认密码:

步骤 操作 注释
1 启动 Telnet 会话。 使用上述说明来打开 Telnet 主菜单
( 参见第 344 页 )。
2 选择 (键入) "4",然后按 Enter 键。 将显示安全配置屏幕。
3 选择 "C",然后按 Enter 键。
4 输入旧密码。 授权的用户将知道旧密码 (默认密
码为 USERUSER)。
5 输入新密码。 重新键入新密码。(请参阅以下注
意事项。)
6 再次输入新密码。 请参阅有关可接受密码的以下注意
事项。
7 选择 "R",然后按 Enter 键。 将显示 Telnet 主菜单。(可能必须
再次按 Enter 键以更新屏幕。)
注意 密码详细信息:
z 最小长度:4 个字符
z 最大长度:10 个字符
z 可以使用的字符:0 到 9、 a 到 z、 A 到 Z (无空格)

348 35013230 06/2011


配置 TwidoPort 以太网网关

以太网统计表

查看以太网统计表
要查看 TwodoPort 的以太网统计表,请执行以下操作:

步骤 操作 注释
1 启动 Telnet 会话。 使用上述说明来打开 Telnet 主菜
单 ( 参见第 344 页 )。
2 选择 (键入) "5" 以显示 " 以太网模块统 请参阅此表之后的图。
计表 " 屏幕。
3 按 Enter 键以刷新屏幕。
4 按 C 键以清除统计表,然后按 Enter 键。 所有计数器均重设为 0。
5 选择 "R",然后按 Enter 键。 将显示 Telnet 主菜单。(可能必须
再次按 Enter 键以更新屏幕。)

Ethernet Module Statistics 屏幕


TwidoPort 的 " 以太网模块统计表 " 屏幕:

35013230 06/2011 349


配置 TwidoPort 以太网网关

串口统计表

查看串口统计表
要查看 TwidoPort 的串口统计表,请执行以下操作:

步骤 操作 注释
1 启动 Telnet 会话。 使用上述说明来打开 Telnet 主菜单 ( 参见
第 344 页 )。
2 选择 (键入) "6" 以显示 " 串口统计 请参阅此表之后的图。
表 " 屏幕,然后按 Enter 键。 串口统计表已更新。

3 按 C 键以清除统计表,然后按 Enter 所有计数器均重设为 0。


键。
4 选择 "R",然后按 Enter 键。 将显示 Telnet 主菜单。(可能必须再次按
Enter 键以更新屏幕。)

Serial Statistics 屏幕
TwidoPort 的 " 串口统计表 " 屏幕:

350 35013230 06/2011


配置 TwidoPort 以太网网关

保存配置

保存配置
要保存对配置所做的更改,请输入配置密码:

步骤 操作 注释
1 启动 Telnet 会话。 使用上述说明来打开 Telnet 主菜单 ( 参见
第 344 页 )。
2 选择 "S",然后按 Enter 键。
3 输入配置密码。 默认密码为 USERUSER)。
(请参阅以下注意事项。)
注意 有关设置个性化安全密码的详细信息,请参阅安全配置 , 第 348 页。

Save Configuration 确认屏幕


TwidoPort 的 " 保存配置 " 确认屏幕:

35013230 06/2011 351


配置 TwidoPort 以太网网关

恢复默认设置

恢复默认设置
要恢复 TwidoPort 的默认设置,请执行以下操作:

步骤 操作 注释
1 启动 Telnet 会话。 使用上述说明来打开 Telnet 主菜单 ( 参见
第 344 页 )。
2 选择 "D" 以显示 " 默认配置 " 屏幕。 请参阅此表之后的图。
3 按 Enter 键。 需要按 Enter 键来显示主菜单。
4 保存默认配置。 请参阅上述保存配置 ( 参见第 351 页 )。

Default Configuration 屏幕
TwidoPort 的 " 默认配置 " 屏幕:

352 35013230 06/2011


配置 TwidoPort 以太网网关

升级 TwidoPort 固件

前言
注意:
1. 使用以下说明尝试升级固件之前,请获得 TwidoPort 固件的更新版本。
2. 请在升级固件之前停止过程。
3. 在固件升级过程中,将不能使用 Modbus 通讯。

升级固件
要使用您获得的最新固件版本升级当前 TwidoPort 的固件,请遵循以下过程:

步骤 操作 注释
1 启动 Telnet 会话。 使用上述说明来打开 Telnet 主菜单 ( 参见
第 344 页 )。
2 选择 (键入) "F" 以初始化固件升 选择 "F" (固件升级)五秒之后,
级。 TwidoPort 将重设且 Telnet 连接将丢失。
3 在命令行中,键入:ftp 和 TwidoPort 例如:ftp 85.16.44.113
的 IP 地址。
4 输入:ftptwd 在提示输入登录名时。
5 输入:cd fw 该操作进入 fw 目录。
6 输入:put App.out。 将显示消息,表明 FTP 成功。(请参阅
(请参阅注 1 和注 2。) 注 3。)
注1 文件名区分大小写。
注2 确保 App.out 为 FTP 客户端的当前工作目录。
注3 在成功进行一次 FTP 通讯之后,将显示消息,表明 5 秒后 TwidoPort 将自动重
启。

35013230 06/2011 353


配置 TwidoPort 以太网网关

固件升级正在进行
下图显示典型的 " 固件升级正在进行 " 屏幕:

内核模式
缺少有效固件时, TwidoPort 将进入内核模式。当 TwidoPort 处于该模式时,如果
尝试使用 Telnet 连接到 TwidoPort,将显示:

354 35013230 06/2011


配置 TwidoPort 以太网网关

忘记了密码和 / 或 IP 配置?

以备份模式连接
请使用以下说明以备份模式连接到 TwidoPort。

步骤 操作 注释
1 将串口连接器的引脚 3 连接到引脚 6 使用 Schneider 170 XTS 04 100 RJ45
(接地)。 T 形连接器。(请参见以下示意图。)
2 通过 FTP 连接到 TwidoPort。(请参见 TwidoPort 使用以下缺省 IP 配置:
注释。) z IP 地址: 192.168.2.102
z 子网掩码: 255.255.0.0
z 网关地址: 192.168.2.102
z 帧类型:以太网 II

3 获取文件 fw/Conf.dat。 从 Conf.dat 文件中获得 IP 配置和密


4 在文本编辑器中打开 Conf.dat 文件。 码。

注 不需要密码。

FTP 连接
以下示意图显示如何在备份模式下通过 FTP 连接到 TwidoPort:

35013230 06/2011 355


配置 TwidoPort 以太网网关

12.3 通讯功能

本节主题
本节介绍 ConneXium TwidoPort 以太网网关支持的通讯功能。

本节包含了哪些内容?
本节包含了以下主题:
主题 页
以太网功能 357
Modbus/TCP 通讯协议 358
本地支持的 Modbus 功能代码 359

356 35013230 06/2011


配置 TwidoPort 以太网网关

以太网功能

简介
ConneXium TwidoPort 将以太网连接添加到 Schneider Electric 的 Twido 产品线中。
ConneXium TwidoPort 是单个 Twido Modbus/RTU (RS485) 设备与处于从站模式下
的 Modbus/TCP 网络物理层之间的网关。 TwidoPort 不需要单独的电源,因为它通
过其串行口从 Twido 控制器获得电源。此网关模块仅支持从站模式。

以太网功能
TwidoPort 支持以下以太网功能:
z 自适应
TwidoPort 支持 10/100TX 自适应。它仅以半双工模式通讯。
z 自动 MDI/MDI-X
TwidoPort 支持传输和接收线对的自动切换,以与终端设备建立通讯 (自动
MDI/MDI-X)。因此, TwidoPort 使用直通或交叉电缆透明地与基础结构或终端
设备互连。

35013230 06/2011 357


配置 TwidoPort 以太网网关

Modbus/TCP 通讯协议

关于 Modbus
Modbus 协议为主站 / 从站协议,它使一个主站能够请求来自多个从站的响应,或根
据从站的请求执行操作。主站可以向单个从站发送消息,或向所有从站发送广播消
息。从站将向单独发送给它们的查询返回消息 (响应)。不向来自主站的广播查询
返回响应。

关于 Modbus/TCP 通讯
TwidoPort 最多同时支持 8 个 Modbus/TCP 连接。如果试图使用多于 8 个的连接,
则将导致性能下降,因为 TwidoPort 将关闭空闲时间最长的连接以接受新的连接请
求。

操作原理
Modbus/TCP 客户端可以通过 TwidoPort 与 Twido 进行通讯, TwidoPort 是 Twido
设备 (RS485 串行链路上的 Modbus/RTU)与以太网网络上的 Modbus/TCP 之间
的桥接。
注意: 在网络上实现 TwidoPort 时,系统设计要求必须考虑串行连接固有的有限带
宽。预计峰值性能大约为每秒 40 个 Modbus 事务。在单个请求中请求多个寄存器比
为每个寄存器发送单独请求更加有效。
无法通过 TwidoPort 从 Twido 控制器发送读请求或写请求。

358 35013230 06/2011


配置 TwidoPort 以太网网关

本地支持的 Modbus 功能代码

功能代码列表
仅当设备 ID 设置为 254 时, TwidoPort 应答以下本地支持的 Modbus 功能代码。
(本地支持的功能代码是直接由 TwidoPort 而不是由 Twido 控制器应答的代码。)

Modbus 功能 子功能代码 OPCODE 描述


代码
8 0 无 返回查询数据
8 10 无 清除计数器
8 11 无 返回总线消息计数
8 12 无 返回总线通讯错误计数
8 13 无 返回总线异常错误计数
8 14 无 返回从站消息计数
8 15 无 返回从站无响应计数
8 21 3 获得以太网统计表
8 21 4 清除以太网统计表
43 14 无 读取设备 ID (请参阅注 1。)
注1 对于流访问和单个访问, TwidoPort 都仅支持读取设备标识功能代码的基
本对象 ID。

注意:有关消息格式和访问类别的详细信息,请参阅位于 www.modbus.org 的
Modbus 规格说明。

35013230 06/2011 359


配置 TwidoPort 以太网网关

360 35013230 06/2011


TwidoSuite V2.3
操作显示操作
35013230 05/2009

操作显示操作

13
本章主题
本章详细介绍了如何使用可选 Twido 操作显示。

本章包含了哪些内容?
本章包含了以下主题:
主题 页
操作显示 362
控制器标识和状态信息 365
系统对象和变量 367
串行口设置 374
实时时钟 375
实时修正因数 376

35013230 06/2011 361


操作显示操作

操作显示

简介
操作显示是一种 Twido 选件,用于显示和控制应用程序数据及某些控制器功能,如
操作状态和实时时钟 (RTC)。该选件以一体型控制器的存储卡 (TWDXCPODC) 或
模块型控制器的扩展模块 (TWDXCPODM) 的形式提供。
操作显示具有以下两种操作模式:
z 显示模式:仅显示数据。
z 编辑模式:可用于更改数据。
注意: 操作显示在控制器扫描周期中每隔特定间隔更新一次。这可能会导致在解释
%PLS 或 %PWM 脉冲专用输出的显示时发生混淆。在对这些输出进行采样时,它
们的值将始终为零,并且将显示该值。

显示和功能
操作显示提供以下内容的单独显示以及能够对每个显示执行的相关功能。
z 控制器标识和状态信息:操作显示
显示固件版本和控制器状态。使用 “ 运行 ”、 “ 初始化 ” 和 “ 停止 ” 命令更改控制
器状态。
z 系统对象和变量:数据显示
根据地址选择应用程序数据:%I、 %Q 和基板控制器上的所有其他软件对象。
监视并更改选定软件数据对象的值。
z 串行口设置:通讯显示
显示并修改通讯端口设置。
z 实时时钟:时间 / 日期显示
显示并配置当前日期和时间 (若已安装 RTC)。
z 实时修正:RTC 因数
显示并修改可选 RTC 的 RTC 修正值。
注意:
1. TWDLC••40DRF 系列一体型控制器和 Twido Extreme PLC (TWDLEDCK1) 具有
集成的 RTC。
2. 在所有其他控制器上,只有在已安装实时时钟 (RTC) 选件存储卡
(TWDXCPRTC) 的情况下,实时时钟和实时修正才可用。

362 35013230 06/2011


操作显示操作

示意图
下图显示了操作显示的视图,包括一个显示区域 (此处为正常模式)和四个按钮输
入键。

显示区域
操作显示提供了能够显示两行字符的 LCD 显示屏:
z 显示的第一行包含三个 13 段字符和四个 7 段字符。
z 第二行包含一个 13 段字符、一个 3 段字符 (用于正 / 负号)和五个 7 段字符。
注意:如果处于正常模式,则第一行表示对象名称,第二行显示对象的值。如果处
于数据模式,则第一行显示 %SW68 值,第二行显示 %SW69 值。

输入键
四个输入按钮的功能取决于操作显示模式。

键 在显示模式下 在编辑模式下
ESC 放弃更改并返回到上一显示屏。
转到正在编辑的对象的下一个值。

进入下一显示屏。 转到下一个要编辑的对象类型。

MOD/ENTER 转到编辑模式。 接受更改并返回到上一显示屏。

35013230 06/2011 363


操作显示操作

选择和浏览显示屏
操作显示的初始显示屏或屏幕显示控制器标识和状态信息。按 按钮可以按顺序
浏览每个显示屏。如果在控制器上未检测到选件 RTC 存储卡 (TWDXCPRTC),则
不会显示实时时钟或实时修正因数屏。
作为一种快捷方式,按 ESC 键可以返回到初始显示屏。对于大多数屏幕,按 ESC
键将返回到控制器标识和状态信息屏。仅在编辑非初始条目 (%I0.0.0) 的系统对象和
变量时,按 ESC 才会返回到第一个或初始系统对象条目。
要修改对象的值,请再次按 MOD/ENTER 键 (而不是按 按钮)以转到第一个数
值。

364 35013230 06/2011


操作显示操作

控制器标识和状态信息

简介
Twido 选件操作显示的初始显示屏或屏幕可以显示控制器标识和状态信息。

示例
固件版本显示在显示区域的右上角,控制器状态显示在显示区域的左上角,如下所
示:

控制器状态
控制器状态可以是以下任意一种:
z NCF:未配置
载入应用程序前,控制器将处于 NCF 状态。载入应用程序前,不会出现其他状
态。可以通过修改系统位 S8 来测试 I/O (请参阅系统位 (%S), 第 668 页)。
z STP:已停止
如果控制器中存在应用程序,状态将更改为 STP 或已停止状态。在此状态下,
应用程序将不会运行。将更新输入,且数据值将维持其最后的值。在此状态下输
出将不会更新。
z INI:初始
可以选择仅将控制器从 STP 状态更改为 INI 或初始状态。应用程序将不会运行。
将更新控制器的输入,且数据值设置为其初始状态。在此状态下输出将不会更
新。
z RUN:运行
当处于 RUN 或运行状态时,应用程序处于运行状态。将更新控制器的输入,且
数据值将根据应用程序进行设置。仅在此状态下可以更新输出。
z HLT:暂停 (用户应用程序错误)
如果控制器处于 ERR 或错误状态,将暂停应用程序。将更新输入,且数据值将
维持其最后的值。在此状态下,输出将不会更新。在此模式下,错误代码将以无
符号的十进制数值形式显示在 " 操作显示 " 的右下方。
z NEX:不可执行 (不可执行)
已对用户逻辑进行在线修改。结果:应用程序将不再可执行。在造成不可执行状
态的所有问题都得到解决之前,将不会返回到此状态。

35013230 06/2011 365


操作显示操作

显示和更改控制器状态
使用操作显示,可以将状态从 STP 更改为 INI,或从 STP 更改为 RUN,或从 RUN
更改为 STP。请执行以下操作来更改控制器的状态:

步骤 操作
1 按 键,直到显示 " 操作显示 " (或按 ESC)。当前控制器的状态显示在显示区
域的左上角。
2 按 MOD/ENTER 键进入编辑模式。
3 按 键选择控制器状态。
4 按 MOD/ENTER 键接受修改的值,或按 ESC 键放弃编辑模式下所做的所有修改。

366 35013230 06/2011


操作显示操作

系统对象和变量

简介
选件操作显示提供以下功能来监视和调整应用程序数据:
z 通过地址 (例如 %I 或 %Q)选择应用程序数据。
z 监视选定软件对象 / 变量的值。
z 更改当前显示的数据对象 (包括强制输入和输出)的值。

系统对象和变量
下表按照访问顺序列出了可以由操作显示来显示和修改的系统对象和变量。

对象 变量 / 属性 描述 访问
输入 %Ix.y.z 值 读取 / 强制
输出 %Qx.y.z 值 读取 / 写入 / 强制
定时器 %TMX.V 当前值 读取 / 写入
%TMX.P 预设值 读取 / 写入
%TMX.Q 完成 读取
计数器 %Cx.V 当前值 读取 / 写入
%Cx.P 预设值 读取 / 写入
%Cx.D 完成 读取
%Cx.E 空 读取
%Cx.F 满 读取
内存位 %Mx 值 读取 / 写入
字内存 %MWx 值 读取 / 写入
常量字 %KWx 值 读取
系统位 %Sx 值 读取 / 写入
系统字 %SWx 值 读取 / 写入
模拟量输入 %IWx.y.z 值 读取
模拟量输出 %QWx.y.z 值 读取 / 写入
高速计数器 %FCx.V 当前值 读取
%FCx.VD* 当前值 读取
%FCx.P 预设值 读取 / 写入
%FCx.PD* 预设值 读取 / 写入
%FCx.D 完成 读取

35013230 06/2011 367


操作显示操作

对象 变量 / 属性 描述 访问
超高速计数器 %VFCx.V 当前值 读取
%VFCx.VD* 当前值 读取
%VFCx.P 预设值 读取 / 写入
%VFCx.PD* 预设值 读取 / 写入
%VFCx.U 计数方向 读取
%VFCx.C 启用值 读取
%VFCx.CD* 启用值 读取
%VFCx.S0 阀值 0 读取 / 写入
%VFCx.S0D* 阀值 0 读取 / 写入
%VFCx.S1 阀值 1 读取 / 写入
%VFCx.S1D*
阀值 1 读取 / 写入
%VFCx.F
溢出 读取
%VFCx.T
时基 读取 / 写入
%VFCx.R
启用映象输出 读取 / 写入
%VFCx.S
启用映象输入
读取 / 写入
输入网络字 %INWx.z 值 读取
输出网络字 %QNWx.z 值 读取 / 写入
Grafcet %Xx 步骤位 读取
脉冲发生器 %PLS.N 脉冲数 读取 / 写入
%PLS.ND* 脉冲数 读取 / 写入
%PLS.P 预设值 读取 / 写入
%PLS.D 完成 读取
%PLS.Q 当前输出 读取
脉冲宽度调节器 %PWM.R 比率 读取 / 写入
%PWM.P 预设值 读取 / 写入
鼓控制器 %DRx.S 当前步数已满 读取
%DRx.F 读取
步进计数器 %SCx.n 步进计数器位 读取 / 写入
寄存器 %Rx.I 输入 读取 / 写入
%Rx.O 输出 读取 / 写入
%Rx.E 空 读取
%Rx.F 满 读取
移位寄存器 %SBR.x.yy 寄存器位 读取 / 写入
消息 %MSGx.D 完成 读取
%MSGx.E 错误 读取
AS-i 从站输入 %IAx.y.z 值 读取 / 强制
AS-i 模拟量从站输入 %IWAx.y.z 值 读取
AS-i 从站输出 %QAx.y.z 值 读取 / 写入 / 强制

368 35013230 06/2011


操作显示操作

对象 变量 / 属性 描述 访问
AS-i 模拟量从站输出 %QWAx.y.z 值 读取 / 写入
CANopen 从站 PDO 输入 %IWCx.y.z 单字值 读取
CANopen 从站 PDO 输出 %QWCx.y.z 单字值 读取 / 写入

注意:
1. (*) 表示一个 32 位双字变量。双字选项在除 Twido TWDLC•A10DRF 控制器之外
的所有控制器上均可用。
2. 由于 Twido 使用动态内存分配,因此,如果变量未在应用程序中使用,则将不会
显示这些变量。
3. 如果 %MW 的值大于 +32767 或小于 -32768,操作显示将继续闪烁。
4. 如果 %SW (%SW0 和 %SW11 除外)的值大于 65535,操作显示将继续闪烁。
如果输入的值大于限值,则该值将返回到配置值。
5. 如果为 %PLS.P 输入的值大于限值,则写入的值为饱和值。

显示和修改对象与变量
每种类型的系统对象将按照以下顺序进行访问:从输入对象 (%I) 开始,然后依次是
消息对象 (%MSG),最后循环返回到输入对象 (%I)。
要显示系统对象,请执行以下操作:

步骤 操作
1 按 键直到显示 " 数据显示 " 屏。
输入对象 ("I")将显示在显示区域的左上角。字母 "I" (或以前视为数据的对象
名称)将不会闪烁。
2 按 MOD/ENTER 键进入编辑模式。
输入对象 "I" 字符 (或以前视为数据的对象名称)将开始闪烁。
3 按 键以按顺序查看对象列表。
4 按 键以按顺序查看对象类型的字段,然后按 键增加该字段的值。可以使
用 键和 键来浏览和修改所有显示对象的字段。
5 重复步骤 3 和步骤 4 直到完成编辑。
6 按 MOD/ENTER 键接受修改后的值。
注意:接受任何修改之前,对象的名称和地址必须经过确认。即,在使用操作显
示之前,对象的名称和地址必须已存在于控制器的配置中。
按 ESC 放弃编辑模式下所做的所有更改。

35013230 06/2011 369


操作显示操作

数据值和显示格式
通常,对象或变量的数据值以有符号或无符号的整数形式显示在显示区域的右下
方。另外,所有字段都会抑制显示值的前导零。每个对象的地址都将显示在 " 操作
显示 " 上 (按以下七种格式之一):
z I/O 格式
z AS-i 从站 I/O 格式
z CANopen 从站 I/O 格式
z 功能块格式
z 简单格式
z 网络 I/O 格式
z 步进计数器格式
z 移位寄存器格式

输入 / 输出格式
输入 / 输出对象 (%I、 %Q、 %IW 和 %QW)具有三部分地址 (例如:
%IX.Y.Z),显示如下:
z 在左上方的对象类型和控制器地址
z 在中上方的扩展地址
z 在右上方的 I/O 通道
对于简单输入 (%I) 和简单输出 (%Q),显示屏的左下方将包含表示非强制位的 "U"
字符或表示强制位的 "F" 字符。强制值显示在屏幕的右下方。
输出对象 %Q0.3.11 在显示区域中显示如下:

AS-i 从站 I/O 格式
AS-i 从站 I/O 对象 (%IA、 %QA、 %IWA 和 %QWA)具有四部分地址 (例如:
%IX.Y.Z),显示如下:
z 在左上方的对象类型
z 在屏幕中心左上方的扩展总线上的 AS-i 主模块地址
z 在屏幕中心右上方的 AS-i 总线上的从站地址
z 在右上方的从站 I/O 通道。
对于简单输入 (%IA) 和简单输出 (%QA),显示屏的左下方将包含表示非强制位的
"U" 字符或表示强制位的 "F" 字符。强制值显示在屏幕的右下方。

370 35013230 06/2011


操作显示操作

输出对象 %QA1.3A.2 在显示区域中显示如下:

CANopen 从站 I/O 格式
CANopen 从站 PDO I/O 对象 (%IWC 和 %QWC)包含四部分地址 (例如:
%IWCx.y.z),显示如下:
z 在左上方的对象类型
z 在屏幕中心左上方的扩展总线上的 CANopen 主模块地址
z 在屏幕中心右上方的 CANopen 总线上的从站地址
z 在右上方的从站 PDO I/O 通道。
z 在下方的对象的有符号的值
在以下示例中, PDO 输出对象 %QWC1.3.2 包含有符号的值 +24680:

功能块格式
功能块 (%TM、 %C、 %FC、 %VFC、 %PLS、 %PWM、 %DR、 %R 和
%MSGj)具有两部分地址,包括一个对象编号和一个变量名称或属性名称,显示如
下:
z 在左上方的功能块名称
z 在右上方的功能块编号 (或实例)
z 在左下方的变量或属性
z 在右下方的属性值
在以下示例中,编号为 123 的计时器当前值设置为 1,234。

35013230 06/2011 371


操作显示操作

简单格式
简单格式可用于对象 %M、 %MW、 %KW、 %MD、 %KD、 %MF、 %KF、 %S、
%SW 和 %X,如下所示:
z 在右上方的对象编号
z 在下方的对象的有符号的值
在以下示例中,编号为 67 的内存字包含值 +123。

网络输入 / 输出格式
网络输入 / 输出对象 (%INW 和 %QNW)在显示区域中显示如下:
z 在左上方的对象类型
z 在中上方的控制器地址
z 在右上方的对象编号
z 在下方的对象的有符号的值
以下示例中,在远程地址 #2 配置的远程控制器的第一个输入网络字设置为值 -4。

步进计数器格式
步进计数器 (%SC) 格式将显示对象编号和步进计数器位,如下所示:
z 在左上方的对象名称和编号
z 在右上方的步进计数器位
z 在显示屏下方的步进计数器位的值
以下示例中,步进计数器编号 3 的位编号 129 设置为 1。

372 35013230 06/2011


操作显示操作

移位寄存器格式
移位寄存器 (%SBR) 在显示区域中显示如下:
z 在左上方的对象名称和编号
z 在右上方的寄存器位编号
z 在右下方的寄存器位值
以下示例显示了编号为 4 的移位寄存器。

35013230 06/2011 373


操作显示操作

串行口设置

简介
操作显示可以显示协议设置并更改所有使用 TwidoSuite 配置的串行口地址。最多可
以使用两个串行口。在下面的示例中,第一个端口配置为用于 Modbus 协议,地址
是 123 ;第二个串行口配置为用于远程连接,地址是 4。

显示和修改串行口设置
Twido 控制器最多可支持两个串行口。要使用操作显示来显示串行口设置,请执行
以下操作:

步骤 操作
1 按 键,直到显示通讯显示。代表第一个串行口协议设置的单个字母 ("M"、
"R" 或 "A")将显示在操作显示的左上角。
2 按 MOD/ENTER 键进入编辑模式。
3 按 键,直到进入要修改的字段中。
4 按 键增加该字段的值。
5 继续执行步骤 3 和步骤 4 直到完成地址设置。
6 在编辑模式中,按 MOD/ENTER 键将接受修改的值,或按 ESC 键将放弃所做的所
有修改。
注:地址是控制器上配置数据的一部分。使用操作显示更改地址的值意味着将不能再使用
TwidoSuite 进行连接。您需要下载才能再次使用 TwidoSuite 进行连接。

374 35013230 06/2011


操作显示操作

实时时钟

简介
如果在 Twido 控制器上安装了 RTC 选件存储卡 (TWDXCPRTC),则可以使用操作
显示修改日期和时间。月份将显示在 HMI 显示屏的左上方。输入有效时间之前,月
份字段将包含值 “RTC”。日期将显示在显示屏的右上角。时间以军用格式表示。小
时和分钟显示在显示屏的右下角并由字母 “h” 隔开。下面的示例显示了设为 3 月 28
日 2:22 PM 的 RTC。

注意:
1. TWDLCA•40DRF 系列一体型控制器和 Twido Extreme PLC (TWDLEDCK1) 具
有集成的 RTC。
2. 在所有其他控制器上,只有在已安装实时时钟 (RTC) 选件存储卡
(TWDXCPRTC) 的情况下,实时时钟和实时修正才可用。

显示和修改实时时钟
要显示和修改实时时钟,请执行以下操作:

步骤 操作
1 按 键,直到屏幕显示时间 / 日期显示。月份值 (“JAN” 和 “FEB”)将显示在显
示区域的左上角。如果未初始化任何月份值,则值 “RTC” 将显示在左上角。
2 按 MOD/ENTER 键进入编辑模式。
3 按 键,直到进入要修改的字段中。
4 按 键增加该字段的值。
5 继续步骤 3 和步骤 4 直到完成日期值设置。
6 在编辑模式中,按 MOD/ENTER 键接受修改的值,或按 ESC 键放弃所做的所有修
改。

35013230 06/2011 375


操作显示操作

实时修正因数

简介
每个实时时钟 (RTC) 都有一个 RTC 修正因数值,用于修正 RTC 模块中的误差。
您可以通过以下操作显示和修改实时修正因数:
z 使用操作显示
z 通过选择程序 →调试 →检查 PLC →配置实时时钟 从任务工具面板 (如果已连
接)中
z 使用系统位和系统字 (请参阅系统位和系统字 , 第 667 页)

针对一体型基板和模块型本体的实时修正因数
对于一体型基板和模块型本体,实时修正因数是从 0 到 127 的无符号 3 位整数,显
示在显示屏的右下角。
下面的示例显示的修正因数为 127。

显示和修改 RTC 修正
要显示和修改实时修正因数,请执行以下操作:

步骤 操作
1 按 键,直到屏幕显示 RTC 因数显示。"RTC Corr" 将显示在操作显示的上面一
行。
2 按 MOD/ENTER 键进入编辑模式。
3 按 键,直到进入要修改的字段中。
4 按 键增加该字段的值。
5 继续步骤 3 和步骤 4 直到完成 RTC 修正值设置。
6 在编辑模式中,按 MOD/ENTER 键将接受修改的值,或按 ESC 键将放弃所做的所
有修改。

376 35013230 06/2011


操作显示操作

针对 Twido Extreme 本体的实时修正因数


对于 Twido Extreme TWDLEDCK1 本体,需要按如下所示计算实时修正因数:

步骤 操作
1 设置实时时钟值。
2 在几周后,确定您的 PLC 上实时时钟的偏差。
3 在周的基础上计算实时修正所需的因数。
4 使用该值设置实时修正因数。
结果:每周在您的 PLC 的实时时钟值中加上 (或减去)实时修正因数。

针对 Twido Extreme 的实时修正因数是一个 6 位的值:

位 描述 可能的值
0
1
2
修正因数 (单位为秒) 0 到 63
3
4
5
6 修正因数的符号 0: 减
1: 加

35013230 06/2011 377


操作显示操作

378 35013230 06/2011


TwidoSuite V2.3
Twido 语言
35013230 05/2009

Twido 语言描述

III
本部分主题
本部分说明如何使用梯形图、指令列表和 Grafcet 编程语言来创建 Twido 可编程控
制器的控制程序。

本部分包含了哪些内容?
本部分包括以下各章:
章 章节标题 页
14 梯形图 381
15 指令列表语言 403
16 Grafcet 415

35013230 06/2011 379


Twido 语言

380 35013230 06/2011


TwidoSuite V2.3
梯形图
35013230 05/2009

梯形图

14
本章主题
本章介绍了如何使用梯形图进行编程。

本章包含了哪些内容?
本章包含了以下主题:
主题 页
梯形图简介 382
梯形图的编程规则 384
梯形图块 386
梯形图语言图形元素 389
特殊梯形图指令 OPEN 和 SHORT 392
编程建议 394
梯形图 / 指令列表可转换性 398
梯形图 / 指令列表可转换性指南 399
程序文档 401

35013230 06/2011 381


梯形图

梯形图简介

简介
梯形图与表示继电器控制电路的继电器逻辑图类似。两者的主要差异为,在继电器
逻辑图中找不到梯形图编程的以下功能:
z 所有输入均由触点符号 ( ) 表示。
z 所有输出均由线圈符号 ( ) 表示。
z 数字操作包含在图形梯形图指令集中。

继电器逻辑电路与梯形图对比
下图显示了继电器逻辑电路及其对应的梯形图的简单布线图。

请注意,在上图中,继电器逻辑图中的所有输入 (与开关设备关联)在梯形图中均
显示为触点。继电器逻辑图中的 M1 输出线圈在梯形图中表示为输出线圈符号。以
上梯形图中显示的每个触点 / 线圈符号的地址编号引用了控制器外部输入 / 输出连
接的位置。

梯形图梯级
用梯形图语言编写的程序由梯级组成,梯级是在两个垂直势垒之间绘制的图形指令
集。梯级由控制器按顺序执行。
图形指令集代表以下功能:
z 控制器的输入 / 输出 (按钮、传感器、继电器和指示灯等)
z 控制器的功能 (定时器和计数器等)
z 数学和逻辑操作 (加、除、 AND 和 XOR 等)
z 比较操作符和其他数字操作 (A<B、 A=B、移位和循环等)
z 控制器中的内部变量 (位和字等)
这些图形指令以垂直和水平连接排列,并最终导致一个或多个输出和 / 或操作。梯
级无法支持多个已连接指令组。

382 35013230 06/2011


梯形图

梯形图梯级示例
下图为由两个梯级组成的梯形图程序的示例。

35013230 06/2011 383


梯形图

梯形图的编程规则

编程网格
每个梯形图梯级包括 7 行 11 列的网格,分为两个区,如下图所示。

384 35013230 06/2011


梯形图

网格区域
梯形图编程网格分为两个区:
z 测试区
包含为执行操作而测试的条件。由列 1 - 10 组成,并包含触点、功能块和比较
块。
z 操作区
包含将要执行的输出或操作,具体取决于测试区中条件的测试结果。由列 8 - 11
组成,并包含线圈和操作块。

在网格中输入指令
梯形图梯级提供了 7 行 11 列的编程网格,开始于网格左上角的第一个单元格。编程
过程就是将指令输入到网格的单元格中。将测试指令、比较表达式和函数输入到测
试区的单元格中,并且左对齐。测试逻辑为操作区提供了连续性,操作区中输入了
线圈、数字操作和程序流程控制指令,并且右对齐。
梯极在网格中以从上到下和从左到右的顺序解析或执行 (已测试和分配输出)。

段 / 子程序
每个段 / 子程序包括:
z 带有段编号(由程序自动指定)的段头、段 / 子程序标签、用户定义的段 / 子程序
标题和四行用户注释。请参见。
z 段 / 子程序头下的梯级序列。

梯级头
除梯级外,梯级头还直接显示在梯级之上。使用梯级头来说明梯级的逻辑用途。梯
级头可以包含以下信息:
z 梯级编号
z 标签 (%Li)
z 梯级标题
z 梯级注释
有关使用梯级头来说明程序的详细信息,请参见程序文档 , 第 401 页。

35013230 06/2011 385


梯形图

梯形图块

简介
梯形图由表示程序流程和功能的块组成,如下所示:
z 触点
z 线圈
z 程序流程指令
z 功能块
z 比较块
z 操作块

触点、线圈和程序流程
触点、线圈和程序流程 (跳转和调用)指令占用梯形图编程网格中一个单独的单元
格。功能块、比较块和操作块占用多个单元格。
以下为触点和线圈的示例。

386 35013230 06/2011


梯形图

功能块
功能块放置于编程网格的测试区中。功能块必须出现在第一行;并且在功能块的上
部或下部不能出现梯形图指令或连续的行。梯形图测试指令通向功能块的输入侧,
并且测试指令和 / 或操作指令来自该块的输出侧。
功能块为垂直方向且占用编程网格的 2 列 4 行。
以下为计数器功能块的示例。

比较块
比较块放置于编程网格的测试区。只要指令的全部长度位于测试区中,比较块就可
以出现在测试区的任何行或列中。
比较块为水平方向且占用编程网格的 2 列 1 行。
请参见以下比较块的示例。

要编辑比较块,请单击比较框上方的字段并键入表达式。这里符号和地址都可用作
操作数。但是,注释字段被禁用。

35013230 06/2011 387


梯形图

操作块
操作块放置于编程网格的操作区。该块可以出现在操作区的任何行中。该指令为右
对齐;它出现在右侧并结束于最后一列。
操作块为水平方向且占用编程网格的 4 列 1 行。
以下为操作块的示例。

要编辑操作块,请单击操作框上方的字段并键入表达式。这里符号和地址都可用作
操作数。但是,注释字段 (顶部的框)被禁用。
如果以前对符号进行了定义,则表达式将带地址 (上面的框)和符号 (下面的框)
一起显示,如下面的操作块示例所示。这里的地址 %MW2 以前已经使用符号
OPERATE_SWITCH 进行了定义。

388 35013230 06/2011


梯形图

梯形图语言图形元素

简介
梯形图中的指令由图形元素组成。

触点
触点图形元素在测试区中进行编程并且占用一个单元格 (1 行高 1 列宽)。

名称 图形元素 指令 功能
常开触点 LD 当控制位对象的状态为 1 时,通过
触点。

常闭触点 LDN 当控制位对象的状态为 0 时,通过


触点。

检测上升沿的触点 LDR 上升沿:检测控制位对象从 0 到 1


的更改。

检测下降沿的触点 LDF 下降沿:检测控制位对象从 1 到 0


的更改。

连接元素
图形连接元素用于插入 / 删除梯形图循环:

名称 图形元素 功能
插入连接 插入空梯形图循环

删除连接 删除空梯形图循环
注:
1. 如果梯形图循环包含任何元素,则您必须首先
删除所有梯形图元素,然后才能删除梯形图循
环。
2. 用于删除元素的键盘快捷键为 DELETE。

35013230 06/2011 389


梯形图

线圈
线圈图形元素在操作区中进行编程并且占用一个单元格 (1 行高 1 列宽)。

名称 图形元素 指令 功能
直接线圈 ST 相关的位对象采用测试区结果的值。

反转线圈 STN 相关的位对象采用测试区结果的负值。

设置线圈 S 当测试区的结果为 1 时,将相关的位对象


设置为 1。
复位线圈 R 当测试区的结果为 1 时,将相关的位对象
设置为 0。

跳转或子程序调用 JMP 连接到已标记的指令、上行流或下行流。


SR

转换条件线圈 Grafcet 语言。当与转换关联的转换条件


编程导致转换到下一步时使用。

从子程序返回 RET 放置于子程序结束处以返回主程序。

停止程序 END 定义程序的结束。

功能块
功能块的图形元素在测试区中进行编程,并且需要 4 行 2 列单元格 (需要 5 行 2 列
的超高速计数器除外)。

名称 图形元素 功能
定时器、计数器、寄 每个功能块均使用能够连接到其他图形元素的输入
存器等。 和输出。
注:功能块的输出之间无法进行相互连接 (垂直短
路)。

390 35013230 06/2011


梯形图

操作块和比较块
比较块在测试区中进行编程,操作块在操作区中进行编程。

名称 图形元素 功能
比较块 比较两个操作数,检查结果后,输出更改为 1。
大小:1 行 2 列

操作块 执行算术操作和逻辑操作。
大小:1 行 4 列

35013230 06/2011 391


梯形图

特殊梯形图指令 OPEN 和 SHORT

简介
OPEN 和 SHORT 指令提供了梯形图程序调试和故障排除的简便方法。这些特殊指
令可以通过梯级的短路或开路连续性改变梯级逻辑,如下表中的解释。

指令 描述 指令列表指令
OPEN 位于梯级的开始处。 LD 0
位于梯级中部:创建梯形图梯级的连续性中 AND 0
断,而不管上次逻辑操作的结果。
SHORT 位于梯级的开始处。 LD 1
位于梯级中部:使连续性可以通过梯级,而 OR 1
不管逻辑操作的结果。

在指令列表编程中, LD、 OR 和 AND 指令用于创建分别使用立即值 0 和 1 的


OPEN 和 SHORT 指令。

示例
以下为使用 OPEN 和 SHORT 指令的示例。

392 35013230 06/2011


梯形图

不需要 RESET 输入时,由于不能删除到功能块 R-input 的连接段,请使用 OPEN


元素来永久地中断输入段。

35013230 06/2011 393


梯形图

编程建议

处理程序跳转
使用程序跳转时应谨慎,以避免可能增加扫描时间的长循环。避免跳转到位于上行
流的指令。(在程序中,上行流指令行显示在跳转之前。在程序中,下行流指令行
显示在跳转之后。)

输出编程
输出位 (例如内部位),在程序中应该仅能修改一次。对于输出位,在更新输出
时,仅考虑上次扫描的值。

使用直接接线紧急停止传感器
传感器直接用于不能由控制器处理的紧急停止。它们必须直接连接到相应的输出。

处理电源回路
通过手动操作,具备电源回路的条件。安装的自动重启可能引起设备的异常操作
(使用系统位 %S0、 %S1 和 %S9)。

时间和调度模块管理
应该检查系统位 %S51 (其表示所有 RTC 错误)的状态。

语法和错误检查
输入程序时, TwidoSuite 将检查指令、操作码以及它们关联性的语法。

有关使用圆括号的附加注意事项
分配操作不应放置于圆括号中:

394 35013230 06/2011


梯形图

要执行相同的功能,必须编写以下等式:

如果多个触点平行,它们必须相互嵌套或完全隔开:

35013230 06/2011 395


梯形图

请勿编写以下示意图:

396 35013230 06/2011


梯形图

要执行与它们相对应的示意图,必须修改为以下示意图:

35013230 06/2011 397


梯形图

梯形图 / 指令列表可转换性

简介
程序可转换性是 TwidoSuite 编程软件的功能,它提供了应用程序部分从梯形图到指
令列表以及从指令列表返回到梯形图的转换。
您可以设置程序的缺省显示:用户首选项中指令列表格式或梯形图格式。您可以在
梯形图视图和指令列表视图之间切换程序部分。
注意: 在梯形图视图和指令列表视图之间切换时,只转换所选部分中的梯级。这
样,您可以在同一窗口中显示一个程序,它具有梯形图视图中的某些部分,以及具
有指令列表视图中的其他部分。

理解可转换性
要理解程序可转换性功能,重要的是检查梯形图梯级与关联的指令列表序列的关
系:
z 梯形图梯级:组成逻辑表达式的梯形图指令的集合。
z 指令列表序列:与梯形图指令对应并表示相同逻辑表达式的指令列表编程指令的
集合。
下图显示了表示为指令列表指令序列的普通梯形图梯级及其对应的程序逻辑。

应用程序内部存储为指令列表指令,而不管程序是用梯形图编写还是用指令列表编
写。 TwidoSuite 利用两种语言程序结构的相似性,并使用该程序的内部指令列表图
像在指令列表和梯形图的查看器和编辑器中,将其显示为指令列表程序 (基本形
式)或者梯形图的图形形式 (取决于所选用户首选项)。

确保可转换性
以梯形图创建的程序始终可以转换为指令列表。但是,某些指令列表逻辑可能无法
转换为梯形图。要确保从指令列表转换到梯形图,遵循梯形图 / 指令列表可转换性
指南 , 第 399 页中的指令列表编程指南集非常重要。

398 35013230 06/2011


梯形图

梯形图 / 指令列表可转换性指南

可转换性所需指令
指令列表语言中的可转换功能块结构要求使用以下指令:
z BLK 标示功能块的开始,并定义梯级的开始以及功能块的输入部分的开始。
z OUT_BLK 标示功能块的输出部分的开始。
z END_BLK 标示功能块和梯级的结束。
对于正常运行的指令列表程序,不强制使用可转换功能块指令。某些指令可以在不
可转换指令列表中编写。有关标准功能块的不可转换指令列表编程的介绍,请参阅
标准功能块编程原理 , 第 448 页。

应避免使用的非对应指令
避免使用某些指令列表指令或某些指令与操作数的组合,它们在梯形图中无相对应
的指令。例如, N 指令 (用于反转布尔累加器中的值)就没有相对应的梯形图指
令。
下表列出了不可转换到梯形图的所有指令列表编程指令。

指令列表指令 操作数 描述
JMPCN %Li 条件跳转 (无)
N 无 取反 (无)
ENDCN 无 条件结束 (无)

35013230 06/2011 399


梯形图

无条件梯级
您同样需要遵循指令列表编程指南来对无条件梯级进行编程,以确保指令列表到梯
形图的可转换性。无条件梯级不包含测试或条件。将始终执行输出指令或操作指
令。
下图提供了无条件梯级与相对应指令列表序列的示例。

请注意,以上每个无条件指令列表序列均以某个载入指令开始,后跟另一载入指令
(JMP 指令除外)。该组合可以在每次扫描程序时将布尔累加器的值设置为一,从
而可以将线圈 (存储指令)设置为一,将 %MW5 设置为零。一个例外情况是无条
件跳转指令列表指令 (JMP %L6),执行该指令时不考虑累加器的值,并无需将累加
器的值设置为一。

梯形图指令列表梯级
如果对不可完全转换的指令列表程序进行了转换,则可转换的部分显示在梯形图视
图中,不可转换的部分显示为梯形图指令列表梯级。
梯形图指令列表梯级的功能类似于小型指令列表编辑器,用户可在其中查看并修改
梯形图程序的不可转换部分。

400 35013230 06/2011


梯形图

程序文档

说明程序
您可以通过使用指令列表编辑器和梯形图编辑器输入注释来说明您的程序:
z 使用指令列表编辑器添加指令列表行注释来说明您的程序。这些注释可能与编程
指令显示在同一行中,也可能显示在单独的行中。
z 使用梯形图编辑器添加梯级头来说明您的程序。这些梯级头将显示在梯级上方。
TwidoSuite 编程软件可以使用这些注释来实现可转换性。将程序从指令列表转换到
梯形图时, TwidoSuite 将使用某些指令列表注释来构造梯级头。因此,插入指令列
表序列之间的注释将将用作梯级头。

指令列表行注释的示例
下面是带有指令列表行注释的指令列表程序的示例。

35013230 06/2011 401


梯形图

将指令列表注释转换到梯形图
将指令列表指令转换到梯形图时,指令列表行注释将按以下规则显示在梯形图编辑
器中:
z 指定独占一行的第一条注释作为梯级头。
z 第一条注释之后的所有注释作为梯级的主体。
z 占用了梯级头的主体行后,指令列表序列间的其他行注释将被忽略,同样包含指
令列表指令的指令列表行中的所有注释也被忽略。

梯级头注释的示例
下面是带有梯级头注释的梯形图程序的示例。

将梯形图注释转换到指令列表
将梯形图转换到指令列表指令时,梯级头注释将按以下规则显示在指令列表编辑器
中:
z 所有梯级头注释均插入到相关指令列表序列之间。
z 所有标签 (%Li:) 或子程序声明 (SRi:) 均放置在梯级头后面的一行中(在指令列表
序列之前)。
z 如果将指令列表转换为梯形图,则所有被忽略的注释将重新显示在指令列表编辑
器中。

402 35013230 06/2011


TwidoSuite V2.3
指令列表语言
35013230 05/2009

指令列表语言

15
本章主题
本章介绍了如何使用指令列表编程。

本章包含了哪些内容?
本章包含了以下主题:
主题 页
指令列表程序概览 404
指令列表指令的操作 406
指令列表语言指令 407
使用圆括号 410
栈指令 (MPS、 MRD、 MPP) 413

35013230 06/2011 403


指令列表语言

指令列表程序概览

简介
以指令列表语言编写的程序由控制器按顺序执行的一系列指令组成。每个指令列表
指令均由单个程序行表示,并由三部分组成:
z 行编号
z 指令代码
z 操作码

指令列表程序的示例
以下是指令列表程序的示例。

行编号
当输入指令时,程序会自动生成行编号。空行和注释行没有行编号。

指令代码
指令代码是用于操作符的变量,可以识别要使用操作码执行的操作。典型操作符可
以指定布尔操作和数字操作。
例如,在以上示例程序中, LD 是指令 LOAD 的指令代码的缩写。 LOAD 指令可以
将操作码 %I0.1 的值放置 (载入)到称为累加器的内部寄存器中。
主要有以下两种类型的指令:
z 测试指令
这些指令可以设置或测试执行操作的必要条件。例如, LOAD (LD) 和 AND。
z 操作指令
这些指令可以执行作为设置条件结果的操作。例如,诸如 STORE (ST) 和
RESET (R) 等分配指令。

404 35013230 06/2011


指令列表语言

操作码
操作码可以是数值、地址或变量,表示程序能够在指令中操作的某个值。例如,在
以上示例程序中,操作码 %I0.1 是一个将输入值分配给控制器的地址。根据指令代
码的类型,一个指令可以具有零到三个操作码。
操作码可以表示以下内容:
z 控制器输入和输出 (例如传感器、按钮和继电器)。
z 预定义的系统功能 (例如定时器和计数器)。
z 算术操作、逻辑操作、比较操作和数字操作。
z 控制器内部变量 (例如位和字)。

35013230 06/2011 405


指令列表语言

指令列表指令的操作

简介
指令列表指令只有一个显式操作码,另一操作码是隐式的。隐式操作码是布尔累加
器中的值。例如,在指令 LD %I0.1 中, %I0.1 即是显式操作码。隐式操作码存储在
累加器中,并会被 %I0.1 的值覆盖。

操作
指令列表指令可以执行累加器内容和显式操作码中指定的操作,并用结果替换累加
器的内容。例如,操作 AND %I1.2 可以在累加器内容和输入 1.2 之间执行逻辑
AND,并用此结果替换累加器的内容。
除 Load、 Store 和 Not 外,所有布尔指令均可以操作两个操作码。两个操作码的值
可以是真或假,指令的程序执行将产生一个值:真或假。 Load 指令可以将操作码
的值放置于累加器中,而 Store 指令则可以将累加器中的值传送至操作码。 Not 指
令没有显式操作码,仅用于反转累加器的状态。

支持的指令列表指令
下表显示了在指令列表指令中选择的指令:

指令类型 示例 功能
位指令 LD %M10 读取内部位 %M10
块指令 IN %TM0 启动定时器 %TM0
字指令 [%MW10 := %MW50+100] 添加操作
程序指令 SR5 调用子程序 #5
Grafcet 指令 -*-8 步骤 #8

406 35013230 06/2011


指令列表语言

指令列表语言指令

简介
指令列表语言包括以下指令类型:
z 测试指令
z 操作指令
z 功能块指令
本节列出了用于指令列表编程的 Twido 指令,并对其进行了介绍。

测试指令
下表介绍了指令列表中的测试指令。

名称 相对应的图形元素 功能
LD 布尔结果与操作码的状态相同。

LDN 布尔结果与操作码的转换状态相同。

LDR 当侦测到操作码 (上升沿)从 0 变为 1 时,布


尔结果将变为 1。

LDF 当侦测到操作码 (下降沿)从 1 变为 0 时,布


尔结果将变为 1。
AND 布尔结果与上一个指令的布尔结果和操作码状
态之间的 AND 逻辑相等。

ANDN 布尔结果与上一个指令的布尔结果和操作码转
换状态之间的 AND 逻辑相等。

ANDR 布尔结果与上一个指令的布尔结果和操作码的
上升沿 (1 表示上升沿)的侦测之间的 AND 逻
辑相等。
ANDF 布尔结果与上一个指令的布尔结果和操作码的
下降沿 (1 表示下降沿)的侦测之间的 AND 逻
辑相等。
OR 布尔结果与上一个指令的布尔结果和操作码状
态之间的 OR 逻辑相等。

AND( 逻辑 AND (8 个圆括号级别)

35013230 06/2011 407


指令列表语言

名称 相对应的图形元素 功能
OR( 逻辑 OR (8 个圆括号级别)

XOR、 XORN、 异 OR
XORR、 XORF

MPS 切换到线圈。
MRD
MPP

N - 取反 (NOT)

操作指令
下表介绍了指令列表中的操作指令。

名称 相对应的图形元素 功能
ST 关联的操作码采用测试区域结果的值。

STN 关联的操作码采用测试区域结果的转换值。

S 当测试区域的结果为 1 时,关联的操作码将设置为 1。

R 当测试区域的结果为 1 时,关联的操作码将设置为 0。

JMP 无条件连接到带标记的序列、上行流或下行流。

SRn 在子程序开始处连接。

RET 从子程序返回。

END 程序结束。

408 35013230 06/2011


指令列表语言

名称 相对应的图形元素 功能
ENDC 在布尔结果为 1 处结束条件程序。

ENDCN 在布尔结果为 0 处结束条件程序。

功能块指令
下表介绍了指令列表中的功能块。

名称 相对应的图形元素 功能
定时器、计数器、寄 每个功能块均包含用于控制块的指令。
存器等。 结构格式用于直接固化块输入和块输出。
注意:功能块的输出之间无法进行相互连接
(垂直短路)。

35013230 06/2011 409


指令列表语言

使用圆括号

简介
在 AND 和 OR 逻辑指令中,圆括号用于指定梯形图编辑器中的发散。圆括号与指令
关联,如下所述:
z 打开圆括号与 AND 指令或 OR 指令关联。
z 关闭圆括号是每个左括号均需要的指令。

使用 AND 指令的示例
下图是通过 AND 指令使用圆括号的示例:AND(...)。

使用 OR 指令的示例
下图是通过 OR 指令使用圆括号的示例:OR(...)。

410 35013230 06/2011


指令列表语言

修改器
下表列出了可以分配给圆括号的修改器。

修改器 功能 示例
N 取反 AND(N 或 OR(N
F 下降沿 AND(F 或 OR(F
R 上升沿 AND(R 或 OR(R
[ 比较 请参阅比较指令 , 第 477 页

嵌套圆括号
最多可以嵌套八个级别的圆括号。
嵌套圆括号时,请遵循以下规则:
z 每个左括号必须有相应的右括号。
z 标签 (%Li:)、子程序 (SRi:)、跳转指令 (JMP) 和功能块指令不能放置于圆括号之
间的表达式中。
z 存储指令 ST、 STN、 S 和 R 不能在圆括号之间编写。
z 栈指令 MPS、 MRD 和 MPP 不能在圆括号之间使用。

35013230 06/2011 411


指令列表语言

嵌套圆括号的示例
下图为嵌套圆括号的示例。

412 35013230 06/2011


指令列表语言

栈指令 (MPS、 MRD、 MPP)

简介
栈指令处理到线圈的路由。 MPS、 MRD 和 MPP 指令使用称为栈的临时存储区域
(最多可存储八个布尔表达式)。
注意:这些指令不能在圆括号之间的表达式中使用。

栈指令的操作
下表介绍了三个栈指令的操作。

指令 描述 功能
MPS 内存进栈 将上一个逻辑指令的结果 (累加器的内容)存储
到栈顶 (进栈),并将其他值移位到栈底。
MRD 内存读取栈 将栈顶读入累加器。
MPP 内存出栈 将栈顶的值复制到累加器中 (出栈),并将其他
值移位到栈顶。

栈指令的示例
下图是使用栈指令的示例。

35013230 06/2011 413


指令列表语言

栈操作的示例
下图显示了栈指令如何运行。

414 35013230 06/2011


TwidoSuite V2.3
Grafcet
35013230 05/2009

Grafcet

16
本章主题
本章介绍了如何使用 Grafcet 语言编程。

本章包含了哪些内容?
本章包含了以下主题:
主题 页
Grafcet 指令的描述 416
Grafcet 程序结构的描述 420
与 Grafcet 步骤关联的动作 423

35013230 06/2011 415


Grafcet

Grafcet 指令的描述

简介
TwidoSuite 中的 Grafcet 指令提供了翻译控制序列的简单方式 (Grafcet 图形)。
Grafcet 步骤的最大数量取决于 Twido 控制器的类型。活动步数在任意时间仅受总
步数的限制。
对于 TWDLCAA10DRF 和 TWDLCAA16DRF,步骤 1 到步骤 62 可用。步骤 0 和步
骤 63 专用于进行预处理和后处理。对于其他所有的控制器,步骤 1 到步骤 95 可
用。

Grafcet 指令
下表列出了通过编程设置 Grafcet 图形所需的所有指令和对象:

图形表示 (1) TwidoSuite 语言记录 功能


示意图:
=*= i 启动初始步 (2)

#i 禁止当前步骤之后激活步骤 i
-*- i 启动步骤 i 并确认关联的传送 (2)
# 禁止当前步骤而不激活其他任何步骤
#Di 禁止步骤 i 和当前步骤
=*= POST 启动后处理并结束顺序处理
%Xi 可以测试和编写与步骤 i 相关联的位
(步骤的最大数量取决于控制器)
LD %Xi、 LDN %Xi 测试步骤 i 的活动性
AND %Xi、 ANDN %Xi
OR %Xi、 ORN %Xi
XOR %Xi、 XORN %Xi
S %Xi 激活步骤 i

R %Xi 禁止步骤 i

(1) 未考虑图形表示。
(2) 编写的第一步 =*=i 或 -*-i 表示顺序处理的启动和预处理的结束

416 35013230 06/2011


Grafcet

Grafcet 示例
线性序列:

35013230 06/2011 417


Grafcet

替代序列:

418 35013230 06/2011


Grafcet

同步序列:

注意:要使 Grafcet 图形可操作,使用 =*=i 指令 (初始步)必须声明至少一个活动


步,或使用系统位 %S23 和指令 S %Xi 在预处理过程中预置此图形。

35013230 06/2011 419


Grafcet

Grafcet 程序结构的描述

简介
TwidoSuite Grafcet 程序有三部分:
z 预处理
z 顺序处理
z 后处理

预处理
预处理由以下部分组成:
z 电源回流
z 错误管理
z 更改操作模式
z 预置 Grafcet 步骤
z 输入逻辑

输入 %I0.6 的上升沿将位 %S21 设置为 1。该操作将禁用活动步并启用初始步。

预处理从程序的第一行开始,在第一次出现 “= * =” 或 “- * -” 指令时结束。
三个系统位专用于 Grafcet 控制:%S21, %S22 与 %S23。在预处理过程中,应用
程序通常将每个系统位设置为 1 (如果需要)。系统在预处理结束时执行相关功能,
然后由系统将系统位重设为 0。

系统位 名称 描述
%S21 Grafcet 初始化 禁止所有活动步并激活初始步。
%S22 Grafcet 重新初始化 禁止所有步。
%S23 Grafcet 预置 如果在预处理过程中应用程序明确写入了 %Xi 对象,则该位
必须设置为 1。如果预处理将该位保持为 1,而不对 %Xi 对象
做任何明确的更改,则 Grafcet 冻结 (未考虑任何更新)。

420 35013230 06/2011


Grafcet

序列处理
序列处理在图形中进行 (指令表示图形):
z 步骤
z 与步关联的动作
z 转换
z 转换条件

示例:

序列处理在 “= * = POST” 指令执行时或程序结束时结束。

35013230 06/2011 421


Grafcet

后处理
后处理由以下部分组成:
z 序列处理中用于控制输出的命令
z 针对输出的特定联锁装置

示例:

422 35013230 06/2011


Grafcet

与 Grafcet 步骤关联的动作

简介
TwidoSuite Grafcet 程序提供两种方法,以通过编程设置与步骤关联的动作:
z 在后处理部分
z 在步骤自身的列表指令或梯形图梯级中

后处理中的关联动作
如果有安全或运行模式约束,最好在 Grafcet 应用程序的后处理部分中通过编程设
置动作。可以使用设置和复位列表指令或给梯形图程序中的线圈通电,以激活
Grafcet 步骤 (%Xi)。
示例:

35013230 06/2011 423


Grafcet

来自应用程序的关联动作
可以在列表指令或梯形图梯级中通过编程设置与步骤关联的动作。在这种情况中,
除非步骤处于活动状态,否则不扫描列表指令或梯形图梯级,。这是使用 Grafcet 最
有效、易读和便于维护的方法。
示例:

424 35013230 06/2011


TwidoSuite V2.3
指令和功能
35013230 05/2009

指令和功能描述

IV
本部分主题
本部分详细介绍了有关 Twido 语言的基本和高级指令以及系统位和字的信息。

本部分包含了哪些内容?
本部分包括以下各章:
章 章节标题 页
17 基本指令 427
18 高级指令 497
19 系统位和系统字 667

35013230 06/2011 425


指令和功能

426 35013230 06/2011


TwidoSuite V2.3
基本指令
35013230 05/2009

基本指令

17
本章主题
本章介绍了有关用于创建 Twido 控制器的基本控制程序的指令和功能块的详细信
息。

本章包含了哪些内容?
本章包含了以下部分:
节 主题 页
17.1 布尔处理 428
17.2 基本功能块 445
17.3 数字处理 470
17.4 程序指令 489

35013230 06/2011 427


基本指令

17.1 布尔处理

本节主旨
本节简要介绍了布尔处理 (包括对布尔指令的描述和编程指南)。

本节包含了哪些内容?
本节包含了以下主题:
主题 页
布尔指令 429
理解描述布尔指令的格式 431
载入指令 (LD、 LDN、 LDR 和 LDF) 433
赋值指令 (ST、 STN、 R 和 S) 435
逻辑 AND 指令 (AND、 ANDN、 ANDR 和 ANDF) 437
逻辑 OR 指令 (OR、 ORN、 ORR 和 ORF) 439
异或,指令 (XOR、 XORN、 XORR 和 XORF) 441
NOT 指令 (N) 443

428 35013230 06/2011


基本指令

布尔指令

简介
可以将布尔指令比作梯形图元素。下表概述了这些指令。

项目 指令 示例 描述
测试元素 载入 (LD) 指令相当于打开 LD %I0.0 位 %I0.0 处于状态 1 时触点关
的触点。 闭。
动作元素 存储 (ST) 指令相当于线圈。 ST %Q0.0 关联位对象使用了位累加器的
逻辑值 (上一个逻辑的结
果)。

将测试元素的布尔结果应用于动作元素,如以下指令所示。

测试控制器输入
可以使用布尔测试指令检测控制器输入上的上升沿或下降沿。输入状态在 "scan n-
1" 和当前 "scan n" 之间变化时,检测到沿。该沿在当前扫描期间保持已检测状态。

上升沿检测
LDR 指令 (载入上升沿)相当于上升沿检测触点。上升沿检测输入值从 0 到 1 的更
改。
正转换感应触点用于检测上升沿,如下图所示。

35013230 06/2011 429


基本指令

下降沿检测
LDF 指令 (载入下降沿)相当于下降沿检测触点。下降沿检测控制输入从 1 到 0 的
更改。
负转换感应触点用于检测下降沿,如下图所示。

沿检测
下表概述了检测沿的指令和时序:

沿 测试指令 梯形图 时序图


上升沿 LDR %I0.0

下降沿 LDF %I0.0

注意: 现在可以将沿指令应用到 %Mi 内部位。

430 35013230 06/2011


基本指令

理解描述布尔指令的格式

简介
使用以下信息描述本节中的每个布尔指令:
z 简要描述
z 指令的示例和对应的梯形图
z 允许的操作码列表
z 时序图
以下说明介绍了有关在本节中如何描述布尔指令的更多详细信息。

示例
下图显示了如何为每条指令提供示例。

允许的操作码
下表定义了用于布尔指令的允许的操作码类型。

操作码 描述
0/1 立即值 0 或 1
%I 控制器输入 %Ii.j
%Q 控制器输出 %Qi.j
%M 内部位 %Mi
%S 系统位 %Si
%X 步位 %Xi
%BLK.x 功能块位 (例如, %TMi.Q)
%•:Xk 字位 (例如, %MWi:Xk)
[ 比较表达式 (例如, [%MWi<1000])

35013230 06/2011 431


基本指令

时序图
下图显示了如何为每条指令显示时序图。

432 35013230 06/2011


基本指令

载入指令 (LD、 LDN、 LDR 和 LDF)

简介
载入指令 LD、 LDN、 LDR 和 LDF 分别对应打开的触点、关闭的触点、上升沿触点
和下降沿触点(LDR 和 LDF 仅与控制器输入和内部字一起使用,用于 AS-i 和 PDO
CANopen 从站输入)。

示例
下图为载入指令的示例。

允许的操作码
下表列出了载入指令的类型以及对应的梯形图和允许的操作码。

列表指令 对应的梯形图 允许的操作码


LD 0/1、 %I、 %IA、 %IWCx.y.z:Xk、 %Q、
%QA、 %M、 %S、 %X、 %BLK.x、
%•:Xk 和 [
LDN 0/1、 %I、 %IA、 %IWCx.y.z:Xk、 %Q、
%QA、 %M、 %S、 %X、 %BLK.x、
%•:Xk 和 [
LDR %I、 %IA 和 %M

LDF %I、 %IA 和 %M

35013230 06/2011 433


基本指令

时序图
下图显示了载入指令的时序。

434 35013230 06/2011


基本指令

赋值指令 (ST、 STN、 R 和 S)

简介
赋值指令 ST、 STN、 S 和 R 分别对应于直接线圈、反转线圈、置位线圈和复位线
圈。

示例
下图是赋值指令的示例。

允许的操作数
下表列出了赋值指令的类型以及对应的梯形图和允许的操作数。

指令列表指令 对应的梯形图 允许的操作数


ST %Q、 %QA、 %M、 %S、 %BLK.x 和 %•:Xk

STN %Q、 %QA、 %M、 %S、 %BLK.x 和 %•:Xk

S %Q、 %QA、 %M、 %S、 %X、 %BLK.x 和


%•:Xk

R %Q、 %QA、 %M、 %S、 %X、 %BLK.x 和


%•:Xk

35013230 06/2011 435


基本指令

时序图
下图显示了赋值指令的时序。

436 35013230 06/2011


基本指令

逻辑 AND 指令 (AND、 ANDN、 ANDR 和 ANDF)

简介
AND 指令执行操作码 (或其反转,或其上升沿或下降沿)和前一个指令的布尔结
果之间的逻辑 AND 操作。

示例
下图为逻辑 AND 指令的示例。

允许的操作码
下表列出了 AND 指令的类型以及对应的梯形图和允许的操作码。

列表指令 对应的梯形图 允许的操作码


AND 0/1、 %I、 %IA、 %Q、 %QA、 %M、
%S、 %X、 %BLK.x、 %•:Xk 和 [

ANDN 0/1、 %I、 %IA、 %Q、 %QA、 %M、


%S、 %X、 %BLK.x、 %•:Xk 和 [
ANDR %I、 %IA 和 %M

ANDF %I、 %IA 和 %M

35013230 06/2011 437


基本指令

时序图
下图显示了 AND 指令的时序。

438 35013230 06/2011


基本指令

逻辑 OR 指令 (OR、 ORN、 ORR 和 ORF)

简介
OR 指令执行操作码 (或其反转,或其上升沿或下降沿)和前一个指令的布尔结果
之间的逻辑 OR 操作。

示例
下图为逻辑 OR 指令的示例。

35013230 06/2011 439


基本指令

允许的操作码
下表列出了 OR 指令的类型以及对应的梯形图和允许的操作码。

列表指令 对应的梯形图 允许的操作码


OR 0/1、 %I、 %IA、 %Q、 %QA、 %M、 %S、
%X、 %BLK.x 和 %•:Xk

ORN 0/1、 %I、 %IA、 %Q、 %QA、 %M、 %S、


%X、 %BLK.x 和 %•:Xk

ORR %I、 %IA 和 %M

ORF %I、 %IA 和 %M

时序图
下图显示了 OR 指令的时序。

440 35013230 06/2011


基本指令

异或,指令 (XOR、 XORN、 XORR 和 XORF)

简介
XOR 指令执行操作码和前一个指令的布尔结果之间的异或操作。
XORN 指令执行操作码反转和前一个指令的布尔结果之间的异或操作。
XORR 指令执行操作码上升沿和前一个指令的布尔结果之间的异或操作。
XORF 指令执行操作码下降沿和前一个指令的布尔结果之间的异或操作。

示例
以下示例显示了 XOR 指令的用法。

允许的操作码
下表列出了 XOR 指令的类型和允许的操作码。

列表指令 允许的操作码
XOR %I, %IA, %Q, %QA, %M, %S, %X,
%BLK.x, %•:Xk
XORN %I, %IA, %Q, %QA, %M, %S, %X,
%BLK.x, %•:Xk
XORR %I、 %IA 和 %M
XORF %I、 %IA 和 %M

35013230 06/2011 441


基本指令

时序图
下图显示了 XOR 指令的时序。

特殊情况
以下为在梯形图程序中使用 XOR 指令的特别规则:
z 请勿在梯级的第一个位置插入 XOR 触点。
z 请勿将 XOR 触点与其他梯形图元素平行插入 (参见以下示例)。
如以下示例所示,将某元素与 XOR 触点平行插入将产生验证错误。

442 35013230 06/2011


基本指令

NOT 指令 (N)

简介
NOT (N) 指令用于否定前一个指令的布尔结果。

示例
以下为使用 NOT 指令的示例。

注意:NOT 指令不可逆。

允许的操作码
不适用。

35013230 06/2011 443


基本指令

时序图
下图显示了 NOT 指令的时序。

444 35013230 06/2011


基本指令

17.2 基本功能块

本节主旨
本节介绍了使用基本功能块并提供了使用基本功能块的编程指南。

本节包含了哪些内容?
本节包含了以下主题:
主题 页
基本功能块 446
标准功能块编程原理 448
定时器功能块 (%TMi) 450
TOF 类型定时器 452
TON 型定时器 453
TP 型定时器 454
编程和配置定时器 455
加 / 减计数器功能块 (%Ci) 458
编程和配置计数器 461
移位寄存器功能块 (%SBRi) 463
步进计数器功能块 (%SCi) 466

35013230 06/2011 445


基本指令

基本功能块

简介
功能块是程序使用的位对象和特定字的来源。基本功能块提供简单的功能,例如定
时器或加 / 减计数。

功能块示例
下图是加 / 减计数器功能块的示例。

位对象
位对象对应块输出。使用以下任何一种方法,布尔测试指令均可以访问这些位:
z 如果在可转换编程中用线将这些位连接到块,则直接访问 (例如, LD E)(请
参阅标准功能块编程原理 , 第 448 页)。
z 通过指定块类型 (例如, LD %Ci.E)。
可以以指令的格式访问输入。

字对象
字对象对应指定的参数和值,如下所述:
z 块配置参数:某些参数是程序可以访问的 (例如,预选择参数),而某些参数是
程序不可以访问的 (例如,时基)。
z 当前值:例如, %Ci.V,当前计数值。

446 35013230 06/2011


基本指令

可访问的位和字对象
下表描述了程序可以访问的基本功能块位和字对象。

基本功能块 变量 范围 (i) 对象类型 描述 地址 写访问


定时器 %TMi 0 - 127 字 当前值 %TMi.V 否
预设值 %TMi.P 是
位 定时器输出 %TMi.Q 否
加 / 减计数器 %Ci 0 - 127 字 当前值 %Ci.V 否
预设值 %Ci.P 是
位 下溢输出 (空) %Ci.E 否
已达到预设输出 %Ci.D 否
溢出输出 (满) %Ci.F 否

35013230 06/2011 447


基本指令

标准功能块编程原理

简介
使用以下方法之一通过编程设置标准功能块程序:
z 功能块指令 (例如, BLK %TM2):这种可转换的梯形图编程方法启用了要在程
序内的单位置中的块上执行的操作。
z 特殊指令 (例如, CU %Ci):这种不可转换方法启用了要在程序内的多个位置
中的块输入上执行的操作(例如,第 100 行 CU %C1、第 174 行 CD %C1 和
第 209 行 LD %C1.D)。

可转换编程
使用指令 BLK、 OUT_BLK 和 END_BLK 进行可转换编程:
z BLK:表示块的开始。
z OUT_BLK:用于直接用线连接块输出。
z END_BLK:表示块的结束。

具有输出接线的示例
以下示例显示了具有接线输出的计数器功能块的可转换编程。

448 35013230 06/2011


基本指令

不具有输出接线的示例
以下示例显示了不具有输出接线的计数器功能块的可转换编程。

注意:只有相关块上的测试和输入指令可以置于 BLK 和 OUT_BLK 指令之间(或未


通过编程设置 OUT_BLK 时,置于 BLK 和 END_BLK 之间)。

35013230 06/2011 449


基本指令

定时器功能块 (%TMi)

简介
定时器功能块有三种类型:
z TON (定时器接通延迟):此类型的定时器用于控制接通延迟动作。
z TOF (定时器关闭延迟):此类型的定时器用于控制关闭延迟动作。
z TP (定时器 - 脉冲):此类型的定时器用于创建精确持续时间的脉冲。
延迟或脉冲周期是可编程的,可以使用 TwidoSuite 对其进行修改。

示意图
以下为定时器功能块的示意图。

参数
定时器功能块具有以下参数:

参数 标签 值
定时器编号 %TMi 0 到 63:TWDLCAA10DRF 和 TWDLCAA16DRF
对于其他所有的控制器,为 0 到 127。
类型 TON • 定时器接通延迟 (默认值)
TOF • 定时器关闭延迟
TP • 脉冲 (单稳)
时基 TB 1 分钟 (默认值)、 1 秒、 100 毫秒、 10 毫秒、 1 毫秒
当前值 %TMi.V 定时器运行时从 0 增加到 %TMi.P 的字。可以由程序读取
和测试,但不能写入。可以使用动态数据表编辑器修改
%TMi.V。

450 35013230 06/2011


基本指令

参数 标签 值
预设值 %TMi.P 0 到 9999。可以由程序读取、测试和写入的字。默认值
为 9999。生成的周期或延迟为 %TMi.P x TB。
动态数据表编辑器 Y/N Y:是,可以使用动态数据表编辑器修改预设 %TMi.P
值。
N:否,无法修改预设 %TMi.P 值。
启用 (或指令)输入 IN 启动上升沿 (TON 或 TP 类型)或下降沿 (TOF 类型)
上的定时器。
定时器输出 Q 根据执行的功能,将关联位 %TMi.Q 设置为 1:TON、
TOF 或 TP

注意:预设值越大,定时器准确度越高。

35013230 06/2011 451


基本指令

TOF 类型定时器

简介
使用 TOF (定时器关闭延迟)型定时器控制关闭延迟动作。该延迟使用
TwidoSuite 可以进行编程。

时序图
以下时序图说明了 TOF 型定时器的操作。

操作
下表介绍了 TOF 型定时器的操作。

相位 描述
1 即使定时器处于运行状态,在输入 IN 处的上升沿上的当前值 %TMi.V 也会被设
为 0。
2 在输入 N 处检测到上升沿时, %TMi.Q 输出位被设为 1。
3 在输入 IN 的下降沿上,定时器启动。
4 当前值 %TMi.V 按时基 TB 的每个脉冲的一个单位的增量增加到 %TMi.P。
5 当前值达到 %TMi.P 时, %TMi.Q 输出位被重设为 0。

452 35013230 06/2011


基本指令

TON 型定时器

简介
TON(定时器接通延迟)型定时器用于控制接通延迟动作。该延迟使用 TwidoSuite
可以进行编程。

时序图
以下时序图说明了 TON 型定时器的操作。

操作
下表描述了 TON 型定时器的操作。

相位 描述
1 在 IN 输入的上升沿上,定时器启动。
2 当前值 %TMi.V 按时基 TB 的每个脉冲的一个单位的增量从 0 增加到 %TMi.P。
3 当前值已达到 %TMi.P 时, %TMi.Q 输出位被设为 1。
4 在 IN 输入处于 1 时, %TMi.Q 输出位保持在 1 处。
5 即使定时器未达到 %TMi.P,且 %TMi.V 被设为 0,在 IN 输入处检测到下降沿
时,定时器也会停止。

35013230 06/2011 453


基本指令

TP 型定时器

简介
TP (定时器 - 脉冲)型定时器用于创建精确持续时间的脉冲。该延迟使用
TwidoSuite 可以进行编程。

时序图
以下时序图说明了 TP 型定时器的操作。

操作
下表描述了 TP 型定时器的操作。

相位 描述
1 定时器在 IN 输入的上升沿上启动。如果定时器尚未启动,则当前值 %TMi.V 被
设为 0。
2 定时器启动时, %TMi.Q 输出位被设为 1。
3 定时器的当前值 %TMi.V 按时基 TB 的每个脉冲的一个单位的增量从 0 增加到
%TMi.P。
4 当前值已达到 %TMi.P 时, %TMi.Q 输出位被设为 0。
5 %TMi.V 等于 %TMi.P 且输入 IN 返回到 0 时,当前值 %TMi.V 被设为 0。
6 该定时器无法复位。一旦 %TMi.V 等于 %TMi.P 且输入 IN 为 0,然后 %TMi.V 就
被设为 0。

454 35013230 06/2011


基本指令

编程和配置定时器

简介
不管如何使用定时器功能块 (%TMi),均通过相同方式对其进行编程。在配置过程中
选择定时器功能 (TON、 TOF 或 TP)。

示例
下图是包含可转换和不可转换编程示例的定时器功能块。

配置
在配置过程中,必须输入以下参数:
z 定时器类型:TON、 TOF 或 TP
z 时基:1 分钟、 1 秒、 100 毫秒、 10 毫秒或 1 毫秒
z 预设值 (%TMi.P): 0 到 9999
z 调整:已检查的或未检查的

35013230 06/2011 455


基本指令

特殊情况
下表包含了定时器功能块编程的一些特殊情况。

特殊情况 描述
冷重启 (%S0=1) 的结果 将当前值强制为 0。将输出 %TMi.Q 设为 0。预设
值被复位为在配置过程中定义的值。
热重启 (%S1=1) 的结果 对定时器的当前值和预设值无影响。停电时不会
更改当前值。
控制器停止的结果 停止控制器不会冻结当前值。
程序跳转的结果 跳过定时器块不会冻结定时器。定时器的值将继
续增加,直到其达到预设值 (%TMi.P)。到达预设
值后,已分配到定时器块的输出 Q 的完成位
(%TMi.Q) 更改状态。但是,控制器不激活和扫描
直接连接到定时器块输出的关联输出。
通过位 %TMi.Q (完成位)测试 建议在程序中对位 %TMi.Q 仅测试一次。
修改预设 %TMi.P 的结果 通过使用指令或通过调整值修改现有值时,所做
修改仅在下次激活定时器时才生效。

具有 1 毫秒时基的定时器
仅前六个定时器可用 1 毫秒时基。四个系统字 %SW76、 %SW77、 %SW78 和
SW79 可以作为 “ 沙漏 ” 使用。如果这四个字具有正值,则系统每过一毫秒对它们逐
个递减。
通过连续载入这些字中的一个字或通过测试中间值可以实现多重时序。如果四个字
中的一个字的值小于 0,则不会修改该值。通过将相应的位 15 设为 1 可以 “ 冻结 ”
定时器,然后通过将其复位为 0 可以 “ 解冻 ”。

456 35013230 06/2011


基本指令

编程示例
下面是一个定时器功能块编程示例。

35013230 06/2011 457


基本指令

加 / 减计数器功能块 (%Ci)

简介
计数器功能块 (%Ci) 提供了事件的加和减计数。可以同时执行这两种运算。

示意图
以下是加 / 减计数器功能块的示意图。

参数
计数器功能块包括以下参数:

参数 标签 值
计数器编号 %Ci 0 到 127
当前值 %Ci.V 根据输入 (或指令) CU 和 CD 增加或减少字。程序可
以读取和测试,但不能写入。使用数据编辑器修改
%Ci.V。
预设值 %Ci.P 0 ≤%Ci.P ≤9999。可以读取、测试和写入字 (默认值
为:9999)。
使用动态数据表编辑 ADJ z Y:是,可以通过使用动态数据表编辑器修改预设
器编辑 值。
z N: 否,不能通过使用动态数据表编辑器修改预设
值。
重设输入 (或指令) R 处于状态 1:%Ci.V = 0。
重设输入 (或指令) S 处于状态 1:%Ci.V = %Ci.P。
加计数输入 (或指 CU 在上升沿上增加 %Ci.V。
令)

458 35013230 06/2011


基本指令

参数 标签 值
减计数输入 (或指 CD 在上升沿上减少 %Ci.V。
令)
减计数溢出输出 E (空) 减计数器 %Ci.V 从 0 更改到 9999 时,关联位 %Ci.E=1
(%Ci.V 达到 9999 时,设为 1,如果计数器继续减少,
将被重设为 0)。
预设输出已达到 D (完成) %Ci.V=%Ci.P 时,关联位 %Ci.D=1。
加计数溢出输出 F (满) %Ci.V 从 9999 更改到 0 时,关联位 %Ci.F = 1
(%Ci.V 达到 0 时,设为 1,如果计数器继续增加,将
被重设为 0)。

操作
下表描述了加 / 减计数器操作的主要阶段。

操作 动作 结果
计数 上升沿在加计数输入 CU 处显示 %Ci.V 当前值增加一个单位。
(或激活指令 CU)。
%Ci.V 当前值等于 %Ci.P 预设 " 已达到预设值 " 输出位 %Ci.D 切换为
值。 1。
%Ci.V 当前值从 9999 更改到 0。 输出位 %Ci.F (加计数溢出)切换为
1。
如果计数器继续增加。 输出位 %Ci.F (加计数溢出)重设为
零。
减计数 上升沿在减计数输入 CD 处显示 当前值 %Ci.V 减少一个单位。
(或激活指令 CD)。
当前值 %Ci.V 从 0 更改到 9999。 输出位 %Ci.E (减计数溢出)切换为
1。
如果计数器继续减少。 输出位 %Ci.F (减计数溢出)重设为
零。
加 / 减计数 要同时使用加计数和减计数功能 (或要激活指令 CD 和 CU),必须同时
控制相应的两种输入 CU 和 CD。然后可以连续扫描这两种输入。如果它
们均处于 1,则当前值保持不变。
重设 输入 R 被设为状态 1 (或激活 R 当前值 %Ci.V 被强制为 0。输出
指令)。 %Ci.E、 %Ci.D 和 %Ci.F 处于 0。重
设输入具有优先级。
预设 如果输入 S 被设置为 1 (或激活 当前值 %Ci.V 采用 %Ci.P 值且 %Ci.D
S 指令)且该重设输入处于 0 输出被设置为 1。
(或 R 指令处于非活动状态)。

35013230 06/2011 459


基本指令

特殊情况
下表显示了计数器的特殊操作 / 配置情况列表。

特殊情况 描述
冷重启 (%S0=1) 的结果 z 当前值 %Ci.V 被设为 0。
z 输出位 %Ci.E、 %Ci.D 和 %Ci.F 被设为 0。
z 在配置的过程中,使用定义的值初始化预设
值。
控制器停止的热重启 (%S1=1) 的结果 对计数器 (%Ci.V) 的当前值无影响。
修改预设 %Ci.P 的结果 由应用程序对块进行处理 (激活其中的一个输
入)时,通过指令或通过调整它修改预设值才会
生效。

460 35013230 06/2011


基本指令

编程和配置计数器

简介
以下示例为一个最多可以提供 5000 个项目计数的计数器。输入 %I1.2 的每个脉冲
(内部位 %M0 被设为 1 时)加上最多到其最终预设值 (位 %C8.D=1)的计数器
%C8。通过输入 %I1.1 重设该计数器。

编程示例
下图是包含可转换和不可转换编程示例的计数器功能块。

35013230 06/2011 461


基本指令

配置
在配置过程中,必须输入以下参数:
z 预设值 (%Ci.P):在本例中设为 5000
z 调整:是

加 / 减计数器示例
下图是加 / 减计数器功能块的示例。

在本例中,如果我们将 %C1.P 设为 4,则 %C1.V 计数器的当前值将从 0 增加到 3,


然后再从 3 减少到 0。而 %I0.0=1 %C1.V 将在 0 和 3 之间波动。

462 35013230 06/2011


基本指令

移位寄存器功能块 (%SBRi)

简介
移位寄存器功能块 (%SBRi) 提供了二进制数据位 (0 或 1)的左移位或右移位。

示意图
以下是移位寄存器功能块的示例。

参数
移位寄存器功能块包括以下参数。

参数 标签 值
寄存器编号 %SBRi 0到7
寄存器位 %SBRi.j 通过测试指令可以测试移位寄存器的位 0 到 15
(j = 0 到 15),而使用分配指令可以写入位 0 到
15 (j = 0 到 15)。
重设输入 (或指令) R 功能参数 R 为 1 时,会将寄存器位 0 到 15
%SBRi.j 设置为 0。
移位到左输入 (或指令) CU 在上升沿上,将寄存器位向左移位。
移位到右输入 (或指令) CD 在上升沿上,将寄存器位向右移位。

35013230 06/2011 463


基本指令

操作
下图显示了移位操作之前和之后的位模式。

使用 CD 指令要移位到右 (从位 15 到位 0)的请求也是真。位 0 丢失。


如果 16 位寄存器不够用,则可以使用该程序层叠若干个寄存器。

编程
在以下示例中,当假设位 0 相对的状态是位 15 时,则每隔一秒钟向左移一位。

464 35013230 06/2011


基本指令

特殊情况
下表包含了通过编程设置移位寄存器功能块的特殊情况列表。

特殊情况 描述
冷重启 (%S0=1) 的结果 将寄存器字的所有位设为 0。
热重启 (%S1=1) 的结果 对寄存器字的位无影响。

35013230 06/2011 465


基本指令

步进计数器功能块 (%SCi)

简介
步进计数器功能块 (%SCi) 提供了一系列可以向其分配动作的步。从一步移动到另
一步取决于外部或内部事件。每次某一步处于活动状态时,关联位 (步进计数器的
位 %SCi.j)会被设置为 1。步进计数器可以控制输出位 (%Qi.j)、内部位 (%Mi) 或
AS-i 从站输出位 (%QAx.y.z)。一个步进计数器中每次仅有一步可以处于活动状态。

示意图
下面是步进计数器功能块的示例。

参数
步进功能块具有以下参数:

参数 标签 值
步进计数器编号 %SCi 0-7

步进计数器位 %SCi.j 通过载入逻辑操作可以测试步进计数器位 0 到


255 (j = 0 到 255),而通过赋值指令可以写入
位 0 到 255 (j = 0 到 255)。
复位输入 (或指令) R 功能参数 R 为 1 时,会复位步进计数器。
增加输入 (或指令) CU 在上升沿上,为步进计数器增加一步。
减少输入 (或指令) CD 在上升沿上,为步进计数器减少一步。

466 35013230 06/2011


基本指令

时序图
下面的时序图说明了步进功能块的操作。

35013230 06/2011 467


基本指令

编程
下面是步进计数器功能块的示例。
z 通过输入 %I0.2 增加步进计数器 0。
z 通过输入 %I0.3 或其达到步骤 3 时,将步进计数器 0 复位为 0。
z 步骤 0 控制输出 %Q0.1,步骤 1 控制输出 %Q0.2,步骤 2 控制输出 %Q0.3。
下图显示了本例的可转换和不可转换编程。

468 35013230 06/2011


基本指令

特殊情况
下表包含了操作步进计数器功能块的特殊情况。

特殊情况 描述
冷重启 (%S0=1) 的结果 初始化步进计数器。
热重启 (%S1=1) 的结果 对步进计数器无影响。

35013230 06/2011 469


基本指令

17.3 数字处理

本节主旨
本节介绍了数字处理,包括描述和编程指南。

本节包含了哪些内容?
本节包含了以下主题:
主题 页
数字指令简介 471
赋值指令 472
比较指令 477
整数算术指令 479
逻辑指令 482
移位指令 484
转换指令 486
单 / 双字转换指令 488

470 35013230 06/2011


基本指令

数字指令简介

概览
数字指令通常应用到 16 位字 (请参阅字对象 , 第 27 页)和 32 位双字 ( 参见
第 30 页 )。数字指令被写在方括号之间。如果前一个逻辑操作的结果为真 (布尔累
加器 = 1),则执行数字指令。如果前一个逻辑操作的结果为假 (布尔累加器 =
0),则不执行数字指令且操作码保持不变。

35013230 06/2011 471


基本指令

赋值指令

简介
赋值指令用于将操作数 Op2 载入操作数 Op1。

赋值
赋值指令的语法。

可以对以下对象执行赋值操作:
z 位字符串
z 字
z 双字
z 浮点字
z 字表
z 双字表
z 浮点字表

位字符串赋值
可以对以下位字符串执行操作 (请参阅结构化对象 , 第 43 页):
z 位字符串 -> 位字符串 (示例 1)
z 位字符串 -> 字 (示例 2)或双字 (带索引)
z 字或双字 (带索引) -> 位字符串 (示例 3)
z 立即值 -> 位字符串

472 35013230 06/2011


基本指令

示例
位字符串赋值示例。

使用规则:
z 对于位字符串 -> 字的赋值:从右侧开始将字符串的位传送到字 (字符串的第一
位传送到字的位 0),并且传送中未使用的字位 (长度 ≤16)设置为 0。
z 对于字 -> 位字符串的赋值:从右侧开始传送字位 (字的位 0 传送到字符串的第
一位)。

位字符串赋值
位字符串赋值的语法。

操作符 语法 操作数 1 (Op1) 操作数 2 (Op2)


:= [Op1:= Op2] %MWi、 %QWi、 立即值、 %MWi、
%QWCi %QWAi、 %KWi、 %IW、
操作数 1 (Op1) 采用操 %SWi %MWi[%MWi]、 %IWAi、 %IWCi
作数 2 (Op2) 的值 %MDi 和 %MDi[%MWi] %INWi、 %QWi、
%Mi:L、 %Qi:L、 %Si:L %QWAi %QWCi、
和 %Xi:L %QNWi、 %SWi、
%BLK.x、
%MWi[%MWi]、
%KWi[%MWi]、
%MDi[%MWi]、
%KDi[%MWi]、
%Mi:L、 %Qi:L、
%Si:L、 %Xi:L 和 %Ii:L

注意:缩写 %BLK.x (例如, %C0.P)用于描述任何功能块字。

35013230 06/2011 473


基本指令

字赋值
可以对以下字和双字执行赋值操作:
z 字 (带索引) -> 字 (示例 2)(带索引或不带索引)
z 双字 (带索引) -> 双字 (带索引或不带索引)
z 整数立即值 -> 字 (示例 3)或双字 (带索引或不带索引)
z 位字符串 -> 字或双字
z 浮点数 (带索引或不带索引) -> 浮点数 (带索引或不带索引)
z 字或双字 -> 位字符串
z 浮点数立即值 -> 浮点数 (带索引或不带索引)

示例
字赋值示例。

语法
字赋值的语法。

操作符 语法
:= [Op1:= Op2]
操作数 1 (Op1) 采用操作数 2 (Op2) 的值

474 35013230 06/2011


基本指令

下表给出了操作数的详细信息:

类型 操作数 1 (Op1) 操作数 2 (Op2)


字、双字和 %BLK.x、 %MWi、 立即值、 %MWi、
位字符串 %QWi、 %QWAi、 %KWi、 %IW、 %IWAi、
%QWCi、 %SWi %IWCi、 %QWi、
%MWi[MWi]、 %MDi、 %QWAi、 %QWCi、
%MDi[%MWj]、 %SWi、 %MWi[MWi]、
%Mi:L、 %Qi:L、 %Si:L %KWi[MWi]、 %MDi、
和 %Xi:L %MDi[%MWj]、 %KDi、
%KDi[MWj]、 %INW、
%Mi:L、 %Qi:L、
%QNW、 %Si:L、 %Xi:L
和 %Ii:L
浮点数 %MFi 和 %MFi[%MWj] 浮点数立即值、 %MFi、
%MFi[%MWj]、 %KFi 和
%KFi[%MWj]

注意:缩写 %BLK.x (例如, R3.I)用于描述任何功能块字。对于位字符串


%Mi:L、 %Si:L 和 %Xi:L,位字符串首位的基址必须是 8 的倍数 (0、 8、 16、 ...、
96、 ...)。

字、双字和浮点数表的赋值
可以对以下对象表执行赋值操作 (请参阅字表 , 第 44 页):
z 整数立即值 -> 字表 (示例 1)或双字表
z 字 -> 字表 (示例 2)
z 字表 -> 字表 (示例 3)
两个表的表长度 (L) 应该相同。
z 双字 -> 双字表
z 双字表 -> 双字表
两个表的表长度 (L) 应该相同。
z 浮点数立即值 -> 浮点数表
z 浮点数 -> 浮点数表
z 浮点数表 -> 浮点数表
两个表的表长度 (L) 应该相同。

35013230 06/2011 475


基本指令

示例
字表赋值示例:

语法
字、双字和浮点数表赋值的语法

操作符 语法
:= [Op1:= Op2]
操作数 1 (Op1) 采用操作数 2 (Op2) 的值

下表给出了操作数的详细信息:

类型 操作数 1 (Op1) 操作数 2 (Op2)


字表 %MWi:L 和 %SWi:L %MWi:L、 %SWi:L、整数立即值、
%MWi、 %KWi、 %IW、 %QW、
%IWA、 %QWA、 %SWi 和 %BLK.x
双字表 %MDi:L 整数立即值、 %MDi、 %KDi、 %MDi:L
和 %KDi:L
浮点字表 %MFi:L 浮点数立即值、 %MFi、 %KFi、
%MFi:L 和 %KFi:L

注意: 缩写 %BLK.x (例如, R3.I)用于描述任何功能块字。

476 35013230 06/2011


基本指令

比较指令

简介
比较指令用于比较两个操作数。
下表列出了比较指令的类型。

指令 功能
> 测试操作数 1 是否大于操作数 2
>= 测试操作数 1 是否大于等于操作数 2
< 测试操作数 1 是否小于操作数 2
<= 测试操作数 1 是否小于等于操作数 2
= 测试操作数 1 是否等于操作数 2
<> 测试操作数 1 是否不等于操作数 2

结构
比较是在 LD、 AND 和 OR 指令后的方括号内执行的。请求的比较为真时,结果为
1。
比较指令示例。

35013230 06/2011 477


基本指令

语法
比较指令的语法:

操作符 语法
>, >=, <, <=, =, <> LD [Op1 操作符 Op2]
AND [Op1 操作符 Op2]
OR [Op1 操作符 Op2]

操作数:

类型 操作数 1 (Op1) 操作数 2 (Op2)


字 %MWi、 %KWi、 %INWi、 立即值、 %MWi、 %KWi、
%IW、 %IWAi、 %IWCi、 %INWi、 %IW、 %IWAi、
%QNWi、 %QWi、 %QWAi、 %IWCi、 %QNWi、 %QW、
%QWCi、 %QNWi、 %SWi 和 %QWAi、 %QWCi、 %SWi、
%BLK.x %BLK.x、 %MWi [%MWi] 和
%KWi [%MWi]
双字 %MDi 和 %KDi 立即值、 %MDi、 %KDi、
%MDi [%MWi] 和 %KD
[%MWi]
浮点数字 %MFi 和 %KFi 浮点立即值、 %MFi、 %KFi、
%MFi [%MWi] 和 %KFi
[%MWi]

注意: 比较指令可以在圆括号内使用。
在圆括号内使用比较指令的示例:

478 35013230 06/2011


基本指令

整数算术指令

简介
算术指令用于在两个整数操作数之间或对一个整数操作数执行算术运算。
下表列出了算术指令的类型。

指令 功能
+ 两个操作数相加
- 两个操作数相减
* 两个操作数相乘
/ 两个操作数相除
REM 两个操作数相除的余数
SQRT 操作数的平方根
INC 操作数递增
DEC 操作数递减
ABS 操作数的绝对值

结构
算术运算的执行如下所示:

语法
语法取决于使用的操作符,如下表所示。

操作符 语法
+、 -、 *、 / 和 REM [Op1:= Op 2 操作符 Op3]
INC 和 DEC [ 操作符 Op1]

35013230 06/2011 479


基本指令

操作符 语法
SQRT (1) [Op1:= SQRT(Op2)]
ABS (1) [Op1:= ABS(Op2)]

操作数:

类型 操作数 1 (Op1) 操作数 2 和 3 (Op2 & 3) (1)


字 %MWi、 %QWi、 立即值、 %MWi、 %KWi、
%QWAi、 %QWCi 和 %INW、 %IW、 %IWAi、
%SWi %IWCi、 %QNW、 %QW、
%QWAi、 %QWCi、 %SWi
和 %BLK.x
双字 %MDi 立即值、 %MDi 和 %KDi

注意:(1) 使用此操作符时, Op2 不能为立即值。


ABS 函数只能用于双字 (%MD 和 %KD)和浮点数 (%MF 和 %KF)。因此,
OP1 和 OP2 必须为双字或浮点数。

溢出和错误条件
加法
z 字运算期间溢出
如果结果超过结果字的容量,位 %S18 (溢出位)将设置为 1,并且结果无效
(请参阅下一页的示例 1)。用户程序管理位 %S18。
注:
对于双字,范围为 -2147483648 和 2147483647。
乘法
z运算期间溢出
如果结果超过结果字的容量,位 %S18 (溢出位)将设置为 1,并且结果无效。
除法 / 余数
z 除零
如果除数为 0,除法不能执行,并且系统位 %S18 设置为 1,因而结果错误。
z 运算期间溢出
如果除法的商超过结果字的容量,位 %S18 将设置为 1。
开平方
z 运算期间溢出
只能对正值开平方。因此,结果始终为正。如果平方根操作数为负数,系统位
%S18 将设置为 1,并且结果错误。
注意: 用户程序负责管理系统位 %S17 和 %S18。它们由控制器设置为 1,并且必
须由程序复位,以便可以重复使用 (请参阅上一页的示例)。

480 35013230 06/2011


基本指令

示例
示例 1:加法期间溢出。

如果 %MW1 =23241 并且 %MW2=21853,实际结果 (45094) 无法以一个 16 位字表


示,位 %S18 被设置为 1,并且所得结果 (-20442) 是错误的。在此示例中,当结果
大于 32767 时,其值将固定为 32767。

35013230 06/2011 481


基本指令

逻辑指令

简介
逻辑指令用于在两个字操作数之间或对一个字操作数执行逻辑操作。
下表列出了逻辑指令的类型。

指令 功能
AND 两个操作数之间的 AND (按位操作)
OR 两个操作数之间的逻辑 OR (按位操作)
XOR 两个操作数之间的异 OR (按位操作)
NOT 操作数的逻辑反码 (按位操作)

结构
逻辑操作的执行如下所示:

482 35013230 06/2011


基本指令

语法
语法取决于使用的操作符:

操作符 语法 操作数 1 (Op1) 操作数 2 和 3 (Op2 & 3)


AND、 OR 和 [Op1:= Op2 操作符 Op3] %MWi、 %QWi、 立即值 (1)、 %MWi、
XOR %QWAi、 %QWCi %KWi、 %IW、
NOT [Op1:=NOT(Op2)] 和 %SWi %IWAi、 %IWCi、
%QW、 %QWAi、
%QWCi、 %SWi 和
%BLK.x

注意:(1) 用于 NOT 时, Op2 不能为立即值。

示例
下面是逻辑 AND 指令的示例:
[%MW15:=%MW32 AND %MW12]

35013230 06/2011 483


基本指令

移位指令

简介
移位指令将操作数的位向右或向左移动特定数量的位置。
下表列出了移位指令的类型。

指令 功能
逻辑移位
SHL(op2,i) 向左 i 个位置的逻辑移
位。

SHR(op2,i) 向右 i 个位置的逻辑移
位。

循环移位
ROL(op2,i) 向左 i 个位置的循环移
位。

ROR(op2,i) 向右 i 个位置的循环移
位。

注意: 系统位 %S17 ( 参见第 668 页 ) 用于指示最后弹出的位。

484 35013230 06/2011


基本指令

结构
移位操作的执行如下所示:

语法
语法取决于使用的操作符,如下表所示。

操作符 语法
SHL 和 SHR [Op1:= 操作符 (Op2,i)]
ROL 和 ROR

操作数:

类型 操作数 1 (Op1) 操作数 2 (Op2)


字 %MWi、 %QWi、 %MWi、 %KWi、
%QWAi、 %QWCi %IW、 %IWAi、
和 %SWi %IWCi、 %QW、
%QWAi、 %QWCi、
%SWi 和 %BLK.x
双字 %MDi %MDi 和 %KDi

35013230 06/2011 485


基本指令

转换指令

简介
转换指令在数字的不同表示法之间执行转换。
下表列出了转换指令的类型。

指令 功能
BTI BCD --> 二进制转换
ITB 二进制 --> BCD 转换

BCD 码概述
二进制编码的十进制数 (BCD) 通过编码四个二进制位来表示一个十进制数 (0 到
9)。因此,一个 16 位字对象可以包含一个以四位数字 (0000 - 9999) 表示的数,一
个 32 位双字对象可以包含八位数字。
在转换期间,如果值不是 BCD,系统位 %S18 会设置为 1。该位必须由程序检测并
复位为 0。
十进制数字的 BCD 表示法:

十进制 0 1 2 3 4 5 6 7 8 9
BCD 0000 0001 0010 0011 0100 0101 0110 0111 1000 1001

示例:
z 字 %MW5 表示 BCD 值 "2450",其相应的二进制值为:0010 0100 0101 0000
z 字 %MW12 表示十进制值 "2450",其相应的二进制值为:0000 1001 1001 0010

字 %MW5 通过使用指令 BTI 转换为字 %MW12。


字 %MW12 通过使用 ITB 指令转换为字 %MW5。

结构
转换操作的执行如下所示:

486 35013230 06/2011


基本指令

语法
语法取决于使用的操作符,如下表所示。

操作符 语法
BTI 和 ITB [Op1:= 操作符 (Op2)]

操作数:

类型 操作数 1 (Op1) 操作数 2 (Op2)


字 %MWi、 %QWi、 %MWi、 %KWi、
%QWAi、 %QWCi %IW、 %IWAi、
和 %SWi %IWCi、 %QW、
%QWAi、 %QWCi、
%SWi 和 %BLK.x
双字 %MDi %MDi 和 %KDi

应用示例:
BTI 指令用于通过 BCD 编码指轮来处理控制器输入处的设定点值。
ITB 指令用于显示有关 BCD 编码显示的数字值 (例如,计算结果和功能块的当前
值)。

35013230 06/2011 487


基本指令

单 / 双字转换指令

简介
下表介绍了用于在单字和双字之间执行转换的指令:

指令 功能
LW 提取到字的双字 LSB。
HW 提取到字的双字 MSB。
CONCATW 将两个字连接为一个双字。
DWORD 将 16 位字转换为 32 位双字。

结构
转换操作的执行如下所示:

语法
语法取决于使用的操作符,如下表所示:l

操作符 语法 操作数 1 操作数 2 (Op2) 操作数 3 (Op3)


(Op1)
LW 和 HW Op1 = 操作符 (Op2) %MWi %MDi 和 %KDi [-]
CONCATW Op1 = 操作符 (Op2, Op3) %MDi %MWi、 %KWi 和 %MWi、 %KWi
立即值 和立即值
DWORD Op1 = 操作符 (Op2) %MDi %MWi 和 %KWi [-]

488 35013230 06/2011


基本指令

17.4 程序指令

本节的目标
本节提供了程序指令的简介。

本节包含了哪些内容?
本节包含了以下主题:
主题 页
END 指令 490
NOP 指令 492
跳转指令 493
子程序指令 494

35013230 06/2011 489


基本指令

END 指令

简介
结束指令定义程序扫描执行的结束。

END、 ENDC 和 ENDCN


有三种不同的结束指令可用:
z END:无条件程序结束
z ENDC:如果上一个测试指令的布尔结果为 1,则程序结束
z ENDCN:如果上一个测试指令的布尔结果为 0,则程序结束

默认情况下 (正常模式),当已激活程序结束时,将更新输出并启动下次扫描。
如果为周期扫描,当周期结束时,将更新输出并启动下次扫描。

示例
无条件 END 指令的示例。

490 35013230 06/2011


基本指令

有条件 END 指令的示例。

35013230 06/2011 491


基本指令

NOP 指令

NOP
NOP 指令不执行任何操作。使用该指令在程序中 " 保留 " 行,以便以后可以插入指
令,而无需修改行编号。

492 35013230 06/2011


基本指令

跳转指令

简介
跳转指令引起程序执行立即中断,然后从包含标签 %Li (对于无扩展 I/O 的模块
TWDLCxx10DRF/TWDLCxx16DRF 而言为 i = 0 到 15,对于其他类型为 i = 0 到 63)
的程序行后面的行继续执行。

JMP、 JMPC 和 JMPCN


有三种不同的跳转指令可用:
z JMP:无条件程序跳转
z JMPC:如果上一个逻辑的布尔结果为 1,则程序跳转
z JMPCN:如果上一个逻辑的布尔结果为 0,则程序跳转

示例
跳转指令的示例。

指南
z 不允许在圆括号中使用跳转指令,并且跳转指令不能放置于指令 AND(、 OR( 和
结束圆括号指令 “)” 之间。
z 该标签仅能放置于 LD、 LDN、 LDR、 LDF 或 BLK 指令之前。
z 标签 %Li 的标签编号在程序中仅能定义一次。
z 程序跳转执行到下行流或上行流的编程行。当跳转处于上行流时,必须注意程序
扫描时间。延长扫描时间可以引起警戒时钟触发。

35013230 06/2011 493


基本指令

子程序指令

简介
子程序指令使得程序执行子程序,然后返回到主程序。

SRn、 SRn: 和 RET。


子程序包括三个步骤:
z 如果上一个布尔指令结果为 1, SRn 指令将调用标签 SRn 引用的子程序。
z 子程序被标签 SRn: 引用,对于 TWDLCAA10DRF 和 TWDLCAA16DRF,n = 0
到 15 ;对于其他所有控制器, 0 到 63。
z 放置于子程序结束处的 RET 指令使程序流程返回到主程序。

示例
子程序指令的示例。

494 35013230 06/2011


基本指令

指南
z 子程序不应调用其他子程序。
z 不允许在圆括号中使用子程序指令,并且子程序指令不能放置于指令 AND(、
OR( 和 结束圆括号指令 ")" 之间。
z 该标签仅能放置于标记布尔等式 (或梯级)开始的 LD 或 BLK 指令之前。
z 调用子程序之后不应执行分配指令。因为子程序可能会更改布尔累加器的内容。
因此返回时,其值可能会与调用前不同。请参阅以下示例。
子程序编程的示例。

35013230 06/2011 495


基本指令

496 35013230 06/2011


TwidoSuite V2.3
高级指令
35013230 05/2009

高级指令

18
本章主题
本章详细介绍了用于为 Twido 可编程控制器创建高级控制程序的指令和功能块。

本章包含了哪些内容?
本章包含了以下部分:
节 主题 页
18.1 高级功能块 498
18.2 时钟功能 540
18.3 Twido PID 快速入门指南 551
18.4 PID 功能 572
18.5 浮点数指令 626
18.6 ASCII 指令 637
18.7 对象表的指令 648

35013230 06/2011 497


高级指令

18.1 高级功能块

本节主旨
本节介绍了包含编程实例的高级功能块。

本节包含了哪些内容?
本节包含了以下主题:
主题 页
与高级功能块关联的位对象和字对象 499
高级功能块的编程规则 501
LIFO/FIFO 寄存器功能块 (%Ri) 503
LIFO 操作 504
FIFO 操作 505
编程和配置寄存器 506
脉宽调制功能块 (%PWM) 509
脉冲发生器输出功能块 (%PLS) 512
鼓控制器功能块 (%DR) 515
鼓控制器功能块 %DRi 操作 517
编程和配置鼓控制器 519
高速计数器功能块 (%FC) 521
超高速计数器功能块 (%VFC) 524
传输 / 接收消息 - 交换指令 (EXCH) 535
交换控制功能块 (%MSGx) 536

498 35013230 06/2011


高级指令

与高级功能块关联的位对象和字对象

简介
高级功能块使用的专用字和专用位的类型与标准功能块所使用的类似。高级功能块
包括:
z LIFO/FIFO 寄存器 (%R)
z 鼓控制器 (%DR)
z 高速计数器 (%FC)
z 超高速计数器 (%VFC)
z 脉冲宽度调制输出 (%PWM)
z 脉冲发生器输出 (%PLS)
z 移位寄存器 (%SBR)
z 步进计数器 (%SC)
z 报文控制块 (%MSG)

程序可访问的对象
下表概述了与各种高级功能块关联的程序可访问的字和位。请注意,下表中的写访
问取决于配置过程中所选的 " 可调整 " 设置。按此设置可以允许或拒绝 TwidoSuite
或操作界面访问字或位。

高级功能块 关联的字和位 地址 写访问


%R 字 寄存器输入 %Ri.I 是
字 寄存器输出 %Ri.O 是
位 寄存器满输出 %Ri.F 否
位 寄存器空输出 %Ri.E 否
%DR 字 当前步数 %DRi.S 是
位 上一步等于当前步 %DRi.F 否
%FC 字 当前值 %FCi.V 是
字 预设值 %FCi.P 是
位 完成 %FCi.D 否

35013230 06/2011 499


高级指令

高级功能块 关联的字和位 地址 写访问


%VFC 字 当前值 %VFCi.V 否
字 预设值 %VFCi.P 是
位 计数方向 %VFCi.U 否
字 捕捉值 %VFCi.C 否
字 阀值 0 %VFCi.S0 是
字 阀值 1 %VFCi.S1 是
位 溢出 %VFCi.F 否
位 启用映象输出 0 %VFCi.R 是
位 启用映象输出 1 %VFCi.S 是
位 阀值输出 0 %VFCi.TH0 否
位 阀值输出 1 %VFCi.TH1 否
位 频率测量时基 %VFCi.T 是
%PWM 字 状态为 1 的脉冲在总周期内所占 %PWMi.R 是
百分比。
字 预设周期 %PWMi.P 是
%PLS 字 脉冲数 %PLSi.N 是
字 预设值 %PLSi.P 是
位 启用当前输出 %PLSi.Q 否
位 完成生成 %PLSi.D 否
%SBR 位 寄存器位 %SBRi.J 否
%SC 位 步进计数器位 %SCi.j 是
%MSG 位 完成 %MSGi.D 否
位 错误 %MSGi.E 否

500 35013230 06/2011


高级指令

高级功能块的编程规则

概览
所有 Twido 应用程序都以指令列表程序的形式存储 (即使程序在梯形图编辑器中编
写),因此, Twido 控制器可以称为指令列表 " 机 "。 " 可转换性 " 一词表示
TwidoSuite 将指令列表应用程序表示为梯形图再将其转换回指令列表的功能。默认
情况下,所有梯形图程序都可转换。
与基本功能块一样,高级功能块也必须遵循可转换性规则。指令列表中可转换功能
块的结构需要使用以下指令:
z BLK:标示功能块的块开始和输入部分
z OUT_BLK:标示功能块的输出部分的开始
z END_BLK:标示功能块的结束

注意:对于正常运行的指令列表程序,不可强制使用这些可转换功能块指令。某些
指令可在指令列表中编写而无需转换。

专用输入和输出
高速计数器、超高速计数器、 PLS 和 PWM 高级功能使用专用输入和输出,但是所
有单个块都不能专用这些位。因此,必须对这些专用资源的使用进行管理。
当使用这些高级功能时,必须管理专用输入和输出如何分配。 TwidoSuite 通过显示
输入 / 输出配置详细信息来帮助配置这些资源,并在配置功能块使用专用输入或输
出时发出通知。
下表概述了专用输入和输出与专用功能的从属关系。
与计数功能一起使用时:

输入 使用
%I0.0.0 %VFC0:加 / 减管理或 B 相位
%I0.0.1 %VFC0:脉冲输入或 A 相位
%I0.0.2 %FC0:脉冲输入或 %VFC0 预设输入
%I0.0.3 %FC1:脉冲输入或 %VFC0 捕捉输入
%I0.0.4 %FC2:脉冲输入或 %VFC1 捕捉输入
%I0.0.5 %VFC1 预设输入
%I0.0.6 %VFC1:加 / 减管理或 B 相位
%I0.0.7 %VFC1:脉冲输入或 A 相位

35013230 06/2011 501


高级指令

与计数功能或专用功能一起使用时:

输出 使用
%Q.0.0 %PLS0 或 PWM0 输出
%Q.0.1 %PLS1 或 PWM1 输出
%Q.0.2 %VFC0 的映象输出
%Q.0.3
%Q.0.4 %VFC1 的映象输出
%Q.0.5

使用专用输入和输出
TwidoSuite 强制遵循以下规则以使用专用输入和输出。
z 必须对使用专用 I/O 的每个功能块进行配置,然后才能在应用程序中引用。专用
I/O 仅在功能块已配置但未在程序中引用时分配。
z 功能块经过配置后,应用程序或另一功能块将无法使用其专用输入和输出。
例如,如果配置了 %PLS0,则无法在 %DR0 (鼓控制器)或应用程序逻辑 (即
ST %Q0.0.0)中使用 %Q0.0.0。
z 如果某个功能块所需的专用输入或输出已被应用程序或另一功能块使用,则该功
能块无法进行配置。
例如,如果将 %FC0 配置为加计数器,则无法配置 %VFC0 以将 %I0.0.2 用作捕
捉输入。
注意: 要更改专用 I/O 的使用,应将对象类型设置为 " 未使用 " 来取消配置功能块,
然后删除应用程序中功能块的引用。

502 35013230 06/2011


高级指令

LIFO/FIFO 寄存器功能块 (%Ri)

简介
寄存器是一种内存块,可以用两种不同的方式最多存储 16 个字 (每个字为
16 位):
z 称为 FIFO 的先入先出队列。
z 称为 LIFO 的后入先出栈。

示意图
以下是寄存器功能块的示意图。

参数
计数器功能块包含以下参数:

参数 标签 值
寄存器编号 %Ri 0 到 3。
类型 FIFO 或 队列或栈。
LIFO
输入字 %Ri.I 寄存器输入字。可以读取、测试和写入。
输出字 %Ri.O 寄存器输出字。可以读取、测试和写入。
存储输入 (或指令) I (入) 在上升沿上,将字 %Ri.I 的内容存储在寄存器中。
检索输入 (或指令) O (出) 在上升沿上,将寄存器的数据字载入到字 %Ri.O 中。
重设输入 (或指令) R (重设) 状态为 1 时,将初始化寄存器。
空输出 E (空) 关联位 %Ri.E 表明寄存器为空。可进行测试。
满输出 F (满) 关联位 %Ri.F 表明寄存器已满。可进行测试。

35013230 06/2011 503


高级指令

LIFO 操作

简介
在 LIFO 操作 (后入先出)中,将首先检索输入的最后一个数据项目。

操作
下表介绍了 LIFO 操作。

步骤 描述 示例
1 收到存储请求时 (输入 I 处的
上升沿或指令 I 的激活),输入
字 %Ri.I 的内容 (已载入)将
存储在栈顶 (图 a)。栈已满
(输出 F=1)时,将无法再进行
存储。

2 收到检索请求时 (输入 O 处的
上升沿
或指令 O 的激活),最高数据
字 (最后输入的字)将载入字
%Ri.0 中 (图 b)。寄存器为空
(输出 E=1)时,将无法再进行
检索。输出字 %Ri.O 将不会更
改和暂存其值。
3 可在任意时间 (输入 R 处的状
态 1 或指令 R 的激活)重设栈。
指针所指的元素将位于栈内最
高处。

504 35013230 06/2011


高级指令

FIFO 操作

简介
在 FIFO 操作 (先入先出)中,输入的第一个数据项最先检索。

操作
下表介绍 FIFO 操作。

步骤 描述 示例
1 收到存储请求时 (输入 I 处的上升沿或指令 I 的
激活),输入字 %Ri.I 的内容 (已载入)将存储
在队列顶端 (图 a)。队列已满 (输出 F=1)
时,将无法再进行存储。

2 收到检索请求时 (输入 O 处的上升沿或指令 O


的激活),队列中最低的数据字将载入输出字
%Ri.O 中,且寄存器的内容将在队列中下移一位
(图 b)。
寄存器为空 (输出 E=1)时,将无法再进行检
索。输出字 %Ri.O 将不会更改,将暂存其值。
3 可在任意时间 (输入 R 处的状态 1 或指令 R 的
激活)重设队列。

35013230 06/2011 505


高级指令

编程和配置寄存器

简介
下面的编程示例显示了在寄存器 %R2 未满 (%R2.F = 0) 时,收到存储请求 (%I0.2)
后载入寄存器 (%R2.I) 的存储器字 (%MW34) 内容。寄存器中的存储请求由 %M1 发
出。检索请求由输入 %I0.3 发出。如果寄存器不为空 (%R2.E = 0),%R2.O 将载入
%MW20。

506 35013230 06/2011


高级指令

编程示例
下图是带有可转换与不可转换编程示例的寄存器功能块。

35013230 06/2011 507


高级指令

配置
寄存器类型是配置过程中必须输入的唯一参数:
z FIFO (缺省),或
z LIFO

特殊情况
下表列出了通过编程设置移位寄存器功能块的特殊情况:

特殊情况 描述
冷重启 (%S0=1) 的结果 初始化寄存器的内容。与输出 E 关联的输出位
%Ri.E 将设置为 1。
控制器停止的热重启 (%S1=1) 的结果 对寄存器的当前值和其输出位的状态没有影响。

508 35013230 06/2011


高级指令

脉宽调制功能块 (%PWM)

简介
脉冲宽度调制 (%PWM) 功能块可以在专用输出通道 %Q0.0.0 或 %Q0.0.1 上生成具
有可变宽度和占空比的方波信号。由于受频率限制,用于这两个通道的带有继电器
输出的控制器不支持该功能。
存在两个可用的 %PWM 块。%PWM0 使用专用输出 %Q0.0.0,%PMW1 使用专用
输出 %Q0.0.1。 %PLS 功能块需要使用这些相同的专用输出,因此必须在这两个功
能块之间进行选择。

示意图
PWM 功能块和时序图:

参数
下表列出了 PWM 功能块的参数。

参数 标签 描述
时基 TB 0.142 毫秒、 0.57 毫秒、 10 毫秒、 1 秒 (缺省值)
周期预选 %PWMi.P 0 < %PWMi.P <= 32767,时基为 10 毫秒或 1 秒
0 < %PWMi.P <= 255,时基为 .57 毫秒或 .142 秒
0 = 未使用的功能
占空比 %PWMi.R 该值提供了周期中处于状态 1 时的信号百分比。因此宽度 Tp
等于:
Tp = T * (%PWMi.R/100)。用户应用程序将写入 %PWMi.R 的
值。正是该字控制周期的占空比。有关 T 的定义,请参见下面
的 " 周期范围 "。
缺省值为 0,大于 100 的值将作为 100 处理。

35013230 06/2011 509


高级指令

参数 标签 描述
脉冲生成输入 IN 状态为 1 时,脉冲宽度调制信号将在输出通道上生成。状态为
0 时,输出通道将设置为 0。

周期范围
配置过程中可以修改预设值和时基。预设值和时基用于确定信号周期 T=%PWMi.P *
TB。要获得较低的比率,必须选择较大的 %PWMi.P。有效周期范围:
z 0.142 毫秒至 36.5 毫秒,步长为 0.142 毫秒 (27.4 Hz 至 7 kHz)
z 0.57 毫秒至 146 毫秒,步长为 0.57 毫秒 (6./84 Hz 至 1.75 kHz)
z 10 毫秒至 5.45 分钟,步长为 10 毫秒
z 1 秒至 9.1 小时,步长为 1 秒

对于快速时基 (0.147 毫秒和 0.142 毫秒),所有值都可用。对于 10 毫秒和 1 秒的


时基,预设值决定了 0 和 100% 之间有多少 " 步 "。例如:
%PWM0.P = 2 => 可用的比为 0%、 50%、 100%
%PWM0.P = 5 => 可用的比为 0%、 20%、 40%、 60%、 80%、 100%
%PWM0.P = 10 => 比为 0-10-20-30-40-50-60-70-80-90-100 %
注意: 如果预设值为 1, PWM 功能块将不工作。

操作
配置过程中,可以通过选择时基 TB 和预设 %PWMi.P 来设置输出信号的频率。修
改程序中的 % PWMi.R 占空比可以调制信号宽度。以下是具有可变占空比的 PWM
功能块脉冲图的示意图。

510 35013230 06/2011


高级指令

编程和配置
本示例中,信号宽度由程序根据控制器输入 %I0.0.0 和 %I0.0.1 的状态进行修改。
如果 %I0.0.1 和 %I0.0.2 设置为 0,则 %PWM0.R 比率设置为 20%,状态为 1 时信
号的持续时间为:20 % x 500 毫秒 = 100 毫秒。
如果 %I0.0.0 设置为 0, %I0.0.1 设置为 1,则 %PWM0.R 比率设置为 50% (持续
时间为 250 毫秒)。
如果 %I0.0.0 和 %I0.0.1 设置为 1,则 %PWM0.R 比率设置为 80% (持续时间为
400 毫秒)。
编程示例:

特殊情况
下表显示了 PWM 功能块的特殊操作列表。

特殊情况 描述
冷重启 (%S0=1) 的结果 %PWMi.R 比率将设置为 0。另外, %PWMi.P 的值
将复位为配置值,这将取代使用 " 动态数据表编辑
器 " 或选件 " 操作显示 " 所做的所有更改。
热重启 (%S1=1) 的结果 无影响。
由输出专用于 %PWM 块这一事实带来 使用编程设备强制输出 %Q0.0.0 或 %Q0.0.1 不会阻
的结果 止信号生成。

35013230 06/2011 511


高级指令

脉冲发生器输出功能块 (%PLS)

简介
%PLS 功能块用于生成方波信号。在专用输出通道 %Q0.0.0 或 %Q0.0.1 上有两个
%PLS 功能。 %PLS 功能块只允许一个信号宽度或 50% 的占空比。执行脉冲序列
时,可以选择限制脉冲数或周期。这些设置可在配置时确定,并 / 或由用户应用程
序进行更新。
注意: 带有用于这两个通道的继电器输出的控制器不支持 %PLS 功能。

表示形式
以下是单字模式下脉冲发生器功能块的示例:

z TON=T/2 (用于 0.142 毫秒和 0.57 毫秒时基)


= (%PLSi.P*TB)/2
z TON=[ 整数部分 (%PLSi.P)/2]*TB (用于 10 毫秒至 1 秒时基)。

规格
下表列出了 PLS 功能块的特性:

功能 对象 描述
时基 TB 0.142 毫秒、 0.57 毫秒、 10 毫秒、 1 秒
预设周期 %PLSi.P 当达到 %PLS1.N 或 %PLS1.ND* 时,输出 %PLS1 上的脉冲
不会停止 (对于时基 0.142 毫秒和 0.57 毫秒)。
z 1 < %PLSi.P <= 32767,对于时基 10 毫秒或 1 秒
z 0 < %PLSi.P <= 255,对于时基 0.57 毫秒或 0.142 毫秒
z 0 表示功能未使用。

要在使用 10 毫秒和 1 秒时基时从占空比中获得高级别精确


度,建议使 %PLSi >= 100 (若 P 为奇数)。

512 35013230 06/2011


高级指令

功能 对象 描述
脉冲数 %PLSi.N 将在周期 T 中生成的脉冲数可以限制在 0 <= %PLSi.N <=
%PLSi.ND* 32767 (标准模式下)或 0 <= %PLSi.ND <= 4294967295
(双字模式下)的范围内。缺省值将设置为 0。
要生成不受限制的脉冲数,可将 %PLSi.N 或 %PLSi.ND 设置
为零。可始终忽略 " 可调整 " 设置对脉冲数进行更改。
可调整 是/否 若设置为 " 是 ",则可通过 HMI 或动态数据表编辑器来修改预
设值 %PLSi.P。设置为 " 否 " 则表示不可访问预设值。
脉冲生成输入 IN 状态为 1 时,将在专用输出通道上执行脉冲生成。状态为 0
时,输出通道将设置为 0。
复位输入 R 状态为 1 时,输出 %PLSi.Q 和 %PLSi.D 将设置为 0。周期 T
中生成的脉冲数将设置为 0。
当前脉冲输出 %PLSi.Q 状态为 1 时表明在已配置的专用输出通道上生成脉冲信号。
生成
脉冲生成完成 %PLSi.D 处于状态 1 时表示信号生成已完成。已达到所需的脉冲数。
输出

注意:(*) 表示双字变量。

周期范围
在配置过程中可以修改预设值和时基。预设值和时基用于确定信号周期 T=%PLSi.P
* TB。有效周期范围:
z 0.142 毫秒至 36.5 毫秒,步长为 0.142 毫秒 (27.4 Hz 至 7 kHz)
z 0.57 毫秒至 146 毫秒,步长为 0.57 毫秒 (6.84 Hz 至 1.75 kHz)
z 20 毫秒至 5.45 分钟,步长为 10 毫秒
z 2 秒至 9.1 小时,步长为 1 秒

操作
以下为 %PLS 功能块的示意图。

35013230 06/2011 513


高级指令

特殊情况

特殊情况 描述
冷重启 (%S0=1) 的结果 将 %PLSi.P 设置为在配置过程中定义的值
热重启 (%S1=1) 的结果 无影响
修改预设值 (%PLSi.P) 的结果 立即生效
由输出专用于 %PLS 块这一事 使用编程设备强制输出 %Q0.0.0 或 %Q0.0.1 不会阻止信号
实带来的结果 生成。

注意: 当达到所需的脉冲数时将设置 %PLSx.D。该值通过将 IN 输入或 R 输入设置


为 1 进行复位。

514 35013230 06/2011


高级指令

鼓控制器功能块 (%DR)

简介
鼓控制器的工作原理与根据外部事件更改步骤的机电鼓控制器类似。凸轮的高点在
每一步都会提供由控制器执行的命令。在使用鼓控制器的情况下,由状态 1 在每一
步用符号表示这些高点,并将其分配到称为控制位的输出位 %Qi.j、内部位 %Mi 或
AS-i 从站输出位 %QAx.y.z。

示意图
以下是鼓控制器功能块的示意图。

参数
鼓控制器功能块包含以下参数:

参数 标签 值
编号 %DRi 0 至 3 为一体型控制器, 0 至 7 为模块型控制器
当前步数 %DRi.S 0<%DRi.S<7。可以读取和写入的字。写入值必须
为十进制立即值。写入时,将影响功能块的下一步
执行。
步数 1 至 8 (缺省值)
输入以返回到步骤 0 R (复位) 状态为 1 时,鼓控制器将设置为步骤 0。
(或指令)

35013230 06/2011 515


高级指令

参数 标签 值
前进输入 (或指令) U (向上) 在上升沿上,使鼓控制器前进一步并更新控制位。
输出 F (满) 表明当前步与定义的最后一步相等。可以测试关联
位 %DRi.F (例如,如果 %DRi.S= 配置的步数 -
1,则 %DRi.F=1)。
控制位 与该步骤 (16 个控制位)关联并在配置编辑器中
定义的输出位或内部位。

516 35013230 06/2011


高级指令

鼓控制器功能块 %DRi 操作

简介
鼓控制器包括:
z 在八步 (0 到 7)内组织的常量数据 (凸轮)的矩阵以及在编号为 0 到 F 的列中
排列的 16 个数据位 (步的状态)。
z 控制位列表与配置的输出 (%Qi.j.k)、存储器字 (%Mi) 或 AS-i 从站输出
(%QAx.y.z) 关联。在当前步过程中,控制位采用为此步定义的二进制状态。
下表中的示例概述了鼓控制器的主要特性。

列 0 1 2 D O F
控制位 %Q0.1 %Q0.3 %Q1.5 %Q0.6 %Q0.5 %Q1.0
0步 0 0 1 1 1 0

1步 1 0 1 1 0 0

5步 1 1 1 0 0 0

6步 0 1 1 0 1 0

7步 1 1 1 1 0 0

操作
在上述示例中,步骤 5 是当前步,控制位 %Q0.1、 %Q0.3 和 %Q1.5 设置为状态 1
;控制位 %Q0.6、 %Q0.5 和 %Q1.0 设置为状态 0。当前步编号在输入 U 处的每个
上升沿增加或在激活指令 U 时增加。程序可以修改当前步。

35013230 06/2011 517


高级指令

时序图
下图说明了鼓控制器的操作。

特殊情况
下表包含鼓控制器操作的特殊情况列表。

特殊情况 描述
冷重启 (%S0=1) 的结果 将鼓控制器重设为步骤 0 (更新控制位)。
热重启 (%S1=1) 的结果 在当前步之后更新控制位。
程序跳转的结果 不再扫描鼓控制器表示控制位未重设。
更新控制位 仅在更改步或进行热重启或冷重启的情况下发生。

518 35013230 06/2011


高级指令

编程和配置鼓控制器

简介
以下是编程和配置鼓控制器的示例。每次将输入 %I0.1 设置为 1 会连续激活前六个
输出 (%Q0.0 到 %Q0.5)。输入 I0.0 将输出重设为 0。

编程示例
下图为鼓控制器功能块以及可转换和不可转换编程的示例。

35013230 06/2011 519


高级指令

配置
以下信息在配置过程中定义:
z 步数:6
z 每个鼓控制器步骤的输出状态 (控制位)。

1 2 3 4 5 6 7 8 9 10 11 12 13 14 15
步骤 1: 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0

步骤 2: 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0

步骤 3: 0 1 0 0 0 0 0 0 0 0 0 0 0 0 0

步骤 4: 0 0 1 0 0 0 0 0 0 0 0 0 0 0 0

步骤 5: 0 0 0 1 0 0 0 0 0 0 0 0 0 0 0

步骤 6: 0 0 0 0 1 0 0 0 0 0 0 0 0 0 0

z 控制位的分配。

1: %Q0.0 4: %Q0.1
2: %Q0.2 5: %Q0.3
3: %Q0.4 6: %Q0.5

520 35013230 06/2011


高级指令

高速计数器功能块 (%FC)

简介
高速计数器功能块 (%FC) 用作加计数器或减计数器。在单字或双字计算模式下 , 它
可以计算最高频率为 5 kHz(1) 的离散量输入的上升沿。由于高速计数器受特定硬件
中断的管理,维持最大频率采样率可能会根据特定的应用程序和硬件配置而变化。
注意:(1) 对于 Twido Extreme PLC (TWDLEDCK1),高速计数器可对上升沿进行计
数,最高频率为 10 kHz。
TWDLC••40DRF 一体型控制器最多可以容纳四个高速计数器,而所有其他系列的
一体型控制器可以被配置为最多使用三个高速计数器。模块型控制器最多只能使用
两个高速计数器。高速计数器功能块 %FC0、 %FC1、 %FC2 和 %FC3 分别使用专
用输入 %I0.0.2、 %I0.0.3、 %I0.0.4 和 %I0.0.5。这些位并非供高速计数器专用。
其分配必须考虑到这些专用资源的其他功能块的使用。

示意图
以下是单字模式下的高速计数器功能块的示例。

参数
下表列出了高速计数器功能块的参数。

参数 标签 描述
功能 TYPE 在配置时设置,可以设置为加计数或减计数。
预设值 初始值可能设置为:
%FCi.P -> 介于 1 和 65535 之间 (标准模式)
%FCi.PD -> 介于 1 和 4294967295 之间 (双字模式)
可调整 Y/N 如果设置为 Y,则可以使用操作显示或动态数据表编辑器修改预
设值 %FCi.P 或 %FCi.PD 和当前值 %FCi.V 或 %FCi.VD。如果
设置为 N,则无法访问预设值。

35013230 06/2011 521


高级指令

参数 标签 描述
当前值 %FCi.V 当前值根据所选的加或减计数功能增加或减少。对于加计数功
%FCi.VD 能,当前计数值更新,并且可以达到 65535 (在标准模式
(%FCi.V) 下)和 4294967295 (在双字模式 (%FCi.VD) 下)。
对于减计数功能,当前值为预设值 %FCi.P 或 %FCi.PD,并且
可以减到零。
输入以启用 IN 在状态 1,根据应用到物理输入的脉冲更新当前值。在状态 0,
当前值将保持为其上次的值。
复位 %FCi.R 用于初始化功能块。在状态 1,如果配置为加计数器,则当前值
复位为 0,如果配置为减计数器,则当前值设置为 %FCi.P 或
%FCi.PD。 “ 完成 ” 位 %FCi.D 将被设置回其缺省值。
完成 %FCi.D 当 %FCi.V 或 %FCi.VD 达到加计数器所配置的 %FCi.P 或
%FCi.PD 时,或当 %FCi.V 或 %FCi.VD 达到减计数器所配置的
零时,此位设置为 1。
此只读位只能通过将 %FCi.R 设为 1 进行复位。

特别说明
如果配置为可调整,则应用程序可以随时更改预设值 %FCi.P 或 %FCi.PD 和当前值
%FCi.V 或 %FCi.VD。但是,仅在输入复位处于活动状态或位于输出 %FCi.D 的上
升沿时,才会考虑新值。此操作允许连续不同的计数而不会丢失单个脉冲。

操作
如果配置为加计数,当上升沿出现在专用输入上时,当前值将增加一。达到预设值
%FCi.P 或 %FCi.PD 时, “ 完成 ” 输出位 %FCi.D 将设置为 1。
如果配置为减计数,当上升沿出现在专用输入上时,当前值将减一。值为零时, “
完成 ” 输出位 %FCi.D 将设置为 1。

522 35013230 06/2011


高级指令

配置和编程
在本示例中, %I1.1 设置为 1 时,应用程序计数项目数最多为 5000。 %FC0 的输
入是专用输入 %I0.0.2。达到预设值时, %FC0.D 将设置为 1 并将一直保留这同一
个值,直到 %FC0.R 受到 %I1.2 和 %M0 上的 “AND” 结果的命令。

特殊情况
下表包含 %FC 功能块的特殊操作情况列表:

特殊情况 描述
冷重启 (%S0=1) 的结果 以用户或用户应用程序配置的值复位所有的 %FC 属性。
热重启 (%S1=1) 的结果 无影响。
控制器停止的结果 %FC 使用在控制器停止时处于启用状态的参数设置继续计数。

35013230 06/2011 523


高级指令

超高速计数器功能块 (%VFC)

简介
超高速计数器功能块 (%VFC) 可以由 TwidoSuite 配置以执行以下任何一项功能:
z 加 / 减计数器
z 加 / 减双相计数器
z 单加计数器
z 单减计数器
z 频率计

在单字或双字计算模式下, %VFC 支持离散量输入最大为频率 20kHz 的计数。


TWDLC••40DRF 一体型控制器最多可以容纳两个超高速计数器,而其他所有系列
的一体型控制器可以配置一个超高速计数器 (%VFC)。模块型控制器最多可以配置
两个超高速计数器 (%VFC)。

专用 I/O 分配
超高速计数器功能块 (%VFC) 使用专用输入以及辅助输入和输出。这些输入和输出
并非供超高速计数器专用。其分配必须考虑到这些专用资源的其他功能块的使用。
下表概述了分配情况:

主输入 辅助输入 反射输出


%VFC0 所选的使用方式 IA 输入 IB 输入 IPres Ica 输出 0 输出 1
加 / 减计数器 %I0.0.1 %I0.0.0 %I0.0.2 (1) %I0.0.3 (1) %Q0.0.2 (1) %Q0.0.3 (1)
(UP=0/DO=1)
加 / 减双相计数器 %I0.0.1 %I0.0.0 %I0.0.2 (1) %I0.0.3 (1) %Q0.0.2 (1) %Q0.0.3 (1)
(脉冲)
单加计数器 %I0.0.1 (2) %I0.0.2 (1) %I0.0.3 (1) %Q0.0.2 (1) %Q0.0.3 (1)
单减计数器 %I0.0.1 (2) %I0.0.2 (1) %I0.0.3 (1) %Q0.0.2 (1) %Q0.0.3 (1)
频率计 %I0.0.1 (2) (2) (2) (2) (2)

524 35013230 06/2011


高级指令

主输入 辅助输入 反射输出


%VFC1 所选的使用方式 IA 输入 输入 IB IPres Ica 输出 0 输出 1
加 / 减计数器 %I0.0.7 %I0.0.6 %I0.0.5 (1) %I0.0.4 (1) %Q0.0.4 (1) %Q0.0.5 (1)
(UP = 0/DO = 1)
加 / 减双相计数器 %I0.0.7 %I0.0.6 %I0.0.5 (1) %I0.0.4 (1) %Q0.0.4 (1) %Q0.0.5 (1)
(脉冲)
单加计数器 %I0.0.7 (2) %I0.0.5 (1) %I0.0.4 (1) %Q0.0.4 (1) %Q0.0.5 (1)
单减计数器 %I0.0.7 (2) %I0.0.5 (1) %I0.0.4 (1) %Q0.0.4 (1) %Q0.0.5 (1)
频率计 %I0.0.7 (2) (2) (2) (2) (2)
注释:

示意图
下图是单字模式下超高速计数器 (%VFC) 的功能块表示:

35013230 06/2011 525


高级指令

规格
下表列出了超高速计数器 (%VFC) 功能块的特性。

功能 描述 值 %VFC 使用 运行时访问
当前值 根据所选的物理输入和功能而增加或减少当前值。 %VFCi.V: 0 -> CM 读取
(%VFCi.V) 可以使用预设输入 (%VFCi.S) 预设或复位此值。 65535
(%VFCi.VD*) %VFCi.VD: 0 ->
4294967295
预设值 仅供加 / 减计数功能以及单加或单减计数使用。 %VFCi.P: 0 -> CM 或 FM 读和写 (1)
(%VFCi.P) 65535
(%VFCi.PD*) %VFCi.PD: 0 ->
4294967295
捕捉值 仅供加 / 减计数功能以及单加或单减计数使用。 %VFCi.C: 0 -> CM 读取
(%VFCi.C) 65535
(%VFCi.CD*) %VFCi.CD: 0 ->
4294967295
计数方向 由系统设置,加 / 减计数功能使用该位以指示计数 0 (减计数) CM 读取
(%VFCi.U) 方向: 1 (加计数)
作为单相加或减计数器, %I0.0.0 决定 %VFC0 的
方向,而 %I0.0.6 决定 %VFC1 的方向。
对于双相加 / 减计数器,是两个信号之间的相位差
异决定方向。
对于 %VFC0, %I0.0 专用于 IB, %I0.1 专用于
IA。对于 %VFC1, %I0.6 专用于 IB, %I0.7 专用
于 IA。
启用反射输出 0 确认反射输出 0 0 (禁用) CM 读和写 (2)
(%VFCi.R) 1 (启用)
启用反射输出 1 确认反射输出 1 0 (禁用) CM 读和写 (2)
(%VFCi.S) 1 (启用)
阈值 S0 该字包含阈值 0。含义在配置功能块期间定义。 %VFCi.S0: 0 -> CM 读和写 (1)
(%VFCi.S0) 注:该值必须小于 %VFCi.S1。 65535
(%VFCi.S0D*) %VFCi.S0D:0 ->
4294967295
阈值 S1 该字包含阈值 0。含义在配置功能块期间定义。 %VFCi.S1: 0 -> CM 读和写 (1)
(%VFCi.S1) 注:此值必须大于 %VFCi.S0。 65535
(%VFCi.S1D*) %VFCi.S1D:0 ->
4294967295
频率测量值时 100 或 1000 毫秒时基的配置项目。 1000 或 100 FM 读和写 (1)

(%VFCi.T)
可调整 可配置项目,选定该项目时,用户可在运行时修改 N (否) CM 或 FM 否
(Y/N) 预设值、阈值和频率测量值时基值。 Y (是)

526 35013230 06/2011


高级指令

功能 描述 值 %VFC 使用 运行时访问
输入以启用 用于确认或禁止当前功能。 0 (否) CM 或 FM 读和写 (3)
(IN)
预设输入 根据配置,在状态 1 时: 0或1 CM 或 FM 读和写
(S) z 如果减功能正在进行中,则为加 / 减计数,加 / 减
双相或单一减计数:使用预设值初始化当前值。
z 如果加功能正在进行中,则为加 / 减计数,或单
一加计数:将当前值复位为零。
另外,该功能还会初始化阈值输出的操作,并考虑
对由操作显示或用户程序设置的阈值所做的任何用
户修改。
溢出输出 在标准模式中从 0 到 65535 或从 65535 到 0 0或1 CM 读取
(F) 在双字模式中从 0 到 4294967295 或从
4294967295 到 0
阈值 当前值大于等于阈值 %VFCi.S0 时设为 1。建议在 0或1 CM 读取
位0 程序中仅测试一次此位,因为此位是实时更新的。
(%VFCi.TH0) 用户应用程序负责验证该值在使用时的有效性。
阈值 当前值大于等于阈值 %VFCi.S1 时设为 1。建议在 0或1 CM 读取
位1 程序中仅测试一次此位,因为此位是实时更新的。
(%VFCi.TH1) 用户应用程序负责验证该值在使用时的有效性。

(*) 表示 32 位双字变量。双字选项在除了 Twido TWDLC•A10DRF 控制器以外的所


有控制器上均可用。
(1) 仅当 Adjust (调整)设为一时可写。
(2) 只有在配置后才能访问。
(3) 读和写访问只能通过应用程序进行,而不能通过操作显示或动态数据表编辑器进
行。
CM = 计数模式
FM = 频率计模式

计数功能描述
超高速计数功能 (%VFC) 的最大工作频率是 20 kHz,计数范围为 0 到 65535(标准
模式下)和 0 到 4294967295。要计数的脉冲按以下方式应用:

功能 描述 %VFC0 %VFC1
IA IB IA IB
加 / 减计数器 将脉冲应用到物理输入,由物理输入 IB 的状态给出 %I0.0.1 %I0.0.0 %I0.0.7 %I0.0.6
当前操作 (加计数 / 减计数)。
加 / 减双相计数器 将编码器的两个相位应用到物理输入 IA 和 IB。 %I0.0.1 %I0.0.0 %I0.0.7 %I0.0.6

35013230 06/2011 527


高级指令

功能 描述 %VFC0 %VFC1
IA IB IA IB
单加计数器 将脉冲应用到物理输入 IA。 IB 未使用。 %I0.0.1 ND %I0.0.7 ND

单减计数器 将脉冲应用到物理输入 IA。 IB 未使用。 %I0.0.1 ND %I0.0.7 ND

有关功能块的注意事项
加计数或减计数操作在脉冲的上升沿进行,并且只有在启用了计数块的情况下才能
进行。
计数模式中使用两种可选输入:ICa 和 IPres。 ICa 用于捕捉当前值 (%VFCi.V 或
%VFCi.VD)并将其存储在 %VFCi.C 或 %VFCi.CD 中。如果可用,则将 Ica 输入指
定为 %I0.0.3 (对于 %VFC0)和 %I0.0.4 (对于 %VFC1)。
IPres 输入处于活动状态时,以下列方式影响当前值:
z 对于加计数,将 %VFCi.V 或 %VFCi.VD 复位为 0。
z 对于减计数,分别将 %VFCi.P 或 %VFCi.PD 的内容写入 %VFCi.V 或
%VFCi.VD。
z 对于频率计数,将 %VFCi.V 或 %VFCi.PD 设置为 0
重要说明:将 %VFCi.F 也设置为 0。如果可用,则将 IPres 输入指定为 %I0.0.2
(对于 %VFC0)和 %I0.0.5 (对于 %VFC1)。

有关功能块输出的注意事项
对于所有功能,均是将当前值与两个阈值 (%VFCi.S0 或 %VFCi.S0D 以及 %
VFCi.S1 或 %VFCi.S1D)相比较。根据该比较结果,如果当前值大于或等于相应阈
值,则将两个位对象 (%VFCi.TH0 和 %VFCi.TH1)设置为 1,否则将其复位为 0。
根据这些比较,将反射输出 (如果已配置)设置为 1。注:可以配置无输出、 1 个
输出或 2 个输出。
%VFC.U 是 FB 的输出,它给出关联计数器变化的方向 (1 为加计数, 0 为减计
数)。

528 35013230 06/2011


高级指令

计数功能图
以下是标准模式下的计数功能图 (在双字模式下,您将相应地使用双字功能变
量):

注意:输出的管理独立于控制器循环时间。响应时间在 0 到 1 毫秒之间。

35013230 06/2011 529


高级指令

单加计数操作
以下是在单加计数模式下使用 %VFC 的示例。已为该示例设置以下配置元素:
%VFC0.P 预设值为 17, %VFC0.S0 下限阈值为 14, %VFC0.S1 上限阈值为 20。

反射输出 值 < %VFC.S0 %VFC0.S0 <= 值 < %VFC0.S1 值 >= %VFC0.S1


%Q.0.2 X
%Q.0.3 X X

时序图如下:

530 35013230 06/2011


高级指令

单减计数操作
以下是在减计数模式下使用 %VFC 的示例。已为该示例设置以下配置元素:
%VFC0.P 预设值为 17, %VFC0.S0 下限阈值为 14, %VFC0.S1 上限阈值为 20。

反射输出 值 < %VFC.S0 %VFC0.S0 <= 值 < %VFC0.S1 值 >= %VFC0.S1


%Q.0.2 X X
%Q.0.3 X

示例:

35013230 06/2011 531


高级指令

加减计数操作
以下是在加减计数模式下使用 %VFC 的示例。已为该示例设置以下配置元素:
%VFC0.P 预设值为 17, %VFC0.S0 下限阈值为 14, %VFC0.S1 上限阈值为 20。

反射输出 值 < %VFC.S0 %VFC0.S0 <= 值 < %VFC0.S1 值 >= %VFC0.S1


%Q.0.2 X
%Q.0.3 X X

示例:

532 35013230 06/2011


高级指令

频率计功能描述
%VFC 的频率计功能用于测量输入 IA 上的周期信号的频率,单位为 Hz。可测频率
范围是 10 到 20kHz。用户可以在 2 个时基之间进行选择,选择由新对象 %VFC.T
(时基)做出。值为 100 = 时基为 100 毫秒,值为 1000 = 时基为 1 秒。

时基 测量范围 准确度 更新
100 毫秒 100 Hz 到 20 kHz 20 kHz 的准确度为 .05 %, 每秒 10 次
100 Hz 的准确度为 10%
1秒 10 Hz 到 20 kHz 20 kHz 的准确度为 .005 %, 每秒一次
10 Hz 的准确度为 10%

频率计功能图
以下是频率计功能图:

35013230 06/2011 533


高级指令

频率计操作
以下是在频率计模式下使用 %VFC 的时序图示例。

特殊情况
下表显示了 %VFC 功能块的特殊操作列表。

特殊情况 描述
冷重启 (%S0=1) 的结果 以用户或用户应用程序配置的值复位所有的 %VFC 属
性。
热重启 (%S1=1) 的结果 无影响
控制器停止的结果 %VFC 停止其功能,且输出保持在其当前状态。

534 35013230 06/2011


高级指令

传输 / 接收消息 - 交换指令 (EXCH)

简介
可以将 Twido 控制器配置为与 Modbus 从站设备进行通讯,或者可以在字符模式
(ASCII) 下发送和 / 或接收消息。
TwidoSuite 提供了以下功能来进行这些通讯:
z EXCH 指令,用于传输 / 接收消息
z 交换控制功能块 (%MSG),用于控制数据交换

Twido 控制器在处理 EXCH 指令时使用为指定端口配置的协议。可以给各通讯端口


分配不同的协议。通过将端口号添加到 EXCH 或 %MSG 功能 (EXCH1、
EXCH2、 %MSG1 和 %MSG2),可以访问通讯端口。
另外, TWDLC•E40DRF 系列控制器通过使用 EXCH3 指令和 %MSG3 功能经由以
太网网络执行 Modbus TCP 消息传递。

EXCH 指令
EXCH 指令使 Twido 控制器可以将信息发送到 ASCII 设备和/或接收来自 ASCII 设备
的信息。用户定义字表 (%MWi:L),该表包含要发送和 / 或接收的数据 (最多可传
输和 / 或接收 250 个数据字节)。字表的格式在关于每个协议的段落中介绍。消息
交换是使用 EXCH 指令执行的。

语法
下面是 EXCH 指令的格式:
[EXCHx %MWi:L]
其中:x = 串行口号 (1 或 2); x = 以太网端口 (3) ; L = 字表的总字数 (最大
125)。 Modbus 帧长度必须小于等于 255 字节。
Twido 控制器必须完成来自第一个 EXCHx 指令的交换,才能开始第二个交换指令。
发送多个消息时必须使用 %MSG 功能块。
注意:要了解有关 Modbus TCP 消息传递指令 EXCH3 的更多信息,请参见 。

35013230 06/2011 535


高级指令

交换控制功能块 (%MSGx)

简介
注意:%MSGx 中的 "x" 表示控制器端口:"x = 1 或 2"
z x = 1 或 2,分别表示控制器的串行口 1 或 2
z x = 3,表示控制器的以太网网络端口 (仅在 TWDLC•E40DRF 控制器上)关于
%MSG3 功能的更多信息,请参阅 。
%MSGx 功能块管理数据交换并且具有三个功能:
z 通讯错误检查:
错误检查验证使用 EXCH 指令编写的功能块长度 (字表)是否足以包含要发送
的消息长度 (与字表的第一个字的最低有效字节中编写的长度相比较)。
错误 1:命令无效、表错误配置、接收到错误字符 (速度和校验等)或接收数据
表已满 (未更新)。
z 多个消息的协调:
要确保发送多个消息时协调, %MSGx 功能块提供了确定上一个消息何时完成所
需的信息。
z 优先消息的传输:
%MSGx 功能块为了使紧急消息立即发送,允许停止当前消息传输。
%MSGx 功能块的编程功能可选。

示意图
下面是 %MSGx 功能块的示例。

536 35013230 06/2011


高级指令

参数
下表列出了 %MSGx 功能块的参数。

参数 标签 值
复位输入 (或指令) R 在状态 1,重新初始化通讯:%MSGx.E = 0 且
%MSGx.D = 1。
通讯已完成输出 %MSGx.D 状态 1,通讯已完成,如果:
z 传输结束 (如果传输)
z 接收结束 (收到结束字符)
z 错误
z 复位块

状态 0,请求正在执行。
" 检测到的错误 " 输出 %MSGx.E 状态 1,通讯已完成,如果:
z 命令错误
z 表配置不正确
z 收到不正确的字符 (速度和校验等)
z 接收表满 (未更新)

状态 0,消息长度正确,连接正确。

如果使用 EXCH 指令时发生错误,位 %MSGx.D 和 %MSGx.E 将设置为 1,且系统


字 %SW63 包含端口 1 的错误代码, %SW64 包含端口 2 的错误代码。请参阅系统
字 (%SW), 第 675 页。

复位输入 (R)
复位输入设置为 1 时:
z 正在传输的所有消息均停止
z " 检测到的错误 " 输出复位到 0。
z 完成位设置为 1
现在可以发送新消息。

" 检测到的错误 " 输出 (%MSGx.E)


出现通讯编程错误或消息传输错误时, " 检测到的错误 " 输出设置为 1。如果与
EXCH 指令 (字 1,最低有效字节)关联的数据块中定义的字节数大于 128 (FA
以十六进制形式 +80),则 " 检测到的错误 " 输出设置为 1。
如果在将 Modbus 消息发送到 Modbus 设备的过程中存在问题,则 " 检测到的错误 "
输出设置为 1。在这种情况下,用户应检查接线,并检查目标设备是否支持 Modbus
通讯。

35013230 06/2011 537


高级指令

通讯完成输出 (%MSGx.D)
完成输出设置为 1 时, Twido 控制器可以发送另一消息。发送多个消息时建议使用
%MSGx.D 位。如果不使用该位,消息可能会丢失。

多个连续消息的传输
执行 EXCH 指令会激活应用程序中的消息块。如果消息块尚未处于活动状态
(%MSGx.D = 1),则传输消息。如果在同一周期中发送多个消息,则只传输第一个
消息。用户负责使用程序管理多个消息的传输。
在端口 2 上连续传输两个消息的示例:

重新初始化交换
通过激活输入 (或指令) R 取消交换。该输入初始化通讯,并将输出 %MSGx.E 复
位为 0,将输出 %MSGx.D 复位为 1。如果检测到错误,则可能重新初始化交换。
重新初始化交换的示例:

538 35013230 06/2011


高级指令

特殊情况
下表列出了 %MSGx 功能块的特殊操作情况。

特殊情况 描述
冷重启 (%S0=1) 的结果 强制执行通讯的重新初始化。
热重启 (%S1=1) 的结果 无影响。
控制器停止的结果 如果正在执行消息传输,则控制器停止其传送并重
新初始化输出 %MSGx.D 和 %MSGx.E。

35013230 06/2011 539


高级指令

18.2 时钟功能

本节主旨
本节介绍了 Twido 控制器的时间管理功能。

本节包含了哪些内容?
本节包含了以下主题:
主题 页
时钟功能 541
调度模块 542
时间 / 日期标记 545
设置日期和时间 547

540 35013230 06/2011


高级指令

时钟功能

简介
Twido 控制器具有实时时钟功能,它需要实时时钟选件 (Real-Time Clock, RTC) 并
提供以下功能:
z 调度模块用于在预定义的时间或计算的时间控制动作
z 时间 / 日期戳用于向事件分配时间和日期并测量事件持续时间

通过从 TwidoSuite 的程序 →配置 →配置数据任务中选择调度模块,可以访问 Twido


实时时钟。另外,可以通过程序设置实时时钟。如果在控制器关闭前电池已至少连
续充电六个小时,则时钟设置会在控制器关闭后继续运行长达 30 天。
实时时钟采用 24 小时格式,并将闰年考虑在内。

实时时钟修正值
实时时钟修正值对于实时时钟的正确运行是必不可少的。每个实时时钟单元都有写
在该单元上的自己的修正值。在 TwidoSuite 中,通过使用 TwidoSuite 监控实用程
序 (可以通过 TwidoSuite Application Launcher 访问)中的配置实时时钟选项,
可以配置此值。

35013230 06/2011 541


高级指令

调度模块

简介
调度模块用于在预定义的月份、年份和时间控制动作。最多可使用 16 个调度模块,
并且无需任何程序条目。
注意: 检查系统位 %S51 和系统字 %SW118 以确认实时时钟 (Real-Time Clock,
RTC) 选件已安装。请参阅系统位 (%S), 第 668 页。使用调度模块需要 RTC 选件。

参数
下表列出了调度模块的参数:

参数 格式 功能 / 范围
调度模块编号 n n = 0 到 15
已配置 复选框 选择此框以配置所选的调度模块编号。
输出位 %Qx.y.z 输出分配由调度模块激活:%Mi 或 %Qj.k。
当前日期和时间介于活动周期的起始设置和结束设置之
间时,该输出被设置为 1。
起始月份 一月到十二月 启动调度模块的月份。
结束月份 一月到十二月 结束调度模块的月份。
起始日期 1 - 31 此月份中启动调度模块的日期。
结束日期 1 - 31 此月份中结束调度模块的日期。
起始时间 hh:mm 启动调度模块的时间,小时 (0 到 23)和分钟 (0 到
59)。
停止时间 hh:mm 结束调度模块的时间,小时 (0 到 23)和分钟 (0 到
59)。
星期 星期一 - 星期 标识一周中激活调度模块的日期的复选框。

542 35013230 06/2011


高级指令

启用调度模块
系统字 %SW114 的位将启用 (位设置为 1)或禁用 (位设置为 0) 16 个调度模块
中每一个的操作。
%SW114 中调度模块的分配:

默认情况下 (或冷重启之后),此系统字的所有位将设置为 1。可以选择通过程序


使用这些位。

调度模块的输出
如果相同的输出 (%Mi 或 %Qj.k)由多个块分配,最终分配到此对象的是每个块的
结果的 OR (对于相同输出可能有多个 " 操作范围 ")。

示例
下表显示了夏季月份喷洒程序示例的参数:

参数 值 描述
调度模块 6 调度模块编号 6
输出位 %Q0.2 激活输出 %Q0.2
起始月份 六月 在六月份开始活动
结束月份 九月 在九月份结束活动
起始日期 21 在六月份的第 21 天开始活动
结束日期 21 在九月份的第 21 天停止活动
星期 星期一、星期三和星期 在星期一、星期三和星期五运行活动

起始时间 21:00 在 21:00 开始活动
停止时间 22:00 在 22:00 停止活动

使用以下程序,通过连接到输入 %I0.1 的开关或湿度检测器可以禁用调度模块。

35013230 06/2011 543


高级指令

以下时序图显示了如何激活输出 %Q0.2。

由程序测定的时间
日期和时间在系统字 %SW50 到 %SW53 中均可用 (请参阅系统字 (%SW),
第 675 页)。因此,可以通过在当前日期和时间与立即值或字 %MWi (或 %KWi)
(可以包含设定点)之间进行算术比较,以在控制器程序中执行时间和日期戳。

544 35013230 06/2011


高级指令

时间 / 日期标记

简介
系统字 %SW49 到 %SW53 包含了 BCD 格式的当前日期和时间 (请参见 BCD 码概
述 , 第 486 页),对于在外设上显示或向外设传输非常有用。这些系统字可以用于
存储事件的时间和日期 (请参见系统字 (%SW), 第 675 页)。
注意:通过使用可选的操作显示也可以设置日期和时间 (请参见实时时钟 ,
第 375 页)。

记录事件日期
使用赋值操作,将系统字的内容传送到内部字,然后处理这些内部字 (例如,通过
EXCH 指令传输到显示单元)足以记录事件日期。

编程示例
下面的示例显示了如何记录输入 %I0.1 的上升沿的日期。

检测到事件后,字表将包括以下内容:

编码 最高有效字节 最低有效字节
%MW11 星期 1
%MW12 00 秒
%MW13 时 分
%MW14 月 日
%MW15 世纪 年

注意:(1) 1 = 星期一, 2 = 星期二, 3 = 星期三, 4 = 星期四, 5 = 星期五, 6 = 星


期六, 7 = 星期日。

35013230 06/2011 545


高级指令

字表示例
2002 年 4 月 19 日星期一 13:40:30 的示例数据:

字 值 (十六进制) 含义
%MW11 0001 星期一
%MW12 0030 30 秒
%MW13 1340 13 时, 40 分
%MW14 0419 04 = 4 月, 19 日
%MW15 2002 2002

上次停机的日期和时间
系统字 %SW54 到 %SW57 包含上次停机的日期和时间,而字 %SW58 包含表明上
次停机原因的 BCD 格式的代码 (请参见系统字 (%SW), 第 675 页)。

546 35013230 06/2011


高级指令

设置日期和时间

简介
通过使用以下方法之一可以更新日期和时间设置:
z TwidoSuite
使用调整时间对话框。可以通过以下任一方式访问此对话框:
z 可通过 TwidoSuite Application Launcher 访问的 TwidoSuite 监控实用程
序,或
z 通过选择程序 →调试,自行连接并选择检查 PLC。

z 系统字
使用系统字 %SW49 到 %SW53 或系统字 %SW59。
仅当控制器上安装了 RTC 选件存储卡 (TWDXCPRTC) 时,才能更新日期和时间设
置。请注意:TWDLC••40DRF 系列一体型控制器和 Twido Extreme PLC
(TWDLEDCK1) 装有集成板载 RTC。

使用 %SW49 到 %SW53
要使用系统字 %SW49 到 %SW53 设置日期和时间,必须将位 %S50 设置为 1。这
将造成以下结果:
z 通过内部时钟取消字 %SW49 到 %SW53 的更新
z 将写入字 %SW49 到 %SW53 中的值传送到内部时钟

35013230 06/2011 547


高级指令

编程示例:

字 %MW10 到 %MW14 将包含 BCD 格式的新日期和时间 (请参阅 BCD 码概述 ,


第 486 页)并将对应于字 %SW49 到 %SW53 的编码。
字表必须包含新的日期和时间:

编码 最高有效字节 最低有效字节
%MW10 星期 1
%MW11 秒
%MW12 时 分
%MW13 月 日
%MW14 世纪 年

注意: (1) 1 = 星期一, 2 = 星期二, 3 = 星期三, 4 = 星期四, 5 = 星期五, 6 = 星


期六, 7 = 星期日。

548 35013230 06/2011


高级指令

2002 年 4 月 19 日星期一的示例数据:

字 值 (十六进制) 含义
%MW10 0001 星期一
%MW11 0030 30 秒
%MW12 1340 13 时, 40 分
%MW13 0419 04 = 4 月, 19 日
%MW14 2002 2002

使用 %SW59
更新日期和时间的另一种方法是使用系统位 %S59 和日期调整系统字 %SW59。
将位 %S59 设置为 1 可通过字 %SW59 调整当前日期和时间(请参阅系统字 (%SW),
第 675 页)。 %SW59 可以在上升沿上增加或减少每个日期和时间组件。

应用示例
下面的前面板用于修改内部时钟的时、分和秒。

命令描述:
z 时 / 分 / 秒开关用来选择要更改的时间显示 (分别使用输入 %I0.2、 %I0.3 和
%I0.4)。
z 按钮 “+” 用来增加所选的时间显示 (使用输入 %I0.0)。
z 按钮 “-” 用来减少所选的时间显示 (使用输入 %I0.1)。

35013230 06/2011 549


高级指令

下面的程序从面板读取输入并设置内部时钟。

550 35013230 06/2011


高级指令

18.3 Twido PID 快速入门指南

概述
本节包含了 Twido 控制器提供的 PID 控制和自调节功能的入门信息。

本节包含了哪些内容?
本节包含了以下主题:
主题 页
文档用途 552
步骤 1 - 配置用于控制的模拟量通道 554
步骤 2 - PID 配置的先决条件 556
步骤 3 – 配置 PID 558
步骤 4 - 控制设置的初始化 563
步骤 5 - 控制设置 AT + PID 567
步骤 6 - 调试调整 570

35013230 06/2011 551


高级指令

文档用途

简介
本快速入门指南旨在通过提供示例帮助您了解正确配置和设置 Twido 控制器的 PID
控制功能所需的所有步骤。
注意: 在 Twido 上实现 PID 功能不需要对系统有高深的理解,但需要一定的精确
性,以确保您获得好的效果。

本文档内容:
本文档介绍了以下步骤:

步骤 描述
1 配置用于控制的模拟通道
2 PID 配置的先决条件
3 PID 配置
4 控制设置的初始化
5 AT + PID 控制设置
6 调试和调整

552 35013230 06/2011


高级指令

关于本指南中使用的示例
在本示例中,我们选择了 K 型热电偶 (0-200°)。
我们将使用带有输出的晶体管控制,因此成为由使用 PWM 的 PID 控制器直接控制
的本体控制器输出 (请参阅步骤 3 – 配置 PID, 第 558 页)。
下图显示了该示例中使用的实验设置:

35013230 06/2011 553


高级指令

步骤 1 - 配置用于控制的模拟量通道

简介
通常, PID 控制器使用模拟量反馈信号 (称为 “ 过程值 ”)测量要调整的值。
该值可以是级别、温度、距离或其他应用程序的其他值。

模拟量测量信号示例
我们以温度测量为例。
传感器发送模拟量测量值,该值取决于传回到控制器的已测量值。对于温度和
PT100 或热电偶之类的传感器,已测量的信号会随着当前温度的增加而增加。

如何添加模拟卡 (扩展模块)
在离线模式下,一旦选择了基板控制器,就要将模拟卡添加为基板的扩展模块。通
道编号将取决于其配置插槽。

如何配置模拟量输入通道
下表介绍了配置扩展模块的模拟量通道的步骤:

步骤 操作
1 从 TwidoSuite 界面中选择描述步骤。
请参阅 。
2 显示产品目录并选择要添加到系统描述的模块。
例如,使用 PT100 或热电偶测量温度的 TM2ALM3LT。
3 将模块添加到系统描述 (请参阅)。
4 使用配置编辑器,为描述系统时添加为扩展模块的模拟量 I/O 模块设置参数。
5 在类型列中,选择与所使用的传感器类型对应的输入类型 (热电偶 K,如果该
传感器为此类型)。
6 在范围列中,选择传感器的测量单位。对于温度传感器,选择摄氏更易于使
用,因为这使得模拟卡传回的计数成为真实测量值的直接因数。
7 为所配置的模拟卡的输入符号提供一个地址。该地址将用于完成 PID 字段
(对于此示例为 %IW1.0)。
8 如果必须使用输出来驱动控制系统,则对模拟量输出执行相同的操作。

554 35013230 06/2011


高级指令

模拟量通道配置示例
根据使用的测量类型,可以有多种配置类型,如下所述:
z 对于本文档所使用示例中的应用程序,我们选择了 K 型热电偶 (0-200°)。其过程
值读数直接易懂 (2000 个计数 = 200°,因为单位因数为 0.1)。
z 对于其他测量类型,您可以在类型列中选择 0-10V 或 4-20 mA,或者在范围列中
选择自定义。然后调整值刻度 (在最小列中输入 0,在最大列中输入 10000),
以能够直接读取过程值 (10 V = 10000 个计数)。
下面的示例显示了热电偶 K 模拟量通道的配置:

35013230 06/2011 555


高级指令

步骤 2 - PID 配置的先决条件

简介
配置 PID 之前,请确保已执行以下阶段:

阶段 描述
1 已在程序中启用 PID。
2 已配置扫描周期。

在程序中启用 PID
必须在程序中通过一条指令启用 PID 控制器。该指令可以是永久指令,也可以是输
入或内部位的条件指令。在下面的示例中,通过指令 %M0 启用 PID:
z 在梯形图中:

z 在指令列表中:
----
0 LD %M0
1 [ PID 0 ]
注意:请确保您使用的语法正确:
检查在 "PID" 和 PID 编号之间是否存在一个空格 (例如, PID< 空格 >0)。

556 35013230 06/2011


高级指令

配置扫描周期
使用 PID 控制器时,强烈建议您将 PLC 循环的扫描模式配置为周期扫描模式。下表
描述了配置扫描模式的步骤。在此模式下, %s19=1 (扫描周期溢出)表示 PLC 扫
描时间大于用户定义的周期。

步骤 操作
1 使用程序 →配置 →配置操作 任务来配置控制器扫描模式设置。
2 选中周期复选框。
3 如下面的屏幕所示设置循环时间:

注:应调整循环时间,以适应程序的大小和所需的性能。(将时间设为 50 毫秒是不
错的折衷选择)。

35013230 06/2011 557


高级指令

步骤 3 – 配置 PID

简介
对于本示例,我们选择实现 Twido 的 PID 控制器的大多数功能。有些选项不太重
要,可以简化。

Auto-Tuning (AT)
PID 控制器具有 Auto-Tuning 功能,该功能简化了调节回路设置 (在本文档的其余
部分中,用 AT 指代该功能)。

操作模式
Twido PID 控制器提供了四种不同的操作模式,可在 PID 对话框的常规选项卡中配
置:
z PID = 简单 PID 控制器。
z AT + PID = PID 启动并自动输入增益值 Kp, Ti, Td(PID 选项卡)和 PID 动作的类
型 (输出选项卡)时, Auto-Tuning 功能将处于活动状态。在 Auto-Tuning 结束
时,控制器将切换到已调整设定点的 PID 模式,并使用 AT 设置的参数。
z AT = PID 启动并自动输入增益值 Kp, Ti, Td(PID 选项卡)和 PID 动作的类型(输
出选项卡)时, Auto-Tuning 功能将处于活动状态。在序列结束时, PID 停止并
等待。增益值 Kp、 Ti 和 Td (PID 选项卡)和 PID 动作的类型 (输出选项卡)
将被输入。
z 字地址 = 通过将所需的值分配到与所选 PID 操作模式关联的字地址,可以通过程
序控制对 PID 操作模式的选择:
z %MWxx=1:控制器在简单 PID 模式下运行。
z %MWxx=2:控制器在 AT + PID 模式下运行。
z %MWxx=3:控制器仅在 AT 模式下运行。
z %MWxx=4:控制器仅在 PI 模式下运行。

这种通过字地址进行的配置类型使用户能够通过应用程序管理 PID 控制器操作模


式,从而能够适应最终要求。
注意:PI 调节可从 PID 选项卡进行选择。

558 35013230 06/2011


高级指令

启动 “PID” 对话框
下表显示了 “PID” 对话框以及访问不同 PID 设置的配置选项卡的步骤:

步骤 操作
1 在 TwidoSuite 界面上选择程序 →配置 →配置数据任务。
结果:将显示缺省的软件配置窗口。
2 从对象类别框中选择高级对象,然后从对象类型框中选择 PID。
3 从 PID 表中选择所需的 PID#。
4 “PID” 对话框显示在前景中,用于输入不同的控制器设置,如下图所示。在离
线模式下,该对话框将显示多个选项卡:“ 常规 ”、 “ 输入 ”、 “PID”、 “AT”
和 “ 输出 ”:

要点:这些选项卡必须按照其在 “PID” 对话框中显示的顺序进行输入:首先是


“ 常规 ”、 “ 输入 ”、 "PID" 和 AT,然后是 “ 输出 ” 选项卡。
注:在在线模式下,该屏幕将多显示两个选项卡:动态显示和跟踪,分别用于
诊断和显示控制器操作。

35013230 06/2011 559


高级指令

参数的动态修改
要对 PID 参数进行动态修改 (在线模式下正在运行时),建议在关联的字段中输入
存储器地址,从而避免切换到离线模式对值进行动态更改。

“ 常规 ” 选项卡设置
下表显示了如何在 “PID” 对话框中设置常规选项卡:

步骤 操作
1 在常规选项卡中,选中已配置复选框以激活 PID 并设置随后的选项卡。
2 在操作模式下拉列表中,选择所需 ( 参见第 558 页 ) 的操作类型。
在本示例中:我们将选择存储器地址模式,并在关联的字段中输入字
%MW17。然后, PID 操作模式将链接到 %MW17 中的值。

“ 输入 ” 选项卡设置
下表显示了如何在 “PID” 对话框中设置输入选项卡:

步骤 操作
1 在输入选项卡中,在关联的字段中输入作为测量值使用的模拟量通道。
在本示例中:我们选择了 %IW1.0,因为其作为温度测量值使用。
2 如有必要,设置在达到高、低测量阈值时发出的报警,方法是选中这些框并在
关联的字段中填充适当值。
注:输入的值可以是固定值 (在关联的字段中输入)或可修改的值 (通过在
与存储器地址:%MWxx 关联的字段中填充)。

“PID” 选项卡设置
下表显示了如何在 “PID” 对话框中设置 PID 选项卡:

步骤 操作
1 在 PID 选项卡中,输入用于设置控制器设定点的值。通常,该值为模拟量输入
的存储器地址或设定点。
在本示例中:我们输入了 %MW0,该值将作为设定点字使用。
2 如果以前已在 “ 常规 ” 选项卡中选择了 PID 操作模式,则可以选择修正器类
型。
在本示例中:修正器类型设置为自动并被禁用。
注:如果您以前选择了 PID 作为操作模式,则可以从下拉列表中选择所需的修
正器类型 (PID 或 PI)。如果选择了 PI,则 Td 参数将强制为零,并且将禁用
此字段。

560 35013230 06/2011


高级指令

步骤 操作
3 设置 Kp、 Ti 和 Td 参数。
要点:如果选择了 AT 或 AT+PID 模式,请务必使用存储器地址填完 Kp、 Ti
和 Td 字段,以使 Auto-Tuning 功能自动填充找到的值。
在本示例中:我们分别为 Kp、 Ti 和 Td 输入了 %MW10、 %MW11 和
%MW12。
注:原则上,很难为尚未创建的应用程序确定 Kp、 Ti 和 Td 的最佳调整值。
因此,为了在在线模式下输入这些值,从而避免切换到离线模式对值进行动态
更改,我们强烈建议您在这些字段中输入存储器字地址。
4 输入 PID 采样周期。控制器使用该值获取测量值和更新输出。
在本示例中:我们将 PID 采样周期设置为 100 秒或 1 秒。假设已调整系统具有
几分钟的时间常量,则该采样周期值似乎是正确的。
要点:我们建议您将采样周期设置为控制器扫描周期的倍数,并且是与已调整
系统相符的值。

AT 选项卡设置
下表显示了如何在 “PID” 对话框中设置 AT 选项卡:

步骤 操作
1 在 AT 选项卡中,如果要使用 AT,请选中授权复选框。
2 输入测量值范围的值。该值是在 AT 过程中测量值一定不能超过的极限值。
3 输入输出设定点的值,该值是为生成 AT 而发送的控制器输出值。
特别说明 有关设置这些值的详细信息,请参考 PID 功能的 “ 自调节 ” 选项卡 ( 参见
第 592 页 ) 一节。
建议 为了在在线模式下输入这些值,从而避免切换到脱机模式对值进行动态更改,
我们强烈建议您在这些字段中输入存储器字地址。

“ 输出 ” 选项卡设置
下表显示了如何在 “PID” 对话框中设置输出选项卡:

警告
意外的设备操作
切勿与 PID 功能一同使用继电器输出。
如果不遵守这些说明,将会导致死亡、严重伤害或设备损坏。

注意:与 PID 功能一同使用固态输出。使用继电器有可能导致快速超过其使用寿命


周期极限,导致触点冻开或者焊接关闭,进而造成继电器无法运行。

35013230 06/2011 561


高级指令

步骤 操作
1 在输出选项卡中,输入从动作下拉列表中选择的选项。
该选项取决于已配置的系统:
z 直接动作:控制器输出随着变量值 (设定点 - 测量值)的增加而减少 (冷
控制器)。
z 反转动作:直接动作:控制器输出随着变量值 (设定点 - 测量值)的增加
而减少 (热控制器)。
要点:使用 AT 功能时,该列表自动选择位地址。操作模式由 AT 功能决定,
并且在此情况下,操作模式在与该字段关联的位中输入。
2 如有必要,在报警字段中输入控制器输出的阈值。在某些应用程序中,可能需
要该功能来管理超过阈值时发出的过程报警。
3 设置手动模式操作模式。
下拉列表提供了几种选项:
z 禁止 = 无手动模式。
z 授权 = 控制器仅在手动模式下操作。
z 位地址 = 该位的值用于更改手动模式的操作 (将位设为 0 = 自动模式,将
位设为 1 = 手动模式)。
在本示例中:此处,我们选择 %M2 以激活该选项,并选择 %MW18 以调整手
动设定点的值。
使用手动模式可以进行试验,以确定最小 / 最大输出限制或最精确的 AT 输出
设定点。
4 调整离散量输出字。控制器使用该字发送控制设定点。可以将该值直接发送到
模拟量输出通道 (%QW..) 或存储器字 (%MWxx) 以进行其他处理。
要点:使用 PWM 功能时,请在该字段中输入存储器地址 (%MWxx)。
5 如果系统需要,请设置 PWM 输出:
1. 如果要通过 PWM 执行器控制系统,则选中授权复选框。
2. 在关联的字段中输入 PWM 控制周期。
3. 输入用于控制 PWM 执行器的输出。对于该功能,我们建议您使用基板控制
器晶体管输出 (例如, TWDLMDA20DRT 基板控制器的 %Q0.0 或
%Q0.1)。
6 通过单击屏幕左下方的确定,确认控制器的配置。
7 要配置多个 PID 控制器,请单击下一个以增加要设置的 PID 数目。

562 35013230 06/2011


高级指令

步骤 4 - 控制设置的初始化

设置的先决条件
设置之前,必须执行以下步骤:

步骤 操作
1 将 PC 连接到控制器并传送应用程序。
2 将控制器切换到 RUN 模式。

注意:将控制器切换到 RUN 模式之前,请检查对于应用程序的其余部分,机器的


操作情况是否允许此操作。

过程
要初始化控制设置,必须执行以下步骤:

步骤 操作
1 创建包含诊断所需的主对象的动态数据表。
在本示例中:
z %MW0:回路控制器设定点
z %IW1.0:测量值
z %M0:启用回路控制器
z %M1:回路控制器动作类型 (由 AT 功能设置)
z %M2:自动或手动模式选择
z %MW10 到 %MW12:PID 回路控制器系数
z %MW13:在 AT 模式下不能超过的测量值极限
z %MW14:在 AT 模式下的回路控制器输出设定点
z %MW15:PID 回路控制器的离散量输出 (由控制器输入)
z %MW16:PWM 周期的设置
z %MW17:PID 控制器的操作模式选择
z %MW18:与 %M2 位选择关联的手动设定点

35013230 06/2011 563


高级指令

步骤 操作
2 检查 %IW1.0 字段中测量值的一致性。
在本示例中:
1. 系统处于稳定且冷的状态时,得到的测量值为 248。
2. 值似乎是一致的,因为在温度和读取的值之间具有倍乘系数 10。我们也可以
从外部影响测量值,以确保读数一致 (提高探测器周围的温度以检查测量值
是否也提高)。
注:该测试相当重要,因为控制器的操作完全取决于测量值的准确度。
3. 如果您对测量值的准确度有任何疑问,请将控制器设置为 STOP 模式并检查
模拟卡输入端的接线 (检查电压表或安培表是否连接到输入端 0-10V/4-
20mA,以及电阻表是否连接到 PT100 (在 20° 时为 100 欧姆)或热电偶
(数十欧姆)):
z 首先断开模拟卡端子与探测器的连接。
z 检查接线是否接反 (检查连接到输入端的接线颜色,以及补偿电缆是否
连接到 PT100)。
重要说明:IN0 和 IN1 输入通道在端子 (-) 处具有共享电位。
z 检查模拟卡是否由 24 VDC 电源供电到前两个端子。
z 检查是否提供了 4-20 mA 的输入传感器。 Twido 模拟量输入卡并非电流
来源。
3 要启动回路控制器,请先在手动模式下控制 PID 控制器,以便提高 AT 功能所
需的限制值。
要将控制器设置为手动模式,请执行以下操作:
1. 将控制器切换到 RUN 模式。
2. 在动态数据表中为存储器地址输入以下值:
z %M2:手动模式选择 = 1
(M2=1 => 手动模式, M2=0 => 自动模式)
z %MW16:PWM 周期设置 = 10
z %MW17:PID 控制器的操作模式选择 = 1 (仅 PID)
z %MW18:与 %M2 位选择关联的手动设定点 = 1000
在使系统返回到其初始状态的条件下,可以多次选择该设定点值。
在本示例中:我们选择了值 1000,该值与平均温度提高值相对应 (参考
信息:2000 个计数 = 200°)。处于冷状态时,系统可以从 250 个计数值
开始。
4 检查控制器是否处于 RUN 模式。
(%M0:控制器验证 = 1,要在动态数据表中输入。)
5 从对象类别框中选择高级对象,然后从对象类型框中选择 PID。
从 PID 表中选择所需的 PID#。

564 35013230 06/2011


高级指令

步骤 操作
6 为所需的 PID 编号激活动态显示选项卡,并检查动态显示是否与下面的屏幕相
符:

注:PID 控制器的屏幕仅在启用了该控制器 (且将 API 设置为 RUN)后才刷


新。
7 为所需的 PID 编号激活跟踪选项卡,然后:
1. 将耗时下拉列表设置为 15 分钟,以查看测量信号过程的轨迹。
2. 检查测量值是否在系统可接受值的范围内。在 " 跟踪 " 选项卡中可查看测量
值的增加。该值稳定时,读取与测量图的稳定状态相对应的值 (例如, 350
个计数对应于 35°,或与初始状态相比提高了 10°)。
8 将耗时滚动列表设置为 15 分钟,以查看测量信号过程的轨迹。
检查测量值是否在系统可接受值的范围内。我们可以从 " 跟踪 " 选项卡中查看测
量值的增加。该值稳定时,读取与测量图的稳定状态相对应的值 (例如, 350
个计数对应于 35°,或与初始状态相比提高了 10°)。

35013230 06/2011 565


高级指令

步骤 操作
9 如果发现执行器不受控制,则检查输出电路:
z 对于模拟量输出,检查模拟卡的输出电压或电流
z 对于 PWM 输出,检查:
z 输出相关的 LED 是否亮起 (在本示例中为 %Q0.1)
z TWDLMDA20DRT 本体输出的电源和 0V 电路的接线
z 执行器电源

10 关闭 PID 显示屏幕,并通过在动态数据表中输入以下值停止手动模式:
z %M0:启用回路控制器 = 0 (停止回路控制器)
z %M2:自动或手动模式选择 = 0 (停止手动模式)
z %MW17:PID 控制器的操作模式选择 = 0
z %MW18:与 %M2 位选择关联的手动设定点 = 0

566 35013230 06/2011


高级指令

步骤 5 - 控制设置 AT + PID

简介
在本节中,我们将介绍如何配置控制器以在 AT+PID 模式下开始操作。在此操作模
式中,控制器将会自动调整控制器,以适应系数 Kp、 Ti 和 Td。
注意:在序列中,系统不应该由于会影响最终调整值的外部变化而受到任何干扰。
同样,在启动 AT 序列之前,请确保系统是稳定的。

对 Kp、 Ti 和 Td 设置的提示
要能够在 AT+PID 模式下操作,必需满足以下两个条件:
z 必须将 Kp、 Ti 和 Td 系数配置为存储器地址 (%MWxx)。
z 必须将输出选项卡中的动作类型设置为存储器位地址 (%Mxx)。

要将控制器设置为 AT+PID 模式,请按照以下步骤进行:

步骤 操作
1 在动态数据表中使用以下值输入或检查存储器地址:
z %M2:自动或手动模式选择 = 0
z %MW0:回路控制器设定点 = 600 (在本示例中,该设定点在 AT 序列完成
之后处于活动状态,且控制器保持在 60° 的温度)
z %MW10 到 %MW12:PID 控制器的系数 (保留 0, AT 序列会填充其值)
z %MW13:在 AT 模式下不能超过的测量值范围 = 900 (在本示例中,如果
超过 90° , AT 中将发生错误)
z %MW14:AT 模式下的控制器输出设定点 = 2000 (来自手动模式下的测
试)。
这是应用于过程的阶跃变化值。在 AT 模式下,输出设定点直接应用于控制
器输出。
该值可以为内部字 (%MW0 到 %MW2999)、内部常量 (%KW0 到
%KW255)或直接值。因此,该值必须介于 0 和 10,000 之间。
注:输出自调节设定点必须始终大于应用于过程的上一个输出。
z %MW15:PID 回路控制器的离散量输出 (由控制器输入)
z %MW16:PWM 周期设置 (如先前设置一样,保留 10)
z %MW17:PID 控制器的操作模式选择 = 2 (AT + PID)
z %MW18:与 %M2 位选项关联的手动设定点 = 0
2 配置 Twido 控制器,使其在周期模式下扫描。
3 设置 Twido 控制器扫描周期的时间,以使 PID 控制器的采样周期 (Ts) 值为扫
描周期的整数倍。
注:有关如何确定采样周期的详细信息,请参见自调节要求 , 第 609 页和确定
采样周期 (Ts) 的方式 , 第 610 页。
4 检查控制器是否处于 RUN 模式。

35013230 06/2011 567


高级指令

步骤 操作
5 输入存储器位 %M0。
%M0:在动态数据表中,控制器验证 = 1。
6 从对象类别框中选择高级对象,然后从对象类型框中选择 PID。
从 PID 表中选择所需的 PID#。
7 为所需的 PID 编号激活动态显示选项卡,并检查动态显示是否与下面的屏幕相
符:

注:PID 控制器的屏幕仅在启用了该控制器 (且将 API 设置为 RUN)后才刷


新。

568 35013230 06/2011


高级指令

步骤 操作
8 单击跟踪按钮,并等待系统启动 AT。

注:在 AT 过程更改之前,等待时间可能会持续 10-20 分钟。

存储已计算的 Kp、 Ti 和 Td 系数
自调节序列一完成,分配到 Kp、 Ti 和 Td 系数的存储器字连同已计算的值也就完成
了。只要应用程序有效 (电源中断少于 30 天)且未执行冷启动 (%S0),这些值就
会被写入到 RAM 存储器并保存在控制器中。
注意:如果系统未受外部波动影响,则这些值可能会被牢固地写入 PID 控制器以及
切换到仅 PID 模式的控制器的设置中。

AT 的重复性
每次切换到 RUN 模式或冷启动 (%S0) 时,均会重复自调节序列。
因此,您应该使用程序测试诊断字在重启事件中会做何动作。

35013230 06/2011 569


高级指令

步骤 6 - 调试调整

访问动态数据表
要更轻松地调试系统,可以在 PID 控制器屏幕位于前景时随时访问动态数据表。
注意:
使用跟踪选项卡 (请参阅下面的 " 跟踪 " 选项卡窗口)中的分离按钮只查看设定点
和进程值图表时,可以通过程序 →调试 →激活程序任务访问动态数据表。

可以通过单击导出按钮,将屏幕数据导出为 Excel 格式。这将打开一个对话框,从


中可以指定 .cvs 文件的名称和位置。在该对话框中,单击保存可以导出数据,或者
单击取消可以取消导出。

570 35013230 06/2011


高级指令

返回 PID 屏幕
要返回 PID 控制器屏幕而不丢失图表跟踪历史记录,请按照以下步骤进行:

步骤 操作
1 从对象类别框中选择高级对象,然后从对象类型框中选择 PID。
从 PID 表中选择所需的 PID#。
2 单击动态显示选项卡。

PID 状态历史记录
在 PID 控制器的动态显示选项卡中,您可以从下拉列表中进行选择以访问当前控制
器的最近 15 个状态,如下图所示:

注意:PC 和 TwidoSuite 处于在线模式时, PID 状态将被存储。

35013230 06/2011 571


高级指令

18.4 PID 功能

本节的目标
本节描述 PID 功能的行为、功能和实现方式。
注意:要了解有关 PID 控制器和 PID 自调节的快速设置信息,请参见 Twido PID 快
速入门指南 , 第 551 页。

本节包含了哪些内容?
本节包含了以下主题:
主题 页
概述 573
调节回路的原理 574
调节应用程序的开发方法 575
兼容性和性能 576
PID 功能的详细特性 577
如何访问 PID 配置 580
PID 功能的 PID 屏幕元素 581
PID 功能的 “ 常规 ” 选项卡 585
PID 的 " 输入 " 选项卡 588
PID 功能的 PID 选项卡 590
PID 功能的 “AT” 选项卡 592
PID 的 " 输出 " 选项卡 597
如何访问 PID 调试 600
PID 功能的 " 动态显示 " 选项卡 601
PID 功能的 " 跟踪 " 屏幕 603
PID 状态和错误代码 605
使用自调节 (AT) 进行 PID 调节 609
PID 参数调整方法 616
PID 参数的作用和影响 618
附录 1:PID 理论基础 622
附录 2:一阶时间延迟模型 624

572 35013230 06/2011


高级指令

概述

常规
PID 调节功能是一种 TwidoSuite 编程语言功能。
该功能尤其适合于:
z 满足要求辅助调整功能的连续过程的需要 (例如:塑料薄膜包装机、加工处理
机、压力机等)
z 响应简单调整过程的需要 (例如:金属熔炉、陶瓷熔炉、小型冷藏组等)
该功能在以下屏幕中执行时可以轻松安装:
z 配置
z 调试
这些屏幕与显示所用 PID 编号的程序行 (梯形图语言的操作块或只是通过在指令列
表中调用 PID)相关联。
编写 PID 指令的正确语法为:PID<space>n,其中 n 为 PID 编号。
梯形图语言的程序行的示例:

注意:在任何给定的 Twido 自动化应用程序中,可配置 PID 功能的最大数目为 14。

主要功能
主要功能显示如下:
z 模拟量输入
z 可配置测量值的线性转换
z 高位或低位可配置输入报警
z 模拟量输出或 PWM 输出
z 可配置输出的切断
z 可配置的直接或反转操作

35013230 06/2011 573


高级指令

调节回路的原理

概览
调节回路的过程包括三个不同的阶段:
z 采集数据:
z 来自过程传感器 (模拟量、编码器)的测量值
z 通常来自控制器的内部变量或 TwidoSuite 动态数据表数据的设定点

z 执行 PID 调节算法
z 发送适合通过离散量 (PWM) 输出或模拟量输出驱动的执行器特性的指令
PID 算法从以下值生成命令信号:
z 由输入模块采样的测量值
z 由操作符或程序确定的设定点值
z 各种修正器参数的值
来自修正器的信号可以通过连接到执行器的控制器模拟量输出卡直接进行处理,也
可以通过控制器离散量输出上的 PWM 调整进行处理。

示意图
下图系统解释了调节回路的原理。

574 35013230 06/2011


高级指令

调节应用程序的开发方法

原理图
下图介绍了在调节应用程序的创建和调试过程中要执行的所有任务。
注意:定义的指令取决于您自己的工作方法,本例仅供参考。

35013230 06/2011 575


高级指令

兼容性和性能

概览
Twido PID 功能适用于与 Twido 2.0 版或更高版本兼容的控制器,这就是为何其安装
受许多硬件和软件兼容性 (下文中有所介绍)限制的原因。
另外,该功能需要在性能一段中介绍的资源。

兼容性
Twido PID 功能适用于 Twido 控制器 2.0 版或更高版本的软件。
如果您的 Twidos 是早期版本的软件,可以更新固件以使用该 PID 功能。
注意:1.0 版的模拟量输入 / 输出模块可用作 PID 输入 / 输出模块而无需进行更新。
为了在这些不同版本的硬件上配置和编写 PID,您必须安装 TwidoSuite 软件。

性能
PID 调节回路具有以下性能:

描述 时间
回路执行时间 0.4 毫秒

576 35013230 06/2011


高级指令

PID 功能的详细特性

一般信息
PID 功能可通过模拟测量值和设定点 (默认格式为 [0-10000])完成 PID 修正,并
提供具有相同格式的模拟命令或对离散量输出进行脉冲宽度调制 (PWM)。
所有 PID 参数在用于配置这些参数的窗口中进行了介绍。在此,我们仅概述可用功
能、介绍测量值,并通过功能流程图描述如何将它们集成到 PID 中。
注意:要在满刻度 (最佳精度)下使用,可以以 0-10000 格式配置连接到 PID 测量
分支的模拟量输入。但是,如果使用缺省配置 (0-4095),控制器将会正常运行。
注意:为使调制正常工作, Twido PLC 一定要处于周期模式下。然后, PID 功能将
在每个循环中定期执行, PID 输入数据的采样与配置中设置的周期一致 (见下
表)。

可用功能的详细信息
下表说明各种可用功能及其使用范围:

功能 使用范围和注释
输入的线性转换 使您可以将以 0 到 10000 (模拟量输入模块精度)格式
表示的值转换为 -32768 和 32767 之间的值。
比例增益 使用系数 100 时,其值介于 1 和 10000 之间。这相当于
增益值在 0.01 和 100 之间变动。
注:如果输入了无效的增益值 (负增益或零增益),则
TwidoSuite 将忽略此用户设置,并会自动将缺省值 100
分配给该系数。
积分时间 使用时基 0.1 秒时,其值介于 0 和 20000 之间。这相当
于积分时间介于 0 和 2000.0 秒之间。
微分时间 使用时基 0.1 秒时,其值介于 0 和 10000 之间。这相当
于微分时间介于 0 和 1000.0 秒之间。
采样周期 使用时基 0.01 秒时,其值介于 1 和 10000 之间。这相当
于采样周期介于 0.01 和 100 秒之间。

35013230 06/2011 577


高级指令

功能 使用范围和注释
PWM 输出 使用时基 0.1 秒时,其值介于 1 和 500 之间。这相当于
调制周期介于 0.1 和 50 秒之间。PWM 精度取决于 pwm
周期和扫描周期。 PWM.R 的值最多时,精度最好。例
如,扫描周期 = 20 毫秒, PWM 周期 = 200 毫秒,
PWM.R 可取值 0%、 10%、 20%、 30%、 40%、
50%、 60%、 70%、 80%、 90%、 100%. 扫描周期 =
50 毫秒, PWM 周期 = 200 毫秒, PWM.R 可取值为
PWM.P 周期的 0%、 25%、 50%、 75% 和 100%

模拟量输出 值介于 0 和 +10000 之间


过程变量上的高级别报警 该报警将在转换完成后设置。如果激活转换,报警将设
置为 -32768 和 32767 之间的某个值;否则,报警将设
置为 0 和 10000 之间的某个值。
过程变量上的低级别报警 该报警将在转换完成后设置。如果激活转换,报警将设
置为 -32768 和 32767 之间的某个值;否则,报警将设
置为 0 和 10000 之间的某个值。
输出的上限值 对于模拟量输出值,该限值为 0 到 10000 之间。如果激
活 PWM,则该限值对应调制周期的百分比。 0% 表示
0, 100% 表示 10000。
输出的下限值 对于模拟量输出值,该限值为 0 到 10000 之间。如果激
活 PWM,则该限值对应调制周期的百分比。 0% 表示
0, 100% 表示 10000。
手动模式 当激活手动模式时,会将用户设置的固定值分配给输
出。该输出值介于 0 和 10000 之间(对于 PWM 输出为
0 到 100%)。
使用手动模式可以进行试验,以确定最小 / 最大输出限
制或最精确的 AT 输出设定点。
直接或反转动作 可直接在输出上执行直接操作或反转操作。
自调节 (AT) 该功能可以自调节 Kp、 Ti、 Td 和直接 / 反转操作参
数,以实现 PID 功能的细微整合。

注意: 要具体了解上表中描述的每个功能如何工作,请参见下图。

578 35013230 06/2011


高级指令

工作原理
下图说明了 PID 功能的工作原理。

注意:在在线模式下,当 PLC 处于周期任务中时, Ts 字段中显示的值 (在 PID 软


件配置屏幕中)可能与输入的参数 (%MW) 不同。此 Ts 值是周期任务的倍数,而
%MW 值是由 PLC 读取的值。
注意:所用参数在上页的表格中和配置屏幕中均有描述。

35013230 06/2011 579


高级指令

如何访问 PID 配置

概览
下文介绍了如何访问 Twido 控制器上的 PID 配置屏幕。

过程
下表介绍了访问 PID 配置屏幕的步骤:

步骤 操作
1 检查是否处于离线模式。
2 从对象类别框中选择高级对象,然后从对象类型框中选择 PID。
3 从 PID 表 ( 参见第 582 页 ) 中选择所需的 "PID#"。
结果:将打开 PID 配置窗口并缺省显示常规 ( 参见第 585 页 ) 选项卡。

580 35013230 06/2011


高级指令

PID 功能的 PID 屏幕元素

概览
PID 配置窗口使您可以:
z 配置每个 TWIDO PID (在离线模式下),
z 调试每个 TWIDO PID (在在线模式下)。

本节介绍了 PID 屏幕元素,其中包括:


z 访问 PID 配置屏幕,
z PID 功能的 PID 选择表,
z PID 功能的 PID 选项卡,
z PID 跟踪。

访问 PID 配置屏幕
要访问 PID 配置窗口,请执行以下操作:

如果 ... 则 ... 结果
处于在线 选择程序 →调试 →监视软件配置 → 将转到 " 动态显示 " 选项卡,可以访问
模式。 高级对象 →PID。 调试参数和调整参数。
处于离线 选择程序 →配置 →配置数据 →高级 缺省情况下将转到 " 常规 " 选项卡,可
模式。 对象 →PID。 以访问配置参数。

35013230 06/2011 581


高级指令

PID 功能的 PID 选择表


下表用于选择要配置 / 调试的 PID。

下表描述了您可以定义的设置。

字段 描述
地址 在此处指定要配置的 PID 编号。
该值介于 0 和 13 之间,每个应用程序最多 14 个 PID。
已配置 要配置 PID,必须选中此框。否则,无法在这些屏幕中执行任何操作且
无法使用 PID (尽管其存在于应用程序中)。
注: 必须首先完成当前 PID 配置,才能切换到其他 PID 或执行任何其他软件
任务。

582 35013230 06/2011


高级指令

字段 描述
已使用 只读,如果已在应用程序中使用了具有相应编号的 PID,则该框被选中
排序选项框 根据要在 PID 选择数据表中显示所有 PID 或仅显示已使用或未使用的
PID,选择相应的排序选项。
注: 必须首先完成当前 PID 配置,才能切换到其他 PID 或执行任何其他软件
任务。

PID 功能的 PID 选项卡


PID 选项卡使您可以配置 PID 参数。以下屏幕显示了 PID 的选项卡。

下表介绍了 PID 的选项卡。

字段 描述
" 常规 " 选项卡 指定 PID 常规参数,请参阅 PID 功能的 “ 常规 ” 选项卡 , 第 585 页
" 输入 " 选项卡 指定 PID 输入参数,请参阅 PID 的 " 输入 " 选项卡 , 第 588 页
"PID" 选项卡 指定 PID 内部参数,请参阅 PID 功能的 PID 选项卡 , 第 590 页
"AT" 选项卡 指定 AT 参数,请参阅 PID 功能的 “AT” 选项卡 , 第 592 页

35013230 06/2011 583


高级指令

字段 描述
" 输出 " 选项卡 指定 PID 输出参数,请参阅 PID 的 " 输出 " 选项卡 , 第 597 页
"动态显示"选项卡 查看 / 调试 PID,请参阅 PID 功能的 " 动态显示 " 选项卡 , 第 601 页

注意: 某些情况下,以下两个原因之一将导致无法访问某些选项卡和字段:
z 当前激活的操作模式 (离线模式或在线模式)不允许访问这些参数。
z 若选择 " 仅 PID" 操作模式,将无法访问不再需要的 "AT" 选项卡参数。

PID 功能的 PID 跟踪

PID" 跟踪 " 按钮 使您可以查看 PID 控制。

该选项卡使您可以查看 PID 操作并对其运行方式做出调整,请参阅 PID 功能的 " 跟


踪 " 屏幕 , 第 603 页。

584 35013230 06/2011


高级指令

PID 功能的 “ 常规 ” 选项卡

概览
从对象类别框中选择高级对象,然后从对象类型框中选择 PID。
从 PID 表中选择所需的 PID#。
PID 配置窗口使您可以:
z 配置每个 TWIDO PID (在线模式下)
z 调试每个 TWIDO PID (离线模式下)
当打开此屏幕时,如果您处于:
z 离线模式:缺省情况下,显示常规选项卡,使您可以访问配置参数
z 在线模式:屏幕将显示动态显示选项卡,使您可以访问调试参数和调整参数
注意:在某些情况下,以下任一原因将导致无法访问某些选项卡和字段:
z 当前激活的操作模式 (离线模式或在线模式)不允许访问这些参数。
z 若选择 “ 仅 PID” 操作模式,将无法访问不再需要的 “AT” 选项卡参数。
下文介绍了常规选项卡。

35013230 06/2011 585


高级指令

PID 功能的 “ 常规 ” 选项卡


以下屏幕用于输入常规 PID 参数。

描述
下表描述了您可以定义的设置。

字段 描述
PID 编号 在此处指定要配置的 PID 编号。
该值介于 0 和 13 之间,每个应用程序最多 14 个 PID。
已配置 要配置 PID,必须选中此框。否则,无法在这些屏幕中执行任何操作且
无法使用 PID (尽管其存在于应用程序中)。

586 35013230 06/2011


高级指令

字段 描述
操作模式 在此处指定所需的操作模式。有如下三种操作模式和一个字地址可供选
择:
z PID
z AT
z AT+PID
z 字地址

字地址 可在该文本框中提供内部字 (%MW0 到 %MW2999),以用于通过编


程来设置操作模式。根据要设置的操作模式,内部字可采用以下四个可
能的值:
z %MWx = 1 (仅设置 PID)
z %MWx = 2 (设置 AT + PID)
z %MWx = 3 (仅设置 AT)
z %MWx = 4 (仅设置 PI)

PID 状态 如果选择启用该选项,则可在此文本框中提供存储器字 (%MW0 到


%MW2999),以供 PID 控制器用来存储运行 PID 控制器和 / 或自调节功
能时的当前 PID 状态 (有关详细信息,请参阅 PID 状态和错误代码 ,
第 605 页)。
图 此图表使您可以查看配置 PID 时可能出现的不同情况。

注意:确保只有当无其他 PID 运行时使用自调节,在其他 PID 的影响下会生成常数


Kp、 Ti、 Td 的微积分。

35013230 06/2011 587


高级指令

PID 的 " 输入 " 选项卡

概览
该选项卡用于输入 PID 输入参数。
注意: 可在离线模式下访问该选项卡。

PID 功能的 " 输入 " 选项卡


以下屏幕用于输入 PID 输入参数。

588 35013230 06/2011


高级指令

描述
下表描述了您可以定义的设置。

字段 描述
PID 编号 在此处指定要配置的 PID 编号。
该值介于 0 和 13 之间,每个应用程序最多 14 个 PID。
测量 在此处指定将包含要控制的过程值的变量。
缺省范围是 0 到 10000。您可以输入内部字 (%MW0 到 %MW2999)
或模拟量输入 (%IWx.0 到 %IWx.1)。
转换 如果要转换指定为 PID 输入的过程变量,请选中该框。
如果选中该框,则可以访问最小值和最大值字段。
该转换为线性转换,可以将 0 和 10,000 之间的值转换为 -32768 (最小
值)和 +32767 (最大值)之间的值。
最小值 指定转换范围的最小值和最大值。然后过程变量将自动重新调整为在 [
最大值 最小值到最大值 ] 范围内的值。
注:最小值必须始终小于最大值。
最小值或最大值可以是内部字 (%MW0 到 %MW2999)、内部常量
(%KW0 到 %KW255)或介于 -32768 和 +32767 之间的值。
报警 如果要激活输入变量上的报警,请选中该框。
注:应根据转换阶段完成后得到的过程变量确定报警值。因此当激活转
换时,报警值必须介于最小值和最大值之间。否则,报警值将介于 0 和
10000 之间。
低 在低字段中指定高位报警值。
输出 该值可以为内部字 (%MW0 到 %MW2999)、内部常量 (%KW0 到
%KW255)或直接值。
输出必须包含位的地址 (当达到下限时该位将设为 1)。输出可以是内
部位 (%M0 到 %M255)或输出 (%Qx.0 到 %Qx.32)。
高 在高字段中指定低位报警值。
输出 该值可以为内部字 (%MW0 到 %MW2999)、内部常量 (%KW0 到
%KW255)或直接值。
输出必须包含位的地址 (当达到上限时该位将设为 1)。输出可以是内
部位 (%M0 到 %M255)或输出 (%Qx.0 到 %Qx.32)。
图 此图表使您可以查看配置 PID 时可能出现的不同情况。

35013230 06/2011 589


高级指令

PID 功能的 PID 选项卡

概览
PID 选项卡用于输入内部 PID 参数。
注意: 可在离线模式下访问该选项卡。

PID 功能的 "PID" 选项卡


以下屏幕用来输入内部 PID 参数。

590 35013230 06/2011


高级指令

描述
下表描述了您可以定义的设置。

字段 描述
PID 编号 在此处指定要配置的 PID 编号。
该值介于 0 和 13 之间,每个应用程序最多 14 个 PID。
设定点 在此处指定 PID 设定点的值。该值可以为内部字 (%MW0 到
%MW2999)、内部常量 (%KW0 到 %KW255)或直接值。
因此,当禁止转换时,该值必须介于 0 和 10000 之间。否则,它必须介于
用于转换的最小值和最大值之间。
修正器类型 如果以前已在 " 常规 " 选项卡中选择了 PID 操作模式,则可以从下拉列表
中选择所需的修正器类型 (PID 或 PI)如果已经选择了其他操作模式并且
修正器类型设置为 " 自动 ",则不能手动修改修正器类型。
如果从下拉列表中选择了 PI,则 Td 参数将强制为零,并且将禁用此字段。
Kp * 100 在此处指定乘以 100 的 PID 比例系数。
该值可以为内部字 (%MW0 到 %MW2999)、内部常量 (%KW0 到
%KW255)或直接值。
Kp 参数的有效范围是:0 < Kp < 10000。
注:如果将 Kp 错误地设置为 0 (Kp ≤0 无效),则 PID 功能将自动分配缺
省值 Kp=100。
TI (0.1 秒) 在此处指定积分作用系数,时基为 0.1 秒。
该值可以为内部字 (%MW0 到 %MW2999)、内部常量 (%KW0 到
%KW255)或直接值。
该值必须介于 0 和 20000 之间。
注:要禁用 PID 的积分作用,请将该系数设置为 0。
Td (0.1 秒) 在此处指定微分作用系数,时基为 0.1 秒。
该值可以为内部字 (%MW0 到 %MW2999)、内部常量 (%KW0 到
%KW255)或直接值。
该值必须介于 0 和 10000 之间。
注:要禁用 PID 的微分作用,请将该系数设置为 0。
采样周期 在此处指定 PID 采样周期时,时基为 10-2 秒 (10 毫秒 )。
该值可以为内部字 (%MW0 到 %MW2999)、内部常量 (%KW0 到
%KW255)或直接值。
该值必须介于 1 (0.01 秒)和 10000 (100 秒)之间。
图 此图表使您可以查看配置 PID 时可能出现的不同情况。

注意:启用 AT 后,用户不再设置 Kp、 Ti 和 Td 参数,因为 AT 算法会自动并通过


编程方式来设置这些参数。在此情况下,必须在这些字段中仅输入内部字 (%MW0
到 %MW2999)。
注:启用 AT 后请勿输入内部常量或直接值,否则会在运行 PID 应用程序时引发错
误。

35013230 06/2011 591


高级指令

PID 功能的 “AT” 选项卡

概览
设置正确的 PID 参数可能既复杂又费时。这使得缺乏经验的用户很难设置过程控
制,尽管不必非要由过程控制专业人员进行设置。因此,可能有时很难调节到最佳
状态。
PID 自调节算法可以自动确定以下四个 PID 项的适当值:
z 增益因数
z 积分值
z 微分值
z 直接操作或反向操作

因此, AT 功能可以快速地将过程回路进行微调。

AT 要求
PID 自调节尤其适用于温度控制过程。
一般情况下,可由 AT 功能控制的过程必须满足以下要求:
z 过程在整个操作范围内通常是线性的,
z 对模拟量输出进行级别更改的过程响应遵循瞬变渐近模式,并且
z 过程变量中几乎没有干扰。(在温度控制过程中,这意味着在过程与其环境之间
没有异常高的热交换率。)

592 35013230 06/2011


高级指令

AT 工作原理
下图介绍 AT 功能的工作原理以及它与 PID 回路交互的方式。

35013230 06/2011 593


高级指令

PID 功能的 “AT” 选项卡


以下屏幕用于启用 / 禁用 AT 功能和输入 AT 参数。
注意: 该屏幕仅可以在离线模式下访问。

594 35013230 06/2011


高级指令

描述
PID 自调节是一个开放回路过程,它直接作用于控制过程,并只接受过程变量 (PV)
极限和输出设定点提供的调节或极限。因此,必须在过程指定的允许范围内仔细选
择这两个值,以避免潜在的过程过载。

警告
PID 运行不稳定
z 必须在充分了解过程变量 (PV) 极限和输出设定点值对于机器或者过程影响的条
件下对其进行设置。
z 切勿超过对于过程变量和输出设定点值的允许范围。
如果不遵守这些说明,将会导致死亡、严重伤害或设备损坏。

警告
意外的设备操作
切勿与 PID 功能一同使用继电器输出。
如果不遵守这些说明,将会导致死亡、严重伤害或设备损坏。

下表描述了您可以定义的设置。

字段 描述
授权 如果要启用 AT 模式,请选中此框。
该复选框有两种使用方式,具体取决于您在 PID 功能的 “ 常规 ” 选项卡中是手动
设置操作模式还是通过字地址设置操作模式:
z 如果从常规选项卡 ( 参见第 585 页 ) 中将操作模式设置为 PID+AT 或 AT,则 “
授权 ” 选项将自动选中且不可用 (无法清除)。
z 如果通过字地址 %MWx (%MWx = 2:PID+AT ; %MWx = 3:AT)设置操作
模式,则必须手动选中 “ 授权 ” 选项以配置 AT 参数。
结果:在以上任何一种情况下,该 “AT” 选项卡配置屏幕中的所有字段将激活,
并且必须为 “ 设定点 ” 和 “ 输出 ” 字段填入适当的值。
过程变量 指定在 AT 过程中测量的过程变量不应该超过的极限。由于 AT 是一个开放回路
(PV) 极限 过程,因此该参数可以帮助保证控制系统的稳定性。
该值可以为内部字 (从 %MW0 最大到 %MW2999,具体取决于可用系统存储
器的数量)、内部常量 (%KW0 到 %KW255)或直接值。
因此,当禁止转换时,该值必须介于 0 和 10000 之间。否则,它必须介于用于
转换的最小值和最大值之间。

35013230 06/2011 595


高级指令

字段 描述
AT 输出设 在此指定 AT 输出值。该值是应用于过程的步进变化值。
定点 该值可以为内部字 (%MW0 到 %MW2999)、内部常量 (%KW0 到
%KW255)或直接值。
因此,该值必须介于 0 和 10000 之间。
应该通过您正控制的过程的实践经验,相应选择 AT 输出设定点值。如果存有疑
问或要确定最适合的值,则选择手动模式,并监控系统对不同手动输出设定点
试验的反应。
注:AT 输出设定点必须始终大于上次应用于过程的输出。

注意: 启用 AT 功能后,不能再使用常量 (%KWx) 或直接值,仅可以在以下 PID 字


段集中使用存储器字:
z 在 “PID” 选项卡中,必须将参数 Kp、 Ti 和 Td 设置为存储器字 (%MWx) ;
z 在 “OUT” 选项卡中,操作字段将被自动设置为地址位;
z 在 “OUT” 选项卡中,必须为位框填入适当的存储器位 (%Mx)。

计算的 Kp、 Ti、 Td 系数


一旦完成 AT 过程,计算的 Kp、 Ti 和 Td PID 系数:
z 将被存储到其各自的存储器字 (%MWx) 中,并且
z 可以在动态显示选项卡中查看 (仅在 TwidoSuite 在线模式下)。

596 35013230 06/2011


高级指令

PID 的 " 输出 " 选项卡

概览
此选项卡用于输入 PID 输出参数。
注意:可在离线模式下访问该选项卡。

PID 功能的 " 输出 " 选项卡


以下屏幕用来输入内部 PID 参数。

35013230 06/2011 597


高级指令

描述
下表描述了您可以定义的设置。

字段 描述
PID 编号 在此处指定要配置的 PID 编号。
该值介于 0 和 13 之间,每个应用程序最多 14 个 PID。
操作 在此指定在过程上执行的 PID 动作类型。有三个选项供您选择:反向、
直接或位地址。
如果选择了位地址,则可以通过修改关联的位 (内部位 [%M0 到
%M255] 或输入位 [%Ix.0 到 %Ix.32])并使用程序修改此类型。
如果位设置为 1,则动作为直接,否则为反向。
注:启用 AT 时,自调节算法自动为控制过程确定正确的动作类型 ("
直接 " 或 " 反向 ")。在此情况下,仅可以从 " 动作 " 下拉列表中选择一
个选项:地址位。必须在相关的位文本框中输入一个内部字 (%MW0
到 %MW2999)。请勿尝试在位文本框中输入内部常量或直接值,因为
这将触发执行错误。
限制 在此指定是否要对 PID 输出施加限制。有三个选项供您选择:启用、禁
位 用或位地址。
如果选择了位地址,则可以通过修改相关的位 (内部位 [%M0 到
%M255] 或输入位 [%Ix.0 到 %Ix.32] )并通过程序启用 (位设为 1)或
禁用 (位设为 0)限制管理。
最小值 在此为 PID 输出设置上限和下限。
最大值 注:最小值必须总是小于最大值。
最小值或最大值可以为内部字 (%MW0 到 %MW2999)、内部常量
(%KW0 到 %KW255)或介于 1 和 10000 之间的值。
手动模式 在此指定是否要将 PID 更改为手动模式。有三个选项供您选择:启用、
位 禁用或位地址。
输出 如果选择了位地址,则可以通过修改相关的位 (内部位 [%M0 到
%M255] 或输入位 [%Ix.0 到 %Ix.32])并使用程序切换到手动模式 (位
设为 1)或切换到自动模式 (位设为 0)。
手动模式的输出必须包含 PID 在手动模式时要赋给模拟量输出的值。
此输出可以为字 (%MW0 到 %MW2999)或 [0-10000] 格式的直接值。
模拟量输出 在此指定自动模式下的 PID 输出。
此模拟量输出可以为 %MW 类型 (%MW0 到 %MW2999)或 %QW 类
型 (%QWx.0)。

598 35013230 06/2011


高级指令

字段 描述
已启用 PWM 输出 如果要使用 PID 的 PWM 功能,请选中此框。
周期 (0.1 秒) 在周期 (0.1 秒)中指定调制周期。此周期必须介于 1 和 500 之间,并
输出 且可以为内部字 (%MW0 到 %MW2999)或内部常量 (%KW0 到
%KW255)。 PWM 精度取决于 pwm 周期和扫描周期。 PWM.R 的值最
多时,精度最好。例如,扫描周期 = 20 毫秒, PWM 周期 = 200 毫秒,
PWM.R 可取值 0%、 10%、 20%、 30%、 40%、 50%、 60%、
70%、 80%、 90%、 100%. 扫描周期 = 50 毫秒, PWM 周期 = 200 毫
秒, PWM.R 可取值为 PWM.P 周期的 0%、 25%、 50%、 75% 和
100%。

指定 PWM 输出位作为输出中的值。输出位可以是内部位 (%M0 到


%M255)或输出 (%Qx.0 到 %Qx.32)。
图 此图表使您可以查看配置 PID 时可能出现的不同情况。

注:
z 动作字段中的术语 " 反向 " 用于达到一个高设定点 (例如:用于加热)

z 动作字段中的术语 " 直接 " 用于达到一个低设定点 (例如:用于冷却)

35013230 06/2011 599


高级指令

如何访问 PID 调试

概览
下文介绍如何访问 TWIDO 控制器上的 PID 调试屏幕。

过程
下表描述访问 PID 调试屏幕的过程:

步骤 操作
1 检查您是否处于在线模式中。
2 在监视软件配置屏幕中,从对象类别框中选择高级对象并从对象类型框中选择
PID。
3 从 PID 表中选择所需的 PID#。
注:也可以双击梯级中的 PID 图形元素以访问 PID 配置窗口。
4 单击动态显示选项卡。
结果:PID 配置窗口将打开并在缺省情况下显示动态显示 ( 参见第 601 页 ) 选项
卡。

600 35013230 06/2011


高级指令

PID 功能的 " 动态显示 " 选项卡

概览
该选项卡用于调试 PID。
该图表由创建的 PID 控制类型决定。仅显示配置的元素。
显示是动态的。活动链接以红色显示,非活动链接以黑色显示。
注意:可在在线模式下访问该选项卡。在此模式下,当 PLC 处于周期任务中时,
Ts 字段中显示的值(在 PID 软件配置屏幕中)可能与输入的参数 (%MW) 不同。此
Ts 值是周期任务的倍数,而 %MW 值是由 PLC 读取的值。

PID 功能的 " 动态显示 " 选项卡


以下屏幕用于查看和调试 PID。

35013230 06/2011 601


高级指令

描述
下表描述窗口的不同区域。

字段 描述
PID 编号 在此指定要调试的 PID 编号。
该值介于 0 和 13 之间,每个应用程序最多 14 个 PID。
操作模式 该字段显示当前 PID 操作模式。
PID 状态列表 该下拉列表可以使您实时查看最近 15 个 PID 状态。该列表随每次状态
更改而更新,并标明更改的日期和时间以及当前状态。
创建动态数据表 单击创建动态数据表以创建一个包含图表中显示的所有变量的文件,以
使您能够在线修改这些变量并调试 PID。

602 35013230 06/2011


高级指令

PID 功能的 " 跟踪 " 屏幕

概览
该屏幕可以使您查看 PID 操作并对其运行方式做出调整。
一旦显示调试窗口,就开始跟踪图表。
注意:可在在线模式下访问该屏幕。

PID 功能的 " 动态显示 " 选项卡


以下屏幕用于查看 PID 控制。

35013230 06/2011 603


高级指令

描述
下表介绍窗口的不同区域。

字段 描述
PID 编号 在此指定要查看的 PID 编号。
该值介于 0 和 13 之间,每个应用程序最多 14 个 PID。
图形 该区域显示设定点和过程值图表。
使用窗口右上部的菜单来确定水平轴 (X) 上的刻度。
使用转换或未转换的 PID 输入配置值来确定垂直轴上的刻度。垂直轴上
的刻度被自动优化以获得图表的最佳视图。
水平轴刻度菜单 使用该菜单可以修改水平轴的刻度。可以从 4 个值中选择:15、 30、
45 或 60 分钟。
初始化 该按钮清除图形并重启图表的跟踪。
导出 此按钮用于将屏幕数据导出到 Excel 格式。单击 " 导出 " 将打开一个对
话框,从中可以指定 .cvs 文件的名称和位置。在该对话框中,单击 " 保
存 " 可以导出数据,或者单击 " 取消 " 可以取消导出。

604 35013230 06/2011


高级指令

PID 状态和错误代码

概览
除了动态显示对话框中的 PID 状态列表 (请参阅 PID 功能的 " 动态显示 " 选项卡 ,
第 601 页)可以使您查看并切换回最近 15 个 PID 状态之一外, Twido PID 控制器
也可以将 PID 控制器和 AT 过程的当前状态记录到用户定义的存储器字中。
要了解如何启用和配置 PID 状态存储器字 (%MWi),请参阅 PID 功能的 “ 常规 ”
选项卡 , 第 585 页。

PID 状态存储器字
PID 状态存储器字可以记录以下三类 PID 信息中的任意一种:
z PID 控制器的当前状态 (PID 状态)
z 自调节过程的当前状态 (AT 状态)
z PID 和 AT 错误代码

注意:PID 状态存储器字是只读的。

PID 状态存储器字
以下是 PID 控制器状态与存储器字十六进制编码的对照表:

PID 状态十六进制表示法 描述
0000h PID 控制不处于活动状态
2000h 正在执行 PID 控制
4000h 已到达 PID 设定点

35013230 06/2011 605


高级指令

AT 状态描述
自调节过程分为 4 个连续的阶段。要成功完成自调节,必须执行该过程的每个阶
段。下面的过程响应曲线和表格描述 Twido PID 自调节的 4 个阶段:

下表描述自调节阶段:

AT 阶段 描述
1 阶段 1 为稳定性阶段。它在用户启动 AT 过程时开始。在该阶段中, Twido 自
调节执行检查以确保过程变量处于稳定状态。
注:自调节开始之前最后应用于过程的输出被用作自调节过程的开始点和松弛
点。
2 阶段 2 对过程应用第一个阶跃变化。该阶段将生成与上图显示的响应类似的过
程阶跃响应。

606 35013230 06/2011


高级指令

AT 阶段 描述
3 阶段 3 为松弛阶段,它在第一个阶跃响应稳定之后开始。
注:松弛向平衡状态发展,这种平衡是由自调节开始之前最后应用于过程的输
出确定的。
4 阶段 4 以阶段 2 描述的相同数量和方式对过程应用第二个阶跃变化。阶段 4 完
成时,自调节过程将结束,并且 AT 参数已被计算并存储在各自的存储器字
中。
注:该阶段完成之后,过程变量将被恢复为自调节开始之前最后应用于过程的
输出电平。

AT 状态存储器字
以下是 PID 控制器状态与存储器字十六进制编码的对照表:

AT 状态十六进制表示法 描述
0100h 正在执行自调节阶段 1
0200h 正在执行自调节阶段 2
0400h 正在执行自调节阶段 3
0800h 正在执行自调节阶段 4
1000h 自调节过程完成

PID 和 AT 错误代码
下表描述在 PID 控制和自调节过程中可能遇到的潜在执行错误:

PID/AT 过程 错误代码 (十六进制) 描述


PID 错误 8001h 操作模式值溢出
8002h 线性转换的最大最小值相等
8003h 离散量输出的上限低于下限
8004h 过程变量极限超出线性转换范围
8005h 过程变量极限小于 0 或大于 10000
8006h 设定点超出线性转换范围
8007h 设置点小于 0 或大于 10000
8008h 控制动作与自调节开始时检测到的动作不一致

35013230 06/2011 607


高级指令

PID/AT 过程 错误代码 (十六进制) 描述


自调节错误 8009h 过程变量 (PV) 已达到极限
800Ah 过采样,或输出设定点太低
800Bh Kp 为零
800Ch 时间常量为负
800Dh 延时为负
800Eh Kp 计算错误
800Fh 时间常量 / 延时比 > 20
8010h 时间常量 / 延时比 < 2
8011h 已超出 Kp 的限制
8012h 已超出 Ti 的限制
8013h 已超出 Td 的限制

608 35013230 06/2011


高级指令

使用自调节 (AT) 进行 PID 调节

PID 调节概述
PID 控制功能依靠以下三个用户定义的参数实现:Kp、 Ti 和 Td。 PID 调节旨在准
确确定这些过程参数以提供优化的过程控制。

自调节范围
Twido PLC 的 AT 功能尤其适用于热过程的自动调节。由于 PID 参数的值在不同控
制过程之间可能变化很大,因此, Twido PLC 提供的自调节功能与猜测相比,可以
帮助您以更小的投入确定更精确的值,即使您猜测的值比较准。
注意:当其他 PID 运行时不建议使用自调节。

自调节要求
使用自调节功能时,请确保控制过程和 Twido PLC 满足以下所有四个要求:
z 控制过程必须为开放回路并且稳定的系统
z 在自调节运行启动时,控制过程必须处于稳定状态,并且过程输入必须为空 (例
如:烤箱或熔炉应处于环境温度。)
z 自调节操作过程中,请确保在整个过程中无干扰进入,否则计算的参数将出错或
自调节过程将不正确运行 (例如:不应打开烤箱门,即使只打开片刻。)
z 配置 Twido PLC 以周期模式执行扫描。一旦为自调节确定了正确的采样周期
(Ts),就必须配置扫描周期,以使采样周期 (Ts) 为 Twido PLC 扫描周期的整数
倍。
注意:要确保 PID 控制和自调节过程正确运行, Twido PLC 必须配置为以周期模式
(不是循环模式)执行扫描。在周期模式下, PLC 的每个扫描定期启动。这样一
来,采样率就在测量过程中保持恒定 (这与循环模式不同:在循环模式中,一旦上
一扫描结束,新扫描就启动,从而使得各扫描之间的采样周期不平衡。)

AT 操作模式
自调节可以独立使用 (AT 模式)或与 PID 控制配合使用 (AT + PID):
z AT 模式:AT 过程整合并且成功确定 PID 控制参数 Kp、Ti 和 Td 之后(或在 AT
算法中检测到错误之后), AT 数字输出将设置为 0 并且 PID 状态列表下拉列表
中将显示下面的消息:“ 自调节完成。 ”
z AT + PID 模式:首先启动 AT。成功完成 AT 之后,根据 AT 计算的 Kp、TI 和 Td
参数, PID 控制回路将启动。
关于 AT+PID 的注意事项:如果 AT 算法遇到错误:
z 不计算任何 PID 参数
z AT 数字输出设置为在自调节启动之前最后应用于过程的输出

35013230 06/2011 609


高级指令

z “PID 状态列表 ” 下拉列表中显示错误消息


z PID 控制被取消
注意:无冲击转换
处于 AT+PID 模式时,从 AT 到 PID 的转换是无冲击的。

确定采样周期 (Ts) 的方式


这将在接下来的两章中解释,附录 1:PID 基础理论 ( 参见第 622 页 ) 和附录 2:通
过自调节 (AT) 进行 PID 调节 ( 参见第 624 页 )), 采样周期 (Ts) 是 PID 控制的重要参
数。可以从 AT 时间常量 (τ ) 推导出采样周期。
有两种方式可以使用自调节来求得正确的采样周期 (Ts):将在接下来的章节对此进
行详述。
z 过程响应曲线方式
z 反复试验方式

以下两个小节介绍这两种方式。

过程响应曲线方式简介
该方式在控制过程输入中设置步进变化,然后记录随时间变化的过程输出曲线。
过程响应曲线方式基于以下假设:
z 控制过程可以由以下转移功能恰当地解释为使用时间延迟模型的一阶功能:

(有关详细信息,请参阅 “ 附录 2:使用时间延迟模型的一阶功能 ”)

使用过程响应曲线方式
要使用过程响应曲线方式来确定采样周期 (Ts),请遵循以下步骤:

步骤 操作
1 假设您已在 PID 的 “ 常规 ”、 “ 输入 ”、 “PID”、 “AT” 和 “ 输出 ” 选项卡中配置
了各项设置。
2 选择 PID > 输出选项卡。
3 从手动模式下拉列表中选择授权或地址位以允许手动输出,并将输出字段设置
为高级 (位于 [5000-10000] 范围内)。
4 选择 PLC > 传送 PC => PLC... 以将应用程序下载到 Twido PLC。
5 在 PID 配置窗口中,切换到跟踪模式。
6 运行 PID 并检查响应曲线是否上升。

610 35013230 06/2011


高级指令

步骤 操作
7 响应曲线达到稳定状态时,停止 PID 测量。
注:请保持 “PID 跟踪 ” 窗口处于活动状态。
8 使用以下图形方式来确定控制过程的时间常量 (T):
1. 通过使用以下公式来计算位于 63% 上升处的过程变量输出 (S[63%]):S[63%]
= S[ 初始 ] + (S[ 结束 ]-S[ 初始 ])x63%
2. 利用图形找出对应于 S(63%) 的时间横坐标 (t[63%])。
3. 利用图形找出对应于过程响应上升起始位置的初始时间 (t[ 初始 ])。
4. 通过使用以下关系来计算控制过程的时间常量 (T):τ = t[63%]-t[ 初始 ]

9 使用以下规则,根据刚刚在上一步骤中确定的 (T) 值来计算采样周期 (Ts):Ts


= τ /75
注:采样周期的基本单位为 10 毫秒。因此,您应将 Ts 的值舍入到最接近的
10 毫秒位。
10 选择程序 > 配置行为以设置扫描模式参数,并按照以下操作进行:
1. 将 Twido PLC 的扫描模式设置为周期。
2. 使用以下规则,设置扫描周期以使采样周期 (Ts) 为扫描周期的整数倍:扫
描周期 = Ts/n,
其中 “n” 为正整数。
注:必须选择 “n” 以使得出的扫描周期为位于 [2 - 150 毫秒 ] 范围内的正整数。

过程响应曲线示例
本示例显示如何使用上一小节中所述的过程响应曲线方式来测量简单热过程的时间
常量 (T)。
时间常量测量的实验设置如下:
z 控制过程发生在配有加热灯的压力空气烤箱中。
z Twido PLC 通过 Pt100 探测器收集温度测量值,而温度数据以 °C 为单位记录。
z Twido PLC 通过 PID 的 PWM 离散量输出驱动加热灯。

实验是按照以下步骤进行的:

步骤 操作
1 从 PID 配置屏幕中选择 PID“ 输出 ” 选项卡。
2 从 “ 输出 ” 选项卡中选择手动模式。
3 将手动模式输出设置为 10000。
4 从 PID“ 跟踪 ” 选项卡中启动 PID 运行。
5 烤箱温度达到稳定状态时,停止 PID 运行。

35013230 06/2011 611


高级指令

步骤 操作
6 以下信息是从响应曲线的图形分析中直接获得的,如下图所示:

其中
z S[i] = 过程变量的初始值 = 260
z S[e] = 过程变量的结束值 = 660
z S[63%] = 位于 63% 上升处的过程变量 = S[i] + (S[e] - S[i]) x 63%
= 260+(660-260)x63%
= 512
z T = 时间常量
= 从上升起点到达 S[63%] 时的耗时
= 9 分 30 秒 = 570 秒

612 35013230 06/2011


高级指令

步骤 操作
7 使用以下关系来确定采样周期 (Ts):
Ts = τ /75
= 570/75 = 7.6 秒 (7600 毫秒)
8 在程序 > 扫描模式编辑对话框中,必须设置扫描周期以使采样周期 (Ts) 是扫描周期
的整数倍,如下面的示例所示:扫描周期 = Ts/76 = 7600/76 = 100 毫秒 (满足条
件:2 毫秒 ≤扫描周期 ≤150 毫秒。)

反复试验方式
反复试验方式连续向自调节功能提供采样周期的猜测值,直到自调节算法向用户认
为满意的 Kp、 Ti 和 Td 成功整合。
注意:与过程响应曲线方式不同,反复试验方式不依靠过程响应的任何近似法则。
但是,它的优点在于:它向与实际值位于同一数量级的采样周期值整合。
要执行自调节参数的反复试验估算,请遵循以下步骤:

步骤 操作
1 从 PID 配置窗口中选择 “AT” 选项卡。
2 将 AT 的输出极限设置为 10000。
3 从 PID 配置窗口中选择 “PID” 选项卡。
4 在采样周期字段中填入第一个或第 n 个猜测值。
注:如果您未掌握采样周期可能范围的初步迹象,请将此值设置为可能的最小
值:1 (10 毫秒的 1 个单位)。
5 从菜单栏中选择 PLC > 传送 PC => PLC...,以将应用程序下载到 Twido PLC。
6 启动自调节。
7 从 PID 配置屏幕中选择动态显示选项卡。
8 稍侯,直到自调节过程结束。
9 可能发生两种情况:
z 自调节成功完成:可以继续执行步骤 9。
z 自调节不成功:这意味着采样周期 (Ts) 的当前猜测值不正确。根据需要,
多次尝试新的 Ts 猜测值并重复步骤 3 至步骤 8,直到自调节过程最终整
合。
请遵循以下原则来提供新的 Ts 猜测值:
z AT 结束,并显示错误消息计算的时间常量为负 !:这意味着采样周期 Ts
太大。应减小 Ts 值以作为新猜测值提供。
z AT 结束,并显示错误消息采样错误 !:这意味着采样周期 Ts 太小。应增
大 Ts 值以作为新猜测值提供。

35013230 06/2011 613


高级指令

步骤 操作
10 根据需要,现在可以在 “ 动态显示 ” 选项卡中查看 PID 控制参数 (Kp、 Ti 和
Td),并在 PID 配置屏幕的 “PID” 选项卡中对其进行调整。
注:如果该组控制参数提供的 PID 调节不能提供完全令人满意的结果,则可以
更加精确地进行采样周期的反复试验求值,直到得出一组正确的 Kp、Ti 和 Td
控制参数。

调整 PID 参数
要更加精确地进行由 PID 参数 (Kp、 Ti、 Td,从自调节获得)提供的过程调节,
也可以直接从 PID 配置屏幕的 “PID” 选项卡或通过相应的存储器字 (%MW) 手动调
节这些参数值。

对使用自调节和 PID 控制的限制


自调节最适用于时间常量 (T) 和延迟时间 (8) 满足以下要求的过程:10 s < (τ + θ) <
2700 s (即:45 分钟)
注意: 在以下情况下自调节将不起作用:(T/θ) < 2 或 (T/θ) > 20。
PID 控制最适用于满足以下条件的过程调节:2 < (T/θ) < 20,其中 (T) 为过程的时
间常量,而 (8) 为延迟时间。
注意: 取决于比率 (T/θ):
z (τ /θ) < 2 :PID 调节已达到其限制;在此情况下需要使用更高级的调节技巧。
z (τ /θ) > 20 : 在此情况下,简单的开 / 关 (或两步)控制器可以代替 PID 控制器使
用。

自调节功能故障排除
下表记录自调节错误消息并介绍可能的原因以及故障排除操作:

错误消息 可能的原因 说明 / 可能的解决方法


自调节错误:过程变量 过程变量已达到允许的最大值。 由于 AT 为开放回路过程,过程变量 (PV) 极限被用作
(PV) 已达到极限 上限。
自调节错误:过采样,或 两种可能原因之一: 增大采样周期或 AT 输出设定点值。
输出设定点太低 z 采样周期太短。
z AT 输出设置得太低。

自调节错误:时间常量为 采样周期过长。 关于更多详细信息,请参阅关于使用自动调节和 PID


负 控制的限制 ( 参见第 609 页 )。

614 35013230 06/2011


高级指令

错误消息 可能的原因 说明 / 可能的解决方法


自调节错误:Kp 计算错误 AT 算法不稳定 (未整合)。 检查 PID 和 AT 参数并进行可以改善整合的调整。
z 自调节过程中遇到的干扰使 同时检查有无可能影响过程变量的干扰。
得过程静态增益评估失真。 尝试修改
z 过程变量瞬时响应不够大, z 输出设定点
无法进行自调节来确定静态 z 采样周期
增益。 请确保自调节过程中无过程干扰。
z 上述可能原因综合影响过程。

自调节错误:时间常量 / τ /θ > 20 PID 调节或许不再稳定。


延时 > 20 关于更多详细信息,请参阅关于使用自动调节和 PID
控制的限制 ( 参见第 609 页 )。
自调节错误:时间常量 / τ /θ < 2 PID 调节或许不再稳定。
延时 < 2 关于更多详细信息,请参阅关于使用自动调节和 PID
控制的限制 ( 参见第 609 页 )。
自调节错误:Kp 溢出 静态增益 (Kp) 的计算值大于 某些应用程序变量的测量灵敏度可能太低。应用程序
10000。 的测量值范围必须重新调节在 [0-10000] 区间之内。

自调节错误:Ti 溢出 积分时间常量 (Ti) 的计算值大于 达到计算极限。


20000。
自调节错误:Td 溢出 微分时间常量 (Td) 的计算值大于 达到计算极限。
10000。

35013230 06/2011 615


高级指令

PID 参数调整方法

简介
存在多种调整 PID 参数的方法,我们建议使用具有两个变量的 Ziegler 和 Nichols:
z 闭合回路调整
z 开放回路调整

实现其中一种方式之前,必须设置 PID 动作方向:


z 如果增加 OUT 输出导致 PV 测量值增加,请将 PID 设置为反转 (KP > 0)
z 另一方面,如果增加 OUT 输出导致 PV 减少,请将 PID 设置为直接 (KP < 0)

闭合回路调整
该原理是:使用比例命令 (Ti = 0、 Td = 0),通过增加延长来开始过程,直到在将
级别应用于 PID 修正器设定点之后,过程再次开始振荡。需要提高导致非衰减振荡
的关键延长级别 (Kpc) 和振荡周期 (Tc),以降低能够使调节器进行最佳调节的值。

根据 (PID 或 PI)调节器的种类,使用以下值执行系数的调整:

- Kp Ti Td
PID Kpc/1.7 Tc/2 Tc/8
PI Kpc/2.22 0.83 x Tc -

其中 Kp = 比例延长、 Ti = 积分时间和 TD = 偏离时间。


注意: 该调整方式提供非常动态的命令,该命令可以在更改设定点脉冲的过程中遇
到有害过冲时自我表达。在此情况下,降低延长值,直到获得所需行为。

616 35013230 06/2011


高级指令

开放回路调整
由于调节器处于手动模式,您将级别应用于输出并使过程响应与具有纯延迟时间的
集成器一样开始。

代表集成器的右手边上与时间轴的交点确定时间 Tu。下一步, Tg 时间定义为控制


变量 (测量值)获得与调节器输出相同的变化幅度 (刻度的百分比)所需的时间。
根据 (PID 或 PI)调节器的种类,使用以下值执行系数的调整:

- Kp Ti Td
PID -1.2 Tg/Tu 2 x Tu 0.5 x Tu
PI -0.9 Tg/Tu 3.3 x Tu -

其中 Kp = 比例延长、 Ti = 积分时间和 TD = 偏离时间。


注意:请注意单位。如果在 PL7 中执行调整,请将获得的 KP 值乘以 100。
该调整方法提供非常动态的命令,该命令可以在更改设定点脉冲的过程中遇到有害
过冲时自我表达。在此情况下,降低延长值,直到获得所需行为。此方法值得关
注,因为它不需要任何关于过程的本质和顺序的假设。您可以将其应用于稳定的过
程,就像将其应用到真实的积分过程一样。此方法在较慢过程 (玻璃工业等)中尤
其值得关注,因为用户仅需要响应的开端来调节系数 Kp、 Ti 和 Td。

35013230 06/2011 617


高级指令

PID 参数的作用和影响

比例作用的影响
比例作用用于影响过程响应速度。增益越高,响应越快,并且静态误差越少 (成正
比),虽然稳定性越差。必须找到速度和稳定性之间的适当折衷点。过程响应上的
积分作用对标度分格的影响如下所示:

618 35013230 06/2011


高级指令

积分作用的影响
积分作用用于消除静态误差 (过程值与设定点之间的偏差)。积分作用的级别越高
(Ti 低),响应越快,但是稳定性越差。也必须找到速度和稳定性之间的适当折衷
点。过程响应上的积分作用对标度分格的影响如下所示:

注意:Ti 低表示积分作用的级别高。
其中 Kp = 比例增益、 Ti = 积分时间和 Td = 微分时间。

35013230 06/2011 619


高级指令

微分作用的影响
微分作用是可预见的。实际上,它添加了考虑偏差中变化速度的因素,从而能够在
偏差增大时通过加快过程响应时间,以及在偏差减小时通过减慢过程响应时间来预
想更改。微分作用的级别越高 (Td 高),响应越快。必须找到速度和稳定性之间的
适当折衷点。过程响应上的微分作用对标度分格的影响如下所示:

PID 控制回路的限制

如果过程被吸收到具有转移功能的一阶纯延迟:

其中:
= 模型时间常量
= 模型延迟

620 35013230 06/2011


高级指令

过程控制性能取决于比率

在以下范围将获得合适的 PID 过程控制:2- -20

对于 <2,也就是说,对于快速控制回路 (低 )或对于具有 (高 t)大延迟的过

程, PID 过程控制将不再合适。在此类情况下,应使用更复杂的算法。

对于 >20,使用阈值加滞后值的过程控制就足够了。

35013230 06/2011 621


高级指令

附录 1:PID 理论基础

简介
所有 Twido 控制器上板载的 PID 控制功能提供了对简单工业过程的有效控制,包括
一个系统激励 (请参阅本文档中的 " 设定点 ")和一个系统的可测量属性 (请参见
" 测量或过程变量 ")。

PID 控制器模型
Twido PID 控制器通过模拟测量和以 [0-10000] 格式设定点实现了混合 (串行 - 并
行) PID 修正 (请参阅以下 "PID 模型图 "),并且以相同的格式提供了控制过程的
模拟命令。
下图描述了 PID 控制器模型的混合形式:

其中
其中:
z I = 积分操作 (独立作用并与微分操作并行),
z D = 微分操作 (独立作用并与积分操作并行),
z P = 比例操作 (对积分操作和微分操作的组合输出的连续作用),
z U = PID 控制器输出 (最后反馈为到已控制过程的输入)。

622 35013230 06/2011


高级指令

PID 控制规律
PID 控制器包含控制器增益 (Kp) 的混合组合 (串行 - 并行)以及积分 (Ti) 时间常数
和微分 (Td) 时间常数。因此, Twido 控制器使用的 PID 控制规律的形式如下
(Eq.1):

其中
z Kp = 控制器比例增益,
z Ti = 积分时间常数,
z Td = 微分时间常数,
z Ts = 采样周期,
z ε(i) = 偏差 (ε(i) = 设定点 - 过程变量)。

注意:根据积分时间常数 (Ti) 的值,可以使用两种不同的计算算法:


z Ti ≠ 0:在这种情况下,使用增量算法。
z Ti = 0:此为非积分过程的情况。在这种情况下,使用定位算法,并且与应用到
PID 输出变量的 +5000 偏移量一起使用。
有关 Kp、 Ti 和 Td 的详细描述,请参阅 PID 功能的 PID 选项卡 , 第 590 页。
可以从 (equ.1) 和 (equ.1’) 中推断, PID 调节的主要参数为采样周期 (Ts)。采样周
期严格取决于时间常数 (τ ), PID 要控制的过程内部参数。(请参阅附录 2:一阶时
间延迟模型 , 第 624 页。)

35013230 06/2011 623


高级指令

附录 2:一阶时间延迟模型

简介
本节介绍了一阶时间延迟模型,用于描述各种简单却重要的工业过程,包括热过
程。

一阶时间延迟模型
已经普遍认为一阶时间延迟模型可以充分模拟简单 (单激励)热过程。
此类一阶开放回路过程的转移功能具有 Laplace 域中的以下形式 (equ.2):

其中
z k = 静态增益
z τ = 时间常量
z θ = 延迟时间
z U = 过程输入 (此为 PID 控制器的输出)
z S = 过程输出

过程时间常量 τ
过程响应法则 (equ.2) 的主要参数为时间常量 τ 。其为控制过程的内部参数。
一阶系统的时间常量 (τ ) 定义为使系统输出变量从系统开始响应步进激励 u(t) 至达
到最终输出的 63% 的时间 (以秒为单位)。
下图显示了对步进激励的典型一阶过程响应:

其中
z k = 作为比率 ΔS/ΔU 计算的静态增益
z τ = 上升到 63% 的时间 = 时间常量

624 35013230 06/2011


高级指令

z 2τ = 上升到 86% 的时间


z 3τ = 上升到 95% 的时间
注意:执行自调节时,必须在以下范围内选择采样周期 (Ts):[τ /125 <Ts < τ /25]。
理想情况下,应使用 [Ts= τ /75]。(请参阅使用自调节 (AT) 进行 PID 调节 ,
第 609 页。)

35013230 06/2011 625


高级指令

18.5 浮点数指令

本节主旨
本节介绍了 TwidoSuite 语言中的高级浮点数 ( 参见第 30 页 ) 指令。
比较和分配指令在数字处理 , 第 470 页介绍。

本节包含了哪些内容?
本节包含了以下主题:
主题 页
浮点算法指令 627
三角指令 630
转换指令 632
整数 <-> 浮点数的转换指令 634

626 35013230 06/2011


高级指令

浮点算法指令

一般信息
这些指令用于在两个操作数之间或对一个操作数执行算术运算。

+ 两个操作数相加 SQRT 操作数的平方根


- 两个操作数相减 ABS 操作数的绝对值
* 两个操作数相乘 TRUNC 浮点值的整数部分
/ 两个操作数相除 EXP 自然指数
LOG 以 10 为底数的对数 EXPT 整数的实数幂
LN 自然对数

结构
梯形图语言

指令列表语言
LD %M0
[%MF0:=%MF10+129.7]

LD %I3.2 [%MF1:=SQRT(%MF10)]

LDR %I3.3 [%MF2:=ABS(%MF20)]

LDR %I3.5 [%MF8:=TRUNC(%MF2)]

35013230 06/2011 627


高级指令

梯形图语言

指令列表语言
LD %M0
[%MF0:=LOG(%MF10]

LD %I3.2 [%MF2:=LN(%MF20)]

LDR %I3.3 [%MF4:=EXP(%MF40)]

LDR %I3.4 [%MF6:=EXPT(%MF50,%MW52)]

语法
浮点数算术指令的操作符和语法

操作符 语法
+, - *, / Op1:=Op2 操作符 Op3
SQRT、 ABS、 Op1:= 操作符 (Op2)
TRUNC、 LOG、
EXP、 LN
EXPT Op1:= 操作符 (Op2,Op3)

注意: 执行两个浮点数之间的加法或减法时,两个操作数必须符合以下条件:
,其中 Op1>Op2。如果不满足此条件,则结果等于操作数 1
(Op1)。对于独立运算,该现象几乎没有影响,因为结果的误差非常低 ( )但
是当重复计算时,可能产生无法预料的后果。
例如,在指令 %MF2:= %MF2 + %MF0 无限重复的情况下。如果初始条件为 %MF0
= 1.0 且 %MF2 = 0,则值 %MF2 将在达到 16777216 时闭锁。

628 35013230 06/2011


高级指令

因此,建议编写重复计算程序时要特别谨慎。但是,如果需要编写此类型的计算,
则由客户端应用程序来管理截断错误。
浮点数算术指令的操作数:

操作符 操作数 1 (Op1) 操作数 2 (Op2) 操作数 3 (Op3)


+, - *, / %MFi %MFi、 %KFi 和立即值 %MFi、 %KFi 和立即值
SQRT、 ABS、 %MFi %MFi 和 %KFi [-]
LOG、 EXP 和 LN
TRUNC %MFi 和 %MDi %MFi 和 %KFi [-]
EXPT %MFi %MFi 和 %KFi %MWi、 %KWi 和立即值
注: TwidoSuite 避免使用将 %MWi 作为 Op1 的功能。

使用规则
z 浮点数和整数值的运算不能直接混合。转换操作 ( 参见第 634 页 ) 用于在这些格式
之间进行转换。
z 系统位 %S18 的管理方式与整数运算 ( 参见第 479 页 ) 相同,字 %SW17 ( 参见
第 675 页 ) 指示检测到的故障的原因。
z 当函数的操作数为无效数字时 (例如,负数的对数),将产生一个不确定的或无
穷的结果并且将位 %S18 更改为 1,字 %SW17 指示检测到的错误的原因。
注意:对于 TRUNC 指令,系统位 %S17 不受影响。

具有 %MDi 的 TRUNC 指令的示例


下表显示了在 %MDi 用于存储结果时 TRUNC 指令的示例:

示例 结果
TRUNC (3.5) 3
TRUNC (324.18765) 324
TRUNC (927.8904) 927
TRUNC (-7.7) -7
TRUNC (45.678E+20) 2 147 483 647 (最大有符号双字) *
%S18 设置为 1
TRUNC (-94.56E+13) - 2 147 483 648 (最小有符号双字) *
%S18 设置为 1
*
注:该示例适用于用于 %MDi 时的 TRUNC 指令。(在用于 %MFi 时, TRUNC 指令
没有溢出,因此没有最大 / 最小限制。)

35013230 06/2011 629


高级指令

三角指令

一般信息
这些指令使用户可以执行三角运算。

SIN 以弧度表示的角的正弦 ASIN


反正弦 (结果在 到 范围内)

COS 以弧度表示的角的余弦 ACOS 反余弦 (结果在 0 到 范围内)


TAN 以弧度表示的角的正切 ATAN
反正切 (结果在 到 范围内)

结构
梯形图

指令列表语言
LD %M0
[%MF0:=SIN(%MF10)]

LD %I3.2 [%MF2:=TAN(%MF10)]

LDR %I3.3 [%MF4:=ATAN(%MF20)]


结构化文本语言
IF %M0 THEN
%MF0:=SIN(%MF10); END_IF; IF %I3.2 THEN %MF2:=TAN(%MF10);
END_IF; IF %I3.3 THEN %MF4:=ATAN(%MF20); END_IF;

630 35013230 06/2011


高级指令

语法
三角运算指令的操作符、操作数和语法

操作符 语法 操作数 1 (Op1) 操作数 2 (Op2)


SIN、 COS、 TAN、 Op1:= 操作符 (Op2) %MFi %MFi 和 %KFi
ASIN、 ACOS 和
ATAN

使用规则
z 当函数的操作数为无效数字时 (例如:大于 1 的数字的反余弦),将产生一个不
确定的或是无穷的结果并且将位 %S18 更改为 1,字 %SW17 ( 参见第 675 页 )
指示检测到的错误的原因。
z 函数 SIN/COS/TAN 允许 和 之间的角度作为参数,但是,由于在
任何运算之前参数上执行的模数 引起的不精确性,在 和 周期以外
角度的精度逐步降低。

35013230 06/2011 631


高级指令

转换指令

一般信息
这些指令用于执行转换操作。

DEG_TO_RAD 角度转换为弧度,结果为 0 和 之间的角度值


RAD_TO_DEG 转换以弧度表示的角,转换结果为 0 和 360 度之间的角度值

结构
梯形图

指令列表语言
LD %M0
[%MF0:=DEG_TO_RAD(%MF10)]

LD %M2 [%MF2:=RAD_TO_DEG(%MF20)]
结构化文本语言
IF %M0 THEN
%MF0:=DEG_TO_RAD(%MF10); END_IF; IF %M2 THEN
%MF2:=RAD_TO_DEG(%MF20); END_IF;

语法
转换指令的操作符、操作数和语法

操作符 语法 操作数 1 (Op1) 操作数 2 (Op2)


DEG_TO_RAD Op1:= 操作符 (Op2) %MFi %MFi 和 %KFi
RAD_TO_DEG

632 35013230 06/2011


高级指令

使用规则
要转换的角度必须在 -737280.0 和 +737280.0 之间(对于 DEG_TO_RAD 转换)或
者在 和 之间 (对于 RAD_TO_DEG 转换)。
对于这些范围外的值,显示的结果是 + 1.#QNAN,,同时 %S18 和 %SW17:X0 位设
置为 1。

35013230 06/2011 633


高级指令

整数 <-> 浮点数的转换指令

一般信息
共有四条转换指令。
整数 <-> 浮点数的转换指令列表:

INT_TO_REAL 整数字 --> 浮点数的转换


DINT_TO_REAL 双字 (整数) --> 浮点数的转换
REAL_TO_INT 浮点数 --> 整数字的转换 (结果为最近的代数值)
REAL_TO_DINT 浮点数 --> 双整数字的转换 (结果为最近的代数值)

结构
梯形图语言

指令列表语言
LD TRUE
[%MF0:=INT_TO_REAL(%MW10)]

LD I1.8
[%MD4:=REAL_TO_DINT(%MF9)]
结构化文本语言
%MF0:=INT_TO_REAL(%MW10);
IF %I1.8 THEN
%MD4:=REAL_TO_DINT(%MF9);
END_IF;

634 35013230 06/2011


高级指令

语法
操作符和语法 (整数字 --> 浮点数的转换):

操作符 语法
INT_TO_REAL Op1=INT_TO_REAL(Op2)

操作数 (整数字 --> 浮点数的转换):

操作数 1 (Op1) 操作数 2 (Op2)


%MFi %MWi 和 %KWi

示例:整数字 --> 浮点数的转换:147 --> 1.47e+02


操作符和语法 (整数字 --> 浮点数的双转换):

操作符 语法
DINT_TO_REAL Op1=DINT_TO_REAL(Op2)

操作数 (整数字 --> 浮点数的双转换):

操作数 1 (Op1) 操作数 2 (Op2)


%MFi %MDi 和 %KDi

示例:整数双字 --> 浮点数的转换:68905000 --> 6.8905e+07


操作符和语法 (浮点数 --> 整数字或整数双字的转换):

操作符 语法
REAL_TO_INT Op1= 操作符 (Op2)
REAL_TO_DINT

操作符 (浮点数 --> 整数字或整数双字的转换):

类型 操作数 1 (Op1) 操作数 2 (Op2)


字 %MWi %MFi 和 %KFi
双字 %MDi %MFi 和 %KFi

示例:
浮点数 --> 整数字的转换: 5978.6 --> 5979
浮点数 --> 整数双字的转换: -1235978.6 --> -1235979
注意:如果在实数到整数 (或实数到整数双字)的转换期间,浮点值超过字 (或双
字)的限制,则位 %S18 设置为 1。

35013230 06/2011 635


高级指令

舍入精度
标准 IEEE 754 定义了 4 种浮点运算舍入模式。
以上指令所使用的模式为 " 四舍五入 " 模式:
" 如果最近的可表示值与理论结果相差的大小相等,则给定值的低有效位等于 0。 "
在某些情况下,舍入结果将采用缺省值或超出值。
例如:
10.5 的舍入值 -> 10
11.5 的舍入值 -> 12

636 35013230 06/2011


高级指令

18.6 ASCII 指令

本节的目标
本节介绍 TwidoSuite 语言中的高级 ASCII 指令。

本节包含了哪些内容?
本节包含了以下主题:
主题 页
ROUND 指令 638
ASCII 到整数的转换 640
整数到 ASCII 的转换 642
ASCII 到浮点转换 644
浮点到 ASCII 转换 646

35013230 06/2011 637


高级指令

ROUND 指令

指令描述
ROUND 指令将以 ASCII 字符串形式存储的浮点数表示形式进行舍入。

指令语法
对于 ROUND 指令,采用以下语法:Op1 := ROUND( Op2,Op3 ).
例如:

指令参数
下表描述了这些 ROUND 功能参数:

参数 描述
Op1 结果存储于其中的 %MW
Op2 包含要舍入的浮点数的 %MW
Op3 舍入中要求的有效位数
介于 1 和 8 之间的整数

指令规则
ROUND 指令规则如下:
z 操作数始终向下舍入。
z 操作数字符串的结束字符用作结果字符串的结束字符。
z 该结束字符可以是不在间隔 ['0' - '9'] ([16#30 - 16#39]) 中的任何 ASCII 字符,只
有以下字符除外:
z 点 "."(16#2E)
z 减号 "-"(16#2D)
z 加号 "+"(16#2B)
z 指数 "e" 或 "E" (16#65 或 16#45)

638 35013230 06/2011


高级指令

z 结果和操作数的长度不应超过 13 个字节:ASCII 字符串的最大大小是 13 个字


节。
z 不允许使用科学计数法。

语法错误
TwidoSuite 检查语法。下面的示例将导致语法错误:

错误的语法 正确的语法
%MW10:= ROUND (%MW1,4) %MW10:7 := ROUND (%MW1,4)
结果中缺少 ":7"
%MW10:13 := ROUND (%MW1,4) %MW10:7 := ROUND (%MW1,4)
%MW10:n,其中 n≠7 不正确

示例
下表显示了 ROUND 指令的示例:

示例 结果
ROUND ("987654321", 5) "987650000"
ROUND ("-11.1", 8) "-11.1"
ROUND ("NAN") "NAN"

35013230 06/2011 639


高级指令

ASCII 到整数的转换

指令描述
ASCII 到整数的转换指令将 ASCII 字符串转换为整数。

指令语法
对于 ASCII 到整数的转换指令,使用以下语法:Op1 := ASCII_TO_INT( Op2 ).
例如:

指令参数
下表描述了 ASCII 到整数转换功能的参数:

参数 描述
Op1 结果存储于其中的 %MW
Op2 %MW 或 %KW

转换规则
ASCII 到整数转换规则如下:
z OP2 必须含在 -32768 至 32767 之间。
z 该功能始终首先读取最高有效字节。
z 未在间隔 ['0' - '9'] ([16#30 - 16#39]) 中的任何 ASCII 字符都被视为结束字符,但
减号 “-”(16#2D) 在作为第一个字符放置时除外。
z 在溢出 (>32767 或 <-32768)情况下,系统位 %S18 (算术溢出或错误)设置
为 1,并且返回值 32767 或 -32768。
z 如果操作数的第一个字符是 “end” 字符,则返回值 0,并且位 %S18 设置为 1。
z 不允许使用科学计数法。

640 35013230 06/2011


高级指令

示例
假定已在 %MW10 到 %MW13 中存储以下 ASCII 数据:

参数 十六进制值 ASCII 值
%MW10 16#3932 ‘9’, ’2’
%MW11 16#3133 ‘1’, ‘3’
%MW12 6#2038 ‘ ‘, ‘8’
%MW13 16#3820 ‘8’, ‘ ‘

下表显示了 ASCII 到整数转换的示例:

示例 结果
%MW20 := ASCII_TO_INT(%MW10) %MW20 = 29318
%MW20 := ASCII_TO_INT(%MW12) %MW20 = 8
%MW20 := ASCII_TO_INT(%MW13) %MW20 = 0 且 %S18 设置为 1

35013230 06/2011 641


高级指令

整数到 ASCII 的转换

指令描述
整数到 ASCII 的转换指令将整数转换为 ASCII 字符串。

指令语法
对于整数到 ASCII 的转换指令,使用以下语法:Op1 := INT_TO_ASCII( Op2 ).
例如:

指令参数
下表描述了整数到 ASCII 转换功能的参数:

参数 描述
Op1 结果存储于其中的 %MW
Op2 %MW、 %KW、 %SW、 %IW、 %QW 或任何字
(不接受立即值)

转换规则
整数到 ASCII 转换规则如下:
z Op2 必须含在 -32768 至 32767 之间。
z 该功能始终首先写入最高有效字节。
z 结束字符为 “ 输入 ”(ASCII 13)。
z 该功能自动确定应该用 ASCII 值填充多少 %MW (从 1 到 4)。

642 35013230 06/2011


高级指令

语法错误
TwidoSuite 检查语法。下面的示例将导致语法错误:

错误的语法 正确的语法
%MW10 := INT_TO_ASCII (%MW1) %MW10:4 := INT_TO_ASCII (%MW1)
结果中缺少 “:4”
%MW10:n := INT_TO_ASCII (%MW1) %MW10:4 := INT_TO_ASCII (%MW1)
%MW10:n,其中 n ≠ 4 不正确

示例
对于指令 MW10:4 := INT_TO_ASCII(%MW1):

如果 ... 则 ...
整数值 十六进制值 ASCII 值
%MW10 = 16#3231 ‘2’, ‘1’
%MW1 = 123
%MW11 = 16#0D33 ‘3’
%MW10 = 16#3534 ‘5’, ‘4’
%MW1 = 45
%MW11 = 16#000D ‘ 输入 ‘
%MW1 = 7 %MW10 = 16#0D37 ‘ 输入 ’, ‘7’
%MW10 = 16#3145 ‘1’, ‘-’
%MW11 = 16#3332 ‘3’, ‘2’
%MW1 = -12369
%MW10 = 16#3936 ‘9’, ‘6’
%MW11 = 16#000D ‘ 输入 ‘

35013230 06/2011 643


高级指令

ASCII 到浮点转换

指令描述
ASCII 到浮点转换指令将 ASCII 字符串转换为浮点值。

指令语法
对于 ASCII 到浮点转换指令,使用以下语法:Op1 := ASCII_TO_FLOAT( Op2 ).
例如:

指令参数
下表描述了 ASCII 到浮点转换功能的参数:

参数 描述
Op1 %MF
Op2 %MW or %KW

转换规则
ASCII 到浮点转换规则如下:
z 该功能始终首先读取最高有效字节。
z 不在间隔 ['0' - '9'] ([16#30 - 16#39]) 中的任何 ASCII 字符都被视为 " 结束 " 字符,只
有以下字符除外:
z 点 "."(16#2E)
z 减号 "-"(16#2D)
z 加号 "+"(16#2B)
z 指数 "e" 或 "E" (16#65 或 16#45)

z ASCII 字符格式可以是科学计数法 (例如 "-2.34567e+13")或十进制表示法 (例


如 "9826.3457")

644 35013230 06/2011


高级指令

z 在溢出情况下 (计算结果 > 3.402824E+38 或 < -3.402824E+38):


z 系统位 %S18 (算术溢出或错误)设置为 1
z %SW17:X3 设置为 1
z 返回值 +/- 1.#INF (+ 或 - 无限值)。

z 如果计算结果介于 -1.175494E-38 和 1.175494E-38 之间,则结果舍入为 0.0。


z 如果操作数不是一个数字:
z 返回值 1.#QNAN
z 位 %SW17:X0 设置为 1

示例
假定已在 %MW10 到 %MW14 中存储以下 ASCII 数据:

参数 十六进制值 ASCII 值
%MW10 16#382D '8', '-'
%MW11 16#322E '2', '.'
%MW12 16#3536 '5', '6'
%MW13 16#2B65 '+', 'e'
%MW14 16#2032 ' ','2'

下表显示了 ASCII 到浮点转换的示例:

示例 结果
%MW20 := ASCII_TO_FLOAT(%MW10) %MF20 = -826.5
%MW20 := ASCII_TO_FLOAT(%MW11) %MF20 = 1.#QNAN
%MW20 := ASCII_TO_FLOAT(%MW12) %MF20 = 6500.0
%MW20 := ASCII_TO_FLOAT(%MW13) %MF20 = 1.#QNAN
%MW20 := ASCII_TO_FLOAT(%MW14) %MF20 = 2.0

35013230 06/2011 645


高级指令

浮点到 ASCII 转换

指令描述
浮点到 ASCII 转换指令将浮点值转换为 ASCII 字符串值。

指令语法
对于浮点到 ASCII 转换指令,使用以下语法:Op1 := FLOAT_TO_ASCII( Op2 ).
例如:

转换参数
下表描述了浮点到 ASCII 转换功能的参数:

参数 描述
Op1 %MW
Op2 %MF 或 %KF

转换规则
浮点到 ASCII 转换规则如下:
z 该功能始终首先写入最高有效字节
z 采用转换科学计数法进行表示
z “ 无限 ” 或 “ 非数字 ” 结果返回字符串 “NAN”
z 结束字符为 “ 输入 ”(ASCII 13)
z 该功能自动确定应该用 ASCII 值填充多少 %MW
z 转换精确度为 6 位
z 不允许使用科学计数法。

646 35013230 06/2011


高级指令

语法错误
TwidoSuite 检查语法。下面的示例将导致语法错误:

错误的语法 正确的语法
%MW10 := FLOAT_TO_ASCII (%MF1) %MW10:7 := FLOAT_TO_ASCII(%MF1)
结果中缺少 “:7”
%MW10:n := FLOAT_TO_ASCII (%MF1) %MW10:7 := FLOAT_TO_ASCII(%MF1)
%MW10:n,其中 n ≠ 7 不正确

示例
对于指令 %MW10:7 := FLOAT_TO_ASCII(%MF1):

要转换的数字 结果
1234567800 1.23456e+09
0.000000921 9.21e-07
9.87654321 9.87654
1234 1.234e+03

35013230 06/2011 647


高级指令

18.7 对象表的指令

本节主旨
本节介绍了数据表的特定指令:
z 双字,
z 浮点数对象。
表分配指令在基本指令 ( 参见第 475 页 ) 一章中介绍。

本节包含了哪些内容?
本节包含了以下主题:
主题 页
数据表求和函数 649
数据表比较函数 651
数据表搜索函数 653
最大值和最小值的数据表搜索函数 655
某个值在数据表中出现的次数 656
表循环移位函数 657
数据表排序函数 659
浮点数表内插函数 661
浮点数表的值的平均值函数 665

648 35013230 06/2011


高级指令

数据表求和函数

一般信息
SUM_ARR 函数将对象表中的所有元素加在一起:
z 如果数据表由双字组成,则结果将以双字形式给出
z 如果数据表由浮点字组成,则结果将以浮点字形式给出

结构
梯形图语言

指令列表语言
LD %I3.2
[%MD5:=SUM_ARR(%MD3:1)]
%MD5:=SUM_ARR(%KD5:2)
%MF0:=SUM_ARR(%KF8:5)

语法
数据表求和指令的语法:

Res:=SUM_ARR(Tab)

数据表求和指令的参数

类型 结果 (res) 数据表 (Tab)


双字表 %MDi %MDi:L 和 %KDi:L
浮点字表 %MFi %MFi:L 和 %KFi:L

注意:如果结果不在有效的双字格式范围 (取决于数据表操作数)之内,则系统位
%S18 设置为 1。

35013230 06/2011 649


高级指令

示例
%MD4:=SUM(%MD30:4)
其中 %MD30=10, %MD32=20, %MD34=30, %MD36=40
%MD4:=10+20+30+40

650 35013230 06/2011


高级指令

数据表比较函数

一般信息
EQUAL _ARR 函数逐个元素地执行两个数据表的比较。
如果显示差异,将以字的形式返回第一对不同元素的序号,否则返回值等于 -1。
比较对整个数据表执行。

结构
梯形图语言

指令列表语言
LD %I3.2
[%MW5:=EQUAL_ARR(%MD20:7,KD0:7)]
结构化文本语言
%MW0:=EQUAL_ARR(%MD20:7,%KF0:7)

%MW15:=EQUAL_ARR(%MF0:5,%KF0:5)

35013230 06/2011 651


高级指令

语法
数据表比较指令的语法:

Res:=EQUAL_ARR(Tab1,Tab2)

数据表比较指令的参数:

类型 结果 (Res) 数据表 (Tab1 和 Tab2)


双字表 %MWi %MDi:L 和 %KDi:L
浮点字表 %MWi %MFi:L 和 %KFi:L

注意:
z 数据表必须具有相同的长度和类型。

示例
%MW5:=EQUAL_ARR(%MD30:4,%KD0:4)
2 个数据表的比较:

序号 字表 常量字表 差别
0 %MD30=10 %KD0=10 =
1 %MD32=20 %KD2=20 =
2 %MD34=30 %KD4=60 不同
3 %MD36=40 %KD6=40 =

字 %MW5 的值为 2 (第一对不同元素的序号)

652 35013230 06/2011


高级指令

数据表搜索函数

一般信息
有 3 个搜索函数:
z FIND_EQR:在双字表或浮点字表中搜索等于给定值的第一个元素的位置
z FIND_GTR:在双字表或浮点字表中搜索大于给定值的第一个元素的位置
z FIND_LTR:在双字表或浮点字表中搜索小于给定值的第一个元素的位置
这些指令的结果等于找到的第一个元素的序号,如果搜索不成功,则为 -1。

结构
梯形图语言

指令列表语言
LD %I3.2
[%MW5:=FIND_EQR(%MD20:7,KD0)]
LD %I1.2
[%MW0:=FIND_GTR(%MD20:7,%KD0)]
%MW1:=FIND_LTR(%MF40:5,%KF4)

35013230 06/2011 653


高级指令

语法
数据表搜索指令的语法:

函数 语法
FIND_EQR Res:= 函数 (Tab,Val)
FIND_GTR
FIND_LTR

浮点字表和双字表搜索指令的参数:

类型 结果 (Res) 数据表 (Tab) 值 (val)


浮点字表 %MWi %MFi:L 和 %KFi:L %MFi 和 %KFi
双字表 %MWi %MDi:L 和 %KDi:L %MDi 和 %KDi

示例
%MW5:=FIND_EQR(%MD30:4,%KD0)
在数据表中搜索第一个双字 =%KD0=30 的位置:

序号 字表 结果
0 %MD30=10 -
1 %MD32=20 -
2 %MD34=30 值 (val),序号
3 %MD36=40 -

654 35013230 06/2011


高级指令

最大值和最小值的数据表搜索函数

一般信息
有 2 个搜索函数:
z MAX_ARR:在双字表和浮点字表中搜索最大值
z MIN_ARR:在双字表和浮点字表中搜索最小值
这些指令的结果等于数据表中找到的最大值 (或最小值)。

结构
梯形图语言

指令列表语言
LD %I1.2
[%MD0:=MIN_ARR(%MD20:7)]
%MF8:=MIN_ARR(%MF40:5)

语法
最大值和最小值的数据表搜索指令语法:

函数 语法
MAX_ARR Res:= 函数 (Tab)
MIN_ARR

最大值和最小值的数据表搜索指令参数:

类型 结果 (Res) 数据表 (Tab)


双字表 %MDi %MDi:L 和 %KDi:L
浮点字表 %MFi %MFi:L 和 %KFi:L

35013230 06/2011 655


高级指令

某个值在数据表中出现的次数

一般信息
该搜索函数:
z OCCUR_ARR:在双字表或浮点字表中搜索等于给定值的元素的个数

结构
梯形图语言

指令列表语言
LD %I3.2
[%MW5:=OCCUR_ARR(%MF20:7,%KF0)]
LD %I1.2
[%MW0:=OCCUR_ARR(%MD20:7,%MD1)

语法
最大值和最小值的数据表搜索指令语法:

函数 语法
OCCUR_ARR Res:= 函数 (Tab,Val)

最大值和最小值的数据表搜索指令参数:

类型 结果 (Res) 数据表 (Tab) 值 (Val)


双字表 %MWi %MDi:L 和 %KDi:L %MDi 和 %KDi
浮点字表 %MFi %MFi:L 和 %KFi:L %MFi 和 %KFi

656 35013230 06/2011


高级指令

表循环移位函数

一般信息
有 2 个移位函数:
z ROL_ARR:在浮点字表中执行元素的从上到下 n 个位置的循环移位
ROL_ARR 函数示意图

z ROR_ARR:在浮点字表中执行元素的从下到上 n 个位置的循环移位
ROR_ARR 函数示意图

35013230 06/2011 657


高级指令

结构
梯形图语言

指令列表语言
LDR %I3.2
[ROL_ARR(%KW0,%MD20:7)]
LDR %I1.2
[ROR_ARR(2,%MD20:7)]
LDR %I1.3
[ROR_ARR(2,%MF40:5)]

语法
在浮点字表或双字表中使用循环移位指令 ROL_ARR 和 ROR_ARR 的语法

函数 语法
ROL_ARR 函数 (n,Tab)
ROR_ARR

适用于浮点字表的循环移位指令的参数:ROL_ARR 和 ROR_ARR:

类型 位置数 (n) 数据表 (Tab)


浮点字表 %MWi,立即值 %MFi:L

双字表 %MWi,立即值 %MDi:L

注意: 如果 n 的值为负或空,则不执行移位。

658 35013230 06/2011


高级指令

数据表排序函数

一般信息
可用的排序函数如下:
z SORT_ARR:对双字表或浮点字表的元素进行升序或降序排序,并将结果存储
在同一表中。

结构
梯形图语言

指令列表语言
LD %I3.2
[SORT_ARR(%MW20,%MF0:6)]
LD %I1.2
[SORT_ARR(-1,%MD20:6)]
LD %I1.3
[SORT_ARR(0,%MF40:8)

35013230 06/2011 659


高级指令

语法
数据表排序函数的语法:

函数 语法
SORT_ARR 函数 ( 方向 ,Tab)

z " 方向 " 参数给定排序的顺序:方向 > 0 以升序进行排序;方向 < 0 以降序进行排序


;方向 = 0 不执行排序。
z 结果 (已排序的表)将返回到 Tab 参数 (要排序的表)。
数据表排序函数的参数:

类型 排序方向 数据表 (Tab)


双字表 %MWi,立即值 %MDi:L

浮点字表 %MWi,立即值 %MFi:L

660 35013230 06/2011


高级指令

浮点数表内插函数

概述
LKUP 函数用于为给定的 X 值内插一组 X 对 Y 浮点数数据。

内插规则
LKUP 函数使用线性内插规则,如下面的等式定义:

(等式 1:)

对于 ,其中 ;

假设 值以升序排列: .

注意:如果任两个连续的 Xi 值相等 (Xi=Xi+1=X),等式 (1) 得出一个无效的例外。在


此情况下,要克服该例外,请使用下面的算法代替等式 (1):

(等式 2:)

对于 ,其中 。

35013230 06/2011 661


高级指令

线性内插规则的图形表示
下图说明以上描述的线性内插规则:

LKUP 函数的语法
LKUP 函数使用三个操作数,其中两个是函数属性,已在下表中做出描述:

语法 操作数 1 (Op1) 操作数 2 (Op2) 操作数 3 (Op3)


输出变量 用户定义的 (X) 值 用户定义的 (Xi,Yi) 变量数组
[Op1: = LKUP(Op2,Op3)] %MWi %MF0 整数值, %MWi 或 %KWi

Op1 定义
Op1 是包含内插函数输出变量的存储器字。
根据 Op1 的值,用户可以了解内插成功与否,以及导致不成功的原因,如下表所
述:

Op1 描述
(%MWi)
0 内插成功
1 内插错误:数组错误, Xm < Xm-1
2 内插错误:Op2 溢出, X < X1

662 35013230 06/2011


高级指令

Op1 描述
(%MWi)
4 内插错误:Op2 溢出, X > Xm
8 数据数组大小无效:
z Op3 设置为奇数,或
z Op3 < 6。

注意:Op1 不包含计算的内插值 (Y)。对于给定的 (X) 值,内插 (Y) 的结果包含在


Op3 数组的 %MF2 中 (请参阅下面的 Op3 定义)。

Op2 定义
Op2 是包含用户定义的用于计算内插 (Y) 值的 (X) 值的浮点数变量 (Op3 浮点数数
组的 %MF0):
z Op2 的有效范围如下: .

Op3 定义
Op3 设置浮点数组的大小 (Op3 / 2),其中,将存储数据对 (Xi,Yi)。
Xi 和 Yi 数据存储在具有偶索引的浮点数对象中,从 %MF4 处开始 (请注意,
%MF0 和 %MF2 浮点数对象分别专用于用户设定点 X 和内插值 Y)。
给定 (m) 数据对的数组 (Xi,Yi),使用以下关系来设置浮点数数组 (%MFu) 的上索引
(u):
z (等式 3:) ;
z (等式 4:) .

浮点数数组 Op3 (%MFi) 具有与下面示例 (其中 Op3=8)的结构类似的结构:

(X) (X)1) (X)2) (X)3)


%MF0 %MF4 %MF8 %MF12
%MF2 %MF6 %MF10 %MF14
(Y) (Y1) (Y2) (Y3)
(Op3=8)

注意:由于以上浮点数数组结构, Op3 必须满足以下两个要求,否则将触发检测到


的 LKUP 函数错误:
z Op3 为偶数,且
z Op3 ≥ 6 (因为至少要有 2 个数据点才能进行线性内插)

35013230 06/2011 663


高级指令

结构
内插操作执行如下:

示例
以下是 LKUP 内插函数的使用示例:
[%MW20:=LKUP(%MF0,10)]
在本示例中:
z %MW20 为 Op1 (输出变量)
z %MF0 为用户定义的 (X) 值,其对应的 [Y] 值必须通过线性内插计算
z %MF2 存储由线性内插产生的计算值 (Y)
z 10 为 Op3 (由上面的等式 3 给定)。它设置浮点数数组的大小。最高序号项
%MFu,其中 u=18 由上面的等式 4 给定
有 4 对数据点存储在 Op3 数组 [%MF4..%MF18] 中:
z %MF4 包含 X1, %MF6 包含 Y1.
z %MF8 包含 X2, %MF10 包含 Y2.
z %MF12 包含 X3, %MF14 包含 Y3.
z %MF16 包含 X4, %MF18 包含 Y4.

664 35013230 06/2011


高级指令

浮点数表的值的平均值函数

一般信息
MEAN 函数用于计算浮点数表中给定数量的值的平均值。

结构
梯形图语言

指令列表语言
LD %I3.2
[%MF0:=MEAN(%MF10:5)]

语法
浮点数表平均值计算函数的语法:

函数 语法
MEAN 结果 = 函数 (Op1)

用于来自浮点数表的给定 L 个值的计算函数的参数:

操作数 (Op1) 结果 (Res)


%MFi:L, %KFi:L %MFi

35013230 06/2011 665


高级指令

666 35013230 06/2011


TwidoSuite V2.3
系统位和系统字
35013230 05/2009

系统位和系统字

19
本章主题
本章简要介绍了可以用于为 Twido 控制器创建控制程序的系统位和系统字。

本章包含了哪些内容?
本章包含了以下主题:
主题 页
系统位 (%S) 668
系统字 (%SW) 675

35013230 06/2011 667


系统位和系统字

系统位 (%S)

简介
本节详细介绍系统位的功能以及如何控制系统位。

详细描述
下表概述系统位以及如何控制系统位:

系统位 功能 描述 初始状态 控制
%S0 冷启动 通常设置为 0,通过以下方式设置为 1: 0 S 或 U->S,
z 电源恢复而数据丢失 (电池故障) SIM
z 用户程序或动态数据表编辑器
z 操作显示

该位在第一次完全扫描的过程中设置为 1。系统在
下次扫描前将其复位为 0。
%S1 热启动 通常设置为 0,通过以下方式设置为 1: 0 S 或 U->S
z 电源恢复且具有数据备份
z 用户程序或动态数据表编辑器
z 操作显示

系统在完全扫描结束时将其复位为 0。
%S4 时基:10 毫秒 状态变化的速率由内部时钟测量。状态变化的速率 - S, SIM
%S5 时基:100 毫秒 与控制器扫描不同步。
%S6 时基:1 秒 示例:%S4
%S7 时基:1 分钟

%S8 接线测试 最初设置为 1,该位用于在控制器处于 “ 未配置 ” 状 1 U


态时测试接线。要修改该位的值,请使用操作显示
键进行所需的输出状态更改:
z 设置为 1,输出复位
z 设置为 0,接线测试已授权

%S9 复位输出 通常设置为 0。可以通过程序或终端 (在动态数据 0 U, SIM


表编辑器中)设置为 1:
z 在状态 1,控制器处于 “ 运行” 模式时输出强制为 0
z 在状态 0,输出正常更新

%S10 I/O 通讯状态 通常设定为 1(在控制面板上为 TRUE)。当检测到 1 S


I/O 通讯中断时,此位可由系统设定为 0 (在控制面
板上为 FALSE)。

668 35013230 06/2011


系统位和系统字

系统位 功能 描述 初始状态 控制
%S11 警戒时钟溢出 通常设置为 0。程序执行时间 (扫描时间)超过最 0 S, SIM
大扫描时间 (软件警戒时钟)时,系统可以将该位
设置为 1。
警戒时钟溢出将导致控制器更改为 “ 暂停 ”。
%S12 PLC 处于 “ 运行 ” 模式 该位反映了控制器的运行状态。控制器正在运行时, 0 S, SIM
系统将该位设置为 1。在控制器处于停止、初始或
任何其他状态时,系统将该位设置为 0。
%S13 “运行”模式下的第一个循 通常为 0,在控制器更改为 “ 运行 ” 后的第一次扫描 1 S, SIM
环 过程中,系统将该位设置为 1。
%S17 最后弹出的位 通常设置为 0。它由系统根据最后弹出的位的值设 0 S->U, SIM
置。
它指示最后弹出的位的值。
%S18 算术溢出或错误 通常设置为 0。在执行 16 位操作时发生溢出的情况 0 S->U, SIM
下,设置为 1,即:
z 结果大于 + 32 767 或小于 - 32 768 (单字长)
z 结果大于 + 2 147 483 647 或小于 - 2 147 483 648
(双字长)
z 结果大于 + 3.402824E+38 或小于 -
3.402824E+38 (浮点数)
z 除零
z 负数的平方根
z BTI 或 ITB 转换无意义:BCD 值溢出

在每个有溢出风险的操作之后必须由用户程序对其
进行测试,如果发生溢出,用户将其复位为 0。
%S19 扫描周期溢出 (周期性 通常为 0,如果扫描周期溢出 (扫描时间大于用户 0 S->U, SIM
扫描) 在配置时定义的周期或 %SW0 中编写的周期),则
系统将该位设置为 1。
该位由用户复位为 0。
%S20 索引溢出 通常为 0,当索引对象的地址小于 0 或大于对象的最 0 S->U, SIM
大大小时,该位设置为 1。
在每个有溢出风险的操作之后必须由用户程序对其
进行测试,如果发生溢出,则复位为 0。
%S21 初始化 GRAFCET 通常设置为 0,通过以下方式设置为 1: 0 U->S, SIM
z 冷重启, %S0=1
z 用户程序 (仅在预处理程序部分),使用设置指
令 (S %S21) 或设置线圈 -(S)- %S21
z 终端

在状态 1,它导致 GRAFCET 初始化。禁止活动步


并激活初始步。
在 GRAFCET 初始化之后,系统将其复位为 0。

35013230 06/2011 669


系统位和系统字

系统位 功能 描述 初始状态 控制
%S22 GRAFCET 复位 通常设为 0,仅在预处理过程中可以由程序设置为 0 U->S, SIM
1。
在状态 1,它导致整个 GRAFCET 的活动步被禁止。
在开始执行顺序处理时系统会将其复位为 0。
%S23 预设并冻结 GRAFCET 通常设置为 0,仅在预处理程序模块中可以由程序 0 U->S, SIM
设置为 1。
设置为 1 时,该位确认 GRAFCET 的预置。将该位
保持在 1 会冻结 GRAFCET (冻结该图形)。在开
始执行顺序处理时系统会将其复位为 0,以确保
GRAFCET 图形从冻结位置继续移动。

%S24 (1) 操作显示 通常为 0,该位可以由用户设置为 1。 0 U->S


z 在状态 0,操作显示正常运行
z 在状态 1,操作显示被冻结,停留在当前显示
处,闪烁被禁用且输入键处理被停止
(1)
此系统位不可用于 Twido Extreme PLC
(TWDLEDCK1)。

%S25 (1) 在操作显示上选择显示 可以在 2 行操作显示上的两种显示模式之间选择: 0 U


模式 数据模式和正常模式。
z 如果 %S25=0,则启用正常模式。
在第一行上,可以写入对象名称 (系统字、存储
器字和系统位等)。
在第二行上,可以读取其值。
z 如果 %S25=1,则启用数据模式。
在第一行上,可以显示 %SW68 的值。
在第二行上,可以显示 %SW69 的值。
当 %S25=1 时,操作键盘被禁用。
注:固件版本必须为 V3.0 或更高版本。
(1)
此系统位不可用于 Twido Extreme PLC
(TWDLEDCK1)。

%S26 (1) 在操作显示上选择有符 您可以在两种值类型之间选择:有符号值或无符号 0 U


号值或无符号值 值。
z 如果 %S26=0,则启用有符号值 (-32768 到
32767)的显示。
+/- 符号在每行的开始处显示。
z 如果 %S26=1,则启用无符号值 (0 到 65535)
的显示。
仅当 %S25=1 时才使用 %S26。
注:固件版本必须为 V3.0 或更高版本。
(1)
此系统位不可用于 Twido Extreme PLC
(TWDLEDCK1)。

670 35013230 06/2011


系统位和系统字

系统位 功能 描述 初始状态 控制
%S31 事件屏蔽 正常情况下为 1 1 U->S, SIM
z 设置为 0,则不能执行事件,并将事件排队
z 设置为 1,则执行事件

用户和系统 (在冷重启时)可以将该位设置为其初
始状态 1
%S33 以太网服务器配置的读 正常情况下为 0 0 U->S, SIM
取或写入权限选择 z 设定为 0, %SW33 至 %SW38 包含应用程序以
太网配置(由 BOOTP 分配 IP 或自动分配 IP)。
z 设定为 1,然后由 %SW33 至 %SW38 给出新配
置。
此位可由用户与系统设定为其初始状态 0 (在冷启
动时)。然后将以太网复位,从而将最新配置应用至
应用程序配置。
%S38 允许将事件置于事件队 正常情况下为 1 1 U->S, SIM
列中 z 设置为 0,则不能将事件置于事件队列中
z 设置为 1,则一检测到事件就将其置于事件队列

用户和系统 (在冷重启时)可以将该位设置为其初
始状态 1
%S39 事件队列的饱和度 正常情况下为 0 0 U->S, SIM
z 设置为 0,则报告所有事件
z 设置为 1,则至少丢失一个事件

用户和系统 (在冷重启时)可以将该位设置为 0
%S50 使用字 %SW49 到 通常为 0,可以通过程序或操作显示将该位设置为 1 0 U->S, SIM
%SW53 更新日期和时 或 0。
间 z 设置为 0,则可以读取日期和时间
z 设置为 1,则可以更新日期和时间

控制器的内部 RTC 在 %S50 的下降沿上更新。


%S51 实时时钟状态 通常为 0,可以通过程序或操作显示将该位设置为 1 0 U->S, SIM
或 0。
z 设置为 0,则日期和时间一致
z 设置为 1,则用户必须初始化日期和时间

该位设置为 1 时,实时时钟数据无效。可能从未配
置日期和时间、电池电量低或者控制器修正常量无
效 (从未配置过、修正的时钟值和保存的值之间存
在差异或者值溢出)。
从状态 1 转换到状态 0 会强制将修正常量写入
RTC。

35013230 06/2011 671


系统位和系统字

系统位 功能 描述 初始状态 控制
%S52 RTC = 错误 此位由系统管理,表明尚未输入 RTC 修正,并且日 0 S, SIM
期和时间是错误的。
z 设置为 0,则日期和时间一致
z 在状态 1,必须初始化日期和时间

%S59 使用字 %SW59 更新日 通常为 0,可以通过程序或操作显示将该位设置为 1 0 U, SIM


期和时间 或 0。
z 设置为 0,则系统字 %SW59 不受管理
z 设置为 1,则日期和时间会根据在 %SW59 中设
置的控制位上的上升沿而增加或减少
%S66 (1) BAT LED 显示启用/禁用 用户可以设置该系统位。它使用户可以打开 / 关闭 0 S 或 U->S
(仅在支持外部电池的控 BAT LED:
制器上: z 设置为 0,则启用 BAT LED (系统在加电时将其
TWDLC••40DRF 控制 复位为 0)
器。) z 设置为 1,则禁用 BAT LED (即使外部电池电量
低或者电池槽内无外部电池, LED 也保持不亮)
(1)
此系统位不可用于 Twido Extreme PLC
(TWDLEDCK1)。

%S69 (1) 用户 STAT LED 显示 设置为 0,则 STAT LED 不亮 0 U, SIM


设置为 1,则 STAT LED 亮
(1)
此系统位不可用于 Twido Extreme PLC
(TWDLEDCK1)。

%S75 (1) 外部电池状态 该系统位由系统设置。它表明外部电池的状态,并 0 S


(仅在支持外部电池的控 且可由用户读取:
制器上: z 设置为 0,则外部电池运行正常
TWDLC••40DRF 控制 z 设置为 1,则外部电池电量低,或电池槽内无外
器。) 部电池
(1)
此系统位不可用于 Twido Extreme PLC
(TWDLEDCK1)。
%S95 恢复存储器字 之前将存储器字保存到了内部 EEPROM 时,才可以 0 U, SIM
设置此位。完成时,系统将该位重新设置为 0,并
且在 %SW97 中设置恢复的存储器字数
%S96 备份程序正确 可以随时读取该位 (通过程序或在调整时),尤其 0 S, SIM
是在冷启动或热重启之后。
z 设置为 0,则备份程序无效
z 设置为 1,则备份程序有效

%S97 保存 %MW 成功 可以随时读取该位 (通过程序或在调整时),尤其 0 S, SIM


是在冷启动或热重启之后。
z 设置为 0,则保存 %MW 不成功
z 设置为 1,则保存 %MW 成功

672 35013230 06/2011


系统位和系统字

系统位 功能 描述 初始状态 控制
%S100 TwidoSuite 通讯电缆连 显示 TwidoSuite 通讯电缆是否已连接。 - S
接 z 设置为 1,则 TwidoSuite 通讯电缆未连接或者
TwidoSuite 已连接
z 设置为 0,则 TwidoSuite 远程连接电缆已连接

%S101 更改端口地址 用于通过系统字 %SW101 (端口 1)和 %SW102 0 U


(Modbus 协议) (端口 2)来更改端口地址。要执行此操作,必须将
%S101 设置为 1。
z 设置为 0,则不能更改端口地址。 %SW101 和
%SW102 的值与当前端口地址匹配
z 设置为 1,则可以通过更改 %SW101 (端口 1)
和 %SW102 (端口 2)的值更改端口地址。修
改了系统字的值后,必须将 %S101 重新设置为
0
注:
z 在在线模式下,不能使用系统位 %S101 和系统
字 %SW102 更改端口 2 的地址。
z %SW102 和端口 2 不可用于 Twido Extreme
PLC (TWDLEDCK1)。
%S103 使用 ASCII 协议 在 Comm 1 (%S103) 或 Comm 2 (%S104) 上使用 0 U
%S104 (1) ASCII 协议。ASCII 协议是使用系统字 %SW103 和
%SW105 (对于 Comm 1)以及 %SW104 和
%SW106 (对于 Comm 2)配置的。
z 设置为 0,则所使用的协议为在 TwidoSuite 中配
置的协议
z 设置为 1,则 ASCII 协议用在 Comm 1 (%S103)
或 Comm 2 (%S104) 上。在这种情况下,先前必
须为 Comm 1 配置了系统字 %SW103 和
%SW105,并且为 Comm 2 配置了 %SW104 和
%SW106。
注:%S104、 %SW104、 %SW106 和 Comm 2 不
可用于 Twido Extreme PLC (TWDLEDCK1)。
%S110 远程连接交换 由程序或终端将该位复位为 0。 0 S->U
z 对于主站,设置为 1,完成所有的远程连接交换
(仅远程 I/O)
z 对于从站,设置为 1,完成与主站的交换

%S111 单个远程连接交换 z 对于主站,设置为 0,完成单个远程连接交换 0 S


z 对于主站,设置为 1,单个远程连接交换处于活
动状态
%S112 连接远程连接 z 对于主站,设置为 0,激活远程连接 0 U
z 对于主站,设置为 1,禁用远程连接

35013230 06/2011 673


系统位和系统字

系统位 功能 描述 初始状态 控制
%S113 远程连接配置 / 操作 z 对于主站或从站,设置为 0,远程连接配置 / 操作 0 S->U
成功
z 对于主站,设置为 1,远程连接配置 / 操作出错
z 对于从站,设置为 1,远程连接配置 / 操作出错

%S118 远程 I/O 错误 通常设置为 1。在远程连接上检测到 I/O 通讯中断时 1 S


可以将该位设置为 0。
%S119 本地 I/O 错误 通常设置为 1。在基板控制器上检测到 I/O 通讯中断 1 S
时可以将该位设置为 0。 %SW118 确定通讯中断的
性质。通讯中断消失时将复位为 1。
%S120 输入 PWM0 溢出 通常设置为 0。当 %IW0.7 处的信号频率超出 0 S->U
(%IW0.7) %IW0.7 的有效范围时,控制器可将该位设置为 1。
用户可复位为 0。
%S121 输入 PWM1 溢出 通常设置为 0。当 %IW0.8 处的信号频率超出 0 S->U
(%IW0.8) %IW0.8 的有效范围时,控制器可将该位设置为 1。
用户可复位为 0。

注意:(1) 此系统位不可用于 Twido Extreme PLC (TWDLEDCK1)。

表缩写介绍
缩写表:

缩写 描述
S 由系统控制
U 由用户控制
U->S 由用户设置为 1,由系统复位为 0
S->U 由系统设置为 1,由用户复位为 0
SIM 在 TwidoSuite 仿真器中使用

674 35013230 06/2011


系统位和系统字

系统字 (%SW)

简介
以下部分详细介绍系统字的功能以及如何控制系统字。

详细描述
下表详细介绍系统字的功能以及如何控制系统字:

系统字 功能 描述 控制
%SW0 控制器扫描周期 (周 通过用户程序在动态数据表编辑器中修改在配置时定义的控制器扫描周 U, SIM
期任务) 期。
%SW1 保存周期事件的值 修改周期事件的循环时间 [5-255 毫秒 ],而不丢失在 “ 扫描模式 ” 窗口 U,SIM
的 “ 周期事件 ” 框中保存的周期值。
在以下情况下,可以恢复 “ 周期事件 ” 框中保存的周期值:
z 在冷启动的情况下,或者
z 如果写入 %SW1 中的值超出 [5-255] 的范围

可以在每个循环结束时在程序或动态数据表中修改 %SW1 值,而无需


停止程序。在程序运行时可以正确观察循环时间。
%SW6 控制器状态 控制器状态: S, SIM
0 = 无配置
2 = 停止
3 = 运行
4 = 暂停

35013230 06/2011 675


系统位和系统字

系统字 功能 描述 控制
%SW7 控制器状态 z 位 [0]:正在执行备份 / 恢复: S,SIM
z 如果正在执行备份 / 恢复,则设置为 1
z 如果备份 / 恢复已完成或被禁用,则设置为 0

z 位 [1]:控制器的配置正确:
z 如果配置正确,则设置为 1

z 位 [3..2] EEPROM 状态位:


z 00 = 无存储卡
z 01 = 32 kb EEPROM 存储卡 *
z 10 = 64 kb EEPROM 存储卡 *
z 11 = 保留以供将来使用

z 位 [4]:RAM 中的应用程序与 EEPROM 中的不同:


z 如果 RAM 中的应用程序与 EEPROM 中的不同,则设置为 1

z 位 [5]:RAM 中的应用程序与存储卡中的不同 *:
z 如果 RAM 中的应用程序与存储卡中的不同,则设置为 1

z 位 [6] 未使用 (状态 0)


z 位 [7]:控制器保留:
z 如果已保留,则设置为 1

z 位 [8]:应用程序处于写入模式下:
z 如果应用程序受保护,则设置为 1

z 位 [9] 未使用 (状态 0)


z 位 [10]:第二个串行口已安装 *:
z 如果已安装,则设置为 1

z 位 [11]:第二个串行口的类型 *:(0 = EIA RS-232, 1 = EIA RS-


485):
z 设置为 0 = EIA RS-232
z 设置为 1 = EIA RS-485

z 位 [12]:内部存储器中的应用程序有效:
z 如果应用程序有效,则设置为 1

z 位 [13] 存储卡中的应用程序有效 *:
z 如果应用程序有效,则设置为 1

z 位 [14] RAM 中的应用程序有效:


z 如果应用程序有效,则设置为 1

z 位 [15]:可以执行:
z 如果可以执行,则设置为 1

注: * EEPROM 存储卡和第二个串行口不适用于 Twido Extreme PLC


(TWDLEDCK1)。
%SW11 软件警戒时钟值 包含警戒时钟的最大值。该值 (10 到 500 毫秒)由配置定义。 U, SIM

676 35013230 06/2011


系统位和系统字

系统字 功能 描述 控制
%SW14 商用版本, Vxx.yy 例如,如果 %SW14=0232: S, SIM
z 8 MSB=02 (十六进制),则 xx=2 (十进制)
z 8 LSB=32 (十六进制),则 yy=50 (十进制)

因此,商用版本为 V2.50。
注:固件版本必须为 2.5 或更高版本。
%SW15 固件补丁, Pzz 例如,如果 %SW15=0005: S, SIM
z 未使用 8 MSB
z 8 LSB=05 (十六进制),则 zz=5 (十进制)

因此,固件补丁为 P05。
注:固件版本必须为 2.5 或更高版本。
%SW16 固件版本, Vxx.yy 例如,如果 %SW16=0232: S, SIM
z 8 MSB=02 (十六进制),则 xx=2 (十进制)
z 8 LSB=32 (十六进制),则 yy=50 (十进制)

因此,固件版本为 V2.50。
注:固件版本必须为 2.5 或更高版本。
%SW17 浮点运算的缺省状态 在浮点算术运算中检测到错误时,会将位 %S18 设置为 1,并根据以下 S 与 U,
编码更新 %SW17 的缺省状态: SIM
z 位 [0]:运算无效,结果不是数字 (1.#NAN 或 -1.#NAN)
z 位 1:保留位
z 位 2:除数为 0,结果为无穷大 (-1.#INF 或 1.#INF)
z 位 3:结果的绝对值大于 +3.402824e+38,结果为无穷大 (-1.#INF
或 1.#INF)
%SW18- 100 毫秒绝对定时器 计数器使用以下两个字进行工作: S 与 U,
%SW19 计数器 z %SW18 表示最低有效字 SIM
z %SW19 表示最高有效字

%SW20 到 提供了节点地址为 1 关于更多详细信息,请参阅 CANopen 从站保留的特定系统字 ( 参见 S


%SW27 到 16 的 CANopen 从 第 286 页 )。
站模块的状态。
%SW30 上次扫描时间 显示上次控制器扫描循环的执行时间 (单位:毫秒)。 S, SIM
注:此时间对应于扫描循环的开始 (获得输入)和结束 (更新输出)
之间的耗时。

35013230 06/2011 677


系统位和系统字

系统字 功能 描述 控制
%SW31 最大扫描时间 显示自上次冷启动以来最长的控制器扫描循环的执行时间 (单位:毫 S, SIM
秒)。
注:
z 此时间对应于扫描循环的开始 (获得输入)和结束 (更新输出)之
间的耗时。
z 要确保在选择锁定输入选项时正确地检测脉冲信号,脉宽 (TON) 和
周期 (P) 必须满足以下两个要求:
z TON ≥ 1 毫秒
z 输入信号周期 (P) 必须遵守 Nyquist-Shannon 采样规则,即输入
信号周期 (P) 必须至少为最大程序扫描时间 (%SW31) 的两倍:
P ≥ 2 x %SW31.
注:如果不满足此条件,则可能检测不到某些脉冲。
%SW32 最小扫描时间 显示自上次冷启动以来最短的控制器扫描循环的执行时间 (单位:毫 S, SIM
秒)。
注:此时间对应于扫描循环的开始 (获得输入)和结束 (更新输出)
之间的耗时。
以太网当前 IP 设置必须可供用户使用,并且允许更改。将使用系统位
%S33 进行读或写选择。
%SW33 使用 IP 地址:%SW33 与 %SW34 U
TWDLC•E40DRF 控 对于 IP 地址 A.BB.CC.DD:%SW33 = CC.DD 并且 %SW34 = AA.BB
制器:
%SW34 IP 地址:%SW33 与 %SW34
用于读取 / 更改以太
对于 IP 地址 AA.BB.CC.DD:%SW33 = CC.DD 并且 %SW34 = AA.BB
网服务器配置的 IP
%SW35 地址 子网掩码:%SW35 与 %SW36
对于子网掩码 AA.BB.CC.DD:%SW35 = CC.DD 并且 %SW36 =
AA.BB
%SW36 子网掩码:%SW35 与 %SW36
对于子网掩码 AA.BB.CC.DD:%SW35 = CC.DD 并且 %SW36 =
AA.BB
%SW37 网关地址:%SW37 与 %SW38
对于 IP 地址 AA.BB.CC.DD:%SW33 = CC.DD 并且 %SW34 = AA.BB
%SW38 网关地址:%SW37 与 %SW38
对于 IP 地址 A.BB.CC.DD:%SW33 = CC.DD 并且 %SW34 = AA.BB

678 35013230 06/2011


系统位和系统字

系统字 功能 描述 控制
PGN 对象编号 内容
%SW33 使用 3-2 1-0
Twido Extreme: 7-6 5-4
%SW34
PGN 输入 / 输出对象
%SW35 11-10 9-8 4 位 /PGN:
状态信息
%SW36 15-14 13-12 0 = 正常状态 U
1 = 收到 PGN,无错误
%SW37 19-18 17-16
2 = 强制写入 PGN 输出
%SW38 23-22 21-20 4 = PGN 错误 (输入或输出)
%SW39 27-26 25-24

%SW40 31-30 29-28

%SW48 事件数 显示自上次冷启动以来执行的事件的数量。(计算除周期事件以外的所 S, SIM


有事件。)
注:设置为 0 (在应用程序加载和冷启动之后),并在每次执行事件时
递增。

系统字 功能 描述 控制
%SW49 实时时钟 (RTC) RTC 功能:包含当前日期和时间值的字 (BCD 格式): S 与 U,
%SW50 SIM
%SW49 星期的第 xN 天 (N=1 为星期
%SW51
一)
%SW52
%SW50 00SS 秒
%SW53
%SW51 HHMM 小时和分钟
%SW52 MMDD 月份和日期
%SW53 CCYY 世纪和年
当位 %S50 为 0 时,这些字受系统控制。当位 %S50 为 1 时,这些
字可以由用户程序或终端写入。在 %S50 的下降沿上,用写入这些字
的值更新控制器的内部 RTC。
%SW54 上次停机的日期和时 包含上次断电或控制器停止时的日期和时间的系统字 (在 BCD S, 是
%SW55 间 中):
%SW56 %SW54 SS 秒
%SW57
%SW55 HHMM 小时和分钟
%SW56 MMDD 月份和日期
%SW57 CCYY 世纪和年

35013230 06/2011 679


系统位和系统字

系统字 功能 描述 控制
%SW58 上次停机的代码 显示表明上次停机原因的代码: S, SIM
1= 运行 / 停止输入沿
2= 当出现软件所检测到的错误时停
止 (控制器扫描过冲)
3= 停止命令
4= 断电
5= 由于出现硬件错误而停止

系统字 功能 描述 控制
%SW59 调整当前日期 调整当前日期。 U, SIM
包含两组 8 位,用于调整当前日期。
始终在位的上升沿执行此操作。此字由位 %S59 启用。
递增 递减 参数
位0 位8 星期几
位1 位9 秒
位2 位 10 分
位3 位 11 时
位4 位 12 日
位5 位 13 月
位6 位 14 年
位7 位 15 世纪
%SW60 RTC 修正 RTC 修正值 U

%SW63 EXCH1 功能块错 EXCH1 错误代码: S


误代码 0 - 操作已成功
1 – 要传输的字节数太多 (> 250)
2 - 传输表太小
3 - 字表太小
4 - 接收表溢出
5 - 超时已过
6 - 传输
7 - 表中存在错误命令
8 - 所选端口未配置 / 不可用
9 - 接收错误
10 - 如果正在接收则无法使用 %KW
11 - 传输偏移大于传输表
12 - 接收偏移大于接收表
13 - 控制器停止了 EXCH 处理

680 35013230 06/2011


系统位和系统字

系统字 功能 描述 控制
%SW64 (1) EXCH2 功能块错 EXCH2 错误代码:请参见 %SW63。 S
误代码 (1)
此系统字不可用于 Twido Extreme PLC (TWDLEDCK1)。

%SW65 (1) EXCH3 功能块错 仅在可连接至以太网的 TWDLCAE40DRF Twido 控制器上实现了 EXCH3 S


误代码 错误代码
1-4, 6-13: 请参见 %SW63。(请注意,错误代码 5 无效,并由下文介绍的
以太网特定的错误代码 109 和 122 取代。)
以下为以太网特定的错误代码:
101 - 无此 IP 地址
102 - TCP 连接断开
103 - 无可用的套接字 (所有连接通道均忙碌)
104 - 网络已关闭
105 - 无法到达网络
106 - 复位时网络丢失连接
107 - 对等设备中止连接
108 - 对等设备复位连接
109 - 连接已超时
110 - 连接尝试被拒绝
111 - 主机已关闭
120 - 未知索引 (配置表中未包含远程设备的索引)
121 - 严重 (MAC、芯片、重复 IP) 122 - 发送数据后接收已超时
123 - 正在初始化以太网
(1)
此系统字不可用于 Twido Extreme PLC (TWDLEDCK1)。
%SW67 控制器的功能和 包含以下信息: S, SIM
类型 z 控制器类型位 [0 -11]
z 8B0 = TWDLC•A10DRF
z 8B1 = TWDLC•A16DRF
z 8B2 = TWDLMDA20DUK/DTK
z 8B3 = TWDLC•A24DRF
z 8B4 = TWDLMDA40DUK/DTK
z 8B6 = TWDLMDA20DRT
z 8B8 = TWDLC•A40DRF
z 8B9 = TWDLC•E40DRF
z 8BA = TWDLEDCK1
z 位 12、 13、 14 和 15 未使用,它们的值 = 0

35013230 06/2011 681


系统位和系统字

系统字 功能 描述 控制
%SW68 (1) 要在 2 行操作显 如果 %S25=1,则启用数据显示模式。操作键盘被禁用。 U
and 示上同时显示的 在 2 行操作显示上可以显示 %SW68 和 %SW69:
%SW69 (1) 元素 z %SW68 的值在第一行上
z %SW69 的值在第二行上

注:固件版本必须为 V3.0 或更高版本。


(1) 此系统字不可用于 Twido Extreme PLC (TWDLEDCK1)。

%SW73 (1) AS-i 系统状态 z 位 [0]:如果配置正确,则设置为 1 S和U


and z 位 [1]:如果启用了数据交换,则设置为 1
%SW74 (1) z 位 [2]:如果模块处于离线模式,则设置为 1
z 位 [3]:如果 ASI_CMD 指令已终止,则设置为 1
z 位 [4]:如果执行 ASI_CMD 指令时出现错误,则设置为 1
(1)
此系统字不可用于 Twido Extreme PLC (TWDLEDCK1)。
%SW76 to 减计数器 1-4 这 4 个字用作 1 毫秒定时器。如果这 4 个字的值为正,则它们的值每毫 S 与 U,
%SW79 秒均由系统递减。这提供了 4 个以毫秒递减计数的减计数器,相当于运 SIM
算范围 1 毫秒到 32767 毫秒。将位 15 设置为 1 可以停止递减。
%SW80 基板 I/O 状态 对于标准模拟量模块, %SW8x 如下所述: S, SIM
位 [0] 表示所有模拟量通道处于正常状态
位 [1] 表示模块处于初始化状态
检测到位 [2] 电源故障
检测到位 [3] 配置故障
位 [4] 表示正在为输入通道 0 运行转换
位 [5] 表示正在为输入通道 1 运行转换
位 [6] 表示输入通道 0 的参数无效
位 [7] 表示输入通道 1 的参数无效
位 [8 & 9] 未使用
位 [10] 表示输入通道 0 的值溢出
位 [11] 表示输入通道 1 的值溢出
位 [12] 表示输入通道 0 的值下溢
位 [13] 表示输入通道 1 的值下溢
位 [14] 未使用
位 [15] 表示输出通道的参数无效

682 35013230 06/2011


系统位和系统字

系统字 功能 描述 控制
%SW80 基板 I/O 状态 对于 TM2AMI4LT 和 TM2AMM6HT 模拟量模块, %SW8x 如下所述: S, SIM
(续) (续) 位 [0 & 1] 表示通道 0 的状态
0 0: 模拟量通道处于正常状态
0 1: 输入通道的参数无效
1 0: 输入值不可用 (模块处于初始化状态,正在运行转换)
1 1: 输入通道的值无效 (溢出值或下溢值)
位 [2 & 3] 表示通道 1 的状态 (与位 [0 & 1] 的描述相同)
位 [4 & 5] 表示通道 2 的状态 (与位 [0 & 1] 的描述相同)
位 [6 & 7] 表示通道 3 的状态 (与位 [0 & 1] 的描述相同)
位 [8 到 15] 未使用
%SW80 基板 I/O 状态 对于 TM2AMI8HT 模拟量模块, %SW8x 如下所述: S, SIM
(续) (续) 位 [0 & 1] 表示通道 0 的状态
0 0: 模拟量通道处于正常状态
0 1: 输入通道的参数无效
1 0: 输入值不可用 (模块处于初始化状态,正在运行转换)
1 1: 输入通道的值无效 (溢出值或下溢值)
位 [2 & 3] 表示通道 1 的状态 (与位 [0 & 1] 的描述相同)
位 [4 & 5] 表示通道 2 的状态 (与位 [0 & 1] 的描述相同)
位 [6 & 7] 表示通道 3 的状态 (与位 [0 & 1] 的描述相同)
位 [8 & 9] 表示通道 4 的状态 (与位 [0 & 1] 的描述相同)
位 [10 & 11] 表示通道 5 的状态 (与位 [0 & 1] 的描述相同)
位 [12 & 13] 表示通道 6 的状态 (与位 [0 & 1] 的描述相同)
位 [14 & 15] 表示通道 7 的状态 (与位 [0 & 1] 的描述相同)
%SW80 Twido Extreme 仅适用于 Twido Extreme, %SW80 如下描述: S
CANJ1939 端口 位 [0] 初始化错误 - 无法提供请求的地址
状态 位 [1] 初始化错误 - 无法请求地址
位 [2] 错误:端口处于被动状态
位 [3]:端口上总线处于关闭状态
%SW81 z 扩展 I/O 模块 1 状态:与 %SW80 定义相同 S, SIM
z 位于扩展地址 1 的 CANopen 主模块状态:
z 位 [0]:配置状态 (1 = 配置正确; 0 = 配置错误)
位 [1]:操作状态 (1 = PDO 交换开启; 0 = PDO 交换关闭)
位 [2]:初始状态 (1 = 初始状态开启; 0 = 初始状态关闭)
位 [3]:CAN_CMD 指令完成 (1 = 完成; 0 = 正在执行)
位 [4]:CAN_CMD 指令错误 (1 = 错误; 0 = 正确)
位 [5]:初始化错误 (1 = 错误; 0 = 正确)
位 [6]:消息丢失,电源错误 (1 = 错误; 0 = 正确)
注: 对于 Twido Extreme 集成的 CANopen 总线主站,保留的特定系统字始终为 %SW81
(%SW82 ...%SW87 未使用)。

35013230 06/2011 683


系统位和系统字

系统字 功能 描述 控制
%SW82 (1) 扩展 I/O 模块 2 状态:与 %SW80 定义相同 S, SIM
位于扩展地址 2 的 CANopen 主模块状态:与 %SW81 定义相同
(1)
此系统字不可用于 Twido Extreme PLC (TWDLEDCK1)。

%SW83 (1) 扩展 I/O 模块 3 状态:与 %SW80 定义相同 S, SIM


位于扩展地址 3 的 CANopen 主模块状态:与 %SW81 定义相同

%SW84 (1) 扩展 I/O 模块 4 状态:与 %SW80 定义相同 S, SIM


位于扩展地址 4 的 CANopen 主模块状态:与 %SW81 定义相同

%SW85 (1) 扩展 I/O 模块 5 状态:与 %SW80 定义相同 S, SIM


位于扩展地址 5 的 CANopen 主模块状态:与 %SW81 定义相同

%SW86 (1) 扩展 I/O 模块 6 状态:与 %SW80 定义相同 S, SIM


位于扩展地址 6 的 CANopen 主模块状态:与 %SW81 定义相同

%SW87 (1) 扩展 I/O 模块 7 状态:与 %SW80 定义相同 S, SIM


位于扩展地址 7 的 CANopen 主模块状态:与 %SW81 定义相同
(1)
此系统字不可用于 Twido Extreme PLC (TWDLEDCK1)。
%SW94 应用程序的签名 应用程序的配置或编程数据更改时,签名 (所有校验和的总和)也会随 S, SIM
之更改。
如果 %SW94=91F3 (十六进制),则应用程序的签名为 91F3 (十六进
制)。
注:固件版本必须为 V2.5 或更高版本。

684 35013230 06/2011


系统位和系统字

系统字 功能 描述 控制
%SW96 用于保存 / 恢复 z 位 [0]:表明必须将 %MW 存储器字保存到 EEPROM: S 与 U,
应用程序的功能 z 如果需要备份,则设置为 1 SIM
和 %MW 的命令 z 如果备份尚未完成,则设置为 0
和 / 或诊断信息。
z 位 [1]:此位由固件设置以表明保存完成的时间:
z 如果备份已完成,则设置为 1
z 如果提出了新的备份请求,则设置为 0

z 位 [2]:备份错误,有关详细信息,请参见位 8、 9、 10 和 14:
z 如果出现错误,则设置为 1
z 如果提出了新的备份请求,则设置为 0

z 位 [6]:如果控制器的 RAM 中包含有效的应用程序,则设置为 1


z 位 [8]:表明在 %SW97 中指定的 %MW 数大于在应用程序中配置的
%MW 数:
z 如果检测到错误,则设置为 1

z 位 [9]:表明在 %SW97 中指定的 %MW 数大于可由 TwidoSuite 中的


任何应用程序定义的最大 %MW 数:请注意,即使是位 9 可设置,同
样可设置位 8。
z 如果检测到错误,则设置为 1

z 位 [10]:内部 RAM 和内部 EEPROM 之间存在差异 (1 = 是)。


z 如果存在差异,则设置为 1

z 位 [14]:表明是否已发生 EEPROM 写入错误:


z 如果检测到错误,则设置为 1

%SW97 用于保存 / 恢复 保存存储器字时,此值表示要保存到内部 EEPROM 的物理数 %MW。恢 S 与 U,


功能的命令或诊 复存储器字时,此值更新为恢复到 RAM 的存储器字数。 SIM
断信息 对于保存操作,将此数字设置为 0 时,不存储存储器字。用户必须定义
用户逻辑程序。否则,在控制器应用程序中会将此程序设置为 0,以下情
况除外:
冷启动时,如果内部闪存 EEPROM 没有已保存的存储器字 %MW 文件,
则此字设置为 -1。在冷启动 (内部闪存 EEPROM 包含存储器字 %MW
列表)的情况下,必须在此系统字 %SW97 中设置文件中保存的存储器
字数值。

35013230 06/2011 685


系统位和系统字

系统字 功能 描述 控制
%SW101 端口的 Modbus 地址 位 %S101 设置为 1 时,可以更改端口 1 或端口 2 的 Modbus 地址。 S
%SW102 (1) 值 端口 1 的地址为 %SW101,端口 2 的地址为 %SW102。
注:
z 在在线模式下,不能使用系统位 %S101 和系统字 %SW102 更改
端口 2 的地址。
z %S102 和端口 2 不可用于 Twido Extreme PLC (TWDLEDCK1)。

%SW103 使用 ASCII 协议的配 将位 %S103 (Comm 1) 或 %S104 (Comm 2) 设置为 1 时,使用 ASCII S
%SW104 (1) 置 协议。必须根据以下元素设置系统字 %SW103 (Comm 1) 或
%SW104 (Comm 2):

z 波特率 :
z 0: 1200 波特
z 1: 2400 波特
z 2: 4800 波特
z 3: 9600 波特
z 4: 19200 波特
z 5: 38400 波特

z RTS/CTS:
z 0: 禁用
z 1: 启用

z 校验位 :
z 00: 无
z 10: 奇校验
z 11: 偶校验

z 停止位:
z 0: 1 个停止位
z 1: 2 个停止位

z 数据位:
z 0: 7 个数据位
z 1: 8 个数据位。

注: %S104、 %SW104 和 Comm 2 不可用于 Twido Extreme PLC


(TWDLEDCK1)。

686 35013230 06/2011


系统位和系统字

系统字 功能 描述 控制
%SW105 使用 ASCII 协议的配 将位 %S103 (Comm 1) 或 %S104 (Comm 2) 设置为 1 时,使用 ASCII S
%SW106 (1) 置 协议。必须根据以下元素设置系统字 %SW105 (Comm 1) 或
%SW106 (Comm 2):

注: %S104、 %SW106 和 Comm 2 不可用于 Twido Extreme PLC


(TWDLEDCK1)。
%SW111 远程连接状态 说明:位 0 对应于远程控制器 1,位 1 对应于远程控制器 2,依此类 S
推。
位 [0] 到 [6]:
z 设置为 0 = 远程控制器 1-7 不存在
z 设置为 1 = 远程控制器 1-7 存在

位 [8] 到位 [14]:
z 设置为 0 = 在远程控制器 1-7 上检测到远程 I/O
z 设置为 1 = 在远程控制器 1-7 上检测到扩展控制器

%SW112 远程连接配置 / 操作 00: 操作成功 S


错误代码 01: 检测到超时 (从站)
02: 检测到校验和错误 (从站)
03: 配置不匹配 (从站)
04 - (仅对于端口 1)端口不可用, punit 已连接或 punit 模式
此位由系统设置为 1,且必须由用户复位。
%SW113 远程连接配置 说明:位 0 对应于远程控制器 1,位 1 对应于远程控制器 2,依此类 S
推。
位 [0] 到 [6]:
z 设置为 0 = 远程控制器 1-7 未配置
z 设置为 1 = 远程控制器 1-7 已配置

位 [8] 到位 [14]:
z 设置为 0 = 将远程 I/O 配置为远程控制器 1-7
z 设置为 1 = 将对等控制器配置为远程控制器 1-7

%SW114 启用调度块 由用户程序或操作显示启用或禁用调度块的操作。 S 与 U,


位 0:1 = 启用调度块 #0 SIM
...
位 15:1 = 启用调度块 #15
最初启用所有的调度块。
如果配置了调度块,则缺省值为 FFFF
如果未配置调度块,则缺省值为 0。

35013230 06/2011 687


系统位和系统字

系统字 功能 描述 控制
%SW118 基板控制器状态字 显示基板控制器上的条件。 S, SIM
位 9:0 = 外部错误或通讯中断
位 12:0 = 未安装 RTC*
位 13:0 = 配置错误 (已配置 I/O 扩展 *,但不存在或不运行)
此字的其他所有位均设置为 1 并且是保留位。对于运行正确的控制
器,此字的值为 FFFFh。
注: * 对于 Twido Extreme PLC (TWDLEDCK1),未集成扩展 I/O 和
RTC。

%SW120 (1) 扩展 I/O 模块状态 (2) 每个模块一位。 S, SIM


地址 0 = 位 0
1 = 检测到错误
0 = 正常
%SW121 ASCII 帧大小 将位 %S103 (Comm 1) 或 %S104 (Comm 2) 设置为 1 时,使用 ASCII U
%SW122 协议。可以更改端口 1 或端口 2 的 ASCII 帧大小。端口 1 的 ASCII 帧
大小为 %SW121,而端口 2 的 ASCII 帧大小为 %SW122。
此值仅在 EXCH 指令开始时使用。因此,如果已经收到一些字节,在
接收最后一个字节前,不能停止接收。

注意:(1) 此系统字不可用于 Twido Extreme PLC (TWDLEDCK1)。


(2)
如果在加电时缺少单个扩展模块,则所有扩展模块位都设置为 1 (检测错误)。

表缩写介绍
缩写表:

缩写 描述
S 由系统控制
U 由用户控制
SIM 在 TwidoSuite 仿真器中使用

688 35013230 06/2011


TwidoSuite V2.3
术语
35013230 05/2009

术语

%
标识控制器中的用于存储程序变量、常量和 I/O 等值的内部内存地址的前缀。

一体型控制器
Twido 控制器的类型,提供具有有限扩展的简单的多合一配置。模块型是另一种
Twido 控制器类型。

主控制器
被配置为远程连接网络上的主站的 Twido 控制器。

主机
网络上的节点。

交叉引用
生成一个在应用程序中使用的操作码、变量、行 / 梯级编号和操作符的列表,以简
化创建和管理应用程序。

交叉引用查看器
TwidoSuite 应用程序中的专门窗口,用于查看交叉引用。

交换机
连接两个或多个单独的网络段并允许在它们之间传递通讯的网络设备。交换机根据
帧的目标地址来决定是阻止帧还是传输帧。

35013230 06/2011 689


术语

保护
指两种不同类型的应用程序保护:提供访问控制的密码保护和防止应用程序的所有
读取和写入的控制器应用程序保护。

停止
使控制器停止运行应用程序的命令。

内存使用率指示灯
TwidoSuite 主窗口中状态栏的一部分,显示应用程序使用的总控制器内存的百分
比。内存低时会发出指示。

内存存储卡
可选备份内存存储卡,可用于备份和恢复应用程序 (程序和配置数据)。有两种大
小:32 Kb 和 64 Kb。

冷启动或冷重启
由控制器进行的启动,所有的数据均初始化为默认值,且程序从开始启动,所有的
变量均清除。所有的软件和硬件设置被初始化。将新的应用程序载入到控制器 RAM
可以导致冷重启。任何没有电池备份的控制器在冷启动时加电。

分析程序
编译程序和检查程序错误的命令:语法和结构错误、没有相应地址的变量、程序使
用的资源不可用,以及如果程序不适合于可用控制器内存。错误消息会显示在程序
错误查看器中。

初始化
将所有的数据值设置为初始状态的命令。控制器必须处于停止或错误模式。

初始状态
TwidoSuite 的操作状态,当启动了 TwidoSuite 或没有打开的应用程序时显示在状态
栏上。

功能块
输入和变量的程序单元,被组织起来以基于定义的功能 (例如定时器或计数器)来
计算输出的值。

690 35013230 06/2011


术语

动态数据表
在语言编辑器或操作屏幕中创建的数据表。在 PC 连接到控制器时,提供控制器变
量的视图并可以在调试时强制执行值。可以另存为扩展名为 .tat 的独立文件。

动态数据表编辑器
TwidoSuite 应用程序中的专门窗口,用于查看和创建动态数据表

协议
描述由两个或多个设备使用的消息格式和一组规则,以使用这些格式进行通讯。

变量
可以由程序寻址和修改的内存单元。

变量表
在应用程序中使用的变量的表。显示在变量编辑器中。

可编程控制器
一个 Twido 控制器。有两种类型的控制器:一体型和模块型。

可逆指令
可以将指令作为指令列表指令或梯形图梯级交替查看的编程方法。

因特网
基于计算机通讯网络的 TCP/IP 的全球互连。

在线操作
PC 连接到控制器且 PC 内存中的应用程序与控制器内存中的应用程序相同时的
TwidoSuite 操作模式。在线操作可用于调试应用程序。

在线状态
PC 连接到控制器时显示在状态栏上的 TwidoSuite 操作状态。

地址
控制器中的内部寄存器,用于存储程序变量、常量和 I/O 等值。使用百分号 (%) 前
缀标识地址。例如, %I0.1 指定的是控制器 RAM 内存中包含输入通道 1 的值的地
址。

35013230 06/2011 691


术语

备份
将控制器 RAM 中的应用程序复制到控制器内部 EEPROM 和可选的备份内存存储卡
(如果已安装)的命令。

子网
IP 网络内的物理或逻辑网络,与网络的其他部分共享一个网络地址。

子网掩码
用于标识或确定 IP 地址中的哪些位对应于网络地址以及哪些位对应于该地址的子网
部分的位掩码。子网掩码为网络地址加上专用于标识子网的位。

定时器
用于选择时间期限以控制某个事件的的功能块。

实例
程序中属于特定类型功能块的唯一对象。例如,在定时器格式 %TMi 中, i 是代表
该实例的数字。

实时时钟
即使控制器断电了有限的一段时间,仍会保留时间的选件。

客户端
处理来自其他计算机进程的请求服务的计算机。

寄存器
专用于 LIFO/FIFO 功能块的控制器内部的特殊寄存器。

对等控制器
被配置为远程连接网络上的从站的 Twido 控制器。可以在对等控制器内存中执行应
用程序,并且该程序可以访问本地和扩展 I/O 数据,但是无法将 I/O 数据传递到主控
制器。在对等控制器中运行的程序使用网络字 (%INW 和 %QNW)将信息传递到
主控制器。


构成信息离散块的一组位。帧包含网络控制信息或数据。帧的大小和构成由正在使
用的网络技术决定。

692 35013230 06/2011


术语

帧类型
两种常见的帧类型为以太网 II 和 IEEE 802.3。

常量
已配置的值,无法由正在执行的程序进行修改。

应用程序
FeeleoSuite 应用程序由程序、配置数据、符号和文档组成。

应用程序文件
将 Twido 应用程序存储为 .twd 文件类型。

应用程序浏览器
TwidoSuite 中的专门窗口,显示应用程序的图形树状视图。可以方便地配置和查看
应用程序。

强制
故意将控制器输入和输出设置为 0 或 1,即使实际值是不同的。用于在激活程序时
进行调试。

扩展 I/O 模块
可选扩展 I/O 模块可用于将 I/O 点添加到 Twido 控制器。(并非所有的控制器模块均
允许扩展)。

扩展总线
扩展 I/O 模块使用此总线连接到本体控制器。

扫描
控制器扫描某程序,必须执行三个基本功能。首先,读取输入并将这些值放入内存
中。其次,一次执行一个应用程序指令并将结果存储在内存中。最后,使用结果来
更新输出。

扫描方式
指定控制器如何扫描程序。有两种类型的扫描方式:正常 (循环),控制器连续地
扫描;或周期,控制器在开始其他扫描之前进行所选的期限 (范围为 2 - 150 毫秒)
的扫描。

35013230 06/2011 693


术语

指令列表
以指令列表 (IL) 编写的程序,由控制器顺序执行的一系列指令组成。每个指令由一
个行号、一个指令编码和一个操作码组成。

指令列表编辑器
用于创建和编辑指令列表程序的简单程序编辑器。

操作状态
表明 TwidoSuite 的状态。显示在状态栏中。有四种操作状态:初始、脱机、在线和
监视器。

操作码
程序可以在指令中操作的表示值的数字、地址或变量。

操作符
一个变量或代码,指定指令要执行的操作。

擦除
此命令可以删除控制器中的应用程序,并具有两个选项:
z 删除控制器 RAM、控制器内部 EEPROM 和安装的可选备份存储卡的内容。
z 仅删除安装的可选备份存储卡的内容。

数据包
通过网络发送的数据单元。

数据变量
请参阅变量。

日期 / 时钟功能
可以按月、日或时间控制事件。请参阅调度模块。

映象输出
在计数模式下,超高速计数器根据其配置的阀值来测量其当前值 (%VFC.V),以确
定这些专用输出的状态。

694 35013230 06/2011


术语

服务器
向客户端提供服务的计算机过程。此术语还指服务所基于的计算机过程。

未解析的变量名
没有变量地址的变量。

梯形图
以梯形图编写的程序,是由控制器顺序执行的一系列梯级中的具有表示触点、线圈
和块的变量的控制程序指令的图形表示组成。

梯形图指令列表梯级
显示不可转换为梯形图的部分指令列表程序。

梯形图编辑器
TwidoSuite 的专门窗口,用于编辑梯形图程序。

梯级
梯级位于网格中的两个电压条之间,由一组水平或垂直相互连接的图形元素组成。
梯级的最大尺寸为七行和十一列。

梯级头
直接显示在梯形图梯级上并可以用于说明梯级用途的面板。

模块型控制器
使用扩展功能提供灵活配置的 Twido 控制器类型。一体型是 Twido 控制器的另一种
类型。

模拟电位计
一种应用的电压,可以调整并转换为离散量值以供应用程序使用。

步骤
Grafcet 步骤指定动态显示的顺序操作的状态。

35013230 06/2011 695


术语

注释
注释是您输入的说明程序用途的文本。对于梯形图程序,可以在梯级头中输入最多
三行文本以描述梯级的用途。每行可以由 1 到 64 个字符组成。对于指令列表程序,
在未编号的程序行中输入文本。必须将注释插入在括号和星号内,例如:
(*COMMENTS GO HERE*)。

注释行
在指令列表程序中,可以在与指令不同的行上输入注释。注释行没有行号,并且必
须插入在括号和星号内,例如:(*COMMENTS GO HERE*)。

热重启
在掉电之后由控制器进行的加电 (无需更改应用程序)。控制器返回到掉电前所处
状态,并完成正在执行的扫描。保留所有的应用程序数据。仅在模块型控制器上提
供此功能。

监视器状态
PC 在非写入模式下连接到控制器时显示在状态栏上的 TwidoSuite 的操作状态。

程序错误查看器
TwidoSuite 的专门窗口,用于查看程序错误和消息。

符号
变量是字母数字字符 (最多 32 个)组成的字符串,其中第一个字符为字母。它使
您可以个性化控制器对象,以促进应用程序的可维护性。

线圈
梯形图元素,表示来自控制器的输出。

网关
连接具有不同网络架构的网络并在应用层运行的设备。此术语可以指路由器。

网络
共享用于通讯的公用数据路径和协议的互连设备。

脱机操作
PC 未连接到控制器且 PC 内存中的应用程序与控制器内存中的应用程序不同时的
FeeleoSuite 操作模式。您在脱机操作中创建和开发应用程序。

696 35013230 06/2011


术语

脱机状态
PC 未连接到控制器时显示在状态栏上的 TwidoSuite 操作状态。

自动行确认
插入或修改列表指令时,此可选设置允许在输入每条指令以查看错误和未解析的变
量的同时,确认程序行。在退出该行之前必须修正每个元素。使用 " 首选项 " 对话
框选择。

自动载入
启用的一项功能,在应用程序丢失或损坏的情况下,将应用程序从备份存储卡自动
传送到控制器 RAM。加电时,控制器将当前在控制器 RAM 中的应用程序与可选备
份内存存储卡 (如果已安装)中的应用程序相比较。如果存在差异,则备份存储卡
中的副本将被复制到控制器和内部 EEPROM。如果未安装备份存储卡,则内部
EEPROM 中的应用程序将复制到控制器。

节点
通讯网络上的可寻址设备。

触点
梯形图元素,表示到控制器的输入。

计数器
用于计算事件 (加计数或减计数)的功能块。

调度模块
用于通过编程设置日期和时间功能以控制事件的功能块。需要实时时钟选件。

资源管理器
在编程和配置过程中,通过跟踪到应用程序所做的软件对象的引用来监视应用程序
的内存需求的 TwidoSuite 组件。如果某对象用作指令列表指令或梯形图梯级中的操
作码,则此对象被视为由应用程序引用。显示关于使用的总内存的百分比的状态信
息,并且如果内存变低,会发出指示。请参阅内存使用率指示灯。

超高速计数器:
功能块,提供比计数器和高速计数器功能块所能提供的计数更快的计数。超高速计
数器进行计数的频率可以达到 20 KHz。

35013230 06/2011 697


术语

路由器
连接两个或多个网络段并允许信息在它们之间流动的设备。路由器检查其接收的每
个数据包,并决定是阻止还是传输来自网络其他部分的该数据包。路由器会尝试使
用最有效的路径通过网络发送数据包。

运行
使控制器运行应用程序的命令。

远程控制器
被配置为与远程连接网络上的主控制器进行通讯的 Twido 控制器。

远程连接
用于在主控制器和最多七个远程控制器 (从站)之间进行少量数据通讯的高速主站
/ 从站总线。有两种类型的远程控制器,可配置为向主控制器传送数据:可以传送应
用程序数据的对等控制器或可以传送 I/O 数据的远程 I/O 控制器。远程连接网络可以
包含这两种类型。

配置编辑器
用于管理硬件和软件配置的 TwidoSuite 专门窗口。

锁定输入
捕捉和记录输入脉冲,用于应用程序以后进行检查。

阀值输出
由超高速计数器 (%VFC) 根据配置过程中确定的设置直接控制的线圈。

集线器
连接一系列灵活且集中的模块以创建网络的设备。

首选项
用于设置指令列表和梯形图程序编辑器的具有可选选项的对话框。

高速计数器
功能块,提供比计数器功能块所能提供的加 / 减计数更快的加 / 减计数。高速计数
器进行计数的频率可以达到 5 KHz。

698 35013230 06/2011


术语

默认网关
网络或主机的 IP 地址,所有发送到未知网络或主机的数据包会发送到这里。典型的
默认网关为路由器或其他设备。

鼓控制器
一种功能块,其运行与机电鼓控制器类似,均随着外部事件而更改步骤。

ASCII
(美国信息交换标准码)用于表示字母数字字符、特殊字母、数字以及某些图形和
控制字符的通讯协议。

BootP
基于 UDP/IP 的协议 (自展协议),可以使启动主机动态地配置其自身而无需用户
监督。 BootP 提供了一个方法,以通知主机其分配的 IP 地址。

CAN
控制器区域网络:现场总线,最初为汽车应用程序而开发,现在则用于从工业到第
三产业的很多部门。

CiA
自动化中的 CAN:CAN 产品的用户和制造商的国际组织。

COB
通讯对象:CAN 总线上的传输单元。 COB 由唯一的标识符 [0, 2047] 进行标识,标
识符在 11 个位上进行编码。一个 COB 最多包含 8 个数据字节。 COB 传输的优先
级通过其标识符表示,即标识符越低,则相关 COB 具有的优先级越高。

EDS
电子数据表单:每个 CAN 设备的描述文件 (由制造商提供)。

EEPROM
电可擦除可编程只读存储器。 Twido 具有一个内部 EEPROM 和一个可选的外部
EEPROM 内存存储卡。

35013230 06/2011 699


术语

Executive Loader
一个 32 位 Windows 应用程序,用于将新的 Firmware Executive 程序下载到 Twido
控制器。

FIFO
先入先出。用于队列操作的功能块。

Firmware Executive
Firmware Executive 是执行应用程序和管理控制器操作的操作系统。

Grafcet
Grafcet 被用于以结构和图形格式表示顺序操作的运行。
这是一种将任何顺序控制系统划分为一系列步骤的分析方法,动作、转换和条件均
与这些步骤关联。

IP
因特网协议。一个公共网络层协议。 IP 通常与 TCP 一起使用。

IP 地址
因特网协议地址。使用 TCP/IP 分配给主机的 32 位地址。

LIFO
后入先出。用于栈操作的功能块。

MAC 地址
媒体访问控制地址。设备的硬件地址。 MAC 地址在工厂里就已经分配给以太网
TCP/IP 模块。

MBAP
Modbus 应用协议

Modbus
允许某主站请求从站响应的主站 - 从站通讯协议。

700 35013230 06/2011


术语

PC
个人计算机。

PLC
Twido 可编程控制器。有两种类型的控制器:一体型和模块型。

PLS
脉冲生成。生成方波 (占空比为 50% 开, 50% 关)的功能块。

PWM
脉冲宽度调制。生成具有可变占空比 (可以由程序设置)的矩形波的功能块。

RAM
随机存取存储器。将 Twido 应用程序下载到内部易失性 RAM 中执行。

RTC
请参阅实时时钟。

RTU
远程终端单元。用于在控制器和 PC 之间通讯的使用八位的协议。

TCP
传输控制协议。

TCP/IP
是由传输控制协议和因特网协议组成的协议组;也是因特网所基于的通讯协议组。

Twido
Schneider Electric 控制器的一个系列,由两种类型的控制器 (一体型和模块型)、
添加 I/O 点的扩展模块以及选件 (例如实时时钟、通讯、操作显示和备份内存存储
卡)组成。

35013230 06/2011 701


术语

TwidoSuite
用于配置和通过编程设置 Twido 控制器的 32 位 Windows 图形开发软件。

UDP
一种通讯协议,即用户数据文报协议,是 TCP/IP 组的一部分,应用程序使用该协
议传送数据文报。 UDP 也是 TCP/IP 组中负责端口地址的部分。

702 35013230 06/2011


TwidoSuite V2.3
索引
35013230 05/2009

索引
B
AC
-, 627 %S100, 673
" 动态显示 " 选项卡 %S101, 673
PID, 601 %S103, 673
" 常规 " 选项卡 %S104, 673
PID, 581 %S11, 669
" 跟踪 " 选项卡 %S110, 673
PID, 603 %S111, 673
" 输入 " 选项卡 %S112, 673
PID, 588 %S113, 674
" 输出 " 选项卡 %S118, 674
PID, 597 %S119, 674
“AT” 选项卡 %S12, 669
PID, 592 %S120, 674
“ 常规 ” 选项卡 %S121, 674
PID, 585 %S13, 669
*, 627 %S17, 669
/, 627 %S18, 669
%Ci, 458 %S19, 669
%DR, 515 %S20, 669
%FC, 521 %S21, 669
%INW, 40 %S22, 670
%MSG, 536 %S23, 670
%PLS, 512 %S24, 670
%PWM, 509 %S25, 670
%QNW, 40 %S26, 670
%S, 668 %S31, 671
%S0, 668 %S33, 671
%S0=1 %S38, 671
Twido Extreme, 204 %S39, 671
%S1, 668 %S4, 668
Twido Extreme, 204 %S5, 668
%S10, 668 %S50, 671

35013230 06/2011 703


索引

%S51, 671 %SW33, 678, 679


%S52, 672 Twido Extreme, 327
%S59, 672 %SW34, 678, 679
%S6, 668 %SW35, 678, 679
%S66, 672 %SW36, 678, 679
%S69, 672 %SW37, 678, 679
%S7, 668 %SW38, 678, 679
%S75, 672 %SW39, 679
%S8, 668 %SW40, 679
%S9, 668 %SW48, 679
Twido Extreme, 204 %SW49, 679
%S95, 672 %SW50, 679
%S96, 672 %SW51, 679
%S97, 672 %SW52, 679
%SBR, 463 %SW53, 679
%SCi, 466 %SW54, 679
%SW, 675 %SW55, 679
%SW0, 675 %SW56, 679
%SW1, 675 %SW57, 679
%SW101, 686 %SW58, 680
%SW102, 686 %SW59, 680
%SW103, 686 %SW6, 675
%SW104, 686 %SW60, 680
%SW105, 687 %SW63, 680
%SW106, 687 %SW64, 681
%SW11, 676 %SW65, 681
%SW111, 687 %SW67, 681
%SW112, 687 %SW68, 682
%SW113, 687 %SW69, 682
%SW114, 687 %SW7, 676
%SW118, 688 %SW73, 682
%SW120, 688 %SW74, 682
%SW121, 688 %SW76, 682
%SW122, 688 %SW77, 682
%SW14, 677 %SW78, 682
%SW15, 677 %SW79, 682
%SW16, 677 %SW80, 682
%SW17, 677 Twido Extreme, 327
%SW18, 677 Twido Extreme, 683
%SW19, 677 %SW81...%SW87, 286
%SW20..%SW27, 287, 677 %SW81..%SW87, 683
%SW30, 677 %SW94, 684
%SW31, 678 %SW96, 685
%SW32, 678 %SW97, 685
%TM, 455

704 35013230 06/2011


索引

%VFC, 524 CANJ1939


+, 627 DP (数据页) , 300
ABS, 627 I/O 对象 , 326
ACOS, 630 IDE (标识符扩展) , 301
AND 指令 , 437 PDU 格式 , 300
AS-i V2 总线 PG (参数组) , 299
AS-i 总线的编程和诊断 , 234 PGN (参数组编号) , 299
I/O 寻址 , 232 PS (PDU 特定) , 301
从站插入 , 230 RTR (远程传输请求) , 301
从站映像的传送 , 225 SOF (帧开始) , 301
从站诊断 , 222 SPN 请求 , 324
停用的从站 , 231 SPN (可疑参数编号) , 299
在在线模式下 in online mode, 220 SRR (替代远程请求) , 301
常规功能描述 , 209 专用模式配置 , 324
接受新配置 , 228 元素配置 , 308
操作模式 , 239 冲突检测 , 302
显式交换 , 234 创建 (或删除)传输 / 接收对象 , 311
更改从站地址 , 223 创建传输 / 接收对象 , 312
简介 , 208 删除传输 / 接收对象 , 316
自动从站寻址 , 229 地址分配 , 302
软件设置原则 , 212 实施 CANJ1939 总线 , 303
软件配置 , 215 对等 , 302
配置屏幕 , 213 广播 , 302
隐式交换 , 233 广播 (传输)消息 , 320
ASCII 广播 (接收)消息 , 321
硬件配置 , 100 广播配置 , 320
软件配置 , 102 查看传输 / 接收对象 , 318
通讯 , 68, 100 源地址 , 301
配置端口 , 103 知识库 , 297
ASCII 连接 端口配置 , 308
示例 , 107 系统字 , 327
ASIN, 630 网络配置 , 308
ATAN, 630 通讯 , 302
BLK, 399 配置对话框 , 308
CAN 总线 , 244 CANJ1939 元素 , 297
CAN_CMD, 289 CANJ1939 总线
CAN-high , 244 配置方法 , 306
CAN-low, 244 CANJ1939 编程
I/O 错误消息 , 328
数据浏览 , 328
CANJ1939:标识符 , 300
CANopen 主模块
PDO 寻址 , 284
CANopen 总线
配置方法 , 263

35013230 06/2011 705


索引

CANopen 现场总线 MAX_ARR, 655


CANopen 现场总线的编程和诊断 , 286 MEAN, 665
显式交换 , 286 MIN_ARR, 655
隐式交换 , 285 Modbus
CANopen:协议 , 244 主模块 , 68
CANopen:描述 , 244 从站 , 69
CANopen:热交换 , 293 标准请求 , 126
COS, 630 硬件配置 , 111
DEG_TO_RAD, 632 软件配置 , 113
DINT_TO_REAL, 634 通讯 , 68, 111
ECU (电子控制单元) , 297 配置端口 , 114
END 指令 , 490 modbus 功能代码
END_BLK, 399 读取设备标识 , 133
EQUAL_ARR, 651 Modbus 连接
EXCH, 535 示例 1, 119
EXCH 指令 , 535 示例 2, 123
EXP, 627 MPP, 413
EXPT, 627 MPS, 413
FIFO MRD, 413
操作 , 505 NOP, 492
简介 , 503 NOP 指令 , 492
FIND_, 653 NOT 指令 , 443
Grafcet OCCUR_ARR, 656
关联动作 , 423 OPEN, 392
序列处理 , 421 OR 指令 , 439
指令 , 416 OUT_BLK, 399
示例 , 417 PG (参数组) , 299
预处理 , 420 PGN
I/O 请求 , 329
寻址 , 38 PGN (参数组编号) , 299
I/O 地址 PID
Twido Extreme, 160 " 动态显示 " 选项卡 , 601
I/O 寻址 , 38 " 常规 " 选项卡 , 581
INT_TO_REAL, 634 " 跟踪 " 选项卡 , 603
JMP, 493 " 输入 " 选项卡 , 588
LD, 433 " 输出 " 选项卡 , 597
LDF, 430, 433 “AT” 选项卡 , 592
LDN, 433 “ 常规 ” 选项卡 , 585
LDR, 429, 433 PID 选项卡 , 590
LIFO 概述 , 573
操作 , 504 调试 , 600
简介 , 503 配置 , 580
LKUP, 661 PID 特性 , 577
LN, 627 PID 选项卡
LOG, 627 PID, 590

706 35013230 06/2011


索引

PLS TOF 定时器 , 452


Twido Extreme, 183 TON 定时器 , 453
PLS 功能块 TP 型定时器 , 454
Twido Extreme, 184 TRUNC, 627
Potentiometer, 140 Twido Extreme
PWM 功能块 I/O 地址 , 160
Twido Extreme, 190 Twido Extreme
PWM 液压输出 PLS, 183
Twido Extreme, 197 PLS 功能块 , 184
PWM 液压输出配置 PWM 功能块 , 190
Twido Extreme, 197 PWM 液压输出 , 197
PWM 输入 PWM 液压输出配置 , 197
Twido Extreme, 171 PWM 输入 , 171
PWM 输入地址 PWM 输入地址 , 171
Twido Extreme, 171 PWM 输入配置 , 171
PWM 输入配置 PWM 输入配置示例 , 173
Twido Extreme, 171 PWM 输出 , 189
PWM 输入配置示例 PWM 输出地址 , 189, 197
Twido Extreme, 173 PWM 输出配置 , 189
PWM 输出 专用 PLS/PWM 输出 , 183
Twido Extreme, 189 Twido Extreme
PWM 输出地址 主动模拟量输入 , 167
Twido Extreme, 189, 197 Twido Extreme
PWM 输出配置 以太网连接 , 76
Twido Extreme, 189 打开 %PLS 配置表 , 188
R, 435 打开 %PWM 配置表 , 194
RAD_TO_DEG, 632 抖动 , 199
REAL_TO_DINT, 634 操作模式 , 204
REAL_TO_INT, 634 斜坡 , 200
RET, 494 模拟量输入 , 167
ROL_ARR, 657 模拟量输入地址 , 167
ROR_ARR, 657 模拟量输入示例 , 169
S, 435 模拟量输入配置 , 167
SHORT, 392 模拟量输入配置字段 , 168
SIN, 630 液压 PWM 输出配置示例 , 205
SORT_ARR, 659 Twido Extreme
SPN (可疑参数编号) , 299 离散量输入 , 163
SQRT, 627 离散量输入地址 , 164
SR, 494 Twido Extreme
ST, 435 离散量输入配置 , 163
STN, 435 离散量输入配置字段 , 166
SUM_ARR, 649
TAN, 630
TCP/IP
协议 , 69

35013230 06/2011 707


索引

Twido Extreme 位对象 , 499


离散量输出 , 180 功能块 , 41
离散量输出地址 , 180 寻址 , 34
离散量输出配置 , 180 概述 , 25
离散量输出配置字段 , 182 余数 , 479
Twido Extreme 使用寿命 , 253
脉冲发生器输出 , 183 减 , 479
被动模拟量输入 , 167 功能块
Twido Extreme PWM, 509
输入 / 输出 , 160 图形元素 , 390
输入 / 输出概述 , 160 在梯形图中 , 386
输入强制 , 163 在编程网格中 , 387
输入滤波 , 163 基本功能块概览 , 446
输入锁存 , 163 定时器 , 450, 455
Twido Extreme 寄存器 , 503
配置 %PLS 功能块 , 186 步进计数器 (%SCi), 466
配置 %PWM 功能块 , 192 移位寄存器 (%SBR), 463
TwidoSuite 编程标准功能块 , 448
介绍 , 18 计数器 , 458
XOR, 441 调度模块 , 542
不可转换编程 , 501 鼓控制器 , 515, 519
与 PC 的通讯 加 , 479
将以太网用于 Twido Extreme, 76 协议 , 68
专用 PLS/PWM 输出 Modbus TCP/IP, 69
Twido Extreme, 183 单 / 双字转换指令 , 488
专用模式配置 参数 , 450
CANJ1939, 324 双字对象
主动模拟量输入 功能块 , 42
Twido Extreme, 167 寻址 , 37
乘 , 479 概述 , 30
事件任务 可转换性
不同事件源 , 63 指南 , 399
事件管理 , 64 简介 , 398
概述 , 62 可转换编程 , 501
交换功能块 , 536 启动 , 247
以太网连接 图形元素
Twido Extreme, 76 梯形图 , 389
传输 / 接收对象 (CANJ1939) 圆括号
创建 , 312 修改器 , 411
创建 (或删除) , 311 在程序中使用 , 410
删除 , 316 嵌套 , 411
查看 , 318 基本功能块 , 446
传输消息 , 535
位字符串 , 43

708 35013230 06/2011


索引

备份和恢复 广播 (传输)消息
32K 备份存储卡 , 55 CANJ1939, 320
64K 扩展存储卡 , 58 广播 (接收)消息
不使用存储卡 , 53 CANJ1939, 321
存储器结构 , 50 广播配置
子程序指令 , 494 CANJ1939, 320
字对象 , 499 开放回路调整 , 617
功能块 , 41 异或,指令 , 441
寻址 , 35 引脚输出
概述 , 27 通讯电缆凸型连接器 , 73
存储器 通讯电缆凹型连接器 , 73
32K 存储卡 , 55 微分作用 , 620
64K 存储卡 , 58 总线 AS-i V2 总线
不使用存储卡 , 53 调试总线 , 225
结构 , 50 打开 %PLS 配置表
存储器位 , 25 Twido Extreme, 188
存储器字 , 27 打开 %PWM 配置表
定时器 , 450 Twido Extreme, 194
1 毫秒时基 , 456 抖动 , 199
TOF 类型 , 452 指令
TON 型 , 453 AND, 437
TP 型 , 454 END, 490
简介 , 450 JMP, 493
编程和配置 , 455 NOP, 492
实时修正因数 , 376 NOT, 443
实时时钟修正 , 541 RET, 494
寄存器 SR, 494
FIFO, 505 XOR, 441
LIFO, 504 比较 , 477
编程和配置 , 506 算术 , 479
对象 赋值 , 435
位对象 , 25 转换 , 486
功能块 , 41 载入 , 433
双字 , 30 逻辑 , 482
字 , 27 指令列表行注释 , 401
浮点 , 30 指令列表语言
结构化 , 43 概览 , 404
对象表 , 43 指令列表语言指令 , 407
对象验证 , 24 接收消息 , 535
寿命保护 , 253 控制参数
布尔指令 , 429 ASCII, 104
OR, 439 控制表
理解此手册中使用的格式 , 431 Modbus, 115
布尔累加器 , 406 摘要
平方根 , 479 消息对象 , 315

35013230 06/2011 709


索引

操作区 , 384 模式:预操作 , 249


操作块 , 388 模拟量 I/O 模块寻址 , 147
图形元素 , 391 模拟量模块
操作显示 寻址 , 147
串行口设置 , 374 操作 , 146
实时修正 , 376 示例 , 156
实时时钟 , 375 配置 I/O, 148
控制器 ID 和状态 , 365 模拟量输入
概述 , 362 Twido Extreme, 167
系统对象和变量 , 367 模拟量输入地址
操作模式 Twido Extreme, 167
Twido Extreme, 204 模拟量输入示例
操作码 , 406 Twido Extreme, 169
数字处理 模拟量输入配置
概览 , 471 Twido Extreme, 167
数字指令 模拟量输入配置字段
移位 , 484 Twido Extreme, 168
赋值 , 472 模拟量通道 , 142
无条件梯级 , 400 步进计数器 , 466
时钟功能 比例作用 , 618
时间和日期标记 , 545 比较块 , 387
概览 , 541 图形元素 , 391
设置日期和时间 , 547 比较指令 , 477
调度模块 , 542 沿检测
标记 上升 , 429
索引 , 46 下降 , 430
栈 , 503 测试区 , 384
栈指令 , 413 浮动对象
梯形图 寻址 , 36
OPEN 和 SHORT, 392 浮点对象
功能块 , 386 概述 , 30
图形元素 , 389 消息对象
简介 , 382 摘要 , 315
编程规则 , 384 索引 , 315
梯形图指令列表梯级 , 400 液压
梯形图梯级 , 382 抖动 , 199
梯形图程序 斜坡 , 200
转换到指令列表 , 398 液压 PWM 输出配置示例
梯级 Twido Extreme, 205
无条件 , 400 溢出 , 480
梯级头 , 385 索引 , 47
注释 , 402 物理层 , 244
概述 CAN 总线 , 244
PID, 573 用变量表示 , 48
模式:操作 , 249 直接标记 , 46

710 35013230 06/2011


索引

示例 被动模拟量输入
加 / 减计数器 , 462 Twido Extreme, 167
离散量输入 触点 , 386
Twido Extreme, 163 图形元素 , 389
离散量输入地址 计数器 , 458
Twido Extreme, 164 编程和配置 , 461
离散量输入配置 计算 , 479
离散量输入配置 , 163 访问调试
离散量输入配置字段 PID, 600
Twido Extreme, 166 访问配置
离散量输出 PID, 580
Twido Extreme, 180 说明程序 , 401
离散量输出地址 调制解调器的通讯 , 77
Twido Extreme, 180 调试
离散量输出配置 PID, 600
Twido Extreme, 180 赋值指令 , 435
离散量输出配置字段 数字 , 472
Twido Extreme, 182 超高速计数器功能块 (%VFC), 524
积分作用 , 619 跳转指令 , 493
移位寄存器 , 463 转换指令 , 486
移位指令 , 484 输入 / 输出
算术指令 , 479 Twido Extreme, 160
系统位 , 668 输入 / 输出概述
系统字 , 675 Twido Extreme, 160
索引 输入强制
消息对象 , 315 Twido Extreme, 163
索引溢出 , 47 输入滤波
累加器 , 406 Twido Extreme, 163
线圈 , 386 输入锁存
图形元素 , 390 Twido Extreme, 163
绝对值 , 479 远程连接
编程 主控制器配置 , 90
说明程序 , 401 硬件配置 , 88
编程建议 , 394 示例 , 95
编程网格 , 384 软件配置 , 90
编程规则 , 501 远程 I/O 数据访问 , 92
编程语言 远程控制器同步扫描 , 91
概览 , 19 远程控制器配置 , 90
网络 通讯 , 68, 88
寻址 , 40 连接元素
脉冲发生器输出 图形元素 , 389
Twido Extreme, 183 递减 , 479
脉冲生成 , 512 递增 , 479
脉宽调制 , 509
节点保护 , 253

35013230 06/2011 711


索引

通讯
ASCII, 100
Modbus, 111
远程连接 , 88
通讯概述 , 68
通讯电缆连接 , 70
通过以太网通讯 , 70
通过调制解调器通讯 , 70
逻辑指令 , 482
配置
ASCII 的传输 / 接收表 , 104
ASCII 的端口 , 103
Modbus 端口 , 114
PID, 580
配置 %PLS 功能块
Twido Extreme, 186
配置 %PWM 功能块
Twido Extreme, 192
错误 , 480
键开关
输入 , 161
闭合回路调整 , 616
队列 , 503
除 , 479
高级功能块
位对象和字对象 , 499
编程规则 , 501
高速计数器功能块 , 521
鼓控制器
编程和配置 , 519
鼓控制器功能块 , 515

712 35013230 06/2011

You might also like