brunch

You can make anything
by writing

C.S.Lewis

by Diffenance Feb 24. 2024

#03. 스마트팩토리 (Level 1) - PLC 중심

PLC (Programmable Logic Controller)

오늘은 스마트팩토리의 수직적 구조 중 Level1에 해당하는 PLC에 대해서 설명하려고 합니다. PLC(Programmable Logic Controller)는 산업 자동화 및 제어 시스템에서 주로 사용되는 컴퓨터의 일종입니다. PLC는 다양한 센서와 입력 장치로부터 데이터를 수집하고, 이를 기반으로 내장된 프로그램에 따라 출력 장치를 제어하여 제조 공장, 조립 라인, 로봇 기기, 공정 제어 등 다양한 기계적 작업을 지원합니다.


PLC와 관련하여 'PLC 구성 요소', 'PLC와 센서/액추에이터 연계 방안', '통신 네트워크', 'PLC I/O List', 'PLC Address Map'을 연계하여 설명드리겠습니다.


1) PLC는 어떻게 구성되어 있는가?

- CPU: 프로그램을 저장하고 실행하는 PLC의 두뇌 역할을 합니다. 입력 신호를 처리하고, 논리/제어 연산을 수행하며 적절한 출력 신호를 생성합니다.

- 메모리: 프로그램 코드, 작업 데이터 및 임시 데이터를 저장하는 데 사용됩니다. 일반적으로 RAM과 ROM으로 구성됩니다.

- 입력/출력(I/O) 모듈: PLC는 외부 세계와 인터페이스하는 데 사용되는 다양한 입력 및 출력 모듈을 포함합니다. 입력 모듈은 센서/스위치 등으로부터 신호를 받고, 출력 모듈은 액추에이터, 모터 등을 제어하는데 사용됩니다.

- 통신 인터페이스: PLC는 Ethernet, RS-232, RS-485 등 다양한 통신 프로토콜을 통해 다른 PLC, 컴퓨터 시스템, 네트워크 장비와 통신할 수 있습니다.


2) PLC와 Input/Output을 어떻게 연결할까요?

그렇다면 Input 모듈 → PLC → Output 모듈로의 통신은 어떤 방식으로 이루어지는지 알아보겠습니다. 연결 방법은 세가지(직접 연결, 필드버스 시스템, 무선 연결)가 있습니다. 

- 직접 연결: 가장 기본적인 통신 형태로, 센서와 액추에이터가 물리적 케이블을 통해 PLC의 입력 및 출력 모듈에 직접 연결하는 방식입니다.

 (장점) 단순성/신뢰성▲, 적은 양 데이터 전송 적합, 연결 상태/신호 직접 확인 가능하여 문제 진단 용이

 (단점) 대규모 시스템에서 케이블 관리 복잡, 확장성 제한, 물리적 공간 많이 필요

- 필드버스 시스템: Modbus, Profibus, EtherNet/IP와 같은 산업용 통신 프로토콜을 사용하여 센서, 액추에이터, PLC등을 하나의 통신 네트워크로 연결하는 방식입니다.

 (장점) 여러 장치를 하나의 네트워크 연결: 케이블링 간소화, 시스템 확장성/유연성 향상, 네트워크 통한 중앙 집중식 데이터 관리 및 모니터링 가능

 (단점) 네트워크 구성과 프로토콜 설정에 복잡성 증가, 특정 프로토콜 전문 지식 필요, 네트워크 장애 시 전체 시스템 영향

- 무선 연결: Wi-Fi, ZigBee, Bluetooth 등의 무선 통신 기술을 사용하여 센서와 액추에이터를 PLC에 연결하는 방식입니다.

 (장점) 유연성과 설치의 용이성이 뛰어남, 물리적으로 접근하기 어렵거나 이동이 잦은 장치에 적합, 케이블링 비용과 유지 보수 비용 절감

 (단점) 무선 신호의 간섭, 범위 제한, 보안 취약성 측면 문제, 실시간 제어에 요구되는 낮은 지연 시간과 높은 신뢰성 보장 어려움


