사용자 도구

사이트 도구


guide:hmi_connection:check

차이

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

차이 보기로 링크

다음 판
이전 판
guide:hmi_connection:check [2026/10/05 17:18] – 만듦 - 바깥 편집 127.0.0.1guide:hmi_connection:check [2026/10/25 11:33] (현재) – 바깥 편집 127.0.0.1
줄 1: 줄 1:
-====== 04 · 동작 확인과 문제 해결 ======+====== 동작 확인과 문제 해결 ======
  
-[[guide:hmi_connection|HMI 연결 전체 순서]] · [[guide:hmi_connection:screen|이전: HMI 화면 만들기]]+[[guide:hmi_connection|HMI 연결]] · [[guide:hmi_connection:screen|HMI 화면 만들기]]
  
-===== 1. 전원을 켜기 전 최종 확인 =====+제품 프로그램과 HMI 화면은 별도로 전송해야 합니다. 전송 후에는 먼저 두 장치의 통신 조건과 화면 주소가 맞는지 확인해주시기 바랍니다. 그런 다음 내부 메모리의 읽기·쓰기 결과를 순서대로 살펴봐주시기 바랍니다. 화면에 사용하는 ''D0/D1/D2/M0''의 **실제 요청 주소**는 선택한 [[guide:hmi_connection:screen#주소_입력_방식_확인|개발 방식·프로토콜 주소표]]를 따릅니다. 실물 HMI 모델이 지정되지 않았으므로 메뉴와 오류 표시 위치는 해당 제조사 설명서를 확인해주시기 바랍니다.
  
-^ 확인 항목 ^ 완료 조건 ^ +===== 1. 제품과 HMI 설정 확인 =====
-| 제품 프로그램 | 이번 실습 코드 검증·업로드 완료 | +
-| HMI 프로젝트 | 실제 HMI에 다운로드 완료 | +
-| 포트 | 양쪽에서 케이블을 꽂은 실제 포트를 사용 | +
-| 통신 조건 | 양쪽 모두 Modbus RTU, 국번 1, 9600/8N1 | +
-| 주소 | Arduino SDK 또는 STUDIO2 주소 중 사용하는 방식으로 통일 | +
-| 숫자 형식 | 16비트 1워드, 10진수, 소수점 0, 배율 1 | +
-| 배선과 전원 | 각 장치의 설명서에 맞는 인터페이스·단자·전원 |+
  
-===== 2. 숫자가 바뀌는지 확인 =====+^ 확인할 것 ^ 일치해야 하는 내용 ^ 
 +| 연결 | 같은 전기 인터페이스와 실제 배선한 Serial 포트 | 
 +| 통신 | 프로토콜·국번·속도·데이터/패리티/정지 비트 | 
 +| 메모리 | 개발 방식과 프로토콜에 맞는 M / D 주소 | 
 +| 화면 | 숫자는 16비트 정수, M은 비트 | 
 +| 전송 | 제품 프로그램 업로드와 HMI 화면 다운로드 완료. STUDIO2는 하단 업로드 로그 정상 종료 확인 |
  
-  - 제품과 HMI에 전원을 공급합니다. +제품 쪽은 **Arduino IDE의 업로드 완료 표시** 또는 **STUDIO2 하단 패널의 업로드 로그 정상 종료**로 판정해주시기 바랍니다. STUDIO2의 빌드 성공만으로 제품 업로드 완료를 판단해서는 안 됩니다. HMI 쪽 다운로드 성공 여부와 외부 장치 통신 상태는 **사용하는 HMI 제조사·편집기의 안내에 따라** 확인해주시기 바랍니다. 먼저 제품과 HMI의 두 전송이 모두 성공했는지 확인해주시기 바랍니다.
-  - **통신 확인 숫자**를 약 5초 동안 봅니다. +
-  - ''D0''는 1초마다 증가하고 ''99'' 다음에 ''0''이 됩니다.+
  
-HMI의 화면 갱신 간격에 따라 숫자 변화가 늦게 보이거나 중간 숫자가 생략될 수 있습니다. **일정 시간 동안 값이 계속 바뀌는지** 확인하세요. 고정된 ''0''만 보여도 아직 성공으로 판단하지 않습니다.+===== 2. 제품의 값 읽기 ===== 
 + 
 +여기부터는 앞에서 설명한 주소와 통신 설정을 이용한 **간단한 동작 확인**입니다. 읽기 → 숫자 쓰기 → 비트 쓰기 순서로 확인해주시기 바랍니다. 
 + 
 +HMI의 **통신 확인 숫자 D0**가 1초마다 증가하는지 확인해주시기 바랍니다. ''99'' 다음은 ''0''입니다. HMI 갱신 주기에 따라 중간 숫자가 건너뛰어 보일 수 있습니다.
  
 ===== 3. 값을 보내고 돌려받기 ===== ===== 3. 값을 보내고 돌려받기 =====
  
-{{ :guide:hmi_connection:write-read-flow.svg?420 |HMI가 D1에 쓰고 제품이 D2로 복사한 다음 HMI가 D2를 읽는 순서 }}+{{ :guide:hmi_connection:revision2:value-transfer.gif?420 |D1에 입력값을 쓰고 제품이 D2에 복사한 다음 HMI가 D2를 읽는 동작 원리 }}
  
-  - **입력값**을 터치합니다. +  - **입력값 D1**에 ''1234''를 입력하고 확정해주시기 바랍니다. 
-  - ''1234''를 입력하고 확정합니다. +  - **제품에서 돌려준 값 D2**도 ''1234''로 바뀌는지 확인해주시기 바랍니다. 
-  - **제품에서 돌려준 값**이 ''1234''로 바뀌는지 확인합니다. +  - ''7'', ''9999'', ''0''도 입력해 확인해주시기 바랍니다.
-  - 같은 방법으로 ''7'', ''9999'', ''0''을 차례로 입력하고 결과를 확인합니다. +
- +
-입력값 ''D1''과 반환값 ''D2''는 서로 다른 주소입니다. 둘 다 ''D1''을 읽도록 만들면 제품 프로그램의 복사 동작을 확인할 수 없습니다.+
  
 ===== 4. 비트 읽기·쓰기 확인 ===== ===== 4. 비트 읽기·쓰기 확인 =====
  
-  - **시험 스위치**를 한 번 누릅니다. +시험 스위치를 누를 때마다 별도의 **M0 램프**가 ON/OFF로 바뀌는지 확인해주시기 바랍니다. STUDIO2의 ''M1'' 램프를 추가했다면 래더 결과도 동일하게 바뀝니다. 실습 메모리는 내부 M/D이며 실제 릴레이 출력은 사용하지 않습니다.
-  - 별도 **시험 램프**가 ON으로 바뀌는지 확인합니다. +
-  - 다시 누르고 램프가 OFF로 바뀌는지 확인합니다. +
- +
-HMI의 필수 비트는 ''M0''이며, STUDIO2 실습은 래더에서 내부 비트 ''M1''도 사용합니다. 릴레이가 동작하는 것이 성공 기준이 아닙니다. 실제 입력이나 출력으로 확장하려면 해당 제품의 핀맵과 연결 설명서를 확인합니다. +
- +
-===== 5. 재시작했을 때 ===== +
- +
-Arduino IDE 예제는 시작할 때 ''M0''와 ''D0 ~ D2''를 0으로 초기화합니다. STUDIO2 예제도 시작할 때 ''M0/M1''와 ''D0 ~ D2''를 0으로 초기화합니다. 정전 후 입력값을 보존하는 실습이 아닙니다. 전원을 다시 켠 뒤 숫자 변화·입력·램프가 다시 동작하는지 확인합니다. +
- +
-===== 6. 증상별 확인 순서 ===== +
- +
-^ 증상 ^ 먼저 확인할 것 ^ 다음 확인 ^ +
-| HMI에 응답 없음 / timeout | 실제 포트·전원·배선 | RTU Master/Slave, 국번, 9600/8N1 일치 | +
-| 모든 값이 0으로 고정 | 요소가 외부 장치를 읽는지 | 프로그램 업로드, D0 주소와 주소 시작 규칙 | +
-| 숫자가 한 칸씩 어긋남 | 0 기반 / 1 기반 입력 차이 | SDK와 STUDIO2 주소를 섞었는지 | +
-| 통신 오류는 없는데 다른 값 | Coil/Holding Register 영역 | 선택한 PLC 드라이버의 주소 변환 규칙 | +
-| 입력창만 바뀌고 D2는 그대로 | 입력 대상이 외부 D1인지 | D2 주소, 제품의 복사 코드, 쓰기 기능 | +
-| 쓴 값이 바로 0으로 돌아감 | 제품 루프·래더가 D1/M0를 초기화하는지 | 다른 코드가 같은 주소를 쓰는지 | +
-| 숫자가 비정상적으로 큼 | 16비트 1워드 설정 | 32비트/float/배율/바이트 교환 설정 | +
-| 스위치만 눌린 모양이고 램프 그대로 | 램프가 외부 M0를 읽는지 | Coil 주소, 비트 쓰기 동작 | +
-| 잠깐 되다가 timeout | 긴 delay·다른 Serial 처리 | 같은 포트 모니터링, 케이블·연결 상태 | +
-| Illegal Data Address / 주소 오류 | 요청 시작 주소와 개수 | SDK 할당 크기, STUDIO2 실제 메모리 개수 | +
-| 제품 프로그램 업로드 실패 | PC 업로드 COM·MP 케이블 | 보드 선택·드라이버·포트 점유 |+
  
-===== 7. 한 번에 하나씩 바꾸세요 =====+예제는 제품이 시작할 때 메모리를 초기화합니다. 전원을 다시 켜면 숫자와 스위치를 다시 시험해주시기 바랍니다.
  
-  - 현재 제품 코드와 HMI 프로젝트를 저장합니다. +===== 5. 증상별 확인 위치 =====
-  - 증상과 현재 설정값을 기록합니다. +
-  - **통신 확인 숫자 D0 하나**를 읽는 구성부터 확인합니다. +
-  - 포트·국번·통신 형식·주소 중 하나를 수정하고 다시 확인합니다. +
-  - 읽기가 된 다음 D1 쓰기, 마지막에 M0 비트 시험을 추가합니다.+
  
-국번이나 주소를 동시에 여러 개 바꾸면 무엇이 원인이었는지 알기 어렵습니다. 처음부터 출력 기기를 연결해 시험하지 말고 내부 메모리 실습이 완료된 뒤 실제 제어 기능을 추가합니다.+^ 증상 ^ 먼저 열어 볼 위치와 확인할 값 ^ 
 +| 응답 없음 / timeout | [[guide:hmi_connection:wiring|제품 채널·RS-232/485 결선]]의 실제 포트와 배선 → 같은 페이지의 통신 프로토콜 선택 절에서 프로토콜·국번·속도·8N1 → HMI 편집기의 외부 장치 상태 | 
 +| D0가 0으로 고정 | HMI 숫자 요소가 [[guide:hmi_connection:screen#hmi_프로젝트와_외부_장치_만들기|제품 외부 장치]]를 읽는지 → 제품 업로드 완료 → 선택한 프로토콜의 ''D0'' 주소 | 
 +| 값이 한 칸씩 어긋남 | [[guide:hmi_connection:screen#주소_입력_방식_확인|Modbus 주소 입력 방식]]의 0 기반·1 기반 규칙. Cnet·MC에는 적용하지 않음 | 
 +| 다른 값이 표시됨 | 선택한 프로토콜 페이지의 SDK/STUDIO2 주소표 → HMI 드라이버의 Coil·Holding Register 또는 Cnet·MC 장치 영역 | 
 +| 입력창만 바뀌고 D2는 그대로 | [[guide:hmi_connection:screen#숫자_표시와_입력_설정|화면 요소 설정]]의 외부 ''D1'' 쓰기·''D2'' 읽기 → 제품 프로그램의 ''D[2] = D[1]'' 또는 STUDIO2 main | 
 +| 쓴 값이 바로 지워짐 | 업로드한 스케치의 ''loop()'' 또는 STUDIO2의 ''ladderLoop''·''main''이 ''D1/M0''를 반복 초기화하거나 덮어쓰는지 | 
 +| 숫자가 비정상적으로 큼 | HMI 숫자 요소의 16비트 1워드·배율 1·소수점 0 및 드라이버의 바이트 교환 설정 | 
 +| 스위치 모양만 바뀜 | [[guide:hmi_connection:screen#스위치와_램프_설정|스위치·램프 설정]]에서 외부 ''M0'' 쓰기와 별도 ''M0'' 읽기가 모두 지정됐는지 | 
 +| 잠깐 되다가 끊김 | 제품 코드의 긴 ''delay'', HMI 통신용 ''Serial1''을 다른 코드·모니터링도 사용하는지 | 
 +| Modbus 주소 오류 | 선택한 Modbus 페이지의 시작 주소·요청 개수·메모리 할당 개수, HMI 드라이버의 요청 영역 | 
 +| 제품 업로드 실패 | [[guide:hmi_connection:arduino|Arduino IDE 설치·보드·COM]] 또는 [[guide:hmi_connection:studio2|STUDIO2 설치·제품 선택]]과 다운로드 케이블·드라이버 |
  
-===== 8. 질문할 때 보내면 도움이 되는 자료 =====+**''D0'' 읽기부터** 확인한 뒤 ''D1 → D2'' 숫자 쓰기, 마지막으로 ''M0'' 비트를 시험해주시기 바랍니다. 통신 자체가 되지 않으면 주소를 바꾸기 전에 포트·배선·프로토콜·국번·통신 형식을 대조해주시기 바랍니다.
  
-  * 제품 모델명과 개발 방식: Arduino IDE 또는 MPINO STUDIO2 +===== 6. 문의할 때 준비할 자료 =====
-  * ILOGICS 보드 패키지·STUDIO2 버전 +
-  * HMI 제조사·모델과 편집기 이름·버전 +
-  * 제품과 HMI의 통신 단자 사진, 케이블 연결 표시 +
-  * 양쪽의 통신속도·국번·데이터/패리티/정지 비트 +
-  * HMI의 드라이버·주소 영역·숫자 형식 설정 화면 +
-  * D0/D1/D2/M0 중 어느 단계까지 동작하는지 +
-  * 컴파일 오류나 HMI 통신 오류의 원문+
  
-[[guide:hmi_connection|HMI 연결 처음으로]] · [[guide:hmi_connection:cnet|LS산전 Cnet 설정 차이 →]]+제품 모델·개발 프로그램·SDK 버전, HMI 제조사·정확한 모델·편집기 버전, 사용한 시리얼 포트와 단자 배선 사진, 프로토콜·국번·속도·8N1 및 외부 장치 주소 화면, 오류 메시지와 ''D0/D1→D2/M0'' 중 어느 시험까지 되는지를 준비해주시기 바랍니다.
  
guide/hmi_connection/check.1791188300.txt.gz · 마지막으로 수정됨: 저자 127.0.0.1

Donate Powered by PHP Valid HTML5 Valid CSS Driven by DokuWiki