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

3편은 프로그램이다. 2편에서 만든 프로젝트를 열고, AI에게 한 줄로 요청해 래더를 받고, 파이에 배포해 릴레이를 움직인다.

준비물

구분내용
1·2편 완료에디터 설치, 파이에 런타임 설치, Test 프로젝트에 Pi-SD16R 메인 보드 지정
Claude Code1편에서 설치하고 로그인한 상태. 없으면 콘솔 버튼이 비활성이다
입력 배선IN1·IN2에 푸시버튼
시작 상태2편의 Test 프로젝트를 열고 하단 연결 아이콘으로 파이에 연결한 상태 (2편 4절)

1. 클로드 콘솔 열기

왼쪽 메뉴 AI를 누른다. 아직은 “모드 선택 대기”다. 오른쪽 아래 클로드 콘솔 열기를 누르면 에디터 옆에 Claude Code 터미널이 뜨고, 프로젝트 상황을 읽은 뒤 첫 질문을 한다.

이 프로젝트를 어떻게 시작할까요? ① AI 모드 / ② 어시스턴트 모드

2를 답한다.

모드언제
AI 모드인터뷰 → 설계 → 계획 → 구현 → 검증을 AI가 단계별로 주도하고 매 단계 승인을 받는다
어시스턴트 모드지금처럼 바로 만들 때. 게이트 없이 요청하면 바로 편집한다

AI 페이지의 모드가 “어시스턴트 모드”, 현재 단계가 “지원 준비”로 바뀌면 준비 끝이다.

2. 한 줄로 래더 요청

콘솔에 이렇게 적는다.

메인 보드 Pi-SD16R의 IN1을 누르면 OUT1이 켜지고 IN2를 누르면 꺼지는 자기유지 회로 만들어줘.
OUT1이 켜지고 3초 뒤에 OUT2도 켜지게 해줘. 주소는 보드 바인딩(입력 P1~P4, 출력 P5~P8)을 써줘.

클로드 콘솔에 요청을 넣고 심볼과 래더가 생성되기까지의 과정

AI는 보드 바인딩을 확인하고, 심볼을 추가하고, 래더를 쓰고, lint와 빌드로 검증한 뒤 결과를 보고한다. 1분 남짓 걸린다.

생성된 심볼

왼쪽 메뉴 Symbols에서 확인한다.

심볼 페이지에 추가된 기동버튼 P1, 정지버튼 P2, 출력1 P5, 출력2 P6, M운전 M0, 출력2지연 T0

이름주소역할
기동버튼P1메인 보드 IN1
정지버튼P2메인 보드 IN2
출력1P5메인 보드 OUT1
출력2P6메인 보드 OUT2
M운전M0운전 자기유지 상태
출력2지연T0TON 타이머, 10ms 단위

생성된 래더

Ladder에서 확인한다. 4렁이다.

생성된 래더 4렁. 자기유지, OUT1 출력, TON 300 지연, OUT2 출력

렁내용
1기동버튼 ∥ M운전 → 정지버튼 B접점 → M운전 코일. 정지 우선 자기유지
2M운전 → 출력1
3M운전 → TON(출력2지연, 300). 10ms × 300 = 3초
4출력2지연 → 출력2

3. 배포

왼쪽 메뉴 Deploy를 누른다. 저장 → 빌드 → 배포가 이어서 진행되고, 상태 표시줄에 배포 완료 : 런타임 실행 중, 장치 표시가 (RUN)으로 바뀐다.

빌드만 따로 하려면 Build. 에러가 있으면 목록이 뜨고 래더 셀 위치까지 알려준다.

4. 모니터로 확인

Monitor를 누른다. 래더 위에 접점 상태와 타이머 현재값이 실시간으로 표시된다.

모니터 모드에서 기동버튼을 누르자 M운전과 출력1이 켜지고 타이머가 진행되는 화면

동작보이는 것
IN1 누름M운전 ON, 출력1 ON. 보드의 OUT1 릴레이가 붙고 LED가 켜진다
3초 경과출력2지연 현재값이 300에 닿으면 출력2 ON. OUT2 릴레이가 붙는다
IN2 누름M운전 OFF. 출력1·타이머·출력2가 함께 꺼진다

모니터는 읽기만 한다. 값을 강제로 바꾸려면 Diagnose(진단 모드)인데, 이 시리즈에서는 다루지 않는다.

정리

편한 일
1편Windows에 에디터와 .NET 9 SDK
2편파이에 런타임, Pi-SD16R 메인 보드 XML
3편AI로 래더 생성, 배포, 모니터