1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 | FUNCTION_BLOCK FB_PayloadRow EXTENDS COL.LinkedListElementBase VAR_INPUT (*Trigers for conversion*) xDecode : BOOL; xEncode : BOOL; END_VAR VAR_IN_OUT ProtobufBlobIndex : DINT; //For decoding, starts where the start of the Object is, ends on the last byte of the Object. For Encoding, starts where the first byte the Object should be written to, ends on the next free byte after this object myProtobufBlob : ARRAY [*] OF BYTE;//array of bytes containing the protobuf payload. If the array is the whole //myMetricsPool : ARRAY [*] OF FB_PayloadMetric; //myKeysPool : ARRAY [*] OF LinkedListWStringElement; //myDataSetColumnsPool : ARRAY[*] OF LinkedListWStringElement; //Maybe combine with KeysPool? //myDataSetTypesPool : ARRAY[*] OF FB_PayloadDataSetType; //myRowsPool : ARRAY [*] OF FB_PayloadRow; myElementsPool : ARRAY [*] OF FB_PayloadElement; //myParametersPool : ARRAY [*] OF FB_PayloadParameter; |