생산시간은 달라질 수 있다 제조업체의 장비가 품질을 유지하면서 더욱 빠르게 동작하도록
정대상 2013-03-19 15:16:02

생산시간은 달라질 수 있다

Pete Delic 
ControlLogix I/O Product Manager, Rockwell Automation


많은 제조업체 및 기타 산업에 종사하는 기업은 그 누구보다도 신속하게 우수한 품질의 제품을 생산해야 경쟁 우위를 획득할 수 있다. 그 결과, OEM 기업이 듣게 되는 첫 번째 질문이란 “이 장비는 분, 시간, 또는 1교대 당 얼마나 많은 유닛을 생산할 수 있습니까?”가 될 수 있다.
이를 만족하기 위해 OEM 기업은 기존 장비보다 빠르게 동작하는 장비를 설계한다. 프로젝트가 커질수록, 진단 및 데이터 요구사항 역시 커지며 기존 성능을 훨씬 넘어서는 솔루션이 필요하게 된다. 다행스럽게도 속도를 가속화하고 성능을 급격하게 높이기 위한 방법이 있다. 의사 결정 시 100 밀리초를 단축하거나 유닛 당 도구를 변경하는 것은 매년 추가로 1천 개의 유닛 또는 부품의 증가를 낳을 뿐이다. 따라서 단순히 시스템 속도를 경미하게 높이려는 시도는 결과적으로 최종 가격에 직접적인 영향을 미친다. 제어 엔지니어는 다음과 같은 3단계를 따라 처리량과 생산성을 향상할 수 있다.
1. 서브루틴 최적화
2. 인터럽트 프로그래밍 활용
3. 피어 투 피어(peer to peer) I/O 활용

비트와 Rung의 효율적 구성

비트와 Rung 수준에서의 데이터 구성을 통해 시스템 성능을 크게 개선할 수 있다. 따라서 서브루틴 프로그래밍 최적화는 상당한 속도 향상을 가져올 수 있다.
어플리케이션 컨트롤러 고유의 데이터 유형을 사용하면 성능 및 메모리 사용을 개선할 수 있다. PAC(Programmable Automation Controller)가 32비트 프로세서일 경우, 프로그래밍 데이터 유형 역시 32비트여야 한다. 32비트 CPU에 32비트 데이터 유형이 아닌 데이터를 사용할 경우, 각 명령은 불필요한 메모리 공간을 차지하게 되며 이러한 유형의 모든 데이터를 변환하기 위해 CPU 주기가 급격하게 소모된다.
예를 들어, 정수(INT) 데이터 유형 대신 32비트 정수(DINT) 데이터 유형을 사용할 경우 실행 시간 및 메모리 사용을 줄일 수 있다. INT + INT = INT처럼 INT 데이터 유형과 함께 단순한 ADD 명령을 실행할 경우, 260바이트의 메모리가 사용되며 실행 시간은 3.49 μsec가 소요된다.
동일한 ADD 명령을 DINT + DINT = DINT 등의 DINT 데이터 유형과 함께 실행할 경우 28바이트의 메모리가 사용되며, 실행 시간은 0.26 μsec가 소요된다.

이 모든 것을 갖춘 새로운 콤팩트한 장비 제어 플랫폼

