twincat 快速入门 - benhao.combenhao.com/uploads/20111219/20111219130268856885.pdf ·...

45
窗口控制和自动化技术 TwinCAT 快速入门 最后一次修改日期 2001.12.11

Upload: trandieu

Post on 05-May-2018

298 views

Category:

Documents


1 download

TRANSCRIPT

Page 1: TwinCAT 快速入门 - benhao.combenhao.com/uploads/20111219/20111219130268856885.pdf · 窗口控制和自动化技术 TwinCAT 快速入门 最后一次修改日期 2001.12.11

窗口控制和自动化技术

TwinCAT 快速入门

最后一次修改日期 2001.12.11

Page 2: TwinCAT 快速入门 - benhao.combenhao.com/uploads/20111219/20111219130268856885.pdf · 窗口控制和自动化技术 TwinCAT 快速入门 最后一次修改日期 2001.12.11

德国倍福电气有限公司北京代表处

地址 北京市西城区金融大街 27号投资广场 B座 1608室

网址 http://www.beckhoff.com

电话 (010) 66210991 66213553 传真 (010) 66210992

第 2 页 共 45页

目录

TwinCAT 快速入门

1. 使用 TwinCAT和系统需求简介......................... 3

2. 安装............................................... 4

启动安装程序....................................... 4

安装结束.......................................... 11

3. TwinCAT PLC 控制.................................. 13

概貌.............................................. 13

PLC 标准化语言 IEC 61131-3........................ 14

4. TwinCAT 系统管理器................................ 17

概貌.............................................. 17

5. TwinCAT 观测器.................................... 18

概貌.............................................. 18

6. 示例程序.......................................... 19

示例 Maschine.pro................................. 19

跟随程序流程...................................... 28

7. 示例程序转换...................................... 32

变量声明.......................................... 32

设置总线端子...................................... 33

8. Visual Basic 链接................................. 42

编程接口 ADS OCX.................................. 42

示例程序.......................................... 43

Page 3: TwinCAT 快速入门 - benhao.combenhao.com/uploads/20111219/20111219130268856885.pdf · 窗口控制和自动化技术 TwinCAT 快速入门 最后一次修改日期 2001.12.11

德国倍福电气有限公司北京代表处

地址 北京市西城区金融大街 27号投资广场 B座 1608室

网址 http://www.beckhoff.com

电话 (010) 66210991 66213553 传真 (010) 66210992

第 3 页 共 45页

1. 使用 TwinCAT和系统需求简介

本简介的目的是在没有详细地了解TwinCAT的情况下 为读者快速地提供概貌的可能性 解释是在运

用一个应用实例 并在各个章节中逐步展开而进行的

程序的各个指令可参考详细信息

系统需求 486 及以上处理器 要使TwinCAT运行 你需要一台486及以上处理器的PC 计算机还必须具备数学运算协处理器 该处理器

集成在486DX, DX2 或 DX4 处理器中 在有486SX 或 SX2 处理器的情况下 可以用处理器超频而使计

算机升级 使其具有协处理器

至少具有 16 MB RAM 计算机必须至少具备 16 MB RAM 如果应用程序较大 或还有附加的软件需要和TwinCAT同时运行时

则需要增加内存

Windows NT/2000 操作系统 TwinCAT 只能在 Windows NT/2000 操作系统下运行 不能在 Windows NT V3.x, Windows 95 或

Windows V3.x 16-位操作系统下运行

演示程序需求 你需要以下的软件和硬件才能运行演示程序

- TwinCAT 版本 2.0 或以上

- Microsoft Visual Basic 版本 4.0 或以上

- 用于 Lightbus I/O 的 PC 接口卡 (FC2001)

- 用于 Lightbus I/O 的总线偶合器 (BK2000)

- 2 块带 2 个数字输出的总线端子 (KL2032)

- 总线末端端子 (KL9010)

- 导线材料 (光纤电缆 标准连线等)

- 24V 电源单元

演示套装件: 演示程序所需的硬件包含在 Beckhoff Lightbus 的演示套装件中

Page 4: TwinCAT 快速入门 - benhao.combenhao.com/uploads/20111219/20111219130268856885.pdf · 窗口控制和自动化技术 TwinCAT 快速入门 最后一次修改日期 2001.12.11

德国倍福电气有限公司北京代表处

地址 北京市西城区金融大街 27号投资广场 B座 1608室

网址 http://www.beckhoff.com

电话 (010) 66210991 66213553 传真 (010) 66210992

第 4 页 共 45页

2. 安装

启动安装程序

启动 CD 上的 SETUP.EXE 程序 为此 打开浏览器 转到 CD ROM 并双击 SETUP.EXE 程序图标

下面的对话框被打开 点击 下一步 继续

选择语言 选择你想安装 TwinCAT 的标准语言 例如 要将其安装为英文 选择输入 英语 并点击 ‘OK’ 以确认

你的输入 安装通过菜单提示完成

退出程序 安装程序推荐 在运行该安装程序之前 退出所有的 Windows 程序

Page 5: TwinCAT 快速入门 - benhao.combenhao.com/uploads/20111219/20111219130268856885.pdf · 窗口控制和自动化技术 TwinCAT 快速入门 最后一次修改日期 2001.12.11

德国倍福电气有限公司北京代表处

地址 北京市西城区金融大街 27号投资广场 B座 1608室

网址 http://www.beckhoff.com

电话 (010) 66210991 66213553 传真 (010) 66210992

第 5 页 共 45页

授权协议

输入用户信息 你必须在该对话框中输入序列号 你可以在购买的 TwinCAT 协议中找到序列号 如果你想安装TwinCAT

的演示版本 应使该框为空

Page 6: TwinCAT 快速入门 - benhao.combenhao.com/uploads/20111219/20111219130268856885.pdf · 窗口控制和自动化技术 TwinCAT 快速入门 最后一次修改日期 2001.12.11

德国倍福电气有限公司北京代表处

地址 北京市西城区金融大街 27号投资广场 B座 1608室

网址 http://www.beckhoff.com

电话 (010) 66210991 66213553 传真 (010) 66210992

第 6 页 共 45页

选择安装级 必须选择下面安装级中的一种

产品级说明 TwinCAT CP

包含 Beckhoff 控制面板特殊功能的所需组件(UPS, S-键, ...) TwinCAT IO

(用户模式) 程序可直接存取 IO 设备 该级不包括 PLC TwinCAT PLC

TwinCAT PLC 中包含 IEC61131-3 软件开发工具

Page 7: TwinCAT 快速入门 - benhao.combenhao.com/uploads/20111219/20111219130268856885.pdf · 窗口控制和自动化技术 TwinCAT 快速入门 最后一次修改日期 2001.12.11

德国倍福电气有限公司北京代表处

地址 北京市西城区金融大街 27号投资广场 B座 1608室

网址 http://www.beckhoff.com

电话 (010) 66210991 66213553 传真 (010) 66210992

第 7 页 共 45页

TwinCAT NC PTP

除包含 PLC 外 本模块还包括用于控制PTP-轴的 NC/CNC 功能 TwinCAT NC I

除包含 PLC 外 本模块还包括用于 3D 插补驱动的 NC 功能

安装类型 选择 TwinCAT 作为 30天测试版本 登录安装或需要更多信息 如果你没有登录授权号 可‘安装30天版

本’ 并且在30天之内登录

安装类型 限制 30天版本 TwinCAT 可无任何限制地使用30天 这段时间之内必须用授权号激活该软件

否则30天之后程序不能再运行启动 通过电话或因特网登录 当你安装完成后 系统要求你输入授权号 参见如下

登录号 如果你打算登录 TwinCAT 你必须现在输入授权号 你必须直接从 Beckhoff 工业电气公司获得该登录号

