DOI QR코드

DOI QR Code

Design and Implementation of Modbus Communications for Smart Factory PLC Data Collection

스마트팩토리 PLC 데이터 수집을 위한 Modbus 통신 설계 및 구현

  • 한진석 (충북대학교 정보통신공학부) ;
  • 유재수 (충북대학교 정보통신공학부)
  • Received : 2020.11.30
  • Accepted : 2020.12.15
  • Published : 2021.04.28

Abstract

Smart Factory refers to a factory that can be controlled by itself with an intelligent factory that improves productivity, quality and customer satisfaction by combining the entire process of manufacturing and production with digital automation solutions. The manufacturing industry around the world is rapidly changing, with Germany, Europe, and the United States at the center. In order to cope with such changes, the Korean government is also implementing a policy to spread the supply of smart factories for small and medium-sized companies, and related ministries and agencies such as the Ministry of Commerce, Industry and Energy, the Ministry of SMEs and Venture Business, the Korea Institute of Technology and Information Promotion, and local technoparks, as well as large companies such as Samsung, SK and LG are actively investing in smart manufacturing projects to support smart factories[1]. Factory Automation (FA) construction has many issues regarding the connection of heterogeneous equipment. The most difficult aspect of configuring various communications from various equipment is the reason. Although it may not be known if there are standards or products made up of the same company, it is not easy to build equipment that is old, up-to-date, and different use environments through a series of communications. To solve this problem, we would like to propose a method of communication using Modbus, one of FieldBus, which is one of the many industrial devices of PLC, a representative facility control system, and is used as a communication standard.

스마트팩토리는 제조생산 전 과정이 디지털 자동화 솔루션으로 결합돼 생산성 및 품질, 그리고 고객만족도를 향상시키는 지능형 공장으로 스스로 제어할 수 있는 공장을 말한다. 독일, 유럽, 미국 등을 중심으로 전세계 제조 산업에서 급속도로 변화하고 있다. 우리 정부도 이러한 변화에 대응하기 위해 중소중견기업을 위한 스마트팩토리 보급확산 정책을 펼치고 있으며 산업자원통상부, 중소벤처기업부, 중소기업기술정보진흥원, 각 지역 테크노파크 등 관계부처 및 기관들과 삼성, SK, LG 등 대기업들이 스마트팩토리 지원 사업에 적극적인 투자를 하며 제조 스마트화에 나서고 있다[1]. 공장자동화(Factory Automation, FA) 구축에는 이기종 장비의 연결에 대해 많은 이슈들이 있다. 다양한 장비로부터의 다양한 통신 구성이 가장 힘든 측면이 그 이유이다. 같은 회사 제품들로만 구성되거나 표준안이 존재하면 모르겠지만, 오래된 장비와 최신의 장비, 사용 환경도 제각각인 장비들이 일련의 통신을 통해 통합 구축을 하려니 구축하기가 쉽지 않다. 이런 문제점을 해결하기위한 방법으로 전 세계적으로 널리 보급되어 있는 자동화 프로토콜의 하나이고, 대표적인 설비 제어시스템인 PLC의 수많은 공업 기기에서 통신표준으로 사용하고 있는 FieldBus중 하나인 Modbus를 이용하여 통신 하는 방안을 제시하고자 한다.

Keywords

Ⅰ. 서론

스마트팩토리는 설계 및 개발, 제조 및 유통 등 생산 과정에 디지털 자동화 솔루션이 결합된 정보통신기술(ICT)를 적용하여 생산성, 품질, 고객만족도를 향상 시키는 지능형 생산공장으로 공장 내 설비와 기계에 사물 인터넷(IoT)을 설치하여 공정 데이터를 실시간으로 수집하고, 이를 분석해 스스로 제어할 수 있게 만든 미래의 공장이다.

21세기에 들어서면서 인구 고령화로 인해 숙련된 노동자들이 점차 줄어들게 되었고, 트렌드가 빠르게 변하면서 제품의 수명 주기가 급격히 줄어들게 되었다. 여기에 소비자들의 니즈가 다변화, 다양화되면서 개인 맞춤형 생산이 요구되고 경제 구조가 제조업에서 정보기술(IT)을 포함한 서비스업 중심으로 옮겨가면서 전통적인 제조업은 큰 타격을 입게 되어 제조업의 혁신이 요구되었다. 이로 인해 '스마트 팩토리'가 등장했다.

