OPC服务器用户手册范本模板Word格式.docx

上传人:b****5 文档编号:19522966 上传时间:2023-01-07 格式:DOCX 页数:24 大小:92.92KB
下载 相关 举报
OPC服务器用户手册范本模板Word格式.docx_第1页
第1页 / 共24页
OPC服务器用户手册范本模板Word格式.docx_第2页
第2页 / 共24页
OPC服务器用户手册范本模板Word格式.docx_第3页
第3页 / 共24页
OPC服务器用户手册范本模板Word格式.docx_第4页
第4页 / 共24页
OPC服务器用户手册范本模板Word格式.docx_第5页
第5页 / 共24页
点击查看更多>>
下载资源
资源描述

OPC服务器用户手册范本模板Word格式.docx

《OPC服务器用户手册范本模板Word格式.docx》由会员分享,可在线阅读,更多相关《OPC服务器用户手册范本模板Word格式.docx(24页珍藏版)》请在冰豆网上搜索。

OPC服务器用户手册范本模板Word格式.docx

在高层次上说,OPC服务器包含几个对象:

服务器、标签组和标签项。

OPC服务器对象包含标签组,标签组包含标签项.层次关系如下:

图2—3对象层次关系

OPC的‘标签组’为客户端提供了组织数据的一种方法.例如,用户可以根据特定的显示和报告的需要来组织‘标签组’中的条目(‘标签项’),并可以进行数据的读写。

OPC客户端还可以配置数据的更新速率。

在一个标签组中,用户可以定义一个或多个OPC‘标签项’,如图2-3

图2—3–标签组/标签项的关系图

OPC中的‘标签项’表示了OPC服务器中相联系的数据源。

从用户接口的角度,客户端不能直接存取‘标签项’,因为没有定义直接的‘标签项’接口,所有的‘标签项'

必须通过OPC的‘标签组’来实现存取。

和每个标签项相关联的有‘标签值'

、‘标签质量’和‘时间戳'

,相关的内容可以参考本说明书的附录或OPC规范。

(二)用工具包开发的OPC客户端程序的框架

OPCClient。

DLL动态库中包含了OPC客户端开发工具包所用到的功能,客户端应用程序通过工具包和OPC服务器的接口进行操作,用户不必了解OPC相关的通讯规范和实现。

实现数据的读取和回写等功能。

(三)调用工具包接口的流程图如下:

关于上面流程的说明:

1.对于工具包的激活说明:

如果用户购买的是加密锁加密的方式,在运行时系统会自动检测.如果用户购买的是序列号加密的方式,在程序初始化之前要进行相应的激活,否则系统会认为工具为演示版。

2.用户首先调用Init进行初始化.

3.初始化后,可以和OPC服务器进行连接

4.初始化成功之后,注册数据改变回调函数.

5.向OPC服务器对象可添加一个或多个‘标签组’。

6.向OPC标签组'

对象可添加一个或多个‘标签项’。

7.当相关联的OPC服务器发生数据改变时,注册的回调函数会被调用,用户可以对接到的数据进行相关的处理和操作。

8.在客户程序退出时,调用Uninit。

(四)在开发过程中,用户必须完成一些工作:

1.建立应用程序,加载OPC运行库。

2.按照工具包的提供的接口进行正确的函数调用.

三、工具包的接口描述

以下接口均采用stdcall调用规范。

(一)初始化函数

1、初始化函数

functionInit:

BOOL;

[功能说明]该函数用来初始化工具包动态库。

[参数说明]无

[返回值]如果函数成功返回TRUE,否则返回FALSE

[附加说明]一般情况下在动态库被加载时应被调用。

如果函数调用成功,在动态

被卸载时应调用Uninit。

2、注销函数

procedureUninit;

[功能说明]该函数用来注销工具包。

[返回值]无

[附加说明]一般情况下在程序退出时调用,终止服务并释放相应的资源.

3、工具包激活函数

functionActiveCode(constUserName,Password:

PChar):

BOOL;

[功能说明]该函数用来激活工具包,用于序列号加密的版本.如果不调用此函数,则工具包被当做DEMO版本处理.

[参数说明]

说明

UserName

用户在订货时得到的用户名

Password

用户在订货时得到的注册号

[返回值]如果函数成功返回TRUE,否则返回FALSE

[附加说明]用户名和注册号为配对使用。

(二)服务器连接函数

1、服务器连接

functionConnect(constMachineName,ServerName:

PChar;

Version:

SHORT=2):

THANDLE;

[功能说明]该函数用来连接服务器,服务器端构建相应的组件对象,返回OPC服务器的接口指针。

[参数说明]

MachineName

