RDA_COM接口

Navigation:  iCentroView数据发布 >

RDA_COM接口

Previous pageReturn to chapter overviewNext page

cvrda_com.dll提供了读数据、写数据、写事件的com接口供用户使用。使用方法如下:

 

uint  RdaInit()

功能:初始化服务端本地数据访问接口,本接口必须在其它LDA_XXX接口之前得到调用,且一个程序只能调用一次。

 

VC示例:

int nRetInit = RdaInit();

 

VB示例:

Dim nRetVal As Integer

Set rda = CreateObject("cvrda_com.rda")

nRetVal = rda.RdaInit()

 

uint  RdaRelease()

功能:释放接口资源,不再使用接口时调用。调用了RDA_Init后,在系统退出前必须调用该接口。

 

VC示例:

RdaRelease(nRetInit);

 

VB示例:

rda.RdaRelease(nRetVal)

Set rda = Nothing

 

uint RdaReadValue(char *szTagNameWithScada, char *szFieldName, char *szValueBuf, int *pnValueBufLen)

功能:从过程数据库中读取一个TAG点的值。

szTagNameWithScada为tag名称,需要带上scada节点名及后面的点号,例如:scadamain.midvar_0。

szFieldName,域名的字符串形式。最常用的域名为F_CV(当前值)、F_TIMESTAMP(时间戳)、F_QUALITY(质量)。如果是F_CV,可以填空字符串。

szValueBuf,要读取到的缓冲区。读取到的值一律转换为字符串形式,如1100.11则为字符串"1100.11"。

pnValueBufLen,读取缓冲区长度,同时作为输出参数,调用成功时返回传出读取内容的实际长度。

 

VC示例:

char szTagValue[MAX_PATH] = {0};

int nValueLen = sizeof(szTagValue);

int nRet = RdaReadValue("scadamain.midvar_0", "F_CV", szTagValue, &nValueLen);

 

VB示例:

Dim strTagValue

Dim lRetVal As Integer

Dim nBufLen As Integer

nBufLen = 256
lRetVal = rda.RdaReadValue("scadamain.midvar_0", "F_CV", strTagValue, nBufLen)

 

uint RdaWriteValue(char *szTagNameWithScada, char *szFieldName, char *szValueBuf, int nMSTimeOut)

功能:向过程数据库中写入一个TAG点的值。

szTagNameWithScada为tag名称,需要带上scada节点名及后面的点号,例如:scadamain.midvar_0。

szFieldName,域名。正常情况下应该是对域名为F_CV(当前值)写入,此时可以填空字符串。

szValueBuf,要写入的内容,必须转换为字符串格式,如数值1100.11,则应转换为字符串"1100.11" 。

nMSTimeOut,控制超时,以毫秒为单位,预留值。

 

VC示例:

char szTagName[MAX_PATH]={0};
strcpy(szTagName, "AI1");
char szTagValue[MAX_PATH]={0};
strcpy(szTagValue, "100");

int nRet = RdaWriteValue("scadamain.midvar_0", "F_CV",szTagValue, 0);

 

VB示例:

Dim strTagValue As String * 256
Dim lRetVal As Integer
strTagValue = txtWriteValue.Text
'DO NOT USE txtWriteValue.Text AS PARAMETER OF LDA_WriteValue !!
lRetVal = rda.RdaWriteValue("scadamain.midvar_0", "F_CV",strTagValue, 1000)

 

uint AddCustomEvent(char *szTag, char *szMsg, char *eventType, long eventPriority)

功能:添加自定义事件,添加的结果会记录到对应工程目录下\Data\EventAlarm\eventalarm.db文件中。

szTag:Tag名字,字符串;

szMsg:事件描述,字符串;

eventType:事件类型,字符串;

eventPriority:事件优先级,整形;

无返回值。

 

VC示例:

char szTagName[MAX_PATH]={0};

strcpy(szTagName, "AI1");

char szMsg[MAX_PATH]={0};
strcpy(szMsg, "message12");
char szType[MAX_PATH]={0};
strcpy(szType, "Custom");
int nRet = AddCustomEvent(szTagName, szMsg, szType, 1);

 

VB示例:

rda.AddCustomEvent "ai_0","Msg12345","Custom12345",1