4000_通讯_ADS通讯-高级语言

1,ADS通讯高级语言,TheWindowsControlandAutomationTechnology,李小宁,TwinCAT13.06.20202,TwinCAT介绍,TwinCAT介绍,TwinCATTheWindowsControlandAutomationTechnology特点不改变Windows无需PC外的其他硬件将标准Windows变成实时操作系统循环时间可短至50微秒、强制优先排序完全支持浮点单元FPU硬件平台PC高性能、高精度的控制任务CX适用于中大型复杂控制任务BX适用于中等规模控制任务BC适用于小规模控制任务软件平台XP/XPE/CE等通讯可通过OCX,Dll访问Windows用户界面可通过TCP/IPOPC等实现远程访问,TwinCAT13.06.20203,TwinCAT硬件平台,,性能,BC系列,BX系列,CX系列,,costs,TwinCAT一个工具适用于所有平台,,TwinCAT介绍,Beckhoff控制器分4个性能等级,工业PC高性能、高精度等级的自动化设备,TwinCAT13.06.20204,TwinCATSystemManager,TwinCAT介绍,系统硬件管理扫描、配置系统软件管理起停、时基、通讯系统调试诊断(Freerun),4套PLC独立运行,TwinCAT13.06.20205,TwinCATSystemManagerIO映射,,,,TwinCAT过程映像,现场总线1,现场总线2,现场总线3,,,映射,,TwinCAT结构,系统IO映射对所有主要现场总线开放支持PC硬件接口易于安装和诊断从逻辑映射到物理I/O,LIGHTBUS,EthernetTCP/IP,RS232RS485,TwinCAT13.06.20206,,,,,,TwinCATPLCControl,TwinCAT介绍,每套PLC的区16,000字节,甚至还可增加,支持源代码下载,上传源代码时所有注释均可保留,其他工具软件示波器软件scopeview设备仿真器CE5/CE6,,最多4个Task设定优先级任务最短50us充分利用IPC的内存、硬盘和CPU资源,Task是分配CPU资源的唯一入口,TwinCAT13.06.20207,,,,,,TwinCATPLCControl,TwinCAT介绍,PLC可直接在开发环境的机器上运行。类似高级语言的调试功能,支持断点功能独立启动和停止PLC模块化结构组件Visulization,TwinCAT13.06.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介绍,TwinCAT13.06.202010,Internet,ADS路由器,ADSDll,TwinCATOPC服务器,,VB,C,VB.Net,DelphiC,,,,XML,VB,CDelphi/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-OCXActiveXCOM控件适用于VisualBasic,VisualC,Delphi等.ADS-DLL适用于VisualC等.ADS-Script-DLL适用于VBScript,等脚本,创建B/S架构的应用.JAVADLL适用于JAVA语言。“PlcSystem.lib”PLC库ADS设备可以通过据此和其他ADS设备以及Windows进行通讯。,17,ADS访问变量方式,TwinCATADS访问变量有两种方式1.地址方式一个PLC变量的地址由两部分组成GroupIndex和OffsetIndexGroupIndex一般用于区别寄存器类型,在TwinCATADS设备中为常量,具体内容可以参考InationSystem(后附常用的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安装路径为CTwinCAT,20,Ads组件调用过程简介,.NET调用流程,新建工程,添加引用TwinCAT.Ads.dll,定义TcAdsClient对象,privateTcAdsClientadsClient;,初始化TcAdsClient对象,adsClientnewTcAdsClient;adsClient.Connect801;,通过变量名取得变量的句柄,注册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.zipCE仿真器英文/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压缩包文件解压复制仿真器的harddisksystem路径下(实际的控制器新版本系统中这些文件已经存在)修改IP地址与本机在同网段255.255.255.0,24,辅助工具仿真器续,2.运行Conmanclient2.3.配置VS2005开发环境a.转到“Tools--options--devicetools--devices”b.选择WindowsCE5.0设备,点击“属性(properties)”按钮c.在WindowsCE5.0设备属性对话框点击“配置(configure)”按钮d.在TCP/IP配置对话框选定“使用特定的IPusespecificIPaddress”,输入仿真器的IP地址。e.在Windows环境下,建立利用VS环境新建WinCE工程,新建-项目-VisualC-智能设备-WindowsCE5.0即可完成新建项目。右键选择工程-部署,完成项目部署,就可以启动仿真器(保证仿真器处于启动状态)下面就可以DebugCE应用程序,选择部署到WindowsCE5.0。如果部署仍然失败,运行仿真器harddisksystem路径下的cMaccept.文件。测试正常后保存仿真器的设置,载关闭时选择SaveSate而不是TrueOff,这样下次启动仿真器就不需要重新设置仿真器。如果想删除保存的文件,转到“我的文档MyVirtualMachines下,将上文提到的在StartEmulator_DE.bat设置的vmid值为名称的文件夹删除即可。如果在具体操作用什么问题,您可以随时和我们联系。vs2008注意事项用如下文件代替CE5_DbgHlp.zip内的文件CProgramFilesCommonFilesMicrosoftSharedCoreCon1.0Targetwce400 x86,TwinCAT3PLCControl,TwinCAT13.06.202025,TwinCAT3介绍,TwinCAT3集成了PLCandC/C编程系统配置,设定与诊断ModulegenerationC/CorMatlab/SimulinkDebuggingPLC,C/C,Matlab/Simulink,TwinCAT13.06.202026,TwinCAT3I/OIntegratedSystemManager,TwinCAT介绍,,,,,,Systemconfiguration,Motioncontrolconfiguration,PLCconfiguration,SafetyPLCconfiguration,Cmoduleconfiguration,I/Oconfiguration,

从高级语言实现ads 通信_4000通讯ADS通讯-高级语言-资源下载-读根文库相关推荐

  1. 倍福PLC--C#实现ADS通信超时重传设定

    本文介绍倍福PLC–C#实现ADS通信超时重传设定 在Beckhoff TwinCAT 系统中,各个软件模块(如TwinCAT PLC.TwinCAT NC.Windows 应用程序等)的工作模式类似 ...

  2. 倍福TwinCAT3上位机与PLC通信测试(ADS通信) 包含C#和C++代码

    倍福TwinCAT3上位机与PLC通信测试(ADS通信) 包含C#和C++代码 倍福TwinCAT3上位机与PLC通信测试(ADS通信) 包含C#和C++代码 本次测试需要环境: VS2013,Twi ...

  3. 倍福PLC和C#通过ADS通信传输Bool数组变量

    在倍福PLC和C#通信,采用ADS通信,本文讲解C#如何读取和写入bool类型数组变量. 操作流程 1.1. PLC程序设计 首先定义相关的变量,如下所示,激活配置: 1.2. C#程序设计 关于C# ...

  4. 倍福PLC和C#通过ADS通信传输int类型变量

    在倍福PLC和C#通信,采用ADS通信,本文讲解C#如何读取和写入int类型变量. 操作流程 1.1. PLC程序设计 首先定义相关的变量,如下所示,激活配置: 1.2. C#程序设计 关于C#和倍福 ...

  5. 倍福PLC和C#通过ADS通信传输bool类型变量

    在倍福PLC和C#通信,采用ADS通信,本文讲解C#如何读取和写入bool类型变量. 操作流程 1.1. PLC程序设计 首先定义相关的变量,如下所示,激活配置: 1.2. C#程序设计 关于C#和倍 ...

  6. ADS系列 – 低噪声放大器(LNA)模型下载安装及 LNA仿真设计

    1.概述 低噪声放大器(Low Noise Amplifier,LNA)作为接收系统的第一个电路单元,它的性能直接影响着整个接收机的性能.低噪声放大器的功能是在保证产生最低的噪声前提下,将信号进行放大 ...

  7. 即时通讯的飞秋2010下载

    许多人认为,即时通讯的飞秋2010下载行业其实正处于自己的前所未有的黄金时代,信息产品和衍生物正在加 速渗透到经济和社会生活中,发挥越来越重要的作用.管理学大师德鲁克将飞秋2010下载『飞秋官网』末称 ...

  8. MQTT(一)C#使用 MQTTnet 快速实现 MQTT 通信(文末有完整Demo下载)

    目录 MQTT(一)C#使用 MQTTnet 快速实现 MQTT 通信(文末有完整Demo下载) MQTT(二)在windows64位上安装Python环境 MQTT(三)Python客户端+net客 ...

  9. 步进控制薄图modbus通讯1200PLC通讯威纶通

    步进控制薄图modbus通讯1200PLC通讯威纶通 1 博图软件采用V14SP1以上都可以进行查看程序 2 全部都是实际控制案例,案例中带有Profinet通讯控制子站 3 上位机采用威纶通控制12 ...

最新文章

  1. 参加前端培训主要学习什么语言
  2. call、apply、bind
  3. python按行求和_Python第一篇:对3个Excel文件进行整合
  4. 再谈变分自编码器VAE:从贝叶斯观点出发
  5. les物流执行系统_物流LES系统上线啦
  6. Java异常处理: 缺包 ClassNotFound javax/xml/bind/JAXBException
  7. 小程序直传阿里云OSS 踩坑
  8. 数据表多次更新插入重复数据去重SQL
  9. 8脚语音芯片指的是什么?有什么特点?以及如何区分和选型
  10. python 战舰_Python战舰随机数发生器
  11. 【数据分析】python带你分析122万人的生活工作和死亡数据
  12. unexpected EOF while looking for matching ``'
  13. 大数据之数仓基石Hive3.1.2实战
  14. 最新成果展示:Ga2O3-SBD计算模型
  15. mount error(112): Host is down
  16. 【算法合集】八大排序算法
  17. 精致的动画特效源代码
  18. css3新增动画属性(过度动画 变形动画 关键帧动画)
  19. html显示滚动焦点图代码,商城常用滚动的焦点图效果代码简单实用
  20. android7.0 拍照以及图片剪辑--(再次修改)

热门文章

  1. deepfacelab应用报错原因和解决办法
  2. 【新手教程】如何在Win11上制作一个模仿MacOS的桌面?
  3. bam文件读取_科学网—Pacbio Sequel两种bam文件解析 - 卢锐的博文
  4. K8S异常之Unable to update cni config err=no vaild network found in /etc/cni/net.d
  5. OSChina 愚人节乱弹 —— 开个小电影专栏放一天
  6. phrases practice_Choose any passage from unit 3 and unit 4 to practice.
  7. 计算机网断IP修改,教你怎样更改电脑以太网的IP网段,网络设备必需品
  8. 【计算机网络】第六话·数据的传输方式(上)
  9. 马兰戈尼晶圆干燥系统
  10. 女儿7岁就要做牙齿矫正,这些年我都做错了什么?