本主题包含以下部分:
使用 SCADAInput 节点从使用 WebSphere MQ 遥感传输方式 连接到代理的客户机接收消息。SCADA 设备客户机使用 MQIsdp 协议来发送消息,这些消息由 SCADAInput 节点转换为可以由 WebSphere Message Broker 识别的格式。该节点还为这些消息建立处理环境。
处理从 SCADA 设备接收的消息的消息流必须始终以 SCADAInput 节点开始。设置 SCADAInput 节点的属性来控制接收消息的方法:例如,您可以表明要在事 务控制下处理消息。
当您将包含 SCADA 节点的消息流部署到代理时,无论消息流的个数有多少,都必须将它们部署到单个执行组。
因为 SCADA 是主要的发布/预订,所以通常会包含一个 Publication 节点来终止流。在某些您不需要 Publication 节点的方案中,可以包含 SCADAOutput 节点。如果您这样操作,则不管消息源,还必须包 含 SCADAInput 节点,因为 SCADAInput 节点提供 SCADAOutput 节点所需的连通性信息。
如果您在以 SCADAInput 节点开始的消息流中包含了一个输出节点,则它可以是任何受支持输出节点,包含用户定义的输出节点。 您可以创建一个消息流,它从 SCADA 设备接收消息并为使用所有受支持的传输来连接到代理的客户机生成消息,因为您可以配置该消息流来请求代理提供任何必要的转换。
您可以通过发布具有特定主题的消息来请求代理启动或停止 SCADA 侦听器。可对所有端口或在消息中标识的单个端口执行该操作。
SCADAInput 节点在以下消息域中处理消息:
在要于 z/OS 系统上部署的消息流中您无法使用 SCADAInput 节点。
如果您要在入局 SCADA 消息中处理数据,则包含类似 ResetContentDescriptor 节点的节点并设置其属性来强制后继节点重新解析位流。
如果您创建将用作子流的消息流,则无法使用标准输入节点:必须使用 Input 节点的实例作为第一个节点来为子流创建 in 终端。
如果消息流不通过 SCADA 连接接收消息,则可以选择某个受支持的输入节点。
SCADAInput 节点在工作台中由以下图标表示:
例如使用该节点,假设您使用 SCADAInput 节点创建消息流,该节点在远程传感器检测到操作环境中的更改时(如室外降温)从中接收消息。将该节点连接到 MQOutput 节点,从而可在使用 WebSphere MQ 应用程序的队列上使用这些消息,并能响应接收到的信息。
再举一例,您使用每分钟从远程系统接收消息的 SCADAInput 节点创建消息流。这些消息包括系统交换机设置的详细信息。接收到的数据供给 ResetContentDescriptor 节点从而将数据从二进制(BLOB)强制转换为 MRM 消息格式。使用 Database 节点将有关系统的信息存储在数据库中,并使用 Compute 节点进行加工,从而创建使用 Publication 节点发布的 XML 消息。
由于发送 XML 消息比较昂贵(原因是卫星传输每字节的成本很高),所以使用该方法大有益处,因为数据是通过代理加工的。
当您将 SCADAInput 节点的实例放入消息流后,便可对它进行配置。右键单击编辑器视图中的节点,然后单击属性。 将在属性对话框中显示节点的基本属性。
对于必须为其输入值的所有必需属性(没有定义缺省值的属性),在属性对话框上都会用星号作标记。
如下所示配置 SCADAInput 节点:
您可以通过在控制主题 $SYS/SCADA/Listener/<port_number> 上发布来更新侦听器的状态,将消息的 Payload 部分设置为 ON 或 OFF。
如果对代理数据库使用的是 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 | 缺省值 | 描述 |
---|---|---|---|---|
消息域 | 否 | 否 | 用于解析入局消息的域。 | |
消息集 | 否 | 否 | 定义入局消息的消息集的名称或标识。 | |
消息类型 | 否 | 否 | 入局消息的名称。 | |
消息格式 | 否 | 否 | 入局消息物理格式的名称。 |
下表描述 SCADAInput 节点“高级”属性。
属性 | M | C | 缺省值 | 描述 |
---|---|---|---|---|
事务方式 | 是 | 否 | 是 | 是否在同步点下接收入局消息。 有效值为自动、是和否。 |
下表描述 SCADAInput 节点的“验证”属性。
请参阅MRM 域中消息的验证属性,以获取这些属性的完整描述。
属性 | M | C | 缺省值 | 描述 |
---|---|---|---|---|
验证 | 是 | 是 | 无 | 验证是否发生。有效值为无、内容和值以及内容。 |
故障操作 | 是 | 否 | 异常 | 验证失败后将发生什么操作。只有将验证设置为内容或内容和值,才可以设置该属性。有效值为用户跟踪、本地错误日志、异常和异常列表。 |
包含所有值约束 | 是 | 否 | 选中 | 无法编辑此属性。所选的复选框指出的缺省操作,即内容和值验证中包含的基本值约束检查。 |
固定 | 是 | 否 | 无 | 无法编辑此属性。 |
下表中描述了 SCADAInput 节点的“一般消息选项”的属性。
属性 | M | C | 缺省值 | 描述 |
---|---|---|---|---|
解析计时 | 是 | 否 | 按需解析 | 该属性控制何时解析输入消息。有效值为按需解析、立即解析和完全解析。 请参阅按需解析,以获取此属性的完整描述。 |
将 MQRFH2C 压缩解析器用于 MQRFH2 域 | 否 | 否 | False | 该属性控制 MQRFH2 头中是否使用 MQRFH2C 压缩解析器,而不是 MQRFH2 解析器。 |
下表描述 SCADAInput 节点的“XMLNSC 解析器选项”的属性。
属性 | M | C | 缺省值 | 描述 |
---|---|---|---|---|
将 XMLNSC 压缩解析器用于 XMLNS 域 | 是 | 已清除 | 否 | ![]() ![]() |
混合内容保留方式 | 是 | 否 | 无 | 此属性控制当 XMLNSC 解析器遇到输入消息中的混合文本时,是否使用该解析器创建消息树中的元素。有效值为无和全部。选择全部表示为混合文本创建元素。选择无表示忽略混合文本并且不创建元素。 |
注释保留方式 | 是 | 否 | 无 | 此属性控制当 XMLNSC 解析器遇到输入消息中的注释时,是否使用该解析器创建消息树中的元素。有效值为无和全部。选择全部表示为注释创建元素。选择无表示忽略注释并且不创建元素。 |
处理指令保留方式 | 是 | 否 | 无 | 此属性控制当 XMLNSC 解析器遇到输入消息中的处理指令时,是否使用该解析器创建消息树中的元素。有效值为无和全部。选择全部表示为处理指令创建元素。选择无表示忽略处理指令并且不创建元素。 |
下表描述 SCADAInput 节点的“描述”属性。
属性 | M | C | 缺省值 | 描述 |
---|---|---|---|---|
简短描述 | 否 | 否 | 节点的简要描述。 | |
详细描述 | 否 | 否 | 描述消息流中节点用途的文本。 |