문서의 이전 판입니다!
MPINO STUDIO2 · LS산전 Cnet으로 HMI 연결하기
← Modbus RTU 실습 · STUDIO2 시작으로
STUDIO2의 LS산전 Cnet Slave에서 Cnet 요청의 %DW0은 내부 D0, %MX00000은 내부 M0에 대응합니다. LS산전·M2I·이지뷰 HMI 편집기에는 Cnet 드라이버를 선택하고 D000·M000처럼 M/D 메모리 이름을 입력합니다. Modbus의 Coil 1000·Holding Register 2000은 Cnet 주소가 아닙니다.
뒤의 간단한 전환 예제는 STUDIO2 Modbus RTU 예제에서 프로젝트 생성·메모리 설정·래더 작성·main 코드 입력과 첫 빌드·제품 업로드를 마친 뒤 진행합니다. Modbus HMI 화면 작성이나 실물 송수신 시험까지 마칠 필요는 없습니다. Arduino IDE의 Cnet 예제에는 이 선행 조건이 없습니다.
1. 통신 프로토콜 변경
- 앞 절의 첫 빌드·제품 업로드까지 마친
HMI_First_Test.mp2를 열어 파일 → 다른 이름으로 저장에서HMI_Cnet_Test.mp2로 저장합니다. - 실행 → 통신을 열고
Serial1의 프로토콜을 LS산전 Cnet Slave로 바꿉니다. - Slave ID
1, 통신속도9600, 데이터 비트8, 정지 비트1, 패리티없음을 확인하고Ctrl+S로 저장합니다.
아래 그림은 항목 위치를 보여 주는 초기 화면입니다. 그림 속 프로토콜 없음과 속도 115200은 이 실습값이 아닙니다. 위에서 지정한 LS산전 Cnet Slave·9600을 설정하고 저장하세요.
HMI 쪽은 공통 통신 프로토콜 선택에서 Cnet 드라이버와 연결 포트를 확인합니다.
2. 내부 래더와 코드 확인
설정 → 메모리 영역 설정은 P 64, M·D·C·T·R 각각 16이고, 래더 핀맵 설정의 물리 핀 사용은 모두 해제한 상태입니다. 래더 → ladderLoop는 NO 접점 M0 → 출력 코일 M1 한 줄입니다.
Arduino Code → main의 내용은 선행 Modbus 실습의 전체 코드와 동일하게 유지합니다. 통신 함수는 STUDIO2가 생성하므로 ICnetMem()·ICnetInit()·ICnet()을 직접 넣지 않습니다.
내부 메모리 D0는 1초마다 증가하고, HMI가 D001에 쓴 값은 내부 D1에서 D2로 복사됩니다. HMI가 M000을 바꾸면 내부 래더 결과 M1을 HMI의 M001에서 확인할 수 있습니다. D는 부호 있는 16비트 정수입니다.
3. Cnet HMI 주소
| HMI 요소 | STUDIO2 내부 메모리 | HMI 입력 예 | 동작 |
|---|---|---|---|
| 1초마다 변하는 숫자 | D0 | D000 | 읽기 |
| 숫자 입력 | D1 | D001 | 읽기·쓰기 |
| 입력값을 돌려주는 숫자 | D2 | D002 | 읽기 |
| 스위치와 확인 램프 | M0 | M000 | 쓰기·읽기 |
| 래더 결과 확인용 램프 | M1 | M001 | 읽기 |
표의 HMI 입력 예는 LS산전·M2I·이지뷰 기준입니다. 다른 HMI는 선택한 Cnet 드라이버의 주소 입력 형식을 확인하세요. Modbus의 Coil 1000·Holding Register 2000은 Cnet 주소가 아닙니다.
숫자 3개는 16비트 정수 1워드·소수점 0·배율 1로 설정하고 입력값 범위는 0~9999로 제한합니다. 스위치는 M000을 토글로 쓰고 별도 램프로 다시 읽습니다. 이 프로그램은 물리 출력을 제어하지 않습니다.
4. 다시 빌드하고 확인
- 실행 → 빌드(
Ctrl+R)에서 오류가 없는지 확인합니다. - 상태바에서 제품용 다운로드 케이블의 PC COM 포트를 선택하고 실행 → 업로드(
Ctrl+U)합니다. 하단 패널의 업로드 로그가 정상 종료되는지 확인하세요. 포트와 로그 위치는 포트 선택과 업로드를 참고하세요. - HMI 화면 만들기에서 Cnet 드라이버를 선택하고 위 표의 HMI 입력 예에 따라
D000~D002와M000·M001을 지정한 뒤, 국번1,9600/8N1로 저장·전송합니다. 제품의Serial1은 HMI 통신에만 사용합니다.
STUDIO2 설치본 SDK를 사용한 코드 생성·컴파일까지 확인한 예제입니다. 실물 HMI의 특정 드라이버와 케이블 동작은 별도 검증 대상입니다.
