8) 프로그램의 구성과 처리 예
4.5 기능
• CPU 모듈의 운전중 전원이 재투입된 경우의 리스타트 모드는 아래 그림과 같이 수행합니다.
4) 리스타트 모드에 따른 데이터의 초기화
리스타트 모드와 관련된 변수에는 디폴트, 초기화 및 리테인 변수등 3 종류가 있으며 리스타 트 모드 수행시 각 변수에 대한 초기화 방법은 다음과 같습니다.
모드 변수지정
콜드 (COLD) 웜 (WARM)
디폴트 ‘0’으로 초기화 ‘0’으로 초기화
리테인 ‘0’으로 초기화 이전값 유지
초기화 사용자 지정값으로 초기화 사용자 지정값으로 초기화
리테인 & 초기화 사용자 지정값으로 초기화 이전값 유지
알아두기
전원투입
운전모드
정전유지 데이터
STOP 모드 운전
리스타트 모드
웜 리스타트 수행 콜드 리스타트 수행
RUN 모드 운전
STOP
RUN
시간초과
콜드 리스타트
웜 리스타트
비정상
4.5.2
자기진단
1) 기능
(1) 자기진단 기능이란 CPU 모듈이 PLC 자체의 이상유무를 진단하는 기능입니다.
(2) PLC 시스템의 전원을 투입하거나 동작중 이상이 발생한 경우에 이상을 검출하여 시스템의 오동작 방지 및 예방보전기능을 수행합니다.
2) 에러 플래그
에러가 발생한 경우 다음과 같은 플래그에 저장되며 STOP LED 는 점멸상태가 됩니다.
y 시스템 에러 대표 플래그 : _CNF_ER y 시스템 경고 대표 플래그 : _CNF_WAR
알아두기
1) 자기진단 내용 및 에러 조치 방법에 대한 자세한 내용은 제 12 장 트러블슈팅의 12.5 에러코드 일람을 참조바랍니다.
4.5.3
리모트 기능
CPU 모듈은 외부(GMWIN, Cnet I/F 등) 조작으로 동작상태를 제어할 수 있습니다. 리모트 조작시 는 CPU 모듈의 모드설정 키스위치를 REMOTE 위치로 설정하여 주십시오.
1) 리모트 RUN / STOP
(1) 리모트 RUN / STOP 은 CPU 모듈의 키스위치가 REMOTE 위치인 상태에서 외부에서 RUN / STOP 을 수행하는 기능입니다.
(2) CPU 모듈이 조작하기 어려운 위치에 설치되어 있거나 제어반 내의 CPU 모듈을 외부에서 RUN / STOP 하는 경우에 편리한 기능입니다.
2) 리모트 PAUSE
(1) 리모트 PAUSE 는 CPU 모듈의 키스위치가 REMOTE 위치인 상태에서 외부에서 PAUSE 조작 을 수행하는 기능입니다.
PAUSE 조작이란 출력 모듈의 On / Off 상태를 유지한 상태에서 CPU 모듈의 연산을 정지시 키는 기능입니다.
(2) 프로세스 제어등에서 CPU 모듈을 STOP 시킨 상태에서 출력모듈을 On 상태로 유지하려는 경 우에 유용한 기능입니다.
3) 리모트 DEBUG
(1) 리모트 DEBUG 는 CPU 모듈의 키스위치가 REMOTE 위치인 상태에서 DEBUG 조작을 수행하 는 기능입니다.
DEBUG 조작이란 프로그램 연산을 지정한 운전조건에 따라 실행시키는 기능입니다.
(2) 시스템의 디버깅 등에 프로그램의 실행상태나 각 데이터의 내용을 확인하는 경우에 편리한 기능입니다.
4) 리모트 리셋
(1) 리모트 리셋은 CPU 모듈을 직접 조작할 수 없는 장소에서 에러가 발생한 경우에 원격조작으 로 CPU 모듈을 리셋시키는 기능입니다.
알아두기
1) 리모트 기능에 대한 조작방법은 GMWIN 사용설명서의 제 7 장 온라인을 참조바랍니다.
4.5.4 입출력 강제 On / Off 기능
1) 강제 On / Off 설정 방법
강제 On / Off 설정은 입력(I), 출력(Q) 영역별로 설정합니다.
설정은 입출력 각각을 설정하며, ‘강제 I/O 설정 허용’이 설정된 시점부터 동작합니다.
실제 입출력 모듈이 장착되어 있지 않아도 설정이 가능합니다.
2) 강제 On / Off 처리시점 및 처리방법
(1) 강제입력
y 입력(I)은 입력 리프레시 시점에서 입력 모듈에서 읽어온 데이터 중, 강제 On / Off 로 설 정된 접점의 데이터를 강제 설정된 데이터로 대치하여 입력이미지 영역을 갱신합니다. 따 라서 사용자 프로그램은 실제 입력 데이터와, 강제 설정 영역은 강제 설정 데이터를 가지 고 연산을 합니다.
(2) 강제출력
y 출력(Q)은 사용자 프로그램 연산 실행 완료 후, 출력 리프레시 시점에서, 연산 결과가 들 어있는 출력 이미지 영역의 데이터 중 강제 On / Off 로 설정된 접점의 데이터를 강제 설 정된 데이터로 대치하여 출력 모듈에 출력합니다. 출력의 경우는 입력과 달리 출력이미지 영역의 데이터는 강제 On / Off 설정에 의해 변하지 않습니다.
(3) 강제 On / Off 처리 영역
y 강제 On / Off 설정을 위한 입력(I), 출력(Q) 영역은 실제의 입출력 영역보다 크게 지정되 어 있습니다. 이 영역을 이용하여 리모트 입출력을 지정하면 기본 입출력 영역과 동일하 게 강제 On / Off 기능을 사용할 수 있습니다.
(4) 주의
y 전원의 Off
On / Off 설정 데이터는 CPU 모듈내에 보관되어 있어서, 그대로 수행됩니다.
y Stop 모드에서도 강제 입 출력 데이터는 소거 되지 않습니다.
y 프로그램의 다운로드 및 백업이 깨어지면 On / Off 설정 데이터는 지워집니다. 운전중인
y 처음부터 새로운 데이터를 설정하고자 할 때에는 설정 데이터 ‘지우기’를 이용하여 입출력 각각의 설정을 해제한 후 사용하여 주십시오.
알아두기
1) 자세한 사용방법은 GMWIN 사용설명서 제 7 장 온라인의 ‘강제 I/O 설정’을 참조바랍니다.
4.5.5 즉시(Direct) 입출력 연산기능
프로그램 수행 도중에 입력 접점의 상태를 즉시 읽어 들여 연산에 사용하거나, 연산결과를 즉시 출력 접점에 출력하려고 할때에 유용하게 사용할 수 있습니다.
1) 즉시 입력
y 즉시 입력의 경우는 ‘DIREC_IN’ 펑션을 사용하여 수행되며, 펑션을 수행하면 즉시 입력이미지 영역이 갱신되어 연속되는 연산에 즉시 적용됩니다.
2) 즉시 출력
y 즉시 출력의 경우는 ‘DIREC_O’ 펑션을 사용되며, 펑션을 수행하면 그때까지의 연산 결과가 들 어 있는 출력이미지 영역의 데이터가 즉시 출력모듈로 출력됩니다.
3) 강제 On / Off 시
y 즉시 입출력 처리시에도 강제 On/Off 설정은 유효합니다.
4.5.6
운전 이력
운전 이력에는 에러 이력, 모드전환 이력 및 전원차단 이력등 3 종류가 있습니다.
각 운전 이력은 가장 최신 것으로 16 개까지 저장됩니다.
1) 이력의 기록시점 및 내용 (1) 에러이력
y 기록시점 : 운전중 에러가 발생 하였을때 y 저장내용 : 발생 시각, 에러 코드 (2) 모드 전환 이력
y 기록시점 : 운전 모드 전환이 발생하였을때 y 저장내용 : 발생 시각, 운전 모드, 리스타트 모드 (3) 전원 차단 이력
y 기록시점 : RUN 모드에서 운전중 전원차단이 발생하였을때 y 저장내용 : 발생 시각(16 개), 발생횟수(1 개)
2) 저장 정보의 리셋
GMWIN 에서 메뉴를 선택하여 지우기전에는 지워지지 않습니다.
알아두기
1) 운전이력기능은 GM6-CPUB/C 에서만 사용할 수 있습니다.
2) 자세한 사용방법은 GMWIN 사용설명서 제 7 장 온라인의 ‘강제 I/O 설정’을 참조바랍니다.
4.5.7 외부기기 고장 진단 기능
사용자가 외부기기의 고장을 검출하여, 시스템의 정지 및 경고를 쉽게 구현하도록 제공되는 플래 그 입니다. 이 플래그를 사용하면 복잡한 프로그램을 작성하지 않고 외부기기의 고장을 표시할 수 있으며, 특별한 장치(GMWIN 등)나 소스 프로그램없이 고장위치를 모니터링 할 수 있습니다.
1) 외부기기 고장의 검출 및 분류
(1) 외부기기의 고장은 사용자 프로그램에 의해서 검출하며, 검출된 고장의 내용에 따라 PLC 의 운전을 정지시켜야 하는 중고장(에러)과 PLC 의 운전은 계속하고 고장상태 만을 표시하 는 경고장(경고)으로 분류합니다.
(2) 중고장의 경우는 ‘_ANC_ERR[n] 플래그’를 사용하며, 경고장의 경우는 ‘_ANC_WB[n] 플래그’를 사용합니다.
2) 외부기기 중고장의 처리
(1) 사용자 프로그램에서 외부기기의 중고장 검출시, 시스템 플래그 ‘_ANC_ERR[n]’에 사용자가 정의한 에러의 종류를 구분하여 0 을 제외한 값을 쓰면, 스캔 프로그램 완료 시점에서 체
크하여 고장표시가 되어 있으면, 시스템 에러 대표 플래그인 ‘_CNF_ER’의 ‘_ANNUN_ER’ 에 표시가 되고, 그에 따라 PLC 는 모든 출력 모듈을 Off 시키고 PLC 자체고장 검출과 동일한 에러 상태가 됩니다.
(2)고장발생시 사용자는 GMWIN 을 사용하여 고장의 원인을 알수 있으며, 또한 ‘_ANC_ERR[n] 플 래그’를 모니터링 하여 고장의 원인을 알수 있습니다.
(3)
‘_
ANC_RR[n]’은 8 개(n: 0~7)의 기록장소를 가지고 있어서, 고장상태를 크게 분류하여 사 용할 수 있습니다. 각 기록장소에는 사용자가 임의로 정한 고장번호를 써넣을 수 있으며 그숫자는 1 부터 65,535 를 사용할 수 있습니다. 사용 예
MOVE
10 _ANC_ERR[0]
3) 외부기기 경고장의 처리
(1) 사용자 프로그램에서 외부기기의 경고장 검출시, 시스템 플래그 ‘_ANC_WB[n]’중 사용자 정 의에 따라서 해당위치의 플래그를 On 시키면, 스캔프로그램 완료 시점에서 ‘_ANC_WB[0]’ 부
터 검색하여 경고 표시가 되어 있으면 시스템 경고 대표 플래그인 ‘_CNF_WAR’의 ‘_ANNUN_WR’
에 표시가 되고, 외부기기의 경고장 발생 번호를 ‘_ANC_WAR[0]’ 부터 ‘_ANC_WAR[7]’ 까지에 발생순서에 따라 기록합니다.
(2) 경고 발생시 사용자는 GMWIN 을 사용하여 고장의 원인을 알수 있으며, 또한 ‘_ANC_WAR[n]’
에러검출
사용 예)
에러검출 _ANC_WB[10]
사용자 프로그램 수행 중, 사용자 프로그램으로 시스템의 이상을 검출하여 _ANC_WB[10]을 On 시킨 경우에, 수행 중인 스캔을 완료한 후, _ANNUN_WR 과 _ANC_WAR[0..7]의 상태는 좌측과 같이 됩니다
그 다음 스캔 완료후 _ANC_WB[n]의 1, 2, 3, 10, 15, 40, 50, 60, 75 번이 On 되어 있으면, _ANC_WAR[n]은 좌측과 같이 됩니다.
10 번이 1, 2, 3 번보다 우선순위가 낮지만, 이전 스캔에서 On 되었으므로 (먼저 발생 하였으므로) _ANC_WAR[n]의 앞 번호에 쓰여 집니다.
_ANC_WB[75]는 On 되어 있어서 먼저 발생한 경고가 _ANC_WAR[n]에 들어 있 으므로 표시가 되지는 않습니다.
그 다음 스캔 완료후 _ANC_WB[n]의 1, 2, 3, 15, 40, 50, 60, 75 번이 On 되어 있으면, _ANC_WAR[n]은 좌측과 같이 됩니다.
10 번 경고가 해제 되었으므로, _ANC_WAR[0]에서 지워지고 _ANC_WAR[1..7]
의 내용이 앞으로 채워집니다. 데이터 이동후 _ANC_WAR[7]이 비워지므로 _ANC_WB[75]가 _ANC_WAR[7]에 기록됩니다.
운전중 _ANC_WB[n]상에 표시되었던 경고가 모두 해제되면, _ANNUN_WR 과 _ANC_WAR[n]은 좌측과 같이 됩니다.
_ANNUN_WR = 1 _ANC_WAR[0] = 10
_ANC_WAR[1] = 0 _ANC_WAR[2] = 0 _ANC_WAR[3] = 0 _ANC_WAR[4] = 0 _ANC_WAR[5] = 0 _ANC_WAR[6] = 0 _ANC_WAR[7] = 0 _ANNUN_WR = 1 _ANC_WAR[0] = 10
_ANC_WAR[1] = 1 _ANC_WAR[2] = 2 _ANC_WAR[3] = 3 _ANC_WAR[4] = 15 _ANC_WAR[5] = 40 _ANC_WAR[6] = 50 _ANC_WAR[7] = 60 _ANNUN_WR = 1 _ANC_WAR[0] = 1 _ANC_WAR[1] = 2 _ANC_WAR[2] = 3 _ANC_WAR[3] = 15 _ANC_WAR[4] = 40 _ANC_WAR[5] = 50 _ANC_WAR[6] = 60 _ANC_WAR[7] = 75 _ANNUN_WR = 0 _ANC_WAR[0] = 0 _ANC_WAR[1] = 0 _ANC_WAR[2] = 0 _ANC_WAR[3] = 0 _ANC_WAR[4] = 0 _ANC_WAR[5] = 0 _ANC_WAR[6] = 0 _ANC_WAR[7] = 0