快使用Ctrl+D收藏本站!如果本站的文章以及资源有帮助到您,希望您能赞助本站服务器费用,感谢您的支持!本站开放注册,现邀请您一起分享技术心得!您可以-注册-

codesys电机伺服轴报错:“SMC_FB_WASNT_CALLED_DURING_MOTION”

AM600 Julius_wen 1073℃ 0评论
30 驱动器接口 SMC_FB_WASNT_CALLED_DURING_MOTION 运动控制创建的模块在运动结束之前没有被调用。

百度真是烂,这个真的查不到……然后想翻墙 用谷歌,无奈知道的几种翻墙方法全部失效。然后用了下微软的bing,搜索英文:

This error occurs when a motion function block, such as MC_MoveRelative or MC_MoveAbsolute is called outside the EtherCAT_Master task。  All motion has be called from the EtherCAT_Master。

From this image, you can see the RunMotion_CFC is inside the MainTask which is the problem. Users can click these Program calls under the Task Configuration to drag and drop. Moving this into the EtherCAT_Master and then compiling would fix this error.

当在EtherCAT_Master任务之外调用一个运动函数块(如MC_MoveRelative或MC_MoveAbsolute)时,就会发生此错误。所有的运动都可以从EtherCAT_Master调用。 从这个映像中,您可以看到RunMotion_CFC在MainTask中,这就是问题所在。用户可以在任务配置下单击这些程序调用来拖放。将其移动到EtherCAT_Master,然后编译就可以修正这个错误。

但是我不是上面说的这个问题,我的所有MC指令块全部都是在EtherCAT_Task任务下跑的。这个问题坑的我很惨,2个小时时间,终于解决:

我程序跑起来 ,总线连接都正常,然后点jog点动,然后Axis轴和Axis_1轴就报错,原因是图三,,,我想实例化:MC_DDLX轴_PointAxis (Point_AxisStruct := g_SingleAxisStruct[DDLX]);但是因为手误,两个都写成了MC_DDLY轴_PointAxis。这样就导致了,MC_DDLX轴_PointAxis 这个轴并没有实例化,但是后面还是调用了MC_DDLX轴_PointAxis 这个轴的MC指令。所以出现上面报错……

以后再也别用全局替换,这个手误就是因为全局替换搞的,坑死我了……

 

转载请注明:燕骏博客 » codesys电机伺服轴报错:“SMC_FB_WASNT_CALLED_DURING_MOTION”

赞赏作者

微信赞赏支付宝赞赏

喜欢 (1)or分享 (0)

如果您喜欢本站文章,感觉本站的资源对您有帮助,请狠狠点击下面

每累计赞助40元,即可让本站按最低配置运行一个月,感谢您的支持!

发表我的评论
取消评论

表情

Hi,您需要填写昵称和邮箱!

  • 昵称 (必填)
  • 邮箱 (必填)
  • 网址
订阅号“环宇工控博客-欢迎关注”

分类目录

标签云

猜你喜欢

微信公众号

欢迎您关注本站公众号“环宇工控博客”获得更多资源

本站Q群

  • 燕骏博客官方群1
  • QQ群号:617046231
2019最新白菜网送彩金论坛 娱乐平台充值送彩金 2019年无需申请送彩金 送彩金棋牌 滚球网站送彩金 百家乐送彩金最新资讯 免费送彩金可提款 免存送彩金 2019送彩金500的网站大白菜 澳门赌场送彩金