로크웰 오토메이션의 Allen-Bradley 제품에 장착된 새로운 Allen-Bradley 미드레인지 제어 플랫폼은 사용자가 필요로 하는 이러한 모든 제어 기능을 경쟁력 있는 가격에 제공한다.
ㆍ 모션 축을 2개에서 16개까지 확장할 수 있는 Compact Logix 제어 플랫폼
ㆍ 설계, 운영 및 유지보수를 간단하게 할 수 있는 플랫폼 표준화
ㆍ 네트워크 표준화 및 향상된 데이터 관리를 위한 EtherNet/IP 연결성
ㆍ EtherNet/IP를 통해 통합된 모션 및 드라이브
빠른 속도가 가장 크게 요구되는 생산의 예로는 1회용 기저귀 생산 라인을 들 수 있다. 오늘날, 분당 200개의 기저귀를 생산하는 어플리케이션은 느린 장비로 취급된다. 그 결과 마이크로초 단위로 속도가 중요하게 인식되고 있다.
기저귀 생산 라인 장비에서 동작하는 컨트롤러가 오후 3시 교대 시간에 교대 근무 보고 데이터를 컴파일하고 전송하도록 설정된 경우, 컨트롤러는 코드의 첫 번째 Rung에서 실제로 교대 근무 시간 끝에 도달했는지, 또는 서브루틴으로의 점프를 호출하기 전인지를 판단해야 한다.검토한 실행의 첫 번째 사전 조건-오후 3시인가?-이 False일 경우, 컨트롤러는 나머지 루틴을 건너뛰고 다른 태스크에 집중한다.

 

?3월tr(로크)-이1다시.jpg

                                                           ControlLogix 24VDC I/O 모듈

 

 

새로운 프로그래밍 전략

 

속도를 더욱 올리기 위해 인터럽트 프로그래밍 등의 프로그래밍 전략은 수십 ms의 어플리케이션 속도를 낮은 한자리 수로 바꿀 수 있다. 태스크 실행을 위한 인터럽트 프로그래밍은 이벤트 기반 또는 시간 기반이 될 수 있다.


시간 기반 태스크. 시간 기반 태스크는 미리 결정된 일정상의 주기적인 시스템 루틴에 인터럽트를 발생시킨다. 이러한 주기적인 태스크는 일반적으로 컨트롤러 스캔 주기보다 빈번하게 유효성 검증이 필요한 분석에 사용되며, 지연될 경우 빠르게 나머지 코드 행을 보류하여 생산 지연이나 다운타임을 초래하는 태스크에 사용된다.
따라서 컨트롤러가 50ms 주기로 스캔을 실행하고 그보다 빠르게 4~5개의 출력을 평가해야 할 경우, 이러한 출력은 시간 기반 태스크로 작성되며 속도 및 이상적인 시스템 운용을 위한 태스크의 중요도에 근거하여 그 우선순위가 결정된다.
기저귀 생산 라인의 예에서 우선순위가 높은 태스크는 기저귀를 접는 메커니즘 등 단일 부분에서 액션이 실행되어야 하는 속도와 위치 계산을 확인하는 것이다. 각 기저귀가 고속으로 접혀야 하기 때문에 이러한 메트릭은 매 몇 밀리초마다 확인되어야 한다.
만약 위치 및 속도가 미리 결정한 제한을 벗어날 경우 메모리 사용 및 실행 시간에서 이렇게 확실한 차이가 발생하는 이유는 컨트롤러가 INT 연산을 수행하기 전에 각 INT를 DINT로 변환하고 그 합을 다시 INT로 변환해야 하기 때문이다. 따라서 추가적인 변환에서 계산된 중간값을 저장하는 추가적인 실행 시간 및 메모리 사용이 발생한다.
또 다른 구성 팁은 서브루틴은 필요한 경우에만 실행되어야 한다는 점이다. 그렇지 않으면 CPU 시간 및 처리 능력을 낭비하게 된다. 그러나 서브루틴은 컨트롤러가 각 행이 False인 코드의 여러 Rung을 통해 스캔해야 하는 방식으로 작성되는 경우가 있으므로, Rung을 활성화하고 지정된 액션을 찾을 필요가 없다.
새로운 ControlLogix 24VDC I/O 모듈은 피어 투 피어 모드로 기능할 수 있으며, I/O 모듈이 서로 직접 통신할 수 있도록 하는 In-chassis 연결을 수립하여 컨트롤러를 바이패스한다. 태스크 관리를 I/O 모듈로 전환하면 프로그램 실행 및 처리량의 안정성 개선에 효과적이다.
빠른 속도가 가장 크게 요구되는 생산의 예로는 1회용 기저귀 생산 라인을 들 수 있다. 오늘날, 분당 200개의 기저귀를 생산하는 어플리케이션은 해당 장비에 장애가 발생할 수 있으며 백업을 초래할 가능성이 있는 것으로 간주된다. 분당 200개 이상의 기저귀를 생산하는 기저귀 생산 라인의 경우, 기저귀를 접는 공정에서 단 몇 분의 지연이나 다운타임이 발생할 경우 수백 또는 수천 개의 기저귀 손실을 초래할 수 있다.


