DS 모델링 vs PLC 프로그래밍

행위(Behavior) 중심 vs I/O 중심 - 패러다임의 근본적 차이

Home
DS 모델링
행위 중심

"무엇을 하는가?"에 집중
Call에 IN/OUT이 이미 내포되어 있음
사용자는 행위(Action)만 정의하면 끝!

VS
PLC 프로그래밍
I/O 중심

"어떤 신호를 쓰는가?"에 집중
모든 Input/Output을 명시적으로 정의
접점 하나하나 I/O 주소 지정 필요

PLC Ladder Diagram - I/O 기준 모델링

먼저 I/O 할당표 작성 필요

%IX0.0 - 시작버튼
%IX0.1 - 센서1
%IX0.2 - 센서2
%QX0.0 - 모터
%QX0.1 - 실린더
%QX0.2 - 램프
// Rung 1: 모터 제어
-[ ]-
%IX0.0
-[ ]-
%IX0.1
( )
%QX0.0
// Rung 2: 실린더 제어
-[/]-
%IX0.2
-[ ]-
%QX0.0
(S)
%QX0.1

모든 접점(Contact)과 코일(Coil)에 I/O 주소 직접 할당 필요 - 누락 시 동작 불가

DS Call - 행위 중심 모델링
Call: 실린더전진 Work: 가공

사용자가 정의할 것

"실린더 전진"

행위의 이름과 목적만 정의하면 됨

IN 자동 내포

ApiCall.InAddress: "P00000"
→ 실린더 전진 명령

OUT 자동 내포

ApiCall.OutAddress: "P00040"
→ 전진 완료 응답

IN/OUT은 ApiCall에 이미 정의됨 - 사용자는 "실린더전진"이라는 행위만 선택!

동일 대상 비교: "가공 공정"

투입 → 가공 공정을 PLC Ladder와 DS Graph로 각각 표현했을 때의 차이

PLC Ladder Diagram

1. I/O 주소 할당표 작성
INPUT
%IX0.0 투입센서
%IX0.1 그리퍼센서
%IX0.2 위치센서
%IX0.3 가공완료
OUTPUT
%QX0.0 그리퍼Sol
%QX0.1 이송모터
%QX0.2 가공모터
%QX0.3 완료램프
// 투입 시퀀스
| -[ ]- IX0.0 -[/]- IX0.1 ( ) QX0.0
// 가공 시퀀스
| -[ ]- IX0.1 -[/]- IX0.2 ( ) QX0.1
| -[ ]- IX0.2 -[/]- IX0.3 ( ) QX0.2
I/O 8개 정의 + Ladder 3개 이상 작성
타이머/인터록 추가 시 복잡도 급증
VS

DS Work-Call Graph

Flow: 가공공정
Work: 투입
센서확인
그리퍼동작
Work: 가공
위치이동
가공실행
가공완료
// DS Graph Text
Flow 가공공정 {
투입 → 가공
}
Work 투입 { 센서확인 → 그리퍼동작 }
Work 가공 { 위치이동 → 가공실행 → 가공완료 }
Flow 1개 + Work 2개 + Call 5개 정의로 끝!
IN/OUT 자동 내포 · 상태전이 자동 관리
PLC: I/O 8개 + Ladder 로직 다수 작성 → DS: Work 2개, Call 5개 행위 정의로 끝!

핵심 차이점

PLC는 I/O 주소(%IX, %QX)를 먼저 정의하고 로직을 구성
DS는 Call(행위)만 정의하면 IN/OUT이 자동으로 따라옴

PLC 개발 흐름

1
I/O 할당표 작성 %IX0.0, %QX0.1... 주소 배정
2
변수 선언 타입, 주소 매핑
3
Ladder/ST 작성 접점, 코일 배치
4
인터록 로직 추가 안전 조건 프로그래밍
5
타이머/카운터 설정 TON, TOF, CTU...

DS 개발 흐름

1
Work 정의 "투입", "가공", "검사"...
2
Call 정의 (행위) "실린더전진", "센서확인"... 끝!
-
IN/OUT 자동 연결 ApiCall이 처리
-
상태 관리 자동 R→G→F→H 자동 전이
구분 PLC (I/O 중심) DS (행위 중심)
설계 시작점 I/O 할당표 (주소 정의) Work/Call (행위 정의)
사용자 관심사 %IX0.0, %QX0.1 등 주소 "실린더전진", "센서확인" 등 동작
IN/OUT 정의 모든 접점에 수동 할당 Call에 자동 내포 (ApiCall)
상태 관리 비트 플래그 수동 관리 R-G-F-H 자동 전이
시각화 Ladder 다이어그램 Work-Call 그래프
코드 복잡도 I/O 수에 비례 증가 행위 수에만 비례

결론

PLC 엔지니어

"I/O 주소부터 시작,
모든 신호 흐름을 직접 설계"

DS 사용자

"행위만 정의하면 끝,
IN/OUT은 시스템이 처리"

DS의 Call은 IN/OUT을 이미 내포하고 있어
사용자는 "무엇을 할 것인가"만 고민하면 됩니다!