맞춤형 무선 프로그래밍 가능 논리 컨트롤러(PLC) 구축
DigiKey 북미 편집자 제공
2018-06-27
산업용 IoT는 빠르게 성장하고 있지만 산업 엔지니어는 기존의 프로그래밍 가능 논리 컨트롤러가 제공하는 것 이상의 맞춤형 유연성과 연결성을 요구합니다. 그러나 마이크로 컨트롤러 기반의 진정한 내장형 솔루션 구축 경험을 갖춘 산업 엔지니어가 많지 않아 맞춤형 솔루션을 구축하려면 많은 비용과 시간이 소요됩니다.
이 기사에서는 PLC에 관해 간단히 소개한 후 응용 프로그램 구현에 래더 논리를 사용할 수 있는 고유한 무선 PLC를 만드는 방법을 보여줍니다.
프로그래밍 가능 논리 컨트롤러(PLC) 소개
PLC는 산업 응용 제품에서 특정 공정을 자동화하는 데 사용되는 견고한 컴퓨터입니다. 자동화되는 공정에는 제조 공장의 조립 라인부터 IoT 건물의 조명 제어 시스템과 그 사이의 모든 공정이 포함될 수 있습니다.
전형적인 PLC 아키텍처에는 다음이 포함됩니다(그림 1).
- 내부 RAM 및 ROM을 갖춘 중앙 처리 장치
- 디지털 및 아날로그 입력
- 디지털 및 아날로그 출력
- 산업용 전원 공급 장치
- 원하는 동작을 실행하기 위한 논리 응용 프로그램

그림 1: 일반적인 PLC 아키텍처에는 아날로그 및 디지털 입력에 대한 동작을 구동하는 논리 응용 프로그램에서 처리되고 실행되는 일련의 아날로그 및 디지털 입력이 포함됩니다. (이미지 출처: Unitronics)
기존 PLC 시장에는 수많은 옵션이 있지만 개발자는 PLC 동작을 맞춤화하거나 자신의 고유 장치를 맞춤형으로 구축하고자 할 수 있습니다. 이를 수행하는 방법에는 여러 가지가 있지만 한 가지 흥미로운 방식은 기존의 내장형 시스템 엔지니어가 STM32 오픈 개발 환경(ODE)을 이용하는 방식입니다.
무선 PLC 구축
개발자가 자신의 고유한 무선 PLC를 구축하는 데 필요한 세 가지 주요 하드웨어 부품이 있습니다.
- CPU
- 입력/출력 신호 조정
- Wi-Fi 모듈
개발자는 처음부터 이러한 모든 부품을 설계하거나 기존 에코시스템을 활용할 수 있습니다. STMicroelectronics는 이러한 부품 각각을 포함하고 또한 래더 논리 응용 프로그램을 개발하기 위한 기본 소프트웨어도 제공하는 STM32 개발자 팩을 생산함으로써 PLC 생성을 단순화했습니다.
이제 산업 환경에서 올바르게 작동하기 위해 충족해야 할 조건과 이러한 기본 부품에 대해 알아보겠습니다.
가장 먼저 살펴보아야 할 부품은 CPU로써 이 경우에는 STMicroelectronics의 STM32F401RE에 해당합니다. STM32F401RE는 84MHz에서 실행되며 응용 프로그램 코드를 위한 512Mbyte의 플래시 공간과 96Kbyte의 RAM을 보유하고 있는 32비트 Arm® Cortex®-M4 프로세서입니다. STM32F401RE는 Nucleo-401RE 평가 기판에 제공되며 이 기판에는 다른 하드웨어에 접속하는 데 필요한 Arduino 헤더와 내장형 소프트웨어를 프로그래밍하기 위한 ST-Link도 포함되어 있습니다. Nucleo-401RE는 모든 PLC 코드가 실행되는 곳입니다.

그림 2: Nucleo-401RE 개발 기판은 PLC 컨트롤러의 기반을 형성하며 512Mbyte의 응용 프로그램 코드 공간과 96Kbyte의 데이터용 RAM을 포함합니다. (이미지 출처: STMicroelectronics)
PLC를 구축하는 데 필요한 두 번째 부품은 입력 및 출력을 위한 신호 조정 기판입니다. 개발자는 응용 프로그램에서의 필요에 따라 다음 두 기판 중에서 선택하거나, 두 기판을 결합할 수 있습니다.
첫 번째는 X-Nucleo-PLC01A1 산업용 I/O 확장 기판입니다(그림 3). X-Nucleo-PLC01A1에는 CLT01-38SQ7 고속 디지털 입력 제한기를 통해 조정된 8가지 입력이 포함되어 있습니다. CLT01-38SQ7은 입력 핀이 소비할 수 있는 전류를 제한하여 PLC를 위한 디지털 입력 보호 기능을 제공합니다. 또한 VNI8200XP 모놀리식 8채널 구동기를 이용해 조정된 8개의 산업용 출력도 있습니다. 여기에는 매우 낮은 전류가 공급되며 통합 SPI 인터페이스 및 고효율성 100mA 마이크로 전력 강압 스위칭을 갖추고 있습니다. VNI8200XP는 각각 최대 0.7A를 구동할 수 있는 8개의 무접점 계전기 온칩을 제공합니다. X-Nucleo-PLC01A1에도 각 입력 및 출력의 상태를 시각적으로 보여주는 LED 표시등이 있으며 과열 및 기타 기판 결함 관련 신호를 제공하는 3가지 경보 조명이 포함됩니다. X-Nucleo-PLC01A1은 SPI 통신 링크를 통해 Nucleo-401RE와 통신합니다.

