简易运动控制 (S7-300,S7-400) MC_Init (S7-300, S7-400) 说明 MC_Init 通过置位轴 DB的“Init.Ix”位数组中的所有位,准备初始化轴的所有块(请参见“初 始化和参数更改”)。 工作原理 指令 MC_Init通过设置轴 DB 中的错误显示“Error” = TRUE 和“Err.StoppedMotion” = TRUE,防止无意中启动轴。如果要在调用指令 MC_Init 后移动轴,必须通过确认错误取消错误显示 (请参见“轴 DB中的错误显示和错误确认”)。 指令 MC_Init 会检查轴 DB 中的参数。 如果检测到参数错误,则会在轴 DB中置位“Error”和 “Err.ConfigErr”位以显示(组)错误,也会置位“ConfigErr”结构中的某一位以获得更准确的错误显示。 参数错误无法确认。 必须在更正错误后重新调用指令 MC_Init。 有关错误概念的详细信息,请参见“轴 DB中的错误显示和错误确认”以及“参数错误”。 调用 说明 仅当轴处于停止状态时,才能调用指令MC_Init。
调用分配功能的实例以下实例显示循环中断级别中四个控制回路的调用顺序(请参见下图)。 每个时间基准单 位始终仅处理一个控制回路。 调用顺序还有位移时间(TD1 ... TD5) 均为全局 DB 中调用数据 顺序的结果。还可以使用外部源文件生成此全局数据块。为此,请执行以下操作: 1.将下面的文本复制到剪贴板中。 2. 打开外部文本编辑器。 3. 将复制的文本从剪贴板粘贴到文本编辑器中。 4.使用文件扩展名“.DB”保存文件。 5. 打开 TIA Portal 项目树中的“外部源”(External sources)文件夹。 6. 双击命令“添加新外部文件”(Add new external file)。 随即会显示“打开”(Open) 对话框。7. 导航至已创建的外部源文件并将其选中。8. 单击“打开”(Open) 确认选择。 9. 选择部源文件。10.选择快捷菜单中的命令“从源中生成块”(Generate blocks from source)。11.将显示一条安全提示,提示您将覆盖现有块。 12.在出现安全提示时单击“确定”(OK)。13.对创建的数据块进行调整,使其符合您的应用要求。可以在调用了该轴其它指令的同一程序块中有条件地调用指令 MC_Init。在以下情况下 必须调用指令 MC_Init: • CPU 每次启动后(OB 100 和 OB 101) •未使用组态软件而更改了“组态轴 TO”中由以下符号标识的参数时: 说明 完成调用后,复位用于调用指令 MC_Init 的条件。否则,Easy Motion Control 块将始终 仅重复其初始化,因为轴 DB 中的初始化位重新置位。MC_MoveAbsolute (S7-300, S7-400) 说明 指令 MC_MoveAbsolute可用于使同步轴逼近“Position”中指定的juedui目标。 工作原理 在输入“Execute”处检测到上升沿时,指令MC_MoveAbsolute 将确定行进方向并沿此方向加 速轴。 到达减速点时,轴将减速。 运动期间不必达到指定的速度。使用线性轴时的特性: • 行进方向通过起点和目标的设定值位置来确定。使用旋转轴时的特性: • 指令 MC_MoveAbsolute将轴从停止状态开始移动的距离限制为小于旋转一周。 使用指 令 MC_MoveRelative (页 8315)来定位旋转多周的旋转轴。 • 从轴停止状态启动时的极性选择: – 正方向: 逼近的目标在正方向 – 负方向: 逼近的目标在负方向 –Zui短距离: 逼近目标所在的方向为起始位置和目标间距离小于或等于旋转轴半转的方 向。 • 超控运动时的极性选择 – 正方向:逼近的目标在正方向。 如果之前的运动在负方向上,则轴将减速并朝正方 向逼近目标。如果轴在负行进方向减速时恰好到达目标,则轴将在正方向行进一转。 – 负方向: 逼近的目标在负方向。如果之前的运动在正方向上,则轴将减速并朝负方 向逼近目标。 如果轴在正行进方向减速时恰好到达目标,则轴将在负方向行进一转。 –Zui短距离: 逼近目标所在的方向为起始位置和目标间距离小于或等于旋转轴半转的方 向。 如果制动距离更长,轴将沿原始方向行进到目标。 –如果已经选择行进参数以使之前运动的制动距离大于旋转轴一转,则在反转方向后将 直接逼近目标。 –起始位置和目标之间的整个距离可以大于旋转轴一转。 MC_MoveAbsolute 的信号流程图可以在循环中断 OB(例如 OB35)或同步循环中断 OB(例如 OB 61)中调用该指令。 必须 在同一程序块中调用轴的所有 EMC 指令。 参数 参数 声明数据类型 说明 Execute INPUT BOOL 上升沿时开始定位。 Position INPUT REAL juedui目标位置[长度单位] 旋转轴: 旋转轴起点 ≤ 位置 < 旋转轴终点 Velocity INPUT REAL 轴速度 [长度单位/s]Acceleration INPUT REAL 轴加速度 [长度单位/s2 ] Deceleration INPUT REAL轴减速度 [长度单位/s2 ]参数 声明 数据类型 说明 Direction INPUT INT 使用旋转轴行进时的极性选择 -1 =负方向 0 = Zui短距离 1 = 正方向 Busy OUTPUT BOOL 1 = 作业正在进行。 Done OUTPUT BOOL1 = 无错完成作业。 该位将至少在一次指令调用的时间内保持活动状态,直至 “Execute”复位。 CommandAborte dOUTPUT BOOL 1 = 作业由其它作业取消。 该位将至少在一次指令调用的时间内保持活动状态,直至 “Execute”复位。Error OUTPUT BOOL 1 = 作业由于轴错误而取消。 该位将至少在一次指令调用的时间内保持活动状态,直至“Execute”复位。 UDT2 UDT2 数据类型在 MC_MoveAbsolute 的块属性中列出并保存。也就是说,同一项目中不能 使用不同的 UDT2 数据类型。 否则会生成错误消息并导致项目不一致。 如果要使用 UDT2 数据类型,则必须为此 UDT 重新命名,例如命名为 UDT3。 MC_MoveRelative (S7-300, S7-400) 说明指令 MC_MoveRelative 可用于使轴行进在“Distance”参数中指定的相对于轴移动起点设定值 的距离。“Distance”参数的符号决定方向。 工作原理 在输入“Execute”处检测到上升沿时,指令 MC_MoveRelative将沿参数“Distance”中指定的方 向加速轴。 到达减速点时,轴将减速。 运动期间不必达到指定的速度。 通过行进开始处的设定点位置和要行进的距离来确定目标。 旋转轴的特性: •可通过在“Distance”中设置大于圆轴一转的值,实现行进多转的距离。可以在循环中断 OB(例如 OB 35)或同步循环中断OB(例如 OB 61)中调用该指令。必须 在同一程序块中调用轴的所有 EMC 指令。 参数 参数 声明 数据类型 说明Execute INPUT BOOL 上升沿时开始定位。 Distance INPUT REAL 相对于Zui后一个位置设定值要行进的距离[长度单位]。 符号决定行进方向。 Velocity INPUT REAL 轴速度 [长度单位/s] AccelerationINPUT REAL 轴加速度 [长度单位/s2 ]参数 声明 数据类型 说明 Deceleration INPUT REAL轴减速度 [长度单位/s2 ] Busy OUTPUT BOOL 1 = 作业正在进行。 Done OUTPUT BOOL 1 =无错完成作业。 该位将至少在一次指令调用的时间内保持活动状态,直至“Execute” 复位。 CommandAborte dOUTPUT BOOL 1 = 作业由其它作业取消。 该位将至少在一次指令调用的时间内保持活动状态,直至“Execute” 复位。Error OUTPUT BOOL 1 = 作业由于轴错误而取消。该位将至少在一次指令调用的时间内保持活动状态,直至“Execute” 复位。 UDT2 UDT2 数据类型在MC_MoveRelative 的块属性中列出并保存。 也就是说,同一项目中不能 使用不同的 UDT2 数据类型。否则会生成错误消息并导致项目不一致。 如果要使用 UDT2 数 据类型,则必须为此 UDT 重新命名,例如命名为 UDT3。MC_MoveJog (S7-300, S7-400) 说明 指令 MC_MoveJog可使用两个电平控制的方向输入“JogPos”和“JogNeg”(点动)来移动轴。 工作原理 设置方向输入后,MC_MoveJog会将轴加速到指定速度。 只要方向输入保持设置状态,轴 就会沿该方向运动。 如果重新复位方向输入,轴将减速。按照以下依赖性对两个方向输入进行评估: • 只要选择了一个方向,则设置方向无效。 不会产生错误。 •要在行进期间更改方向,请将另一个方向输入设置为 TRUE,将Zui初选择的方向输入 设置为 FALSE。 •如果在运动开始时设置两个输入,则会生成启动错误(“Err.StartErr”;请参见软停止 错误)。