Step 7 Beobachtungs oder Forcetabelle in Step7 v5.5

Neurorancer

Level-2
Beiträge
580
Reaktionspunkte
11
Zuviel Werbung?
-> Hier kostenlos registrieren
Sehr geehrte Forum-Mitglieder,

ich muss bei einem Projekt Step7 v5.5 benutzen.

Leider bin kenne ich mich mit Step7 v5.5 nicht so gut aus.

Mein Problem ist, dass ich eine Beobachtungs und eine Forcetabelle benötige,
um die Ein-und Ausgänge / Profinet IO- Kommunikation zu testen,
indem ich die Adressbereiche lese bzw. schreibe.

Beispiel: Ich muss das Bit der Adresse PQB 3000.0 setzen, bzw das Bit der Adresse PIB 3000.0 lesen.

Kann mir Jemand sagen wo ich diese Tabellen finde?
Muss man diese selber anlegen?
 
Moin Neurorancer,

ja, muss man selber anlegen.
Die heißen hier Variablentabellen und werden wie Bausteine ins Programm eingefügt.

rechte Maustaste auf den Bausteinordner >> Neues Objekt einfügen >> Variablentabelle

Variablentabelle.png

VG

MFreiberger
 
Zuviel Werbung?
-> Hier kostenlos registrieren
Hallo MFreiberger,

danke für die schnelle Antwort!

Eine Frage:
Was muss ich in der Variablentabelle in der Spalte Adresse eingeben,
um eine bestimmte Adresse z.B.
PIB 3000.0 lesen zu können?
 
OK,
hat sich erledigt.

Input | Output | Bit memory BOOL E 1.0 | A 1.7 | M 10.1 I 1.0 | Q 1.7 | M 10.1
Input | Output | Bit memory BYTE EB1 | AB10 | MB100 IB1 | QB10 | MB100
Input | Output | Bit memory WORD EW1 | AW10 | MW100 IW1 | QW10 | MW100
Input | Output | Bit memory DWORD ED1 | AD10 | MD100 ID1 | QD10 | MD100
I/O (Input | Output) BYTE PEB0 | PAB1 PIB0 | PQB1
I/O (Input | Output) WORD PEW0 | PAW1 PIW0 | PQW1
I/O (Input | Output) DWORD PED0 | PAD1 PID0 | PQD1
Timer TIMER T 1 T 1
Counter COUNTER Z 1 C 1
Data block BOOL DB1.DBX 1.0 DB1.DBX 1.0
Data block BYTE DB1.DBB 1 DB1.DBB 1
Data block WORD DB1.DBW 1 DB1.DBW 1
Data block DWORD DB1.DBD 1 DB1.DBD 1
 
Moin Neurorancer,

erstmal kommt es darauf an, ob Deine Mnemonik auf deutsch oder englisch eingestellt ist (im SIMATIC Manager >> Extras >> Einstellungen >> Sprache).
Dann ist ein PIB oder PEB ja kein Bit- sondern ein Bytezugriff.

Also deutsch:
PEB 3000

englisch:
PIB 3000




da war ich wohl zu spät ;)


VG

MFreiberger
 
Zuletzt bearbeitet:
Beispiel: Ich muss das Bit der Adresse PQB 3000.0 setzen, bzw das Bit der Adresse PIB 3000.0 lesen.
Das geht nicht direkt. Peripherie-Adressen kann man keine einzelnen Bits ansprechen sondern nur byte/word/dword-weise.

Wenn Du Glück hast, dann liegen diese Adressen im Prozessabbild (PAE und PAA), dann kannst Du I3000.0 (bzw. E3000.0) lesen, und Q3000.0 (bzw. A3000.0) lesen und forcen und evtl. (unwahrscheinlich) steuern. Ausgangsadressen, welche vom Programm zyklisch Zuweisungen erhalten, kann man nicht einfach steuern (sondern höchstens forcen). Um solche Ausgänge und Peripherieausgänge im RUN zu manipulieren muß man ins Programm eingreifen.

Harald
 
OK, den BLKMOV Befehl habe ich gefunden,

nun will ich einen Bereich von der 317er CPU an die Simotion senden.

In TIA Portal habe ich dazu folgende Anweisung benutzt:

Code:
//Send IO Data of ET200 to Simotion
#i16RetValET200ToSimotion := BLKMOV(SRCBLK := P#I0.0 BYTE 260, DSTBLK => P#Q3000.0 BYTE 260);

Das Problem ist, dass der Parameter P#I0.0 BYTE 260 in Step7 V5.5 nicht akzeptiert wird.
Folgende Fehlermeldung erscheint: No Byte Adress or number.

Was soll ich machen?
 
Zuviel Werbung?
-> Hier kostenlos registrieren
Code:
//Send IO Data of ET200 to Simotion
#i16RetValET200ToSimotion := BLKMOV(SRCBLK := P#I0.0 BYTE 260, DSTBLK => P#Q3000.0 BYTE 260);

Das Problem ist, dass der Parameter P#I0.0 BYTE 260 in Step7 V5.5 nicht akzeptiert wird.
Folgende Fehlermeldung erscheint: No Byte Adress or number.
1.) liegt denn QB3259 im in Deiner CPU eingestellten Prozessabbild der Ausgänge?
2.) Im Step7 V5.x Simatic Manager kannst Du die Mnemonik auf Englisch umstellen, dann kannst Du I... und Q... anstatt E... und A... schreiben:
Extras > Einstellungen > Reiter: Sprache > Mnemonik (x) Englisch

Harald
 
Zurück
Oben