TIA Adressierung in SCL 300 vs. 1500

applikateur

Level-1
Beiträge
20
Reaktionspunkte
0
Guten Morgen zusammen,

ich hätte mal eine kurze Frage, vielleicht kann mir das jemand beantworten.

Warum funktioniert der Code so auf einer 319
Code:
FOR #Counter.cnt_WriteOutput := 0 TO 82 DO
        %AB(#I_AdrOffset + #Counter.cnt_WriteOutput) := #Inhalt[#Counter.cnt_WriteOutput];
END_FOR;

aber auf einer 1513 nicht?. Ich komme auf der 1500er mit PEEK/POKE ganz gut zurecht, aber das läuft halt nicht auf einer 300er.
Der Baustein soll aber auf beiden Steuerungstypen funktionieren.

Vielen Dank.
 
Was für Übersetzungsfehler bekommst du ?
in 300er und in 1500er
Bekommst du in auch Warnungen?

Mir kommt das %AB komisch vor. Da fehlt irgendwie den#
Und ich denke den #Counter.cnt_WriteOutput sol in [ ] Klammern.
 
Warum funktioniert der Code so auf einer 319
[...]
aber auf einer 1513 nicht?
Frag' Siemens. Nach Siemens Willen unterstützt die S7-1500 das zusammenbasteln von Adressen wie bei der S7-300 nicht. Für die S7-1500 wurden dafür PEEK/POKE bereitgestellt - die es aber wiederum nicht für die S7-300 gibt.

Der Baustein soll aber auf beiden Steuerungstypen funktionieren.
Dann mußt Du sauber voll-symbolisch mit Arrays und Strukturen programmieren anstatt direkt im Speicher oder E/A-Adressen rumzupoken/-peeken, dann hast Du hohe Chancen daß der Code für beide SPS-Familien passt.
Ich halte es allerdings für illusorisch, Code entwickeln zu wollen, der fast ohne Anpassungen für S7-300 und S7-1500 funktioniert - die CPUs sind zu sehr verschieden.

Harald
 
Danke für Eure Antworten. Werde wohl unterschiedliche Bausteine für die unterschiedlichen Steuerungstypen machen müssen.
 
Für die Nutzung dieser Website sind Cookies erforderlich. Du musst diese akzeptieren, um die Website weiter nutzen zu können. Erfahre mehr…