Comments (11)
The problem is a Message
is a three-tuple in SHDR: See README.md: Adapter Agent Protocol Version 2.0:
The next special format is the Message. There is one additional field, native_code, which needs to be included:
2014-09-29T23:59:33.460470Z|message|CHG_INSRT|Change Inserts
In the latest version of the Agent you can have other two-tuple key/value pairs after the message. In older versions you needed to have messages on a separate line.
That is the reason things mess up after the something
, you effectively get a framing error on the remaining pairs.
from cppagent.
from cppagent.
Can you send upload the rest of the Device xml file? It may be some other issue related to the file that is causing the issue.
There is nothing special about the interfaces component and it is not treated differently. There is probably some other issue.
from cppagent.
<?xml version="1.0" encoding="UTF-8"?>
<MTConnectDevices xmlns:m="../..cppagent/schemas/MTConnectDevices_2.2_1.0.xsd" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns="urn:mtconnect.org:MTConnectDevices:2.2" xsi:schemaLocation="urn:mtconnect.org:MTConnectDevices:2.2 ../../cppagent/schemas/MTConnectDevices_2.2_1.0.xsd">
<!-- ALL DATAITEM ATTRIBUTES FOLLOW THIS ORDER: uuid, id*, type*, subType, category*, name. [* = REQUIRED] [ONLY EXCEPTION IS DESCRIPTION] -->
<Devices>
<Device uuid="rb" id="rb" name="Robot">
<Description>Robotic Machine Tender</Description>
<Components>
<Controller id="rbCtl" name="Robot Controller">
<DataItems>
<DataItem id="rbCtrlAvail" type="AVAILABILITY" category="EVENT"></DataItem>
<DataItem id="rbSoftVer" type="APPLICATION" category="EVENT"></DataItem>
<DataItem id="rbEStop" type="EMERGENCY_STOP" category="EVENT"></DataItem>
<DataItem id="rbProg" type="PROGRAM" category="EVENT"></DataItem>
<DataItem id="rbExe" type="EXECUTION" category="EVENT"></DataItem>
<DataItem id="rbMode" type="CONTROLLER_MODE" category="EVENT"></DataItem>
</DataItems>
</Controller>
<Interfaces id="rbInterfaces" name="Robot Interfaces">
<Components>
<DoorInterface id="doorReq" name="Door Service Req">
<Description>Door Actuator</Description>
<DataItems>
<DataItem id="rbDoorSrvc" type="INTERFACE_STATE" category="CONDITION"></DataItem>
<DataItem id="rbDoorSrvcEvent" type="INTERFACE_STATE" category="EVENT"></DataItem>
<DataItem id="doorOpenReq" type="OPEN_DOOR" subType="REQUEST" category="EVENT"></DataItem>
<DataItem id="doorCloseReq" type="CLOSE_DOOR" subType="REQUEST" category="EVENT"></DataItem>
</DataItems>
</DoorInterface>
<ChuckInterface id="chuck1Req" name="Chuck 1 Service Req">
<Description>Workholding</Description>
<DataItems>
<DataItem id="rbChuckSrvc" type="INTERFACE_STATE" category="CONDITION"></DataItem>
<DataItem id="rbChuckSrvcEvent" type="INTERFACE_STATE" category="EVENT"></DataItem>
<DataItem id="chuckOpenReq" type="OPEN_CHUCK" subType="REQUEST" category="EVENT"></DataItem>
<DataItem id="chuckCloseReq" type="CLOSE_CHUCK" subType="REQUEST" category="EVENT"></DataItem>
</DataItems>
</ChuckInterface>
<MaterialHandlerInterface id="matHandIntRes" name="rb Interface Res">
<Description>Meterial Handler Interface</Description>
<DataItems>
<DataItem id="rbMatHandSrvc" type="INTERFACE_STATE" category="CONDITION"></DataItem>
<DataItem id="rbMatHandSrvcEvent" type="INTERFACE_STATE" category="EVENT"></DataItem>
<DataItem id="matHandLoadRes" type="MATERIAL_LOAD" subType="RESPONSE" category="EVENT"></DataItem>
<DataItem id="matHandUnLoadRes" type="MATERIAL_UNLOAD" subType="RESPONSE" category="EVENT"></DataItem>
</DataItems>
</MaterialHandlerInterface>
</Components>
</Interfaces>
</Components>
</Device>
<Device uuid="0987654321" id="cnc01" name="mx-Interface">
<Description model="mx-interface" manufacturer="RBM">Machine Tool Material Handler Interface</Description>
<DataItems>
<DataItem id="cxExe" type="EXECUTION" category="EVENT"></DataItem>
<DataItem id="cxProg" type="PROGRAM" category="EVENT"></DataItem>
<DataItem id="cxAlarm" type="EMERGENCY_STOP" category="EVENT"></DataItem>
<DataItem id="cxMode" type="CONTROLLER_MODE" category="EVENT"></DataItem>
</DataItems>
<Components>
<Door id="door">
<DataItems>
<DataItem id="doorState" type="DOOR_STATE" category="EVENT"></DataItem>
</DataItems>
</Door>
<Chuck id="chuck">
<DataItems>
<DataItem id="chuckInterlock" type="CHUCK_INTERLOCK" category="EVENT"></DataItem>
<DataItem id="chuckManualUnclamp" type="CHUCK_INTERLOCK" subType="MANUAL_UNCLAMP" category="EVENT"></DataItem>
<DataItem id="chuckState" type="CHUCK_STATE" category="EVENT"></DataItem>
</DataItems>
</Chuck>
<Interfaces id="mxInterfaces" name="Machine Tool Interfaces">
<!-- <DataItems>
<DataItem id="something" type="MESSAGE" category="EVENT"></DataItem>
</DataItems> -->
<Components>
<DoorInterface id="doorRes" name="Door Service Res">
<Description>Door Actuator</Description>
<DataItems>
<DataItem id="mxDoorSrvc" type="INTERFACE_STATE" category="CONDITION"></DataItem>
<DataItem id="mxDoorSrvcEvent" type="INTERFACE_STATE" category="EVENT"></DataItem>
<DataItem id="doorOpenRes" type="OPEN_DOOR" subType="RESPONSE" category="EVENT"></DataItem>
<DataItem id="doorCloseRes" type="CLOSE_DOOR" subType="RESPONSE" category="EVENT"></DataItem>
</DataItems>
<References>
<DataItemRef idRef="doorState" />
</References>
</DoorInterface>
<ChuckInterface id="chuck1Res" name="Chuck 1 Service Res">
<Description>Workholding</Description>
<DataItems>
<DataItem id="mxChuckSrvc" type="INTERFACE_STATE" category="CONDITION"></DataItem>
<DataItem id="mxChuckSrvcEvent" type="INTERFACE_STATE" category="EVENT"></DataItem>
<DataItem id="chuckOpenRes" type="OPEN_CHUCK" subType="RESPONSE" category="EVENT"></DataItem>
<DataItem id="chuckCloseRes" type="CLOSE_CHUCK" subType="RESPONSE" category="EVENT"></DataItem>
</DataItems>
<References>
<DataItemRef idRef="chuckState" />
</References>
</ChuckInterface>
<MaterialHandlerInterface id="matHandIntReq" name="mx Interface Req">
<Description>Meterial Handler Interface</Description>
<DataItems>
<DataItem id="mxMatHandSrvc" type="INTERFACE_STATE" category="CONDITION"></DataItem>
<DataItem id="mxMatHandSrvcEvent" type="INTERFACE_STATE" category="EVENT"></DataItem>
<DataItem id="matHandLoadReq" type="MATERIAL_LOAD" subType="REQUEST" category="EVENT"></DataItem>
<DataItem id="matHandUnLoadReq" type="MATERIAL_UNLOAD" subType="REQUEST" category="EVENT"></DataItem>
</DataItems>
</MaterialHandlerInterface>
</Components>
</Interfaces>
</Components>
</Device>
</Devices>
</MTConnectDevices>
from cppagent.
with the dataitem in question included and un-commented; here is the current response before adapter connection:
<MTConnectStreams xmlns:m="urn:mtconnect.org:MTConnectStreams:2.2" xmlns="urn:mtconnect.org:MTConnectStreams:2.2" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="urn:mtconnect.org:MTConnectStreams:2.2 /schemas/MTConnectStreams_2.2.xsd">
<Header creationTime="2024-01-18T09:11:50Z" sender="mxi-0002b" instanceId="1705569109" version="2.2.0.15" deviceModelChangeTime="2024-01-18T09:11:49.375038Z" bufferSize="131072" nextSequence="88" firstSequence="1" lastSequence="87" />
<Streams>
<DeviceStream name="Agent" uuid="b7cb2e69-9bf4-5f9b-9f50-bae0f5e9230e">
<ComponentStream component="Adapter" name="192.168.0.30:7789" componentId="_192.168.0.30_7789">
<Samples>
<AssetUpdateRate dataItemId="_192.168.0.30_7789_asset_update_rate" sequence="2" statistic="AVERAGE" timestamp="2024-01-18T09:11:49.382445Z">UNAVAILABLE</AssetUpdateRate>
<ObservationUpdateRate dataItemId="_192.168.0.30_7789_observation_update_rate" sequence="5" statistic="AVERAGE" timestamp="2024-01-18T09:11:49.38253Z">UNAVAILABLE</ObservationUpdateRate>
</Samples>
<Events>
<AdapterSoftwareVersion dataItemId="_192.168.0.30_7789_adapter_software_version" sequence="21" timestamp="2024-01-18T09:11:49.382994Z">UNAVAILABLE</AdapterSoftwareVersion>
<AdapterURI dataItemId="_192.168.0.30_7789_adapter_uri" sequence="20" timestamp="2024-01-18T09:11:49.382969Z">shdr://192.168.0.30:7789</AdapterURI>
<ConnectionStatus dataItemId="_192.168.0.30_7789_connection_status" sequence="85" timestamp="2024-01-18T09:11:49.388824Z">LISTEN</ConnectionStatus>
<MTConnectVersion dataItemId="_192.168.0.30_7789_mtconnect_version" sequence="22" timestamp="2024-01-18T09:11:49.383018Z">UNAVAILABLE</MTConnectVersion>
</Events>
</ComponentStream>
<ComponentStream component="Adapter" name="localhost:7878" componentId="_localhost_7878">
<Samples>
<AssetUpdateRate dataItemId="_localhost_7878_asset_update_rate" sequence="23" statistic="AVERAGE" timestamp="2024-01-18T09:11:49.383042Z">UNAVAILABLE</AssetUpdateRate>
<ObservationUpdateRate dataItemId="_localhost_7878_observation_update_rate" sequence="24" statistic="AVERAGE" timestamp="2024-01-18T09:11:49.383071Z">UNAVAILABLE</ObservationUpdateRate>
</Samples>
<Events>
<AdapterSoftwareVersion dataItemId="_localhost_7878_adapter_software_version" sequence="25" timestamp="2024-01-18T09:11:49.383097Z">UNAVAILABLE</AdapterSoftwareVersion>
<AdapterURI dataItemId="_localhost_7878_adapter_uri" sequence="18" timestamp="2024-01-18T09:11:49.382908Z">shdr://localhost:7878</AdapterURI>
<ConnectionStatus dataItemId="_localhost_7878_connection_status" sequence="86" timestamp="2024-01-18T09:11:49.389015Z">LISTEN</ConnectionStatus>
<MTConnectVersion dataItemId="_localhost_7878_mtconnect_version" sequence="26" timestamp="2024-01-18T09:11:49.38312Z">UNAVAILABLE</MTConnectVersion>
</Events>
</ComponentStream>
<ComponentStream component="Adapter" name="localhost:7887" componentId="_localhost_7887">
<Samples>
<AssetUpdateRate dataItemId="_localhost_7887_asset_update_rate" sequence="9" statistic="AVERAGE" timestamp="2024-01-18T09:11:49.382652Z">UNAVAILABLE</AssetUpdateRate>
<ObservationUpdateRate dataItemId="_localhost_7887_observation_update_rate" sequence="16" statistic="AVERAGE" timestamp="2024-01-18T09:11:49.382857Z">UNAVAILABLE</ObservationUpdateRate>
</Samples>
<Events>
<AdapterSoftwareVersion dataItemId="_localhost_7887_adapter_software_version" sequence="17" timestamp="2024-01-18T09:11:49.382883Z">UNAVAILABLE</AdapterSoftwareVersion>
<AdapterURI dataItemId="_localhost_7887_adapter_uri" sequence="15" timestamp="2024-01-18T09:11:49.382834Z">shdr://localhost:7887</AdapterURI>
<ConnectionStatus dataItemId="_localhost_7887_connection_status" sequence="84" timestamp="2024-01-18T09:11:49.388447Z">LISTEN</ConnectionStatus>
<MTConnectVersion dataItemId="_localhost_7887_mtconnect_version" sequence="19" timestamp="2024-01-18T09:11:49.382931Z">UNAVAILABLE</MTConnectVersion>
</Events>
</ComponentStream>
<ComponentStream component="Agent" name="Agent" componentId="agent_b7cb2e69">
<Events>
<Availability dataItemId="agent_avail" sequence="82" timestamp="2024-01-18T09:11:49.384856Z">AVAILABLE</Availability>
<AssetChanged assetType="UNAVAILABLE" dataItemId="agent_b7cb2e69_asset_chg" sequence="7" timestamp="2024-01-18T09:11:49.382581Z">UNAVAILABLE</AssetChanged>
<AssetCountDataSet count="0" dataItemId="agent_b7cb2e69_asset_count" sequence="12" timestamp="2024-01-18T09:11:49.382734Z">UNAVAILABLE</AssetCountDataSet>
<AssetRemoved assetType="UNAVAILABLE" dataItemId="agent_b7cb2e69_asset_rem" sequence="10" timestamp="2024-01-18T09:11:49.382681Z">UNAVAILABLE</AssetRemoved>
<DeviceAdded dataItemId="device_added" hash="XOOzSymxNpv+oFCKx+x+DID8qlM=" sequence="81" timestamp="2024-01-18T09:11:49.384832Z">0987654321</DeviceAdded>
<DeviceChanged dataItemId="device_changed" sequence="6" timestamp="2024-01-18T09:11:49.382557Z">UNAVAILABLE</DeviceChanged>
<DeviceRemoved dataItemId="device_removed" sequence="4" timestamp="2024-01-18T09:11:49.382507Z">UNAVAILABLE</DeviceRemoved>
</Events>
</ComponentStream>
<ComponentStream component="Adapter" name=":0" componentId="idDifferentFromSink">
<Samples>
<AssetUpdateRate dataItemId="idDifferentFromSink_asset_update_rate" sequence="29" statistic="AVERAGE" timestamp="2024-01-18T09:11:49.383231Z">UNAVAILABLE</AssetUpdateRate>
<ObservationUpdateRate dataItemId="idDifferentFromSink_observation_update_rate" sequence="28" statistic="AVERAGE" timestamp="2024-01-18T09:11:49.383202Z">UNAVAILABLE</ObservationUpdateRate>
</Samples>
<Events>
<AdapterSoftwareVersion dataItemId="idDifferentFromSink_adapter_software_version" sequence="30" timestamp="2024-01-18T09:11:49.383257Z">UNAVAILABLE</AdapterSoftwareVersion>
<AdapterURI dataItemId="idDifferentFromSink_adapter_uri" sequence="27" timestamp="2024-01-18T09:11:49.383177Z">mqtt://localhost:1883</AdapterURI>
<ConnectionStatus dataItemId="idDifferentFromSink_connection_status" sequence="87" timestamp="2024-01-18T09:11:49.39216Z">ESTABLISHED</ConnectionStatus>
<MTConnectVersion dataItemId="idDifferentFromSink_mtconnect_version" sequence="31" timestamp="2024-01-18T09:11:49.383287Z">UNAVAILABLE</MTConnectVersion>
</Events>
</ComponentStream>
</DeviceStream>
<DeviceStream name="mx-Interface" uuid="0987654321">
<ComponentStream component="Chuck" componentId="chuck">
<Events>
<ChuckInterlock dataItemId="chuckInterlock" sequence="59" timestamp="2024-01-18T09:11:49.384193Z">UNAVAILABLE</ChuckInterlock>
<ChuckInterlock dataItemId="chuckManualUnclamp" sequence="61" subType="MANUAL_UNCLAMP" timestamp="2024-01-18T09:11:49.384246Z">UNAVAILABLE</ChuckInterlock>
<ChuckState dataItemId="chuckState" sequence="62" timestamp="2024-01-18T09:11:49.384271Z">UNAVAILABLE</ChuckState>
</Events>
</ComponentStream>
<ComponentStream component="ChuckInterface" name="Chuck 1 Service Res" componentId="chuck1Res">
<Events>
<CloseChuck dataItemId="chuckCloseRes" sequence="58" subType="RESPONSE" timestamp="2024-01-18T09:11:49.384152Z">UNAVAILABLE</CloseChuck>
<OpenChuck dataItemId="chuckOpenRes" sequence="73" subType="RESPONSE" timestamp="2024-01-18T09:11:49.384595Z">UNAVAILABLE</OpenChuck>
<InterfaceState dataItemId="mxChuckSrvcEvent" sequence="72" timestamp="2024-01-18T09:11:49.384572Z">UNAVAILABLE</InterfaceState>
</Events>
<Condition>
<Unavailable dataItemId="mxChuckSrvc" sequence="70" timestamp="2024-01-18T09:11:49.38451Z" type="INTERFACE_STATE" />
</Condition>
</ComponentStream>
<ComponentStream component="Device" name="mx-Interface" componentId="cnc01">
<Events>
<AssetChanged assetType="UNAVAILABLE" dataItemId="cnc01_asset_chg" sequence="77" timestamp="2024-01-18T09:11:49.384684Z">UNAVAILABLE</AssetChanged>
<AssetCountDataSet count="0" dataItemId="cnc01_asset_count" sequence="68" timestamp="2024-01-18T09:11:49.384461Z">UNAVAILABLE</AssetCountDataSet>
<AssetRemoved assetType="UNAVAILABLE" dataItemId="cnc01_asset_rem" sequence="78" timestamp="2024-01-18T09:11:49.384724Z">UNAVAILABLE</AssetRemoved>
<Availability dataItemId="cnc01_avail" sequence="76" timestamp="2024-01-18T09:11:49.384663Z">UNAVAILABLE</Availability>
<EmergencyStop dataItemId="cxAlarm" sequence="56" timestamp="2024-01-18T09:11:49.384108Z">UNAVAILABLE</EmergencyStop>
<Execution dataItemId="cxExe" sequence="54" timestamp="2024-01-18T09:11:49.384063Z">UNAVAILABLE</Execution>
<ControllerMode dataItemId="cxMode" sequence="57" timestamp="2024-01-18T09:11:49.38413Z">UNAVAILABLE</ControllerMode>
<Program dataItemId="cxProg" sequence="55" timestamp="2024-01-18T09:11:49.384087Z">UNAVAILABLE</Program>
</Events>
</ComponentStream>
<ComponentStream component="Door" componentId="door">
<Events>
<DoorState dataItemId="doorState" sequence="60" timestamp="2024-01-18T09:11:49.384215Z">UNAVAILABLE</DoorState>
</Events>
</ComponentStream>
<ComponentStream component="DoorInterface" name="Door Service Res" componentId="doorRes">
<Events>
<CloseDoor dataItemId="doorCloseRes" sequence="65" subType="RESPONSE" timestamp="2024-01-18T09:11:49.384376Z">UNAVAILABLE</CloseDoor>
<OpenDoor dataItemId="doorOpenRes" sequence="69" subType="RESPONSE" timestamp="2024-01-18T09:11:49.384487Z">UNAVAILABLE</OpenDoor>
<InterfaceState dataItemId="mxDoorSrvcEvent" sequence="67" timestamp="2024-01-18T09:11:49.384438Z">UNAVAILABLE</InterfaceState>
</Events>
<Condition>
<Unavailable dataItemId="mxDoorSrvc" sequence="66" timestamp="2024-01-18T09:11:49.384399Z" type="INTERFACE_STATE" />
</Condition>
</ComponentStream>
<ComponentStream component="MaterialHandlerInterface" name="mx Interface Req" componentId="matHandIntReq">
<Events>
<MaterialLoad dataItemId="matHandLoadReq" sequence="74" subType="REQUEST" timestamp="2024-01-18T09:11:49.384617Z">UNAVAILABLE</MaterialLoad>
<MaterialUnload dataItemId="matHandUnLoadReq" sequence="75" subType="REQUEST" timestamp="2024-01-18T09:11:49.384639Z">UNAVAILABLE</MaterialUnload>
<InterfaceState dataItemId="mxMatHandSrvcEvent" sequence="71" timestamp="2024-01-18T09:11:49.384536Z">UNAVAILABLE</InterfaceState>
</Events>
<Condition>
<Unavailable dataItemId="mxMatHandSrvc" sequence="64" timestamp="2024-01-18T09:11:49.384334Z" type="INTERFACE_STATE" />
</Condition>
</ComponentStream>
<ComponentStream component="Interfaces" name="Machine Tool Interfaces" componentId="mxInterfaces">
<Events>
<Message dataItemId="something" sequence="63" timestamp="2024-01-18T09:11:49.384292Z">UNAVAILABLE</Message>
</Events>
</ComponentStream>
</DeviceStream>
<DeviceStream name="Robot" uuid="rb">
<ComponentStream component="ChuckInterface" name="Chuck 1 Service Req" componentId="chuck1Req">
<Events>
<CloseChuck dataItemId="chuckCloseReq" sequence="34" subType="REQUEST" timestamp="2024-01-18T09:11:49.383418Z">UNAVAILABLE</CloseChuck>
<OpenChuck dataItemId="chuckOpenReq" sequence="46" subType="REQUEST" timestamp="2024-01-18T09:11:49.383724Z">UNAVAILABLE</OpenChuck>
<InterfaceState dataItemId="rbChuckSrvcEvent" sequence="45" timestamp="2024-01-18T09:11:49.383701Z">UNAVAILABLE</InterfaceState>
</Events>
<Condition>
<Unavailable dataItemId="rbChuckSrvc" sequence="44" timestamp="2024-01-18T09:11:49.383674Z" type="INTERFACE_STATE" />
</Condition>
</ComponentStream>
<ComponentStream component="DoorInterface" name="Door Service Req" componentId="doorReq">
<Events>
<CloseDoor dataItemId="doorCloseReq" sequence="43" subType="REQUEST" timestamp="2024-01-18T09:11:49.383653Z">UNAVAILABLE</CloseDoor>
<OpenDoor dataItemId="doorOpenReq" sequence="42" subType="REQUEST" timestamp="2024-01-18T09:11:49.383629Z">UNAVAILABLE</OpenDoor>
<InterfaceState dataItemId="rbDoorSrvcEvent" sequence="41" timestamp="2024-01-18T09:11:49.383596Z">UNAVAILABLE</InterfaceState>
</Events>
<Condition>
<Unavailable dataItemId="rbDoorSrvc" sequence="40" timestamp="2024-01-18T09:11:49.383568Z" type="INTERFACE_STATE" />
</Condition>
</ComponentStream>
<ComponentStream component="MaterialHandlerInterface" name="rb Interface Res" componentId="matHandIntRes">
<Events>
<MaterialLoad dataItemId="matHandLoadRes" sequence="50" subType="RESPONSE" timestamp="2024-01-18T09:11:49.383909Z">UNAVAILABLE</MaterialLoad>
<MaterialUnload dataItemId="matHandUnLoadRes" sequence="51" subType="RESPONSE" timestamp="2024-01-18T09:11:49.383932Z">UNAVAILABLE</MaterialUnload>
<InterfaceState dataItemId="rbMatHandSrvcEvent" sequence="49" timestamp="2024-01-18T09:11:49.383886Z">UNAVAILABLE</InterfaceState>
</Events>
<Condition>
<Unavailable dataItemId="rbMatHandSrvc" sequence="48" timestamp="2024-01-18T09:11:49.38386Z" type="INTERFACE_STATE" />
</Condition>
</ComponentStream>
<ComponentStream component="Device" name="Robot" componentId="rb">
<Events>
<AssetChanged assetType="UNAVAILABLE" dataItemId="rb_asset_chg" sequence="52" timestamp="2024-01-18T09:11:49.383979Z">UNAVAILABLE</AssetChanged>
<AssetCountDataSet count="0" dataItemId="rb_asset_count" sequence="47" timestamp="2024-01-18T09:11:49.383824Z">UNAVAILABLE</AssetCountDataSet>
<AssetRemoved assetType="UNAVAILABLE" dataItemId="rb_asset_rem" sequence="53" timestamp="2024-01-18T09:11:49.384007Z">UNAVAILABLE</AssetRemoved>
<Availability dataItemId="rb_avail" sequence="32" timestamp="2024-01-18T09:11:49.38335Z">UNAVAILABLE</Availability>
</Events>
</ComponentStream>
<ComponentStream component="Controller" name="Robot Controller" componentId="rbCtl">
<Events>
<Availability dataItemId="rbCtrlAvail" sequence="33" timestamp="2024-01-18T09:11:49.383393Z">UNAVAILABLE</Availability>
<EmergencyStop dataItemId="rbEStop" sequence="36" timestamp="2024-01-18T09:11:49.383465Z">UNAVAILABLE</EmergencyStop>
<Execution dataItemId="rbExe" sequence="39" timestamp="2024-01-18T09:11:49.38353Z">UNAVAILABLE</Execution>
<ControllerMode dataItemId="rbMode" sequence="37" timestamp="2024-01-18T09:11:49.383486Z">UNAVAILABLE</ControllerMode>
<Program dataItemId="rbProg" sequence="38" timestamp="2024-01-18T09:11:49.383509Z">UNAVAILABLE</Program>
<Application dataItemId="rbSoftVer" sequence="35" timestamp="2024-01-18T09:11:49.383442Z">UNAVAILABLE</Application>
</Events>
</ComponentStream>
</DeviceStream>
</Streams>
</MTConnectStreams>
from cppagent.
our adapter sends the following shdr on connect, where you can see something|UNAVAILABLE
:
2024-01-18T09:12:45.782101Z|cnc01_avail|AVAILABLE|chuckInterlock|UNAVAILABLE|something|UNAVAILABLE|chuckManualUnclamp|UNAVAILABLE|cxExe|READY|doorState|UNLATCHED|chuckState|UNLATCHED|cxProg|MDI|cnc01_asset_count|UNAVAILABLE|cxAlarm|ARMED|cxMode|manual_data_input|mxMatHandSrvcEvent|ENABLED|matHandUnLoadReq|READY|matHandLoadReq|READY|mxDoorSrvcEvent|ENABLED|doorOpenRes|READY|doorCloseRes|READY|mxChuckSrvcEvent|ENABLED|chuckOpenRes|READY|chuckCloseRes|READY
from cppagent.
i think i might not be handling the message dataitem type properly over shdr...
too late to finish testing. ill report back.
from cppagent.
yup, that is what i was arriving at last night but i was at the end of my effort for the day.
So a message is just like a condition, but without the qualifying NORMAL/WARNING/FAULT?
from cppagent.
can either native code or the message content be empty like the following?
2014-09-29T23:59:33.460470Z|message||Change Inserts
2014-09-29T23:59:33.460470Z|message|CHG_INSRT||
from cppagent.
from cppagent.
yes, v helpful. thanks. its obvious i was just not handling the message event type correctly in my shdr. closing.
from cppagent.
Related Issues (20)
- Agent Reconnecting to Broker repeatedly HOT 21
- Condition ID format and example not matching on Agent version 2.3? HOT 25
- DELETEing an already deleted asset responds with old asset value; expected MTConnectError HOT 14
- Check why asset counts are not being reported in agent HOT 3
- json schema for agent cfg HOT 12
- Add pretty handling to assets
- Query Regarding FlatMode Configuration in MTConnect CPP Agent HOT 9
- Add header to Asset documents in 2.5
- Agent is suddenly closing itself HOT 23
- Cannot start service when cfg file has different name than default HOT 7
- MQTT Adapter disconnect HOT 25
- MQTT Ingress URL error HOT 6
- MTConnect Agent version 2.3.0.13 runs different devices.xml HOT 1
- Probe not received on device UUID change. HOT 6
- Add configurable MQTT Retain flag
- v2.3.0.14 - MQTT adapter port hard coded in source (1883) HOT 15
- Agent Crash when configured for TWO adapters HOT 9
- Agent to Agent Connection: Filtering not working HOT 3
- Agent cannot parse json asset HOT 1
- Alpine docker build fails HOT 14
Recommend Projects
-
React
A declarative, efficient, and flexible JavaScript library for building user interfaces.
-
Vue.js
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
-
Typescript
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
-
TensorFlow
An Open Source Machine Learning Framework for Everyone
-
Django
The Web framework for perfectionists with deadlines.
-
Laravel
A PHP framework for web artisans
-
D3
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
-
Recommend Topics
-
javascript
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
-
web
Some thing interesting about web. New door for the world.
-
server
A server is a program made to process requests and deliver data to clients.
-
Machine learning
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
-
Visualization
Some thing interesting about visualization, use data art
-
Game
Some thing interesting about game, make everyone happy.
Recommend Org
-
Facebook
We are working to build community through open source technology. NB: members must have two-factor auth.
-
Microsoft
Open source projects and samples from Microsoft.
-
Google
Google ❤️ Open Source for everyone.
-
Alibaba
Alibaba Open Source for everyone
-
D3
Data-Driven Documents codes.
-
Tencent
China tencent open source team.
from cppagent.