• 검색 결과가 없습니다.

프로그램

문서에서 제품을 사용하기 전에… (페이지 46-52)

제 5 장 CPU 모듈

5.3 프로그램

5.3.1 프로그램의 구성

프로그램은 특정한 제어를 실행하는데 필요한 모든 기능요소로 구성되며 MASTER-K PLC 의 경우 CPU 모듈의 내장 RAM 또는 메모리 모듈의 플래시 메모리에 프로그램이 저장됩니다.

이러한 기능요소는 일반적으로 다음과 같이 분류합니다.

기 능 요 소 연 산 처 리 내 용

스캔 프로그램 • 1 스캔마다 일정하게 반복되는 신호를 처리합니다.

내부 정주기 인터럽트 프로그램

• 다음과 같이 시간 조건 처리가 요구되는 경우에 설정된 시간 간격에 따라 프로그램을 수행합니다.

 1 스캔 평균 처리 시간 보다 빠른 처리가 필요한 경우

 1 스캔 평균 처리 시간 보다 긴 시간 간격이 필요한 경우

 지정된 시간간격으로 처리를 해야하는 경우

외부 인터럽트

프로그램 • 외부 인터럽트 신호에 대해 신속한 처리를 수행합니다.

서브루틴 프로그램 • 어느조건이 만족할 경우만 수행합니다.(CALL 명령의 입력조건이 On 인 경우)

5.3.2 프로그램의 수행방식

전원을 투입하거나 CPU 모듈의 키스위치가 RUN 상태인 경우에 실행하는 프로그램 수행방식에 대해 설명합니다.

프로그램은 다음과 같은 구성에 따라 연산처리를 수행합니다.

운 전 시 작

스캔 프로그램

END 처리

서브루틴 프로그램 외부 인터럽트 프로그램 정주기 프로그램

조건이 만족된 경우 에만 수행합니다.

5 -13 1) 스캔 프로그램

(1) 기능

• 스캔마다 일정하게 반복되는 신호를 처리하기 위하여 프로그램이 작성된 순서대로 처음 0 부터 마지막 스텝까지 반복적으로 연산을 수행합니다.

• 스캔 프로그램의 실행중 정주기 인터럽트 또는 인터럽트 모듈에 의한 인터럽트 인터럽트의 실행 조건이 성립한 경우는 현재 실행중인 프로그램을 일단 중지하고 해당되는 인터럽트의 프로그램을 수행합니다.

2) 인터럽트 프로그램 (1) 기능

• 주기·비주기적으로 발생하는 내외부 신호를 처리하기 위하여 스캔 프로그램의 연산을 일단 중지시킨후 해당되는 기능을 우선적으로 처리합니다.

(2) 종류

• 인터럽트 프로그램은 다음과 같이 2 종류로 구분합니다.

내부 정주기 인터럽트 : 설정된 시간간격에 따라 프로그램을 수행합니다 외부 인터럽트 프로그램 : 인터럽트 모듈에 입력되는 외부신호에 따라 프로그램을 수행합니다

5 -14 5.3.3 인터럽트

인터럽트 기능에 대한 이해를 돕기 위하여 MASTER-K 의 프로그래밍 S/W 인 KGLWIN 의 프로그램 구조 및 인터럽트에 대해 설명합니다.

(KGLWIN 에 대한 자세한 내용은 KGLWIN 사용설명서를 참조하여 주십시오.) 스캔 프로그램

알아두기

-.인터럽트는 프로그램은 END 명령뒤에 작성해야 합니다.

-.인터럽트 수행중 우선순위가 높은 인러럽트 발생시 우선순위가 높은 것을 먼저 수행합니다.

-.전원 On 시 모든 인터럽트는 디스에이블 상태입니다.

-.인터럽트 프로그램이 실행되기 위해서는 스캔프로그램에서 EI 명령을 사용하여 인에이블 시켜주어야 합니다.

인터럽트 1 (프로그램 1) 인터럽트 1 발생

인터럽트 2 (프로그램 2) 인터럽트 2 발생

인터럽트 3 (프로그램 3) 인터럽트 3 발생

인터럽트 2 발생

