Для меня так нагляднее. Оперируем последним битом в 32-х битном слове.

Код:
VAR
DWORD_tmp:DWORD;
b1:BOOL;
END_VAR

IF b1 THEN DWORD_tmp:=DWORD_tmp OR 2147483648; ELSE DWORD_tmp:=DWORD_tmp AND NOT 2147483648; END_IF;