이번 플젝에서 사용할 모니터링 구조...
이번 플젝에서 설비88대에 대한 모니터링을 만들예정이다.
딱히 이건 요구사항 정의도 없는 거고... 그냥 설비마다 돌아다니면서 보는게 구찮아.
한달되었는데... 하루 쉬었다. 게다가 새벽에 퇴근도 몇번하고... 차 끊겨서 태워다 주기도 하고...
TCP/IP통신을 할까? gRPC를 할까? WCF로 할까? ... 다 알아봤는데...
다 구찮아.. gRPC는 .net framework로도 안된다.. 4.8에서 된다고는 하는데... 뭐가 복잡한건지... 지원이 된다 안된다...
인증서 만들어야 한다거나... 포트열어줘야 한다거나... 등등 귀찮아....
그냥 DB에 넣고 빼자.
그래서 만든 거다.
큰 프로그램은 88대의 설비를 보여줄 화면이고 1개만 우선 테스트 중이다.
작은 화면은 설비에서 보낼 설비 정보를 테스트용으로 만든 프로그램이다.
DB를 통해 전달하고 DB를 읽어서 보여준다.
10분 이상이면
장비가 가동 중일때 신호를 받아서 찍어준 것.
이번 플젝에서 사용한 기술이지만... 간략히 메모하자면...
챠트를 직접 쓰자니... 저거 그리자고 챠트를?
저런건 간단히 그리자!!!
/~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~/ 3일치 데이타
/~~~~~~~~~~~~~~~/ 그려질 컨트롤 가로폭
두개의 데이타로 그려질 컨트롤의 1px에 3일치 데이타의 갯수를 구한다.
1px에 데이타갯수 = 3일치 데이타 갯수 / 그려질 컨트롤 가로폭
for( loop < 그려질 컨트롤 가로폭 )
for( loop2 < 1px에 데이타갯수 )
idx = ( loop * 1px에 그려질 데이타 갯수 ) + loop2
이렇게 하면 3일치 데이타[ idx ]로 접근이 가능.
1px에 그려질 데이타의 존재여부에 따라 있으면 loop2 의 for문 탈출....
위처럼 하면 1px에 그려질 데이타가 모두 보여지는 것은 아니나... 존재여부에 따라 신호를 그려준다.
손실률이 있지만... 지금 현재 보고 싶은 그래프 그리는 것엔 충분하다.
이렇게 3일치의 데이타를 챠트로 발행/인쇄/배출 신호를 잡아서 뿌려주면
설비에서 어느 시점에 어떤 신호들이 안왔는지 알 수 있다.
저기에 해당하는 지점의 로그를 살펴서 어떤 이유인지 살펴보게 된다.
'# 9) My Program(.NET) > PRJMNG' 카테고리의 다른 글
JSFW.VS.Extensibility.FindingMethodList 프로그램 수정. (0) | 2024.08.26 |
---|---|
프로그램 재시작?] 후~ (0) | 2024.07.28 |
SSMS 확장프로그램 2018 -> 2020 변경. (0) | 2024.06.08 |
VS 확장 프로그램 2019 -> 2022 적용. (0) | 2024.06.08 |
드디어 폰에... MAUI 배포. (0) | 2024.05.29 |