TIA Ist es möglich in FUP indiziert auf einen DB zuzugreifen?

AVOTechnik

Level-2
Beiträge
6
Reaktionspunkte
0
Zuviel Werbung?
-> Hier kostenlos registrieren
Hallo,

ich möchte in einen Datenbaustein indirekt in ein Datenwort schreiben.

Der Datenbaustein ist nicht optimert.

In SCL ist die Vorgehensweise klar. Da verwende ich die Anweisung "Poke"
POKE(area := 16#84,
dbNumber := 100,
byteOffset := #i,
value := 5);

Ist dies auch in FUP möglich?
Ich denke daran die Zahl 5 mit der "Movebox" in DB100.%DBW[#i] zu schreiben.
Der Syntax wird immer als fehlerhaft gemeldet.

MOVE.jpg
Ist dies überhaupt min FUP möglich oder ist nur meine Schreibweise verkehrt?

Vielen Dank für eure Hilfe
 
Soweit ich weiss ist das nicht möglich. Warum willst du sowas überhaupt machen? Dein Nachfolger sucht sich nen Wolf.
 
Zuviel Werbung?
-> Hier kostenlos registrieren
Ich denke auch, das geht nicht.
Wenn du es denn unbedingt benötigst, dann schreib dir halt in SCL einen kleinen FC, der somit als Hülle dient.
Den kannst du dann mit IN ind OUT in FUP aufrufen.
 
Kommt drauf an was für eine SPS man hat (der TE fragt womöglich wegen einer popeligen S7-1200?)
Bei S7-300/400/1500 kann man in FUP einen ANY-Pointer zusammenbasteln und damit BLKMOV aufrufen.

Wenn es nicht zu viieele Möglichkeiten für #i gibt, dann könnte man mehrere direkte MOVE-Boxen und deren EN-Mechanismus verwenden. Das geht dann auch mit S7-1200.

Harald
 
Zuviel Werbung?
-> Hier kostenlos registrieren
Hallo,
an der Aufgabe ist nicht wirklich viel dynamisch (außer i). Warum nicht den "DB100" mit Array(of Word) oder Struct deklarieren und dann schön vollsymbolisch indiziert darauf zugreifen. Dein "DB100" hat bestimmt einen Symbolnamen ...
Wenn Du mit MOVE 5 nur Bit 0 und 2 setzen willst, könntest Du sogar noch nach dem Index "SLICEN".
 
Zuletzt bearbeitet:
Soweit ich weiss ist das nicht möglich. Warum willst du sowas überhaupt machen? Dein Nachfolger sucht sich nen Wolf.

Vielen Dank für eure Antworten und Hilfe.

Es wird eine Anlage modernisiert. Die vorhandene S5-928B wird gegen eine S7-1500 ausgetauscht.
Die Visualisierung mit ihrer Verwaltung von Rezepturen bleibt erhalten.
Da die Visualisierung ihre festen Adressen hat und diese in der neuen S7-1500 Steuerung wiederfinden muss,
muss ich viele Teile von der Bearbeitung der Rezepturen in der SPS übernehemen. Diese Rezeptsteuerung
und die Schrittketten sind komplett indirekt adressiert.

Bei der Fehlersuche sucht man sich dadrin echt einen "Wolf"
 
Zuletzt bearbeitet:
Zuviel Werbung?
-> Hier kostenlos registrieren
Wie hast Du denn diese Visu/Rezeptur DBs in der 1500er deklariert, oder hat es sich schon erledigt? :confused:

Hallo roman06,

die DB`s auf welche die VISU schaut, sind nicht optimiert.
Der DDE Server der Visualisierung benötigt feste Adressen für den Datenaustausch mit der SPS.
 
Zuletzt bearbeitet:
Die vorhandene S5-928B wird gegen eine S7-1500 ausgetauscht. Die Visualisierung mit ihrer Verwaltung von Rezepturen bleibt erhalten.
Da hätte ich aber Bedenken, wenn sich die auf S5 dressierte Visualisierung in der S7-DatenBausteinWelt zurecht finden soll.
DW0 ist bei S5 und S7 noch fast identisch, aber in S5 werden die DW-Nrn wortweise hochgezählt und in der S7 byteweise. D.h. in S5 überschneidet sich DW0 nicht mit DW1 u.s.w., in S7 aber sehr wohl.
Ich weiss nicht, ob Du trotzdem oder gerade deswegen auf Array umstellen willst?
 
Das ist korrekt. In der S5 Welt sind die Datenwörter in einem Datenbaustein wortweise adressiert, in der S7 Welt sind diese byteweise.
In der Visualisierung müssen alle Adressen mit 2 multipliziert werden. Dann funktioniert diese auch mit der S7-1500.

Ich denke der beste Weg ist es, das Programm mit unseren Standartbausteinen zu schreiben und zusätlich eine Baustein, der die
Daten für die Visu an die richtigen Adressen schreibt, bzw. aus den richtigen DBs ließt.
 
Zuviel Werbung?
-> Hier kostenlos registrieren
Wie schon #10 geschrieben hat, gibt's da doch ein paar kleine aber feine(gemeine) Unterschiede :ROFLMAO: Vielleicht auch noch an die Bitreihenfolge denken, wenn z.B. irgendwo gesammelt wird.
Ansonsten läuft es?

Grüße
Roman
 
Hallo Roman,

danke für die Nachfrage.

Es handelt sich um ein sehr umfangreiches Projekt.
Dabei stehe ich noch am Anfang. bin guter Dinge. Es wird klappen :)

Grüße
Dico
 
Zurück
Oben