지난 회에 이어 자동화 공장에서 동시 연결을 통해 지원되는 ‘고가용성 프로세스 안전애플리케이션’에 대한 마지막 글을 연재한다.
동시 연결 유연성
동시 연결은 연결 경로를 따라 모든 참가자에서 CIP 장치 중복을 가능하게 하는 유연한 솔루션이다. 시스템 설계자가 중복성을 어디에 사용할지와 어떤 깊이(듀플렉스, 트리플렉스 등)를 적용할지 결정하는 것은 설계자에게 달려 있다. 예를 들어, 그림 1은 컨트롤러 중복성에 초점을 맞춘 시스템을 보여준다. 그림 2는 I/O 장치 중복성에 초점을 맞춘 시스템을, 그림 3은 네트워크 어댑터 중복성에 초점을 맞춘 시스템을 보여준다.
동시 연결 기술은 시스템의 특정 기능을 수행하는 장치의 수를 제한하지 않는다. 그림 4는 트리플렉스 I/O 장치 시스템을 보여준다.
동시 연결 무중단 전환 시간 제공
동시 연결은 핫, 활성, 그리고 동시 중복성을 가능하게 한다. 이 솔루션에서 중복 장치는 기능적으로 동일하며 모두 서로의 백업이다. 복제된 장치는 제어 과정에 참여할 수 있도록 동기화 상태를 유지하며, 이 동기화 메커니즘은 공급업체별로 다르다. 시작자와 대상에 있는 중복 장치는 동일한 CIP 연결 페이로드와 같은 Concurrent Connection Sequence Count (CCSC)를 동시에 보내도록 동기화된다. CIP 연결 데이터와 생산 시간의 이 동기화는 엄격할 필요가 없으며, 볼륨 1 내의 정의된 범위 내에서 허용된다. 그림 5는 중복 시작자와 대상 간의 동기화를 보여준다.
동시 연결 데이터는 모든 동시 연결 분기를 통해 전송되며, 여러 경로가 연결 끝점 간에 존재한다. 동시 연결은 실행 헤더의 CCSC를 사용하여 패킷 중복 문제를 처리한다. 특정 CCSC 값을 갖는 최초 패킷은 라우터에 의해 전달되고, 끝점에 의해 소비되며, 이후 동일한 CCSC 값을 갖는 패킷은 삭제된다. 하나의 복제 장치가 실패하면, CIP 연결은 남은 파트너에 의해 계속 유지되며, 이 프로세스는 원활하게 계속된다. 이 솔루션은 전환을 제거하여 그 결함을 완화한다.
동시 연결 분기 복구
동시 연결 분기가 실패하고, 다른 분기를 통해 CIP 데이터 전달이 계속 가능할 때, 실패한 장치를 감지한 장치는 분기 복구 절차를 시작한다. 그림 6의 점선은 실패한 장치에 연결된 분기에서의 복구를 보여준다.
장치들이 I/O 장치 참가자 B를 향한 동시 연결 분기에서 타임아웃을 감지하면, 해당 장치들은 주기적으로 I/O 장치 참가자 B에게 연결 열기 요청을 재전송하기 시작한다. 동시 연결 분기를 다시 열기 위한 시도는 I/O 장치 참가자 B가 성공적인 연결 열기 응답으로 응답할 때까지 계속된다.
분기 복구 절차는 로컬이며, 이 경우 로우터 참가자 A와 로우터 참가자 B만이 동시 연결의 로컬 실패를 인지한다. 그 라우터들은 또한 동시 연결 진단을 통해 문제를 보고하므로 유지보수 직원이 문제를 쉽게 파악하고 수리 작업을 시작할 수 있다. 이 경우, 컨트롤러 참가자 A와 컨트롤러 참가자 B는 동시 연결의 로컬 실패를 인지하지 않는다.
동시 연결과 기존의 중복 해결책
동시 연결은 고가용성을 요구하는 시스템의 모든 문제를 해결하지는 않지만, 이러한 시스템의 중요한 구성 요소다. 동시 연결은 고가용성 시스템을 가능하게 하는 통신 프로토콜을 표준화한다.
이 글의 앞서 설명한 기존의 중복 해결책과 비교할 때, 동시 연결은 다음을 제공합니다.
· 연결에 참여하는 장치를 연결하는 데 사용되는 네트워크 기술과 독립적인 고수준 CIP 프로토콜 솔루션.
· 여러 공급자의 장치를 포함하는 시스템 전반에 걸친 표준화된 엔드-투-엔드 솔루션.
· 유연성. 중복 장치는 시스템의 다른 부분과 독립적으로 시스템의 어느 부분에서든 사용할 수 있다. 시스템의 일부에만 중복성을 사용하는 시스템이 있을 수 있고, 모든 부분에 중복성을 적용하는 시스템도 있을 수 있다. 동시 연결 프로토콜은 시스템 부분에서 복제된 장치 수를 제한하지 않는다.
· 스위치오버와 그 결함의 제거. 동시 연결 솔루션에서는, 중복 장치들이 계속 제어 과정에 참여한다. 하나의 중복 장치에 실패가 발생하면, 남은 장치들이 CIP 연결을 유지한다. 시스템 다운타임이 없으며, MTTF가 최대화된다. 시스템 유지보수자는 실패한 장치를 교체할 시간을 갖는다.
· 단일 실패 지점이 없는 시스템 구축 가능성.
· 지역 병행 연결 분기의 활성 복구. 이것은 고장난 장치를 교체할 때 ‘플러그 앤 플레이’ 경험을 가능하게 한다.
· 확장 용이성. 동시 연결 프로토콜(동시 연결 관리를 위한 새로운 Connection Management 서비스와 Concurrent Connection Header)은 버전 관리가 내장되어 있어 프로토콜 확장 시 발생하는 끊김 현상을 완화하는 데 사용할 수 있다.
· 중복성 솔루션은 비용이 따르며, 동시 연결도 예외는 아니다.
· 동시 연결 내에서, 동일한 CIP 페이로드를 가진 패킷은 모든 동시 연결 분기를 통해 전송된다. 고급 동시 연결 토폴로지의 경우, 이는 네트워크 대역폭의 사용량과 CIP 장치의 처리 능력 향상으로 이어진다.
· 동시 연결은 동시 연결의 중복 엔드포인트의 활성화된 동기화를 필요로 한다. 이 측면은 예상되는 중복 참가자들이 모두 같은 공급자의 동일한 장치일 것이라는 예상 때문에 CIP 사양에 표준화되어 있지 않다.
앞서 나열된 장단점을 고려할 때, 동시 연결은 높은 가용성을 요구하는 시스템에 사용되는 최고의 통신 프로토콜이다.
CIP 사양 변경 요약
앞서 언급한 바와 같이, 동시 연결은 연결 경로를 따라 각 라우터 또는 엔드포인트(원본 또는 대상)에서 (Nx의) 중복 참가자가 사용될 수 있도록 하며, 그림 7과 같다.
각 라우터 또는 엔드포인트에 사용되는 참가자 수는 애플리케이션이 요구하는 내구성의 깊이를 달성하기 위해 사용자가 결정한다. 연결된 장치 간의 모든 (중복된) 분기를 관리하기 위해, 연결 관리자 객체의 개정판 2에서는 새로운 “동시” 순방향 열기 및 닫기 서비스가 도입되었다. 동시 오픈 및 클로즈 서비스는 다음과 같이 기존의 오픈 및 클로즈 서비스와 다르다.
1. 기존 포트 세그먼트는 여러 동시 연결 분기를 인코딩할 수 있는 동시 연결 경로 세그먼트로 교체된다.
2. 발신자 참가자들이 구성한 그림 8의 연결에서의 동시 연결 경로 세그먼트는 표 1을 포함할 것이다.
3. 향후 향상을 위해 여러 연결 프로토콜 버전이 도입되었다.
새로운 동시 연결 패킷 형식이 기존 실시간 형식을 랩핑하기 위해 도입되었다(예: 32비트 헤더 w/run/idle). 동시 연결 패킷 형식은 다음과 같다.

