====== Arduino IDE · Mitsubishi MC 1C로 HMI 연결 ====== [[guide:hmi_connection|HMI 연결 전체 순서]] · [[guide:hmi_connection:arduino|Arduino IDE 방식 선택]] 이 SDK의 MC Slave는 **MELSEC A호환 1C 프레임 Format 1 직렬 ASCII** 요청을 처리합니다. HMI 드라이버에서 프레임 형식과 **Sum Check 사용**을 맞춰야 합니다. 일반적인 MC 3E/4E 프레임 또는 MC TCP 드라이버로는 이 예제를 연결할 수 없습니다. ''M''·''D''는 1C 요청의 디바이스 문자와 번호로 지정합니다. 이 페이지 뒤쪽의 간단한 사용 예는 **MPINO-8A4R-S · RS-232 ''Serial1'' · 국번 1 · 9600 bps · 8N1** 기준이며 Arduino IDE용입니다. [[guide:hmi_connection:wiring|채널·결선]]과 [[guide:hmi_connection:arduino|SDK 설치·보드 선택]]을 확인해주시기 바랍니다. STUDIO2에 같은 MC 설정이 있다고 가정하지 않습니다. ===== 1. HMI 화면에 지정할 주소 ===== ^ 화면 요소 ^ SDK 메모리 ^ 1C 요청의 디바이스·주소 ^ 요청 명령 ^ | 통신 확인 숫자 | ''D0'' | ''D0000'' | 워드 읽기 ''WR'', 0~99 반복 | | 숫자 입력 | ''D1'' | ''D0001'' | 워드 쓰기 ''WW'', 0~9999 | | 되돌린 값 | ''D2'' | ''D0002'' | 워드 읽기 ''WR'', D1과 같음 | | 시험 스위치·램프 | ''M0'' | ''M0000'' | 비트 쓰기 ''BW''·읽기 ''BR'' | 표의 ''D0000''·''M0000''은 **코어가 수신하는 1C 요청의 디바이스 코드와 4자리 10진 주소**입니다. HMI 편집기의 표시 형식은 드라이버마다 다르므로 실제 요청이 이 주소를 가리키는지 확인해주시기 바랍니다. **Modbus 주소 변환표는 MC에 적용하지 않습니다.** 숫자 형식·스위치·램프의 공통 설정은 [[guide:hmi_connection:screen|HMI 화면 만들기]]에서 안내합니다. ===== 2. 새 스케치에 전체 코드 입력 ===== 다음은 위 1C 주소로 내부 메모리 값을 주고받는 간단한 예제입니다. 이 코드는 실제 입력·릴레이 출력 핀을 사용하지 않습니다. #include unsigned long lastTick = 0; void setup() { IMcMem(0, 0, 16, 16); // X/Y 미사용, M0, D0~D2 포함 IMcAdr(0, 0, 0, 0); // 외부 주소도 0부터 IMcInit(Serial1, 1, 9600); lastTick = millis(); } void loop() { if (M == nullptr || D == nullptr) return; IMcProtocol(); unsigned long now = millis(); if (now - lastTick >= 1000UL) { lastTick = now; D[0] = (D[0] >= 99) ? 0 : D[0] + 1; } if (D[1] > 9999) D[1] = 9999; D[2] = D[1]; } ''IMcMem()''은 시작할 때 메모리를 만들고, ''IMcProtocol()''은 매 반복에서 HMI 요청을 처리합니다. 이 스케치는 실제 입력·릴레이 핀을 사용하지 않습니다. ===== 3. 검증·업로드 후 HMI 화면 만들기 ===== 제품 스케치를 업로드한 뒤 아래 화면 구성 예와 주소표를 참고하여 HMI 요소를 배치해주시기 바랍니다. {{ :guide:hmi_connection:revision5-dark:practice-screen.svg?420 |D0 통신 확인 숫자, D1 입력, D2 되돌린 값, M0 시험 스위치와 램프 }} - 스케치를 저장하고 Arduino IDE의 **검증**을 실행해주시기 바랍니다. - **도구 → 보드**와 업로드 COM 포트를 확인한 뒤 **업로드**해주시기 바랍니다. [[guide:getting_started|설치·업로드 안내]] - [[guide:hmi_connection:screen|HMI 화면 만들기]]에서 위의 ''D0000~D0002''와 ''M0000''을 외부 장치 요소에 지정하고 HMI 프로젝트를 전송해주시기 바랍니다. - 제품과 HMI 전원을 켜고 [[guide:hmi_connection:check|동작 확인과 문제 해결]]에서 읽기 → 쓰기 → 비트 순서로 시험해주시기 바랍니다. {{ :guide:hmi_connection:revision5-dark:write-read-flow.svg?420 |HMI가 D1과 M0를 쓰고 제품의 D2와 M0를 다시 읽어 결과를 확인 }} 먼저 HMI 드라이버가 **1C Format 1·Sum Check** 요청을 보내는지 확인해주시기 바랍니다. 정상 결과와 증상별 확인 위치는 [[guide:hmi_connection:check|동작 확인과 문제 해결]]에 정리되어 있습니다.