вместо TYPE CUctrl : STRUCT не проще ли о обращаться сразу к битам test(word) через точку:
test.0 := TRUE;
TestStruct.Spare0 := TRUE;
можно константы объявить для удобства.
VAR CONSTANT
Spare0: BYTE := 0;
END_VAR (и даже глобальные VAR_GLOBAL CONSTANT)
test.Spare0 := TRUE;