Skip to main content

标准用例

SM3_Basic 库包含不通过标准设置/实际值接口与驱动器交互的上级功能块。这些功能块通过读取或写入实例的参数来提供命令或更改驱动器的设置 AXIS_REF_SM3.

重新初始化驱动器

如果您在运行时更改了驱动器参数,则需要重新初始化驱动器。示例:更改旋转驱动器的缩放系数或模周期。通过致电 smc3_reinitDrive 带有上升边缘的功能块 Execute 输入, wCommuncationState 驱动器的参数被重置,并重复驱动器的整个启动过程。

重要

重新初始化必须等到轴达到所需状态 SMC_COMSTATE_BASE_COM_INITIALIZATION 或更高。否则会输出错误 SMC_RAG_ERROR_AXIS_NOT_INITIALIZED.

如果下级现场总线的通信中断,则不再需要明确的重新初始化 CODESYS SoftMotion 版本 4.18.0.0 及更高版本。一旦恢复现场总线通信,轴就会自动重新初始化。在版本 4.18.0.0 之前,在现场总线的通信中断后,明确调用 SMC3_ReinitDrive 是必要的(错误 SMC_DI_GENERAL_COMMUNICATION_ERROR) 一旦现场总线通信恢复。

提示

可以通过设置来恢复旧的行为 AutoRestart 的输入 SMC_AxisChangeSettings 功能块到 SMC_AXIS_AUTORESTART_MODE.OFF

打开和关闭驱动器

bRegulatorOnbDriveStart 的参数 AXIS_REF_SM3 功能块控制驱动器的性能水平和减速度。访问是通过 MC_Power 功能块。

要释放输出级,您必须设置 bRegulatorOn 的参数 MC_Power 功能块。驱动器通过 bRegulatorRealState 输出。如果驱动器支持,则 bRegulatorOn 在运动过程中重置将立即停用扭矩。在这种情况下,功能块会报告错误并将轴设置为 errorstop 状态。

bDriveStart 变量确定是否允许驱动器移动。该参数的当前状态位于 bDriveStartRealState.

如果驱动器支持,则 bDriveStart 参数复位会在运动期间使用配置的斜坡(“QuickStop”)使驱动器减速。之后,只要设置为,驱动器就会在到达的位置停止 bRegulatorOn.轴保持在 stopping 只要“QuickStop”机制处于活动状态(bDriveStart 输入 = 假)。如果驱动器之前已被功能块移动,那么现在将显示 CommandAborted.这不适用于 MC_Stop 报告错误并将轴设置为 errorstop 状态。

处理机械制动器

如果驱动器支持,则 eBrakeControl 变量可以通过设置或重置 SMC3_BrakeControl 功能块。三种不同的模式是可能的。

. SMC3_BrakeSetState
  • SMC_BRAKE_AUTO:制动器的状态由驱动器控制。

  • SMC_BRAKE_OPEN: 制动器打开。

  • SMC_BRAKE_CLOSE: 制动器关闭。

bBrakeClosedRealState 变量报告制动器的当前状态。

从的角度来看 SoftMotion,控制以及机械制动器的状态不依赖于驱动器的状态或运行运动。

切换控制模式

随着 SMC_SetControllerMode 功能块,可以在不同的控制模式之间切换。这 byControllerModebyRealControllerMode 参数来自 AXIS_REF_SM3 表示控制单元的期望和当前状态。

1. 可能的值

SMC_nocontrol

SoftMotion 不向驱动器发送循环数据。这使得以其他方式控制驱动器成为可能。

SMC_torque

扭矩/力控制

SMC_velocity

速度控制

SMC_position,

位置控制

SMC_current

功率控制



写完之后 byControllerMode 变量,检查当前状态,直到它匹配所需的控制模式。

同时,FB 计算轴的设定值,例如在改变控制模式时。然后它设置它的 bDone 输出到 TRUE.到目前为止,它不再为轴准备任何设置值。这必须由其他功能块完成。示例: bDone 输出触发一个 MC_MoveVelocity, MC_MoveAbsolute, 或者 MC_Halt 功能块。否则轴在控制模式改变后立即停止。

归位(驱动控制)

SoftMotion,有两种方法可以引用驱动器:

  • 由 PLC 中的控制器参考:此参考是通过调用 SMC_Homing 功能块。参考信号必须是控制单元 I/O 映射的一部分。在回参考点时,驱动器保持在“位置控制”控制模式。一般来说,这种方法不是特别准确,因为检测位置(当参考开关被激活时)是基于驱动器获得的当前位置。结果,准确性受到通信周期的限制。

  • 通过驱动器中的控制器进行参考:参考开关连接到驱动器。它的位置检测速度更快,精度更高。在驱动器控制的参考路径期间,驱动器处于另一种控制模式,其中驱动器由内部过程控制,并且不遵循控制单元的设定值。当参考路径结束时,驱动器将重置为其原始控制模式。

    MC_Home 功能块通过设置启动驱动器控制的参考路径 fReferencebStartReference.此外,状态 AXIS_REF_SM3 (wState) 设定为 homing.当驱动器通过参考路径(意味着它不再遵循控制单元指定的值)时,驱动器将参数设置为 TRUE.为了显示参考路径的结尾,驱动程序设置 bStartReferencebStartReferenceRealStateFALSE.

闩锁

您可以通过多种方式检测轴的位置,具体取决于驱动器支持的驱动器功能:

  • 驱动器本身检测轴位置(集成或通过打开外部传感器)。因为实际位置是由驱动器本身传送的,所以信号的传送时间最短且精确。

  • 轴的当前位置独立于驱动器确定,并通过输入传输到控制器。控制器输入的发生延迟和应用程序周期使这种方法不太精确。

    传输驱动器本身的位置时,通常由相应的驱动器在应用程序中直接处理,具体取决于制造商。要确定这种轴的位置,可以使用 MC_TouchProbe 功能块。它允许将轴位置记录到可配置的触发器和位置窗口内。如果驱动器不传输位置,则必须将其传递给驱动器的设备驱动程序,例如用于控制。

    有关详细信息,请参阅: 使用 SM_Drive_PosControl 对控制器进行位置控制