Also ich hab mich an die Sache nochmals rangesetzt und jetzt sollte es eigendlich funktionieren.
Hier erstmal der Inhalt die FC 2:
Code:
Netzwerk1 - Schritt 1 - Steuerleitung 1 wird aktiviert
[code]
U "TS1"
= "S-St1" //wenn VKE 1 dann S-St1 aktiv
SPBNB _001
L 0
T "MD0" //MD0 wird 0 gesetzt - "RESET" von MD0
_001: NOP 0
Netzwerk 2 - Schritt 2 - Steuerleitung 1 weiterhin aktiv, lesen und speichern
Code:
U "TS2"
= "S-St1"
SPBNB _002
L EB 125
OW
T MW 2
_002: NOP 0
Netzwerk 3 - Schritt 3 - Steuerleitung 2 wird aktiviert
Netzwerk 4 - Schritt 4 - Steuerleitung 2 weiterhin aktiv, lesen und speichern
Code:
U "TS4"
= "S-St2"
SPBNB _003
L EB 125
SLW 4
OW
T MW 2
_003: NOP 0
Netzwerk 5 - Schritt 5 - Steuerleitung 3 wird aktiviert
Netzwerk 6 - Schritt 6 - Steuerleitung 3 weiterhin aktiv, lesen und speichern
Code:
U "TS6"
= "S-St3"
SPBNB _004
L EB 125
SLW 8
OW
T MW 2
_004: NOP 0
Netzwerk 7 - Schritt 7 - Steuerleitung 4 wird aktiviert
Netzwerk 8 - Schritt 8 - Steuerleitung 4 weiterhin aktiv, lesen und speichern
Code:
U "TS8"
= "S-St4"
SPBNB _005
L EB 125
SLW 12
OW
T MW 2
_005: NOP 0
Netzwerk 9 - Schritt 8 - Umrechnung des Ergebnisses
entsprechend der Aufgabenstellung und anlegen an den Analogausgang
Code:
U "TS8"
= "S-St4"
SPBNB _006
L MW 2 //MW2 laden
BTI //von BCD in 16 Bit Ganzzahl
ITD //Ganzzahl 16 Bit zu Ganzzahl 32 Bit
DTR //Ganzzahl 32 Bit zu 32 Bit Gleitkomma
L 3.456000e+000 //Umrechnungs-Faktor laden
*R //Gleitkomma-Muliplikation
RND //Gleitkomma zu Ganzzahl runden
T "UA" //in den Analogausgang laden
_006: NOP 0
[/code]Das Programm läuft in 8 Zyklen ab. Es gibt immer noch die 4 Steuerleitungen (S-Stx). Diese sind jeweils für 2 Zyklen aktiviert. Im 1. Zyklus wird die Steuerleitung aktiviert und im 2. Zyklus wird dann bei immernoch aktivierter Steuerleitung der Wert eingelesen. 2 Zyklen pro Steuerleitung mal 4 Steuerleitungen, macht 8 Zyklen. Die "TSx" Werte sind Zählerstände. Also wenn der in einem anderen FB umgesetzte Zähler den Wert 8 hat, ist TS8 gleich 1 und die anderen TS Variablen sind 0. Im ersten Zyklus ist TS1 1 und die anderen TS Variablen sind 0.