C++ ADS-sum command批量读取变量.docxVIP

  1. 1、本文档共14页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  5. 5、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  6. 6、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  7. 7、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  8. 8、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多

第PAGE4页

C++ADS-sumcommand批量

C++ADS-sumcommand批量读取变量

摘要:

ADS提供强大而快速的通信来交换任何类型的信息,每个ADS-API调用都可以读取单个变量或完整的数组和结构。但是ADS通讯每次通讯请求都会占用很长的时间;

一次请求的读写一个变量和读写多个变量的时间相近,所以在使用sumcmd命令读写变量的时候优势很明现。可以一次请求完成多个变量的读写操作。

附件:

序号

文件名

备注

1

sum-cmd测试例程.sln

PLC

2.

sum-cmd测试例程C++.sln

C++

历史版本:

免责声明:

我们已对本文档描述的内容做测试。但是差错在所难免,无法保证绝对正确并完全满足您的使用需求。本文档的内容可能随时更新,如有改动,恕不事先通知,也欢迎您提出改进建议。

参考信息:

目录

TOC\o1-3\h\z\u1. C++中文件的介绍及导入 3

1.1. TcAdsDll 3

1.2. ADS连接库的导入 3

1.3. TwinCAT软件版本说明 3

2. Sum-cmd介绍 3

2.1. ADS通讯 3

2.2. SumCmdADSIndexGroup说明 4

3. 批量读写解析(以变量名读取为例) 5

3.1. ADSsymbolinformation 5

3.2. 以变量名方式获取ADSsymbolinformation 6

3.3. 填充读写指令 8

3.4. 计算数据的大小及批量读取 9

3.4.1. AdsSyncReadWriteReq函数说明: 9

3.4.2. 计算cbReadLength大小: 9

3.4.3. 计算cbWriteLength大小 10

3.4.4. 批量读取 10

3.5. 结果返回 10

4. 常见的报错信息 11

C++中文件的介绍及导入

TcAdsDll

安装TwinCAT之后,在TwinCAT目录下,有ADSApi文件夹,内有各种开发平台下TwinCATADS的头文件,静态/动态链接的库文件,在C++使用的文件路径在C:\TwinCAT\AdsApi\TcAdsDll,如下是必须的文件:

TcAdsDll.dll–动态链接库

TcAdsDll.lib–使用TcAdsDll.dll的函数库

TcAdsApi.h–声明ADS功能的头文件

TcAdsDef.h–声明结构和常数的头文件

ADS连接库的导入

1.新建vs工程,新建C++项目,引入头文件

#includeC:\TwinCAT\AdsApi\TcAdsDll\Include\TcAdsDef.h

#includeC:\TwinCAT\AdsApi\TcAdsDll\Include\TcAdsApi.h

2.导入动态连接库:

C:\TwinCAT\AdsApi\TcAdsDll\Lib\TcAdsDll.lib

TwinCAT软件版本说明

软件的最低要求TC2CP版本,TC3ADS版本。

Sum-cmd介绍

ADS通讯

Ads通讯不是一个实时的通讯协议,其通讯过程受到系统和网络状况的多重影响,无法保证一个稳定的通讯时间;

ADS通讯每次请求会占用较多时间,但是一次请求读取或写入一个变量和一次请求读取或写入多个变量所花费的时间相近,此时可以采用SumCmd将所有需要读取或写入的变量写入字节流,可以一次请求读写多个变量,以便于多个数据周期性的读写操作,且所需的延迟会更少。

SumCmdADSIndexGroup说明

0xF080:ADSIGRP_SUMUP_READ批量读取

0xF081:ADSIGRP_SUMUP_WRITE批量写入

0xF082:ADSIGRP_SUMUP_READWRITE批量读写;

常见的ADSIndexGroup:

Infosys:

/english.php?content=../content/1033/tcadscommon/12495372427.htmlid=

批量读过程的解析(以变量名读取为例)

过程简介:

第一步:获取单个变量名的ADSsymbolinformation信息;

第二步:数据的打包及AdsSyncReadWriteReq函数的参数设定

第三步:批量读取。

第四步:检查报错信息。

通过变量名获取变量的ADSsymbolinformation信息

ADSsymbolinformation

ADSsymbolinformation是PLC变量的说明,其中包含了entryLen

文档评论(0)

汉化手册大全 + 关注
实名认证
文档贡献者

教师资格证持证人

汉化手册

领域认证该用户于2023年12月02日上传了教师资格证

1亿VIP精品文档

相关文档