电话号码在对话框中 为了计算登录授权号 必须给出系统识别号 系统识别号在对话框中显示

Page 8: TwinCAT 快速入门 - benhao.combenhao.com/uploads/20111219/20111219130268856885.pdf · 窗口控制和自动化技术 TwinCAT 快速入门 最后一次修改日期 2001.12.11

德国倍福电气有限公司北京代表处

地址 北京市西城区金融大街 27号投资广场 B座 1608室

网址 http://www.beckhoff.com

电话 (010) 66210991 66213553 传真 (010) 66210992

第 8 页 共 45页

组件选择 缺省时 不是所有的 TwinCAT 组件都安装

组件 说明 TwinCAT IO 允许通过 DLL 直接存取 IO 可以同 TwinCAT PLC 或 TwinCAT NC PTP 一起

安装 TwinCAT 观测器 TwinCAT 过程变量的图形可视程序 TwinCAT 凸轮伺服器

快速凸轮伺服器

Page 9: TwinCAT 快速入门 - benhao.combenhao.com/uploads/20111219/20111219130268856885.pdf · 窗口控制和自动化技术 TwinCAT 快速入门 最后一次修改日期 2001.12.11

德国倍福电气有限公司北京代表处

地址 北京市西城区金融大街 27号投资广场 B座 1608室

网址 http://www.beckhoff.com

电话 (010) 66210991 66213553 传真 (010) 66210992

第 9 页 共 45页

TwinCAT EDS 和 GSD 文件

EDS (DeviceNet) 和 GSD (主设备特性文件 Profibus) 构成了用户组态系统的所有设置

选择目标路径和程序文件夹 你可以在此选择任何目录和程序文件夹 通常选择缺省值

TwinCAT 安装完成后 TwinCAT 信息系统的安装自动启动 TwinCAT 信息系统包括 TwinCAT 文档资料 点击 'OK' 开始安装

Page 10: TwinCAT 快速入门 - benhao.combenhao.com/uploads/20111219/20111219130268856885.pdf · 窗口控制和自动化技术 TwinCAT 快速入门 最后一次修改日期 2001.12.11

德国倍福电气有限公司北京代表处

地址 北京市西城区金融大街 27号投资广场 B座 1608室

网址 http://www.beckhoff.com

电话 (010) 66210991 66213553 传真 (010) 66210992

第 10 页 共 45页

TwinCAT 信息系统安装结束 点击 结束 完成信息系统的安装 之后 TwinCAT 的安装也结束

重新启动计算机 安装完成后 计算机必须重新启动

现在 TwinCAT 的安装设置已经完成

Page 11: TwinCAT 快速入门 - benhao.combenhao.com/uploads/20111219/20111219130268856885.pdf · 窗口控制和自动化技术 TwinCAT 快速入门 最后一次修改日期 2001.12.11

德国倍福电气有限公司北京代表处

地址 北京市西城区金融大街 27号投资广场 B座 1608室

网址 http://www.beckhoff.com

电话 (010) 66210991 66213553 传真 (010) 66210992

第 11 页 共 45页

安装结束

新程序图标 安装完成后 Windows NT/2000 启动菜单中将包含一个新文件夹 其中有5个程序符号和另外两个程序文

件夹

启动

TwinCAT 自动运行启动文件夹中的所有经自动引导功能激活的程序 它可以确保在 TwinCAT 运行后

用户程序中来自 TwinCAT 的过程变量全部启动

TwinCAT 系统管理器

利用本程序的帮助 分配物理 I/O 地址 (现场总线) 到逻辑过程变量 (PLC 程序) 该分配称为映射 实时

特性也在此定义

TwinCAT PLC 控制

该软件为 IEC61131-3 的开发工具 PLC 程序均在此编写和测试

TwinCAT 系统控制

除可见的程序之外 还有在后台运行的隐藏的任务和驱动 TwinCAT 系统控制管理这些程序

TwinCAT 观察器

利用 TwinCAT 观察器的帮助 过程值可以用图形方式实时显示 动态轴的值完全可以检测

Windows NT/2000 中的 TwinCAT

系统启动后 TwinCAT 实时服务器图标显示在任务条的右侧 颜色指示系统的工作状态 它可以是 运行

(绿色) 启动 (黄色)和 停止 (红色)状态中的一种 如果你点击图标 一个弹出式菜单将会打开 你

Page 12: TwinCAT 快速入门 - benhao.combenhao.com/uploads/20111219/20111219130268856885.pdf · 窗口控制和自动化技术 TwinCAT 快速入门 最后一次修改日期 2001.12.11

德国倍福电气有限公司北京代表处

地址 北京市西城区金融大街 27号投资广场 B座 1608室

网址 http://www.beckhoff.com

电话 (010) 66210991 66213553 传真 (010) 66210992

第 12 页 共 45页

可以定义更多的系统设置 在这些指令范围之内 你可以接受缺省设置 TwinCAT 服务器可以在该菜单中

停止和启动 TwinCAT 信息系统

TwinCAT 信息系统是用于 TwinCAT 产品的随时更新的参考资料 它包括技术信息 手册 示例代码和

TwinCAT 基础知识等等 文档资料的层次排列使其很容易找到所需信息

全版本 如果你安装 Beckhoff CD 中的 TwinCAT 产品 则完整的 TwinCAT 信息系统也安装在你的计算机中

基本版本 如果你通过因特网自己下载安装 TwinCAT 则只有 TwinCAT 信息系统的基本版安装在你的计算机中

为获得完全版 (大小 13 MB) 你有如下几种途径可以得到

通过 Beckhoff CD 光盘

通过我们的 FTP 服务器 ftp://ftp.beckhoff.com/Software/TwinCAT/InfoSystem/1033/TcInfoSys.exe

通过我们的网络浏览服务器 http://www.beckhoff.com

你也可以按照上面所述的那样 从启动菜单中打开起始页而依次找到安装位置

Page 13: TwinCAT 快速入门 - benhao.combenhao.com/uploads/20111219/20111219130268856885.pdf · 窗口控制和自动化技术 TwinCAT 快速入门 最后一次修改日期 2001.12.11

德国倍福电气有限公司北京代表处

地址 北京市西城区金融大街 27号投资广场 B座 1608室

网址 http://www.beckhoff.com

电话 (010) 66210991 66213553 传真 (010) 66210992

第 13 页 共 45页

3. TwinCAT PLC 控制

概貌

什么是 TwinCAT PLC 控制? TwinCAT PLC 控制是用于 PLC 的完整开发环境 所使用的编辑器和调试功能建立在高级编程语言开发

环境基础之上

IEC 61131-3 TwinCAT PLC 允许 PLC 编程人员能很容易的获得功能强大的 IEC 61131-3 语言资源 下面的一些特征

将会在 TwinCAT PLC 开发教程中实现

功能块

Page 14: TwinCAT 快速入门 - benhao.combenhao.com/uploads/20111219/20111219130268856885.pdf · 窗口控制和自动化技术 TwinCAT 快速入门 最后一次修改日期 2001.12.11

德国倍福电气有限公司北京代表处

地址 北京市西城区金融大街 27号投资广场 B座 1608室

网址 http://www.beckhoff.com

电话 (010) 66210991 66213553 传真 (010) 66210992

第 14 页 共 45页

TwinCAT PLC 支持不同的编程语言 指令列表(IL), 结构文本(ST), 顺序功能图(SFC), 功能块图(FBD) 和

梯形图(LD).

无 PLC 测试 集成的软件 PLC 允许你在没有外部硬件的条件下测试 PLC 程序

在线修改 程序可以在 PLC 中 在线 修改

复用性 可复用已有的 PLC 程序块

标准化接口 与其它程序和计算机的链接 即使是通过网络 也是可能的 这要感谢标准化的 开放式接口

