2-1. PLC I/O 할당 입.출력 기기와 외부기기와의 접속 각 모듈별 외부기기를 접속할 ‘PLC 단자의 번호’를 결정하는 것으로, 이때 설정된 단자의 번호를 ‘I/O 어드레스’라고 하며, PLC프로그램에서 입.출력 번호로 사용됨. CPU 파워 모듈 입력 (32점) 출력 A/D (16점) HSC DLU Empty 베이스 PLC의 I/O 할당 16진수를 사용함. 즉, 한 개의 모듈 당 I/O 어드레스는 0 ~ F 임. 모듈 번호의 경우 0 ~ 까지 임.
2-2. PLC의 어드레스 - 비트 어드레스와 워드 어드레스 비트어드레스 1 2 3 4 5 6 7 8 9 A B C D E F P00 P01 P02 워드어드레스 이 메모리는 Bit 영역이며 비트어드레스는 P017로 표시함 Cc. 비트/워드 데이터 메모리
P 2-3. PLC의 외부(입.출력) 메모리 외부 입.출력 번호의 할당은 첨자(Device 이름) ‘P’로 표현함. ♠ Word 번호 : 10진수 ♠ 접점번호 : 16진수( 0~ F) Word 번호 접점번호 ex) P01F, P030 모듈(카드) 번호 : PLC 16점 단위로 카드 번호가 설정됨. * 32점의 경우 하나의 모듈에 2개의 모듈(카드)가 내장되어 있는 것으로 이해함 P00 P01 P02 P03 P04 P05 P06 P07 CPU 파워 모듈 입력 (32점) 출력 A/D (16점) HSC DLU Empty 베이스
2-4. PLC의 수치표현 1) 10진수 “0 ~ 9의 10 종류의 기호를 사용하여 순서와 크기를 나타내는 수” … 0, 1, ~ 9, 10, 11 …. 2 1 0 행 번호 예) 153 = 100 + 50 + 3 10진수 = 1 x 102 + 5 x 101 + 3 x 100 행의 가중치
2-4. PLC의 수치표현 1 2) 2진수 “0과 1의 두 종류 기호를 사용하여 순서와 크기를 나타내는 수” … 0, 1, 10, 11, 100, 101, 110, 111, 1000 ….. 예) 2진수의 10진수 값 ? ( 2진수 10진수) 1 행 번호 2진수 7 6 5 4 3 2 1 0 가중치 27 26 25 24 23 22 21 20 1x128 + 0x64 + 0x32 + 1x16+ 1x8 + 1x4 + 0x2 + 1x1 = 157
2-4. PLC의 수치표현 10진수 16진수 10 11 12 13 14 15 A B C D E F 4 A 9 D 3) 16진수 : 16종류의 기호를 사용하여 수치 표현 10 11 12 13 14 15 A B C D E F 3 2 1 0 행 번호 4 A 9 D 16진수 163 162 161 160 가중치 ※ 4x163 + 10x162 + 9x161 + 13x160 = 19,101 16진수 한자리는 2진수의 4bit로 대응됨 F : 15 : 1111 ♠ 16진수의 경우, 4행의 최대치가 0 ~ FFFF(65,535) 임. * 2진수 8진수, 2진수 16진수로 바로 변환 가능 !
2-4. PLC의 수치표현 4) BCD : 2진화 10진수는 “10진수의 각행의 숫자를 2진수로 표현 가능한 수” 예) 10진수의 157의 경우, 2 1 0 행 번호 1 5 7 10진수 0001 0111 0101 BCD ♠ BCD의 경우, 4행의 최대치가 0 ~ 9999임.
2-5. PLC 내부 메모리 P170-171 내부 메모리 내부 메모리란 ? ON/OFF,Data 등이 외부 입력이나 출력에 영향을 미치지 않고, PLC 동작 시 내부에서만 연산이 이루어지는 메모리 내부 메모리 - 보조 릴레이 (M) - KEEP 릴레이 (K) - 특수 릴레이 (F) - 링크 릴레이 (L) - 타이머 / 카운터 (T/C) - 데이터 영역 (D)
2-6. Master-K PLC I/O 점수 : 512점(K500H) K500/K1000H – 80186, 16Bits사용 Address Bus : 메모리의 크기 Data Bus : CPU에서 Read/Write할 경우, 최소 정보량이 얼마인지를 check 후 데이터의 크기를 정함 Program Memory 일의 순서와 판단 기준을 나타내는 사용자 Program을 써 넣어 두는 곳. 프로그램 길이는 최대 입출력 점수와 비례관계가 있음. Data Memory 입출력 번지수와 실제 Relay의 역할을 담당하는 부분. I/O Relay, Keep Relay, 타이머, 카운터 등의 동작을 하도록 지정한 영역
3-1. 프로그램 Loader 조작법 I. 프로젝트 단위의 PLC 시스템 구성 II. 편리한 인터페이스 프로그래밍 Tool (KGL-WIN) I. 프로젝트 단위의 PLC 시스템 구성 →프로그램, 파라미터, 변수/설명문, 모니터링 등으로 구성되며 별도 관리 가능 II. 편리한 인터페이스 →프로그램 편집/수정 용이, PLC와 다양한 방식의 접속 기능 지원 III. 온라인 편집 지원 →런 중 프로그램 수정 가능, 프로그램 편집이나 수정 후에 프로그램을 다운로드 하지 않아도 프로그램이 PLC에 자동으로 다운로드 됨 IV. 풍부한 PLC 정보 읽기 →에러상황, 네트워크 연결 상태 등 PLC의 상태 모니터링 가능 V. GSIKGL, KGL-DOS와의 호환성, 다양한 디버그 기능의 지원
3-2. KGL-WIN S/W 구성 파라미터 모니터링 프로그램 프로젝트 변수/설명
4. 실체 배선도
4. PLC 배선도 I P000~P01F P020~P03F 입력부 출력부 P000 P020 DC24V DC24V
4. PLC 배선도 II P00 P000 COM 버튼 P02 P020 COM 램프 DC24V
4-1. PLC 기본 명령어 - LOAD(NOT), OUT, END ( ) LOAD OUT ( ) LOAD NOT ◆ 프로그램 실습 1 입력 조건 P000이 ON되면 지정된 출력 P020, P021이 모두 ON 됨과 동시에 P023 출력은 OFF 되는 프로그램 P000 ( ) P020 P021 P023 [ END ] PLC에러 발생시… 설명
4-1. PLC 기본 명령어 - AND(NOT), OR(NOT), NOP ( ) OUT AND NOT ( ) OR OR NOT ◆ 프로그램 실습 2 LOAD P000, OR P001, AND NOT P002, OR NOT P003, AND NOT P004, OR NOT P005, OUT P03F, END
4-1. PLC 기본 명령어 - 펌프 자동제어 실습 ◆ 프로그램 실습 3 저 수위 센서 감지 시 모터 2대 동작하고, 중 수위 센서 감지 시 모터 1대만 동작함. 고수위 센서 감지 시는 모든 펌프가 정지함. ( 저 수위 센서: P000, 중 수위 센서 : P001, 고 수위 센서 : P002, 펌프 1 : P020, 펌프 2 : P021)
4-1. PLC 기본 명령어 - 모터의 정.역 운전 실습 ◆ 프로그램 실습 4 푸쉬버튼 PB1을 누르면 모터는 시계 방향으로 회전하고, 푸쉬버튼 PB2를 누르면 모터는 시계 반대방향으로 회전함. 모터는 정지하지 않고 회전 방향을 변경할 수 있고, 푸쉬버튼 PB0을 누르면 모터는 정지함. (PB1 : P001, PB2 : P002, PB0 : P000, 정 방향 모터 : P030, 역 방향 모터 : P031) *자기유지회로, 인터록(Inter-lock)
4-1. PLC 기본 명령어 - 퀴즈 프로그램 실습 ◆ 프로그램 실습 5 퀴즈 참가자 A, B가 사회자의 문제에 따라 푸쉬버튼 스위치 PB0, PB1을 누를 때 먼저 누른 참가자 측의 램프가 점등 되며, 사회자의 RESET버튼(PB2)을 누르기 전까지는 램프의 ON 상태는 유지 됨. (참가자 A : P000, 참가자 B : P001, 사회자 : P002, A램프 : P020, B램프 : P021)
4-1. PLC 기본 명령어 - SET, RST SET : 입력 조건이 ON되면 지정 출력 접점을 ON상태로 유지 시켜 입력이 OFF되어도 출력이 ON상태를 유지함. RESET : 입력 조건이 ON되면 지정 출력 접점을 OFF상태로 유지시켜 입력이 OFF되어도 출력이 OFF상태를 유지함. * SET된 디바이스는 RST명령에 의해서만 OFF됨 * SET, RST 명령을 동시에 실행하면 RST 명령이 우선함
4-1. PLC 기본 명령어 - SET, RST ◆ 프로그램 실습 6 입력조건 P000이 ON → OFF하였을 때 P020의 출력 상태를 확인하는 프로그램 (P001 : RESET 용 접점) P000 ( ) P020 [SET P021] [RST P021] P001
4-1. PLC 기본 명령어 - AND LOAD, OR LOAD AND LOAD : A 블록과 B블록을 AND 연산함. OR LOAD : A 블록과 B블록을 OR 연산함. ( ) AND LOAD OR LOAD ( ) P000 P001 P002 P003 P004 P005 P006 P007 P008 P009 P03F P01F ◆ 프로그램 실습 7 OR LOAD OR LOAD AND LOAD
4-1. PLC 기본 명령어 - MPUSH, MLOAD, MPOP Ladder 도에서의 다중 분기를 가능하게 하는 명령어임. - MPUSH : 최초의 분기를 의미함 - MLOAD : 분기의 중계 점을 의미함 - MPOP : 분기의 종료를 의미함 * 본 명령어는 Mnemonic Diagram에서 입력함.
4-1. PLC 기본 명령어 - MPUSH, MLOAD, MPOP 0 LOAD P000 1 MPUSH 2 AND P001 3 MPUSH 4 AND P002 5 AND P003 6 MPUSH 7 AND P004 8 OUT P020 9 MLOAD ◆ 프로그램 실습 8 10 AND P0025 11 OUT P021 12 MPOP 13 AND P002 14 OUT P022 15 MLOAD 16 AND P007 17 OUT P023 18 MPOP 19 AND P008 20 OUT P024 21 MLOAD 22 AND P009 23 OUT P025 24 MPOP 25 AND P00A 26 OUT P026 27 END
4-1. PLC 기본 명령어 - 스위치 반전회로 실습 ( ) ◆ 프로그램 실습 9 긴 복도나 계단 입구의 스위치1을 ON하면 통로의 램프가 점등되며, 출구에서 스위치2를 OFF하면 램프가 꺼짐. 다시 출구에서 스위치2를 ON하면 램프가 점등되며, 입구에서 스위치1 으로 OFF함. * 변수 명을 사용하여 프로그램 ! (SW1 : P000, SW2 : P001, 램프 : P030) → OR LOAD 사용 ( ) SW1 SW2 램프 [ END ]
4-1. PLC 기본 명령어 - MCS, MCSCLR Master Control : MCS의 입력조건이 ON하면 MCS 번호와 동일한 MCSCLR까지를 실행하고, 입력조건이 OFF하면 실행하지 않음. * 우선순위는 MCS번호0가 가장 높고, 7이 가장 낮음 우선순위가 낮은 순으로 사용하고, 해제는 그 역순으로 함 * MCSCLR시 우선 순위가 높은 것을 해제하면 낮은 순위의 MCS블록도 함께 해제 됨 ◆ 프로그램 실습 10 교재 191 페이지 연습 문제 실습 ▶ 직접 동작 확인
4-1. PLC 기본 명령어 - D, DNOT D: 입력 조건이 OFF → ON 될 때 지정 접점을 1스캔만 ON함. D NOT : 입력 조건이 ON → OFF 될 때 지정 접점을 1스캔만 ON함. P002 [ D M000] M000 ( ) P030 P030 1스캔 ON에 의해 P030이 ON되는 것을 확인함 [용 도] ♡ 신호가 OFF에서 ON으로 변화될 때 1회만 처리 ♡ 시프트 처리, 수치연산, 데이터 처리 신호
4-1. PLC 기본 명령어 - D, DNOT ◆ 프로그램 실습 11 푸쉬버튼 PB0를 한 번 누르면 출력이 ON되고, 두 번째 누르면 출력이 OFF됨. 즉, PB0를 누를 때마다 출력이 ON/OFF를 반복함 ( ) P030 [ D M000] P002 M000
◆ 단계별 동작 설명 P030 ( P030 ) [ D M000] P002 M000
4-1. PLC 기본 명령어 - 모터 기동 증가 제어 실습 (D) ◆ 프로그램 실습 12 푸쉬버튼 PB0를 첫번째 누르면 모터1이 ON, 두 번째 누르면 모터2가 ON, 세 번째 누르면 모터 3도 ON됨. 푸쉬버튼 PB1을 누르면 세대의 모터가 정지됨. (PB0 :P000, PB1 : P001, 모터1 : P030, 모터2 : P031, 모터3 : PO32)
M000 ( P030 ) [ D M000] P000 P001 P030 ( P031 ) P031 ( P032 ) P032
4-2. PLC 기본 명령어 - TIMER [TON T000 00200 ] 타이머 설정치 타이머 종류 입력조건 타이머 접점번호 ♥ 설정시간(T) = 기본주기(0.1초, 0.01초) x 설정치(0~65,535) - 0.1초(100ms) = T000~T191 - 0.01초(10ms) = T192~T255 ♥ 타이머의 최대 설정치 : 1Word (hFFFF, 65,535) ♥ 타이머 접점번호 : T000~T255
4-2. PLC 기본 명령어 - TIMER (TON) 1) TON : ON DELAY TIMER [ 설정시간 만큼 지연되어 출력이 ON ! ] ♥ 입력조건이 ON되어 있는 동안 현재치가 증가하여 타이머 설정 치에 도달하면 타이머 접점이 ON됨 ♥ 입력조건이 OFF되거나 RESET 명령을 만나면 타이머 출력이 OFF 되고 현재치는 ‘0’이 됨 입력 T 출력 ◆ 프로그램 실습 12 타이머 2개를 사용하여 출력을 1초 주기로 깜박이 시킴.
4-2. PLC 기본 명령어 - TIMER (TOFF) 2) TOFF : OFF DELAY TIMER [ 설정시간 만큼 지연되어 출력이 OFF ! ] ♥ 입력조건이 ON되는 순간부터 타이머의 현재치는 설정치가 되며, 출력은 ON이 됨(타이머는 아직 동작이 안 된 상태임) ♥ 입력조건이 OFF되는 순간 타이머는 동작되어 현재치가 ‘0’이 되는 순간 출력이 OFF 됨 입력 T 출력 ◆ 프로그램 실습 13 화장실 변기에 접근한 후 1초 후에 2초 동안 물이 나오고, 이탈 후 즉시 3초간 물이 공급되는 회로
4-2. PLC 기본 명령어 - TIMER (TMR) ♥ 입력조건이 ON되는 동안 현재치가 증가하여 ‘누적’된 값이 타이머의 설정시간에 도달하면 타이머의 접점이 ON됨 ♥ 정전 시에도 타이머의 값을 유지하기 위해서는 불 휘발성 영역을 사용해야 함 ♥ 타이머를 RESET시키기 위해서는 RST명령을 사용함. 이때 현재치는 ‘0’가 됨 T= t1 + t2 입력 출력 t1 t2 ◆ 프로그램 실습 14 공구 수명 경보 회로
4-2. PLC 기본 명령어 - TIMER (TMON) ♥ 입력조건이 ON되는 순간 타이머의 출력이 ON되고 타이머의 현재치가 설정 치로부터 감소하기 시작하여 ‘0’이 되면 타이머 출력은 OFF됨 ♥ 타이머의 출력이 ON된 후 입력이 들어와도 무시함 입력 출력 T ◆ 프로그램 실습 15 : 신호 떨림 방지회로 TMON T000 002 ( M000 ) T000 P000
4-2. PLC 기본 명령어 - TIMER (TRTG) ♥ 입력조건이 ON되면 타이머의 출력이 ON되고 타이머의 현재치가 설정 치로부터 감소하기 시작하여 ‘0’이 되면 타이머 출력은 OFF 됨 ♥ 타이머의 현재치가 ‘0’이 되기 전에 또 입력이 ON되면 타이머의 현재 치는 설정 치로 재설정 됨 입력 출력 T T
4-2. PLC 기본 명령어 - TIMER (TRTG) ◆ 프로그램 실습 16 일정 시간마다 공급되는 제품에 의해 반송장치의 고장을 검출함. (20초 이내에 다른 제품이 들어오지 않으면 타이머 동작-- 출력OFF! TRTG T005 0200 ( M400 ) T005 P000
4-2. PLC 기본 명령어 - COUNTER CTU C000 <S> 00200 카운터 종류 카운터 접점번호 입력조건 CTU C000 <S> 00200 카운터 설정치 ♥ 카운터의 최대 설정치 : 1Word (hFFFF, 65,535) ♥ 카운터 접점번호 : C000~C255 ♥ 카운터 RESET 신호 별도 필요함 ♥ 카운터 종류 : CTU, CTD, CTUD, CTR
4-3. PLC 응용 명령어 - DUTY P000 DUTY D n1 n2 D로 지정된 User용 Timing Pulse F영역(F100~F10F)를 n1 Scan 동안 ON, n2 Scan동안 OFF하는 Pulse를 발생시킴 P000 DUTY D n1 n2 D : F100 ~ F10F n1 : ON될 Scan 수 n2 : OFF될 Scan 수 초기 입력 조건이 OFF될 때 Timing pulse는 OFF되어 있음. n1=0이면 Timing Pulse는 항상 OFF n1 〉0, n2=0이면 Timing Pulse는 항상 ON * F100 = Timing Pulse는 중지됨
4-3. PLC 응용 명령어 - Step controller, SET S - 동일조 내에서 스텝번호가 연속되어 있을때 입력조건이 순차적으로 ON됨에 따라 스텝번호가 Shift되면서 ON됨 ON되어 있는 스텝번호는 입력조건이 OFF되어도 ‘자기 유지’ 됨 SET S**.**명령의 CLEAR는 S**.00을 ON시킴으로써 해당 조는 OFF됨