콘텐츠로 이동
무료 평가 시작

가상 시리얼 포트 설치

가상 시리얼 포트는 두 가지 방식으로 만듭니다.

  • 의사 터미널(pty) 모드: 설치가 필요 없습니다. pdcomm-vserial 프로그램만 있으면 macOS와 Linux에서 바로 씁니다. 응용 프로그램은 /dev/ttys…나 /dev/pts/… 경로를 엽니다.
  • 드라이버 모드: 운영체제에 포트 드라이버를 설치합니다. 응용 프로그램은 Windows의 COMn, Linux의 /dev/ttyPDVn처럼 일반 시리얼 포트 이름을 엽니다. 포트 이름을 바꿀 수 없는 응용 프로그램이나 장치 관리자에서 포트를 찾는 프로그램을 시험할 때 씁니다.
운영체제 사용 방식
Windows 10/11 x64 드라이버 모드: MSI 설치 파일 (UMDF2 포트 드라이버)
Linux (Debian, Ubuntu) amd64·arm64 드라이버 모드: DKMS 커널 모듈 .deb 패키지, 의사 터미널 모드
macOS 의사 터미널 모드

MSI 설치 파일은 다음을 설치합니다.

  • C:\Program Files\PDComm\Virtual Serial\bin\pdcomm-vserial.exe: 랩을 실행하고 포트를 관리하는 명령줄 프로그램
  • C:\Program Files\PDComm\Virtual Serial\driver\: 포트 드라이버(PDCommVSerial.dll, UMDF2), 플러시 요청을 전달하는 커널 필터(PDCommVSerialFlt.sys), INF와 카탈로그 파일

설치 프로그램은 파일을 복사한 뒤 COM 포트 장치를 만들고 드라이버를 설치합니다. 기본으로 포트 2개를 만들며, 이름은 Windows가 다른 이름을 정하지 않으면 COM201, COM202입니다.

  1. 관리자 권한으로 MSI 파일을 실행합니다. 포트 수를 바꾸려면 관리자 명령 프롬프트에서 PORTS 속성을 지정합니다.

    터미널 창
    msiexec /i <MSI 파일 경로> PORTS=4
  2. 장치 관리자의 **포트(COM & LPT)**에서 PDComm Virtual Serial Port (COM201) 같은 항목을 확인합니다. 명령줄에서도 확인할 수 있습니다.

    터미널 창
    & "$env:ProgramFiles\PDComm\Virtual Serial\bin\pdcomm-vserial.exe" ports list

    설치한 포트의 장치 인스턴스, 드라이버 포트 번호(index), COM 이름을 JSON으로 출력합니다.

  3. 포트는 랩이 실행 중일 때만 서로 연결됩니다. 다음 랩 파일은 드라이버 포트 0과 1을 널 모뎀으로 잇습니다.

    windows-null-modem.json
    {
    "engine": {
    "pacing": "realistic",
    "nodes": [
    {"name": "plc", "port": {"line": {"baud": 19200, "data_bits": 8, "parity": "even", "stop_bits": "1"}}},
    {"name": "hmi", "port": {"line": {"baud": 19200, "data_bits": 8, "parity": "even", "stop_bits": "1"}}}
    ],
    "media": [{"kind": "null_modem", "a": "plc", "b": "hmi"}]
    },
    "ports": [
    {"node": "plc", "backend": {"type": "driver", "index": 0}},
    {"node": "hmi", "backend": {"type": "driver", "index": 1}}
    ]
    }
    터미널 창
    & "$env:ProgramFiles\PDComm\Virtual Serial\bin\pdcomm-vserial.exe" run --config windows-null-modem.json

    랩이 준비되면 포트 목록을 출력합니다. 이제 한 프로그램은 COM201, 다른 프로그램은 COM202를 엽니다. 랩을 멈추려면 {"command":"stop"}을 입력하거나 Ctrl+Z, Enter를 누릅니다.

관리자 권한 PowerShell에서 실행합니다.

터미널 창
$Bin = "$env:ProgramFiles\PDComm\Virtual Serial"
& "$Bin\bin\pdcomm-vserial.exe" ports install --inf "$Bin\driver\PDCommVSerial.inf" --count 4
& "$Bin\bin\pdcomm-vserial.exe" ports remove
  • ports install은 포트가 --count개가 될 때까지 새 포트를 만듭니다. 새 포트는 비어 있는 가장 작은 드라이버 포트 번호를 받고 이름은 COM<--first-com + 번호>입니다. --first-com의 기본값은 201입니다. 포트는 최대 64개입니다.
  • ports remove는 포트 장치를 모두 지웁니다. ports uninstall은 장치와 함께 드라이버 패키지와 필터 서비스도 지웁니다.

설정 > 앱에서 PDComm Virtual Serial을 제거하거나 msiexec /x <MSI 파일 경로>를 실행합니다. 설치 프로그램은 파일을 지우기 전에 포트 장치, 드라이버 패키지, 필터 서비스를 지웁니다.

  • pdcomm-vserial-manager는 랩을 편집하고 실행하는 GUI입니다. 자기와 같은 폴더의 pdcomm-vserial을 실행합니다. 다른 위치의 프로그램을 쓰려면 환경 변수 PDCOMM_VSERIAL_BIN에 경로를 지정합니다. 가상 시리얼 관리자를 참고합니다.
  • pdcomm-vserial-mcp는 AI 도구가 랩을 만들고 제어하는 MCP 서버입니다. MCP로 가상 시리얼 제어하기를 참고합니다.