对 PLC 进行编程用户程序的结构。在本示例中,在一个单独的函数块中创建各个轴的用户程序。 所需的运动控制指令将作为实例插入到函数块中。 然后,在循环用户程序中调用这些函数块。2. 将工艺对象“TO_Mixer”和“TO_Conveyor”拖放到文件夹“Color_Mixing_CPU > 工艺对象”(Color_Mixing_CPU > Technology objects) 中。 3.打开各工艺对象的组态窗口“硬件接口 > 驱动装置”(Hardware interface > Drive)。 4.在“驱动装置”(Drive) 列表中,选择定位轴的 PROFINET 驱动装置 SINAMICS S120 的条目“Drive_Conveyor”。 5. 在“驱动装置”(Drive) 列表中,选择速度轴的 PROFINET 驱动装置SINAMICS G120 的条目 “Drive_Mixer”。 6. 检查数据交换的设置:必要时,修改设置使其与驱动装置的设置相匹配。 7. 编译项目,对组态进行检查。编译过程应成功完成,无任何错误。为定位轴添加运动控制指令在用户程序的“Ctrl_PosAxis”函数块中插入以下运动控制指令进行定位轴控制: • MC_Power • MC_Reset以下运动控制指令已经插入并与相应的变量互连: • MC_Home • MC_MoveRelative •MC_MoveAbsolute 同时,已完成错误消息传送的程序段编写。
打开函数块 要打开函数块,请按以下步骤操作: 1.在项目树中,打开文件夹“Color_Mixing_CPU > 程序块”(Color_Mixing_CPU >Program blocks)。2. 双击函数块“Ctrl_PosAxis”。 将打开该函数块。以下变量已在“接口”(Interface) 区域中创建: • "“Axis”- 在循环用户程序中调用函数块时传送工艺对象的变量 •"“Turn_On_Drive”- 通过“MC_Power”指令启动驱动装置 • "“Move_Can_Cycle”-通过“MC_MoveRelative”指令开始移动轴 • "“Goto_Fillpos”-通过“MC_MoveAbsolute”指令开始移动轴 • "“Reset”- 进行错误确认 • "“Can_Cycle_Done”-“MC_Relative”指令的反馈 • "“Fillpos_Reached”- “MC_MoveAbsolute”指令的反馈 •"“Error”- 错误消息 • "“temp_Status_power”-将“MC_Power”指令的反馈与“MC_Home”指令的进行进一步互 连• "“temp_Position”-读取实际位置进行可视化插入 MC_Power 要在函数块中插入运动控制指令“MC_Power”,请按以下步骤操作: 1.在“指令”(Instructions) 任务卡中,打开“工艺 > 运动控制 > S7-1500 MotionControl”(Technology > Motion Control > S7-1500 MotionControl) 文件夹。2. 通过拖放操作,将运动控制指令“MC_Power”插入到程序段 1 中。 将打开“调用选项”(Calloptions) 对话框。3. 单击“多重背景”(Multi instance) 按钮。 4. 单击“确定”(OK),确认输入。将运动控制指令“MC_Power”添加到程序段 1 中。 5. 将“Axis”变量从“接口”(Interface)区域中拖放到运动控制指令的“Axis”参数处。6. 将“Turn_On_Drive”变量拖放到运动控制指令的“Enable”参数处。7. 将“temp_Status_power”变量拖放到运动控制指令的“Status”参数处。
插入 MC_Reset要在函数块中插入运动控制指令“MC_Reset”,请按以下步骤操作: 1. 根据“插入 MC_Power”操作指令中的步骤 1 到步骤5,将运动控制指令“MC_Reset”插入 到空白程序段中。 2.将“Reset”变量拖放到运动控制指令的“Execute”参数处。为速度轴添加运动控制指令可通过在用户程序的“Ctrl_SpeedAxis”函数块中插入以下运动控制指令进行速度轴控制: • MC_Power •MC_Reset 运动控制指令“MC_MoveVelocity”已经插入并连接到相应的变量:同时,已完成错误消息传送的程序段编写。打开函数块 要打开函数块,请按以下步骤操作: 1.在项目树中,打开文件夹“Color_Mixing_CPU > 程序块”(Color_Mixing_CPU >Program blocks)。2. 双击函数块“Ctrl_SpeedAxis”。 将打开该函数块。以下变量已在“接口”(Interface) 区域中创建: • “Axis”- 在循环用户程序中调用函数块时传送工艺对象的变量 •“Start_Mixing”- 通过“MC_Power”指令启动驱动装置 • “Reset”- 进行错误确认 • “Error”-错误消息 • “temp_Status_power”-将“MC_Power”指令的反馈与“MC_MoveVelocity”指令的进行进 一步互连插入 MC_Power要在函数块中插入运动控制指令“MC_Power”,请按以下步骤操作: 1. 在“指令”(Instructions)任务卡中,打开“工艺 > 运动控制 > S7-1500 Motion Control”(Technology >Motion Control > S7-1500 Motion Control) 文件夹。2.通过拖放操作,将运动控制指令“MC_Power”插入到程序段 1 中。 将打开“调用选项”(Call options) 对话框。3.单击“多重背景”(Multi instance) 按钮。 4. 单击“确定”(OK),确认输入。将运动控制指令“MC_Power”添加到程序段 1 中。 5. 将“Axis”变量从“接口”(Interface)区域中拖放到运动控制指令的“Axis”参数处。6. 将“Start_Mixing”变量拖放到运动控制指令的“Enable”参数处。7. 将“temp_Status_power”变量拖放到运动控制指令的“Status”参数处。插入 MC_Reset要在函数块中插入运动控制指令“MC_Reset”,请按以下步骤操作: 1. 根据“插入 MC_Power”操作指令中的步骤 1 到步骤5,将运动控制指令“MC_Reset”插入 到空白程序段中。 2.将“Reset”变量拖放到运动控制指令的“Execute”参数处。使用预设置的函数块通过将全局库中预设置的函数块插入到项目并互连相应的变量,可以简化之前介绍的操作 过程。 插入函数块要将函数块从全局库插入到项目中,请按以下步骤操作: 1.在“MotionLib_Color_Filling_Station”全局库中打开文件夹“主副本 > Zui后”(Mastercopies > Final)。2.将函数块“Ctrl_SpeedAxis”和“Ctrl_PosAxis”拖放到“Color_Mixing_CPU > 程序块”(Color_Mixing_CPU > Program blocks) 文件夹中同名的函数块处。将打开“粘贴”(Paste) 对话框。3. 选择选项“替换现有对象并移动到此位置”(Replace existing objectsand move to this location)。 4. 单击“确定”(OK)进行确认在循环用户程序中集成运动控制指令为定位轴集成运动控制指令通过相应的函数块,将所创建的控制定位轴的运动控制指令集成到循环用户程序中。函数 块将插入到“Main[OB35]”组织块中并与相应的参数进行互连。插入函数块 要在循环用户程序中插入函数块,请按以下步骤操作: 1.在项目树中,打开文件夹“Color_Mixing_CPU > 程序块”(Color_Mixing_CPU >Program blocks)。 2. 打开组织块“Main [OB35]”。 传送带 (SCL_Valve_Conveyor)的控制逻辑位于程序段 5 中。3. 将“Ctrl_PosAxis”函数块从项目树中拖放到程序段 11“Motion Control -Positioning Axis (Conveyor)”中。 将打开“调用选项”(Call options) 对话框。4.单击“确定”(OK) 进行确认。互连函数块 要将函数块与相应参数进行互连,请按以下步骤操作: 1.在项目树中,打开文件夹“Color_Mixing_CPU > 工艺对象”(Color_Mixing_CPU >Technology objects)。 2. 将工艺对象“TO_Conveyor”从项目树中拖放到“Axis_Name”参数处。3.在“Turn_On_Drive”参数处,选择变量“HMI_Conv_Sim”。 4.按住键并将“Conveyor_Move_Cycle”变量(程序段 5)拖放到“Move_Can_Cycle” 参数处。 5.按住键并将“Conveyor_Find_Fillposition”变量(程序段 5)拖放到“Goto_Fillpos” 参数处。 6.按住键并将“STOP_RESET_Filling_Process”变量(程序段 5)拖放到“Reset”参数 处。 7.按住键并将“Conveyor_Cycle_Done”变量(程序段 5)拖放到“Can_Cycle_Done” 参数处。8.按住键并将“Conveyor_Fillposition_found”变量(程序段 5)拖放到“Fillpos_Reached”参数处。 9. 在“Error”参数处,选择变量“ERROR_Conveyor”。