0

0

CODESYS平台EtherCAT总线轴错误SMC_DI_FIELDBUS_LOST_SYNCRONICITY如何解决?

爱谁谁

爱谁谁

发布时间:2025-06-16 16:04:12

|

715人浏览过

|

来源于php中文网

原创

CODESYS平台EtherCAT总线轴错误SMC_DI_FIELDBUS_LOST_SYNCRONICITY如何解决?

近期在基于codesys平台的控制器开发项目时,遇到下面的错误,很是头疼:

CODESYS平台EtherCAT总线轴错误SMC_DI_FIELDBUS_LOST_SYNCRONICITY如何解决?

轴出错的时机非常偶然,有时频发,有时偶尔一两次,所以很不好解决。

当然,目前似乎没有更好的办法解决,但是,经过反复的查阅资料和现场测试,以下的经验和大家分享!既是留下记录,同时也希望帮到有需要的朋友!

如果,有朋友遇到过这类问题,可以留言区讨论以及给出相应的解决方案!

CODESYS平台EtherCAT总线轴错误SMC_DI_FIELDBUS_LOST_SYNCRONICITY如何解决?
硬件组成

实际上项目的硬件非常简单:

基于CODESYS开发的PLC+16点数字量输入+16点数字量输出+2路0-10V模拟量输入+2路0-10V模拟量输出+2个EtherCAT总线步进

前期处于验证阶段,所以PLC比较高配,一直使用基本没有出现这个问题!后面出于成本考虑,换了低成本的PLC(不到1K的CODESYS运动控制器),但是没过一个礼拜就出现下图的轴错误!

CODESYS平台EtherCAT总线轴错误SMC_DI_FIELDBUS_LOST_SYNCRONICITY如何解决?
CODESYS平台EtherCAT总线轴错误SMC_DI_FIELDBUS_LOST_SYNCRONICITY如何解决?

解决过程

Step1:CODESYS help

通过F1进入Codesys系统自带的帮助系统,查询到SMC_ERROR的具体描述!

SMC_ERROR中英文说明

CODESYS平台EtherCAT总线轴错误SMC_DI_FIELDBUS_LOST_SYNCRONICITY如何解决?

查询到的字面意思:现场总线同步丢失。实际上,除了这个简单的解释,就没有其他任何的处理解决方法了。只能再查下其他的资料。

Step2:Codesys Forge

搜到最匹配的资料是,CODESYS官方论坛里面提到的几点,个人认为可以参考,毕竟国内也没有关于这个错误的详细说明和解决方案

CODESYS平台EtherCAT总线轴错误SMC_DI_FIELDBUS_LOST_SYNCRONICITY如何解决?

这个提问者报错的现象我们这里简单说明下:

1.把EtherCAT总线的分布式时钟由SM-Syncrhon配置成DC-Syncrhon

后出现:

SMC_ERROR.SMC_DI_GENERAL_COMMUNICATION_ERROR.

2.通过他自己的查询,设置了:

EtherCAT_Master_SoftMotion.FramAtTaskStart = Fasle

但是,过了1到2s,出现了我们本期所说的错误:

SMC_ERROR.SMC_DI_FIELDBUST_LOST_SYNCRONICITY

当然他自己提到用Beckhoff的TwinCAT没有出现这种错误。总线的周期设置的2ms。

我们看下论坛里面的详细回复,第一条

CODESYS平台EtherCAT总线轴错误SMC_DI_FIELDBUS_LOST_SYNCRONICITY如何解决?

这个里面最关键的一点就是如果要使用DC_Synchron,plc硬件要具备实时性才行,正常设置是:

EtherCAT_Master_SoftMotion.FramAtTaskStart = TRUE

LongCat AI
LongCat AI

美团推出的AI对话问答工具

下载

其他的回复,没有什么建设性,更多的是遇到这类问题也没有找到更好的解决方法。

CODESYS平台EtherCAT总线轴错误SMC_DI_FIELDBUS_LOST_SYNCRONICITY如何解决?

Step3:Forge

后面在这个论坛里搜这个错误的关键词,还有一个类似的提问者,时间是2024年,最新的回复,参考价值更大些:

CODESYS平台EtherCAT总线轴错误SMC_DI_FIELDBUS_LOST_SYNCRONICITY如何解决?

这里把详细的配置和他尝试的方法都放在图中了,后面再一次的回复是说:

增加DCInSyncWindow,至少运行1两天没报错了。

CODESYS平台EtherCAT总线轴错误SMC_DI_FIELDBUS_LOST_SYNCRONICITY如何解决?

这里面最重要的就是tk096提到的建议(翻译的结果,原文可以查看上图):

增加 EtherCAT 任务的周期时间可能会有所帮助。增大 EtherCAT 参数 DCInSyncWindow 的值。在 EtherCAT 主站中启用 FrameAtTaskStart。如果驱动器能够处理同步问题,则可以使用 SMC_Set_ETC_DCSyncSupervision禁用同步检查。
CODESYS平台EtherCAT总线轴错误SMC_DI_FIELDBUS_LOST_SYNCRONICITY如何解决?图片

解决方法汇总

经过上述资料的查询和我个人的测试,把可能的解决方法汇总如下:

1、EtherCAT主站设置1:

EtherCAT_Master_SoftMotion.FramAtTaskStart = TRUE

当然,这个需要硬件具备硬件实时性能。

2、EtherCAT主站设置2:

CODESYS平台EtherCAT总线轴错误SMC_DI_FIELDBUS_LOST_SYNCRONICITY如何解决?

