diff --git a/release/inc/myMms_m.h b/release/inc/myMms_m.h index e69d607..f1d3ccc 100644 --- a/release/inc/myMms_m.h +++ b/release/inc/myMms_m.h @@ -112,7 +112,7 @@ typedef struct { int app_fd; // 61850客户端句柄 char ied[MMS_M_STR_LEN]; // ied名称 - char name[MMS_M_STR_LEN]; // 信号名 + char saddr[MMS_M_STR_LEN]; // 信号短地址 int value_type; // 数据类型 // void *p_val; // 设置值 char val[128]; diff --git a/src/protocol/libmms_m/inc/mms_m_parse_cfg.h b/src/protocol/libmms_m/inc/mms_m_parse_cfg.h index db431d1..ce4f729 100644 --- a/src/protocol/libmms_m/inc/mms_m_parse_cfg.h +++ b/src/protocol/libmms_m/inc/mms_m_parse_cfg.h @@ -33,7 +33,7 @@ typedef struct uint8_t type; uint8_t fc; uint8_t ctrl_model; - std::string name; + std::string saddr; std::string desc; std::string ldev; std::string lnode; diff --git a/src/protocol/libmms_m/src/mms_m.cpp b/src/protocol/libmms_m/src/mms_m.cpp index 047ae9d..f0fe5b7 100644 --- a/src/protocol/libmms_m/src/mms_m.cpp +++ b/src/protocol/libmms_m/src/mms_m.cpp @@ -267,7 +267,7 @@ static int mms_m_send_ao_write(stru_mms_m_obj &obj, stru_mms_m_event &event) for(it = obj.p_cfg->point.ao.begin(); it!= obj.p_cfg->point.ao.end(); it++) { - if(it->name.compare(event.name) == 0) + if(it->saddr.compare(event.saddr) == 0) { p_item = &(*it); break; @@ -275,7 +275,7 @@ static int mms_m_send_ao_write(stru_mms_m_obj &obj, stru_mms_m_event &event) } if(NULL == p_item) { - LOG_E("%s: %s not found in cfg\n", obj.cfg_path.c_str(), event.name); + LOG_E("%s: %s not found in cfg\n", obj.cfg_path.c_str(), event.saddr); return -1; } size_t pos = p_item->reference.find("/"); @@ -365,11 +365,11 @@ static void mms_m_send_read_ao(stru_mms_m_obj &obj, stru_mms_m_event &event) for(it = obj.p_cfg->point.ao.begin(); it!= obj.p_cfg->point.ao.end(); it++) { - if(strlen(event.name) != 0 && it->name.compare(event.name) == 0) + if(strlen(event.saddr) != 0 && it->saddr.compare(event.saddr) == 0) { p_item = &(*it); } - else if(strlen(event.name) == 0) + else if(strlen(event.saddr) == 0) { p_item = &(*it); } @@ -380,8 +380,8 @@ static void mms_m_send_read_ao(stru_mms_m_obj &obj, stru_mms_m_event &event) if(NULL == (p_value = IedConnection_readObject(obj.run.con, &err, p_item->reference.c_str(), (FunctionalConstraint)p_item->fc))) { - LOG_E("%s: name %s, ref %s read err:%s(%d)\n", - obj.cfg_path.c_str(), p_item->name.c_str(), p_item->reference.c_str(), mms_m_err_str(err), err); + LOG_E("%s: saddr %s, ref %s read err:%s(%d)\n", + obj.cfg_path.c_str(), p_item->saddr.c_str(), p_item->reference.c_str(), mms_m_err_str(err), err); continue; } @@ -404,7 +404,7 @@ static void mms_m_send_read_ao(stru_mms_m_obj &obj, stru_mms_m_event &event) out_val.type = p_item->type; out_val.quality = 0; - snprintf(out_val.name, sizeof(out_val.name) - 1, "%s", it->name.c_str()); + snprintf(out_val.name, sizeof(out_val.name) - 1, "%s", it->saddr.c_str()); snprintf(out_val.desc, sizeof(out_val.desc) - 1, "%s", it->desc.c_str()); snprintf(out_val.reference, sizeof(out_val.reference) - 1, "%s", it->reference.c_str()); out_val.reason = MMS_M_REASON_READ_PARAM; // call param @@ -461,13 +461,13 @@ static int mms_m_send_co_select(stru_mms_m_obj &obj, stru_point_item &item) if(NULL == item.control) { - LOG_E("%s: %s control is not init\r\n", obj.cfg_path.c_str(), item.name.c_str()); + LOG_E("%s: %s control is not init\r\n", obj.cfg_path.c_str(), item.saddr.c_str()); return ret; } if(CONTROL_MODEL_DIRECT_NORMAL == item.ctrl_model || CONTROL_MODEL_DIRECT_ENHANCED == item.ctrl_model) { - LOG_E("%s: %s control model is %s(%d)\r\n", obj.cfg_path.c_str(), item.name.c_str(), mms_m_ctrl_model_str((ControlModel)item.ctrl_model), item.ctrl_model); + LOG_E("%s: %s control model is %s(%d)\r\n", obj.cfg_path.c_str(), item.saddr.c_str(), mms_m_ctrl_model_str((ControlModel)item.ctrl_model), item.ctrl_model); return ret; } @@ -491,13 +491,13 @@ static int mms_m_send_co_select(stru_mms_m_obj &obj, stru_point_item &item) } else { - LOG_E("%s: %s control model is %s(%d)\r\n", obj.cfg_path.c_str(), item.name.c_str(), mms_m_ctrl_model_str((ControlModel)item.ctrl_model), item.ctrl_model); + LOG_E("%s: %s control model is %s(%d)\r\n", obj.cfg_path.c_str(), item.saddr.c_str(), mms_m_ctrl_model_str((ControlModel)item.ctrl_model), item.ctrl_model); } if(0 == ret) { - LOG_I("%s: co name %s, desc %s, ref %s selected successfully, ctrl_model %s(%d)\n", - obj.cfg_path.c_str(), item.name.c_str(), item.desc.c_str(), item.reference.c_str(), mms_m_ctrl_model_str((ControlModel)item.ctrl_model), item.ctrl_model); + LOG_I("%s: co saddr %s, desc %s, ref %s selected successfully, ctrl_model %s(%d)\n", + obj.cfg_path.c_str(), item.saddr.c_str(), item.desc.c_str(), item.reference.c_str(), mms_m_ctrl_model_str((ControlModel)item.ctrl_model), item.ctrl_model); } else { @@ -515,7 +515,7 @@ static int mms_m_send_co_direct(stru_mms_m_obj &obj, stru_point_item &item) if(NULL == item.control) { - LOG_E("%s: %s control is not init\r\n", obj.cfg_path.c_str(), item.name.c_str()); + LOG_E("%s: %s control is not init\r\n", obj.cfg_path.c_str(), item.saddr.c_str()); return ret; } @@ -526,7 +526,7 @@ static int mms_m_send_co_direct(stru_mms_m_obj &obj, stru_point_item &item) if (ControlObjectClient_operate(item.control, item.set_value, 0 /* operate now */)) { - LOG_I("%s: co name %s, desc %s, ref %s operated successfully\n", obj.cfg_path.c_str(), item.name.c_str(), item.desc.c_str(), item.reference.c_str()); + LOG_I("%s: co saddr %s, desc %s, ref %s operated successfully\n", obj.cfg_path.c_str(), item.saddr.c_str(), item.desc.c_str(), item.reference.c_str()); ret = 0; } else @@ -549,7 +549,7 @@ static int mms_m_send_co_direct(stru_mms_m_obj &obj, stru_point_item &item) Thread_sleep(1000); break; default: - LOG_E("%s: %s control model is %s(%d)\r\n", obj.cfg_path.c_str(), item.name.c_str(), mms_m_ctrl_model_str((ControlModel)item.ctrl_model), item.ctrl_model); + LOG_E("%s: %s control model is %s(%d)\r\n", obj.cfg_path.c_str(), item.saddr.c_str(), mms_m_ctrl_model_str((ControlModel)item.ctrl_model), item.ctrl_model); ret = -1; break; } @@ -575,14 +575,14 @@ static int mms_m_send_co(stru_mms_m_obj &obj, stru_mms_m_event &event) for(it = obj.p_cfg->point.co.begin(); it!= obj.p_cfg->point.co.end(); it++) { - if(it->name.compare(event.name) == 0) + if(it->saddr.compare(event.saddr) == 0) { break; } } if(it == obj.p_cfg->point.co.end()) { - LOG_E("%s:co name(%s) is not exist", obj.cfg_path.c_str(), event.name); + LOG_E("%s:co saddr(%s) is not exist", obj.cfg_path.c_str(), event.saddr); return -1; } @@ -703,7 +703,7 @@ static void mms_m_send_call_all(stru_mms_m_obj &obj) out_val.type = it->type; out_val.quality = 0; - snprintf(out_val.name, sizeof(out_val.name) - 1, "%s", it->name.c_str()); + snprintf(out_val.name, sizeof(out_val.name) - 1, "%s", it->saddr.c_str()); snprintf(out_val.desc, sizeof(out_val.desc) - 1, "%s", it->desc.c_str()); snprintf(out_val.reference, sizeof(out_val.reference) - 1, "%s", it->reference.c_str()); out_val.reason = MMS_M_REASON_ALL_CALL; // call all @@ -947,7 +947,7 @@ static void mms_m_report_callback(void* parameter, ClientReport report) { for(it = it_mb->p_do_vec->begin(); it!= it_mb->p_do_vec->end(); it++) { - snprintf(out_value.name, MMS_M_STR_LEN - 1, "%s", (*it)->name.c_str()); + snprintf(out_value.name, MMS_M_STR_LEN - 1, "%s", (*it)->saddr.c_str()); snprintf(out_value.desc, MMS_M_STR_LEN - 1, "%s", (*it)->desc.c_str()); snprintf(out_value.reference, MMS_M_REF_LEN - 1, "%s", (*it)->reference.c_str()); @@ -1588,8 +1588,8 @@ static void mms_m_show_ied(stru_mms_m_obj &obj) for(std::vector::iterator it4 = it3->p_do_vec.begin(); it4!= it3->p_do_vec.end(); it4++) { stru_point_item *p_item = *it4; - printf(" signal name: %s, type: %d, fc: %d, ctrl_model: %d, desc: %s, reference: %s\n", - p_item->name.c_str(), p_item->type, p_item->fc, p_item->ctrl_model, p_item->desc.c_str(), p_item->reference.c_str()); + printf(" signal saddr: %s, type: %d, fc: %d, ctrl_model: %d, desc: %s, reference: %s\n", + p_item->saddr.c_str(), p_item->type, p_item->fc, p_item->ctrl_model, p_item->desc.c_str(), p_item->reference.c_str()); } } } @@ -1832,7 +1832,7 @@ int mms_m_out_get_signal_info(int app_fd, stru_mms_m_config *p_config) stru_point_item &point = obj.p_cfg->point.st[i]; stru_mms_m_gen_signal &sig = p_config->p_st_sig[i]; - strncpy(sig.saddr, point.name.c_str(), sizeof(sig.saddr)); + strncpy(sig.saddr, point.saddr.c_str(), sizeof(sig.saddr)); strncpy(sig.desc, point.desc.c_str(), sizeof(sig.desc)); sig.data_type = point.type; sig.vec_p_data.push_back(point.value.vec_p_val[0]); @@ -1853,7 +1853,7 @@ int mms_m_out_get_signal_info(int app_fd, stru_mms_m_config *p_config) stru_point_item &point = obj.p_cfg->point.mx[i]; stru_mms_m_gen_signal &sig = p_config->p_mx_sig[i]; - strncpy(sig.saddr, point.name.c_str(), sizeof(sig.saddr)); + strncpy(sig.saddr, point.saddr.c_str(), sizeof(sig.saddr)); strncpy(sig.desc, point.desc.c_str(), sizeof(sig.desc)); sig.data_type = point.type; sig.vec_p_data.push_back(point.value.vec_p_val[0]); @@ -1873,7 +1873,7 @@ int mms_m_out_get_signal_info(int app_fd, stru_mms_m_config *p_config) stru_point_item &point = obj.p_cfg->point.co[i]; stru_mms_m_ctrl_signal &co_sig = p_config->p_co_sig[i]; - strncpy(co_sig.sig.saddr, point.name.c_str(), sizeof(co_sig.sig.saddr)); + strncpy(co_sig.sig.saddr, point.saddr.c_str(), sizeof(co_sig.sig.saddr)); strncpy(co_sig.sig.desc, point.desc.c_str(), sizeof(co_sig.sig.desc)); co_sig.sig.data_type = point.type; co_sig.sig.vec_p_data.push_back(point.value.vec_p_val[0]); @@ -1894,7 +1894,7 @@ int mms_m_out_get_signal_info(int app_fd, stru_mms_m_config *p_config) stru_point_item &point = obj.p_cfg->point.ao[i]; stru_mms_m_param_signal &ao_sig = p_config->p_ao_sig[i]; - strncpy(ao_sig.sig.saddr, point.name.c_str(), sizeof(ao_sig.sig.saddr)); + strncpy(ao_sig.sig.saddr, point.saddr.c_str(), sizeof(ao_sig.sig.saddr)); strncpy(ao_sig.sig.desc, point.desc.c_str(), sizeof(ao_sig.sig.desc)); ao_sig.sig.data_type = point.type; ao_sig.sig.vec_p_data.push_back(point.value.vec_p_val[0]); @@ -1921,7 +1921,7 @@ int mms_m_out_get_signal_info(int app_fd, stru_mms_m_config *p_config) stru_point_item &point = obj.p_cfg->point.param[i]; stru_mms_m_param_signal ¶m_sig = p_config->p_param_sig[i]; - strncpy(param_sig.sig.saddr, point.name.c_str(), sizeof(param_sig.sig.saddr)); + strncpy(param_sig.sig.saddr, point.saddr.c_str(), sizeof(param_sig.sig.saddr)); strncpy(param_sig.sig.desc, point.desc.c_str(), sizeof(param_sig.sig.desc)); param_sig.sig.data_type = point.type; @@ -2038,7 +2038,7 @@ int mms_m_out_read_param(int app_fd, const char *param_name) memset(&event, 0, sizeof(stru_mms_m_event)); event.ctrl_type = _MMS_M_EVENT_AO_READ; - strncpy(event.name, param_name, sizeof(param_name)); + strncpy(event.saddr, param_name, sizeof(param_name)); mms_m_push_event(obj, event); return 0; diff --git a/src/protocol/libmms_m/src/mms_m_parse_cfg.cpp b/src/protocol/libmms_m/src/mms_m_parse_cfg.cpp index 483a160..618e89a 100644 --- a/src/protocol/libmms_m/src/mms_m_parse_cfg.cpp +++ b/src/protocol/libmms_m/src/mms_m_parse_cfg.cpp @@ -16,7 +16,7 @@ static const char *ELE_SubItem = "SubItem"; static const char *KEY_NO = "no"; -static const char *KEY_NAME = "name"; +static const char *KEY_SADDR = "saddr"; static const char *KEY_DESC = "desc"; static const char *KEY_HOST_IP = "host_ip"; static const char *KEY_HOST_PORT = "host_port"; @@ -75,13 +75,13 @@ void parse_cfg_item(tinyxml2::XMLElement *item, std::vector &it stru_point_item item_info; item_info.no = atoi(str); - if(NULL != (str = item->Attribute(KEY_NAME))) + if(NULL != (str = item->Attribute(KEY_SADDR))) { - item_info.name = str; + item_info.saddr = str; } else { - LOG_E("no attribute %s in item", KEY_NAME); + LOG_E("no attribute %s in item", KEY_SADDR); return; } @@ -410,29 +410,29 @@ void parse_show_cfg(stru_cfg *p_cfg) std::vector::iterator it; for(it = p_cfg->point.st.begin(); it!= p_cfg->point.st.end(); ++it) { - printf(" no %d, type %d, fc %d, name %s, desc %s, ldev %s, lnode %s, doname %s, reference %s\n", - it->no, it->type, it->fc, it->name.c_str(), it->desc.c_str(), it->ldev.c_str(), it->lnode.c_str(), it->doname.c_str(), it->reference.c_str()); + printf(" no %d, type %d, fc %d, saddr %s, desc %s, ldev %s, lnode %s, doname %s, reference %s\n", + it->no, it->type, it->fc, it->saddr.c_str(), it->desc.c_str(), it->ldev.c_str(), it->lnode.c_str(), it->doname.c_str(), it->reference.c_str()); } printf("Mx-num %ld:\n", p_cfg->point.mx.size()); for(it = p_cfg->point.mx.begin(); it!= p_cfg->point.mx.end(); ++it) { - printf(" no %d, type %d, fc %d, name %s, desc %s, ldev %s, lnode %s, doname %s, reference %s\n", - it->no, it->type, it->fc, it->name.c_str(), it->desc.c_str(), it->ldev.c_str(), it->lnode.c_str(), it->doname.c_str(), it->reference.c_str()); + printf(" no %d, type %d, fc %d, saddr %s, desc %s, ldev %s, lnode %s, doname %s, reference %s\n", + it->no, it->type, it->fc, it->saddr.c_str(), it->desc.c_str(), it->ldev.c_str(), it->lnode.c_str(), it->doname.c_str(), it->reference.c_str()); } printf("Co-num %ld:\n", p_cfg->point.co.size()); for(it = p_cfg->point.co.begin(); it!= p_cfg->point.co.end(); ++it) { - printf(" no %d, type %d, fc %d, ctrl_model %d, name %s, desc %s, ldev %s, lnode %s, doname %s, reference %s\n", - it->no, it->type, it->fc, it->ctrl_model, it->name.c_str(), it->desc.c_str(), it->ldev.c_str(), it->lnode.c_str(), it->doname.c_str(), it->reference.c_str()); + printf(" no %d, type %d, fc %d, ctrl_model %d, saddr %s, desc %s, ldev %s, lnode %s, doname %s, reference %s\n", + it->no, it->type, it->fc, it->ctrl_model, it->saddr.c_str(), it->desc.c_str(), it->ldev.c_str(), it->lnode.c_str(), it->doname.c_str(), it->reference.c_str()); } printf("Ao-num %ld:\n", p_cfg->point.ao.size()); for(it = p_cfg->point.ao.begin(); it != p_cfg->point.ao.end(); ++it) { - printf(" no %d, type %d, fc %d, name %s, desc %s, ldev %s, lnode %s, doname %s, reference %s\n", - it->no, it->type, it->fc, it->name.c_str(), it->desc.c_str(), it->ldev.c_str(), it->lnode.c_str(), it->doname.c_str(), it->reference.c_str()); + printf(" no %d, type %d, fc %d, saddr %s, desc %s, ldev %s, lnode %s, doname %s, reference %s\n", + it->no, it->type, it->fc, it->saddr.c_str(), it->desc.c_str(), it->ldev.c_str(), it->lnode.c_str(), it->doname.c_str(), it->reference.c_str()); } } diff --git a/src/system/libiec61850m/src/iec61850m.cpp b/src/system/libiec61850m/src/iec61850m.cpp index bebf3c0..c869f3e 100644 --- a/src/system/libiec61850m/src/iec61850m.cpp +++ b/src/system/libiec61850m/src/iec61850m.cpp @@ -54,7 +54,7 @@ LOCAL void mms_send_control(int fd, const char *saddr, int val, int type) p_event->app_fd = fd; memset(p_event->ied, 0, MMS_M_STR_LEN); - snprintf(p_event->name, MMS_M_STR_LEN, "%s", saddr); + snprintf(p_event->saddr, MMS_M_STR_LEN, "%s", saddr); p_event->ctrl_type = type; // p_event->val.b = val == 0 ? false : true; uint8_t val_b = (val == 0 ? 0 : 1); @@ -79,8 +79,8 @@ LOCAL void mms_event_back(void *arg, int ret) return; } - printf("fd %d, ied %s, name %s, ctrl_type %d, ret %d\n", - p_event->app_fd, p_event->ied, p_event->name, p_event->ctrl_type, ret); + printf("fd %d, ied %s, saddr %s, ctrl_type %d, ret %d\n", + p_event->app_fd, p_event->ied, p_event->saddr, p_event->ctrl_type, ret); } LOCAL void mms_data_back(stru_mms_m_out_value *p)