ABB_MotionControlLoad_AC500 库是ABB_MotionControl_AC500 库的扩展,它基于PLCopen 第 6 部分 "流体动力",基本上可用于实现负载控制,是一种简单的扭矩测绘形式。它可与所有其他运动控制软件包库一起使用。同样的结构和通用规则也适用于ABB_MotionControlLoad_AC500 库。建议在开始使用本库中的功能块之前,通读上述所有章节。不同之处在于,位置控制环路必须在 PLC 内部闭合,因为它要与负载控制环路同步,而负载控制环路也已实现。负载功能块的实现基于PLCopen 第 6 部分 - 流体动力。
已定义的扩展功能块概览
|
行政管理 |
动议 |
||
|---|---|---|---|
|
单轴 |
多轴 |
单轴 |
多轴 |
|
MC_LimitLoad |
- |
MC_LoadControl |
- |
|
MC_LimitMotion |
- |
MC_LoadSuperImposed |
- |
|
- |
- |
MC_LoadProfile |
- |
|
- |
- |
MC_TorqueControl |
- |
根据PLCopen ,MC_TorqueControl 属于第 1 部分功能块,但由于它是作为负载控制和极限负载块的封装程序来实现的,因此添加到ABB_MotionControlLoad_AC500 库中。
以下状态图基于 2.0 版 "第 1 部分 - 运动控制功能块 "中定义的版本。
本规范在状态图中增加了三个加载功能块:
-
MC_LoadControl
-
MC_LoadSuperImposed
-
MC_LoadProfile
MC_TorqueControl 功能块也遵循相同的状态图。
状态图中未列出的功能块不影响状态图,也就是说,只要调用这些功能块,状态就不会改变。
状态图显示的是同步运动,因为位置轴跟随负载运动,而状态与位置轴相关。

- 注 1:
-
来自任何州。轴出现错误。
- 注 2:
-
来自任何州。MC_Power.Enable = FALSE,并且轴中没有错误
- 注 3:
-
MC_Reset and MC_Power.Status = FALSE
- 注 4:
-
MC_Reset and MC_Power.Status = TRUE and MC_Power.Enable = TRUE
- 注 5:
-
MC_Power.Enable = TRUE and MC_Power.Status = TRUE
- 注 6:
-
MC_Stop.Done = TRUE 和 MC_Stop.Execute = FALSE
内核功能块 - 流体动力
基本模块是 CMC_Load_Motion_Kernel。它必须在每个周期调用一次,并且至少在任何 MC... 块被激活之前调用一次。它用于将 CMC_Basic_Kernel 的位置和速度功能与 MC_Load... 块的负载控制功能结合起来。


在未激活负载功能的情况下,CMC_Load_Motion_Kernel 使用的基准与 CMC_Basic_Kernel 的 Speed_Reference 相同。CMC_Basic_Kernel 的文档适用于相同的输入和输出。增加了一些输入和输出,以实现负载控制功能。
MC_Loadxxx 块使用 Load_Ref 代替 Axis_Ref。使用 CMC_Load_Motion_Kernel 时,Load_Ref 将取代 Axis_Ref,用户可以使用所有PLCopen 块。

必须在 CMC_Load_Motion_Kernel 程序块之外访问执行机构(驱动)。实际值和参考值可通过同步总线或 I/O 传输。
-
-功能块中所有以 "DRIVE_xxxx "命名的输入和输出都应连接到执行机构(驱动装置)。至于是通过现场总线还是传统的 IO 进行连接,这并不重要。
轴结构用于连接PLCopen 区块
-
Load_Axis 结构用于连接流体动力PLCopen 块
-
control_parameter 结构用于配置控制回路。
-
IO 结构可连接限位开关或基准开关。
当功能块开始控制(闭环)时,输出端 "Drive_Release "将被设置。然后,PLC 程序应启动执行机构(执行器(驱动装置)),并在成功后设置 "Drive_InOperation = TRUE"。如果执行机构(驱动装置)出现问题,应重置 "Drive_InOperation"。然后,功能块将打开位置控制回路,Speed_Reference 将为 0。

归位是通过PLCopen 块完成的。由于与实际位置的接口在 CompactMotion 外部,因此当达到评估零轨的状态时,"Drive_Set_Ref "位将被置位。找到零轨后,必须将 Drive_ActualPosition 设置为 "Drive_Set_Position",并用 "Drive_Ref_Ok "表示。
输出端 "驱动参考 "应发送至执行机构(驱动装置)。该值与 Max_Rpm 和 Max_Reference 成比例,这意味着:当 "Drive_Reference "等于 Max_Reference,电机将以 Max_Rpm 运行。
负载控制
该功能块包含一个位置控制回路和一个负载控制回路。负载控制回路是一个 PIDT1 块。两个控制回路交替启动,取决于 MC_Load...block 或 MC_Move...block 是否处于激活状态。不同控制回路之间实现了无障碍过渡。
PIDT1 控制器包含比例、积分和导数部分。积分和导数部分可通过使用时间值 = 0 进行切换。
传递函数

