Database PLC Connection and Monitoring Agent for research and developement project
기존의 산업 시설의 시뮬레이션 환경에서 수작업으로 시뮬레이션 기기 간 통신하기 위해서는 많은 비용이 발생함.
따라서, 시뮬레이션 기기 간 통신에 사용되는 프로토콜을 자동적으로 생성하는 기능을 모듈화하여 DLL 라이브러리를 제공하여, 시뮬레이션 과정의 비용을 최소화함.
또한, 사용자 친화적인 인터페이스(Dashboard)를 제공하여 기기 간 통신 상황을 쉽게 파악하고 PLC 및 DB 수정을 용이하게 함.
김대로 - PLC 통신 프로토콜 생성 함수 구현
손원석 - Web Server 및 DB 구축
박동욱 - .Net framwork를 통한 DLL포맷의 API 제작
윤수빈 - DLL API 호출 함수 구현
이해빈 - DLL API 호출 함수 구현
최범규 - 대시보드 및 콜백 기능 구현
김원아 - 대시보드 및 콜백 기능 구현
- PC-PLC 하드웨어간 연결방식에 따라 시리얼 통신과 이더넷 통신으로 구분됨.
- 따라서 시리얼/이더넷 통신을 지원하기 위해 각각에 방식에 대한 구현을 진행함.
- 시리얼/이더넷 통신을 위한 프로토콜에 맞는 통신 명령어를 생성하도록 기능을 구현
- 기능 구현 사항은 다음과 같음
- PLC 통신 연결
- PLC 개별 읽기
- PLC 연속 읽기
- PLC 개별 쓰기
- PLC 연속 쓰기
- PLC 통신 종료
![시뮬레이션을 위한 정보 관리 에이전트 구조](https://private-user-images.githubusercontent.com/80153046/304666328-316607e4-bc8b-4501-b688-af74a2afebd8.png?jwt=eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJpc3MiOiJnaXRodWIuY29tIiwiYXVkIjoicmF3LmdpdGh1YnVzZXJjb250ZW50LmNvbSIsImtleSI6ImtleTUiLCJleHAiOjE3MjQ0MjEyMzYsIm5iZiI6MTcyNDQyMDkzNiwicGF0aCI6Ii84MDE1MzA0Ni8zMDQ2NjYzMjgtMzE2NjA3ZTQtYmM4Yi00NTAxLWI2ODgtYWY3NGEyYWZlYmQ4LnBuZz9YLUFtei1BbGdvcml0aG09QVdTNC1ITUFDLVNIQTI1NiZYLUFtei1DcmVkZW50aWFsPUFLSUFWQ09EWUxTQTUzUFFLNFpBJTJGMjAyNDA4MjMlMkZ1cy1lYXN0LTElMkZzMyUyRmF3czRfcmVxdWVzdCZYLUFtei1EYXRlPTIwMjQwODIzVDEzNDg1NlomWC1BbXotRXhwaXJlcz0zMDAmWC1BbXotU2lnbmF0dXJlPWZjMzg1YTcxMDA2ODVkZjcxZmM5M2I0OGJlMDQ5YmRiNDUxMTk5Mjg5ZTQ5OTIyMGYxMWEyMjVkNzI3Y2I3ZDQmWC1BbXotU2lnbmVkSGVhZGVycz1ob3N0JmFjdG9yX2lkPTAma2V5X2lkPTAmcmVwb19pZD0wIn0.fCXdrykHpQpKmKbHIKzUffZJaMWBhzkZpJNSkg3rbmg)
- Web Server(Flask)는 구현된 DLL API 함수를 호출하여 전체적인 PLC 통신을 제어함.
- MySQL을 활용하여 DB를 구축
- DB 데이터 읽기/쓰기를 위한 Execute 쿼리(GET, POST, PUT, DELETE) 기능을 구현함
- Dash API를 활용하여 로컬 인터페이스를 개발하였으며, 세부 콜백 기능을 추가하여 PLC와 DB의 데이터 수정을 가능하도록 함.
1차 - 관련 자료 조사 (2023/11/24 - 2023/11/27)
개발 관련 회의 - 2023/11/27
2차 - API 기능 개발 (2023/11/27 - 2023/12/7)
3차 - 보고서 작성 (2023/12/8 - 2023/12/28)