지금까지의 공정 자동화 기술은 각각의 공정별로만 자동화가 이뤄져 있어 전체 공정을 유기적으로 관리하기 어려웠다. 하지만 스마트팩토리는 ICT 기술 덕분에 모든 설비나 장치가 무선통신으로 연결되어 있어, 전후 공정간 데이터를 자유롭게 연계할 수 있고 이를 통해 보다 유기적이고 통합적인 최적의 생산 환경을 이룩할 수 있게 되었다. 관리 외적으로 비용 효율성도 높아 스마트팩토리가 구현하면 더 이상 값비싼 노동력에 의지하지 않아도 되고, 대량 생산이 야기하는 재고의 불확실성 문제에서도 자유로워졌다. 또한 자동화를 통해 생산 라인의 유연함이 더해져 개인 맞춤형 상품을 합리적인 가격에 즉각적으로 생산할 수 있게 되었다. 스마트팩토리는 기존의 중앙집권형 생산체제를 바꾸고 제조업이 생산의 분권화와 자율화를 가능하게 만든 것이다.

기계 부품 산업은 원재료나 부품을 조립하고 검사하는 노동집약적 산업으로 자재를 부착·조립해 검사하는 공정이 중요하며 부착·조립 시 발생하는 공정데이터와 검사 시 수집되는 검사데이터를 연계해 품질분석을 실시해야 한다. 즉 제품 불량 시 불량원인을 즉시 확인해 원인별로 현장 개선을 해야 한다. 우선 작업지시 및 자재 Lot 단위의 물류추적과 품질·납기 관리가 중요하다. 생산에서는 라인별/작업조별 바코드 관리가 돼야 하며 생산실적과 현황을 파악할 수 있는 생산현황 모니터링과 자재의 입고 및 공정별 사용량 등을 관리할 수 있어야 한다.

재고와 물류 부문에서는 자재 입출고 관리에 의한 자재 이력 관리와 원자재 불량품 및 반품관리를 할 수 있도록 고려해야 한다. 이를 통해 생산정보 집계 분석의 시스템화에 의한 업무 생산성이 증가할 수 있고 자재 Lot 추적 능력이 확보된다. 또한 생산실적관리, 작업 교체 준비 등이 가능해 원가의 흐름 파악이 용이해진다. 특히 실시간으로 거래 정보를 제공해 고객사와 유대 또한 강화되는 측면이 있다.

스마트팩토리는 과거부터 존재한 공장자동화의 연장선상에 있는 개념이다. 생산시설을 무인화하고 관리를 자동화한다는 공통점이 있다. 반면 스마트팩토리는 전후 공정간 데이터를 자유롭게 연계할 수 있어 총체적인 관점에서 최적화를 이룰 수 있으나 공장 자동화는 단위 공정 별로만 최적화가 이뤄져 있어 전체 공정이 유기적이라고 보기 어렵다.

스마트팩토리 핵심, '자동화'에서 한 단계 진화한 '디지털화'이다. 스마트팩토리는 기획, 설계, 생산, 유통, 판매 등 전 생산과정을 정보통신기술(ICT)로 통합해 최소의 비용과 시간으로 고객 맞춤형 제품을 생산하는 진화된 공장을 의미한다. 이러한 전 과정에 사물인터넷(IoT), 인공지능(AI), 빅데이터 등으로 통합해 자동화와 디지털화를 구현하는 게 기존 공장 자동화와 차별되는 요소다.

지금까지는 스마트 팩토리와 공장 자동화가 제대로 구분되지 않아 현장에서는 '스마트 팩토리'라는 개념을 제대로 인지하지 못한 게 사실이다. 그렇다면 스마트 팩토리와 공장 자동화가 다른 점은 무엇일까?

슈나이더일렉트릭 본부장은 "스마트 팩토리와 공장 자동화는 전혀 다르다. 기간으로만 봐도 공장 자동화는 2, 3년 전부터 적용해왔으며, 스마트팩토리는 등장한 지 얼마 되지 않은 개념이다"라고 정의를 내린 바 있다.

둘째, 스마트팩토리는 제조에 관련된 조달, 물류, 소비자 등 객체가 존재한다. 이 객체에 각각 지능을 부여하고 이를 사물인터넷(IoT)으로 연결해 자율적으로 데이터를 연결·수집·분석하는 공장이다. 반면 공장 자동화는 컴퓨터와 로봇과 같은 장비를 이용해 공장 전체의 무인화 및 생산 과정의 자동화를 만드는 시스템을 말한다.

셋째, 스마트팩토리는 기획, 설계, 생산, 유통 등 전 과정을 정보통신기술(ICT)로 통합해 최소 비용 및 시간으로 고객 맞춤형 제품을 생산하는 공장으로 말한다면, 공장 자동화는 컴퓨터 이용 설계 및 컴퓨터 이용 제조, 해석 시스템, 다품종 소량생산을 가능하게 하는 생산 시스템 등을 유기적으로 조합시킨 것을 뜻한다.

