FB33 Teach Value Store Sort Dependent With Copy Function
FB33 Teach Value Store Sort Dependent With Copy Function
FB33 Teach Value Store Sort Dependent With Copy Function
FB33 - <offline>
"Wert+/- teach Sorte+Copy" Teach value store sort dependent with copy function
Name: TestFB Family: Param
Author: Delatour Version: 0.1
Block version: 2
Time stamp Code: 09/27/2011 03:55:42 PM
Interface: 03/10/2005 10:56:41 AM
Lengths (block/logic/data): 01196 00898 00002
Seite von
SIMATIC
Block: FB33
L #Sort_Number
L 99
>I // Sorte Nr zu hoch --> 99
JC M011
L #Sort_Number
L 1
<I // Sorte Nr zu niedrig --> 1
JC M011
L #Sort_Number
M011: NOP 0
L 1
-I
SLW 4
LAR1 // Adressen register für Sorte NR
A #Take_over_Sort
FP #HM_FP_Sortenber
= #FP_Sortenbernahme
//
AN #FP_Sortenbernahme
AN #FP_Transfer
JC M021
L DIW [AR1,P#42.0]
T #Actual_Dez
T #New_Value
M021: NOP 0
AN #Release_Adjustment
JC M072
//
A #Plus
FP #HM_FP_Plus
= #FP_Plus
A #Plus
FN #HM_FN_Plus
= #FN_Plus
A #Minus
FP #HM_FP_Minus
= #FP_Minus
A #Minus
FN #HM_FN_Minus
= #FN_Minus
A #Cycle_10Hz
FP #HM_FP_10Hz
= #FP_10Hz
A #Take_over_value
FN #HM_FN_Wert_Ueb
= #FN_Wert_Uebern
Seite von
SIMATIC
O #Plus
O #Minus
JC M041
L 0
T #Zeitzaehler
JU M042
M041: NOP 0
AN #FP_10Hz
JC M042
L #Zeitzaehler
L 1
+I
T #Zeitzaehler
M042: NOP 0
L #Zeitzaehler
L 5
>I
A #FP_10Hz
= #Zaehlen_10Hz
//
L #Zeitzaehler
L 50
>I
= #Zaehlen_Zyklus
L #New_Value
T #Actual_Dez
// Max Grenze prüfen
L #Max_Limit
<I
JC M151
T #Actual_Dez
M151: NOP 0
// Min Grenze prüfen
L #Actual_Dez
L #Min_Limit
>I
JC M161
T #Actual_Dez
M161: NOP 0
NOP 0
Network: 6 Hochzaehlen
ON #Plus
JC M051
AN #FP_Plus
AN #Zaehlen_10Hz
JC M051
L #Actual_Dez
L #Inkrement
AN #Zaehlen_Zyklus
JC M053
L #Actual_Dez
L 10
M053: +I
T #Actual_Dez
L #Max_Limit
<I
JC M051
T #Actual_Dez
M051: NOP 0
Seite von
SIMATIC
Network: 7 Runterzaehlen
ON #Minus
JC M061
AN #FP_Minus
AN #Zaehlen_10Hz
JC M061
L #Actual_Dez
L #Inkrement
AN #Zaehlen_Zyklus
JC M063
L #Actual_Dez
L 10
M063: -I
T #Actual_Dez
L #Min_Limit
>I
JC M061
T #Actual_Dez
M061: NOP 0
M072: NOP 0
L #Actual_Dez
L #Aktuel_KF_alt
==I
JC M081
L #Actual_Dez
T DIW [AR1,P#42.0]
L 0
T #Zeitbasis
L #Actual_Dez
T #Aktuel_KF_alt
T #Zeitwert
M083: L 999
<=I
JC M082
L #Zeitbasis
L W#16#1000
+I
T #Zeitbasis
L #Zeitwert
L 10
/I
T #Zeitwert
JU M083
M082: NOP 0
L #Zeitwert
ITB
L #Zeitbasis
+I
T #Actual_Timer
M081: NOP 0
A #Transf_A_B
FP #HM_FP_Transfer
= #FP_Transfer
//
AN #FP_Transfer
JC M091
// AR1 Rechnen
L #Quelle_A
L 99
>I // Sorte Nr zu hoch --> 99
JC M092
Seite von
SIMATIC
L #Quelle_A
L 1
<I // Sorte Nr zu nidrieg --> 1
JC M092
L #Quelle_A
M092: NOP 0
L 1
-I
SLW 4
LAR1 // Adressen register für Sorte NR
L DIW [AR1,P#42.0]
T #Zwischenspeicher
// AR1 Rechnen
L #Ziel_B
L 99
>I // Sorte Nr zu hoch --> 99
JC M093
L #Ziel_B
L 1
<I // Sorte Nr zu nidrieg --> 1
JC M093
L #Ziel_B
M093: NOP 0
L 1
-I
SLW 4
LAR1 // Adressen register für Sorte NR
// Wert von A nach B transferieren
L #Zwischenspeicher
T DIW [AR1,P#42.0]
M091: NOP 0
L #Quelle_A
T #Quelle_A_alt
// AR1 Rechnen
L #Quelle_A
L 99
>I // Sorte Nr zu hoch --> 99
JC M102
L #Quelle_A
L 1
<I // Sorte Nr zu nidrieg --> 1
JC M102
L #Quelle_A
M102: T #Quelle_A
L 1
-I
SLW 4
LAR1 // Adressen register für Sorte NR
// Wert von A nach Anzeige
L DIW [AR1,P#42.0]
T #Value_fuer_A
L #Ziel_B
T #Ziel_B_alt
// AR1 Rechnen
L #Ziel_B
L 99
>I // Sorte Nr zu hoch --> 99
JC M112
L #Ziel_B
L 1
<I // Sorte Nr zu nidrieg --> 1
JC M112
L #Ziel_B
M112: T #Ziel_B
L 1
-I
SLW 4
LAR1 // Adressen register für Sorte NR
// Wert von B nach Anzeige
L DIW [AR1,P#42.0]
Seite von
SIMATIC
T #Value_fuer_B
L #Soll_S
T #Soll_S_alt
// AR1 Rechnen
L #Soll_S
L 99
>I // Sorte Nr zu hoch --> 99
JC M132
L #Soll_S
L 1
<I // Sorte Nr zu nidrieg --> 1
JC M132
L #Soll_S
M132: T #Soll_S
L 1
-I
SLW 4
LAR1 // Adressen register für Sorte NR
// Wert von S nach Anzeige
L DIW [AR1,P#42.0]
T #Value_fuer_S
L #Actual_Dez
// Max Grenze prüfen
L #Max_Limit
<I
JC M141
T #Actual_Dez
M141: NOP 0
// Min Grenze prüfen
L #Actual_Dez
L #Min_Limit
>I
JC M142
T #Actual_Dez
M142: NOP 0
Seite von