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.

4.5.8 Overflow - Sign Change<br />

Literal Elements of Ladder Language<br />

The system does not perform overflow <strong>control</strong>. It is therefore up to the programmer to take the necessary precautions.<br />

Example of Sign Change:<br />

%M100.B and %M101.B are two byte variables both equal to 0x7F (i.e. +127).<br />

The assignment: %Var.xx = %M100.B + %M101.B gives:<br />

0x00<br />

0x00<br />

0x00<br />

Propagation of register bit 7<br />

0x00<br />

Propagation of register bit 7<br />

0x00<br />

0x00<br />

%M100.B (0x7F)<br />

+<br />

%M101.B (0x7F)<br />

= =<br />

Var.xx<br />

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

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

Var.B is loaded with 0x00FE. Since bit 7 (sign bit) is a 1, Var.B == -2 (wrong answer) 1 1 1 1 1 1 1 0<br />

Var.W is loaded with 0x00FE. Since bit 15 (sign bit) is a 0,<br />

Var.W == 254 (right answer)<br />

Var.L is loaded with 0x000000FE.<br />

Since bit 31 (sign bit) is a 0,<br />

Var.L == 254 (right answer)<br />

0x00<br />

4.5.9 Examples of Literal Entities<br />

0x00<br />

0x00<br />

0x00<br />

0x7F<br />

0x7F<br />

0xFE<br />

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

0x00<br />

Register D0<br />

(on 32 bits)<br />

Register D1<br />

(on 32 bits)<br />

D0 + D1 -> D0<br />

Result D0<br />

(on 32 bits)<br />

0x00<br />

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

Comparisons:<br />

- %M5.B + %V33.L == %M10.W,<br />

- (Var_1

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

Saved successfully!

Ooh no, something went wrong!