• 검색 결과가 없습니다.

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

N/A
N/A
Protected

Academic year: 2021

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

Copied!
11
0
0

로드 중.... (전체 텍스트 보기)

전체 글

(1)

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

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

한진석, 유재수 충북대학교 정보통신공학부

Jin-Seok Han([email protected]), Jae-Soo Yoo([email protected]) 요약

스마트팩토리는 제조생산 전 과정이 디지털 자동화 솔루션으로 결합돼 생산성 및 품질, 그리고 고객만족도 를 향상시키는 지능형 공장으로 스스로 제어할 수 있는 공장을 말한다. 독일, 유럽, 미국 등을 중심으로 전 세계 제조 산업에서 급속도로 변화하고 있다. 우리 정부도 이러한 변화에 대응하기 위해 중소중견기업을 위한 스마트팩토리 보급확산 정책을 펼치고 있으며 산업자원통상부, 중소벤처기업부, 중소기업기술정보진흥원, 각 지역 테크노파크 등 관계부처 및 기관들과 삼성, SK, LG 등 대기업들이 스마트팩토리 지원 사업에 적극적인 투자를 하며 제조 스마트화에 나서고 있다[1]. 공장자동화(Factory Automation, FA) 구축에는 이기종 장비 의 연결에 대해 많은 이슈들이 있다. 다양한 장비로부터의 다양한 통신 구성이 가장 힘든 측면이 그 이유이다.

같은 회사 제품들로만 구성되거나 표준안이 존재하면 모르겠지만, 오래된 장비와 최신의 장비, 사용 환경도 제각각인 장비들이 일련의 통신을 통해 통합 구축을 하려니 구축하기가 쉽지 않다. 이런 문제점을 해결하기위 한 방법으로 전 세계적으로 널리 보급되어 있는 자동화 프로토콜의 하나이고, 대표적인 설비 제어시스템인 PLC의 수많은 공업 기기에서 통신표준으로 사용하고 있는 FieldBus중 하나인 Modbus를 이용하여 통신 하 는 방안을 제시하고자 한다.

■ 중심어 :∣스마트팩토리∣Modbus∣PLC∣FieldBus∣통신 프로토콜∣

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.

■ keyword :∣Smart Factroy∣Modbus∣PLC∣FieldBus∣Factory Automation∣

* 본 연구는 정부(과학기술정보통신부)의 재원으로 한국연구재단의 지원(No. 2019R1A2C2084257), 과학기술정보통신부 및 정보통신기획평가원의 Grand ICT연구센터지원사업(IITP-2020-0-01462), 그리고 2017년 대한민국 교육부와 한국연구재단의 지원(NRF-2017S1A5B8059946)을 받아 수행된 연구임

접수일자 : 2020년 11월 30일

수정일자 : 2020년 12월 15일 심사완료일 : 2020년 12월 15일

교신저자 : 유재수, e-mail : [email protected]

(2)

I. 서론

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

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

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

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

생산에서는 라인별/작업조별 바코드 관리가 돼야 하며

생산실적과 현황을 파악할 수 있는 생산현황 모니터링 과 자재의 입고 및 공정별 사용량 등을 관리할 수 있어 야 한다.

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

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

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

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

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

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

(3)

무인화 및 생산 과정의 자동화를 만드는 시스템을 말한 다.

셋째, 스마트 팩토리는 기획, 설계, 생산, 유통 등 전 과정을 정보통신기술(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절에서 본 논문 의 결론과 향후 연구를 제시한다.

II. 필드버스(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 장치가

(4)

생산설비에 분산되어 적절히 설치되고 이들을 통신선 을 이용하여 제어기기와 연결하는 형태로 만드는 것이 다.

이렇게 입출력용 제어기기 장치가 생산현장에 분산 되는 형태를 취한다고 해서 생산현장을 의미하는

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

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

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

3. Fieldbus의 이점은?

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

특히 데이터 링크 계층은 OSI 2계층에서 4계층까지 의 기능을 적절히 축소한 범위에서 제공할 수 있도록

하며 임계 시간을 갖고 있는 응용 기능을 처리할 수 있 도록 버스를 관리한다. 필드버스 규약은 엄격한 실시간 요구가 만족되어야 하기 때문에 절대적으로 3계층 구 조를 택하며, 보통 필요한 기능들만으로 제한하고 있다.

그림 2. Fieldbus Stack 구성

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

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

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

필드버스 규약은 보통 네개의 계층과 하나의 관리 서

(5)

비스를 포함한다. 필드버스는 사용자가 데이터 링크 계 층이나 응용계층에 관계할 필요가 없다는 장점이 있다.

단지 사용자는 관리 서비스에 대한 제한된 지식만으로 도 충분하다. 현재 세계적으로 크게 사용되고 있는 필 드버스 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].

III. 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) 와 연

