The ADOS Intelligence channel is part of the ADOS bus stop and connects to the Intelligence collector import service. This channel consumes B2MML ProcessOperationsPerformance and ProcessWorkPerformance messages and extracts the following information from it:
Counter data: good, scrap and total counts for produced materials.
Equipment state data: equipment states, modes and timestamps.
Process variables: process segment variables and properties.
Production run data: order ID, material ID and start and stop times of the order.
This document explains:
which B2MML resources are consumed by the ADOS Intelligence channel.
how to configure the ADOS bus stop and ADOS Intelligence channel.
B2MMLB2MML is the XML implementation of ISA-95 and it consists of a set of schemas that define the data models in the ISA-95 standard. ATS Bus uses B2MML to send messages between bus stops. The ADOS Intelligence channel can process the OperationsPerformance and WorkPerformance data models which are delivered as ProcessOperationsPerformance and ProcessWorkPerformance bus messages to the ADOS bus stop.
The bus message names resemble the B2MML transactions.
The ADOS Intelligence channel message extracts the following data from the SegmentResponse (OperationsPerformance) and JobResponse (WorkPerformance):
MaterialActual: Actual information about the materials being processed.
EquipmentActual: Actual information about the equipment.
SegmentData/JobResponseData: Properties belonging to the operation or job.
Every message sent to Intelligence should contain an equipment ID because everything is booked on equipment level. The ADOS Intelligence channel message can provide an equipment ID from the Equipment hierarchy or one should be provided in the B2MML message. The ADOS Intelligence channel message will read the equipment ID from the following XPath:
./ActualEquipment/EquipmentID[0]
The value returned by the XPath node must match the equipment hierarchy in Intelligence otherwise the data will not be processed by Intelligence. The equipment hierarchy in the master data configuration of ATS Bus must match the Intelligence equipment hierarchy.
When processing counter data, the Intelligence channel can only process one instance of MaterialActual per bus message and there should be one instance of EquipmentActual under the same parent (JobResponse or SegmentResponse) to collect the equipment ID from when the channel message is configured to get the equipment ID from the bus message.
Intelligence collects the counter information using the following XPath:
MaterialActual[MaterialUse='Produced']/Quantity[Key = 'Good']/QuantityString
MaterialActual[MaterialUse='Produced']/Quantity[Key = 'Scrap']/QuantityString
MaterialActual[MaterialUse='Produced']/Quantity[Key = 'Total']/QuantityString
EquipmentActual[1]/EquipmentID
Assume the following B2MML JobResponse/SegmentResponse fragment delivered to the Intelligence channel message that handles the counter data:
<SegmentResponse>
<EquipmentActual>
<EquipmentID>ENTERPRISE.SITE.AREA.CELL.UNIT1</EquipmentID>
...
<EquipmentActual>
<MaterialActual>
...
<MaterialUse>Produced</MaterialUse>
<Quantity>
<QuantityString>4</QuantityString>
<Key>Good</Key>
</Quantity>
<Quantity>
<QuantityString>1</QuantityString>
<Key>Scrap</Key>
</Quantity>
<Quantity>
<QuantityString>5</QuantityString>
<Key>Total</Key>
</Quantity>
...
</MaterialActual>
</SegmentResponse>
Intelligence throws an error when the counters in Intelligence don’t match the ones provided in the B2MML message.
The Intelligence channel might behave unexpectedly when passing multiple MaterialActual and EquipmentActual nodes in a bus message.
When processing equipment modes and states, the ADOS Intelligence channel can handle multiple EquipmentActual nodes under different parent nodes, it collects the equipment ID, state and mode information using the following XPath per EquipmentActual instance:
EquipmentID
EquipmentActualProperty[ID = 'EquipmentMode']/Value/ValueString
EquipmentActualProperty[ID = 'EquipmentMode']/Value[Key = 'Timestamp']/ValueString
EquipmentActualProperty[ID = 'EquipmentState']/Value/ValueString
EquipmentActualProperty[ID = 'EquipmentState']/Value[Key = 'Timestamp']/ValueString
The Intelligence channel should receive only one instance of EquipmentActual when it is configured not to use the equipment ID from the message. Otherwise the equipment modes and states will be book on the same equipment (the one that is selected from the equipment hierarchy drop-down list).
Assume the following B2MML snippet delivered to an Intelligence channel message that processes equipment states (the important elements are highlighted):
<SegmentResponse>
<EquipmentActual>
<EquipmentID>ENTERPRISE.SITE.AREA.CELL.UNIT1</EquipmentID>
<Description>UNIT1</Description>
<EquipmentActualProperty>
<ID>EquipmentMode</ID>
<Value>
<ValueString>PRODUCTION</ValueString>
<Key />
</Value>
<Value>
<ValueString>2018-04-24T18:26:58.6971443+02:00</ValueString>
<Key>Timestamp</Key>
</Value>
</EquipmentActualProperty>
<EquipmentActualProperty>
<ID>EquipmentState</ID>
<Value>
<ValueString>STOPPED</ValueString>
<Key />
</Value>
<Value>
<ValueString>2018-04-24T18:26:58.6971443+02:00</ValueString>
<Key>Timestamp</Key>
</Value>
</EquipmentActualProperty>
</EquipmentActual>
<EquipmentActual>
<EquipmentID>ENTERPRISE.SITE.AREA.CELL.UNIT2</EquipmentID>
<Description>UNIT2</Description>
<EquipmentActualProperty>
<ID>EquipmentMode</ID>
<Value>
<ValueString>PRODUCTION</ValueString>
<Key />
</Value>
<Value>
<ValueString>2018-04-24T18:26:58.6971443+02:00</ValueString>
<Key>Timestamp</Key>
</Value>
</EquipmentActualProperty>
<EquipmentActualProperty>
<ID>EquipmentState</ID>
<Value>
<ValueString>STOPPED</ValueString>
<Key />
</Value>
<Value>
<ValueString>2018-04-24T18:26:58.6971443+02:00</ValueString>
<Key>Timestamp</Key>
</Value>
</EquipmentActualProperty>
</EquipmentActual>
</SegmentResponse>
The Intelligence channel can process multiple process variables (SegmentData or JobResponseData) but they should belong to the same parent node (SegmentResponse or JobResponse) and the channel can only handle one of these parent nodes per bus message. Process variables are collected using the following XPath:
JobResponseData or SegmentData/ID
JobResponseData or SegmentData /Value[0]/ValueString
JobResponseData or SegmentData /Value[0]/UnitOfMeasure
JobResponseData or SegmentData /Value[Key = 'Timestamp']/UnitOfMeasure
The channel message collects the ID of the process variable, the actual value, a unit of measure and a timestamp using the first value attribute that has a child named Key which has its value set to ‘Timestamp’. The timestamp is optional, the channel message will obtain in from the bus message or it will use the current time.
Assume the following B2MML snippet delivered to an Intelligence channel message that processes equipment states (the important elements are highlighted):
<EquipmentActual>
<EquipmentID>ENTERPRISE.SITE.AREA.CELL.UNIT1</EquipmentID>
...
<EquipmentActual>
<SegmentData>
<ID>PV1</ID>
<Value>
<ValueString>123.456</ValueString>
<UnitOfMeasure>KG</UnitOfMeasure>
</Value>
<Value>
<ValueString>2018-04-24T18:26:58.6971443+02:00</ValueString>
<Key>Timestamp</Key>
</Value>
</SegmentData>
<SegmentData>
<ID>PV2</ID>
<Value>
<ValueString>123</ValueString>
<UnitOfMeasure>KM</UnitOfMeasure>
</Value>
</SegmentData>
The following process variables will be booked onto ‘ENTERPRISE.SITE.AREA.CELL.UNIT1’:
PV1, 123.456KG at 2018-04-24T18:26:58.6971443+02:00
PV2, 123KM at the local time this message is processed by the channel message.
Production run data is collected from every SegmentResponse or JobResponse node in the B2MML bus message using the following XPath:
Order:
OperationsPerformance/OperationsResponse/ID
WorkPerformance/WorkResponse/JobResponse/JobOrderID
Operation (only for ProcessOperationsPerformance): OperationsResponse/SegmentResponse/ID
Timestamp:
OperationsPerformance/PublishedDate
WorkPerformance/PublishedDate
Or current time when the above are not provided
MaterialDefinitionID:
MaterialActual[MaterialUse='Produced']/MaterialDefinitionID[0]
Lot:
MaterialActual[MaterialUse='Produced']/MaterialLotID[0]
StartTime:
SegmentResponse/StartTime
JobResponse/StartTime
EndTime:
SegmentResponse/EndTime
JobResponse/EndTime
./EquipmentActual[1]/EquipmentID
Assume the following B2MML snippet (ProcessWorkPerformance) delivered to an Intelligence channel message that processes production run data (the important elements are highlighted):
<?xml version="1.0" encoding="utf-8"?>
<WorkPerformance xmlns="http://www.mesa.org/xml/B2MML-V0600">
<PublishedDate>2018-04-24T18:26:58.7441781+02:00</PublishedDate>
<WorkResponse>
<ID>OrderId</ID>
<JobResponse>
<JobOrderID>OrderId</JobOrderID>
<StartTime>2018-04-24T18:26:58.6971443+02:00</StartTime>
<EndTime>2018-04-24T19:26:58.6971443+02:00</EndTime>
<JobResponseData />
<EquipmentActual>
<EquipmentID>ENTERPRISE.SITE.AREA.CELL.UNIT1</EquipmentID>
…
</EquipmentActual>
<EquipmentActual>
<EquipmentID>Ignored</EquipmentID>
…
</EquipmentActual>
<MaterialActual>
<MaterialDefinitionID>MaterialDefId_001</MaterialDefinitionID>
<MaterialLotID>MaterialLotId_001</MaterialLotID>
<MaterialSubLotID>MaterialSubLotId_112368997</MaterialSubLotID>
<MaterialUse>Produced</MaterialUse>
…
</MaterialActual>
</JobResponse>
</WorkResponse>
</WorkPerformance>
The ADOS Intelligence channel can extract downtime, counter, production run information and process variables from B2MML ProcessOperationsPerformance and ProcessWorkPerformance messages. The ADOS Intelligence channel is part of the ADOS bus stop. Follow the steps below to setup the ADOS bus stop and the ADOS Intelligence channel:
Configure operations and topics
Configure the ADOS Intelligence channel.
Configure the connection to the Intelligence Import service
Configure the Intelligence channel message to send counter, state, mode, variable and production run data to the Intelligence Import Collector service
Configure the ADOS bus stop
Operations and topics define the context in which the ADOS bus stop is operating. An operation defines a unit of work and a topic identifies non-operation items; they are identifiers. ProcessOperationsPerformance messages work with operations and ProcessWorkPerformance messages work with topics. The list below shows some examples of topics and operations:
OEE_DOWNTIME (topic)
OEE_COUNTER (topic)
SANDING (operation)
PAINTING (operation)
STAMPING (operation)
Operations and topics are configured in Cockpit in the ‘Master Data’ menu.
The Intelligence channel configuration requires 2 properties, one specifying the hostname of the computer that runs the Intelligence Collector Import service and another one specifying the port at which the service is listening. Intelligence sets the base port for the Collector Import Service by default at 9510, the ADOS intelligence channel should set the port number to 9512 (9510 + 2), this port is used for net.tcp.
Configure the Intelligence channel message to send counter, state, mode, variable and production run data to the Intelligence Import Collector service. The Intelligence channel message is the part that converts the B2MML bus messages to Intelligence data and it has a few properties to configure:
Name: This defines the name of the channel message. This is for identification purposes in ATS Bus.
Direction: This setting cannot be changed and is set to ‘Download’
Intelligence data type: This drop-down list provides the type of information that this channel message extracts from the bus message. Please read B2MML resources used by ATS Intelligence for more information about the nodes requires in the B2MML bus message for each item listed below. The drop-down provides the following items:
Equipment state: Extracts equipment mode and state information from the bus message.
Counter: Extracts good, scrap and total counts for produced materials from the bus message.
Process variables: This extracts the B2MML properties from the bus message.
Production run: This extracts the material, batch and order information from the bus message.
Each item selects a specific portion of information from the provided B2MML
Get the equipment from the bus message: This item instructs the channel message to get the equipment identifier from the B2MML message when the checkbox is ticked. Otherwise, a drop-drop is provided with the available equipment from the ATS Bus equipment hierarchy. The ATS Bus equipment hierarchy can be configured via the ‘Master data’ section in ATS Bus Cockpit. The equipment hierarchy must include Enterprise, site, area etc.
Active: Mark the channel message as active/inactive.
Intelligence can collect downtime, counter, process variables and production run information from ATS Bus, each type of data requires its own channel message.
The ADOS bus stop is configured in a few steps:
Create or update an ADOS bus stop.
Select the operations and topic in the ‘Operations’ and ‘Topics’ tab.
Select the ProcessOperationsPerformance and/or ProcessWorkPerformance bus messages from the ‘Bus messages’ tab and ensure the correct operations and topics are used.
Export the subscribed bus messages to the Intelligence channel messages by dragging the ‘Export’ action from the right-hand side onto the bus messages on the left-hand side and select the appropriate Intelligence channel message in the ‘Bus message handling’ tab.
This concludes the ADOS bus stop configuration.
Can we improve this topic?