(DDE,OCX,DLL 等) 例如 通过使用 OLE 你可以实现数据传送到 MS Excel 中而无需作任何编程 并

且可在应用中对数据作进一步的处理

混合环境 感谢使用了系统无关的和多样化的网络协议 将 TwinCAT 集成到混杂的网络环境中是可能的 例如 在

UNIX 系统下运行的 Oracle 数据库可以通过 TCP/IP 与 TwinCAT 进行数据交换 并可以在 PDA 或

PPS 系统中对数据作进一步处理 或者在 TwinCAT 中指定参数以便控制生产过程

高级语言库 复杂算法可以在 C/C++ 或汇编中开发 例如 为了在 TwinCAT PLC 中对它们进行编址 许多第三方的

供货商为了处理特殊的任务而提供这些库

SCADA 系统 某些 SCADA 系统制造商 (Fix32, InTouch, Citect, Genesis, Wizcon, 等) 直接提供与 TwinCAT 链接的

驱动支持

远程存取 分布式控制系统的集中编程通过网络(包括 ISDN) 而成为可能 这归功于编程和运行环境是分离的这样一

个事实

直观的开发环境 按照技术上使用高级语言开发环境 (例如 visual C++) 的示例 断点 单步模式和对变量的跟踪等 使用

TwinCAT PLC 进行仿真是可能的 如同现代的开发环境一样

PLC 标准化语言 IEC 61131-3

在 TwinCAT PLC 中可以使用 IEC 61131-3 的五种不同语言创建 PLC 程序 指令列表 (IL) 指令列表与 STEP5 编程语言非常相似 每条指令都从一个新行开始并包含一个操作和一个或几个操作数 一条指令之前可以放置一个标号 后跟一个冒号 注解必须是一行中的最后一个元素 示例 标号 操作 操作数 注解 Start: LD Basin_level (* 装载限位值 *) GE 13 (* 到达限位值吗? *) JMPC Pump_on R Pump_control (* 泵关闭 *) JMP End

Page 15: TwinCAT 快速入门 - benhao.combenhao.com/uploads/20111219/20111219130268856885.pdf · 窗口控制和自动化技术 TwinCAT 快速入门 最后一次修改日期 2001.12.11

德国倍福电气有限公司北京代表处

地址 北京市西城区金融大街 27号投资广场 B座 1608室

网址 http://www.beckhoff.com

电话 (010) 66210991 66213553 传真 (010) 66210992

第 15 页 共 45页

Pump_on: S S Pump_control (* 泵启动 *): End: 结构文本 (ST) 在该种编程语言中 我们仍然说它是高级编程语言的原因是 它不是 面向机器 的命令 相反 可以用

简短的指令创建功能强大的命令串 它可以和来自 PC 领域中的 Basic, PASCAL 和 C 等高级编程语言相媲美 示例 操作 操作数 注解 CASE Temperatur_furnace OF (* 控制加热输出 *) 60..99: Heating := 80; (* 80% *) 100..149: Heating := 60; (* 60% *) 150..199: Heating := 35; (* 35% *) 200..250: Heating := 10; (* 10% *) ELSE: Alarm := TRUE; (* 设置报警 *) END_CASE; 功能块图 (FBD) 在 PLC 用功能块图编程的背后 其基本思想是 程序是结构化的 面向功能的 逻辑顺序级联 (网络) 在

一个网络之内 执行方向始终是从左到右 所有的输入值必须在功能块执行之前产生 只有在所有元素的

输出值都计算完成的情况下 才能对网络进行评估

示例

梯形图 (LD) 梯形图形式表示的逻辑顺序来源于工厂电气工程 该表达方式非常适合于 PLC 程序中实现继电开关操作

其过程仅限于布尔信号 1 和 2

顺序功能图 (SFC) 当需要顺序编程时 选择顺序功能图是合适的 复杂的任务被清楚地分割成部分程序(步骤) 在这些步骤间

的顺序被图形化定义 步骤自身可以用不同的编程语言创建 (ST, IL,…) 或 也可以再次用 SFC 表示

示例

Page 16: TwinCAT 快速入门 - benhao.combenhao.com/uploads/20111219/20111219130268856885.pdf · 窗口控制和自动化技术 TwinCAT 快速入门 最后一次修改日期 2001.12.11

德国倍福电气有限公司北京代表处

地址 北京市西城区金融大街 27号投资广场 B座 1608室

网址 http://www.beckhoff.com

电话 (010) 66210991 66213553 传真 (010) 66210992

第 16 页 共 45页

SFC 程序基本由步骤 转换条件和它们之间的连接组成 每个步骤都分配了一组命令 这些命令在该步骤

被激活时执行 转换条件必须被填充以确保下一步骤能被执行 步骤和转换条件可以用任何选定的语言编

Page 17: TwinCAT 快速入门 - benhao.combenhao.com/uploads/20111219/20111219130268856885.pdf · 窗口控制和自动化技术 TwinCAT 快速入门 最后一次修改日期 2001.12.11

德国倍福电气有限公司北京代表处

地址 北京市西城区金融大街 27号投资广场 B座 1608室

网址 http://www.beckhoff.com

电话 (010) 66210991 66213553 传真 (010) 66210992

第 17 页 共 45页

4. TwinCAT 系统管理器

概貌

什么是 TwinCAT 系统管理器? TwinCAT 系统管理器是 TwinCAT 系统中用于组态的主要工具

参与软件任务的输入和输出以及连接现场总线的物理输入和输出均由 TwinCAT 系统管理器管理 另外

激活的组态在线值可被监视 逻辑输入和输出被分配到物理的由软件任务和现场总线变量指定的逻辑连接

变量

TwinCAT 系统管理器的组态模块 下面列举了 TwinCAT 系统管理器的主要组件 这些组件的存在与否 取决于所安装的 TwinCAT 系统级

实时运行组态 实时运行组态和用户定义的任务创建

PLC 组态 此条目下列举了本地系统运行的所有 PLC 项目 (当前最多为四个项目)

凸轮组态 电子凸轮服务器及其组态

I/O 组态 相关的现场总线接口卡需要链接到控制和过程级 使用了什么卡必须在此定义

Page 18: TwinCAT 快速入门 - benhao.combenhao.com/uploads/20111219/20111219130268856885.pdf · 窗口控制和自动化技术 TwinCAT 快速入门 最后一次修改日期 2001.12.11

德国倍福电气有限公司北京代表处

地址 北京市西城区金融大街 27号投资广场 B座 1608室

网址 http://www.beckhoff.com

电话 (010) 66210991 66213553 传真 (010) 66210992

第 18 页 共 45页

5. TwinCAT 观测器

概貌

什么是观测器? TwinCAT 观测器是为各种 PLC 任务相关的变量提供图形显示的分析工具

曲线可以对时间为轴绘图 或者 你也可以选择观察 XY 显示

每个观测器可以使用几个通道 其数量只受内存大小和计算能力的限制 对于时间显示 其变量被分配到

各个通道中

观测器分析 观测器中可用的分析工具

数据备份 TwinCAT 观测器允许对数据进行一定数量的保存 例如作为 Excel 表

Page 19: TwinCAT 快速入门 - benhao.combenhao.com/uploads/20111219/20111219130268856885.pdf · 窗口控制和自动化技术 TwinCAT 快速入门 最后一次修改日期 2001.12.11

德国倍福电气有限公司北京代表处

地址 北京市西城区金融大街 27号投资广场 B座 1608室

网址 http://www.beckhoff.com

电话 (010) 66210991 66213553 传真 (010) 66210992

第 19 页 共 45页

6. 示例程序

示例 Maschine.pro

使用 TwinCAT 创建应用可以用一个示例程序作参考说明 该程序表示某选择工件的机械工具 在你完成

