ADS通讯-高级语言

上传人:野鹰 文档编号:2878698 上传时间:2017-07-28 格式:PDF 页数:26 大小:1.65MB
返回 下载 相关 举报
ADS通讯-高级语言_第1页
第1页 / 共26页
ADS通讯-高级语言_第2页
第2页 / 共26页
ADS通讯-高级语言_第3页
第3页 / 共26页
ADS通讯-高级语言_第4页
第4页 / 共26页
ADS通讯-高级语言_第5页
第5页 / 共26页
点击查看更多>>
资源描述

《ADS通讯-高级语言》由会员分享,可在线阅读,更多相关《ADS通讯-高级语言(26页珍藏版)》请在金锄头文库上搜索。

1、 1 ADS通讯高级语言 The Windows Control and Automation Technology 李小宁 TwinCAT 28.10.2013 2 TwinCAT 介绍 TwinCAT 介绍 TwinCAT = The Windows Control and Automation Technology 特点: 不改变 Windows 无需 PC外的其他 硬件 将标准 Windows变成实时操作系统 循环时间可短至 50微秒、强制优先排序 完全支持浮点单元 (FPU) 硬件 平台 PC 高性能、高精度的控制任务 CX 适用于 中大型复杂控制任务 BX 适用于中等规模控制任务

2、BC 适用于小规模控制任务 软件平台 XP/XPE/CE等 通讯 可通过 OCX, Dll 访问 Windows用户界面 可通过 TCP/IP OPC等实现 远程访问 TwinCAT 28.10.2013 3 TwinCAT 硬件平台 性能 BC 系列 BX 系列 CX 系列 costs TwinCAT 介绍 Beckhoff 控制 器分 4 个性能等级 工业 PC 高性能、高精度等级的自动化设备 TwinCAT 28.10.2013 4 TwinCAT System Manager TwinCAT 介绍 系统硬件管理 扫描、配置 系统软件管理 起停、时基、 通讯 系统调试诊断( Free r

3、un ) 4套 PLC独立运行 TwinCAT 28.10.2013 5 TwinCAT System Manager IO映射 I O 输入 输出 I O I O TwinCAT 过程映像 现场总线 1 现场总线 2 现场总线 3 映射 TwinCAT 结构 系统 IO映射 对所有主要现场总线开放 支持 PC 硬件接口 易于安装和诊断 从逻辑映射到物理 I/O LIGHTBUS Ethernet TCP/IP RS232 RS485 TwinCAT 28.10.2013 6 TwinCAT PLC Control TwinCAT 介绍 每套 PLC的Input区16,000字节,甚至还可增加

4、 支持源代码下载 , 上传源代码时所有注释均可保留 其他工具软件 示波器软件: scope view 设备仿真器 (CE5/CE6) 最多 4个 Task 设定优先级 任务最短 50us 充分利用 IPC的内存、硬盘 和 CPU资源 Task是分配 CPU资源的唯一入口 TwinCAT 28.10.2013 7 TwinCAT PLC Control TwinCAT 介绍 PLC可直接在开发环境的机器上运行。 类似高级语言的调试功能,支持断点功能 独立启动和停止 PLC 模块化结构 组件: Visulization TwinCAT 28.10.2013 8 TwinCAT PLC 功能库 Tw

5、inCAT 介绍 TwinCAT 通讯 系统拓扑 : R3IO是通过指针直接访问 IO内存映射 .本地操作(把它当成高级语言编写的 PLC) ADS是网络通讯 ,可以是远程访问 通讯周期 : R3IO 通讯时间可以忽略,数据交换时间取决于定时器, CE试用BECKHOFF提供的 TcTimer可以达到 100微秒 XP系统最小在 1毫秒左右 ADS通讯时间在 2-3毫秒左右 .但是考虑到 ADS Server的响应时间,一个命令周期可能需要 200毫秒 上位用户界面和 BECKHOFF 产品通讯主要方式: 实时非远程: R3IO 非实时远程: ADS通讯 ,Modbus、 OPC等 9 Twi

6、nCAT 介绍 TwinCAT 28.10.2013 10 Internet ADS 路由器 ADS Dll TwinCAT OPC 服务器 VB C#, VB.Net Delphi C+ XML VB, C# Delphi/C+ ASP OCX .Net 第三方 Wrapper Beckhoff ADS 接口 开放、简单、 灵活、 文档齐全 支持多家 Scada软件 标准 OPC接口 支持的规范: DA/AE/XML Explorer 第三方 TwinCAT 通讯 接口 第三方 TwinCAT 介绍 11 ADS简介 在 Beckhoff TwinCAT 系统中,各个软件模块(如 TwinC

7、AT PLC、 TwinCAT NC、Windows 应用程序等)的工作模式类似于硬件设备,它们能够独立工作。各个软件模块之间的信息交换通过 TwinCAT ADS 而完成。 ADS( Automation Device Specification)即自动化设备规范,它为设备之间的通讯提供路由。 在 TwinCAT PC 和 Beckhoff 的 CX、 BX、 BC 系列控制器中都包含 TwinCAT 信息路由器。因此各个 ADS 设备之间都能够交换数据和信息。 基于 ADS 的 TwinCAT 系统构架如下图所示 : 12 ADS 通讯协议概述 ADS协议处于网络通讯协议的应用层。 应用层

