<< 点击显示目录 >> 主页 轴控开发使用手册 > ACP10/ARNC0帮助信息 > ACP10_MC运动库 > 概念 > 实施 > 功能块接口 |
一些输入和输出对于运动功能块和其他单轴功能块也是相同的。这些输入和输出的行为是由PLCopen规定的。
从 "执行 "到 "完成 "的时间可能相当于几个功能块的调用周期时间。而一些功能块在设置 "执行 "或 "启用 "的同一周期内返回 "完成"(或 "错误")。这在这些功能块的描述中会有说明。
带有 "执行 "输入的功能块, 在 "执行 "输入命令的上升沿有效时 读取其输入参数值并执行其任务一次 。这使得改变一个单轴功能块的速度输入成为可能,例如。新的值在 "执行 "输入的一个新的上升沿被读取。
带有 "Enable "输入的功能块在每次被调用且Enable输入为 TRUE时执行其任务 。只要 "Enable "输入为 " TRUE",对输入的更改就会被立即接受 。
像 "Execute "和 "InitData "这样的输入是边沿敏感的;在一个上升沿上,会产生一个传输列表并传输给驱动器。
这可能会持续几个触发功能块的调用周期,取决于被改变的参数数量。
在传输过程中多次切换边沿会导致参数被错误地应用。
建议在开始新的修改值传输之前,对相关功能块的输出进行评估。
输入 --> 输出
InitData --> 数据已初始化
执行 --> 完成,有效,等等。
...-->...
只有在相应的功能块做出正确响应或输入保持设置(即1=TRUE)后,才应在输入上设置上升沿。
重要的是,功能块不是循环启动的(第一个周期 "执行"=TRUE,第二个周期 "执行"=FALSE,第三个周期 "执行"=TRUE,等等)。对于参数快速变化的应用,请参阅循环设定点的功能块(例如MC_BR_MoveCyclicXxx)。
“执行 " 或 "启用 " 输入必须设置为 FALSE ,以确认功能块的 "ErrorID "输出。
一般规则 |
||
输出的排他性 |
只有以下一种输出会被设置。 •"Busy忙" •"Done完成" •"Error错误" •"CommandAborted命令被终止" 这些输出将永远不会同时被置位。这些输出中只有一个是 TRUE。只要 "执行 "输入被设置为 TRUE,这些输出中的一个也将被设置。
|
|
输出状态 |
这些输出将在 "执行 "输入的下降沿被复位。 •"Done完成" •"InGear耦合中" •"InSync同步中" •"InVelocity速度达到" •"InPosition定位到位" •"ErrorID错误代码" •"CommandAborted命令被终止" 如果 "Execute "输入在功能块执行完毕前已经被复位,那么这些输出将至少保持一个周期的置位。 如果一个功能块实例在功能块执行完毕之前收到了 "Execute "输入的一个新的上升沿,那么这个功能块将不会为之前的执行动作返回诸如 "Done "或 "CommandAborted "这样的响应。
|
|
输入参数 |
参数在 "执行 "输入的上升沿被传送。改变参数需要向功能块输入提供新的值,并重新启动运动。
|
|
位置与距离 |
"位置 "是指在一个坐标系中定义的值。 "距离 "是一个相关的测量技术单位。“距离 "的值是两个位置之间的差。
|
|
符号规则 |
"速度"≙正值 "加速度" ≙ 正值 "减速度" ≙ 正值 "位置" ≙ 正值和负值均可 "距离" ≙ 正值和负值均可
|
|
错误处理 |
一个功能块有两个输出,用于指示在功能块执行过程中发生的错误。这些输出被定义如下。
"Error错误" 这个输入的上升沿意味着在执行过程中发生了一个错误。 "ErrorID" 错误代码
下面这些输出在逻辑上与 "Error "输出无关,意味着功能块已经执行完毕。 •"Done完成" •"InVelocity速度达到" •"InPosition定位到位" •"InGear耦合中" •"InSync同步中"
|
|
“完成 "的行为 |
一旦命令被成功执行,这些输出就会被置位。 •"Done完成" •"InVelocity速度达到" •"InPosition定位到位" •"InGear耦合中" •"InSync同步中" 如果对同一轴连续调用多个运动功能块,如果一个功能块在到达目标之前被另一个运动功能块中止,将不会设置 "Done "输出。
|
|
“命令终止 "输出的行为 |
如果一个正在进行的运动被另一个运动功能块中止,则设置 "CommandAborted "输出。 如果 "CommandAborted "被设置,那么其他输出,如 "InVelocity "将被重置。
|
|
输入值超过极限值 |
如果一个功能块被调用,其参数超过了极限值,那么该功能块实例将报告一个错误。
|
|
“忙 "输出的行为 |
"busy忙 "输出在 "执行 "输入的上升沿时被置位,如果下列输出之一被置位,则Busy复位。 •"完成" •"命令中止" •"错误"
对于有 "Enable "输入的功能块,只要功能块需要被调用,"Busy "就一直被设置为TRUE。如果报告了一个错误,那么这个输出也会被重置。 |
|
"启用 "输入和 "有效 "或 "状态 "输出 |
"启用 "输入通常与 "有效 "或 "状态 "输出一起使用。"启用 "输入是对电平敏感的命令。 ”有效 "输出表示另一个输出上有一个有效的值。 只要有一个有效的输出值,并且 "Enable "输入也 是TRUE,"Valid "输出就会保持 TRUE。只要 "Enable "为 TRUE,有效的输出值就会被刷新 。 如果一个功能块发生错误,"有效 "输出将被重置,输出值不再有效。 |
|
"InitData "输入和 "DataInitialized "输出的行为 |
如果一个功能块有一个 "InitData "输入,那么当功能块处于活动状态时,输入值也可以被应用。这发生在这个输入的每个上升沿。 该功能块设置 "DataInitialized "输出,表示数值已经成功初始化。各个功能块的文档描述了哪些输入值是以这种方式应用的。 |