DB Inhalt löschen mit SCL

Rose

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

hier habe ich eine Kurze SCL Programmcode, wenn DB900.DW36 = 0 ist, möchte ich alle Werte zurücksetzen und DB110 leeren, kann ich einfach mit eine For-schleife die DB110 eingreifen?

IF DB900.DW36 = 0 THEN
//Wenn kein Sammelfehler
m := 0;
n := 0;
FEHLER_ANZAHL := 0;
DB_INDEX := 0;
a := 0;
c := 0;
l := 0;
k := 0;
DB_IND := 0;
FOR DB_IND := 0 TO 48 BY 4 DO
//Aktiver FehlerDB 110 leeren
DB110.DD[DB_IND] := 0;
END_FOR;

ELSIF DB900.DW36 = 1 THEN ......

vielen Dank im Voraus!

MFG,
rose
 
Ach, hier ist die Bausteinaufruf sfc21, wie kann ich die Code weiter ausfüllen?

FILL(BVAL := // IN: ANY
,BLK := // OUT: ANY
); // INT

MFG,
rose
 
ich arbeite normal nicht mit scl.
eine hilfe zum baustein findest du im kop/fup/awl-editor (f1 auf den baustein)

FILL(BVAL := P#DB900.DBX36.0 BYTE 1// IN: ANY
,BLK := P#DB110.DBX0.0 BYTE 96// OUT: ANY
); // INT
 
Zuviel Werbung?
-> Hier kostenlos registrieren
hallo volker, hier kriege ich leide noch 3 Fehler, ich weiß nicht warum.

1. Unzulässiges Zeichen.
2. Ausdruck nicht korrekt,
3. Übersetzung abgebrochen wegen Syntaxfehler

vielen Dank noch mal für deine Hilfe.
MFG,
rose
 
bei mir gehts. ist eine scl-quelle

in awl sieht der aufruf so aus.
Code:
      CALL  SFC   21
       BVAL   :=P#DB900.DBX 36.0 BYTE 1
       RET_VAL:=MW240
       BLK    :=P#DB110.DBX 0.0 BYTE 96
 
volker schrieb:
bei mir gehts. ist eine scl-quelle

in awl sieht der aufruf so aus.
Code:
      CALL  SFC   21
       BVAL   :=P#DB900.DBX 36.0 BYTE 1
       RET_VAL:=MW240
       BLK    :=P#DB110.DBX 0.0 BYTE 96

hmm, bei mir geht irgenwie nicht weiter, ich spiele noch mal um...
auf jeden Fall vielen herzliche Dank!
 
Zuviel Werbung?
-> Hier kostenlos registrieren
Hallo zusammen,

ich habe gerade diesen Beitrag hier gefunden und stehe nahezu vor dem gleichen Problem allerdings in TIA V14.
Ich möchte einen FB schreiben der unter anderem den Inhalt eines DBs mit Nullen überschreibt.

Was muss ich denn jetzt bei "BVAL" der "Fill-Funktion" anschalten?

Mein Versuch ist im Anhang.

Reset.PNG
 
Du musst ein Byte mit Inhalt 0 abgeben. Also z.b im TEMP ein #Nullbyte anlegen und dann vor dem SFC21 Aufruf initialisieren

#Nullbyte := B#16#0;
 
Hallo TP-inc,

vielen Dank für die schnelle Antwort.
Ich habe ein entsprechendes temporäres Byte erstellt und mit B#16#0 initialisiert.
Leider bleiben die Daten im DB so wie sie sind und werden nicht wie gehofft auf Null gesetzt.
 

Anhänge

  • Unbenannt.PNG
    Unbenannt.PNG
    20,8 KB · Aufrufe: 22
Zuletzt bearbeitet:
Zurück
Oben