OPC服务器的节点名称

ServerName

OPC服务器的名称

Version

版本号,可有默认值

[返回值]如果函数不成功返回NULL,否则返回OPC服务器的连接句柄。

[附加说明]函数返回的接口指针很重要,对服务器的操作都要用到。

2、断开服务器连接

procedureDisconnect(hConnect:

THANDLE);

[功能说明]该函数用来断开服务器连接,释放对象资源并通知OPC服务器退出.

hConnect

OPC服务器的连接句柄

[返回值]无。

[附加说明]程序退出时要调用该函数。

3、得到OPC服务器个数函数

functionGetServerCount(MachineName:

Integer;

[功能说明]该函数用来得到某节点中OPC服务器个数函数。

[参数说明]

[返回值]返回该节点OPC服务器个数函数。

[附加说明]无。

4、得到服务器名称

functionGetServerName(Index:

Buf:

PChar;

BufSize:

Integer):

[功能说明]该函数根据索引号得到服务器名称。

[参数说明]

Index

OPC服务器的索引号

Buf

服务器名称的缓存指针,该缓存用于存放返回的服务器名称

BufSize

缓存的大小。

[返回值]如果函数成功返回TRUE,否则返回FALSE。

[附加说明]无。

5、得到服务器信息

functionGetServerStatus(hConnect:

THANDLE;

varSvrStatus:

SERVERINFORMATION):

[功能说明]该函数用于得到服务器的信息.

SvrStatus

返回的服务器状态信息

[返回值]如果函数成功返回TRUE,否则返回FALSE。

[附加说明]服务器信息结构说明

typedefstruct_SERVERINFORMATION

FILETIMEftStartTime;

//启动时间

FILETIMEftCurrentTime;

//当前时间

FILETIMEftLastUpdateTime;

//最近更新时间

WORDdwServerState;

//服务器状态

DWORDdwGroupCount;

//服务器中组的个数

DWORDdwBandWidth;

//服务器带宽

WORDwMajorVersion;

//主版本号

WORDwMinorVersion;

//次版本号

WORDwBuildNumber;

//编译序数

WORDwReserved;

//保留

char*szVendorInfo;

//服务器供应商信息

intBufSize;

//缓存尺寸

}SERVERINFORMATION;

服务器状态

OPCSERVERSTATE声明:

(在OPCDA规范中定义)

enumtagOPCSERVERSTATE

{

OPC_STATUS_RUNNING=1,

OPC_STATUS_FAILED=OPC_STATUS_RUNNING+1,

OPC_STATUS_NOCONFIG=OPC_STATUS_FAILED+1,

OPC_STATUS_SUSPENDED=OPC_STATUS_NOCONFIG+1,

OPC_STATUS_TEST=OPC_STATUS_SUSPENDED+1

}OPCSERVERSTATE;

(三)‘标签组’函数

1、增加‘标签组’

functionAddGroup(hConnect:

Name:

bActive:

dwRate:

DWORD;

TimeBias:

PLongint;

DeadBand:

PSingle;

dwLCID:

DWORD):

[功能说明]该函数用于增加标签组。

Name

标签组的名称

bActive

是否同时激活

dwRate

本标签组的数据更新速率

TimeBias

数据更新的基准时间(以分钟为单位).如果该参数为NULL表示使用系统默认的时间基准。

DeadBand

数据更新的死区(变化百分比),只有当标签的数据变化大于死区时才会触发回调函数给客户端。

如果参数为空则表示死区为0。

dwLCID

此参数用于服务器以文本方式返回值(给这个组的相关操作)时使用的语言.这包括象报警或条件状态或数字线圈的状态等.

[返回值]返回新增‘标签组'

的句柄。

[附加说明]无

2、删除‘标签组’

