라즈베리파이 PLC 개발 환경 Senbrix 로고

Senbrix는 Windows PC의 에디터에서 래더를 만들고, 라즈베리파이의 런타임으로 보내 실행하는 구조다. 1편은 PC 쪽 준비다. 에디터를 설치하고 빌드에 필요한 .NET 9 SDK를 확인한다.

구성

flowchart LR
    E["에디터<br/>Windows PC"] -- "빌드 결과 배포" --> R["런타임<br/>Raspberry Pi"]
    R -- "모니터링·진단" --> E
    R --> B["메인 보드 GPIO<br/>IO 확장 보드 · Modbus"]
    E -. "하드웨어 없을 때" .-> S["시뮬레이터<br/>Windows PC"]
구성실행 위치역할릴리스 태그
에디터Windows PC래더·심볼·C# 편집, 빌드, 배포, 모니터링·진단vX.Y.Z (latest)
런타임Raspberry Pi배포된 앱을 10ms 스캔으로 실행. 보드·통신 구동runtime-vX.Y.Z
시뮬레이터Windows PC파이 대신 배포를 받아 실행. 하드웨어 없이 시험sim-vX.Y.Z

이 시리즈는 에디터(1편)와 런타임(2편)을 쓴다.

준비물

구분요구 사항
에디터 PCWindows 10/11 x64
빌드.NET 9 SDK (x64). 설치기가 깔아주지 않는다
네트워크라즈베리파이와 같은 네트워크. 2편에서 필요
Claude Code3편에서 래더를 만들 때 쓴다. Pro 이상 유료 플랜 필요

Claude Code는 PowerShell에서 한 줄로 설치한다. 설치 후 claude를 한 번 실행해 로그인해 둔다.

irm https://claude.ai/install.ps1 | iex

1. 설치 파일 내려받기

제품 페이지의 다운로드 버튼이나 GitHub 릴리스 페이지에서 Senbrix-win-Setup.exe를 받는다.

Senbrix 제품 페이지의 다운로드 버튼

2. 설치

Senbrix-win-Setup.exe를 실행한다. 설치는 몇 초면 끝나고 에디터가 바로 뜬다.

Senbrix PLC 0.9.2 설치 진행 창

  • 설치 위치는 %LocalAppData%\Senbrix. 관리자 권한이 필요 없다.
  • .NET 9 데스크톱 런타임이 없으면 설치기가 같이 깐다. 이때 관리자 확인 창이 한 번 뜬다.

3. .NET 9 SDK 설치

빌드가 dotnet build를 쓴다. SDK가 없으면 편집과 저장은 되지만 빌드가 실패한다.

.NET 9 다운로드 페이지에서 SDK x64를 설치하고 확인한다.

dotnet --list-sdks
9.0.300 [C:\Program Files\dotnet\sdk]   <- 이 줄
10.0.400 [C:\Program Files\dotnet\sdk]

9.0.xxx 줄이 하나 있으면 된다. 다른 버전이 같이 있어도 상관없다.

4. 첫 실행

시작 화면에는 새 프로젝트와 프로젝트 열기뿐이다. 프로젝트는 2편에서 라즈베리파이를 준비한 뒤 만든다. 언어 전환과 업데이트 확인은 도움말 메뉴에 있다.

Senbrix PLC 에디터의 첫 실행 시작 화면

5. 보드 이해하기

Senbrix에서 보드는 두 가지다.

메인 보드IO 확장 보드
무엇파이 위에 얹는 캐리어 보드. 파이의 GPIO를 쓴다CAN 버스로 붙이는 IO 모듈
개수프로젝트당 1개. 지정하지 않으면 기본 Senbrix(온보드 IO 없음)1~9번, 여러 개
정의XML 파일 하나플러그인

메인 보드 XML은 GPIO 번호에 IN/OUT 이름을 붙인 것이 전부다.

<MainBoard name="Sample" version="1">
  <Pin gpio="5"  slot="IN1"  direction="In"/>
  <Pin gpio="22" slot="OUT1" direction="Out"/>
</MainBoard>

이 시리즈의 Pi-SD16R(릴레이 출력 4점·절연 입력 4점·RS-485)도 이 형식으로 2편에서 만든다.

다음 편

2편에서 Raspberry Pi 5에 OS를 굽고 런타임을 설치한 뒤, Pi-SD16R을 메인 보드 XML로 등록한다.