넷째, 스마트팩토리는 최근 다양해진 고객의 요구사 항에 대응하기 위한 수평적 통합 방향은 'Smart' 범위이며, 공장 자동화는 수직적 통합으로 'Factory'와 'Manufacturing'의 범위로 볼 수 있다.

마지막으로, 스마트 팩토리의 수평적 통합 지원 기술은 제품설계 도구인 CAD/CAE 등을 포함하는 PLM 솔루션, 시제품 생산을 빠르게 지원할 수 있는 3D 프린터, 가상과 실재의 연동이 가능한 사이버 물리 시스템, 제조 프로세스 분석을 위한 공정 시뮬레이션 등이 포함한다. 반면 공장 자동화의 수직적 통합 지원 기술로는 생산설비의 많은 데이터를 획득하기 위한 스마트센서와 사물인터넷(IoT) 기술, 생산 현장 에너지 절감 기술, 제조 데이터 분석을 위한 제조 빅데이터 기술 등이 포함한다[3].

본 논문에서는 제조, 생산과 관련되고 대표적인 설비 제어시스템인 PLC에서 Modbus 표준 통신 프로토콜을 이용한 생산 정보의 디지털화 서비스 구축을 방법을 제안한다. 제안하는 서비스는 다양한 장비를 이용하여 구축하는 스마트팩토리 현 구축 상황에서 표준화된 Modbus 프로토콜을 이용하여 이기종 장치들의 통신 구축이 가능한 서비스를 쉽게 구축 할 수 있다.

본 논문의 구성은 다음과 같다. 2절에서는 스마트팩토리 구축에 사용되는 대표적인 설비 제어시스템인 PLC에서 많이 사용되는 필드버스(Field Bus)의 여러 서비스에 대한 특징을 서술하였다. 3절에서는 2절에서 제기한 요소들에 추가적인 필드버스(Field Bus) 프로토콜의 특징 및 문제점에 대해 서술하였으며, 4절에서는 LSIS PLC를 이용하여 Modbus Field Bus의 특징 및 Modbus의 종류인 NModbus를 이용하여 실제 제안하는 서비스를 구현하였다. 마지막으로 5절에서 본 논문의 결론과 향후 연구를 제시한다.

Ⅱ. 필드버스(Field bus)

1. 관련 분야

산업자동화분야는 기계, 전자 및 정보 기술의 복합적 구성에 의하여 이루어지는 첨단 분야로 최신기술의 급속한 발전에 따라 다기능, 고도의 기술들이 계속해서 나타나고 있다. 이러한 기술 중 90년대부터 산업 자동화의 근본이라 할 수 있는 통신 분야에서 두각을 나타내고 있는 기술이 세계적으로 그 사용이 확산되고 있는데 바로 필드버스(Fieldbus)라고 불리는 산업 통신 기술이다.

1990년대 들어 산업 자동화 분야에 있어서 80년대와는 다른 기술이 적용되기 시작했는데, 그것은 통신을 이용한 제어 방식의 활성화였다. 통신을 이용한 메시지 전송은 미국에서부터 시작되어 전 세계적으로 확산이 되면서 지속적인 발전을 이루어 왔지만, 90년대 이전까지 통신을 이용하여 메시지 전송을 주로 사용한 분야는 Personal Computer 영역이나 그 상위의 영역이었고, 자동제어 영역에서 보게 되면 각 공장간 혹은 공정간 영역에서의 메시지 교환을 중심으로 이루어져 왔다.

가장 흔하게 적용된 예를 보면, PC와 PLC 간의 메시지 교환이나 혹은 PLC와 PLC 간의 Networking 구축을 들 수 있다. 주로 대용량의 데이터를 공유하기 위해 사용하던 이러한 통신 방법이 90년대를 기준으로 하여 산업 현장에 적용되면서 필드버스(Fieldbus)라는 이름으로 불리게 되었고, IEC 61158로 표준화되었다.

2. Fieldbus 가 왜 필요한가?

Fieldbus란 용어가 발생된 원인을 살펴보면 다음과 같다. 제품을 생산하기 위해서는 생산설비가 반드시 필요하고, 수반된 생산 설비를 제어하기 위해서 제어용 컨트롤러가 필요한데, 지금까지 생산설비를 제어하기 위해서는 PLC류의 제어기기를 많이 사용했다.

생산설비가 정상적으로 동작되기 위해서는 각각의 공정에 필요한 Sensor나 Actuator들이 제어기기의 Input/Output 장치에 연결되어야 하는데, Fieldbus System에서는 제어기기에 장착되는 Input/Output 장치가 Sensor나 Actuator에 근접해서 설치되는 형태로 변경된다. 즉, 제어기기의 Input과 Output 장치가 생산설비에 분산되어 적절히 설치되고 이들을 통신선을 이용하여 제어기기와 연결하는 형태로 만드는 것이다.