(6)

결하는 데 자주 사용된다. 많은 데이터 유형은 릴레이 구동에 사용되기 때문에 래더 로직 과 같은 공장 장치 의 산업 제어에서 명명된다. 단일 물리적 출력을 코일 이라고 하고 단일 물리적 입력을 개별 입력 또는 접점 이라고 한다.

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를 이용한 표준화 통신 방법을 제안한다.

IV. PLC Modbus 통신을 위한 실행 실험 1. LSIS PLC 구성

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

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

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

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

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

(7)

그림 5. Ladder 구성

Ladder는 P00000 ~ P0000F총 16점 입력으로 각 출력은 M00000 ~ M0000F로 (P영역의 입력을 M영 역)1:1 로 간단하게 바로 출력으로 내보내도록 해준다.

P영역은 실제 DC24V 입력이고, M영역은 내부 메모리 영역에 해당된다. Ladder 구성이 완료 되었으면 XG5000의 온라인 메뉴의 쓰기(W)를 클릭하여 PLC내 부에 프로그램을 쓰기 한다.

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]와 같이 비트읽기 시작주소, 비트 쓰기 시작 주소, 워드 읽기 시작주소, 워드쓰기 시작 주소를 설정 한다.

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

그림 6. Cnet 모드버스 설정

그림 7. Modbus 설정

(8)

역을 D0000(워드)부터 할당해준다.

PLC CPU LSIS XGB(XBC-DN32H) Series

통신속도 115200

국번 1

동작 모드 모드버스 RTU 서버 모드버스 설정

비트 읽기 영역 시작 주소 M0000 비트 쓰기 영역 시작 주소 M0000 워드 읽기 영역 시작 주소 D0000 워드 쓰기 영역 시작 주소 D0000 표 1. 실험에 사용된 PLC 기종 및 모드버스 설정

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

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

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

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

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].

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

그림 9. 프레임 모니터

(9)

WinForm

XPAC(WES 2009)

Win8,Win7,Vista,Xp(.NET framework 2 or later required)

WinCE

ViewPAC(CE5) WinPAC(CE5) XPAC(CE6) 표 2. NModbus 지원 OS

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 환경에서 통신을 하는 흐름을 가지고 있 다.

개발 OS Windows 10 개발 사용 언어 C#

개발 툴 Visual studio 2019 community 적용 기기 LSIS XGB(XBC-DN32H) Series Modbus 종류 NModbus

표 3. 개발 환경

4.2 통신 설정 확인 및 데이터 읽기 4.2.1 COM 포트 확인

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

4.2.2 코드 완성

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

설정의 115200으로 통신 속도 연결 설정을 해야만 한 다.

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

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

// 채널 국번

const int SLAVE_ADDRESS = 1;

// 읽을 주소의 시작값 ( PLC는 0번 부터 읽힌다 ) ushort startAddress = 0;

// 읽어들일 개수

ushort numOfPoints = 16;

// RS-232 serial 접속 그림 11. 통신 흐름

그림 12. COM포트 확인

(10)

4.2.3 데이터 테스트

ModbusMaster의 ReadCoils 함수를 이용해 수집 된 데이터는 배열로 반환된다. 배열의 데이터를

format 함수를 이용하여 C#에서 출력 해볼 수 있다.

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

V. 결론

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

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

_serialPort = new SerialPort(“COM3”, 115200);

_serialPort.DataBits = 8;

_serialPort.StopBits = StopBits.One;

_serialPort.Parity = Parity.None;

_serialPort.Open();

// 모드 버스 접속 _ModbusMaster =

ModbusSerialMaster.CreateRtu(_serialPort);

_ModbusMaster.Transport.ReadTimeout = 300;

_ModbusMaster.Transport.WriteTimeout = 300;

_ModbusMaster.Transport.Retries = 0;

// Modbus에서 데이터 읽기 bool[] result_slave1 =

_ModbusMaster.ReadCoils(SLAVE_ADDRESS, startAddress, numOfPoints );

// 입력 데이터 테스트 출력 string str_slave1 =