TwinCAT 的安装后 你可以找到 '\TwinCAT\Samples\First Steps' 目录 其名称为 'Maschine.pro'

示意图

说明

1) 传送带有 25 个步进式移动

2.) 钻孔机向下移动 2 秒

3.) 钻孔机向上移动 2 秒

4.) 重新回到步骤 1 开始

启动 TwinCAT: 在你运行该程序前 你必须激活 TwinCAT 实时服务器

Page 20: TwinCAT 快速入门 - benhao.combenhao.com/uploads/20111219/20111219130268856885.pdf · 窗口控制和自动化技术 TwinCAT 快速入门 最后一次修改日期 2001.12.11

德国倍福电气有限公司北京代表处

地址 北京市西城区金融大街 27号投资广场 B座 1608室

网址 http://www.beckhoff.com

电话 (010) 66210991 66213553 传真 (010) 66210992

第 20 页 共 45页

为此 点击 TwinCAT 实时服务器图标并激活系统菜单中的 启动 命令 图标的颜色从黄变为绿 这表

示 TwinCAT 实时运行核已经激活

启动 TwinCAT PLC 控制 现在从 TwinCAT PLC 中启动程序 用鼠标点击 开始 -> 程序 -> 'TwinCAT 系统' -> 'TwinCAT PLC 控制'.

打开项目

PLC 项目存储在硬盘上的文件中或与项目名相对应的磁盘中 要打开一个项目 选择 文件 菜单项 然

后使用 打开 命令

选择目录

通过点击显示在对话框中左侧的符号可切换到前面提到的指定目录 双击 'Samples' 条目 然后用相同的

Page 21: TwinCAT 快速入门 - benhao.combenhao.com/uploads/20111219/20111219130268856885.pdf · 窗口控制和自动化技术 TwinCAT 快速入门 最后一次修改日期 2001.12.11

德国倍福电气有限公司北京代表处

地址 北京市西城区金融大街 27号投资广场 B座 1608室

网址 http://www.beckhoff.com

电话 (010) 66210991 66213553 传真 (010) 66210992

第 21 页 共 45页

方法进入 'First steps' 条目

选择项目 通过用鼠标点击对话框中的条目可选择 'Maschine.pro' 项目 然后执行 打开 命令

PLC 控制项: 打开项目 Maschine.pro 后选择 POU (程序对象) MAIN 并用鼠标左键双击它 下面的对话框将被打开

Page 22: TwinCAT 快速入门 - benhao.combenhao.com/uploads/20111219/20111219130268856885.pdf · 窗口控制和自动化技术 TwinCAT 快速入门 最后一次修改日期 2001.12.11

德国倍福电气有限公司北京代表处

地址 北京市西城区金融大街 27号投资广场 B座 1608室

网址 http://www.beckhoff.com

电话 (010) 66210991 66213553 传真 (010) 66210992

第 22 页 共 45页

其上部的兰色条被项目名 Maschine.pro 占据

其中有一个命令菜单

和工具条

其下部的灰色条包含一个状态行

对话窗口被分为三个独立的窗口 它包括对象列表 变量声明和程序表示

对象列表:

Page 23: TwinCAT 快速入门 - benhao.combenhao.com/uploads/20111219/20111219130268856885.pdf · 窗口控制和自动化技术 TwinCAT 快速入门 最后一次修改日期 2001.12.11

德国倍福电气有限公司北京代表处

地址 北京市西城区金融大街 27号投资广场 B座 1608室

网址 http://www.beckhoff.com

电话 (010) 66210991 66213553 传真 (010) 66210992

第 23 页 共 45页

TwinCAT 在项目中可区分三种基本对象

· (程序) 块

· 数据类型

· 资源

变量声明

PLC 程序在变量中存储其数据 变量与标志字或数据字比较 变量在使用前必须声明 即 其加入到某一

数据类型 (如 BYTE 或 REAL) 必须为已知类型 声明也包括定义一些属性如电池缓冲 初始值或加入物

理地址 如果变量不需在输入或输出映射中 即仅在 PLC 程序中 则 PLC 编程者不需担心数据的存储

位置 它由 TwinCAT 处理 它避免了标志字/数据字和以前的系统出现无意的 交叠处理的可能性(负面

效应) 在作为变量使用时 功能块也必须声明(句柄) 在示例中 三个功能 'DriveType', 'DownType' 和

'UpType' 每个都创建了一个句柄 (drive, down 和 up) 在实例化之后 句柄可以被使用并被激活

程序表示

实际的 PLC 程序被输入并在 TwinCAT PLC 控制中表示

Page 24: TwinCAT 快速入门 - benhao.combenhao.com/uploads/20111219/20111219130268856885.pdf · 窗口控制和自动化技术 TwinCAT 快速入门 最后一次修改日期 2001.12.11

德国倍福电气有限公司北京代表处

地址 北京市西城区金融大街 27号投资广场 B座 1608室

网址 http://www.beckhoff.com

电话 (010) 66210991 66213553 传真 (010) 66210992

第 24 页 共 45页

选择目标系统 TwinCAT 可提供最多4个运行系统 每个运行系统都具有执行使用IEC61131-3编写的PLC程序的能力 并

且与其它运行系统独立 可在 在线 菜单中使用 选择运行系统… 你可以定义哪个运行系统可运行

你的程序

TwinCAT 安装后 只有一个运行系统被释放 因此只有第一个运行系统(运行系统 1)显示在对话框中 选

择 OK 进行确认选择

登录录入

你现在已经将 PLC 程序装入到 TwinCAT PLC 控制中并可能执行它 请确保 TwinCAT 运行服务器是

激活的 这可以通过屏幕右下方 TwinCAT 运行服务器图标为绿色加以确认 在你启动 PLC 程序前 必

须将 TwinCAT PLC 控制链接到运行系统中 即你必须 登录录入 到控制系统中 在 在线 菜单中执

行 登录录入 命令 此时运行系统中还没有 PLC 程序 你可以看到消息 控制器中没有程序 全部重

新建立 用 ‘OK’ 应答这个问题

当前的连接状态显示在状态行中

启动 PLC 程序

你可通过选择 在线 菜单中的 启动 命令启动 TwinCAT 运行服务器中的 PLC 程序 字 运行 在

状态行中加重显示 你也可以在顺序功能图中看到各个步骤被临时显示为蓝色 蓝色显示的步骤表示当前

正在执行 即它是激活的步骤

跟踪 PLC 程序顺序 当你通过点击在窗口底部的 对象列表 而激活 全局变量 窗口时 并双击 全局变量 对象 你将看

到所有的 已经声明的变量 全局变量可以被所有的程序对象(POU)共同使用

Page 25: TwinCAT 快速入门 - benhao.combenhao.com/uploads/20111219/20111219130268856885.pdf · 窗口控制和自动化技术 TwinCAT 快速入门 最后一次修改日期 2001.12.11

德国倍福电气有限公司北京代表处

地址 北京市西城区金融大街 27号投资广场 B座 1608室

网址 http://www.beckhoff.com

电话 (010) 66210991 66213553 传真 (010) 66210992

第 25 页 共 45页

除变量外 'timerUp', 'timerDown' 和 'devTimer' 功能块也在这里显示 在功能名之前可看到一个加号

当你双击加号时 一个树型结构被打开 功能中的所有变量均被显示

改变数制表示方式 你可以用各种数制系统显示变量内容 可以在十进制 十六进制和二进制中选择 如果你想改变显示 你

必须在 项目 菜单中选择 选项 命令 当前的设置会在对应的条目中用勾号表示

结束程序

你已经装入了 PLC 程序到 TwinCAT PLC 控制中(IEC 61131-3 编程环境) 并且你已经完成在 TwinCAT