그림 3: X-Nucleo-PLC01A1은 PLC 응용 프로그램에 8개의 디지털 입력과 8개의 디지털 출력을 제공하도록 설계된 산업용 기판입니다. (이미지 출처: STMicroelectronics)
또한 PLC에는 높은 전류 및 아날로그 신호를 제어하는 기능이 필요할 수도 있습니다. X-Nucleo-PLC01A1은 디지털 신호 전용으로 설계되었습니다. 기타 신호를 제어하기 위해 개발자는 X-Nucleo-OUT01A1을 사용할 수 있습니다(그림 4). X-Nucleo-OUT01A1에는 STMicroelectronics의 전기적으로 분리된 ISO8200BQ 8진 하이사이드 스마트 전력 무접점 계전기가 포함되어 있습니다. PLC01A1과 비교할 경우 큰 차이점은 이 기판은 10.5V ~ 33V 전압 범위에서 작동할 수 있으며 아날로그 신호와 디지털 신호 사이가 전기적으로 분리된다는 점입니다. 또한 이 기판에는 여러 개의 LED 표시등이 있어 통신 장애 또는 열 차단 이벤트가 발생할 경우 이를 알립니다.

그림 4: X-Nucleo-OUT01A1은 PLC 응용 프로그램에 최대 0.7A를 처리할 수 있는 8개의 계전기 출력을 제공하도록 설계된 산업용 기판입니다. (이미지 출처: STMicroelectronics)
마지막 부품은 무선 칩으로, 무선 프로그래밍 메커니즘을 제공하거나 IoT 연결 PLC 제작에 사용할 수 있습니다. 개발자는 STMicroelectronics에서 제공하는 802.11 b/g/n 호환 Wi-Fi 확장 모듈인 X-Nucleo-IDW01M1을 사용할 수 있습니다(그림 5). X-Nucleo-IDW01M1은 생산 시스템을 위한 드롭인이 준비된 통합 안테나를 포함하며 FCC, IC, CE 인증을 획득했습니다.

그림 5: X-Nucleo-IDW01M1은 무선 연결성 제공을 위해 PLC에 통합될 수 있는 산업용 Wi-Fi 모듈입니다. (이미지 출처: STMicroelectronics)
이러한 각 부품을 보유한 개발자는 그림 6에 나와 있는 순서에 따라 하드웨어 PLC를 조립할 수 있습니다. 기판을 반대 방향으로 설치할 경우 이로 인해 부품이 손상되지는 않지만 몇 가지 추가적인 디버깅이 발생할 수 있습니다. 경우에 따라 RS-485 칩 등 PLC에 추가해야 할 맞춤형 하드웨어가 있으며 개발자는 Olimex의 Proto Shield 또는 Adafruit Proto Shield 등의 Arduino 시제품 제작 실드를 시용할 수 있습니다.

그림 6: 올바르게 작동하는 PLC를 생성하기 위한 STMicroelectronics 개발 기판 조립 순서 (이미지 출처: Beningo Embedded Group)
PLC 소프트웨어 설치
PLC 설치에 필요한 몇 가지 소프트웨어가 있습니다. 여기에는 다음이 포함됩니다.
- PLC 내장형 소프트웨어
- 내장형 컴파일러
- 래더 논리 응용 프로그램
PLC 내장형 소프트웨어 FP_IND_PLCWIFI1은 STMicroelectronics에서 개발되었으며 STM 웹 사이트에서 다운로드할 수 있습니다. 이 내장형 소프트웨어에는 STM32F401RE를 시작하고 실행하는 데 필요한 모든 코드와 함께, 필요한 하드웨어 스택에 따라 사전 설정된 여러 구성이 포함되어 있습니다. 또한, 이미 STM System Workbench, IAR Workbench, Keil MDK에 대해 설정된 3가지 프로젝트가 함께 제공되며 http://www.st.com/en/embedded-software/fp-ind-plcwifi1.html에서 다운로드할 수 있습니다(그림 7). 개발자는 이중 어느 것이든 사용하여 PLC에 내장형 소프트웨어를 컴파일하고 배포할 수 있습니다.

