OPC DA (OPC Classic) 데이터 수집을 위한 프로그램을 개발할때 인터넷 상에 여러가지 버젼의 라이브러리가 오픈되어 있지만 OPC Foundation에서 공식 지원하고 있는 opcdaauto.dll 을 사용해 보았다.

 

과거엔 업체가 제공해준 유료라이브러리를 사용했었던 적이 있긴했지만 워낙 오래전이라 기억도 안나는 상황이라 다시 보니 여러가지로 새롭다.

 

얼마전 OPC UA 클라이언트 개발을 위해 관련 문서를 다시 읽어 두었던 것이 나름 유용했고 코드프로젝트의 OPC래퍼 프로젝트와 하디 스카다라는 블러그의 My OPC Client라는 VB.net 프로젝트가 도움이 되었다.

 

AB PLC를 사용할때 OPC외의 방법을 지원하지 않아서 오랫만에 다시 사용하게 되었다.

 

자세한 것들은 링크된 블러그를 참고하면 알수 있기때문에 중요한 포인트만 간단히 정리해둔다.

 

OPC SERVER 객체와 GROUP 객체가 분리되어 관리된다.

대상 연결은 SERVER 객체를 사용하지만 Subscribe 관리는 Group단위로 Active 여부를 결정한다.

 

클라이언트 쪽에서 데이터를 수신할때는 ClientHandle을 사용하고 서버쪽에서 데이트를 수신할때는 ServerHandle을 사용하며 두 핸들값은 서로 다르기때문에 별도 관리해야 한다.

 

읽고 쓰기할때 Array 클래스를 참조형으로 사용하는데 배열의 크기가 0부터가 아니라 1부터 사용되므로 2개의 데이터를 Read/Write 한다면 배열의 크기는 3이 되어야 한다.

 

지금 프로젝트가 끝나면 테스트 프로그램을 링크해두도록 하겠다.

 

* 코드 프로젝트에서 래퍼 프로젝트

OPC DA 기본 구조를 이해하기 좋다.

 

https://www.codeproject.com/Articles/490072/DA-1-OPC-Wrapper-DLL-and-Client-Example

 

DA 1 OPC Wrapper DLL and Client Example

Describes an OPC wrapper DLL and an example of how to use it for communication to a device through an OPC server.

www.codeproject.com

* Hadi SCADA

VB.NET으로 구성된 프로젝트라서 C# 문법과 약간의 차이가 있지만 설계나 전반적인 내용을 이해하기 좋다.

 

 

http://hadiscada.blogspot.com/2013/07/my-opc-client.html

 

My OPC Client

My OPC Client is an application for accessing OPC Server. The features of this application: 1.    List active OPC Servers in Local and R...

hadiscada.blogspot.com

* OPCDAAuto.dll 사용방법 소개

중국어로 주석이 달린 C#코드 사용법 소개로 코드만 보면서 이해할수있다.

 

https://www.icode9.com/content-1-53365.html

 

OPCDAAuto.dll的C#使用方法浅析

OPCDAAuto.dll的C#使用方法浅析 2018-10-15 10:38:15  阅读:65  来源: 互联网 标签: 上次研究了.Net版本的OPC API dll,这次我采用OPCDAAuto.dll来介绍使用方法。 以下为我的源代码,有详细的注释无需我多言。 编译平台:VS2008SP1、WINXP、KEPServer 除此之外,我也安装了西门子的Net2006和Step7,其中Net2006是负责OPC的,可能会在系统中创建一些dll之类的,并提供几个OPC服务器 以下是我Program.cs

www.icode9.com

 

 

OPCDataAccessAutomationStandard.doc
0.94MB
opcdaauto.dll
0.22MB

Posted by 휘프노스
,