菜单

变量接口(vm变量管理器函数)

下载

使用方式

无需加入任何头文件,使用vm.或者vm->即可进行联想

全部函数

有关于变量的全部函数均无需进行头文件引入等操作。

c++ 复制代码
/**
 * @brief 添加变量
 * @param name	名称(用户自定义名称,唯一)
 * @param type	设备变量类型(如:stt::DataType::D_INT)
 * @param setting 设备变量配置(如:{"c":"06","a":"0","f":"1"}   c是元件(16进制), a是地址(10进制),f是格式)
 * @return 返回指定type的设备变量
 */
virtual Ivariable add(const string& name, uint8_t type, const string& setting="") throw()=0;
/**
 * @brief 注册变量
 * @param var	变量
 * @return 变量指针
 */
virtual bool reg(Ivariable var) throw()=0;
/**
 * @brief 获取变量
 * @param name
 * @return 变量指针
 */
virtual Ivariable get(const string& name)=0;
/**
 * @brief 删除变量
 * @param name
 * @return 变量指针
 */
virtual bool remove(const string& name) = 0;
/**
 * @brief 清除所有变量
 * @return
 */
virtual bool clearAll() = 0;
/**
 * @brief 保存所有(savable)变量
 * @return
 */
virtual bool saveAll() = 0;
/**
 * @brief		获取变量float值
 * @param name	变量名称
 * @param v		赋值对象
 * @param imm	实时读取(设备变量有效)
 * @return		是否成功
 */
virtual bool getFloat(const string& name, float& v, bool immediate = false) = 0;
/**
 * @brief		获取变量int值
 * @param name	变量名称
 * @param v		赋值对象
 * @param imm	实时读取(设备变量有效)
 * @return		是否成功
 */
virtual bool getInt(const string& name, int& v, bool immediate = false) = 0;
/**
 * @brief		获取变量long值
 * @param name	变量名称
 * @param v		赋值对象
 * @param imm 	实时读取(设备变量有效)
 * @return		是否成功
 */
virtual bool getLong(const string& name, int64_t& v, bool immediate = false) = 0;
/**
 * @brief		获取变量char值
 * @param name	变量名称
 * @param v		赋值对象
 * @param imm 	实时读取(设备变量有效)
 * @return		是否成功
 */
virtual bool getChar(const string& name, string& v, bool immediate = false) = 0;
/**
 * @brief		获取配方数据值
 * @param name	变量名称
 * @param row	行索引
 * @param col	列索引
 * @param v		赋值对象
 * @return		是否成功
 */
virtual bool getTrcp(const string& name, int rowIndex, int colIndex, string& v) = 0;
/**
 * @brief		设置变量float值
 * @param name	变量名称
 * @param v		值
 * @param imm 	实时写入(设备变量有效)
 * @return		是否成功
 */
virtual bool setFloat(const string& name, float v, bool immediate = false) = 0;
/**
 * @brief		设置变量int值
 * @param name	变量名称
 * @param v		值
 * @param imm 	实时写入(设备变量有效)
 * @return		是否成功
 */
virtual bool setInt(const string& name, int v, bool immediate = false) = 0;
/**
 * @brief		设置变量long值
 * @param name	变量名称
 * @param v		值
 * @param imm 	实时写入(设备变量有效)
 * @return		是否成功
 */
virtual bool setLong(const string& name, int64_t v, bool immediate = false) = 0;
/**
 * @brief		设置变量char值
 * @param name	变量名称
 * @param v		值
 * @param imm 	实时写入(设备变量有效)
 * @return		是否成功
 */
virtual bool setChar(const string& name, const string& v, bool immediate = false) = 0;
/**
 * @brief		设置变量配方值
 * @param name	变量名称
 * @param row	行索引
 * @param col	列索引
 * @param v		值
 * @return		是否成功
 */
virtual bool setTrcp(const string& name, int rowIndex, int colIndex, const string& v) = 0;

重点介绍

变量获取/赋值

c++ 复制代码
/**
 * @brief		获取变量float值
 * @param name	变量名称
 * @param v		赋值对象
 * @param imm	实时读取(设备变量有效)
 * @return		是否成功
 */
virtual bool getFloat(const string& name, float& v, bool immediate = false) = 0;
/**
 * @brief		获取变量int值
 * @param name	变量名称
 * @param v		赋值对象
 * @param imm	实时读取(设备变量有效)
 * @return		是否成功
 */
virtual bool getInt(const string& name, int& v, bool immediate = false) = 0;
/**
 * @brief		获取变量long值
 * @param name	变量名称
 * @param v		赋值对象
 * @param imm 	实时读取(设备变量有效)
 * @return		是否成功
 */
virtual bool getLong(const string& name, int64_t& v, bool immediate = false) = 0;
/**
 * @brief		获取变量char值
 * @param name	变量名称
 * @param v		赋值对象
 * @param imm 	实时读取(设备变量有效)
 * @return		是否成功
 */
virtual bool getChar(const string& name, string& v, bool immediate = false) = 0;
/**
 * @brief		获取配方数据值
 * @param name	变量名称
 * @param row	行索引
 * @param col	列索引
 * @param v		赋值对象
 * @return		是否成功
 */
virtual bool getTrcp(const string& name, int rowIndex, int colIndex, string& v) = 0;
/**
 * @brief		设置变量float值
 * @param name	变量名称
 * @param v		值
 * @param imm 	实时写入(设备变量有效)
 * @return		是否成功
 */
virtual bool setFloat(const string& name, float v, bool immediate = false) = 0;
/**
 * @brief		设置变量int值
 * @param name	变量名称
 * @param v		值
 * @param imm 	实时写入(设备变量有效)
 * @return		是否成功
 */
virtual bool setInt(const string& name, int v, bool immediate = false) = 0;
/**
 * @brief		设置变量long值
 * @param name	变量名称
 * @param v		值
 * @param imm 	实时写入(设备变量有效)
 * @return		是否成功
 */
virtual bool setLong(const string& name, int64_t v, bool immediate = false) = 0;
/**
 * @brief		设置变量char值
 * @param name	变量名称
 * @param v		值
 * @param imm 	实时写入(设备变量有效)
 * @return		是否成功
 */
virtual bool setChar(const string& name, const string& v, bool immediate = false) = 0;
/**
 * @brief		设置变量配方值
 * @param name	变量名称
 * @param row	行索引
 * @param col	列索引
 * @param v		值
 * @return		是否成功
 */
virtual bool setTrcp(const string& name, int rowIndex, int colIndex, const string& v) = 0;

设置变量

c++ 复制代码
int a = 3;
// 设置变量_7的值
vm->setInt("变量_7",a);
int b = 0;
// 获取变量_7的值
vm->getInt("变量_7",b);

保存变量

c++ 复制代码
// 仅对普通变量有效
vm->saveAll();
最近修改: 2024-12-30Powered by