1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 | METHOD SeqNum VAR_INPUT Value : ULINT; // SeqNum Value END_VAR VAR_OUTPUT OK : BOOL; // OK IF Value = 0 OR Value = 255 THEN DoReBirth := FALSE; _PrevSeq := Value; ELSIF Value = (_PrevSeq + 1) THEN ELSE DoReBirth := TRUE; END_IF IF DoReBirth THEN _PrevSeq := 0; // Reset previous received BDSeq OK := (DoReBirth = FALSE); |