当前位置: 首页 > news >正文

CODESYS EtherCAT通讯状态监测

检查所有从站的链式列表(CODESYS官方资讯)

新建功能块FB_EtherCATCheck(ST语言)

1、功能块声明部分 ;

 2、功能块执行部分;

新建程序ScanEtherCAT(ST语言),并调用功能块FB_EtherCATCheck

补充说明1:单纯调用该功能块(FB_EtherCheck)是不需要挂在EtherCAT_Task任务底下运行,但如果程序中有调用重新初始化驱动器的功能块(SMC3_RetainDrive),那么就必须挂在EtherCAT_Task任务底下运行,否则执行时就会报错。

功能测试

1、启动CODESYS,EtherCAT_Master_SoftMotion和连接的两个伺服从站顺利运行(X轴和Y轴);

程序中ETCInitialConfigDoneTRUE

两个从站的句柄

2、测试拔掉第一个从站与控制器主站之间的网线;

1)所有从站掉线,且报错

特别说明这里EtherCAT_Master_SoftMotion(主站)还保持运行,那是因为勾选设置了“自动重启从站”,主站会不断地扫描恢复从站的通讯,如果没有勾选设置“自动重启从站”,EtherCAT_Master_SoftMotion会直接停止运行。

EtherCAT_Master_SoftMotion掉线停止运行的情况

设置“自动重启从站”

展开“选项”,会显示出隐藏的选项

2)程序中ETCInitialConfigDoneFALSEETCInitialConfigFailTRUE(通讯连接超时,报错)

补充说明2:此时SlaveError和SlaveErrorId并没有记录错误状态和错误站号,那是因为第一个从站与控制器断开,会报主站通讯异常ETCInitialConfigFail,不会再进行从站扫描。

3、测试拔掉第二个从站与第一个从站之间的网线;

1)第一个从站保持运行,第二个从站停止运行,且报错

2)SlaveError记录到第二个从站的报错状态

SlaveErrorId记录到站号1(从0开始计,1就是第二个从站)

3)插回网线,第二个从站恢复连接

SlaveError错误记录解除

SlaveErrorId恢复为0(如前面补充说明2解释,当第一个从站掉线时,是主站通讯报错,并不会记录从站Id的报错,这里SlaveErrorId只对第一个从站以后的从站掉线进行记录,所以SlaveErrorId恢复为0就意味着从站通讯恢复正常)

4)此时第二个从站恢复通讯后,轴仍然报错

此时恢复通讯的轴需要执行SMC3_ReinitDrive,让其重新初始化驱动器,之后才能正常操作轴。

相关文章:

  • 北京网站建设多少钱?
  • 辽宁网页制作哪家好_网站建设
  • 高端品牌网站建设_汉中网站制作
  • Java语言程序设计基础篇_编程练习题*16.7 (设置时钟的时间)
  • 【系统架构设计】数据库系统(五)
  • 【Unity】线性代数基础:矩阵、矩阵乘法、转置矩阵、逆矩阵、正交矩阵等
  • 一体化运维:构建全面的IT监控指标体系
  • LE-50821F/FA激光扫描传感器|360°避障雷达之性能参数与配置清单说明
  • linux:制作systemctl系统服务
  • 如何在wxPython GUI中使用BoxSizers实现整齐布局
  • 如何把STM32的调试口设置为普通的IO口?
  • PHP同城派送系统小程序源码
  • 富格林:深究安全出金做单经验
  • 电路中电阻,电容和电感作用总结
  • 大模型算法面试题(二十)
  • Scala基础入门:从零开始学习Scala编程
  • BVH、FBX 文件学习
  • 黑马微服务—Docker
  • Brief introduction of how to 'Call, Apply and Bind'
  • CSS实用技巧
  • css选择器
  • ECMAScript入门(七)--Module语法
  • Kibana配置logstash,报表一体化
  • npx命令介绍
  • RxJS 实现摩斯密码(Morse) 【内附脑图】
  • SegmentFault 2015 Top Rank
  • select2 取值 遍历 设置默认值
  • Shell编程
  • VirtualBox 安装过程中出现 Running VMs found 错误的解决过程
  • 创建一个Struts2项目maven 方式
  • 大主子表关联的性能优化方法
  • 规范化安全开发 KOA 手脚架
  • 记录一下第一次使用npm
  • 看完九篇字体系列的文章,你还觉得我是在说字体?
  • 浏览器缓存机制分析
  • 前端之React实战:创建跨平台的项目架构
  • 浅谈Golang中select的用法
  • 手机app有了短信验证码还有没必要有图片验证码?
  • 问:在指定的JSON数据中(最外层是数组)根据指定条件拿到匹配到的结果
  • 原生js练习题---第五课
  • 在 Chrome DevTools 中调试 JavaScript 入门
  • ​批处理文件中的errorlevel用法
  • ​学习一下,什么是预包装食品?​
  • # Spring Cloud Alibaba Nacos_配置中心与服务发现(四)
  • # 数据结构
  • #Js篇:单线程模式同步任务异步任务任务队列事件循环setTimeout() setInterval()
  • #ubuntu# #git# repository git config --global --add safe.directory
  • (007)XHTML文档之标题——h1~h6
  • (day18) leetcode 204.计数质数
  • (PHP)设置修改 Apache 文件根目录 (Document Root)(转帖)
  • (二)测试工具
  • (二)丶RabbitMQ的六大核心
  • (二十三)Flask之高频面试点
  • (附源码)springboot优课在线教学系统 毕业设计 081251
  • (附源码)计算机毕业设计SSM教师教学质量评价系统
  • (规划)24届春招和25届暑假实习路线准备规划
  • (六)c52学习之旅-独立按键
  • (论文阅读31/100)Stacked hourglass networks for human pose estimation