unbekannte Anweisung: P#L 108.0

Holger Levetzow

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

was sind das für Anweisungen:
P#L 88.0
P#L 108.0
P#L 98.0

ich dachte, über L kann ich Lokaldaten ansprechen, hier also den Pointer mit der Adresse aus L 108.0.
Ich habe dann in die Deklaration der temporären Variablen des FC geschaut, da steht als letze Adresse die 84 (mit Wortlänge)
Worauf greifen die 3 Zeilen drauf zu?

mfg und Danke im Voraus
Holger
 
Hallo Leute,

was sind das für Anweisungen:
P#L 88.0
P#L 108.0
P#L 98.0

ich dachte, über L kann ich Lokaldaten ansprechen, hier also den Pointer mit der Adresse aus L 108.0.
Ich habe dann in die Deklaration der temporären Variablen des FC geschaut, da steht als letze Adresse die 84 (mit Wortlänge)
Worauf greifen die 3 Zeilen drauf zu?

mfg und Danke im Voraus
Holger

die 3 Zeilen greifen nirgends drauf zu.
Sie laden lediglich die Adressen im Pointerformat in Akku 1.

Man müsste mehr Code sehen um eine Aussage machen zu können...

Micha
 
Hallo Micha,

stimmt. Davor steht z.B.

L DW#16#10130001
T LD 88

heißt das, die werden irgendwo in den Lokaldaten abgelegt und DW#16#10130001 ist eine Adresse?
P#L 108 wird nie festgelegt und wird als Fehlerwert des Funktionsaufrus genutzt. Dann wird der wohl ins "Nichts" geschickt, weil er nicht weiter benutzt werden soll?

Holger
 
Hallo Micha,

stimmt. Davor steht z.B.

L DW#16#10130001
T LD 88

heißt das, die werden irgendwo in den Lokaldaten abgelegt und DW#16#10130001 ist eine Adresse?
P#L 108 wird nie festgelegt und wird als Fehlerwert des Funktionsaufrus genutzt. Dann wird der wohl ins "Nichts" geschickt, weil er nicht weiter benutzt werden soll?

Holger

Sieht nach alten Programmleichen aus.
Sinn macht das für mich erst mal nicht...
 
unmittelbar vor der Nutzung steht:
...
L DW#16#10130001
T LD 88
L DW#16#10130001
T LD 98
UC "BLKMOV"
P#L 88.0
P#L 108.0
P#L 98.0

hilft das? Ansonsten wird es schwer, da ich ja nicht alle 1058 Zeilen posten kann.

Holger
 
Zuviel Werbung?
-> Hier kostenlos registrieren
du hast dir eine interessante sicht auf den baustein aktiviert... schön schön.
ja, so hilft das weiter.

im LD88 steht der source-any-pointer und im LD98 der destination-any-pointer für die SFC20

das LW108 später nicht ausgewertet wird ändert nichts daran, dass darin der Ret_Val der kopierfunktion zu stehen kommt...
 
Zuletzt bearbeitet:
so habe ich mir das auch zusammengereimt. Und wo sind die denn nun hinterlegt. Gibt es einen Bereich (Stack o.ä.), der außerhalb der FC-Parametrierung dafür genutzt wird?

Danke Holger
 
unmittelbar vor der Nutzung steht:
...
L DW#16#10130001
T LD 88
L DW#16#10130001
T LD 98
UC "BLKMOV"
P#L 88.0
P#L 108.0
P#L 98.0

hilft das? Ansonsten wird es schwer, da ich ja nicht alle 1058 Zeilen posten kann.

Holger

Wenn du den SFC20 in einen Bausteinordner kopierst, und dann deinen FC erneut öffnest, dann sollte der Aufruf normal aussehen.

Step 7 speichert bei einem Call die Parameter in Lokaldaten um (nicht bei allen datentypen und adressen) und übergibt dann einen Zeiger auf die Vorgängerlokaldaten.
 
Zuviel Werbung?
-> Hier kostenlos registrieren
so habe ich mir das auch zusammengereimt. Und wo sind die denn nun hinterlegt. Gibt es einen Bereich (Stack o.ä.), der außerhalb der FC-Parametrierung dafür genutzt wird?

Danke Holger

die sind im TEMP-Bereich, der ja auch ohne Deklaration eben über die L-Adressen verwendet werden kann.

ich würde dir aber dringend empfehlen, den baustein richtig zu öffnen, dann sollte der aufruf in etwa so aussehen:

Code:
*
      CALL  "BLKMOV"
       SRCBLK :=
       RET_VAL:=
       DSTBLK :=
 
Wenn du den SFC20 in einen Bausteinordner kopierst, und dann deinen FC erneut öffnest, dann sollte der Aufruf normal aussehen.

hab das grad mal probiert, also den sfc20 im bausteinordner gelöscht und dann eine funktion, in der er verwendet wird geöffnet...siehe da, er wird automatisch wieder in den bausteinordner kopiert und wird auch immer richtig dargestellt.
 
Zuviel Werbung?
-> Hier kostenlos registrieren
ich frag mich auch wie man das zustande bringt. bei mir wird die sfc20 auch sofort wieder ins projekt eingefügt

das erste wort kann man ja sauber nachvollziehen
10 byte 0 für s7
13 datentyp string
0001 wiederholungsfaktor
 
hab das grad mal probiert, also den sfc20 im bausteinordner gelöscht und dann eine funktion, in der er verwendet wird geöffnet...siehe da, er wird automatisch wieder in den bausteinordner kopiert und wird auch immer richtig dargestellt.

Bei normalen FCs gehts ja, Online Abzug machen, FC löschen welcher aufgerufen wird, aufrufenden FC öffnen. Aber mit SFCs bekomm ich's auch nicht hin.
 
Bei normalen FCs gehts ja, Online Abzug machen, FC löschen welcher aufgerufen wird, aufrufenden FC öffnen. Aber mit SFCs bekomm ich's auch nicht hin.

BULLSHIT, das geht auch nicht mit FC oder FB ... der aufruf wird immer richtig dargestellt, wenn der baustein nicht verfügbar ist, dann in rot und beim öffnen des bausteins mit entsprechender fehlermeldung!

[edit] habe online-abzug überlesen. auch grad keinen zur hand um es zu testen... [/edit]
 

Anhänge

  • fb_entfernt_1.JPG
    fb_entfernt_1.JPG
    20 KB · Aufrufe: 20
  • fb_entfernt_2.JPG
    fb_entfernt_2.JPG
    12,8 KB · Aufrufe: 18
Zuviel Werbung?
-> Hier kostenlos registrieren
[edit] habe online-abzug überlesen. auch grad keinen zur hand um es zu testen... [/edit]

kollege hatte grad einen offen, sieht dann so aus:

Code:
*
      [I][COLOR="Red"]Call[/COLOR][/I]
      BLD   1
      =     L     38.0
      UC    FC   500
      BLD   2
      [I][COLOR="red"]End Call[/COLOR][/I]

und wurde mit zwei hinweisen beim öffnen belohnt...
 
Zurück
Oben