← 로봇 통신 강의 목록으로
🤖
기초
기초 · 선수: 없음

01. 실습 환경 준비

이 트랙은 실제 로봇 없이 PC 한 대로 HIWIN 산업용 로봇 통신을 재현합니다. 첫 편에서는 Python·pymodbus·pyserial을 설치하고, 대형 시뮬레이터를 모아 둔 _shared/ 공유 라이브러리 구조를 이해하며, 환경 자가진단 스크립트로 "준비 완료"를 확인합니다. 여기서 한 번만 제대로 맞춰 두면 이후 8편을 막힘 없이 진행할 수 있습니다.

로봇통신HIWINpymodbuspyserial시뮬레이터환경설정
소요 시간
약 30분~1시간
난이도
📊 초급
선수 조건
🎯 없음
결과물
Python·pymodbus·pyserial 설치와 _shared/ 공유 모듈 부트스트랩을 이해하고, 실습 포트(1502/1503/6000)와 환경 자가진단 통과를 확인합니다.

이 강의에서 배우는 것

  • 1Python · pymodbus · pyserial을 설치하고 버전을 확인한다
  • 2각 편의 main.py가 _shared/ 공유 모듈을 불러오는 부트스트랩 구조를 이해한다
  • 3실습 포트(로봇 1502 / 그리퍼 1503 / 비전 6000)와 502 회피 이유를 설명한다
  • 4환경 자가진단 스크립트를 실행해 "통과"를 확인한다

소개

이 트랙은 HIWIN 로봇 통신 매뉴얼을 기반으로 한 **실습 중심 9편** 강좌입니다. 로봇·PLC·그리퍼·비전 같은 실장비 없이 **PC 한 대**로 전 과정을 따라할 수 있도록, 대형 시뮬레이터를 PC 프로그램으로 제공합니다. 대상은 자동화 엔지니어(프로그래밍 기초 보유, 산업 통신·Modbus는 처음)입니다.

핵심 개념

1) 무엇을 시뮬레이터로 대체하나

실제 장비본 트랙의 대체
로봇(Modbus 슬레이브)_shared/robot_server_sim.py
XEG 전동 그리퍼_shared/gripper_sim.py
상위 PLC/마스터_shared/modbus_master.py
비전/상위 시스템(TCP)_shared/tcp_echo_server.py
RS-232 케이블com0com 가상 COM 포트(04편)

2) _shared/ 공유 라이브러리 & 부트스트랩

대형 시뮬레이터를 편마다 복제하지 않고 lecture/_shared/ 에 한 번만 둡니다. 시뮬레이터는 별도 터미널에서 standalone 으로 띄워 TCP로 접속하고, word_tools·modbus_master 같은 헬퍼는 import 합니다. 편 파일은 깊이 들어가 있어 상위로 올라가며 _shared/ 를 탐색합니다.

python
import os, sys
_d = os.path.dirname(os.path.abspath(__file__))
while _d != os.path.dirname(_d) and not os.path.isdir(os.path.join(_d, "_shared")):
    _d = os.path.dirname(_d)
sys.path.insert(0, os.path.join(_d, "_shared"))

3) 실습 포트와 502 회피

역할시뮬레이터실습 포트실제
로봇robot_server_sim.py1502502
그리퍼gripper_sim.py1503502
비전tcp_echo_server.py6000임의
ℹ️

Windows에서 502 같은 1024 미만 포트는 관리자 권한이 필요할 수 있어 실습은 1502/1503을 씁니다.

핵심 예제

환경 자가진단: Python 버전·의존성·공유 모듈 import 와 변환값을 한 번에 점검합니다.

python
from word_tools import split_word, combine_word, ieee754_encode
a = split_word(90000)                 # -> (24464, 1)
assert combine_word(*a) == 90000
assert ieee754_encode(10.5) == 1093140480
print("환경 점검 통과 ✅")
bash
# 의존성 설치 (최초 1회)
cd lecture/_shared
python -m pip install -r requirements.txt
set PYTHONUTF8=1            # PowerShell: $env:PYTHONUTF8=1 (한글 깨짐 방지)

cd ../01_intro/01_setup
python src/setup_check/main.py   # 마지막 줄 "환경 점검 통과 ✅" 면 준비 완료

자주 하는 실수

Q. ModuleNotFoundError: No module named 'pymodbus'

A. 의존성 미설치 또는 다른 Python에 설치된 경우입니다. `python -m pip install -r ../../_shared/requirements.txt` 로 현재 Python 에 설치하세요.

Q. 한글이 ????나 깨진 문자로 나와요.

A. Windows 콘솔 기본 인코딩(cp949) 문제입니다. `set PYTHONUTF8=1`(PowerShell은 `$env:PYTHONUTF8=1`) 후 실행하세요.

Q. from word_tools import ... 에서 ModuleNotFoundError.

A. _shared/ 탐색 부트스트랩이 빠졌거나 파일을 _shared 밖으로 옮긴 경우입니다. 부트스트랩 코드가 main.py 최상단에 있는지 확인하세요.

정리

  • PC만으로 로봇·그리퍼·비전·마스터를 시뮬레이션할 준비를 마쳤다
  • 공유 코드는 _shared/ 에 모으고 각 편은 부트스트랩으로 불러온다
  • 실습 포트는 1502(로봇)/1503(그리퍼)/6000(비전)을 쓴다
  • 콘솔 한글은 PYTHONUTF8=1 로 보호한다

과제

  1. python src/setup_check/main.py 를 실행해 "환경 점검 통과 ✅" 와 종료코드 0 을 확인
  2. split_word(90000) 이 (24464, 1) 인 이유를 65536 기준으로 설명
  3. ieee754_encode(10.5) 와 combine_word 왕복이 맞는지 직접 검산
예제 코드 / 강의 자료

전체 강의 자료와 예제 코드(시뮬레이터·과제·정답 포함)는 GitHub에서 자유롭게 받아볼 수 있습니다.

GitHub에서 보기 ↗