Ist das ein DB mit optimiertem Zugriff?
Was spricht dagegen den Wert direkt als Eingangsparamater zu verwenden, bzw. wenn es viele sind als Datentyp im InOUt?
Hallo zusammen,
ich habe folgendes Problem:
Ich möchte aus einem DB einen REAL Wert laden. Da ich aber mehrere´DB´s habe, wollt ich die DB Nummer mit dem DB_ANY variabel machen.
Klappt soweit auch, jedenfalls wird der Wert aus dem Datenbaustein richtig angezeigt jedoch nicht weiter verarbeitet.
Es wird nen Formatfehler sein. Vemutlich gibt es eine ganz einfache Lösung
Kann da jemand weiterhelfen?
Liebe Grüße,
Manuel
Siehe Screenshot:
Unbenannt.jpg
Ist das ein DB mit optimiertem Zugriff?
Was spricht dagegen den Wert direkt als Eingangsparamater zu verwenden, bzw. wenn es viele sind als Datentyp im InOUt?
Geändert von Hohlkörper (11.02.2019 um 17:37 Uhr)
.DBD4 adressiert eine absolute Adresse - ist also in optimierten DB nicht möglich.
Woher weiß eigentlich der Programmierer, daß der zu verarbeitende REAL-Wert in dem übergebenen DB in DBD4 steht?
Harald
Es ist immer wieder überraschend, wie etwas plötzlich funktioniert, sobald man alles richtig macht.
FAQ: Linkliste SIMATIC-Kommunikation über Ethernet
Manuel,
versuch es mal mit .. DWORD_TO_REAL(#DB_NUMMER.%DBD4);
Wenn man das mit einem optimierten DB versucht, stoppt die CPU.
Es gibt viel mehr Leute, die freiwillig aufgeben, als solche, die echt scheitern.
Henry Ford
VMManuel (12.02.2019)
Super, dankeschön.
Mit Dword_to_real hat es direkt geklappt.
Jap der Baustein war kein optimierter DB,
Vielen Dank,
Grüße
Manuel
Lesezeichen