TwinCAT高级语言编程接口.pdf
![资源得分’ title=](/images/score_1.gif)
![资源得分’ title=](/images/score_1.gif)
![资源得分’ title=](/images/score_1.gif)
![资源得分’ title=](/images/score_1.gif)
![资源得分’ title=](/images/score_05.gif)
《TwinCAT高级语言编程接口.pdf》由会员分享,可在线阅读,更多相关《TwinCAT高级语言编程接口.pdf(28页珍藏版)》请在淘文阁 - 分享文档赚钱的网站上搜索。
1、TwinCATTwinCAT高级语言编程接口高级语言编程接口 1 尚德明 TwinCAT SoftPLC 工业软PLC分类:实时运行核:使用操作系统的实时性 自主研发实时核 编程语言PLC程序执行机制和Windows应用程序的执行机制不同,Windows应用程序是通过消息机制触发,而PLC程序的执行时通过一个定时器自动定期触发。因此对于软PLC来说,定时器的精准直接影响PLC逻辑执行的准确性和效率。自主开发的实时核和操作系统依赖性小,更稳定,更准确。目前世界上主要有三家公司开发了实时核:Beckhoff,IntervalZero,TenAsys。目前我们公司的实时核还不对外开放,TwinCAT
2、 3以后将对外开放,对外开放就意味可以使用高级语言来编写PLC程序。目前TwinCAT系统中想使用高级语言来进行控制只能使用操作系统的实时系统通过R3IO来实现另外一种软PLC。:编程语言 计算机高级语言(如C+)(R3IO)IEC 61131-3国际编程标准 2 高级语言和下位的通讯方式高级语言和下位的通讯方式 上位用户界面和BECKHOFF 产品通讯主要方式:实时非远程:R3IO 非实时远程:ADS通讯,Modbus,OPC 文档:R3IO:Information System-TwinCAT-TwinCAT R3IO ADS:Information System-TwinCAT-Twin
3、CAT System-TwinCAT Connectivity 3 通讯方式比较通讯方式比较 通讯周期:R3IO 通讯时间可以忽略,数据交换时间取决于定时器,CE试用BECKHOFF提供的TcTimer可以达到100微秒 XP系统最小在1毫秒左右 ADS通讯时间在2-3毫秒左右.但是考虑到ADS Server的响应时间,一个命令周期可能需要200毫秒 系统拓扑:R3IO是通过指针直接访问IO内存映像.本地操作(把它当成高级语言编写的PLC)ADS是网络通讯,可以是远程访问 Modbus和OPC的性能和ADS在水平 以下主要介绍ADS通讯 4 ADS简介简介 在Beckhoff TwinCAT
4、系统中,各个软件模块(如TwinCAT PLC、TwinCAT NC、Windows 应用程序等)的工作模式类似于硬件设备,它们能够独立工作。各个软件模块之间的信息交换通过TwinCAT ADS 而完成。ADS(Automation Device Specification)即自动化设备规范,它为设备之间的通讯提供路由。在TwinCAT PC 和Beckhoff 的CX、BX、BC 系列控制器中都包含TwinCAT 信息路由器。因此各个ADS 设备之间都能够交换数据和信息。ADS 服务有TwinCAT服务程序提供,当PLC中需要调用操作系统功能时也是通过ADS命令来驱动TwinCAT服务来完成
5、(如文本文件读写,获取系统时间等)。基于ADS 的TwinCAT 系统构架如下图所示:5 ADS 通讯协议概述通讯协议概述 ADS协议处于网络通讯协议的应用层。6 应用层 传输层 Internet层 网络接口层 TCP/IP模型模型 OSI模型模型 TwinCAT ADS 设备标识 每台TwinCAT ADS 设备都有各自不同的AdsAmsNetId 和AdsPort(端口号),以相互区别。AdsAmsNetId 是TCP/IP 地址的扩展,是TwinCAT Message Router,存在于每台TwinCAT PC 或Beckhoff CX、BX、BC 系列控制器中。例如:如果一台PC 的
6、IP 地址是“192.168.2.10”,那么它的AdsAmsNetId 就是“192.168.2.10.1.1”。当然,也可以对AdsAmsNetId 进行修改。每台ADS 设备(ADS Server)的AdsPort 都各不相同,且固定不变。而ADS 客户端(ADS Client)应用程序的AdsPort 则是可变的。不同ADS 设备的AdsPort 如下图所示:ADS ADS 设备设备 AdsPortAdsPort PC 控制器中的PLC Run-time system 1 801 Run-time system 2 811 Run-time system 3 821 Run-time
7、system 4 831 自定义任务(Additional Task)Additional Task 1 301 Additional Task 2 302 BCxxxx 控制器中的PLC 800 NC 500 7 ADS 通讯方式通讯方式 ADS 设备之间的通讯有多种方式,不同方式有不同的特点。1.一般的ADS 通讯(General ADS Services)-异步方式(Asynchronous)ADS 客户端向ADS 服务器发送ADS 请求,同时客户端继续自己的工作。ADS 服务器处理请求后,把响应以Call-back 函数方式发给客户端。-通知方式(Notification)ADS 客户
8、端向ADS 服务器发送ADS 请求,ADS 服务器以Call-back 函数的方式不断向客户端发送响应,直到客户端取消该请求。这两种通讯方式的效率高,但需求复杂的客户端程序。注意:每个的端口最多注册550个通知 优点:不会造成系统堵塞 缺点:不能确保每次请求都有返回 比喻:发邮件 8 ADS 通讯方式通讯方式 2.特殊的ADS 通讯(Specific ADS Services)TwinCAT ADS 设备和Windows 应用程序(例如VB、VC 应用程序等)之间的通讯除了可以采用一般的ADS 通讯方式外,还可以采用特殊的通讯方式,即同步通讯方式。-同步方式(Synchronous)ADS 客
9、户端向ADS 服务器发送ADS 请求,在通讯过程中客户端程序停止执行,直到获得ADS 服务器返回的响应。这种通讯方式不需求复杂的客户端程序,但其轮循的通讯方式给系统带来比较大的负载,因此通讯效率较低。优点:能即时返回结果 缺点:如果通讯故障会造成系统堵塞 比喻:通电话 9 ADS API 为方便各种计算机高级语言及其环境使用ADS通讯,Beckhoff TwinCAT提供相如下组件:ADS.NET Component 适用.NET平台,VB.NET,C#等 ADS-OCX(ActiveX COM控件)适用于Visual Basic,Visual C+,Delphi等.ADS-DLL 适用于Vi
10、sual C+等.ADS-Script-DLL 适用于 VBScript,Jscript等脚本,创建B/S架构的应用.JAVA DLL 适用于JAVA语言。“PlcSystem.lib”PLC 库 ADS设备可以通过据此和其他ADS设备以及Windows进行通讯。10 ADS 访问变量方式访问变量方式 TwinCAT ADS访问变量有两种方式:1.地址方式地址方式 一个PLC变量的地址由两部分组成:GroupIndex和OffsetIndex:GroupIndex一般用于区别寄存器类型,在TwinCAT ADS设备中为常量,具体内容可以参考Information System(后附常用的Gro
11、upIndex值)。OffsetIndex为变量的偏移地址,在PLC中为该变量的地址。2.变量名方式变量名方式 在TwinCAT ADS设备中每个变量都有一个句柄(Handle)。适用变量名访问变量首先需要得到该变量的句柄。(不同的高级语言方式略有不同)11 ADS组件库文件组成简介组件库文件组成简介 12 ADS组件库集成在TwinCAT软件中,安装任何版本的TwinCAT软件都包含ADS通讯组件,如果用户希望在没有安装TwinCAT软件的计算机适用ADS通讯组件可以安装Supplement中的TwinCAT_ADS_Communication_Library此为免费产品。除需要复制到Win
12、dows/System32目录外绝大部分相关文件可以在TwinCAT安装目录找到。假设TwinCAT安装路径为C:TwinCAT 文件 描述 C:TwinCATADS ApiTcAdsDll ADS DLL C:TwinCATADS Api.NET.NET组件(支持三个版本的Framework)C:TwinCATADS ApiAdsToJava ADS JAVA DLL C:TwinCATADS ApiCompactFramework.NET Compact Framework组件 C:TwinCATADS ApiLib VS 97 Lib C:TwinCATADS ApiTcAdsWebSe
13、rvice WebService组件 C:WINDOWSsystem32AdsOcx.ocx ADS OCX C:TwinCATTcScript.dll ADS-Script-DLL 如果可以建议用户最好用TwinCAT CP,ADS组件出了配置稍微麻烦一些外,对于多个客户端并行通讯业有局限性 Ads 组件调用过程简介组件调用过程简介 13.NET调用流程 新建工程新建工程 添加引用TwinCAT.Ads.dll 定义TcAdsClient对象 private TcAdsClient adsClient;初始化TcAdsClient对象 adsClient=new TcAdsClient();
14、adsClient.Connect(801);通过变量名取得变量的句柄 注册DeviceNotification事件 用于读写变量 AddDeviceNotification 读写变量 接受处理返回结果 释放资源 ADS.NET组件通讯方式组件通讯方式 14 直接封装TcAdsDll.Dll(ADS Client工作模式)按照AMS协议组件Socket数据包直接通过TCP系统通讯(ADS Server)Ads 组件调用过程简介组件调用过程简介 C+在 Visual C+中进行链接和程序开发时所需要的文件:TcAdsDll.dll 动态链接库 TcAdsDll.lib 使用 TcAdsDll.d
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- TwinCAT 高级 语言 编程 接口
![提示](https://www.taowenge.com/images/bang_tan.gif)
限制150内