procedureRemoveGroup(hConnect,hGroup:

[功能说明]该函数用于删除标签组.

hGroup

标签组的句柄

[返回值]无

[附加说明]无

3、设置‘标签组’名称

functionSetGroupName(hConnect,hGroup:

THANDLE;

constName:

PChar):

[功能说明]该函数用于设置‘标签组’名称。

[返回值]如果函数成功返回TRUE,否则返回FALSE。

[附加说明]无

4、设置‘标签组'

状态参数

functionSetGroupState(hConnect,hGroup:

Rate:

bActive:

BOOL;

TimeBias:

DWORD;

DeadBand:

Single;

DWORD):

[功能说明]该函数用于设置‘标签组’状态参数。

Rate

数据更新的基准时间(以分钟为单位)。

如果该参数为NULL表示使用系统默认的时间基准。

如果参数为空则表示死区为0.0

此参数用于服务器以文本方式返回值(给这个组的相关操作)时使用的语言。

这包括象报警或条件状态或数字线圈的状态等。

[返回值]如果函数成功返回TRUE,否则返回FALSE。

5、得到‘标签组’状态

functionGetGroupState(hConnect,hGroup:

Integer;

varpRate:

varbActive:

varpTimeBias:

varpDeadBand:

Single;

varpLCID:

标签组的缓冲区大小

pRate

pTimeBias

如果该参数为NULL表示使用系统默认的时间基准.

pDeadBand

数据更新的死区(变化百分比),只有当标签的数据变化大于死区时才会触发回调函数给客户端。

pLCID

[返回值]如果函数成功返回TRUE,否则返回FALSE。

(四)‘标签项’函数

1、增加‘标签项’

functionAddItem(hConnect,hGroup:

ItemName:

[功能说明]该函数用于在标签组中增加标签项。

ItemName

标签项的名称

[返回值]该标签项的句柄

2、删除‘标签项’

procedureRemoveItem(hConnect,hGroup,hItem:

[功能说明]该函数用于在标签组中删除标签项.

hItem

标签项的句柄

[返回值]该标签项的句柄

3、读‘标签’的数据

functionReadItem(hConnect,hGroup,hItem:

varValue:

OleVariant;

varpTimeStamp:

FILETIME;

varpQuality:

[功能说明]该函数用于在标签组中读取标签的数据.

Value

标签的值

pTimeStamp

标签的时间戳

pQuality

标签的质量

4、写‘标签项’

functionWriteItem(hConnect,hGroup,hItem:

pVar:

POleVariant;

DoAsync:

BOOL=False):

[功能说明]该函数用于在标签组中标签数据的回写。

pVar

标签的回写值

DoAsync

回写操作的方式(是同步方式还是异步方式)

5、激活‘标签项’

functionActiveItem(hConnect,hGroup,hItem:

BOOL):

[功能说明]该函数用于在标签组中标签项的激活。

是否激活

[附加说明]无

6、验证‘标签项’

functionValidateItem(hConnect,hGroup:

varpType:

TVarType;

varpAccessRights:

[功能说明]该函数用于在标签组中验证标签项.

pType

标签的数据类型

pAccessRights

标签的存取权限

[返回值]如果函数成功返回TRUE,否则返回FALSE.

7、得到‘标签项’个数

functionGetItemCount(hConnect:

THANDLE):

[功能说明]该函数用于得到某个连接中标签项的个数.

[返回值]返回标签项的个数。

8、得到‘标签项’名称

functionGetItemName(hConnect:

index:

BufSize:

[功能说明]该函数用于得到‘标签项’名称.

index

标签的索引号

标签名缓冲区的指针

标签名缓冲区的大小

[返回值]如果函数成功返回TRUE,否则返回FALSE。

9、得到‘标签项’全名

functionGetItemFullName(hConnect:

index:

Buf:

[功能说明]该函数用于得到‘标签项’全名。

[返回值]如果函数成功返回TRUE,否则返回FALSE.

10、得到‘标签项’属性的个数

functionNumberOfItemProperties(hConnect:

ItemName:

[功能说明]该函数用于得到得到‘标签项’属性的个数。

[返回值]‘标签项'

属性的个数。

11、得到‘标签项’属性说明

functionGetItemPropertyDescription(hConnect:

PropertyIndex:

varpPropertyID:

varVT:

Integer):

[功能说明]该函数用于得到得到‘标签项’属性的描述。

PropertyIndex

标签项属性的索引号

pPropertyID

属性ID

VT

属性的数据类型

属性描述缓冲区的指针

属性描述缓冲区的大小

12、读‘标签项’属性值

functionReadPropertyValue(hConnect:

PropertyID:

pValue:

POleVariant):

(五)回调函数

procedureSetDataChangeProc(hConnect:

lpCallback:

DATACHANGEPROC;

WriteCallback:

WRITEFINISHPROC=nil);

[功能说明]该函数用于注册数据改变回调函数.

lpCallback

回调函数的程序指针(数据改变时调用)

WriteCallback

写数据函数的程序指针

[附加说明]当服务器中有数据改变时,会调用注册的回调函数.

(六)其它函数

1、浏览‘标签项'

functionBrowseItems(hConnect:

FilterType:

WORD):

[功能说明]该函数用于遍历某个连接中的标签项。

FilterType

过滤类型

[返回值]返回遍历标签项的个数。

2、设置浏览标签的过滤条件

functionSet

展开阅读全文
相关资源
猜你喜欢
相关搜索
资源标签

当前位置:首页 > 高等教育 > 哲学

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1