标准用例
这 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
。
打开和关闭驱动器
这 bRegulatorOn
和 bDriveStart
的参数 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
功能块,可以在不同的控制模式之间切换。这 byControllerMode
和 byRealControllerMode
参数来自 AXIS_REF_SM3
表示控制单元的期望和当前状态。
| SoftMotion 不向驱动器发送循环数据。这使得以其他方式控制驱动器成为可能。 |
| 扭矩/力控制 |
| 速度控制 |
| 位置控制 |
| 功率控制 |
写完之后 byControllerMode
变量,检查当前状态,直到它匹配所需的控制模式。
同时,FB 计算轴的设定值,例如在改变控制模式时。然后它设置它的 bDone
输出到 TRUE
.到目前为止,它不再为轴准备任何设置值。这必须由其他功能块完成。示例: bDone
输出触发一个 MC_MoveVelocity
, MC_MoveAbsolute
, 或者 MC_Halt
功能块。否则轴在控制模式改变后立即停止。
归位(驱动控制)
在 SoftMotion,有两种方法可以引用驱动器:
由 PLC 中的控制器参考:此参考是通过调用
SMC_Homing
功能块。参考信号必须是控制单元 I/O 映射的一部分。在回参考点时,驱动器保持在“位置控制”控制模式。一般来说,这种方法不是特别准确,因为检测位置(当参考开关被激活时)是基于驱动器获得的当前位置。结果,准确性受到通信周期的限制。通过驱动器中的控制器进行参考:参考开关连接到驱动器。它的位置检测速度更快,精度更高。在驱动器控制的参考路径期间,驱动器处于另一种控制模式,其中驱动器由内部过程控制,并且不遵循控制单元的设定值。当参考路径结束时,驱动器将重置为其原始控制模式。
这
MC_Home
功能块通过设置启动驱动器控制的参考路径fReference
和bStartReference
.此外,状态AXIS_REF_SM3
(wState
) 设定为homing
.当驱动器通过参考路径(意味着它不再遵循控制单元指定的值)时,驱动器将参数设置为TRUE
.为了显示参考路径的结尾,驱动程序设置bStartReference
和bStartReferenceRealState
到FALSE
.
闩锁
您可以通过多种方式检测轴的位置,具体取决于驱动器支持的驱动器功能:
驱动器本身检测轴位置(集成或通过打开外部传感器)。因为实际位置是由驱动器本身传送的,所以信号的传送时间最短且精确。
轴的当前位置独立于驱动器确定,并通过输入传输到控制器。控制器输入的发生延迟和应用程序周期使这种方法不太精确。
传输驱动器本身的位置时,通常由相应的驱动器在应用程序中直接处理,具体取决于制造商。要确定这种轴的位置,可以使用
MC_TouchProbe
功能块。它允许将轴位置记录到可配置的触发器和位置窗口内。如果驱动器不传输位置,则必须将其传递给驱动器的设备驱动程序,例如用于控制。有关详细信息,请参阅: 使用 SM_Drive_PosControl 对控制器进行位置控制