티스토리 뷰

SCADA

C# 기반 동운 HMI의 데이터베이스 모듈

록개발자 2018. 11. 12. 14:53

C# 기반의 동운 HMI는 데이터의 수집과 편집, 전달등을 수행하는 서버와 화면 표시 등의 사용자 인터페이스를 담당하는 클라이언트 모두 C# 닷넷 기반으로 작성되어 있어 비주얼스튜디오 기반으로 편리하게 개발을 할 수 있는 장점과 함께 디버깅이나 성능 분석등의 다양한 장점을 얻을 수 있습니다. 무엇보다 동운 HMI가 상용 스카다 시스템과 비교할 수 있는 특성은 DataBase 모듈과 PLC 및 장치 접속 모듈을 통한 유연한 시스템 확장성입니다.("빠른 개발, 무한 확장의 동운 HMI 1.0" 바로가기)

동운 HMI 1.0은 데이터베이스 모듈로 MySQL 모듈을 기본 장착하고 있습니다. 하나의 응용 프로그램에서 핵심 기능을 손대지 않으면서도 여러 데이터베이스를 지원하려면 데이터베이스 추상화 기법을 적용해야 하는데 데이터베이스 추상화를 적용하는 방법에는 전문적인 데이터베이스 추상화 프레임워크를 사용하는 방법과 개별 응용에서 개별 데이터베이스 시스템에 맞는 모듈을 작성하여 추상화를 적용하는 방법이 있습니다.
 

C#에서 사용할 수 있는 데이터베이스 추상화 프레임워크의 대표적인 예로 오픈소스 프로젝트인 NHibernate(http://sourceforge.net/projects/nhibernate)를 들 수 있습니다. NHibernate의 경우지원하는 DBMS가 MySQL, PostgreSQL, Microsoft SQL Server, Oracle, Microsoft Access, Firebird, DB2 UDB, SQLite 등 오픈 소스 DBMS와 상용 DBMS를 포함하고 있고 ORM(Object Relational Mapping)지원하는 등 다양한 장점이 있지만, 응용 프로그램의 데이터베이스 접근성이 프레임워크의 한계에 의존하게 되고 DBMS별 최적화에는 한계가 있습니다. 그래서 동운 HMI는 각 데이터베이스와 연관된 C# 인터페이스 라이브러리를 활용하여 개별 데이터베이스 시스템에 최적화된 형태로 추상화를 적용하고 있습니다. 본 글에서는 동운 HMI에 장착가능한 각 데이터베이스별 모듈을 정리하도록 하겠습니다. 



■ MySQL Connector/Net 6.x 

- http://dev.mysql.com/downloads/connector/net/
- 라이선스 : GPL2 License 

오라클에서 듀얼 라이선스로 소스도 배포하고 있는 ADO.Net 드라이버 입니다. 동운 HMI는 소스 빌드한 DLL을 내장하고 있습니다. 



■ Oracle 

오라클 DBMS에 커넥터는 오픈 소스로 공개된 것이 없고 닷넷 프레임워크에서 기본적으로 제공하는 .NET Framework Data Provider for Oracle(System.Data.OracleClient)를 사용할 수 있습니다. 오라클 버전에 따라 기본 제공 클래스가 호환되지 않는 문제점이 있는 경우에는 클라이언트에 ODAC를설치해서 사용할 수 있는 ODP.NET(Oracle Data Provider for .NET)을 적용할 수도 있습니다. 



■ Microsoft SQL Server 

마이크로소프트의 제품인 만큼 닷넷에서 기본적으로 하는 .NET Framework Data Provider for SQL Server( System.Data.SqlClient)를 활용하여 간편하게 프로그램을 작성할 수 있습니다.
또한 닷넷에서 기본 제공하는 .NET Framework Data Provider for OLE DB (System.Data.OleDb)나 .NET Framework Data Provider for ODBC (System.Data.Odbc)를 활용하면 클라이언트에 약간에 설정을 해야 하는 불편함을 있지만 Access DB를 비롯한 별도의 커넥터 라이브러리가 없는 DBMS 들을 간편하게 접속할 수 있습니다. 



 Npgsql 

- http://npgsql.projects.pgfoundry.org/


" .Net Data Provider for Postgresql"로 MySQL Connector 처럼 별도의 드라이버 설치 없이 PostgreSQL DBMS를 접속할 수 있습니다. 



 Firebird ADO.NET Data Provider

- http://sourceforge.net/projects/firebird/files/firebird-net-provider/
- 라이선스 : MPL License

Firebird DBMS를 접속할 수 있는 드라이버로 소스 빌드가 가능합니다.



■ CUBRID  ADO.NET Driver

- http://www.cubrid.org/wiki_apis/entry/cubrid-ado-net-driver/
- 라이선스 : GPL2 License

NHN(네이버)에서 개발 및 적용중인 국산 DBMS CUBRID 접속을 위한 C# 드라이버입니다.

 



'SCADA' 카테고리의 다른 글

동운 HMI의 3D 기술 배경  (0) 2018.11.12
3D 모델을 지원하는 동운 HMI  (0) 2018.11.12
C# 기반 동운 HMI의 PLC 연관 모듈  (0) 2018.11.12
웹기반 HMI ScadaBR의 구조 2  (0) 2018.11.09
웹 기반 HMI ScadaBR의 DB 스키마  (0) 2018.11.09
댓글
공지사항
최근에 올라온 글
최근에 달린 댓글
Total
Today
Yesterday
«   2024/04   »
1 2 3 4 5 6
7 8 9 10 11 12 13
14 15 16 17 18 19 20
21 22 23 24 25 26 27
28 29 30
글 보관함