그림 7: PLC를 실행하는 데 필요한 내장형 PLC 응용 프로그램 패키지. (이미지 출처: Beningo Embedded Group)
내장형 응용 프로그램이 다운로드되면, 원하는 컴파일러 IDE로 가져와서 컴파일할 수 있습니다. 코드는 문제없이 컴파일되어야 합니다. 컴파일된 응용 프로그램은 PC에 대한 표준 USB 연결을 이용하여 PLC로 다운로드할 수 있습니다.
마지막으로 STMicro는 논리 래더 응용 프로그램을 제작하는 데 사용할 수 있는 단순한 PLC 애플리케이션 프로그램도 생성했습니다. 이 애플리케이션은 iOS 및 Android 모두에서 사용할 수 있으며 모바일 장치용 애플리케이션 스토어에서 ST PLC 앱을 검색하여 모바일 장치에 다운로드할 수 있습니다.
간단한 애플리케이션 예시
PLC용 내장형 소프트웨어가 실행되면 개발자는 ST PLC 애플리케이션을 사용하여 응용 프로그램 코드를 개발하는 데 집중할 수 있습니다. 응용 프로그램 코드는 래더 논리를 이용해 개발됩니다. 개발자는 애플리케이션을 시작하고 하드웨어 스택에 포함하기로 선택했던 개발 기판을 기반으로 하여 새 프로젝트를 생성할 수 있습니다(그림 8).

그림 8: ST PLC 애플리케이션에서 개발자는 새 프로젝트를 생성하고(왼쪽 빨간색 강조 표시), 프로젝트 이름을 선택하고(오른쪽 주황색), 사용 중인 하드웨어를 구성(오른쪽 녹색)할 수 있습니다. (이미지 출처: Beningo Embedded Group)
프로젝트가 구성되면 응용 프로그램을 위한 래더 단계를 생성할 수 있는 백지 상태의 공간이 표시됩니다. 첫 번째 프로젝트에서는 입력을 읽을 수 있는지, 또 해당 입력에 따라 출력이 설정되는지 여부를 테스트하는 것이 좋습니다. 이 테스트를 만들려면 'Add rung'을 클릭하고 응용 프로그램 내에서 필요한 논리를 구현하면 됩니다. 이를 수행하면 그림 9의 왼쪽과 유사한 단계가 생성됩니다.

그림 9: ST PLC 애플리케이션에서, 개발자는 장치를 원하는 대로 제어할 수 있는 논리를 구현할 수 있습니다(왼쪽). 응용 프로그램이 만들어지면 응용 프로그램 보내기 버튼을 클릭하여 무선으로 PLC에 푸시할 수 있습니다(오른쪽). (이미지 출처: Beningo Embedded Group)
단계를 저장하면 다시 기본 프로젝트 화면으로 되돌아갑니다. 여기에서 단계를 편집하거나 응용 프로그램에 추가 단계를 만들 수 있습니다. 응용 프로그램을 배포할 준비가 되었다면 그림 9의 오른쪽에 보이는 무선 전송 버튼을 클릭하여 PLC 응용 프로그램을 연결하고 전송합니다. 응용 프로그램 전송이 성공적으로 이루어지려면 개발자의 모바일 장치가 PLC 액세스 포인트에 연결되어 있어야 하며 포트 및 IP 주소가 구성되어 있어야 합니다.
무선 PLC 구축을 위한 유용한 정보
자신만의 고유한 맞춤형 무선 PLC를 제작할 경우 개발자가 따라야 할 몇 가지 유용한 정보가 있습니다. 여기에는 다음이 포함됩니다.
- 무선 기판이 작동하지 않는 경우 해당 기판이 스택에서 올바른 방향을 향하고 있는지 확인합니다. 즉, 올바른 방향으로 놓여져 있는지 확인합니다.
- SSID에 보안 키를 추가하여 시스템 보안을 개선합니다.
- 기본 무선 동작을 스테이션 모드로 변경하고 스위치를 액세스 포인트로 업데이트하는 중에만 PLC를 업데이트합니다.
- RS-485 및 모듈 같은 산업용 통신 프로토콜을 추가하는 것을 고려해 봅니다.
- PLC 속도를 높이는 가장 좋은 방법은 흥미로운 문제를 생각해 보고 그 문제를 PLC로 해결하려고 시도하는 것입니다.
- Arm용 IAR Embedded Workbench를 사용하여 PLC 내장형 소프트웨어를 컴파일합니다. 툴체인은 30일 무제한 코드입니다.
결론
맞춤형 PLC 구축이 반드시 어려울 필요는 없습니다. 위에 설명한 대로, STMicroelectronics에서 제공하는 에코시스템을 이용하면 개발자가 PLC 소프트웨어를 시작 및 실행할 수 있는 기반을 매우 빠르게 완성할 수 있습니다. 그런 다음 이 응용 프로그램을 손쉽게 수정하고 맞춤화하여 광범위한 응용 분야 및 과제를 충족할 수 있습니다.
우선적인 목표는 래더 논리를 사용하여 최종 응용 프로그램 코드를 생성하는 것이지만 개발자가 경험과 지식을 갖춘 경우에는 내장형 소프트웨어를 손쉽게 조정하여 훨씬 더 강력하고 유연한 하이브리드 시스템을 완성할 수 있습니다.
면책 조항: 이 웹 사이트에서 여러 작성자 및/또는 포럼 참가자가 명시한 의견, 생각 및 견해는 DigiKey의 의견, 생각 및 견해 또는 DigiKey의 공식 정책과 관련이 없습니다.