이렇게 입출력용 제어기기 장치가 생산 현장에 분산되는 형태를 취한다고 해서 생산 현장을 의미하는 “Field(필드)”와 통신을 의미하는 “Bus(버스)”를 합하여 필드버스(FieldBus)라고 불리게 된 것이다. 이러한 형태를 취하는 시스템을 특정 상품명이나 회사명에 관계없이 Fieldbus 라 부르고 있으며, 현재 전 세계적으로 약 100여 개의 Fieldbus 형태의 시스템이 시장에 나와 있는 것으로 알려지고 있다.

Fieldbus Foundation 협회는 국제 Fieldbus 표준을 목적으로 설립되었다. WorldFIP와 ISP가 함께 1994년 9월에 설립한 이 협회는 공정제어와 제어설비를 생산, 공급, 사용하는 세계 유수의 200여 개 회사가 가입되어 있는 비영리 조직이다. 이 회사들은 공동으로 국제 Fieldbus Protocol 개발을 위해 많은 지원을 해왔으며, IEC/ISA Fieldbus 표준개발에 많은 중요한 공헌을 하였다.

3. Fieldbus 의 이점은?

Fieldbus 의 일반적인 계층구조는 OSI 7계층을 기반으로 하고 있다. OSI 7계층 구조에서 7계층인 응용계층, 2계층인 데이터링크 계층, 그리고 1계층인 물리 계층으로 구성되어 있으며, 실제 사용되고 있는 각 필드버스들에는 조금씩 변형된 형태가 쓰이고 있다.

특히 데이터 링크 계층은 OSI 2계층에서 4계층까지의 기능을 적절히 축소한 범위에서 제공할 수 있도록 하며 임계 시간을 갖고 있는 응용 기능을 처리할 수 있도록 버스를 관리한다. 필드버스 규약은 엄격한 실시간 요구가 만족되어야 하기 때문에 절대적으로 3계층 구조를 택하며, 보통 필요한 기능들만으로 제한하고 있다.

Fieldbus란 산업용 자동화 시스템의 하위 레벨에 위치한 센서, 단일 루프 제어기, 논리연산 장치(PLC), 모터, 밸브, 로봇 등 필드 레벨의 기기를 통제하는 산업용 네트워크라 말할 수 있다. 디지털 방식을 기반으로 하고 있어 기존 아날로그 통신 방식에 비해 다량의 신호를 원거리까지 전송할 수 있고, 종래의 각각의 현장 기기나 입출력 모듈의 엄청난 가닥 수의 케이블 대신 한 가닥의 네트워크 선을 사용함으로써 배선을 절약할 수 있고, 설치가 간소화된다.

Fieldbus는 또한 획기적인 정보통신 기술의 혁명에 힘입어 운영에 필요한 각종 데이터 및 진단 내용을 실시간으로 제공하며, 발생할 수 있는 사용자의 에러를 최소화하고 이기종의 장비들 간에 상호 동작성을 보장한다. 또한 시스템 통합의 용이성과 시스템의 유연성, 확장성, 유지 보수성을 높여 시스템의 기능과 성능을 향상시키는 등 다양한 기능을 수행할 수 있게 된다.

이러한 다양한 장점으로 산업 자동화의 현장에서 필드버스의 채택이 빠르게 진행되고 있다. 특히 최근 들어 필드 기기들의 표준화과 진행되고 많은 노력이 기울여지고 있다. 이렇게 필드 기기들이 표준화된다는 것은 시스템의 확장성이나 필드 기기의 첨가가 휠씬 더 간단해져 어떤 인터페이스나 변환기도 필요하지 않다는 것을 의미한다.

필드버스 규약은 보통 네 개의 계층과 하나의 관리 서비스를 포함한다. 필드버스는 사용자가 데이터 링크 계층이나 응용계층에 관계할 필요가 없다는 장점이 있다. 단지 사용자는 관리 서비스에 대한 제한된 지식만으로도 충분하다. 현재 세계적으로 크게 사용되고 있는 필드버스스 Open System으로는 Profibus, Interbus, WorldFIP, Device Net, Actuator Sensor Interface (AS-interface), Modbus등을 들 수 있다.

이 중에서 CC-Link, Profibus, WorldFIP, DeviceNet 같은 PLC 메이커 다국적 기업이 주축이 되고 사용 중인 표준이고, Modbus, Interbus나 AS-interface 같은 경우는 PLC를 생산하지 않는 업체가 주축인 표준에 해당된다[4].

Ⅲ. FieldBus 주요 프로토콜 및 문제점

1. PLC 제조회사의 시스템을 이용한 구축

