ADS通讯-高级语言_第1页
ADS通讯-高级语言_第2页
ADS通讯-高级语言_第3页
ADS通讯-高级语言_第4页
ADS通讯-高级语言_第5页
已阅读5页,还剩21页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1 ADS通讯 高级语言 TheWindowsControlandAutomationTechnology 李小宁 TwinCAT05 04 20202 TwinCAT介绍 TwinCAT介绍 TwinCAT TheWindowsControlandAutomationTechnology特点 不改变Windows无需PC外的其他硬件将标准Windows变成实时操作系统循环时间可短至50微秒 强制优先排序完全支持浮点单元 FPU 硬件平台PC 高性能 高精度的控制任务CX 适用于中大型复杂控制任务BX 适用于中等规模控制任务BC 适用于小规模控制任务软件平台XP XPE CE等通讯可通过OCX Dll访问Windows用户界面可通过TCP IP OPC等实现远程访问 TwinCAT05 04 20203 TwinCAT硬件平台 性能 BC系列 BX系列 CX系列 costs TwinCAT 一个工具适用于所有平台 TwinCAT介绍 Beckhoff控制器分4个性能等级 工业PC高性能 高精度等级的自动化设备 TwinCAT05 04 20204 TwinCATSystemManager TwinCAT介绍 系统硬件管理扫描 配置系统软件管理起停 时基 通讯系统调试诊断 Freerun 4套PLC独立运行 TwinCAT05 04 20205 TwinCATSystemManagerIO映射 TwinCAT过程映像 现场总线1 现场总线2 现场总线3 映射 TwinCAT结构 系统IO映射对所有主要现场总线开放支持PC硬件接口易于安装和诊断从逻辑映射到物理I O LIGHTBUS EthernetTCP IP RS232RS485 TwinCAT05 04 20206 TwinCATPLCControl TwinCAT介绍 每套PLC的Input区16 000字节 甚至还可增加 支持源代码下载 上传源代码时所有注释均可保留 其他工具软件示波器软件 scopeview设备仿真器 CE5 CE6 最多4个Task设定优先级任务最短50us充分利用IPC的内存 硬盘和CPU资源 Task是分配CPU资源的唯一入口 TwinCAT05 04 20207 TwinCATPLCControl TwinCAT介绍 PLC可直接在开发环境的机器上运行 类似高级语言的调试功能 支持断点功能独立启动和停止PLC模块化结构组件 Visulization TwinCAT05 04 20208 TwinCATPLC功能库 TwinCAT介绍 TwinCAT通讯 系统拓扑 R3IO是通过指针直接访问IO内存映射 本地操作 把它当成高级语言编写的PLC ADS是网络通讯 可以是远程访问通讯周期 R3IO通讯时间可以忽略 数据交换时间取决于定时器 CE试用BECKHOFF提供的TcTimer可以达到100微秒XP系统最小在1毫秒左右ADS通讯时间在2 3毫秒左右 但是考虑到ADSServer的响应时间 一个命令周期可能需要200毫秒上位用户界面和BECKHOFF产品通讯主要方式 实时非远程 R3IO非实时远程 ADS通讯 Modbus OPC等 9 TwinCAT介绍 TwinCAT05 04 202010 Internet ADS路由器 ADSDll TwinCATOPC服务器 VB C VB Net DelphiC XML VB C Delphi C ASP OCX Net 第三方 Wrapper BeckhoffADS接口开放 简单 灵活 文档齐全支持多家Scada软件标准OPC接口支持的规范 DA AE XML Explorer第三方 TwinCAT通讯接口 第三方 TwinCAT介绍 11 ADS简介 在BeckhoffTwinCAT系统中 各个软件模块 如TwinCATPLC TwinCATNC Windows应用程序等 的工作模式类似于硬件设备 它们能够独立工作 各个软件模块之间的信息交换通过TwinCATADS而完成 ADS AutomationDeviceSpecification 即自动化设备规范 它为设备之间的通讯提供路由 在TwinCATPC和Beckhoff的CX BX BC系列控制器中都包含TwinCAT信息路由器 因此各个ADS设备之间都能够交换数据和信息 基于ADS的TwinCAT系统构架如下图所示 12 ADS通讯协议概述 ADS协议处于网络通讯协议的应用层 应用层 传输层 Internet层 网络接口层 TCP IP模型 OSI模型 13 TwinCATADS设备标识 每台TwinCATADS设备都有各自不同的AdsAmsNetId和AdsPort 端口号 以相互区别 AdsAmsNetId是TCP IP地址的扩展 是TwinCATMessageRouter 存在于每台TwinCATPC或BeckhoffCX BX BC系列控制器中 例如 如果一台PC的IP地址是 192 168 2 10 那么它的AdsAmsNetId就是 192 168 2 10 1 1 当然 也可以对AdsAmsNetId进行修改 每台ADS设备 ADSServer 的AdsPort都各不相同 且固定不变 而ADS客户端 ADSClient 应用程序的AdsPort则是可变的 不同ADS设备的AdsPort如下图所示 14 ADS通讯方式 ADS设备之间的通讯有多种方式 不同方式有不同的特点 一般的ADS通讯 GeneralADSServices 异步方式 Asynchronous ADS客户端向ADS服务器发送ADS请求 同时客户端继续自己的工作 ADS服务器处理请求后 把响应以Call back函数方式发给客户端 通知方式 Notification ADS客户端向ADS服务器发送ADS请求 ADS服务器以Call back函数的方式不断向客户端发送响应 直到客户端取消该请求 这两种通讯方式的效率高 但需求复杂的客户端程序 优点 不会造成系统堵塞缺点 不能确保每次请求都有返回 15 ADS通讯方式 特殊的ADS通讯 SpecificADSServices TwinCATADS设备和Windows应用程序 例如VB VC应用程序等 之间的通讯除了可以采用一般的ADS通讯方式外 还可以采用特殊的通讯方式 即同步通讯方式 同步方式 Synchronous ADS客户端向ADS服务器发送ADS请求 在通讯过程中客户端程序停止执行 直到获得ADS服务器返回的响应 这种通讯方式不需求复杂的客户端程序 但其轮循的通讯方式给系统带来比较大的负载 因此通讯效率较低 优点 能即时返回结果缺点 如果通讯故障会造成系统堵塞 16 ADSAPI 为方便各种计算机高级语言及其环境使用ADS通讯 BeckhoffTwinCAT提供相如下组件 ADS NETComponent适用 NET平台 VB NET C 等 ADS OCX ActiveXCOM控件 适用于VisualBasic VisualC Delphi等 ADS DLL适用于VisualC 等 ADS Script DLL适用于VBScript Jscript等脚本 创建B S架构的应用 JAVADLL适用于JAVA语言 PlcSystem lib PLC库ADS设备可以通过据此和其他ADS设备以及Windows进行通讯 17 ADS访问变量方式 TwinCATADS访问变量有两种方式 1 地址方式一个PLC变量的地址由两部分组成 GroupIndex和OffsetIndex GroupIndex一般用于区别寄存器类型 在TwinCATADS设备中为常量 具体内容可以参考InformationSystem 后附常用的GroupIndex值 OffsetIndex为变量的偏移地址 在PLC中为该变量的地址 2 变量名方式在TwinCATADS设备中每个变量都有一个句柄 Handle 适用变量名访问变量首先需要得到该变量的句柄 不同的高级语言方式略有不同 18 常用的GroupIndex 1 对于MX IX QX寄存器的偏移地址的单位是 位 而不是字节 计算地址需要注意2 M寄存器偏移地址最大值为0 x0000FFFF 而MX I IX Q QX偏移地址最大值为0 xFFFFFFFF 3 上表后三个主要用于C 语言 其他高级语言已经封装成专有方法 不需直接调用 19 ADS组件库文件组成简介 ADS组件库集成在TwinCAT软件中 安装任何版本的TwinCAT软件都包含ADS通讯组件 如果用户希望在没有安装TwinCAT软件的计算机适用ADS通讯组件可以安装Supplement中的TwinCAT ADS Communication Library此为免费产品 除需要复制到Windows System32目录外绝大部分相关文件可以在TwinCAT安装目录找到 假设TwinCAT安装路径为C TwinCAT 20 Ads组件调用过程简介 NET调用流程 新建工程 添加引用TwinCAT Ads dll 定义TcAdsClient对象 privateTcAdsClientadsClient 初始化TcAdsClient对象 adsClient newTcAdsClient adsClient Connect 801 通过变量名取得变量的句柄 注册DeviceNotification事件 用于读写变量 AddDeviceNotification 读写变量 接受处理返回结果 释放资源 21 Ads组件调用过程简介 C 在VisualC 中进行链接和程序开发时所需要的文件 TcAdsDll dll 动态链接库 TcAdsDll lib 使用TcAdsDll dll的函数库 TcAdsApi h 声明ADS功能的头文件 TcAdsDef h 声明结构和常数的头文件主要接口 AdsPortOpen 建立TwinCAT信息路由器连接 通讯口 AdsPortClose 关闭TwinCAT信息路由器的连接 通讯口 AdsGetLocalAddress 返回本地NetId和端口号AdsSyncWriteReq 同步写数据到一个ADS设备AdsSyncReadReq 从ADS服务器中同步读数据 AdsSyncReadWriteReq 同步写入数据到ADS服务器中并从ADS设备接收返回的数据 AdsSyncReadStateReq 从ADS服务器中读ADS状态和设备状态 AdsSyncAddDeviceNotificationReq 通知在ADS服务器中进行定义 如PLC 当某个事件发生时 该功能 回调功能 在ADS客户端进行调用 C程序 AdsSyncDelDeviceNotificationReq 从ADS服务器中删除以前定义的通知 22 辅助工具 TwinCATADSMonitor TwinCATADSMonitor可以抓取ADS通讯数据包 ADS数据结构 帧数据 通讯数据帧记录 23 辅助工具 仿真器 1 下载文件 以下路径为FTp路径 ftp Software embPC Control CE Solutions CX Emulator emulator zip CE仿真器英文 Software embPC Control CE Solutions SDK BeckhoffHMI500V1 3SDK msi Software embPC Control CE Solutions VS NET2005 CE5 DbgHlp zip2 仿真器安装 a 安装MicrosoftWindowsCE5 0Emulator msi需要连接互联网 一定注意 b 安装完仿真器 再安装虚拟网卡驱动netsvwrap msi3 配置 a 安装后修改StartEmulator DE bat文件 将参数中的 Ethernet的MAC改为本地网卡的实际MAC地址b 参数vmid后的GUID值做为保存映像是的文件夹名称 4 设置仿真器和VS net集成环境 WindowsCE5的模拟器是基于x86的 VS2005的DeviceEmulator是基于ARM的 VS2005开发环境无法和WinCE模拟器进行集成进行远程调试 CE6不需要 只需安装虚拟机程序 配置好地址 但是可以通过下面的方式实现集成 1 将CE5 DbgHlp zip压缩包文件解压复制仿真器的 harddisk system路径下 实际的控制器新版本系统中这些文件已经存在 修改IP地址与本机在同网段255 255 255 0 24 辅助工具 仿真器 续 2 运行Conmanclient2 exe3 配置VS2005开发环境 a 转到 Tools options devicetools devices b 选择WindowsCE5 0设备 点击 属性 properties 按钮c 在WindowsCE5 0设备属性对话框点击 配置 configure 按钮d 在TCP IP配置对话框选定 使用特定的IP usespecificIPaddress 输入仿真器的IP地址 e 在Windows环境下 建立利用VS环境新建WinCE工程 新建 项目 VisualC 智能设备 WindowsCE5 0即可完成新建项目 右键选择工程 部署 完成项目部署 就可以启动仿真器 保证仿真器处于启动状态 下面就可以DebugCE应用程序 选择部署到WindowsCE5 0 如果部署仍然失败 运行仿真器 harddisk system路径下的cMaccept exe文

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论