2012-04-26 4 views
1

두 개의 SCADA 시스템이 데이터를 교환하고 있습니다. 두 시스템 모두이 프로토콜을 지원하기 때문에 tcp보다 modbus를 사용하려고합니다. 물론 문제는 두 시스템이 모드 버스 마스터로만 작동 할 수 있다는 것입니다.SCADA 시스템에서는 모드 버스 마스터가 다른 마스터와 통화하는 방법이 있습니까?

모든 필드 버스 오픈 소스를 사용하여 두 명의 마스터가 서로 이야기 할 수있는 "브리지"유틸리티가 없다는 사실에 놀랐습니다. 나는 기술에 정통한 자세가별로 없지만 외부에서는 두 개의 포트를 열고 두 명의 마스터에게 노예로 행동하는 프로세스를 구현하는 것이 쉽지 않은 것처럼 보입니다.

두 마스터는 중개자를 슬레이브로 인식하지만 Master1의 POV에있는 입력 레지스터는 Master2의 POV에서 출력 레지스터로, 그 반대의 경우도 마찬가지입니다.

개념적으로나 프로토콜별로 현명한 방법이 있습니까?

답변

4

두 SCADA 시스템이 동일한 PLC에 액세스 할 수있는 경우 SCADA1을 사용하여 해당 PLC의 데이터 블록에 데이터를 쓰고 SCADA2를 사용하여 동일한 데이터를 읽습니다. 다른 옵션은 간단한 MODBUS TCP 서버를 좀 더 높은 언어로 구현하고 두 대의 SCADA 시스템 모두가 액세스 할 수있는 PC에 두는 것입니다. 또는 MODBUS TCP 서버 시뮬레이터를 직접 구현하는 대신 실행할 수도 있습니다.

SCADA 시스템은 빌드되지 않은 매우 친절한 지원 옵션이 아니므로 SCADA 내부에 MODBUS TCP 서버를 구축하는 것은 사용하는 SCADA 시스템에 따라 매우 어렵거나 불가능한 작업 범위에 있습니다. 대부분의 SCADA 시스템은 OPC 클라이언트 (다양한 OPC 데이터 소스의 데이터에 액세스)와 OPC 서버 (OPC 클라이언트에 모든 태그에 대한 읽기/쓰기 옵션 제공)로 작동 할 수 있습니다. SCADA 시스템이 그런 경우 OPC를 사용하여 원하는 것을 얻을 수 있습니다.

+0

Modbus 슬레이브가 동시성 문제없이 두 개의 다른 마스터를 수용하는 것이 일반적입니까? Modbus 마스터가 두 개의 동시 작업을 결코 가질 수 없다는 것이 프로토콜의 일부라고 생각했습니다. 나는 OPC를 고려해 보았지만 다른 관심사로 인해 연결이 IO 인터페이스를 통과하기를 원합니다. – Tormod

+0

MODBUS RTU 및 ASCII 슬레이브는 하나의 마스터 만 가질 수 있습니다. MODBUS TCP 슬레이브는 실제로 TCP 서버이며 다른 TCP 서버처럼 메시지의 직렬화가 내장되어 있습니다. 그렇지 않으면 웹 서버가 "동시에"많은 클라이언트를 처리하지 못합니다 (직렬화가 사람이 동시에 인식 할 수있을만큼 빠르기 때문에). – avra

+1

Modbus/TCP 서버는 다중 (그러나 제한된 수량) 동시 연결을 지원하도록 설계되었습니다. 공유 레지스터를 통해 정보를 터널링하는 Avra의 제안은 아마도 당신이 얻을 수있는 최선의 방법 일 것입니다. 피터 그로트 (Peter Grote)의 제안은 아마도 PC에서 이들 중 하나를 구현했을 것입니다. – Pekka

0

OPC 서버를 함께 사용하면이 문제를 해결하기위한 완벽한 솔루션 인 KEPware LinkMaster 만 사용하면됩니다.