Texte im Programm eintragen und in einen string in einen db schreiben

nonguru

Level-1
Beiträge
57
Reaktionspunkte
4
Zuviel Werbung?
-> Hier kostenlos registrieren
Hallo Zusammen,
hab mal wieder keine Ahnung wie ich folgendes lösen kann.

Habe eine S7 300 (VIPA) und möchte nun bei bestimmten bedingen verschiedene texte die ich im AWL Code hinterlege in einen DB an eine bestimmte Stelle Übertragen ihr wist schon das berühmte "Hallo Welt" wie geht das aber achtung die texte haben unterschiedliche längen was ist zu beachten? Bitte helft mir
 
Hallo Zusammen,
hab mal wieder keine Ahnung wie ich folgendes lösen kann.

Habe eine S7 300 (VIPA) und möchte nun bei bestimmten bedingen verschiedene texte die ich im AWL Code hinterlege in einen DB an eine bestimmte Stelle Übertragen ihr wist schon das berühmte "Hallo Welt" wie geht das aber achtung die texte haben unterschiedliche längen was ist zu beachten? Bitte helft mir


Du schreibst deine Texte in einen Quell DB. Je nach Bedingung kopierst du dann mit SFC20 den Quelltext in den Ziel DB. Übertragen tust du immer die Maximallänge, dann passt´s.

pt
 
Sorry - Korrektur, da steht nicht viel ...

Also Beispiel :
Code:
      CALL  SFC   20
       SRCBLK :=P#DB4.DBX40.0 BYTE 10
       RET_VAL:=MW200
       DSTBLK :=P#DB10.DBX40.0 BYTE 10

Der SFC20 kopiert von DB4 Byte 40 einen Datensatz von 10 Byte Länge nach DB10 zufällig an die gleiche Stelle. RET_VAL gibt zurück, ob es geklappt hat oder ein Fehler vorlag ...

Spiel mal damit herum ...
 
Zuviel Werbung?
-> Hier kostenlos registrieren
Habe eine S7 300 (VIPA) und möchte nun bei bestimmten bedingen verschiedene texte die ich im AWL Code hinterlege in einen DB an eine bestimmte Stelle Übertragen ihr wist schon das berühmte "Hallo Welt" wie geht das aber achtung die texte haben unterschiedliche längen was ist zu beachten?

Du kannst folgendes machen:

Code:
// Text 1
 
      UN    M     10.0
      SPB   M01
      L     10                          // Maximale Länge String
      T     DB10.DBB    0
      L     7                           // Aktuelle Länge String
      T     DB10.DBB    1
      L     'ABCD'
      T     DB10.DBD    2
      L     'EF'
      T     DB10.DBW    6
      L     'G'
      T     DB10.DBB    8
M01:  NOP   0
 
// Text 2
 
      UN    M     10.1
      SPB   M02
      L     10                          // Maximale Länge String
      T     DB10.DBB    0
      L     9                           // Aktuelle Länge String
      T     DB10.DBB    1
      L     '1234'
      T     DB10.DBD    2
      L     '56'
      T     DB10.DBW    6
      L     '78'
      T     DB10.DBW    8
      L     '9'
      T     DB10.DBB   10
M02:  NOP   0

Gruß Kai
 

Anhänge

  • OB1.pdf
    3,3 KB · Aufrufe: 51
  • DB10.pdf
    2,5 KB · Aufrufe: 58
Zurück
Oben