인터럽트 2 (프로그램 2)

인터럽트 4 발생

인터럽트 4 (프로그램 4)

END

5 -15 1) 파라미터 설정방법

2) 정주기 인터럽트(Time Drive Interrupt)

정주기 인터럽트는 파라미터에서 정해준 시간마다 인터럽트 프로그램(TDINT)을 실행합니다.

정주기 인터럽트는 각기종에 따라 아래와 같이 사용가능하고 각각에 대해 시간설정이 가능합니다.

기 종 사용가능 인터럽트

TDINT(INT) 0 ~ 7 (8 점)

3) 외부 인터럽트(Process Drive Interrupt)

외부 인터럽트는 P000 ~ P007 까지의 입력 8 점이 사용가능합니다.

위의 파라미터 설정에서 ‘TDINT’는 내부 정주기 인터럽트 설정이며,’INT’는 외부 인터럽트 설정 입니다. (외부 인터럽트 설정시 EDGE 설정은 입력이 상승,하강,상승/하강 할 경우 인터럽트를 발생시키라는 설정입니다.)

내부 정주기 인터럽트와 외부 인터럽트를 더하여 총 8 점의 인터럽트 사용이 가능합니다.

20ms 이내의 정전상태에서는 정전복구후 정전이전에 대기중이던 인터럽트를 수행하며, 정전 시간을 계산하여 정주기 인터럽트를 발생시키며, 정전중 중복하여 발생한

정주기 인터럽트는 무시됩니다

5 -16 알아두기

-. 인터럽트는 프로그램 처리시간이 긴 경우 자기 인터럽트가 2 번이상 발생하면 최종전 까지의 인터럽트는 무시됩니다.

무시됩니다. 최종신호만 기억하여 수행합니다.

인터럽트 처리시간

인터럽트 신호(상승 선택시)

5 -17 5.3.4 고장처리

1) 고장의 구분

고장은 PLC 의 자체고장, 시스템 구성상의 오류 및 연산 결과의 이상검출 등에 의해 발생합니다.

고장은 시스템의 안전을 위해 운전을 정지시키는 중고장 모드와 사용자에게 고장발생 경고를 알려주고 운전을 속행하는 경고장 모드로 구분합니다.

PLC 시스템의 고장발생 요인은 주로 다음과 같습니다.

y PLC 하드웨어의 고장 y 시스템 구성상의 오류

y 사용자 프로그램 수행중 연산에러 y 외부기기 고장에 의한 에러검출

2) 고장발생시 동작모드

고장발생시 PLC 시스템은 고장내용을 플래그에 기록하고, 고장모드에 따라 운전을 정지하거나 속행합니다.

(1) PLC 하드웨어의 고장

CPU 모듈, 전원모듈등 PLC 가 정상운전을 할 수 없는 중고장이 발생한 경우 시스템은 정지상태가 되며 배터리 이상 등의 경고장 발생시는 운전을 속행합니다.

(2)시스템 구성상의 오류

PLC 의 하드웨어 구성과 소프트웨어에서 정의한 구성이 서로 다른 경우에 발생하는 고장으로 시스템은 정지상태가 됩니다.

(3)사용자 프로그램 수행중 연산에러

사용자 프로그램 수행중 발생하는 이상으로 수치연산오류의 경우 에러플래그에 표시가 되고 시스템은 운전을 속행합니다. 연산수행중 연산시간이 연산지연 감시설정시간을 넘거나 장착된 입출력 모듈이 정상적으로 제어가 안될 때는 시스템은 정지상태가 됩니다.

(4)외부기기 고장에 의한 고장검출

외부 제어대상기기의 고장을 PLC 의 사용자 프로그램으로 검출하는 것으로, 중고장 검출시 시스템은 정지 상태가 되고, 경고장 검출시는 상태만을 표시하고 연산은 속행합니다.

알아두기

1) 고장이 발생한 경우 고장번호가 특수릴레이 F006 에 저장됩니다.

2) 에러에 대한 상세내용은 제 11 장 트라블슈팅 에러코드 일람을 참조하여 주십시오.

5 -18

문서에서 제품을 사용하기 전에… (페이지 46-52)

관련 문서