| | |
| | | }; |
| | | |
| | | struct PositionRange { |
| | | BOOL isEnable; // 是否启用 |
| | | std::string description; // 定位点描述 |
| | | ValueRange range; // 位置的最小值、最大值和当前值 |
| | | |
| | | // 构造函数初始化 |
| | | PositionRange(const std::string& desc = "", const ValueRange& r = ValueRange()) |
| | | : description(desc), range(r) {} |
| | | PositionRange(BOOL b = TRUE, const std::string& desc = "", const ValueRange& r = ValueRange()) |
| | | :isEnable(b), description(desc), range(r) {} |
| | | }; |
| | | |
| | | // 轴信息结构体 |
| | | struct AxisInfo { |
| | | int id; // 轴ID |
| | | int positioningPointCount; // 定位点数 |
| | | //double maxPositioningSpeed; // 定位速度上限 |
| | | //double maxManualSpeed; // 手动速度上限 |
| | | std::string number; // 轴编号 |
| | | std::string description; // 轴描述 |
| | | std::string startAddress; // 起始地址 |
| | |
| | | |
| | | // 设置配方文件夹路径 |
| | | void setRecipeFolder(const std::string& folderPath); |
| | | |
| | | // 获取当前配方名称 |
| | | std::string getCurrentRecipeName() const; |
| | | |
| | | // 加载配方(文件不存在时加载默认数据) |
| | | bool loadRecipe(const std::string& recipeName); |
| | |
| | | private: |
| | | RecipeManager(); |
| | | |
| | | // 轴加载和保存函数 |
| | | bool loadAxes(pugi::xml_node axesNode); |
| | | void saveAxes(pugi::xml_node& axesNode); |
| | | |
| | | private: |
| | | std::string m_currentRecipeName; // 当前配方名称 |
| | | std::string m_recipeFolder; // 配方文件夹路径 |
| | | std::map<int, AxisInfo> m_axes; // 轴信息缓存 |
| | | }; |