预览加载中,请您耐心等待几秒...
1/10
2/10
3/10
4/10
5/10
6/10
7/10
8/10
9/10
10/10

亲,该文档总共28页,到这已经超出免费预览范围,如果喜欢就直接下载吧~

如果您无法下载资料,请参考说明:

1、部分资料下载需要金币,请确保您的账户上有足够的金币

2、已购买过的文档,再次下载不重复扣费

3、资料包下载后请先用软件解压,在使用对应软件打开

TwinCAT高级语言编程接口 尚德明1 TwinCATSoftPLC .工业软PLC分类: 实时运行核: .使用操作系统的实时性 .自主研发实时核 编程语言PLC程序执行机制和Windows应用程序的执行机制不同,Windows应用程序是通过消 息机制触发,而PLC程序的执行时通过一个定时器自动定期触发。 因此对于软PLC来说,定时器的精准直接影响PLC逻辑执行的准确性和效率。 自主开发的实时核和操作系统依赖性小,更稳定,更准确。目前世界上主要有三家公司开发了 实时核:Beckhoff,IntervalZero,TenAsys。目前我们公司的实时核还不对外开放,TwinCAT3以 后将对外开放,对外开放就意味可以使用高级语言来编写PLC程序。目前TwinCAT系统中想使用高 级语言来进行控制只能使用操作系统的实时系统通过R3IO来实现另外一种软PLC。 :编程语言 计算机高级语言(如C++)(R3IO) IEC61131-3国际编程标准 2 高级语言和下位的通讯方式 .上位用户界面和BECKHOFF产品通讯主要方式: .实时非远程:R3IO .非实时远程:ADS通讯,Modbus,OPC .文档: .R3IO: .InformationSystem->TwinCAT->TwinCATR3IO .ADS: .InformationSystem->TwinCAT->TwinCATSystem->TwinCAT Connectivity 3 通讯方式比较 通讯周期: .R3IO通讯时间可以忽略,数据交换时间取决于定时器,CE试用 BECKHOFF提供的TcTimer可以达到100微秒 XP系统最小在1毫秒左右 .ADS通讯时间在2-3毫秒左右.但是考虑到ADSServer的响应时间, 一个命令周期可能需要200毫秒 系统拓扑: .R3IO是通过指针直接访问IO内存映像.本地操作(把它当成高级语 言编写的PLC) .ADS是网络通讯,可以是远程访问 Modbus和OPC的性能和ADS在水平 以下主要介绍ADS通讯 4 ADS简介 在BeckhoffTwinCAT系统中,各个软件模块(如TwinCATPLC、TwinCATNC、Windows应用 程序等)的工作模式类似于硬件设备,它们能够独立工作。各个软件模块之间的信息交换通过TwinCAT ADS而完成。ADS(AutomationDeviceSpecification)即自动化设备规范,它为设备之间的通讯提供 路由。 在TwinCATPC和Beckhoff的CX、BX、BC系列控制器中都包含TwinCAT信息路由器。因此各 个ADS设备之间都能够交换数据和信息。 ADS服务有TwinCAT服务程序提供,当PLC中需要调用操作系统功能时也是通过ADS命令来驱动 TwinCAT服务来完成(如文本文件读写,获取系统时间等)。 基于ADS的TwinCAT系统构架如下图所示: 5 ADS通讯协议概述 .ADS协议处于网络通讯协议的应用层。 TCP/IP模型OSI模型 应用层 传输层 Internet层 网络接口层 6 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如下 图所示: ADS设备AdsPort Run-timesystem1801 Run-timesystem2811 PC控制器中的PLC Run-timesystem3821 Run-timesystem4831 AdditionalTask1301 自定义任务(AdditionalTask) AdditionalTask2302 BCxxxx控制器中的PLC800 NC500 7 ADS通讯方式 ADS设备之间的通讯有多种方式,不同方式有不同的特点。 1.一般的ADS通讯(GeneralADSServices) -异步方式(Asynchronous) ADS客户端向ADS服务器发送ADS请求,同时客