Protokol sběru dat

Z Wiki DAQIS
Přejít na: navigace, hledání

Sběr výrobních dat je rozdělen na část klientskou a část serverovou. Klientské aplikace vyčítají výrobní data a prostřednictvím webové služby je posílají na aplikační server linky, který data ukládá do databáze. Jedna zpráva typicky představuje data jedné výrobní operace. Formát zprávy je definován tak, aby bylo možné zasílat hodnoty parametrů operace, limitní meze pro jednotlivé parametry a dále seznamy montovaných komponent v jedné zprávě.

Datová zpráva operace

Datová zpráva obsahuje část identifikace klienta, který data zaslal, dále identifikaci výrobku, na kterém byla data změřena a poslední část tvoří samotná data. V sekci componentPackage je seznam namontovaných komponent, v sekci dataPackage je pak seznam hodnot (i binárních) pro jednotlivé parametry a seznam limit.

Zpráva

<soapenv:Envelope xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/" xmlns: daqis ="http://interfaces.ws.daqis.envinet.cz/">
  <soapenv:Header/>
  <soapenv:Body>
    <daqis:saveProductionData>
<productionData>
<message>
<version>?</version>
<timestamp>?</timestamp>
<clientCode>?</clientCode>
</message>
<product>
<!--Optional:-->
<partNumber>?</partNumber>
<!--Optional:-->
<partVersion>?</partVersion>
<serialNumber>?</serialNumber>
<!--Optional:-->
<productionTimestamp>?</productionTimestamp>
<!--Optional:-->
<testSample>?</testSample>
</product>
<componentPackage>
<!--Zero or more repetitions:-->
<components>
<!--Optional:-->
<partNumber>?</partNumber>
<!--Optional:-->
<partVersion>?</partVersion>
<!--Optional:-->
<partVersionParamName>?</partVersionParamName>
<serialNumber>?</serialNumber>
</components>
</componentPackage>
<dataPackage>
<!--Zero or more repetitions:-->
<paramDataList>
<paramName>?</paramName>
<quality>?</quality>
<timestamp>?</timestamp>   
<value>?</value> 
</paramDataList>
<!--Zero or more repetitions:-->
<paramBinaryDataList>
<paramName>?</paramName>
<quality>?</quality>
<timestamp>?</timestamp>
<contentType>?</contentType>
<data>cid:312667559983</data>
</paramBinaryDataList>
<!--Zero or more repetitions:-->
<paramLimitDataList>
<paramName>?</paramName>
<limitName>?</limitName>
<timestamp>?</timestamp>  
<value>?</value>  
</paramLimitDataList>
</dataPackage>
</productionData>
</ daqis:saveProductionData>
</soapenv:Body>
</soapenv:Envelope>

Odpověď

V potvrzení dostane odesílatel vždy hodnotu v sekci result (true/false). Pokud se při zpracování dat vyskytla nějaká chyba, dostane odesílatel v sekci errorData specifikaci chyby dle zdroje (výrobní číslo výrobku, montované komponenty, parametry, limity).

<soapenv:Envelope xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/">
<soapenv:Body>
<daqis:saveProductionDataResponse xmlns:daqis="http://daqis.envinet.cz/DataAquisitionWebService">
<result>?</result>
<!--Optional:--> <errorData>
<dataError>?</dataError>
<errorMessage>?</errorMessage>
<!--Zero or more repetitions:-->
<errorProductData>
<serialNumber>?</serialNumber>
<dataError>?</dataError>
<errorMessage>?</errorMessage>
</errorProductData>
<!--Zero or more repetitions:-->
<errorComponentData>
<serialNumber>?</serialNumber>
<dataError>?</dataError>
<errorMessage>?</errorMessage>
</errorComponentData>
<!--Zero or more repetitions:-->
<errorParamData>
<paramName>?</paramName>
<valueType>?</valueType>
<dataError>?</dataError>
<errorMessage>?</errorMessage>
</errorParamData>
<!--Zero or more repetitions:-->
<errorLimitData>
<paramName>?</paramName>
<limitName>?</limitName> 
<dataError>?</dataError>
<errorMessage>?</errorMessage>
</errorLimitData>
</errorData>
</ daqis:saveProductionDataResponse>
</soapenv:Body>
</soapenv:Envelope>

Odpověď chyby serveru

Odpověď, kterou vrátí rozhraní v případě, že dojde k neočekávané výjimce.

<soapenv:Envelope xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/" xmlns:daqis="http://interfaces.ws.daqis.envinet.cz/">
<soapenv:Header/>
<soapenv:Body>     
<soapenv:Fault>
<faultcode>SOAP-ENV:Client</faultcode>
<faultstring>Failed to locate method (ValidateCreditCard) in class
(examplesCreditCard) at /usr/local/ActivePerl-5.6/lib/
site_perl/5.6.0/SOAP/Lite.pm line 1555.</faultstring>
< soapenv:Fault>
</soapenv:Body>
</soapenv:Envelope>

Dotaz na sbírané parametry pro výrobní typ

Tato zpráva slouží pro načtení seznamu parametrů, které pro aktuální typ server sběru dat očekává. Slouží hlavně při komunikace s PLC, kdy u různých typů mohou být datové bloky obsazený různým druhem dat. aby sběr dat dokázal zjistit co má odkud vyčítat. Doporučuje se posílat pouze při změně výrobního typu.


Zpráva

Zpráva obsahuje identifikaci klienta a aktuální výrobní typ.

Odpověď

Odpověď obsahuje list očekávaných parametrů.