15.07.2013 Views

Automatic control function programming manual ladder language

Automatic control function programming manual ladder language

Automatic control function programming manual ladder language

SHOW MORE
SHOW LESS

You also want an ePaper? Increase the reach of your titles

YUMPU automatically turns print PDFs into web optimized ePapers that Google loves.

Pitfall to be Avoided<br />

Comparisons between variables (bytes and signed words) and immediate values are a frequent source of errors.<br />

Example<br />

Var.B == 128.<br />

0xFF<br />

4 - 8 en-938846/5<br />

Propagation of register bit 7<br />

0xFF<br />

0xFF<br />

0x80<br />

Var.B<br />

= =<br />

128<br />

1 0 0 0 0 0 0 0<br />

Immediate value<br />

Register D0<br />

(on 32 bits)<br />

0x00 0x00<br />

0x00<br />

0x80 Register D1<br />

(on 32 bits)<br />

Variable Var.B is never equal to immediate value 128.<br />

The equality can be achieved using a mask and writing Var.B & OxFF == 128.<br />

0xFF<br />

0x00<br />

0x00<br />

0x00<br />

Propagation of register bit 7<br />

0xFF<br />

0x00<br />

0x00<br />

0x00<br />

0xFF<br />

0x00<br />

0x00<br />

0x00<br />

0x80<br />

0xFF<br />

0x80<br />

0x80<br />

Var.B<br />

&<br />

0xFF<br />

= =<br />

128<br />

D0 ! = D1<br />

1 0 0 0 0 0 0 0<br />

1 1 1 1 1 1 1 1<br />

Register D0<br />

(on 32 bits)<br />

Register D1<br />

(on 32 bits)<br />

D0 & D1 -> D0<br />

Register D0<br />

(on 32 bits)<br />

Register D1<br />

(on 32 bits)<br />

D0 = = D1<br />

Immediate value

Hooray! Your file is uploaded and ready to be published.

Saved successfully!

Ooh no, something went wrong!