Problem mit Pointer

Mathias

Level-1
Beiträge
51
Reaktionspunkte
0
Zuviel Werbung?
-> Hier kostenlos registrieren
Hallo zusammen

Habe bisher noch nichts mit Pointern zu tun gehabt. Jetzt muss ich Daten aus dem DB 30 holen und zwar der sind die Adressen bereits aneinander gereiht. habe folgenden Code zusammen gestiefelt aber das funktioniert nicht wirklich. Kann mir jemand helfen?

Gruäss Mathias


 

Anhänge

  • Pointeraufruf.txt
    635 Bytes · Aufrufe: 27
Code:
*
      U     "HM_Verschraubung_ok"                 //Merker
      SPBN  c001
      AUF   "Schraubreihe- Achsen"              // DB30
      L     "Schraubreihe- Achsen".Last_Point   //DB30.dbw218
      SLD   3
      LAR1  
      L     DBW [AR1,P#0.0]   //Pointer auf DB30.DBW... 
      T     "Schrittwert Aufruf Punkt"  //MW in der der Inhalt von DB30.DBW... geschrieben werden soll
      SET   
      L     "Schraubreihe- Achsen".Last_Point //DB30.dbw218
      L     2
      +I    
      T     "Schraubreihe- Achsen".Last_Point //DB30.dbw218
      R     "HM_Verschraubung_ok"  //Merker
      BEA   
c001: NOP   0

...damit nicht alle die txt runterladen müssen...

das sollte so funktionieren - vielleicht wäre eine fehlerbeschreibung über "das geht nicht" hinaus sinnvoll!

was passiert bzw. was nicht???
 
Ich bekommen keinen Wert zurück vom DB. Anfangswert vom Pointer gebe ich im DB30.dbw218 vor mit Anfangswert 0, danach werde immer 2 aufaddiert und ein (DB30.dbw2, DB30.dbw4 usw.) aber ich bekomme keine Werte zurück aus den DB Feldern. Der DB ist allerdings mit Daten gefüttert.
 
Hast du den Anfangswert für deinen Pointer auch zugewiesen ?

bei startwert 0 sollte alles gut sein.

das einzige was fehlt, ist der überlaufschutz, also irgendwann ist er beim dbw128 und dann ist ende der fahnenstange.

also da gehört z.b. ein

Code:
*
      L     "Schraubreihe- Achsen".Last_Point //DB30.dbw218
      L     128
      ==I
      SPBN  nonu
      L     0
      T     "Schraubreihe- Achsen".Last_Point 
nonu: NOP   0
rein
 
Zuletzt bearbeitet:
Zuviel Werbung?
-> Hier kostenlos registrieren
Ich bekommen keinen Wert zurück vom DB. Anfangswert vom Pointer gebe ich im DB30.dbw218 vor mit Anfangswert 0, danach werde immer 2 aufaddiert und ein (DB30.dbw2, DB30.dbw4 usw.) aber ich bekomme keine Werte zurück aus den DB Feldern. Der DB ist allerdings mit Daten gefüttert.

wohin zurück :confused:
 
"Schrittwert Aufruf Punkt" ist ein Merkerwort, in dem der jeweilige Wert aus der aktuellen DB Adresse abgelegt wird. "Und hier wird momentan gar ncihts geschrieben".

Das mit dem Überlauf ist momentan noch kein Problem, da ich den Merker 30.0 von Hand über die VAT bediene. Für den automatischen Betrieb, wird das sicher ein Thema.
 
Das war genau das Problem :) super Merci! Ich hatte von einem veralteten Codeteil im OB1 den Wert immer auf 0 geschrieben.

Merci, Danke euch 2

Gruäss Mathias
 
Zurück
Oben