Mit Adressregister von Daten von DBx in einen DBy kopieren

iga-graz

Level-1
Beiträge
46
Reaktionspunkte
0
Zuviel Werbung?
-> Hier kostenlos registrieren
Hallo ich habe folgende Problemstellung,
ich möchte vom DB "AR_Send_Datenaufber" ein Wort von Position 6.0 in den DB "dbARSENDout" in die Position 16.0 kopieren
wie kann ich das realisieren, mit dem angehängten Code geht es so leider nicht, da durch den 2. AUF DB "dbARSENDout" anscheinend das AR1 überschrieben wird.

Kann mir bitte jemand bei diesem Problem helfen.

Vielen Dank im voraus

chris

PHP:
      AUF   "AR_Send_Datenaufber"
      LAR1  P#DBX 6.0  
      AUF   "dbARSENDout"
      LAR2  P#DBX 16.0


      L     DBW [AR1,P#0.0]
      T     DBW [AR2,P#0.0]
 
Zuletzt bearbeitet:
Dein Problem liegt im Aufruf der Datenbausteine. Es kann immer nur ein Datenbaustein zur Zeit geöffnet sein. Wenn Du zwei Datenbausteine hintereinander öffnest, ist immer nur der zuletzt geöffnete Datenbaustein offen, der andere ist wieder geschlossen.

Folgender Programmcode sollte also funktionieren:

Code:
      [FONT=Courier New][COLOR=#0000cc]LAR1  P[/COLOR][/FONT][FONT=Courier New][COLOR=#ff9900]#DBX 6.0  [/COLOR][/FONT]
[FONT=Courier New][COLOR=#0000cc]      LAR2  P[/COLOR][/FONT][FONT=Courier New][COLOR=#ff9900]#DBX 16.0[/COLOR][/FONT]
 
[COLOR=#0000cc]      AUF   [/COLOR][FONT=Courier New][COLOR=#cc0000]"AR_Send_Datenaufber"[/COLOR][/FONT]
[FONT=Courier New][COLOR=#0000cc]      L     DBW [/COLOR][COLOR=#006600][[/COLOR][COLOR=#0000cc]AR1[/COLOR][COLOR=#006600],[/COLOR][COLOR=#0000cc]P[/COLOR][/FONT][FONT=Courier New][COLOR=#ff9900]#0.0][/COLOR][/FONT]
 
[FONT=Courier New][COLOR=#0000cc]      AUF   [FONT=Courier New][COLOR=#cc0000]"dbARSENDout"[/COLOR][/FONT]
[/COLOR][/FONT][FONT=Courier New][COLOR=#0000cc]      T     DBW [/COLOR][COLOR=#006600][[/COLOR][COLOR=#0000cc]AR2[/COLOR][COLOR=#006600],[/COLOR][COLOR=#0000cc]P[/COLOR][/FONT][COLOR=#ff9900][FONT=Courier New]#0.0]  [/FONT][/COLOR]

Gruß Kai
 
Kopieren

Hallo,

wenn du viele solche Aktionen nacheinander hast kannst du auch mit den DB-Registern jonglieren. Inwiefern das sauber ist muss jeder für sich entscheiden.

Code:
[FONT=Arial]    [COLOR=#0000cc]LAR1  P[/COLOR][COLOR=#ff9900]#DBX 6.0  [/COLOR][/FONT]
[FONT=Arial][COLOR=#0000cc]    LAR2  P[/COLOR][COLOR=#ff9900]#DBX 16.0[/COLOR][/FONT]
 
[FONT=Arial][COLOR=#0000cc]   AUF   [/COLOR][COLOR=#cc0000]DB x[/COLOR][/FONT]
[FONT=Arial][COLOR=#0000cc]   AUF   [/COLOR][COLOR=#cc0000]DI y[/COLOR][/FONT]
 
[FONT=Arial][COLOR=#0000cc]   L     DBW [/COLOR][COLOR=#006600][[/COLOR][COLOR=#0000cc]AR1[/COLOR][COLOR=#006600],[/COLOR][COLOR=#0000cc]P[/COLOR][COLOR=#ff9900]#0.0][/COLOR] [/FONT]
[FONT=Arial][COLOR=#0000cc]   T     DIW   [/COLOR][/FONT][FONT=Arial][COLOR=#006600][[/COLOR][COLOR=#0000cc]AR2[/COLOR][COLOR=#006600],[/COLOR][COLOR=#0000cc]P[/COLOR][COLOR=#ff9900]#0.0]  [/COLOR][/FONT]

André
 
Zuletzt bearbeitet:
Zuviel Werbung?
-> Hier kostenlos registrieren
Hallo zusammen, bitte noch mal um eine kurze Erklärung.

Ich habs jetzt mit dem AUF DB und AUF DI versucht, aber AUF DI ist ja nur für das Aufschlagen eines Instanzdatenbausteines. Ich möchte aber Daten von einem in einen anderen GlobalDB kopieren.

Ich brauch diese Funktion deshalb, da ich mir aus einem bestehenden Datensatz einen neuen mit verschobenen Feldern für die Übertragung an WinCC mittels AR_SEND zusammenbasteln muss.

DB54 ist der DB in dem der für AR_SEND fertige Datensatz stehen muss.

Also mit AUF DI 54 funktionierts bei mir nicht.

Vielen Dank für eure Unterstützung, anbei der Code.

lg

chris

PHP:
      LAR1  P#DBX 0.0
      LAR2  P#DBX 2.0

      AUF   "AR_Send_Datenaufber"
      AUF   DI    54

      L     DBB [AR1,P#0.0]
      T     DIB [AR2,P#0.0]
      L     DBB [AR1,P#1.0]
      T     DIB [AR2,P#1.0]
      L     DBB [AR1,P#2.0]
      T     DIB [AR2,P#2.0]
      L     DBB [AR1,P#3.0]
      T     DIB [AR2,P#3.0]
      L     DBB [AR1,P#4.0]
      T     DIB [AR2,P#4.0]
      L     DBB [AR1,P#5.0]
      T     DIB [AR2,P#5.0]

      LAR1  P#DBX 6.0
      LAR2  P#DBX 16.0

      AUF   "AR_Send_Datenaufber"
      AUF   DI    54

      L     DBB [AR1,P#0.0]
      T     DIB [AR2,P#0.0]

      LAR1  P#DBX 8.0
      LAR2  P#DBX 22.0

      AUF   "AR_Send_Datenaufber"
      AUF   DI    54

      L     DBB [AR1,P#0.0]
      T     DIB [AR2,P#0.0]
 
sowas von zotos.. das macht mir Angst! Hat sich irgendwas geändert von dem ich noch nichts weiss? Na dann danke für die Blumen. Keine Mecker von zotos ist ja schon Lob genug.. Aber das? *grübel*

auch Zotos hat mal nen schlechten Tag :):)

ausserdem war es nach 18 Uhr, das heißt die nette Variante von Zotos, das heißt wiederum, dass das gar nichts heißt, weil der nette Zotos auch loben würde wenn er es so meint :D

und es war nur spaß....
 
was geht nicht?

Hallo,

was geht denn nicht? Mit AUF DI kannst du auch nen Global-DB als Instanz-DB öffnen. Was steht in deinen DB-Registern usw? Mach mal nen Screenshot.

André
 
Zuviel Werbung?
-> Hier kostenlos registrieren
hallo, war mein fehler im code.

ich musste in den beiden DBs jeweils auch ein Wort und ein Doppelwort übertragen und ich hatte nur die bytes übertragen und deshalb auch keine Werte im anderen DB gesehen.

Vielen Dank geht alles, ausser natürlich die Adressierung mittels Symbol, oder muss ich da auch noch was beachten?

bg

Chris

PHP:
      LAR1  P#DBX 6.0
      LAR2  P#DBX 16.0

      AUF   "AR_Send_Datenaufber"
      AUF   DI    54

      L    DBW [AR1,P#0.0]  // DBB [AR1,P#0.0] 
      T    DBW [AR2,P#0.0]  // DIB [AR2,P#0.0]

      LAR1  P#DBX 8.0
      LAR2  P#DBX 22.0

      AUF   "AR_Send_Datenaufber"
      AUF   DI    54

      L     DBD [AR1,P#0.0] // DBB [AR1,P#0.0]
      T     DBD [AR2,P#0.0] // DIB [AR2,P#0.0]
 
Zurück
Oben