주의: 시간 기반 태스크는 표준 컨트롤러에서 고속 어플리케이션이 효율적으로 동작하도록 할 수 있지만, 너무 많은 주기적 태스크가 정기적으로 수행되거나 태스크의 우선순위가 적절하게 설정되지 않았을 경우, CPU가 태스크 사이를 왔다 갔다 하며 많은 리소스를 낭비하게 된다. 컨트롤러에 따라 다르지만, 인터럽트 태스크를 건너뛰고 주기적 루틴으로 돌아가는 경우 75~300 μsec의 시간이 걸린다. 인터럽트는 적절하게 분할되고 우선순위가 설정되어야 시스템 성능을 안정적으로 높일 수 있다.
일반적으로, 5개 이하의 인터럽트 태스크가 권장된다. 프로그램이 10개를 초과하는 인터럽트 태스크를 포함하게 될 경우, 하나의 태스크에서 다음 태스크로 건너뛰면서 매우 많은 시간이 소요되므로 문제가 발생할 수 있다. 이는 인터럽트를 포함하는 프로그램의 전체 런타임에 대한 사전 분석을 통해 예방할 수 있다.
이러한 분석 작업에 효과적인 도구로는 로크웰 오토메이션의 Logix 5000 Task Monitor Tool이 있다. 이 도구는 CPU가 서로 다른 태스크에 얼마의 시간을 할애하는지를 읽기 쉬운 차트로 분할하여 보여준다.


이벤트 기반 태스크. 이벤트 기반 태스크는 미리 결정된 이벤트 입력, 특정 비트 또는 비트 조합이 발견될 때 트리거된다. 비트는 컨트롤러 스캔이 필요하지 않을 경우, 근본적으로는 스캔에 영향을 미치지 않으면서 고속으로 컨트롤러 스캔을 인터럽트할 수 있다.
상기 예제에서 살펴 본 기저귀 생산 라인의 끝에서, 기저귀 재료는 기저귀를 접기 위해 사용되는 탭이 추가된 장비를 통해 이송된다. 장비 주기 중 일정한 점에서 접착제 방울이 탭이 위치한 기저귀 섬유에 도포된다.
기저귀 재료가 장비로 이송되다가 정지한 경우, 접착제 도포 공정을 중지해야 한다. 그렇지 않을 경우 접착제가 장비 전체에 도포되어 생산 지연이나 다운타임을 초래할 것이다. 이 상황을 해결하기 위해 I/O 모듈에 부착된 센서가 컨트롤러에서 이벤트 기반 태스크를 트리거할 수 있다. 컨트롤러는 접착제 출력 메커니즘에 접착제 도포를 중지하라는 경고를 보낸다.
인터럽트 프로그래밍이 없을 경우, 이 액션을 수행하려면 컨트롤러가 지속적으로 스캔을 수행하고 기저귀 재료가 있음을 확인해야 할 것이다. 정상적으로 동작하는 시스템에서 기저귀 재료가 장비에 없는 경우는 거의 없기 때문에, 재료가 실제로 있는지 확인하기 위해 스캔을 수행하는 것은 시간 및 리소스 낭비이다. 그 대신 재료가 없을 경우 이벤트 기반 태스크가 트리거 되도록 하여 시스템이 접착제 도포 공정에 인터럽트를 발생하도록 설정할 수 있다.
이벤트 기반 태스크는 하나의 입력이나 비트가 아니라 미리 결정된 출력 패턴에 근거하여 이벤트를 트리거하므로 더 효율적으로 사용될 수 있다.
예를 들어, 접착제를 기저귀에 도포하기 전에 장비가 여러 가지 요건을 확인하여 제품에 하자가 없고, 제품이 제자리에 놓여 있으며, 탭을 사용할 수 있고, 접착제 노즐이 끼워져 있지 않음을 확인할 수 있다. 기존에는 이러한 요건 중 하나가 제어 프로그램에 인터럽트를 발생 시킬 수 있었으며 다른 입력은 인터럽트 내부에서 확인할 수 있었다. 이 경우 결국 시스템은 필요한 사전 조건 중 하나가 충족되지 않는다고 결정할 수 있기 때문에 시간이 낭비될 수 있다.
오늘날 일부 I/O 모듈은 입력 패턴에 따라 이벤트 기반 태스크를 인식하고 트리거할 수 있으므로, 모든 것이 정상 상태가 아니라면 인터럽트가 발생하지 않는다.

 

