OPCServer服务端软件开发包EasyOPC_DA.DLL函数手册

屈俊远
2023-12-01

http://blog.sina.com.cn/s/blog_16d7d3ecb0102x218.html
1.0 概述
EasyOPC_DA OCP Server软件开发包(SDK)为上海埃菲尔自动化系统有限公司完全自主知识产权产品,开发包架构简洁清晰,应用开发方便快速,运行安全稳定,数据交换高效,满足所有工业应用场合需求,为工业设备及系统快速实现OPC服务端接口提供可靠的解决方案。

  EasyOPC_DA OCP Server 源代码:下载地址1(DotNetFx4.0)

  EasyOPC_DA OCP Server 源代码:下载地址2(DotNetFx2.0)

  无法下载或它疑问可加微信lflzdh或者QQ532011903留言;

2.0基本结构
开发包采用动态链接库的形式(*.DLL),共有两个DLL文件:
EasyOPC_DA.DLL:该文件为OPC Server开发包SDK的主接口文件,在EasyOPC_DA的命名空间下有两个子目录:
.Server 提供OPC和SOCKET数据服务;
.Convert 提供各种数据转换的相关函数;
OLEPCS.DLL:该文件为OPC Server的辅助基础资源文件,只须要将该文件复制到程序集DLL的相同目录下即可。

3.0技术参数

