当前位置:文档之家› OPC通讯配置说明-MCGS做客户端

OPC通讯配置说明-MCGS做客户端

OPC通讯配置说明-MCGS做客户端
OPC通讯配置说明-MCGS做客户端

OPC配置说明MCGS做客户端

目录

一、环境配置 (3)

1 软件版本 (3)

1.1 MCGS软件安装 (3)

2 OPC配置 (3)

2.1 OPC本地通讯 (3)

2.2 OPC远程通讯 (3)

二、MCGS为客户端 (5)

1 首先保证服务器正常。检测方法: (5)

2 MCGS组态 (5)

3 通讯测试 (11)

一、环境配置

1 软件版本

客户端MCGS版本:MCGS 6.2改进版本

1.1 MCGS软件安装

1.安装MCGS通用6.2

2.更换OPC改进版本环境至MCGS\PROGRAM目录下

3.拷贝“OPC库文件”至MCGS\PROGRAM目录下

4.重起计算机

2 OPC配置

2.1 OPC本地通讯

本地通讯不需要配置。

2.2 OPC远程通讯

1)计算机系统是Windows 2000

对于2000操作系统不需要配置。

2)计算机系统是Windows XP

对于XP系统,必需配置DCOM。

WinXp DCOM配置:

要进行DCOM安全配置,操作者通常必须拥有客户和服务器计算机的管理员权限。

帐户:必须有一个administrators用户组下面的administrator用户,用此帐户登陆。必须有一个gusets用户组下面的guest用户,无密码,保证被启动。

服务器和客户端的用户名密码需要保持一致,一般建议使用administrator登录,密

码相同即可。

协议:必须添加NWLink IPX/SPX/NetBIOS Compatible Transport Protocol 协议。

防火墙:关闭xp自带防火墙,建议病毒防火墙也关闭。

配置

为了配置方便,客户端和服务端采用相同的配置方式。

开始—运行输入dcomcnfg,双击组件服务—计算机,对我的电脑单击右键属性。

常规:默认不变

选项:默认不变

默认属性:

选择在此计算机上启动分布式com

默认身份验证级别:连接

默认模拟级别:标识

默认协议:保证TPC/IP协议在最上面

MCDTC:默认不变

COM安全:

1.访问权限:

a编辑默认值:添加administrator,guest,everyone,权限全为允许。

b 编辑限制:添加everyone,权限全为允许。

2.启动和激活权限:

a编辑默认值:添加administrator,guest,everyone,权限全为允许。

b 编辑限制:添加everyone,权限全为允许。

双击我的电脑—dcom配置。

选择具体的应用程序右键属性:

如要连接研华的OPC Server,则选择“advantech ADAM series opc server”,其他OPC服务器设置相同。

常规:身份验证级别为:默认值

位置:在这台计算机上运行

安全:全为默认值

终结点:默认不变

标识:选交互式用户

OPCEnum右键属性进行配置。

常规:身份验证级别为:默认值

位置:在这台计算机上运行

安全:全为默认值

终结点:默认不变

标识:选交互式用户

二、MCGS为客户端

1 首先保证服务器正常。

检测方法:

运行服务器,使用标准客户端访问,如果访问有数据并且正常,然后再使用MCGS访问。

标准客户端-标准OPC Client.exe使用见标准客户端的使用说明.doc

2 MCGS组态

打开MCGS组态环境

设备窗口设置:

打开设备窗口

从设备管理中添加OPC设备,打开OPC设备

从OPC服务器栏中点击省络号按钮

如果是远程访问此处

会输入服务器IP地址:

例:\\200.200.200.190

以研华opc服务器(Advantech.ADAM.1)为例,选择注册的OPC服务器为Advantech.ADAM.1,按确定;如果远程访问OPC服务器,在网络节点输入服务器的IP地址,例如:\\200.200.200.190,然后查找,再选择Advantech.ADAM.1,按确定。

就成功的检测到研华的OPC设备。

打开通道连接,点击查询通道按钮,画面就会切换到下面的画面

将你所需要的变量选择上,点击确定。就会出现一下界面

连接对象,选择快速连接

变量连接分别为Data00、Data01、Data02.将这三个变量的分别连接到输入框。

进行组态,打开在用户窗口,新建一个窗口。进行对窗口编辑。

在此窗口中,Data00、Data01、Data02.将这三个变量的分别连接到对应的输入框中。

3 通讯测试

1、运行ADAM OPC Server,运行模拟数据

将Monitor选择上将会出现模拟的数据如下

2、进入MCGS运行环境

通过工程我们的MCGS软件可以读到研华OPC的模拟数据。

打开研华OPC服务器,同时运行MCGS工程,可以看到两个软件中的数据是同时同大小的,说明数据交换正常,刷新较好。

北京昆仑通态技术部

OPC客户端编程汇编

OPC编程汇编 OPC客户端的自动化实现 OPC是建立在COM,DCOM的基础商的,因此绝大多数语言都可以很好的进行开发。在Net中开发客户端有以下几种方式: (1)使用OPCNetAPI,需要用到OPCNetAPI.dll,https://www.doczj.com/doc/f112243494.html,.dll (2)使用自动化接口,需要用到OPCDAAuto.dll (3)使用自定义接口,需要用到多个Wrapper:OpcRcw.Ae.dll,OpcRcw.Batch.dll,https://www.doczj.com/doc/f112243494.html,n.dll,OpcRcw.Da.dll,OpcRcw.Dx.dll,OpcRcw.Hda.dll,OpcRcw.Sec.dll 以上开发方式所需的动态链接库可以从OPC基金会(https://www.doczj.com/doc/f112243494.html,/)的网站上下载,一些下载项目可能需要注册,或成为基金会的成员。 不同的方式有各自的有缺点,请参见… 本文使用自动化接口,https://www.doczj.com/doc/f112243494.html,语言进行开发,开发项目是无线射频(RFID)卡方面的应用,典型的如公交车,或公司考勤使用的刷卡机。需要注意的是自动化接口存在一个“不是问题”的问题,数组下标是以1开始的,而不是传统计算机开发上的以0开始。不知道设计者头脑是怎么想(有人知道吗?);这可能会给一些语言的开发造成问题(有人碰到吗,没有你就是幸运的) 需求:OPCDAAuto.dll或该Dll的Interop (一):客户端开发流程 OPC客户端的开发主要遵循下图所示的开发流程,下面就从以下几个开发步骤进行说明 (二):枚举OPC服务器列表 枚举服务器主要是通过OPCServer接口的GetOPCServers方法来实现的,该方法会返回OPC服务器数组(以1为下界,上面已有说明),以下是代码段 '枚举OPC服务器列表

热网远程监控系统中通讯方式的选择及应用

热网远程监控系统中通讯方式的选择及应用 摘要:随着社会科学技术的发展,众多热电企业已经通过实行热电联产的方式向热网用户集中供热。为了保证集中供热体系的稳定运行,热网公司普遍采用热网监控系统对热网用户进行实时监测。该文通过对几种通讯方式的比较研究,发现GPRS技术在热网远程监控系统中具有很高的实用价值。 关键词:GPRS技术;热网;远程监控系统 随着计算机技术的迅猛发展,供热企业选择的通讯方式也越来越多。热网由于其特有的特点(如覆盖区域广、各个站点分散)。为了及时解决热网用户的需求,通讯方式的选择就显得非常重要。该文就是根据系统的控制功能和要求,通过比较各个通讯方式之间的优缺点,选择最适合的通讯方式为城市热网提供服务。 1热网远程监控系统的实施原则 热网监控系统的主要任务就是对热网用户进行供暖,它肩负着整个供热系统的监测和控制,需要处理大量的数据,其中包括全网系统的实时参数,并根据实时参数,了解热网系统运作情况,第一时间发

现问题并解决问题。为了保证热网监控系统供热均匀,满足用户需求,对热网监控系统提出以下要求: 1)实时性。第一时间收集数据,并根据数据对用户进行配置处理,上传和下传时间必须得快。 2)灵活性。由于热网系统的本身特点,大都在城市密集区,很难架设电缆,需要特别灵活、覆盖面广的通讯方式。 3)安全陆及可扩展性。热网系统面向的都是一些小区,必须保证数据传输的稳定,且传输过程中不得丢失任何数据。为了减少热网系统的维护保养,选用性价比高的通讯方式也至关重要。 2常用通讯方式的比较 对于热网监控系统而言,通讯方式在其中发挥着重要的作用,它不仅可以保证系统稳定、而且可以完成系统的相关功能。现如今,热网监控系统所使用的通讯系统根据方式的不同分为有线和无线通讯。按照通讯网络类型来看,又可分为公网和专网两种通讯方式。现将热网监控系统的几种通讯方式进行比较,如表1所示。

c#opc客户端开发

using System; using System.Collections.Generic; using https://www.doczj.com/doc/f112243494.html,ponentModel; using System.Data; using System.Drawing; using System.Linq; using System.Text; using System.Windows.Forms; using OPCAutomation; using https://www.doczj.com/doc/f112243494.html,; namespace Opc_Client { public partial class Form1 : Form { public Form1() { InitializeComponent(); } #region私?有?D变à?量¢? OPCServer SyServer; OPCGroups SyGroups; OPCGroup SyGroup; OPCItems SyItems; OPCItem SyItem; string strHostIP = string.Empty;

string strHostName = string.Empty; bool opc_connected = false; //连¢?接¨?状á??态?? int itmHandleClient = 0; //客¨a户?ì端?句?柄à¨2 int itmHandleServer = 0; //服¤t务?端?句?柄à¨2 #endregion #region方¤?法¤?§ private void GetLocalServer() { IPHostEntry IPHost = Dns.GetHostEntry(Dns.GetHostName()); if (IPHost.AddressList.Length > 0) { strHostIP = IPHost.AddressList[4].ToString(); this.tboxServerIP.Text = strHostIP.ToString(); } else { return; } IPHostEntry ipHostEntry = Dns.GetHostByAddress(strHostIP); strHostName = ipHostEntry.HostName.ToString(); try { SyServer = new OPCServer(); object serverList = SyServer.GetOPCServers(strHostName); foreach (string turn in (Array)serverList) { this.cmbServerName.Items.Add(turn); cmbServerName.SelectedIndex = 0; btnConnServer.Enabled = true; } } catch (Exception err) { MessageBox.Show("枚?举¨′本à?地ì?OPC服¤t务?器??出?错?¨a:êo"+err.Message,"提?¨¢示o?信?息?é",MessageBoxButtons.OK,MessageBoxIcon.Warning); } }

远程调用的几种方式

远程调用的几种方式 在分布式服务框架中,一个最基础的问题就是远程服务是怎么通讯的,在Java领域中有很多可实现远程通讯的技术,例如:RMI、MINA、ESB、Burlap、Hessian、SOAP、EJB 和JMS 等,这些名词之间到底是些什么关系呢,它们背后到底是基于什么原理实现的呢,了解这些是实现分布式服务框架的基础知识,而如果在性能上有高的要求的话,那深入了解这些技术背后的机制就是必须的了,在这篇blog中我们将来一探究竟,抛砖引玉,欢迎大家提供更多的实现远程通讯的技术和原理的介绍。 基本原理 要实现网络机器间的通讯,首先得来看看计算机系统网络通信的基本原理,在底层层面去看,网络通信需要做的就是将流从一台计算机传输到另外一台计算机,基于传输协议和网络IO 来实现,其中传输协议有tcp、udp等等,tcp、udp都是在基于Socket概念上为某类应用场景而扩展出的传输协议,网络IO,主要有bio、nio、aio三种方式,所有的分布式应用通讯都基于这个原理而实现,只是为了应用的易用,各种语言通常都会提供一些更为贴近应用易用的应用层协议。 应用级协议 远程服务通讯,需要达到的目标是在一台计算机发起请求,另外一台机器在接收到请求后进行相应的处理并将结果返回给请求端,这其中又会有诸如one way request、同步请求、异步请求等等请求方式,按照网络通信原理,需要实现这个需要做的就是将请求转换成流,通过传输协议传输至远端,远端计算机在接收到请求的流后进行处理,处理完毕后将结果转化为流,并通过传输协议返回给调用端。 原理是这样的,但为了应用的方便,业界推出了很多基于此原理之上的应用级的协议,使得大家可以不用去直接操作这么底层的东西,通常应用级的远程通信协议会提供: 1. 为了避免直接做流操作这么麻烦,提供一种更加易用或贴合语言的标准传输格式; 2. 网络通信机制的实现,就是替你完成了将传输格式转化为流,通过某种传输协议传输至远端计算机,远端计算机在接收到流后转化为传输格式,并进行存储或以某种方式通知远端计算机。 所以在学习应用级的远程通信协议时,我们可以带着这几个问题进行学习: 1. 传输的标准格式是什么? 2. 怎么样将请求转化为传输的流? 3. 怎么接收和处理流? 4. 传输协议是? 不过应用级的远程通信协议并不会在传输协议上做什么多大的改进,主要是在流操作方面,让应用层生成流和处理流的这个过程更加的贴合所使用的语言或标准,至于传输协议则通常都是可选的,在java领域中知名的有:RMI、XML-RPC、Binary-RPC、SOAP、CORBA、JMS,来具体的看看这些远程通信的应用级协议:

单片机与远程PC机间建立通信的方法

单片机与远程PC机间建立通信的方法 关键字:单片机远程PC机 引言 串口服务器是一种协议转换模块,它通过提供1、2、4、8 或16 口的RS-232 或RS-422/485 串口界面,以及1 个10/100M 的以太网接口,可以将RS-232 或RS-422/485 串行设备接入TCP/IP 网络中而不需要更改控制程序,主计算机使用TCP/IP 协议通过以太网访问被接入的终端设备。上位机采用Socket 编程。 1 系统总体设计 1.1 设计思路 将经过传感器或变压器转变的标准电压或电流信号,进行A/D 转换,变成数字化的数据,把这些数据通过单片机串口传送到串口服务器上,串口服务器将单片机发出来的数据包转换为以太网数据报文格式,转发到Internet 上,从而实现数据网上传输,可以方便地通过网络从上层PC 机进行实时监控。 1.2 系统总体结构 该系统硬件采用模块化结构,其系统总体结构。该存储转发上网系统采集终端主要是由传感器,放大电路,光电隔离电路,采集电路,近端LED显示电路,串口服务器等模块组成。 其中,该系统数据采集终端为一单片机控制系统,通信口为RS232/485 可选接口。 本系统中采用的串口服务器是嵌入式串口服务器DNE-18。DNE-18 用TCP server 方式来实现串口数据到网络口的转换。给DNE-18 配置了唯一的IP 地址和相应的端口号后,DNE-18 开始侦听,若网络中有主机发起联接DNE-18 会接受联接请求,并将网络口收到的从串口发出并将串口收到的数据从网络口以TCP/IP 协议包送出。DNE-18 不对用户数据包做任何解析或更改,提供完全透明的数据通道。 2 系统的软硬件构成 2.1 系统硬件框图 本系统的硬件设计核心部分是远程数据采集、存储转发的终端。其硬件框图。其工作原理是:对温度传感器得到的信号进行处理,即信号放大、滤波、量化等处理过程。在此过程中需要考虑干扰信号的抑制、转换精度及线性等诸多因素。为了对模拟量输入通道消除干扰,加入隔离放大器ISO100。单片机AT89C52 控制ADC0809 进行数据采集。将采集到的信号分为两路进行处理。一路进行LED 显示:即当A/D 转换完毕后,单片机内存中保存有A/D 转换的通道数,以及A/D 转换后的数据。当一路转换完毕后,单片机读到模数转换数据后,从8255A 中读通道路数,完成通道路数的显示过程。同理,当显示通道路数完毕后,然后显示A/D 转换数据。另一路用MAX232 芯片实现TTL 与RS232 电平之间的转换,将转换的数据送给串口服务器DNE-18。串口服务器就是把单片机发出来的数据包转换为以太网数据报文格式,然后转发到Internet 上,实现数据网上传输。本文,重点介绍光电隔离模块以及串口服务器的应用模块。 1) 光电隔离模块。由于模拟量输入信号一般都要经过放大后才能进行A/D 转换,因此采用兼有放大和隔离功能的隔离放大器。隔离放大器的输入与输出端在电气上完全隔离。所用的隔离方法有变压器隔离和光电隔离两种。在本系统中采用的是线性光电隔离放大器ISO100,ISO100 是美国B-B 公司生产的一种小型廉价光电隔离放大器。它利用发光二极管LED与两个光电二极管进行耦合,一路耦合到输出端,一路反馈到输入端,构成负反馈,以提高放大器的精度、线性度和温度稳定性。 ISO100 的工作电源为+18V,隔离电压为2500V,输入电流为1A,输出电压Vout=RifnI ,改变Rf即能改变增益。当输入为电压量,应串联电阻Rin,使输入电流在要求范围内。

Delphi7.0开发OPC客户端程序(Siemens_Opc_client)

OPC是OLE for Process Control的缩写,即把OLE应用于工业控制领域,OPC是建立在O LE规范之上,它为工业控制领域提供了一种标准的数据访问机制。OPC服务器由三类对象组成:服务器(Server)、组(Group)、数据项(Item)。服务器对象(Server)拥有服务器的所有信息,同时也是组对象(Group)的容器。组对象(Group)拥有本组的所有信息,同时包容并逻辑组织OPC数据项(Item)。在这里数据项(Item)就是指所有的PLC信号的输入与输出。OPC组对象(Group)提供了客户组织数据的一种方法。客户可对之进行读写,还可以设置客户端的数据更新速率。当服务器缓冲区内的数据发生改变时,OPC将向客户发出通知,客户得到通知后再进行必要的处理。而无须浪费大量的时间进行查询。OPC规范定义了两种组对象:公共组和局部组(私有组)。公共组由多个客户共有,局部组只隶属于一个OPC客户。一般来说,客户和服务器的一对连接只需要定义一个组对象。在每个组对象中,客户可以加入多个OPC数据项(Item)。OPC数据项(Item)是服务器端定义的对象,通常指向设备的一个寄存器单元。OPC客户对设备寄存器的操作都是通过其数据项来完成的,通过OPC数据项(Ite m),OPC规范尽可能地隐藏了设备的特殊信息,也使OPC服务器的通用性大大增强。OPC 数据项(Item)并不提供对外接口,客户不能直接对之进行操作,所有的操作都是通过组对象进行的。每个OPC数据项(Item)的数据结构包括三个成员变量:即数据值、数据质量和时间 戳。数据值是以Variant形式表示的。 Delphi7.0加载Siemens动态库: 1.打开Delphi7.0,点击Project->Import Type Library 2.在Import Type Library里面找到Siemens OPC DAAutomation 2.0 (Version 1.0),在Clas s Nams里面可以看三个类方法(TOPCGroups,TOPCGroup,TOPCServer),默认的Palette Pag e为ActiveX,单击Install… Delphi7.0中编写客户端程序: 1.连接OPC服务器 在Form上面添加三个OPC控件: OPCGroup1: TOPCGroup; OPCGroups1: TOPCGroups; OPCServer1: TOPCServer;

(C#)OPC客户端源码

【转】(C#)OPC客户端源码 转载申明 申明:本文为转载,如需转载本文,请获取原文作者大尾巴狼啊的同意,谢谢合作! 转自:大尾巴狼啊 原文出处:https://www.doczj.com/doc/f112243494.html,/xiaosacao/archive/2009/01/13/1374895.html 前几天我就发布过这篇文章,可惜的是,发布后代码有的却看不到,后来我就删了,至今不明白什么原因- -! 关于C++、VB来开发OPC客户端的资料网上有很多,但C#的至今没发现有多少。 由于近期项目的需要,就开发了OPC客户端的一个模块。在我想来,程序员挺累的,原因我很累。所以我想大家也很累~~~嘿嘿。特别是刚接手OPC客户端开发的前几天,天天盯住显示器,百度、GOOGLE不停的搜索。每天早上醒来,眼睛都瑟瑟的。 从事3年以上软件开发的朋友们,估计都会腰酸背痛吧!反正我是这样的。 不说那么多废话了,贴上源码,让需要的同行看看吧,代码的质量并不高,就当做抛砖引玉吧! 1、枚举本地服务器 2、获取服务器信息 3、列出了服务器上Tag 4、可以设置组的属性 5、读\写功能 6、可进行远程连接(DCOM需配置) 先看图:

引用类库: OPC服务器: 开发工具: 当前环境:

源码: ///程式使用C#.NET 2005 编写 ///引用类库OPCDAAuto.dll ///OPCServer采用KEPWare ///在windows xp sp2、sp3、windows 2003上测试通过///完成于:2008年12月31日 ///测试于:2009年01月05日 ///

///作者:潇洒草 ///Email:zhkai868@https://www.doczj.com/doc/f112243494.html, ///QQ:44649029 /// ///如分发,请保留此摘要。 ///鄙视那些拿代码当宝贝的人,鄙视那些你不拿源码换就不稀罕你的人,鄙视那些自私的人。///别人看到你的代码,你能死啊?对你有多大威胁啊?强烈鄙视~~~ ///如果你是这样的人,赶紧关了。。偶不欢迎。。 using System; using System.Collections.Generic; using https://www.doczj.com/doc/f112243494.html,ponentModel; using System.Data; using System.Drawing; using System.Text; using System.Windows.Forms; using https://www.doczj.com/doc/f112243494.html,; using System.Collections; using OPCAutomation; namespace OPC测试通过 { public partial class MainFrom : Form { public MainFrom() {

远程控制通讯协议

远程控制通讯协议V1.02 深圳市航天无线通信技术有限公司 修订记录 目录 1. 范围 5 2. 术语和定义、缩略语 5 2.1. 术语和定义 5 2.2. 缩略语 5 3. 协议基础 5 3.1. 通信方式 5

3.2. 数据类型 5 3.3. 传输规则 6 3.4. 消息的组成 6 4. 消息列表 8 5. 数据交互 9 5.1登录 9 5.2注销 9 5.3心跳 9 5.4工况数据 9 5.5 汽车故障 11 5.6终端通用应答 11 5.7参数查询应答 11 5.8 工况数据查询应答 12 5.9 车辆故障查询应答 14 5.10 参数设置 14 5.11 参数查询 16 5.12 工况数据查询 16

5.13车辆查询故障 16 5.14平台通用应答 16 5.15登录应答 16 6 . 控制交互 1 7 6.1定单执行结果上报 17 6.2 远程控制 17 6.3 定单预定 17 6.4定单取消 18 6.5远程控制应答 18 6.6定单预定应答 18 6.7定单取消应答 19 7. 蓝牙交互 19 7.1定单执行请求 19 7.2 执行结果应答 19 8. 升级 20 8.1升级请求 20 8.2升级请求应答 20

9 短信控制命令 21 9.1 工况数据查询 21 9.2 终端参数查询 21 9.3 终端参数设置 21 9.4远程控制 22 9.5 远程唤醒 22 9.6远程睡眠 22 终端通讯协议及数据格式 1. 范围 本规范适用于车载终端和平台之间的通信。 2. 术语和定义、缩略语 2.1. 术语和定义 下列术语和定义适用于本文件。 3.1.1 数据通信链路异常abnormaldatacommunicationlink 无线通信链路断开,或暂时挂起(如通话过程中)。

VC环境下的OPC客户端程序开发

VC环境下的OPC客户端程序开发 来源:中国论文下载中心 [ 08-07-30 15:41:00 ] 作者:赵健师奕兵编辑: studa0714 Ads by Google 曙光刀片服务器TC2600支持Intel? Xeon? 5000系列处理器高密度高能效易管理低成本https://www.doczj.com/doc/f112243494.html, OPC Grape Seed Extract Save 70% on our Premium Blend: Worldwide Shipping Quoted Upfront https://www.doczj.com/doc/f112243494.html, SapphireTrend Premier OPC Trending solution for realtime process control & analysis https://www.doczj.com/doc/f112243494.html, 摘要本文通过分析OPC 数据访问规范,介绍了有关OPC技术的基本概念、数据访问方式以及编写OPC客户端接口程序的一般方法。同时给出了一个具体实例,用Visual C++编写了一个OPC客户端接口程序,并利用OPC服务器KEPServer对其进行测试,实现了OPC客户端与OPC服务器之间的数据交换。 关键词OPC服务器;OPC客户端;COM技术 1 引言 随着通信技术、计算机技术和自动化技术的快速发展,大范围信息共享的需求在自动化系统中显得越来越来越重要,现代工业控制系统已逐渐发展成为以现场设备层、过程控制层和中央管理层三个层次组成的系统,因而对其开放性也提出了更高的要求。在传统的控制系统中,现场设备之间以及现场设备与控制软件之间的信息共享主要是通过驱动程序来实现的,不同厂家的设备使用不同的驱动程序,使得软件开发商不得不开发大量驱动程序来连接这些设备,即使设备厂家在硬件上做小小的改动,应用程序就可能重写,这也势必造成工业控制软硬件的升级与维护不便,给用户和软件开发商带来巨大的工作负担。同时,由于不同设备的驱动程序也有所不同,使得不同的应用程序也不能同时访问同一设备的数据,因此,需要制定一种统一开放的接口标准,使应用程序能够方便的存取一台或多台现场设备的数据,为不同厂商的软硬件提供一种系统集成和数据交换的途径。正是在自动化系统开放性要求的驱使下,促使了OPC技术的产生。 2 OPC技术简介 OPC(OLE for Process Control)是基于微软公司的DNA(Distributed InterNet Application)构架和COM (Component Object Model)/DCOM(Distributed COM)技术,根据易扩展性而设计的,OPC规范定义了一个工业标准接口,这个标准使得COM技术适用于过程控制和制造自动化等应用领域。OLE最初意思为对象链接与嵌入,是微软的复合文档技术。随着后续版本OLE2中导入了COM技术之后,现在的OLE在原版的基础上增加了更多新的功能,包括结构化存储、统一数据传输和自动化等,它已经成为独立于计算机语言、操作系统甚至硬件平台的

远程通讯模块在plc无线通信中的应用

远程通讯模块在plc无线通信中的应用 Plc数据通讯通常都是采用有线的方式进行的,如果距离较远,将会比较麻烦,为解决这个问题,采用新的方案:利用plc专用远程通讯网关—工业智能网关可以远程实现plc与电脑编程软件的无线通讯,plc与电脑组态软件的无线通讯,plc与人机界面触摸屏的无线通讯。 在很多场合,当监控点较多时,采用无线通讯能为企业节省不少的成本,并且灵活性将更强。并且在实际系统中,很多控制室与现场用户设备不在同一个地区,如何将分布在不同地方的plc和总控中心的组态软件进行远程通信,利用工业智能网关可以实现远距离的数据传输和设备远程监控。 方案一:组态软件与远程plc无线通讯 支持组态王、MCGS昆仑通态、Wincc等主流组态软件与西门/三菱/欧姆龙等plc之间的无线通信。利用华辰智通远程通讯模块可以实现组态软件远程操作plc设备; 方案二:触摸屏与远程plc无线通讯 组态软件或触摸屏远程plc网络拓扑图

利用工业智能网关实现plc远程通讯可达到的功能: 1、实现工业现场设备远程控制 2、实现设备固件远程升级,程序上下载,如变频器,伺服器,以及各种仪表仪器的远程上下载程序监控,远程调试。 3、华辰智通,PLC工业通信网关,实现工业现场PLC远程编程、调试 4、实现工业现场触摸屏远程控制,支持以太网的PLC和触摸屏,USB接口的PLC和触摸屏以及串口的触摸屏

5、实现工业现场组态画面远程映射 6、实现西门子、三菱等PLC等主流协议硬件解析 7、可灵活接入各种设备管理平台 8、plc物联网模块,可同时与多台PLC或触摸屏远程通讯

9、支持PLC远程监控,PLC远程调试,PLC远程上下载,PLC远程控制,PLC数据采集,PLC远程通讯、支持工业PLC网关远程下载与维护; 10、支持多种工控协议,支持多网口,串口连接:支持4G/3G/GPRS/WAN/PPPOE/Wi-Fi 网络、数字IO输入输出、串口终端通信等接入,也支持TCP/IP,http,UDP,MQTT等等网络协议; 11、内含多种通讯协议,可连接国内外知名品牌PLC和HMI设备,支持远程程序更新和上下载,远程控制监控,调试人员远程更新程序和监控故障信息,为企业节省大量的出差费用,降低售后成本。

OPC客户端的实现

1引言 OPC(OLE for Process Control)是一个工业标准,他是许多世界领先的自动化和软、硬件公司与微软公司合作的结晶。管理该标准的组织是OPC基金会。该基金会的会员单位在世界范围内超过150个,包括了世界上几乎全部的控制系统、仪器仪表和过程控制系统的主要供应商。OPC 技术建立了一组符合工业控制要求的接口规范,将现场信号按照统一的标准与SCADA、HMI等软件无缝连接起来,同时将硬件和应用软件有效地分离开。只要硬件开发商提供带有OPC接口的服务器,任何支持OPC接口的客户程序均可采用统一的方式对不同硬件厂商的设备进行存取,无须重复开发驱动程序。如果希望将数据引入数据库进行统计分析,就要进行客户端开发。 2客户程序的设计方法与比较 客户程序的设计主要是指客户程序中OPC接口部分的设计。客户程序本身可以完成很多复杂的数据处理与显示功能,但需要通过OPC接口部分访问OPC服务器,对现场数据进行存取。 开发OPC、Data、Access、Client之前,要弄清服务器的大体情况,比如需要访问的服务器是否提供自动化接口、服务器的OPC的版本等,到目前为止,OPC有1.0和2.0两个版本,两个版本的接口定义不同,2.0版是对1.0的改进,但不兼容。 OPC客户端的主要任务: ①创建服务器对象。 ②建立与服务器的连接。 ③浏览OPC服务器的功能。客户程序需要创建OPC基金会提供的OPC服务器浏览器对象(OPCServerList)再通过该对象的IOPCServerList接口获得OPC服务器名称的列表;可以通过枚举注册表中包含“OPC”子键的程序名来浏览符合OPC数据存取规范的服务器,但效率较低。 ④通过OPC接口读写数据。 ⑤断开连接。

plc通讯方式有哪几种

plc通讯方式有哪几种 PLC通信的任务就是将地理位置不同的PLC、计算机、各种现场设备等,通过通信介质连接起来,按照规定的通信协议,以某种特定的通信方式高效率地完成数据的传送、交换和处理。 1.数据通信主要有并行通信和串行通信两种方式。 并行通信是以字节或字为单位的数据传输方式,除了8根或16根数据线、一根公共线外,还需要数据通信联络用的控制线。并行通信的传送速度快,但是传输线的根数多,成本高,一般用于近距离的数据传送。并行通信一般用于PLC的内部,如PLC内部元件之间、PLC主机与扩展模块之间或近距离智能模块之间的数据通信。 串行通信是以二进制的位(bit)为单位的数据传输方式,每次只传送一位,除了地线外,在一个数据传输方向上只需要一根数据线,这根线既作为数据线又作为通信联络控制线,数据和联络信号在这根线上按位进行传送。 串行通信需要的信号线少,最少的只需要两三根线,适用于距离较远的场合。计算机和PLC都备有通用的串行通信接口,工业控制中一般使用串行通信。串行通信多用于PLC 与计算机之间、多台PLC之间的数据通信。 在串行通信中,传输速率常用比特率(每秒传送的二进制位数)来表示,其单位是比特/秒(bit/s)或bps。传输速率是评价通信速度的重要指标。常用的标准传输速率有300、600、1200、2400、4800、9600和19200bps等。不同的串行通信的传输速率差别极大,有的只有数百bps,有的可达100Mbps。

HINET智能网关有线方式联网对PLC进行远程控制 2.串行通信按信息在设备间的传送方向又分为单工、双工两种方式。 单工通信方式只能沿单一方向发送或接收数据。双工通信方式的信息可沿两个方向传送,每一个站既可以发送数据,也可以接收数据。 双工方式又分为全双工和半双工两种方式。数据的发送和接收分别由两根或两组不同的数据线传送,通信的双方都能在同一时刻接收和发送信息,这种传送方式称为全双工方式;用同一根线或同一组线接收和发送数据,通信的双方在同一时刻只能发送数据或接收数据,这种传送方式称为半双工方式。在PLC通信中常采用半双工和全双工通信。 3.异步通信与同步通信 在串行通信中,通信的速率与时钟脉冲有关,接收方和发送方的传送速率应相同,但是实际的发送速率与接收速率之间总是有一些微小的差别,如果不采取一定的措施,在连续传送大量的信息时,将会因积累误差造成错位,使接收方收到错误的信息。为了解决这一问题,需要使发送和接收同步。按同步方式的不同,可将串行通信分为异步通信和同步通信。 发送的数据字符由一个起始位、7~8个数据位、l个奇偶校验位(可以没有)和停止位(1位、1.5或2位)组成。通信双方需要对所采用的信息格式和数据的传输速率作相同的约定。接收方检测到停止位和起始位之间的下降沿后,将它作为接收的起始点,在

OPC客户端的自动化

OPC客户端的自动化实现 OPC是建立在COM,DCOM的基础商的,因此绝大多数语言都可以很好的进行开发。在Net中开发客户端有以下几种方式: (1)使用OPCNetAPI,需要用到OPCNetAPI.dll,https://www.doczj.com/doc/f112243494.html,.dll (2)使用自动化接口,需要用到OPCDAAuto.dll (3)使用自定义接口,需要用到多个Wrapper:OpcRcw.Ae.dll,OpcRcw.Batc h.dll,https://www.doczj.com/doc/f112243494.html,n.dll,OpcRcw.Da.dll,OpcRcw.Dx.dll,OpcRcw.Hda. dll,OpcRcw.Sec.dll 以上开发方式所需的动态链接库可以从OPC基金会(http://www.opcfoundati https://www.doczj.com/doc/f112243494.html,/)的网站上下载,一些下载项目可能需要注册,或成为基金会的成员。 不同的方式有各自的有缺点,请参见… 本文使用自动化接口,https://www.doczj.com/doc/f112243494.html,语言进行开发,开发项目是无线射频(RFID)卡方面的应用,典型的如公交车,或公司考勤使用的刷卡机。需要注意的是自动化接口存在一个“不是问题”的问题,数组下标是以1开始的,而不是传统计算机开发上的以0开始。不知道设计者头脑是怎么想(有人知道吗?);这可能会给一些语言的开发造成问题(有人碰到吗,没有你就是幸运的) 需求:OPCDAAuto.dll或该Dll的Interop (一):客户端开发流程 OPC客户端的开发主要遵循下图所示的开发流程,下面就从以下几个开发步骤进行说明 (二):枚举OPC服务器列表 枚举服务器主要是通过OPCServer接口的GetOPCServers方法来实现的,该方法会返回OPC服务器数组(以1为下界,上面已有说明),以下是代码段'枚举OPC服务器列表 Private Sub Form1_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load Try GlobalOPCServer = New OPCAutomation.OPCServerClass() Dim ServerList As Object = GlobalOPCServer.GetOPCServers For index As Short = LBound(ServerList) To UBound(ServerList) '加入控件列 表中,注意这里使用LBound和UBound cbbServerList.Items.Add(ServerList(index)) Next If cbbServerList.Items.Count > 0 Then

远程控制通讯协议

远程控制通讯协议 V1.02 深圳市航天无线通信技术有限公司

修订记录

目录 1.范围 (5) 2.术语和定义、缩略语 (5) 2.1.术语和定义 (5) 2.2.缩略语 (5) 3.协议基础 (5) 3.1.通信方式 (5) 3.2.数据类型 (5) 3.3.传输规则 (6) 3.4.消息的组成 (6) 4.消息列表 (8) 5. 数据交互 (9) 5.1登录 (9) 5.2注销 (9) 5.3心跳 (9) 5.4工况数据 (9) 5.5汽车故障 (11) 5.6终端通用应答 (11) 5.7参数查询应答 (11) 5.8工况数据查询应答 (12) 5.9车辆故障查询应答 (14) 5.10参数设置 (14) 5.11参数查询 (17) 5.12工况数据查询 (17) 5.13车辆查询故障 (17) 5.14平台通用应答 (17) 5.15登录应答 (17) 6 . 控制交互 (18) 6.1定单执行结果上报 (18) 6.2远程控制 (18) 6.3定单预定 (18) 6.4定单取消 (19) 6.5远程控制应答 (19) 6.6定单预定应答 (19) 6.7定单取消应答 (20) 7. 蓝牙交互 (20) 7.1定单执行请求 (20) 7.2执行结果应答 (20) 8. 升级 (21) 8.1升级请求 (21) 8.2升级请求应答 (21)

9 短信控制命令 (22) 9.1工况数据查询 (22) 9.2终端参数查询 (22) 9.3终端参数设置 (22) 9.4远程控制 (23) 9.5远程唤醒 (23) 9.6远程睡眠 (23)

OPC客户端搭建

1.OPC对象的分层结构 OPC数据访问提供从数据源读取和写入特定数据的手段。OPC数据访问对象是由下图所示的分层结构构成。即一个OPC服务器对象(OPCServer)具有一个作为子对象的OPC组集合对象(OPCGroups)。在这个OPC组集合对象里可以添加多个的OPC组对象(OPCGroup)。各个OPC组对象具有一个作为子对象的OPC标签集合对象(OPCItems)。在这个OPC标签集合对象里可以添加多个的OPC标签对象(OPCItem)。此外,作为选用功能,OPC服务器对象还可以包含一个OPC浏览器对象(OPCBrowser)。 OPC对象中的最上层的对象是OPC服务器。一个OPC服务器里可以设置一个以上的OPC 组。OPC服务器经常对应于某种特定的控制设备。例如,某种DCS控制系统,或者某种PLC 控制装置。OPC组是可以进行某种目的数据访问的多个的OPC标签的集合,例如某监视画面里所有需要更新的位号变量。正因为有了OPC组,OPC应用程序就可以以同时需要的数据为一批的进行数据访问,也可以以OPC组为单位启动或停止数据访问。此外OPC组还提供组内任何OPC标签的数值变化时向OPC应用程序通知的数据变化事件(表1-4)。

2.OPC客户端搭建过程(部分代码) 1)连接服务器 a)查询服务器端主机的名字。 string hostname = Dns.GetHostName(); b)初始化服务器对象,搜索主机上的服务器ID,并枚举出来。 public void searchlocalsvr(string hostName)//寻找本地服务器 { try { OPCSvr = new OPCServer(); object serverList = OPCSvr.GetOPCServers(hostName); foreach (string server in (Array)serverList) { Console.WriteLine("本地OPC服务器:{0}", server); } } catch (Exception err) { Console.WriteLine("枚举本地OPC服务器出错:{0}", err.Message); } } c)连接服务器。 public void ctOPCSever(string HostName)//连接OPC服务器 { string OPCSvrName; searchlocalsvr(HostName); Console.WriteLine("请输入要连接的服务器名字:"); OPCSvrName = Console.ReadLine(); try { OPCSvr.Connect(OPCSvrName, ""); Console.WriteLine("连接服务器成功!"); } catch (Exception err) { Console.WriteLine("连接本地OPC服务器出错:{0}", err.Message); } } 2)创建组(OPCGroups)对象和添加数据项对象(OPCItems) public void CreateGrp()//创建组对象 { try

VB编写OPC客户端程序

如何用VB编写OPC客户端程序 一、引言 在工业自动化领域,计算机早已成为必不可少的工具,计算机技术的不断发展,大大加速了工业自动化技术的进步,而各种各样的工业控制应用软件正是具体实现这一进程的最重要的工具。 以往,应用软件开发商要为每一种硬件开发驱动程序,由于硬件的种类繁多,特征各异,软件开发商的负担异常繁重,尤其是如果硬件特征发生了变化,整个应用软件相应的驱动程序也要相应地修改,这对软件开发商,对整个工程都是很不利的。而且由于驱动程序的不统一,不同应用程序访问同一硬件设备时常常发生冲突。OPC(OLE for Process Control)技术标准正是在这种情况下产生的。OPC 基于微软的OLE、COM和DCOM技术,而且它本身就是一种特殊的COM,也正因为有微软的参与,以及以已经成熟的技术为基础,它比一般的工业标准制定的效率更高,它从开始制定到第一个可运行的规范开始运行,只用了不到一年的时间。 二、OPC原理及应用 OPC技术为工业自动化软件面向对象的开发提供了统一的标准。它大大减轻了软件开发商的负担,软件开发商不必再为每一硬件单独编写驱动程序,只要硬件的特征符合统一的OPC接口程序标准,或者硬件生产商提供OPC服务器,如图一所示,不同的应用软件开发商都可以采用OPC标准设计工控软件,以标准规定的统一接口通过OPC服务器存取现场数据。 这样,当现场设备发生变化或系统中加入新设备时,OPC服务器的提供商需要重新实现服务器接口,以适应硬件的变化,但由于服务器所提供的接口的一致性,工控软件不作更改即可继续使用,只是某些情况下可能需要重新组态(如添加新的PLC站点等),这样,软件开发商可以节省大量的时间致力于工控软件的性能方面的提高,不必再考虑硬件变化带来的影响,大大减小了软件维护的工作量。这正如OPC规范里所说,OPC将应用软件和硬件设备划清了界限。 2.1 OPC基本结构 OPC服务器有两类接口:定制接口(Custom Interface) 、自动化接口(Automation Interface),定制接口比较低级,它提供更多的功能,效率也比后者高,可以用C++语言调用此类接口,自动化接口主要用于VB、DELPHI等开发工具。按照OPC规范,定制接口是服务商必须提供的,而自动化接口则是可选的,不过,OPC基金会(管理OPC标准的国际组织)提供了一个叫做“自动化包装器”的动态连接库,用于在两者间转换。如图二所示: 在OPC的早期规范里主要包括OPC数据存取规范、OPC报警和事件、OPC 历史数据存取规范。OPC数据存取规范详细规定了客户程序和服务器程序进行数据通信的机制,其它类型的OPC服务器往往是在数据存取服务器的基础上通过增加对象、扩展接口而来的,所以该规范也是其它OPC规范的基础。OPC数据存取规范规定的基本对象有三类:OPC Server、OPC Group和OPC Item,OPC Server包含服务器的所有信息,也是OPC Group的容器,OPC Group除了包含它自身信息外,还负责管理OPC Item。它们的结构如图三所示。每一个OPC Item代表到数据源的一个连接,但它没有提供外部接口,客户端程序无法

OPC客户端源码

申明:本文为转载,如需转载本文,请获取原文作者大尾巴狼啊的同意,谢谢合作! 转自:大尾巴狼啊 原文出处: 前几天我就发布过这篇文章,可惜的是,发布后代码有的却看不到,后来我就删了,至今不明白什么原因- -! 关于C++、VB来开发OPC客户端的资料网上有很多,但C#的至今没发现有多少。 由于近期项目的需要,就开发了OPC客户端的一个模块。在我想来,程序员挺累的,原因我很累。所以我想大家也很累~~~嘿嘿。特别是刚接手OPC客户端开发的前几天,天天盯住显示器,百度、GOOGLE不停的搜索。每天早上醒来,眼睛都瑟瑟的。 从事3年以上软件开发的朋友们,估计都会腰酸背痛吧!反正我是这样的。 不说那么多废话了,贴上源码,让需要的同行看看吧,代码的质量并不高,就当做抛砖引玉吧! 1、枚举本地服务器 2、获取服务器信息 3、列出了服务器上Tag 4、可以设置组的属性 5、读\写功能 6、可进行远程连接(DCOM需配置) 先看图: 引用类库: OPC服务器:

当前环境: 源码: ET 2005 编写 oString(); } else { return; } + "."+ } oString() + " Error:"+ (i).ToString(); } } oString(); = (i).ToString(); = (i).ToString(); } } mail 2009-03-31 15:01 | 李默[未注册用户]

能给我份源码吗? 2009-04-04 19:01 | 滕大鹏[未注册用户] #30楼回复引用 我想要文档,能给份吗?谢谢 2009-04-04 19:03 | 滕大鹏[未注册用户] #31楼回复引用 谢谢楼主,我的邮箱是,能给我发一份全部的资料吗? 2009-04-07 14:02 | TJC #32楼回复引用 谢谢,传份给我,要全部资源(文档+源码),万分感谢!2009-04-08 22:02 | hxf[未注册用户] #33楼回复引用 急需一份资料谢谢 2009-04-11 16:34 | jhjohn[未注册用户] #34楼回复引用 麻烦传份给我,要全部资源(文档+源码),万分感谢 2009-04-13 08:36 | yldx #35楼回复引用 您好!麻烦传分全部资源(文档+源码),谢谢 2009-04-15 13:00 | xhm0924[未注册用户] #36楼回复引用 谢谢,传份给我,要全部资源(文档+源码),万分感谢!急用2009-04-25 09:35 | bestyaq

相关主题
文本预览
相关文档 最新文档