【运动控制——补充AXIS_REF_SM3】
运动控制——补充AXIS_REF_SM3核心成员变量1. 轴状态与控制 (State Control)2. 实际值与设定值 (Actual Set Values)3. 限幅与安全 (Limits Safety)AXIS_REF_SM3.perfTimers继承关系AXIS_REF_SM3 是 CODESYS SoftMotion 运动控制平台中最核心、最基础的轴接口。可以把它理解为在程序里操作一个物理或虚拟轴的“万能遥控器”。所有遵循 PLCopen 标准的运动控制功能块如 MC_Power, MC_MoveAbsolute都会通过这个接口来指定要操作的目标轴。它本身是一个功能块FUNCTION_BLOCK集成了驱动接口和一系列驱动程序。系统中的每一个 SoftMotion 轴都是这个功能块的一个扩展实例核心成员变量变量按功能分组每个变量都有一个唯一的参数编号Parameter Number可通过 MC_ReadParameter / MC_WriteParameter 进行访问。1. 轴状态与控制 (State Control)参数编号变量名数据类型描述1000nAxisStateSMC_AXIS_STATE轴状态机。根据PLCopen标准定义0: power_off,1: errorstop,2: stopping,3: standstill,4: discrete_motion,5: continuous_motion,6: synchronized_motion,7: homing。1010bRegulatorOnBOOL调节器使能标志。通常与MC_Power功能块的Enable输出相关联。1011bDriveStartBOOL驱动器启动标志。用于启动或停止驱动器。1012bCommunicationBOOL通信状态。TRUE表示控制器与驱动器之间的通信正常。1013wCommunicationStateWORD通信状态详细代码。提供比bCommunication更具体的状态信息。1014uiDriveInterfaceErrorUINT驱动接口错误号。用于诊断驱动器接口层的错误。1021wDriveIdWORD驱动器ID。驱动器在总线上的节点编号或唯一标识。1022iOwnerINT轴所有者标识。可供用户自定义用于逻辑分组或权限管理。1023iNoOwnerINT配合iOwner使用。1030bErrorBOOL轴错误标志。TRUE表示轴处于错误状态。1031dwErrorIDDWORD驱动器特定错误标识符。提供来自驱动器的具体错误代码。1032bErrorAcknBOOL错误确认标志。用于确认并清除错误状态。1035fbeFBErrorARRAY功能块错误表。存储与轴相关的各功能块错误信息。1040bVirtualBOOL虚拟轴标志。TRUE表示这是一个虚拟轴FALSE表示物理轴。1051dwRatioTechUnitsDenomDWORD齿轮比分母。用于将用户单位如毫米转换为驱动器的内部单位。1052iRatioTechUnitsNumDINT齿轮比分子。1060iMovementTypeINT轴类型。0为模数轴旋转轴1为有限轴线性轴。1061fPositionPeriodLREAL模数轴周期。模数轴旋转一圈的行程如360度。1062eRampTypeSMC_RAMPTYPE速度曲线类型。如trapez梯形,sin²等。2. 实际值与设定值 (Actual Set Values)参数编号变量名数据类型描述1100fSetPositionLREAL设定位置单位用户单位 u。1101fActPositionLREAL实际位置单位u。1110fSetVelocityLREAL设定速度单位u/s。1111fActVelocityLREAL实际速度单位u/s。1120fSetAccelerationLREAL设定加速度单位u/s²。1121fActAccelerationLREAL实际加速度单位u/s²。1057fFactorTorLREAL转矩因子。用于将用户单位的转矩值转换为驱动器的内部单位。1059fFactorTorLREAL电流因子。用于将用户单位的电流值转换为驱动器的内部单位。3. 限幅与安全 (Limits Safety)参数编号变量名数据类型描述1112fMaxVelocityLREAL驱动器最大速度。从驱动器读取的硬件限制。1113fSWMaxVelocityLREAL软件最大速度。软件层面设定的速度限幅。1122fMaxAccelerationLREAL驱动器最大加速度。1123fSWMaxAccelerationLREAL软件最大加速度。1132fMaxDecelerationLREAL驱动器最大减速度。1133fSWMaxDecelerationLREAL软件最大减速度。1142fMaxJerkLREAL驱动器最大加加速度Jerk。1143fSWMaxJerkLREAL软件最大加加速度。1200fSWLimitPositiveLREAL正方向软件限位单位u。1201fSWLimitNegativeLREAL负方向软件限位单位u。1205bSWLimitEnableBOOL软件限位使能。1211fReferenceLREAL参考点/原点位置。AXIS_REF_SM3.perfTimersCODESYS SoftMotion 中用于性能分析与优化的内部工具。它的使用分为两步启用和访问。启用性能测量perfTimers 默认是关闭的需要在项目设置中通过编译器定义来激活。操作步骤在 CODESYS 项目中打开设备树Device Tree右键点击应用Application 节点选择 属性Properties - 编译选项Build Options - 编译器定义Compiler Defines。在列表中添加 SoftMotionPerformance。访问测量结果启用后性能数据会存储在对应轴实例的 perfTimers 结构体中你可以在程序或监视列表中查看。perfTimers 包含的变量根据 CODESYS 官方论坛信息主要包括udiAI_ns测量某些内部函数调用的执行时间单位纳秒 (ns)。udiAO_nsudiBI_nsudiBO_ns继承关系AXIS_REF_SM3 是 CODESYS SoftMotion 轴功能块的基础所有具体的轴类型都通过多层继承关系最终源于它。这个继承体系可以看作是为不同应用场景设计的“专用版本”。AXIS_REF_SM3最基础的轴接口AXIS_REF_VIRTUAL_SM3用于虚拟轴AXIS_REF_MAPPING_SM3用于逻辑映射轴AXIS_REF_ETC_BASE_SM3EtherCAT轴的基础AXIS_REF_ETC_SM3EtherCAT轴AXIS_REF_ETC_DS402_CS支持CiA 402行规的EtherCAT轴