PLC 服务器中执行它(运行系统) 现在需要结束 PLC 程序 为此 选择 在线 菜单中的 停止 命令

登录录出

在下节中 我们将要添加 PLC 程序 为此 你必须登录录出 TwinCAT PLC 服务器 可通过执行 在线

菜单中的 登录录出 命令完成

Page 26: TwinCAT 快速入门 - benhao.combenhao.com/uploads/20111219/20111219130268856885.pdf · 窗口控制和自动化技术 TwinCAT 快速入门 最后一次修改日期 2001.12.11

德国倍福电气有限公司北京代表处

地址 北京市西城区金融大街 27号投资广场 B座 1608室

网址 http://www.beckhoff.com

电话 (010) 66210991 66213553 传真 (010) 66210992

第 26 页 共 45页

查看程序文本: 本示例使用了 IEC 61131-3 编程语言的各种方法 程序的主要部分用顺序功能图(SFC)创建 它包括的步

骤有

· Init

· Engine

· Drill

包括的转换条件有

· TRUE

· End

· TimerUp.Q

查看转换条件 'TRUE' 转换条件常被满足 因为 'TRUE' 关键字是系统常数并且永远都能满足 'Engine' 步骤在’INIT’步

骤之后被无条件地执行 TimerUp.Q 表示变量 Q 在 Up 功能中必须为 TRUE (或为1) 才能满足该转换条

件 'End' 是包含其他程序文本的转换条件 当你双击该转换条件时 包含相应程序文本的另一个窗口被打

在 'End' 转换条件中 它比较电机的第 25 个步骤是否已经到达 如果此条件发生 程序改变到下一个循

环 即从 'engine' 步骤转变到 'drill' 步骤中 如果步骤或转换条件中包含其它的程序文本 它用一个小

黑色三角形指示

修改 PLC 程序 切回到 'MAIN' 窗口 在这里 你可以修改PLC程序 使电机的循环速度通过变量的方式修改为两种状态(快

/慢) 通过双击对象列表中的 'Drive Type' 功能 将输入光标移动到第一行 并输入以下文本 IF switch = TRUE THEN 当回车键 (回车) 被按下时 将出现一个对话框需要你填写 见下图

当你选择 'OK' 时 变量 'switch' 被加入到MAIN 的变量列表中 如果对话框没有被打开 则自动声明没

有激活 (可通过 项目 菜单 选项 中的 编辑器 栏选择自动声明激活) 在 编辑器 菜单中打开 自

Page 27: TwinCAT 快速入门 - benhao.combenhao.com/uploads/20111219/20111219130268856885.pdf · 窗口控制和自动化技术 TwinCAT 快速入门 最后一次修改日期 2001.12.11

德国倍福电气有限公司北京代表处

地址 北京市西城区金融大街 27号投资广场 B座 1608室

网址 http://www.beckhoff.com

电话 (010) 66210991 66213553 传真 (010) 66210992

第 27 页 共 45页

动声明

然后再输入如下的程序行 devSpeed := T#10ms; ELSE devSpeed := T#25ms; END_IF 该窗口必须具有如下内容

如果 'switch' 变量置位 'devSpeed' 变量设置为 25 ms 否则为 10 ms 其结果为 在下面的程序行中

脉冲时钟生成器的脉冲和脉冲持续时间 要么是 25 ms 要么是 10 ms

保存程序

通过选择 文件 菜单中的 保存 命令保存程序

编译程序 在程序传送到 TwinCAT PLC 服务器之前 必须编译 即必须从文本或图形表示形式转换到控制系统能够

识别的形式 为此 可在 项目 菜单项中选择 全部重新建立 项命令

启动程序 用控制系统登录录入并启动 PLC 程序 当程序运行时 你可看到 'switch' 变量被设置为 'FALSE'

修改变量值 当 PLC 程序运行时 你可以修改变量值 打开 全局变量 窗口并双击 'switch' 项 显示值从 FALSE 改

变到 TRUE 字符变为红色 但此时 TwinCAT PLC 服务器中的值并没有改变 为此 你必须执行 在

线 菜单中的 写入值 命令 字符再次变为黑色 'devSpeed' 变量变为 10 ms

跟踪程序顺序 用 TwinCAT 观察器可跟随程序流程 你可以在有关 TwinCAT PLC 的TwinCAT 信息系统中 找到更多

的关于 TwinCAT PLC 控制信息文档

Page 28: TwinCAT 快速入门 - benhao.combenhao.com/uploads/20111219/20111219130268856885.pdf · 窗口控制和自动化技术 TwinCAT 快速入门 最后一次修改日期 2001.12.11

德国倍福电气有限公司北京代表处

地址 北京市西城区金融大街 27号投资广场 B座 1608室

网址 http://www.beckhoff.com

电话 (010) 66210991 66213553 传真 (010) 66210992

第 28 页 共 45页

跟随程序流程

TwinCAT 观察器用于记录和分析程序

打开 TwinCAT 观察器 观察器只能通过开始菜单打开

用鼠标选择 '开始' -> '程序' -> 'TwinCAT 系统' -> 'TwinCAT 观察器'

TwinCAT 观察器的元素 TwinCAT 观察器窗口与 TwinCAT PLC 控制相似 第一行为项目名 其中有命令行和工具条

三个大窗口均为空 左边的窗口可以组态观察器

启动 TwinCAT 观察器 你必须首先添加观察器 换句话说 为启动示例程序 Maschine.pro 项目 为此 在观察器中右击鼠标键

选择 添加观测器 并用 'OK' 确认

添加通道 为显示各个信号 必须创建相关的通道 为此 在 观察器 1 中右击鼠标 选择 添加通道 并用 'OK'

键确认

Page 29: TwinCAT 快速入门 - benhao.combenhao.com/uploads/20111219/20111219130268856885.pdf · 窗口控制和自动化技术 TwinCAT 快速入门 最后一次修改日期 2001.12.11

德国倍福电气有限公司北京代表处

地址 北京市西城区金融大街 27号投资广场 B座 1608室

网址 http://www.beckhoff.com

电话 (010) 66210991 66213553 传真 (010) 66210992

第 29 页 共 45页

然后出现如下页 带有说明的 可记录值的变量

通过用户定义的采样时间为 10 ms 可得到清晰的显示

设置服务器口 下一步是设置服务器口 在询问下点击 改变 输入号 并用 'OK' 确认 (服务器口可从 PLC 控制中

找到 参见下面的目标系统选择 )

分配通道 通过再次点击 改变 将信号 .ENGINE 分配给通道 1 并用 'OK' 确认

Page 30: TwinCAT 快速入门 - benhao.combenhao.com/uploads/20111219/20111219130268856885.pdf · 窗口控制和自动化技术 TwinCAT 快速入门 最后一次修改日期 2001.12.11

德国倍福电气有限公司北京代表处

地址 北京市西城区金融大街 27号投资广场 B座 1608室

网址 http://www.beckhoff.com

电话 (010) 66210991 66213553 传真 (010) 66210992

第 30 页 共 45页

设置 页面显示下面的设置

重命名通道 : 缓慢双击 通道 1 允许将其重新命名为 ENGINE

添加更多的通道 你可以用相同的方法分配其它的通道

通道2=.DEVICEUP

通道3=.DEVICEDOWN

通道4=.STEPS

服务器口和采样时间对所有的通道都保持相同

当你完成创建和重新命名四个通道后 用 文件 菜单保存观察器 选择 另存为 并命名为Maschine.scp

Page 31: TwinCAT 快速入门 - benhao.combenhao.com/uploads/20111219/20111219130268856885.pdf · 窗口控制和自动化技术 TwinCAT 快速入门 最后一次修改日期 2001.12.11

德国倍福电气有限公司北京代表处

