上位机使用C++通过ADS协议与倍福PLC通信例程

      最后更新:2022-07-14 13:34:51 手机定位技术交流文章

      背景知识介绍

      ADS通信协议介绍

      所谓通信协议,这是双方商定的数据识别标准,例如,你讲汉语,我也讲汉语,所以我们之间的通信协议是中文,汉语中的汉字,发音,你知道语法结构等等。我也清楚,这样我们就能正确地理解彼此的意义。类似于通信协议中指定的传输媒体,信号编码规范,与数据框架的每个部分的意义一样,别太深思了。它是机器与设备之间的“语言”。
      ADS全称是Automation Device Specification(汉译:自动化设备规范),在TwinCAT的设计哲学中,每个软件模块被视为一种设备。这些“设备”彼此独立,通过ADS通信协议互相交换数据,ADS是一个应用层协议,它基于TCP/IP协议(ADS负责应用程序层,TCP负责传输层,IP负责网络层,还有数据链接层),ADS协议由Deutsches Glück,并作为一个开放的通信接口,以方便用户在TwinCAT系统中访问每个软件模块的参数(配置参数,过程参数,运动参数等等)
      有关ADS更为详细的信息介绍可以参考倍福官方网站的介绍:
      链接 ADS introduction

      基于VS2019的独立编程

      定位官方库函数

      注意,该程序使用怀疑官员提供的库函数,如果您安装在C磁盘的默认路径上,那么官方库函数是在这个目录中
      函数库的安装目录
      如果是基于X86的架构,那么使用include和lib文件夹中的内容即可,如果是基于X64的架构,那么lib就要用x64这个文件下的内容,这个配置会在VS2019的项目设置过程中用到,要留意一下。

      建立工程

      建立控制台应用程序
      单击“下一步”,直接使用默认名称以方便您
      创建工程
      单击创建,创建一个HelloWorld项目,特别注意图中的红色框部分,然后一个与此匹配的配置库函数
      HelloWorld工程
      右键单击项目名称,在右键单击菜单下选择属性,然后显示下列对话框
      配置C++附加包含目录
      在附加包含目录右侧的小箭头,选择<编辑…>,打开倍福官方库提供的头文件目录位置,注意图里最上面的配置也是Debug,平台也是Win32。
      头文件包含设置
      使用相同的方法配置链接器的选项
      附加库目录配置
      附件依赖的配置方法如下:
      附件依赖项的配置
      完成配置后,保存项目,关闭VS2019,然后重新打开,以便完成配置工作。 此时,在包含标题文件之后,将执行一个汇编,表明汇编已经通过
      编译头文件进行测试
      如果在编译过程中出现错误,例如未定义的标识符,请确保检查上面的配置内容,然后保存配置,重新打开软件,马上导入项目,并使配置内容有效。
      将下列程序复制到主函数所在的文件中

      重新生成解决方案
      重新编译
      现在运行F5程序,会出现以下提示,ADS的AmsNetID可以由机器正确读取,和机器指定的ADS端口数(该端口数由ADS路由器指定),但由于没有打开PLC,所以不能读取PLC中的变量值。
      读取本机的AmsNetID
      下一个步骤是写程序的PLC部分,写PLC程序,因为它很简单,这里不再是一个负担,写一个bool值,bool值每100ms一次旋转,点击激活按钮,下载程序到PLC
      PLC程序编写
      点击Login登入
      登入程序

      点击scope,Target browser,从这里查看PLC中变量的ADS信息,如图中红色圈所示,这几个值要和程序中的变量对应上才可以正确读取。
      变量的地址
      单击启动(或F5)运行PLC程序,可以看到PLC中的变量每100ms一次开始改变
      PLC程序已运行
      此时,回到上层程序并运行F5,可以看到已读到PLC的变量,变量值正在变化,因为我们的读周期(500ms)和PLC更新变量周期(100ms)不匹配,因此存在“非同步”的情况。
      成功读取到PLC当中的变量
      有关的高级工程方案可从这里下载:
      链接:上游工程文档
      有关的下游工程方案可从这里下载:
      连结:低级机械工程文档
      TwinCAT3中的工程文件的导入方法见下图
      在这里插入图片描述

      本文由 在线网速测试 整理编辑,转载请注明出处,原文链接:https://www.wangsu123.cn/news/29604.html

          热门文章

          文章分类