TIA Adressierung in SCL 300 vs. 1500

applikateur

Level-1
Beiträge
20
Reaktionspunkte
0
Zuviel Werbung?
-> Hier kostenlos registrieren
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.
 
Zuviel Werbung?
-> Hier kostenlos registrieren
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
 
Zurück
Oben