倍福plc代码怎么生成.tsm文件

BECKHOFF嵌入式PC从入门到精通V26修改-共享资料网
BECKHOFF嵌入式PC从入门到精通V26修改
.doc目 1录2系统概述................................................................................................................................... 4 1.1 选型........................................................................................................................... 5 1.1.1 CPU 和电源 ...................................................................................................... 5 1.1.2 系统扩展模块 ................................................................................................. 11 1.1.3 信号模块 ......................................................................................................... 13 1.2 安装和接线............................................................................................................. 15 1.3 诊断和调试............................................................................................................. 16 1.3.1 桌面接管 ......................................................................................................... 16 1.3.2 IP 地址 ............................................................................................................ 16 1.3.3 恢复出厂设置 ................................................................................................. 17 1.3.4 指示灯............................................................................................................. 17 1.3.5 强制 Config..................................................................................................... 18 1.3.6 配置 CX Configure ......................................................................................... 18 1.3.7 用户名和密码: ............................................................................................. 19 1.3.8 PC 与 CX 之间的文件交换 ........................................................................... 19 1.3.9 CX 控制器上的知识产权保护 ...................................................................... 20 编程软件................................................................................................................................. 21 2.1 用 PC 机编程调试 CX 程序 .................................................................................. 21 2.2 软件的安装和设置 ................................................................................................. 22 2.2.1 概述................................................................................................................. 22 2.2.2 在 PC 上安装 TwinCAT 开发环境 ................................................................ 22 2.2.3 修改 NetID ...................................................................................................... 26 2.2.4 修改 TwinCAT 服务的启动方式 ................................................................... 27 2.2.5 安装 Supplement............................................................................................. 29 2.2.6 为 WindowCE 系统安装 Supplement ............................................................ 30 2.2.7 安装 AX5000 的配置工具包 ......................................................................... 30 2.3 编程计算机与 CPU 通讯 ....................................................................................... 30 2.4 CX 与 CX 建立路由关系 ....................................................................................... 36 2.5 TwinCAT 开发环境说明 ........................................................................................ 37 2.5.1 认识 TwinCAT 图标 ....................................................................................... 37 2.5.2 进入 TwinCAT 开发环境的方法: ............................................................. 40 2.5.3 查看 TwinCAT 版本信息: ......................................................................... 41 2.6 TwinCAT System Manager 简介 ........................................................................... 42 2.6.1 工作区及按钮介绍 ......................................................................................... 42 2.6.2 System Configuration...................................................................................... 42 2.6.3 PLC Configuration .......................................................................................... 45 2.6.4 I/O Configuration ............................................................................................ 47 2.6.5 定义 PLC 变量与 I/O 点的映射关系 ............................................................ 48 2.6.6 将配置文件下载到控制器 ............................................................................. 49 2.7 手动添加 I/O Device .............................................................................................. 49 2.8 I/O Device 的导出和导入 ...................................................................................... 52 2.9 TwinCAT PLC Control 简介.................................................................................. 53 2.9.1 开发环境中的 4 个页面 ................................................................................. 54第 1 页 共 141 页 本文纯属个人经验,非 Beckhoff 公司正式发行,如有疑问,请直接联系作者。
.doc3452.9.2 项目的设置 ..................................................................................................... 56 2.10 TwinCAT PLC 寻址和变量定义 ............................................................................ 57 2.10.1 全局变量和局部变量 ................................................................................... 57 2.10.2 输入变量和输出变量 ................................................................................... 58 2.10.3 变量声明 ....................................................................................................... 59 2.10.4 TwinCAT 自动分配地址 ............................................................................... 61 2.10.5 复杂型变量 ................................................................................................... 62 2.10.6 特殊变量类型:功能块实例 ....................................................................... 63 2.10.7 掉电保持型变量 ........................................................................................... 66 2.11 编程......................................................................................................................... 70 2.11.1 输入和编辑程序 ........................................................................................... 70 2.11.2 引用库文件 ................................................................................................... 74 2.11.3 编译和下载 ................................................................................................... 78 2.11.4 运行和调试 ................................................................................................... 79 2.12 程序与任务周期设置 ............................................................................................. 81 2.13 创建引导程序 ......................................................................................................... 82 2.14 下载源代码............................................................................................................. 84 2.15 综合举例................................................................................................................. 86 常用功能及编程简介............................................................................................................. 86 3.1 系统时钟................................................................................................................. 86 3.2 任务信息................................................................................................................. 86 3.3 滤波......................................................................................................................... 87 3.4 PID .......................................................................................................................... 88 3.5 温控 PID ................................................................................................................. 88 3.6 总线端子的参数化 ................................................................................................. 89 3.6.1 ReadWriteTerminalReg ................................................................................... 89 3.6.2 KL6Configuration ........................................................................................... 90 3.6.3 FB_RegisterComKL25xx................................................................................ 90 3.7 ADS 指令修改 CanOpen 设备的参数 ................................................................... 91 3.8 修改 Sercos Over EtherCAT 设备的参数 .............................................................. 92 3.9 自定义函数和功能块 ............................................................................................. 93 3.10 自定义库文件 ......................................................................................................... 96 3.11 导出和引用............................................................................................................. 97 3.12 打印源代码............................................................................................................. 98 实用工具和技巧..................................................................................................................... 98 4.1 总线端子配置工具:KS2000 ................................................................................ 98 4.2 示波器工具:TwinCAT Scope View ................................................................... 100 4.3 LCD 屏的显示 ...................................................................................................... 101 4.4 读写存取文件 ....................................................................................................... 101 4.5 系统函数............................................................................................................... 102 TwinCAT HMI ...................................................................................................................... 104 5.1 文本和图形........................................................................................................... 105 5.1.1 形状................................................................................. 错误!未定义书签。 5.1.2 颜色............................................................................................................... 105第 2 页 共 141 页 本文纯属个人经验,非 Beckhoff 公司正式发行,如有疑问,请直接联系作者。 .doc6785.1.3 文本显示 ....................................................................................................... 106 5.1.4 隐藏和移动 ................................................................................................... 107 5.2 按钮....................................................................................................................... 107 5.3 数组的显示........................................................................................................... 108 5.4 实时曲线............................................................................................................... 111 5.5 HMI 综合设置 ...................................................................................................... 112 5.5.1 画面像素的设置 ........................................................................................... 112 5.5.2 模板设置 ....................................................................................................... 112 5.6 多语言文本显示 ................................................................................................... 113 5.7 动态文本显示 ....................................................................................................... 113 5.7.1 连接 XML 文件,选择开始时的语言 ........................................................ 113 5.7.2 在选项“变量”的字段“文本显示”中定义 ID 码 .......................................... 114 5.8 系统变量............................................................................................................... 115 5.9 在 Windows CE 下运行........................................................................................ 115 5.10 在 Windows XPe 下运行 ...................................................................................... 116 5.10.1 安装 TwinCAT PLC HMI ........................................................................... 116 5.10.2 TwinCAT PLC HMI Visualization 运行 ...................................................... 116 5.10.3 TwinCAT PLC HMI Visualization 开机自启动 .......................................... 117 通讯和网络功能................................................................................................................... 118 6.1 ADS 通讯.............................................................................................................. 118 6.1.1 ADS 通讯的适用范围 .................................................................................. 118 6.1.2 ADS 通讯的协议 .......................................................................................... 119 6.1.3 用 TwinCAT PLC 指令调用 ADS 通讯 ....................................................... 122 6.1.4 从高级语言调用 ADS 通讯 ......................................................................... 123 6.2 RS232/485 自由口通讯 ........................................................................................ 125 6.3 Modbus RTU 通讯 ................................................................................................ 127 6.4 Modbus TCP 通讯 ................................................................................................ 127 6.5 Realtime Ethernet .................................................................................................. 135 设置,升级和备份............................................................................................................... 136 7.1 WinCE 系统更换 CF 卡 ....................................................................................... 136 7.1.1 WinCE 系统的备份 ...................................................................................... 136 7.1.2 WinCE 系统的恢复 ...................................................................................... 136 7.2 WinXPe 系统更换 CF 卡 ..................................................................................... 136 7.2.1 使用 Beckhoff Service Tool 备份和恢复 Windows XPe ............................. 136 7.2.2 备份 Windows XPe ....................................................................................... 138 7.2.3 使用第三方工具恢复 Windows XPe ........................................................... 139 7.3 备份程序和装载 ................................................................................................... 139 7.3.1 备份运行文件 ............................................................................................... 139 7.3.2 备份开发文件文件 ....................................................................................... 139 附录....................................................................................................................................... 140第 3 页 共 141 页 本文纯属个人经验,非 Beckhoff 公司正式发行,如有疑问,请直接联系作者。 .doc1系统概述Beckhoff 的控制器分为三类:现场总线控制器,嵌入式 PC 和工业 PC。其中,嵌入式 PC 是模块化的安装于 DIN 导轨的工业 PC,它集中了工业 PC 和传统的 PLC 优势,功能强 大,稳定可靠。同时,性能层次丰富,既可用于 100 点以内的单机设备,也可以用于数千点 的大型系统。是 BECKHOFF 在中国应用最为广泛的控制器。 在 BECKHOFF 的所有产品型号中, 以 CX 开头的就表示嵌入式 PC。 CX 系列的系统模块通 过标准的 PC/104 总线 (16 位) 相互连接。 每个系统组件都由宽度为 19 毫米 (单模) 或 38 毫米(双模)的单个模块构成,这些模块可以依次连接。根据 CX 型号的不同,控制器可 通过更多的系统接口加以扩展。用于 PROFIBUS、CANopen、DeviceNet、SERCOS interface 和 Lightbus 的现场总线接口扩充了可选模块的种类,其中又分主站和从站接口。 结合 TwinCAT 自动化软件,CX 嵌入式 PC 成为一个功能强大的 IEC61131-3 PLC,它还 可以执行运动控制任务。根据所需的周期时间不同,它可以控制多个伺服轴。 CX1010、 CX1020 或 CX1030 甚至还可以实现特殊的功能,比如“飞锯”、“电子齿轮箱”或“电子凸轮” 等。CX 因而成为一个用单个硬件实现 PLC、运动控制和可视化任务的控制器。第 4 页 共 141 页 本文纯属个人经验,非 Beckhoff 公司正式发行,如有疑问,请直接联系作者。 .doc1.1 选型 1.1.1 CPU 和电源对于 CX1030、 CX1020 和 CX1010, CPU 和电源模块需要分别选择, 而 CX9000 和 CX9010 则将 CPU 和电源集成于一体。CX 系列的产品选型依次要确定以下内容: a) CPU 系列: Embedded PCs CX9000 CX9001 CX9010 CX1010 CPU Clock frequency 266 MHz 266 MHz 533 MHz 500 MHz MemoryIntel? IXP420 Intel? IXP420 Intel? IXP420 AMD Geode LX800CF 卡:16 MB,内置,不可扩展 内存:64MB,不可扩展 CF 卡:32 MB,内置,不可扩展 内存:128 MB,不可扩展 CF 卡:32 MB,内置,不可扩展 内存:128 MB,不可扩展 CF 卡:64 MB,外置,可扩展到 8G 内存:256 MB,不可扩展 CF 卡:64 MB,外置,可扩展到 8G 内存:256 MB,可展到 1G CF 卡:64 MB,外置,可扩展到 8G 内存:256 MB,可展到 1GCX1020 CX1030Intel? 1.0 GHz Celeron? M Intel? Pentium? M 1.8 GHz注意,CX10xx 和 CX90xx 的区别不仅在于时钟主频,还在于 CX10xx 的 CPU 是 x86,而 CX90xx 的 CPU 是 ARM 芯片,没有浮点运算协处理器。所以只有在纯逻辑运算的项目中, 才推荐使用 CX90xx 系列。第 5 页 共 141 页 本文纯属个人经验,非 Beckhoff 公司正式发行,如有疑问,请直接联系作者。 .doc下图说明分别执行字运算、位运算和浮点运算时,PLC、嵌入式 PC 和 IPC 的性能对比: 执行时间 [?s/5000 code lines]00 200043 0 0Test 1 Test 2 Test 39339.5 14.12 9.845.665.625.2Test 1: Test 2: Test 3:b) 操作系统 对于 CX90xx 系列,只能选择 WindowsCE,而 CX10xx 系列,可以选择 Windows Xpe,也 可以选择 Windows CE。下面列表说明两种操作系统的优点和缺点。 项目 启动速度 CF 卡的空间要求 价格 程序开发和维护 HMI 的开发和运行 Windows XPe 慢 &=2G 高 既可本地编程,也可以另用 PC 机远程编程 与 IPC 相同 Windows CE 快 &30M 低 只能用 PC 机远程编程 必须使用 CE 版的开发平台一般情况下推荐 WinCE, 仅当 HMI 需运行在控制器上, 并且画面复杂才考虑 Windows XPe。 c) TwinCAT Level TwinCAT Level TwinCAT PLC TwinCAT NC PTP TwinCAT NC I 功能 软 PLC 除软 PLC 外,还包含点对点的运动控制 除 TwinCAT NC PTP 外,还包含直线、圆弧和空间螺旋的 插补功能。CX9000 和 CX9001 支持的最高级别是 TwinCAT PLC。第 6 页 共 141 页 本文纯属个人经验,非 Beckhoff 公司正式发行,如有疑问,请直接联系作者。 v. PL BC C 90 BX 00 31 CX 00 90 CX 00 90 CX 10 10 C 00 PI X1 II 0 85 10 0 M CX Hz P4 10 2. 20 8 G CX Hz P4 10 3. 30 2 G Hz字运算 16/32 位 位运算 1/16/32 位 混合运算(包括浮点运算)co n .docCX9010 和 CX1010 支持的最高级别是 TwinCAT NC PTP。 CX1020 和 CX1030 支持的最高级别是 TwinCAT NC I。 推荐:如果项目要用到 TwinCAT NC,控制器最好选择 CX1010 或者以上。 d) DVI/USB 接口 对于 CX9000,不支持 DVI/USB 接口,因此也不能直接连接显示器或者控制面板。 CX 其它系列,均可选择带或者不带 DVI/USB 接口。 推荐:无论项目投产后是否需要,尽可能都带上 DVI/USB 接口。 以上 a) ,b) ,c) ,d)四个选项,包含在 CPU 选型中,具体见下表: CX10xx 的订货号 Ordering information DVI/USB 无 操 作 系 统 x C C C C x C C C C C C C C C C C C Win CE 嵌 入 式 Win XP C C C C C C C C C C x x x x x x x x 不带 TwinCAT TwinCAT PLC runtime TwinCAT NC runtime TwinCAT NC I runtimeCX10xx-0000 CX10xx-0010 CX10xx-0011 CX10xx-0012 CX10xx-0013 CX10xx-0100 CX10xx-0110 CX10xx-0111 CX10xx-0112 CX10xx-0113 CX10xx-0020 CX10xx-0021 CX10xx-0022 CX10xx-0023 CX10xx-0120 CX10xx-0121 CX10xx-0122 CX10xx-0123?C C C C C x x x x x C C C C x x x xC x x x x C x x x x C C C C C C C Cx x C C C x x C C C x C C C x C C CC C x x x C C x x x C x x x C x x xC C C x x C C C x x C C x x C C x xC C C C x C C C C x C C C x C C C x装有 Microsoft 嵌入式 XP 的 CX1010 系统要求至少 2 GB 的 CF 卡(必需单独订货)。第 7 页 共 141 页 本文纯属个人经验,非 Beckhoff 公司正式发行,如有疑问,请直接联系作者。 .docCX90xx 的订货号 订货信息 DVI E- KTwinCAT PLC run- TwinCAT NC run不带 TwinCAT bus bus time time x x x x x x C C C C C C C C C C C C x x x x x x x C C x C C x C C x C C C x x C x x C x x C x x C C x C C x C C x C C xCX90XX-0000 C CX90XX-0001 C CX90XX-0002 C CX90XX-0100 x CX90XX-0101 x CX90XX-0102 x CX90XX-1000 C CX90XX-1001 C CX90XX-1002 C CX90XX-1100 x CX90XX-1101 x CX90XX-1102 xe) CF 卡的扩展 CX90xx 的闪存是内置的,不支持 CF 卡扩展。CX10xx 的 CF 卡是外置的,最大可以扩展到 16G。CF 卡的选型不包含在 CPU 型号中,而是作为扩展选项: 订货信息 CX CX CX CX CX CF 卡容量 1G CF 卡,代替标配的 64M CF 卡 2G CF 卡,代替标配的 64M CF 卡 4G CF 卡,代替标配的 64M CF 卡 8G CF 卡,代替标配的 64M CF 卡 16G CF 卡,代替标配的 64M CF 卡对于,WinCE 操作系统,CF 卡扩展选项不是必须的。对于 WindowsXPe 操作系统,CF 卡 至少要扩展到 2G。 f) 内存扩展 只有 CX1020 和 CX1030 支持内存扩展,其订货号如下: 订货信息 CX CX 内存 512M 内存,代替标配的 256M 内存 1G 内存,代替标配的 256M 内存内存扩展选项不是必须的,对于 WindowsXPe 操作系统,由于 OS 本身占用内存大,如果 HMI 复杂的话,建议扩展内存到 512M 或者更大。 对于 TwinCAT PLC 而言,I/O 容量、程序空间和数据空间实际上都是 CX 内存的一部 分,所以,与传统的 PLC 相比,TwinCAT PLC 的 I/O 容量、程序空间和数据空间几乎是无第 8 页 共 141 页 本文纯属个人经验,非 Beckhoff 公司正式发行,如有疑问,请直接联系作者。
.doc限的。 g) 电源模块 对于 CX90xx,电源模块和 CPU 模块是一体的,因此,只有 CX10xx 才必须单独选择电源模 块。 选择电源模块的主要依据是 I/O 接口类型。 订货信息 CX CX CX CX 不带 I/O 接口 带 K-BUS 接口 带 K-BUS 接口和 IP-Link 接口 带 E-BUS 接口 CF 卡容量*IP-Link 是 BECKHOFF 的 IP65 的 I/O 端子盒内部总线,介质为 200um 塑料光纤。 电源模块不仅为 CPU 提供电源,还为 I/O 模块的 K-BUS 或者 E-BUS 接口元件提供最大 1750mA 电源,通过 Power Contact 为 I/O 模块的工作元件和连接的传感器/执行器提供最大 10A 的电流。每个 I/O 模块的技术参数都有 K-Bus/E-Bus 电流消耗和 Output 电流。 比如:EL2002, EL2004, EL2008 - Technical data Technical data Number of outputs Load type Nominal output voltage Switching times Output current max. (p. channel) Switch-off energy (ind.) Current consumption from load voltage Supply voltage for internal E-bus circuit Curr. consump. via E-bus Electrical isolation EL2002 2 EL2004 4 EL2008 8ohmic, inductive, lamp load 24 VDC (-15% / +20%) Ton: 60 ?s typ.; Toff: 300 ?s typ. max. 0,5 A (short-circuit-proof) max. 150 mJ/channel typ. 15 mA via E-bus typ. 100 mA typ. 100 mA typ. 110 mA 500 Veff (E-Bus/Field voltage)如果电源模块 CX1100 连接的所有 I/O 模块的 E-bus/K-bus 电流消耗之和大于 1750 mA,就 需要另外配置 K-Bus 电源模块 KL9400 或者 E-Bus 电源模块 EL9400,以补充 E-bus/K-bus 电流消耗 2000 mA。 同理, 如果所有 I/O 模块的输出电流之和大于 10 A, 就需要另外配置 K-Bus 电源模块 KL9100 或者 E-Bus 电源模块 EL9100,以补充输出电流 10A。第 9 页 共 141 页 本文纯属个人经验,非 Beckhoff 公司正式发行,如有疑问,请直接联系作者。 .doch)UPS 电源模块作为一个选项,UPS 电源模块 CX 用于为 CX10xx 系列 CPU 及组件提供不间断电 源。UPS 电源模块与 CPU 及其它组件的安装如图所示:选择 UPS 电源模块的主要依据是容量和最大输出电流: 订货信息 CX CX CX CX As 20 As 40 As 40 As UPS 容量 最大输出电流 550 mA,24V DC 1.1 A,24V DC 1.1 A,24V DC 2.0 A,24V DC第 10 页 共 141 页 本文纯属个人经验,非 Beckhoff 公司正式发行,如有疑问,请直接联系作者。 .doc1.1.21.系统扩展模块串行通讯接口模块CX 系列嵌入式 PC 最多可以扩展 2 个串行通讯接口模块,如上图所示,CXxxxx-N030/040 是含两个 RS232 接口,而 CXxxxx-N031/041 含 2 个 RS485/422 接口。-N030 和-N040 的区 别在于,-N030 的两个端口是 Com1 和 Com2,-N040 的两个端口是 Com3 和 Com4。同样道 理,-N031 的两个端口是 Com1 和 Com2,-N041 的两个端口是 Com3 和 Com4。 订货信息 CXxxxx-N030 CXxxxx-N031 CXxxxx-N030 CXxxxx-N040 CXxxxx-N031 CXxxxx-N041 CXxxxx-N030 CXxxxx-N041 CXxxxx-N031 CXxxxx-N040 UPS 容量 扩展 2 个 RS232 口 扩展 2 个 RS485 口 扩展 4 个 RS232 口 扩展 4 个 RS485 口 RS232:Com1 和 Com2 RS485:Com3 和 Com4 RS485:Com1 和 Com2 RS232:Com3 和 Com4扩展的 Com 口与普通 PC 机的 Com 口完全兼容,在 TwinCAT PLC 中的用法也完全相同。 2. 现场总线接口模块 现场总线模块的选型依据是:总线类型,主站/从站。 扩展现场总线有两种方式:PC104 总线和 EtherCAT。对于 PC104 的方式,只有 CX10x0第 11 页 共 141 页 本文纯属个人经验,非 Beckhoff 公司正式发行,如有疑问,请直接联系作者。 .doc系列 CPU 才适用,而 EtherCAT 的方式,则所有 CX 系列均支持,但其电源单元的 I/O 接口必须是 E-bus。 PC104 总线接口的现场总线接口模块和系统模块一样,依次拼插在 CPU 模块的左侧,最多 允许连接 4 个 PC104 现场总线接口模块。订货信息 LightBus ProfibBus CanOpen DeviceNet Sercos主站 CX CX CX CX CX从站 CX CX CX CX 无第 12 页 共 141 页 本文纯属个人经验,非 Beckhoff 公司正式发行,如有疑问,请直接联系作者。 .docEtherCAT 接口的现场总线接口模块和普通的 E-Bus 端子模块一样, 可以位于 EtherCAT 网络 的任何位置,数量也不受 CPU 限制。订货信息 LightBus ProfibBus CanOpen DeviceNet EL6720 EL6731 EL6751 EL6752主站从站EL EL EL1.1.3信号模块CX 系列嵌入式 PC 不仅可以通过电源模块直接连接本地 I/O,也可以通过现场总线或者 EtherCAT 连接远程 I/O,支持 Beckhoff 所有类型的 I/O 模块。 选型:见《Main Catalog》 (又称厚样本) ,或者〈Product Overview〉 (又称薄样本) 。 接线:在《Main Catalog》 (又称厚样本)以及实物硬件的侧面,都有该模块的接线图。 用户手册: I/O 端子,厂家并不随货提供纸质说明书,用户可以到 Http://www.Beckhoff.com 或者 Http://www.Beckhoff.com.cn 下载, 或者安装 Beckhoff 套装 DVD 中的 TwinCAT PLC 以 及帮助文件,即可从 C:\TwinCAT\InfoSystem\1033 目录下找到所有硬件的技术文档,或者通 过“所有程序/Beckhoff/Information system/Information System-English”打开完整的 HTML 帮助系统。 图纸:用户可以到 Http://www.Beckhoff.com 或者 Http://www.Beckhoff.com.cn 下载,或者在 “Beckhoff 套装 DVD/\Technical_Drawings/”路径下找到相应类别/型号的 AutoCAD 图纸。第 13 页 共 141 页 本文纯属个人经验,非 Beckhoff 公司正式发行,如有疑问,请直接联系作者。 .doc对于数字量输入模块,要注意传感器类型是 NPN 还是 PNP,通常日系传感器多用 NPN,而 欧美系多用 PNP。对于编码器输入模块和高速计数模块,BECKHOFF 只提供 PNP 型,用户 在选择传感器时要注意。 注意计算 Power Contact 电流总和, 特别是数字量输出模块, 如果最大输出电流总和超出 10A, 就需要补充 KL/EL9100。 注意计算 E-BUS 或者 K-BUS 电流总和,如果电流消耗总和超出 1750 mA,就需要补充 KL/EL9400。特别是 EL 模块,平均 E-bus 电流消耗都在 100 mA 以上,一定不能忽略这个 步骤。第 14 页 共 141 页 本文纯属个人经验,非 Beckhoff 公司正式发行,如有疑问,请直接联系作者。 .doc1.2 安装和接线对安装空间的要求:电源模块的接线: 为安全起见,CPU 供电和 E-bus/K-bus 模块最好是独立供电。第 15 页 共 141 页 本文纯属个人经验,非 Beckhoff 公司正式发行,如有疑问,请直接联系作者。 .doc1.3 诊断和调试 1.3.1 桌面接管如果操作系统是 WinCE,则用 CeRHost 工具接管桌面。 如果操作系统是 WindowsXPe,则用附件/远程桌面连接。 提示:CeRHost 是微软公司的一款从 PC 接管 Windows CE 桌面的工具,可以从微软公司免 费获取,也可以从 Beckhoff Information System 中解压获得,路径如下: Beckhoff Information System / Embeded PC / Operation System / CE / CE Remote Display点击上图中的兰色文字,即可解压 CeRHost 工具,无须安装,可以直接运行。1.3.2IP 地址默认 IP 地址: CX 系列嵌入式 PC 的网络接口出厂设置为 DHCP,即由外接路由器分配地址。如果网内没 有路由器,则默认 IP 地址为:169.254.X.X。如果把 PC 机的 IP 地址也设置成 169.254.X.X, 就可以从 TwinCAT System Manager 中通过广播方式找到 CX,得到其 IP 地址。 修改 IP 地址: 方法 1:如果 IP 未知,接上显示器, 方法 2:如果已知 IP,用上述的桌面接管,控制面板/网络连接。 方法 3:如果已知 IP,从 TwinCAT System Manager 成功登陆 CX 上的 TwinCAT 后再修改。第 16 页 共 141 页 本文纯属个人经验,非 Beckhoff 公司正式发行,如有疑问,请直接联系作者。 .doc1.3.3恢复出厂设置如果不是 DHCP,而 IP 未知,没有显示器,则可以恢复出厂设置。 对于 CX90xx,恢复出厂设置可以使用 DIP 开关,如下图所示:1. 断电,把开关 1 拔到 ON. 2. 重新上电,完全启动后,重新生成注册表。 3. 断电,把开关 1 再拔回到 OFF。 对于 CX10x0,恢复工厂设置的方法: 1, 掉电,取下 CF 卡, 2, 用 PC 接 CF 读卡器,修改 CF 卡上的 Document and Setting 文件夹。删除或者重命名均 可。 3, 插上 CF 卡,上电。1.3.4CX1010 指示灯指示灯LED 指示灯 PWR LAN1 LAN2 100 MBit TC意义 电源,CPU 供电正常,PWR 灯亮。 LAN L/A (LINK/ ACTIVITY), 网络连接时灯亮, 有数据交换时灯闪烁 网速 100 MBit 时灯亮,绿色 TwinCAT 状态指示灯 红色:TwinCAT 停止状态第 17 页 共 141 页 本文纯属个人经验,非 Beckhoff 公司正式发行,如有疑问,请直接联系作者。 .doc蓝色:TwinCAT 配置模式 绿色:TwinCAT 运行模式 HDD 读写 CF 卡 (红色)1.3.5强制 Config当错误的配置或者程序导致 PC 与 CX 连接中断时,必须强制 TwinCAT 到 Config 状态, 对于 CX90xx,在上图中把 DIP 开关 4 打到 ON, 对于 CX10xx,把 CF 卡上的/TwinCAT/PLC/Boot 文件夹下的内容清空。1.3.6配置 CX Configure对于 WinCE 操作系统,配置 CX 有两种方法: 方法一:进入 CX 的控制面板,打开 CXConfig 方法二:通过端口 5120:http://&ip-or -devicename&:5120/upnpdevice/index.htm 例如: http://192.168.0.123:5120/upnpdevice/index.htm http://CX_0/upnpdevice/index.htm第 18 页 共 141 页 本文纯属个人经验,非 Beckhoff 公司正式发行,如有疑问,请直接联系作者。 .doc最常修改的设置包括:分辨率,IP 地址,FTP Server,用户名密码1.3.7用户名和密码:出厂设置:Windows XPe 操作系统,用户名:administrator,密码:1; 出厂设置:Windows CE 操作系统,用户名和密码均为空白。1.3.8PC 与 CX 之间的文件交换对于 Windows XPe 操作系统,PC 与 CX 之间的文件交换与 PC 与 PC 之间相同。第 19 页 共 141 页 本文纯属个人经验,非 Beckhoff 公司正式发行,如有疑问,请直接联系作者。 .doc当安装 CE 上运行的功能包时,需要复制一些文件到 CF 卡上,方法如下: 1, FTP 方式:在 CX 中启动 FTP Server,假设其 IP 地址:192.168.1.12,则从 PC 上,文件 管理器,地址栏输入:FTP://192.168.1.12 就可以访问 CX 上的 Harddisk/ftp 文件夹。 2, U 盘:进入 CE 操作系统桌面后,用资源管理器。 3, CF 卡: 拔下 CF 卡, 用 CF 读卡器, 从 PC 往 CF 卡复制文件。 此方法只对 CX10x0 适用。 4, 从 CX 桌面访问 PC:假设 PC 的 IP 地址 192.168.1.12,则:文件管理器,地址栏输入: \\192.168.1.12,就可以访问 PC 上所有的共享文件夹。1.3.9CX 控制器上的知识产权保护通过 TcSystemCX.Lib 下的功能块 FB_CxGetDeviceIdentification,可以读取控制器上独一无 二的信息,通过在程序中对这些信息进行处理,就可以防止程序非授权运行。第 20 页 共 141 页 本文纯属个人经验,非 Beckhoff 公司正式发行,如有疑问,请直接联系作者。 .doc5,2编程软件2.1 用 PC 机编程调试 CX 程序安装了 TwinCAT 的编程计算机 , 通过局域网或者网线与CX相连编程电缆:CAT 5 电缆 对于 CX90x0,CX1020,CX1020:因为 CPU 带两口内置交换机,PC 与 CX 之间只需要一 条普通的 Hub to PC 网线,又称平行线。 对于 CX1010: CPU 只带一个网口, 所以 PC 与 CX 之间需要用 PC to PC 交叉网线。 如果 PC 的网口有自适应功能,平行线亦可。 编程软件:TwinCAT 关于授权:如果 PC 只是用于对 CX 编程调试,则无须购买授权。安装时选择 Demo 版,可 以使用 30 天,期满后重新安装,可继续使用 30 天。重复安装次数不限。 运行环境:Windows XP,Windows2000,Windwos NT,Windwos Server2003,Vista 软件来源:从 Http://www.beckhoff.com 下载,或者向当地分支机构索取 BECKHOFF DVD 套件。 备用工具: CF 读卡器。CX 供货时所有软件和授权已经安装,所通常不需要用到 CF 读卡器。但特殊情 况下,比如更新操作系统,批量备份,严重出错处理时,可能会用到 CF 读卡器。第 21 页 共 141 页 本文纯属个人经验,非 Beckhoff 公司正式发行,如有疑问,请直接联系作者。 .doc2.2 软件的安装和设置 2.2.1 概述在 CX 端,所有软件及授权为出厂预装,用户可以直接使用。 在 PC 端, 需要安装 TwinCAT 软件。 建议从 Beckhoff DVD 安装的, 完成后会自动安装 Beckhoff Information system, 不仅包含了所有 TwinCAT 帮助文档, 还包含所有 BECKHOFF 硬件产品 的 User Manual。2.2.2在 PC 上安装 TwinCAT 开发环境在浏览器中打开 BECKHOFF DVD,定位到 TwinCAT 安装文件,双击运行。如图所示:点击 Next:第 22 页 共 141 页 本文纯属个人经验,非 Beckhoff 公司正式发行,如有疑问,请直接联系作者。 .doc选择 I accept the terms of liscence agreement,点击 Next:输入用户名和公司名称,如果是授权用户,输入序列号。非授权用户,序列号不用填写。第 23 页 共 141 页 本文纯属个人经验,非 Beckhoff 公司正式发行,如有疑问,请直接联系作者。 .doc所有功能都选择:第 24 页 共 141 页 本文纯属个人经验,非 Beckhoff 公司正式发行,如有疑问,请直接联系作者。 .doc确认安装路径,默认为 C:\TwinCAT,如果需要修改,单击 Browse:安装完成后,系统需要重启:第 25 页 共 141 页 本文纯属个人经验,非 Beckhoff 公司正式发行,如有疑问,请直接联系作者。 .doc对于授权用户,还需要获取 System ID,以做为向厂家申请唯一授权码的依据。方法如下: 重启计算机后,单击桌面右下方的 TwinCAT 图标,在快捷菜单中点击 Property,切换到 Registration 页面,记下 System ID联系供应商或者 Beckhoff 厂家,申请授权码。2.2.3修改 NetID重启完成后,为了避免网络上有相同的 AMS NetID,通常应立即修改 PC 机的 AMS Net。第 26 页 共 141 页 本文纯属个人经验,非 Beckhoff 公司正式发行,如有疑问,请直接联系作者。 .doc右键单击屏幕右下角的 TwinCAT 图标,点击 Properties弹出 TwinCAT 属性窗口,选择 AMS Router 页面,修改 AMS Net 为 IP Address.1.1 例如,IP 地址为 192.168.1.118,就将 AMS Net 为 192.168.1.118.1.1。2.2.4修改 TwinCAT 服务的启动方式TwinCAT 作为 Windows 系统下优先级别最高的服务,默认为开机自启动,所以每次开机启 动的时间都比较长。 对于不是经常使用 TwinCAT 开发的用户, 为节约时间, 可以将 TwinCAT 服务设为手动启动。方法如下:第 27 页 共 141 页 本文纯属个人经验,非 Beckhoff 公司正式发行,如有疑问,请直接联系作者。
.doc打开“控制面板”――“管理工具”――“服务” ,进入服务窗口:选中 TwinCAT System Service,双击,修改启动类型为:手动。按确定,退出。第 28 页 共 141 页 本文纯属个人经验,非 Beckhoff 公司正式发行,如有疑问,请直接联系作者。 .doc2.2.5安装 Supplement对于 Windows XPe 系统,可以直接运行 Beckhoff DVD/TwinCAT/Supplement 下的安装文件。 以下是常用的 Supplement: TwinCAT Modbus TCP Server TwinCAT OPC Server TwinCAT OPC UA_Server TwinCAT Database Server TwinCAT PLC Controller Toolbox: TwinCAT PLC HMI 及 TwinCAT PLC HMI CE: TwinCAT PLC Serial Comm: TwinCAT PLC Modbus RTU: TwinCAT PLC Temperature Controller: Modbus TCP 服务器 OPC 服务器 OPC 服务器,可以跨操作系统 数据库服用,直接向数据库提供数据 PID,滤波等工具 在 TwinCAT 中运行 HMI 画面 RS232/485 串口通讯,自由口协议 通过串口实现 Modbus RTU 协议 温度控制第 29 页 共 141 页 本文纯属个人经验,非 Beckhoff 公司正式发行,如有疑问,请直接联系作者。 .doc2.2.6为 WindowCE 系统安装 Supplement如果 Supplement 和 BECKHOFF 硬件一起订购, 那么所有软件都会在硬件出厂时预装好。 否 则,就需要用户自行安装。? ?安装过程分为两步: 第 1 步:在编程 PC 上安装 supplement 软件 输入正确的授权号并同意授权协议,supplement 软件包就会安装到 PC 上 的..\TwinCAT\CE 文件夹。以安装 TwinCAT OPC Server CE 为例: 在 PC 上安装该软件包后,就会创建一个文件夹 &..\TwinCAT\CE\OPC&,其 中包含 CE *.cab 安装文件 (比如 TcOpcXmlSvrCe.I586.CAB)?第2步 : 把 CE-cab 安装文件复制到 CE 设备 (经 U 盘 / FTP / public folder / CF-读卡 器均可).在 CE 设备上双击该文件就会开始安装, 完成后自动删除 CAB 文件。2.2.7安装 AX5000 的配置工具包如果硬件包括 AX5000,则需要安装 AX5000 配置工具包,它不属于 TwinCAT Supplement, 其安装文件位于:BeckhoffDVD \Software\DriveTechnology\AX5000\ TcDriveManager.EXE。 不同版本的 TcDriveManager, 文件名可能有所不同。 TwinCAT2.11 以上版本都集成了此工具 包。2.3 编程计算机与 CPU 通讯理论上, 编程计算机可以对局域网内的任意一台 PC 或者嵌入式 PC 上的 TwinCAT 进行编程 调试,但必须在确保 PC 和嵌入式 PC 之间建立 AMS 路由关系。第 30 页 共 141 页 本文纯属个人经验,非 Beckhoff 公司正式发行,如有疑问,请直接联系作者。 .doc如上图所示,只有在 Remote Computers 列表中的控制器,PC 才能对它进行编程。 把嵌入式 PC 添加到 PC 的 Remote Computers 列表的步骤如下:?准备工作: PC 机与嵌入式PC 都用固定IP, 设置PC的NETID为:IP Address .1.1 PC 机与嵌入式PC的IP地址位于同一网段, 防火墙关闭,或设置TwinCAT为例外。 程序|运行|cmd,使用PING命令, 确认网络已联通?添加路由 左边工作区树形结构中选中System configuration,右边选择 General配置页第 31 页 共 141 页 本文纯属个人经验,非 Beckhoff 公司正式发行,如有疑问,请直接联系作者。 .doc点击Choose Target点击search Ethernet第 32 页 共 141 页 本文纯属个人经验,非 Beckhoff 公司正式发行,如有疑问,请直接联系作者。 .doc点击Broadcast,选中目标机器;在上图中的左下方,可以选择添加路由的方式,Host name 或者 IP Address 方式。默 认是 Host name。如果 IP 常变,可以用 Host name,如果 IP 不变,而要求断网后恢复通讯 够快,就用 IP Address 的方式。推荐选用 IP Address 的方式。第 33 页 共 141 页 本文纯属个人经验,非 Beckhoff 公司正式发行,如有疑问,请直接联系作者。
.doc如果目标机器上安装了 TwinCAT 并且 TwinCAT 工作在运行模式或者配置模式,大多 数情况下,Broadcast 方式可以搜索到所有目标机器。如果尝试几次都搜索不到,并且 已知目标机器的 IP 地址或者名称,就可以在上方的“Enter Host name/IP”文本框中输 入 IP 或者控制器名称,按“Enter”键。如果列表中仍然没有出现目标机器,就要用 桌面接管工具或者显示器连接控制器,检查其运行状态。点击Add Router,输入用户名和密码,出厂设置:Windows XPe ,用户名:administrator,密码:1;如果是新 建用户,也应有管理员权限。 出厂设置:Windows CE ,用户名和密码均为空白。 如果密码丢失,又没有显示器,无法登入 CX 的系统,就用 1.3.3 中的方 法恢复出厂设置。若成功则Connected列显示X标记,第 34 页 共 141 页 本文纯属个人经验,非 Beckhoff 公司正式发行,如有疑问,请直接联系作者。 .doc点击Close,返回前一窗体。此前添加的嵌入式PC就会出现在这个列表中,选中,点击OK,第 35 页 共 141 页 本文纯属个人经验,非 Beckhoff 公司正式发行,如有疑问,请直接联系作者。 .doc如图所示,在窗体的右下角为状态显示区,如果前面是红色,而后面是蓝色或者绿色,说明 PC 与 CX 之间的路由关系已经成功建立。如果显示黄色 Timeout,表示当前连接失败。2.4 CX 与 CX 建立路由关系对于单控制器的系统用户,可以跳过本章。 在多控制器的系统中,控制器之间的 TwinCAT 通讯的前提,是二者之间建立了路由关系。 假设要建立 CX1 和 CX2 之间的路由关系,方法如下: 首先,用 2.3 中的方法,建立 PC 到 CX1 的路由关系,并选择 CX1 作为目标系统。 左边的树形结构选中 Route Setting,在右边的窗体中点击 Add 按钮,在弹出的窗口显示目标机器 CX1 上的路由表。第 36 页 共 141 页 本文纯属个人经验,非 Beckhoff 公司正式发行,如有疑问,请直接联系作者。 .doc其余步骤与 2.3 相同。2.5 TwinCAT 开发环境说明TwinCAT 开发环境分为 System Manager 和 PLC Control 两个部分.System Manger 用于系统设 置和 I/O 硬件配置,而逻辑程序的编写和调试,都在 PLC Control 中实现。 System Manger 还有其它功能:TwinCAT NC 的设置和调试,Additional Task 的设置等等,这 些将在以后的章节讨论。本章只介绍系统设置( System Configuration) 、PLC 配置(PLC Configuration)和 I/O 硬件配置(IO Configuration) 。2.5.1认识 TwinCAT 图标操作系统, TwinCAT 运行核, TwinCAT PLC 是运行在 PC 或者 CX 控制器上三个不同层次的 应用。它们之间的关系可以用下图描述:第 37 页 共 141 页 本文纯属个人经验,非 Beckhoff 公司正式发行,如有疑问,请直接联系作者。 .docWindwos 操作系统TwinCAT 运行核PLC 1TwinCAT NC 等其它服务PLC 2资 源管 理器、 Microsoft Office 等其它应用程序PLC 3PLC 4TwinCAT 运行核是 Windwos 操作系统底层优先级最高的服务,同时它又是所有 TwinCAT PLC、 NC 和其它任务的的运行平台。 TwinCAT 运行核有不同的运行模式, 在不同的模式下, 允许不同的 TwinCAT 操作: 3. 4. 5. 6. TwinCAT 运行模式: 相当于硬件 PLC 上电, 此时可以向 PLC 下载程序, 在线调试。 TwinCAT 配置模式:相当于 PLC 没有通电,此于允许扫描实际连接的 IO 模块。 TwinCAT 停止模式:TwinCAT 服务停止,所有通讯中断,PLC 不能运行。 TwinCAT 启动中:模式切换的中间状态,所有通讯中断,PLC 不能运行。第 38 页 共 141 页 本文纯属个人经验,非 Beckhoff 公司正式发行,如有疑问,请直接联系作者。 .docTwinCAT 运行状态,可以通过 Windows 桌面的标颜色来标记,TwinCAT 停止模式 TwinCAT 启动中… TwinCAT 运行模式 TwinCAT 配置模式也可以通过 System Manager 里目标系统的状态栏来标记:目标系统 红色:非本机 灰色:本机状态栏第 39 页 共 141 页 本文纯属个人经验,非 Beckhoff 公司正式发行,如有疑问,请直接联系作者。 .doc在开发计算机上的单击桌面右下角的 TwinCAT 图标,会弹出快捷菜单,其功能如下:在此进入硬件配 置环境在此进入 PLC 逻 辑编程环境在此控制 TwinCAT 运行核在此控制 TwinCAT PLC在此设置 TwinCAT属性Page 402.5.27.进入 TwinCAT 开发环境的方法:8. 通过桌面右下角的 TwinCAT 图标通过开始菜单栏322 4 1 1第 40 页 共 141 页 本文纯属个人经验,非 Beckhoff 公司正式发行,如有疑问,请直接联系作者。 .doc2.5.3查看 TwinCAT 版本信息:TwinCAT 软件版本信息TwinCAT 软件注册信息第 41 页 共 141 页 本文纯属个人经验,非 Beckhoff 公司正式发行,如有疑问,请直接联系作者。 .doc2.6 TwinCAT System Manager 简介 2.6.1 工作区及按钮介绍菜单栏工具栏配置管理器: System、NC、 PLC、Cam、I/O配置窗口状态栏2.6.29.System Configuration设置 TwinCAT 启动性能:第 42 页 共 141 页 本文纯属个人经验,非 Beckhoff 公司正式发行,如有疑问,请直接联系作者。 .docBoot Setting 页面:设置目标机器上 TwinCAT 的启动性能,按 Apply 生效. Auto boot 项为 RUN MODE 时, 目标机器的 TwinCAT 服务一启动, TwinCAT 就处于 Running 模式. 在 Running 模式下, 要向 PLC 下载程序并运行,TwinCAT 必须处于 Running mode. Auto boot 项为 Config MODE 时, 目标机器的 TwinCAT 服务一启动, TwinCAT 就处于 Config mode 模式. 要扫描 I/O 设备,TwinCAT 必须处于在 Config Mode. Auto Logon: 此设置实际上修改操作系统的启动特性,适用于 Windows XPe. 勾选时, 系统启 动时自动以此处输入的用户名和密码登陆. 注意:必须是操作系统现有的用户,并且具备管 理员权限. 10. 设置 Base Time通常情况下,直接使用默认设置即可。 11. 改变 Base time,可以实现 1 毫秒以下的 PLC 周期。第 43 页 共 141 页 本文纯属个人经验,非 Beckhoff 公司正式发行,如有疑问,请直接联系作者。 .doc所有的 TwinCAT 任务周期,比如 PLC 任务周期,都是 Timebase 的倍数。假如要实现 PLC 周期 500 微秒,可以在上图中将 Base time 设置为 500 微秒,而 PLC 任务周期设为 1 倍。或 者 Base time 设为 250 微秒,而 PLC 任务周期设为 2 倍,依此类推。 PLC 任务周期的设置见下图: 注意:图中 Interval 的单位“衽” ,表示微秒(us) 。第 44 页 共 141 页 本文纯属个人经验,非 Beckhoff 公司正式发行,如有疑问,请直接联系作者。 .doc2.6.3PLC Configuration12. 设置目标机器上的 PLC 启动特性。13. 导入和更改 PLC 程序 右键单击 PLC Configuratio|Append PLC Project,选择 TPY 文件,导入 PLC 程序,第 45 页 共 141 页 本文纯属个人经验,非 Beckhoff 公司正式发行,如有疑问,请直接联系作者。 .doc然后就可以看到 PLC 程序中所有的 Input 和 Output 变量.关于 TYP 文件的说明: .tpy 文件是在 PLC 程序在 PLC Control 中编译成功后生成的, 其中包含了 PLC 程序的 输入变量和输出变量,任务周期等信息. 如果输入变理或者输出变量的数量、类型有所变化,或者任务周期有变化,就必须重第 46 页 共 141 页 本文纯属个人经验,非 Beckhoff 公司正式发行,如有疑问,请直接联系作者。 .doc新编译生成.tpy 文件.并导入到 TwinCAT System Manager 的 PLC Configuration. 14. 点击 Rescan 可以更新.tpy 文件, 而 Change, 可以更换 PLC 程序.2.6.4I/O Configuration所有硬件的 I/O 设备,都在这里设置. 如果已经连接了硬件,就可以用 Scan Device 的方式扫描 硬件. 注意: 此时, 目标机器的 TwinCAT 必须是 Config mode(蓝色). 如下图所示:1扫描 I/O 设备时 目标系统必须处于 Config 模式23扫描成功后, 展开 I/O Device 树形结构,在最底层, 可以看到所有本地和远程的 I/O 模块以及 设备.第 47 页 共 141 页 本文纯属个人经验,非 Beckhoff 公司正式发行,如有疑问,请直接联系作者。 .docDevice1BoxTerminal232.6.5定义 PLC 变量与 I/O 点的映射关系1连接变量与I/O 通道,可 以双击变量或点击 Linked to…2建立连接可先选变量 或先选 I/O 通道第 48 页 共 141 页 本文纯属个人经验,非 Beckhoff 公司正式发行,如有疑问,请直接联系作者。 .doc2.6.6将配置文件下载到控制器13 24变量与I/O连接后, 需要将配 置文件 写入到 目标系统并激活。 按1,2,3步骤操作或5直接点击激活配置按钮配置文件写入控制器之后, 就可以开始联机调试 PLC 程序了. 提示: 仅当以下情况发生时,才需要修改配置文件: 如果 PLC 的输入输出变量有改动, 或者任务周期有改动, 则重复 2.6.3、2.6.5 和 2.6.6 如果 PLC 变量与 I/O 的映射关系有改动,则重复 2.6.5 和 2.6.6. 如果 I/O 硬件有改动,则重复 2.6.4、2.6.5 和 2.6.62.7 手动添加 I/O Device在项目开发阶段,工程师可能还没有拿到实际的 CPU 和 IO 模块,不可能扫描硬件。由于 TwinCAT PLC 完全是面向变量编程,所以即使没有 IO 模块,程序一样可以在 PC 上模拟运 行,所以,工程师可以选择继续开发程序。也可以手动添加 IO Device,做好变量映射。第 49 页 共 141 页 本文纯属个人经验,非 Beckhoff 公司正式发行,如有疑问,请直接联系作者。 .doc步骤如下: 1,右键单击 IO Configuration 下的 IO Device,选择 Append Device在弹出的对话框中选择需要的硬件,为缩小范围,Target Type 选择 CX Only。系统提示没有找到匹配的硬件,点击 OK。返回 System Manager 主窗体,可以看到刚才选择硬件已经添加到 IO Device 列表中。继续添加其它硬件。 硬件安装完成后, 要将手动添加的硬件与实际硬件匹配, 除了型号数量安装顺序完全一型外,第 50 页 共 141 页 本文纯属个人经验,非 Beckhoff 公司正式发行,如有疑问,请直接联系作者。 .doc设备的硬件地址必须一致,为此需要执行以下修正 IO 硬件接口地址操作: 点击“Choose Target”选择要配置的 CX 控制器点击 Search 按钮,并选中搜索到的设备,按 OK。第 51 页 共 141 页 本文纯属个人经验,非 Beckhoff 公司正式发行,如有疑问,请直接联系作者。 .doc如果包含 Realtime Ethernet 或者其它总线接口,重复上面的操作,直到所有设备修正完成。2.8 I/O Device 的导出和导入如果 PLC 程序要用到不同的控制器上,或者两套 PLC 程序要整合到同一套硬件,工程师不 必把所有 PLC 变量重新链接。操作如下: 设备导出: 右键单击要导出的设备,选择 Export Device,在弹出的对话框中输入导出保存的文件名。第 52 页 共 141 页 本文纯属个人经验,非 Beckhoff 公司正式发行,如有疑问,请直接联系作者。 .doc导入硬件:在新的配置文件中,引入 PLC 程序后。 右键单击 I/O Device,选择 Import Device,在弹出的对话框中选择要导入的设备文件。在弹出的对话框中选择是,以保留到 PLC 变量的链接。2.9 TwinCAT PLC Control 简介TwinCAT PLC Control 是为 PLC 设计的一种完整的开发环境。 TwinCAT PLC Control 为 PLC 编程提供了一种简便的方法,可以自由地处理功能强大的 IEC 语言。TwinCAT PLC Control 是编辑 PLC 逻辑程序的开发和调试环境。调试部分将在 2。11。4 中介绍,在此只简要介绍 开发功能。第 53 页 共 141 页 本文纯属个人经验,非 Beckhoff 公司正式发行,如有疑问,请直接联系作者。 .doc2.9.1开发环境中的 4 个页面开发环境分为左右两部份。左边分为 4 个页面,当左边选择不同的页面时,右边会显示相应 的内容,当左边的树形结构中选中不同的对象时,菜单栏的按钮也会有所不同。如图所示:POU:显示所有的程序对象。TwinCAT 中只包含 3 种程序对象:程序、功能块和函数。如 上图所示:左边选中并双击某个 POU 对象,右边就会显示该对象的局部变量声明、程序代 码和编译信息。 Data Type:用户自定义的结构类型,如图所示:第 54 页 共 141 页 本文纯属个人经验,非 Beckhoff 公司正式发行,如有疑问,请直接联系作者。 .docVisulization:用户可以编辑调试界面,调试界面只在 PC 机上运行。如果控制器上安装了 TwinCAT HMI,该画面也可以在控制器上作为组态软件全屏运行。如图所示:Resource:可供用户使用的资源都在此页面进行配置,如图所示:第 55 页 共 141 页 本文纯属个人经验,非 Beckhoff 公司正式发行,如有疑问,请直接联系作者。 .doc常用功能包括: Global Variables:定义全局变量。 Library Manager:库文件管理器,当需要使用 Standard.Lib 中没有的功能块和函数时,在此 导入 Lib 文件。参见 2。11。2。 Task Configuration:任务配置,包括任务的数量、优先级、执行周期,以及任务引用的程序。2.9.2项目的设置项目的设置界面通过菜单 Project / Option 进入:常用的设置项目包括:密码设置、路径设置、源代码下载选项等等。 在此设置的信息,部份保存在 C:\TwinCAT\Plc\TwinCAT PLC Control.ini 中。而以下参数只 能在 C:\TwinCAT\Plc\TwinCAT PLC Control.ini 中设置: Visulization 界面的象素: VisuWidth=640第 56 页 共 141 页 本文纯属个人经验,非 Beckhoff 公司正式发行,如有疑问,请直接联系作者。
.docVisuHeight=480 最大 POU 的数量: MaxNumOfPOUs=40962.10对于 TwinCAT PLC Control,在 TwinCAT PLCControl 中,你可以配置主窗视图(并且有不止一个 视图) 。此外,你还可以做些其他设置。为此,你可以 使用命令“Project”(项目)―“Options”(选项) 。你 作出的设置(除非另有确定)保存在文件 “TwinCAT PLC Control.ini” 中 , 并 在 下 次 TwinCAT PLC Control 起动时有效。 TwinCAT PLC 寻址和变量定义 2.10.1 全局变量和局部变量变量分为局部变量和全局变量。 全局变量在 Resource / Global Variable 中定义。在所有 POU 中都可以直接读写。Resource / Global Variable 类似一个文件夹, 可包含多个全局变量文件, 在不同全局变量文件 中声明的变量,使用时没有区别。因此,可以把不同用途的全局变量分别放到不同的变量文 件,以方便查找。 局部变量在 POU 中定义,只能在 POU 的内部使用。第 57 页 共 141 页 本文纯属个人经验,非 Beckhoff 公司正式发行,如有疑问,请直接联系作者。 .doc上例中,PhaseA、PhaseB、bStart 等都属于局部变量(Local Variable) 。 如果要在其它 POU 中使用,必须加上变量所在 POU 的名字,并且只能读取,不能对变量赋 值。例如: Programme1 中声明了局部变量 Var1 ,如果要在程序 Programme2 中使用,就必须写为 Programme1.Var1。程序 Programme2 不能对 Programme1.Var1 赋值。2.10.2 输入变量和输出变量在 POU 的变量声明区,位于“ VAR_INPUT ?? END_VAR ”和“ VAR_OUTPUT ?? END_VAR”结构体内的变量是输入和输出变量,这是从其它程序引用 POU 时的接口变量。 例如,功能块 fbFlash 有接口变量 Start、Timevalue 和 Lamp:第 58 页 共 141 页 本文纯属个人经验,非 Beckhoff 公司正式发行,如有疑问,请直接联系作者。 .doc在程序 Main 中引用该功能块时,就必须给这三个接口变量赋值。2.10.3 变量声明变量声明有两种方式:自动声明和手动声明。 自动声明是指在编写程序代码时,填写系统自动弹出变量声明对话框。 手动声明是指在全局或局部变量声明区输入变量定义。 通常,在写应用程序之前,先手动声明大部份局部和全局变量。对于临时增加的变量,可以 在程序输入过程中自动声明。下面分别介绍两种声明方式的用法: 自动声明:第 59 页 共 141 页 本文纯属个人经验,非 Beckhoff 公司正式发行,如有疑问,请直接联系作者。
.doc首先确认 Project / Option / Editor 设置页面的 Auto Declaration 是勾选中的。如图:然后,如果程序编辑过程中使用了一个未声明的变量 bReset,系统会自动弹出以下对话框:对于已经声明过的变量,在程序代码中选中该变量,按快捷键“Shift+F2” ,也会自动 弹出以上对话框,以便用户查看和编辑。 其中,Class 项可选择变量的声明位置是全局还是局部,Name 项是变量的名称,Type 项可 以选择变量的类型是整型还是布尔型等,此三项是必填项目。 Initial Value 是初始值,Address 指绝对地址,必须加以前置符 %,Comment 是注释,支持 中文。此三项为可选项目。 填写完成后,按 OK 返回程序编辑区,此时在变量声明区就会出现一条变量声明,其结果与 手动声明相同。 勾选 Constant,表示变量为一个常数。比如:PAI : Real :=3.1415926; 勾选 Retain,表示变量为掉电保持型。控制器意外掉电或者正常关机重启,Retain 型变量都 会保持。在 PLC Reset 和 OnlineChange 后,变量恢复初值。 勾选 Persistent,表示变量为掉电保持型。即使在 PLC Reset 和 OnlineChange 后,变量也会 保持。只有用 PLC Reset All 才能令其恢复初值。Pesistent 型变量的保持性最强。 手动声明:第 60 页 共 141 页 本文纯属个人经验,非 Beckhoff 公司正式发行,如有疑问,请直接联系作者。 .doc手动声明时用户要在全局或局部变量声明区按照规定的语法输入变量定义,语法要求如下:X IBOOLBYTE B 1.0 INT AT % Q 20Variable name:REAL W;MTIMEDSTRING其中, “变量名” 、 “: ” 、变量类型, “; ”是必须的要素。AT %IX1.0 是可选的, 仅用于需要绝对寻址的变量,比如:连接硬件的 IO 变量;需要以地址方式通讯的变量:比 如 Modbus 通讯,与组态软件的 ADS 通讯等。 和传统的 PLC 不同,TwinCAT PLC 是完全面向变量编程。PLC 变量的地址仅仅是需 要与硬件链接或者与其它程序通讯时才有意义。因此,大量的中间变量不需要指定地 址。即使不连接任何 I/O 模块,也可以调试 PLC 程序。TwinCAT PLC 使用 CX 的内 存,128M 到 1G, 可以认为其 I/O 映象区是无穷大. 注意: ? 变量名是一个连续的字符串,不得含有中文、空格以及运算符号等特殊字符,不得以数 字开头。 ? 全局变量名与局部变量名不允许重复。 ? 如果要赋初值,可以在变量类型之后, “; ”之前,加“:=”及数值 ? 如果要将其定义为常量,就将语句写在变量声明区的结构体“VAR CONSTANT ?? END_VAR”之间。同理,如果要定义为掉电保持型变量,就将语句写在变量声明区的 结构体“VAR PERSISTENT?? END_VAR”之间。2.10.4 TwinCAT 自动分配地址对于需要绝对寻址的变量,用户也可以选择由 TwinCAT 自动分配地址,此时%IX1.0 可写 作 %I*,同理,有%Q*,%M*。具体步骤如下: 第 1 步:保存,并编译该程序。 第 2 步:在 system manager 中,引入刚才编译通过的 PLC 程序的 TPY 文件。存盘,退出。第 61 页 共 141 页 本文纯属个人经验,非 Beckhoff 公司正式发行,如有疑问,请直接联系作者。
.doc第 3 步:在 PLC Control 中,菜单 Project | rebuild all,在 Resource 中,Glocal variables 下会 增加一项:TwinCAT_Configuration,可以看到 TwinCAT System Manager 为 PLC 变量自动分配的地址,如图所示:2.10.5 复杂型变量数组: 数组的定义,在变量声明区: arr1 : ARRAY [1..5] OF INT := 1,2,3,4,5;(*一维数组,5 个元素初值依次为 1,2,3,4,5*) arr2 : ARRAY [1..2,3..4] OF INT := 1,3(7); (*二维数组,4 个元素初值依次为 1,7,7,7 *) 访问数组的元素,在程序代码区:arr1[1],结果为 3;arr2[2,3]结果为 7。 结构: 结构的定义在 PLC Control 的 Data Types 页面,如图所示:第 62 页 共 141 页 本文纯属个人经验,非 Beckhoff 公司正式发行,如有疑问,请直接联系作者。 .doc结构型变量的声明: 在变量声明区:Dancer_Parameter : Dancer_R 结构型变量的访问: 在程序代码区:Dancer_Parameter.Tension_Ctrl:=200; Dancer_Parameter.fKp:=15; 枚举: 枚举用于以字符串代替整数变量显示,表示状态、步骤等,增加程序的可读性。 枚举的定义在 PLC Control 的 Data Types 页面。枚举型变量的声明:State : E_DancerControlS 枚举型变量的访问: CASE state OF STATE_DANCERCONTROL_INITIALIZATION: ;(*当 State 的值为 100 时,执行这部分代码*) ; STATE_DANCERCONTROL_ORDER: ;(*当 State 的值为 101 时,执行这部分代码*) ; ?? END_Case2.10.6 特殊变量类型:功能块实例TwinCAT 为用户提供数十个库文件,每个库文件都包含大库的功能块和函数。同时, 用户也可以自己定义功能块和函数,将它们打包成库文件并发布。 使用功能块时,必须为它声明一个实例。声明多个实例,就可以重复使用功能块。下面 以最常用的功能块为例。 定时器 与传统 PLC 中的定时器不同,TwinCAT 里的定时器是用功能块来实现的,数量没有限制, 定时器的名称也可以自由定义。第 63 页 共 141 页 本文纯属个人经验,非 Beckhoff 公司正式发行,如有疑问,请直接联系作者。
.doc功能块 TON 实例声明: Timer1:TON; Timers: Array[1..10] OF TON; 运行定时器:(*延时开定时器*) (*定义了 10 个定时器*)说明: 访问定时器的输出时,不能直接使用定时器的名字,而要使用它的输出接口变量 Q。上图中的逻辑表示:START 信号为 TRUE 之后 3 秒,RUN 信号置为 TRUE 计数器 与定时器类似,TwinCAT 里的计数器也是用功能块来实现的,数量没有限制,计数器的名 称也可以自由定义。 加计数器:CTU;减计数器:CTD,加减计数器:CTUD。 计数器功能块的实例声明:Counter1: CTU; 运行计数器:第 64 页 共 141 页 本文纯属个人经验,非 Beckhoff 公司正式发行,如有疑问,请直接联系作者。 .doc说明: 访问计数器的输出时,不能直接使用计数器的名字,而要使用它的输出接口变量 Q。上图中的逻辑表示:START 信号 3 次由 False 变为 TRUE 之后,RUN 信号置为 TRUE。 位操作功能块: RS,复位优先;SR,置位优先。说明:访问 RS 功能块的输出时,不能直接使用 RS 实例的名字,而要使用它的输出接 口变量 Q1, 上图中的逻辑表示: START 信号 False 变为 TRUE, RUN 信号置为 TRUE; STOP 信号 False 变为 TRUE,RUN 信号置为 FALSE。 上升沿和下降沿:R_Trig: 上升沿;F_Trig: 下降沿。它们的使用与定时器和计数器类似。第 65 页 共 141 页 本文纯属个人经验,非 Beckhoff 公司正式发行,如有疑问,请直接联系作者。 .doc说明:上图的逻辑是,Start 信号的上升沿,就把 RUN 信号置为 TRUE。2.10.7 掉电保持型变量对于安装硬盘的 PC 平台上的 TwinCAT 定义掉电保持型变量时,选中 Persistent 或者 Retain 即可。 在变量声明区,掉电保持型变量就会出现在“VAR PERSISTENT??END_VAR”之间。要使用 Persistent 和 Retain 型变量,TwinCAT 运行的硬件平台必须是使用硬盘的 PC 机。并 在下图的 TwinCAT 属性的 PLC 设置中勾选“Load/Restore Retain”第 66 页 共 141 页 本文纯属个人经验,非 Beckhoff 公司正式发行,如有疑问,请直接联系作者。 .doc比较 Retain 型变量和 Persistent 型变量: 例如,程序如下:在线修改后,再 Login,系统提示:第 67 页 共 141 页 本文纯属个人经验,非 Beckhoff 公司正式发行,如有疑问,请直接联系作者。 .doc如果选择 Yes,则 Retain 变量和 Persistent 变量都会保持,如果选择 Load all,则只有 Persistent 变量会保持。对于安装 CF 卡的控制面板或 CX 平台上的 TwinCAT 变量的掉电保持是通过每个周期把变量当前值复制到 NOVRAM 区来实现的。 NOVRAM 掉电保持区有三种形式: 对于 CX 控制器, CX90xx 自带 128K 的 NOVRAM 掉电保持区。 CX10xx 自带 128K 的 NOVRAM 掉电保持区。 对于使用 CF 卡的工控机或者控制面板,可以加订选项: C,可扩展 128KB 的 NOVRAM 掉电保持区, C,可扩展 256KB 的 NOVRAM 掉电保持区, C,可扩展 512KB 的 NOVRAM 掉电保持区, EtherCAT 端子 EL6080,以扩展 128K 的 NOVRAM。 定义掉电保持型变量时,不必用 Persistent,但必须位于输出 Q 区,具体方法如下: 1) 在程序中建立变量,并定义成%Q。第 68 页 共 141 页 本文纯属个人经验,非 Beckhoff 公司正式发行,如有疑问,请直接联系作者。 .doc2) 3) 4)在 system manager 中,扫描 CX 的 I/O 设备时,可以发现 NOVRAM 项. 在 NOVRAM 的 output 下面添加变量,其数量和类型与需要掉电保持的 PLC 变量对 应。 在 PLC 变量和 NOVRAM 变量之间建立链接,如图所示:5)勾选附图所示的地方 Auto_Init_Linked_PLC_Outputs,这样在 PLC 的第一个周期, PLC 的掉电保持型输出变量的初始值就是 NOVRAM Output 区存储的值。6)在 configue 模式下 , 还可以点击上图的 ”Export to Disk” 按钮,将目标机器的 NOVRAM 区数据备份保存到 PC 机的硬盘。第 69 页 共 141 页 本文纯属个人经验,非 Beckhoff 公司正式发行,如有疑问,请直接联系作者。 .doc2.11编程2.11.1 输入和编辑程序程序编辑时,在上图的 POU 页面,单击右键,选择 Add Object,弹出以下页面:第 70 页 共 141 页 本文纯属个人经验,非 Beckhoff 公司正式发行,如有疑问,请直接联系作者。 .doc用户可以编辑程序、功能块和函数,分别可以用 TwinCAT 支持 6 种编程语言:指令表 IL、 梯形图 LD、功能块图 FBD、顺序功能图 SFC、结构文本 ST 和自由图形功能块图 CFC。指令表 (IL)指令表(IL)由一系列指令组成。每个指令在一个新行的开始,包含有一个操作符以及取决 于操作符类型的一个或几个以逗号分隔的操作数。在指令前面可以有标识符号(标记),后 跟一个冒号(:)。 注释必须是一行的最后元素。指令之间可以插入空行。 例: LD ST GE JMPC LD EQ STN next: 17 lint 5 next idword istruct.sdword test(* 注释 *)结构化文本(ST)结构化文本由一系列指令组成。 可以执行如同高级语言所确定的 (&IF..THEN..ELSE&) 或循 环 (WHILE..DO) 语句。 例: IF value & 7 THEN WHILE value & 8 DO value := value + 1; END_WHILE; END_IF;顺序功能图(SFC)顺序功能图是一种面向图形表示的语言, 使用顺序功能图, 可以按时间顺序描述程序内的不 同动作。 使用顺序功能图语言的一个网络示例:第 71 页 共 141 页 本文纯属个人经验,非 Beckhoff 公司正式发行,如有疑问,请直接联系作者。
.doc功能块图(FBD)功能块图是一种图形化的编程语言。它以列举的若干网络运行,每个网络包含一种结构,该 结构可以是逻辑表达式、算术表达式、功能块调用、跳转或是返回指令。 在 TwinCAT PLC Control 中,功能块图中可能出现的典型网络示例如下:连续功能图编辑器(CFC)连续功能图编辑器的操作不同于带有网络的功能块图 (FBD) , 而是带有可自由布置的元素。 这就允许(例如)反馈。在连续功能图编辑器中可能出现的典型网络示例:第 72 页 共 141 页 本文纯属个人经验,非 Beckhoff 公司正式发行,如有疑问,请直接联系作者。 .doc梯形图(LD)梯形图也是一种面向图形的编程语言,它近似于电路结构。 一方面,梯形图适用于建立逻辑开关,另一方面,我们也可以如同使用 FBD 那样建立各种 网络。因此,LD 在控制其它类型 POU 调用方面是非常有用的。 (更为详细的情况在后面 叙述)。梯形图由一系列网络组成。网络局限于由左、右各一条垂直的电流线所限定的左、 右侧内。其中间是一个电路图,由接点、线圈和连接线组成。 每条电路左侧由一系列接点组成, 从左至右传递条件 “ON” 或 “OFF” , 这相当于布尔值 TRUE 和 FALSE。每个接点都有一个布尔变量。若这个变量是 TRUE,则沿着连接线从 左至右传递条件。否则,右侧连接接收值 OFF。 TwinCAT PLC Control 可能出现的典型梯形图网络示例:关于不同语言的编辑器及法,详见《TwinCAT PLC 编程手册 V2.9》第 4 章 选择某个 POU,单击右键,选择 Add Action,用户可以添加一个子程序段。子程序段使用 主程序的所有局部变量,可以选择与主程序相同或不同的编程语言。使用 Action 的方式, 用户可以灵活地选择编程语言,并且可以使程序结构更清晰,易于理解和调试。在主程序中 调用该 Action 时, 只需要按辅助输入键 F2, 选择用户定义程序中的 Action 名字即可, 如图:第 73 页 共 141 页 本文纯属个人经验,非 Beckhoff 公司正式发行,如有疑问,请直接联系作者。 .doc2.11.2 引用库文件新建一个文件时,可供使用的函数和功能块包括: a) IEC61131-3 标准规范的函数和运算式:b)类型转换函数:第 74 页 共 141 页 本文纯属个人经验,非 Beckhoff 公司正式发行,如有疑问,请直接联系作者。 .docc)默认库文件是 Standard.Lib 中提供的函数:d)默认库文件是 Standard.Lib 中提供的功能块:第 75 页 共 141 页 本文纯属个人经验,非 Beckhoff 公司正式发行,如有疑问,请直接联系作者。 .doc此外,Beckhoff 还提供数十个库文件。使用这些库文件之前,必须先引用:在 Standard.lib 下的空白区域单击右键,选择 Additional Library,第 76 页 共 141 页 本文纯属个人经验,非 Beckhoff 公司正式发行,如有疑问,请直接联系作者。 .doc选择要引用的库文件即可。有的需要取得授权并安装相应的 TwinCAT Supplement ,有的默认安装时已经包含。在 Beckhoff Information System 中,对于每个库文件都配有详细的帮助文件。如图所示:以下为默认安装已包含的常用库文件: Standard.Lib IEC61131-3 约定的标准函数和功能块: 定时器、计数器、 上升沿、下降延、 RS 置位/复位、 字符串操作等 厂家自定义的常用功能块和函数: ADS 通讯 系统时钟/任务执行时间 Watchdog 文件操作 存储区操作 ASCII 码转换 ?? 控制 TwinCAT PLC 和操作系统的常用功能块和函数。 操作系统:关机/重启/读取设置时钟,启动应用程序 TwinCAT:启动/停止,读取 CPU 占用率 PLC:启动/停止/复位,读系统信息 BasicPIDTcSystem.LibTcUtilities.Lib第 77 页 共 141 页 本文纯属个人经验,非 Beckhoff 公司正式发行,如有疑问,请直接联系作者。 .docBCD 与 DEC 转换 ??2.11.3 编译和下载编译: 目的是排除检查语法错误, 如果编译成功, 则在同路径下生成文件名相同后辍名为 tpy 的文件。Tpy 文件中保存了 IO 变量、任务周期、PLC 端口号等信息,是在 System Manager 中为目标系统作硬件配置时导入的 PLC 程序要求的接口文件。换言之,如果编译失败,不 能生成 Tpy 文件,则无法在 System Manager 中为目标系统作硬件配置。如图所示:选择 TPY 文件,导入 PLC 程序, 操作:第 78 页 共 141 页 本文纯属个人经验,非 Beckhoff 公司正式发行,如有疑问,请直接联系作者。 .doc编译分为 Build(快捷键 Ctrl+F8)和 Rebuild All,Build 时,只编译自上次编译后修改的部 分,而 Rebuild All 则完全重新编译。出现意外错误后,使用 Clean All 通常能解决问题。2.11.4 运行和调试写好程序,并且硬件配置完毕后,就可以把 PLC 程序下载到硬件调试了。 首先确保开发计算机与目标系统的 Route 连接正常。 (具体操作见 2.3 节) 选择目标系统。 (Online|Choose Run-time System) ,如果不选择,默认目标为开发计算机。 连机。 (Online|Login,快捷键 F11)运行。 (Online|Logout,快捷键 F5) 与传统 PLC 不同,第一次下载 TwinCAT PLC 程序后必须按 F5,PLC 程序才开始运行。调试: 单循环(Ctrl+F5)和断点运行(F9) ,要继续运行,则按 F5。第 79 页 共 141 页 本文纯属个人经验,非 Beckhoff 公司正式发行,如有疑问,请直接联系作者。
.doc断点的设置:如图:单击红色的断点标记,就会取消断点,再单击,又在此设置了断点。 强制,分为 Write 和 Force。 Write, 快捷键 Ctrl+F7, 只是在一个周期内改变变量的值, 在后续的周期里, 变量的值由 PLC 程序决定。Write 命令自动释放。Force,快捷键 F7,在每个周期都强制输出,变量的值不受 PLC 程序控制。Force 命令必须 由 Release Force 命令释放。 数据准备:Write 或者 Force 前先双击变量,BOOL 型变量,双击会自动切换状态,其 它类型,双击则弹出对话框,要求输入要 Write 的值。将要写入的值准备好后,会以绿色显 示在变量的旁边。直到按 Ctrl+F7 发出 Write 命令或者按 F7 发出 Force 命令,这些变量的值 才写入 PLC。第 80 页 共 141 页 本文纯属个人经验,非 Beckhoff 公司正式发行,如有疑问,请直接联系作者。 .doc2.12程序与任务周期设置TwinCAT 控制系统是分时多任务控制,在一个 PLC 项目里面,最多可以有 4 个任务,它们 的优先级分别为 0-3,不可重复。任务的执行周期可以自由指定,最小可以达到 50us。一个任务可以调用多个程序。 不同的任务按优先级和周期执行, 位于同一任务的程序执行周 期相同,执行时依调用顺序。例如:对于传统 PLC 上的中断,在 TwinCAT PLC 里是通过高优先级的任务来实现的。中断的时间 精度则通过任务的周期来控制。 任务是程序运行的唯一入口,只有被任务调用的程序才会被执行。在程序中调用程序:第 81 页 共 141 页 本文纯属个人经验,非 Beckhoff 公司正式发行,如有疑问,请直接联系作者。 .doc2.13创建引导程序为了断电重启后还能运行当前的程序,必须把程序执行码下载到 TwinCAT PLC,这个操作 就称为“创建引导程序” 。 操作:在 Online 状态下,选择菜单项 Online|Create Boot Project。 断电重启后 CX 控制器自动按当前程序运行的三个设置步骤: 1, 系统启动设置:设置为 Auto Boot:Run Mode。 (详见 2.6.2 节)2, PLC 启动设置,勾选 Boot Project 下的 1. Run-time System (Port:801) (详见 2.6.3 节)第 82 页 共 141 页 本文纯属个人经验,非 Beckhoff 公司正式发行,如有疑问,请直接联系作者。 .doc3, 创建引导程序第 83 页 共 141 页 本文纯属个人经验,非 Beckhoff 公司正式发行,如有疑问,请直接联系作者。 .doc2.14下载源代码为了方便日后的程序维护,可以下载源代码到 TwinCAT PLC。用户可以选择每次创建引导 程序都下载源代码(Implicit on create boot project) ,或者只在选择 Sourcecode Down 时下载 源代码(Only on demand) 。 选择菜单 Project|Option|Sourcecode Download,可以弹出设置界面:如果下载了源代码, 日后工程师就可以通过上传源代码来找到当前设备上的正在运行的程序 版本。对于加密程序,上载源代码时要求输入密码。 上载源代码的方法如下: 选择菜单 File|Open点击 PLC 按钮, 在弹出的窗口中选择目标系统的类型。 除了 CX90xx, 都选择 PC or CX (X86)第 84 页 共 141 页 本文纯属个人经验,非 Beckhoff 公司正式发行,如有疑问,请直接联系作者。 .doc选择目标系统。 (确保目标系统与开发计算机的 Route 连接正常,参考 2.3 节)程序的比较 上载源代码后,可以将它与保存在开发计算机上的其它程序版本进行比较。方法如下: 选择菜单“Project|Compare” ,并在弹出的窗口中选择要进行比较的程序。第 85 页 共 141 页 本文纯属个人经验,非 Beckhoff 公司正式发行,如有疑问,请直接联系作者。 .doc2.15综合举例3常用功能及编程简介3.1 系统时钟在 TcUtilities.lib 里,有关于系统时钟的读取和设置的功能块。具体请参考 Infosystem。3.2 任务信息如果系统中引用了 TcSystem.lib,在全局变量里就会出现 SystemInfo 和 SystemTaskInfoArr 两个变量。如图所示:第 86 页 共 141 页 本文纯属个人经验,非 Beckhoff 公司正式发行,如有疑问,请直接联系作者。 .doc上图可以见到,FirstCycle 标记,任务周期 Cycletime,实际执行任务的时间 LastExecTime。 时间的单位都是 100ns,即 0.1us。3.3 滤波在 TcControllerToolbox.lib 中,有多种滤波的功能块可以选择。常用的是移动平均滤波 FB_CTRL_MOVING_AVERAGE。 结构类型 ST_CTRL_MOVING_AVERAGE_PARAMS 为该 功能块给定滤波参数。包括: tCtrlCycleTime tTaskCycleTime 控制周期 任务周期第 87 页 共 141 页 本文纯属个人经验,非 Beckhoff 公司正式发行,如有疑问,请直接联系作者。 .docnSamplesToFilter 滤波采样数量,乘以控制周期,就是滤波时间。 pWorkArray_ADR 工作数组地址,通常用函数 ADR()获取 nWorkArray_SIZEOF 工作数组的大小,通常用函数 SIZEOF()获取 具体请参考 Infosystem。3.4 PID在 TcControllerToolbox.lib 中,有多种 PID 的功能块可以选择。具体请参考 Infosystem。3.5 温控 PID第 88 页 共 141 页 本文纯属个人经验,非 Beckhoff 公司正式发行,如有疑问,请直接联系作者。 .doc温控 PID 是收费的,需要安装 Supplement 才能使用。具体请参考 Infosystem。3.6 总线端子的参数化总线端子的参数化可以通过 KS2000 工具来实现,但要注意: 1, EtherCAT 端子的参数不是通过 KS2000 来配置,而是在 Twincat System Manager 中通 过 Can Open 对象字典来修改。 2, KS2000 中的设置最终是保存在硬件的注册字, 即 R1 到 R64 中。在所有总线产品的用 户手册中,都有关于注册字的描述。 3, 在实际应用中,建议通过初始化程序来配置总线产品的注册字,否则最终用户更换备 件后设备可能无法正常工作。BECKHOFF 提供 3 个功能块用于配置总线端子的参数: ? ReadWriteTerminalReg:用于读写普通总线端子的注册字。 ? KL6Configuration:用于配置 KL6xxx 串行通讯端子的注册字。 ? FB_RegisterComKL25xx:用于配置由 NC 控制

我要回帖

更多关于 倍福plc库文件 的文章

 

随机推荐