지원 플랫폼과 도구 모음
운영체제와 아키텍처
섹션 제목: “운영체제와 아키텍처”| 제품 | Windows x64 | Linux x86_64 | macOS arm64 (Apple Silicon) |
|---|---|---|---|
| SECS/GEM SDK와 시뮬레이터 | 패키지 제공 (.zip) |
패키지 제공 (.tar.gz) |
개발용(패키지 없음) |
| Modbus SDK와 시뮬레이터 | 패키지 제공 | 패키지 제공 | 패키지 제공 |
| OPC UA SDK와 시뮬레이터 | 패키지 제공 (.zip) |
패키지 제공 (.tar.gz) |
패키지 제공 (.tar.gz) |
| 가상 시리얼 포트 | MSI (포트 드라이버) | .deb (DKMS 커널 모듈, amd64·arm64) |
의사 터미널 모드 |
문서 CLI (pdcomm-docs) |
지원 | 지원 | 지원 |
macOS는 개발과 시험용으로 제공합니다. 최종 시험은 운영 환경과 같은 운영체제와 아키텍처에서 합니다. 한 플랫폼에서 확인한 결과가 다른 플랫폼에서도 같다고 가정하지 않습니다.
빌드 도구
섹션 제목: “빌드 도구”| 항목 | 요구 사항 |
|---|---|
| CMake | 3.20 이상. OPC UA 예제는 3.21 이상 |
| C/C++ 표준 | C11, C++14. Modbus와 OPC UA 예제는 C++17 |
| Windows 컴파일러 | Visual Studio 2022의 MSVC(x64). MFC 도우미를 쓰려면 Visual Studio의 MFC 구성 요소를 설치합니다. |
| Linux 컴파일러 | GCC(g++). 고객 패키지는 Ubuntu 24.04에서 검증합니다. |
| macOS 컴파일러 | Xcode Command Line Tools(Apple clang) |
빌드할 때는 x64 개발자 명령 프롬프트(Windows)처럼 패키지와 같은 아키텍처의 도구를 씁니다. Windows의 x64 DLL과 Linux 라이브러리, arm64 라이브러리를 섞지 않습니다.
.NET
섹션 제목: “.NET”| 바인딩 | 대상 프레임워크 | 필요한 것 |
|---|---|---|
SECS/GEM (PDComm.dll) |
net10.0 |
.NET 10 런타임. 직접 빌드하려면 .NET 10 SDK |
Modbus (PDComm.Modbus) |
net8.0 |
.NET 8 런타임과 net8.0을 빌드하는 .NET SDK |
OPC UA (PDComm.OpcUa.dll) |
net8.0 |
.NET 8 런타임과 .NET SDK |
설치된 런타임은 dotnet --list-runtimes, SDK는 dotnet --list-sdks로 확인합니다. 패키지에는 .NET을 포함하지 않습니다. 바인딩은 NuGet 패키지가 아니라 SDK 폴더의 어셈블리나 소스 프로젝트로 참조합니다.
- 시뮬레이터 GUI는 Qt 6으로 만들었습니다. 시뮬레이터 패키지에는 필요한 Qt 라이브러리와 플러그인이 들어 있습니다.
- Modbus와 OPC UA의 Qt 도우미 헤더와 예제는 Qt 6 Core를 사용합니다. 이 경우 Qt는 패키지에 들어 있지 않으며 고객이 가진 Qt와 그 라이선스로 빌드합니다.
OpenSSL
섹션 제목: “OpenSSL”Modbus/TCP Security와 OPC UA는 OpenSSL 3을 사용합니다. OpenSSL을 쓰는 패키지는 lib/ 폴더에 OpenSSL 3 런타임을 함께 넣습니다. OPC UA 인증서를 직접 만들 때는 OpenSSL 3 명령줄 도구가 필요합니다.
- Python 3: 일부 예제 도우미 스크립트와 오프라인 문서를 여는
python3 -m http.server에 씁니다. - 가상 시리얼 포트의 Linux 드라이버를 빌드하려면
dkms와 실행 중인 커널의 헤더가 필요합니다.