地址 北京市西城区金融大街 27号投资广场 B座 1608室

网址 http://www.beckhoff.com

电话 (010) 66210991 66213553 传真 (010) 66210992

第 31 页 共 45页

为了对各种不同的曲线加以区分 每个通道都可以分配不同的颜色 形式或轴 这可以借助于风格或显示

页完成

开始记录

从 观测器 菜单中选择 开始观测 启动记录

Maschine.pro 示例程序看起来象这样

你可以在TwinCAT 信息系统中找到更多的关于 TwinCAT 观测器的文档

Page 32: TwinCAT 快速入门 - benhao.combenhao.com/uploads/20111219/20111219130268856885.pdf · 窗口控制和自动化技术 TwinCAT 快速入门 最后一次修改日期 2001.12.11

德国倍福电气有限公司北京代表处

地址 北京市西城区金融大街 27号投资广场 B座 1608室

网址 http://www.beckhoff.com

电话 (010) 66210991 66213553 传真 (010) 66210992

第 32 页 共 45页

7. 示例程序转换

变量声明

本章中 你将连接前面的 PLC 程序到 Beckhoff 总线端子中 这可以通过 TwinCAT 系统管理器实现

通过使用系统管理器 所有的输入/输出接口连接均被管理 编址和分配 I/O 数据 每个 I/O 通道可以用

逻辑名编址 在相同的过程影像中 TwinCAT 系统管理器管理几个现场总线

注 必须具备所需的硬件 Lightbus 演示套件包括用于II/O-Lightbus(FC2001)的 PC 接口卡 总线偶合器 BK

2000 总线端子 2根光缆导线和一些文档 没有硬件请继续下一章 Visual Basic 链接

变量声明 变量的存储位置(地址) 由系统内部管理 编程者不需关心内存管理 PLC 程序使用符号变量名操作 这样

就阻止了在使用变量时负效应的发生(重叠) 为了在输入/输出级上存取 编程人员应对各个变量分配固定

的地址 这可以用关键字 'AT' 实现 它是声明变量时必须要指定的 在关键字 'AT' 之后跟随几个参数

以提供关于数据位置(输入/输出或标志区)和数据宽度 (位, 字节, 字或双字) 的信息 上面示例的变量声明

具有如下结构 VAR_GLOBAL engine AT %QX0.0: BOOL; deviceUp AT %QX0.1: BOOL; deviceDown AT %QX0.2: BOOL; timerUp : TON; timerDown : TON; steps : BYTE; count : UINT := 0; devSpeed : TIME := t#10ms; devTimer : TP; switch : BOOL; END_VAR 其中 数据位置 数据宽度 意义 % I/O 定义起点 I 输入 Q 输出 M 标志 X 位 (1 位) B 字节 (8 位) W 字 (16 位) D 双字 (32 位) 数据后的数字宽度指定了变量的地址 对于位变量 地址必须指定为 x.y 格式 或简单地用 x 表示字节

字和双字 输入和输出在不同的存储区域 它们可以有相同的地址

Page 33: TwinCAT 快速入门 - benhao.combenhao.com/uploads/20111219/20111219130268856885.pdf · 窗口控制和自动化技术 TwinCAT 快速入门 最后一次修改日期 2001.12.11

德国倍福电气有限公司北京代表处

地址 北京市西城区金融大街 27号投资广场 B座 1608室

网址 http://www.beckhoff.com

电话 (010) 66210991 66213553 传真 (010) 66210992

第 33 页 共 45页

设置总线端子

硬件需求 - PC 接口卡 : FC2001

- 总线偶合器 : BK2000

- 3 块数字输出, 24V : 2x KL2032

- 总线端端子 : KL9010

硬件是可以交换位置的 此时 I/O 设备的组态也应改变

设置端子 按照下图设置总线偶合器和总线端子

将总线偶合器连接到 PC 接口卡并给总线偶合器施加 24 V DC 电源

硬件手册 有关硬件连接的详细信息包含在演示套件的硬件手册中

启动 TwinCAT 实时服务器 现在 启动 TwinCAT 实时服务器 除非你已经这样做了 此时 TwinCAT 信息管道被激活

启动 TwinCAT 系统管理器 一旦系统被启动 图标的颜色将从红色变为绿色 现在启动 TwinCAT 系统管理器 可通过选择 '开始'-> '

程序' -> 'TwinCAT 系统' -> 'TwinCAT 系统管理器'

Page 34: TwinCAT 快速入门 - benhao.combenhao.com/uploads/20111219/20111219130268856885.pdf · 窗口控制和自动化技术 TwinCAT 快速入门 最后一次修改日期 2001.12.11

德国倍福电气有限公司北京代表处

地址 北京市西城区金融大街 27号投资广场 B座 1608室

网址 http://www.beckhoff.com

电话 (010) 66210991 66213553 传真 (010) 66210992

第 34 页 共 45页

TwinCAT 系统管理器的条目: 第一行是项目名 (这里为 '无标题'), 其中有命令行(菜单) 和工具条 在最后一行 你可看到系统状态 该

图中 系统正在运行(RTime) 中间的两个窗口包含系统组态 你可以用下面步骤组态系统

在系统管理器的左侧 系统组态用树形结构表示 主要包括下面四点

组态 意义 实时 设置实时参数 PLC 所有的 PLC 项目都需要组态 凸轮 添加凸轮服务器 I/O 为了将控制器链接到过程级 系统需要接口 该入口点提供所有接口的列表 TwinCAT 信息系统 你可在 TwinCAT 手册中找到更多的信息

PLC 组态 各个 PLC 项目均应使系统管理器可知 以便 TwinCAT 可以存取 PLC 程序变量 为此 当鼠标点在‘PLC

组态 上方时右击鼠标

一个上下文菜单被打开 你必须选择 '添加 IEC 工程…'

Page 35: TwinCAT 快速入门 - benhao.combenhao.com/uploads/20111219/20111219130268856885.pdf · 窗口控制和自动化技术 TwinCAT 快速入门 最后一次修改日期 2001.12.11

德国倍福电气有限公司北京代表处

地址 北京市西城区金融大街 27号投资广场 B座 1608室

网址 http://www.beckhoff.com

电话 (010) 66210991 66213553 传真 (010) 66210992

第 35 页 共 45页

转换到 '\TwinCAT\Samples\FirstSteps\' 目录并选择 'maschine.pro' 文件

在 ‘PLC组态’下增加了一个与 PLC 项目名称相对应的一个点

+ 和 – 符号指示其下是否还有其它的子项 通过点击这些符号 你可以打开或关闭这些条目 当你尽可能

地打开这些树时 可看到下面的结构

I/O 组态 一旦 PLC 项目加入到 PLC 组态中去后 则过程映像中的所有变量均可知 指定的 I/O 组态是必须的

Page 36: TwinCAT 快速入门 - benhao.combenhao.com/uploads/20111219/20111219130268856885.pdf · 窗口控制和自动化技术 TwinCAT 快速入门 最后一次修改日期 2001.12.11

德国倍福电气有限公司北京代表处

地址 北京市西城区金融大街 27号投资广场 B座 1608室

网址 http://www.beckhoff.com

电话 (010) 66210991 66213553 传真 (010) 66210992

第 36 页 共 45页

用鼠标右键选择 ‘I/O 设备’ 一个上下文菜单打开 你必须选择 ‘添加设备’ 项

选择 I/O 设备 下面的窗口被打开 选择设备类型 此时为 'I/O lightbus FC200x, PCI ' 你可以自由定义设备名

在右手侧 一个对话框现在被打开 你可以设置接口卡的组态 在 'FC2001' 滑动条下有一个重要的设置

例如 Lightbus 卡的 I/O 地址 如果你还没有更改卡上的缺省设置 你可以使用指定的条目

