PLC Installation Practices, Edting, and Troubleshooting
13.1 PLC Enclosures
PLC 시스템은 올바르게 설치될 경우 수년간 문제 없이 사용할 수 있습니다. PLC의 설계에는 거의 모든 산업 환경에 설치할 수 있도록 여러 견고한 기능이 포함되어 있습니다. 그러나 시스템이 적절하게 설치되지 않을 경우 문제가 발생할 수 있습니다. 프로그래머블 로직 컨트롤러(PLC)는 온도 변화, 습도, 먼지, 충격 및 진동, 부식성 환경으로부터 보호가 필요합니다. 이러한 이유로 PLC는 일반적으로 그림 13-1 에 나타난 것처럼 기계 내부 또는 별도의 인클로저(enclosure)에 설치됩니다.
인클로저는 대기 환경으로부터의 주요 보호 수단입니다. NEMA(National Electrical Manufacturers Association, 미국전기제조업협회)는 인클로저가 제공하는 보호 등급에 따라 여러 종류의 인클로저를 정의하고 있습니다. 대부분의 반도체(솔리드 스테이트) 제어 장치에는 NEMA 12 인클로저가 권장됩니다. 이 인클로저는 일반적인 용도의 구역에 사용되며 먼지가 침투하지 않도록 설계되어 있습니다. 일반적으로 금속 인클로저가 사용되는데, 금속은 주변 장비에서 발생할 수 있는 전자기 방사(electromagnetic radiation)의 영향을 최소화하는 차폐 기능을 제공하기 때문입니다.
모든 PLC 설치에서 전원 공급 장치, 로컬 I/O 랙(rack), 프로세서(processor)에서 발생한 열은 인클로저 내부에 축적되며, 이를 주변 공기로 방출해야 합니다. 과도한 열은 PLC의 불안정한 동작 또는 고장을 유발할 수 있습니다. 많은 응용 분야에서 자연 대류 냉각만으로도 제어기 구성품을 지정된 온도 범위 내에서 유지할 수 있습니다. 인클로저 내부에 충분한 공간을 확보하도록 구성품 간 간격을 적절히 두는 것만으로도 일반적으로 충분한 열 방출이 가능합니다. 인클로저 내부 온도는 제어기의 최대 동작 온도(일반적으로 최대 60°C)를 초과해서는 안 됩니다. 내부 또는 주변 온도가 높은 경우 팬(fan)이나 송풍기(blower)와 같은 추가 냉각 장치가 필요할 수 있습니다. PLC는 항상 제조사 명칭이 바깥쪽을 향하고 글자가 올바른 방향이 되도록 수평으로 설치하며, 이는 그림 13-2 에 나타나 있습니다. 열 특성 때문에 수직 설치는 권장되지 않습니다.
하드와이어드(hardwired)된 전자기식 마스터 컨트롤 릴레이(MCR, master control relay)는 일반적으로 PLC 시스템 배선의 일부로 포함됩니다. 마스터 컨트롤 릴레이는 소프트웨어에 의존하지 않고 전체 회로를 비에너지 상태로 만들 수 있는 수단을 제공합니다. PLC 내부에서 프로그래밍되는 MCR만으로는 안전 요구사항을 충족할 수 없습니다. 하드와이어드 MCR은 비상 상황에서 I/O 랙으로 공급되는 전원을 차단하도록 연결되지만, 프로세서(processor)에는 전원이 유지되도록 합니다. 그림 13-3 은 마스터 컨트롤 릴레이가 포함된 AC 전원 분배의 일반적인 배선을 나타냅니다. 회로의 동작은 다음과 같이 요약할 수 있습니다.
• 필요할 경우 PLC를 무전원 상태에서 정비할 수 있도록 전원 차단 스위치를 제공합니다.
• 스텝다운 트랜스포머(step-down transformer)는 메인 전원 분배 시스템과의 절연을 제공하며, 제어기 전원 공급 장치와 DC 전원 공급 장치에 필요한 120V로 전압을 낮춥니다.
• 순간동작형 스타트 버튼을 눌러 마스터 컨트롤 릴레이를 여자(energize)합니다.
• 어느 하나의 비상정지(emergency-stop) 스위치를 눌러 마스터 컨트롤 릴레이를 비여자(de-energize) 상태로 만들면 I/O 장치의 전원이 차단됩니다.
• PLC 프로세서에는 계속 전원이 공급되므로 상태 LED는 최신 정보를 계속 표시할 수 있습니다.
• 비상정지 버튼은 일반적으로 정상폐(normally closed) 접점을 직렬로 연결해 페일세이프(fail-safe) 방식으로 구성합니다. 배선이 끊어지거나 단자에서 탈락할 경우 MCR 릴레이가 비여자 상태가 되어 전원이 차단됩니다.
13.2 Electrical Noise
전기적 노이즈(electrical noise)는 전자기 간섭(EMI, electromagnetic interference)이라고도 하며, 원치 않는 전기 신호로서 바람직하지 않은 영향을 일으키거나 제어 시스템 회로를 교란시키는 요소를 말합니다. EMI는 방사(radiated) 또는 전도(conducted) 형태로 발생할 수 있습니다. 방사 노이즈는 공기를 통해 이동하며, 전도 노이즈는 전원선과 같은 실제 도체를 통해 전달됩니다.
PLC가 노이즈가 많은 산업 환경에서 운전될 경우, 전기적 간섭 가능성에 대해 특별히 고려해야 합니다. 동작 노이즈 여유(noise margin)를 확보하기 위해 제어기는 대형 AC 모터나 고주파 용접기(high-frequency welder)와 같은 노이즈 발생 장비에서 떨어진 곳에 설치해야 합니다. 노이즈에 의해 발생하는 오동작은 일시적으로 나타나는 운전 오류이며, 특정 응용에서 기계의 위험한 동작을 유발할 수 있습니다. 노이즈는 일반적으로 입력선, 출력선, 전원 공급 라인을 통해 유입되며, 정전기장(electrostatic field) 또는 전자기 유도(electromagnetic induction)에 의해 이러한 라인에 결합될 수 있습니다. 다음과 같은 방법들은 전기적 간섭의 영향을 줄이는 데 효과적입니다.
• 제조사의 설계 기능
• 인클로저(enclosure) 내부에서의 올바른 제어기 설치
• 적절한 장비 접지(grounding)
• 올바른 배선 경로 구성
• 노이즈 발생 장치에 적절한 억제 회로(suppression) 추가
노이즈 억제는 릴레이(relay), 솔레노이드(solenoid), 모터 스타터(motor starter)와 같은 유도성 부하(inductive load)에 일반적으로 필요하며, 푸시버튼(pushbutton)이나 셀렉터 스위치(selector switch) 같은 하드 접점 장치로 동작될 때 특히 중요합니다. 유도성 부하가 차단될 때 억제하지 않으면 수천 볼트에 달하는 고전압 과도(transient)가 발생할 수 있습니다. 그림 13-4 는 모터 스타터 코일이 비여자(de-energize)될 때 발생하는 고전압 스파이크(spike)를 억제하기 위해 사용되는 전형적인 노이즈 억제 회로를 보여줍니다.
유도성 부하에 서지 억제가 없으면 프로세서(processor) 오류나 간헐적 동작이 발생할 수 있습니다. RAM이 손상되거나(데이터 손실), I/O 모듈이 고장처럼 보이거나 자체적으로 리셋될 수도 있습니다. 유도성 장치가 여자 또는 비여자될 때 PLC 시스템으로 역전압 펄스(back-fed pulse)가 유입될 수 있습니다. 이 역전압 펄스가 PLC 내부로 들어오면 PLC는 이를 정상적인 컴퓨터 펄스로 오인할 수 있으며, 단 한 번의 잘못된 펄스만으로도 PLC 동작 순서의 정상 흐름에 오동작을 일으킬 수 있습니다.
필드 전원 및 신호 배선을 PLC 인클로저까지 그리고 인클로저 내부에서 적절히 배선하는 것은 전기적 노이즈를 줄이는 데 중요합니다. 다음은 PLC 배선 경로에 대한 일반적인 지침입니다.
• I/O 신호는 가능한 한 가장 짧은 배선 경로를 사용합니다.
• PLC 인클로저에서 다른 위치로 연결되는 도체는 가능하면 금속 전선관(conduit)을 사용하며, 금속은 EMI에 대한 차폐 역할을 합니다.
• 신호선(signal wiring)과 전원선(power wiring)을 동일한 전선관에 넣지 않습니다.
• 신호 유형별로 I/O 배선을 분리하고, AC와 DC I/O 신호선은 별도의 와이어웨이(wireway)에 배치합니다.
• 온도전대(thermocouple)나 직렬 통신(serial communication)과 같은 저레벨 신호는 차폐 연선(shielded twisted pair)으로 배선하고 별도로 분리하여 설치합니다.
• 모든 종류의 전기적 간섭에 완전히 면역인 광섬유(fiber optic) 시스템을 신호 배선에 사용할 수도 있습니다.
PLC 설치에서 중요한 부분은 연결되는 각 전선과 전선이 연결되는 단자를 명확히 식별하는 것입니다. 그림 13-5 에 나타난 열수축성(heat-shrinkable) 와이어 식별 슬리브와 같은 신뢰성 있는 라벨링 방법을 사용해 각 전선을 표시해야 합니다. 입력/출력 모듈용 배선 커넥터에는 각 I/O 주소 및 연결된 장치를 식별할 수 있도록 라벨 공간이 포함되어 있습니다. 적절한 전선 및 단자 식별은 설치를 간소화하고 문제 해결 및 유지보수를 용이하게 합니다.
13.3 Leaky Inputs and Outputs
트랜지스터(transistor)나 트라이액(triac) 출력이 있는 많은 전자장치는 오프(off) 상태에서도 소량의 누설 전류(leakage current)가 발생하며, 이러한 전류는 PLC 입력 모듈에 연결될 경우 고려해야 합니다. 이러한 누설 현상은 일반적으로 2선식 근접 스위치(proximity), 광전 스위치(photoelectric) 및 유사 센서에서 흔히 나타납니다. 누설이 적을 경우 모듈의 입력 표시등이 깜빡이는 정도에서 그칠 수 있습니다. 그러나 누설 전류가 충분히 클 경우 입력 회로를 활성화해 잘못된 입력 신호(false input signal)를 만들 수 있습니다.
누설 입력 전류 문제의 일반적인 해결 방법은 그림 13-6 과 같이 입력 단자 양단에 블리더 저항(bleeder resistor)을 병렬로 연결하는 것입니다. 블리더 저항은 낮은 저항값을 갖는 추가 부하 역할을 하여, 누설 전류가 더 낮은 저항 경로로 흐르도록 합니다. 일반적으로 10 kΩ에서 20 kΩ 범위의 저항을 사용하여 문제를 해결합니다.
누설 전류는 많은 출력 모듈에서 사용되는 반도체 스위치(solid-state switch)에서도 발생할 수 있습니다. 고임피던스 부하(high-impedance load)를 사용하는 경우 입력 모듈에서와 유사한 문제가 발생할 수 있습니다. 예를 들어 그림 13-7 과 같이 PLC 출력이 경보음 발생 장치(sound alert device)를 구동한다고 가정하면, 누설 전류가 지속적 오동작 또는 간헐적인 동작을 일으킬 수 있습니다. 이를 해결하기 위해 저항을 연결하여 누설 전류를 소모하도록 할 수 있으며, 절연 릴레이(isolation relay)를 사용하는 방법도 있습니다.
13.4 Grounding
올바른 접지(grounding)는 모든 전기 설비에서 중요한 안전 조치입니다. PLC 설치에서 접지 요구사항에 대한 권위 있는 기준은 NEC(National Electrical Code, 미국 전기 규정)입니다. NEC는 전기 구성품을 안전하게 접지하기 위해 필요한 도체의 종류, 색상 규격, 접속 방식 등을 규정하고 있습니다. 또한 대부분의 제조사는 인클로저(enclosure) 내부에서 적용해야 하는 적절한 접지 방법에 대한 상세 지침을 제공합니다.
그림 13-8 은 PLC 접지 시스템을 나타냅니다. 올바르게 설치된 접지 시스템은 접지(earth ground)로 연결되는 저임피던스(low-impedance) 경로를 제공해야 합니다. 인클로저, CPU 및 I/O 섀시(chassis), 전원 공급 장치 등을 포함한 전체 PLC 설치 구성품은 단일 저임피던스 접지에 연결됩니다. 이 접속점은 낮은 DC 저항과 낮은 고주파 임피던스를 가져야 합니다. 인클로저 내부에는 중앙 접지 버스바(ground bus bar)를 두어 모든 섀시 및 전원 장비 접지 도체가 동일한 기준점으로 연결되도록 합니다. 이후 이 접지 버스는 건물의 접지(earth ground)에 연결됩니다.
접지 전류가 크게 발생할 경우, 도체 온도가 상승하여 납땜(solder)이 녹고 접지가 끊어질 수 있습니다. 따라서 접지 경로는 영구적(납땜 금지), 연속적이어야 하며, 시스템의 지락 전류(ground-fault current)를 최소 임피던스로 안전하게 흘릴 수 있어야 합니다. 섀시가 인클로저와 접촉하는 부분에는 페인트 또는 비도전성 물질을 제거해야 합니다. PLC 장비용 접지선은 최소 12 AWG 연선(stranded copper), 인클로저 백플레인(backplane) 접지선은 최소 8 AWG 연선을 사용해야 합니다. 접지 연결은 그림 13-9 와 같이 접지선과 러그(lug) 및 금속 인클로저 사이에 스타 와셔(star washer)를 넣어 이루어져야 합니다.
접지 루프(ground loop)는 입력 신호 장치에서 전류 또는 전압을 증가 또는 감소시켜 문제를 일으킬 수 있습니다. 그림 13-10 과 같이 각 장치의 접지가 서로 다른 접지 전위에 연결되어 있을 경우, 접지 간에 전류가 흐르며 루프 회로가 형성됩니다. 변화하는 자기장이 이러한 루프를 통과하면 전압이 유도되고 루프 내에 전류가 흐르게 됩니다. 수신 장치는 원하는 신호와 원치 않는 신호를 구분할 수 없게 되어 실제 프로세스 조건을 정확히 반영할 수 없습니다.
특정 연결에서는 전기적 노이즈 결합을 줄이기 위해 차폐 케이블(shielded cable)이 필요합니다. 차폐는 반드시 한쪽 끝에서만 접지해야 하며, 양쪽 끝을 모두 접지하면 접지 루프가 형성되어 문제를 유발합니다.
13.5 Voltage Variations and Surges
PLC 시스템의 전원 공급 장치는 전원선(line) 변동을 견디면서도 시스템이 지정된 동작 범위 내에서 기능하도록 설계되어 있습니다. 만약 전압 변동이 이 범위를 초과하면 시스템은 셧다운(shutdown)됩니다. 과도한 전압 변동이나 장시간의 저전압(brownout)이 예상되는 지역에서는 PLC의 불필요한 셧다운을 최소화하기 위해 정전압(CV, constant voltage) 트랜스포머 설치가 필요할 수 있습니다.
일부 PLC 시스템에서는 분전 시스템(distribution system)에 연결된 다른 장비에서 발생하는 전기적 교란으로부터 PLC를 절연하기 위해 절연 트랜스포머(isolation transformer)를 사용합니다. PLC는 혹독한 환경에서도 동작할 수 있도록 설계되어 있지만, 주변 장비가 상당한 간섭을 발생시켜 정상 동작에 간헐적인 장애를 유발할 수 있습니다. 일반적인 방법은 PLC 전원 공급 장치와 I/O 장치를 별도의 트랜스포머에 연결하는 것이며, 이 트랜스포머는 동시에 원하는 전압 수준으로 낮추는 스텝다운(step-down) 기능을 수행하기도 합니다.
유도성 부하(inductive load)의 전류가 차단될 때 매우 높은 전압 스파이크(spike)가 발생합니다. 이러한 높은 전압은 유도에 의해 발생한 전압을 흡수하는 억제(suppression) 기법을 통해 줄이거나 제거할 수 있습니다. 일반적으로 유도성 부하를 구동하도록 설계된 출력 모듈에는 이러한 억제 네트워크가 모듈 회로 일부로 내장되어 있습니다.
릴레이(relay), 솔레노이드(solenoid), 모터 스타터(motor starter), 모터 등과 같은 장치를 출력 모듈로 제어하는 경우, 추가 외부 억제 장치를 사용하는 것이 권장됩니다. 억제 장치는 부하 장치와 병렬(직접 across)로, 그리고 가능한 한 부하에 가까운 위치에 배선해야 합니다. 억제 구성 요소는 특정 유도성 장치의 스위칭 과도 특성을 억제할 수 있도록 적절한 정격을 가져야 합니다.
그림 13-11 은 DC 유도성 부하를 억제하기 위해 다이오드(diode)를 연결한 방법을 보여주며, 동작은 다음과 같이 요약할 수 있습니다.
• 다이오드는 솔레노이드 부하에 역바이어스(reverse-bias)로 연결됩니다.
• 정상 동작 시 전류는 다이오드를 흐를 수 없으며 솔레노이드 코일을 통해 흐릅니다.
• 솔레노이드의 전압이 차단될 때 원래 인가된 전압과 극성이 반대인 전압이 붕괴하는 자기장에 의해 생성됩니다.
• 유도된 전압은 다이오드를 통해 전류가 흐르게 하여 높은 전압 스파이크를 소멸시킵니다.
그림 13-12 는 AC 부하 장치를 억제하기 위해 RC(저항/커패시터) 스너버(snubber) 회로를 연결하는 방법을 보여주며, 동작은 다음과 같이 정리됩니다.
• 코일로 가는 전류 경로가 열릴 때 발생하는 전압 피크는 RC 네트워크가 안전하게 단락시킵니다.
• 직렬로 연결된 저항과 커패시터는 과도 전압의 상승 속도를 늦춥니다.
• 커패시터 양단의 전압은 순간적으로 변화할 수 없으므로, 회로가 열릴 때 감소하는 과도 전류가 짧은 순간 동안 커패시터를 통해 흐르면서 전압이 더 천천히 증가하도록 합니다.
금속 산화 바리스터(MOV, metal oxide varistor) 서지 억제기는 그림 13-13 에 나타난 것처럼 가장 널리 사용되는 서지 보호 장치입니다. MOV는 백투백(back-to-back)으로 연결된 두 개의 제너 다이오드(zener diode)와 유사한 방식으로 동작합니다. MOV의 동작은 다음과 같이 요약됩니다.
• 장치는 양 방향 어느 쪽에서든 전압이 정격값을 초과하기 전까지는 개방 회로(open circuit)로 동작합니다.
• 정격값보다 큰 전압 피크가 순간적으로 발생하면 MOV는 단락(short circuit)처럼 동작하여 나머지 회로로부터 이 전압을 우회시킵니다.
13.6 Program Editing and Commissioning
프로그램의 런(rung)을 입력한 이후에는 이를 수정해야 할 필요가 있을 수 있습니다. 편집(editing)이란 다양한 편집 기능을 통해 기존 프로그램을 변경할 수 있는 능력을 말합니다. 편집 기능을 사용하면 명령(instruction)과 런을 추가하거나 삭제할 수 있으며, 주소(address), 데이터(data), 비트(bit)를 변경할 수도 있습니다. 편집 형식은 제조사와 PLC 모델에 따라 서로 다릅니다.
오늘날 대부분의 PLC 프로그래밍 소프트웨어는 Microsoft Windows 기반이므로, Windows 사용에 익숙하고 마우스로 포인트 및 클릭하는 방법을 알고 있다면 프로그램을 편집하는 데 어려움이 없을 것입니다. 일반적으로 명령과 런은 왼쪽 마우스 버튼으로 클릭하여 선택합니다. 왼쪽 버튼을 더블 클릭하면 명령의 주소를 편집할 수 있으며, 오른쪽 버튼을 클릭하면 관련 편집 명령이 포함된 팝업 메뉴가 나타납니다. 기호(symbol)나 주소에 대한 추가 설명을 포함하고 싶다면, 해당 기호 바로 위의 래더(radder) 런에 주소 설명(address description)을 입력할 수 있습니다. 페이지 또는 런 코멘트를 추가하려면 코멘트를 추가하고자 하는 런 번호를 오른쪽 클릭합니다.
제어 프로세스를 시운전(start-up)할 준비를 하는 과정, 즉 커미셔닝(commissioning)은 PLC, 래더 논리 프로그램, I/O 장치 및 관련 배선이 사양대로 동작하는지 확인하기 위한 일련의 시험을 포함합니다. 어떤 제어 시스템이든 커미셔닝을 수행하기 전에 제어 시스템이 어떻게 동작하는지, 다양한 구성 요소가 어떻게 상호작용하는지 확실히 이해하고 있어야 합니다. 다음은 PLC 시스템을 커미셔닝할 때 따라야 할 일반적인 절차입니다.
• PLC 또는 입력 장치에 전원을 인가하기 전에, 손상이나 부상을 유발할 수 있는 출력 장치를 분리하거나 고립시킵니다. 일반적으로 모터를 기동하거나 밸브를 동작시키는 등 움직임을 유발하는 출력이 이에 해당됩니다.
• PLC와 입력 장치에 전원을 인가합니다. 정격 전압이 정확히 공급되고 있는지 전압을 측정해 확인합니다.
• PLC의 상태 표시등(status indicator)을 점검합니다. 전원이 올바르게 공급되었다면 전원 표시등이 켜져 있어야 하며, 고장 표시가 없어야 합니다. PLC가 제대로 기동하지 않는다면 장치 자체에 결함이 있을 수 있습니다. PLC는 고장 발생 빈도가 매우 낮지만, 고장이 발생한다면 대체로 전원을 처음 인가했을 때 발생합니다.
• PLC 프로그래밍 소프트웨어가 실행 중인 프로그래밍 장치와 PLC 간의 통신이 정상인지 확인합니다.
• PLC가 출력 회로를 여자하지 않도록 하는 모드에 설정합니다. PLC 제조사에 따라 이 모드는 disable, continuous test, single-scan mode 등으로 불릴 수 있습니다. 이 모드에서는 입력 장치를 모니터링하고 프로그램을 실행하며 출력 이미지 파일(output image file)을 업데이트할 수 있지만 출력 회로는 비여자 상태로 유지됩니다.
• 각 입력 장치를 하나씩 수동 조작하여 PLC의 입력 상태 표시등이 예상대로 켜지고 꺼지는지 확인합니다. 또한 프로그램에서 해당 입력 장치가 올바른 주소와 연결되어 있고 조건 명령(condition instruction)이 기대대로 true 또는 false로 변하는지 모니터링합니다.
• 각 출력을 수동으로 시험합니다. 한 가지 방법은 출력 장치가 배선된 단자에 전원을 인가하여 확인하는 것입니다. 이 시험은 출력 필드 장치와 해당 배선을 점검하기 위한 것입니다.
• 모든 입력, 출력 및 프로그램 주소를 확인한 후 카운터(counter), 타이머(timer) 등의 설정값(preset values)을 모두 점검합니다.
• 분리되어 있던 출력 장치가 있다면 다시 연결하고 PLC를 run 모드로 설정합니다. 모든 비상정지 버튼(emergency stop)의 동작과 전체 시스템의 동작을 시험합니다.
13.7 Programming and Monitoring
PLC를 프로그래밍할 때 사용 가능한 명령 입력 방식은 제조사와 모델에 따라 여러 가지가 있습니다. 일반적으로 개인용 컴퓨터에 적절한 소프트웨어를 사용해 PLC의 프로그램을 작성하고 모니터링합니다. 또한 오프라인(offl ine) 프로그래밍이 가능하여, PLC에 연결하지 않은 상태에서 개인용 컴퓨터에 프로그램을 작성하고 저장한 뒤 나중에 PLC로 다운로드(download)할 수 있습니다. 그림 13-14 는 컴퓨터로부터 프로그램을 다운로드하거나 업로드(upload)하는 방법을 보여줍니다.
온라인(online) 프로그래밍에서는 PLC가 실행 중인 상태에서 프로그램을 수정하고, 수정된 내용을 시험하며, 이를 승인하거나 거부할 수 있습니다. 그러나 오프라인 프로그래밍은 프로그램 추가, 변경, 삭제가 PLC에 다운로드되기 전까지 시스템 동작에 영향을 주지 않으므로 가장 안전한 편집 방식입니다.
많은 제조사는 사용자 프로그램을 실행하면서도 어떤 출력도 여자하지 않는 연속 시험 모드(continuous test mode)를 제공합니다. 이 모드에서는 출력이 비활성화된 상태에서 제어 프로그램을 실행하고 디버깅할 수 있습니다. 각 런을 점검하려면 프로그래밍 장치에서 해당 출력 런을 모니터링하면 됩니다. 또한 제어 논리를 디버깅하기 위해 단일 스캔(single-scan) 시험 모드가 제공되기도 합니다. 이 모드에서는 단일 스캔 키를 누를 때마다 사용자 프로그램을 한 번만 스캔하며, 어떤 출력도 여자되지 않습니다.
온라인 프로그래밍 모드는 설비가 운전 중일 때도 프로그램을 변경할 수 있게 해줍니다. PLC가 장비 또는 공정을 제어하는 동안 사용자는 원하는 제어 명령이나 데이터 값을 추가, 변경, 삭제할 수 있습니다. 어떤 수정이든 명령을 입력하는 즉시 실행되므로 변경으로 인해 발생할 수 있는 모든 기계 동작 순서를 사전에 충분히 검토해야 합니다. 온라인 프로그래밍은 해당 PLC의 동작 원리와 제어 대상 기계를 충분히 이해하는 숙련된 작업자만이 수행해야 합니다. 가능한 경우 기존 프로그램에서 새로운 프로그램으로 안전하게 전환하기 위해 오프라인에서 변경 작업을 수행하는 것이 좋습니다.
PLC 프로그래밍 패키지에는 데이터 모니터(data monitor)와 크로스 레퍼런스(cross reference)라는 유용한 모니터링 도구가 포함되어 있습니다. 데이터 모니터 기능을 사용하면 특정 프로그램 변수들을 모니터링하거나 수정할 수 있습니다. 크로스 레퍼런스 기능은 특정 주소가 사용된 모든 위치를 검색할 수 있도록 해줍니다.
데이터 모니터 기능을 사용하면 데이터 테이블의 어느 위치에서든 데이터를 표시할 수 있습니다. PLC에 따라 데이터 모니터 기능은 다음과 같은 작업에 사용될 수 있습니다.
• 명령 내부의 데이터를 조회
• 명령 사용 전 데이터를 저장하거나 값 설정
• 제어 디버깅을 위해 값이나 비트를 설정 또는 리셋
• 진법(radix) 또는 데이터 형식을 변경
Figure 13-15 는 Allen-Bradley SLC 500 PLC와 그에 연결된 RSLogix 소프트웨어의 데이터 파일(data file) 폴더와 창을 보여줍니다. 데이터 파일 폴더를 사용하면 I/O 파일의 상태뿐 아니라 상태 파일(S2), 바이너리 파일(B3), 타이머 파일(T4), 카운터 파일(C5), 제어 파일(R6), 정수 파일(N7), 부동소수점 파일(F8)의 상태도 확인할 수 있습니다. 데이터 모니터(data monitor) 기능을 사용할 때는 항상 주의해야 합니다. 데이터를 변경하면 프로그램 동작에 영향을 미쳐 출력 장치가 켜지거나 꺼질 수 있기 때문입니다.
PLC를 트러블슈팅할 때 특정 주소가 래더 프로그램 내에서 사용된 모든 위치를 찾아야 할 수 있습니다. 크로스 레퍼런스(cross reference) 기능은 모든 프로그램 파일을 검색하여 선택된 주소가 사용된 모든 위치를 찾아줍니다. 사용자는 동일 주소의 출력 코일(output coil)이나 접점(contact)이 프로그램의 어느 위치에서 사용되는지 모두 확인하여 동작을 추적할 수 있습니다. 그림 13-16 은 Allen-Bradley SLC 500 PLC와 RSLogix 소프트웨어의 크로스 레퍼런스 보고서 예시를 보여줍니다. 주요 내용은 다음과 같습니다.
• 보고서에는 프로그램에서 사용된 모든 주소가 포함됩니다.
• 주소는 데이터 테이블 파일 순서와 동일하게 표시됩니다.
• 검색된 주소(O:2/1)가 강조 표시되어 나타납니다.
• 각 주소에 대한 설명(description)이 표시됩니다.
• 각 주소에 대해 명령 유형, 프로그램 파일, 런 번호가 함께 표시됩니다.
• 해당 주소의 모든 사용 위치가 프로그램 파일 2의 런 0부터 순서대로 나타납니다.
컨택 히스토그램(contact histogram) 기능은 데이터 테이블 값의 상태 전이 이력(on/off 상태)을 확인할 수 있도록 해줍니다. 비트(bit)의 상태(켜짐/꺼짐)와 해당 비트가 그 상태로 유지된 시간(시간, 분, 초, 1/100초)이 표시됩니다. 컨택 히스토그램 파일에서 누적 시간(accumulated time)은 히스토그램 기능이 실행된 총 시간을 의미합니다. 컨택 히스토그램의 델타 시간(delta time)은 상태 변화 사이의 경과 시간을 의미합니다. 컨택 히스토그램은 하드웨어 또는 논리적 원인으로 발생하는 간헐적 문제를 찾는 데 매우 유용하며, 상태와 상태 변화 간 시간 흐름을 추적함으로써 다양한 유형의 문제를 진단할 수 있습니다.
컨택 히스토그램(contact histogram) 기능은 데이터 테이블 값의 상태 변화 이력(on/off 상태)을 표시할 수 있습니다. 비트(bit)의 상태(켜짐/꺼짐)와 해당 비트가 켜지거나 꺼진 상태로 유지된 시간(시간, 분, 초, 1/100초 단위)이 나타납니다. 컨택 히스토그램 파일에서 누적 시간(accumulated time)은 히스토그램 기능이 실행된 총 시간을 의미합니다. 컨택 히스토그램의 델타 시간(delta time)은 상태 변화 사이의 경과 시간을 나타냅니다. 컨택 히스토그램은 하드웨어 또는 논리와 관련된 간헐적인 문제를 탐지하는 데 매우 유용합니다. 상태와 상태 변화 사이의 시간을 추적함으로써 여러 유형의 문제를 식별할 수 있습니다.
13.8 Preventive Maintenance
PLC 시스템의 고장을 가장 효과적으로 예방하는 방법은 올바른 예방 정비(preventive maintenance) 프로그램을 수행하는 것입니다. PLC는 최소한의 유지보수로 안정적인 동작을 제공하도록 설계되었지만, 정기적으로 점검해야 할 예방 조치들이 있습니다.
많은 제어 시스템은 제품 변경 등의 이유로 공정을 짧은 시간 동안 정지해야 합니다. 이러한 짧은 정지 기간 동안 다음과 같은 예방 정비 작업을 수행해야 합니다.
• 인클로저(enclosure)에 설치된 필터는 내부 공기 순환이 원활하도록 청소하거나 교체해야 합니다.
• PLC 회로 기판에 쌓인 먼지나 오염물은 제거해야 합니다. 먼지가 히트 싱크(heat sink)나 전자 회로에 쌓이면 열 방출이 방해되어 회로 오동작을 일으킬 수 있습니다. 또한 도전성 먼지가 전자 기판에 닿으면 단락(short circuit)이 발생해 회로 기판이 영구 손상될 수 있습니다. 인클로저 문을 항상 닫아두면 오염물의 빠른 축적을 방지할 수 있습니다.
• I/O 모듈에 연결된 모든 단자는 플러그, 소켓, 터미널 스트립, 모듈 접속부 등이 확실하게 체결되어 있는지 확인해야 합니다. 접속이 느슨하면 제어기가 제대로 기능하지 않을 뿐 아니라 시스템 구성 요소의 손상이 발생할 수 있습니다.
• 모든 필드(field) I/O 장치는 적절하게 조정되어 있는지 점검해야 합니다. 공정 제어용 아날로그 회로 기판은 6개월마다 교정(calibration)해야 하며, 센서와 같은 장치는 한 달 단위로 점검하는 것이 좋습니다. 기계적 신호를 전기 신호로 변환하는 필드 장치는 오염되거나 마모되거나 깨지는 등의 문제가 발생할 수 있으며, 이 경우 정확한 설정에서 동작하지 않게 됩니다.
• 노이즈 또는 열을 많이 발생시키는 장비가 PLC에 지나치게 가까이 이동되지 않도록 주의해야 합니다.
• CPU의 RAM 메모리를 백업하는 배터리의 상태를 점검해야 합니다(그림 13-17). 대부분의 CPU는 배터리 전압이 PLC 메모리를 유지하기에 충분한지 표시하는 상태 표시등(status indicator)을 갖추고 있습니다. 배터리 모듈을 교체해야 하는 경우 반드시 동일한 종류의 배터리 모듈로 교체해야 합니다.
• 자주 필요한 예비 부품을 비축해야 합니다. 입력 및 출력 모듈은 PLC 구성 요소 중 고장이 가장 빈번한 부품입니다.
• 사용 중인 운영 프로그램의 마스터 복사본을 보관해야 합니다.
작업자가 부상을 당하거나 장비가 손상되는 것을 방지하기 위해, 시스템의 전원을 제거한 상태에서만 모든 접속을 점검해야 합니다. 전기적 전원뿐 아니라 공압(pneumatic), 유압(hydraulic) 등 다른 모든 전원도 PLC가 제어하는 장비에서 작업하기 전에 반드시 비에너지 상태로 만들어야 합니다. 대부분의 회사는 유지보수 및 수리가 수행되는 동안 장비가 작동하지 않도록 그림 13-18 과 같은 잠금(lockout) 및 태그(tagout) 절차를 사용합니다. 작업자 보호 태그는 PLC와 장비의 전원 공급원에 부착되며, 이 태그는 설치한 작업자 본인만 제거할 수 있습니다. 태그 외에도 장비가 재에너지 상태가 되지 않도록 자물쇠(lock)도 함께 부착합니다.
13.9 Troubleshooting
PLC에 고장이 발생하면 문제를 해결하기 위해 신중하고 체계적인 접근 방식으로 시스템을 트러블슈팅해야 합니다. PLC는 제어 프로그램을 모니터에 표시하여 실행되는 과정을 실시간으로 확인할 수 있기 때문에 비교적 트러블슈팅이 용이합니다. 제어 시스템이 정상 운전된 이력이 있다면 프로그램 논리의 정확성에 대해 어느 정도 신뢰할 수 있습니다. 반면, 아직 한 번도 동작하지 않았거나 커미셔닝 중인 시스템이라면 프로그래밍 오류 가능성을 고려해야 합니다.
문제가 발생했을 때 트러블슈팅 절차의 첫 단계는 문제와 그 원인을 식별하는 것입니다. 문제의 원인은 일반적으로 프로세서(processor) 모듈, I/O 하드웨어, 배선(wiring), 기계 입력 또는 출력, 래더 논리 프로그램 중 하나로 좁혀집니다. 원인이 파악되면 해결은 비교적 간단한 경우가 많습니다. 다음에서는 이러한 잠재적 문제 영역에 대한 트러블슈팅을 다룹니다.
Processor Module
프로세서는 잠재적 문제를 스스로 감지하는 역할을 합니다. 동작 중 오류 검사를 수행하며, 상태 정보(status information)를 프로세서 모듈 전면에 있는 표시등(LED)으로 전달합니다. 프로그래밍 소프트웨어를 통해 프로세서 상태(processor status)에 접근하면 프로세서 오류를 진단하거나 더 상세한 정보를 얻을 수 있습니다. 그림 13-19 는 프로세서 모듈에서 확인할 수 있는 진단용 LED 예시를 보여주며, 상태는 다음과 같이 요약할 수 있습니다.
RUN (녹색)
• 점등 : 프로세서가 RUN 모드에서 동작 중임을 나타냅니다.
• 점멸 : RAM에서 메모리 모듈로 프로그램을 전송 중임을 의미합니다.
• 소등 : RUN 이외의 모드에 있음을 의미합니다.
FLT (적색)
• 전원 인가 시 점멸 : 프로세서가 설정되지 않았음을 의미합니다.
• 동작 중 점멸 : 프로세서, 섀시(chassis), 메모리 중 하나에 중대한 오류가 있음을 의미합니다.
• 점등 : 치명적 오류(통신 불가)가 존재함을 의미합니다.
• 소등 : 오류 없음.
BATT (적색)
• 점등 : 배터리 전압이 기준치 이하이거나 배터리가 없거나 연결되지 않았음을 의미합니다.
• 소등 : 배터리가 정상임을 의미합니다.
프로세서는 사용자 프로그램이 잘못 실행될 수 있는 문제를 지속적으로 감시합니다. 컨트롤러 종류에 따라 고장 릴레이 접점(fault relay contact)이 제공되기도 합니다. 고장 릴레이는 프로세서가 제어하며 특정 고장 조건이 하나 이상 발생하면 활성화됩니다. 고장 릴레이 접점은 출력 회로를 비활성화하고 고장을 알리는 데 사용됩니다.
대부분의 PLC는 시스템의 스캔(scan) 과정을 감시하는 워치독 타이머(watchdog timer)를 포함합니다. 워치독 타이머는 프로세서가 일정한 시간 내에 설정 및 리셋해야 하는 독립된 타이밍 회로입니다. 워치독 타이머는 CPU가 스캔을 완료하는 시간을 감시하며, 스캔 시간이 너무 길면 워치독 주요 오류가 선언됩니다. PLC 사용자 매뉴얼에는 이 기능 사용 방법이 설명되어 있습니다.
현대의 마이크로프로세서와 마이크로컴퓨터 하드웨어는 높은 신뢰성을 가지므로, 지정된 온도·습도 조건 등에서 운전되는 경우 PLC 프로세서 하드웨어가 고장 날 가능성은 매우 낮습니다. PLC 프로세서 섀시는 일반적으로 혹독한 환경에서도 견딜 수 있도록 설계됩니다.
Input Malfunctions
컨트롤러가 RUN 모드에서 동작 중임에도 출력 장치가 프로그램대로 동작하지 않는 경우, 다음 원인과 관련될 수 있습니다.
• 필드 장치(field device)와 모듈 간 입·출력 배선
• 필드 장치 또는 모듈의 전원 공급 장치
• 입력 감지 장치(input sensing device)
• 출력 액추에이터(actuator)
• PLC I/O 모듈
• PLC 프로세서
문제 원인을 좁히는 가장 일반적인 방법은 의심되는 I/O의 실제 상태를 컨트롤러 상태 표시등과 비교하는 것입니다. 대부분의 입력 또는 출력 장치에는 최소 두 개의 상태 표시등이 있으며, 하나는 I/O 모듈에 있고 다른 하나는 프로그래밍 장치의 모니터 기능을 통해 표시됩니다.
Figure 13-20 의 회로는 이산(discrete) 입력 오동작을 점검하는 방법을 보여줍니다. 점검 절차는 다음과 같이 요약할 수 있습니다.
입력 하드웨어가 문제의 원인으로 의심될 경우, 가장 먼저 확인해야 할 사항은 대응하는 입력 장치(예: 푸시버튼, 리미트 스위치)에서 전원이 공급될 때 입력 모듈의 상태 표시등(status indicator)이 점등되는지 여부입니다.
• 입력 장치가 동작 중인데도 입력 모듈의 상태 표시등이 점등되지 않는다면, 입력 단자에 걸리는 전압을 측정하여 올바른 전압 수준인지 확인합니다.
• 전압 수준이 정상이라면 입력 모듈을 교체해야 합니다.
• 전압 수준이 비정상이면 전원 공급 장치, 배선, 또는 입력 장치에 결함이 있을 가능성이 있습니다.
프로그래밍 장치의 모니터 화면이 조건 명령(condition instruction)에 대해 올바른 상태를 표시하지 않는 경우, 입력 모듈이 입력 신호를 프로세서 모듈에서 요구하는 논리 레벨 전압으로 제대로 변환하지 못하고 있을 수 있습니다. 이 경우 입력 모듈을 교체해야 합니다. 교체 후에도 문제가 해결되지 않고 배선에 이상이 없다고 판단된다면, I/O 랙(rack), 통신 케이블(communication cable), 또는 프로세서(processor)를 의심해야 합니다.
그림 13-21 은 전형적인 입력 장치 트러블슈팅 가이드를 보여줍니다. 이 가이드는 조건 명령과 해당 명령의 참/거짓(true/false) 상태가 외부 입력 장치와 어떻게 연관되는지를 설명합니다.
Output Malfunctions
논리 표시등(logic indicator) 외에도 일부 출력 모듈은 퓨즈 단선(blown fuse) 표시등, 전원(power) 표시등 또는 두 가지 모두를 포함하고 있습니다. 퓨즈 단선 표시등은 출력 회로의 보호 퓨즈 상태를 나타내며, 전원 표시등은 부하(load)에 전원이 공급되고 있음을 나타냅니다. 그림 13-22 에 나타난 전자식 보호(electronic protection)도 짧은 시간 내 단락(short-circuit)이나 과전류(overload) 조건으로부터 모듈을 보호하기 위해 사용됩니다. 이러한 보호는 열 차단(thermal cut-out) 원리를 기반으로 합니다. 출력 채널에서 단락 또는 과전류 상태가 발생하면, 열 차단 온도에 도달한 직후 수 밀리초 이내에 해당 채널의 전류가 제한됩니다. 다른 모든 채널은 프로세서(processor)의 제어에 따라 정상적으로 동작을 계속합니다.
출력이 기대대로 여자되지 않을 경우 가장 먼저 출력 모듈의 퓨즈 단선 표시등을 확인해야 합니다. 많은 출력 모듈에서는 각 출력마다 별도 퓨즈가 있습니다. 이 표시등은 일반적으로 단선된 퓨즈에 해당하는 출력 회로가 여자될 때만 점등됩니다. 만약 표시등이 점등된다면, 먼저 오동작의 원인을 수정한 후 모듈 내 단선된 퓨즈를 교체해야 합니다.
그림 13-23 은 전형적인 이산(discrete) 출력 모듈 트러블슈팅 가이드를 보여줍니다. 일반적으로 이산 출력 모듈을 점검할 때 다음 사항들을 확인해야 합니다.
• 퓨즈 단선 표시등이 점등되지 않은 경우(퓨즈 정상), 출력 장치가 LED 상태 표시등에 반응하는지 확인합니다.
• 출력 모듈의 논리 상태 표시등(logic status indicator)은 입력 모듈의 상태 표시등과 동일한 방식으로 동작합니다. 표시등이 켜져 있다면, 이는 모듈의 논리 회로가 프로세서로부터 출력을 켜라는 명령을 인식했음을 의미합니다.
• 출력 런이 여자되고, 모듈 상태 표시등이 켜져 있음에도 출력 장치가 동작하지 않는다면, 출력 장치로 연결된 배선 또는 출력 장치 자체에 문제가 있을 가능성을 의심해야 합니다.
• 프로그래밍 장치 모니터에서 출력 장치가 켜지도록 명령되었는데도 상태 표시등이 꺼져 있다면, 출력 모듈 또는 프로세서(processor)에 문제가 있을 수 있습니다.
• 출력 단자의 전압을 측정하여 전압이 비정상이라면 전원 공급 장치, 배선, 출력 장치 중 하나가 고장일 가능성이 있습니다.
Ladder Logic Program
많은 PLC 소프트웨어는 프로그램 논리를 검증하기 위한 다양한 소프트웨어 점검 기능을 제공합니다. 그림 13-24 는 RSLogix 500 소프트웨어에서 프로그램 오류를 검증하는 예를 보여줍니다. Edit 메뉴에서 Verify Project 를 선택하면 프로그램 오류를 검사할 수 있습니다. 예시는 오류 메시지가 어떤 형태로 표시되는지를 보여줍니다.
래더 논리 프로그램 자체는 한 번 정상적으로 작동한 적이 있다면 실패할 가능성이 매우 낮습니다. 래더 논리 프로그램을 저장하는 메모리 IC의 하드웨어 결함이 프로그램을 변형시킬 수 있으나, 이는 PLC 하드웨어 고장에 해당합니다.
프로그램 트러블슈팅은 정상 동작하는 출력과 동작하지 않는 출력을 식별하는 것에서 시작합니다. 그 다음 동작하지 않는 출력이 있는 런에서 출력 방향으로부터 역추적하여 어떤 논리가 출력의 여자(energize)를 방해하는지 확인합니다. 일반적인 논리 오류는 다음과 같습니다.
• 닫힘 조건(examine if closed) 명령을 사용해야 할 곳에 열림 조건(examine if open) 명령을 잘못 사용한 경우(또는 그 반대)
• 프로그램에 잘못된 주소 사용
래더 논리 프로그램이 고장날 가능성은 낮지만, 실제 공정(process)이 원래 프로그램에서 고려하지 않았던 상태에 있을 수 있으며, 이 경우 프로그램이 해당 상태를 적절히 제어하지 못합니다. 이러한 상황에서는 새로운 상태를 포함하도록 프로그램을 수정해야 합니다. 제어 시스템 설명과 래더 논리 프로그램을 면밀히 검토하면 이러한 유형의 문제를 발견하는 데 도움이 됩니다.
Force on 및 Force off 명령은 테스트 목적으로 특정 비트(bit)를 강제로 켜거나 끌 수 있게 해줍니다. 그림 13-25 는 RSLogix 500 소프트웨어에서 강제(force)가 활성화 또는 비활성화된 상태가 어떻게 표시되는지 보여줍니다. 강제 기능을 사용하면 실제 동작을 시뮬레이션하거나 특정 출력 장치를 제어할 수 있습니다. 예를 들어, 솔레노이드 밸브(solenoid valve)를 강제로 켜면 프로그램을 우회한 상태에서 솔레노이드가 실제로 동작하는지 즉시 확인할 수 있습니다. 동작한다면 문제는 하드웨어가 아니라 소프트웨어에 있는 것입니다. 반대로 강제를 적용했는데 출력이 반응하지 않는다면 실제 출력 모듈 또는 솔레노이드 장치 자체에 문제가 있는 것입니다. 강제 기능을 사용할 때는 장비와 작업자를 보호하기 위해 필요한 모든 안전 조치를 준수해야 합니다.
PLC의 명령 집합에는 트러블슈팅을 위해 특정 진단 명령이 포함될 수 있습니다.
그림 13-26 에 나타난 일시 종료(TND, temporary end) 명령은 프로그램을 점진적으로 디버깅하기 위해 스캔되는 논리 범위를 조정할 때 사용됩니다. 이 출력 명령의 동작은 다음과 같이 요약할 수 있습니다.
• 이 명령은 해당 런(rung)의 조건이 참일 때만 동작하며, 프로세서가 TND 명령 이후의 논리를 스캔하지 않도록 합니다.
• 프로세서가 참(true) 상태의 TND 런을 만나면 워치독 타이머(watchdog timer)를 0으로 리셋하고 I/O 업데이트를 수행하며, 메인 프로그램의 첫 번째 명령부터 다시 실행을 시작합니다.
• TND 런이 거짓(false)이면 프로세서는 다음 TND 명령 또는 END 명령까지 스캔을 계속합니다.
• 프로그램의 서로 다른 위치에 TND 명령을 삽입하면 프로그램 전체를 여러 단계로 나누어 순차적으로 시험할 수 있습니다.
• 트러블슈팅이 완료되면 남아 있는 모든 TND 명령을 프로그램에서 제거해야 합니다.
그림 13-27 의 일시 정지(SUS, suspend) 명령은 특정 조건을 포착하여 프로그램 디버깅과 시스템 트러블슈팅을 수행하기 위해 사용됩니다. 이 출력 명령의 동작은 다음과 같이 요약할 수 있습니다.
• 런이 참이면 컨트롤러는 suspend 또는 idle 모드로 전환됩니다.
• 예시에서처럼 100과 같은 suspend ID는 프로그래머가 선택하여 명령에 입력해야 합니다.
• SUS 명령이 실행되면 ID 번호 100이 상태 파일(status file) 워드 7(S:7)에 기록됩니다.
• 여러 개의 SUS 명령이 존재하면 어떤 SUS 명령이 실행되었는지 해당 ID를 통해 알 수 있습니다.
• SUS 명령이 포함된 프로그램 또는 서브루틴 번호는 상태 파일 워드 8(S:8)에 기록됩니다.
• 모든 래더 출력은 비여자 상태가 되지만, 다른 상태 파일의 데이터는 SUS 명령이 실행된 시점의 값으로 유지됩니다.
대부분의 PLC 시스템 고장은 필드(field) 배선과 필드 장치에서 발생합니다. 필드 장치와 I/O 모듈 단자 사이의 배선은 고장이 발생하기 쉬운 부분입니다. 불량한 배선이나 기계적 접속 불량은 I/O 모듈로 전달되는 신호를 차단하거나 단락시킬 수 있습니다.
공정에 연결된 센서와 액추에이터도 고장날 수 있습니다. 기계식 스위치는 정상 운전 중 마모되거나 손상될 수 있으며, 모터, 히터, 조명, 센서 등도 고장날 수 있습니다. 입력 및 출력 필드 장치는 I/O 모듈과 전기적으로 호환되어야 정상적으로 동작합니다.
명령이 올바르게 작동하지 않는 것처럼 보인다면, 동일한 주소가 프로그램 내 두 개 이상의 코일(coil) 명령에서 사용되어 주소 충돌(address conflict)을 일으켰을 가능성이 있습니다. 이 경우 여러 런이 동일 출력 코일을 제어하게 되어 트러블슈팅이 매우 어려워집니다. 중복 출력이 있는 경우 특정 런이 참이더라도, 그 아래 있는 또 다른 런이 거짓이라면 PLC는 출력을 끕니다.
그림 13-28 은 동일한 주소를 두 개의 코일이 사용할 때 발생하는 문제를 보여줍니다. 문제 상황은 다음과 같이 요약할 수 있습니다.
• 입력 스위치 I:1/1 을 켜도 PL 출력 O:2/1 이 프로그램된 대로 켜지지 않는 것이 문제입니다.
• 핵심 원인은 PLC가 프로그램을 좌→우, 상→하 순서로 스캔한다는 점입니다.
• 입력 I:1/1 이 참(닫힘)이고 입력 I:1/2 가 거짓(열림)이면 출력 O:2/1 은 꺼집니다.
• 이는 PLC가 출력 업데이트를 입력 I:1/2 의 상태를 기준으로 수행하기 때문입니다.
• 따라서 입력 I:1/1 의 개폐 여부와 관계없이 출력은 입력 스위치 I:1/2 의 상태만을 따르게 됩니다.
문제가 발생했을 때 가장 좋은 접근 방식은 모든 접속, 스위치, 모터, 센서, I/O 모듈 등을 무작위로 점검하는 것이 아니라, 문제를 일으킬 가능성이 있는 장치나 접속을 논리적으로 식별하는 것입니다. 먼저 시스템의 동작을 관찰하고 문제를 명확히 기술해야 합니다. 이러한 관찰 내용과 제어 시스템의 설명을 바탕으로 가능한 고장 원인을 추려낼 수 있습니다. 그림 13-29 와 같이, 하드와이어드(hardwired) 입력과 출력의 실제 상태를 논리 상태(logic status)와 비교합니다. 두 상태가 일치하지 않는 경우 고장이 존재하며, 그 위치 또한 어느 정도 추정할 수 있습니다.
트러블슈팅은 I/O 모듈의 상태 표시등(status indicator)을 해석하는 것만으로도 상당 부분 수행할 수 있습니다. 핵심은 표시등이 고장을 알려주는지, 아니면 정상 상태를 알려주는지를 판단하는 것입니다. 대부분의 PLC 제조사는 관찰된 문제와 가능한 원인을 정리한 트러블슈팅 가이드, 지도(map), 트리(tree)를 제공합니다. 그림 13-30 은 이산(discrete) 출력 모듈에 대한 트러블슈팅 트리의 예시이며, 그림 13-31 과 그림 13-32 는 입력 및 출력 트러블슈팅 가이드 예시를 보여줍니다.
13.10 PLC Programming Software
개인용 컴퓨터(PC) 소프트웨어가 프로그래머블 로직 컨트롤러(PLC) 프로세서와 통신하려면 통신 설정을 구성(configure)해야 합니다. 이 연결을 설정하는 과정을 통신 구성(communications configuring)이라고 하며, 구성 방식은 PLC 제조사마다 다릅니다. Allen-Bradley 컨트롤러의 경우, 래더 프로그램을 개발하고 편집하기 위해 RSLogix 소프트웨어가 필요합니다. 또한 PC에서 PLC로 프로그램을 다운로드(download)하거나, PLC에서 PC로 프로그램을 업로드(upload)하고, PLC 상태를 모니터링하기 위해서는 두 번째 소프트웨어인 RSLinx가 필요합니다.
PLC에는 여러 프로젝트를 다운로드한 후 필요할 때 실행하는 방식은 사용할 수 없습니다. PLC는 한 번에 하나의 프로그램만 허용합니다. 그러나 그 프로그램 내에서 여러 개의 서브루틴(subroutine) 파일을 포함하고, 이들을 메인 프로그램에서 조건에 따라 호출할 수 있습니다.
RSLinx 소프트웨어는 다양한 비용 및 기능 요구에 맞게 여러 패키지 형태로 제공됩니다. 이 소프트웨어는 PC와 PLC 프로세서 사이의 드라이버(driver) 역할을 합니다. 드라이버란 장치를 제어하는 컴퓨터 프로그램으로, 예를 들어 PC에서 워드프로세서 문서를 인쇄하기 위해서는 올바른 프린터 드라이버가 필요한 것과 같은 개념입니다. RSLinx는 RSLogix 소프트웨어가 PLC와 통신할 수 있도록 하는 프린터 드라이버와 같은 역할을 합니다. 따라서 PC와 RSLogix 기반 PLC 사이에 통신을 설정하려면 RSLinx 프로그램이 실행 중이어야 하며, 드라이버가 적절히 구성되어야 합니다.
RSLinx를 통해 RSLogix는 인터페이스 케이블을 통해 PLC 프로세서와 통신합니다. PC와 PLC 간 가장 단순한 연결 방식은 그림 13-33 에 나타난 것처럼 컴퓨터의 직렬(serial) 포트를 이용한 점대점(point-to-point) 직접 연결입니다. 일반적으로 직렬 케이블을 사용하여 PC의 COM1 또는 COM2 포트를 PLC 프로세서의 직렬 통신 포트에 연결합니다. RSLinx 소프트웨어의 자동 구성(auto-configure) 기능을 사용하면 적절한 직렬 포트 설정을 자동으로 감지할 수 있습니다.
통신 링크를 구성할 때 고려해야 할 중요한 사항은 RS-232 표준과 통신 프로토콜(protocol)입니다. RS-232 표준은 표준 통신 케이블 내 각 전선(wire)의 기능과 핀(pin) 배치를 지정한 규격입니다. 통신 프로토콜은 서로 다른 장치 간에 데이터를 전송하거나 통신을 설정하는 표준화된 방법을 의미합니다.
양방향 통신을 위한 최소 구성은 그림 13-34 와 같이 세 개의 전선만 연결하면 됩니다. RS-232 표준에서는 연결 편의를 위해 컴퓨터 장치에는 수(male) 커넥터를, 주변 장비(peripheral)에는 암(female) 커넥터를 사용하도록 규정하고 있습니다. 하지만 PC와 PLC처럼 두 컴퓨터 장치 간 직접 연결할 때는 중간 주변 장비가 없으므로, 직렬 널모뎀(null-modem) 방식 케이블을 사용해야 합니다. 이는 PC와 PLC 프로세서가 모두 2번 핀(pin 2)을 데이터 출력(data output)용으로, 3번 핀(pin 3)을 데이터 입력(data input)용으로 사용하기 때문입니다.