10분 첫 실행
이 페이지에서는 받은 패키지로 첫 통신이 되는지 10분 안에 확인합니다. 두 프로그램을 같은 컴퓨터에서 실행해 루프백 주소(127.0.0.1)로 연결합니다. 실제 장비는 필요 없습니다.
1단계: 패키지 준비
섹션 제목: “1단계: 패키지 준비”-
받은 파일의 SHA-256 해시를 전달받은 값과 비교합니다.
터미널 창 shasum -a 256 <패키지 파일> # macOSsha256sum <패키지 파일> # LinuxWindows PowerShell에서는
Get-FileHash <패키지 파일> -Algorithm SHA256을 씁니다. -
공백이 없는 새 폴더에 압축을 풉니다. 폴더 구조와 환경 설정은 SDK 설치에서 설명합니다.
2단계: 첫 통신
섹션 제목: “2단계: 첫 통신”SECS/GEM 패키지의 bin/pdcomm-tutorial은 미리 빌드한 예제입니다. 터미널 두 개에서 장비(equipment)와 호스트(host)로 실행하면 HSMS 연결을 수립하고 장비 정보와 변수 값을 주고받습니다.
-
Linux에서는 각 터미널에서 패키지 폴더로 이동해 라이브러리 경로를 지정합니다. Windows에서는
$env:PATH = "$PWD\sdk\lib;$env:PATH"를 실행합니다.터미널 창 export LD_LIBRARY_PATH="$PWD/sdk/lib${LD_LIBRARY_PATH:+:$LD_LIBRARY_PATH}"예제는 SDK를 쓰므로 라이선스가 필요합니다. 받은 평가판 라이선스 파일의 경로를 두 터미널에서 지정합니다. Windows에서는
$env:PDCOMM_LICENSE_FILE = "<파일 경로>"를 씁니다. 자세한 내용은 라이선스 설치와 확인에 있습니다.터미널 창 export PDCOMM_LICENSE_FILE="$HOME/pdcomm/pdcomm.license" -
터미널 1에서 장비를 수동(passive) 모드로 시작합니다. 장비가
127.0.0.1:5000에서 연결을 기다립니다.터미널 창 bin/pdcomm-tutorial equipment passive 127.0.0.1:5000 --auto -
터미널 2에서 호스트를 능동(active) 모드로 시작합니다.
터미널 창 bin/pdcomm-tutorial host active 127.0.0.1:5000 --auto--auto는 통신 수립(S1F13), 장비 정보(S1F1), 변수 값(S1F3) 요청을 자동으로 보내고 끝냅니다. 두 터미널 모두 마지막에PASS tutorial …을 출력하고 종료 코드 0으로 끝납니다.PASS tutorial host active
포트 5000을 다른 프로그램이 쓰고 있으면 두 명령의 포트를 같은 빈 포트로 바꿉니다.
Modbus 패키지의 bin/pdcomm-modbus-headless는 표준 입력의 JSON 명령으로 동작하는 시뮬레이터입니다. 하나는 서버, 하나는 클라이언트로 실행합니다.
-
터미널 1에서 서버를 시작하고 다음 두 줄을 차례로 입력합니다. 서버는 입력이 끝날 때까지 실행합니다.
터미널 창 bin/pdcomm-modbus-headless{"action":"configure","config":{"transport":"tcp","role":"server","address":"127.0.0.1:1502","port":"","unit":1,"baud":19200,"parity":"even","stop_bits":1,"timeout_ms":1000}}{"action":"connect"}두 번째 응답에
"connected":true가 있으면 서버가127.0.0.1:1502에서 기다립니다. -
터미널 2에서 클라이언트를 시작하고 다음 네 줄을 차례로 입력합니다. 보유 레지스터 0에 42를 쓰고 다시 읽습니다.
터미널 창 bin/pdcomm-modbus-headless{"action":"configure","config":{"transport":"tcp","role":"client","address":"127.0.0.1:1502","port":"","unit":1,"baud":19200,"parity":"even","stop_bits":1,"timeout_ms":1000}}{"action":"connect"}{"action":"request","pdu":"060000002A"}{"action":"request","pdu":"0300000001"}마지막 응답이 다음과 같으면 성공입니다.
source가wire이므로 실제 TCP 연결로 주고받았습니다.{"ok":true,"result":{"response":[3,2,0,42],"source":"wire","status":"success"}} -
두 터미널에서 Ctrl+D(Windows는 Ctrl+Z, Enter)를 눌러 끝냅니다.
OPC UA 패키지(apps 프로필)의 헤드리스 시뮬레이터가 실행되는지 확인합니다.
printf '%s\n' '{"action":"capabilities"}' | bin/pdcomm-opcua-headless{"ok":true,"result":{"actions":[… 로 시작하는 응답이 나오면 됩니다. OPC UA는 인증서로 보안 연결을 맺으므로 첫 연결은 OPC UA 빠른 시작을 따릅니다.
3단계: 제품별 빠른 시작
섹션 제목: “3단계: 제품별 빠른 시작”첫 통신이 되면 제품별 빠른 시작에서 직접 빌드한 프로그램을 시뮬레이터에 연결합니다.
| 제품 | 다음 페이지 |
|---|---|
| SECS/GEM | SECS/GEM 빠른 시작 |
| Modbus | Modbus 빠른 시작 |
| MQTT | MQTT 빠른 시작 |
| OPC UA | OPC UA 빠른 시작 |
| 가상 시리얼 포트 | 도구 빠른 시작 |