|
|
|
|
#ifndef __CA_MAIN_H__
|
|
|
|
|
#define __CA_MAIN_H__
|
|
|
|
|
|
|
|
|
|
#ifdef CFG_DEV_TYPE_LAND_CA
|
|
|
|
|
/* Includes ------------------------------------------------------------------*/
|
|
|
|
|
#include "cmd.h"
|
|
|
|
|
|
|
|
|
|
/* Define --------------------------------------------------------------------*/
|
|
|
|
|
typedef unsigned char U8;
|
|
|
|
|
typedef unsigned short U16;
|
|
|
|
|
typedef unsigned int U32;
|
|
|
|
|
typedef unsigned long long int U64;
|
|
|
|
|
|
|
|
|
|
typedef char I8; // 8-bit
|
|
|
|
|
typedef short I16; // 16-bit
|
|
|
|
|
typedef int I32; // 32-bit
|
|
|
|
|
typedef long long int I64; // 64-bit
|
|
|
|
|
|
|
|
|
|
typedef float F32;
|
|
|
|
|
typedef double D64;
|
|
|
|
|
typedef long double LD64;
|
|
|
|
|
|
|
|
|
|
#define CA_CHANNEL_NUM 8
|
|
|
|
|
#define MAX_CAU_CHANNEL (8)
|
|
|
|
|
#define PORT_MAX_COUNT (30) //最大端口数量
|
|
|
|
|
#define ENV_CH_COUNT (7)//环境变量设备数量
|
|
|
|
|
#define DEV_MAX_COUNT (12) //最大设备数量
|
|
|
|
|
#define STR_BUF_LEN (32) //字符串长度
|
|
|
|
|
#define CONFIG_FILE "/home/Cable/config.json"
|
|
|
|
|
#define BACK_CONFIG_FILE "/home/root/config.json"
|
|
|
|
|
|
|
|
|
|
#define PD_DAU_SUM 2
|
|
|
|
|
#define PD_DAU_PORT_SUM 8
|
|
|
|
|
#define PD_PORT_SUM 16
|
|
|
|
|
#define PD_PORT_PROMPT_LEN 64 // DAU 端口节点前标长度.
|
|
|
|
|
|
|
|
|
|
#define PD_DEV_NUM_LEN 16
|
|
|
|
|
#define PD_DEV_TYPE_LEN 8
|
|
|
|
|
|
|
|
|
|
#define PD_POWER_FRE 50
|
|
|
|
|
#define PD_PHASE_NUM 128
|
|
|
|
|
#define PD_PRPS_NUM 6400
|
|
|
|
|
#define PD_PRPS_DATA_LEN 12800
|
|
|
|
|
|
|
|
|
|
#define PD_GIS_MIN_VALUE (-800) // 特高频局放的采集数值下限 -800 (-80.0dBm).
|
|
|
|
|
|
|
|
|
|
#define DEBUG_DAU_FILE "PDMonitor_DAU"
|
|
|
|
|
|
|
|
|
|
#define HARDWARE_VERSON "GIS6.0"
|
|
|
|
|
|
|
|
|
|
#define SHIQUCHA (57600) //16*3600
|
|
|
|
|
|
|
|
|
|
#define ON 1
|
|
|
|
|
#define OFF 0
|
|
|
|
|
|
|
|
|
|
#define CSG_SERVER_ADDRESS_DEFAULT "106.13.28.133"
|
|
|
|
|
#define CSG_SERVER_PORT_DEFAULT 1883
|
|
|
|
|
#define CSG_DEVICE_ID_DEFAULT "LD40110058"
|
|
|
|
|
#define CSG_USER_NAME_DEFAULT "60E2CEEF393B45ADA76F3030B9FE5590"
|
|
|
|
|
#define CSG_PASSWORD_DEFAULT "D40110058aaaaaaaaaaa"
|
|
|
|
|
#define CSG_CLIENT_ID_DEFAULT "D73873598291bInxP"
|
|
|
|
|
#define CSG_SERVICE_ID_DEFAULT "currentData"
|
|
|
|
|
#define CSG_KEEP_LIVE_TIME_DEFAULT (120)
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
/* Exported types ------------------------------------------------------------*/
|
|
|
|
|
/* 用于命令行模式节点注册配置保存函数 */
|
|
|
|
|
typedef int pd_port_cmd_save_config_f(vty_t*, uint8_t, uint8_t);
|
|
|
|
|
|
|
|
|
|
/* 向服务器发送消息的类型. */
|
|
|
|
|
typedef enum
|
|
|
|
|
{
|
|
|
|
|
PD_SEND_TYPE_PRPS = 1,
|
|
|
|
|
PD_SEND_TYPE_TREND,
|
|
|
|
|
PD_SEND_TYPE_EVENT,
|
|
|
|
|
PD_SEND_TYPE_POINT,
|
|
|
|
|
PD_SEND_TYPE_COUNT
|
|
|
|
|
} PD_SEND_TYPE_E;
|
|
|
|
|
|
|
|
|
|
/* 端口类型. */
|
|
|
|
|
typedef enum
|
|
|
|
|
{
|
|
|
|
|
PD_PORT_TYPE_UHF = 1,
|
|
|
|
|
PD_PORT_TYPE_AE,
|
|
|
|
|
PD_PORT_TYPE_TEV,
|
|
|
|
|
PD_PORT_TYPE_HF,
|
|
|
|
|
PD_PORT_TYPE_COUNT
|
|
|
|
|
} PD_PORT_TYPE_E;
|
|
|
|
|
|
|
|
|
|
/* 设备配置的主备类型. */
|
|
|
|
|
typedef enum
|
|
|
|
|
{
|
|
|
|
|
PD_DAU_MODE_AUTO = 0,
|
|
|
|
|
PD_DAU_MODE_MASTER,
|
|
|
|
|
PD_DAU_MODE_SLAVE,
|
|
|
|
|
PD_DAU_MODE_COUNT
|
|
|
|
|
} PD_DAU_MODE_E;
|
|
|
|
|
|
|
|
|
|
/* 设备配置的滤波类型. */
|
|
|
|
|
typedef enum
|
|
|
|
|
{
|
|
|
|
|
PD_FILTER_TYPE_HF = 3,
|
|
|
|
|
PD_FILTER_TYPE_LF = 6,
|
|
|
|
|
PD_FILTER_TYPE_FR = 9,
|
|
|
|
|
PD_FILTER_TYPE_FF = 12
|
|
|
|
|
} PD_FILTER_TYPE_E;
|
|
|
|
|
|
|
|
|
|
/* 端口类型. */
|
|
|
|
|
typedef enum
|
|
|
|
|
{
|
|
|
|
|
PD_SEN_TYPE_NONE = 0,
|
|
|
|
|
PD_SEN_TYPE_SIG,
|
|
|
|
|
PD_SEN_TYPE_NOISE,
|
|
|
|
|
PD_SEN_TYPE_SIG_NOISE,
|
|
|
|
|
PD_SEN_TYPE_COUNT
|
|
|
|
|
} PD_SEN_TYPE_E;
|
|
|
|
|
|
|
|
|
|
/* 设备配置的滤波类型. */
|
|
|
|
|
typedef enum
|
|
|
|
|
{
|
|
|
|
|
PD_SYNC_PT = 1,
|
|
|
|
|
PD_SYNC_POWER = 2,
|
|
|
|
|
PD_SYNC_OUTSIDE = 4,
|
|
|
|
|
} PD_SYNC_MODE_E;
|
|
|
|
|
|
|
|
|
|
/* 设备配置的 PPS 同步模式. */
|
|
|
|
|
typedef enum
|
|
|
|
|
{
|
|
|
|
|
PD_PPS_AUTO = 0,
|
|
|
|
|
PD_PPS_MASTER,
|
|
|
|
|
PD_PPS_SLAVE,
|
|
|
|
|
} PD_PPS_MODE_E;
|
|
|
|
|
|
|
|
|
|
/* 端口节点配置优先级 */
|
|
|
|
|
typedef enum
|
|
|
|
|
{
|
|
|
|
|
PD_PORT_CMD_PRI_DAU = 0,
|
|
|
|
|
PD_PORT_CMD_PRI_COUNT
|
|
|
|
|
} PD_PORT_CMD_PRI_E;
|
|
|
|
|
|
|
|
|
|
/* 1s prps 数据结构体. */
|
|
|
|
|
typedef struct {
|
|
|
|
|
int16_t avg_o; // 通道原始信号 (降噪前) 的平均值.
|
|
|
|
|
int16_t max; // 通道的最大值.
|
|
|
|
|
int16_t avg; // 通道的平均值.
|
|
|
|
|
uint32_t cnt; // 通道的计数值.
|
|
|
|
|
int32_t phase_sum[PD_PHASE_NUM]; // 通道的周波放电相位累加值.
|
|
|
|
|
int16_t phase_max[PD_PHASE_NUM]; // 通道的周波相位最大值.
|
|
|
|
|
int16_t phase_avg[PD_PHASE_NUM]; // 通道的周波相位平均值.
|
|
|
|
|
uint16_t phase_cnt[PD_PHASE_NUM]; // 通道的周波相位计数值 .
|
|
|
|
|
int16_t data[PD_PRPS_NUM]; // 通道数据.
|
|
|
|
|
} pd_prps_data_t;
|
|
|
|
|
|
|
|
|
|
typedef struct {
|
|
|
|
|
uint32_t index; // 数据编号.
|
|
|
|
|
uint32_t utc; // UTC 时标.
|
|
|
|
|
uint32_t is_denoise; // 是否降噪的标记: 1-已经降噪 0-原始没有降噪.
|
|
|
|
|
void *reserve; // 与 GIS5.0 设备的结构体同步.
|
|
|
|
|
pd_prps_data_t data[PD_DAU_SUM][PD_DAU_PORT_SUM]; // 16 个通道的数据.
|
|
|
|
|
} pd_prps_t;
|
|
|
|
|
|
|
|
|
|
typedef struct {
|
|
|
|
|
uint16_t index; // 点位.
|
|
|
|
|
int16_t data; // 数据.
|
|
|
|
|
} pd_data_point_t;
|
|
|
|
|
|
|
|
|
|
/* 1s prps 数据结构体. */
|
|
|
|
|
typedef struct {
|
|
|
|
|
int16_t max; // 通道的最大值.
|
|
|
|
|
int16_t avg_o; // 通道原始信号 (降噪前) 的平均值.
|
|
|
|
|
int16_t avg; // 通道的平均值.
|
|
|
|
|
int16_t cnt; // 通道的计数值.
|
|
|
|
|
int32_t phase_sum[PD_PHASE_NUM]; // 通道的周波放电相位累加值.
|
|
|
|
|
int16_t phase_max[PD_PHASE_NUM]; // 通道的周波相位最大值.
|
|
|
|
|
int16_t phase_avg[PD_PHASE_NUM]; // 通道的周波相位平均值.
|
|
|
|
|
uint16_t phase_cnt[PD_PHASE_NUM]; // 通道的周波相位计数值 .
|
|
|
|
|
pd_data_point_t point[PD_PRPS_NUM]; // 通道数据.
|
|
|
|
|
uint8_t is_event; // 是否产生事件.
|
|
|
|
|
uint8_t is_timing; // 是否产生定时数据.
|
|
|
|
|
} pd_prps_data_point_t;
|
|
|
|
|
|
|
|
|
|
typedef struct {
|
|
|
|
|
uint32_t index; // 数据编号.
|
|
|
|
|
uint32_t utc; // UTC 时标.
|
|
|
|
|
pd_prps_data_point_t data[PD_DAU_SUM][PD_DAU_PORT_SUM]; // 16 个通道的数据.
|
|
|
|
|
} pd_prps_point_t;
|
|
|
|
|
|
|
|
|
|
typedef struct {
|
|
|
|
|
uint8_t vport; // 通道编号.
|
|
|
|
|
uint8_t reserved[3]; // 预留.
|
|
|
|
|
uint32_t index; // 数据编号: 0 - (2^32-1) 循环.
|
|
|
|
|
uint32_t utc; // UTC 时标.
|
|
|
|
|
int16_t max; // 通道的最大值.
|
|
|
|
|
int16_t avg_o; // 通道原始信号 (降噪前) 的平均值.
|
|
|
|
|
int16_t avg; // 通道的平均值.
|
|
|
|
|
int16_t cnt; // 通道的计数值.
|
|
|
|
|
} pd_event_t;
|
|
|
|
|
|
|
|
|
|
typedef struct {
|
|
|
|
|
int16_t max; // 通道的最大值.
|
|
|
|
|
int64_t avg; // 通道的平均值.
|
|
|
|
|
int32_t cnt; // 通道的计数值.
|
|
|
|
|
float phase; // 放电相位 .
|
|
|
|
|
float noise; // 趋势数据中的底噪值: 单位 dBm .
|
|
|
|
|
uint32_t event_cnt; // 趋势数据中的的事件数量记录.
|
|
|
|
|
int64_t phase_sum[PD_PHASE_NUM]; // 通道的周波放电相位累加值.
|
|
|
|
|
int16_t phase_max[PD_PHASE_NUM]; // 通道的周波相位最大值.
|
|
|
|
|
int16_t phase_avg[PD_PHASE_NUM]; // 通道的周波相位平均值.
|
|
|
|
|
int32_t phase_cnt[PD_PHASE_NUM]; // 通道的周波相位计数值.
|
|
|
|
|
} pd_trend_data_t;
|
|
|
|
|
|
|
|
|
|
typedef struct {
|
|
|
|
|
uint32_t index; // 数据编号: 0 - (2^32-1) 循环.
|
|
|
|
|
uint32_t utc; // UTC 时标.
|
|
|
|
|
pd_trend_data_t data[PD_DAU_SUM][PD_DAU_PORT_SUM]; // 通道 0 - 15 的计算及测量数据.
|
|
|
|
|
} pd_trend_t;
|
|
|
|
|
|
|
|
|
|
typedef struct {
|
|
|
|
|
pd_prps_t *denoise; // PRPS 数据指针.
|
|
|
|
|
pd_prps_point_t *real; // 实时数据指针.
|
|
|
|
|
pd_trend_t trend; // 趋势数据.
|
|
|
|
|
} pd_data_t;
|
|
|
|
|
|
|
|
|
|
typedef struct {
|
|
|
|
|
uint32_t type;
|
|
|
|
|
void *data;
|
|
|
|
|
} pd_csg_msg_t;
|
|
|
|
|
|
|
|
|
|
typedef struct {
|
|
|
|
|
uint8_t vport; // 通道编号.
|
|
|
|
|
uint8_t filter; // 滤波器类型 1: 低频段 2: 全频段 3: 窄频段 4: 高频段
|
|
|
|
|
uint8_t sensor_type; // 0: 无配置; 1: UHF信号传感器; 2: UHF噪声传感器 ; 3: UHF信号传感器, 关联噪声降噪.
|
|
|
|
|
uint8_t phase_sequence; // 对应相序 1A 2B 3C.
|
|
|
|
|
|
|
|
|
|
uint16_t NearSensor1_Number; //关联监测点1
|
|
|
|
|
uint16_t NearSensor1_Distance; //与监测点1距离
|
|
|
|
|
uint16_t Signal1_AttenuationRatio; //衰减 dBm/m 20200717
|
|
|
|
|
uint16_t NearSensor2_Number; //关联监测点2
|
|
|
|
|
|
|
|
|
|
uint16_t NearSensor2_Distance; //与监测点2距离
|
|
|
|
|
uint16_t Signal2_AttenuationRatio; //衰减 dBm/m 20200717
|
|
|
|
|
uint16_t NearSensor3_Number; //关联监测点3
|
|
|
|
|
uint16_t NearSensor3_Distance; //与监测点3距离
|
|
|
|
|
|
|
|
|
|
uint16_t Signal3_AttenuationRatio; //衰减 dBm/m 20200717
|
|
|
|
|
uint16_t NearSensor4_Number; //关联监测点4
|
|
|
|
|
uint16_t NearSensor4_Distance; //与监测点4距离
|
|
|
|
|
uint16_t Signal4_AttenuationRatio; //衰减 dBm/m 20200717
|
|
|
|
|
|
|
|
|
|
int16_t event_threshold; // 事件触发阀值 0.1dBm.
|
|
|
|
|
uint16_t event_counter; // 事件次数阀值.
|
|
|
|
|
int16_t env_noise; // 环境底噪, 单位: dBm 0~100 100-自动降噪.
|
|
|
|
|
int16_t noise_reduction; // 降噪水平, 单位: 0.1dBm.
|
|
|
|
|
|
|
|
|
|
int16_t UpperLimitOfDischargeAmplitude; //放电幅值上限 未使用
|
|
|
|
|
int16_t WaveTriggerThreshold; //波形触发阀值 (-32768~32768)
|
|
|
|
|
uint16_t PrescalerSampleValue; //通道采样抽点数值 未使用
|
|
|
|
|
uint16_t reserved1;
|
|
|
|
|
|
|
|
|
|
uint32_t SamplePointsTotalTriggered; //脉冲波形一次完整记录的采样点数 未使用
|
|
|
|
|
uint32_t RecordStartAdr; //波形记录:本通道的SDR/DDR的缓冲区起始地址 未使用
|
|
|
|
|
uint32_t RecordStopAdr; //波形记录:本通道的SDR/DDR的缓冲区结束地址 未使用
|
|
|
|
|
uint32_t sample_rate; //数据采样频率 Hz
|
|
|
|
|
uint32_t BeforeTriggerTime; //触发前采样时间 10ns
|
|
|
|
|
uint32_t AfterTriggerTime; //触发后采样时间 10ns
|
|
|
|
|
uint32_t storage_event; //事件存储文件数量阈值
|
|
|
|
|
uint32_t storage_wave; //波形存储文件数量阈值
|
|
|
|
|
uint8_t reserved[4]; //预留
|
|
|
|
|
}pd_port_config_old_t;
|
|
|
|
|
|
|
|
|
|
typedef struct{
|
|
|
|
|
uint8_t power_frequency; // 工频频率 未使用
|
|
|
|
|
uint8_t sync_mode; // 同步方式 1: PT 同步 2: 电源同步(默认) 4: 外接信号同步.
|
|
|
|
|
uint8_t TimingSyncMode; // 对时方式 1:网卡对时 2:GPS对时 4:外部对时 8:FPGA内部对时
|
|
|
|
|
uint8_t real_period; // 定时数据上送周期, 单位: 分钟.
|
|
|
|
|
uint8_t trend_period; // 趋势数据上送周期, 单位: 分钟.
|
|
|
|
|
uint8_t heartbeat_period; // 心跳包周期.
|
|
|
|
|
uint16_t NumberWindowsOfPhase; // 相位窗数 //未使用
|
|
|
|
|
uint32_t SyncTime; // 对时数据 //未使用
|
|
|
|
|
uint16_t AlarmPeriod; // 报警观察周期 //未使用
|
|
|
|
|
uint16_t TimePrpsStrategy; // 定时数据存储策略 0 全部存储 1 未上传存储.
|
|
|
|
|
uint32_t storage_trend; // 趋势存储文件数量阈值.
|
|
|
|
|
uint32_t StorageAlarm; // 告警存储文件数量阈值.
|
|
|
|
|
uint32_t StorageRun; // 运行状态存储文件数量阈值.
|
|
|
|
|
uint32_t storage_real; // 定时PRPS存储文件数量阈值.
|
|
|
|
|
uint32_t limit_event_time; // 事件频繁判断时间.
|
|
|
|
|
uint32_t limit_event_cnt; // 事件频繁判断个数.
|
|
|
|
|
uint32_t limit_event_interval; // 事件频繁后存储间隔.
|
|
|
|
|
uint32_t is_prps_save; // 实时PRPS存储使能.
|
|
|
|
|
uint8_t Reserved[52]; // 预留 .
|
|
|
|
|
}pd_config_old_t;
|
|
|
|
|
|
|
|
|
|
/* 局放配置. */
|
|
|
|
|
typedef struct {
|
|
|
|
|
pd_port_config_old_t config; // 为了兼容原先的协议.
|
|
|
|
|
uint8_t is_concern; // 是否被关注, 在实时波形中使用.
|
|
|
|
|
uint8_t r_noise_reduction; // 是否启动关联降噪, 在实时波形中使用.
|
|
|
|
|
uint8_t auto_noise_reduction; // 是否自动降噪, 在实时波形中使用..
|
|
|
|
|
uint8_t filter_cfg; // 端口配置的滤波类型, 在实时波形中使用.
|
|
|
|
|
uint16_t manual_noise_reduction; // 手动降噪, 单位: 0.1dBm, 在实时波形中使用.
|
|
|
|
|
uint8_t is_auto_noise; // 是否自动调整降噪等级.
|
|
|
|
|
} pd_port_config_t;
|
|
|
|
|
|
|
|
|
|
#pragma pack(1)
|
|
|
|
|
typedef struct{
|
|
|
|
|
uint32_t StartFlag1; //设备ID 0x40110304=ID=40110304
|
|
|
|
|
uint8_t FarmeType; //帧类型: 0x00 定时发送
|
|
|
|
|
uint32_t RunSecCnt; //系统运行时间 0x01020304=16909060秒
|
|
|
|
|
uint16_t Local_Vbat; //本机电池电压 0x1965= 6505/1000=6.501V
|
|
|
|
|
int16_t RoomIn_Temp; //本机温度 0x0C02=(3074/10)-273.1=34.3摄氏度
|
|
|
|
|
float RMS_Ia; //CH1:A相接地电流
|
|
|
|
|
float RMS_Ib; //CH2:B相接地电流
|
|
|
|
|
float RMS_Ic; //CH3:C相接地电流
|
|
|
|
|
float RMS_In; //CH4: [主缆电流]
|
|
|
|
|
float RMS_Ground; //CH5: [总接地电流]
|
|
|
|
|
float RMS_rIa; //CH6:A相运行电流
|
|
|
|
|
float RMS_rIb; //CH7:B相运行电流
|
|
|
|
|
float RMS_rIc; //CH8:C相运行电流
|
|
|
|
|
int16_t RoomOut_Temp; //环境温度 0x0C02=(3074/10)-273.1=34.3摄氏度
|
|
|
|
|
uint16_t I16A_Gx; //A相接头振动X轴 0x6655=(26197-16000=10197mg)
|
|
|
|
|
uint16_t I16A_Gy; //A相接头振动Y轴 0x6655=(26197-16000=10197mg)
|
|
|
|
|
uint16_t I16A_Gz; //A相接头振动Z轴 0x6655=(26197-16000=10197mg)
|
|
|
|
|
uint16_t I16A_Temp1; //A相电缆接头温度 0x0C02=(3074/10)-273.1=34.3摄氏度
|
|
|
|
|
uint16_t I16A_Temp2; //A相电缆表面温度 同上
|
|
|
|
|
uint16_t I16B_Gx; //B相接头振动X轴 0x6655=(26197-16000=10197mg)
|
|
|
|
|
uint16_t I16B_Gy; //B相接头振动Y轴 0x6655=(26197-16000=10197mg)
|
|
|
|
|
uint16_t I16B_Gz; //B相接头振动Z轴 0x6655=(26197-16000=10197mg)
|
|
|
|
|
uint16_t I16B_Temp1; //B相接头温度 0x0C02=(3074/10)-273.1=34.3摄氏度
|
|
|
|
|
uint16_t I16B_Temp2; //B相电缆表面温度 同上
|
|
|
|
|
uint16_t I16C_Gx; //C相接头振动X轴 0x6655=(26197-16000=10197mg)
|
|
|
|
|
uint16_t I16C_Gy; //C相接头振动Y轴 0x6655=(26197-16000=10197mg)
|
|
|
|
|
uint16_t I16C_Gz; //C相接头振动Z轴 0x6655=(26197-16000=10197mg)
|
|
|
|
|
uint16_t I16C_Temp1; //C相接头温度 0x0C02=(3074/10)-273.1=34.3摄氏度
|
|
|
|
|
uint16_t I16C_Temp2; //C相电缆表面温度 同上
|
|
|
|
|
uint8_t Status_AG; //A相姿态告警 0x01 告警 0x00正常 复归 故障
|
|
|
|
|
uint8_t Status_BG; //B相姿态告警 0x01 故障 0x00正常
|
|
|
|
|
uint8_t Status_CG; //C相姿态告警 0x01故障 0x00正常
|
|
|
|
|
uint8_t Status_A_OT; //A相温度超限告警 0x01故障 0x00正常
|
|
|
|
|
uint8_t Status_B_OT; //B相温度超限告警 0x01故障 0x00正常
|
|
|
|
|
uint8_t Status_C_OT; //C相温度超限告警 0x01故障 0x00正常
|
|
|
|
|
uint8_t Status_Bat; //电池电路硬件状态0x01故障 0x00正常
|
|
|
|
|
uint8_t Error_AT; //A相温度硬件状态 0x01故障 0x00正常
|
|
|
|
|
uint8_t Error_BT; //B相温度硬件状态 0x01故障 0x00正常
|
|
|
|
|
uint8_t Error_CT; //C相温度硬件状态 0x01故障 0x00正常
|
|
|
|
|
uint8_t Error_AG; //A相ADXL硬件状态 0x01故障 0x00正常
|
|
|
|
|
uint8_t Error_BG; //B相ADXL硬件状态 0x01故障 0x00正常
|
|
|
|
|
uint8_t Error_CG; //C相ADXL硬件状态 0x01故障 0x00正常
|
|
|
|
|
uint8_t Error_ROT; //环境温度硬件状态 0x01故障 0x00正常
|
|
|
|
|
uint16_t WaterLevel; //水位 0x20=32cm
|
|
|
|
|
uint16_t RoomOut_Humidity; //环境湿度 0x0321 = (801/10) = 80.1%
|
|
|
|
|
uint8_t Error_Humidity; //环境湿度硬件状态 1:告警,0:正常
|
|
|
|
|
uint32_t Gas_O2; //氧气浓度 0x000100013= (0x0013)=19 %VOL
|
|
|
|
|
uint32_t Gas_CH4; //甲烷浓度 同上
|
|
|
|
|
uint32_t Gas_H2s; //硫化氢浓度 同上
|
|
|
|
|
uint32_t Gas_CO; //一氧化碳浓度 同上
|
|
|
|
|
float RMS_Va; //A相电压
|
|
|
|
|
float RMS_Vb; //B相电压
|
|
|
|
|
float RMS_Vc; //C相电压
|
|
|
|
|
uint16_t reserve; //保留
|
|
|
|
|
uint16_t endFlag; //值:0X0D 0X0A 结束符 “/r/n”
|
|
|
|
|
}RtdPack_t;//实时数据报文 128 Byte
|
|
|
|
|
|
|
|
|
|
typedef struct{
|
|
|
|
|
uint32_t StartFlag1; // 设备ID 0x40110304=ID=40110304
|
|
|
|
|
uint8_t FarmeType; //帧类型: 0x01 告警发送
|
|
|
|
|
uint32_t RunSecCnt; //系统运行时间 0x01020304=16909060秒
|
|
|
|
|
uint8_t WaveNum; //当前的录波物理编号:最新的文件 值:[0-127]
|
|
|
|
|
uint8_t RMS_Ig_Err; //总接地电流告 0x01 告警 0x00正常
|
|
|
|
|
uint16_t RMS_Ig_Before; //总接地电流变化前 0x0533=1331/10=133.1A
|
|
|
|
|
uint16_t RMS_Ig_After; //总接地电流变化后 0x0533=1331/10=133.1A
|
|
|
|
|
uint8_t RMS_Ia_Err; //A相电流告警 0x01 告警 0x00正常
|
|
|
|
|
uint16_t RMS_Ia_Before; //A相电流变化前 0x0533=1331/10=133.1A
|
|
|
|
|
uint16_t RMS_Ia_After; //A相电流变化后 0x0533=1331/10=133.1A
|
|
|
|
|
uint8_t Sanke_a_Err; //A相振动告警 0x01 告警 0x00正常
|
|
|
|
|
uint16_t Sanke_a_x; //A相X振动值
|
|
|
|
|
uint16_t Sanke_a_y; //A相Y振动值
|
|
|
|
|
uint16_t Sanke_a_z; //A相Z振动值
|
|
|
|
|
uint8_t Temper_a_Err; //A相温度告警 0x01 告警 0x00正常
|
|
|
|
|
uint8_t Temper_a_Change; //A相温度变化值 0x02 升高了2度
|
|
|
|
|
uint16_t Temper_a_Before; //A相温度前 0x0C02=(3074/10)-273.1=34.3摄氏度
|
|
|
|
|
uint16_t Temper_a_After; //A相温度后 0x0C02=(3074/10)-273.1=34.3摄氏度
|
|
|
|
|
uint8_t RMS_Ib_Err; //B相电流告警 0x01 告警 0x00正常
|
|
|
|
|
uint16_t RMS_Ib_Before; //B相电流变化前 0x0533=1331/10=133.1A
|
|
|
|
|
uint16_t RMS_Ib_After; //B相电流变化后 0x0533=1331/10=133.1A
|
|
|
|
|
uint8_t Sanke_b_Err; //B相振动告警 0x01 告警 0x00正常
|
|
|
|
|
uint16_t Sanke_b_x; //B相X振动值
|
|
|
|
|
uint16_t Sanke_b_y; //B相Y振动值
|
|
|
|
|
uint16_t Sanke_b_z; //B相Z振动值
|
|
|
|
|
uint8_t Temper_b_Err; //B相温度告警 0x01 告警 0x00正常
|
|
|
|
|
uint8_t Temper_b_Change; //B相温度变化值 0x02 升高了2度
|
|
|
|
|
uint16_t Temper_b_Before; //B相温度前 0x0C02=(3074/10)-273.1=34.3摄氏度
|
|
|
|
|
uint16_t Temper_b_After; //B相温度后 0x0C02=(3074/10)-273.1=34.3摄氏度
|
|
|
|
|
uint8_t RMS_Ic_Err; //C相电流告警 0x01 告警 0x00正常
|
|
|
|
|
uint16_t RMS_Ic_Before; //C相电流变化前 0x0533=1331/10=133.1A
|
|
|
|
|
uint16_t RMS_Ic_After; //C相电流变化后 0x0533=1331/10=133.1A
|
|
|
|
|
uint8_t Sanke_c_Err; //C相振动告警 0x01 告警 0x00正常
|
|
|
|
|
uint16_t Sanke_c_x; //C相X振动值
|
|
|
|
|
uint16_t Sanke_c_y; //C相Y振动值
|
|
|
|
|
uint16_t Sanke_c_z; //C相Z振动值
|
|
|
|
|
uint8_t Temper_c_Err; //C相温度告警 0x01 告警 0x00正常
|
|
|
|
|
uint8_t Temper_c_Change; //C相温度变化值 0x02 升高了2度
|
|
|
|
|
uint16_t Temper_c_Before; //C相温度前 0x0C02=(3074/10)-273.1=34.3摄氏度
|
|
|
|
|
uint16_t Temper_c_After; //C相温度后 0x0C02=(3074/10)-273.1=34.3摄氏度
|
|
|
|
|
uint16_t endFlag; //值:0X0D 0X0A 结束符 “/r/n”
|
|
|
|
|
}WarringPack_t;//告警数据 71Byte
|
|
|
|
|
|
|
|
|
|
typedef struct{
|
|
|
|
|
uint32_t StatusA;//24个通道的温度数据的正确性判断 Bit24: 0 开关量正常 1开关量报警
|
|
|
|
|
int16_t TempA[24];//测温带的温度 (I16)/16【原始值】
|
|
|
|
|
uint32_t StatusB;
|
|
|
|
|
int16_t TempB[24];
|
|
|
|
|
uint32_t StatusC;
|
|
|
|
|
int16_t TempC[24];
|
|
|
|
|
}MultiTempPack_t;//测温带数据 156 Byte
|
|
|
|
|
|
|
|
|
|
typedef struct{
|
|
|
|
|
uint32_t proVer;//协议版本号 0x00000363
|
|
|
|
|
uint32_t utc;
|
|
|
|
|
RtdPack_t rtd;//
|
|
|
|
|
uint32_t reslved1;//调试工具 用来存历史数据条数
|
|
|
|
|
WarringPack_t war;
|
|
|
|
|
uint8_t reslved2;
|
|
|
|
|
MultiTempPack_t mul;
|
|
|
|
|
uint32_t reslved3;
|
|
|
|
|
uint32_t powertatus;
|
|
|
|
|
uint32_t vbat;
|
|
|
|
|
uint32_t vout;
|
|
|
|
|
uint32_t batteryStatus;
|
|
|
|
|
float Gpslatitude;
|
|
|
|
|
float Gpslongitude;
|
|
|
|
|
uint8_t PowerFail[8];//电源故障 485
|
|
|
|
|
uint32_t vsc;
|
|
|
|
|
uint8_t reslved4[104];
|
|
|
|
|
}debug_pkt_realdata_t; //512Byte
|
|
|
|
|
#pragma pack()
|
|
|
|
|
|
|
|
|
|
typedef struct{
|
|
|
|
|
uint8_t dev_num[PD_DEV_NUM_LEN]; // 设备编号.
|
|
|
|
|
uint8_t dev_type[PD_DEV_TYPE_LEN]; // 设备型号.
|
|
|
|
|
uint32_t factory_date; // 出厂日期.
|
|
|
|
|
uint32_t deployment_date; // 部署日期.
|
|
|
|
|
uint32_t ipv4; // 本机 IP.
|
|
|
|
|
uint8_t ipv6[16]; // 预留 IPV6 , 未使用.
|
|
|
|
|
uint8_t mac[MAC_ADDR_LEN]; // MAC地址.
|
|
|
|
|
uint8_t LocalIP2[4]; // 本机 IP, 未使用.
|
|
|
|
|
uint8_t LocalIP2_V6[16]; // 预留 IPV6 , 未使用.
|
|
|
|
|
uint8_t LocalMacAddress2[6]; // MAC 地址, 未使用.
|
|
|
|
|
uint32_t server_ipv4; // 服务器 IP.
|
|
|
|
|
uint8_t server_ipv6[16]; // 预留 IPV6, 未使用.
|
|
|
|
|
uint8_t ServerIP2[4]; // 服务器 IP, 未使用.
|
|
|
|
|
uint8_t ServerIP2_V6[16]; // 预留 IPV6 , 未使用.
|
|
|
|
|
uint16_t server_port; // 服务器端口号.
|
|
|
|
|
uint16_t ServerIP2_Port; // 服务器端口号, 未使用.
|
|
|
|
|
uint8_t port_type[PD_PORT_SUM]; // 采集通道类型 , 1 表示特高频局放 2 表示超声局放 3 表示 TEV 4 表示高频.
|
|
|
|
|
uint8_t Reserved[12]; // 预留.
|
|
|
|
|
uint32_t runTime; // 运行时间, 未使用.
|
|
|
|
|
uint32_t devVoltage; // 设备电压, 未使用.
|
|
|
|
|
uint32_t devTemperature; // 设备温度, 未使用.
|
|
|
|
|
uint32_t devSleepTime; // 设备休眠时长, 未使用.
|
|
|
|
|
uint32_t devPasswd; // 设备密码, 未使用.
|
|
|
|
|
uint8_t batteryVoltage; // 电池电压, 未使用.
|
|
|
|
|
uint8_t linkStatus; // 通讯状态, 未使用.
|
|
|
|
|
}pd_factory_old_t;
|
|
|
|
|
|
|
|
|
|
typedef struct {
|
|
|
|
|
pd_factory_old_t factory;
|
|
|
|
|
pd_config_old_t config;
|
|
|
|
|
pd_port_config_t port_config[PD_DAU_SUM][PD_DAU_PORT_SUM]; // 端口配置.
|
|
|
|
|
uint32_t concern_bitmap;
|
|
|
|
|
uint8_t pps_mode;
|
|
|
|
|
} pd_config_t;
|
|
|
|
|
|
|
|
|
|
typedef struct
|
|
|
|
|
{
|
|
|
|
|
uint8_t state;
|
|
|
|
|
uint8_t sync;
|
|
|
|
|
} pd_state_t;
|
|
|
|
|
|
|
|
|
|
typedef struct
|
|
|
|
|
{
|
|
|
|
|
uint32_t devType;//温度振动类型 1 温度振动 2 测温带 3 振动
|
|
|
|
|
I32 TempLimit;
|
|
|
|
|
I32 ShakeLimit;
|
|
|
|
|
}TempSnakeCfg_t;
|
|
|
|
|
|
|
|
|
|
typedef struct
|
|
|
|
|
{
|
|
|
|
|
uint32_t enable;
|
|
|
|
|
uint32_t RS485Ch;//485通道1~6
|
|
|
|
|
uint32_t di;//关联DI序号 1,2
|
|
|
|
|
uint32_t trigger;//触发方式 1常开触发 0 闭合触发
|
|
|
|
|
uint32_t delay;//延时 单位s 0~100
|
|
|
|
|
uint32_t size;//照片大小 1:(160*128) 2:(320*240) 3:(640*480)
|
|
|
|
|
}CameraCfg_t;//摄像头相关配置
|
|
|
|
|
|
|
|
|
|
typedef struct{
|
|
|
|
|
U8 RestartTime[3];
|
|
|
|
|
U8 HeartbearTimes;
|
|
|
|
|
U16 SamplingTimes;
|
|
|
|
|
U16 SleepTime;
|
|
|
|
|
U16 OnlineTime;
|
|
|
|
|
U8 Passwd[4];
|
|
|
|
|
U8 Ciphertext[4];
|
|
|
|
|
U8 DevID[6];
|
|
|
|
|
U8 ContactTimes;
|
|
|
|
|
U8 TimingTimes;
|
|
|
|
|
U8 ServerCardNum[6];
|
|
|
|
|
U16 ProtocolVersion;
|
|
|
|
|
}CSGCfg_t; //南网协议配置报文结构体 4+1+2+2+2+3+4+6+1+1+6+2 = 34
|
|
|
|
|
|
|
|
|
|
typedef struct
|
|
|
|
|
{
|
|
|
|
|
unsigned char client_id[64];
|
|
|
|
|
unsigned char server_addr[64];
|
|
|
|
|
unsigned int server_port;
|
|
|
|
|
unsigned char device_id[32];
|
|
|
|
|
unsigned char password[64];
|
|
|
|
|
unsigned char user_name[96];
|
|
|
|
|
unsigned int keep_live_time;
|
|
|
|
|
} mqtt_param_t;
|
|
|
|
|
|
|
|
|
|
typedef struct
|
|
|
|
|
{
|
|
|
|
|
char equipmentId[64]; //设备标识,SN码
|
|
|
|
|
char equipmentName[128]; //设备名称
|
|
|
|
|
int deviceType; //监测类型 12代表护层环流
|
|
|
|
|
char manufacture[128]; //生产厂家
|
|
|
|
|
char equipmentType[64]; //设备型号
|
|
|
|
|
char manufNo[64]; //出厂编号
|
|
|
|
|
char manufDate[20]; //出厂年月
|
|
|
|
|
int communicationMode; //通讯方式 0: 有线 1:无线
|
|
|
|
|
int communicationProtocol; //通讯协议 0:输电南网规约 1:mqtt 2: http/https
|
|
|
|
|
int Positioning; //定位系统 0:GPS 1:北斗
|
|
|
|
|
}BasePropertues_t;
|
|
|
|
|
|
|
|
|
|
typedef struct
|
|
|
|
|
{
|
|
|
|
|
char MasterIP[64]; //服务器域名IP
|
|
|
|
|
int MasterPort; //服务器端口
|
|
|
|
|
char clientId[64]; //客户端ID
|
|
|
|
|
char UserName[128]; //连接用户名
|
|
|
|
|
char Password[128]; //连接密码
|
|
|
|
|
char DeviceId[64]; //设备ID
|
|
|
|
|
int MQTTVer; //物模型版本
|
|
|
|
|
int HeartbeatInterval; //心跳间隔,分钟/次
|
|
|
|
|
char NcommMode[32]; //北向通讯方式 有线/无线
|
|
|
|
|
char NcommProtocol[32]; //北向通讯协议 0:MQTT 1:COAP
|
|
|
|
|
int PowerMode; //取电模式 0:太阳能板 1:CT
|
|
|
|
|
char DeviceVoltage[32]; //设备工作电压 DC12/DC24/AC220
|
|
|
|
|
int DevicePower; //设备功率
|
|
|
|
|
}technicalParam_t;
|
|
|
|
|
|
|
|
|
|
typedef struct
|
|
|
|
|
{
|
|
|
|
|
char Password[16];
|
|
|
|
|
int timingType; //对时类型 0:手动校时 1:平台自动校时 2:运营商校时
|
|
|
|
|
int heartbeatInterval; //心跳间隔 分钟
|
|
|
|
|
int sampleInterval; //采集间隔 分钟
|
|
|
|
|
int sleepDuration; //休眠时长 分钟
|
|
|
|
|
int onlineInterval; //在线时长 分钟
|
|
|
|
|
int day; //硬件重启时间点 日 0-28,为0代表每天都重启
|
|
|
|
|
int hour; //月 00-23
|
|
|
|
|
int minute; //分钟 00-59
|
|
|
|
|
char ipAddr[64]; //平台IP
|
|
|
|
|
int port; //平台端口
|
|
|
|
|
char httpIP[128]; //http的ip
|
|
|
|
|
int httpPort; //http的端口
|
|
|
|
|
int PwrMode; //设备当前供电模式
|
|
|
|
|
int batteryNumber; //电池编号
|
|
|
|
|
}demandServices_t;
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
typedef struct
|
|
|
|
|
{
|
|
|
|
|
/* BaseProperties */
|
|
|
|
|
BasePropertues_t BaseParam; //基础信息
|
|
|
|
|
/* technicalproperties */
|
|
|
|
|
technicalParam_t technicalParam; //技术参数
|
|
|
|
|
/* demandServices */
|
|
|
|
|
demandServices_t demandParam; //服务参数
|
|
|
|
|
}csgMQTTCfg_t; //南网MQTT协议配置结构体
|
|
|
|
|
|
|
|
|
|
typedef struct{
|
|
|
|
|
U8 obj_type[STR_BUF_LEN];
|
|
|
|
|
U8 delay[STR_BUF_LEN];
|
|
|
|
|
U8 port_name[STR_BUF_LEN*2];
|
|
|
|
|
U8 pool_time;
|
|
|
|
|
}PortCfg_t;
|
|
|
|
|
|
|
|
|
|
typedef struct
|
|
|
|
|
{
|
|
|
|
|
U32 enable;
|
|
|
|
|
U32 RS485Ch;
|
|
|
|
|
U32 Addr;
|
|
|
|
|
}EnvDevCfg_t;//环境传感器配置
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
typedef struct
|
|
|
|
|
{
|
|
|
|
|
uint8_t DeviceNum[16]; //设备编号
|
|
|
|
|
uint8_t LocalIP1[4]; //本机IP
|
|
|
|
|
uint8_t LocalIP1_V6[16]; //预留IPV6 //未使用
|
|
|
|
|
uint32_t CommunicationMode;//协议类型 1:朗德 2:南网 3 MQTT协议 4:智能接地箱 5: 南网MQTT送检
|
|
|
|
|
uint8_t ServerIP1[4]; //服务器IP1
|
|
|
|
|
uint8_t ServerIP2[4]; //服务器IP2 //未使用
|
|
|
|
|
uint32_t ServerIP1_Port; //服务器IP1端口号
|
|
|
|
|
uint32_t ServerIP2_Port; //服务器IP2端口号 //未使用
|
|
|
|
|
uint32_t radioType;//无线类型 ,0:有线网络, 1: 移远4G ,2: simcom4G, 3: simcom5G
|
|
|
|
|
uint8_t apn[16];
|
|
|
|
|
uint32_t uploadSpace;//上送间隔 实时数据主动上送间隔 单位s 默认300
|
|
|
|
|
uint32_t EnGPS;//北斗模块使能,1 开启,0关闭
|
|
|
|
|
uint32_t vBatChangeStart;//大于此值开始充电,默认3200mV
|
|
|
|
|
uint32_t vBatChangeEnd;//大于此值结束充电,默认4200mV
|
|
|
|
|
uint32_t vscValue;//超级电容临界值,默认4500 mV,大于等于此值进入正常模式,小于此值进入节能模式
|
|
|
|
|
uint8_t Switch[8]; //八路开关量
|
|
|
|
|
uint8_t reserved[920];//最后多余的空间用来存软件版本号与编译日期(如果此结构体需要扩展,版本号依然放在最后)
|
|
|
|
|
}GateWay_t;//系统配置 1024B
|
|
|
|
|
|
|
|
|
|
typedef struct
|
|
|
|
|
{
|
|
|
|
|
uint32_t enable;
|
|
|
|
|
uint32_t space;//采集间隔
|
|
|
|
|
uint32_t level;//优先级
|
|
|
|
|
uint8_t devName[STR_BUF_LEN];
|
|
|
|
|
uint8_t comProtocol[STR_BUF_LEN];
|
|
|
|
|
uint8_t portName[256];
|
|
|
|
|
}DevCfg_t;
|
|
|
|
|
|
|
|
|
|
typedef struct
|
|
|
|
|
{
|
|
|
|
|
uint32_t hfEn;//高频录播使能 1开启 0 关闭 和CAU3二选一
|
|
|
|
|
uint32_t hfLeven;//优先级 (1,2)
|
|
|
|
|
uint8_t hfReslved[40];//
|
|
|
|
|
uint32_t cau1En;//
|
|
|
|
|
uint32_t cau1level;
|
|
|
|
|
uint32_t cau1Space;
|
|
|
|
|
uint32_t cau1Ch1;
|
|
|
|
|
uint32_t cau1Ch2;
|
|
|
|
|
uint32_t cau1Ch3;
|
|
|
|
|
uint32_t cau1Ch4;
|
|
|
|
|
uint32_t cau1Ch5;
|
|
|
|
|
uint32_t cau1Ch6;
|
|
|
|
|
uint32_t cau1Ch7;
|
|
|
|
|
uint32_t cau1Ch8;
|
|
|
|
|
uint8_t cau1Reslved[40];//
|
|
|
|
|
uint32_t cau2En;//
|
|
|
|
|
uint32_t cau2level;
|
|
|
|
|
uint32_t cau2Space;
|
|
|
|
|
uint32_t cau2Ch1;
|
|
|
|
|
uint32_t cau2Ch2;
|
|
|
|
|
uint32_t cau2Ch3;
|
|
|
|
|
uint32_t cau2Ch4;
|
|
|
|
|
uint32_t cau2Ch5;
|
|
|
|
|
uint32_t cau2Ch6;
|
|
|
|
|
uint32_t cau2Ch7;
|
|
|
|
|
uint32_t cau2Ch8;
|
|
|
|
|
uint8_t cau2Reslved[40];//
|
|
|
|
|
uint32_t cau3En;//
|
|
|
|
|
uint32_t cau3level;
|
|
|
|
|
uint32_t cau3Space;
|
|
|
|
|
uint32_t cau3Ch1;
|
|
|
|
|
uint32_t cau3Ch2;
|
|
|
|
|
uint32_t cau3Ch3;
|
|
|
|
|
uint32_t cau3Ch4;
|
|
|
|
|
uint32_t cau3Ch5;
|
|
|
|
|
uint32_t cau3Ch6;
|
|
|
|
|
uint32_t cau3Ch7;
|
|
|
|
|
uint32_t cau3Ch8;
|
|
|
|
|
uint8_t cau3Reslved[40];//
|
|
|
|
|
uint32_t tempsnakeEn;
|
|
|
|
|
uint32_t tempsnakelevel;
|
|
|
|
|
uint32_t tempsnakeSpace;
|
|
|
|
|
uint32_t tempsnakeType;
|
|
|
|
|
uint32_t tempLimit;
|
|
|
|
|
uint32_t snakeLimit;
|
|
|
|
|
uint8_t tempSnakeReslved[40];//
|
|
|
|
|
uint32_t enDevLevel;
|
|
|
|
|
uint32_t enDevSpace;
|
|
|
|
|
uint32_t thEn;//温湿度使能 1开启 0 关闭
|
|
|
|
|
uint32_t thRs485Ch;//485通道1~6
|
|
|
|
|
uint32_t thAddr;//设备地址1~256
|
|
|
|
|
uint8_t thReslved[8];//预留
|
|
|
|
|
uint32_t waterEn;
|
|
|
|
|
uint32_t waterRs485Ch;
|
|
|
|
|
uint32_t waterAddr;
|
|
|
|
|
uint8_t waterReslved[8];//
|
|
|
|
|
uint32_t o2En;
|
|
|
|
|
uint32_t o2Rs485Ch;
|
|
|
|
|
uint32_t o2Addr;
|
|
|
|
|
uint8_t o2Reslved[8];//
|
|
|
|
|
uint32_t ch4En;
|
|
|
|
|
uint32_t ch4Rs485Ch;
|
|
|
|
|
uint32_t ch4Addr;
|
|
|
|
|
uint8_t ch4Reslved[8];//
|
|
|
|
|
uint32_t h2sEn;
|
|
|
|
|
uint32_t h2sRs485Ch;
|
|
|
|
|
uint32_t h2sAddr;
|
|
|
|
|
uint8_t h2sReslved[8];//
|
|
|
|
|
uint32_t co2En;
|
|
|
|
|
uint32_t co2Rs485Ch;
|
|
|
|
|
uint32_t co2Addr;
|
|
|
|
|
uint8_t co2Reslved[8];//
|
|
|
|
|
uint32_t cameraEn;//摄像头相关配置
|
|
|
|
|
uint32_t camera485Ch;
|
|
|
|
|
uint32_t cameraDi;
|
|
|
|
|
uint32_t cameraTriger;
|
|
|
|
|
uint32_t cameraDelay;
|
|
|
|
|
uint32_t cameraSize;
|
|
|
|
|
uint8_t cameraReslved[40];//
|
|
|
|
|
uint8_t otherReslved[468];//
|
|
|
|
|
}LandDevCfg_t;//朗德设备配置报文结构体
|
|
|
|
|
|
|
|
|
|
typedef struct
|
|
|
|
|
{
|
|
|
|
|
float Range;//量程
|
|
|
|
|
float Ratio;//变比
|
|
|
|
|
float ZeroPoint;//零点
|
|
|
|
|
float ChangeThreshold;//突变阈值
|
|
|
|
|
float HighLimit;
|
|
|
|
|
float LowLimit;
|
|
|
|
|
uint32_t reslved[2];
|
|
|
|
|
}CAUInitHexCfg_t;//朗德协议字节码
|
|
|
|
|
|
|
|
|
|
typedef struct
|
|
|
|
|
{
|
|
|
|
|
float Range; //量程
|
|
|
|
|
float Ratio; //变比
|
|
|
|
|
float ZeroPoint; //零点
|
|
|
|
|
float ChangeThreshold; //突变阈值
|
|
|
|
|
float HighLimit;
|
|
|
|
|
float LowLimit;
|
|
|
|
|
U32 chSwitch;//通道选择
|
|
|
|
|
}cau_param_t;
|
|
|
|
|
|
|
|
|
|
typedef struct
|
|
|
|
|
{
|
|
|
|
|
U32 portSize;
|
|
|
|
|
U32 devSize;
|
|
|
|
|
GateWay_t gateway;
|
|
|
|
|
TempSnakeCfg_t tempSnakeCfg;
|
|
|
|
|
CameraCfg_t cameraCfg;
|
|
|
|
|
CSGCfg_t csgcfg;
|
|
|
|
|
//HWMQTTCfg_t mqttCfg;
|
|
|
|
|
mqtt_param_t mqttCfg;
|
|
|
|
|
csgMQTTCfg_t csgMQTTCfg; //南网MQTT 2023
|
|
|
|
|
PortCfg_t ports[PORT_MAX_COUNT];
|
|
|
|
|
DevCfg_t devs[DEV_MAX_COUNT];
|
|
|
|
|
cau_param_t cauParam[MAX_CAU_CHANNEL*3];
|
|
|
|
|
EnvDevCfg_t envDevCfg[ENV_CH_COUNT];
|
|
|
|
|
LandDevCfg_t landHexCfg;
|
|
|
|
|
} ca_param_config_t;
|
|
|
|
|
|
|
|
|
|
typedef struct{
|
|
|
|
|
float param[15];//分段点1~5 + 校准系数a1 b1 a2 b2 a3 b3 a4 b4 a5 b5
|
|
|
|
|
float span;//量程
|
|
|
|
|
float ratio;//变比
|
|
|
|
|
}Parameter_t;//系数
|
|
|
|
|
|
|
|
|
|
typedef struct{
|
|
|
|
|
U32 inAdjust;// 0 运行 1 校准 2获取参数 3 初始化系数为1
|
|
|
|
|
U32 isLink;
|
|
|
|
|
U32 cauBoard;// CAU1:1 CAU2:2 CAU3:3
|
|
|
|
|
U32 err;// 1 未知板卡 2 CAU启动异常 3:CAU参数固化错误
|
|
|
|
|
U32 chClose[8];
|
|
|
|
|
U32 isVoltage;//电压校准
|
|
|
|
|
Parameter_t chOld[8];
|
|
|
|
|
Parameter_t chNew[8];
|
|
|
|
|
float sample[5];//校准采样值
|
|
|
|
|
float turns; //砸数 ?????????? int or float
|
|
|
|
|
}Parameters_t;//所有通道的校准系数
|
|
|
|
|
|
|
|
|
|
typedef struct
|
|
|
|
|
{
|
|
|
|
|
time_t start_time;
|
|
|
|
|
unsigned int dev_hex_id;
|
|
|
|
|
} sys_ctrl_t;
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
/* Exported macro ------------------------------------------------------------*/
|
|
|
|
|
|
|
|
|
|
/* Extern global variables ---------------------------------------------------*/
|
|
|
|
|
extern pd_data_t pd_data;
|
|
|
|
|
extern pd_config_t pd_config;
|
|
|
|
|
extern pd_state_t pd_state;
|
|
|
|
|
extern cmd_node_t pd_port_node;
|
|
|
|
|
extern ca_param_config_t *pparam_config;
|
|
|
|
|
extern sys_ctrl_t sysctrl;
|
|
|
|
|
|
|
|
|
|
/* Extern functions ----------------------------------------------------------*/
|
|
|
|
|
extern int32_t pd_main(void);
|
|
|
|
|
extern int32_t pd_port_cmd_config_register(int32_t pri, pd_port_cmd_save_config_f *func);
|
|
|
|
|
extern void pd_sync_mode_set(void);
|
|
|
|
|
extern void pd_sync_state_get(void);
|
|
|
|
|
extern void pd_pps_mode_set(void);
|
|
|
|
|
extern void pd_wdg_clr(void);
|
|
|
|
|
extern void pd_prps_show(void);
|
|
|
|
|
extern void pd_show(void);
|
|
|
|
|
#endif
|
|
|
|
|
#endif
|