add function

This commit is contained in:
lnk
2025-09-04 20:59:17 +08:00
parent 722512fad6
commit 869189d18e
85 changed files with 1209 additions and 15 deletions

29
LFtid1056/boot/feservice Normal file
View File

@@ -0,0 +1,29 @@
#!/bin/bash
export CLOUD_PATH=/home/pq/zwproject/LFtid1056
if [ -z "$CLOUD_PATH" ]; then
echo "Error: CLOUD_PATH is not set. Please set it first."
exit 1
fi
case "$1" in
'start')
$CLOUD_PATH/boot/start_fe.sh
;;
'stop')
$CLOUD_PATH/boot/stop_fe.sh
;;
'restart')
$CLOUD_PATH/boot/stop_fe.sh
$CLOUD_PATH/boot/start_fe.sh
;;
*)
echo "Usage: feservice start|stop|restart"
exit 1
;;
esac

62
LFtid1056/boot/ps_fe.sh Normal file
View File

@@ -0,0 +1,62 @@
#!/bin/bash
# ========= 0. 获取脚本所在路径的上一层,设置为 FEP_ENV =========
SCRIPT_DIR="$(cd "$(dirname "$0")" && pwd)"
FEP_ENV="$(dirname "$SCRIPT_DIR")"
export FEP_ENV
# ========= 1. 初始化软连接 =========
TEMP_LINK_CREATED=0
if [ ! -L "/FeProject" ]; then
if [ ! -e "/FeProject" ]; then
sudo ln -s "$FEP_ENV" /FeProject
TEMP_LINK_CREATED=1
echo "Temporary symlink /FeProject created."
else
echo "/FeProject exists but is not a symlink. Please check manually."
fi
fi
if [ -z "$FEP_ENV" ]; then
echo "Error: FEP_ENV is not set. Please set it first."
exit 1
fi
RUNTIME_CF_FILE="$FEP_ENV/etc/runtime.cf"
while read LINE ; do
if [ -n "$LINE" ] ; then
if [ ${LINE:0:1} != "#" ]; then
BINPATH=`echo $LINE | awk -F '^' '{printf $1}'`
BINPATH=`echo "$BINPATH" | grep -o "[^ ]\+\( \+[^ ]\+\)*"`
# echo $BINPATH
BIN=`echo $LINE | awk -F '^' '{printf $2}'`
BIN=`echo "$BIN" | grep -o "[^ ]\+\( \+[^ ]\+\)*"`
# echo $BIN
SPECIAL=`echo $LINE | awk -F '^' '{printf $4}'`
SPECIAL=`echo "$SPECIAL" | grep -o "[^ ]\+\( \+[^ ]\+\)*"`
# echo $SPECIAL
SLEEPSEC=`echo $LINE | awk -F '^' '{printf $5}'`
SLEEPSEC=`echo "$SLEEPSEC" | grep -o "[^ ]\+\( \+[^ ]\+\)*"`
# echo $SLEEPSEC
STARTFLAG=`echo $LINE | awk -F '^' '{printf $7}'`
STARTFLAG=`echo "$STARTFLAG" | grep -o "[^ ]\+\( \+[^ ]\+\)*"`
# echo $STARTFLAG
# if [ "`echo $STARTFLAG`" != "IGNORE_START" ]; then
CMD_STR=" ps -w | grep `echo "'"``echo $BIN``echo "'"` | grep -v 'grep'"
BIN2=`echo $BIN`
ps -ef | grep "$BIN2" | grep -v 'grep'
# fi
fi
fi
done < $RUNTIME_CF_FILE
# ========= 4. 清理软链接(仅在本次脚本中创建) =========
if [ "$TEMP_LINK_CREATED" -eq 1 ]; then
if [ -L "/FeProject" ]; then
sudo rm -f /FeProject
echo "Temporary symlink /FeProject removed."
fi
fi

View File

@@ -0,0 +1,97 @@
#!/bin/bash
# ========= 0. <20><>ȡ<EFBFBD>ű<EFBFBD><C5B1><EFBFBD><EFBFBD><EFBFBD>·<EFBFBD><C2B7><EFBFBD><EFBFBD><EFBFBD><EFBFBD>һ<EFBFBD><EFBFBD><E3A3AC><EFBFBD><EFBFBD>Ϊ FEP_ENV =========
SCRIPT_DIR="$(cd "$(dirname "$0")" && pwd)"
FEP_ENV="$(dirname "$SCRIPT_DIR")"
export FEP_ENV
# ========= 1. <20><>ʼ<EFBFBD><CABC><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> =========
TEMP_LINK_CREATED=0
if [ ! -L "/FeProject" ]; then
if [ ! -e "/FeProject" ]; then
sudo ln -s "$FEP_ENV" /FeProject
TEMP_LINK_CREATED=1
echo "Temporary symlink /FeProject created."
else
echo "/FeProject exists but is not a symlink. Please check manually."
fi
fi
if [ -z "$FEP_ENV" ]; then
echo "Error: FEP_ENV is not set. Please set it first."
exit 1
fi
# ========= 2. <20><>־<EFBFBD><D6BE>ת<EFBFBD><D7AA><EFBFBD><EFBFBD> =========
check_log_file() {
if [ -n "$1" ]; then
FILE_SIZE=$(du "$1" | awk '{print $1}')
if [ "$FILE_SIZE" -ge 5120 ]; then
[ -f "$1.3" ] && rm -f "$1.3"
[ -f "$1.2" ] && mv "$1.2" "$1.3"
[ -f "$1.1" ] && mv "$1.1" "$1.2"
mv "$1" "$1.1"
fi
fi
}
LOGFILE="$FEP_ENV/dat/log/start_fe.log"
check_log_file "$LOGFILE"
echo "" ; echo ""
echo "******* $(date "+%F %R:%S") Start Processes *******"
echo "" >>"$LOGFILE"
echo "" >>"$LOGFILE"
echo "******* $(date "+%F %R:%S") Start Processes *******" >>"$LOGFILE"
# ========= 3. <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> =========
RUNTIME_CF_FILE="$FEP_ENV/etc/runtime.cf"
echo "Using config file name: $RUNTIME_CF_FILE"
echo "Using config file name: $RUNTIME_CF_FILE" >>"$LOGFILE"
cd "$FEP_ENV/boot" || exit 1
CURDIR=$(pwd)
while read -r LINE; do
if [ -n "$LINE" ] && [[ ${LINE:0:1} != "#" ]]; then
BINPATH=$(echo "$LINE" | awk -F '^' '{print $1}' | grep -o "[^ ]\+\( \+[^ ]\+\)*")
echo "$BINPATH"
BIN=$(echo "$LINE" | awk -F '^' '{print $2}' | grep -o "[^ ]\+\( \+[^ ]\+\)*")
echo "$BIN"
SPECIAL=$(echo "$LINE" | awk -F '^' '{print $4}' | grep -o "[^ ]\+\( \+[^ ]\+\)*")
echo "$SPECIAL"
SLEEPSEC=$(echo "$LINE" | awk -F '^' '{print $5}' | grep -o "[^ ]\+\( \+[^ ]\+\)*")
echo "$SLEEPSEC"
STARTFLAG=$(echo "$LINE" | awk -F '^' '{print $7}' | grep -o "[^ ]\+\( \+[^ ]\+\)*")
echo "$STARTFLAG"
RESTARTFLAG=$(echo "$LINE" | awk -F '^' '{print $6}' | grep -o "[^ ]\+\( \+[^ ]\+\)*")
echo "$RESTARTFLAG"
if [ "$RESTARTFLAG" = "IGNORE_RESTART" ]; then
CMD_STR="sleep $SLEEPSEC"
echo "$CMD_STR"
echo "$CMD_STR" >>"$LOGFILE"
eval "$CMD_STR"
CMD_STR="$BINPATH$BIN $SPECIAL"
echo "$CMD_STR"
echo "$CMD_STR" >>"$LOGFILE"
eval "$CMD_STR" &>/dev/null
fi
fi
done < "$RUNTIME_CF_FILE"
cd "$CURDIR"
DT=$(date "+%F %R:%S.%N")
echo "******* ${DT:0:23} Start Processes Succcessfully *******"
echo "******* ${DT:0:23} Start Processes Succcessfully *******" >>"$LOGFILE"
# ========= 4. <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ӣ<EFBFBD><D3A3><EFBFBD><EFBFBD>ڱ<EFBFBD><DAB1>νű<CEBD><C5B1>д<EFBFBD><D0B4><EFBFBD><EFBFBD><EFBFBD> =========
if [ "$TEMP_LINK_CREATED" -eq 1 ]; then
if [ -L "/FeProject" ]; then
sudo rm -f /FeProject
echo "Temporary symlink /FeProject removed."
fi
fi

129
LFtid1056/boot/stop_fe.sh Normal file
View File

@@ -0,0 +1,129 @@
#!/bin/bash
# ========= 0. 获取脚本所在路径的上一层,设置为 FEP_ENV =========
SCRIPT_DIR="$(cd "$(dirname "$0")" && pwd)"
FEP_ENV="$(dirname "$SCRIPT_DIR")"
export FEP_ENV
# ========= 1. 初始化软连接 =========
TEMP_LINK_CREATED=0
if [ ! -L "/FeProject" ]; then
if [ ! -e "/FeProject" ]; then
sudo ln -s "$FEP_ENV" /FeProject
TEMP_LINK_CREATED=1
echo "Temporary symlink /FeProject created."
else
echo "/FeProject exists but is not a symlink. Please check manually."
fi
fi
if [ -z "$FEP_ENV" ]; then
echo "Error: FEP_ENV is not set. Please set it first."
exit 1
fi
check_log_file()
{
if [ -n "$1" ] ; then
FILE_SIZE=0
FILE_SIZE=`du $1 | awk '{print $1}'`
if [ $FILE_SIZE -ge 5120 ]
then
if [ -f "$1".3 ]; then
rm -f "$1".3
fi
if [ -f "$1".2 ]; then
mv "$1".2 "$1".3
fi
if [ -f "$1".1 ]; then
mv "$1".1 "$1".2
fi
mv "$1" "$1".1
fi
fi
}
LOGFILE="$FEP_ENV/dat/log/start_fe.log"
check_log_file $LOGFILE
echo "" ; echo ""
echo "****** `date "+%F %R:%S"` Stop Processes ******"
echo "" >>"$LOGFILE"
echo "" >>"$LOGFILE"
echo "****** `date "+%F %R:%S"` Stop Processes ******" >>"$LOGFILE"
RUNTIME_CF_FILE="$FEP_ENV/etc/runtime.cf"
#cat $RUNTIME_CF_FILE |tac > /tmp/runtime.cf
sed '1!G;h;$!d' $RUNTIME_CF_FILE > /tmp/runtime.cf
echo "Using config file name: $RUNTIME_CF_FILE"
echo "Using config file name: $RUNTIME_CF_FILE">>"$LOGFILE"
while read LINE ; do
if [ -n "$LINE" ] ; then
if [ ${LINE:0:1} != "#" ]; then
BINPATH=`echo $LINE | awk -F '^' '{printf $1}'`
BINPATH=`echo "$BINPATH" | grep -o "[^ ]\+\( \+[^ ]\+\)*"`
# echo $BINPATH
BIN=`echo $LINE | awk -F '^' '{printf $2}'`
BIN=`echo "$BIN" | grep -o "[^ ]\+\( \+[^ ]\+\)*"`
# echo $BIN
SPECIAL=`echo $LINE | awk -F '^' '{printf $4}'`
SPECIAL=`echo "$SPECIAL" | grep -o "[^ ]\+\( \+[^ ]\+\)*"`
# echo $SPECIAL
SLEEPSEC=`echo $LINE | awk -F '^' '{printf $5}'`
SLEEPSEC=`echo "$SLEEPSEC" | grep -o "[^ ]\+\( \+[^ ]\+\)*"`
# echo $SLEEPSEC
STARTFLAG=`echo $LINE | awk -F '^' '{printf $7}'`
STARTFLAG=`echo "$STARTFLAG" | grep -o "[^ ]\+\( \+[^ ]\+\)*"`
# echo $STARTFLAG
if [ "`echo $STARTFLAG`" != "IGNORE_START" ]; then
# echo ""
# echo "" >>"$LOGFILE"
CMD_STR=" ps -w | grep `echo "'"``echo $BIN``echo "'"` | grep -v 'grep'"
BIN2=`echo $BIN`
BIN3=`echo $BIN |awk '{print$1}'`
# CMD_STR="killall `echo $BIN | awk '{print$1}'` 2>&1 "
PIDSTR=`ps -ef | grep "$BIN2" | grep -v 'grep'`
if [ -n "$PIDSTR" ] ; then
if [ "$BIN3" == "fe_main" ]; then
CMD_STR=" sleep 3 "
echo "$CMD_STR"
echo "$CMD_STR" >>"$LOGFILE"
$CMD_STR
fi
CMD_STR="kill -15 `echo $PIDSTR | awk '{print$2}'` "
echo " Kill process: \"$BIN\" with PID `echo $PIDSTR | awk '{print$2}'`"
echo " Kill process: \"$BIN\" with PID `echo $PIDSTR | awk '{print$2}'`" >>"$LOGFILE"
echo " Executing: $CMD_STR"
echo " Executing: $CMD_STR" >>"$LOGFILE"
CMD_RESULT=`$CMD_STR`
if [ -n "$CMD_RESULT" ] ; then
echo "$CMD_RESULT"
echo "$CMD_RESULT" >>"$LOGFILE"
fi
else
echo " Process \"$BIN\" not running."
fi
fi
fi
fi
done < /tmp/runtime.cf
DT=`date "+%F %R:%S.%N"`
echo "****** ${DT:0:23} Stop Processes Succcessfully ******"
echo "" >>"$LOGFILE"
echo "****** ${DT:0:23} Stop Processes Succcessfully ******" >>"$LOGFILE"
# ========= 4. 清理软链接(仅在本次脚本中创建) =========
if [ "$TEMP_LINK_CREATED" -eq 1 ]; then
if [ -L "/FeProject" ]; then
sudo rm -f /FeProject
echo "Temporary symlink /FeProject removed."
fi
fi

View File

