T-PRINT
20 시나리오 카탈로그
Ds2 Sequence Modeling Tutorial · Handout 1 / 4
20 산업 시나리오 (S01-S20) — 자산 / IO / ApiDef 매핑
Ds2 Tutorial · DualSoft 2026
S01 Cylinder — 공압 실린더 ADV/RET
공압 실린더 1대 + 양쪽 끝 리미트 센서 2개. 가장 단순한 단일 액추에이터.
자산 구성
- Cyl1 — 복동 공압 실린더 (5/2 솔레노이드)
- LS_Adv — 전진 리미트 (Inductive Proximity)
- LS_Ret — 후퇴 리미트 (Inductive Proximity)
IO 표 (LS PLC)
| Tag | Dir | Address | Description |
| Cyl1_AdvCmd | OUT | %QX0.0.0.0 | 전진 솔레노이드 |
| Cyl1_RetCmd | OUT | %QX0.0.0.1 | 후퇴 솔레노이드 |
| Cyl1_AdvOK | IN | %IX0.0.0.0 | 전진 완료 센서 |
| Cyl1_RetOK | IN | %IX0.0.0.1 | 후퇴 완료 센서 |
| Cyl1_State | MEM | %MW100 | 상태값 0=Home/1=Adv/2=Ret |
주요 ApiDef — ActionType × SensingType
| ApiDef | ActionType × SensingType |
| Cyl1.Adv() | Normal × InputSensor |
| Cyl1.Ret() | Normal × InputSensor |
S02 Indexer — 인덱싱 회전 테이블
원형 인덱서 + 스텝 모터 + 위치 센서. 회전 운동 자동화 대표.
자산 구성
- Idx1 — 회전 테이블 (서보/스텝 모터)
- PosSensor — 인덱스 위치 감지 (Hall/Encoder)
- Home — 원점 센서
IO 표 (LS PLC)
| Tag | Dir | Address | Description |
| Idx1_StepCmd | OUT | %QX0.0.0.2 | 1 스텝 회전 명령 |
| Idx1_HomeCmd | OUT | %QX0.0.0.3 | 원점 복귀 명령 |
| Idx1_PosOK | IN | %IX0.0.0.2 | 위치 도달 센서 |
| Idx1_HomeOK | IN | %IX0.0.0.3 | 원점 감지 |
주요 ApiDef — ActionType × SensingType
| ApiDef | ActionType × SensingType |
| Idx1.Step() | Normal × InputSensor |
| Idx1.Home() | Normal × InputSensor (SelfReset) |
S03 Clamp — 클램핑 지그
공작물 고정용 클램프. 가공 직전 Clamp / 직후 Unclamp.
자산 구성
- Clamp1 — 유압/공압 클램프 솔레노이드
- PresSensor — 클램핑 압력 센서
IO 표 (LS PLC)
| Tag | Dir | Address | Description |
| Clamp1_Cmd | OUT | %QX0.0.0.0 | 클램프 솔레노이드 |
| Clamp1_Uncmd | OUT | %QX0.0.0.1 | 언클램프 솔레노이드 |
| Clamp1_OK | IN | %IX0.0.0.0 | 클램프 완료 |
| Clamp1_UnOK | IN | %IX0.0.0.1 | 언클램프 완료 |
주요 ApiDef — ActionType × SensingType
| ApiDef | ActionType × SensingType |
| Clamp1.Clamp() | Normal × InputSensor |
| Clamp1.Unclamp() | Normal × InputSensor |
S04 Conveyor — 컨베이어 단일방향
벨트 컨베이어 + Photoeye 정지 센서. 가장 단순 1 Flow / 1 Device.
자산 구성
- Belt1 — 컨베이어 모터 (인버터 제어)
- Photoeye — 부품 도달 광센서
IO 표 (LS PLC)
| Tag | Dir | Address | Description |
| Belt1_Run | OUT | %QX0.0.0.0 | 벨트 ON |
| Belt1_Stop | OUT | %QX0.0.0.1 | 벨트 OFF |
| Photo1 | IN | %IX0.0.0.0 | Photoeye 도달 |
주요 ApiDef — ActionType × SensingType
| ApiDef | ActionType × SensingType |
| Belt1.Run() | Continuous × InputSensor |
| Belt1.Stop() | Normal × Bypass |
S05 ButtonLamp — HMI 푸시버튼 + 램프
Operator Panel 5 버튼 + 5 램프 (Start/Stop/Reset/Mode/EStop).
자산 구성
- BtnPanel — 5 버튼 + 5 LED 램프
- EStop — 잠금형 머시룸 버튼
IO 표 (LS PLC)
| Tag | Dir | Address | Description |
| BtnStart | IN | %IX0.0.0.10 | 자동 시작 |
| BtnStop | IN | %IX0.0.0.11 | 정지 |
| BtnReset | IN | %IX0.0.0.12 | 리셋 |
| BtnEStop | IN | %IX0.0.0.13 | 비상정지 (잠금) |
| LampReady | OUT | %QX0.0.0.10 | Ready 램프 (청색) |
주요 ApiDef — ActionType × SensingType
| ApiDef | ActionType × SensingType |
| BtnStart.Press() | Push × InputSensor |
| BtnEStop.Press() | Push (Latched) × InputSensor |
| LampReady.On() | Normal × Bypass |
S06 Drilling — 드릴링 스핀들
드릴 스핀들 + Z축 + 쿨런트. 한 Flow 안 5 Work (Load→Drill→Retract→Eject→Reset).
자산 구성
- Spindle — 드릴 스핀들 (회전)
- ZAxis — Z 하강/상승
- Coolant — 쿨런트 솔레노이드
IO 표 (LS PLC)
| Tag | Dir | Address | Description |
| Spindle_Cmd | OUT | %QX0.0.0.0 | 스핀들 회전 명령 |
| ZAxis_Down | OUT | %QX0.0.0.1 | Z축 하강 |
| ZAxis_Up | OUT | %QX0.0.0.2 | Z축 상승 |
| Coolant_Cmd | OUT | %QX0.0.0.3 | 쿨런트 ON |
| Spindle_RotOK | IN | %IX0.0.0.0 | 스핀들 회전 안정 |
주요 ApiDef — ActionType × SensingType
| ApiDef | ActionType × SensingType |
| Spindle.RotateOn() | Normal × InputSensor |
| ZAxis.Down() | Normal × InputSensor |
| Coolant.On() | Normal × Bypass |
S07 PickAndPlace — 픽앤플레이스 2축 로봇
XY 평면 로봇 + 진공 그리퍼. 합성 자산 (2 Device) + 2 Flow.
자산 구성
- XYRobot — X축 + Y축 서보
- VacGripper — 진공 흡착 그리퍼
- PosSensor — 4 위치 (Src/Mid/Dst/Home)
IO 표 (LS PLC)
| Tag | Dir | Address | Description |
| X_MoveCmd | OUT | %QW0.0.0 | X 좌표 (WORD) |
| Y_MoveCmd | OUT | %QW0.0.1 | Y 좌표 (WORD) |
| Vac_On | OUT | %QX0.0.0.0 | 진공 ON |
| PosOK | IN | %IX0.0.0.0 | 위치 도달 |
| Vac_OK | IN | %IX0.0.0.1 | 흡착 확인 |
주요 ApiDef — ActionType × SensingType
| ApiDef | ActionType × SensingType |
| XYRobot.Move(x,y) | Normal × InputSensor (1 정의 N 호출) |
| VacGripper.On() | Normal × InputSensor |
| VacGripper.Off() | Normal × Timeout |
S08 IndexerLine — 4-Station 인덱서 라인
Indexer 회전 + 4 Station 동시 작업. Trigger ActionType 대표.
자산 구성
- Idx — 4-Station 회전 인덱서
- St1~St4 — 각 스테이션 도구
- Safety — Light Curtain (안전)
IO 표 (LS PLC)
| Tag | Dir | Address | Description |
| Idx_StepTrig | OUT | %QX0.0.0.0 | 1 step trig (1 scan) |
| St1_Work | OUT | %QX0.0.0.1 | St1 작업 시작 |
| Idx_PosOK | IN | %IX0.0.0.0 | Idx 위치 도달 |
| LightCurtain | IN | %IX0.0.0.10 | Light Curtain (Safety) |
주요 ApiDef — ActionType × SensingType
| ApiDef | ActionType × SensingType |
| Idx.StepTrig() | Trigger × InputSensor |
| Idx.Step() | Normal × Timeout (Safety) |
S09 VisionInspect — 비전 검사
카메라 + Vision PC + 결과 분기. External SensingType 첫 사례.
자산 구성
- Camera — 비전 카메라 (트리거 입력)
- VisionPC — 외부 비전 PC (TCP/IP)
- Lighting — 조명
IO 표 (LS PLC)
| Tag | Dir | Address | Description |
| Cam_Trig | OUT | %QX0.0.0.0 | 카메라 트리거 (Pulse) |
| Light_On | OUT | %QX0.0.0.1 | 조명 ON |
| Vision_OK | IN | %IX0.0.0.0 | Vision 검사 OK |
| Vision_NG | IN | %IX0.0.0.1 | Vision 검사 NG |
주요 ApiDef — ActionType × SensingType
| ApiDef | ActionType × SensingType |
| Camera.Trig() | Pulse × InputSensor |
| VisionPC.Inspect() | Trigger × External |
S10 Diverter — 컨베이어 분류기
분류 푸셔 + 메인 컨베이어 + 비전 결과 기반 분기.
자산 구성
- Pusher — 측면 푸셔 솔레노이드
- MainBelt — 메인 컨베이어
- Photo — 진입 감지
IO 표 (LS PLC)
| Tag | Dir | Address | Description |
| Pusher_Cmd | OUT | %QX0.0.0.0 | 푸셔 솔레노이드 |
| Belt_Run | OUT | %QX0.0.0.1 | 벨트 ON |
| Photo_Detect | IN | %IX0.0.0.0 | 진입 광센서 |
주요 ApiDef — ActionType × SensingType
| ApiDef | ActionType × SensingType |
| Pusher.Push() | Pulse × InputSensor |
| MainBelt.Run() | Continuous × InputSensor |
S11 Robot6Axis — 6축 다관절 로봇 + 비전
6축 로봇 + 외부 Vision PC. Multi-Action + External Sensing 대표 (Tier 3).
자산 구성
- Robot6 — 6축 다관절 로봇
- Vision — 외부 비전 시스템
- Gripper — 그리퍼 (전동)
IO 표 (LS PLC)
| Tag | Dir | Address | Description |
| Robot6_X | OUT | %QW0.0.0 | Target X |
| Robot6_Y | OUT | %QW0.0.1 | Target Y |
| Robot6_Z | OUT | %QW0.0.2 | Target Z |
| Robot6_OK | IN | %IX0.0.0.0 | Move 완료 |
| Vis_RspOK | IN | %IX0.0.0.1 | Vision 응답 OK |
주요 ApiDef — ActionType × SensingType
| ApiDef | ActionType × SensingType |
| Robot6.MoveTo(x,y,z) | Normal × InputSensor |
| Vision.Inspect() | Trigger × External (Composite + Timeout) |
| Gripper.Pick() | Normal × InputSensor |
S12 DualRobotCell — 다중 로봇 협업 셀
Robot1 + Robot2 + 공통 Jig. Sync / Interlock — Custom SensingType.
자산 구성
- Robot1, Robot2 — 협업 로봇 2대
- CommonJig — 공유 Jig
- ZoneSensor — 영역 침입 센서
IO 표 (LS PLC)
| Tag | Dir | Address | Description |
| R1_Ready | IN | %IX0.0.0.0 | Robot1 준비 |
| R2_Ready | IN | %IX0.0.0.1 | Robot2 준비 |
| R1_InZone | IN | %IX0.0.0.2 | Robot1 영역 진입 |
| R2_InZone | IN | %IX0.0.0.3 | Robot2 영역 진입 |
| Jig_Lock | OUT | %QX0.0.0.0 | Jig 잠금 |
주요 ApiDef — ActionType × SensingType
| ApiDef | ActionType × SensingType |
| Robot1.Sync() | Normal × Custom (R1.OK AND R2.OK) |
| Robot2.Sync() | Normal × Custom (R1.OK AND R2.OK) |
| Jig.Lock() | Normal × InputSensor (+ Interlock) |
S13 LaserMarking — 레이저 마킹 + 컨베이어 동기
Encoder edge → Laser fire pulse. Pulse / Trigger ActionType 대표.
자산 구성
- Laser — 레이저 마킹 헤드
- Belt — 컨베이어 (Encoder 부착)
- Encoder — 위치 인코더
IO 표 (LS PLC)
| Tag | Dir | Address | Description |
| Laser_Trig | OUT | %QX0.0.0.0 | Laser fire (50ms pulse) |
| Belt_Run | OUT | %QX0.0.0.1 | 벨트 ON |
| Enc_Edge | IN | %IX0.0.0.0 | Encoder edge (1 scan) |
| Laser_OK | IN | %IX0.0.0.1 | Laser 응답 OK |
주요 ApiDef — ActionType × SensingType
| ApiDef | ActionType × SensingType |
| Laser.Fire() | Pulse × InputSensor |
| Belt.Run() | Continuous × Timeout |
S14 AGVDocking — AGV 도킹 + 자동 충전
AGV 주행 → Dock 도달 → 자동 충전. Continuous + Timeout 대표.
자산 구성
- AGV — 자율 주행 차량
- Dock — 도킹 스테이션
- Charger — 충전기 + 자기 정렬
IO 표 (LS PLC)
| Tag | Dir | Address | Description |
| AGV_DriveCmd | OUT | %QX0.0.0.0 | AGV 주행 명령 |
| AGV_StopCmd | OUT | %QX0.0.0.1 | AGV 정지 |
| Dock_OK | IN | %IX0.0.0.0 | 도킹 완료 |
| Charge_OK | IN | %IX0.0.0.1 | 충전 시작 OK |
주요 ApiDef — ActionType × SensingType
| ApiDef | ActionType × SensingType |
| AGV.Drive() | Continuous × InputSensor |
| Dock.Engage() | Normal × Timeout (Composite) |
| Charger.Start() | Normal × External |
S15 SafetyHMI — PLC + HMI 인터록 (Safety)
EStop + LightCurtain + Mode (Auto/Manual/Pause).
자산 구성
- EStop — 비상정지 머시룸 버튼
- LightCurtain — 광커튼 (Safety)
- ModeSelector — 3-pos 셀렉터
IO 표 (LS PLC)
| Tag | Dir | Address | Description |
| EStop_Btn | IN | %IX0.0.0.13 | EStop (잠금) |
| LC_OK | IN | %IX0.0.0.10 | Light Curtain OK |
| Mode_Auto | IN | %IX0.0.0.20 | Auto mode |
| Mode_Manual | IN | %IX0.0.0.21 | Manual mode |
| Safety_OK | OUT | %QX0.0.0.20 | Safety 활성 |
주요 ApiDef — ActionType × SensingType
| ApiDef | ActionType × SensingType |
| EStop.Press() | Push (Latched) × InputSensor |
| Mode.Set() | Normal × Custom |
| Manual.Run() | Push × Bypass |
S16 CartonSealing — 카톤 봉인
외부 컨베이어 + 봉인기 + 라벨러. 외부 시스템 로딩 대표.
자산 구성
- Sealer — 봉인 헤드 (열압착)
- Labeler — 라벨 부착
- IncomingBelt — 외부 컨베이어 (EXT)
IO 표 (LS PLC)
| Tag | Dir | Address | Description |
| Sealer_Down | OUT | %QX0.0.0.0 | 봉인 헤드 하강 |
| Label_Apply | OUT | %QX0.0.0.1 | 라벨 부착 |
| Carton_OK | IN | %IX0.0.0.0 | 카톤 위치 OK |
주요 ApiDef — ActionType × SensingType
| ApiDef | ActionType × SensingType |
| Sealer.Seal() | Normal × Timeout (30s) |
| Labeler.Apply() | Pulse × InputSensor |
S17 PressFit — 압입
프레스 + 로드셀 + 깊이 센서. Force 계산 Internal Action.
자산 구성
- PressActuator — 유압 프레스
- LoadCell — 로드셀 (압입력 감지)
- DepthSensor — 깊이 인코더
IO 표 (LS PLC)
| Tag | Dir | Address | Description |
| Press_Down | OUT | %QX0.0.0.0 | 프레스 하강 |
| Press_Up | OUT | %QX0.0.0.1 | 프레스 상승 |
| Force | IN | %IW0.0.0 | 로드셀 (WORD) |
| Depth | IN | %IW0.0.1 | 깊이 (WORD) |
주요 ApiDef — ActionType × SensingType
| ApiDef | ActionType × SensingType |
| PressActuator.Down() | Normal × Custom (Force ≥ target) |
| PressActuator.SetForce() | Internal Action (no IO) |
S18 Dispensing — 디스펜싱
XYZ 디스펜서 + 용량 센서 + 패턴 펌프 제어.
자산 구성
- XYZDispenser — 3축 디스펜서
- Pump — 정량 펌프
- VolSensor — 용량 센서
IO 표 (LS PLC)
| Tag | Dir | Address | Description |
| X_Move | OUT | %QW0.0.0 | X 좌표 |
| Y_Move | OUT | %QW0.0.1 | Y 좌표 |
| Z_Move | OUT | %QW0.0.2 | Z 좌표 |
| Pump_Cmd | OUT | %QX0.0.0.0 | 펌프 ON |
| Pos_OK | IN | %IX0.0.0.0 | 위치 도달 |
주요 ApiDef — ActionType × SensingType
| ApiDef | ActionType × SensingType |
| XYZDispenser.Move(x,y,z) | Normal × InputSensor |
| Pump.Dose() | Continuous × Timeout |
S19 PartsWashing — 부품 세척/건조
4 Stage (Wash/Rinse/Dry/Cool) — Timeout 다단 대표.
자산 구성
- WashTank — 세척조
- RinseTank — 헹굼조
- Dryer — 건조 히터/팬
- Conveyor — 단계간 이송
IO 표 (LS PLC)
| Tag | Dir | Address | Description |
| Wash_On | OUT | %QX0.0.0.0 | 세척 펌프 |
| Rinse_On | OUT | %QX0.0.0.1 | 헹굼 펌프 |
| Dryer_On | OUT | %QX0.0.0.2 | 건조기 ON |
| Temp | IN | %IW0.0.0 | 온도 (WORD) |
주요 ApiDef — ActionType × SensingType
| ApiDef | ActionType × SensingType |
| WashTank.Run() | Continuous × Timeout (60s) |
| RinseTank.Run() | Continuous × Timeout (45s) |
| Dryer.Run() | Continuous × Custom (Temp ≥ 80) |
S20 LeakTest — 누설 검사
가압 → Hold → 압력강하 측정 — Timeout + Custom SensingType.
자산 구성
- Pressurizer — 가압 펌프
- PressSensor — 압력 센서
- ValveIn/Out — 입출구 밸브
IO 표 (LS PLC)
| Tag | Dir | Address | Description |
| Pump_On | OUT | %QX0.0.0.0 | 가압 펌프 ON |
| Valve_In | OUT | %QX0.0.0.1 | 입구 밸브 |
| Valve_Out | OUT | %QX0.0.0.2 | 출구 밸브 |
| Pressure | IN | %IW0.0.0 | 압력 (WORD bar) |
주요 ApiDef — ActionType × SensingType
| ApiDef | ActionType × SensingType |
| Pressurizer.On() | Normal × Custom (Pressure ≥ 5.0) |
| LeakTest.Hold() | Normal × Timeout (10s) |
| LeakTest.Measure() | Normal × Custom (ΔP < 0.05) |