增加一个总线偶合器 打开 FC2001 卡(设备 1)的上下文菜单并选择 ‘添加盒…’ 命令

选择总线偶合器

Page 37: TwinCAT 快速入门 - benhao.combenhao.com/uploads/20111219/20111219130268856885.pdf · 窗口控制和自动化技术 TwinCAT 快速入门 最后一次修改日期 2001.12.11

德国倍福电气有限公司北京代表处

地址 北京市西城区金融大街 27号投资广场 B座 1608室

网址 http://www.beckhoff.com

电话 (010) 66210991 66213553 传真 (010) 66210992

第 37 页 共 45页

选择总线模块类型 此时为 'BK2000' 你可以自由定义总线模板名称

添加总线端子 打开 BK2000 (盒 1)的上下文菜单(按下鼠标右键)并且选择 ‘添加端子…’命令

选择总线端子 选择总线端子 KL2114 你可以用鼠标点击 + 和 – 符号打开和关闭端子选择

Page 38: TwinCAT 快速入门 - benhao.combenhao.com/uploads/20111219/20111219130268856885.pdf · 窗口控制和自动化技术 TwinCAT 快速入门 最后一次修改日期 2001.12.11

德国倍福电气有限公司北京代表处

地址 北京市西城区金融大街 27号投资广场 B座 1608室

网址 http://www.beckhoff.com

电话 (010) 66210991 66213553 传真 (010) 66210992

第 38 页 共 45页

你可以自由定义总线端子名称

示例程序需要 3 个数字量输出 为了插入第二个总线端子 重复该步骤

总线端端子 KL9010 由系统管理器自动插入

组态结束 组态有下面几个分段

它不提示你需要重新命名标准名称而继续进行(设备 1, 盒 1, 端子 1 等) 为此 缓慢双击相应的名称并

输入新的命名

将变量分配到输入/输出通道 到此为止 上面示例程序所需的全部硬件的组态已经完成 接下来 PLC 项目中的每个变量都必须分配到

各个输入/输出通道中

Page 39: TwinCAT 快速入门 - benhao.combenhao.com/uploads/20111219/20111219130268856885.pdf · 窗口控制和自动化技术 TwinCAT 快速入门 最后一次修改日期 2001.12.11

德国倍福电气有限公司北京代表处

地址 北京市西城区金融大街 27号投资广场 B座 1608室

网址 http://www.beckhoff.com

电话 (010) 66210991 66213553 传真 (010) 66210992

第 39 页 共 45页

为此 标识你要组态的端子 此时为端子 1 (四个数字量输出) 一个包含 '常规' 和 '变量' 书签的对话框

在右侧被打开 选择 '变量' 页

你可以看到有两个输出通道的列表 但是它们仍然为空 为了组态通道 1 选择相应的按钮('通道 1…')

下面的对话框被打开

所有的输出变量都在对话框中列出 选择第一个变量(engine)并用 ‘OK’ 确认你的输入 用第二个输出变量

处理模拟量

第一个总线端子被绑定

用其它的总线端子处理模拟量

分配变量 端子 2 PLC 变量 意义 通道1(=输出 1) engine 步进电机控制 通道2 (=输出 2) device.Up 钻孔机上升控制 Terminal 3 PLC 变量 意义 通道1 (=输出 3) device.Down 钻孔机下降控制 通道2 (=输出 4) - 自由通道 分配总线端子

Page 40: TwinCAT 快速入门 - benhao.combenhao.com/uploads/20111219/20111219130268856885.pdf · 窗口控制和自动化技术 TwinCAT 快速入门 最后一次修改日期 2001.12.11

德国倍福电气有限公司北京代表处

地址 北京市西城区金融大街 27号投资广场 B座 1608室

网址 http://www.beckhoff.com

电话 (010) 66210991 66213553 传真 (010) 66210992

第 40 页 共 45页

保存项目

你应该在此时保存组态以便以后使用 为此 运行 ‘文件’ 菜单下的 '另存为…' 命令

映射变量

你现在已经完成了上面示例程序的组态 必须创建配置 为此 使用 行为 菜单下的 创建配置 命令

在 '配置' 树入口处 可以看到 '标准设备 1(FC2001)' 点击该项 下面的窗口被打开

Page 41: TwinCAT 快速入门 - benhao.combenhao.com/uploads/20111219/20111219130268856885.pdf · 窗口控制和自动化技术 TwinCAT 快速入门 最后一次修改日期 2001.12.11

德国倍福电气有限公司北京代表处

地址 北京市西城区金融大街 27号投资广场 B座 1608室

网址 http://www.beckhoff.com

电话 (010) 66210991 66213553 传真 (010) 66210992

第 41 页 共 45页

在对话框中 你可以定义数据流从A到B或从B到A是否显示 此时 映像A对应PLC变量的过程映像 即输

入/输出变量 在总线偶合器BK2000的情况下 映像B对应I/O设备的过程映像 每个变量或总线端子在过

程映像中用高亮颜色表示 如果你在这些区域之一用鼠标停止 将显示一个小显示框 显示其精确位置

将组态写入注册表

作为最后一步 你必须保存组态到Windows NT 注册表中 因为当你启动TwinCAT时 它将评估储存在那

里的信息 从’行为’菜单中运行’保存到注册表…' 命令 如果有较早的组态已经储存在那里 将出现一个安

全提示 你必须进行确认

重新启动 TwinCAT: 你必须重新启动系统 以便 TwinCAT 接受变化

各个PLC 变量现在输出到总线端子KL 2032上 总线端子通过发光二极管指示信号状态

你可以在TwinCAT信息系统中找到更多的关于TwinCAT系统管理器的文档信息

Page 42: TwinCAT 快速入门 - benhao.combenhao.com/uploads/20111219/20111219130268856885.pdf · 窗口控制和自动化技术 TwinCAT 快速入门 最后一次修改日期 2001.12.11

德国倍福电气有限公司北京代表处

地址 北京市西城区金融大街 27号投资广场 B座 1608室

网址 http://www.beckhoff.com

电话 (010) 66210991 66213553 传真 (010) 66210992

第 42 页 共 45页

8. Visual Basic 链接

编程接口 ADS OCX

TwinCAT 具有几个编程接口以便集成到系统指定的应用程序中 来自微软的 Visual Basic 是被支持的一

种编程语言 这种编程语言的长处是 具有图形用户接口并可将它们连接到数据库中 Visual Basic 已经

被广泛地应用了几年而且现在也得到微软的大力推广 许多第三方供货商都提供数据包模块用于各个领域

这种模块一般都是OCX Beckhoff 提供OCX 用于TwinCAT 并称其为 AdsOCX AdsOCX 提供方法

通过TwinCAT 信息管道提供和其它的ADS 设备(PLC, NC/CNC, ...)通讯 所包含的示例程序显示了如何

在 Visual Basic 中存取TwinCAT PLC 服务器中的不同变量

存取方法: AdsOCX 包括各种从 ADS 设备读出数据的方法 采用何种方法取决于程序运行的环境 你可找到更多的

AdsOCX 指令的 各个特定功能的注解和详细的参考 下面仅给出各个存取方法的简要说明

方式 意义 连接 只要PLC变量和Visual Basic 变量之间需要通讯 在这两个变量之间可通过激活的方法建立连

接 在进一步的编程教程中 TwinCAT 将匹配Visual Basic 变量到PLC 变量中 这种数据交

换类型也可以用于激活事件功能(事件控制的数据传送) 在Visual Basic 程序中的 PLC 变量变化的事件

同步 在读/写方法激活后 Visual Basic程序的执行被中断 直到请求的数据到达 程序可以用新数

