사용자 도구

사이트 도구


guide:hmi_connection:arduino:modbus

차이

문서의 선택한 두 판 사이의 차이를 보여줍니다.

차이 보기로 링크

다음 판
이전 판
guide:hmi_connection:arduino:modbus [2026/10/05 18:19] – 만듦 - 바깥 편집 127.0.0.1guide:hmi_connection:arduino:modbus [2026/10/25 11:33] (현재) – 바깥 편집 127.0.0.1
줄 3: 줄 3:
 [[guide:hmi_connection|HMI 연결 전체 순서]] · [[guide:hmi_connection:arduino|Arduino IDE 방식 선택]] [[guide:hmi_connection|HMI 연결 전체 순서]] · [[guide:hmi_connection:arduino|Arduino IDE 방식 선택]]
  
-**MPINO-8A4R-S · RS-232 ''Serial1'' · 국번 1 · 9600 bps · 8N1** 실습입니다. HMI는 요청을 보내는 **Modbus RTU Master**, 제품은 응답하는 **Slave**로 설정합니다.+Modbus RTU에서는 HMI가 **Master**로 요청하고 제품이 **Slave**로 응답합니다. 이 SDK의 ''M'' 비트는 Coil, ''D'' 워드는 Holding Register에 대응합니다. HMI에 입력할 번호는 드라이버의 0 기반·1 기반 주소 규칙을 확인해야 합니다.
  
-===== 1. 연결과 HMI 통신 설정 =====+이 페이지 뒤쪽의 간단한 사용 예는 **MPINO-8A4R-S · RS-232 ''Serial1'' · 국번 1 · 9600 bps · 8N1** 기준입니다. 제품 채널과 결선은 [[guide:hmi_connection:wiring|HMI 연결방법]], 개발 환경은 [[guide:hmi_connection:arduino|Arduino IDE 설치·보드 선택]]에서 확인해주시기 바랍니다.
  
