Upload
tranhanh
View
216
Download
0
Embed Size (px)
Citation preview
Datei: M:\SBlanke_Büro\Büro\01_Word_Texte\Service_S7.odt
Angelegt: 8. Dezember 2000Version/Stand: Donnerstag, 10. Dezember 2009
http://Schmitz-Blanke.de/
Sylvio Blanke
Projekt Service – S7,PID,FBGraph_7, Interbus,Absolutwertgeber,Hauser
Projekt Service_S7Management
Inhaltsverzeichnis
Inhaltsverzeichnis......................................................................................................................2
Kontinuierliches Regeln mit dem SFB41 “CONT_C“.............................................................4
Einleitung.............................................................................................................................................4
Anwendung..........................................................................................................................................4
Beschreibung.......................................................................................................................................4
Sollwertzweig.......................................................................................................................................4
Istwertzweig.........................................................................................................................................4
Regeldifferenzbildung.........................................................................................................................4
PID-Algorithmus.................................................................................................................................5
Handwertverarbeitung.......................................................................................................................5
Stellwertverarbeitung.........................................................................................................................5
Störgrößenaufschaltung.....................................................................................................................5
Initialisierung.......................................................................................................................................5
Fehler-informationen..........................................................................................................................5
Blockschaltbild CONT_C...................................................................................................................6
Eingangs-Parameter...........................................................................................................................7
Ausgangs-Parameter.........................................................................................................................10Vorbelegung Beschreibung.............................................................................................................................10
FB – Programmierung / Auszug aus dem Quellcontainer ...................................................11
Graph_7 ..................................................................................................................................17
Standardaktion..................................................................................................................................17
Ereignisabhängige Aktionen............................................................................................................17
Arbeiten mit Adressregister.....................................................................................................20
Maschinenregister.............................................................................................................................20
Speicher indirekte Adressierung.....................................................................................................21
Registerindirekte Adressierung.......................................................................................................21
Bereichsübergreifende registerindirekte Adressierung.................................................................21
Multi-Instanzmodell................................................................................................................22
Zeiger bei der indirekten Adressierung...................................................................................23
Interbus und die Einstellungen...............................................................................................24
S7 – Programm I Interbus................................................................................................................27
Interbus und Hauser_Steuerung, Einstellungen...................................................................28Beispiel zum Programm..................................................................................................................................30
Interbus und Absolutwertgeber, Einstellungen......................................................................33
M:\SBlanke_Büro\Büro\01_Word_Texte\Service_S7.odt Seite 2 / 34http://Schmitz-Blanke.de/ Stand: 10.12.09
Projekt Service_S7Management
Abbildung 1 Softwarereglerstruktur SFB41.........................................................6
Abbildung 2 Regler als FUP.................................................................................7
Abbildung 3 Regler als FUP..............................................................................10
Abbildung 4 FB1 in FUP ....................................................................................11
Abbildung 5 FB1 in FUP / AWL..........................................................................12
Abbildung 6 FB1 in FUP / Graph_S7..................................................................13
Abbildung 7 FB1 in FUP / Zeit, Zähler, Compare..............................................14
Abbildung 8 Indizierte Bearbeitung Teil 1 von 4..............................................15
Abbildung 9 Indizierte Bearbeitung Teil 2-4....................................................16
Abbildung 10 Graph_S7 Schrittkette................................................................18
Tabelle 1 Graph_S7 Standard...........................................................................17
Tabelle 2 Graph_S7 Aktionen...........................................................................17
Tabelle 3 Maschinenregister............................................................................19
M:\SBlanke_Büro\Büro\01_Word_Texte\Service_S7.odt Seite 3 / 34http://Schmitz-Blanke.de/ Stand: 10.12.09
Projekt Service_S7Management
Kontinuierliches
Regeln mit dem
SFB41 “CONT_C“
Einleitung
Der SFB "CONT_C" dient zumRegeln von technischen Prozessenmit kontinuierlichen Ein- undAusgangsgrößen auf denAutomatisierungssystemenSIMATIC S7. Über dieParametrierung können SieTeilfunktionen des PID-Reglerszu- oder abschalten und damitdiesen an die Regelstreckeanpassen
Anwendung
Den Regler können Sie als PID-Festwertregler einzeln oder auchin mehrschleifigen Regelungen alsKaskaden-, Mischungs- oderVerhältnisregler einsetzen. DieArbeitsweise basiert auf dem PID-Regelalgorithmus desAbtastreglers mit analogemAusgangssignal, gegebenenfallsum eine Impulsformerstufe zurBildung vonpulsbreitenmoduliertenAusgangssignalen für Zwei- oderDreipunktregelungen mitproportionalen Stellgliedernergänzt.
Beschreibung
Neben den Funktionen im Soll-und Istwertzweig realisiert derSFB einen fertigen PID-Regler mitkontinuierlichem Stellgrößen-Ausgang undBeeinflussungsmöglichkeit desStellwertes von Hand.
Es folgt die Beschreibung derTeilfunktionen:
Sollwertzweig
Der Sollwert wird am Eingang SP_INTim Gleitpunktformat eingegeben.
Istwertzweig
Der Istwert kann im Peripherie- undim Gleitpunktformat eingelesenwerden. Die Funktion CRP_IN wandeltden Peripheriewert PV_PER in einGleitpunktformat von -100 .... +100 %nach folgender Vorschrift um:
Die Funktion PV_NORM normiert denAusgang von CRP_IN nach folgenderVorschrift:
PV_FAC ist mit 1 und PV_OFF ist mit 0vorbelegt.
Regeldifferenzbildung
Die Differenz von Soll- und Istwertergibt die Regeldifferenz. ZurUnterdrückung einer kleinenDauerschwingung aufgrund derStellgrößen-Quantisierung (z.B. beieiner Puls-Breitenmodulation mitPULSEGEN) wird die Regeldifferenzüber eine Totzone (DEADBAND)geleitet. Bei DEADB_W = 0 ist dieTotzone ausgeschaltet.
M:\SBlanke_Büro\Büro\01_Word_Texte\Service_S7.odt Seite 4 / 34http://Schmitz-Blanke.de/ Stand: 10.12.09
2764
100*____ PERPVINCPRvonAusgang =
OFFPVFACPVINCPRvonAusgangNORMPVvonAusgang __*)___(___ +=
Projekt Service_S7Management
PID-Algorithmus
Der PID-Algorithmus arbeitet imStellungsalgorithmus. DerProportional-, Integral (INT) undDifferentialanteil (DIF) sindparallel geschaltet und einzeln zu-und abschaltbar. Damit lassensich P-, PI-, PD- und PID-Reglerparametrieren. Aber auch reine I-Regler sind möglich.
Handwertverarbeitung
Es kann zwischen Hand- undAutomatikbetrieb umgeschaltetwerden. Bei Handbetrieb wird dieStellgröße einem Handwertnachgeführt.
Der Integrierer (INT) wird internauf LMN - LMN_P - DISV und derDifferenzierer (DIF) auf 0 gesetztund intern abgeglichen. DasUmschalten in denAutomatikbetrieb ist damitstoßfrei.
Stellwertverarbeitung
Der Stellwert wird mit derFunktion LMNLIMIT aufvorgebbare Werte begrenzt. DasÜberschreiten der Grenzen durchdie Eingangsgröße wird durchMeldebits angezeigt.
Die Funktion LMN_NORM normiertden Ausgang von LMNLIMIT nachfolgender Vorschrift:
LMN_FAC ist mit 1 und LMN_OFFmit 0 vorbelegt.
Der Stellwert steht auch imPeripherieformat zur Verfügung. DieFunktion CRP_OUT wandelt denGleitpunktwert LMN in einenPeripheriewert nach folgenderVorschrift um:
Störgrößenaufschaltung
Am Eingang DISV kann eine Störgrößeadditiv aufgeschaltet werden.
Initialisierung
Der SFB "CONT_C" verfügt über eineInitialisierungsroutine, die durchlaufenwird, wenn der Eingangs-ParameterCOM_RST = TRUE gesetzt ist.
Der Integrierer wird bei derInitialisierung intern auf denInitialisierungswert I_ITVAL gesetzt.Beim Aufruf in einer Weckalarmebenearbeitet er von diesem Wert ausweiter.
Alle anderen Ausgänge werden aufihre Vorbelegungswerte gesetzt.
Fehler-informationen
Das Fehlermeldewort RET_VAL wirdnicht angewendet.
M:\SBlanke_Büro\Büro\01_Word_Texte\Service_S7.odt Seite 5 / 34http://Schmitz-Blanke.de/ Stand: 10.12.09
ODDLMNFACLMNLMNLIMITvonAusgangLMN __*)__( +=
100
27648*_ LMNPERLMN =
Projekt Service_S7Management
Blockschaltbild CONT_C
Abbildung 1 Softwarereglerstruktur SFB41
M:\SBlanke_Büro\Büro\01_Word_Texte\Service_S7.odt Seite 6 / 34http://Schmitz-Blanke.de/ Stand: 10.12.09
Projekt Service_S7Management
Eingangs-Parameter
Die folgende Tabelle enthält dieEingangs-Parameter des SFB 41"CONT_C".
Parameter Datentyp Wertebereich Vorbelegung Beschreibung
Abbildung 2 Regler als FUP
� COM_RST BOOL FALSECOMPLETE RESTARTDer Baustein hat eineInitialisierungsroutine, die bearbeitetwird, wenn der Eingang COM_RSTgesetzt ist.
� MAN_ON BOOL TRUEMANUAL VALUE ON / Handbetrieb einschaltenIst der Eingang"Handbetrieb einschalten" gesetzt, ist derRegelkreis unterbrochen. Als Stellwert wird einHandwert vorgegeben.
� PVPER_ON BOOL FALSEPROCESS VARIABLE PERIPHERY ON / Istwert Peripherie einschaltenSoll der Istwert von der Peripherie eingelesenwerden, so muß der Eingang PV_PER mit derPeripherie verschaltet werden und der Eingang"Istwert Peripherie einschalten" gesetztwerden.
� P_SEL BOOL [TRUE]PROPORTIONAL ACTION ON / P-Anteil einschaltenIm PID-Algorithmus lassen sich die PID-Anteileeinzeln zu- und abschalten. Der P-Anteil isteingeschaltet, wenn der Eingang "P-Anteileinschalten" gesetzt ist.
� I_SEL BOOL [TRUE]INTEGRALACTION ON / I-Anteil einschaltenIm PID-Algorithmus lassen sich die PID-Anteileeinzeln zu- und abschalten. Der I-Anteil isteingeschaltet, wenn der Eingang "I-Anteileinschalten" gesetzt ist.
� INT_HOLD BOOL[FALSE]
INTEGRAL ACTION HOLD / I-Anteil einfrierenDer Ausgang des Integriererskann eingefroren werden. Hierzu muß derEingang "I-Anteil einfrieren" gesetzt werden.
� I_ITL_ON BOOL [FALSE]INITIALIZATION OF THE INTEGRAL ACTION / I-Anteil setzenDer Ausgang des Integrierers kann auf denEingang I_ITLVAL gesetzt werden. Hierzu mußder Eingang "I-Anteil setzen" gesetzt werden.
� D_SEL BOOL [FALSE]DERIVATIVE CTION ON / D-Anteil einschaltenIm PID-Algorithmus lassen sich die PID-Anteileeinzeln zu- und abschalten. Der D-Anteil isteingeschaltet, wenn der Eingang "D-Anteileinschalten" gesetzt ist.
� CYCLE TIME >= 1ms T#1sSAMPLE TIME / Abtastzeit
M:\SBlanke_Büro\Büro\01_Word_Texte\Service_S7.odt Seite 7 / 34http://Schmitz-Blanke.de/ Stand: 10.12.09
Projekt Service_S7Management
Die Zeit zwischen den Bausteinaufrufenmuß konstant sein. Der Eingang"Abtastzeit" gibt die Zeit zwischen denBausteinaufrufen an.
� SP_INT REAL -100.0...100.0
(%)oderphys.Größe 1)0.0
INTERNAL SETPOINT / Interner SollwertDer Eingang "Interner Sollwert" dient zurVorgabe eines Sollwertes.
� PV_IN REAL -100.0...100.0
(%)oderphys.Größe 1)0.0
PROCESS VARIABLE IN / Istwert EingangAm Eingang "IstwertEingang" kann ein Inbetriebsetzungswertparametriert oder ein externer Istwertim Gleitpunktformat verschaltet werden.
� PV_PER WORD W#16#0000PROCESS VARIABLE PERIPHERY / Istwert PeripherieDer Istwert in Peripherieformat wird amEingang "Istwert Peripherie" mit demRegler verschaltet.
� MAN REAL -100.0...100.0(%)oder
phys.Größe 2)0.0
MANUAL VALUE / HandwertDer Eingang "Handwert" dient zurVorgabe eines Handwertes mittelsBedien-Beobachterfunktion.
� GAIN REAL 2.0PROPORTIONAL GAIN / ProportionalbeiwertDer Eingang "Proportionalbeiwert" gibtdie Reglerverstärkung an.
� TI T IME >= CYCLET#20s
RESET TIME / IntegrationszeitDer Eingang "Integrationszeit" bestimmtdas Zeitverhalten des Integrierers.
� TD TIME >= CYCLE T#10sDERIVATIVE TIME / DifferenzierzeitDer Eingang "Differenzierzeit" bestimmt dasZeitverhalten des Differenzierers.
� TM_LAG TIME >= CYCLE/2 T#2sTIME LAG OF THE DERIVATIVE ACTION / Verzögerungszeit des D-AnteilsDer Algorithmus des D-Anteils beinhaltet eineVerzögerung, die am Eingang"Verzögerungszeit des D-Anteils" parametriertwerden kann.
� DEADB_W REAL >= 0.0 (%)oder phys.Größe 1) 0.0
DEAD BAND WIDTH / TotzonenbreiteDie Regeldifferenz wird über eine Totzonegeführt. Der Eingang "Totzonenbreite"bestimmt die Größe der Totzone.
� LMN_HLM REAL LMN_LLM ...100.0(%)oder phys.Größe 2)100.0
MANIPULATED VALUE HIGH LIMIT / Stellwert obere BegrenzungDer Stellwert wird immer auf eine obere unduntere Grenze begrenzt. Der Eingang"Stellwert obere Begrenzung" gibt die obereBegrenzung an.
� LMN_LLM REAL -100.0... LMN_HLM (%)oder phys.Größe 2) 0.0
MANIPULATED VALUE LOW LIMIT / Stellwert untere BegrenzungDer Stellwert wird immer auf eine obere unduntere Grenze begrenzt. Der Eingang"Stellwert untere Begrenzung" gibt die untereBegrenzung an.
� PV_FAC REAL 1.0PROCESS VARIABLE FACTOR / IstwertfaktorDer Eingang "Istwertfaktor" wird mit demIstwert multipliziert. Der Eingang dient zurAnpassung des Istwertbereiches.
�PV_OFF REAL 0.0PROCESS VARIABLE OFFSET / IstwertoffsetDer Eingang "Istwertoffset" wirdmit dem Istwert addiert. Der Eingang dient zurAnpassung des Istwertbereiches.
� LMN_FAC REAL 1.0MANIPULATED VALUE FACTOR / Stellwertfaktor
M:\SBlanke_Büro\Büro\01_Word_Texte\Service_S7.odt Seite 8 / 34http://Schmitz-Blanke.de/ Stand: 10.12.09
Projekt Service_S7Management
Der Eingang "Stellwertfaktor" wird mitdem Stellwert multipliziert. Der Eingangdient zur Anpassung desStellwertbereiches.
� LMN_OFF REAL 0.0MANIPULATED VALUE OFFSET / StellwertoffsetDer Eingang "Stellwertoffset" wird mitdem Stellwert addiert. Der Eingang dientzur Anpassung des Stellwertbereiches.
� I_ITLVAL REAL -100.0...100.0(%)oder
phys.Größe 2) 0.0INITIALIZATION VALUE OF THEINTEGRAL ACTION / Initialisierungswert für I-AnteilDer Ausgang des Integrierers kann amEingang I_ITL_ON gesetzt werden. AmEingang "Initialisierungswert für I-Anteil"steht der Initialisierungwert.
� DISV REAL -100.0...100.0 (%)oder
phys.Größe 2) 0.0DISTURBANCE VARIABLE / StörgrößeFür eine Störgrößenaufschaltung wird dieStörgröße am Eingang "Störgröße"verschaltet.1) Parameter im Soll-, Istwertzweig mitgleicher Einheit2) Parameter im Stellwertzweig mitgleicher Einheit
M:\SBlanke_Büro\Büro\01_Word_Texte\Service_S7.odt Seite 9 / 34http://Schmitz-Blanke.de/ Stand: 10.12.09
Projekt Service_S7Management
Ausgangs-Parameter
Die folgende Tabelle enthält dieAusgangs-Parameter des SFB 41"CONT_C".
Parameter Datentyp WertebereichVorbelegung Beschreibung
� LMN REAL 0.0 MANIPULATED VALUE /StellwertAm Ausgang "Stellwert" wird dereffektiv wirkende Stellwert inGleitpunktformat ausgegeben.
� LMN_PER WORD W#16#0000MANIPULATED VALUE PERIPHERY / Stellwert PeripherieDer Stellwert in Peripherieformat wirdam Ausgang "Stellwert Peripherie" mitdem Regler verschaltet.
� QLMN_HLMBOOL FALSEHIGH LIMIT OF MANIPULATED VALUEREACHED / Obere Begrenzung des StellwertesangesprochenDer Stellwert wird immer auf eine obereund untere Grenze begrenzt. DerAusgang "Obere Begrenzung des"Stellwertes angesprochen" meldet dieÜberschreitung der oberen Begrenzung.
� QLMN_LLM BOOL FALSE LOWLIMIT OF MANIPULATED VALUEREACHED / Untere Begrenzung des StellwertesangesprochenDer Stellwert wird immer auf eine obereund untere Grenze begrenzt. DerAusgang "Untere Begrenzung des"Stellwertes angesprochen" meldet dieÜberschreitung der unteren Begrenzung.
� LMN_P REAL 0.0PROPORTIONALITY COMPONENT / P-AnteilDer Ausgang "P-Anteil"beinhaltet den Proportionalanteil derStellgröße.
� LMN_I REAL 0.0INTEGRAL COMPONENT / I-Anteil
Der Ausgang "I-Anteil" beinhaltet denIntegralanteil der Stellgröße.
� LMN_D REAL 0.0DERIVATIVE COMPONENT / D-AnteilDer Ausgang "D-Anteil" beinhaltet denDifferentialanteil der Stellgröße.
� PV REAL 0.0PROCESS VARIABLE / IstwertAm Ausgang "Istwert" wird der effektivwirkende Istwert ausgegeben.
� ER REAL 0.0ERROR SIGNAL /Regeldifferenz
Am Ausgang "Regeldifferenz" wird die effektivwirkende Regeldifferenz ausgegeben.
Abbildung 3 Regler als FUP
M:\SBlanke_Büro\Büro\01_Word_Texte\Service_S7.odt Seite 10 / 34http://Schmitz-Blanke.de/ Stand: 10.12.09
Projekt Service_S7Management
FB – Programmierung / Auszug aus dem
Quellcontainer
Abbildung 4 FB1 in FUP ........
M:\SBlanke_Büro\Büro\01_Word_Texte\Service_S7.odt Seite 11 / 34http://Schmitz-Blanke.de/ Stand: 10.12.09
Projekt Service_S7Management
Abbildung 5 FB1 in FUP / AWL
M:\SBlanke_Büro\Büro\01_Word_Texte\Service_S7.odt Seite 12 / 34http://Schmitz-Blanke.de/ Stand: 10.12.09
Projekt Service_S7Management
Abbildung 6 FB1 in FUP / Graph_S7
M:\SBlanke_Büro\Büro\01_Word_Texte\Service_S7.odt Seite 13 / 34http://Schmitz-Blanke.de/ Stand: 10.12.09
Projekt Service_S7Management
Abbildung 7 FB1 in FUP / Zeit, Zähler, Compare
M:\SBlanke_Büro\Büro\01_Word_Texte\Service_S7.odt Seite 14 / 34http://Schmitz-Blanke.de/ Stand: 10.12.09
Projekt Service_S7Management
Abbildung 8 Indizierte Bearbeitung Teil 1 von 4
M:\SBlanke_Büro\Büro\01_Word_Texte\Service_S7.odt Seite 15 / 34http://Schmitz-Blanke.de/ Stand: 10.12.09
Projekt Service_S7Management
Abbildung 9 Indizierte Bearbeitung Teil 2-4
M:\SBlanke_Büro\Büro\01_Word_Texte\Service_S7.odt Seite 16 / 34http://Schmitz-Blanke.de/ Stand: 10.12.09
1
0V1 V0
Projekt Service_S7Management
Graph_7
StandardaktionDiese Standardaktion können und werden in den entsprechenden Schrittenprogrammiert.
Aktion Bedeutung Parameter
N (C) = im aktiven Schritt A;E;M;DS (C) setzenR (C) rücksetzenD (C) Einschaltverzögert (Delay)L (C) Impuls (limitiert)Call (C) Bausteinauruf
Tabelle 1 Graph_S7 Standard
Ereignisabhängige AktionenDie ereignisabhängigen Aktionen werden mit den Standardaktionen verknüpft.
Aktion Kürze
l
Zu Bedeutung Bild
Schritt S1 = wird aktivS0 = wird inaktiv
Supervosor V1 = Überwachung tritt aufV0 = Überwachung behoben
Interlock L0 = Verriegelung kommtL1 = Verriegelung geht
(Störung)C = Verriegelung ist erfüllt
Meldungen und A1 = Eine Meldung wirdquittiert
Registrierung R1 = Eine Registrierungkommt (steigendeFlanke am EingangREG_EF / REG_S)
S1,V1,A1,R1 = N;R;S;CALLS0,V0,L0,L1 = N;R;S;CALL
= ON / OFF Schritt Xaktiviert, in aktiv
Tabelle 2 Graph_S7 Aktionen
M:\SBlanke_Büro\Büro\01_Word_Texte\Service_S7.odt Seite 17 / 34http://Schmitz-Blanke.de/ Stand: 10.12.09
1
0S1 S0
1
0L1 L0C=0
1
0
A1=1
Projekt Service_S7Management
M:\SBlanke_Büro\Büro\01_Word_Texte\Service_S7.odt Seite 18 / 34http://Schmitz-Blanke.de/ Stand: 10.12.09
Projekt Service_S7Management
Abbildung 10 Graph_S7 Schrittkette
M:\SBlanke_Büro\Büro\01_Word_Texte\Service_S7.odt Seite 19 / 34http://Schmitz-Blanke.de/ Stand: 10.12.09
Projekt Service_S7Management
Arbeiten mit Adressregister
Maschinenregister.
Register Bedeutung Bit
AKKU 1 Akukumulator 1 Bit 0 .. 31AKKU 2 Akukumulator 2 Bit 0 .. 31STW Statuswort Bit 0 .. 15AR 1 Adressregister 1 Bit 0 .. 31AR 2 Adressregister 2 Bit 0 .. 31DB 1. geöffneter DB Bit 0 .. 15DI 2. geöffneter DB Bit 0 .. 15DBLG Länge 1. DB Bit 0 .. 15DILG Länge 2. DB Bit 0 .. 15
Tabelle 3 Maschinenregister
M:\SBlanke_Büro\Büro\01_Word_Texte\Service_S7.odt Seite 20 / 34http://Schmitz-Blanke.de/ Stand: 10.12.09
AdressregisterA R 2
AdressregisterA R 1
Akkumulator 1
Merkerdoppelwort MD
Lokaldatendoppelwort LD
Globaldatendoppelwort DBD
Instanzdatendoppelwort DID
LAR1 P#Zy.x
LAR1 P#y.x
+AR1 P#y.x
TAR1 AR2
LAR1 AR2
TAR
LAR2 P#Zy.x
LAR2 P#y.x
+AR2 P#y.x
TAR1 xx
LAR1 xx
TAR2 xx
LAR2 xx
TAR2+AR2
LAR2
TAR1+AR1
LAR1
Adreßregisteraufbau
31 23 15 7 010000RRR 00000BBB BBBBBBBB BBBBBXXX
000 Peripherie001 Eingänge010 Ausgänge011 Merker100 Daten im DB_Reg_1 (DB)101 Daten im DB_Reg_2 (DI)111 Lokaldaten
BBB ByteadresseXXX Bitadresse
Projekt Service_S7Management
Speicher indirekte Adressierung
L P#24.0 Pointer in Byte.BitT MD50L EW[MD50] L EW24
Registerindirekte Adressierung
LAR1 P#10.0 // Vorbesetzen, Pointer in Byte.BitL MW[AR1,P#200.0] L MW 210
Bereich, Zugriffsbreite, Adressregister, Konstanter Offset
Bereichsübergreifende registerindirekte Adressierung
LAR1 P#E100.0 // Vorbesetzen, Pointer in Byte.BitB[AR1,P#110.0] L MW 210
Zugriffsbreite, Adressregister, Konstanter Offset
M:\SBlanke_Büro\Büro\01_Word_Texte\Service_S7.odt Seite 21 / 34http://Schmitz-Blanke.de/ Stand: 10.12.09
Projekt Service_S7Management
Multi-Instanzmodell
Die FB`s als Multiinstanz abspeichern
M:\SBlanke_Büro\Büro\01_Word_Texte\Service_S7.odt Seite 22 / 34http://Schmitz-Blanke.de/ Stand: 10.12.09
DB10
Call FB10,DB10
Call FB10,DB11
Call FB10,DB12
Instanz- Modell
OB1
FB10
DB11
FB10
DB12
FB10
Call Reg1
Call Reg2
Call Reg3
Multi-Instanz-Modell
FB100,DB10
stat
stat
stat
Reg1
Reg2
Reg3
FB10
FB10
FB10
DB10
Reg1
Reg2
Reg3
Projekt Service_S7Management
Zeiger bei der indirekten Adressierung
Zeiger
Bereichzeiger, 32 Bit lang und enthalten einen bestimmten Operanden + oder Adresse P#22.0
DB_Zeiger, 48 Bit lang zusätzkich zum Bereichszeiger auchNummer des Datenbausteins P#DB10.DBX20.3
Any-Zeiger, 80 Bit lang enthält zum DB_Zeiger angeben zumDatentypP#DB12.DBX31.0 INT 12Im DB12 ab DW31, 12 Wörter
M:\SBlanke_Büro\Büro\01_Word_Texte\Service_S7.odt Seite 23 / 34http://Schmitz-Blanke.de/ Stand: 10.12.09
Projekt Service_S7Management
Interbus und die Einstellungen
Hier oben ist die Parametrierung des Interbuses dargestellt. Als Beispiel wurdehier die Einstellungen für die Hauser-Steuerung aufgeschlagen.
Beispiel: Parametrierung des Interbus EA
In diesem Beispiel wird die Parametrierung der Funktionen für die E/A-Kopplung von INTERBUS und S7 beispielhaft gezeigt.Dazu werden folgende Beispieldateien benötigt:
– IBS-CMD-Projekt : EA.BG4– - STEP7-Projekt : EA.S7P
M:\SBlanke_Büro\Büro\01_Word_Texte\Service_S7.odt Seite 24 / 34http://Schmitz-Blanke.de/ Stand: 10.12.09
Projekt Service_S7Management
Folgende, vorbereitende Schritte sind von Ihnen als Anwender erforderlich:
1. alle DIP-Schalter der IBS S7 400 DSC/I-T auf OFF stellen 2. IBS S7 400 DSC/I-T in den naechst freien Steckplatz im S7400-Rackeinstecken 3. REMOTE-Stecker(X2) der IBS S7 400 DSC/I-T mit Ihrem Busaufbauverbinden 4. RS232-Stecker(X3) der IBS S7 400 DSC/I-T mit dem PC verbinden 5. Spannungsversorgung der S7-400 einschalten 6. starten der STEP7-Programmier-Software 7. starten der IBS-CMD-Software. 8. laden der o.g. BG4-Beispieldatei in die IBS-CMD-Software 9. parametrieren "Ihres" angeschlossenen INTERBUS-Aufbaus10. Wenn Sie "Konfigurationsrahmen einlesen" ausfuehren, geht dievoreingestellte Parametrierung verloren und Sie muessen Punkt 11 selbst eintragen.11. im Menue >Einstellungen Anschaltbaugruppe< parametrieren Sie die Registeradressen die von Bausteinen in der S7-CPU benoetigt werden. (sind voreingestellt) a. Diagnose - Statusregister : P240 - Parameterregister : P242 b. Standardfunktion - Startregister : P244 - Statusregister : P248 - Parameterregister : P246
12. Parametrierungsspeicher formatieren13. Parametrierungsspeicher schreiben (Ihre Konfiguration wird auf dem Parametrierungsspeicher abgelegt)14. Spannungsversorgung der S7-400 aus- und wieder einschalten. - Die neuen Daten sind jetzt aktuell.15. Sie koennen jetzt die IBS-CMD-Software beenden.
16. wechseln Sie zur STEP7-Programmier-Software17. laden der o.g. S7P-Beispieldatei in die STEP7-Software.18. fuehren Sie ein Urloeschen der S7-CPU durch19. Parametrierung der IBS S7 400 DSC/I-T) im HWKonfig-Menue der STEP7-Software als >S5-ADAPTOR< mit Vergabe folgender Adressen. a. Eingangsadressen: Eintrag: S7-Adressen S5-Adressen Laenge TeilPA Bereich 1 512 240 10 0 P 2 524 252 4 0 P 3 XXX YYY Z 0 P
M:\SBlanke_Büro\Büro\01_Word_Texte\Service_S7.odt Seite 25 / 34http://Schmitz-Blanke.de/ Stand: 10.12.09
Projekt Service_S7Management
b. Ausgangsadressen: Eintrag: S7-Adressen S5-Adressen Laenge TeilPA Bereich 1 512 240 10 0 P 2 524 252 4 0 P 3 XXX YYY Z 0 P
XXX = Ihre gewuenschte Startadresse der INTERBUS-Ein- bzw. Ausgangs-Daten in der S7-CPU YYY = Ihre parametrierte Startadresse der INTERBUS-Ein- bzw. Ausgangs-Daten Z = Die Anzahl der Ein- bzw. Ausgangsbytes Ihrer INTERBUS-Konfiguration
20. Laden der Hardwarekonfiguration in die Steuerung21. Laden des Beispiels in die S7-CPU22. Starten der S7-CPU.23. jetzt stehen Ihnen die Daten der INTERBUS Ein- bzw. Ausgangsmodule abder, von Ihnen eingestellten S7-Adresse, in der S7-CPU zur Verfuegung.
M:\SBlanke_Büro\Büro\01_Word_Texte\Service_S7.odt Seite 26 / 34http://Schmitz-Blanke.de/ Stand: 10.12.09
Projekt Service_S7Management
S7 – Programm I Interbus
UN M8.0S M8.0
LOOP: CALL "FC20 Interbusstart" IBDB :="DB 20 Interbusdaten" //INTERBUS Datenbaustein COM_ADR :=1000 //Basisadresse Kommunikationsreg. DIAG_STATE :=450 //Basisadresse Diagnose Statusreg. DIAG_PARA :=452 //Basisadresse Diagnose Parameterr. FKN_START :=450 //Basisadresse Funktions Startreg. FKN_PARA :=452 //Basisadresse Funktions Parameterr. FKN_STATE :=454 //Basisadresse Funktions Statusreg. MEM_READ :=21 //Nummer des Treiberbausteins MEM_READ MEM_WRITE :=22 //Nummer des Treiberbausteins MEM_WRIT LOAD :=0 //Einstellung: Laden des Projektes BOOT :=0 //INTERBUS Anlauf MODE :=0 //Betriebsart der Anschaltbaugruppe ZEIT :=T1 //benutzter Timer SOURCE :=0 //Nummer des Parametrierungs-DB CONFIGURATION :=DW#16#1 //Konfiguration der Bausteine RET :=M8.1 //Ergebnisbit BUSY :=M8.0 //Baustein aktiv
U M8.0SPB LOOPUN M8.1 // Wenn Returnbit nicht gesetzt,S M8.2 // START_UP-Bit fuer FC24 IB_DIAGSPB NWE1 // dann beende OB100 ansonstenCALL SFC 46 // stoppen der Abarbeitung
NWE1:NOP 0
Im Anlauf ist die FC20 "INIT_IB" zur Synchronisation der Anschaltbaugruppe mit der S7-400-CPU aufzurufen. Weiterhin traegt die FC Betriebsparameter in den IBDB ein, die in der Applikation von INTERBUS-Bausteinen benoetigt werden. Die einzustellenden Basisadressen (hier 512 - 524) sind abhaengig von der parametrierten Adresse/Laenge der Baugruppe im HW-Konfig-Menue.
M:\SBlanke_Büro\Büro\01_Word_Texte\Service_S7.odt Seite 27 / 34http://Schmitz-Blanke.de/ Stand: 10.12.09
Projekt Service_S7Management
Interbus und Hauser_Steuerung, Einstellungen
Die Hauser-Steuerung wird über den ID-Code 227 eingerichte, der Datenaustausch istabhängig vom IBS-Softwareversion und vom Hauser-Parameter P196. Dazu folgendes Bild:
SoftwareVersion
P196 Ayzklischer Datenkanal Prozessdatenlänge Bytes
> 2.10 0-4 Kein 8 Byte PD1 PD2 PD3 PD4 PD5 PD6 PD7 PD8
Als Beispiel P196 = 3, bedeudet PD-Länge sind 3 Worte = 48 Bits.
In unserem Fall haben wir o.g. Belegung der Worte.
EW44:16 – Statuswort 2 Bytes / PD1 + PD2
PED_Steuerung P135 = 6279136 bedeutet CPX_ZSW Compaxzustandswort 2 Byte lang, bei
P203 = 0
CPX_ZSW [Compaxzustandswort]Datenbyt Belegung
1 [7] Zustand A161 [6] Zustand A151 [5] Zustand A141 [4] Zustand A131 [3] Zustand A121 [2] Zustand A111 [1] Zustand A101 [0] Zustand A9 / Acktoggle2 [7] Motor blockiert2 [6] Schleppfehler2 [5] Stillstand nach Stop2 [4] Sollposition erreicht2 [3] Bereit für Start2 [2] MN wurde angefahren2 [1] Keine Warnung2 [0] Keine Störung
M:\SBlanke_Büro\Büro\01_Word_Texte\Service_S7.odt Seite 28 / 34http://Schmitz-Blanke.de/ Stand: 10.12.09
Projekt Service_S7Management
EW46:32 – Istwert 4 Bytes / PD3 – 6
PED_Steuerung P137 = 6317096 bedeutet LAGE_IST [Lageistwert] und ist 4 Bytelang
AW46:16 - Steuerwort 2 Bytes
PAD_Steuerung P139 = 6279680 bedeutet CPX_STW Steuerswort 2 Byte lang
CPX_STW [Steuerwort]Datenbyt Funktion ohne Shift Funktion nit Shift
1 [7]1 [6]1 [5]1 [4]1 [3]1 [2]1 [1] ObjectReqEnable ObjectReqEnable
1 [0] FreeyePAD FreeyePAD
2 [7]2 [6]2 [5] Stop Break Freigabe P221/ Bit 52 [4] Start2 [3] Quit (nicht bei P190=22) Teach Realnull Freigabe P221/ Bit
32 [2] Hand - Realnull anfahren Freigabe P221/
Bit 22 [1] Hand + MN anfahren Freigabe P221/ Bit 12 [0] Shift
AW46:16 – Satzanwahl 2 Bytes
PAD_Steuerung P141 = 6284544 bedeutet START_N_GO Programmsatz 1 Byte lang
Datenby Bedeutung
1 [0-7] Programmsatznummer2 [0-7] Programmsatznummer
AW48:16 – Control 2 BYtes
PAD_Steuerung P142 = 6285568 bedeutet CONTROL Steuerbefehle1 Byte lang
Bef. Nr Bedeutung
1 MN anfahren2 Programm Start3 Prog / Positionierung stoppen4 Prog / Positionierung abbrechen5 Fehler quittieren6 Akt. Realpos als Realnull übernehmen
M:\SBlanke_Büro\Büro\01_Word_Texte\Service_S7.odt Seite 29 / 34http://Schmitz-Blanke.de/ Stand: 10.12.09
Projekt Service_S7Management
7 Parameter gültig erklären8 Konfiguration gültig erklären9 Verfahrgeschwindigkeit von ext. Geber10 Antrieb unter Moment bei geöffneter Bremse11 Antrieb stromlos bei geschlossener Bremse12 Antrieb stromlos bei geöffneter Bremse13 Progrsammsprung via ext. Eingänge14 Passwortschutz deaktivieren (GOTO302)15 Passwortschutz aktivieren (GOTO270)16 Passwortschutz deaktivieren (GOTO620)17 Kurve gültig erklären18 Not-Stop mit Freischaltung19 Not-Stop ohne Freischaltung20 OBJECT_RSP temporär auf PED freigeben21 OBJECT_RSP temporär auf PED sperren
Beispiel zum Programm
UN "M 3.7" SPB NW10
CALL "FC225-Compaxbearbeitung"
woZustandswort:="EW 92"
byFahrbefehle :=MB142
Quit :="BP21-S31"
Stop :=M6.0 boBreak :=M611.1
byInPosFlags :=MB149
bySatzzeiger :="AB 94"
Fehler :=M611.7
boInPos :="M 140.7"
woSteuerwort :="AW 92" boNachtrigger :="M 140.5"
NW10: NOP 0
FC225
L #woZustandswort // CPX_ZSW
T MW 8000 L #byFahrbefehle // Fahrbefehle
T MB 8002
L #woSteuerwort
T MW 8004
L 0 // Auftrag 1 vorbesetzen
T #byFahrprogrammNr
U M 8001.0 // keine Störung
SPB KSTO // Keine Störung
L 0 // Bei Störung werden keine Fahrbefehle
T MB 8002 // akzeptiert
KSTO: NOP 0
UN M 8001.0 // Stoerung
UN M 8001.5 // und wir stehen noch nicht nach Stop
UN M 8001.4 // und wir stehen noch nicht in Position
= #bo_temp_Break // => BREAK
//; U #Stop
M:\SBlanke_Büro\Büro\01_Word_Texte\Service_S7.odt Seite 30 / 34http://Schmitz-Blanke.de/ Stand: 10.12.09
Projekt Service_S7Management
O #bo_temp_Break // => BREAK
= #bo_temp_Stop
//;//;
U #Quit // Fehler quittieren
U M 8001.0 // und keine Stoerung mehr
U M 8001.5 // und wir stehen still
= #bo_temp_Start // => START
//; U #Quit // Fehler quittieren
UN M 8001.0 // und Stoerung
= #bo_temp_Quit // => QUITT
O M 8001.5 // und wir stehen still O M 8001.4 // Programmierte Sollpos. erreicht
U M 8001.3 // Bereit fuer Start
= #boInPos
O(
L #byInPosFlags // ??????????????????????????????? L #byFahrbefehle // Fahrbefehle
UW
L 0
<>I
)
ON #boInPos R #boNachtrigger
SPB nnat // Nicht nachtriggern
UN #boNachtrigger
S #boNachtrigger
SPB nnat
R #boNachtrigger L 0 // Dieser verdamm.....Antrieb fährt manchmal nicht los,
T MB 8002 // obwohl wir alles abgewartet haben lt. Handbuch
nnat: UN #bo_temp_Quit // Quitt von Steuerungsprogramm
R M 8005.3 // auf Steuerwort Compax SPB NILO // kein Fehler loeschen
S M 8005.3
L 0 // Alarmmeldung loeschen
T MW 8010 // an andere CPU akt. Fehler
NILO: U #bo_temp_Break // Break von Steuerungsprogramm// = DBX 33.5 // auf Steuerwort Compax
U "M 4.0" // Hand+ von Steuerungsprogramm
= M 8005.1 // auf Steuerwort Compax
U "M 4.0" // Hand- von Steuerungsprogramm
= M 8005.2 // auf Steuerwort Compax
U #bo_temp_Stop // STOP von Steuerungsprogramm = M 8005.5 // auf Steuerwort Compax
U #bo_temp_Start // Start von Steuerungsprogramm
= M 8005.4 // auf Steuerwort Compax
//; // --------------------------------
L MB 8002 L 0
M:\SBlanke_Büro\Büro\01_Word_Texte\Service_S7.odt Seite 31 / 34http://Schmitz-Blanke.de/ Stand: 10.12.09
Projekt Service_S7Management
<>I
SPB FAHR // Es steht ein Fahrbefehl an
U M 8001.4 // Programmierte Sollpos. erreicht U M 8001.3 // Bereit fuer Start
SPB EINT // => Fahrbefehl eintragen
UN M 8001.0 // Kein Fahrbefehl und Stoerung
SPB EINT // => Fahrbefehle loeschen
SPA AUFT // Do nothing
//;FAHR: L 10 // Auftrag 1 vorbesetzen
LOOP: T #byFahrprogrammNr
L MB 8002 // Auftragsbits schieben. Ein
SRW 1 // rausgeschobenes ist der Auftrag
SPP EINT
T MB 8002 // Auftragsschieberei speichern L 0 // Kein Auftrag mehr.
==I // Duerfte eigentlich nie sein.
SPB AUFT
L #byFahrprogrammNr
+ 10
SPA LOOP
EINT: L #byFahrprogrammNr
AUFT: T #bySatzzeiger // Auftragsregister im Verfahrpro.
//;
SPA KVAR // !!!!!!!!!!!!!!!!!!!!! IBN !!!!!!!!!!!
X M 8000.7 // Wenn das SPM-Bit vom Steuerwort des COMPAX
XN M 8004.7 // und unseres Gleich sind, so gibt es keine neuen Infos
SPB KVAR L MB 8001 // Fehlercode von COMPAX
T MW 8010 // an andere CPU akt. Fehler
T MW 8012 // und speicher letzter Fehler
//;
L MW 8004 // Unser Steuerwort
L W#16#8000 // wird geloescht und UW // es erfolgt
T MW 8004
UN M 8004.7 // Quittierung durch
= M 8004.7 // "Toggeln" SPM-Bit
SPA KVAR // Keine Variablen aendern
//KFEH: NOP 0//; // Variablen schreiben
//;
KVAR: L MW 8004 // Steuerwort zum Antrieb
T #woSteuerwort
M:\SBlanke_Büro\Büro\01_Word_Texte\Service_S7.odt Seite 32 / 34http://Schmitz-Blanke.de/ Stand: 10.12.09
Projekt Service_S7Management
Interbus und Absolutwertgeber, Einstellungen
Zum Einsatz kommen Absolutwertgeber mit dem K3-Profil. Der Geber hat eine 32-Bit EASchnittstelle.Use an absoltly encoder with K3 Profile, it has an 32 In/Out interface.
Steuer- Status / Steer- state Position / Istwert Bit 31 30 29 28 27 26 25 24 23 ..... 1 0Bed.
0 0 0 0 0 0 0 MSB
LSB
Steuerwort / steerword0 1 0 0 0 0 0 Preset / Set-
NullpunktverschiebungPreset / Set-Zeropoint shift
0 0 0 0 Ausgabe in ZustandBetrieb
Output in work
0 0 0 1 Auflösung Schritte dissolution step0 0 1 0 Auflösung Umdrehungen dissolution rotation0 0 1 1 Pos.Istwert-Codierung Pos.value coding0 1 0 0 Preset-Wert Preset-value0 1 0 1 Nullpunktverschiebung Zero point shift0 1 1 0 Offset Offset0 1 1 1 Rücksetzen Encoder Reset Encoder
1 = Dual Vorzeich.Drehrechts
1 = Dual signrotation right
2 = DualVorzeich.Dreh.Links
2 = Dual signrotation left
3 = Dual o.Vorz. Drehrechts
3 = Dual withoutsign drotation right
4 = Dual o.Vorz. Drehlinks
4 = Dual withoutrotation left
5 = Gray 5 = Gray 6 = Gray 6 = Gray
Beispiel zum Encoder / sample for Encoder middle postioning
L "ED 176" load Inputdoublewort (32 Bit)// NEGD // Der Geber liefert einen rückwärts zählenden// L DW#16#FFFFFF // Wert. Wir machen einen positiven Wert daraus// UD T MD176 // aktueller Istwert / stored L L#0 load Zero ==D equal R "A 176.6" // wird der Geber auf NULL gesetzt
M:\SBlanke_Büro\Büro\01_Word_Texte\Service_S7.odt Seite 33 / 34http://Schmitz-Blanke.de/ Stand: 10.12.09
Projekt Service_S7Management
U "E 75.0" // mit der positiven Flanke des Sensors FP M 115.1 // S "A 176.6" // wird der Geber auf NULL gesetzt
U "E 75.0" // mit der negativen Flanke des Sensors FN M 115.3 // = M 115.2 // erhalten wir die Scheibenlänge
UN M 115.2 SPB NWE1
L 0 L MD176 // aktueller Istwert ==D = "M 134.2" BEB NWEI NOP0
M:\SBlanke_Büro\Büro\01_Word_Texte\Service_S7.odt Seite 34 / 34http://Schmitz-Blanke.de/ Stand: 10.12.09