Giter VIP home page Giter VIP logo

Comments (11)

wsobel avatar wsobel commented on July 24, 2024 1

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.

wsobel avatar wsobel commented on July 24, 2024 1

from cppagent.

wsobel avatar wsobel commented on July 24, 2024

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.

robot-ranger avatar robot-ranger commented on July 24, 2024
<?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.

robot-ranger avatar robot-ranger commented on July 24, 2024

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.

robot-ranger avatar robot-ranger commented on July 24, 2024

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.

robot-ranger avatar robot-ranger commented on July 24, 2024

i think i might not be handling the message dataitem type properly over shdr...

too late to finish testing. ill report back.

from cppagent.

robot-ranger avatar robot-ranger commented on July 24, 2024

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.

robot-ranger avatar robot-ranger commented on July 24, 2024

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.

wsobel avatar wsobel commented on July 24, 2024

from cppagent.

robot-ranger avatar robot-ranger commented on July 24, 2024

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)

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo 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.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.