3) PLC를 필드버스 시스템을 통해 연결하는 Case로 자동화를 구축하는 방법을 알아 볼까요?

(단계별 상세 설명)

1. 시스템 요구사항 파악: 사용될 센서, 액추에이터, PLC 등 시스템의 구성 요소와 각각의 기능을 정의

2. 네트워크 토폴리지 결정: 시스템의 크기, 구성, 환경을 고려하여 네트워크 토폴로지(버스,스타,링 등) 결정

3. 필드버스 프로토콜 선택: 시스템 요구사항에 맞는 프로토콜(Profibus, Modbus, EtherNet/IP) 선택

4. 필드버스 마스터: 대부분의 경우 PLC가 필드버스 네트워크의 마스터 역할을 수행

5. 필드버스 슬레이브 장치: 센서와 액추에이터는 필드버스 네트워크의 슬레이브 장치로 동작

6. 리피터, 허브, 스위치: 필요시, 네트워크의 범위를 확장하거나 성능을 향상위해 추가 네트워크 장비 설치

7. 케이블 배선: 선택한 토폴로지에 따라 통신 케이블을 배선

8. 장치 연결: 센서와 액추에이터를 필드버스 인터페이스에 연결(필드 버스 네트워크에 통합)

9. PLC 연결: PLC를 네트워크의 마스터로 설정, 필드버스 네트워크에 연결

10. 장치 구성: 필드버스 네트워크에 연결된 각 장치를 구성함. 이는 주소 지정, 통신 속도 설정, 프로토콜 특정 파라미터 설정 등을 포함

11. 네트워크 테스트: 전체 네트워크의 통신을 테스트하여 모든 장치가 올바르게 연결되고 통신하는지 확인

12. PLC 프로그래밍: PLC에 필드버스 네트워크를 통해 수집된 데이터를 기반으로 제어 로직을 프로그래밍

13. 시스템 운영 및 모니터링: 시스템을 운영하고 필드버스 네트워크를 통해 성능 및 상태를 모니터링


실제 PLC 동작을 위해서는 PLC 프로그래밍이 중요합니다. PLC 프로그램 내에 Business Logic을 구현하기 위해서는 PLC I/O List와 PLC Address Map이 중요한 역할을 합니다. 이들은 시스템의 하드웨어 구성, 데이터 흐름, 그리고 프로그램 내에서 장치들을 어떻게 참조하는지에 대한 필수적인 정보를 제공하기 때문입니다.


4) 그렇다면 PLC I/O List는 어떤 구조로 이루어져 있을까요?

