사용자 도구

사이트 도구


guide:hmi_connection:studio2:modbus

차이

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

차이 보기로 링크

양쪽 이전 판이전 판
다음 판
이전 판
guide:hmi_connection:studio2:modbus [2026/10/05 23:48] – 바깥 편집 127.0.0.1guide:hmi_connection:studio2:modbus [2026/10/25 11:33] (현재) – 바깥 편집 127.0.0.1
줄 1: 줄 1:
 ====== MPINO STUDIO2 · Modbus RTU로 HMI 연결하기 ====== ====== MPINO STUDIO2 · Modbus RTU로 HMI 연결하기 ======
  
-[[guide:hmi_connection:studio2|← STUDIO2 설치와 시작]] · [[guide:hmi_connection:studio2:cnet|다음: LS산전 Cnet →]]+[[guide:hmi_connection:studio2|← STUDIO2 설치와 시작]] · [[guide:hmi_connection:screen|다음: HMI 화면 만들기 →]] · [[guide:hmi_connection:studio2:cnet|선택: LS산전 Cnet →]]
  
-설치한 MPINO STUDIO2에서 **MPINO-8A4R-S**의 내부 메모리만 쓰는 프로그램을 만듭니다. HMI는 Modbus RTU Master, 제품은 Slave입니다. 실제 입출력 단자는 사용하지 않습니다.+MPINO STUDIO2에서 통신 방식을 **Modbus RTU Slave**로 설정하면 제품의 요청 처리 코드는 앱이 생성합니다. HMI는 **Modbus RTU Master**로 요청합니다. HMI가 읽고 쓸 내부 ''D'' 워드는 Holding Register, ''M'' 비트는 Coil에 대응하며, STUDIO2 생성 코드의 주소는 Arduino IDE SDK 예제와 다릅니다. 
 + 
 +아래 표는 STUDIO2 생성 코드가 받는 **Modbus 요청의 0 기반 주소**입니다. HMI가 1 기반 Coil 번호를 받으면 ''M0''는 ''1001''로 표시될 수 있습니다. 1 기반 번호나 ''4xxxx'' 표기의 실제 입력 숫자는 HMI 드라이버 설명서에서 확인하고 [[guide:hmi_connection:screen#주소_입력_방식_확인|HMI 주소 입력 방식]]을 따라주시기 바랍니다. 
 + 
 +^ HMI 요소 ^ STUDIO2 메모리 ^ Modbus 영역 ^ 요청 안의 0 기반 주소 ^ 
 +| 1초마다 변하는 숫자 | ''D0'' | Holding Register | ''2000'' | 
 +| 숫자 입력 | ''D1'' | Holding Register | ''2001'' | 
 +| 입력값을 돌려주는 숫자 | ''D2'' | Holding Register | ''2002'' | 
 +| 스위치와 확인 램프 | ''M0'' | Coil | ''1000'' | 
 +| 래더 결과 확인용 램프 | ''M1'' | Coil | ''1001'' | 
 + 
 +다음은 **MPINO-8A4R-S · RS-232 ''Serial1'' · 국번 1 · 9600 bps · 8N1**에서 내부 메모리만 사용하는 간단한 예제입니다. 실제 입출력 단자는 사용하지 않습니다. 제품 채널·결선과 설치·제품 선택은 [[guide:hmi_connection:wiring|HMI 연결방법]]과 [[guide:hmi_connection:studio2|STUDIO2 시작]]을 참고해주시기 바랍니다.
  
 ===== 1. 새 프로젝트와 내부 메모리 ===== ===== 1. 새 프로젝트와 내부 메모리 =====
  
-  - **파일 → 새로 만들기**에서 ''MPINO-8A4R(T)-S''를 선택하고 ''HMI_First_Test.mp2''로 저장합니다. +  - **파일 → 새로 만들기**에서 ''MPINO-8A4R(T)-S''를 선택하고 ''HMI_First_Test.mp2''로 저장해주시기 바랍니다. 
-  - **설정 → 메모리 영역 설정**에서 P는 ''64'', M·D·C·T·R은 각각 ''16''으로 설정합니다. 이 숫자는 주소가 아니라 **개수**입니다. +  - **설정 → 메모리 영역 설정**에서 P는 ''64'', M·D·C·T·R은 각각 ''16''으로 설정해주시기 바랍니다. 이 숫자는 주소가 아니라 **개수**입니다. 
-  - **설정 → 래더 핀맵 설정**에서 물리 입력·출력 핀의 **사용**을 모두 해제합니다. 이번 프로그램은 내부 ''M''과 ''D''만 사용합니다.+  - **설정 → 래더 핀맵 설정**에서 물리 입력·출력 핀의 **사용**을 모두 해제해주시기 바랍니다. 이번 프로그램은 내부 ''M''과 ''D''만 사용합니다.
  
 {{ :products:mpino_studio2:board-select-modal-marked.svg?900 |실제 STUDIO2 보드 선택 화면 }} {{ :products:mpino_studio2:board-select-modal-marked.svg?900 |실제 STUDIO2 보드 선택 화면 }}
  
-다른 제품은 통신 단자가 다를 수 있습니다. [[guide:hmi_connection:wiring#제품의_통신_채널_선택|제품별 채널 표]]에서 실제 제품의 포트를 확인합니다.+다른 제품은 통신 단자가 다를 수 있습니다. [[guide:hmi_connection:wiring#제품의_통신_채널_선택|제품별 채널 표]]에서 실제 제품의 포트를 확인해주시기 바랍니다.
  
 ===== 2. 래더 한 줄과 main 코드 ===== ===== 2. 래더 한 줄과 main 코드 =====
  
-왼쪽 탐색기의 **래더 → ladderLoop**에서 1행 1열에 **NO 접점**(''F2'') ''M0'', 1행 2열에 **출력 코일**(''F9'') ''M1''을 넣습니다. ''M1''은 내부 비트이므로 실제 릴레이 출력이 아닙니다.+왼쪽 탐색기의 **래더 → ladderLoop**에서 1행 1열에 **NO 접점**(''F2'') ''M0'', 1행 2열에 **출력 코일**(''F9'') ''M1''을 넣어주시기 바랍니다. ''M1''은 내부 비트이므로 실제 릴레이 출력이 아닙니다.
  
 {{ :guide:hmi_connection:revision5-dark:internal-ladder.svg?420 |M0 접점이 M1 내부 코일을 구동하는 실습 회로 }} {{ :guide:hmi_connection:revision5-dark:internal-ladder.svg?420 |M0 접점이 M1 내부 코일을 구동하는 실습 회로 }}
  
-**Arduino Code → main**을 열어 아래 코드를 입력합니다.+**Arduino Code → main**을 열어 아래 코드를 입력해주시기 바랍니다. 이 코드는 STUDIO2 프로젝트의 ''main''에 넣는 내용이며, Arduino IDE에서 독립 스케치로 업로드하는 코드가 아닙니다.
  
 <code cpp> <code cpp>
줄 53: 줄 64:
 ===== 3. 실행 → 통신 ===== ===== 3. 실행 → 통신 =====
  
-{{ :products:mpino_studio2:communication-settings-marked.svg?1000 |실제 STUDIO2 통신 설정 화면. 그림의 기본 115200 대신 아래 9600을 선택 }}+**실습에 입력할 값은 아래 표입니다.** 그림은 항목 위치를 보여 주는 초기 화면으로, 그림 속 프로토콜 **''없음''**과 속도 **''115200''**은 이 실습값이 아닙니다. ''Modbus RTU Slave''와 ''9600''으로 바꿔 저장해주시기 바랍니다.
  
 ^ 그림 번호 ^ 항목 ^ 입력값 ^ ^ 그림 번호 ^ 항목 ^ 입력값 ^
줄 62: 줄 73:
 | ⑤·⑥·⑦ | 데이터 비트·정지 비트·패리티 | ''8'' · ''1'' · ''없음'' | | ⑤·⑥·⑦ | 데이터 비트·정지 비트·패리티 | ''8'' · ''1'' · ''없음'' |
  
-**실행 → 통신**에서 위 값으로 설정하고 ''Ctrl+S''로 저장합니다. HMI 쪽은 실제 연결한 RS-232 포트에서 **Modbus RTU Master**로 같은 국번과 통신 조건을 설정합니다.+{{ :products:mpino_studio2:communication-settings-marked.svg?1000 |항목 위치를 보여 주는 초기 화면. 그림 속 프로토콜 '없음'·115200은 예시이며 이 실습에서는 Modbus RTU Slave·9600으로 변경합니다. }}
  
-===== 4. 빌드·업로드와 HMI 주소 =====+**실행 → 통신**에서 위 값으로 설정하고 ''Ctrl+S''로 저장해주시기 바랍니다. HMI 쪽은 실제 연결한 RS-232 포트에서 **Modbus RTU Master**로 같은 국번과 통신 조건을 설정해야 합니다.
  
-  - **실행 → 빌드**(''Ctrl+R'')를 실행하고 빌드 출력의 성공 메시지를 확인합니다. +===== 4. 빌드·업로드와 HMI 주소 =====
-  - 상태바에서 **제품용 MP 다운로드 케이블의 PC COM 포트**를 고른 뒤 **실행 → 업로드**(''Ctrl+U'')를 실행합니다. 업로드 포트와 HMI용 ''Serial1''은 서로 다른 연결입니다. +
-  - HMI의 숫자 3개와 비트 스위치·램프를 아래 메모리에 연결합니다. 숫자는 **부호 있는 16비트 정수 1워드, 소수점 0, 배율 1**로 설정하고 입력 범위는 ''0~9999''로 둡니다. +
- +
-^ HMI 요소 ^ STUDIO2 메모리 ^ Modbus 영역 ^ 요청 안의 0 기반 주소 ^ +
-| 1초마다 변하는 숫자 | ''D0'' | Holding Register | ''2000'' | +
-| 숫자 입력 | ''D1'' | Holding Register | ''2001'' | +
-| 입력값을 돌려주는 숫자 | ''D2'' | Holding Register | ''2002'' | +
-| 스위치와 확인 램프 | ''M0'' | Coil | ''1000'' | +
-| 래더 결과 확인용 램프 | ''M1'' | Coil | ''1001'' |+
  
-이 주소는 **STUDIO2 생성 코드의 0 기반 주소**입니다. HMI 편집기가 1 기반 번호나 ''4xxxx'' 표기를 쓰면 해당 HMI 드라이버 규칙에 맞춰 입력합니다. [[guide:hmi_connection:screen#주소_입력_방식_확인|HMI 주소 입력 방식]]에서 변환 순서를 확인할 수 있습니다.+  - **실행 → 빌드**(''Ctrl+R'')를 실행하고 빌드 출력의 성공 메시지를 확인해주시기 바랍니다. 
 +  - 상태바에서 **제품용 MP 다운로드 케이블의 PC COM 포트**를 고른 뒤 **실행 → 업로드**(''Ctrl+U'')를 실행해주시기 바랍니다. 하단 패널의 업로드 로그가 **정상 종료**되는지 확인해주시기 바랍니다. 업로드 포트와 HMI용 ''Serial1''은 서로 다른 연결입니다. 자세한 화면과 순서는 [[products:mpino_studio2:first_project#포트_선택과_업로드|포트 선택과 업로드]]를 참고해주시기 바랍니다. 
 +  - HMI의 숫자 3개와 비트 스위치·램프를 앞의 주소표에 따라 연결해주시기 바랍니다. 숫자는 **부호 있는 16비트 정수 1워드, 소수점 0, 배율 1**로 설정하고 입력 범위는 ''0~9999''로 설정해주시기 바랍니다.
  
-이번 예제의 물리적 HMI 송수신은 사용하는 HMI 모델·케이블에 따라 별도로 확인해야 합니다. **동일 Serial1을 래더 모니터링이나 사용자 시리얼 코드에 중복 지정하지 않습니다.**+이번 예제의 물리적 HMI 송수신은 사용하는 HMI 모델·케이블에 따라 별도로 확인해야 합니다. **동일 Serial1을 래더 모니터링이나 사용자 시리얼 코드에 중복 지정해서는 안 됩니다.**
  
-[[guide:hmi_connection:studio2:cnet|다음: 같은 프로그램을 LS산전 Cnet으로 전환 →]]+먼저 [[guide:hmi_connection:screen|HMI 화면 만들기]]에서 이 페이지의 Modbus 주소를 지정하고 [[guide:hmi_connection:check|동작 확인과 문제 해결]]을 진행해주시기 바랍니다. Cnet 실습도 하려면 [[guide:hmi_connection:studio2:cnet|같은 프로그램을 LS산전 Cnet으로 전환 →]]해주시기 바랍니다.
  
guide/hmi_connection/studio2/modbus.1791211730.txt.gz · 마지막으로 수정됨: 저자 127.0.0.1

Donate Powered by PHP Valid HTML5 Valid CSS Driven by DokuWiki