본문 바로가기
Programming/프로그래밍 실습

[PLC] HMI 화면 구성

by choiyeong 2025. 3. 11.

 

[개요]

아직 PLC와 연동은 하지 못했지만 HMI 인터페이스를 구현해보았다.

[배운점]

도구 상자에 있는 다양한 오브젝트의 역할을 알았다.

특히 그래프 오브젝트들의 기능을 하나씩 구현해보았고, 실무에서 구경했던 그래프도 보였다. (미터그래프)

 

숫자입력과 문자입력이 달라서 문자로 15를 입력해도 숫자표시기에는 15를 표시하지 않고 다른 숫자를 표기한다.

다른 이유는 아마 메모리할당이나 ASCII 코드 관련으로 데이터값이 다르게 인식되기 때문이다.

 

화면전환은 모든 화면에서도 서로 공통되게 버튼이 있어야하므로 기본화면으로 미리 GUI를 만들어두고, '모든기본화면의 배경으로설정'을 설정해주면 된다.

 

워드램프/스위치에서 +와-를 조건값이 오버되지 않도록 동작조건,램프조건을 설정해주는데 헷갈릴 수 있다.

동작/램프조건은 +의 경우 최대조건값 이하일때만 동작하도록 설정하면 최대값에 도달했을 땐 스위치가 OFF상태로 바뀌며 누를 수 없다는걸 시각적으로 표현해줄 수 있으며 동작기능도 정지되어서 조건값을 over하지 않을 수 있다.

-의 경우 0초과일때만 동작하도록 설정하면 되고, Reset은 모든 곳에서 동작을 하되, Reset값이 0이면 조건0일때 OFF로 바꾸면 초기화면이란걸 시각적으로 표현하기 좋다.

 

N상램프는 비트/비트조합 값에 의한 상태변화가 있다.

'비트값에의한 상태변화'는 굳이 쓸 필요가 없는거 같다. 워드램프 하위호환이다.

(비트값에 의한 상태변화는 사용처를 쉽게 떠올리기 어렵다.)

다만, '비트조합값에 의한 상태변화'는 적은 버튼으로 많은 선택지를 가질 수 있어서 사용할 수 있을 것 같은데

예를들어 7개의 모터를 조작해야하는 상황에 버튼이 3개뿐이라면

1버튼으로 모터1개

2버튼으로 모터 2개

1,2버튼으로 모터3개

3버튼으로 모터4개

1,3버튼으로 모터5개

2,3버튼으로 모터6개

1,2,3모든 버튼으로 모터 7개 ... 이렇게 이진수를 활용해서 여러기능을 조절할 수 있다.

 

'Programming > 프로그래밍 실습' 카테고리의 다른 글

[PLC] 사용자 펑션/펑션블록 구현  (0) 2025.03.10