Umgang mit SFC20 - BLOCKMOVE

Alles zur Software WinSPS-S7 bzw. WinPLC7

Moderatoren: Matthias, Weiss_MHJ

Antworten
Carsten
SPSTreff-User
Beiträge: 7
Registriert: 09 Jul 2010, 15:31
Wohnort: NRW

Umgang mit SFC20 - BLOCKMOVE

Beitrag von Carsten »

Hallo zusammen,
beim Arbeiten mit dem SFC20 in WinSPS7 (V5) habe ich ein kleines Problem.
Die Parametrierung stimmt nicht und es wird der SFC20 nicht ausgefüht.
Mein CODE:
U M 14.0
SPBNB _001
CALL SFC 20
SRCBLK:=P#DB1.DBX 0.0 BYTE 5
RET_VAL:=MW200
DSTBLK:=P#DB2.DBX 0.0 BYTE 5
_001: NOP 0

Ich möchte wenn der Merker M14.0 gesetzt ist aus dem DB1 ab dem Byte 0 die nachfolgenden 5 Byte an den DB2 ab Byte 0 senden.
Das Senden klappt gar nicht, kein einzigstes Byte wird vom DB1 an den DB2 gesendet. In der Version 4 des WinSPS7-Software hat dieses Vorgehen und der o.g. Syntax geklappt. Schon bei der Eingabe der Werte für SRCBLK und DSTBLK verhielt sich die Eingabe nicht wie in der Version 4. Denn da konnte ich z.B. DB1.dbb0 Byte 5 eingeben und erhielt P#DB1.DBX0.0BYTE5!!!!

Was mache ich falsch? Oder ist noch ein Bug vorhanden?

Gruß Carsten

Benutzeravatar
Weiss_MHJ
Site Admin
Beiträge: 674
Registriert: 13 Apr 2010, 16:34
Kontaktdaten:

Beitrag von Weiss_MHJ »

Hallo,

habe es ausprobiert. Ich kann keinen Fehler feststellen. Der Kopiervorgang wird ausgeführt.
Wird im MW200 ein Fehlercode angezeigt?

Zur Angabe des Pointers:
Ein Any-Pointer muss immer mit einer Anfangs-Bitadresse angegeben werden.

Gruss

Carsten
SPSTreff-User
Beiträge: 7
Registriert: 09 Jul 2010, 15:31
Wohnort: NRW

Beitrag von Carsten »

Hallo,

danke für die Antwort!!!
Habe den SFC20 zum x-ten mal eingegeben und es hatte nicht funktioniert. Immer im MW200 W#16#8100 erhalten.
Nun nochmal nach der Antwort, es ist wie verhext es hat geklappt.

DANKE

GRUSS

Benutzeravatar
Weiss_MHJ
Site Admin
Beiträge: 674
Registriert: 13 Apr 2010, 16:34
Kontaktdaten:

Beitrag von Weiss_MHJ »

Hallo,

haben Sie das Ganze in der SoftSPS von WinSPS-S7 oder in einer realen S7-CPU laufen lassen.
Der Fehlercode 0x8100 wird nämlich von der SoftSPS nicht geliefert. Oder wurde vielleicht das MB201 irgendwo anders noch überschrieben?

Gruss

Carsten
SPSTreff-User
Beiträge: 7
Registriert: 09 Jul 2010, 15:31
Wohnort: NRW

Beitrag von Carsten »

Hallo,
sowohl in der SoftSPS als auch in der realen VIPA-CPU konnte ich am mw200 dies feststellen. Zur Zeit ist dieses Verhalten nicht vorhanden und alles läuft zur vollen Zufriedenheit.
Gerade bin ich an meinem Zweit-PC mit der Vorgänger-Version 4 (DEMO) beschäftigt. Hier habe ich einen SFC20 in ein Netzwerk eingefügt, am SRCBLK den Eintrag "db1.dbb2 byte5" eingegeben. Nachdem ich den Fokus aus dem Eingabefeld gesetzt habe erhielt ich folgenden Eintrag "P#DB1.DBX2.0BYTE5"! Das ist mir bekannt. In der Version 5 habe ich die gleichen Eingaben gemacht und habe nicht nach der Verlassen des Eingabefeld den abgeänderten Eintrag erhalten. Gibt es einen Grund warum sich Version 5 abweichend verhält wie Version 4?

Gruß

Benutzeravatar
Weiss_MHJ
Site Admin
Beiträge: 674
Registriert: 13 Apr 2010, 16:34
Kontaktdaten:

Beitrag von Weiss_MHJ »

Hallo,

der Any-Zeiger "P#DB1.DBB0 BYTE 5" ist eigentlich falsch, da bei Any-Zeiger immer Bitoperanden anzugeben sind.

Bei der V5 wurde dies so gemacht, dass man z.B. "MB10" bei einem Any-Zeiger angeben kann und der Editor daraus "P#M10.0 BYTE 1" macht.
Bei DB-Daten wird aus "DB1.DBB0" dann "P#DB1.DBX0.0 BYTE 1" oder auch "DB2.DBW10" zu "P#DB2.DBX10.0 WORD 1"

Die "falsche"Angabe wird nicht mehr akzeptiert.

Am Besten also den Anfangsoperanden angeben, danach muss dann nur noch die Länge (und vielleicht der Datentyp) verändert werden.

Gruss

Antworten