(1) The Concurrent Connection (CC) 헤더는 다음을 포함한다.
a. 패킷 유형 및 유지 필드
b. 패킷 길이
c. 동시 연결 시퀀스 수
동시 연결은 트랜스포트 클래스 0과 1에 대해서만 지원된다. 각 라우터 참가자는
(1) 참가자의 양쪽에 있는 모든 분기점 사이에 바인딩을 설정한다.
(2) 타임아웃이 발생할 경우 자동으로 재전송하기 위해 동시 전달 열기를 유지한다.
(3) 각 새 데이터 생산에 대해 수신된 첫 번째 데이터 패킷만을 모두 다음 라우터/엔드포인트로 연결된 분기점에 전달한다. 이는 발신자-타깃과 타깃-발신자 방향 모두에 적용된다.
추가 변경 사항은
(1) 링크 프로듀서, 링크 컨슈머 및 연결 객체의 새로운 개정판 (각 지점마다 하나씩 연결 ID의 배열을 지원하도록 향상됨)
(2) 새로운 연결 관리자 CC 관련 오류 코드
(3) 새로운 연결 관리자 진단 속성 및 연결 지점
동시 연결 구현
앞서 언급한 섹션에서 요약했듯이, 동시 연결 솔루션은 기존 CIP 연결에서 나온다. 동시 연결은 기존 CIP 연결 위에 추가된 계층으로, 연결 끝점 간의 여러 경로를 가능하게 하는 계층이다. 동시 연결은 새로운 연결 관리자 서비스 세트인 동시 전달_열림(Concurrent_Forward_Open), 대형 동시 전달_열림(Large_Concurrent_Forward_Open) 및 동시 전달_담힘(Concurrent_Forward_Close)으로 관리된다. 이 서비스는 잘 알려진 전달_열림, 대형 전달_열림, 전달_닫힘에서 파생된 것이다.
단일 분기에서 CIP 데이터를 전송하는 메커니즘은 비동시 연결의 세그먼트에서 데이터를 전송하는 데 사용되는 메커니즘과 정확히 동일하다.
이미 비동시 클래스 0 및 1 연결을 지원하는 CIP 장치를 고려할 때, 최소 동시 연결 기능을 추가하기 위해 구현해야 할 요소는 다음과 같다.
· 동시 연결 경로 확장 네트워크 세그먼트
· 동시_전달_열림 연결 관리자 서비스(형식은 전달_열림에 하나의 추가 필드인 동시 전달 프로토콜 버전이 더해진 것)
· 동시_전달_닫힘 연결 관리자 서비스(전달_닫힘과 동일한 형식)
· 동시 연결 지점 수 및 그 수에 따른 연결 관리 결정
· 동시 연결 헤더
· 모든 개방 분기에서 동시 연결 헤더가 포함된 패킷 전송
· 여러 지점에서 동시 연결 헤더가 포함된 패킷을 수신하고 중복된 패킷을 버림
· 지점 복구 절차(각 참가자는 원래의 동시_전달_열림을 기억하고 다시 보내서 지점 복구를 수행해야 함)
또한
· 발신자 참가자는 자신이 시작하는 병행 연결의 매개변수를 동기화해야 한다.
· 수신자 참가자는 CIP 데이터, 병행 연결 시퀀스 카운트, 그리고 생성될 패킷의 생산 시간을 동기화해야 한다. 중복 참가자 간의 동기화 메커니즘은 공급업체별로 다르다.
동시 연결 지원은 와이어샤크(Wireshark) 네트워크 프로토콜 분석기 버전 4.2에서 제공될 예정입니다.



















