据继续工作 异步 当使用异步方式时 Visual Basic程序的执行不被中断 相反 下一个命令的执行被自动继续

进行 一旦请求的数据到达 AdsOCX 在Visual Basic 程序中将触发事件功能 其值将作为

参数传送

Page 43: TwinCAT 快速入门 - benhao.combenhao.com/uploads/20111219/20111219130268856885.pdf · 窗口控制和自动化技术 TwinCAT 快速入门 最后一次修改日期 2001.12.11

德国倍福电气有限公司北京代表处

地址 北京市西城区金融大街 27号投资广场 B座 1608室

网址 http://www.beckhoff.com

电话 (010) 66210991 66213553 传真 (010) 66210992

第 43 页 共 45页

示例程序

启动 TwinCAT 和 PLC 程序: 在你启动 Visual Basic 程序之前 必须激活 TwinCAT 和 PLC 程序

启动 Visual Basic 程序: 启动 'maschine.exe' 程序 (TwinCAT\ Samples\First Steps\)

在区域左侧 你可看到两个输出 它们也输出到总线端子 工件的计数变量显示在左侧底部 你可以在 ‘速

度’ 框中修改电机的循环速度 ’位置’显示对应输出到输出 1 的循环数

程序文本: Option Explicit DimdeviceUp As Boolean Dim deviceDown As Boolean Dim steps As Integer Dim counter As Long Dim hDeviceUp As Long Dim hDeviceDown As Long Dim hSteps As Long Dim hSwitch As Long Dim hCounter As Long '----------------------------------------------------- '当程序启动时 首次激活 '----------------------------------------------------- Private Sub Form_Load() 'Sprachabhängige Wörter aus Resource-Datei laden 'load language dependent words from the resource-file lblMachine.Caption = LoadResString(0 + GetLanguageId) lplDeviceUp.Caption = LoadResString(1 +GetLanguageId) lplDeviceDown.Caption = LoadResString(2 + GetLanguageId) lblCountLabel.Caption = LoadResString(3 + GetLanguageId) lplSteps.Caption =LoadResString(4 + GetLanguageId) fraSpeed.Caption = LoadResString(5 +GetLanguageId) optSpeedFast.Caption = LoadResString(6 + GetLanguageId)

Page 44: TwinCAT 快速入门 - benhao.combenhao.com/uploads/20111219/20111219130268856885.pdf · 窗口控制和自动化技术 TwinCAT 快速入门 最后一次修改日期 2001.12.11

德国倍福电气有限公司北京代表处

地址 北京市西城区金融大街 27号投资广场 B座 1608室

网址 http://www.beckhoff.com

电话 (010) 66210991 66213553 传真 (010) 66210992

第 44 页 共 45页

optSpeedSlow.Caption = LoadResString(7 + GetLanguageId) '用 VB 变量连接 PLC 变量 Call AdsOcx1.AdsReadIntegerVarConnect(".steps", 2&, 4, 55, steps) Call AdsOcx1.AdsReadBoolVarConnect(".deviceUp", 2&, 4, 55, deviceUp) Call AdsOcx1.AdsReadBoolVarConnect(".deviceDown", 2&, 4, 55, deviceDown) Call AdsOcx1.AdsReadLongVarConnect(".count", 4&, 4, 55, counter) '确定变量句柄 Call AdsOcx1.AdsCreateVarHandle(".steps", hSteps) Call AdsOcx1.AdsCreateVarHandle(".deviceUp", hDeviceUp) Call AdsOcx1.AdsCreateVarHandle(".deviceDown", hDeviceDown) Call AdsOcx1.AdsCreateVarHandle(".count", hCounter) Call AdsOcx1.AdsCreateVarHandle(".switch", hSwitch) End Sub '------------------------------------------ '当结束程序时被激活 '------------------------------------------ Private Sub Form_Unload(Cancel As Integer) 'Visual Basic-Variablen von SPS-Variablen trennen '从 PLC 变量中分离 Visual Basic 变量 Call AdsOcx1.AdsReadIntegerDisconnect(steps) Call AdsOcx1.AdsReadBoolDisconnect(deviceUp) Call AdsOcx1.AdsReadBoolDisconnect(deviceDown) Call AdsOcx1.AdsReadLongDisconnect(counter) '释放变量句柄 Call AdsOcx1.AdsDeleteVarHandle(hSteps) Call AdsOcx1.AdsDeleteVarHandle(hDeviceUp) Call AdsOcx1.AdsDeleteVarHandle(hDeviceDown) Call AdsOcx1.AdsDeleteVarHandle(hCounter) Call AdsOcx1.AdsDeleteVarHandle(hSwitch) End Sub '------------------------------------------------------ '当 ‘fast’域被标记时激活 '------------------------------------------------------ Private Sub optSpeedFast_Click() Dim switch As Boolean '设置 PLC 变量转换到 TRUE switch = True Call AdsOcx1.AdsSyncWriteBoolVarReq(hSwitch, 2&, switch) End Sub '------------------------------------------------------ '当 ‘slow’ 域被标记时激活 '------------------------------------------------------ Private Sub optSpeedSlow_Click() Dim switch As Boolean '设置 PLC 变量转换到 FALSE switch = False Call AdsOcx1.AdsSyncWriteBoolVarReq(hSwitch, 2&, switch) End Sub '------------------------------------------------ '当 PLC 变量改变时激活 '------------------------------------------------ Private Sub AdsOcx1_AdsReadConnectUpdate(ByVal nIndexGroup As Long, ByVal nIndexOffset As Long) Select Case nIndexOffset Case hCounter: '在表单中显示数量 lblCount.Caption = counter Case hDeviceUp

Page 45: TwinCAT 快速入门 - benhao.combenhao.com/uploads/20111219/20111219130268856885.pdf · 窗口控制和自动化技术 TwinCAT 快速入门 最后一次修改日期 2001.12.11

德国倍福电气有限公司北京代表处

地址 北京市西城区金融大街 27号投资广场 B座 1608室

网址 http://www.beckhoff.com

电话 (010) 66210991 66213553 传真 (010) 66210992

第 45 页 共 45页

'按照变量值匹配图形颜色 DeviceUp_LED.ForeColor = IIf(deviceUp = True, vbRed, vbWhite) Case hDeviceDown '按照变量值匹配图形颜色 DeviceDown_LED.ForeColor = IIf(deviceDown = True, vbRed, vbWhite) Case hSteps '显示工件的位置 prgSteps.Width = steps * 240 End Select End Sub 工作原理: 在 Form1_Load() 中 与语言相关的文本均以资源装入 文本将按照 Windows NT 中预选定的语言显示

方法 ’AdsReadVarConnect' 连接相关的 VB 变量到 PLC 系统 方法的参数是

参数 意义 adsVarName PLC 变量名 cbLenght 用字节表示的数据长度 nRefreshType 传送的数据类型 nCycleTime 用 ms 表示的刷新周期 pData 数据被写入的 Visual Basic 变量

只要变量 ‘count’,’deviceUp’,’deviceDown’ 或 ‘steps’ 已经发生变化

AdsOcx1_AdsReadConnectUpdate() 功能就被激活 其中 表单中的对象随着 PLC 的变量而动态变化

.

当用户点击 ‘fast’ 或 ‘slow’ 标识框时 optFast_Click() 和 optSlow_Click() 功能被激活 在这些功能中

'switch' 变量被设置为 TRUE 或 FALSE TwinCAT PLC 服务器读出这些变量修改闪烁动作(PLC 程序

中的 'DriveType' 功能 ) 参数 意义 hVar PLC 变量句柄 cbLenght 用字节表示的数据长度 pData 包含数据的 Visual Basic 变量

当表单被关闭时 所有不在需要的变量都应从 PLC 变量中分离出来

这在 Form1_Unload() 功能中完成