GPRS RTU设备OPC Server接口C# 实现
通过本OPC Server程序接口可为用户提供以OPC标准接口访问远程GPRS/3G/以太网 RTU设备实时数据的方式。从而方便实现GPRS/3G/以太网 RTU设备与组态软件或DCS系统的对接。本程序提供源码,您只需几分钟即可让您的设备具有OPC 服务器接口。

通过本OPC Server程序可实现以TCP/UDP方式接收远程GPRS/3G/以太网 RTU设备的数据包,经对数据包进行解析处理后,向用户提供以OPC标准接口访问远程RTU设备实时数据的方式。
本程序支持OPC基金会指定的OPC数据规范1.0/2.0/3.0标准,可与国际主流组态软件或DCS系统对接,并支持将OPC客户端(组态软件或DCS系统)设置数据转发到远程GPRS/3G/以太网 RTU设备,实现对远端设备或系统的开关量或模拟量进行控制。



源码说明:https://item.taobao.com/item.htm?spm=686.1000925.0.0.wcBmvC&id=541464325986
OPC Server 接口开发
(1)注册OPC服务器
OPCSvrHelper.RegisterOPCSrv(string path,string UUID,
string OPCServerName)
此函数为静态函数,只注册一次即可,不用每次启动软件都注册。
参数含义如下:
l path – 为本exe的路径
l UUID – OPC服务器的唯一识别码,可自行设定
l OPCServerName – OPC服务器的名称
(2)启动OPC服务器
InitOPCServer(string UUID)
(3)创建OPC 组及OPC Tag
CreateTag(string groupName,string tagName,object defaultVal,bool isWriteable)
l groupName – OPC组名
l tagName – OPC Tag名
l defaultVal – OPC Tag的默认值
l isWriteable – 是否可写
(4)更新OPC Tag的值
UpDateTagVal(string groupName,string tagName,object val)
本函数可以实现对指定组名和Tag的值进行更新
l groupName – OPC组名
l tagName – OPC Tag名
l val – 更新的值
注意:若指定的groupName和tagName不存在,则会触发异常
(5)注销OPC服务器
OPCSvrHelper.UnRegisterOPCSrv(UUID, string OPCServerName)
静态函数
l UUID – OPC服务器的唯一识别码,可自行设定
l OPCServerName – OPC服务器的名称
(6)读取OPC Tag值
object ReadTag(string groupName,string tagName)
l groupName – OPC组名
l tagName – OPC Tag名
返回:object类型的值
注意:若指定的groupName和tagName不存在,则会触发异常
(7)删除OPC Tag
RemvoeTag(string groupName,string tagName)
l groupName – OPC组名
l tagName – OPC Tag名
(8)客户端写Tag值更新事件
事件名:TagWritedByClientEvt
事件原型:
delegate void TagWritedByClientDelegate(string TagName, Object Value, UInt32 ResultCode)
TagName -- OPC组名.OPCTag名
Value – 更新的值
ResultCode – 信号质量
GPRS RTU设备OPC Server接口C# 实现的更多相关文章
- 工业标准接口OPC Server
工业标准接口OPC Server OPC Server服务器软件,简称OPCServer,是针对企业生产过程中所涉及到的各种DCS.PLC.组态软件.电力综合自动化等控制系统.测量系统.其它辅助生产 ...
- 《连载 | 物联网框架ServerSuperIO教程》- 16.OPC Server的使用步骤。附:3.3 发布与版本更新说明。
1.C#跨平台物联网通讯框架ServerSuperIO(SSIO)介绍 <连载 | 物联网框架ServerSuperIO教程>1.4种通讯模式机制. <连载 | 物联网框架Serve ...
- 《连载 | 物联网框架ServerSuperIO教程》- 16.集成OPC Server,及使用步骤。附:3.3 发布与版本更新说明。
1.C#跨平台物联网通讯框架ServerSuperIO(SSIO)介绍 <连载 | 物联网框架ServerSuperIO教程>1.4种通讯模式机制. <连载 | 物联网框架Serve ...
- 令人兴奋的TOP Server OPC Server v6.5 五大功能(上)
Software Toolbox的OPC和原生HMI设备的连接软件:TOP Server OPC Server.TOP Server OPC Server是采用业界领先的Kepware技术的工业4.0 ...
- 【干货】如何通过OPC自定义接口来实现客户端数据的读取?
上篇博文分享了我的知识库,被好多人关注,受宠若惊.今天我把我在项目中封装的OPC自定义接口的程序分享一下.下面将会简单简单介绍下OPC DA客户端数据访问,以及搭配整个系统的运行环境. OPC(OLE ...
- OPCServer:使用Matrikon OPC Server Simulation
实验用模拟OPCServer 旧版(50M):Matrikon OPC Server Simulation(v1.5.0.0),百度网盘,密码: mcur 新版(157M):Matrikon OPC ...
- OPC Server开发的几大境界
OPC server的开发相对OPC client 更加困难,OPC server 的开发主要应用COM技术,主要应用书籍为潘爱民写的<COM入门和应用>,大量的技术有很大的可重用性,在开 ...
- 令人兴奋的TOP Server OPC Server v6.5 五大功能(下)
接上文. 2.MQTT客户端驱动程序自动标记生成(ATG) 使用过TOP Server OPC Server的大家可能还记得,在TOP Server OPC Server V6.4版本中,我们为MQT ...
- C#读取OPC server
1.安装opc server https://blog.csdn.net/yhtppp/article/details/80676118 2.c#读取opc https://github.com/le ...
随机推荐
- 虚拟局域网VLAN简介
VLAN 1.根据端口划分VLAN 2.根据MAC地址划分VLAN 3.根据网络层划分VLAN 4. IP组播作为VLAN VLAN优点 1.减少移动和改变的代价 2.虚拟工作组 3.限制广播包 4. ...
- [003] - JavaSE面试题(三):JavaSE语法(1)
第一期:Java面试 - 100题,梳理各大网站优秀面试题.大家可以跟着我一起来刷刷Java理论知识 [003] - JavaSE面试题(三):JavaSE语法(1) 第1问:& 和 & ...
- [刘阳Java]_精选20道Java多线程面试题
1. 多线程使用的优缺点? 优点: (1)多线程技术使程序的响应速度更快 (2)当前没有进行处理的任务可以将处理器时间让给其它任务 (3)占用大量处理时间的任务可以定期将处理器时间让给其它任务 (4) ...
- Mycat读写分离的简单实现
目录 1.Mycat读写分离的配置 1.1.Mycat是什么 1.2.Mycat能干什么 1.2.1.数据库的读写分离 1.2.1.1.数据库读写分离图解 1.2.2.数据库分库分表 1.2.2.1. ...
- bash对一个目录中文件名的遍历
for var in * 对当前目录中文件名的遍历 for var in /xx/xx/* 对绝对路径目录的遍历 ${var##*/} 变量扩展取文件名的基名 $var =~ ^[0-9] ...
- 怎么实现系统调用wait和exit
例程 #include <unistd.h> #include <stdlib.h> #include <stdio.h> #include <sys/wai ...
- 微信小程序云开发-云存储-上传单个视频到云存储并显示到页面上
一.wxml文件 <!-- 上传视频到云存储 --> <button bindtap="chooseVideo" type="primary" ...
- P6295 有标号 DAG 计数
P6295 有标号 DAG 计数 题意 求 \(n\) 个点有标号弱联通 DAG 数量. 推导 设 \(f_i\) 表示 \(i\) 个点有标号 DAG 数量(不保证弱联通),有: \[f(i)=\s ...
- 期望长度P1365,CF235B,P1654
期望长度 定义 这里期望长度表示一段序列连续长度的期望.具体来说,对于一段序列,每个点都有一个概率连续和断开.求所有连续序列和的期望. 当然,对于以上期望长度的定义,我们只需要求出每个点存在的期望的和 ...
- java String转List<Device>集合
// 从Redis中获得正常设备的数量 String success = redisService.get(RedisKey.CULTIVATION_RECORD_SUCCESS); //建立一个li ...