feat: 实现 Axis 核心属性与 MC_Power 功能块

- Axis: 新增运动学/功率/错误管理属性(_position 等 10+ 项)
- Axis: 新增 doPower()/readState()/cycle() 接口骨架
- MC_Power: 实现功率使能功能块(边沿检测 + 状态输出)
- GlobalResource: 新增 CreateAxis/GetAxisRefById 全局轴管理
- App/CMakeLists.txt: 添加 GlobalResource.cpp 源文件
- docs: 更新 Axis 属性清单与 MC_Power 设计文档
This commit is contained in:
chen
2026-07-03 10:01:06 +00:00
parent 7f73fb48ef
commit 0587f7ac6c
13 changed files with 685 additions and 94 deletions
+28 -2
View File
@@ -59,12 +59,38 @@ public:
explicit Axis(UINT axisNo = 1, std::string name = "Axis1");
void cycle();
MC_AXIS_STATE readState();
void doPower(bool en);
/** \brief 获取轴编号 */
UINT axisNo() const { return _ref.axisNo; }
/** \brief 获取内部 AXIS_REF(供全局注册表使用) */
AXIS_REF& ref() { return _ref; }
private:
AXIS_REF ref_;
MC_AXIS_STATE state_ = MC_AXIS_STATE::Disabled;
AXIS_REF _ref;
MC_AXIS_STATE _state = MC_AXIS_STATE::Disabled;
MC_AXIS_STATE _resultingSstate = MC_AXIS_STATE::Disabled;
MotionCommand _activeCommand;
// 运动学属性
REAL _position;
REAL _actualPosition;
REAL _velocity;
REAL _actualVelocity;
REAL _acceleration;
REAL _actualAcceleration;
// 功率与使能
BOOL _powerEnabled;
BOOL _homed;
// 错误管理
MC_ERROR_ID _errorId;
BOOL _errorStop;
};
}