동운 HMI를 최초에 설계할 당시 태그값을 데이터베이스에 저장하기 위한 스키마를 어떻게 구성할 것인가를 두고 여러 가지로 고민했습니다. 어찌했든 데이터베이스 쿼리가 늘어날 수록 성능은 저하되므로 태그값 저장 대상은 되도록 한번에 삽입(INSERT) 할 수 있으면 최적이겠다 싶었습니다. 그렇지만, 태그가 늘어나거나 삭제, 변경되는 경우 융통성있게 대응하기 어렵다는 문제때문에 결국 성능 보다는 프로그래밍의 효율성에 초점을 맞추어 데이터베이스 스키마를 생성했습니다. 그래서, 동운 HMI의 기존 스키마는 위의 그림과 같이 데이터 타입별로 태그명과 일자, 값을 저장하는 방식으로 시스템 전체적으로 보면 공간 효율성이 떨어지는 결과를 낳을 수 있었습니다. 또한, 프로세스 측면에서도 Prepared Statement를..
C# .Net 기반으로 제작되어 다중 클라이언트를 지원하는 HMI 응용 프로그램인 동운 HMI는 소스 코드를 통째로 판매하기도 하고 한개의 DB 드라이버와 한개의 PLC 드라이버를 장착해서 특정 프로젝트를 제작하여 공급하기도 하죠. 업체마다 필요에 따라 선택하여 적용하면 상용 스카다 소프트웨어 대비 비용 대비 효과를 극대화 할 수 있을 뿐만아니라 어떤 형태의 공급을 받든 자체 소스 코드를 확보 함에 따라 기업 나름의 전략적 상품으로 발전시킬수 있고 최적화된 성능을 구현할 수 있습니다. 동운 HMI에서는 XML 형식의 환경 설정 파일에 태그별로 이름, 설명, 데이터 타입, 로깅 주기, 입출력 형태, 대상 PLC, 알람 설정, 데이터 변환 범위 등을 기술해 놓으면 자동적으로 PLC 입출력과 알람 처리 및 데..
동운 HMI는 C# .Net 기반의 다중 클라이언트를 지원하는 HMI 응용 프로그램입니다. 소스 코드를 통째로 판매하기도 하고 한개의 DB 드라이버와 한개의 PLC 드라이버를 장착해서 특정 프로젝트를 제작하여 공급하기도 합니다. 업체마다 필요에 따라 선택하여 적용하면 상용 스카다 소프트웨어 대비 비용 대비 효과를 극대화 할 수 있을 뿐만아니라 어떤 형태의 공급을 받든 자체 소스 코드를 확보 함에 따라 기업 나름의 전략적 상품으로 발전시킬수 있고 최적화된 성능을 구현할 수 있습니다. 이번에 적용된 기능은 시스템 모니터입니다. 기능은 한가지처럼 보이지만 내부적으로는 여러가지 변경이 있었습니다. 서버와 클라이언트 모두에서 시스템 상태를 확인할 수 있으며 서버/클라이언트 접속 현황, DB 드라이버 상태, PLC..
스카다 시스템이나 HMI를 단순 모니터링 용도가 아니라 제어 기능이 포함되는 경우 오퍼레이터의 조작에 대한 시스템의 반응 속도는 상당히 중요합니다. 특정 태그 값 표시와 쓰기 기능을 동시에 제공하는 컨트롤의 경우 쓰기 동작이 완료되어 PLC 값이 변경되어야 표시되는 데이터도 변경된 값으로 바뀌는 까닭에 화면 갱신 주기와 쓰기 과정등을 감안 했을때 통신 과정이 지연되거나 하는 경우 조작자 입장에서 반응 속도가 상당히 느린 것으로 느낄 수 있습니다. 특히 시리얼 통신으로 대량의 태그를 다루는 HMI의 경우에는 이런 반응 속도 저하 현상은 두드러지게 나타날 수 있습니다. 기존에는 쓰기를 위해서 UI쪽의 쓰레드에서 특정 태그의 쓰기 플래그를 On하면 PLC 드라이버가 주기적으로 전체 쓰기 태그들에 대한 쓰기 플..
C# 기반으로 작성한 동운 HMI는 닷넷 프레임워크가 설치된 환경이라면 윈도우즈 운영체제 뿐만아니라 리눅스와 같은 운영체제에서도 동운 HMI를 동작시킬 수 있는 크로스프랫폼(Cross Platform) SCADA 시스템입니다. 최근에는 웹 인터페이스 지원 기능이 추가되어 데스크탑 컴퓨터 뿐만아니라 태블릿이나 스마트폰과 같은 다양한 환경에서 동운 HMI를 사용할 수 있는 시스템이 되었습니다. 스카다(SCADA) 시스템이나 HMI를 운용하는 조직에서는 시스템 운용 과정에서 발생하는 특정 이벤트에 대해서 가급적 빠른 시간 내에 상황을 인지하는 것이 중요한데 시스템을 지속적으로 지켜보지 않아도 상황을 인지할 수 있는 방법을 강구할 필요가 있습니다. 이런 방법중의 하나로 앞서 동운 HMI SMS 드라이버가 추가되..
C# .NET 기반의 표준 기술을 적용한 동운 HMI는 한대의 서버와 여러대의 클라이언트로 구성하는 C/S 구조의 시스템 구축 뿐만아니라 임베디드 시스템에 DBMS 없이 독립형 HMI를 구축 할 수도있습니다. 동운 HMI를 독립형의 구축할 경우 상용 및 무료 DBMS 대신 메모리 DB 드라이버를 적용할 수도 있지만 메모리 DB는 전원이 내려가면 정보가 사라지는 휘발성이라는 제약이 있습니다. 독립형 HMI에서 휘발성 DB가 아닌 전원이 내려가도 정보가 유지되는 비휘발성 DB를 적용하는 필요에 대응하기 위해서 SQLite DB 드라이버를 추가했습니다. 윈도우, 리눅스 시스템등 SQLite가 설치된 시스템이고 닷넷 프레임워크를 제공하는 시스템이라면 어떤 곳에서도 수행할 수 있습니다. 다른 DB 드라이버와 동일..
C# 기반으로 작성한 동운 HMI는 닷넷 프레임워크가 설치된 환경이라면 윈도우즈 운영체제 뿐만아니라 리눅스와 같은 운영체제에서도 동운 HMI를 동작시킬 수 있는 크로스프랫폼(Cross Platform) 스카다 시스템입니다. 아래의 예제들은 우분투 16.04 LTS에 mono 4.6.1을 설치하고 수행한 것입니다. 위의 그림은 모드버스 TCP PLC에 메인메모리 DB를 장착하여 동운 HMI를 우분투 리눅스에서 수행한 화면입니다. 윈도우에서 빌드한 프로그램을 리눅스 시스템에서 별도의 변경없이 그대로 수행해도 정상적으로 윈도우와 동일하게 동작합니다. 리눅스에 HMI 서버를 두고 여러대의 윈도우 클라이언트를 운용하는 방식도 가능하고 반대로 한대의 윈도우 서버와 여러대의 리눅스 클라이언트 운용도 가능합니다. 위의..
C# .NET 기반의 표준 기술을 적용한 동운 HMI에 상용 및 무료 DBMS를 사용할 수 있는 범용 데이터베이스 드라이버를 적용한데 이어서 별도의 DBMS 없이도 동운 HMI를 구동할 수 있는 메모리 DB 드라이버를 추가했습니다. 임베디드 시스템에 DBMS 없이 독립형 HMI를 구축 할 수 있습니다. 다른 DB 드라이버와 동일한 인터페이스를 제공하므로 간단한 설정만으로 데이터베이스 전환을 간단하게 적용할 수 있습니다. ■ DB 드라이버 설정 동운 HMI의 메모리 DB 드라이버는 닷넷 시스템의 내부 오브젝트를 사용하기 때문에 별도의 DBMS를 설치할 필요가 없으며 DBMS 연결로 인한 성능 저하 우려가 없습니다. 메모리 DB 드라이버는 위의 그림과 같이 "driver"와 "name" 항목에 "memory..
동운 HMI에서는 실제 PLC 태그가 아닌 내부 태그 또는 메모리 태그라 불리는 태그 형태를 지원합니다. 작업 값을 임시 저장하기 위한 용도나 여러 태그 값을 기반으로 연산한 결과를 저장하기 위한 용도(계산 태그, Computed tag)등으로 사용합니다. 다른 PLC 태그와 동일하게 위의 그림과 같이 화면의 컨트롤 오브젝트에 연결하여 사용할 수 있고 하한 또는 상한 값에 따른 알람을 설정할 수도 있습니다. 위의 그림은 모드버스 PLC 드라이버와 내부 태그 드라이버를 동시에 가동하도록 설정한 예제입니다. 동운 HMI에서는 "localcompute"라는 이름의 드라이버를 제공하고 있습니다. 항목에 "localcompute" 드라이버 이름을 입력하고 에 해당 PLC를 지칭하는 아이디를 입력합니다. 에 입력한..
동운 HMI에서는 Libnodave 모듈을 활용해서 지멘스의 S7 PLC를 TCP 방식(Siemens ISO on TCP - RFC 1006)으로 접속할 수 있는 드라이버 뿐만아니라 MPI 및 PPI 시리얼 인터페이스와 SIMATIC PC Adapter USB 인터페이스를 통한 드라이버도 제공하고 있습니다. 위의 그림의 시현 환경은 SIMATIC S7-400 CPU를 사용하고 있지만 S7-300 및 그 하위 버전의 CPU도 사용할 수 있습니다. 위의 그림은 지멘스 S7 PLC에 대한 "SIMATIC PC Adapter USB 인터페이스" 설정 예제로 동운 HMI에서는 "siemenss7"이라는 이름의 드라이버를 제공하고 있습니다. 항목에 "siemenss7" 드라이버 이름을 입력하고 에 해당 PLC를 지..
- Total
- Today
- Yesterday
- OPC
- 동운HMI
- Advanced HMI
- cubrid
- 큐브리드
- SCADA
- 동운 HMI
- SCADABR
- 3D 스카다
- 3D HMI
- S400
- 웹HMI
- LS산전
- s300
- DB드라이버
- 스카다
- HMI개발
- C# HMI
- C#
- hmi
- Siemens
- 3D SCADA
- 웹스카다
- XGT전용프로토콜
- 지멘스
- Tibero
- plc simulator
- 티베로
- modbus
- XGT PLC
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 | 31 |