Sensor de visión BVS
9
Interfaz
Ejemplo
110
La estructura exacta de un resultado de la inspección varía en función del número de herramientas
en la inspección, de su tipo y de sus parámetros. Cada inspección tiene su propio resultado
personalizado. Consecuentemente, no es posible facilitar una descripción completa de todos los
"Resultados de la inspección". No obstante, la estructura de cada resultado de la inspección sigue
una "gramática" fija que se describe aquí con la ayuda de la llamada "EBNF Notation".
Encontrará una introducción en la "EBNF-Notation" en:
http://de.wikipedia.org/wiki/EBNF
<response message > = [<Startzeichen>]<type>[<Epilogue>]
<Startzeichen>]<type> = <STX> (caracteres ASCII 0x02h) | <User definierter
Startstring> (*Definido con BVS ConVis*) ; Solo para transmisión mediante RS232
<type> = <success> | <failure>
<success> = <SuccessID>< separator ><bytelenght><separator>
<inspection result>]
<failure> = "ERR"< separator >"INVALIDSTATUS"
<SuccessID> = "OK"
<bytelenght> = <digit><digit><digit><digit><digit>
<Inspection result> = <inspection name> <separator> <inspection logic result>
<separator> <tools results> [<separator> <logical_tools results>] <epilogue>;
(*Longitud del resultado a partir del siguiente símbolo de separación*)
<Inspection name> = <UTF-8_string>; (*Inspection name UTF-8 coded*)
<inspection logic result> = "0001" | "0000";(* 0001:=FAILURE, 0000:= Success *)
<tools results> = <tool result>[<separator> <tool result>]; (*list of
Inspection tools results*)
<tool result> = <tool name> <separator> <tool logic result> <separator>
<tool param result> [<separator> <tool param result>];
<logical_tools results> = <tool name> <separator> <tool logic result>
<tool name> = <UTF-8_string> (the tool name UTF-8 coded)
<tool logic result> = "0001" | "0000";(*0001:=ERROR, NO CONFORME,
0000:= SIN ERROR, OK*)
<tool param result> = <INT_As_String> | <DOUBLE_AS_STRING> (*for order of
parameters for each tool see table below*)
<INT_AS_STRING> = < digit >,< digit >,< digit >,< digit >,< digit >;
<DOUBLE_AS_STRING> = < digit >,("."| < digit >), ("."| < digit >),("."|
< digit >), ("."| < digit >);
<digit> = "0" | "1" | "2" | "3" | "4" | "5" | "6" | "7" | "8" | "9" ;
<character> = ( <digit> | <alphabetic character>);
<digit> = "0" | "1" | "2" | "3" | "4" | "5" | "6" | "7" | "8" | "9" ;
<alphabetic character> = "A" | "B" | "C" | "D" | "E" | "F" | "G"| "H" | "I" |
"J" | "K" | "L" | "M" | "N"| "O" | "P" | "Q" | "R" | "S" | "T" | "U"| "V" | "W"
| "X" | "Y" | "Z" | "a" | "b" | "c" | "d" | "e" | "f" | "g"| "h" | "i" | "j" |
"k" | "l" | "m" | "n"| "o" | "p" | "q" | "r" | "s" | "t" | "u"| "v" | "w" | "x"
| "y" | "z" ;
<epilogue> = <Endstring>; Solo para transmisión mediante RS232
<Endstring> = <CR><LF> | <Secuencia definida por el usuario>
<Secuencia definida por el usuario> (*Se define en BVS ConVis*);
<CR> = 0x13h (*Hexadecimal ASCII value*)
<LF> = 0x10h (*Hexadecimal ASCII value*)
<STX> = 0x02h (*Hexadecimal ASCII value*)
Resultado de una inspección con el nombre Insp_Ejemplo con 1 herramienta para leer el código
de matriz de datos; símbolo de inicio <STX>; símbolo de final: <CR><LF> (estos caracteres no
aparecen visibles en el texto normal).
<STX>OK&00079&Insp_Ejemplo&00000&Datamatrix1&00000&00516&00223&000.
0&00001&1234567890&00003<CR><LF>
La siguiente tabla muestra la descodificación detallada en base a la "gramática" anterior para este
ejemplo.