增加DCInSyncWindow的值,如上图位置进行配置。

3、增加EtherCAT总线任务周期

CODESYS平台EtherCAT总线轴错误SMC_DI_FIELDBUS_LOST_SYNCRONICITY如何解决?

例如:本例将原来的2ms的EtherCAT 总线任务周期改成10ms.

4、如果驱动器可以处理同步,可以用下面的功能块进行禁用同步检查:

CODESYS平台EtherCAT总线轴错误SMC_DI_FIELDBUS_LOST_SYNCRONICITY如何解决?

详细链接:

https://content.helpme-codesys.com/en/libs/SM3_Drive_ETC/Current/SMC_Set_ETC_DCSyncSupervision.html

5、如果对实时性没有要求的应用,分布式时钟不用DC-Synchorn:

CODESYS平台EtherCAT总线轴错误SMC_DI_FIELDBUS_LOST_SYNCRONICITY如何解决?

例如上图,选择DC unused,注意有些伺服选择Free Run或者SM-Synchron。我们这次用的就是这种方式解决。

6、更换成更高配的控制器:

我们这个项目本身就是从高配的控制器换成低成本一点的控制器,才出现的问题。

当然,如果您也遇到上述问题,请把现象和解决的方案打在留言区哦!欢迎同我交流:mengman45.

参考链接:

https://forge.codesys.com/forge/talk/Motion/thread/e074690174/https://forge.codesys.com/forge/talk/Motion/thread/8fa667ab7e/?limit=25#30e1http://developer.codesys.cn/forum.php?mod=viewthread&tid=137&page=1

相关专题

更多
php文件怎么打开
php文件怎么打开

打开php文件步骤:1、选择文本编辑器;2、在选择的文本编辑器中,创建一个新的文件,并将其保存为.php文件;3、在创建的PHP文件中,编写PHP代码;4、要在本地计算机上运行PHP文件,需要设置一个服务器环境;5、安装服务器环境后,需要将PHP文件放入服务器目录中;6、一旦将PHP文件放入服务器目录中,就可以通过浏览器来运行它。

2705

2023.09.01

php怎么取出数组的前几个元素
php怎么取出数组的前几个元素

取出php数组的前几个元素的方法有使用array_slice()函数、使用array_splice()函数、使用循环遍历、使用array_slice()函数和array_values()函数等。本专题为大家提供php数组相关的文章、下载、课程内容,供大家免费下载体验。

1665

2023.10.11

php反序列化失败怎么办
php反序列化失败怎么办

php反序列化失败的解决办法检查序列化数据。检查类定义、检查错误日志、更新PHP版本和应用安全措施等。本专题为大家提供php反序列化相关的文章、下载、课程内容,供大家免费下载体验。

1527

2023.10.11

php怎么连接mssql数据库
php怎么连接mssql数据库

连接方法:1、通过mssql_系列函数;2、通过sqlsrv_系列函数;3、通过odbc方式连接;4、通过PDO方式;5、通过COM方式连接。想了解php怎么连接mssql数据库的详细内容,可以访问下面的文章。

974

2023.10.23

php连接mssql数据库的方法
php连接mssql数据库的方法

php连接mssql数据库的方法有使用PHP的MSSQL扩展、使用PDO等。想了解更多php连接mssql数据库相关内容,可以阅读本专题下面的文章。

1443

2023.10.23

html怎么上传
html怎么上传

html通过使用HTML表单、JavaScript和PHP上传。更多关于html的问题详细请看本专题下面的文章。php中文网欢迎大家前来学习。

1235

2023.11.03

PHP出现乱码怎么解决
PHP出现乱码怎么解决

PHP出现乱码可以通过修改PHP文件头部的字符编码设置、检查PHP文件的编码格式、检查数据库连接设置和检查HTML页面的字符编码设置来解决。更多关于php乱码的问题详情请看本专题下面的文章。php中文网欢迎大家前来学习。

1529

2023.11.09

php文件怎么在手机上打开
php文件怎么在手机上打开

php文件在手机上打开需要在手机上搭建一个能够运行php的服务器环境,并将php文件上传到服务器上。再在手机上的浏览器中输入服务器的IP地址或域名,加上php文件的路径,即可打开php文件并查看其内容。更多关于php相关问题,详情请看本专题下面的文章。php中文网欢迎大家前来学习。

1307

2023.11.13

Java JVM 原理与性能调优实战
Java JVM 原理与性能调优实战

本专题系统讲解 Java 虚拟机(JVM)的核心工作原理与性能调优方法,包括 JVM 内存结构、对象创建与回收流程、垃圾回收器(Serial、CMS、G1、ZGC)对比分析、常见内存泄漏与性能瓶颈排查,以及 JVM 参数调优与监控工具(jstat、jmap、jvisualvm)的实战使用。通过真实案例,帮助学习者掌握 Java 应用在生产环境中的性能分析与优化能力。

19

2026.01.20

热门下载

更多
网站特效
/
网站源码
/
网站素材
/
前端模板

精品课程

更多
相关推荐
/
热门推荐
/
最新课程
关于我们 免责申明 举报中心 意见反馈 讲师合作 广告合作 最新更新
php中文网:公益在线php培训,帮助PHP学习者快速成长!
关注服务号 技术交流群
PHP中文网订阅号
每天精选资源文章推送

Copyright 2014-2026 https://www.php.cn/ All Rights Reserved | php.cn | 湘ICP备2023035733号