@@ -2820,6 +2820,9 @@ void upload_data_test(){
//////////////////////////////////////////////////////////////////////////////////////////////////台账赋值给通信 //////////////////////////////////////////////////////////////////////////////////////////////////台账赋值给通信
std::vector<DeviceInfo> GenerateDeviceInfoFromLedger(const std::vector<terminal_dev>& terminal_devlist) { std::vector<DeviceInfo> GenerateDeviceInfoFromLedger(const std::vector<terminal_dev>& terminal_devlist) {
std::lock_guard<std::mutex> lock(ledgermtx);
std::vector<DeviceInfo> devices; std::vector<DeviceInfo> devices;
for (const auto& terminal : terminal_devlist) { for (const auto& terminal : terminal_devlist) {
@@ -3217,7 +3220,7 @@ void check_device_busy_timeout()
if (dev.busytimecount > 30) if (dev.busytimecount > 30)
{ {
std::cout << "[Timeout] Device " << dev.terminal_id std::cout << "[Timeout] Device " << dev.terminal_id
<< " busytype=READING_FILEMENU 超时(" << " busytype=READING_FILEDATA 超时("
<< dev.busytimecount << "s)" << std::endl; << dev.busytimecount << "s)" << std::endl;
//发送超时响应 //发送超时响应
@@ -3407,6 +3410,37 @@ bool save_internal_value(const std::string &dev_id, const std::vector<float> &fa
return true; return true;
} }
bool save_internal_info(const std::string &dev_id, const std::vector<NameFixValue> &fixValueList) {
// 找到对应 terminal_dev
std::lock_guard<std::mutex> lock(ledgermtx);
auto it = std::find_if(terminal_devlist.begin(), terminal_devlist.end(),
[&](const terminal_dev &dev) { return dev.terminal_id == dev_id; });
if (it == terminal_devlist.end()) {
std::cerr << "[send_set_reply] device not found: " << dev_id << std::endl;
return false;
}
terminal_dev &dev = *it;
// 判断 isbusy==2 且 busytype==READING_INTERFIXEDVALUE
if (dev.isbusy != 2 || dev.busytype != static_cast<int>(DeviceState::READING_INTERFIXEDVALUE)) {
std::cerr << "[send_set_reply] device not in READING_INTERFIXEDVALUE state." << std::endl;
return false;
}
// ★ 新增:清理原有的内部定值列表
dev.dz_internal_info_list.clear();
//将值严格按顺序存入list中
for (const auto &info : fixValueList) {
dev.dz_internal_info_list.push_back(info);
}
dev.isbusy--;
return true;
}
/////////////////////////////////////////////////////////////////////////////////////////////////////////回复定值读取响应 /////////////////////////////////////////////////////////////////////////////////////////////////////////回复定值读取响应
bool send_set_value_reply(const std::string &dev_id, unsigned char mp_index, const std::vector<DZ_TAB_STRUCT> &dz_info) { bool send_set_value_reply(const std::string &dev_id, unsigned char mp_index, const std::vector<DZ_TAB_STRUCT> &dz_info) {
std::lock_guard<std::mutex> lock(ledgermtx); std::lock_guard<std::mutex> lock(ledgermtx);
@@ -3530,3 +3564,70 @@ bool send_set_value_reply(const std::string &dev_id, unsigned char mp_index, con
return true; return true;
} }
bool send_internal_value_reply(const std::string &dev_id, const std::vector<DZ_kzz_bit> &control_words) {
std::lock_guard<std::mutex> lock(ledgermtx);
// 1) 找终端
auto it = std::find_if(terminal_devlist.begin(), terminal_devlist.end(),
[&](const terminal_dev &d) { return d.terminal_id == dev_id; });
if (it == terminal_devlist.end()) {
std::cerr << "[send_set_value_reply] device not found: " << dev_id << std::endl;
return false;
}
terminal_dev &dev = *it;
// 2) 校验状态:发送“定值读取结果”回复,应处于 READING_INTERFIXEDVALUEisbusy == 1
if (dev.isbusy != 1 || dev.busytype != static_cast<int>(DeviceState::READING_INTERFIXEDVALUE)) { //定值读取
std::cerr << "[send_set_value_reply] device not in READING_INTERFIXEDVALUE state." << std::endl;
return false;
}
// 5) 生成 JSON结构严格贴合你给的样例
nlohmann::json j;
// 顶层
j["guid"] = dev.guid;
j["FrontIP"] = FRONT_IP; // 你的前置机 IP项目已有常量/变量)
j["Node"] = g_front_seg_index; // 节点号(项目已有变量)
j["Dev_mac"] = normalize_mac(dev.addr_str);
// Detail
nlohmann::json detail;
detail["Type"] = 0x2106; // 设备数据
// Msg
nlohmann::json msg;
msg["DataType"] = 0x0D; //内部定值
// DataArray对象数组逐个填充DZ_Value 严格按 set_values 顺序
nlohmann::json dataArray = nlohmann::json::array();
//拼接逻辑
// 6) 入队发送
queue_data_t connect_info;
connect_info.strTopic = Topic_Reply_Topic;
connect_info.strText = j.dump(); // 序列化为字符串
{
std::lock_guard<std::mutex> lk(queue_data_list_mutex);
queue_data_list.push_back(std::move(connect_info));
}
// 调试打印
std::cout << "[send_internal_value_reply] queued JSON:\n" << j.dump(4) << std::endl;
// 7) 发送后更新终端状态(按你现有规则)
if (dev.isbusy > 0) {
dev.isbusy--;
}
if (dev.isbusy == 0) {
dev.guid.clear();
dev.busytype = 0;
dev.internal_values.clear();//清理本次定值记录
dev.dz_internal_info_list.clear();//清理本次定值描述记录
}
return true;
}

View File

@@ -743,9 +743,34 @@ int parse_device_cfg_web()
///////////////////////////////////////////////////////////////////////////////用例这里将局部的map拷贝到全局map后续根据协议台账修改 ///////////////////////////////////////////////////////////////////////////////用例这里将局部的map拷贝到全局map后续根据协议台账修改
// 先清空全局 container再逐个拷贝 map 中的 terminal_dev // 先清空全局 container再逐个拷贝 map 中的 terminal_dev
std::lock_guard<std::mutex> lock(ledgermtx);
terminal_devlist.clear(); terminal_devlist.clear();
for (const auto& kv : terminal_dev_map) { for (const auto& kv : terminal_dev_map) {
terminal_devlist.push_back(kv.second); // kv.second 是对象,不用判断指针
terminal_dev dev = kv.second; // kv.second 是对象,不用判断指针
// ======= [新增] 对 terminal_dev 中 web 未返回/未设置字段做统一初始化,避免脏值 =======
dev.guid.clear(); // [新增] 业务 guid 初始为空
dev.busytype = 0; // [新增] 业务类型(状态机)默认 0
dev.isbusy = 0; // [新增] 未进行业务
dev.busytimecount = 0; // [新增] 业务计时清零
dev.internal_values.clear(); // [新增] 内部定值清空,等后续业务真实填充
// ------------------------------------------------------------------------------------
// ======= [新增] 对每个监测点做必要的内部结构初始化 =======
for (auto &mon : dev.line) {
// 暂态事件容器显式清理(虽然默认构造已空,但这里确保无脏数据)
mon.qvvrevent.qvvrdata.clear(); // [新增]
mon.qvvrevent.qvvrfile.clear(); // [新增]
// 定值列表清理,等待后续配置/采集填充
mon.set_values.clear(); // [新增]
}
// ------------------------------------------------------------------------------------
terminal_devlist.push_back(dev);
} }
// 判断监测点接线类型 // 判断监测点接线类型

View File

@@ -91,7 +91,6 @@ public:
std::string terminal_connect; //监测点接线方式 std::string terminal_connect; //监测点接线方式
std::string timestamp; //更新时间 std::string timestamp; //更新时间
std::string status; //监测点状态 std::string status; //监测点状态
double PT1; // 电压变比1 double PT1; // 电压变比1
double PT2; // 电压变比2 double PT2; // 电压变比2
double CT1; // 电流变比1 double CT1; // 电流变比1
@@ -101,6 +100,7 @@ public:
//定值list //定值list
std::list<float> set_values; std::list<float> set_values;
std::vector<DZ_TAB_STRUCT> dz_info_list; //定值信息列表
}; };
//终端台账 //终端台账
@@ -113,7 +113,9 @@ public:
int busytimecount; //业务进行计时 int busytimecount; //业务进行计时
//内部定值list //内部定值list
std::list<float> internal_values; std::list<float> internal_values;
std::vector<NameFixValue> &dz_internal_info_list; //内部定值信息列表
std::vector<DZ_kzz_bit> control_words;
std::string terminal_id; std::string terminal_id;
std::string terminal_name; std::string terminal_name;

View File

@@ -0,0 +1,77 @@
[Queue]
BrokerList=
RTDataTopic=Real_Time_Data_Topic
HisTopic=njcnAppAutoDataTopic
PSTTopic=njcnAppAutoDataTopic
PLTTopic=njcnAppAutoDataTopic
AlmTopic=AlmTopic
SngTopic=SngTopic
QUEUE_TAG=stat
QUEUE_KEY=stat
[Flag]
FrontInst=
FrontIP=192.168.1.138
[Ledger]
TerminalStatus="[0]"
MonitorStatus="[1,2]"
IcdFlag=0
IedCount=300
[Http]
WebDevice=http://192.168.1.103:10220/icd/getLedgerInfo
WebEvent=http://192.168.1.103:10222/event/addCldEvent
WebFileupload=http://192.168.1.103:10207/file/upload
WebFiledownload=
[RocketMq]
producer=Group_producer
Ipport=192.168.1.24:9876
AccessKey=rmqroot
SecretKey=001@#njcnmq
Topic_Test=lnk_Topic
Tag_Test=Test_Tag
Key_Test=Test_Keys
Testflag=1
Testnum=0
Testtype=0
TestPort=11000
TestList=8ad28e2e36dfbd19906f9e2a4894b375
consumer=Group_consumer
ConsumerIpport=192.168.1.24:9876
ConsumerTopicRT=ask_real_data_topic
ConsumerTagRT=Test_Tag
ConsumerKeyRT=Test_Keys
ConsumerAccessKey=rmqroot
ConsumerSecretKey=001@#njcnmq
ConsumerChannel=
ConsumerTopicUD=control_Topic
ConsumerTagUD=Test_Tag
ConsumerKeyUD=Test_Keys
ConsumerTopicRC=recall_Topic
ConsumerTagRC=Test_Tag
ConsumerKeyRC=Test_Keys
ConsumerTopicSET=process_Topic
ConsumerTagSET=Test_Tag
ConsumerKeySET=Test_Keys
ConsumerTopicLOG=ask_log_Topic
ConsumerTagLOG=Test_Tag
ConsumerKeyLOG=Test_Keys
LOGTopic=log_Topic
LOGTag=Test_Tag
LOGKey=Test_Keys
CONNECTTopic=Device_Run_Flag_Topic
CONNECTTag=Test_Tag
CONNECTKey=Test_Keys
Heart_Beat_Topic=Heart_Beat_Topic
Heart_Beat_Tag=Test_Tag
Heart_Beat_Key=Test_Key
Topic_Reply_Topic=Topic_Reply_Topic
Topic_Reply_Tag=Test_Tag
Topic_Reply_Key=Test_Key

View File

@@ -0,0 +1 @@
{"code":"A00555","message":"下载文件,文件服务器下载文件流为空","data":null}

View File

@@ -0,0 +1 @@
{"code":"A00555","message":"下载文件,文件服务器下载文件流为空","data":null}

View File

@@ -0,0 +1 @@
{"code":"A00555","message":"下载文件,文件服务器下载文件流为空","data":null}

View File

@@ -0,0 +1 @@
{"code":"A00555","message":"下载文件,文件服务器下载文件流为空","data":null}

View File

@@ -0,0 +1 @@
{"code":"A00555","message":"下载文件,文件服务器下载文件流为空","data":null}

View File

@@ -0,0 +1 @@
{"code":"A00555","message":"下载文件,文件服务器下载文件流为空","data":null}

View File

@@ -0,0 +1 @@
{"code":"A00555","message":"下载文件,文件服务器下载文件流为空","data":null}

View File

@@ -0,0 +1 @@
{"code":"A00555","message":"下载文件,文件服务器下载文件流为空","data":null}

View File

@@ -0,0 +1 @@
{"code":"A00555","message":"下载文件,文件服务器下载文件流为空","data":null}

View File

@@ -0,0 +1 @@
{"code":"A00555","message":"下载文件,文件服务器下载文件流为空","data":null}

View File

@@ -0,0 +1 @@
{"code":"A00555","message":"下载文件,文件服务器下载文件流为空","data":null}

View File

@@ -0,0 +1 @@
{"code":"A00555","message":"下载文件,文件服务器下载文件流为空","data":null}

View File

@@ -0,0 +1 @@
{"code":"A00555","message":"下载文件,文件服务器下载文件流为空","data":null}

View File

@@ -0,0 +1 @@
{"code":"A00555","message":"下载文件,文件服务器下载文件流为空","data":null}

View File

@@ -0,0 +1 @@
{"code":"A00555","message":"下载文件,文件服务器下载文件流为空","data":null}

View File

@@ -0,0 +1 @@
{"code":"A00555","message":"下载文件,文件服务器下载文件流为空","data":null}

View File

@@ -0,0 +1 @@
{"code":"A00555","message":"下载文件,文件服务器下载文件流为空","data":null}

View File

@@ -0,0 +1 @@
{"code":"A00555","message":"下载文件,文件服务器下载文件流为空","data":null}

View File

@@ -0,0 +1 @@
{"code":"A00555","message":"下载文件,文件服务器下载文件流为空","data":null}

View File

@@ -0,0 +1 @@
{"code":"A00555","message":"下载文件,文件服务器下载文件流为空","data":null}

View File

@@ -0,0 +1 @@
{"code":"A00555","message":"下载文件,文件服务器下载文件流为空","data":null}

View File

@@ -0,0 +1 @@
{"code":"A00555","message":"下载文件,文件服务器下载文件流为空","data":null}

View File

@@ -0,0 +1 @@
{"code":"A00555","message":"下载文件,文件服务器下载文件流为空","data":null}

View File

@@ -0,0 +1 @@
{"code":"A00555","message":"下载文件,文件服务器下载文件流为空","data":null}

View File

@@ -0,0 +1 @@
{"code":"A00555","message":"下载文件,文件服务器下载文件流为空","data":null}

View File

@@ -0,0 +1 @@
{"code":"A00555","message":"下载文件,文件服务器下载文件流为空","data":null}

View File

@@ -0,0 +1 @@
{"code":"A00555","message":"下载文件,文件服务器下载文件流为空","data":null}

View File

@@ -0,0 +1 @@
{"code":"A00555","message":"下载文件,文件服务器下载文件流为空","data":null}

View File

@@ -0,0 +1 @@
{"code":"A00555","message":"下载文件,文件服务器下载文件流为空","data":null}

View File

@@ -0,0 +1 @@
{"code":"A00555","message":"下载文件,文件服务器下载文件流为空","data":null}

View File

@@ -0,0 +1 @@
{"code":"A00555","message":"下载文件,文件服务器下载文件流为空","data":null}

View File

@@ -0,0 +1 @@
{"code":"A00555","message":"下载文件,文件服务器下载文件流为空","data":null}

View File

@@ -0,0 +1 @@
{"code":"A00555","message":"下载文件,文件服务器下载文件流为空","data":null}

View File

@@ -0,0 +1 @@
{"code":"A00555","message":"下载文件,文件服务器下载文件流为空","data":null}

View File

@@ -0,0 +1 @@
{"code":"A00555","message":"下载文件,文件服务器下载文件流为空","data":null}

View File

@@ -0,0 +1 @@
{"code":"A00555","message":"下载文件,文件服务器下载文件流为空","data":null}

View File

@@ -0,0 +1 @@
{"code":"A00555","message":"下载文件,文件服务器下载文件流为空","data":null}

View File

@@ -0,0 +1 @@
{"code":"A00555","message":"下载文件,文件服务器下载文件流为空","data":null}

View File

@@ -0,0 +1 @@
{"code":"A00555","message":"下载文件,文件服务器下载文件流为空","data":null}

View File

@@ -0,0 +1 @@
{"code":"A00555","message":"下载文件,文件服务器下载文件流为空","data":null}

View File

@@ -0,0 +1 @@
{"code":"A00555","message":"下载文件,文件服务器下载文件流为空","data":null}

View File

@@ -0,0 +1 @@
{"code":"A00555","message":"下载文件,文件服务器下载文件流为空","data":null}

View File

@@ -0,0 +1 @@
{"code":"A00555","message":"下载文件,文件服务器下载文件流为空","data":null}

View File

@@ -0,0 +1 @@
{"code":"A00555","message":"下载文件,文件服务器下载文件流为空","data":null}

View File

@@ -0,0 +1 @@
{"code":"A00555","message":"下载文件,文件服务器下载文件流为空","data":null}

View File

@@ -0,0 +1 @@
{"code":"A00555","message":"下载文件,文件服务器下载文件流为空","data":null}

View File

@@ -0,0 +1 @@
{"code":"A00555","message":"下载文件,文件服务器下载文件流为空","data":null}

View File

@@ -0,0 +1 @@
{"code":"A00555","message":"下载文件,文件服务器下载文件流为空","data":null}

View File

@@ -0,0 +1 @@
{"code":"A00555","message":"下载文件,文件服务器下载文件流为空","data":null}

View File

@@ -0,0 +1 @@
{"code":"A00555","message":"下载文件,文件服务器下载文件流为空","data":null}

View File

@@ -0,0 +1 @@
{"code":"A00555","message":"下载文件,文件服务器下载文件流为空","data":null}

View File

@@ -0,0 +1 @@
{"code":"A00555","message":"下载文件,文件服务器下载文件流为空","data":null}

View File

@@ -0,0 +1 @@
{"code":"A00555","message":"下载文件,文件服务器下载文件流为空","data":null}

View File

@@ -0,0 +1 @@
{"code":"A00555","message":"下载文件,文件服务器下载文件流为空","data":null}

View File

@@ -0,0 +1 @@
{"code":"A00555","message":"下载文件,文件服务器下载文件流为空","data":null}

View File

@@ -0,0 +1 @@
{"code":"A00555","message":"下载文件,文件服务器下载文件流为空","data":null}

View File

@@ -0,0 +1 @@
{"code":"A00555","message":"下载文件,文件服务器下载文件流为空","data":null}

View File

@@ -0,0 +1 @@
{"code":"A00555","message":"下载文件,文件服务器下载文件流为空","data":null}

View File

@@ -0,0 +1 @@
{"code":"A00555","message":"下载文件,文件服务器下载文件流为空","data":null}

View File

@@ -0,0 +1 @@
{"code":"A00555","message":"下载文件,文件服务器下载文件流为空","data":null}

View File

@@ -0,0 +1 @@
{"code":"A00555","message":"下载文件,文件服务器下载文件流为空","data":null}

View File

@@ -0,0 +1 @@
{"code":"A00555","message":"下载文件,文件服务器下载文件流为空","data":null}

View File

@@ -0,0 +1 @@
{"code":"A00555","message":"下载文件,文件服务器下载文件流为空","data":null}

View File

@@ -0,0 +1 @@
{"code":"A00555","message":"下载文件,文件服务器下载文件流为空","data":null}

View File

@@ -0,0 +1 @@
{"code":"A00555","message":"下载文件,文件服务器下载文件流为空","data":null}

View File

@@ -0,0 +1 @@
{"code":"A00555","message":"下载文件,文件服务器下载文件流为空","data":null}

View File

@@ -0,0 +1 @@
{"code":"A00555","message":"下载文件,文件服务器下载文件流为空","data":null}

View File

@@ -0,0 +1 @@
{"code":"A00555","message":"下载文件,文件服务器下载文件流为空","data":null}

View File

@@ -0,0 +1 @@
{"code":"A00555","message":"下载文件,文件服务器下载文件流为空","data":null}

View File

@@ -0,0 +1 @@
{"code":"A00555","message":"下载文件,文件服务器下载文件流为空","data":null}

View File

@@ -0,0 +1 @@
{"code":"A00555","message":"下载文件,文件服务器下载文件流为空","data":null}

View File

@@ -0,0 +1 @@
{"code":"A00555","message":"下载文件,文件服务器下载文件流为空","data":null}

View File

@@ -0,0 +1 @@
{"code":"A0000","message":"根据前置ip获取对应的终端台账信息,成功","data":[{"id":"175427bfa6ed1de818464e43dd09e04f","ip":"192.168.1.242","devType":"PQS882_B4_MMS(4U4I)","org_name":null,"port":"102","stationName":null,"name":"南昌终端_242","subName":"南昌变电站","updateTime":"2025-08-07 14:58:03","manufacturer":"南京灿能","status":"0","series":"","devKey":"","processNo":2,"maxProcessNum":3,"monitorData":[{"id":"4067998c0327a624b83610879c7de4c6","name":"监测点3","lineNo":"3","voltageLevel":"10kV","ptType":"0","status":"0"},{"id":"74203b186428c1684aa450ad05257b06","name":"监测点1","lineNo":"1","voltageLevel":"10kV","ptType":"0","status":"0"},{"id":"777737a13b16cf860d65d9f71e54f858","name":"监测点4","lineNo":"4","voltageLevel":"10kV","ptType":"0","status":"0"},{"id":"e07c34b721ac9ccd62e03d796a2f7fa8","name":"监测点2","lineNo":"2","voltageLevel":"10kV","ptType":"0","status":"0"}]},{"id":"438a3bc6cb9c04c91d572973b5760d25","ip":"192.168.1.234","devType":"PQS_882B4","org_name":null,"port":"102","stationName":null,"name":"宜春终端_234","subName":"宜春变电站","updateTime":"2025-08-07 14:58:02","manufacturer":"浪拜迪","status":"0","series":"","devKey":"","processNo":1,"maxProcessNum":3,"monitorData":[{"id":"5f99b9ba4e563439ec8490a0c598da8d","name":"监测点1","lineNo":"1","voltageLevel":"110kV","ptType":"0","status":"0"}]},{"id":"8cb7a1abcd70b26716358267ea517a22","ip":"192.168.1.238","devType":"NPQS_682","org_name":null,"port":"102","stationName":null,"name":"赣州终端_238","subName":"赣州变电站","updateTime":"2025-08-07 14:58:03","manufacturer":"浪拜迪","status":"0","series":"","devKey":"","processNo":1,"maxProcessNum":3,"monitorData":[{"id":"1b9cece8b66b100a52c4a31f469e8e0a","name":"监测点1","lineNo":"1","voltageLevel":"220kV","ptType":"0","status":"0"},{"id":"6072c5deecdae5d1b4dd5c475517444b","name":"监测点2","lineNo":"2","voltageLevel":"220kV","ptType":"0","status":"0"}]},{"id":"ad60520f9294864f41ca48b5acee62d6","ip":"192.168.1.229","devType":"PQS882_B4_MMS(4U4I)","org_name":null,"port":"102","stationName":null,"name":"南昌终端_229","subName":"南昌变电站","updateTime":"2025-08-07 11:43:07","manufacturer":"南京灿能","status":"0","series":"","devKey":"","processNo":1,"maxProcessNum":3,"monitorData":[{"id":"683e77d95099a315fb777b16113e34ae","name":"监测点3","lineNo":"3","voltageLevel":"10kV","ptType":"0","status":"0"},{"id":"824ab9440f0c9c279c2fc2080e19d07a","name":"监测点2","lineNo":"2","voltageLevel":"10kV","ptType":"0","status":"0"},{"id":"d446071b8bd8dd493687bae4746c02e5","name":"监测点1","lineNo":"1","voltageLevel":"10kV","ptType":"1","status":"0"},{"id":"fde41900cbaef358c9a9e23960ee2593","name":"监测点4","lineNo":"4","voltageLevel":"10kV","ptType":"0","status":"0"}]},{"id":"e8d14ec6395262c4984f1f8152a9135b","ip":"192.168.1.230","devType":"NPQS_681","org_name":null,"port":"102","stationName":null,"name":"上饶终端","subName":"上饶变电站","updateTime":"2025-08-07 11:43:07","manufacturer":"北京四方","status":"0","series":"5nfaNZS5ukTZ3L4rQiMinA==","devKey":"g/4565/nRBWbqxo7gZ8JZdg4ozz2DutoY/MaCC1PMIw=","processNo":1,"maxProcessNum":3,"monitorData":[{"id":"401a696fe9918bb4cce7d9393d0d5df7","name":"上饶监测点1","lineNo":"1","voltageLevel":"750kV","ptType":"0","status":"0"}]},{"id":"f3a02c4a89e75fe0cc377088fd1cb2f1","ip":"192.168.1.240","devType":"NPQS_882B4","org_name":null,"port":"102","stationName":null,"name":"九江终端_240","subName":"九江变电站","updateTime":"2025-08-07 14:58:03","manufacturer":"浪拜迪","status":"0","series":"","devKey":"","processNo":1,"maxProcessNum":3,"monitorData":[{"id":"cfc481a71953f85a23fd448c3cffc884","name":"监测点1","lineNo":"1","voltageLevel":"35kV","ptType":"0","status":"0"}]}]}

View File

@@ -991,12 +991,20 @@ void process_received_message(string mac, string id,const char* data, size_t len
else if (udata[8] == static_cast<unsigned char>(MsgResponseType::Response_NewNACK)) { else if (udata[8] == static_cast<unsigned char>(MsgResponseType::Response_NewNACK)) {
std::cout << "set error" << mac << std::endl; std::cout << "set error" << mac << std::endl;
// װ<>÷<EFBFBD><C3B7><EFBFBD>Ӧ<EFBFBD>𣬶<EFBFBD>ֵ<EFBFBD><D6B5><EFBFBD><EFBFBD>ʧ<EFBFBD><CAA7> // װ<>÷<EFBFBD><C3B7><EFBFBD>Ӧ<EFBFBD>𣬶<EFBFBD>ֵ<EFBFBD><D6B5><EFBFBD><EFBFBD>ʧ<EFBFBD><CAA7>
//<2F><>Ӧlnk20250828
send_reply_to_cloud(static_cast<int>(ResponseCode::BAD_REQUEST),id,static_cast<int>(DeviceState::SET_FIXEDVALUE));
// <20><><EFBFBD><EFBFBD>װ<EFBFBD>ö<EFBFBD>ֵʧ<D6B5>ܣ<EFBFBD><DCA3><EFBFBD><EFBFBD><EFBFBD>Ϊ<EFBFBD><CEAA><EFBFBD><EFBFBD>״̬<D7B4><CCAC><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>һ<EFBFBD><EFBFBD><EEB9A4><EFBFBD><EFBFBD> // <20><><EFBFBD><EFBFBD>װ<EFBFBD>ö<EFBFBD>ֵʧ<D6B5>ܣ<EFBFBD><DCA3><EFBFBD><EFBFBD><EFBFBD>Ϊ<EFBFBD><CEAA><EFBFBD><EFBFBD>״̬<D7B4><CCAC><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>һ<EFBFBD><EFBFBD><EEB9A4><EFBFBD><EFBFBD>
ClientManager::instance().change_device_state(id, DeviceState::IDLE); ClientManager::instance().change_device_state(id, DeviceState::IDLE);
} }
else { else {
// װ<>ô<EFBFBD><C3B4><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> // װ<>ô<EFBFBD><C3B4><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
// <20><><EFBFBD><EFBFBD>װ<EFBFBD>ö<EFBFBD>ֵʧ<D6B5>ܣ<EFBFBD><DCA3><EFBFBD><EFBFBD><EFBFBD>Ϊ<EFBFBD><CEAA><EFBFBD><EFBFBD>״̬<D7B4><CCAC><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>һ<EFBFBD><EFBFBD><EEB9A4><EFBFBD><EFBFBD> // <20><><EFBFBD><EFBFBD>װ<EFBFBD>ö<EFBFBD>ֵʧ<D6B5>ܣ<EFBFBD><DCA3><EFBFBD><EFBFBD><EFBFBD>Ϊ<EFBFBD><CEAA><EFBFBD><EFBFBD>״̬<D7B4><CCAC><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>һ<EFBFBD><EFBFBD><EEB9A4><EFBFBD><EFBFBD>
//<2F><>Ӧlnk20250828
send_reply_to_cloud(static_cast<int>(ResponseCode::INTERNAL_ERROR),id,static_cast<int>(DeviceState::SET_FIXEDVALUE));
ClientManager::instance().change_device_state(id, DeviceState::IDLE); ClientManager::instance().change_device_state(id, DeviceState::IDLE);
} }
break; break;

View File

@@ -0,0 +1,585 @@
<?xml version="1.0" encoding="UTF-8"?>
<!--注:#7#代表通配符,用于通配数据类型 采用8421码8-CP95、4-最小值、2-最大值、1-平均值-->
<!-- %2,50%代表通配符,用于通配谐波数据,采用范围编码,第一个数字表示谐波起始号,第二个数字谐波结束号-->
<!-- SEQ=后面的值采用8421码 8-T、4-C、2-B、1-A-->
<!--send类型0-不发送kafka、1-发送kafka-->
<!--type类型0-DataType、1-监测点、2-剔除标记、3-发生时刻毫秒、4-数据链表、5-相位、6-值索引、9-实时SOE事件-->
<!--nane:参数项、desc:参数描述、type:参数等级、DO:数据对象名、DA:数据属性名、Coefficient:数据系数、Offset:起始序号偏移量、PltFlag:长时闪变标志-->
<!--角型接线时相角为0不再进行DO、DA路径值扩展-->
<JSConfigTemplate version="2021-12-15" author="ww" SelectStat="JiangSu" SelectReal="Kafka Producer" desc="昆明长水机场增加谐波类数据配置">
<!--注:暂态事件解析规则配置 Flag0-不分相 1-分相 如果Flag=0 ABC配置成一样如果Flag=1ABC根据实际配置-->
<WavePhasic Flag="1" A="QVVR1" B="QVVR2" C="QVVR3" />
<!--暂态事件持续事件单位0-毫秒 1--->
<UnitOfTime Unit="1" />
<!--上送值的时间UTC-UTC时间 beijing-北京时间-->
<ValueOfTime Unit="UTC" />
<!--录波文件的时间UTC-UTC时间 beijing-北京时间-->
<ComtradeFile WaveTimeFlag="beijing" />
<IED name="PQMonitor" desc="电能质量监测装置" />
<LDevice Prefix="PQM" desc="监测点" />
<ReportMap>
<!--用于映射需要触发那些报告-->
<!--ReportControl:ID,RCBName,intgPd,dchg,qchg,dupd,period,gi,issuffixed,seqNum,timeStamp,reasonCode,dataSet,dataRef,bufOvfl,entryID,configRef,segmentation,FlickerFlag-->
<!--600/60秒即10分钟/1分钟-->
<!--0,0,0,1,0为周期触发报告-->
<!--1,0,0,0,0为变位触发报告-->
<ReportStat>
<Report ReportControl="LLN0$BR$brcbFlickerData,60,1,0,0,0,0,yes,1,1,1,1,1,0,1,1,1,3,1" />
<Report ReportControl="LLN0$BR$brcbStatisticData,60,1,0,0,0,0,yes,1,1,1,1,1,0,1,1,1,1,0" />
</ReportStat>
<ReportReal>
<Report ReportControl="LLN0$RP$urcbRealData,3,0,0,0,1,0,yes,1,1,1,1,1,0,1,1,1,3,2" />
</ReportReal>
<ReportEvent>
<Report ReportControl="LLN0$BR$brcbQVVR,60,1,0,0,0,0,yes,1,1,1,1,1,0,1,1,1,8,1,0"/>
<Report ReportControl="LLN0$BR$brcbRDRE,60,1,0,0,0,0,yes,1,1,1,1,1,0,1,1,1,8,1,0"/>
<Report ReportControl="LLN0$BR$brcbGGIO,60,1,0,0,0,0,yes,1,1,1,1,1,0,1,1,1,8,1,0"/>
<Report ReportControl="LLN0$BR$brcbLPHD,60,1,0,0,0,0,yes,1,1,1,1,1,0,1,1,1,8,1,0"/>
</ReportEvent>
</ReportMap>
<Topic name="HISDATA" desc="历史稳态数据">
<DataType name="DATA_TYPE" value="02" desc="历史短时闪变数据" type="0">
<Monitor name="MONITOR" desc="监测点" type="1">
<Item name="FLAG" value="0" desc="剔除标记" type="2" />
<Item name="TIME" desc="发生时刻" type="3" />
<Item name="F_S" desc="短时闪变和波动" type="4" >
<Sequence name="SEQ" value="7" desc="相别" type="5" >
<Value name="PST" desc="短时闪变" type="6" DO="MFLK0$MX$PhPst" DA="phs*$cVal$mag$f" />
<Value name="FLUC" desc="电压波动幅度" type="6" DO="MFLK0$MX$PhFluc" DA="phs*$cVal$mag$f" />
<Value name="FLUCF" desc="电压波动频度" type="6" DO="MFLK0$MX$PhFlucf" DA="phs*$cVal$mag$f" />
</Sequence>
</Item>
</Monitor>
</DataType>
<DataType name="DATA_TYPE" value="03" desc="历史长时闪变数据" type="0">
<Monitor name="MONITOR" desc="监测点" type="1">
<Item name="FLAG" value="0" desc="剔除标记" type="2" />
<Item name="TIME" desc="发生时刻" type="3" />
<Item name="F_L" desc="闪变" type="4" >
<Sequence name="SEQ" value="7" desc="相别" type="5" >
<Value name="PLT" desc="长时闪变" type="6" DO="MFLK0$MX$PhPlt" DA="phs*$cVal$mag$f" />
</Sequence>
</Item>
</Monitor>
</DataType>
<DataType name="DATA_TYPE" value="04" desc="历史暂态数据" type="0" >
<Monitor name="MONITOR" desc="监测点" type="1" >
<Item name="VOLTAGE" desc="暂态指标" type="4" >
<Sequence name="SEQ" value="7" desc="相别" type="5">
<Value name="MAG" desc="残余电压" type="6" DO="QVVR0$MX$VVa" DA="mag$f" />
<Value name="DUR" desc="持续时间" type="6" DO="QVVR0$MX$VVaTm" DA="mag$f" />
<Value name="SEQ" desc="相别" type="6" DO="" DA="" />
<Value name="STARTTIME" desc="开始时间" type="6" DO="" DA="" />
<Value name="ENDTIME" desc="结束时间" type="6" DO="" DA="" />
<Value name="DISKIND" desc="暂降类型" type="6" DO="" DA="" />
<Value name="WAVEFILE" desc="波形文件名称" type="6" DO="" DA="" />
</Sequence>
</Item>
</Monitor>
</DataType>
<DataType name="DATA_TYPE" value="01" desc="历史稳态数据" type="0">
<Monitor name="MONITOR" desc="监测点" type="1">
<Item name="FLAG" value="0" desc="剔除标记" type="2" />
<Item name="TIME" desc="发生时刻" type="3" />
<Item name="V" desc="电压" type="4" >
<!--电压V部分(A-C相)-->
<Sequence name="SEQ" value="7" desc="相别(A-C相)" type="5">
<!--Coefficient 值系数转成kafka的时候乘以系数BaseFlag 基础数据标志 0或没有-非基础数据 1-基础数据LimitUp 数据合理上限,如果包含*%UN字符表示需要乘以电压等级电压如果包含*%U字符表示需要乘以电压等级/1.732电压例如220kV则相电压上限为1.5*220LimitDown 数据合理下限 如果包含*%U字符表示需要乘以电压等级电压-->
<Value name="G_DELTA_V" desc="电压偏差95值" type="6" DO="MMXU4$MX$PhVDev" DA="phs*$cVal$mag$f" BaseFlag="1" LimitUp="20" LimitDown="-20" Coefficient="1"/>
<Value name="DELTA_V" desc="电压偏差平均值" type="6" DO="MMXU2$MX$PhVDev" DA="phs*$cVal$mag$f" BaseFlag="1" LimitUp="20" LimitDown="-20" Coefficient="1"/>
<Value name="MAX_DELTA_V" desc="电压偏差最大值" type="6" DO="MMXU1$MX$PhVDev" DA="phs*$cVal$mag$f" BaseFlag="1" LimitUp="20" LimitDown="-20" Coefficient="1"/>
<Value name="MIN_DELTA_V" desc="电压偏差最小值" type="6" DO="MMXU3$MX$PhVDev" DA="phs*$cVal$mag$f" BaseFlag="1" LimitUp="20" LimitDown="-20" Coefficient="1"/>
<Value name="G_VRMS" desc="电压有效值95值" type="6" DO="MMXU4$MX$PhV" DA="phs*$cVal$mag$f" BaseFlag="1" LimitUp="0*%U" LimitDown="150*%U" />
<Value name="VRMS" desc="电压有效值平均值" type="6" DO="MMXU2$MX$PhV" DA="phs*$cVal$mag$f" BaseFlag="1" LimitUp="0*%U" LimitDown="150*%U" />
<Value name="MAX_VRMS" desc="电压有效值最大值" type="6" DO="MMXU1$MX$PhV" DA="phs*$cVal$mag$f" BaseFlag="1" LimitUp="0*%U" LimitDown="150*%U" />
<Value name="MIN_VRMS" desc="电压有效值最小值" type="6" DO="MMXU3$MX$PhV" DA="phs*$cVal$mag$f" BaseFlag="1" LimitUp="0*%U" LimitDown="150*%U" />
<Value name="G_VRMS_LVR" desc="线电压有效值95值" type="6" DO="MMXU4$MX$PPV" DA="l_phs*$cVal$mag$f" BaseFlag="1" LimitUp="0*%U" LimitDown="150*%U" />
<Value name="VRMS_LVR" desc="线电压有效值平均值" type="6" DO="MMXU2$MX$PPV" DA="l_phs*$cVal$mag$f" BaseFlag="1" LimitUp="0*%U" LimitDown="150*%U" />
<Value name="MAX_VRMS_LVR" desc="线电压有效值最大值" type="6" DO="MMXU1$MX$PPV" DA="l_phs*$cVal$mag$f" BaseFlag="1" LimitUp="0*%U" LimitDown="150*%U" />
<Value name="MIN_VRMS_LVR" desc="线电压有效值最小值" type="6" DO="MMXU3$MX$PPV" DA="l_phs*$cVal$mag$f" BaseFlag="1" LimitUp="0*%U" LimitDown="150*%U" />
<Value name="G_VTHD" desc="电压总谐波畸变率95值" type="6" DO="MHAI4$MX$ThdPhV" DA="phs*$cVal$mag$f" />
<Value name="VTHD" desc="电压总谐波畸变率平均值" type="6" DO="MHAI2$MX$ThdPhV" DA="phs*$cVal$mag$f" />
<Value name="MAX_VTHD" desc="电压总谐波畸变率最大值" type="6" DO="MHAI1$MX$ThdPhV" DA="phs*$cVal$mag$f" />
<Value name="MIN_VTHD" desc="电压总谐波畸变率最小值" type="6" DO="MHAI3$MX$ThdPhV" DA="phs*$cVal$mag$f" />
<Value name="G_VFUND_ANGLE" desc="基波电压相角95值" type="6" DO="MHAI4$MX$HFundPhV" DA="phs*$cVal$ang$f" />
<Value name="VFUND_ANGLE" desc="基波电压相角平均值" type="6" DO="MHAI2$MX$HFundPhV" DA="phs*$cVal$ang$f" />
<Value name="MAX_VFUND_ANGLE" desc="基波电压相角最大值" type="6" DO="MHAI1$MX$HFundPhV" DA="phs*$cVal$ang$f" />
<Value name="MIN_VFUND_ANGLE" desc="基波电压相角最小值" type="6" DO="MHAI3$MX$HFundPhV" DA="phs*$cVal$ang$f" />
<Value name="G_V1" desc="基波电压有效值95值" type="6" DO="MHAI4$MX$HFundPhV" DA="phs*$cVal$mag$f" />
<Value name="V1" desc="基波电压有效值平均值" type="6" DO="MHAI2$MX$HFundPhV" DA="phs*$cVal$mag$f" />
<Value name="MAX_V1" desc="基波电压有效值最大值" type="6" DO="MHAI1$MX$HFundPhV" DA="phs*$cVal$mag$f" />
<Value name="MIN_V1" desc="基波电压有效值最小值" type="6" DO="MHAI3$MX$HFundPhV" DA="phs*$cVal$mag$f" />
<Value name="G_SV_%0,49%" desc="间谐波电压含有率(f25-2475)95值" type="6" DO="MHAI9$MX$HRPhV" DA="phs*Har[%-0]$mag$f" />
<Value name="SV_%0,49%" desc="间谐波电压含有率(f25-2475)平均值" type="6" DO="MHAI7$MX$HRPhV" DA="phs*Har[%-0]$mag$f" />
<Value name="MAX_SV_%0,49%" desc="间谐波电压含有率(f25-2475)最大值" type="6" DO="MHAI6$MX$HRPhV" DA="phs*Har[%-0]$mag$f" />
<Value name="MIN_SV_%0,49%" desc="间谐波电压含有率(f25-2475)最小值" type="6" DO="MHAI8$MX$HRPhV" DA="phs*Har[%-0]$mag$f" />
<Value name="G_V%2,50%" desc="谐波电压含有率(2-50)95值" type="6" DO="MHAI4$MX$HRPhV" DA="phs*Har[%-2]$mag$f" />
<Value name="V%2,50%" desc="谐波电压含有率(2-50)平均值" type="6" DO="MHAI2$MX$HRPhV" DA="phs*Har[%-2]$mag$f" />
<Value name="MAX_V%2,50%" desc="谐波电压含有率(2-50)最大值" type="6" DO="MHAI1$MX$HRPhV" DA="phs*Har[%-2]$mag$f" />
<Value name="MIN_V%2,50%" desc="谐波电压含有率(2-50)最小值" type="6" DO="MHAI3$MX$HRPhV" DA="phs*Har[%-2]$mag$f" />
<Value name="G_VA%2,50%" desc="谐波电压相角(2-50)95值" type="6" DO="MHAI4$MX$HRPhV" DA="phs*Har[%-2]$ang$f" />
<Value name="VA%2,50%" desc="谐波电压相角(2-50)平均值" type="6" DO="MHAI2$MX$HRPhV" DA="phs*Har[%-2]$ang$f" />
<Value name="MAX_VA%2,50%" desc="谐波电压相角(2-50)最大值" type="6" DO="MHAI1$MX$HRPhV" DA="phs*Har[%-2]$ang$f" />
<Value name="MIN_VA%2,50%" desc="谐波电压相角(2-50)最小值" type="6" DO="MHAI3$MX$HRPhV" DA="phs*Har[%-2]$ang$f" />
</Sequence>
<!--电压V部分(A-C相)角型接线-->
<Sequence name="SEQ" value="112" desc="相别(A-C相)" type="5">
<!--Coefficient 值系数转成kafka的时候乘以系数BaseFlag 基础数据标志 0或没有-非基础数据 1-基础数据LimitUp 数据合理上限,如果包含*%UN字符表示需要乘以电压等级电压如果包含*%U字符表示需要乘以电压等级/1.732电压例如220kV则相电压上限为1.5*220LimitDown 数据合理下限 如果包含*%U字符表示需要乘以电压等级电压-->
<Value name="G_DELTA_V" desc="电压偏差95值" type="6" DO="MMXU4$MX$PPVDev" DA="phs*$cVal$mag$f" BaseFlag="1" LimitUp="20" LimitDown="-20" Coefficient="1"/>
<Value name="DELTA_V" desc="电压偏差平均值" type="6" DO="MMXU2$MX$PPVDev" DA="phs*$cVal$mag$f" BaseFlag="1" LimitUp="20" LimitDown="-20" Coefficient="1"/>
<Value name="MAX_DELTA_V" desc="电压偏差最大值" type="6" DO="MMXU1$MX$PPVDev" DA="phs*$cVal$mag$f" BaseFlag="1" LimitUp="20" LimitDown="-20" Coefficient="1"/>
<Value name="MIN_DELTA_V" desc="电压偏差最小值" type="6" DO="MMXU3$MX$PPVDev" DA="phs*$cVal$mag$f" BaseFlag="1" LimitUp="20" LimitDown="-20" Coefficient="1"/>
<Value name="G_VRMS_LVR" desc="电压有效值95值" type="6" DO="MMXU4$MX$PPV" DA="phs*$cVal$mag$f" BaseFlag="1" LimitUp="0*%U" LimitDown="150*%U" />
<Value name="VRMS_LVR" desc="电压有效值平均值" type="6" DO="MMXU2$MX$PPV" DA="phs*$cVal$mag$f" BaseFlag="1" LimitUp="0*%U" LimitDown="150*%U" />
<Value name="MAX_VRMS_LVR" desc="电压有效值最大值" type="6" DO="MMXU1$MX$PPV" DA="phs*$cVal$mag$f" BaseFlag="1" LimitUp="0*%U" LimitDown="150*%U" />
<Value name="MIN_VRMS_LVR" desc="电压有效值最小值" type="6" DO="MMXU3$MX$PPV" DA="phs*$cVal$mag$f" BaseFlag="1" LimitUp="0*%U" LimitDown="150*%U" />
<Value name="G_VTHD" desc="电压总谐波畸变率95值" type="6" DO="MHAI4$MX$ThdPPV" DA="phs*$cVal$mag$f" />
<Value name="VTHD" desc="电压总谐波畸变率平均值" type="6" DO="MHAI2$MX$ThdPPV" DA="phs*$cVal$mag$f" />
<Value name="MAX_VTHD" desc="电压总谐波畸变率最大值" type="6" DO="MHAI1$MX$ThdPPV" DA="phs*$cVal$mag$f" />
<Value name="MIN_VTHD" desc="电压总谐波畸变率最小值" type="6" DO="MHAI3$MX$ThdPPV" DA="phs*$cVal$mag$f" />
<Value name="G_VFUND_ANGLE" desc="基波电压相角95值" type="6" DO="MHAI4$MX$HFundPPVAng" DA="phs*$cVal$ang$f" />
<Value name="VFUND_ANGLE" desc="基波电压相角平均值" type="6" DO="MHAI2$MX$HFundPPVAng" DA="phs*$cVal$ang$f" />
<Value name="MAX_VFUND_ANGLE" desc="基波电压相角最大值" type="6" DO="MHAI1$MX$HFundPPVAng" DA="phs*$cVal$ang$f" />
<Value name="MIN_VFUND_ANGLE" desc="基波电压相角最小值" type="6" DO="MHAI3$MX$HFundPPVAng" DA="phs*$cVal$ang$f" />
<Value name="G_V1" desc="基波电压有效值95值" type="6" DO="MHAI4$MX$HFundPPV" DA="phs*$cVal$mag$f" />
<Value name="V1" desc="基波电压有效值平均值" type="6" DO="MHAI2$MX$HFundPPV" DA="phs*$cVal$mag$f" />
<Value name="MAX_V1" desc="基波电压有效值最大值" type="6" DO="MHAI1$MX$HFundPPV" DA="phs*$cVal$mag$f" />
<Value name="MIN_V1" desc="基波电压有效值最小值" type="6" DO="MHAI3$MX$HFundPPV" DA="phs*$cVal$mag$f" />
<Value name="G_SV_%0,49%" desc="间谐波电压含有率(f25-2475)95值" type="6" DO="MHAI9$MX$HRPPV" DA="phs*Har[%-0]$mag$f" />
<Value name="SV_%0,49%" desc="间谐波电压含有率(f25-2475)平均值" type="6" DO="MHAI7$MX$HRPPV" DA="phs*Har[%-0]$mag$f" />
<Value name="MAX_SV_%0,49%" desc="间谐波电压含有率(f25-2475)最大值" type="6" DO="MHAI6$MX$HRPPV" DA="phs*Har[%-0]$mag$f" />
<Value name="MIN_SV_%0,49%" desc="间谐波电压含有率(f25-2475)最小值" type="6" DO="MHAI8$MX$HRPPV" DA="phs*Har[%-0]$mag$f" />
<Value name="G_V%2,50%" desc="谐波电压含有率(2-50)95值" type="6" DO="MHAI4$MX$HRPPV" DA="phs*Har[%-2]$mag$f" />
<Value name="V%2,50%" desc="谐波电压含有率(2-50)平均值" type="6" DO="MHAI2$MX$HRPPV" DA="phs*Har[%-2]$mag$f" />
<Value name="MAX_V%2,50%" desc="谐波电压含有率(2-50)最大值" type="6" DO="MHAI1$MX$HRPPV" DA="phs*Har[%-2]$mag$f" />
<Value name="MIN_V%2,50%" desc="谐波电压含有率(2-50)最小值" type="6" DO="MHAI3$MX$HRPPV" DA="phs*Har[%-2]$mag$f" />
<Value name="G_VA%2,50%" desc="谐波电压相角(2-50)95值" type="6" DO="MHAI4$MX$HRPPV" DA="phs*Har[%-2]$ang$f" />
<Value name="VA%2,50%" desc="谐波电压相角(2-50)平均值" type="6" DO="MHAI2$MX$HRPPV" DA="phs*Har[%-2]$ang$f" />
<Value name="MAX_VA%2,50%" desc="谐波电压相角(2-50)最大值" type="6" DO="MHAI1$MX$HRPPV" DA="phs*Har[%-2]$ang$f" />
<Value name="MIN_VA%2,50%" desc="谐波电压相角(2-50)最小值" type="6" DO="MHAI3$MX$HRPPV" DA="phs*Har[%-2]$ang$f" />
</Sequence>
<Sequence name="SEQ" value="8" desc="相别(T相)" type="5">
<!--电压V部分(T相)-->
<Value name="G_VNSEQ" desc="负序电压95值" type="6" DO="MSQI4$MX$SeqV" DA="c2$cVal$mag$f" />
<Value name="VNSEQ" desc="负序电压平均值" type="6" DO="MSQI2$MX$SeqV" DA="c2$cVal$mag$f" />
<Value name="MAX_VNSEQ" desc="负序电压最大值" type="6" DO="MSQI1$MX$SeqV" DA="c2$cVal$mag$f" />
<Value name="MIN_VNSEQ" desc="负序电压最小值" type="6" DO="MSQI3$MX$SeqV" DA="c2$cVal$mag$f" />
<Value name="G_V_UNBAN" desc="负序电压不平衡95值" type="6" DO="MSQI4$MX$ImbNgV" DA="mag$f" />
<Value name="V_UNBAN" desc="负序电压不平衡平均值" type="6" DO="MSQI2$MX$ImbNgV" DA="mag$f" />
<Value name="MAX_V_UNBAN" desc="负序电压不平衡最大值" type="6" DO="MSQI1$MX$ImbNgV" DA="mag$f" />
<Value name="MIN_V_UNBAN" desc="负序电压不平衡最小值" type="6" DO="MSQI3$MX$ImbNgV" DA="mag$f" />
<Value name="G_VZSEQ" desc="零序电压95值" type="6" DO="MSQI4$MX$SeqV" DA="c3$cVal$mag$f" />
<Value name="VZSEQ" desc="零序电压平均值" type="6" DO="MSQI2$MX$SeqV" DA="c3$cVal$mag$f" />
<Value name="MAX_VZSEQ" desc="零序电压最大值" type="6" DO="MSQI1$MX$SeqV" DA="c3$cVal$mag$f" />
<Value name="MIN_VZSEQ" desc="零序电压最小值" type="6" DO="MSQI3$MX$SeqV" DA="c3$cVal$mag$f" />
<Value name="G_VZSEQ_UNBAN" desc="零序电压不平衡95值" type="6" DO="MSQI4$MX$ImbZroV" DA="mag$f" />
<Value name="VZSEQ_UNBAN" desc="零序电压不平衡平均值" type="6" DO="MSQI2$MX$ImbZroV" DA="mag$f" />
<Value name="MAX_VZSEQ_UNBAN" desc="零序电压不平衡最大值" type="6" DO="MSQI1$MX$ImbZroV" DA="mag$f" />
<Value name="MIN_VZSEQ_UNBAN" desc="零序电压不平衡最小值" type="6" DO="MSQI3$MX$ImbZroV" DA="mag$f" />
<Value name="G_FREQ" desc="频率95值" type="6" DO="MMXU4$MX$Hz" DA="mag$f" />
<Value name="FREQ" desc="频率平均值" type="6" DO="MMXU2$MX$Hz" DA="mag$f" />
<Value name="MAX_FREQ" desc="频率最大值" type="6" DO="MMXU1$MX$Hz" DA="mag$f" />
<Value name="MIN_FREQ" desc="频率最小值" type="6" DO="MMXU3$MX$Hz" DA="mag$f" />
<Value name="G_DELTA_FREQ" desc="频率偏差95值" type="6" DO="MMXU4$MX$HzDev" DA="mag$f" />
<Value name="DELTA_FREQ" desc="频率偏差平均值" type="6" DO="MMXU2$MX$HzDev" DA="mag$f" />
<Value name="MAX_DELTA_FREQ" desc="频率偏差最大值" type="6" DO="MMXU1$MX$HzDev" DA="mag$f" />
<Value name="MIN_DELTA_FREQ" desc="频率偏差最小值" type="6" DO="MMXU3$MX$HzDev" DA="mag$f" />
<Value name="G_VPSEQ" desc="正序电压95值" type="6" DO="MSQI4$MX$SeqV" DA="c1$cVal$mag$f" />
<Value name="VPSEQ" desc="正序电压平均值" type="6" DO="MSQI2$MX$SeqV" DA="c1$cVal$mag$f" />
<Value name="MAX_VPSEQ" desc="正序电压最大值" type="6" DO="MSQI1$MX$SeqV" DA="c1$cVal$mag$f" />
<Value name="MIN_VPSEQ" desc="正序电压最小值" type="6" DO="MSQI3$MX$SeqV" DA="c1$cVal$mag$f" />
</Sequence>
</Item>
<Item name="I" desc="电流" type="4" >
<!--电流I部分(A-C相)-->
<Sequence name="SEQ" value="7" desc="相别(A-C相)" type="5">
<Value name="G_IRMS" desc="电流有效值95值" type="6" DO="MMXU4$MX$A" DA="phs*$cVal$mag$f" />
<Value name="IRMS" desc="电流有效值平均值" type="6" DO="MMXU2$MX$A" DA="phs*$cVal$mag$f" />
<Value name="MAX_IRMS" desc="电流有效值最大值" type="6" DO="MMXU1$MX$A" DA="phs*$cVal$mag$f" />
<Value name="MIN_IRMS" desc="电流有效值最小值" type="6" DO="MMXU3$MX$A" DA="phs*$cVal$mag$f" />
<Value name="G_I1" desc="基波电流有效值95值" type="6" DO="MHAI4$MX$HA" DA="phs*Har[0]$mag$f" />
<Value name="I1" desc="基波电流有效值平均值" type="6" DO="MHAI2$MX$HA" DA="phs*Har[0]$mag$f" />
<Value name="MAX_I1" desc="基波电流有效值最大值" type="6" DO="MHAI1$MX$HA" DA="phs*Har[0]$mag$f" />
<Value name="MIN_I1" desc="基波电流有效值最小值" type="6" DO="MHAI3$MX$HA" DA="phs*Har[0]$mag$f" />
<Value name="G_IFUND_ANGLE" desc="基波电流相角95值" type="6" DO="MHAI4$MX$HA" DA="phs*Har[0]$ang$f" />
<Value name="IFUND_ANGLE" desc="基波电流相角平均值" type="6" DO="MHAI2$MX$HA" DA="phs*Har[0]$ang$f" />
<Value name="MAX_IFUND_ANGLE" desc="基波电流相角最大值" type="6" DO="MHAI1$MX$HA" DA="phs*Har[0]$ang$f" />
<Value name="MIN_IFUND_ANGLE" desc="基波电流相角最小值" type="6" DO="MHAI3$MX$HA" DA="phs*Har[0]$ang$f" />
<Value name="G_SI_%0,49%" desc="间谐波电流幅值(f25-2475)95值" type="6" DO="MHAI9$MX$HA" DA="phs*Har[%-0]$mag$f" />
<Value name="SI_%0,49%" desc="间谐波电流幅值(f25-2475)平均值" type="6" DO="MHAI7$MX$HA" DA="phs*Har[%-0]$mag$f" />
<Value name="MAX_SI_%0,49%" desc="间谐波电流幅值(f25-2475)最大值" type="6" DO="MHAI6$MX$HA" DA="phs*Har[%-0]$mag$f" />
<Value name="MAX_SI_%0,49%" desc="间谐波电流幅值(f25-2475)最小值" type="6" DO="MHAI8$MX$HA" DA="phs*Har[%-0]$mag$f" />
<Value name="G_I%1,50%" desc="谐波电流幅值(2-50)95值" type="6" DO="MHAI4$MX$HA" DA="phs*Har[%-1]$mag$f" />
<Value name="I%1,50%" desc="谐波电流幅值(2-50)平均值" type="6" DO="MHAI2$MX$HA" DA="phs*Har[%-1]$mag$f" />
<Value name="MAX_I%1,50%" desc="谐波电流幅值(2-50)最大值" type="6" DO="MHAI1$MX$HA" DA="phs*Har[%-1]$mag$f" />
<Value name="MIN_I%1,50%" desc="谐波电流幅值(2-50)最小值" type="6" DO="MHAI3$MX$HA" DA="phs*Har[%-1]$mag$f" />
<Value name="G_IA%1,50%" desc="谐波电流相角(2-50)95值" type="6" DO="MHAI4$MX$HA" DA="phs*Har[%-1]$ang$f" />
<Value name="IA%1,50%" desc="谐波电流相角(2-50)平均值" type="6" DO="MHAI2$MX$HA" DA="phs*Har[%-1]$ang$f" />
<Value name="MAX_IA%1,50%" desc="谐波电流相角(2-50)最大值" type="6" DO="MHAI1$MX$HA" DA="phs*Har[%-1]$ang$f" />
<Value name="MIN_IA%1,50%" desc="谐波电流相角(2-50)最小值" type="6" DO="MHAI3$MX$HA" DA="phs*Har[%-1]$ang$f" />
<Value name="ITHD" desc="电流总谐波畸变率平均" type="6" DO="MHAI2$MX$ThdA" DA="phs*$cVal$mag$f" Coefficient="1" />
<Value name="MAX_ITHD" desc="电流总谐波畸变率最大" type="6" DO="MHAI1$MX$ThdA" DA="phs*$cVal$mag$f" Coefficient="1" />
<Value name="MIN_ITHD" desc="电流总谐波畸变率最小" type="6" DO="MHAI3$MX$ThdA" DA="phs*$cVal$mag$f" Coefficient="1" />
<Value name="G_ITHD" desc="电流总谐波畸变率95" type="6" DO="MHAI4$MX$ThdA" DA="phs*$cVal$mag$f" Coefficient="1" />
</Sequence>
<!--电流I部分(T相)-->
<Sequence name="SEQ" value="8" desc="相别(T相)" type="5">
<Value name="G_INSEQ" desc="负序电流95值" type="6" DO="MSQI4$MX$SeqA" DA="c2$cVal$mag$f" />
<Value name="INSEQ" desc="负序电流平均值" type="6" DO="MSQI2$MX$SeqA" DA="c2$cVal$mag$f" />
<Value name="MAX_INSEQ" desc="负序电流最大值" type="6" DO="MSQI1$MX$SeqA" DA="c2$cVal$mag$f" />
<Value name="MIN_INSEQ" desc="负序电流最小值" type="6" DO="MSQI3$MX$SeqA" DA="c2$cVal$mag$f" />
<Value name="G_I_UNBAN" desc="负序电流不平衡95值" type="6" DO="MSQI4$MX$ImbNgA" DA="mag$f" />
<Value name="I_UNBAN" desc="负序电流不平衡平均值" type="6" DO="MSQI2$MX$ImbNgA" DA="mag$f" />
<Value name="MAX_I_UNBAN" desc="负序电流不平衡最大值" type="6" DO="MSQI1$MX$ImbNgA" DA="mag$f" />
<Value name="MIN_I_UNBAN" desc="负序电流不平衡最小值" type="6" DO="MSQI3$MX$ImbNgA" DA="mag$f" />
<Value name="G_IZSEQ" desc="零序电流95值" type="6" DO="MSQI4$MX$SeqA" DA="c3$cVal$mag$f" />
<Value name="IZSEQ" desc="零序电流平均值" type="6" DO="MSQI2$MX$SeqA" DA="c3$cVal$mag$f" />
<Value name="MAX_IZSEQ" desc="零序电流最大值" type="6" DO="MSQI1$MX$SeqA" DA="c3$cVal$mag$f" />
<Value name="MIN_IZSEQ" desc="零序电流最小值" type="6" DO="MSQI3$MX$SeqA" DA="c3$cVal$mag$f" />
<Value name="G_VZSEQ_UNBAN" desc="零序电流不平衡95值" type="6" DO="MSQI4$MX$ImbZroA" DA="mag$f" />
<Value name="VZSEQ_UNBAN" desc="零序电流不平衡平均值" type="6" DO="MSQI2$MX$ImbZroA" DA="mag$f" />
<Value name="MAX_IZSEQ_UNBAN" desc="零序电流不平衡最大值" type="6" DO="MSQI1$MX$ImbZroA" DA="mag$f" />
<Value name="MIN_IZSEQ_UNBAN" desc="零序电流不平衡最小值" type="6" DO="MSQI3$MX$ImbZroA" DA="mag$f" />
<Value name="G_IPSEQ" desc="正序电流95值" type="6" DO="MSQI4$MX$SeqA" DA="c1$cVal$mag$f" />
<Value name="IPSEQ" desc="正序电流平均值" type="6" DO="MSQI2$MX$SeqA" DA="c1$cVal$mag$f" />
<Value name="MAX_IPSEQ" desc="正序电流最大值" type="6" DO="MSQI1$MX$SeqA" DA="c1$cVal$mag$f" />
<Value name="MIN_IPSEQ" desc="正序电流最小值" type="6" DO="MSQI3$MX$SeqA" DA="c1$cVal$mag$f" />
</Sequence>
</Item>
<Item name="PQ" desc="功率" type="4" >
<!--功率PQ部分(A-C相)-->
<Sequence name="SEQ" value="7" desc="相别(A-C相)" type="5">
<Value name="G_PF" desc="功率因数95值" type="6" DO="MMXU4$MX$PF" DA="phs*$cVal$mag$f" />
<Value name="PF" desc="功率因数平均值" type="6" DO="MMXU2$MX$PF" DA="phs*$cVal$mag$f" />
<Value name="MAX_PF" desc="功率因数最大值" type="6" DO="MMXU1$MX$PF" DA="phs*$cVal$mag$f" />
<Value name="MIN_PF" desc="功率因数最小值" type="6" DO="MMXU3$MX$PF" DA="phs*$cVal$mag$f" />
<Value name="G_DF" desc="位移功率因数95值" type="6" DO="MMXU4$MX$DF" DA="phs*$cVal$mag$f" />
<Value name="DF" desc="位移功率因数平均值" type="6" DO="MMXU2$MX$DF" DA="phs*$cVal$mag$f" />
<Value name="MAX_DF" desc="位移功率因数最大值" type="6" DO="MMXU1$MX$DF" DA="phs*$cVal$mag$f" />
<Value name="MIN_DF" desc="位移功率因数最小值" type="6" DO="MMXU3$MX$DF" DA="phs*$cVal$mag$f" />
<Value name="G_P_FUND" desc="基波有功功率95值" type="6" DO="MHAI4$MX$HW" DA="phs*Har[0]$mag$f" />
<Value name="P_FUND" desc="基波有功功率平均值" type="6" DO="MHAI2$MX$HW" DA="phs*Har[0]$mag$f" />
<Value name="MAX_P_FUND" desc="基波有功功率最大值" type="6" DO="MHAI1$MX$HW" DA="phs*Har[0]$mag$f" />
<Value name="MIN_P_FUND" desc="基波有功功率最小值" type="6" DO="MHAI3$MX$HW" DA="phs*Har[0]$mag$f" />
<Value name="G_S" desc="视在功率95值" type="6" DO="MMXU4$MX$VA" DA="phs*$cVal$mag$f" />
<Value name="S" desc="视在功率平均值" type="6" DO="MMXU2$MX$VA" DA="phs*$cVal$mag$f" />
<Value name="MAX_S" desc="视在功率最大值" type="6" DO="MMXU1$MX$VA" DA="phs*$cVal$mag$f" />
<Value name="MIN_S" desc="视在功率最小值" type="6" DO="MMXU3$MX$VA" DA="phs*$cVal$mag$f" />
<Value name="G_Q" desc="无功功率95值" type="6" DO="MMXU4$MX$VAr" DA="phs*$cVal$mag$f" />
<Value name="Q" desc="无功功率平均值" type="6" DO="MMXU2$MX$VAr" DA="phs*$cVal$mag$f" />
<Value name="MAX_Q" desc="无功功率最大值" type="6" DO="MMXU1$MX$VAr" DA="phs*$cVal$mag$f" />
<Value name="MIN_Q" desc="无功功率最小值" type="6" DO="MMXU3$MX$VAr" DA="phs*$cVal$mag$f" />
<Value name="G_P%1,50%" desc="谐波有功功率(2-50)95值" type="6" DO="MHAI4$MX$HW" DA="phs*Har[%-1]$mag$f" />
<Value name="P%1,50%" desc="谐波有功功率(2-50)平均值" type="6" DO="MHAI2$MX$HW" DA="phs*Har[%-1]$mag$f" />
<Value name="MAX_P%1,50%" desc="谐波有功功率(2-50)最大值" type="6" DO="MHAI1$MX$HW" DA="phs*Har[%-1]$mag$f" />
<Value name="MIN_P%1,50%" desc="谐波有功功率(2-50)最小值" type="6" DO="MHAI3$MX$HW" DA="phs*Har[%-1]$mag$f" />
<Value name="G_Q%1,50%" desc="谐波无功功率(2-50)95值" type="6" DO="MHAI4$MX$HVAr" DA="phs*Har[%-1]$mag$f" />
<Value name="Q%1,50%" desc="谐波无功功率(2-50)平均值" type="6" DO="MHAI2$MX$HVAr" DA="phs*Har[%-1]$mag$f" />
<Value name="MAX_Q%1,50%" desc="谐波无功功率(2-50)最大值" type="6" DO="MHAI1$MX$HVAr" DA="phs*Har[%-1]$mag$f" />
<Value name="MIN_Q%1,50%" desc="谐波无功功率(2-50)最小值" type="6" DO="MHAI3$MX$HVAr" DA="phs*Har[%-1]$mag$f" />
<Value name="G_S%1,50%" desc="谐波视在功率(2-50)95值" type="6" DO="MHAI4$MX$HVA" DA="phs*Har[%-1]$mag$f" />
<Value name="S%1,50%" desc="谐波视在功率(2-50)平均值" type="6" DO="MHAI2$MX$HVA" DA="phs*Har[%-1]$mag$f" />
<Value name="MAX_S%1,50%" desc="谐波视在功率(2-50)最大值" type="6" DO="MHAI1$MX$HVA" DA="phs*Har[%-1]$mag$f" />
<Value name="MIN_S%1,50%" desc="谐波视在功率(2-50)最小值" type="6" DO="MHAI3$MX$HVA" DA="phs*Har[%-1]$mag$f" />
<Value name="G_P" desc="有功功率95值" type="6" DO="MMXU4$MX$W" DA="phs*$cVal$mag$f" />
<Value name="P" desc="有功功率平均值" type="6" DO="MMXU2$MX$W" DA="phs*$cVal$mag$f" />
<Value name="MAX_P" desc="有功功率最大值" type="6" DO="MMXU1$MX$W" DA="phs*$cVal$mag$f" />
<Value name="MIN_P" desc="有功功率最小值" type="6" DO="MMXU3$MX$W" DA="phs*$cVal$mag$f" />
</Sequence>
<!--功率PQ部分(T相)-->
<Sequence name="SEQ" value="8" desc="相别(T相)" type="5">
<Value name="G_PF" desc="功率因数95值" type="6" DO="MMXU4$MX$TotPF" DA="mag$f" />
<Value name="PF" desc="功率因数平均值" type="6" DO="MMXU2$MX$TotPF" DA="mag$f" />
<Value name="MAX_PF" desc="功率因数最大值" type="6" DO="MMXU1$MX$TotPF" DA="mag$f" />
<Value name="MIN_PF" desc="功率因数最小值" type="6" DO="MMXU3$MX$TotPF" DA="mag$f" />
<Value name="G_DF" desc="位移功率因数95值" type="6" DO="MMXU4$MX$TotDF" DA="mag$f" />
<Value name="DF" desc="位移功率因数平均值" type="6" DO="MMXU2$MX$TotDF" DA="mag$f" />
<Value name="MAX_DF" desc="位移功率因数最大值" type="6" DO="MMXU1$MX$TotDF" DA="mag$f" />
<Value name="MIN_DF" desc="位移功率因数最小值" type="6" DO="MMXU3$MX$TotDF" DA="mag$f" />
<Value name="G_S" desc="视在功率95值" type="6" DO="MMXU4$MX$TotVA" DA="mag$f" />
<Value name="S" desc="视在功率平均值" type="6" DO="MMXU2$MX$TotVA" DA="mag$f" />
<Value name="MAX_S" desc="视在功率最大值" type="6" DO="MMXU1$MX$TotVA" DA="mag$f" />
<Value name="MIN_S" desc="视在功率最小值" type="6" DO="MMXU3$MX$TotVA" DA="mag$f" />
<Value name="G_Q" desc="无功功率95值" type="6" DO="MMXU4$MX$TotVAr" DA="mag$f" />
<Value name="Q" desc="无功功率平均值" type="6" DO="MMXU2$MX$TotVAr" DA="mag$f" />
<Value name="MAX_Q" desc="无功功率最大值" type="6" DO="MMXU1$MX$TotVAr" DA="mag$f" />
<Value name="MIN_Q" desc="无功功率最小值" type="6" DO="MMXU3$MX$TotVAr" DA="mag$f" />
<Value name="G_P" desc="有功功率95值" type="6" DO="MMXU4$MX$TotW" DA="mag$f" />
<Value name="P" desc="有功功率平均值" type="6" DO="MMXU2$MX$TotW" DA="mag$f" />
<Value name="MAX_P" desc="有功功率最大值" type="6" DO="MMXU1$MX$TotW" DA="mag$f" />
<Value name="MIN_P" desc="有功功率最小值" type="6" DO="MMXU3$MX$TotW" DA="mag$f" />
</Sequence>
</Item>
</Monitor>
</DataType>
</Topic>
<Topic name="RTDATA" desc="实时数据">
<DataType name="DATA_TYPE" value="01" desc="实时稳态数据" send="1" type="0">
<Monitor name="-" desc="监测点" type="1">
<Item name="FLAG" value="0" desc="剔除标记" type="3" />
<Item name="TIME" desc="发生时刻" type="3" />
<Item name="V" desc="电压" type="4" >
<!--电压V部分(A-C相)-->
<Sequence name="SEQ" value="7" desc="相别(A-C相)" type="5">
<Value name="VRMS" desc="电压有效值" type="6" DO="MMXU0$MX$PhV" DA="phs*$cVal$mag$f" Coefficient="1" />
<Value name="DELTA_V" desc="电压偏差" type="6" DO="MMXU0$MX$PhVDev" DA="phs*$cVal$mag$f" Coefficient="1" />
<Value name="VTHD" desc="电压总谐波畸变率" type="6" DO="MHAI0$MX$ThdPhV" DA="phs*$cVal$mag$f" Coefficient="1" />
<!--icd101/102模型-->
<Value name="VFUND_ANGLE" desc="基波电压相角" type="6" DO="MHAI0$MX$HFundPhV" DA="phs*$cVal$ang$f" Coefficient="1" />
<Value name="VRMS_LVR" desc="线电压有效值" type="6" DO="MMXU0$MX$PPV" DA="l_phs*$cVal$mag$f" BaseFlag="1" LimitUp="0*%U" LimitDown="150*%U" />
<!--icd100模型-->
<!--<Value name="V_ANGLE" desc="基波电压相角" type="6" DO="MMXU0$MX$PhV||MMXU0$MX$PPV" DA="phs*$cVal$ang$f||phs##$cVal$ang$f" Coefficient="1" /-->
<!--icd101/102模型-->
<Value name="V1" desc="基波电压有效值" type="6" DO="MHAI0$MX$HFundPhV" DA="phs*$cVal$mag$f" Coefficient="1" />
<!--icd100模型-->
<!--Value name="V1" desc="基波电压有效值" type="6" DO="MHAI2$MX$HFundPhV||MHAI2$MX$HFundPPV" DA="phs*$cVal$mag$f||phs##$cVal$mag$f" Coefficient="1" /-->
<Value name="V%2,50%" desc="2-50次谐波电压含有率" type="6" DO="MHAI0$MX$HRPhV" DA="phs*Har[%-2]$mag$f" Coefficient="1" Offset="0" />
<Value name="SV_%0,49%" desc="1-50次间谐波电压含有率" type="6" DO="MHAI5$MX$HRPhV" DA="phs*Har[%-0]$mag$f" Coefficient="1" Offset="0" />
<Value name="VA%2,50%" desc="谐波电压相角(2-50)" type="6" DO="MHAI5$MX$HRPhV" DA="phs*Har[%-2]$ang$f" />
</Sequence>
<!--电压V部分(A-C相)角型接线-->
<Sequence name="SEQ" value="112" desc="相别(A-C相)" type="5">
<!--Coefficient 值系数转成kafka的时候乘以系数BaseFlag 基础数据标志 0或没有-非基础数据 1-基础数据LimitUp 数据合理上限,如果包含*%UN字符表示需要乘以电压等级电压如果包含*%U字符表示需要乘以电压等级/1.732电压例如220kV则相电压上限为1.5*220LimitDown 数据合理下限 如果包含*%U字符表示需要乘以电压等级电压-->
<Value name="DELTA_V" desc="电压偏差" type="6" DO="MMXU0$MX$PPVDev" DA="phs*$cVal$mag$f" Coefficient="1"/>
<Value name="VRMS_LVR" desc="电压有效值" type="6" DO="MMXU0$MX$PPV" DA="phs*$cVal$mag$f" BaseFlag="1" LimitUp="0*%U" LimitDown="150*%U" Coefficient="1" />
<Value name="VTHD" desc="电压总谐波畸变率" type="6" DO="MHAI0$MX$ThdPPV" DA="phs*$cVal$mag$f" Coefficient="1"/>
<Value name="VFUND_ANGLE" desc="基波电压相角" type="6" DO="MHAI0$MX$HFundPPV" DA="phs*$cVal$ang$f" Coefficient="1" />
<Value name="V1" desc="基波电压有效值" type="6" DO="MHAI0$MX$HFundPPV" DA="phs*$cVal$mag$f" Coefficient="1"/>
<Value name="SV_%0,49%" desc="间谐波电压含有率(f25-2475)" type="6" DO="MHAI0$MX$HRPPV" DA="phs*Har[%-0]$mag$f" Coefficient="1" Offset="0" />
<Value name="V%2,50%" desc="谐波电压含有率(2-50)" type="6" DO="MHAI5$MX$HRPPV" DA="phs*Har[%-2]$mag$f" Coefficient="1" Offset="0" />
<Value name="VA%2,50%" desc="谐波电压相角(2-50)" type="6" DO="MHAI5$MX$HRPPV" DA="phs*Har[%-2]$ang$f" />
</Sequence>
<Sequence name="SEQ" value="8" desc="相别(T相)" type="5">
<!--电压V部分(T相)-->
<Value name="VNSEQ" desc="负序电压" type="6" DO="MSQI0$MX$SeqV" DA="c2$cVal$mag$f" Coefficient="1" />
<Value name="V_UNBAN" desc="负序电压不平衡" type="6" DO="MSQI0$MX$ImbNgV" DA="mag$f" Coefficient="1" />
<Value name="VZSEQ" desc="零序电压" type="6" DO="MSQI0$MX$SeqV" DA="c3$cVal$mag$f" Coefficient="1" />
<Value name="VZSEQ_UNBAN" desc="零序电压不平衡" type="6" DO="MSQI0$MX$ImbZroV" DA="mag$f" Coefficient="1" />
<Value name="FREQ" desc="频率" type="6" DO="MMXU0$MX$Hz" DA="mag$f" Coefficient="1" />
<Value name="DELTA_FREQ" desc="频率偏差" type="6" DO="MMXU0$MX$HzDev" DA="mag$f" Coefficient="1" />
<Value name="VPSEQ" desc="正序电压" type="6" DO="MSQI0$MX$SeqV" DA="c1$cVal$mag$f" Coefficient="1" />
</Sequence>
</Item>
<Item name="I" desc="电流" type="4" >
<!--电流I部分(A-C相)-->
<Sequence name="SEQ" value="7" desc="相别(A-C相)" type="5">
<Value name="IRMS" desc="电流有效值" type="6" DO="MMXU0$MX$A" DA="phs*$cVal$mag$f" Coefficient="1" />
<Value name="I1" desc="基波电流有效值" type="6" DO="MHAI0$MX$HA" DA="phs*Har[0]$mag$f" Coefficient="1" />
<Value name="ITHD" desc="电流总谐波畸变率" type="6" DO="MHAI0$MX$ThdA" DA="phs*$cVal$mag$f" Coefficient="1" />
<!--icd101/102模型-->
<Value name="I_ANGLE" desc="基波电流相角" type="6" DO="MHAI0$MX$HA" DA="phs*Har[0]$ang$f" Coefficient="1" />
<!--icd100模型-->
<!--Value name="I_ANGLE" desc="基波电流相角" type="6" DO="MMXU0$MX$A" DA="phs*$cVal$ang$f" Coefficient="1" /-->
<Value name="I%2,50%" desc="2-50次谐波电流幅值" type="6" DO="MHAI0$MX$HA" DA="phs*Har[%-1]$mag$f" Coefficient="1" Offset="0" />
<Value name="SI_%0,49%" desc="1-50次间谐波电流含有率" type="6" DO="MHAI5$MX$HA" DA="phs*Har[%-0]$mag$f" Coefficient="1" Offset="0" />
<!--Value name="I%1,49%" desc="1-50次谐波电流含有率" type="6" DO="MHAI0$MX$HA" DA="phs*Har[%-2]$mag$f" Coefficient="1" Offset="1" /-->
</Sequence>
<!--电流I部分(T相)-->
<Sequence name="SEQ" value="8" desc="相别(T相)" type="5">
<Value name="INSEQ" desc="负序电流" type="6" DO="MSQI0$MX$SeqA" DA="c2$cVal$mag$f" Coefficient="1" />
<Value name="I_UNBAN" desc="负序电流不平衡" type="6" DO="MSQI0$MX$ImbNgA" DA="mag$f" Coefficient="1" />
<Value name="IZSEQ" desc="零序电流" type="6" DO="MSQI0$MX$SeqA" DA="c3$cVal$mag$f" Coefficient="1" />
<Value name="IZSEQ_UNBAN" desc="零序电流不平衡" type="6" DO="MSQI0$MX$ImbZroA" DA="mag$f" Coefficient="1" />
<Value name="IPSEQ" desc="正序电流" type="6" DO="MSQI0$MX$SeqA" DA="c1$cVal$mag$f" Coefficient="1" />
</Sequence>
</Item>
<Item name="PQ" desc="功率" type="4" >
<!--功率PQ部分(A-C相)-->
<Sequence name="SEQ" value="7" desc="相别(A-C相)" type="5">
<Value name="PF" desc="功率因数" type="6" DO="MMXU0$MX$PF" DA="phs*$cVal$mag$f" Coefficient="1" />
<Value name="DF" desc="基波功率因数" type="6" DO="MMXU0$MX$DF" DA="phs*$cVal$mag$f" Coefficient="1" />
<Value name="P_FUND" desc="基波有功功率" type="6" DO="MHAI0$MX$HW" DA="phs*Har[0]$mag$f" Coefficient="1" />
<Value name="S" desc="视在功率" type="6" DO="MMXU0$MX$VA" DA="phs*$cVal$mag$f" Coefficient="1" />
<Value name="Q" desc="无功功率" type="6" DO="MMXU0$MX$VAr" DA="phs*$cVal$mag$f" Coefficient="1" />
<Value name="P" desc="有功功率" type="6" DO="MMXU0$MX$W" DA="phs*$cVal$mag$f" Coefficient="1" />
</Sequence>
<!--功率PQ部分(T相)-->
<Sequence name="SEQ" value="8" desc="相别(T相)" type="5">
<Value name="PF" desc="功率因数" type="6" DO="MMXU0$MX$TotPF" DA="mag$f" Coefficient="1" />
<Value name="DF" desc="基波功率因数" type="6" DO="MMXU0$MX$TotDF" DA="mag$f" Coefficient="1" />
<Value name="S" desc="视在功率" type="6" DO="MMXU0$MX$TotVA" DA="mag$f" Coefficient="1" />
<Value name="Q" desc="无功功率" type="6" DO="MMXU0$MX$TotVAr" DA="mag$f" Coefficient="1" />
<Value name="P" desc="有功功率" type="6" DO="MMXU0$MX$TotW" DA="mag$f" Coefficient="1" />
</Sequence>
</Item>
</Monitor>
</DataType>
<DataType name="DATA_TYPE" value="02" desc="实时闪变数据" send="0" type="0">
<Monitor name="MONITOR" desc="监测点" type="1">
<Item name="TIME" desc="发生时刻" type="3" />
<Item name="F" desc="闪变" type="4" >
<Sequence name="SEQ" value="7" desc="相别" type="5" >
<Value name="SF" desc="短时闪变" type="6" DO="MFLK0$MX$PhPst||MFLK0$MX$PPPst" DA="phs*$cVal$mag$f||phs##$cVal$mag$f" Coefficient="1" PltFlag="False" />
<Value name="LF" desc="长时闪变" type="6" DO="MFLK0$MX$PhPlt||MFLK0$MX$PPPlt" DA="phs*$cVal$mag$f||phs##$cVal$mag$f" Coefficient="1" PltFlag="True" />
</Sequence>
</Item>
</Monitor>
</DataType>
<DataType name="DATA_TYPE" value="03" desc="实时暂态事件" send="0" type="0" >
<Monitor name="MONITOR" desc="监测点" type="1" >
<Item name="VOLTAGE" desc="暂态指标" type="4" >
<Sequence name="SEQ" value="-" desc="相别" type="5">
<Value name="MAG" desc="残余电压" type="6" DO="QVVR0$MX$VVa" DA="mag$f" Coefficient="1" />
<Value name="DUR" desc="持续时间" type="6" DO="QVVR0$MX$VVaTm" DA="mag$f" Coefficient="1" />
<!--Value name="STARTTIME" desc="开始时间" type="6" DO="" DA="" Coefficient="1" />
<Value name="ENDTIME" desc="结束时间" type="6" DO="" DA="" Coefficient="1" />
<Value name="DISKIND" desc="暂降类型" type="6" DO="" DA="" Coefficient="1" />
<Value name="WAVEFILE" desc="波形文件名称" type="6" DO="" DA="" Coefficient="1" /-->
</Sequence>
</Item>
</Monitor>
</DataType>
</Topic>
<Topic name="RTDATASOE" desc="实时SOE事件">
<DataType name="DATA_TYPE" value="01" desc="稳态SOE事件" type="0" >
<SOE desc="频率偏差越上限" type="9" DO="GGIO0$ST$Alm1" DA="stVal" TriggerFlag="Alm1" />
<SOE desc="频率偏差越下限" type="9" DO="GGIO0$ST$Alm2" DA="stVal" TriggerFlag="Alm2" />
<SOE desc="电压偏差越上限" type="9" DO="GGIO0$ST$Alm3" DA="stVal" TriggerFlag="Alm3" />
<SOE desc="电压偏差越下限" type="9" DO="GGIO0$ST$Alm4" DA="stVal" TriggerFlag="Alm4" />
<SOE desc="短时闪变越限" type="9" DO="GGIO0$ST$Alm5" DA="stVal" TriggerFlag="Alm5" />
<SOE desc="长时闪变越限" type="9" DO="GGIO0$ST$Alm6" DA="stVal" TriggerFlag="Alm6" />
<SOE desc="电压波动越限" type="9" DO="GGIO0$ST$Alm7" DA="stVal" TriggerFlag="Alm7" />
<SOE desc="电压负序不平衡度越限" type="9" DO="GGIO0$ST$Alm8" DA="stVal" TriggerFlag="Alm8" />
<SOE desc="电压总谐波畸变率越限" type="9" DO="GGIO0$ST$Alm9" DA="stVal" TriggerFlag="Alm9" />
<SOE desc="2次谐波电压越限" type="9" DO="GGIO0$ST$Alm10" DA="stVal" TriggerFlag="Alm10" />
<SOE desc="3次谐波电压越限" type="9" DO="GGIO0$ST$Alm11" DA="stVal" TriggerFlag="Alm11" />
<SOE desc="4次谐波电压越限" type="9" DO="GGIO0$ST$Alm12" DA="stVal" TriggerFlag="Alm12" />
<SOE desc="5次谐波电压越限" type="9" DO="GGIO0$ST$Alm13" DA="stVal" TriggerFlag="Alm13" />
<SOE desc="6次谐波电压越限" type="9" DO="GGIO0$ST$Alm14" DA="stVal" TriggerFlag="Alm14" />
<SOE desc="7次谐波电压越限" type="9" DO="GGIO0$ST$Alm15" DA="stVal" TriggerFlag="Alm15" />
<SOE desc="8次谐波电压越限" type="9" DO="GGIO0$ST$Alm16" DA="stVal" TriggerFlag="Alm16" />
<SOE desc="9次谐波电压越限" type="9" DO="GGIO0$ST$Alm17" DA="stVal" TriggerFlag="Alm17" />
<SOE desc="10次谐波电压越限" type="9" DO="GGIO0$ST$Alm18" DA="stVal" TriggerFlag="Alm18" />
<SOE desc="11次谐波电压越限" type="9" DO="GGIO0$ST$Alm19" DA="stVal" TriggerFlag="Alm19" />
<SOE desc="12次谐波电压越限" type="9" DO="GGIO0$ST$Alm20" DA="stVal" TriggerFlag="Alm20" />
<SOE desc="13次谐波电压越限" type="9" DO="GGIO0$ST$Alm21" DA="stVal" TriggerFlag="Alm21" />
<SOE desc="14次谐波电压越限" type="9" DO="GGIO0$ST$Alm22" DA="stVal" TriggerFlag="Alm22" />
<SOE desc="15次谐波电压越限" type="9" DO="GGIO0$ST$Alm23" DA="stVal" TriggerFlag="Alm23" />
<SOE desc="16次谐波电压越限" type="9" DO="GGIO0$ST$Alm24" DA="stVal" TriggerFlag="Alm24" />
<SOE desc="17次谐波电压越限" type="9" DO="GGIO0$ST$Alm25" DA="stVal" TriggerFlag="Alm25" />
<SOE desc="18次谐波电压越限" type="9" DO="GGIO0$ST$Alm26" DA="stVal" TriggerFlag="Alm26" />
<SOE desc="19次谐波电压越限" type="9" DO="GGIO0$ST$Alm27" DA="stVal" TriggerFlag="Alm27" />
<SOE desc="20次谐波电压越限" type="9" DO="GGIO0$ST$Alm28" DA="stVal" TriggerFlag="Alm28" />
<SOE desc="21次谐波电压越限" type="9" DO="GGIO0$ST$Alm29" DA="stVal" TriggerFlag="Alm29" />
<SOE desc="22次谐波电压越限" type="9" DO="GGIO0$ST$Alm30" DA="stVal" TriggerFlag="Alm30" />
<SOE desc="23次谐波电压越限" type="9" DO="GGIO0$ST$Alm31" DA="stVal" TriggerFlag="Alm31" />
<SOE desc="24次谐波电压越限" type="9" DO="GGIO0$ST$Alm32" DA="stVal" TriggerFlag="Alm32" />
<SOE desc="25次谐波电压越限" type="9" DO="GGIO0$ST$Alm33" DA="stVal" TriggerFlag="Alm33" />
<SOE desc="26次谐波电压越限" type="9" DO="GGIO0$ST$Alm34" DA="stVal" TriggerFlag="Alm34" />
<SOE desc="27次谐波电压越限" type="9" DO="GGIO0$ST$Alm35" DA="stVal" TriggerFlag="Alm35" />
<SOE desc="28次谐波电压越限" type="9" DO="GGIO0$ST$Alm36" DA="stVal" TriggerFlag="Alm36" />
<SOE desc="29次谐波电压越限" type="9" DO="GGIO0$ST$Alm37" DA="stVal" TriggerFlag="Alm37" />
<SOE desc="30次谐波电压越限" type="9" DO="GGIO0$ST$Alm38" DA="stVal" TriggerFlag="Alm38" />
<SOE desc="31次谐波电压越限" type="9" DO="GGIO0$ST$Alm39" DA="stVal" TriggerFlag="Alm39" />
<SOE desc="32次谐波电压越限" type="9" DO="GGIO0$ST$Alm40" DA="stVal" TriggerFlag="Alm40" />
<SOE desc="33次谐波电压越限" type="9" DO="GGIO0$ST$Alm41" DA="stVal" TriggerFlag="Alm41" />
<SOE desc="34次谐波电压越限" type="9" DO="GGIO0$ST$Alm42" DA="stVal" TriggerFlag="Alm42" />
<SOE desc="35次谐波电压越限" type="9" DO="GGIO0$ST$Alm43" DA="stVal" TriggerFlag="Alm43" />
<SOE desc="36次谐波电压越限" type="9" DO="GGIO0$ST$Alm44" DA="stVal" TriggerFlag="Alm44" />
<SOE desc="37次谐波电压越限" type="9" DO="GGIO0$ST$Alm45" DA="stVal" TriggerFlag="Alm45" />
<SOE desc="38次谐波电压越限" type="9" DO="GGIO0$ST$Alm46" DA="stVal" TriggerFlag="Alm46" />
<SOE desc="39次谐波电压越限" type="9" DO="GGIO0$ST$Alm47" DA="stVal" TriggerFlag="Alm47" />
<SOE desc="40次谐波电压越限" type="9" DO="GGIO0$ST$Alm48" DA="stVal" TriggerFlag="Alm48" />
<SOE desc="41次谐波电压越限" type="9" DO="GGIO0$ST$Alm49" DA="stVal" TriggerFlag="Alm49" />
<SOE desc="42次谐波电压越限" type="9" DO="GGIO0$ST$Alm50" DA="stVal" TriggerFlag="Alm50" />
<SOE desc="43次谐波电压越限" type="9" DO="GGIO0$ST$Alm51" DA="stVal" TriggerFlag="Alm51" />
<SOE desc="44次谐波电压越限" type="9" DO="GGIO0$ST$Alm52" DA="stVal" TriggerFlag="Alm52" />
<SOE desc="45次谐波电压越限" type="9" DO="GGIO0$ST$Alm53" DA="stVal" TriggerFlag="Alm53" />
<SOE desc="46次谐波电压越限" type="9" DO="GGIO0$ST$Alm54" DA="stVal" TriggerFlag="Alm54" />
<SOE desc="47次谐波电压越限" type="9" DO="GGIO0$ST$Alm55" DA="stVal" TriggerFlag="Alm55" />
<SOE desc="48次谐波电压越限" type="9" DO="GGIO0$ST$Alm56" DA="stVal" TriggerFlag="Alm56" />
<SOE desc="49次谐波电压越限" type="9" DO="GGIO0$ST$Alm57" DA="stVal" TriggerFlag="Alm57" />
<SOE desc="50次谐波电压越限" type="9" DO="GGIO0$ST$Alm58" DA="stVal" TriggerFlag="Alm58" />
<SOE desc="2次谐波电流越限" type="9" DO="GGIO0$ST$Alm59" DA="stVal" TriggerFlag="Alm59" />
<SOE desc="3次谐波电流越限" type="9" DO="GGIO0$ST$Alm60" DA="stVal" TriggerFlag="Alm60" />
<SOE desc="4次谐波电流越限" type="9" DO="GGIO0$ST$Alm61" DA="stVal" TriggerFlag="Alm61" />
<SOE desc="5次谐波电流越限" type="9" DO="GGIO0$ST$Alm62" DA="stVal" TriggerFlag="Alm62" />
<SOE desc="6次谐波电流越限" type="9" DO="GGIO0$ST$Alm63" DA="stVal" TriggerFlag="Alm63" />
<SOE desc="7次谐波电流越限" type="9" DO="GGIO0$ST$Alm64" DA="stVal" TriggerFlag="Alm64" />
<SOE desc="8次谐波电流越限" type="9" DO="GGIO0$ST$Alm65" DA="stVal" TriggerFlag="Alm65" />
<SOE desc="9次谐波电流越限" type="9" DO="GGIO0$ST$Alm66" DA="stVal" TriggerFlag="Alm66" />
<SOE desc="10次谐波电流越限" type="9" DO="GGIO0$ST$Alm67" DA="stVal" TriggerFlag="Alm67" />
<SOE desc="11次谐波电流越限" type="9" DO="GGIO0$ST$Alm68" DA="stVal" TriggerFlag="Alm68" />
<SOE desc="12次谐波电流越限" type="9" DO="GGIO0$ST$Alm69" DA="stVal" TriggerFlag="Alm69" />
<SOE desc="13次谐波电流越限" type="9" DO="GGIO0$ST$Alm70" DA="stVal" TriggerFlag="Alm70" />
<SOE desc="14次谐波电流越限" type="9" DO="GGIO0$ST$Alm71" DA="stVal" TriggerFlag="Alm71" />
<SOE desc="15次谐波电流越限" type="9" DO="GGIO0$ST$Alm72" DA="stVal" TriggerFlag="Alm72" />
<SOE desc="16次谐波电流越限" type="9" DO="GGIO0$ST$Alm73" DA="stVal" TriggerFlag="Alm73" />
<SOE desc="17次谐波电流越限" type="9" DO="GGIO0$ST$Alm74" DA="stVal" TriggerFlag="Alm74" />
<SOE desc="18次谐波电流越限" type="9" DO="GGIO0$ST$Alm75" DA="stVal" TriggerFlag="Alm75" />
<SOE desc="19次谐波电流越限" type="9" DO="GGIO0$ST$Alm76" DA="stVal" TriggerFlag="Alm76" />
<SOE desc="20次谐波电流越限" type="9" DO="GGIO0$ST$Alm77" DA="stVal" TriggerFlag="Alm77" />
<SOE desc="21次谐波电流越限" type="9" DO="GGIO0$ST$Alm78" DA="stVal" TriggerFlag="Alm78" />
<SOE desc="22次谐波电流越限" type="9" DO="GGIO0$ST$Alm79" DA="stVal" TriggerFlag="Alm79" />
<SOE desc="23次谐波电流越限" type="9" DO="GGIO0$ST$Alm80" DA="stVal" TriggerFlag="Alm80" />
<SOE desc="24次谐波电流越限" type="9" DO="GGIO0$ST$Alm81" DA="stVal" TriggerFlag="Alm81" />
<SOE desc="25次谐波电流越限" type="9" DO="GGIO0$ST$Alm82" DA="stVal" TriggerFlag="Alm82" />
<SOE desc="26次谐波电流越限" type="9" DO="GGIO0$ST$Alm83" DA="stVal" TriggerFlag="Alm83" />
<SOE desc="27次谐波电流越限" type="9" DO="GGIO0$ST$Alm84" DA="stVal" TriggerFlag="Alm84" />
<SOE desc="28次谐波电流越限" type="9" DO="GGIO0$ST$Alm85" DA="stVal" TriggerFlag="Alm85" />
<SOE desc="29次谐波电流越限" type="9" DO="GGIO0$ST$Alm86" DA="stVal" TriggerFlag="Alm86" />
<SOE desc="30次谐波电流越限" type="9" DO="GGIO0$ST$Alm87" DA="stVal" TriggerFlag="Alm87" />
<SOE desc="31次谐波电流越限" type="9" DO="GGIO0$ST$Alm88" DA="stVal" TriggerFlag="Alm88" />
<SOE desc="32次谐波电流越限" type="9" DO="GGIO0$ST$Alm89" DA="stVal" TriggerFlag="Alm89" />
<SOE desc="33次谐波电流越限" type="9" DO="GGIO0$ST$Alm90" DA="stVal" TriggerFlag="Alm90" />
<SOE desc="34次谐波电流越限" type="9" DO="GGIO0$ST$Alm91" DA="stVal" TriggerFlag="Alm91" />
<SOE desc="35次谐波电流越限" type="9" DO="GGIO0$ST$Alm92" DA="stVal" TriggerFlag="Alm92" />
<SOE desc="36次谐波电流越限" type="9" DO="GGIO0$ST$Alm93" DA="stVal" TriggerFlag="Alm93" />
<SOE desc="37次谐波电流越限" type="9" DO="GGIO0$ST$Alm94" DA="stVal" TriggerFlag="Alm94" />
<SOE desc="38次谐波电流越限" type="9" DO="GGIO0$ST$Alm95" DA="stVal" TriggerFlag="Alm95" />
<SOE desc="39次谐波电流越限" type="9" DO="GGIO0$ST$Alm96" DA="stVal" TriggerFlag="Alm96" />
<SOE desc="40次谐波电流越限" type="9" DO="GGIO0$ST$Alm97" DA="stVal" TriggerFlag="Alm97" />
<SOE desc="41次谐波电流越限" type="9" DO="GGIO0$ST$Alm98" DA="stVal" TriggerFlag="Alm98" />
<SOE desc="42次谐波电流越限" type="9" DO="GGIO0$ST$Alm99" DA="stVal" TriggerFlag="Alm99" />
<SOE desc="43次谐波电流越限" type="9" DO="GGIO0$ST$Alm100" DA="stVal" TriggerFlag="Alm100" />
<SOE desc="44次谐波电流越限" type="9" DO="GGIO0$ST$Alm101" DA="stVal" TriggerFlag="Alm101" />
<SOE desc="45次谐波电流越限" type="9" DO="GGIO0$ST$Alm102" DA="stVal" TriggerFlag="Alm102" />
<SOE desc="46次谐波电流越限" type="9" DO="GGIO0$ST$Alm103" DA="stVal" TriggerFlag="Alm103" />
<SOE desc="47次谐波电流越限" type="9" DO="GGIO0$ST$Alm104" DA="stVal" TriggerFlag="Alm104" />
<SOE desc="48次谐波电流越限" type="9" DO="GGIO0$ST$Alm105" DA="stVal" TriggerFlag="Alm105" />
<SOE desc="49次谐波电流越限" type="9" DO="GGIO0$ST$Alm106" DA="stVal" TriggerFlag="Alm106" />
<SOE desc="50次谐波电流越限" type="9" DO="GGIO0$ST$Alm107" DA="stVal" TriggerFlag="Alm107" />
<SOE desc="电压越上限(自定义触发)" type="9" DO="GGIO0$ST$Alm108" DA="stVal" TriggerFlag="Alm108" />
<SOE desc="电压越下限(自定义触发)" type="9" DO="GGIO0$ST$Alm109" DA="stVal" TriggerFlag="Alm109" />
<SOE desc="电流越上限(自定义触发)" type="9" DO="GGIO0$ST$Alm110" DA="stVal" TriggerFlag="Alm110" />
<SOE desc="电流越下限(自定义触发)" type="9" DO="GGIO0$ST$Alm111" DA="stVal" TriggerFlag="Alm111" />
<SOE desc="电压变化量越限(自定义触发)" type="9" DO="GGIO0$ST$Alm112" DA="stVal" TriggerFlag="Alm112" />
<SOE desc="电流变化量越限(自定义触发)" type="9" DO="GGIO0$ST$Alm113" DA="stVal" TriggerFlag="Alm113" />
</DataType>
<DataType name="DATA_TYPE" value="02" desc="暂态SOE事件" type="0" >
</DataType>
<DataType name="DATA_TYPE" value="03" desc="状态SOE事件" type="0" >
<SOE desc="终端工作电源上电" type="9" DO="LPHD0$ST$PwrUp" DA="stVal" TriggerFlag="PwrUp" />
<SOE desc="终端工作电源掉电" type="9" DO="GGIO0$ST$PwrDn" DA="stVal" TriggerFlag="PwrDn" />
</DataType>
</Topic>
<Topic name="SOEDATA" desc="告警SOE">
<SOE name="ThdVVal" desc="电压总畸变率越限告警" type="9" DO="GGIO0$ST$Alm9" DA="stVal" />
<SOE name="ThdAVal" desc="电流总畸变率越限告警" type="9" DO="" DA="" />
<SOE name="HToddVVal" desc="奇次谐波电压含有率越限告警" type="9" DO="" DA="" />
<SOE name="HTeddVVal" desc="偶次谐波电压含有率越限告警" type="9" DO="" DA="" />
<SOE name="H2AVal" desc="2次谐波电流越限告警" type="9" DO="GGIO0$ST$Alm59" DA="stVal" />
<SOE name="H3AVal" desc="3次谐波电流越限告警" type="9" DO="GGIO0$ST$Alm60" DA="stVal" />
<SOE name="H4AVal" desc="4次谐波电流越限告警" type="9" DO="GGIO0$ST$Alm61" DA="stVal" />
<SOE name="H5AVal" desc="5次谐波电流越限告警" type="9" DO="GGIO0$ST$Alm62" DA="stVal" />
<SOE name="H7AVal" desc="7次谐波电流越限告警" type="9" DO="GGIO0$ST$Alm64" DA="stVal" />
<SOE name="H9AVal" desc="9次谐波电流越限告警" type="9" DO="GGIO0$ST$Alm66" DA="stVal" />
<SOE name="H11AVal" desc="11次谐波电流越限告警" type="9" DO="GGIO0$ST$Alm68" DA="stVal" />
<SOE name="H13AVal" desc="13次谐波电流越限告警" type="9" DO="GGIO0$ST$Alm70" DA="" />
<SOE name="ImbNgVFVal" desc="电压负序不平衡度越限告警" type="9" DO="GGIO0$ST$Alm8" DA="stVal" />
<SOE name="ImbNgAFVal" desc="电流负序不平衡度越限告警" type="9" DO="" DA="" />
<SOE name="OvHzStrVal" desc="频率高越限告警" type="9" DO="GGIO0$ST$Alm1" DA="stVal" />
<SOE name="UnHzStrVal" desc="频率低越限告警" type="9" DO="GGIO0$ST$Alm2" DA="" />
<SOE name="LRVInterrup" desc="长期电压中断告警" type="9" DO="" DA="" />
<SOE name="LRVSwell" desc="电压上偏差越限告警" type="9" DO="GGIO0$ST$Alm3" DA="stVal" />
<SOE name="LRVSag" desc="电压下偏差越限告警" type="9" DO="GGIO0$ST$Alm4" DA="stVal" />
<SOE name="PhPstVal" desc="短时闪变越限告警" type="9" DO="GGIO0$ST$Alm5" DA="stVal" />
<SOE name="PhPltVal" desc="长时闪变越限告警" type="9" DO="GGIO0$ST$Alm6" DA="stVal" />
<SOE name="PhyStateFault" desc="终端运行状态:故障" type="9" DO="" DA="" />
<SOE name="PhyStateRun" desc="终端运行状态:运行" type="9" DO="" DA="" />
<SOE name="PwrUp" desc="终端上电" type="9" DO="" DA="" />
<SOE name="PwrDn" desc="终端掉电" type="9" DO="" DA="" />
<SOE name="CommInterrupt" desc="终端通信中断" type="9" DO="" DA="" />
<SOE name="CommResume" desc="终端通信恢复" type="9" DO="" DA="" />
</Topic>
</JSConfigTemplate>

6
LFtid1056/etc/runtime.cf Normal file
View File

@@ -0,0 +1,6 @@
# 文件名runtime.cf
# 执行程序路径 ^ 可执行程序名 启动参数 ^ 重启特有参数 ^ 首次启动特有参数 ^ 程序首次启动前的延时秒数 ^ 重启是否忽略 ^ 首次启动是否忽略
/home/pq/zwproject/LFtid1056/bin/ ^ cloud-front-test -s 3_3^ ^ ^ 1 ^ ^
/home/pq/zwproject/LFtid1056/bin/ ^ cloud-front-test -s 2_3^ ^ ^ 1 ^ ^
/home/pq/zwproject/LFtid1056/bin/ ^ cloud-front-test -s 1_3^ ^ ^ 1 ^ ^
/home/pq/zwproject/LFtid1056/bin/ ^ fe_watchdog -m 8192 ^ ^ ^ 1 ^ IGNORE_RESTART ^

View File

@@ -153,7 +153,7 @@ void* client_manager_thread(void* arg) {
printf("Started client connections\n"); printf("Started client connections\n");
// <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> /*// <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
std::vector<PointInfo> points1 = { std::vector<PointInfo> points1 = {
{"P001", "Main Voltage", "D001",1 ,1, 1, 1, 1,"0.38k",0}, {"P001", "Main Voltage", "D001",1 ,1, 1, 1, 1,"0.38k",0},
{"P002", "Backup Voltage", "D001",2 ,1, 1, 1, 1,"0.38k",0} {"P002", "Backup Voltage", "D001",2 ,1, 1, 1, 1,"0.38k",0}
@@ -165,16 +165,16 @@ void* client_manager_thread(void* arg) {
"D001", "Primary Device", "Model-X", "00-B7-8D-01-79-06", "D001", "Primary Device", "Model-X", "00-B7-8D-01-79-06",
1, points1,true 1, points1,true
} }
}; };*/
// <20><><EFBFBD><EFBFBD>100<30><30><EFBFBD><EFBFBD><EFBFBD><EFBFBD>װ<EFBFBD><D7B0> // <20><><EFBFBD><EFBFBD>100<30><30><EFBFBD><EFBFBD><EFBFBD><EFBFBD>װ<EFBFBD><D7B0>
//std::vector<DeviceInfo> test_devices = generate_test_devices(100); //std::vector<DeviceInfo> test_devices = generate_test_devices(100);
//lnk<6E><6B>̨<EFBFBD>˶<EFBFBD>ȡ<EFBFBD> //lnk<6E><6B>̨<EFBFBD>˶<EFBFBD>ȡ<EFBFBD>
//std::vector<DeviceInfo> devices = GenerateDeviceInfoFromLedger(terminal_devlist);//lnk<6E><6B><EFBFBD><EFBFBD> std::vector<DeviceInfo> devices = GenerateDeviceInfoFromLedger(terminal_devlist);//lnk<6E><6B><EFBFBD><EFBFBD>
//̨<>˴<EFBFBD>ӡ //̨<>˴<EFBFBD>ӡ
//PrintDevices(devices); PrintDevices(devices);
// <20><><EFBFBD><EFBFBD><EFBFBD>ͻ<EFBFBD><CDBB><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> // <20><><EFBFBD><EFBFBD><EFBFBD>ͻ<EFBFBD><CDBB><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
start_client_connect(devices); start_client_connect(devices);
@@ -302,7 +302,7 @@ int main(int argc ,char** argv) {//
std::cerr << "process param error,exit" << std::endl; std::cerr << "process param error,exit" << std::endl;
return 1; return 1;
} }
//init_daemon(); init_daemon();
srand(time(NULL)); // <20><>ʼ<EFBFBD><CABC><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> srand(time(NULL)); // <20><>ʼ<EFBFBD><CABC><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
// <20><>ʼ<EFBFBD><CABC><EFBFBD>߳<EFBFBD><DFB3><EFBFBD><EFBFBD><EFBFBD> // <20><>ʼ<EFBFBD><CABC><EFBFBD>߳<EFBFBD><DFB3><EFBFBD><EFBFBD><EFBFBD>
@@ -319,10 +319,10 @@ int main(int argc ,char** argv) {//
cleanup_args(args); cleanup_args(args);
} }
/*while(!INITFLAG){ while(!INITFLAG){
std::this_thread::sleep_for(std::chrono::seconds(3)); std::this_thread::sleep_for(std::chrono::seconds(3));
std::cout << "waiting cloudfront initialize ..." << std::endl; std::cout << "waiting cloudfront initialize ..." << std::endl;
}*/ }
// <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ʼ<EFBFBD>߳<EFBFBD><DFB3><EFBFBD> // <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ʼ<EFBFBD>߳<EFBFBD><DFB3><EFBFBD>
for (int i = 1; i < THREAD_CONNECTIONS; i++) { for (int i = 1; i < THREAD_CONNECTIONS; i++) {
@@ -387,7 +387,7 @@ int main(int argc ,char** argv) {//
} }
} }
// <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> /*// <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
std::vector<PointInfo> points2 = { std::vector<PointInfo> points2 = {
{"P101", "Generator Output", "D002",1 ,1, 1, 1, 1,"0.38k",0} {"P101", "Generator Output", "D002",1 ,1, 1, 1, 1,"0.38k",0}
}; };
@@ -398,7 +398,7 @@ int main(int argc ,char** argv) {//
"D002", "Backup Device", "Model-Y", "00-B7-8D-A8-00-D6", "D002", "Backup Device", "Model-Y", "00-B7-8D-A8-00-D6",
1, points2,true 1, points2,true
} }
}; };*/
// <20><><EFBFBD><EFBFBD>socket<65><74><EFBFBD><EFBFBD>״̬ // <20><><EFBFBD><EFBFBD>socket<65><74><EFBFBD><EFBFBD>״̬
static int queue_monitor = 0; static int queue_monitor = 0;
@@ -407,9 +407,9 @@ int main(int argc ,char** argv) {//
printf("Message queue size: %zu\n", message_queue.size()); printf("Message queue size: %zu\n", message_queue.size());
queue_monitor = 0; queue_monitor = 0;
for (const auto& device : devices) { /*for (const auto& device : devices) {
//ClientManager::instance().add_device(device); //ClientManager::instance().add_device(device);
} }*/
/*std::vector<DeviceInfo> test_devices = generate_test_devices(count); /*std::vector<DeviceInfo> test_devices = generate_test_devices(count);
count++; count++;