In AWL gibt es ITD (INT to DINT) aber kein DTI (DINT to INT). Ein "DTI" wäre auch bei negativen Zahlen nicht erforderlich. Das liegt an der Darstellung der negativen Zahlen durch das sogenannte Zweierkomplement. Es gibt natürlich auch keine DINT-to-INT-Wandlungen in FUP und KOP.
Beispiel:
L MD10 //32-Bit-Operand, DINT
T MW20 //16-Bit-Operand, INT
Solange im MD10 nur Werte zwischen -32768 bis 32767 (INT-Bereich) liegen, kommen diese Werte auch immer im MW20 korrekt an.
Man kann sich das am besten klar machen, wenn man PLCSim zu Rate zieht und sich das MD10 und MW20 sowohl im Ganzzahlformat als auch Binär anzeigen lässt. Dann kann man auch erkennen, wie die negativen Zahlen dargestellt werden.
Aber: In SCL gibt es DINT_TO_INT. Es ist eine Klasse-B-Konvertierung, die immer programmiert werden muss. Natürlich kann der Wert aus dem DINT-Operanden nur dann in einem INT-Operanden untergebracht werden, wenn er zwischen -32768 bis 32767 liegt.
Obiges Beispiel muss dann so programmiert werden:
MW20 := DINT_TO_INT(MD10);