73 lines
1.6 KiB
C
73 lines
1.6 KiB
C
|
/**
|
||
|
* @file WeightBalanceMonitor.h
|
||
|
* @author jinchao
|
||
|
* @brief 质量模型主题监控类
|
||
|
* @version 1.0
|
||
|
* @date 2025-03-10
|
||
|
*
|
||
|
* @copyright Copyright (c) 2025 COMAC
|
||
|
*
|
||
|
*/
|
||
|
#pragma once
|
||
|
#include "../TopicMonitorFactory/TopicMonitor.h"
|
||
|
#include "../../XNModels/XNWeightBalance/XNWeightBalanceInterface/XNWeightBalanceInterface.hpp"
|
||
|
#include <QMap>
|
||
|
|
||
|
/**
|
||
|
* @brief 质量模型主题监控类
|
||
|
*/
|
||
|
class WeightBalanceMonitor : public TopicMonitor
|
||
|
{
|
||
|
Q_OBJECT
|
||
|
|
||
|
public:
|
||
|
/**
|
||
|
* @brief 构造函数
|
||
|
* @param parent 父对象
|
||
|
*/
|
||
|
WeightBalanceMonitor(QObject *parent = nullptr);
|
||
|
/**
|
||
|
* @brief 析构函数
|
||
|
*/
|
||
|
virtual ~WeightBalanceMonitor();
|
||
|
/**
|
||
|
* @brief 开始监控
|
||
|
* @param topicName 主题名称
|
||
|
* @return 是否成功
|
||
|
*/
|
||
|
virtual bool startMonitoring(const QString &topicName) override;
|
||
|
/**
|
||
|
* @brief 停止监控
|
||
|
* @param topicName 主题名称
|
||
|
* @return 是否成功
|
||
|
*/
|
||
|
virtual void stopMonitoring(const QString &topicName) override;
|
||
|
/**
|
||
|
* @brief 注入数据
|
||
|
* @param varName 变量名称
|
||
|
* @param value 值
|
||
|
* @return 是否成功
|
||
|
*/
|
||
|
virtual bool injectData(const QString &varName, double value) override;
|
||
|
/**
|
||
|
* @brief 获取数据
|
||
|
* @param topicName 主题名称
|
||
|
* @param varName 变量名称
|
||
|
* @return 值
|
||
|
*/
|
||
|
virtual QString getData(const QString &topicName, const QString &varName) override;
|
||
|
|
||
|
private:
|
||
|
/**
|
||
|
* @brief 输入接口
|
||
|
*/
|
||
|
XNSim::ATA04::WeightBalance_input_Interface *inputInterface;
|
||
|
/**
|
||
|
* @brief 输出接口
|
||
|
*/
|
||
|
XNSim::ATA04::WeightBalance_output_Interface *outputInterface;
|
||
|
/**
|
||
|
* @brief 心跳接口
|
||
|
*/
|
||
|
XNSim::ATA04::WeightBalance_heartbeat_Interface *heartbeatInterface;
|
||
|
};
|