-> Hier kostenlos registrieren
Hallo zusammen,
ich benötige dringend Hilfe. Ich bin leider noch unerfahren was das Programmieren angeht und mit AWL hatte ich sogut wie keine Berührungspunkte und bitte dacher um Verständnis.
Ich habe auch die Suchfunktion mehrmals genutz, wurde zum Teil auch fündig, jedoch durch Abweichungen im Code von anderen wurde ich nur noch verwirrter. Daher ein neuer Beitrag zu einem bekannten Thema.
Jetzt zu meinem Problem, ich habe ein S5 Programm nach S7 konvertiert. Beim Vergleichen der Codes wird die Anweisung B bei S7 anders erzeugt.
Jedoch kann ich nicht nachvollziehen ob der neue Code so funktioniert. Habe mit indirekter Adressierung so meine Probleme.
S5 FC126
und hier die Konvertierung nach S7
Kann es so funktionieren oder muss man die indirekte Adressierung anpassen.
Kann mir da vielleicht jemand helfen?
Schöne Grüße
M2
ich benötige dringend Hilfe. Ich bin leider noch unerfahren was das Programmieren angeht und mit AWL hatte ich sogut wie keine Berührungspunkte und bitte dacher um Verständnis.
Ich habe auch die Suchfunktion mehrmals genutz, wurde zum Teil auch fündig, jedoch durch Abweichungen im Code von anderen wurde ich nur noch verwirrter. Daher ein neuer Beitrag zu einem bekannten Thema.
Jetzt zu meinem Problem, ich habe ein S5 Programm nach S7 konvertiert. Beim Vergleichen der Codes wird die Anweisung B bei S7 anders erzeugt.
Jedoch kann ich nicht nachvollziehen ob der neue Code so funktioniert. Habe mit indirekter Adressierung so meine Probleme.
S5 FC126
Code:
NAME: ANZAUSW
BEZ : DBUE B
BEZ : DBME B
BEZ : DBGW B
BEZ : ZEI1 T
BEZ : ZEI2 T
BEZ : FLME EBI
UN =FLME ;MESSTELLEN NICHT MANUELL
SPB =M001 ;WEITERGETASTET DANN SPRUNG
;SONST
B =DBUE ;BEARBEITE UEBERGEORDNETEN DB
L DW 2 ;NR DER ANGEWAEHLTEN MESSTELLE
L KF +19 ;ADRESSBERECHNUNG DES ENTSPRECH.
+F ;DATENWORTES
T DW 10 ;ABLEGEN ZUR IND.ADRESSIERUNG
B DW 10 ;ENTSPR. MESSTELLE LADEN UND IM
L DW 0 ;DW1 DES DBME ABLEGEN
B =DBME
T DW 1
SPA =M002 ;ABS.SPRUNG ZUR GRENZWERT AUSWAHL
M001: O =ZEI2 ;ZEIT FUER AUTOM.ANZEIGEN-
O =ZEI1 ;ERNEUERUNG LAEUFT?
SPB =M003 ;DANN ENDE
B =DBUE ;SONST AUSWAHL ZUR NEUEN AUTOMAT.
L DW 2 ;ANZEIGE DER GEFAEHRDETSTEN MESS-
L KF +19 ;STELLE
+F ;ADRESSBERECHNUNG
T DW 10
B DW 10
L DW 0 ;ENTSPR.MESSTELLE LADEN UND IM
B =DBME ;DW1 DES DBME ABLEGEN
T DW 1
M002: B =DBUE ;ZUR AUSGEWAEHLTEN MESSTELLE
L DW 2 ;DEN ENSTRECHENDEN GRENZWERT
L KF +49 ;UNTER DER BERECHNETEN ADRESSE
+F ;ENTNEHMEN UND IM DW1 DES DBGW
T DW 10 ;ABLEGEN
B DW 10
L DW 0
B =DBGW
T DW 1
M003:
BE
und hier die Konvertierung nach S7
Code:
UN #FLME // MESSTELLEN NICHT MANUELL
SPB M001 // WEITERGETASTET DANN SPRUNG
//; // SONST
AUF #DBUE // BEARBEITE UEBERGEORDNETEN DB
L %DBW4 // NR DER ANGEWAEHLTEN MESSTELLE
L 19 // ADRESSBERECHNUNG DES ENTSPRECH.
+I // DATENWORTES
T %DBW20 // ABLEGEN ZUR IND.ADRESSIERUNG
// ENTSPR. MESSTELLE LADEN UND IM
T #conv_akku1
L STW
T #conv_stw
L %DBB21
SLW 4
LAR1
L #conv_stw
T STW
L #conv_akku1
L DBW [ AR1 , P#0.0 ] // DW1 DES DBME ABLEGEN
AUF #DBME
T %DBW2
SPA M002 // ABS.SPRUNG ZUR GRENZWERT AUSWAHL
//;
M001: O #ZEI2 // ZEIT FUER AUTOM.ANZEIGEN-
O #ZEI1 // ERNEUERUNG LAEUFT?
SPB M003 // DANN ENDE
AUF #DBUE // SONST AUSWAHL ZUR NEUEN AUTOMAT.
L %DBW4 // ANZEIGE DER GEFAEHRDETSTEN MESS-
L 19 // STELLE
+I // ADRESSBERECHNUNG
T %DBW20
T #conv_akku1
L STW
T #conv_stw
L %DBB21
SLW 4
LAR1
L #conv_stw
T STW
L #conv_akku1
L DBW [ AR1 , P#0.0 ] // ENTSPR.MESSTELLE LADEN UND IM
AUF #DBME // DW2 DES DBME ABLEGEN
T %DBW2
//;
M002: NOP 0
AUF #DBUE // ZUR AUSGEWAEHLTEN MESSTELLE
L %DBW4 // DEN ENSTRECHENDEN GRENZWERT
L 49 // UNTER DER BERECHNETEN ADRESSE
+I // ENTNEHMEN UND IM DW1 DES DBGW
T %DBW20 // ABLEGEN
T #conv_akku1
L STW
T #conv_stw
L %DBB21
SLW 4
LAR1
L #conv_stw
T STW
L #conv_akku1
L DBW [ AR1 , P#0.0 ]
AUF #DBGW
T %DBW2
//;
M003: NOP 0
Kann es so funktionieren oder muss man die indirekte Adressierung anpassen.
Kann mir da vielleicht jemand helfen?
Schöne Grüße
M2