자동화와 같은 프로세스의 자동화에 사용되는 통신 프로토콜 FieldBus 프로토콜은 다양하다. 제어기기 (PLC 등) 제조회사가 독자적으로 구축한 시스템을 중심으로 구축하는 방식이다. 이렇게 특정 Maker에 의해서 특정 분야에 구축된 Fieldbus를 “Closed System” 혹은 “Company Specific Protocol”이라 하고 현재 가장 많이 사용하는 방식이다.

1.1 CC-Link

1996년 미쓰비시 전기 공사가 개발한 CC-Link 필드버스에서 유래되었다. CC-Link 오픈 오토메이션 네트워크 제품군은 수많은 제조업체의 장치가 통신할 수 있도록 하는 개방형 산업 네트워크 프로토콜이다. 기계 수준에서 다양한 산업 자동화 응용 분야에 사용된다. 국내에서 많이 사용되는 미쓰비시 PLC 통신에 사용된다.

1.2 Profibus

독일 지멘스가 주축이 되어 제조업체들이 참여하여 개발한 높은 유연성과 개방성이 특징이다. Profibus는 자동화 애플리케이션에 이용하기 위한 기술 표준이다. PI(Profibus and Profibus International)라고 하는 기관에서 관리 감독하고 있다. 전 세계적으로 1, 400곳 이상의 업체 및 기관이 PI 회원으로 가입되어 있고 주로는 지멘스 PLC 통신에 사용된다.

1.3 DeviceNet

DeviceNet은 원래 미국 회사 Allen-Bradley (현재는 Rockwell Automation 소유)가 개발했다. Bosch에서 개발한 CAN ( Controller Area Network ) 기술 위에 있는 애플리케이션 계층 프로콜이다. DeviceNet은 Common Industrial Protocol의 기술을 채택하고 CAN을 활용하여 기존 RS-485 기반 프로토콜에 비해 저렴하고 견고하다. 전 세계적으로 DeviceNet 사용을 촉진하기 위해 로크웰 오토메이션은 "개방형" 개념을 이 기술을 타사 공급 업체와 공유하기로 결정했다. 따라서 현재는 북미에 위치한 독립 조직인 ODVA 에서 관리한다. ODVA는 DeviceNet의 사양을 유지하고 DeviceNet으로의 발전을 감독합니다. 또한 ODVA는 적합성 테스트 및 공급 업체 적합성을 제공하여 DeviceNet 표준 준수를 보장한다.

1.4 Modbus

Modbus 는 프로그래머블 로직 컨트롤러 (PLC)와 함께 사용하기 위해 1979년에 Modicon (현재 Schneider Electric )에서 처음 발표한 데이터 통신 프로토콜이다. Modbus는 사실상의 표준 통신 프로토콜이 되었으며 현재 산업용 전자 장치를 연결하는 데 일반적으로 사용되는 수단이다. Modbus는 공개적으로 게시되고 로열티가 없기 때문에 산업 환경에서 널리 사용된다. 산업용 애플리케이션을 위해 개발되었으며 다른 표준에 비해 배포 및 유지 관리가 상대적으로 쉬우며 전송할 데이터 형식에 데이터 그램(패킷) 크기 외에는 거의 제한이 없다. Modbus는 RS-485, RS-485 또는 이더넷을 배선 유형으로 사용한다. Modbus는 동일한 케이블 또는 이더넷 네트워크에 연결된 여러 장치와의 통신을 지원한다[7].

Modbus는 자동화 산업의 SCADA (Supervisory Control and Data Acquisition )시스템에서 플랜트/시스템 감독 컴퓨터를 원격 터미널 장치(RTU)와 연결하는 데 자주 사용된다. 많은 데이터 유형은 릴레이 구동에 사용되기 때문에 래더 로직과 같은 공장 장치의 산업 제어에서 명명된다. 단일 물리적 출력을 코일이라고 하고 단일 물리적 입력을 개별 입력 또는 접점이라고 한다.

Modbus 프로토콜 버전은 직렬 포트와 이더넷 및 인터넷 프로토콜 제품군을 지원하는 기타 프로토콜용으로 존재한다. Modbus 프로토콜에는 모드 버스는 크게 세 종류가 있는데, Modbus Serial, Modbus RTU 그리고 Modbus TCP/IP이다. 모드 버스 시리얼은 또 모드 버스 RTU와 모드 버스 ASCII로 나뉘는데, RS-232나 RS-485를 통한 직렬통신 방식이다[7].

