db und pointer

fbeine

Level-2
Beiträge
134
Reaktionspunkte
3
Zuviel Werbung?
-> Hier kostenlos registrieren
hallo zusammen,

ich habe ein problem mit pointern, habe schon viel gelesen, aber irgendwie klappt das bei mit nicht.

ich möchte in den DBX1.3 eine "1" schreiben. DBX1.3 übergebe ich an einen FC.

Der FC sieht folgender massen aus:
Code:
      U     #bQSstart                   // Querschnitt start 
//      U     #bBVfertig                  // Bildverarbeitung fertig
//      U     #bBViO_niO                  // Bildverarbeitung Blatt ist kein Ausschuß
      SPBN  M001
      AUF   "KAM Ausschuss"             // Datenbaustein öffnen DB21
      L     P##pAdresse                 // zum Beipiel DBX1.3 für Bahn 1
      LAR1                              // Lade Adreßregister 1 mit Inhalt von AKKU 1
      S      [AR1,P#0.0]                // zum Beipiel DBX1.3 für Bahn 1
M001: NOP   0

wo liegt mein fehler ??

vielen dank
frank
 
Hallo
Probier mal "S dbx[AR1,P#0.0]" damit das Programm weiß welcher Operand verwendet wird.

Gruß

Andreas
 
Zuviel Werbung?
-> Hier kostenlos registrieren
hallo andreas,

halben erfolg habe ich.

ich übergebe beim aufruf des FCs als pointer-variable dbx1.3

mit der zeile: "S dbx[AR1,P#0.0]" schreibt er in meinen db aber in "dbx2.0"

ich gestehe, dass ich ein wenig verwirrt bin ...

gruß frank
 
Hallo Frank,

L P##Basisadresse // Basisadresse z.B. DB20.DBX1.2
LAR1
L W [AR1,P#0.0] // DB Nummer ermitteln u. aufschlagen
T #temp_w
AUF DB [#temp_w]
L D [AR1,P#2.0] // Adresse in
LAR1 // Adressregister 1 laden

und dann wie gehabt.

MfG
Daniel
 
Zuviel Werbung?
-> Hier kostenlos registrieren
hi ralle,

ich schreibe von aussen DBX1.3 in den aufzurufenden FC.

im aufgerufenden FC ist sie als input-variable von typ pointer deklariert.

gruss frank
 
Dein Beispiel - überarbeitet

Moin Frank;

hier Dein Beispiel:

U #bQSstart // Querschnitt start
// U #bBVfertig // Bildverarbeitung fertig
// U #bBViO_niO // Bildverarbeitung Blatt ist kein Ausschuß
SPBN M001
AUF "KAM Ausschuss" // Datenbaustein öffnen DB21
L P##pAdresse // Lade Anfangsadresse vom Pointer LAR1 // Lade Adreßregister 1 mit Inhalt von AKKU 1 L D[ar1,p#2.0] // Lade die letzten 4 Byte vom Pointer (DBX1.3)
LAR1 // Adresse in ADR1 laden
SET // VKE auf 1 setzen
S [AR1,P#0.0] // zum Beipiel DBX1.3 für Bahn 1
M001 // bereichsübergreifende Indirekte Adressierung

Schönen Gruss
 
guten morgen alle zusammen,

neue woche neues glück, inzwischen fange ich an zu verzweifeln, aber es muß doch zum laufen zu bringen sein.

ich füge eine grafik bei, wie mein derzeitiger stand ist.

ich übergebe an in meinen FC nun folgende any-variable: DB21.DBX1.3
er soll in den DB21.DBX1.3 eine feste "1" schreiben.

eine "1" schreibt er aber immer in DBX2.0

ich hoffe, ihr greift mit noch mal unter die arme.

vielen dank
frank
 

Anhänge

  • pointer.JPG
    pointer.JPG
    187,3 KB · Aufrufe: 21
ach noch was ....

beim status füge mal eine Spalte DB hinzu ... dann kannste direkt sehen welcher DB offen ist

gruß christian
 
hallo christian

von aussen füge ich db21.dbx1.3 hinzu, schreibe es in eine IN-Variable, die als any deklariert ist.

in den richtigen db schreibe ich, der db 21 ist offen, aber ich schreibe nicht an die richtige stelle, sprich dbx1.3 sondern in dbx2.0, und das kann ich nicht verstehen ...

gruss
frank
 
Zuviel Werbung?
-> Hier kostenlos registrieren
mach es so ...

U #start
SPBN m000

L P##adresse // zum Beipiel DBX1.3 für Bahn 1
LAR1 // Lade Adreßregister 1 mit Inhalt von AKKU

L W [AR1,P#4.0]
T #dbnummer

AUF DB [#dbnummer]

L D [AR1,P#6.0]
LAR1


SET
S [AR1,P#0.0]

m000: NOP 0

Gruß christian
 
ich versteh nur noch nicht, wieso Du das mit nem Pointer machen möchtest ?

Geht doch anders viel einfacher oder hast Du noch mehrere Bits die Du von deinem Baustein ansprichst ?
 
Zuviel Werbung?
-> Hier kostenlos registrieren
christian,

ich möchte den FC nachher 7mal aufrufen und jeweils in den dbx1.3, dbx3.3, dbx5.3 bis dbx13.3 bei bedarf eine fest "1" schreiben,

das angehängte bild ist das ergebnis deines scriptes, leider klappt es auch nicht richtig.


daniel,
wenn ich dein script versuche schreibe ich in dbx11.0 eine feste "1"

gruß frank
 

Anhänge

  • pointer1.JPG
    pointer1.JPG
    169,7 KB · Aufrufe: 11
Zurück
Oben