SMC3_PersistPositionSingleturn

SMC3_PersistPositionSingleturn通过输出bPositionStored显示数据 PersistentData 是否发生变换并且需要进行保存。根据使用情况 ( “特殊应用的场合”),这种情况时有发生。SMC3_PersistPositionLogical 关联数据结构 SMC3_PersistPositionSingleturn_Data.

功能块 SMC3_PersistPositionSingleturn

名称

类型

初始值

描述

VAR_IN_OUT

     

Axis

AXIS_REF_SM3

 

“AXIS_REF_SM3”.

PersistentData

SMC3_PersistPositionSingleturn_Data

 

保持数据结构,用于保存数据

VAR_INPUT

     

bEnable

BOOL

FALSE

TRUE:功能块被激活

FALSE:功能块未激活。如果要在初始化的时候复位上次记录的位置,bEnable 在应用程序启动的时候必须被设置为 TRUE 。

usiNumberOfAbsoluteBits

USINT

16

绝对编码器数据位。例如,16 意味着当前位置的 LOWWORD 来自绝对编码器位置。

VAR_OUTPUT

     

bPositionRestored

BOOL

 

TRUE:子上次启动,位置将会被加载

bPositionStored

BOOL

 

TRUE:上次调用,用于恢复的数据发生改变并且被存储到 PersistentData

bBusy

BOOL

 

TRUE:功能块被激活

bError

BOOL

FALSE

TRUE:错误发生。参阅ErrorID

nErrorID

SMC_ERROR

SMC_NO_ERROR

错误定义, “SMC_ERROR”

可能错误

  • SMC_PP_WRONG_AXIS_TYPE不支持虚轴或者本地轴。这种情况下使用SMC3_PersistPositionLogical。
  • SMC_PP_NUMBER_OF_ABSOLUTE_BITS_INVALID:保持数据的位数不是位于 8 和 32 之间。

eRestoringDiag

SMC3_PersistPositionDiag

SMC3_PersistPositionDiag.SMC3_PPD_RESTORING_OK

关于位置加载的动态信息

  • SMC3_PPD_RESTORING_OK:位置成功恢复
  • SMC3_PPD_AXIS_PROP_CHANGED:轴的至少一个属性 (比例,位置周期,运动类型 (模态/直线)) 所以不能复位电机位置。
  • SMC3_PPD_DATA_STORED_DURING_WRITING:数据显示PersistentData在从轴结构中复制数据的时候被保存。可能的原因:
    • 保存变量不同步
    • 控制块无效

示例程序参阅 “SMC3_PersistPosition”