最后更新:2022-07-14 13:34:51 手机定位技术交流文章
所谓通信协议,这是双方商定的数据识别标准,例如,你讲汉语,我也讲汉语,所以我们之间的通信协议是中文,汉语中的汉字,发音,你知道语法结构等等。我也清楚,这样我们就能正确地理解彼此的意义。类似于通信协议中指定的传输媒体,信号编码规范,与数据框架的每个部分的意义一样,别太深思了。它是机器与设备之间的“语言”。
ADS全称是Automation Device Specification(汉译:自动化设备规范),在TwinCAT的设计哲学中,每个软件模块被视为一种设备。这些“设备”彼此独立,通过ADS通信协议互相交换数据,ADS是一个应用层协议,它基于TCP/IP协议(ADS负责应用程序层,TCP负责传输层,IP负责网络层,还有数据链接层),ADS协议由Deutsches Glück,并作为一个开放的通信接口,以方便用户在TwinCAT系统中访问每个软件模块的参数(配置参数,过程参数,运动参数等等)
有关ADS更为详细的信息介绍可以参考倍福官方网站的介绍:
链接
ADS introduction
注意,该程序使用怀疑官员提供的库函数,如果您安装在C磁盘的默认路径上,那么官方库函数是在这个目录中
如果是基于X86的架构,那么使用include和lib文件夹中的内容即可,如果是基于X64的架构,那么lib就要用x64这个文件下的内容,这个配置会在VS2019的项目设置过程中用到,要留意一下。
单击“下一步”,直接使用默认名称以方便您
单击创建,创建一个HelloWorld项目,特别注意图中的红色框部分,然后一个与此匹配的配置库函数
右键单击项目名称,在右键单击菜单下选择属性,然后显示下列对话框
在附加包含目录右侧的小箭头,选择<编辑…>,打开倍福官方库提供的头文件目录位置,注意图里最上面的配置也是Debug,平台也是Win32。
使用相同的方法配置链接器的选项
附件依赖的配置方法如下:
完成配置后,保存项目,关闭VS2019,然后重新打开,以便完成配置工作。 此时,在包含标题文件之后,将执行一个汇编,表明汇编已经通过
如果在编译过程中出现错误,例如未定义的标识符,请确保检查上面的配置内容,然后保存配置,重新打开软件,马上导入项目,并使配置内容有效。
将下列程序复制到主函数所在的文件中
重新生成解决方案
现在运行F5程序,会出现以下提示,ADS的AmsNetID可以由机器正确读取,和机器指定的ADS端口数(该端口数由ADS路由器指定),但由于没有打开PLC,所以不能读取PLC中的变量值。
下一个步骤是写程序的PLC部分,写PLC程序,因为它很简单,这里不再是一个负担,写一个bool值,bool值每100ms一次旋转,点击激活按钮,下载程序到PLC
点击Login登入
点击scope,Target browser,从这里查看PLC中变量的ADS信息,如图中红色圈所示,这几个值要和程序中的变量对应上才可以正确读取。
单击启动(或F5)运行PLC程序,可以看到PLC中的变量每100ms一次开始改变
此时,回到上层程序并运行F5,可以看到已读到PLC的变量,变量值正在变化,因为我们的读周期(500ms)和PLC更新变量周期(100ms)不匹配,因此存在“非同步”的情况。
有关的高级工程方案可从这里下载:
链接:上游工程文档
有关的下游工程方案可从这里下载:
连结:低级机械工程文档
TwinCAT3中的工程文件的导入方法见下图
本文由 在线网速测试 整理编辑,转载请注明出处。