ADS通讯-高级语言 The Windows Control and Automation Technology 1 尚德明.

Slides:



Advertisements
Similar presentations
第一部分 NCRE 简介 1 、全国计算机等级考试( NCRE )的含义 全国计算机等级考试 (National Computer Rank Examination ,简称 NCRE) 是经原国 家教育委员会 ( 现教育部 ) 批准,由教育部考 试中心主办,用于考查应试人员计算机应用 知识与能力的等级水平考试。
Advertisements

提高阶段: ——ARM部分 电气工程系 赵志衡.
6.1 区域委派与域名转发 6.2 虚拟主机技术 6.3 架设FTP服务器 6.4 动态主机分配协议 6.5 架设Mail服务器
第五章 网络服务组件.
计算机基础知识培训 信息所网络研究室.
2.4 计算机网络基础 什么是计算机网络? 计算机网络有哪些功能? 计算机网络的发展历史? 计算机网络体系结构的内容? 计算机网络如何分类?
硕士论文开题报告 煤炭企业物流信息系统的 研究与设计 指导老师: 学生姓名: 学 号:
第七章 Internet 基础与应用 第一节 主机名字与域名服务 第二节 Internet的域名体系 第三节 主机名字的书写方法
第二冊 第五課 行政法與生活 師大附中 陳采妍.
第四章 電腦軟體 課前指引 實體的電腦裝置,我們稱之為「硬體」(Hardware),至於軟體則是個抽象的概念,軟體是經由人類以各種不同的程式語言撰寫而成,以達到控制硬體、進行各種工作的抽象化(例如文書處理)等動作。有些讀者經常迫不及買了一台新電腦,就以為可以開始使用!事實不然,一部配備齊全的電腦,如果沒有合適的軟體來控制與搭配,絕對也是英雄無用武之地。一般來說,我們將軟體分「系統軟體」(System.
Word2010典型应用_003 长文档Word技巧.
中日合资 武汉安珞计算机系统有限公司 公司介绍
图书馆对于提高中小学信息素养的重要作用 孙卫 国家科技信息研究所 高级顾问.
程式語言與設計 授課教師:蔣德威.
史料數位化之METADATA與AUTHORITY CONTROL / 陳雪華
網頁技術簡介.
大專院校校園e 化 PKI、智慧卡應用與整合.
Visual Basic程序设计 主 编  柳青.
面向对象程序设计 (Visual C# .NET)
大学生如何进行职业生涯发展规划及有效应聘 厚积薄发
Windows 95 & 98 操作 林信鋒 教授 國立東華大學資訊工程系
研究生入学教育 网络中心
“ SNA 解決方案 ” ● TN3270 Servers ● SNA LAN Gateway
第一讲 面向对象程序设计概论 苏州大学 计算机科学与技术学院.
网络地址转换(NAT) 及其实现.
第1章 组态软件概述及组态王软件安装和运行 1.1 组态软件概述 1.2 组态王软件的安装 1.3 组态王的使用入门.
第二期实验室工作人员培训讲座(三) 加强规范化建设 提高仪器设备管理水平 设备处 黄久龙 2017年9月13日 徐州师范大学设备处 黄久龙.
作業系統的結構 日期 : 2018/9/17.
第一章 認識Visual C 環境架構 1-1 認識Visual C Visual Studio 概觀
FIX 154基础培训 上海中纬软件科技有限公司 Shanghai Chinawiser Software Technology Co.,Ltd.
Microsoft .NET 第4組 十月15, 2002 B 陳東傑 B 蔣佳勳
主講人:黃鎮榮 東方設計學院觀光與休閒事業管理系
CH11.
網路基本概念 本章主要是為讀者建立有關網路的基本知識, 作為後續章節的基礎。首先我們會說明網路的基本概念, 接著介紹網路的各種類型與相關的作業系統, 最後則是介紹 OSI 與 DoD 等兩種網路模型, 讓讀者能進一步了解網路運作的方式。
TwinCAT NCI 包含 完整的NCI功能 强大的PLC功能 (IEC ) 强大的点对点轴功能
SIMATIC S7 SIMATIC NET SIMATIC HMI SIMATIC M7 SIMATIC S5 其它培训课程简介
Title page PC 控制: PC 兼容的开放式控制系统 结构比较: 传统方式与PC 控制技术 新自动化结构: 工业PC机作控制系统
.NET 簡介.
.NET 簡介.
嵌入式系統架構 長高科技 顏旭偉.
TCP/IP Protocol Suite TCP/IP協定 第二組 投影片製作by簡嘉宏 綦凱宏 林睿敏 滕孟哲.
远程诊断技术及设备 ---今日坐拥明日之选.
MBL 327 Windows Mobile开发中的异构系统集成
Ch01網際網路、HTML 、 Script 、 ASP.NET簡介
第2章 网络营销工具.
Windows 2003 server 進階介紹 麋鹿.
自動化課程 劉聖元.
《网上报告厅》使用说明 北京爱迪科森教育科技股份有限公司.
使用Windows2003 Server R2 伺服器架設暨網路原理.
工业数据通信与控制网络.
新世代計算機概論第三版 第11章 網際網路.
项目三 构建小型办公网络网络实现文件服务 项目描述
張智星 台大資工系 多媒體檢索實驗室 第十二章 ASP基本介紹 張智星 台大資工系 多媒體檢索實驗室.
凌宁 系统工程师 亚洲区嵌入式系统事业群 微软(中国)有限公司
第11章 系统结构与包模型模型.
Python联合服务器的使用.
RFID原理与应用 教师:朱华贵 2015年05月05日
ISA Server 2004.
蘋果電腦的作業系統可以和Windows作業系統一樣,可以做Scan to Folder
Network Application Programming(3rd Edition)
21世纪高职高专规划教材 C#语言程序设计 李继武 彭德林 主 编 张 珑 赵 松 周建辉 副主编
傳輸控制協議 /互聯網協議 TCP/IP.
電腦軟體設計丙級 Visual Basic簡介 建國科技大學 資管系 饒瑞佶 2010年.
COM组件及其设计 一、COM组件定义和DNA思想简介 二、COM组件的特点 三、COM组件对象的软件工程方法 四、DNS、MTS
1 打开 SQL Server 2005 安装盘,单击 SPLASH.HTA 文件进行安装,安装界面如图所示。
導 論 教學投影片.
动态链接库 主讲人:孙鑫
蘋果電腦的作業系統可以和Windows作業系統一樣,可以做Scan to Folder
第三章 軟體資源管理 授課老師:褚麗絹.
Presentation transcript:

ADS通讯-高级语言 The Windows Control and Automation Technology 1 尚德明

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

自定义任务( Additional Task ) 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”。当然,也可以对AdsAmsNetId 进行修改。 每台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 1 301 Additional Task 2 302 BCxxxx 控制器中的PLC 800 NC 500 3

ADS 通讯方式 ADS 设备之间的通讯有多种方式,不同方式有不同的特点。 一般的ADS 通讯(General ADS Services) - 异步方式(Asynchronous) ADS 客户端向ADS 服务器发送ADS 请求,同时客户端继续自己的工作。ADS 服务器处理请求后,把响应以Call-back 函数方式发给客户端。 - 通知方式(Notification) ADS 客户端向ADS 服务器发送ADS 请求,ADS 服务器以Call-back 函数的方式不断向客户端发送响应,直到客户端取消该请求。 这两种通讯方式的效率高,但需求复杂的客户端程序。 优点:不会造成系统堵塞 缺点:不能确保每次请求都有返回 4

ADS 通讯方式 特殊的ADS 通讯(Specific ADS Services) TwinCAT ADS 设备和Windows 应用程序(例如VB、VC 应用程序等)之间的通讯除了可以采用一般的ADS 通讯方式外,还可以采用特殊的通讯方式,即同步通讯方式。 - 同步方式(Synchronous) ADS 客户端向ADS 服务器发送ADS 请求,在通讯过程中客户端程序停止执行,直到获得ADS 服务器返回的响应。 这种通讯方式不需求复杂的客户端程序,但其轮循的通讯方式给系统带来比较大的负载,因此通讯效率较低。 优点:能即时返回结果 缺点:如果通讯故障会造成系统堵塞 5

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等脚本,创建B/S架构的应用. •JAVA DLL 适用于JAVA语言。 • “PlcSystem.lib” PLC 库 ADS设备可以通过据此和其他ADS设备以及Windows进行通讯。 6

ADS 通讯协议概述 ADS协议处于网络通讯协议的应用层。 TCP/IP模型 OSI模型 应用层 传输层 Internet层 网络接口层 7

ADS 访问变量方式 TwinCAT ADS访问变量有两种方式: 1.地址方式 一个PLC变量的地址由两部分组成:GroupIndex和OffsetIndex: GroupIndex一般用于区别寄存器类型,在TwinCAT ADS设备中为常量,具体内容可以参考Information System(后附常用的GroupIndex值)。 OffsetIndex为变量的偏移地址,在PLC中为该变量的地址。 2.变量名方式 在TwinCAT ADS设备中每个变量都有一个句柄(Handle)。 适用变量名访问变量首先需要得到该变量的句柄。(不同的高级语言方式略有不同) 8

ADS组件库文件组成简介 ADS组件库集成在TwinCAT软件中,安装任何版本的TwinCAT软件都包含ADS通讯组件,如果用户希望在没有安装TwinCAT软件的计算机适用ADS通讯组件可以安装Supplement中的TwinCAT_ADS_Communication_Library此为免费产品。 除需要复制到Windows/System32目录外绝大部分相关文件可以在TwinCAT安装目录找到。假设TwinCAT安装路径为C:\TwinCAT 文件 描述 C:\TwinCAT\ADS Api\TcAdsDll\ ADS DLL C:\TwinCAT\ADS Api\.NET .NET组件(支持三个版本的Framework) C:\TwinCAT\ADS Api\AdsToJava ADS JAVA DLL C:\TwinCAT\ADS Api\CompactFramework .NET Compact Framework组件 C:\TwinCAT\ADS Api\Lib VS 97 Lib C:\TwinCAT\ADS Api\TcAdsWebService WebService组件 C:\WINDOWS\system32\AdsOcx.ocx ADS OCX C:\TwinCAT\TcScript.dll ADS-Script-DLL 9

Ads 组件调用过程简介 新建工程 .NET调用流程 添加引用TwinCAT.Ads.dll 用于读写变量 定义TcAdsClient对象 private TcAdsClient adsClient; 添加引用TwinCAT.Ads.dll 用于读写变量 定义TcAdsClient对象 adsClient = new TcAdsClient(); adsClient.Connect(801); 初始化TcAdsClient对象 AddDeviceNotification 通过变量名取得变量的句柄 注册DeviceNotification事件 读写变量 接受处理返回结果 释放资源 10

Ads 组件调用过程简介 C++ 在 Visual C++ 中进行链接和程序开发时所需要的文件: 􀁺 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 服务器中删除以前定义的通知。 11

辅助工具-TwinCAT ADS Monitor TwinCAT ADS Monitor可以抓取ADS通讯数据包 通讯数据帧记录 ADS数据结构 帧数据 12

辅助工具-仿真器 1.下载文件: 以下路径为FTp路径(ftp://ftp.beckhoff.com) /Software/embPC-Control/CE/Solutions/CX_Emulator/ emulator.zip (CE仿真器英文) /Software/embPC-Control/CE/Solutions/SDK/Beckhoff HMI 500 V1.3 SDK.msi /Software/embPC-Control/CE/Solutions/VS_NET2005/CE5_DbgHlp.zip 2.仿真器安装: a.安装Microsoft Windows CE 5.0 Emulator.msi需要连接互联网 b.安装完仿真器,再安装虚拟网卡驱动netsvwrap.msi 3.配置: a.安装后修改StartEmulator_DE.bat 文件,将参数中的/Ethernet 的MAC改为本地网卡的实际MAC地址 b.参数vmid 后的GUID值做为保存映像是的文件夹名称。 4.设置仿真器和VS.net集成环境: Windows CE 5 的模拟器是基于x86的,VS 2005 的 Device Emulator 是基于ARM的,VS2005开发环境无法和Win CE模拟器进行集成进行远程调试。 但是可以通过下面的方式实现集成: 1).将CE5_DbgHlp.zip压缩包文件解压复制仿真器的 \hard disk\system 路径下(实际的控制器新版本系统中这些文件已经存在) 2).运行Conmanclient2.exe 13

辅助工具-仿真器(续) 3).配置VS2005开发环境: a.转到“Tools-->options-->device tools-->devices” b.选择Windows CE 5.0设备,点击“属性(properties)”按钮 c.在Windows CE 5.0设备属性对话框点击“配置(configure)”按钮 d.在TCP/IP配置对话框选定“使用特定的IP(use specific IP address)”,输入仿真器的IP地址。 下面就可以Debug CE应用程序,选择部署到Windows CE5.0。如果部署仍然失败,运行仿真器\hard disk\system 路径下的cMaccept.exe文件。 测试正常后保存仿真器的设置,载关闭时选择Save Sate而不是True Off,这样下次启动仿真器就不需要重新设置仿真器。 如果想删除保存的文件,转到“我的文档\My Virtual Machines下,将上文提到的在 StartEmulator_DE.bat 设置的vmid 值为名称的文件夹删除即可。 如果在具体操作用什么问题,您可以随时和我们联系。 vs2008注意事项:用如下文件代替CE5_DbgHlp.zip 内的文件 C:\Program Files\Common Files\Microsoft Shared\CoreCon\1.0\Target\wce400\x86 14

常用的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++语言,其他高级语言已经封装成专有方法,不需直接调用。 15