이 주제는 다음 절을 포함합니다.
WebSphere MQ Telemetry Transport를 통해 브로커에 연결한 클라이언트에서 메시지를 수신하려면 SCADAInput 노드를 사용하십시오. SCADA 디바이스 클라이언트는 MQIsdp 프로토콜을 사용하여 SCADAInput 노드에서 변환한 메시지를 WebSphere Message Broker에서 인식하는 형식으로 송신합니다. 노드는 이 메시지에 대한 처리 환경도 설정합니다.
SCADA 디바이스에서 수신된 메시지를 핸들링하는 메시지 플로우는 항상 SCADAInput 노드에서 시작되어야 합니다. 메시지를 수신하는 방법을 제어하려면 SCADAInput 노드의 등록 정보를 설정하십시오. 예를 들면, 트랜잭션 제어하에 메시지를 처리하도록 설정할 수 있습니다.
SCADA 노드를 포함하는 메시지 플로우를 브로커로 전개하면, 메시지 플로우의 수에 관계없이 단일 실행 그룹으로 메시지 플로우를 전개해야 합니다.
SCADA는 주로 Publish/Subscribe이므로 플로우를 종료하기 위해서는 일반적으로 Publication 노드를 포함시킵니다. Publication 노드를 필요로 하지 않는 시나리오에서는 SCADAOutput 노드를 포함시킬 수 있습니다. SCADAOutput 노드를 포함시킬 경우, SCADAInput 노드는 SCADAOutput 노드에 필요한 연결성 정보를 제공하므로 메시지 소스에 관계없이 SCADAInput 노드도 포함시켜야 합니다.
SCADAInput 노드에서 시작하는 메시지 플로우에 출력 노드를 포함시킬 경우, 노드는 사용자 정의 출력 노드를 비롯하여 지원되는 어떤 노드도 가능합니다. 메시지 플로우를 구성하여 브로커에 필수 변환을 제공해 달라고 요청할 수 있으므로 SCADA 디바이스에서 메시지를 수신한 다음 지원되는 모든 전송 방식을 사용하여 브로커에 연결하는 클라이언트용 메시지를 생성하는 메시지 플로우를 작성할 수 있습니다.
특정 토픽에 메시지를 publish함으로써 브로커에게 SCADA 리스너를 시작 또는 정지해 줄 것을 요청할 수 있습니다. 메시지에서 식별된 모든 포트 또는 단일 포트에 대해 수행될 수 있습니다.
SCADAInput 노드는 다음과 같은 메시지 도메인에 있는 메시지를 핸들링합니다.
z/OS 시스템에서 전개할 메시지 플로우에 있는 SCADAInput 노드는 사용할 수 없습니다.
들어오는 SCADA 메시지의 데이터를 처리하려면 ResetContentDescriptor 노드와 같은 노드를 포함시키고 이 노드의 등록 정보를 비트스트림이 후속 노드에 의해 다시 구문 분석되도록 설정하십시오.
서브플로우로 사용하기 위한 메시지 플로우를 작성하는 경우, 표준 입력 노드를 사용할 수 없기 때문에 서브플로우에 대한 터미널에서 작성할 첫 번째 노드로서 입력 노드 인스턴스를 사용해야 합니다.
메시지 플로우가 SCADA 연결을 통해 메시지를 수신하지 못할 경우, 지원되는 입력 노드 중 하나를 선택할 수 있습니다.
SCADAInput 노드는 Workbench에서 다음 아이콘으로 표시됩니다.
이 노드를 사용하는 방법에 대한 예에서는 운영 환경에서 변화를 감지하면(예: 외부 온도의 하락) 리모트 센서에서 메시지를 수신하는 SCADAInput 노드에서 메시지 플로우를 작성한다고 가정합니다. 수신된 정보를 분석하고 그 정보에 응답하는 WebSphere MQ 응용프로그램에서 제공하는 큐에서 메시지를 사용 가능하게 하는 MQOutput 노드로 이 노드를 연결합니다.
두 번째 예에서는 리모트 시스템에서 매 분마다 메시지를 수신하는 SCADAInput 노드에서의 메시지 플로우를 작성합니다. 메시지는 시스템의 전환 설정에 대한 자세한 내용을 포함합니다. 수신된 데이터는 ResetContentDescriptor 노드에 공급되어 데이터를 2진(BLOB)에서 MRM 메시지 형식으로 캐스트합니다. 시스템 정보는 Database 노드를 사용하여 데이터베이스에 저장된 다음, Compute 노드를 사용하여 보강되고 Publication 노드를 사용하여 publish되는 XML 메시지를 작성합니다.
XML 메시지는 송신 비용이 많이 들어(각 바이트 당 위성 전송 비용이 높음) 브로커가 데이터를 보강하므로 이 메소드를 사용하는 것이 유리합니다.
SCADAInput 노드 인스턴스를 메시지 플로우에 넣었으면 이 노드를 구성할 수 있습니다. 편집기 보기에서 이 노드를 마우스 오른쪽 단추로 누른 후 등록 정보를 누르십시오. 등록 정보 대화 상자에 노드의 기본 등록 정보가 표시됩니다.
값을 입력해야 하는 모든 필수 등록 정보(정의된 디폴트 값이 없는 등록 정보)는 등록 정보 대화 상자에서 별표(*)로 표시됩니다.
다음과 같이 MQeInput 노드를 구성하십시오.
메시지가 온(ON) 또는 오프(OFF)로 설정된 메시지의 페이로드(payload) 부분을 사용하여 $SYS/SCADA/MQIsdpListener/<port_number> 제어 토픽에 publish함으로써 리스너의 상태를 갱신할 수 있습니다.
브로커 데이터베이스에서 DB2를 사용하는 경우 DB2 구성 매개변수인 maxappls 및 maxagents에 설정한 값 이하의 값을 지정해야 합니다. 추가 정보는 데이터베이스에 연결을 참조하십시오.
클라이언트가 많이 연결될 것이라고 예상될 경우에만(200개 이상) 이 옵션을 사용하십시오.
<mcd><Msd>MRM</Msd><Set>DHM4UO906S001</Set><Type>receiptmsg1</Type> <Fmt>XML</Fmt></mcd>
값을 설정할 경우, 이 값이 MQRFH2 헤더의 값과 다르면 MQRFH2 헤더 값에 우선권이 있습니다.
XML, XMLNS, XMLNSC, JMS, MIME 및 BLOB 구문 분석기에 대해서는 메시지 세트를 공백으로 남겨 두십시오.
XML, XMLNS, XMLNSC, JMS, MIME, BLOB 및 IDOC 구문 분석기에 대해서는 메시지 유형을 공백으로 남겨 두십시오.
XML, XMLNS, XMLNSC, JMS, MIME 및 BLOB 구문 분석기에 대해서는 메시지 형식를 공백으로 남겨 두십시오.
자세한 정보는 메시지 유효성 검증 및 MRM 도메인에서 메시지의 유효성 검증 등록 정보를 참조하십시오.
대화 상자를 닫고 등록 정보에서 작성한 모든 변경을 제거하려면 취소를 누르십시오.
SCADAInput은 검색한 각 메시지를 out 터미널로 라우트합니다. 실패할 경우, failure 터미널로 메시지가 전달됩니다. 이 조건을 핸들링하기 위해 이 터미널에 노드를 연결할 수 있습니다. failure 터미널이 연결되어 있지 않으면, 문제점이 해결될 때까지 메시지는 노드를 통해 계속해서 루프를 순환합니다.
메시지 플로우에서 추가적인 예외가 전달된 후 이 노드에서 메시지가 포착되면, 메시지가 catch 터미널로 라우트됩니다. catch 터미널이 연결되어 있지 않으면, 문제점이 해결될 때까지 메시지는 노드를 통해 계속해서 루프를 순환합니다. 메시지 플로우 내에서 메시지가 롤백될 가능성이 있으면 노드가 항상 이 터미널에 연결되어 있어야 합니다.
메시지 플로우에 SCADAInput 노드가 포함되어 있는 경우, 트랜잭션 모드에 대해 설정한 값이 동기점 아래에 메시지가 수신되는지 여부를 정의합니다.
(MQOutput 노드는 이 옵션을 대체하기 위해 구성할 수 있는 유일한 출력 노드입니다.)
다음 표에는 SCADAInput 노드 터미널이 설명되어 있습니다.
터미널 | 설명 |
---|---|
Failure | 오류가 발생할 경우 메시지가 라우트될 출력 터미널. |
Out | 큐에서 검색이 완료되었을 경우 메시지가 라우트될 출력 터미널. |
Catch | 예외에서 다운스트림이 전달되어 이 노드에서 포착되었을 경우 메시지가 라우트될 출력 터미널. |
다음 표에는 노드 등록 정보가 설명되어 있습니다. 앞에 M이 표시된 열은 등록 정보가 필수임을 나타내며(디폴트가 정의되지 않았을 때 값을 입력해야 하는 경우 등록 정보 대화 상자에 별표(*)로 표시됨) 앞에 C가 표시된 열은 등록 정보가 구성 가능함을 나타냅니다(메시지 플로우를 Bar 파일에 추가하여 전개할 때 값을 변경할 수 있음).
다음 표에는 SCADAInput 노드 기본 등록 정보가 설명되어 있습니다.
등록 정보 | M | C | 디폴트 | 설명 |
---|---|---|---|---|
시동 시 리스너 사용 | 예 | 아니오 | 선택 | 리스너가 시작되는 시기. 선택란을 선택하는 경우, 브로커가 메시지 플로우를 시작할 때 리스너가 시작됩니다. 선택란을 선택하지 않은 경우, 지정된 포트에 메시지가 도착하면 리스너가 시작됩니다. |
포트 | 예 | 예 | 1883 | SCADA 프로토콜이 대기 중인 포트입니다. |
최대 스레드 | 예 | 예 | 500 | SCADA 디바이스를 지원하기 위해 시작할 최대 스레드 수입니다. |
스레드 풀 사용 | 예 | 예 | 지우기 | 스레드 풀링을 사용할 지 여부. 이 선택란을 선택하면 이 조치가 수행됩니다. |
다음 표에는 SCADAInput 노드 디폴트 등록 정보가 설명되어 있습니다.
등록 정보 | M | C | 디폴트 | 설명 |
---|---|---|---|---|
메시지 도메인 | 아니오 | 아니오 | 들어오는 메시지를 구문 분석하는 데 사용하는 도메인 | |
메시지 세트 | 아니오 | 아니오 | 들어오는 메시지를 정의하는 메시지 세트의 이름 또는 ID | |
메시지 유형 | 아니오 | 아니오 | 들어오는 메시지의 이름 | |
메시지 형식 | 아니오 | 아니오 | 들어오는 메시지의 물리적 형식 이름 |
다음 표에는 SCADAInput 노드 고급 등록 정보가 설명되어 있습니다.
등록 정보 | M | C | 디폴트 | 설명 |
---|---|---|---|---|
트랜잭션 모드 | 예 | 아니오 | 예 | 수신되는 메시지가 동기점 아래에 수신되는지 여부. 올바른 값은 자동, 예 및 아니오입니다. |
다음 표에는 SCADAInput 노드의 유효성 검증 등록 정보가 설명되어 있습니다.
이 등록 정보에 대한 자세한 설명은 MRM 도메인에서 메시지의 유효성 검증 등록 정보를 참조하십시오.
등록 정보 | M | C | 디폴트 | 설명 |
---|---|---|---|---|
유효성 검증 | 예 | 예 | 없음 | 유효성 검증이 발생하는지의 여부. 올바른 값은 없음,컨텐츠 및 값 및 컨텐츠입니다. |
실패 조치 | 예 | 아니오 | 예외 | 유효성 검증에 실패한 경우의 조치. 유효성 검증을 컨텐츠 또는 컨텐츠 및 값으로 설정한 경우에만 이 등록 정보를 설정할 수 있습니다. 올바른 값은 사용자 추적, 로컬 오류 로그, 예외 및 예외 목록입니다. |
모든 값 제한조건 포함 | 예 | 아니오 | 선택 | 이 등록 정보는 편집할 수 없습니다. 선택될 선택란에 표시되는 디폴트 조치는 컨텐츠 및 값 유효성 검증 내에 기본 값 제한조건 점검이 포함되어 있는 것입니다. |
수정사항 | 예 | 아니오 | 없음 | 이 등록 정보는 편집할 수 없습니다. |
다음 표에는 SCADAInput 노드의 일반 메시지 옵션 등록 정보가 설명되어 있습니다.
등록 정보 | M | C | 디폴트 | 설명 |
---|---|---|---|---|
구문 분석 타이밍 | 예 | 아니오 | 요청시 | 이 등록 정보는 입력 메시지를 구문 분석하는 시기를 제어합니다.
올바른 값은 요청시,
즉시 및
완료입니다. 이 등록 정보에 대한 자세한 설명은 요청시 구문 분석을 참조하십시오. |
MQRFH2 도메인에 MQRFH2C 압축 구문 분석기 사용 | 아니오 | 아니오 | False | 이 등록 정보는 MQRFH2 헤더에 MQRFH2 구문 분석기 대신 MQRFH2C 압축 구문 분석기를 사용하는지 여부를 제어합니다. |
다음 표에는 SCADAInput 노드의 XMLNSC 구문 분석기 옵션 등록 정보가 설명되어 있습니다.
등록 정보 | M | C | 디폴트 | 설명 |
---|---|---|---|---|
XMLNS 도메인에 XMLNSC 압축 구문 분석기 사용 | 예 | 지우기 | 아니오 | ![]() ![]() |
혼합 컨텐츠 보유 모드 | 예 | 아니오 | 없음 | 이 등록 정보는 XMLNSC 구문 분석기가 입력 메시지에서 혼합 텍스트를 발견할 경우 메시지 트리에서 요소를 작성하는지 여부를 제어합니다. 올바른 값은 없음 및 모두입니다. 모두를 선택하면 혼합 텍스트에 대해 요소가 작성됨을 의미합니다. 없음을 선택하면 혼합 텍스트가 무시되고 요소가 작성되지 않음을 의미합니다. |
주석 보유 모드 | 예 | 아니오 | 없음 | 이 등록 정보는 XMLNSC 구문 분석기가 입력 메시지에서 주석을 발견할 경우 메시지 트리에서 요소를 작성하는지 여부를 제어합니다. 올바른 값은 없음 및 모두입니다. 모두를 선택하면 주석에 대해 요소가 작성됨을 의미합니다. 없음을 선택하면 주석이 무시되고 요소가 작성되지 않음을 의미합니다. |
처리 지시사항 보유 모드 | 예 | 아니오 | 없음 | 이 등록 정보는 XMLNSC 구문 분석기가 입력 메시지에서 처리 지시사항을 발견할 경우 메시지 트리에서 요소를 작성하는지 여부를 제어합니다. 올바른 값은 없음 및 모두입니다. 모두를 선택하면 처리 지시사항에 대해 요소가 작성됨을 의미합니다. 없음을 선택하면 처리 지시사항이 무시되고 요소가 작성되지 않음을 의미합니다. |
다음 표에는 SCADAInput 노드의 설명 등록 정보가 설명되어 있습니다.
등록 정보 | M | C | 디폴트 | 설명 |
---|---|---|---|---|
간단한 설명 | 아니오 | 아니오 | 노드에 대한 간략한 설명. | |
자세한 설명 | 아니오 | 아니오 | 메시지 플로우에서 노드의 목적을 설명하는 텍스트. |