일상에 꼭 필요한 정보, 늘 함께하는 나침반 일상에 꼭 필요한 정보, 늘 함께하는 나침반

PLC Shift Register란? Bit를 순서대로 이동시키는 원리

읽는 시간 약 8분

PLC Shift Register란 여러 Bit 데이터를 Clock이나 Trigger 신호에 따라 한 칸씩 순서대로 이동시키는 기능입니다. 컨베이어 제품 추적과 공정 상태 전달에 사용하는 원리를 알아봅니다.

PLC Shift Register란 무엇이며 왜 사용할까?

PLC Shift Register는 여러 개의 Bit 또는 Data를 일정한 순서로 배열하고 Trigger가 발생할 때마다 저장된 값을 한 위치씩 이동시키는 기능입니다. 자동화설비에서는 Sensor가 제품을 검출한 위치와 실제 작업이 이루어지는 위치가 서로 떨어져 있는 경우가 많습니다. 예를 들어 Conveyor 입구에서 불량제품을 검사했지만 Reject Cylinder가 몇 Station 뒤에 설치되어 있다면 검사결과를 제품의 이동에 맞춰 함께 전달해야 합니다. 이때 Shift Register를 사용하면 첫 번째 위치에 저장된 검사결과를 Conveyor가 한 Pitch 이동할 때마다 다음 Bit로 이동시킬 수 있습니다. Bit0 → Bit1 → Bit2 → Bit3과 같이 상태가 순차적으로 전달되며 최종위치에 도달한 Bit를 이용해 Reject 등의 동작을 실행합니다. 제조사에 따라 Shift Register, Bit Shift, Shift Left·Right, BSL·BSR 등의 Instruction이 제공되며 Operand와 실행방식에는 차이가 있습니다. 핵심은 단순한 시간지연이 아니라 Equipment 또는 Product의 진행순서와 Data 위치를 함께 이동시키는 것입니다.

Bit는 어떤 원리로 한 칸씩 이동할까?

Shift Register는 여러 Bit를 하나의 연속된 Data 영역으로 보고 Shift Trigger가 발생할 때 각 Bit의 값을 인접한 위치로 복사하는 방식으로 동작합니다. 예를 들어 [1, 0, 1, 0]이라는 4개의 Bit가 있고 오른쪽 방향으로 한 번 Shift한다고 가정하면 기존 Bit의 값은 한 위치씩 이동하며 새로운 첫 번째 위치에는 별도로 지정한 Input Bit가 들어갑니다. 반대편 끝에 있던 Bit는 Register 영역 밖으로 밀려나며 PLC에 따라 이 값을 Carry 또는 별도의 Output으로 사용할 수도 있습니다. 중요한 것은 Shift 명령을 단순한 ON Signal에 연결하지 않고 일반적으로 Rising Edge나 One Shot과 함께 사용하는 것입니다. Trigger가 여러 Scan 동안 TRUE 상태를 유지하면 PLC가 매 Scan마다 Shift를 실행하는 Instruction에서는 Data가 예상보다 여러 칸 이동할 수 있기 때문입니다. 따라서 Conveyor Index 완료, Encoder 기준 Pulse 또는 Station Cycle Complete와 같은 Event를 한 번의 Trigger로 변환하여 Shift시키는 방식이 일반적입니다. 실제 Shift 방향과 Bit 번호의 증감관계는 PLC Instruction 정의를 확인해야 합니다.

Conveyor 제품 추적에는 어떻게 사용할까?

