接口2.4升级到3.0,由于2.4是单机版、3.0是分布式版本,接口做了合并和修改,新的接口动态库名称为hdKingAPI。
1.统一的改动.
接口名称:为了尽量保持兼容性,新版本的接口名与旧版本的接口名基本保持一致,通过前缀插入’3’来表明是3.0版本的接口,例如连接从nt_connect改为nt3_connect,加点从pt_add_tag改为pt3_add_tag。
参数:参数前面都有一个宏来表明是输入参数还是输出参数,hd3_in表示输入,hd3_out表示输出。例如加点的接口
int32 pt3_add_tag(
hd3_in const HD3PtTagProp* pTagProp,
hd3_in const HD3Mask* pMask,
hd3_in const char* szDataNodeName,
hd3_out uint32* pnTagID
);
前3个参数表示输入,后1个参数表示输出,一目了然。这两个宏只起标示的作用,对于编译和运行没有任何影响。
2.连接和断开
老接口:int32 nt_connect(const char* szIP, uint16 nPort, HDHANDLE* pSrvHandle, int32 nTimeOutSec);
int32 nt_disconnect(HDHANDLE hServer);
新接口:int32 nt3_connect(hd3_in const HD3Connection* pInfo);
typedef struct {
char szAddress[HD3_LEN_ADDRESS * HD3_BASE];
uint16 nPort;
char szBakAddress[HD3_LEN_ADDRESS * HD3_BASE];
uint16 nBakPort;
int32 nTimeout;
}HD3Connection;
int32 nt3_disconnect();
说明:接口参数从分散的ip,端口,超时改为结构体,新增备机ip和备机端口,如果没有备机,备机信息不用填写。ip 和端口是3.0版本的配置中心所在的机器地址,默认端口号为5673。
老版本的接口返回连接句柄,其它的接口需要使用这个句柄,新版本中已经不需要了。
新版本的连接已经自动实现了重连的功能,调用者不用再编写保持重连的代码。
3. 点的配置
点的类型分为系统点,普通点,报警点,SPC报警点,统计点,计算点。其中系统点是ihd自动创建,其它类型的点提供接口增删查改。
4.1 新增点
老接口:int32 pt_add_tag(HDHANDLE hServer, const TagProp* pTagProp, int64 nPropMask);
新接口:int32 pt3_add_tag(
hd3_in const HD3PtTagProp* pTagProp,
hd3_in const HD3Mask* pMask,
hd3_in const char* szDataNodeName,
hd3_out uint32* pnTagID
);
点的结构体从TagProp 变为HD3PtTagProp,结构体的内容名称不变。
// Tag点掩码
typedef struct {
int64 nCommMask; // 公共属性的掩码
int64 nExtMask;
}HD3Mask;
掩码从int64的掩码修改为包含2个int64的掩码结构体。新的掩码包括点的基础掩码和点的扩展掩码,分别对应于点的基础属性和扩展属性,所有的掩码都定义在hd3MaskDefine.h中。
1)全属性掩码为 HD3M_ALL,表明调用者需要所有的属性
2)基本属性掩码 HD3M_COMM_PROP_XXX普通点,报警点,计算点,统计点的基本属性都用这些掩码
例如:名字掩码 HD3M_COMM_PROP_TAG_NAME
类型掩码HD3M_COMM_PROP_TAG_TYPE
3)普通点的扩展掩码 HD3M_PT_EXT_PROP_XXX, 普通点扩展属性只跟底层的数据采集相关,如采集器名称,设备名称,地址等。不使用iHD的OPC采集器,modbus采集器的用户不需要关系这些属性,扩展掩码赋值为0即可。
例如:采集器名 HD3M_PT_EXT_PROP_COLLECTOR_NAME
设备名 HD3M_PT_EXT_PROP_DEVICE_NAME
4)报警点的扩展掩码 HD3M_AM_EXT_PROP_XXX,报警点的扩展属性只与报警的产生确认恢复相关,如报警条件,报警源点,报警死区等。
例如:报警条件1 HD3M_AM_EXT_PROP_TEST1
报警源点:HD3M_AM_EXT_PROP_SOURCE_TAG
5)统计点的扩展掩码 HD3M_ST_EXT_PROP_XXX,统计点的扩展属性只与统计相关,如统计类型,统计取值方式,统计开始时间等。
例如:统计类型 HD3M_ST_EXT_PROP_STATS_TYPE
统计开始时间:HD3M_ST_EXT_PROP_SAMPLE_START_DATE
6)计算点的扩展掩码 HD3M_CA_EXT_PROP_XXX,计算点的扩展属性只与计算属性相关,如计算表达式,计算周期等。
例如:计算表达式 HD3M_CA_EXT_PROP_CALC_EXPR
计算周期:HD3M_CA_EXT_PROP_CALC_PERIOD
4.2 删除点
普通点,统计点,计算点,报警点的删除点的接口都合并为一个tag3_delete_tag
4.3 条件查询点
4.3.1 条件查询点的个数
普通点,统计点,计算点,报警点的条件查询点的个数的接口全部合并为一个
int32 tag3_query_tag_num_cond(
hd3_in enum HD3_TAG_CLASS nTagClass,
hd3_in const HD3FilterItemSet* pSet,
hd3_out int32* pnTagNum
);
条件查询参数
// 查询过滤项数组
typedef struct {
int32 nSize;
HD3FilterItem* pItem; // array
}HD3FilterItemSet;
typedef struct {
int32 nItemID;
enum HD3_RELATION nRelation;
char szValue[HD3_LEN_QUERY_ITEM_VALUE * HD3_BASE];
}HD3FilterItem;
属性项ID定义在hd3Enum.h中HD3_TAG_COL_XXX
例如Tag名称 HD3_TAG_COL_COMM_PROP_TAG_NAME
4.4 根据名称查询ID
普通点,统计点,计算点,报警点的条件查询点的个数的接口全部合并为一个
int32 tag3_query_id_by_name(
hd3_in const char* szName,
hd3_out uint32* pnTagID
);
5.新旧接口对照表
2.4版本接口 |
3.0版本接口 |
说明 |
ut_set_mode |
已去除 |
buffer接口使用独立API |
ut_set_timeout |
ut3_set_request_timeout |
|
ut_get_item_step |
ut3_get_item_step |
|
ut_free_iterator |
ut3_free_handle |
|
nt_connect |
nt3_connect |
|
nt_disconnect |
nt3_disconnect |
|
nt_test_connection |
已去除 |
KingAPI自动重连,调用者不需要自己测试判断和重连了 |
nt_get_server_current_time |
ut3_get_server_ms_time |
|
ut_get_license_info |
ut3_get_license_info |
|
ut_get_license_info_all |
ut3_get_license_info_all |
|
pt_register_tag_change_info |
已去除 |
|
pt_query_tagid |
tag3_query_id_by_name |
|
pt_query_tagids |
tag3_query_ids_by_names |
|
pt_query_tag_type |
pt3_query_tag_type |
|
pt_query_tag_prop |
pt3_query_tag_prop |
|
pt_add_tag |
pt3_add_tag |
|
pt_add_tags |
pt3_add_tags |
|
pt_delete_tag |
tag3_delete_tag, tag3_delete_tags |
|
pt_get_collector_timestamp |
pt3_get_collector_version |
|
pt_get_collector_change_his |
pt3_get_collector_alter_report |
|
pt_delete_change_his |
已去除 |
|
pt_query_tag_num_cond |
tag3_query_tag_num_cond |
|
pt_query_tags_cond |
pt3_query_tags_cond |
|
pt_query_specify_page_tags_cond |
pt3_query_specify_page_tags_cond |
|
pt_modify_tag_prop |
pt3_modify_tag_prop, pt3_modify_tags_prop |
|
pt_reg_monitored_tag |
pt3_reg_monitored_tag |
|
pt_add_digitalset |
pt3_add_digitalset |
|
pt_delete_digitalset |
pt3_delete_digitalset |
|
pt_modify_digitalset |
pt3_modify_digitalset |
|
pt_query_digitalset_state_infos |
pt3_query_digitalset_all_state_infos |
|
pt_query_digitalset_state_name |
pt3_query_digitalset_state_name |
|
pt_query_digitalset_names |
pt3_query_digitalset_names |
|
pt_is_sys_tag_name |
已去除 |
|
sn_save_snapshot |
sn3save_snapshot |
|
sn_save_snapshots |
sn3_save_snapshots |
|
sn_save_disorder_snapshots |
sn3_save_disorder_snapshots |
|
sn_save_tags_disorder_snapshots |
sn3_save_tags_disorder_snapshots |
|
sn_query_snapshot |
sn3_query_snapshot |
|
sn_query_snapshots |
sn3_query_snapshots |
|
ar_query_interp_record |
已去除 |
功能包含在ar3_query_interp_record_by_mode |
ar_query_raw_records |
ar3_query_raw_records |
|
ar_query_interp_records |
已去除 |
功能包含在ar3_query_interp_records_by_mode |
ar_query_interp_record_by_mode |
ar3_query_interp_record_by_mode |
|
ar_query_interp_records_by_mode |
ar3_query_interp_records_by_mode |
|
ar_query_tags_interp_records_by_mode |
ar3_query_tags_interp_records_by_mode |
|
ar_delete_record |
ar3_delete_record |
|
ar_modify_record |
ar3_modify_record |
|
ar_query_specify_num_raw_recs |
ar3_query_specify_num_raw_recs |
|
ar_query_raw_records_number |
ar3_query_raw_records_number |
|
am_register_alarm_record_info |
am3_register_alarm_record_info |
|
am_unregister_alarm_record_info |
am3_unregister_alarm_record_info |
|
am_add_tag |
am3_add_tag |
|
am_query_tagid |
tag3_query_id_by_name |
|
am_delete_tag |
tag3_delete_tag, tag3_delete_tags |
|
am_modify_tag_prop |
am3_modify_tag_prop |
|
am_query_tag_prop |
am3_query_tag_prop |
|
am_query_tag_names |
tag3_query_tags_common_prop |
|
am_query_tag_num_cond |
tag3_query_tag_num_cond |
|
am_query_tags_cond |
am3_query_tags_cond |
|
am_query_specify_page_tags_cond |
am3_query_specify_page_tags_cond |
|
am_add_group |
am3_add_group |
|
am_query_groupid |
am3_query_groupid |
|
am_delete_group |
am3_delete_group |
|
am_modify_group_name |
am3_modify_group |
|
am_modify_group_desc |
am3_modify_group |
|
am_modify_group_parentid |
am3_modify_group |
|
am_query_group_props |
am3_query_group_props |
|
am_query_group_child_tags |
am3_query_group_child_tags |
|
am_query_group_child_groups |
am3_query_group_child_groups |
|
am_query_snapshots |
am3_query_snapshots |
|
am_query_tag_records |
am3_query_tag_records |
|
am_query_tags_all_records |
am3_query_tags_all_records |
|
am_query_group_records |
am3_query_group_records |
|
am_acknowledge_alarms |
am3_acknowledge_alarms |
|
am_comment_alarms |
am3_comment_alarms |
|
sc_login |
sc3_login |
|
sc_modify_password |
sc3_modify_password |
|
sc_reset_password |
sc3_reset_password |
|
sc_add_user |
sc3_add_user |
|
sc_delete_user |
sc3_delete_user |
|
sc_add_group |
sc3_add_group |
|
sc_delete_group |
sc3_delete_group |
|
sc_add_user_to_group |
sc3_add_user_to_group |
|
sc_delete_user_from_group |
sc3_delete_user_from_group |
|
sc_modify_user_desc |
sc3_modify_user_desc |
|
sc_modify_group_desc |
sc3_modify_group_desc |
|
sc_query_all_users |
sc3_query_all_users |
|
sc_query_members_of_group |
sc3_query_members_of_group |
|
sc_query_all_groups |
sc3_query_all_groups |
|
sc_query_groups_of_user |
sc3_query_groups_of_user |
|
sc_query_manage_security |
sc3_query_manage_security |
|
sc_modify_manage_security |
sc3_modify_manage_security |
|
sc_query_all_trusts |
sc3_query_all_trusts |
|
sc_add_trust |
sc3_add_trust |
|
sc_delete_trust |
sc3_delete_trust |
|
sc_query_current_user_name |
sc3_query_current_user_name |
|
sc_add_auth_item |
sc3_add_auth_item |
|
sc_delete_auth_item |
sc3_delete_auth_item |
|
sc_modify_auth_item |
sc3_modify_auth_item |
|
sc_add_auth_item_to_group |
sc3_add_auth_item_to_group |
|
sc_delete_auth_item_from_group |
sc3_delete_auth_item_from_group |
|
sc_query_all_auth_items |
sc3_query_all_auth_items |
|
sc_query_auth_items_of_group |
sc3_query_auth_items_of_group |
|
sc_query_groups_of_auth_item |
sc3_query_groups_of_auth_item |
|
sc_query_auth_of_user |
sc3_query_auth_of_user |
|
ct_add_collector |
ct3_add_collector |
|
ct_delete_collector |
ct3_delete_collector |
|
ct_query_all_collectors |
ct3_query_all_collectors |
|
ct_query_collector |
ct3_query_collector |
|
ct_query_collector_id_by_name |
ct3_query_collector_id_by_name |
|
ct_modify_collector |
ct3_modify_collector |
|
ct_add_device |
ct3_add_device |
|
ct_delete_device |
ct3_delete_device |
|
ct_query_device |
ct3_query_device |
|
ct_query_device_id_by_name |
ct3_query_device_id_by_name |
|
ct_query_devices_of_collector |
ct3_query_devices_of_collector |
|
ct_modify_device |
ct3_modify_device |
|
ct_add_scan_group |
ct3_add_scan_group |
|
ct_delete_scan_group |
ct3_delete_scan_group |
|
ct_query_scan_group |
ct3_query_scan_group |
|
ct_query_scan_group_id_by_name |
ct3_query_scan_group_id_by_name |
|
ct_query_scan_groups_of_device |
ct3_query_scan_groups_of_device |
|
ct_modify_scan_group |
ct3_modify_scan_group |
|
ct_register_collector_change_info |
已去除 |
|
ct_update_collector_status |
ct3_update_collector_status |
|
ct_update_device_status |
ct3_update_device_status |
|
ct_query_collector_status |
ct3_query_collectors_status |
|
ct_query_device_status |
ct3_query_devices_status |
|
ct_query_collector_status_rec |
已去除 |
|
ct_query_device_status_rec |
已去除 |
|
ct_query_update_status_inter |
ct3_get_status_update_interval |
|
st_add_tag_v2 |
st3_add_tag |
|
st_query_tagid |
tag3_query_id_by_name |
|
st_delete_tag |
tag3_delete_tag, tag3_delete_tags |
|
st_modify_tag_prop_v2 |
st3_modify_tag_prop |
|
st_query_tag_prop_v2 |
st3_query_tag_prop |
|
st_query_tag_num_cond_v2 |
tag3_query_tag_num_cond |
|
st_query_tags_cond_v2 |
st_query_tags_cond |
|
st_query_specify_page_tags_cond_v2 |
st_query_specify_page_tags_cond |
|
st_tag_max |
st3_tag_stats_calc |
|
st_tag_min |
st3_tag_stats_calc |
|
st_tag_sum |
st3_tag_stats_calc |
|
st_tag_mean |
st3_tag_stats_calc |
|
st_tag_integral |
st3_tag_stats_calc |
|
st_tag_good_percent |
st3_tag_stats_calc |
|
st_tag_stats_calc |
st3_tag_stats_calc |
|
ca_add_tag |
ca3_add_tag |
|
ca_query_tagid |
tag3_query_id_by_name |
|
ca_query_tag_name |
tag3_query_tags_common_prop |
|
ca_delete_tag |
tag3_delete_tag, tag3_delete_tags |
|
ca_modify_tag_prop |
ca3_modify_tag_prop |
|
ca_query_tag_prop |
ca3_query_tag_prop |
|
ca_query_tag_num_cond |
tag3_query_tag_num_cond |
|
ca_query_tags_cond |
ca3_query_tags_cond |
|
ca_query_specify_page_tags_cond |
ca3_query_specify_page_tags_cond |
|
cs_register_cfg_chg_callback |
已去除 |
|
spc_add_tag |
spc3_add_tag |
|
spc_delete_tag |
tag3_delete_tag, tag3_delete_tags |
|
spc_modify_tag_prop |
spc3_modify_tag_prop |
|
spc_query_tag_names |
tag3_query_tags_common_prop |
|
spc_query_tag_prop |
spc3_query_tag_prop |
|
spc_query_tagid |
tag3_query_id_by_name |
|
spc_query_tag_num_cond |
spc3_query_tag_num_cond |
|
spc_query_tags_cond |
spc3_query_tags_cond |
|
spc_query_specify_page_tags_cond |
spc3_query_specify_page_tags_cond |
|
spc_query_group_child_tags |
spc3_query_group_child_tags |
|
spc_acknowledge_alarms |
spc3_acknowledge_alarms |
|
spc_query_snapshots |
spc3_query_snapshots |
|
spc_register_alarm_record_info |
spc3_register_alarm_record_info |
|
spc_unregister_alarm_record_info |
spc3_unregister_alarm_record_info |
|
spc_query_tag_records |
spc3_query_tag_records |
|
spc_query_tags_records |
spc3_query_tags_all_records |
|
spc_query_group_records |
spc3_query_group_records |
|
spc_comment_alarms |
spc3_comment_alarms |
|
tag_query_tags_baisc_info_by_name |
tag3_query_tags_baisc_info_by_name |
|
tag_query_tags_cond |
tag3_query_tags_cond |
|
tag_query_tags_basic_prop |
tag3_query_tags_common_prop |
|
tag_opc_release_tag |
已去除 |
|
tag_opc_release_tags |
已去除 |
|
tag_opc_unrelease_tag |
已去除 |
|
tag_opc_unrelease_tags |
已去除 |
|
tag_opc_query_tag_state |
已去除 |
|
tag_opc_query_tags_state |
已去除 |
|
tag_opc_set_tags_state |
已去除 |
|
tag_opc_query_all_release_tags |
已去除 |
|
tag_query_tag_number |
tag3_query_tag_num_cond |
|
ut_query_netmgr_connect_client_num |
已去除 |
|
ut_set_charset |
ut3_set_charset |
|
ut_get_charset |
ut3_get_charset |
|
nt_get_all_client_num |
ut3_get_all_client_num |
|
nt_get_all_client_info |
ut3_get_all_client_info |
|
nt_get_socket_net_info |
ut3_get_socket_net_info |
|
nt_get_client_sockets |
ut3_get_client_sockets |