FC100的這些咱理解啊?我想是做PASSWORD用的,
SET
SAVE // BIE fest auf 1 !!!
OPN #DB_NO // Kanal-Datenbaustein 鰂fnen
TAR1 DBD 0 // Adressregister 1 retten
L DBD 8 // (CH_ADR) Kanalanfangsadresse
LAR1 // in das Adressregister 1
L PID [AR1,P#8.0] // Datenfehler, Bedienfehler und Koordinierungsbyte
T DBD 38
A DBX 41.6 // FM-NEUST (E_BIT0_6)
AN DBX 41.5 // FM-NEUSTQ (E_BIT0_5)
= DBX 26.6 // NEUSTQ (A_BIT0_6)
JCN OK // Kein Neustart
L DW#16#40000000 // Koordinierungsbyte schreiben
T PQD [AR1,P#12.0] // und Steuerbits l鰏chen
L B#16#0
T DBB 4 // (FP) Flankenmerker l鰏chen
JU END // und Baustein verlassen
OK: L PID [AR1,P#0.0] // (ACT_LOAD) Loadwert in die Instanz
T DBD 30
L PID [AR1,P#4.0] // (ACT_CNTV) Zaehlstand in die Instanz
T DBD 34
L PID [AR1,P#12.0] // Reserve und Statusbytes
T DBD 42
L DBB 12 // (U_D_LGTH) 16 : S7-300, 32 : S7-400
L B#16#20
<I // Wenn kleiner : Keine Vergleichswerte lesen
JC L1
L PID [AR1,P#16.0] // Aktueller Vergleichswert 1
T DBD 46 // (ACT_CMP1)
L PID [AR1,P#20.0] // Aktueller Vergleichswert 2
T DBD 50 // (ACT_CMP2)
// ***********************************************************************
// FB-Steuer-Parameter Bitweise in den Instanz-Datenbaustein 黚ertragen
// ***********************************************************************
// Z鋒ler mit Loadwert laden
L1: A #L_DIRECT // FB-Parameter einlesen
FP DBX 4.0 // 1. Ansto?
S DBX 29.0 // (A_BIT3_0) Steuernsignal setzen
A DBX 45.0 // (E_BIT3_0) R點(diǎn)kmeldung erhalten
R DBX 29.0 // (A_BIT3_0) Steuersignal l鰏chen
AN DBX 45.0 // (E_BIT3_0) Bearbeitung fertig
AN DBX 29.0 // (A_BIT3_0)
R #L_DIRECT // FB-Parameter l鰏chen
R DBX 4.0 // Merker 1. Ansto?l鰏chen
// Loadwert ins Loadregister
A #L_PREPAR // FB-Parameter einlesen
FP DBX 4.1 // 1. Ansto?
S DBX 29.1 // (A_BIT3_1) Steuernsignal setzen
A DBX 45.1 // (E_BIT3_1) R點(diǎn)kmeldung erhalten
R DBX 29.1 // (A_BIT3_1) Steuersignal l鰏chen
AN DBX 45.1 // (E_BIT3_1) Bearbeitung fertig
AN DBX 29.1 // (A_BIT3_1)
R #L_PREPAR // FB-Parameter l鰏chen
R DBX 4.1 // Merker 1. Ansto?l鰏chen
// Vergleichswert 1 黚ernehmen
A #T_CMP_V1 // FB-Parameter einlesen
FP DBX 4.2 // 1. Ansto?
S DBX 29.2 // (A_BIT3_2) Steuernsignal setzen
A DBX 45.2 // (E_BIT3_2) R點(diǎn)kmeldung erhalten
R DBX 29.2 // (A_BIT3_2) Steuersignal l鰏chen
AN DBX 45.2 // (E_BIT3_2) Bearbeitung fertig
AN DBX 29.2 // (A_BIT3_2)
R #T_CMP_V1 // FB-Parameter l鰏chen
R DBX 4.2 // Merker 1. Ansto?l鰏chen
// Vergleichswert 2 黚ernehmen
A #T_CMP_V2 // FB-Parameter einlesen
FP DBX 4.3 // 1. Ansto?
S DBX 29.3 // (A_BIT3_3) Steuernsignal setzen
A DBX 45.3 // (E_BIT3_3) R點(diǎn)kmeldung erhalten
R DBX 29.3 // (A_BIT3_3) Steuersignal l鰏chen
AN DBX 45.3 // (E_BIT3_3) Bearbeitung fertig
AN DBX 29.3 // (A_BIT3_3)
R #T_CMP_V2 // FB-Parameter l鰏chen
R DBX 4.3 // Merker 1. Ansto?l鰏chen
// Synchronisationsbit r點(diǎn)ksetzen
A #RES_SYNC // FB-Parameter einlesen
FP DBX 4.4 // 1. Ansto?
S DBX 29.4 // (A_BIT3_4) Steuernsignal setzen
A DBX 45.4 // (E_BIT3_4) R點(diǎn)kmeldung erhalten
R DBX 29.4 // (A_BIT3_4) Steuersignal l鰏chen
AN DBX 45.4 // (E_BIT3_4) Bearbeitung fertig
AN DBX 29.4 // (A_BIT3_4)
R #RES_SYNC // FB-Parameter l鰏chen
R DBX 4.4 // Merker 1. Ansto?l鰏chen
// Nulldurchgangsbit r點(diǎn)ksetzen
A #RES_ZERO // FB-Parameter einlesen
FP DBX 4.5 // 1. Ansto?
S DBX 29.5 // (A_BIT3_5) Steuernsignal setzen
A DBX 45.5 // (E_BIT3_5) R點(diǎn)kmeldung erhalten
R DBX 29.5 // (A_BIT3_5) Steuersignal l鰏chen
AN DBX 45.5 // (E_BIT3_5) Bearbeitung fertig
AN DBX 29.5 // (A_BIT3_5)
R #RES_ZERO // FB-Parameter l鰏chen
R DBX 4.5 // Merker 1. Ansto?l鰏chen
// Tor Steuerung
A #GATE_STP // Torstopp
= DBX 27.2 // (A_BIT1_2) Steuern Z鋒ler
A #SW_GATE // SW-Tor Start/Stopp
= DBX 27.3 // (A_BIT1_3) Steuern Z鋒ler
// Bedienfehler Bearbeitung
A DBX 41.3 // (E_BIT0_3) Status Bedienfehler
= #OT_ERR // am FB-Parameter mitteilen
A #OT_ERR_A // Fehler quittieren
= DBX 26.3 // (A_BIT0_3)
// ************************************************************************
// Der Load- und die Vergleichswerte zur FM transferieren
// ************************************************************************
L DBD 14 // (LOAD_VAL) Loadwert in Steuerschnittstelle
T PQD [AR1,P#0.0]
L DBD 18 // (CMP_V1) Vergleichswert 1 in Steuerschnittstelle
T PQD [AR1,P#4.0]
L DBD 22 // (CMP_V2) Vergleichswert 2 in Steuerschnittstelle
T PQD [AR1,P#8.0]
// ************************************************************************
// Das Koordinierungs- und die Steuerbytes zur FM transferieren
// ************************************************************************
L DBD 26 // Doppelwort mit den Koord.- und Steuerbytes
T PQD [AR1,P#12.0]
END: LAR1 DBD 0 // Adressregister 1 laden
BE