8、 传输层 Internet层 网络接口层 TCP/IP模型 OSI模型 13 TwinCAT ADS 设备标识 每台 TwinCAT ADS 设备都有各自不同的 AdsAmsNetId 和 AdsPort(端口号),以相互区别。 AdsAmsNetId 是 TCP/IP 地址的扩展,是 TwinCAT Message Router,存在于每台 TwinCAT PC 或 Beckhoff CX、 BX、 BC 系列控制器中。例如:如果一台 PC 的 IP 地址是“ 192.168.2.10”,那么它的 AdsAmsNetId 就是“ 192.168.2.10.1.1”。当然,也可以对 AdsAm

9、sNetId 进行修改。 每台 ADS 设备( ADS Server)的 AdsPort 都各不相同,且固定不变。而 ADS 客户端( ADS Client)应用程序的 AdsPort 则是可变的。不同 ADS 设备的 AdsPort 如下图所示: ADS 设备 AdsPort PC 控制器中的 PLC Run-time system 1 801 Run-time system 2 811 Run-time system 3 821 Run-time system 4 831 自定义任务( Additional Task ) Additional Task 1301 Additional Ta

10、sk 2 302 BCxxxx 控制器中的 PLC 800 NC 500 14 ADS 通讯方式 ADS 设备之间的通讯有多种方式,不同方式有不同的特点。 1. 一般的 ADS 通讯( General ADS Services) - 异步方式( Asynchronous) ADS 客户端向 ADS 服务器发送 ADS 请求,同时客户端继续自己的工作。 ADS 服务器处理请求后,把响应以 Call-back 函数方式发给客户端。 - 通知方式( Notification) ADS 客户端向 ADS 服务器发送 ADS 请求, ADS 服务器以 Call-back 函数的方式不断向客户端发送响应,

11、直到客户端取消该请求。 这两种通讯方式的效率高,但需求复杂的客户端程序。 优点:不会造成系统堵塞 缺点:不能确保每次请求都有返回 15 ADS 通讯方式 2. 特殊的 ADS 通讯( Specific ADS Services) TwinCAT ADS 设备和 Windows 应用程序(例如 VB、 VC 应用程序等)之间的通讯除了可以采用一般的 ADS 通讯方式外,还可以采用特殊的通讯方式,即同步通讯方式。 - 同步方式( Synchronous) ADS 客户端向 ADS 服务器发送 ADS 请求,在通讯过程中客户端程序停止执行,直到获得 ADS 服务器返回的响应。 这种通讯方式不需求复杂

12、的客户端程序,但其轮循的通讯方式给系统带来比较大的负载,因此通讯效率较低。 优点:能即时返回结果 缺点:如果通讯故障会造成系统堵塞 16 ADS API 为方便各种计算机高级语言及其环境使用 ADS通讯, Beckhoff TwinCAT提供相如下组件: ADS .NET Component 适用 .NET平台, VB.NET,C#等 ADS-OCX (ActiveX COM控件 ) 适用于 Visual Basic, Visual C+, Delphi等 . ADS-DLL 适用于 Visual C+等 . ADS-Script-DLL 适用于 VBScript, Jscript等脚本,创建

13、 B/S架构的应用 . JAVA DLL 适用于 JAVA语言。 “PlcSystem.lib” PLC 库 ADS设备可以通过据此和其他 ADS设备以及 Windows进行通讯。 17 ADS 访问变量方式 TwinCAT ADS访问变量有两种方式: 1.地址方式 一个 PLC变量的地址由两部分组成: GroupIndex和 OffsetIndex: GroupIndex一般用于区别寄存器类型,在 TwinCAT ADS设备中为常量,具体内容可以参考 Information System(后附常用的GroupIndex值)。 OffsetIndex为变量的偏移地址,在 PLC中为该变量的地址

14、。 2.变量名方式 在 TwinCAT ADS设备中每个变量都有一个句柄( Handle)。 适用变量名访问变量首先需要得到该变量的句柄。(不同的高级语言方式略有不同) 18 常用的 GroupIndex GroupIndex值 描述 0x00004020 M寄存器(用 M声明) 0x00004021 MX寄存器(用 MX声明) 0x0000F020 I寄存器(用 I声明) 0x0000F021 IX寄存器(用 IX声明) 0x0000F030 Q寄存器(用 Q声明) 0x0000F031 QX寄存器(用 QX声明) 0x0000F003 取变量的句柄 0x0000F005 通过变量句柄访问变量值 0x0000F006 释放句柄 1.对于 MX, IX, QX寄存器的偏移地址的单位是 “ 位 ” ,而不是字节,计算地址需要注意 2.M寄存器偏移地址最大值为 0x0000FFFF,而 MX, I, IX, Q, QX偏移地址最大值为0xFFFFFFFF。 3.上表后三个主要用于 C语言,其他高级语言已经封装成专有方法,不需直接调用。 19 ADS组件库文件组成简介 ADS组件库集成在 TwinCAT软件中,安装任何版本的 TwinCAT软件都包含ADS通讯组件,如果用户希望在没有安装 TwinCAT软件的计

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 行业资料 > 其它行业文档

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号