TIA SCL Aus datenbaustein auf Ausgangswort schreiben

SEAL

Level-1
Beiträge
80
Reaktionspunkte
0
Zuviel Werbung?
-> Hier kostenlos registrieren
Hallo zusammen,

ich versuche in einem SCL Baustein auf ein Ausganswort zu schreiben aber irgendwie will das nicht so wie ich will. Hatte das ganze schonmal im Step 7 benutzt und da hat es funktioniert.
der Codteil sieht ungefähr so aus:

Adresse= int
DB_Nr = Block_DB
DBW_Nr_Send= int


Code:
%AW(#adresse) := (#DB_Nr.DW(#DBW_Nr_Send));

ziel ist es eine SEW movimot anzusteuern. Im Vorherigen Programmteil maskiere ich die Steuerbits als word und lege diese in einem DB ab.Dies klappt auch soweit nur weiss ich nicht ob er Signalaustausch funktioniert und ob sich beim TIA SCL noch irgendwas diesbezüglich geändert hat.
Beim beobachten zeit er mit jedenfals nur fragezeichen an.
 
Was für eine CPU?
Liegt die Ausgangsadresse im Prozessabbild?
Ist bei den E/A-Adressen zum movimot vielleicht eine Konsistenz > Word eingerichtet?

Harald
 
Nach langen probieren habe ich den Motor zum laufen bekommen. Der Code hat funktioniert bei der Adressierung hat was nicht hingehauen. Beim projektieren wurden jeden Motor automatisch adressbereiche zugewiesen irgendwas ab 256 aber dieser hat nich funktioniert warum auch immer. Mit einer 100er Adresse klappte dann alles prima.
Und schon die zweite Frage , gibts eine Einstellung bezüglich der Adressierung ( Bereich Limit ) die ich vergessen hatte?
 
Mit einer 100er Adresse klappte dann alles prima.
Und schon die zweite Frage , gibts eine Einstellung bezüglich der Adressierung ( Bereich Limit ) die ich vergessen hatte?
Jap, damit wäre alles schön erklärt! :ROFLMAO:

Wie PN/DP schon fragte, liegt dein Ausgangswort im Prozessabbild?
Wenn du versuchst das Wort mit AWx anzusprechen dann muss es im PA liegen.
Wenn du es mit PAWx ansprichst ist dies nicht erforderlich.

Und wie es der Zufall so will ist die Standardeinstellung der S7315 für die "Größe des Prozessabbildes" - 128Byte.
Die Einstellung findest du in der Hardware-Konfiguration der CPU.

Handelt es sich bei deinem Ausgangswort um normale Digitalausgänge oder um eine Busschnittstelle?
Bei physischen EAs würde ich eher die "Größe des Prozessabbildes" erhöhen, bei Bus-Schnittstellen arbeitet man üblicherweise mit PAW/PEW.

.. Movimot... ist wohl ne Bus-Schnittstelle...
 
Zuletzt bearbeitet:
Zuviel Werbung?
-> Hier kostenlos registrieren
Der Eingangs und Ausgangs bereich lliegt jetzt bei 100-105 insgesamt habe ich 3prozess eingangsworte und 3 ausgangsworte. Leider erkennt tia scl keine befehle wie paw und pew mehr.
 
Leider bin ich in SCL auch nicht so bewandert, in TIA noch weniger. Aber ich denke die Kollegen hier kennen auch sicher einen Weg wie du in TIA-SCL auf die PAWs zugreifen kannst.

Sonst, Größe des Prozessabbildes erhöhen.
 
Zuviel Werbung?
-> Hier kostenlos registrieren
Habe noch was ergoogelt. Um ein paw oder pew im tia scl anzusprechen muss die Eingabe so aussehen
Code:
 %aw:P
%aw und nicht wie gewohnt paw234
 
Zuletzt bearbeitet:
Nach langen probieren
Hättest Du meine Fragen gleich komplett beantwortet oder drüber nachgedacht, dann hättest Du auch nicht so lange probieren müssen. Und die Sache mit dem :p muß man nicht ergoogeln, das steht in der TIA-Hilfe und den TIA-Handbüchern auf dem Rechner vor Dir.

Naja, das nächste mal... Diese Sache wirst Du sicher nie wieder vergessen. Ende gut - alles gut! :)

Harald
 
Habe den Syntax bei SCL mal Probiert

Code:
%AW(#adresse):P := (#DB_Nr.DW(#DBW_Nr_Send));
Das haut nicht hin und aus
Code:
%AW256:p := (#DB_Nr.DW(#DBW_Nr_Send));
macht er mir
Code:
%AW"tag_1":p := (#DB_Nr.DW(#DBW_Nr_Send));

hat jemand ne Idee warum das nicht klappt?

Nachtrag:
Dieses hat geklappt. nachdem ich den Typ von"adresse" kurz auf word und dann wieder auf Integer gesetzt hatte waren die Fehlermeldung verschwunden.
Code:
%AW(#adresse):P := (#DB_Nr.DW(#DBW_Nr_Send));
 
Zuletzt bearbeitet:
Zurück
Oben