德国倍福电气有限公司北京代表处
地址:北京市西城区金融大街 27 号投资广场 B 座 1608 室
网址:http://www.beckhoff.com
电话:(010) 66210991 66213553
传真:(010) 66210992
TWINCAT
PLC
编 程 手 册
2.7 版 本
IEC 61131-3 PLC 编程语言
德国倍福电气有限公司
北京代表处
德国倍福电气有限公司北京代表处
地址:北京市西城区金融大街 27 号投资广场 B 座 1608 室
网址:http://www.beckhoff.com
电话:(010) 66210991 66213553
传真:(010) 66210992
1.
TWINCAT PLC 概 述.......................................................................................................................................3
2.
TWINCAT PLC 要 点.......................................................................................................................................5
程 序 的 组 成 部 分................................................................................................................................... 5
调试,在线功能.......................................................................................................................................17
标准 ...........................................................................................................................................................18
3. 让我们写一段小程序........................................................................................................................................ 19
2.1.
2.3.
2.4.
5.
4.
4.1.
4.2.
4.3.
4.4.
4.5.
4.6.
4.7.
TWINCAT PLC 的详细组成部分...................................................................................................................30
操作项目...................................................................................................................................................30
操作目标...................................................................................................................................................42
常用编辑命令...........................................................................................................................................45
常用在线命令...........................................................................................................................................46
关于视图...................................................................................................................................................54
编排窗口...................................................................................................................................................55
求助信息 !.................................................................................................................................................56
TWINCAT PLC 编辑器...................................................................................................................................58
说明语句编辑器.......................................................................................................................................58
5.1.
文本编辑器〔常用功能〕 .......................................................................................................................61
5.2.
指令表编辑器...........................................................................................................................................65
5.3.
结构化文本编辑器 ...................................................................................................................................67
5.4.
图形编辑器 ...............................................................................................................................................77
5.5.
功能块图编辑器.......................................................................................................................................78
5.6.
梯形图编辑器........................................................................................................................................... 82
5.7.
用 LD 编写的一个 POU:..........................................................................................................................82
5.8.
5.9.
顺序功能流程图编辑器.......................................................................................................................... 86
5.10. 用 SFC 编写的一个 POU:........................................................................................................................86
5.11.
PLC 组态...................................................................................................................................................92
5.12. 全局变量...................................................................................................................................................92
5.13. 库管理器...................................................................................................................................................94
5.14. 变量观测窗口...........................................................................................................................................95
5.15. 采样跟综................................................................................................................................................... 96
5.16. 任务编辑器..............................................................................................................................................100
6. 可视化.............................................................................................................................................................. 102
7. DDE 接口.............................................................................................................................................................105
A.
B.
8. 附录 .................................................................................................................................................................. 106
键盘操作.................................................................................................................................................106
IEC 运算................................................................................................................................................. 106
算术运算....................................................................................................................................... 106
位串运算....................................................................................................................................... 108
选择函数....................................................................................................................................... 109
比较函数....................................................................................................................................... 111
地址函数....................................................................................................................................... 114
调用操作符CAL...........................................................................................................................114
标准的库函数.........................................................................................................................................114
B.1.
B.2.
B.3.
B.4.
B.5.
B.6.
C.
第 1 页 共 145页
德国倍福电气有限公司北京代表处
地址:北京市西城区金融大街 27 号投资广场 B 座 1608 室
网址:http://www.beckhoff.com
电话:(010) 66210991 66213553
传真:(010) 66210992
C.1.
C.2.
C.3.
C.4.
C.5.
C.6.
C.7.
C.8.
类型转换函数............................................................................................................................... 114
数值函数....................................................................................................................................... 115
位移函数....................................................................................................................................... 117
字符串功能................................................................................................................................... 118
双稳态功能块............................................................................................................................... 121
边沿检测....................................................................................................................................... 122
计数器........................................................................................................................................... 123
计时器........................................................................................................................................... 124
D.TWINCAT PLC 中的操作数............................................................................................................................ 127
E. 错误信息参考...................................................................................................................................................131
第 2 页 共 145页
德国倍福电气有限公司北京代表处
地址:北京市西城区金融大街 27 号投资广场 B 座 1608 室
网址:http://www.beckhoff.com
电话:(010) 66210991 66213553
传真:(010) 66210992
1.
TWinCAT PLC 概 述
TWinCAT PLC 是什么?
TWinCAT PLC 是 一 个 完 整 的 用 于 逻 辑 控 制 器 的 开 发 系 统。
TWinCAT PLC 具 有 功 能 强 的 语 言 结 构, 符 合 IEC 国 际 标 准。这 些
使 你 易 于 进 行 程 序 的 开 发。 就 像 Visual C++ 一 样,具有高 级 语 言
编 程 系 统的开发 环 境 ,可为编 辑器 的 操 作 和 调 试 功 能设 置 模式。
程序的结构是什么?
怎样写程序?
怎样测试程序 ?
所 有 的 项 目 数 据 存 在 一 个 有 项 目 名 称 的 文 件 中。 一 个 新 项
目 的 第 一 个 POU, 系 统 会 自 动 地 给 定 名 称 MAIN, 这 是 程 序 的
起 点。( 在 C 程 序 中, 这 是 一 个 主 函数。〕 从 这 里 开 始, 你 可
以 调 用 其 它 的 POUs( 程 序, 功 能 块 和 函数〕。
TWinCAT PLC 区 分 一 个 项 目 中 的 三 种 不 同 目 标 :POUs, 结 构 和
可 视 化 元 素。 利 用 这 些 目 标, 你 可 以 创 建 你 的 项 目。 在 目
标 表 中, 你 可 以 看 到 你 的 项 目 目 标 。
首 先, 当 你 开 始 开 发 一 个 新 程 序 时, 你 必 须 对 你 的 硬 件 系
统 进 行 组 态。 这 对 于 检 查 使 用 的 地 址 是 否 正 确 是 必 要 的。
现在 你 可 以 对 你 的 问 题 组 态 必 要 的 POUs。 然 后, 你 开 始 用 你
选 择 的 语 言 对 你 的 POUs 进 行 编 程。
在 编 辑 完 项 目 的 所 有 目 标 后, 编 译 你 写 的 程 序 并 去 掉 语
法 错 误。
当 修 正 了 程 序 中 的 所 有 语 法 错 误 后, 你 可 以 转 换 到 仿真模
式, 登 录 到 仿真控 制 器 中, 并 把 你 的 项 目 装 入 到 控 制 器 里,
现 在,TWinCAT PCL 以 在 线 方 式 运 行。
你 可 以 打 开 图 形 硬 件 组 态 窗 口, 强 制 给 定 输 入, 然 后 观 察
输 出。 在 每 个 POU 的 说 明 语 句 部 分 以 及 全 局 变 量 表 中, 你 能
够 看 到 项 目 数 据 的 当前值, 你 也 可 以 去 写, 强 制 给 定 数 值。
在 另 一 个 观 察 窗 口 中, 你 可 以 组 态 你 想 要 检 查 的 数 据 单
元。
用 TWinCAT PLC 进行调
试
在 发 生 程 序 错 误 的 地 方, 你 可 以 设 置 中 断 点。 程 序 停 止 执
行 后, 你 可 以 在 这 个 中 断 点 上 检 查 所 有 的 程 序 数 据。 单 步
功 能 允 许 你 一 步 一 步 地 检 查 程 序 的 逻 辑 是 否 正 确。
第 3 页 共 145页
德国倍福电气有限公司北京代表处
地址:北京市西城区金融大街 27 号投资广场 B 座 1608 室
网址:http://www.beckhoff.com
电话:(010) 66210991 66213553
传真:(010) 66210992
进一步的在线功能
TWinCAT PLC 支 持 进 一 步 的 调 试 功 能。 允 许 按 照 一 定 数 值 强
制 改 变 程 序 变 量 和 输 入/ 输 出 值。 流 程 控 制 使 你 能 够 检 查
哪 一 行 程 序 被 执 行, 并 且 当 运行 编 码 时, 向 你 显 示 该 行 所用
的 每 个 变 量 的 数 值。
采 样 跟 综 用 于 跟 综 变 量 并 以 曲 线 方 式 显 示 数 值。
在 编 写 和 测 试 程 序 后, 你 可 以 把 程 序 下 装 到 你 的 硬 件 系 统
中, 并 继 续 测 试。 这 时, 像 用 模 拟 方 式 调 试 一 样,你可用 同 样
的 调 试 方 法。
TWinCAT PLC 的其它功
能
在 任 何 时 候, 可 以 将 整 个 项 目 存 档 或 输 出 到 一 个 文 本 文 件
中。
总 结
TWinCAT PLC 是 一 个 完 整 的 用 于 逻 辑 控 制 器 的 开 发 系 统。 使
用 TWinCAT PLC, 使 你 大 大减 少 开 发 应 用 软 件 所 需 要 的 时 间。
第 4 页 共 145页
德国倍福电气有限公司北京代表处
地址:北京市西城区金融大街 27 号投资广场 B 座 1608 室
网址:http://www.beckhoff.com
电话:(010) 66210991 66213553
传真:(010) 66210992
2.
TWinCAT PLC 要 点
为了便于你掌握 TWinCAT PLC, 请阅读下面的基本 TWinCAT PLC 术语表:
2.1. 程 序 的 组 成 部 分
项 目(Project)
一个项目包括控制器程序的所有目标,保存在有项目名称的文件中。一个文件由以
下目标组成:PLC-Configuration, Tasks, POUS, 结构,全局变量表,库,观测
变量,可视化元素。
编 程 组 织 单 元 (POUs)
POUs 由函数,功能块和程序构成。
函数 (Function)
每个 POU 由说明语句部分和语体组成。语体用 IEC 编 程 语 言 编 写:
指 令 表 Instruction List (IL), 结 构 化 文 本 Structured Text(ST), 功 能 块 图
Function Block Diagram (FBD), 梯形图 Ladder Diagram (LD) 或顺序功能流程 图
Sequential Function Chart (SFC).
TWinCAT PLC 支持所有的 IEC 标 准 POUs。
POUs 可以调用其它 POUs. 然而,被调用的 POUs 不允许再 调用其它的 POUs.
一 种函数是一个 POU,当执行这种函数时,它精确地提供一个数 据元素( 也 可
以像数列或结构数据那样由多个数据元素组成〕。
一种函数总是用一定的形式来说明。 即: 在 功 能名称的后面是一个冒号和类型
符。
一个正确的函数说明语句如下:
FUNCTION Fct:
INT
另外,一个数值被分配给函数。即,函数名称可以像一个输出变量那样使用。函数
数值必须与它的说明类型相一致。
第 5 页 共 145页
德国倍福电气有限公司北京代表处
地址:北京市西城区金融大街 27 号投资广场 B 座 1608 室
网址:http://www.beckhoff.com
电话:(010) 66210991 66213553
传真:(010) 66210992
下图举例说明函数 FBD-Example。该函数用 FBD 语言编写,有三个 BOOL 输入和一个 BOOL 输出:
在 ST 语言中,调用一个函数,如同使用一个表达式中的操作数。
图 2.1.1 功能
函数不含有内部的状态信息。这就是说,调用具有相同自变量(输入参数〕的一个函数,总是产生相同
的数值(输出〕。
举例调用上面所描述的函数:
用 IL 语言编写:
LD
FBD_Example 2,4
ST
7
Result
用 ST 语言编写:
Result := FBD_Example(7, 2, 4);
用 FBD 语言,可这样调用功能 :
第 6 页 共 145页
德国倍福电气有限公司北京代表处
地址:北京市西城区金融大街 27 号投资广场 B 座 1608 室
网址:http://www.beckhoff.com
电话:(010) 66210991 66213553
传真:(010) 66210992
在 SFC 语言中,一个功能公可以在一步或一个转换内调用。
功能块(Function Block)
一个功能块是一个 POU,当执行该功能时,它产生一个或多个数值。
功能块没有类型说明。
功能块的例程(Instances
of Function Blocks〕
一个功能块可以产生多个以不同名称命名的例程。每一例程都有一个相关的标识符
(例程名称〕,还有一个数据结构,该数据结构包含有输出,输入和内部变量。
像变量一样,功能块例程可被定义在局部变量表中。其方法是用标识符表示,用功
能块名称作为类型。
下面是功能块 FUB,例程名称为 INSTANCER :
INSTANCE: FUB;
一个功能块的所有数值保持到下一次功能块执行之前。因此,调用同样的功能块,
尽管它们有相同的自变量〔输入变量〕,但是,功能块的输出值并不总是相同。
第 7 页 共 145页