PLC I/O List 예시 (출처: https://www.zonaotomasi.com/2017/05/14/io-list/)

1. PLC I/O List의 중요성

 - 시스템 구성 이해: PLC I/O List 통해 전체 시스템의 구성과 각 장치의 역할을 이해할 수 있음

 - 프로그래밍 참조: 개발자는 I/O List를 참조하여 각 입력 및 출력 신호가 프로그램 내에서 어떻게 사용되는지 결정하고, 이에 맞추어 로직을 구성함

 - 문제 진단 및 유지보수: 시스템의 문제를 진단하거나 유지보수를 수행할 때, I/O List는 연결된 장치들을 확인하고 문제의 원인을 파악하는데 도움이 됨


2. PLC I/O List에 포함되어야 하는 항목

 - I/O 번호 또는 주소: 각 I/O 포인트를 고유하게 식별하는 데 사용되는 번호나 주소

 - Tag 이름: 각 I/O 포인트에 할당된 의미있는 이름, 통상적으로 시스템 내 기능이나 연결된 장비를 반영

 - 설명: 각 I/O 포인트의 용도, 연결된 장비, 그리고 해당 포인트가 시스템 내에서 수행하는 기능 설명

 - 데이터 타입: I/O 신호의 종류를 나타냄 (디지털 입력/출력, 아날로그 입력/출력)

 - 논리적/물리적 위치: 시스템 또는 시설 내 물리적 위치 or 논리적 위치(설치/유지보수 참고)

 - 모듈 타입 및 모델: 해당 I/O 포인트가 연결된 I/O모듈의 종류와 모델 명시

 - 채널: 아날로그 입력/출력과 같이 다수의 신호를 처리하는 I/O 모듈에서, 각각의 신호가 할당된 모듈 내의 구체적인 채널 번호

 - 전기적 특성: 신호의 전압 레벨, 전류 요구사항 등과 같은 전기적 세부 사항

 - 상태 또는 초기값: 시스템 시작 시 또는 특정 조건에서 해당 I/O 포인트의 기대되는 상태나 초기값


5) PLC Address Map은 어떤 역할을 하며 어떻게 구성되어 있을까요?

 PLC Address Map 예시 (출처: https://accautomation.ca/click-plc-numbering-system-and-addressing/)

1. PLC Address Map 주요 구성 요소

 - 입력 주소(Input Address): 외부에서 PLC로 전달되는 신호임. 이는 일반적으로 센서, 스위치 등의 물리적 장치로 부터 오는 신호를 말함. 입력 주소는 PLC 프로그램 내에서 해당 입력 신호를 읽기 위해 사용

 - 출력 주소(Output Address): PLC에서 외부 장치로 전달되는 제어 신호를 나타냄. 이는 모터, 릴레이, 램프 등의 액추에이터를 제어하기 위해 사용. 출력 주소는 PLC 프로그램 내에서 특정 출력을 활성화하거나 비활성화하기 위해 사용됨

 - 내부 또는 중간 레지스터: 중간 계산 값, 설정 값, 임시 데이터 저장 등을 위해 사용되는 메모리 영역임. 이 레지스터들은 프로그램 조직의 중간 단계에서 데이터를 저장하고 전달하는 데 사용

 - 타이머와 카운터 주소: 특정 시간 간격을 측정하거나 이벤트 발생 횟수를 세는 데 사용되는 함수. 각 타이머와 카운터는 고유한 주소를 가지고 있어, 프로그램 내에서 이를 설정하고 결과 값을 읽을 수 있음

 - 데이터 블록: 사용자 정의 데이터 구조를 저장하는 영역으로 복잡한 데이터 구조나 배열을 관리하는 데 사용됨. 데이터 블록은 특히 고급 프로그래밍에서 중요한 역할을 함


2. PLC Address Map 중요성

 - 프로그래밍 효율성: PLC Address Map을 명확하게 정의하고 문서화하는 것은 프로그래밍을 보다 쉽고 효율적으로 만들어줌

 - 시스템 통합: 다양한 장치와 시스템 간의 통합을 용이하게 하며, 다른 시스템 구성 요소와의 데이터 교환을 명확하게 정의함

 - 문제 해결: 시스템의 문제를 진단하고 해결하는 과정에서 주소 맵은 필수적인 참조 자료가 됨

 - 유지보수와 확장성: 시스템의 유지보수와 업그레이드를 위한 기반 정보를 제공하며, 시스템의 확장 시 필요한 변경 사항을 계획하는 데 도움을 줌

 

PLC는 스마트팩토리의 설비자동화 영역의 가장 기본적인 영역입니다. 최근에는 PLC를 대신해 PC를 활용하는 경우도 존재하지만, PLC만의 안정성과 신뢰성 측면의 강점 등으로 가장 보편적으로 활용되고 있습니다. 다음으로는 DCS(Distributed Control System) 영역에 대해서 설명하도록 하겠습니다.








keyword
매거진의 이전글 #02. 스마트팩토리 (Level 0)
브런치는 최신 브라우저에 최적화 되어있습니다. IE chrome safari