OPC Server SDK  3.0.0.7
www.tomchina.cn
opcsrv_da.h
浏览该文件的文档.
1 
12 #ifndef OPCSRV_DA_H
13 #define OPCSRV_DA_H
14 
15 #define ODT_VOID 0
16 #define ODT_I8 1
17 #define ODT_U8 2
18 #define ODT_I16 3
19 #define ODT_U16 4
20 #define ODT_I32 5
21 #define ODT_U32 6
22 #define ODT_I64 7
23 #define ODT_U64 8
24 #define ODT_F32 9
25 #define ODT_F64 10
26 #define ODT_STR 11
27 #define ODT_BLOB 12
28 #define ODT_BOOL 13
29 
30 #define OTEM_NOWRITE 0
31 #define OTEM_WRITE 1
32 
33 #define OE_OK 0
34 #define OE_ERR 1
35 #define OE_ERRARG 2
36 #define OE_OUTMEM 3
37 #define OE_CLSID 4
38 #define OE_ERRCOM 5
39 #define OE_INITCOM 6
40 
41 #define OE_NOITEM 10
42 #define OE_ERRTYPE 11
43 #define OE_ERRDATA 12
44 #define OE_ERRTIME 13
45 #define OE_ERRQA 14
46 #define OE_NODATA 15
47 #define OE_RUNING 16
48 #define OE_NOTRUN 17
49 
50 //{{ OPC 数据质量,从OPC标准复制而来
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
74 //}}
75 
77 typedef bool (__stdcall *cb_SetItemVal)(const char* sTagName,VARIANT* pval,unsigned short wqa,long long filetime,void* pCallBackArg);
78 
79 #ifdef __cplusplus
80 extern "C" {
81 #endif
82 
92  int __stdcall opcsvr_reg(const char* sClsID,const char* sVendor,const char* sDrivername,const char* sVersion,const char* sOpcServerDes,int AsService);
93 
103  int __stdcall opcsvr_unreg( const char* sClsID, const char* sVendor,const char* sDrivername,const char* sVersion,const char* sOpcServerDes);
104 
115  int __stdcall opcsrv_addtag(const char* sName, const char* sDes,const char* sUnit,int nType, int nWriteable);
116 
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);
130 
136  int __stdcall opcsrv_stop();
137 
146  int __stdcall opcsrv_setval(const char* sTagname,VARIANT* pval, unsigned short wqa, __int64 filetime);
147 
148  //下面两个不是必须的,只是方便C/C++的使用,完全可以使用opcsrv_setval替代。
149 
159  int __stdcall opcsrv_setstr(const char* sTagname,const char* val,unsigned short wqa,__int64 filetime);
160 
171  int __stdcall opcsrv_setblob(const char* sTagname,unsigned char val[],int nsize,unsigned short wqa, __int64 filetime);
172 
173 #ifdef __cplusplus
174 }
175 #endif
176 
177 #endif //OPCSRV_DA_H
178 
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全部支持