Modbus RTU는 공백으로 프레임을 구분하며, 0 00 0 FF 0x00 ~ 0xFF 문자를 사용하므로 통신 시간이 단축되고, 일반적으로 RTU 모드를 많이 사용한다. 16진 수 데이터를 사용하여 통신하고 시작 및 끝 문자는 별도로 없으며 국번으로 시작하고 CRC로 끝난다. 여러 가지 기능 코드가 있는데, 16비트 단위의 Read Input Register , Read Input Register, Read Holding Register, Write Single Register, Write Multiple Register 기능을 주로 사용함[6].

2. 문제점

특정 회사(프토토콜)의 국한된 시스템을 이용(Closed System)하여 생산설비를 구축하는 경우에는 다음과 같은 문제가 발생할 소지가 있는데 이는 해당 회사에서 구축한 시스템만으로는 사용자가 원하는 모든 기능을 맞추기가 어려운 경우가 발생하거나 혹은 다른 회사(프로토콜)에서 생산되는 제품을 시스템에 추가해서 사용할 경우에는 통합 기능을 구현하기 위해서 이 장비와 맞는 다른 회사의 Input/Output 구축을 다시 해야 하는 현상이 발생되기 때문에, 현장에 공통 Input/Output 통함 구축을 하는 효율성의 반감 및 구축 기간과 비용의 증가로 인해 그 의미 자체가 감소된다. 따라서 본 논문에서는 Modbus를 이용한 표준화 통신 방법을 제안한다.

Ⅳ. PLC Modbus 통신을 위한 실행 실험

1. LSIS PLC 구성

[그림 1]은 본 실험에 사용된 LSIS의 XGB (XBC-DN32H) 제품이다. AC 100V-220V 전원, DC24V 입력 16점, 트랜지스터 출력 16점을 가지고 있다.

CCTHCV_2021_v21n4_77_f0001.png 이미지

그림 1. Foundation Fieldbus Protocol 구성 아키텍쳐

[그림 2]는 LSIS에서 제공하는 XG5000 프로그램을 이용해 PLC 구동 프로그램(Ladder)프로그램을 만드는 화면이다.

XG5000을 실행하고 PLC에 접속하여 스캔 프로그램을 생성하고 Ladder를 만들어준다.

CCTHCV_2021_v21n4_77_f0002.png 이미지

그림 2. Fieldbus Stack 구성

Ladder는 P00000 ~ P0000F 총 16점 입력으로 각 출력은 M00000 ~ M0000F로 (P 영역의 입력을 M 영역)1:1로 간단하게 바로 출력으로 내보내도록 해준다. P 영역은 실제 DC24V 입력이고, M 영역은 내부 메모리 영역에 해당된다. Ladder 구성이 완료되었으면 XG5000의 온라인 메뉴의 쓰기(W)를 클릭하여 PLC 내부에 프로그램을 쓰기 한다.

CCTHCV_2021_v21n4_77_f0003.png 이미지

그림 3. 실험에 사용된 LSIS GB(XBC-DN32H)

2. LSIS Modbus 통신 설정

본 실험은 국내에서 제조되고 국내 제품 중 가장 많이 판매되고 있는 LSIS의 PLC를 이용하여 주장하는 서비스 구현하고 서비스 구현의 심플함과 필요성을 확인하려 한다. LSIS의 PLC들은 XGT전용 모드 버스 사용자 정의 프로토콜을 이용하여 디바이스 읽기, 쓰기가 가능하다.

PLC의 서버 모드 서비스는 PLC에서 별도의 프로그램 작성 없이 PC 및 주변 기기에서 PLC 내의 정보 및 데이터를 읽거나 쓸 수 있도록 해준다. XGT 전용 프로토콜을 지원하는 XGT 서버와 모드 버스 RTU, ASCII 프로토콜을 지원하는 모드 버스 서버로 동작할 수 있다. [그림 1]은 LSIS XG500 프로그램으로 PLC에 접속하여 내장 Cnet(통신 모듈) 설정에서 채널1에 모드 버스 RTU 서버 동작 모드로 설정한다. 이 설정은 통신 네트워크에서 서버로 동작하게 되며 외부 기기나 PC에서의 XGT전용 프로토콜이나 모드 버스 프로토콜을 따르는 메모리 읽기, 쓰기 요청이 올 경우 응답을 하는 구조로 되어 있다.

[그림 4]와 같이 비트 읽기 시작주소, 비트 쓰기 시작 주소, 워드 읽기 시작주소, 워드 쓰기 시작 주소를 설정한다.

CCTHCV_2021_v21n4_77_f0004.png 이미지

그림 4. XG5000을 이용한 Ladder 구현