操作系统:WindowsXP、Windows7 x86、Windows x64、Windows8等;
适应语言:VS.NET所有语言(VC、C#、VB)、LabView等;

4.0接口说明
4.1 属性(命名空间EasyOPC_DA. Server)

名称:OpcClientCount
功能:获取当前OPC服务器的客户端数量;
类型:INT32

名称:NetClientCount
功能:获取当前Socket服务器的客户端数量;
类型:INT32

4.2  事件(命名空间EasyOPC_DA. Server)

名称:OpcClientWriteValue
功能:响应OPC的客户端变更某个标签的数值;
参数:TagHandle ,INT32,标签的句柄,通过TagAddNew方法返回获得;
Value ,Object,客户端写过来的数值;
ErrorInt ,INT32,服务端更新时的错误,通过该变量返回给客户端;

名称:NetClientWriteValue
功能:响应Socket的客户端变更某个标签的数值;
参数:TagHandle ,INT32,标签的句柄,通过TagAddNew方法返回获得;
Value ,Object,客户端写过来的数值;
ErrorInt ,INT32,服务端更新时的错误,通过该变量返回给客户端;

4.3  方法一(命名空间EasyOPC_DA. Server)

名称:RegServer
功能:操作系统下注册服务器;
参数:ServerID ,String,设置服务器ID;
ServerName ,String,设置服务器名称;
WorkFile ,String,服务器可执行文件的完整路径;
Version ,String,服务器的版本信息;
SN ,String,SDK开发包的使用序列号,可联系本公司获取;
返回:INT32 ,0=正常注册;
-1:参数错误;
-2:写OPC信息错误;
-3:写版本信息错误;
-4:写注册表错误;

名称:UnregServer
功能:操作系统下注销服务器;
参数:无;
返回:INT32 ,0=正常注销;
-1:注销错误;

名称:StartOpcServer
功能:启动OPC服务器到运行状态;
参数:UpdateRate ,UINT16,可选参数,数据更新速率,单位ms;
返回:INT32 ,0=正常启动;
-1:初始化错误;
-2:速率设置错误;
-3:客户端事件设置错误1
-4:客户端事件设置错误2

名称:StopOpcServer
功能:操作系统下注销服务器;
参数:无;
返回:INT32 ,0=正常停止;
-1:停止错误;

名称:TagAddNew
功能:添加一个新的通讯标签;
参数:TagName ,String,通讯标签名称;
IniValue ,Object,标签的初始值,浮点数要带小数,如0.0;
Writeable ,Boolean,是否为可写标签;
TagHandle ,INT32,传址参数,返回的标签的指针句柄值;
返回:INT32 ,0=正常添加;
-1:创建标签失败;
-2:添加标签失败;

名称:TagRemove
功能:删除一个已经成功添加的通讯标签;
参数:TagHandle ,INT32,标签的指针句柄值;
返回:INT32 ,0=正常删除;
-1:标签移除错误;
-2:标签句柄参数错误;
-3:数据更新错误;

名称:TagClear
功能:删除所有已经成功添加的通讯标签;
参数:无;
返回:INT32 ,0=正常清除;
-1:标签清除错误;

名称:UpdateValue
功能:更新通讯标签的当前值;
参数:TagHandle ,INT32,标签的指针句柄值;
Value ,Object,标签的值,浮点数要带小数,如0.0;
返回:INT32 ,0=正常更新;
-1:标签数值更新失败;

名称:ReadValue
功能:读取通讯标签的当前值;
参数:TagHandle ,INT32,标签的指针句柄值;
Value ,Object,传址参数,返回标签的值;
返回:INT32 ,0=正常读取;
-1:标签数值读取失败;

名称:OpenNetServer
功能:开启Socket服务器到运行状态;
参数:IP ,String,提供Socket网络服务的本地服务端IP地址;
Port ,UINT32,提供Socket网络服务的本地服务端端口;
返回:INT32 ,0=正常开启;
-1:开启错误;

名称:CloseNetServer
功能:关闭Socket服务;
参数:无;
返回:INT32 ,0=正常关闭;
-1:关闭错误;

名称:IsTextGB
功能:判断是否含有中文字符;
参数:Text ,String,要判断的文本;
返回:Boolean ,True=含有中文;

4.4  方法二(命名空间EasyOPC_DA. Convert)

名称:IntToUint16
功能:有符号16位数转换为无符号16位数据;
参数:IntVal ,INT16,有符号16位数值;
返回:UINT16 ,转换后的无符号16位数据;

名称:UintToInt16
功能:无符号16位数转换为有符号16位数据;
参数:IntVal ,UINT16,无符号16位数值;
返回:INT16 ,转换后的有符号16位数据;

名称:IntToUint32
功能:有符号32位数转换为无符号32位数据;
参数:IntVal ,INT32,有符号32位数值;
返回:UINT32 ,转换后的无符号32位数据;

名称:UintToInt3
功能:无符号32位数转换为有符号32位数据;
参数:IntVal ,UINT32,无符号32位数值;
返回:INT32 ,转换后的有符号32位数据;

名称:DintToInt2
功能:将一个32位有符号数据转换为两个16位有符号数据;
参数:Dint ,INT32,有符号32位数值;
返回:INT16数组 ,转换后的有符号16位数据,最小下标为低16位;

名称:Int2ToDint
功能:将两个16位有符号数据转换为一个32位有符号数据;
参数:IntH ,INT16,第一个有符号16位数据,高16位;
IntL ,INT16,第二个有符号16位数据,低16位;
返回:INT32 ,转换后的有符号32位数据;

名称:HexToDec
功能:将16进制字符转换为一个32位有符号数据;
参数:HexStr ,String ,16进制字符数据;
返回:INT32 ,转换后的有符号32位数据;

名称:DataEx16
功能:将16数据的高低字节交换,输出新的16位有符号数据;
参数:SourData ,Object ,需要处理的16位数据;
ExByte ,Boolean,是否交换字节,可选参数,默认为True;
返回:INT16 ,转换后的有符号16位数据;

名称:DataEx32
功能:将32数据的高低字、或者节交换,输出新的32位有符号数据;
参数:SourData ,Object ,需要处理的32位数据;
ExByte ,Boolean,是否交换高低字节;
ExWord,Boolean,是否交换高低字;
返回:INT32 ,转换后的有符号32位数据;
名称:DataBitTest

功能:读取一个数据中任意一个二进制位的状态
参数:SourData ,Object ,数据;
BitNum ,UINT16,二进制位的号码;
返回:Boolean ,返回二进制位的状态;

名称:DataBitSet
功能:设置一个数据中任意一个二进制位的状态为1;
参数:SourData ,Object ,数据;
BitNum ,UINT16,二进制位的号码;
返回:Object ,返回设置二进制位的状态后的数值;

名称:DataBitReset
功能:设置一个数据中任意一个二进制位的状态为0;
参数:SourData ,Object ,数据;
BitNum ,UINT16,二进制位的号码;
返回:Object ,返回设置二进制位的状态后的数值;

5.0开发流程
SDK开发包的主要函数调用流程详见下图:

OPCServer服务端软件开发包EasyOPC_DA.DLL函数手册

6.0 SOCKET客户端

OPC开发报提供SOCKET-TCP服务,客户端可直接通过网络发送字符,读写TAG标签,主要应用与VB、C#等高级语言的开发,与复杂的OPC客户端开发方式相比更为快速直接,客户端的数量不受限制。

6.1  常用命令

名称:AT
功能:测试服务端是否开启;
格式:“AT”
返回:“OK” & chr(13) & chr(10) 网络连接正常,服务端开启;
“ERROR” & chr(13) & chr(10) 网络异常或者服务端未开启;

名称:ServerID
功能:获取服务端的软件ID;
格式:“AT+ServerID=?”
返回:“+ServerID:”& 服务端ID & chr(13) & chr(10);
“ERROR”& chr(13) & chr(10) 网络异常或者服务端未开启;

名称:ServerName
功能:获取服务端的软件名称;
格式:“AT+ServerName=?”
返回:“+ServerName:”& 服务端名称 & chr(13) & chr(10);
“ERROR” & chr(13) & chr(10) 网络异常或者服务端未开启;

名称:TagNames
功能:获取服务端的所有通讯标签的名称;
格式:“AT+TagNames=?”
返回:“+TagNames:”& 标签1 & “,”& 标签2 & “,”& 标签n & chr(13) & chr(10);
“ERROR” & chr(13) & chr(10) 网络异常或者服务端未开启;

名称:Close
功能:客户端关闭一个连接;
格式:“AT+Close”
返回:“OK” & chr(13) & chr(10) 网络连接断开,关闭成功;
“ERROR” & chr(13) & chr(10) 网络异常或者服务端未开启;

6.2根据标签名称读标签数值

格式:“AT+”+标签名称+“=?”
返回:“+” & 标签名称 &“:”& 标签当前值 & chr(13) & chr(10);
“ERROR”& chr(13) & chr(10) 网络异常或者服务端未开启;

6.3根据标签名称写标签数值

格式:“AT+”& 标签名称 &“=”& 写入的数值
返回:“+” & 标签名称 &“:”& 标签当前值 & chr(13) & chr(10);
“ERROR”& chr(13) & chr(10) 网络异常或者服务端未开启,或者当前标签为只读标签;

7.0技术支持

本公司提供各类PC与PLC通讯的解决方案,提供工业自动化软件定制开发服务,包括定制化的OPC数据服务器软件,以及自动化设备与生产线监控、数据采集项目等欢迎交流咨询。
任意一款DLL通讯组件,以及本公司的OPC数据服务器SDK开发包等工业数据服务产品都会随产品提供多种语言的例程,同时通过以下方式提供24小时技术支持:
E-Mail: liuflamp@126.com
QQ: 5320 11903
TEL: 159 7219 9489
微信: lflzdh

 类似资料: