30 #define OTEM_NOWRITE 0
51 #define OPC_QUALITY_MASK 0xc0
52 #define OPC_STATUS_MASK 0xfc
53 #define OPC_LIMIT_MASK 0x03
54 #define OPC_QUALITY_BAD 0x00
55 #define OPC_QUALITY_UNCERTAIN 0x40
56 #define OPC_QUALITY_GOOD 0xc0
57 #define OPC_QUALITY_CONFIG_ERROR 0x04
58 #define OPC_QUALITY_NOT_CONNECTED 0x08
59 #define OPC_QUALITY_DEVICE_FAILURE 0x0c
60 #define OPC_QUALITY_SENSOR_FAILURE 0x10
61 #define OPC_QUALITY_LAST_KNOWN 0x14
62 #define OPC_QUALITY_COMM_FAILURE 0x18
63 #define OPC_QUALITY_OUT_OF_SERVICE 0x1c
64 #define OPC_QUALITY_WAITING_FOR_INITIAL_DATA 0x20
65 #define OPC_QUALITY_LAST_USABLE 0x44
66 #define OPC_QUALITY_SENSOR_CAL 0x50
67 #define OPC_QUALITY_EGU_EXCEEDED 0x54
68 #define OPC_QUALITY_SUB_NORMAL 0x58
69 #define OPC_QUALITY_LOCAL_OVERRIDE 0xd8
70 #define OPC_LIMIT_OK 0x00
71 #define OPC_LIMIT_LOW 0x01
72 #define OPC_LIMIT_HIGH 0x02
73 #define OPC_LIMIT_CONST 0x03
77 typedef bool (__stdcall *
cb_SetItemVal)(
const char* sTagName,VARIANT* pval,
unsigned short wqa,
long long filetime,
void* pCallBackArg);
92 int __stdcall
opcsvr_reg(
const char* sClsID,
const char* sVendor,
const char* sDrivername,
const char* sVersion,
const char* sOpcServerDes,
int AsService);
103 int __stdcall
opcsvr_unreg(
const char* sClsID,
const char* sVendor,
const char* sDrivername,
const char* sVersion,
const char* sOpcServerDes);
115 int __stdcall
opcsrv_addtag(
const char* sName,
const char* sDes,
const char* sUnit,
int nType,
int nWriteable);
129 int __stdcall
opcsrv_start(
const char* sClsID,
const char* sVendor,
const char* sDrivername,
const char* sVersion,
const char* sOpcServerDes,
cb_SetItemVal pfcbSetTagVal,
void* pcbSetTagValArg,
int LockServer);
146 int __stdcall
opcsrv_setval(
const char* sTagname,VARIANT* pval,
unsigned short wqa, __int64 filetime);
159 int __stdcall
opcsrv_setstr(
const char* sTagname,
const char* val,
unsigned short wqa,__int64 filetime);
171 int __stdcall
opcsrv_setblob(
const char* sTagname,
unsigned char val[],
int nsize,
unsigned short wqa, __int64 filetime);
int __stdcall opcsrv_setstr(const char *sTagname, const char *val, unsigned short wqa, __int64 filetime)
写字符串标签值,不是必须的,只是方便C/C++使用,可以用opcsrv_setval替换,参见C/C++例程tstopc_cp ...
int __stdcall opcsrv_stop()
停止OPC Server
int __stdcall opcsrv_addtag(const char *sName, const char *sDes, const char *sUnit, int nType, int nWriteable)
添加标签
int __stdcall opcsrv_setblob(const char *sTagname, unsigned char val[], int nsize, unsigned short wqa, __int64 filetime)
写二进制流标签值,不是必须的,只是方便C/C++使用,可以用opcsrv_setval替换,参见C/C++例程tstopc_cp ...
int __stdcall opcsvr_reg(const char *sClsID, const char *sVendor, const char *sDrivername, const char *sVersion, const char *sOpcServerDes, int AsService)
注册OPC Server
bool(__stdcall * cb_SetItemVal)(const char *sTagName, VARIANT *pval, unsigned short wqa, long long filetime, void *pCallBackArg)
客户端写标签值回调函数,以便写入到具体的设备中。
Definition: opcsrv_da.h:77
int __stdcall opcsrv_start(const char *sClsID, const char *sVendor, const char *sDrivername, const char *sVersion, const char *sOpcServerDes, cb_SetItemVal pfcbSetTagVal, void *pcbSetTagValArg, int LockServer)
启动OPC Server
int __stdcall opcsvr_unreg(const char *sClsID, const char *sVendor, const char *sDrivername, const char *sVersion, const char *sOpcServerDes)
卸载OPC Server
int __stdcall opcsrv_setval(const char *sTagname, VARIANT *pval, unsigned short wqa, __int64 filetime)
写标签值,全部类型,ODT_I8到ODT_BLOB全部支持