OPC Server SDK
3.0.0.7
www.tomchina.cn
|
OPC Server SDK开发包定义文件 更多...
宏定义 | |
#define | ODT_VOID 0 |
void | |
#define | ODT_I8 1 |
char | |
#define | ODT_U8 2 |
unsigned char | |
#define | ODT_I16 3 |
short | |
#define | ODT_U16 4 |
unsigned short | |
#define | ODT_I32 5 |
int | |
#define | ODT_U32 6 |
unsigned int | |
#define | ODT_I64 7 |
__int64 | |
#define | ODT_U64 8 |
unsigned __int64 | |
#define | ODT_F32 9 |
float | |
#define | ODT_F64 10 |
double | |
#define | ODT_STR 11 |
char* 或 BSTR | |
#define | ODT_BLOB 12 |
二进制字节流 (VT_UI1 | VT_ARRAY) | |
#define | ODT_BOOL 13 |
VT_BOOL类型 | |
#define | OTEM_NOWRITE 0 |
客户端不可写,只读 | |
#define | OTEM_WRITE 1 |
客户端可写 | |
#define | OE_OK 0 |
成功 | |
#define | OE_ERR 1 |
失败 | |
#define | OE_ERRARG 2 |
错误的参数 | |
#define | OE_OUTMEM 3 |
内存不够 | |
#define | OE_CLSID 4 |
CLSID错误 | |
#define | OE_ERRCOM 5 |
COM/DCOM错误 | |
#define | OE_INITCOM 6 |
初始化COM套间出错 | |
#define | OE_NOITEM 10 |
无此标签 | |
#define | OE_ERRTYPE 11 |
数据类型错误或无法转换数据 | |
#define | OE_ERRDATA 12 |
错误的数据 | |
#define | OE_ERRTIME 13 |
错误的时标 | |
#define | OE_ERRQA 14 |
错误的数据质量 | |
#define | OE_NODATA 15 |
无数据 | |
#define | OE_RUNING 16 |
已经在运行 | |
#define | OE_NOTRUN 17 |
没有运行 | |
#define | OPC_QUALITY_MASK 0xc0 |
OPC_QUALITY_MASK. | |
#define | OPC_STATUS_MASK 0xfc |
OPC_STATUS_MASK. | |
#define | OPC_LIMIT_MASK 0x03 |
OPC_LIMIT_MASK. | |
#define | OPC_QUALITY_BAD 0x00 |
坏质量,常用 | |
#define | OPC_QUALITY_UNCERTAIN 0x40 |
OPC_QUALITY_UNCERTAIN. | |
#define | OPC_QUALITY_GOOD 0xc0 |
好质量,常用 | |
#define | OPC_QUALITY_CONFIG_ERROR 0x04 |
配置错误 | |
#define | OPC_QUALITY_NOT_CONNECTED 0x08 |
设备没有连接 | |
#define | OPC_QUALITY_DEVICE_FAILURE 0x0c |
设备错误,坏质量细分 | |
#define | OPC_QUALITY_SENSOR_FAILURE 0x10 |
传感器错误,坏质量细分 | |
#define | OPC_QUALITY_LAST_KNOWN 0x14 |
OPC_QUALITY_LAST_KNOWN. | |
#define | OPC_QUALITY_COMM_FAILURE 0x18 |
OPC_QUALITY_COMM_FAILURE. | |
#define | OPC_QUALITY_OUT_OF_SERVICE 0x1c |
OPC_QUALITY_OUT_OF_SERVICE. | |
#define | OPC_QUALITY_WAITING_FOR_INITIAL_DATA 0x20 |
OPC_QUALITY_WAITING_FOR_INITIAL_DATA. | |
#define | OPC_QUALITY_LAST_USABLE 0x44 |
OPC_QUALITY_LAST_USABLE. | |
#define | OPC_QUALITY_SENSOR_CAL 0x50 |
OPC_QUALITY_SENSOR_CAL. | |
#define | OPC_QUALITY_EGU_EXCEEDED 0x54 |
OPC_QUALITY_EGU_EXCEEDED. | |
#define | OPC_QUALITY_SUB_NORMAL 0x58 |
OPC_QUALITY_SUB_NORMAL. | |
#define | OPC_QUALITY_LOCAL_OVERRIDE 0xd8 |
OPC_QUALITY_LOCAL_OVERRIDE. | |
#define | OPC_LIMIT_OK 0x00 |
OPC_LIMIT_OK. | |
#define | OPC_LIMIT_LOW 0x01 |
OPC_LIMIT_LOW. | |
#define | OPC_LIMIT_HIGH 0x02 |
OPC_LIMIT_HIGH. | |
#define | OPC_LIMIT_CONST 0x03 |
OPC_LIMIT_CONST. | |
类型定义 | |
typedef bool(__stdcall * | cb_SetItemVal) (const char *sTagName, VARIANT *pval, unsigned short wqa, long long filetime, void *pCallBackArg) |
客户端写标签值回调函数,以便写入到具体的设备中。 | |
函数 | |
int __stdcall | opcsvr_reg (const char *sClsID, const char *sVendor, const char *sDrivername, const char *sVersion, const char *sOpcServerDes, int AsService) |
注册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_addtag (const char *sName, const char *sDes, const char *sUnit, int nType, int nWriteable) |
添加标签 更多... | |
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 | opcsrv_stop () |
停止OPC Server 更多... | |
int __stdcall | opcsrv_setval (const char *sTagname, VARIANT *pval, unsigned short wqa, __int64 filetime) |
写标签值,全部类型,ODT_I8到ODT_BLOB全部支持 更多... | |
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_setblob (const char *sTagname, unsigned char val[], int nsize, unsigned short wqa, __int64 filetime) |
写二进制流标签值,不是必须的,只是方便C/C++使用,可以用opcsrv_setval替换,参见C/C++例程tstopc_cp 更多... | |
OPC Server SDK开发包定义文件
OPC Server SDK开发包定义文件
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
写标签值,全部类型,ODT_I8到ODT_BLOB全部支持
sTagname | [in] 标签名,ANSI字符集,<80字符 |
val | [in] 字节数组,0字符结束 |
nsize | [in] val的字节数 |
wqa | [in] 质量,参见 OPC数据质量 |
filetime | [in] 时标,filetime时标,是用一个64未得整数.MSDN原文描述:A file time is a 64-bit value that represents the number of 100-nanosecond intervals that have elapsed since 12:00 A.M. January 1, 1601 Coordinated Universal Time (UTC). |
int __stdcall opcsrv_setstr | ( | const char * | sTagname, |
const char * | val, | ||
unsigned short | wqa, | ||
__int64 | filetime | ||
) |
写字符串标签值,不是必须的,只是方便C/C++使用,可以用opcsrv_setval替换,参见C/C++例程tstopc_cp
写标签值,全部类型,ODT_I8到ODT_BLOB全部支持
sTagname | [in] 标签名,ANSI字符集,<80字符 |
val | [in] ASNI字符串值,0字符结束 |
wqa | [in] 质量,参见 OPC数据质量 |
filetime | [in] 时标,filetime时标,是用一个64未得整数.MSDN原文描述:A file time is a 64-bit value that represents the number of 100-nanosecond intervals that have elapsed since 12:00 A.M. January 1, 1601 Coordinated Universal Time (UTC). |
int __stdcall opcsrv_setval | ( | const char * | sTagname, |
VARIANT * | pval, | ||
unsigned short | wqa, | ||
__int64 | filetime | ||
) |
写标签值,全部类型,ODT_I8到ODT_BLOB全部支持
sTagname | [in] 标签名,ANSI字符集,<80字符 |
pval | [in] 值,C# 中为ref object,参见tstopc_cs工程中的例子 |
wqa | [in] 质量,参见 OPC数据质量 |
filetime | [in] 时标,filetime时标,是用一个64未得整数.MSDN原文描述:A file time is a 64-bit value that represents the number of 100-nanosecond intervals that have elapsed since 12:00 A.M. January 1, 1601 Coordinated Universal Time (UTC). |
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
sClsID | [in]CLSID 比如"{DEAFC4D7-1B56-4eff-B7DC-D06999F47ADB}",ANSI字符集,<80字符 |
sVendor | [in] 提供商,比如"tom",ANSI字符集,<80字符 |
sDrivername | [in] 驱动名,比如"rdb4opcda",ANSI字符集,<80字符 |
sVersion | [in] 版本名,比如"1" ,ANSI字符集,<80字符 |
sOpcServerDes | [in] OPC Server描述 ,ANSI字符集,<128字符 |
pfcbSetTagVal | [in] 回调函数,NULL表示不响应客户端写操作 |
pcbSetTagValArg | [in] 回调参数,pfcbSetTagVal使用的参数 |
LockServer | [in] 非0锁定服务,0不锁定。不锁定时,当所有的客户端断开后,非锁定会退出应用程序,锁定则会继续运行。 |
int __stdcall opcsrv_stop | ( | ) |
停止OPC Server
int __stdcall opcsvr_reg | ( | const char * | sClsID, |
const char * | sVendor, | ||
const char * | sDrivername, | ||
const char * | sVersion, | ||
const char * | sOpcServerDes, | ||
int | AsService | ||
) |
注册OPC Server
sClsID | [in]CLSID 比如"{DEAFC4D7-1B56-4eff-B7DC-D06999F47ADB}",ANSI字符集,<80字符 |
sVendor | [in] 提供商,比如"tom",ANSI字符集,<80字符 |
sDrivername | [in] 驱动名,比如"rdb4opcda",ANSI字符集,<80字符 |
sVersion | [in] 版本名,比如"1" ,ANSI字符集,<80字符 |
sOpcServerDes | [in] OPC Server描述 ,ANSI字符集,<128字符 |
AsService | [in] 0前台程序,非0后台service |
int __stdcall opcsvr_unreg | ( | const char * | sClsID, |
const char * | sVendor, | ||
const char * | sDrivername, | ||
const char * | sVersion, | ||
const char * | sOpcServerDes | ||
) |
卸载OPC Server
sClsID | [in]CLSID 比如"{DEAFC4D7-1B56-4eff-B7DC-D06999F47ADB}",ANSI字符集,<80字符 |
sVendor | [in] 提供商,比如"tom",ANSI字符集,<80字符 |
sDrivername | [in] 驱动名,比如"rdb4opcda",ANSI字符集,<80字符 |
sVersion | [in] 版本名,比如"1" ,ANSI字符集,<80字符 |
sOpcServerDes | [in] OPC Server描述 ,ANSI字符集,<128字符 |