TIA Tia 1200CPU Eingangsparameter vom FB im FB auswerten

SPS Jogi

Level-2
Beiträge
11
Reaktionspunkte
0
Zuviel Werbung?
-> Hier kostenlos registrieren
Hallo,
Ich möchte den Eingangsparameter vom FB z.b. ew100 im FB zerlegen und mit der 100 im FB weiterarbeiten, also das ew abschneiden. In der Classic Welt ging dies mit #(Name der Eingangsvariable)
wie bekomme ich das in der 1200 CPU hin.
Wie ist der Eingangsparameter des FB's aufgebaut?
Vielen Dank im vorraus
 
Ich möchte den Eingangsparameter vom FB z.b. ew100 im FB zerlegen und mit der 100 im FB weiterarbeiten, also das ew abschneiden. In der Classic Welt ging dies mit #(Name der Eingangsvariable)
Ganz so einfach ging das auch in der Classic Welt nicht... bei einem FB kommt man an die Adresse des Aktualparameters nur heran, wenn der Parameter als Pointer übergeben wird. Wird der Parameter als Wert (Kopie!) übergeben, dann erhält man bestenfalls die Adresse des Parameters in der Instanz bzw. im Instanz-DB.

Versuche nicht, völlig überholte Konzepte und Adressberechnungen in die 1xxx CPUs zu übernehmen, sondern denke darüber nach, was Du eigentlich erreichen willst (und teile uns das mit), und dann versuche das symbolisch zu lösen. Z.B. falls Du von einem Gerät zusammengehörende/aufeinanderfolgende E-Adressen lesen willst, dann deklariere einen UDT mit dieser Struktur und deklariere die E-Anfangsadresse mit diesem UDT, dann kannst Du auf alle E-Adressen der Struktur symbolisch zugreifen.

Harald
 
Hallo und danke für die schnellen Antworten.

GetSymbolName geht nicht gibt ja nur den Symbolnamen weiter.
@ Harald, einfach war das nicht, aber ging. Der Grund warum ich dies machen möchte ist folgendes. Ich habe einen Baustein für Serienmaschienen wo sich nur die Startadresse der Eingänge über aktuell 3 Byte ändert. Somit trage ich nur die Startadresse am Baustein ein und fertig.
( Mit Tia muss ich mich noch an die Poiteradressierung herantasten).

Euch noch schöne Weihnachten
Jörg
 
Ich habe einen Baustein für Serienmaschienen wo sich nur die Startadresse der Eingänge über aktuell 3 Byte ändert. Somit trage ich nur die Startadresse am Baustein ein und fertig.
( Mit Tia muss ich mich noch an die Poiteradressierung herantasten).
Das ist genau das, was Harald meinte!
Da benötigt man normalerweise keinen Pointer mehr.
;)


Du erstellst Dir einen UDT über die genaue Struktur dieser 3 Byte und weist diesen UDT in einer Variablentabelle dem Startbit Deiner Eingänge zu.
Am FB verwendest Du das Symbol des Startbits und ebenfalls den UDT als Typ.

Die Startadresse änderst Du zukünftig in der Variablentabelle und das Symbol am FB bleibt immer gleich.
Und der Zugriff ist somit auch überall vollsymbolisch.
 
Hier noch ein Thread mit Bildern dazu:
 
Zurück
Oben