String.Format("slaveID=1

0:{0},1:{1},2:{2},3:{3},4:{4},5:{5},6:{6},7:{7},8:{8},9 :{9},10:{10}," +

"11:{11},12:{12},13:{13},14:{14},15:{15}", result_slave1[0], result_slave1[1], result_slave1[2], result_slave1[3], result_slave1[4], result_slave1[5], result_slave1[6], result_slave1[7], result_slave1[8], result_slave1[9], result_slave1[10],result_slave1[11], result_slave1[12],

result_slave1[13],result_slave1[14], result_slave1[15]);

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

(11)

참 고 문 헌

[1] 박규찬, 한국형 스마트팩토리 구축 전략의 필요성 대 두, FA저널, 2018.12

[2] Wiki, “스마트팩토리,” https://ko.wikipedia.org/w iki/%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/articleVi ew.html?idxno=23949

[4] 오승모, 필드버스(Fieldbus)란 무엇인가?, 아이씨엔 매거진, 2015. https://icnweb.kr/2015/12550/

[5] CC-Link협회, https://kr.cc-link.org:444/ko/ind ex.do

[6] Profibus협회, https://www.profibus.com/

[7] KiET 산업연구원, 한국형 스마트 제조전략 연구, 2019.12.

[8] Modbus 협회, https://modbus.org/

[9] Modbus Wiki, https://en.wikipedia.org/wiki/M odbus

[10] NModbus google Code, https://code.google.c om/archive/p/nmodbus

[11] ICP DAS, NModbus API Manual [12] LSIS, "XGB Cnet I/F 편"

저 자 소 개

한 진 석(Jin-Seok Han) 정회원

2004년 8월 : 청주대학교 컴퓨터 정보공학과(공학사)

2013년 2월 : 충북대학교 정보통 신공학과(공학석사)

2015년 8월 : 충북대학교 정보통 신공학(박사수료)

현재 : (주)유비투비 대표이사 <관심분야> : 스마트팩토리, 통신SW

유 재 수(Jae-Soo Yoo) 종신회원

1995년 2월 : KAIST 전산학과(공 학 박사)

1995년 2월 ~ 1996년 8월 : 목포 대학교 전산통계학과 전임강사

1996년 8월 ~ 현재 : 충북대학교 전자정보대학 정보통신공학부 정교수 <관심분야> : 데이터베이스 시스템, 멀티미디어 데이터베

이스, 센서 네트워크, 바이오인포매틱스, 빅데이터 등

수치

그림  1.  Foundation  Fieldbus  Protocol  구성  아키텍쳐
그림  5.  Ladder  구성  Ladder는  P00000  ~  P0000F총  16점  입력으로  각    출력은  M00000  ~  M0000F로  (P영역의  입력을  M영 역)1:1 로 간단하게 바로 출력으로 내보내도록 해준다
그림  10.  서비스별  상태  모니터링

참조

관련 문서

구현된 플랫폼 테스트를 위해 고정 IoT 디바이 스는 태양광 발전 모듈로 , 이동 IoT 디바이스는 탁구 스윙 데이터 측정을 위한 모듈로 각각 구현하였다.. 이들

Cas- per Service의 경우 크롤링이 완료되면 Crawler Service와 똑같이 수집된 결과 값인 HTML과 정형 및 비정형 데이터의 목록을 File IO 모듈을 통해 저장 하고

대용량 DTG 데이터를 실시간으로 가공 및 변환하고 맵에 표현하기 위해 오픈소스 빅 데이터 플랫폼인 스파크를 활용하였다. 제안한 시스템은 DTG 데이터의 특성을 잘

본 논문에서는 텔레매틱스 데이터 표준화 를 위한 방안으로 XML 표준 기반의 tele-XML 표준안을 정의하고, 이를 구성하는 각 프레임 워크 분류 기준 및

&lt;&lt;const&gt;&gt; operator!=() operator bool&amp;() operator int&amp;() operator double&amp;() operator BinaryData&amp;() operator struct

실제 운행기록 장치로부터 획 득한 데이터를 제안한 시스템에 입력하여 간편한 방법으로 파일을 변환하고, 변환된 파일을 데이터 뷰어를 통해 확

DCAT은 CKAN, DKAN, Socrata와 같은 대표적인 오픈데이터 플랫폼에서 지원하고 있으며 실제로 CKAN을 기 반으로 하는 대표적인 공공데이터 포털인

본 논문에서는 VDR, AMS (alarm monitoring system), AIS 등 선박 내부에 설치된 항해통신 및 기관 장비와 ECDIS, SEEMS 와 같은 선박용 어플리케이션 시스템을