비트 읽기 영역 시작 주소는 디지털 입력 영역에 해 당하는 XGB의 주소, 비트 쓰기 영역 시작 주소는 디지털 출력 영역에 해당하는 XGB의 주소, 워드 읽기 영역 시작 주소는 아날로그 입력 영역에 해당하는 XGB의 주소를 워드 쓰기 영역 시작 주소 아날로그 출력 영역에 해당하는 XGB의 PLC 메모리에 대한 영역을 설정해준다. PLC Ladder 구성에서 내부메모리 M 영역으로 출력을 내보내도록 만들었기 때문에 [그림 5]와 같이 비트 읽기 영역을 M0000(비트)부터 할당하고 워드 쓰기 영역을 D0000(워드)부터 할당해준다.

CCTHCV_2021_v21n4_77_f0005.png 이미지

그림 5. Ladder 구성

표 1. 실험에 사용된 PLC 기종 및 모드 버스 설정

CCTHCV_2021_v21n4_77_t0001.png 이미지

2. LSIS PLC 통신 모듈 설정 및 통신 진단

[그림 6]과 같이 PLC와 PC를 통신 케이블 연결 후(RS-232) Cnet의 통신 모듈 설정 및 진단 메뉴를 이용하여 시스템 진단을 할 수 있다.

그림 6. Cnet 모드 버스 설정

시스템 진단에서 프레임 모니터를 클릭하여 통신 형태와 송수신 프레임을 모니터 할 수 있다. [그림 7]과 같이 수신, 송신 데이터가 실시간 갱신되면서 계속 보이면 정상적으로 데이터 통신을 하고 있는 것이다.

CCTHCV_2021_v21n4_77_f0007.png 이미지

그림 7. Modbus 설정

[그림 8]과 같이 서비스별 상태 기능을 이용하면 설정한 모드 버스 서버 채널의 데이터 송수신 카운트 그리고 에러 카운트를 확인하여 모드 버스 서버를 통한 데이터 송수신이 정상적인지 확인 할 수 있다.

CCTHCV_2021_v21n4_77_f0008.png 이미지

그림 8. Cnet의 시스템 진단기능

3. Modbus

3.1 NModbus

NModbus는 Modbus 프로토콜을 이용하여 MS Windows.NET 환경에서 구현 가능한 Library이다. Modbus 슬레이브 호환 장치 및 애플리케이션에 대한 연결을 제공한다. 직렬 ASCII, 직렬 RTU, TCP/IP 및 UDP 프로토콜을 지원한다. NModbus4는 MIT 라이센스에 따라 무상으로 사용 가능하다. Nmodbus에서 제공하는 데모 파일 그리고 dll파일을 이용하면 쉽고 간단하게 Windows C#을 이용하여 MODBUS프로토콜 을 구현할 수 있다[3].

NModbus가 안정적으로 서비스되는 OS 계열은 [표 2]과 같이. NET Framework 2 이상의 Windows 계열은 대부분 지원한다. WinCE 계열도 거의 지원한다[3].

표 2. NModbus 지원 OS

CCTHCV_2021_v21n4_77_t0002.png 이미지

4. LSIS PLC Modbus 통신 구현

4.1 개발환경

LSIS Modbus 통신 프로그램은 [표 3]과 같은 조건하에서 개발하였다. 본 논문에서 제시한 LSIS PLC Modbus 통신 프로그램의 통신 흐름은 Field에 있는 PLC의 Modbus 버스 RTU 서버 설정이 되어 있고, PLC와 PC는 RS-232통신 방식을 이용하고, 데이터 수집 PC에는 Visual Studio C# 개발 환경 구성이 되어 있고 NModbus Lib을 이용하여 Windows 환경에서 통신을 하는 흐름을 가지고 있다.

표 3. 개발 환경

CCTHCV_2021_v21n4_77_t0003.png 이미지

4.2 통신 설정 확인 및 데이터 읽기

4.2.1 COM 포트 확인

RS-232 통신을 하기 위해서는 먼저 수집 PC의 COM 포트를 찾아 SerialPort를 OPEN 해야 한다. 수집 PC의 COM 포트를 찾아서 통신에 참고를 한다. 아래 [그림 10]에서는 수집 PC의 장치 관리자를 확인하여 COM3에 접속된 것을 확인 할 수 있다.

CCTHCV_2021_v21n4_77_f0010.png 이미지

그림 10. 서비스별 상태 모니터링

4.2.2 코드 완성

[그림 9]는 통신 접속 및 수집 데이터 출력용 주요 코드를 보여준다. SerialPort는 [그림 10]의 PC에 설정된 COM3으로 통신 속도는 [그림 4] LSIS Cnet 모드 버스 설정의 115200으로 통신 속도 연결 설정을 해야만 한다.

CCTHCV_2021_v21n4_77_f0009.png 이미지

그림 9. 프레임 모니터

