Development of electro hydraulic ballast remote valve control system with diagnostic function using redundant modbus communication
This paper describes development of distributed type independent electro-hydraulic ballast valve remote control system with diagnostic function based on fuzzy inference using redundant Modbus communication and ethernet Modbus TCP/IP. Diagnostic function estimate degradation of system components and diagnose system faults, which results in shortage of fault maintenance time and improvement of system safety. Slave devices which control each valve and master device which command, monitor and diagnose slave system are developed. Slave devices are connected to master device with redundant Modbus networks and master device is connected to ship’s integrated control system with Modbus TCP/IP. Also this paper describes development of simulator to test and confirm whether developed system can be integrated with ship’s integrated control and monitoring system.
초록
본 논문은 밸러스트 탱크용 분산형 독립전기유압식 원격밸브제어시스템을 개발하기 위하여 밸브개폐를 제어하는 슬레이브시스템과 다수의 슬레이브시스템을 제어감시하는 마스터시스템, 정보교환을 위하여 실시간 제어시스템에서 사용되는 이중화 모드버스 통신시스템, 선박의 통합관리 시스템에 접속 가능한 이더넷 모드버스 TCP/IP 통신시스템을 구현한다. 또한 퍼지기반 고장진단 시스템을 추가하여 시스템의 열화를 예측하고 정비시간을 단축함으로써 선박용 밸러스트 밸브 제어시스템의 안전성과 신뢰성을 높인다. 그리고 선박의 통합제어 시스템과 연계할 수 있는지를 확인할 수 있도록 이더넷 시뮬레이터를 개발하고 이들 장치의 시험에 대하여 기술한다.
Keywords:
Electro-hydraulic Remote valve system, Redundant modbus, Modbus TCP/IP, Fuzzy based diagnostic function, 전기유압식 원격밸브제어, 이중화 모드버스, 모드버스 TCP/IP, 퍼지기반 고장진단1. 서 론
선박의 밸러스트 제어시스템은 선박의 항해와 화물의 적화에 있어 매우 중요한 시스템이다. 밸러스트 제어시스템은 중앙집중유압식이 많이 사용되어져 왔다. 그러나 이 시스템은 유압배관이 선박의 도처에 설치되어 있는 유압밸브까지 배관이 되어야 하는 등의 단점이 있다. 최근에는 이러한 단점을 보완하고 전기전자식으로 감시제어를 하기 위하여 분산형 독립전기유압식 시스템이 사용된다.
분산형 독립전기유압식은 각 밸브마다 유압펌프와 제어유닛을 독립적으로 가지고 있는 일체형으로서 전원과 제어감시를 위하여 통신선이 직접 밸브로 공급되는 구조이다. 분산형 독립전기유압식은 국산화 개발이 되어 있지 않아 전량 수입에 의존하고 있다.
Figure 1은 유압 배관과 솔레노이드 밸브가 집중된 중앙집중유압식 시스템으로 중앙 콘솔에서 각각의 유압밸브를 제어하는 유압배관이 되어있는 방식이다. 분산형 독립전기유압식은 소형유압펌프와 소형오일탱크가 밸브구동부에 일체로 되어있는 Figure 2와 같은 구조이며 각각이 한 개의 제어기를 가지고 있다.
따라서 Figure 1과 같이 중앙관제시스템으로부터 각 유압밸브까지의 유압배관이 불필요하고 각 밸브마다 전원과 통신선만이 연결되는 구조로서 간단하고 유압관로의 누설로 인한 시스템 실패와 개도오류가 없어 신뢰성이 높다.
밸브의 제어감시를 위하여 기존의 통신 방식인 모드버스 485와 모드버스 TCP방식을 사용한다. 분산형 독립전기유압식 밸브시스템은 유압밸브, 유압펌프와 이를 구동하는 전기모터, 밸브개도 지시기, 제어 및 통신시스템이 일체로 되어 있다. 마스터시스템은 이렇게 일체로 되어 있는 256개의 슬레이브 유압밸브시스템을 조작감시하기 위하여 터치스크린으로 모니터링과 제어가 가능하도록 하였다.
대형 선박의 경우, 밸러스트 밸브가 256개 이상이면 수개의 마스터 시스템으로 구성하고 마스터 시스템은 서로 모드버스 TCP를 통하여 선박의 제어시스템과 연결하여 제어감시가 가능하도록 하였다. 마스터시스템은 밸브 전체의 상태를 감시하기위하여 각각의 밸브 상태를 백분율 상태바로 표시한다. 각각의 밸브를 제어하기 위하여서는 각 밸브를 선택하여 완전개폐와 부분개폐가 가능하도록 하였다. 분산형 독립전기유압식 밸브의 상태를 감시하기 위하여 압력센서와 포텐쇼미터, 전류센서 등을 장착하여 전기모터와 유압모터, 밸브 및 개도지시계 등의 고장진단을 하기 위한 고장 진단 시스템을 추가하였다.
2. MODBUS 프로토콜
2.1 통신 프로토콜 MODBUS-RTU
통신포트는 2선식 RS485를 사용하였다. SOLAS선박에서 통합된 제어감시 시스템은 통신선로의 2중화요구가 있어 2개의 포트를 사용하여 페루프로 구성하고 통신선로가 끊어 졌을 때에는 다른 방향으로 정보를 전달할 수 있도록 2중화 하였다. Figure 3은 모드버스의 일반적인 데이터 프레임을 나타내고 있다[1].
모드버스-RTU는 실질적인 데이터 전송을 위하여 데이터프레임의 처음과 끝에 3.5 char의 데이터 미 전송 구간이 있다. 이것은 제어기에서 새로운 데이터의 전송이 시작됨을 의미한다. Figure 4는 RTU 모드에서의 데이터 포맷이다.
각 프레임에는 시작과 끝의 3.5 char를 포함하여 제어기의 어드레스, 기능을 나타내는 기능 코드, N개의 8BIT 데이터, 16BIT CRC (Cyclical Redundancy Check)를 포함하고 있다. 본 연구에서는 밸브의 상태와 제어를 위하여 기능코드 04(Read Input Register)와 기능코드 06(Write Single Register)을 사용한다[2].
기능코드 04와 기능코드 06으로 마스터가 요청하면 슬레이브가 응답한다. 기능코드에 대한 에러가 발생하면 에러코드로 응답한다. Table 1은 기능 코드에 대한 요청과 응답 및 에러에 대한 값을 나타낸다. 기능코드 06 Write Single Register의 어드레스는 0x4001을 사용하였다. 레지스터 값에는 주로 밸브의 개폐나 부분개도정보를 보내어 밸브를 제어하기위한 명령 기능으로 사용하였다. 밸브의 상태 모니터링과 고장 진단을 하기위하여 기능 코드 0x04 Read Input Register를 사용하였고 레지스터 어드레스는 0x4020 ~ 0x4023까지를 사용하여 차례대로 밸브의 상태, 작동 온도, 오일의 압력 그리고 모터의 사용전류를 감시하도록 하였다.
2.2 통신 프로토콜 MODBUS TCP/IP
MODBUS TCP/IP는 기존의 RS485 통신을 ethernet으로 확장한 것으로 대량의 데이터를 빠른 전송속도로 전송하기 위한 것이다. 본 연구에서는 마스터시스템이 가지고 있는 데이터를 선박 통합관리 시스템에 전달하기 위하여 TCP/IP를 통하여 정보를 교환할 수 있도록 구성 하였다. Figure 5는 기본적인 MODBUS TCP/IP의 데이터 프레임의 구조를 나타내고 기능 코드와 데이터는 MODBUS-RTU와 동일한 구조를 가지고있다. MODBUS TCP/IP는 실재 실시간 제어감시를 위하여 UDP를 사용한다. MODBUS TCP/IP ADU (Application Data Unit)는 모드버스 응용프로토콜(MBAP : Modbus Application Protocol) 헤 더와 모드버스 PDU(Protocol Data Unit)로 구분된다. Figure 6에서 보는바와 같이 MBAP Header는 MODBUS TCP/IP의 헤더이고 PDU는 기능코드를 포함하는 MODBUS TCP/IP의 데이터 프레임이다.
MBAP 헤더에는 2 Byte의 요구 및 응답을 나타내는 인식자 Transaction ID와 2Byte의 프로토콜 인식자인 Protocol ID가 있으며, Protocol ID가 0이면 MODBUS 프로토콜을 나타낸다[3]. Length는 이후에 따라오는 데이터의 전체 바이트 수를 나타내고, Unit ID는 슬레이브 제어기의 어드레스를 나타낸다. F Code와 Data는 MODBUS-RTU와 동일한 데이터 프레임을 가진다. Table 2는 write single register의 구조설계로서 마스터에서 슬레이브로 TCP를 이용하여 명령을 내릴 때 사용하며 Table 3은 슬레이브의 상태를 모니터링할 때 슬레이브에서 전송하는 read input register의 구조설계이다.
2.3 고장진단 알고리즘
고장진단 알고리즘은 각종 센서로부터 오일 펌프 및 작동압력, 모터의 전류, 모터의 온도, 밸브의 위치 등을 구하여 규칙기반 퍼지추론과정을 거쳐 시스템을 진단하고 고장 원인을 분석하여 마스터시스템에 표시한다. Figure 7은 각각의 센서에 대한 상한 및 하한 값을 미리 정의하고 센서의 값을 실시간으로 감시하여 고장의 상태를 추정하는 알고리즘이다. 사용하는 센서는 압력센서 2개, 전류센서 1개, 온도센서1개와 밸브의 위치를 검출하기 위한 포텐쇼미터 1개이다. 마스터시스템은 RS-485 모드버스 RTU 통신을 통하여 각 슬레이브시스템의 센서 값을 감시하고 센서 값으로부터 추론하여 모두 12가지의 주요한 고장진단을 행하여 정비를 용이하게 한다. Table 1은 고장진단을 위한 규칙표이다.
3. 밸브제어 시스템 구현
3.1 전기유압식 밸브 엑츄에이터의 구성
Figure 2와 같이 전기 유압식 엑츄에이터는 전기모터에 직결된 회전식 왕복동 유압펌프가 일체형으로 되어 있다. 모터를 정역으로 회전함으로 유압펌프의 흡토출 방향을 변경하여 실린더 래크를 좌우로 움직이면, 밸브가 연결된 피니언이 회전하여 밸브를 닫거나 연다. 피니언축에 장착된 포텐쇼미터에서 밸브개도정보를 얻는다[4]. 제어 모듈은 모터의 정역전을 제어하고 통신모듈은 각종 센서의 값과 명령을 MODBUS 통신을 통하여 마스터에서 요구하는 명령을 수행하고 밸브의 상태 정보를 제공한다.
3.2 슬레이브 제어기의 구성
본 연구에서 사용한 슬레이브 시스템 제어기 CPU로는 STM 32 Cortex M3프로세서를 사용하였다. 슬레이브 제어기 시스템의 사양은
- CPU : STM 32F ARM 32bit 프로세서
- A/D 변환기 : 12비트 변환기 5 채널
- COM Port : 1 채널
- 전송 방식 : MODBUS-RTU
- 통신 속도 : 2400~115,200 bps
이다. 유압펌프와 직결되어있는 전기모터의 제어는 모터의 역기전력과 안전을 고려하여 릴레이 출력을 사용하였다. 유압펌프는 회전왕복동 펌프로서 유압의 입출력 방향은 모터의 정역회전으로 제어된다. 밸브 위치 정보는 포텐쇼미터의 전압을 A/D 변환기로 입력하여 개폐의 위치를 백분율로 환산하여 위치 데이터를 표시하였다.
통신에 문제가 있을 경우를 감안하여 수동조작을 할 수 있도록 자동/수동 모드 토글스위치를 장착하여 자동조작 시는 마스터 명령에 따라 제어하고, 수동 조작 시에는 유압펌프와 직결되어 있는 모터를 정·역회전과 정지하기 위해 on-off-on 토글스위치를 사용하였다. 교류 모터의 과전류를 측정하기 위하여 전류센서를 내부에 장착하였으며, 온도와 유압을 측정하기 위하여 온도센서와 압력센서의 값을 12비트 A/D 변환기로 계측한다.
슬레이브 제어기의 ID는 10진 선택 스위치 2개와 딥스위치의 2핀을 이용하여 256개의 ID를 설정 할 수 있도록 하였다. 통신 포트는 OPTO로 절연하였고 256개의 RS485 통신이 가능한 칩을 장착하였다. 또한 수동조작시 밸브위치 표시를 위하여 7-SEG FND를 사용하여 밸브 위치를 백분율로 표시하도록 하였다. Figure 8은 개발된 분산형 독립유압식 밸브제어시스템의 슬레이브 제어기이다.
3.2 S/W 구현
Figure 9는 분산형 독립전기유압밸브 제어시스템의 모터제어를 위한 소프트웨어 흐름도이다.
Figure 9에서 자동 모드는 마스터의 명령에 따르는 모드로서 마스터와 모드버스 통신으로 명령을 수행하고, 수동 모드는 모터의 작동시간 설정과 스위치의 수동 동작으로 밸브의 개폐 동작을 수행 할 수 있도록 모터의 정역전을 직접 제어한다. Figure 10의 흐름도는 MODBUS 통신을 통하여 Write single register 명령으로 마스터에서 슬레이브 시스템의 모터를 작동시키기 위한 명령을 나타낸다. 이 기능코드의 명령은 밸브 개폐를 위한 모터의 정역 작동과 밸브 개도위치 명령을 포함하고 있다. 슬레이브 시스템이 명령 데이터를 수신하면 우선 자기 ID인지를 비교하고 참이면 모터의 회전방향을 확인하여 밸브의 개도위치 까지 모터를 작동시키다. 슬레이브는 동작을 마치고 마스터로부터 수신한 명령수행결과와 슬레이브시스템의 진단상태를 송신한다. 마스터는 자신이 송신한 데이터와 같은 데이터를 슬레이브로부터 수신하면 명령수행이 완료된 것으로 간주한다. 밸브의 개도정보와 상태정보는 Read input Register를 사용하여 밸브개도위치 레지스터와 상태 레지스터의 값을 읽어 알 수 있다. 기능 함수 04를 사용하여 마스터에서 데이터를 전송하면 슬레이브는 지정된 ID가 자기 ID이면 현재 자기의 상태를 마스터에 전송한다. 마스터는 수신된 데이터 상태를 디스플레이 화면에 전송하여 표시한다.
3.3 마스터 시스템의 구성
마스터 시스템에서 사용한 CPU는 STM32F205 ARM 프로세스를 사용하였다. 표시장치로는 7인치 LCD AT070TN83V.1로서 800x480, 65,000 Color LED 드라이브를 사용하였으며 사양은 다음과 같다.
- CPU : STM 32F205 ARM 32bit 프로세서
- A/D 변환기 : 12비트 변환기 5 채널
- COM Port : 2 채널
- 전송 방식 : MODBUS-RTU
- 통신 속도 : 2400~115,200 bps
- 최대 슬레이브 수 : 250개
- LCD : 800x 480, 65,000 Color, LED
- TCP/IP : RJ45
마스터 시스템에는 Figure 11과 같은 시스템 모니터링 모드와 Figure 12와 같은 동작모드와 Figure 13과 같은 진단모드가 있다. 시스템 모니터링 모드에서는 슬레이브의 개수와 통신포트, 통신 속도, 스캔 스피드, LCD 화면 밝기 등을 설정하는 설정모드와 슬레이브의 개수 만큼의 슬레이브를 주기적으로 스캔하여 슬레이브의 상태를 모니터링하는 자동 스캔 모드가 있다.
각 슬레이브의 상태는 상태바로 표시하고 열림과 닫힘을 색으로 구분하여 표시함으로 사용자의 인식오류를 줄이고자 하였다. 상태바의 중간에는 백분율로 밸브의 개도 정보를 숫자로 표시한다. 통신 포트는 통신선로의 이중화를 위하여 2개로 구성되어 있다. 슬레이브 시스템의 밸브를 열거나 닫기 위해서는 우선 슬레이브 번호를 선택한 다음 옆의 작동 스위치를 사용하여 Open 또는 Close를 선택하면 마스터시스템은 이 명령을 슬레이브로 전달한다. 이때의 사용명령은 Write Single Register 명령이고 보낸 명령이 슬레이브로 부터 되돌아오면 자동으로 스캔 모드로 전환하여 슬레이브 시스템의 상태를 계속적으로 모니터링 한다. 스캔 모드시의 명령은 Read Input Register 명령이다.
3.4 고장진단 시스템의 구현
Figure 12는 동작 모드화면이다. 마스터명령을 슬레이브가 밸브를 동작하면서 동작상태를 모니터링하여 상태를 표시한다. 개폐동작을 하면서 동작유의 압력, 모터의 전류 등 각종 센서정보로부터 고장 진단 모드의 알고리즘에 따라 고장진단을 수행한다.
고장진단은 밸브위치, 온도, 압력, 전류 등을 검출하여 종합적 판단을 내린다. 각 센서의 실시간 상태를 확인하기 위하여 중앙의 그래프 화면상에 실시간으로 각 센서의 값을 색상으로 구분하여 그래프로 나타내어 현재의 상태를 알 수 있을 뿐만 아니라 상태가 나빠지는 과정을 알 수 있어 구성품의 열화정도를 추정할 수 있다.밸브의 열림/닫힘 명령 수행이 끝나면 고장 진단을 판단하는 화면이 팝업된다. Figure 13은 명령을 수행한 후 고장진단결과를 표시한 것으로 시스템의 최종 상태를 진단한 상태화면이다.
3.5 TCP/IP 시뮬레이터의 구성
본 연구에서 개발된 Figure 11의 마스터 콘트롤러에는 MODBUS TCP/IP 통신을 위하여 Ethernet 칩이 장착되어 있다. RJ45 콘넥터를 통하여 AP(Access Point)에 접속하여 선박의 통합 관리 시스템에 접속 할 수 있도록 설계되어 있다.
실제 선박의 통합 관리 시스템에 접속하여 선상실험을 수행하기에는 어려가지 어려움이 많으므로 개발된 분산형 독립유압식원격 밸브의 제어와 감시가 가능한 것을 확인하기 위하여 PC상에서 동작하는 MODBUS TCP/IP 시뮬레이터를 개발 하였다. IP는 고정 IP주소와 포트는 502번을 시용하였다. Figure 14는 시뮬레이터의 화면으로서 마스터의 IP와 포트를 지정하면 마스터와 연결이 이루어진다. 이 상태에서 슬레이브의 번호를 지정하면 지정된 슬레이브의 상태가 모티터링되고 지정된 슬레이브에 열림/닫힘 명령이나 밸브개도지정 명령을 내리면 마스터를 통하여 마스터에서 명령하는 것과 같이 슬레이브를 동작시킨다. Figure 14의 MODBUS TCP/IP 시뮬레이터는 Visual C로 제작되었으며 MODBUS ethernet UDP프로토콜을 사용하였다.
4. 실험과 고찰
아래의 Figure 15는 개발된 시스템을 시험하기 위하여 구성한 시험시스템의 구성도이다. PC에 설치된 시뮬레이터와 마스터 사이의 연결은 MODBUS TCP/IP 통신을 위하여 이더넷으로 연결하였고, 마스터와 각각의 슬레이브(S1 ~S5)간의 연결은 RS-485/422 전용 시리얼 케이블로 연결하여 전체 네트워크를 구성하였다. 슬레이브 2(S2)의 구동기에는 버터플라이 밸브를 연결하여 밸브의 회전 각도를 시각적으로 확인할 수 있도록 하였다. 슬레이브 3(S3)에는 밸러스트 탱크와 동일한 환경을 재현하기위하여 밸브와 펌프, 밸러스트탱크를 배관하여 밸러스트시스템을 구성하였다.
슬레이브 5(S5)에는 Figure 17과 같이 고장 진단을 확인하기 위한 시뮬레이터로 구성하였다. Figure 16은 통합 시험을 위한 테스트베드사진이다.
시험은 조선소의 담당자, 개발사의 담당자와 논문의 저자가 입회하여 슬레이브시스템의 수동 스위치를 사용하여 각각의 밸브를 개폐하는 수동제어시험, 마스터시스템에서 밸브의 원격개폐 시험, 선박의 통합 원격제어시스템과 같이 Figure 14의 GUI가 탑재된 PC를 통한 원격밸브 제어시험과, 고의적으로 센서를 오동작 시켜 고장진단을 수행하는 시험 등을 하였으며 모든 시험에 통과하였다. 고장진단시험은 Table 1에 표시한 고장번호에 따라 고장을 진단하는지를 확인하기 위하여 고의로 펌프의 압력이나 온도를 변화시키거나, 모터에 들어가는 전류를 분류하여 고의로 높이거나, 밸브의 위치를 이동하여 틀리게 하거나 하여 시험하였다. Table 1의 진단결과란에 붉은 색으로 표시한 값은 진단결과에 따라 펌프압력, 모터전류, 밸브위치 등을 슬레이브시스템이 측정하여 마스터시스템에 전송한 값이 표시되어 있다.
본 시험은 실제 선박의 통합관리시스템에 연계하여 시험이 이루어지지는 않았지만 실재 밸러스트 시스템과 유사한 Figure 15와 같이 구성한 공장시험장치에서 시험함으로써 실재 선박에 적용될 수 있음을 확인할 수 있었다.
또한 본 연구에서 개발된 제어기의 성능과 안정성을 위하여 공인연구기관에서 시험을 행하였다. Figure 18의 왼쪽은 전자파 시험을 의뢰한 구미대학 산학협력단 전자파센터의 시험성적서이며, 오른쪽은 한국정보통신기술협회에 의해 발급된 MODBUS 및 이더넷 네트워크 통신에 대한 시험결과서이다. Figure 19의 왼쪽은 (재)한국조선해양기자재연구원에서, 오른쪽은 대구기계부품연구원에서 시험한 온도와 습도 등 환경시험에 대한 적합판정 결과이다.
5. 결 론
본 연구에서는 아직 국산화되지 않은 분산형 독립전기유압식 원격밸러스트 밸브제어 시스템을 개발하였다. 개발한 시스템은 IEC 60945에 따르는 환경시험을 통과하였으며 소프트웨어는 한국통신기술협회에서 건전성시험을 통과하였다. 본 시스템은 중앙집중유압식의 단점을 보완할 뿐만 아니라 중앙집중유압식에서는 구현하기 어려운 통신기능과 고장진단기능을 부여하여 자동화시스템을 한층 지능화 할 수 있었다. 고장진단기능을 가진 원격밸브제어시스템이 상용화되고 유효성이 입증되면 많은 선박장비에 파급될 것으로 사료된다. 본 개발 시스템은 조선소적용을 위하여 추가적으로 내구성시험을 계속하고 있다.
References
- Modicon, Modbus Protocol Reference Guide, Available: http://modbus.org/docs/PI_MBUS_300.pdf, Accessed June 11, (2012).
- Somin Won, Eungsoo Lee, and Mihye Kim, “A remote control of factory automation system based on modbus protocol”, International Conference on Convergence Technology, 1(2), p330-332, (2012).
- Andy Swales, Open MODBUS/TCP Specification, Available: http://wingpath.co.uk/docs/modbus_tcp_specification.pdf, Accessed May 26, (2012).
- Seok-Jo Go , Jang-Sik Park, Moon-Ho Choi, Seong-Ho Choi, Yong-Seok Jang, Chang-Dong Kim, and Dae-Kyung Kim, “Study on design of hydraulic actuator with gear pump for ship”, Proceedings of the Korean Society of Mechanical Technology Autumn Conference, p1743-1745, (2010).