您现在所在的是:

运动控制

回帖:0个,阅读:883 [上一页] [1] [下一页]
742
lvqd
文章数:24
年度积分:50
历史总积分:742
注册时间:2010/7/25
发站内信
发表于:2013/12/18 20:25:17
#0楼
SIMOTION中的各个TO都有一个系统变量error,通过这个_to.xxxx.error的状态,可以对TO是否存在故障作出判断。但在有些情况下,光用这个error来作为错误状态反而不妥。比如在轴的命令发生正常替换时,先以速度A运行,再以速度B运行,此时轴会报30002信息提示,告知用户原来的速度A被取消,现在速度B生效了。但轴的error状态却变成Yes了,如果用户在此基础上编写了故障处理程序,那么就可能造成更多的连锁反应。
换句话说,SIMOTION系统中有一些报警信息,如30002等,只是消息提示,不会对系统运行造成影响,但在30002出现时,轴的状态_to.error会变成yes。光用error这个变量不足以确定TO的故障状态。
正确的判定TO存在错误的方法是:
_to.Axis_1.error=yes AND _to.Axis_1.errorReation<>NONE
除了轴TO以外,其他TO也与此相同。如果有错,可以进一步编写用户程序,比如:
IF _to.Axis_1.error=yes AND _to.Axis_1.errorReation<>NONE      THEN
gboAxis1Error:=TRUE;
myRetDWORD:=_resetTaskId(_task.motionTask_1);
END_IF;
此帖来自中华工控网工控博客
原文件地址:http://blog.gkong.com/more.asp?id=178785&Name=lvqid

关于我们 | 联系我们 | 广告服务 | 本站动态 | 友情链接 | 法律声明 | 非法和不良信息举报

工控网客服热线:0755-86369299
版权所有 工控网 Copyright©2024 Gkong.com, All Rights Reserved

31.2002