-> Hier kostenlos registrieren
Ich wollte in eine kleine SPS-Demonstrationsanlage in einem Uni-Labor, die eine Montagesituation simuliert und Bauteile falscher Orientierung aussondert, ein Gimmick einbauen indem die i.O. Bauteile prozentual berechnet werden.
Zähler für Gesamtbauteile und i.O.-Bauteile sind vorhanden.
CPU ist eine 212er und programmiert wird mit Micro/Win.
Ich habe zuerst angedacht, den i.O-Zähler * 100 zu multiplizieren (Ergebnis hätte 32bit), DInt in Int umwandeln und dann durch den Gesamtzähler zu dividieren.
Problem: der Befehlssatz der 212 umfasst anscheinend nicht das Umwandeln eines DInt->Int, so dass ich eine 32bit Zahl habe und eine 16bit Zahl, die dividiert werden sollen...geht natürlich nicht.
Direktes Dividieren (DIV) würde auch nicht klappen Ergebnis wäre ein DWord mit 0 und dem Wert des i.O.-Zählers.
Gibt es sonst noch eine Möglichkeit mit dem beschränkten Befehlssatz das Problem zu lösen? Danke.
Zähler für Gesamtbauteile und i.O.-Bauteile sind vorhanden.
CPU ist eine 212er und programmiert wird mit Micro/Win.
Ich habe zuerst angedacht, den i.O-Zähler * 100 zu multiplizieren (Ergebnis hätte 32bit), DInt in Int umwandeln und dann durch den Gesamtzähler zu dividieren.
Problem: der Befehlssatz der 212 umfasst anscheinend nicht das Umwandeln eines DInt->Int, so dass ich eine 32bit Zahl habe und eine 16bit Zahl, die dividiert werden sollen...geht natürlich nicht.
Direktes Dividieren (DIV) würde auch nicht klappen Ergebnis wäre ein DWord mit 0 und dem Wert des i.O.-Zählers.
Gibt es sonst noch eine Möglichkeit mit dem beschränkten Befehlssatz das Problem zu lösen? Danke.