16개의 디지털 데이터를 RTU 방식으로 받야야 되기 때문에 ModbusSerialMaster 의 CreateRtu(Serial) 함수를 이용해 접속을 한다. 이때 채널 국번은 반드시 PLC 그림 4. LSIS Cnet 모드 버스 설정의 채널 국번과 같아야 한다.

CCTHCV_2021_v21n4_77_f0011.png 이미지

그림 11. 통신 흐름

그림 12. COM 포트 확인

ModbusSerialMaster 의 ReadCoils 함수는 지정한 국번에 접속하여 원하는 개수의 데이터를 읽어오는 함수이다. 국번과 개수가 정확히 일치해야 오류가 발생하지 않는다. ReadCoils 함수는 데이터를 읽어 bool형 배열에 데이터를 채워서 반환한다. 수집된 데이터는 국번과 개수가 정확히 일치해야 오류가 발생하지 않는다.

CCTHCV_2021_v21n4_77_f0012.png 이미지

그림 13. NModbus를 이용한 데이터 통신주요 코드

4.2.3 데이터 테스트

ModbusMaster의 ReadCoils 함수를 이용해 수집된 데이터는 배열로 반환된다. 배열의 데이터를 format 함수를 이용하여 C#에서 출력해 볼 수 있다. 그리고 C# 프로젝트를 실행하고 PLC에서는 XG5000을 같이 실행하여 [그림 7] 프레임 모니터와 [그림 8]의 서비스 카운트를 확인하며 PC와 PLC 간의 데이터 통신 전송 및 에러 카운트를 확인하며 프로그램 안정화 및 테스트 할 수 있다.

Ⅴ. 결론

본 논문에서는 스마트팩토리 구축을 위해 필수적인 필드버스를 학습할 수 있도록 내용분석과 FieldBus의 대표적인 Modbus를 이용하여 LSIS PLC 기반의 Mud buss 통신 프로그램을 개발하고 실습 예제를 구현하였다. 특히, 장비는 다양한 산업 현장에서 사용 중인 LSIS PLC와 Modbus 통신기술을 중심으로 제작하여 실무에서 바로 적용할 수 있도록 구현했다. 따라서 기존의 제조회사에 특정한 단일시스템 중심의 PLC 통신 프로그램보다 스마트팩토리 PC 통신 구축과 연계되는 설계, 제작, 유지보수의 다양한 분산된 필드 기기의 제어와 원격진단 및 타사 제품(프로토콜)과의 호환능력을 기대할 수 있다. Modbus 프로토콜은 사실상의 표준으로 자리 잡아가고 있고, 1979년부터 다양하게 사용되고 있는 Modbus 프로토콜을 PLC 제조사들도 컨트롤러에도 확장하고 있다. Modbus는 초고속 이더넷 데이터 전송을 보장하는 간단하고 간소화된 프로토콜이라는 장점을 가지고 있어 제조사에 구애받지 않는 데이터 구조는 다양한 제조사의 기기 사이의 통신을 가능하게 해 준다.

향후 Modbus를 지원하는 다양한 PLC 제조회사의 PLC에 대한 Modbus 통신에 대한 연구를 진행할 예정이다. 추가적으로는 스마트팩토리 구축에 필요한 빅데이터, AI용 데이터 수집을 하기 위한 기초단계 작업으로 다양한 제조사 PLC 장비에서 Modbus를 이용한 초고속 통신 방법연구를 진행하고 수집되는 데이터를 Database 데이터 고속 로깅하는 개발에 대한 연구도 함께 진행할 예정이다.

References

  1. 박규찬, 한국형 스마트팩토리 구축 전략의 필요성 대두, FA저널, 2018.12
  2. Wiki, "스마트팩토리," https://ko.wikipedia.org/wiki/%EC%8A%A4%EB%A7%88%ED%8A%B8%ED%8C%A9%ED%86%A0%EB%A6%AC
  3. 전시현, 스마트 팩토리, 공장 자동화와 다른 점 5가지, FA저널, 2018.05 https://www.industrynews.co.kr/news/articleView.html?idxno=23949
  4. 오승모, 필드버스(Fieldbus)란 무엇인가?, 아이씨엔 매거진, 2015. https://icnweb.kr/2015/12550/
  5. CC-Link협회, https://kr.cc-link.org:444/ko/index.do
  6. Profibus협회, https://www.profibus.com/
  7. KiET 산업연구원, 한국형 스마트 제조전략 연구, 2019.12.
  8. Modbus 협회, https://modbus.org/
  9. Modbus Wiki, https://en.wikipedia.org/wiki/Modbus
  10. NModbus google Code, https://code.google.com/archive/p/nmodbus
  11. ICP DAS, NModbus API Manual
  12. LSIS, "XGB Cnet I/F 편"