-{{ :guide:hmi_connection:rs232-signals.svg?420 |제품 TX→HMI RX, 제품 RX→HMI TX, 통신 GND→HMI 신호 기준 }} +===== 1. HMI 화면에 지정할 주소 =====
- +
-^ 순서 ^ 설정할 곳 ^ 실습 값 ^ +
-| 1 | 결선 | [[guide:hmi_connection:wiring#rs-232_연결|RS-232 신호 기준 연결]] | +
-| 2 | HMI 외부 장치 | Modbus RTU **Master**, 실제 RS-232 포트 | +
-| 3 | HMI 통신 | Slave 국번 ''1'', ''9600'', 데이터 ''8'', 패리티 없음, 정지 ''1'' | +
-| 4 | Arduino IDE | ILOGICS 보드 패키지, **MPINO-8A4R(T)-S**, 업로드 COM 포트 | +
- +
-===== 2. HMI 화면에 지정할 주소 ===== +
- +
-{{ :guide:hmi_connection:practice-screen.svg?420 |D0 통신 확인 숫자, D1 입력, D2 되돌린 값, M0 시험 스위치와 램프 }}+
  
 ^ 화면 요소 ^ SDK 메모리 ^ Modbus 요청의 0 기반 주소 ^ 동작 ^ ^ 화면 요소 ^ SDK 메모리 ^ Modbus 요청의 0 기반 주소 ^ 동작 ^
줄 25: 줄 15:
 | 시험 스위치·램프 | ''M0'' | Coil ''0'' | 토글 쓰기 FC05/FC15, FC01 읽기 | | 시험 스위치·램프 | ''M0'' | Coil ''0'' | 토글 쓰기 FC05/FC15, FC01 읽기 |
  
-HMI의 숫자는 **16비트 정수, 소수점 0자리, 배율 1**로 설정합니다. D1 입력 범위는 ''0~9999'', M0 스위치는 유지형 토글로 설정하고, 별도 램프가 같은 외부 M0를 읽도록 합니다. HMI 편집기가 1 기반 또는 ''4xxxx'' 번호를 쓰면 [[guide:hmi_connection:screen#주소_입력_방식_확인|주소 변환 표]]로 확인합니다.+HMI 편집기가 1 기반 또는 ''4xxxx'' 번호를 쓰면 [[guide:hmi_connection:screen#주소_입력_방식_확인|주소 변환 표]]에서 확인해주시기 바랍니다. 숫자 형식·스위치·램프의 공통 설정은 [[guide:hmi_connection:screen|HMI 화면 만들기]]에서 한 번에 진행합니다.
  
-===== 3. 새 스케치에 전체 코드 입력 =====+===== 2. 새 스케치에 전체 코드 입력 ===== 
 + 
 +다음은 위 주소로 내부 메모리 값을 주고받는 간단한 예제입니다. 이 코드는 실제 입력·릴레이 출력 핀을 사용하지 않습니다.
  
 <code cpp> <code cpp>
줄 58: 줄 50:
 ''ImodbusRTUMem()''은 시작할 때 메모리를 만들고, ''ImodbusRTU()''는 매 반복에서 HMI 요청을 처리합니다. 이 스케치는 실제 입력·릴레이 핀을 사용하지 않습니다. ''ImodbusRTUMem()''은 시작할 때 메모리를 만들고, ''ImodbusRTU()''는 매 반복에서 HMI 요청을 처리합니다. 이 스케치는 실제 입력·릴레이 핀을 사용하지 않습니다.
  
-===== 4. 검증·업로드 후 동작 확인 =====+===== 3. 검증·업로드 후 HMI 화면 만들기 ===== 
 + 
 +제품 스케치를 업로드한 뒤 아래 화면 구성 예와 주소표를 참고하여 HMI 요소를 배치해주시기 바랍니다.
  
-  - 스케치를 저장하고 Arduino IDE의 **검증**을 실행합니다. +{{ :guide:hmi_connection:revision5-dark:practice-screen.svg?420 |D0 통신 확인 숫자, D1 입력, D2 되돌린 값, M0 시험 스위치와 램프 }}
-  - **도구 → 보드**와 업로드 COM 포트를 확인한 뒤 **업로드**합니다. [[guide:getting_started|설치·업로드 안내]] +
-  - HMI 프로젝트를 HMI에 전송한 뒤 제품과 HMI 전원을 켭니다.+
  
-{{ :guide:hmi_connection:write-read-flow.svg?420 |HMI가 D1과 M0를 쓰고 제품의 D2와 M0를 다시 읽어 결과를 확인 }}+  - 스케치를 저장하고 Arduino IDE의 **검증**을 실행해주시기 바랍니다. 
 +  - **도구 → 보드**와 업로드 COM 포트를 확인한 뒤 **업로드**해주시기 바랍니다. [[guide:getting_started|설치·업로드 안내]] 
 +  - [[guide:hmi_connection:screen|HMI 화면 만들기]]에서 위의 Holding Register ''0~2''와 Coil ''0''을 외부 장치 요소에 지정하고 HMI 프로젝트를 전송해주시기 바랍니다. 
 +  - 제품과 HMI 전원을 켜고 [[guide:hmi_connection:check|동작 확인과 문제 해결]]에서 읽기 → 쓰기 → 비트 순서로 시험해주시기 바랍니다.
  
-^ 확인 ^ 정상 동작 ^ +{{ :guide:hmi_connection:revision5-dark:write-read-flow.svg?420 |HMI가 D1과 M0를 쓰고 제품의 D2와 M0를 다시 읽어 결과를 확인 }}
-| D0 | 숫자가 약 1초마다 바뀌고 99 다음 0이 표시됨 | +
-| D1 → D2 | 예를 들어 ''1234''를 입력하면 D2에도 ''1234''가 표시됨 | +
-| M0 | 스위치를 누를 때마다 별도 램프가 ON/OFF로 바뀜 |+
  
-숫자가 고정되면 [[guide:hmi_connection:check|동작 확인과 문제 해결]]에서 국번·속도·주소·결선을 순서대로 확인합니다.+정상 결과와 증상별 확인 위치는 [[guide:hmi_connection:check|동작 확인과 문제 해결]]에 정리되어 있습니다.
  
guide/hmi_connection/arduino/modbus.1791191981.txt.gz · 마지막으로 수정됨: 저자 127.0.0.1

Donate Powered by PHP Valid HTML5 Valid CSS Driven by DokuWiki