T-PRINT

LS PLC IO 컨벤션

Ds2 Sequence Modeling Tutorial · Handout 4 / 4
LS XGI IO 주소 형식 · 시나리오 베이스 매트릭스 · InSymbol/OutSymbol 규칙

Ds2 Tutorial · DualSoft 2026

1. LS XGI IO 주소 형식

유형형식범위의미
입력 비트%IX0.0.0.0 ~ %IX0.0.0.31BOOL물리 입력 1 비트 (DI)
출력 비트%QX0.0.0.0 ~ %QX0.0.0.31BOOL물리 출력 1 비트 (DO)
입력 워드%IW0.0.0 ~ %IW0.0.7WORD (16bit)아날로그 입력 / 인코더
출력 워드%QW0.0.0 ~ %QW0.0.7WORD (16bit)아날로그 출력 / 좌표
메모리 비트%MX100.0 ~ %MX65535.31BOOL내부 비트 변수
메모리 워드%MW100 ~ %MW65535WORD내부 워드 변수
메모리 더블워드%MD200 ~ %MD32767DWORD (32bit)내부 더블워드 (REAL/DINT)
타이머%T0 ~ %T255TON/TOFPLC 타이머 인스턴스
카운터%C0 ~ %C255CTU/CTDPLC 카운터 인스턴스
형식: %[I/Q/M][X/W/D]base.slot.module.bit · 비트 주소는 끝에 .bit 포함, 워드는 생략.

2. 시나리오별 IO 베이스 매트릭스 (S01-S20)

IDScenario %IX (DI)%QX (DO) %IW/%QW (Ana)%MW (Mem)
S01Cylinder%IX0.0.0.0 .. %IX0.0.0.1%QX0.0.0.0 .. %QX0.0.0.1%MW100
S02Indexer%IX0.0.0.2 .. %IX0.0.0.3%QX0.0.0.2 .. %QX0.0.0.3
S03Clamp%IX0.0.0.0 .. %IX0.0.0.1%QX0.0.0.0 .. %QX0.0.0.1
S04Conveyor%IX0.0.0.0%QX0.0.0.0 .. %QX0.0.0.1
S05ButtonLamp%IX0.0.0.10 .. %IX0.0.0.13%QX0.0.0.10
S06Drilling%IX0.0.0.0%QX0.0.0.0 .. %QX0.0.0.3
S07PickAndPlace%IX0.0.0.0 .. %IX0.0.0.1%QX0.0.0.0%QW0.0.0 .. %QW0.0.1
S08IndexerLine%IX0.0.0.0 .. %IX0.0.0.10%QX0.0.0.0 .. %QX0.0.0.1
S09VisionInspect%IX0.0.0.0 .. %IX0.0.0.1%QX0.0.0.0 .. %QX0.0.0.1
S10Diverter%IX0.0.0.0%QX0.0.0.0 .. %QX0.0.0.1
S11Robot6Axis%IX0.0.0.0 .. %IX0.0.0.1%QW0.0.0 .. %QW0.0.2
S12DualRobotCell%IX0.0.0.0 .. %IX0.0.0.3%QX0.0.0.0
S13LaserMarking%IX0.0.0.0 .. %IX0.0.0.1%QX0.0.0.0 .. %QX0.0.0.1
S14AGVDocking%IX0.0.0.0 .. %IX0.0.0.1%QX0.0.0.0 .. %QX0.0.0.1
S15SafetyHMI%IX0.0.0.13 .. %IX0.0.0.21%QX0.0.0.20
S16CartonSealing%IX0.0.0.0%QX0.0.0.0 .. %QX0.0.0.1
S17PressFit%QX0.0.0.0 .. %QX0.0.0.1%IW0.0.0 .. %IW0.0.1
S18Dispensing%IX0.0.0.0%QX0.0.0.0%QW0.0.0 .. %QW0.0.2
S19PartsWashing%QX0.0.0.0 .. %QX0.0.0.2%IW0.0.0
S20LeakTest%QX0.0.0.0 .. %QX0.0.0.2%IW0.0.0
실제 프로젝트에서는 시나리오마다 base offset (예: S01=0, S02=32, S03=64...) 을 부여하여 충돌 회피 권장.

3. 비트 vs 워드 vs 더블워드 사용 가이드

데이터권장 폭주소적용 예
단일 ON/OFF (센서·솔레노이드·버튼)BOOL (1 비트)%IX·%QX·%MXS01 Cyl1_AdvCmd · S05 BtnStart · S15 EStop_Btn
아날로그 0-10V / 4-20mA 입력WORD (16 비트)%IWS17 Force · S20 Pressure · S19 Temp
아날로그 출력 (좌표 명령)WORD (16 비트)%QWS07 X/Y · S18 X/Y/Z · S11 Robot6 X/Y/Z
고정밀 좌표 / Encoder CountDWORD (32 비트)%MDS13 Encoder · S11 Robot6 정밀 좌표
REAL (부동소수)DWORD (32 비트)%MDS17 Force_REAL · S20 Pressure_REAL
상태 머신 enumINT (16 비트)%MWS01 Cyl1_State (0=Home,1=Adv,2=Ret)
알람 플래그 / 비트 묶음BOOL · WORD%MX·%MWS01 Cyl1_Alarm · S15 SafetyFlags

4. InSymbol / OutSymbol 명명 규칙

패턴형식예시
입력 (센서) Alias<Device>_<Action>OKCyl1_AdvOK · Idx1_HomeOK · Vision_OK
출력 (명령) Alias<Device>_<Action>CmdCyl1_AdvCmd · Spindle_Cmd · Pump_Cmd
아날로그 값<Device>_<Quantity>Pressure · Temp · Force · Depth
상태 워드<Device>_StateCyl1_State · Mode_State
알람 플래그<Device>_AlarmCyl1_Alarm · Safety_Alarm
Safety 신호EStop_* · LC_* · Safety_*EStop_Btn · LC_OK · Safety_Reset
HMI 버튼Btn<Action>BtnStart · BtnStop · BtnReset
HMI 램프Lamp<State>LampReady · LampRunning · LampError
권장: 영문 + 카멜케이스 또는 PascalCase. 한글 코멘트는 Description 필드에 별도 작성. 동일 패턴 유지로 도구 자동 생성 (Promaker / AAStoPLC) 호환성 확보.