Shift Register의 대표적인 응용은 Conveyor의 Product Tracking입니다. 예를 들어 검사 Sensor와 Reject Station 사이에 제품위치가 5 Pitch 떨어져 있다고 가정할 수 있습니다. 검사위치에서 정상제품이면 0, 불량제품이면 1을 첫 번째 Bit에 기록하고 Conveyor가 한 Pitch 이동할 때마다 Shift Register를 한 번씩 이동시킵니다. 불량을 나타내는 1이 다섯 번째 위치에 도착하면 해당 Bit를 이용하여 Reject Cylinder를 동작시키는 방식입니다. 이 구조를 사용하면 제품이 실제로 이동하는 순서와 검사 Data의 이동순서를 맞출 수 있습니다. 다만 Conveyor가 항상 일정한 Pitch 단위로 움직이지 않고 제품간격도 불규칙하다면 단순한 Shift Register만으로 정확한 Tracking이 어려울 수 있습니다. 이런 설비에서는 Encoder Position, Product ID, FIFO 또는 Array·Structure 기반 Tracking을 사용하는 방법이 더 적합할 수 있습니다. 즉 Shift Register는 제품의 물리적 이동이 명확한 Step 또는 Pitch 단위로 이루어지는 Sequence에서 특히 효과적입니다.

Shift Left와 Shift Right는 무엇이 다를까?

PLC의 Shift Instruction은 일반적으로 Data를 왼쪽 또는 오른쪽 방향으로 이동시키는 기능으로 구분할 수 있습니다. Shift Left는 Bit Pattern을 한 방향으로 이동시키고 Shift Right는 반대 방향으로 이동시킵니다. 하지만 여기서 Left와 Right가 실제 PLC Device Address의 증가·감소 방향과 항상 동일하다고 생각해서는 안 됩니다. PLC 제조사와 Instruction에 따라 LSB와 MSB의 표현방식, Register 배열순서와 Shift Direction의 정의가 다를 수 있기 때문입니다. WORD나 DWORD를 Shift하는 경우에는 Bit Shift 연산으로 숫자값이 2배 또는 1/2에 가까운 변화로 보일 수도 있지만 Product Tracking에서 사용하는 Shift Register는 산술연산보다 각 Bit가 나타내는 상태의 위치이동에 초점을 맞춥니다. 또한 Arithmetic Shift와 Logical Shift는 Sign Bit 처리방식이 다를 수 있으므로 단순한 Bit Tracking과 정수연산을 구분해야 합니다. Program을 작성할 때는 Test Bit Pattern을 이용해 실제 Data가 어느 방향으로 이동하는지 확인하는 것이 정확합니다.

PLC Shift Register를 사용할 때 무엇을 주의해야 할까?

Shift Register에서 가장 중요한 것은 Data를 이동시키는 Trigger와 실제 Equipment 이동을 정확하게 일치시키는 것입니다. Conveyor가 움직이지 않았는데 Shift가 실행되거나 제품이 한 단계 이동했는데 Trigger가 누락되면 이후 모든 Tracking Data와 실제 제품위치가 어긋날 수 있습니다. Sensor Chattering이나 동일한 Trigger가 여러 Scan 동안 유지되면 중복 Shift가 발생할 수 있으므로 One Shot과 Edge Detection을 적절히 적용해야 합니다. 설비정지 후 재가동, Manual Operation, Product 제거와 Emergency Stop 이후 Register를 유지할지 초기화할지도 명확하게 정의해야 합니다. 또한 제품 종류, 검사결과와 Serial Number처럼 여러 종류의 Data를 함께 추적해야 한다면 Bit Shift만 사용하는 것보다 Array of Structure나 FIFO 방식이 관리하기 쉽습니다. Retentive Memory를 사용하면 전원복구 후 이전 Data가 남을 수 있지만 실제 Conveyor의 제품위치와 일치하는지 별도로 확인해야 합니다. 결국 PLC Shift Register는 Bit 상태를 공정의 진행순서에 맞춰 이동시켜 제품과 Data를 함께 추적하는 효율적인 Sequence Control 기능입니다.

jssj2627

함께 보면 좋은 글

댓글 0

첫 댓글을 남겨보세요.

error: Content is protected !!

광고 차단 알림

광고 클릭 제한을 초과하여 광고가 차단되었습니다.

단시간에 반복적인 광고 클릭은 시스템에 의해 감지되며, IP가 수집되어 사이트 관리자가 확인 가능합니다.