문서의 이전 판입니다!
목차
03 · HMI 화면 만들기
HMI 연결 전체 순서 · Arduino IDE 프로그램 · STUDIO2 설정
HMI 편집기에서 외부 장치를 만들고 그 장치의 메모리를 읽거나 쓰는 화면 요소를 배치합니다. 아래는 제조사 공통의 작업 순서입니다. 실제 버튼 이름·통신 단자·드라이버 주소 표기는 사용하는 HMI 설명서를 확인합니다.
1. 새 HMI 프로젝트 만들기
- 제조사 편집 프로그램을 실행하고 새 프로젝트를 만듭니다.
- 실제 HMI 모델과 화면 해상도를 선택합니다.
- 저장 위치와 프로젝트 이름을 정합니다. 이름은
ILOGICS_HMI_First_Test처럼 구분할 수 있게 정합니다. - 연결할 외부 장치를 추가합니다. 장치 별칭은
ILOGICS_Controller처럼 정해도 됩니다. - 이 장치가 사용할 HMI의 실제 시리얼 포트와 Modbus RTU Master 드라이버를 선택합니다.
ILOGICS_Controller 같은 장치 이름은 편집기에서 구분하는 별칭입니다. 통신 국번 1과 다른 항목입니다. HMI의 내부 변수에 숫자를 저장하면 화면 안에서만 값이 바뀌므로, 실습 요소의 대상은 반드시 외부 장치로 지정합니다.
2. 외부 장치 통신 조건
| 설정 항목 | 이번 실습 값 |
|---|---|
| 장치 / 프로토콜 | 표준 Modbus RTU 장치, HMI가 Master |
| HMI 포트 | 배선한 실제 RS-232 / RS-485 포트 |
| 연결할 장치의 국번 | 1 |
| 속도 | 9600 bps |
| 데이터 비트 / 패리티 / 정지 비트 | 8 / 없음 / 1 |
| 숫자 데이터 | 16비트 정수 1워드. 소수점 0자리, 배율 1 |
제조사 목록에 유사한 PLC 이름이 있더라도 그 장치의 전용 주소 변환 규칙이 적용될 수 있습니다. 드라이버가 사용하는 Coil/Holding Register 영역과 주소 규칙을 확인합니다. RS-232 케이블을 쓰면서 Ethernet용 Modbus TCP 드라이버를 선택하지 않습니다.
3. 주소 입력 방식 확인
wire address는 Modbus 요청 안에 들어가는 0 기반 주소입니다. HMI 드라이버에 따라 화면에서는 0 기반 숫자, 1 기반 번호, 4xxxx 같은 영역 포함 번호로 표시할 수 있습니다.
아래 변환은 해당 표기 규칙을 사용하는 드라이버일 때의 예입니다. 모든 HMI에서 같은 칸에 40001을 넣으라는 뜻이 아닙니다.
| 대상 | 0 기반 입력 | 1 기반 입력 | 전통적 4xxxx 표기 예 |
|---|---|---|---|
SDK D0 | 0 | 1 | 40001 |
SDK D1 | 1 | 2 | 40002 |
SDK D2 | 2 | 3 | 40003 |
STUDIO2 D0 | 2000 | 2001 | 42001 |
STUDIO2 D1 | 2001 | 2002 | 42002 |
STUDIO2 D2 | 2002 | 2003 | 42003 |
Coil은 별도의 영역입니다. SDK M0의 wire 주소는 0, STUDIO2 M0는 1000입니다. 1 기반 Coil 드라이버라면 각각 1과 1001에 대응합니다. Holding Register 영역에 M0를 지정하지 않습니다.
- 사용할 개발 방식의 주소 표를 고릅니다.
- HMI 설명서에서 주소 입력의 시작값이 0인지 1인지 확인합니다.
- 주소 영역을 먼저 선택하고 해당 규칙에 맞는 번호를 넣습니다.
- 처음에는
D0하나의 변화부터 확인한 뒤 다른 요소를 추가합니다.
4. 통신 확인 숫자 만들기
- 빈 화면에 숫자 표시 요소를 배치하고 제목을 통신 확인 숫자로 정합니다.
- 데이터 원본을 앞에서 만든 외부 장치로 선택합니다.
- 읽을 영역은 Holding Register, 주소는 개발 방식에 맞는
D0주소로 설정합니다. - 데이터 길이는 16비트 1워드, 표시 형식은 10진수 정수로 설정합니다.
- 소수점은 0자리, 배율은 1로 설정합니다. 쓰기 기능은 넣지 않습니다.
숫자가 1초마다 달라져야 합니다. 고정 문자열 0이나 HMI 내부 카운터를 표시하는 요소를 사용하지 않습니다.
5. 입력값과 제품에서 돌려준 값
- 숫자 입력 요소를 추가하고 제목을 입력값으로 정합니다.
- 외부 장치의 Holding Register
D1에 대응하는 주소를 지정합니다. - 16비트 정수, 허용 범위
0 ~ 9999, 소수점 0자리로 설정합니다. - 입력한 값의 확정 동작이 외부 장치에 쓰기를 실행하도록 설정합니다.
- 별도의 숫자 표시를 추가하고 제목을 제품에서 돌려준 값으로 정합니다.
- 이 표시의 주소는
D1이 아니라D2로 지정합니다. 데이터 형식은 동일합니다.
HMI의 숫자 쓰기는 FC06(한 워드) 또는 FC16(여러 워드) 요청을 사용합니다. 편집기에서 함수 번호를 자동으로 선택하면 지원하는 쓰기 방식인지 드라이버 설명을 확인합니다.
6. 시험 스위치와 램프
- 비트 스위치를 배치하고 외부 장치의 Coil
M0주소를 지정합니다. - 한 번 누르면 ON, 다시 누르면 OFF가 되는 유지형 토글 동작을 선택합니다.
- 별도의 비트 램프를 배치하고 같은 외부 Coil
M0를 읽도록 설정합니다. - 램프가 0일 때 OFF, 1일 때 ON으로 표시되게 설정합니다.
스위치의 그림 자체가 눌린 모습으로 바뀌는 것과 제품에서 읽은 램프 값은 다를 수 있습니다. 별도의 램프가 외부 Coil을 읽도록 설정해야 쓰기 결과를 확인할 수 있습니다. 이 M0는 내부 메모리이며 이 예제에서는 실제 출력 단자와 연결하지 않습니다.
7. 화면 구성을 확인하고 HMI에 다운로드
| 화면 요소 | 메모리 | 동작 |
|---|---|---|
| 통신 확인 숫자 | D0 | 읽기 |
| 입력값 | D1 | 읽기·쓰기 |
| 제품에서 돌려준 값 | D2 | 읽기 |
| 시험 스위치 | M0 | 토글 쓰기 |
| 시험 램프 | M0 | 읽기 |
- HMI 프로젝트를 저장합니다.
- 제조사의 다운로드 기능으로 실제 HMI에 화면을 전송합니다.
- 전송 대상과 케이블은 HMI 제조사의 안내를 따릅니다. 제품용 MP 다운로드 케이블을 HMI용으로 사용하지 않습니다.
- HMI 프로젝트와 제품 프로그램이 모두 준비되었는지 확인한 뒤 다음 단계로 갑니다.
PC 편집기의 시뮬레이션은 실제 외부 통신을 지원하거나 지원하지 않을 수 있습니다. HMI 내부 변수만 바뀌는 시뮬레이션 결과를 실물 연결 성공으로 판단하지 않습니다.
8. Comfile Studio를 사용하는 경우의 공식 참고
Comfile Studio에서는 실제 런타임 장치와 외부 장치를 선택해 새 프로젝트를 만듭니다. 통신속도는 프로젝트 생성 후 속성에서 설정합니다. 숫자 표시·숫자 입력기에는 외부 장치 주소를 지정할 수 있습니다. 아래는 제조사 공식 안내입니다. 이 링크는 특정 Comfile 드라이버와 ILOGICS 제품의 연결 검증을 뜻하지 않습니다.