控制回路的所有三个部分相加。可以通过将相应的时间常数设置为 0 来禁用积分或导数部分,这样就可以实现以下结构:
-
P
-
PDT1
-
PI
-
PIDT1
Load_MaxRef 和 Load_MinRef 值将限制控制器的输出 Y,也适用于控制器的内部整体部分。也就是说,积分部分只能保留上限和下限之间的数值。如果受控变量 Y 达到两个限值之一,控制器的积分部分就不再发生变化。这样可以防止积分部件保持无意义的数值,以及在某些情况下长时间不返回工作范围。控制器的这种行为也被称为 "特殊的防复位卷绕措施"。
示例 - 流体动力扩展
MC LimitLoad
下图举例说明。这里使用 SFC 来区分 MC_LimitLoad 功能是否已 "激活 "的运动。在步骤 2 中,有一个类似于 "MoveAbsolute "的动作,它受到 MC_LimitLoad 功能的限制。如果在 MC_LimitLoad 未激活的情况下到达绝对位置,则可通过步骤 3 完成过渡。但是,如果 MC_LimitLoad 变为 "激活",就会过渡到 "停止 "步骤,发出 MC_Halt。

MC_LimitMotion e.g. force fitting
该功能块与 MC_LoadControl 或 MC_TorqueControl 配合使用,后者对轴具有主要控制功能。MC_LimitMotion 应通过 MC_LoadControl / MC_TorqueControl 的 "激活 "输出启用。如果轴上的运动值超过了给定的限制,则会采取适当的措施以保持在这些限制范围内,这意味着负载/扭矩将不会按照编程的轨迹运行,而是取决于外部负载条件。不过,在这种情况下,MC_LoadControl/MC_TorqueControl 的 "Active"(激活)输出将保持为 "TRUE",这符合修改后的 PLCopen 定义"'Active'(激活)输出表示 FB 控制轴设定值的生成"。尽管在物理上只能控制负载条件或轴的运动。当实际运动状态低于编程限制时,将继续执行编程的负载/扭矩轨迹。在激活 MC_LoadControl/MC_TorqueControl 时启用限位块,可确保仅在 MC_LoadControl/MC_TorqueControl 首次控制轴时才对限位进行监控。在停用 MC_LoadControl/MC_TorqueControl 时禁用限位块,可确保在 MC_LoadControl/MC_TorqueControl 因 "命令中止 "或 "错误 "而失去对轴的控制时,不再对限位进行监控。
MC_ LoadSuperImposed
可能的应用:执行器:带有流体压力传感器的液压缸,在连续加载操作中驱动注塑机的压力机。
请求:在调用 MC_LoadSuperImposed 之前,MC_LoadControl 块处于 "激活 "状态,命令压力为 7,500 kPa,以便将熔化的塑料压入模具。一旦达到 MC_LoadControl "InLoad"(加载中)条件,就会多次施加 5,000 kPa 的叠加压力,以产生锤击效应,从而释放塑料中的应力。
结果: MC_LoadControl 的 7,500 kPa 压力指令与 5,000 kPa 的离散压力指令叠加。一旦激活 "LoadSuperImposed "命令,系统压力将升至 12,500 kPa。
当叠加的压力指令完成后,MC_LoadSuperImposed 程序块也随之完成,MC_LoadControl 发出的原始指令恢复为原始压力指令。MC_LoadSuperImposed 程序块被多次执行,但不会影响 MC_LoadControl 程序块发出的原始压力指令。

MC_TorqueControl
下面的示例使用了与 "方向 "和 "扭矩 "相反的符号(例如保持或制动控制)。(在功能块中:+方向 -扭矩)。这就好比在材料上施加扭矩,使材料断裂。当材料断裂时,如图中所示,会导致实际扭矩值下降(绝对值):速度将受 "减速度 "VAR_INPUT 指定的最快 "减速度 "限制而降低,直至速度为零(在无张力的情况下,存在冲击断裂的风险,因此我们必须限制在最快速度)。在这种情况下,可能无法达到扭矩设定点。

在放卷应用中(由该制动控制衍生而来),材料张力是目标,而不是电机扭矩。在转换 "用户张力设定点 "时,应考虑到辊子的瞬时直径。此外,根据瞬时重量数据(重量通常根据直径估算)修改加速/减速扭矩设定点,从而进行额外的惯性补偿也很常见。此外,在放卷应用中,如果出现松散材料(与材料断裂的情况相同),通常会使用一个负的慢速基准来 "收卷 "松散材料。在这种情况下,必须通过外部编程来实现。