PAC의 고정관념을 깨다

 

낮은 한 자릿수 ms의 속도를 μsec 수준으로 향상하기 위해 I/O 모듈 내의 새로운 피어 투 피어 기능을 사용하여 컨트롤러를 완전히 배제할 수 있다.
새로운 Allen-Bradley ControlLogix 24VDC I/O 모듈처럼 내장형 피어 투 피어 기능을 가진 I/O 모듈의 경우 직접 통신을 위해 수립된 In-chassis 연결만 필요하다. 이 경우 출력은 컨트롤러와 별개로 입력 피어에서 수신한 데이터에 근거하여 활성화된다.
이러한 컨트롤 방법은 총 시스템 응답 시간(SRT)을 대폭 개선한다. SRT는 입력 모듈 응답, 컨트롤러 처리 및 출력 모듈 응답에 필요한 시간 기능이다. 따라서 I/O 및 컨트롤러 간의 통신을 배제하거나 줄일 경우 장비 속도 및 부품 생산이 개선된다.
I/O 모듈로의 전환 결정이나 기초 평가는 I/O 모듈 처리 및 다이렉팅에 필요한 컨트롤러 오버헤드를 경감하므로, 전환 당 부품 생산을 높이기 위해 프로그램 실행 반복성 및 처리량을 개선한다.
피어 투 피어 모드에서 입력에서 출력 응답 시간은 100 μsec 미만일 수 있다. 피어 투 피어 기능은 고속 부품 제거 등 신속한 감지-활성화 시퀀스를 포함하는 어플리케이션에 이상적이다.
생산 완료된 기저귀가 생산 장비에서 패키징 장비로 이송되면서 센서에 장착된 피어 투 피어 입력 모듈이 탭이 적용되지 않은 기저귀를 감지하는 경우가 있다. 전통적으로 I/O는 컨트롤러에 경고를 전달하도록 프로그래밍되고 컨트롤러는 데이터를 처리하여 생산 라인 응답을 활성화하기 위해 출력 모듈에 전달할 메시지를 결정한다. 그 대신, 입력 모듈이 가까이 있는 출력 모듈에 직접 경고를 전달하여 불량 기저귀를 제거하기 위한 메커니즘을 트리거한다.
빨라진 품질 검사를 통해 모든 생산 라인이 더 빠른 속도로 움직일 수 있다. 따라서 분당 더 많은 기저귀를 생산할 수 있고, 시간당 더 많은 패키지의 운송 준비를 완료할 수 있으며, 결론적으로 각 전환이 완료되면 더 많은 수익을 낼 수 있다.

 

새로운 영역으로의 이동

 

대부분의 어플리케이션에서 프로그래밍 변경이나 피어 투 피어 I/O 등 새로운 기술을 통해 시스템의 속도를 개선할 수 있다. 어플리케이션이 수십 밀리 초의 속도로 동작한다면, 여기서 다루어진 단계를 고려하여 제어 시스템을 최고 속도로 전환하고 마이크로초의 세계를 경험해보자.

 

디지털여기에 news@yeogie.com <저작권자 @ 여기에. 무단전재 - 재배포금지>