Softwarehandbuch PCMatic__STEP-7-Real Time SPS (PCM)
Transcription
Softwarehandbuch PCMatic__STEP-7-Real Time SPS (PCM)
PC based Automation Ä.1n_ä LDCDP-11037 .1n_ Softwarehandbuch PCMatic Control STEP-7 Real Time SPS Steuerungssoftware Slot-Controller PCM 210/310 © 2006 Lenze Digitec Controls GmbH, Grünstr. 36, D-40667 Meerbusch Ohne besondere schriftliche Genehmigung von Lenze Digitec Controls GmbH darf kein Teil dieser Dokumentation vervielfältigt oder Dritten zugänglich gemacht werden. Wir haben alle Angaben in dieser Dokumentation mit größter Sorgfalt zusammengestellt und auf Übereinstimmung mit der beschriebenen Hard- und Software geprüft. Trotzdem können wir Abweichungen nicht ganz ausschließen. Wir übernehmen keine juristische Verantwortung oder Haftung für Schäden, die dadurch eventuell entstehen. Notwendige Korrekturen werden wir in die nachfolgenden Auflagen einarbeiten. INHALTSVERZEICHNIS 1 Einführung Real Time SPS .................................................................................4 2 PCMatic im Vergleich..........................................................................................4 2.1 Unterschiede zur Hardware-SPS S7-416 .......................................................................................4 2.2 Nicht vorhandene Funktionen in der PCMatic® .............................................................................4 3 Operationsvorrat .................................................................................................5 3.1 Binäre Verknüpfungsoperationen ...................................................................................................5 3.2 Sonstige Verknüpfungen.................................................................................................................5 3.3 Master Control Relay ......................................................................................................................6 3.4 Lade / Transferoperationen ............................................................................................................6 3.5 Peripheriezugriffe............................................................................................................................7 3.6 Akkumulatorbefehle ........................................................................................................................7 3.7 Schiebe- und Rotieroperationen .....................................................................................................7 3.8 Zeitoperationen ...............................................................................................................................8 3.9 Zähloperationen ..............................................................................................................................8 3.10 Wortoperationen ...........................................................................................................................8 3.11 Arithmetische Operationen ...........................................................................................................8 3.12 Umwandlungsfunktionen ..............................................................................................................9 3.13 Sprungoperationen .....................................................................................................................10 3.14 Aufruf-Operationen .....................................................................................................................10 3.15 Indirekte Adressierung ................................................................................................................10 3.16 Sonstige Operationen .................................................................................................................11 4. Aufbau des SPS-Speichers der PCMatic® .......................................................12 ® 4.1 Aufbau der Systemdaten PCMatic ..............................................................................................12 4.2 Integrierte Organisationsbausteine...............................................................................................12 4.3 Integrierte Systemfunktionen ........................................................................................................12 4.4 Integrierte Systembausteine .........................................................................................................13 4.5 Remanenz (PCM-210/310) ...........................................................................................................13 5. PC-Kommunikation ...........................................................................................14 5.1 Low Level Funktionen ...................................................................................................................14 5.2 Übersicht der Funktionalität ..........................................................................................................15 5.2.1 Installation ..............................................................................................................................16 5.2.2 Funktionen der DLL................................................................................................................16 1 6. Betrieb der PCmatic Karte................................................................................19 6.1 Funktionsbausteine.......................................................................................................................19 6.1.1 Abfrage Feldbus-Status .........................................................................................................19 6.1.2 Steuer-SFB.............................................................................................................................19 6.1.3 Übersicht der Steuer-SFB Funktionen ...................................................................................20 6.1.3.1 Fkt 102 Anzahl der digitalen Ein-/Ausgänge einstellen.............................................. 20 6.1.3.2 Fkt 125 Prozesseingänge lesen ................................................................................. 21 6.1.3.3 Fkt 126 Prozessausgänge schreiben ......................................................................... 21 6.1.3.4 Fkt 130 Lese globale Diagnosebits ............................................................................ 22 6.1.3.5 Fkt 131 Lese Busstatus.............................................................................................. 22 6.1.3.6 Fkt 132 Lese fehlerhafte Busadresse ........................................................................ 23 6.1.3.7 Fkt 133 Lese Fehlernummer ...................................................................................... 23 6.1.3.8 Fkt 134 Lese Statusbits.............................................................................................. 27 6.1.3.9 Fkt 135 Lese Diagnosebits......................................................................................... 27 6.1.3.10 Fkt 136 Dualportmemory lesen ................................................................................ 27 6.1.3.11 Fkt 137 Dualportmemory schreiben ......................................................................... 28 6.1.3.12 Fkt 139 Unterdrücken Watchdog.............................................................................. 28 6.1.3.13 Fkt 140 Watchdog triggern ....................................................................................... 29 6.1.3.14 Fkt 141 Hostflags lesen............................................................................................ 29 6.1.3.15 Fkt 142 DevFlags lesen............................................................................................ 29 6.1.3.16 Fkt 143 DevFlags schreiben..................................................................................... 30 6.2 Konfiguration des Feldbusmoduls mit dem Systemkonfigurator PCMCon...................................30 7. ANHANG: PCM Dual-Port-Memory ..................................................................31 7.1 Dual-Port-Memory Step5/Step7....................................................................................................31 7.1.1 Aufbau für Step5/Step7..........................................................................................................31 7.1.2 Kommunikationsbereich für Step5/Step7...............................................................................32 8. Technische Daten .............................................................................................36 2 ÄNDERUNGEN / ERGÄNZUNGEN NR Datum Ausgabe Änderung Hardware 1. 18.09.2001 PCM_S7.DOC Erstausgabe #6108-03 #6195-02 2. 22.09.2006 PCM_S7.DOC Redaktionell überarbeitet #6108-03 #6195-02 3. 3 1 Einführung Real Time SPS Die Real Time SPS ist eine Software SPS, die als Interpreter ausgelegt ist. Das SPS Programm wird in kompilierter Form (wie bei einer Hardware SPS) abgearbeitet. Dies bietet den Vorteil, dass der Programmdurchlauf beschleunigt wird. Der Befehlssatz und der Speicherausbau der Real Time SPS gleicht im wesentlichen dem Befehlssatz und dem Speicherausbau der CPU 416 der Simatic-S7 Baureihe. Um den Besonderheiten einer Software SPS gerecht zu werden, wurde der Befehlssatz entsprechend angepasst. In der Real Time SPS ist ein MPI-Treiber enthalten. Es kann über ein Nullmodemkabel von einem Bedienfeld aus auf die Real Time SPS zugegriffen werden. Dabei wird eine Baudrate von 38400 Baud benutzt. Für den Anschluß eines Programmiergerätes (PG) mit serieller Schnittstelle muss im PG "MPI Umsetzer" bzw. "MPI Adapter" eingestellt werden. 2 PCMatic im Vergleich 2.1 Unterschiede zur Hardware-SPS S7-416 2.2 Nicht vorhandene Funktionen in der PCMatic® Da es physikalische Unterschiede zwischen einer Hardware-SPS und einem Windows-Rechner gibt, können nicht alle Funktionen der CPU S7-416-1 in der PCMatic realisiert werden. Es sollten jedoch Ihre vorhandenen Programme mit geringen Änderungen auf der PCMatic funktionieren. Die folgenden Organisationsbausteine werden z. Zt. noch nicht unterstützt: " OB60: Mehrprozessoralarm " OB40 - OB47: Prozessalarm 0 – 7 Die folgenden integrierten Funktionsbausteine (SFB, SFC) sind z. Z. noch nicht integriert: " SFB44: Ersatzwert eintragen " SFB46: In den Zustand Stop wechseln " SFB33 – 37: Bausteinbezogene Meldungen erzeugen 4 3 Operationsvorrat Die PCMatic besitzt den kompletten Befehlsvorrat der Simatic S7-416 CPU. ® 3.1 Binäre Verknüpfungsoperationen Operation U UN O ON X XN Operand E A M L T Z DBX DIX ==0 <>0 >0 >=0 <0 <=0 UO OV OS BIE Funktionsbeschreibung UND mit Abfrage auf "1" UND mit Abfrage auf "0" ODER mit Abfrage auf "1" ODER mit Abfrage nach " 0" Exklusiv-ODER mit Abfrage auf "1" Exklusiv-ODER mit Abfrage auf "0" eines Eingangs eines Ausgangs eines Merkers eines Lokaldatenbits einer Zeitfunktion einer Zählfunktion eines Globaldatenbits eines Instanzdatenbits Ergebnis gleich Null Ergebnis ungleich Null Ergebnis größer Null Ergebnis größer-gleich Null Ergebnis kleiner Null Ergebnis kleiner-gleich Null ungültiges Ergebnis Overflow Überlauf (speichernd) Binärergebnis 3.2 Sonstige Verknüpfungen Operation U( UN( O( ON( X( XN( ) O NOT SET CLR SAVE Operand Funktionsbeschreibung UND Klammer auf UND-NICHT Klammer auf ODER Klammer auf ODER-NICHT Klammer auf Exklusiv-ODER Klammer auf Exklusiv-ODER-NICHT Klammer auf Klammer zu ODER-Verknüpfung von UND VKE negieren VKE setzen VKE rücksetzen VKE ins BIE retten 5 Operation = S R FP FN Operand E A M L DBX DIX Funktionsbeschreibung Zuweisung Setze Rücksetze Positive Flanke Negative Flanke eines Eingangsbits eines Ausgangsbits eines Merkerbits eines Lokaldatenbits eines Datenbits eines Instanz-Datenbits 3.3 Master Control Relay Operation MCRA MCRD MCR( )MCR Operand Funktionsbeschreibung MCR-Bereich aktivieren MCR-Bereich deaktivieren MCR-Zone öffnen MCR-Zone schließen 3.4 Lade / Transferoperationen Operation L T L L L LC L Operand EB EW ED AB AW AD MB MW MD LB LW LD DBB DBW DBD DIB DIW DID STW konst #Pointer T T Z Funktionsbeschreibung Operand laden Operand transferieren Eingangsbyte Eingangswort Eingangsdoppelwort Ausgangsbyte Ausgangswort Ausgangsdoppelwort Merkerbyte Merkerwort Merkerdoppelwort Lokaldatenbyte Lokaldatenwort Lokaldatendoppelwort Datenbausteinbyte Datenbausteinwort Datenbausteindoppelwort Instanz-Datenbausteinbyte Instanz-Datenbausteinwort Instanz-Datenbausteindoppelwort Statuswort Laden einer Konstanten Laden eines Zeigers Zeitwert Zeitwert (BCD codiert) Zähler 6 Operation LC L L L L Operand Z DBNO DBLG DINO DILG Funktionsbeschreibung Zähler (BCD codiert) Lade Datenbausteinnummer Lade Datenbausteinlänge Lade Datenbausteinnummer (Instanz-DB) Lade Datenbausteinlänge (Instanz-DB) 3.5 Peripheriezugriffe Operation L L L T T T Operand PEB PEW PED PAB PAW PAD Funktionsbeschreibung Peripherieeingangsbyte Peripherieeingangswort Peripherieeingangsdoppelwort Peripherieausgangsbyte Peripherieausgangswort Peripherieausgangsdoppelwort 3.6 Akkumulatorbefehle Operation PUSH POP ENT LEAVE TAK TAW TAD Operand Funktionsbeschreibung Akkus ,,nach oben" schieben Akkus ,,nach unten" schieben Akkus schieben (ohne Al) A2->A3, A3->A4 Akkus schieben (ohne Al) A4->A3, A3->A2 Akku 1 und Akku 2 tauschen Akku 1 Bytes 0 und 1 tauschen Akku 1 alle Bytes tauschen 3.7 Schiebe- und Rotieroperationen Operation SLW SLD SRW SRD SSI SSD RLD RLDA RRDA RRD Operand konst - Funktionsbeschreibung Schieben links wortweise Schieben links doppelwortweise Schieben rechts wortweise Schieben rechts doppelwortweise Schieben mit Vorzeichen wortweise Schieben mit Vorzeichen doppelwortweise Rotieren links doppelwortweise Rotieren links durch Al Rotieren rechts durch Al Rotieren rechts doppelwortweise um feste Anzahl von Bits Schiebezahl im Akku 2 7 3.8 Zeitoperationen Operation SI SV SE SS SA R FR Operand T T T T T T T Funktionsbeschreibung Starten als Impuls Starten als verlängerter Impuls Starten als Einschaltverzögerung Starten als speichernde Einschaltverzögerung Starten als Ausschaltverzögerung Zeitfunktion rücksetzen Zeitfunktion freigeben 3.9 Zähloperationen Operation Operand ZV ZR S R FR Z Z Z Z Z Funktionsbeschreibung Zählfunktion vorwärtszählen Zählfunktion rückwärtszählen Zählfunktion setzen Zählfunktion rücksetzen Zählfunktion freigeben 3.10 Wortoperationen Operation UW UD 0W OD XOW XOD Operand konst - Funktionsbeschreibung UND wortweise UND doppelwortweise ODER wortweise ODER doppelwortweise Exklusiv-ODER wortweise Exklusiv-ODER doppelwortweise Mit einer Wort- bzw. Doppelwortkonstanten mit dem Inhalt von Akku 2 3.11 Arithmetische Operationen Operation ==I <>I >I >=I <I <=I ==D <>D >D >=D <D <=D ==R <>R >R >=R Operand Funktionsbeschreibung Integervergleich GLEICH Integervergleich UNGLEICH Integervergleich GRÖSSER Integervergleich GRÖSSER GLEICH Integervergleich KLEINER Integervergleich KLEINER GLEICH Doppel-Integervergleich GLEICH Doppel-Integervergleich UNGLEICH Doppel-Integervergleich GRÖSSER Doppel-Integervergleich GRÖSSER GLEICH Doppel-Integervergleich KLEINER Doppel-Integervergleich KLEINER GLEICH REAL-Zahl Vergleich GLEICH REAL-Zahl Vergleich UNGLEICH REAL-Zahl Vergleich GRÖSSER REAL-Zahl Vergleich GRÖSSER GLEICH 8 Operation <R <=R SIN COS TAN ASIN ACOS ATAN SQR SQRT EXP LN +I -I *I /I +D -D *D /D +R -R *R /R MOD + +P# DEC INC Operand konst konst Funktionsbeschreibung REAL-Zahl Vergleich KLEINER REAL-Zahl Vergleich KLEINER GLEICH Sinus Cosinus Tangens Arcussinus Arcuscosinus Arcustangens Quadrieren Wurzel (Radizieren) Exponent zur Basis e Natürlicher Logarithmus Integer Addition Integer Subtraktion Integer Multiplikation Integer Division Doppel-Integer Addition Doppel-Integer Subtraktion Doppel-Integer Multiplikation Doppel-Integer Division Realzahl Addition Realzahl Subtraktion Realzahl Multiplikation Realzahl Division Doppel-Integer Division (Rest) Addieren einer Konstante Addieren eines Zeigers Dekrementieren Inkrementieren 3.12 Umwandlungsfunktionen Operation ITD ITB DTB DTR BTI BTD RND RND* RND TRUNC INV1 INVD NEGI NEGD NEOR ABS Operand Funktionsbeschreibung Wandlung NT nach DNT Wandlung NT nach BCD Wandlung DNT nach BCD Wandlung DNT nach REAL Wandlung BCD nach NT Wandlung BCD nach DINT Rundung zur nächsten ganzen Zahl Rundung zur nächstgrößeren Zahl Rundung zur nächstkleineren Zahl ohne Rundung INT-Einerkomplement DINT-Einerkomplement INT-Negation DINT-Negation REAL-Negation REAL-Betragsbildung 9 3.13 Sprungoperationen Operation SPA SPB SPBB SPBN SPBNB SPBI SPBIN SPZ SPN SPP SPPZ SPM SPMZ SPU SPO SPS SPL LOOP Operand Ziel Ziel Ziel Ziel Ziel Ziel Ziel Ziel Ziel Ziel Ziel Ziel Ziel Ziel Ziel Ziel Ziel Ziel Funktionsbeschreibung Sprung absolut (unbedingt) Sprung wenn VKE = 1 Sprung wenn VKE = 1 (VKE speichern) Sprung wenn VKE = 0 Sprung wenn VKE = 0 (VKE speichern) Sprung wenn BIE = 1 Sprung wenn BIE = 0 Sprung bei Vergleichsergebnis = 0 Sprung bei Vergleichsergebnis != 0 Sprung bei Vergleichsergebnis > 0 Sprung bei Vergleichsergebnis >= 0 Sprung bei Vergleichsergebnis < 0 Sprung bei Vergleichsergebnis <= 0 Sprung bei Vergleichsergebnis ungültig Sprung bei Overflow Sprung bei speicherndem Overflow Sprungverteiler Schleife 3.14 Aufruf-Operationen Operation CALL FB CALL FC CALL SFB CALL SFC UC FB CC FB UC FC CC FC BEA BEB BE AUF Operand DB DI TDB Funktionsbeschreibung Sprung zum Funktionsbaustein Sprung zur Funktion Sprung zum System-Funktionsbaustein Sprung zur System-Funktion Funktionsbaustein absolut aufrufen Funktionsbaustein bedingt aufrufen Funktion absolut aufrufen Funktion bedingt aufrufen Bausteinende absolut Bausteinende bedingt Bausteinende Datenbaustein öffnen Instanz-Datenbaustein öffnen Datenbausteinregister tauschen 3.15 Indirekte Adressierung Operation LAR1 LAR2 LAR1 Operand MD LD DBD DID - Funktionsbeschreibung AR1 laden AR2 laden mit Merkerdoppelwort mit Lokaldatendoppelwort mit Datenbausteindoppelwort mit Instanz-Datenbausteindoppelwort AR1 laden mit Inhalt aus AKKU1 10 Operation LAR2 LAR1 LAR1 LAR2 TAR1 TAR2 Operand AR2 P# P# MD LD DBD DID TAR1 TAR2 TAR1 TAR +AR1 +AR2 +AR1 +AR2 AR2 P# P# P# Funktionsbeschreibung AR2 laden mit Inhalt aus AKKU1 AR1 laden mit Inhalt aus A2 AR1 laden mit Zeiger AR2 laden mit Zeiger Schreibe AR1 Schreibe AR2 in Merkerdoppelwort in Lokaldatendoppelwort in Datenbausteindoppelwort in Instanz-Datenbausteindoppelwort Schreibe AR1 in AKKU1 Schreibe AR2 in AKKU1 AR1 nach AR2 transferieren AR1 mit AR2 tauschen Addiere AKKU1 zu AR1 Addiere AKKU1 zu AR2 Addiere Pointer zu AR1 Addiere Pointer zu AR2 3.16 Sonstige Operationen Operation NOP NOP BLD Operand 0 1 konst Funktionsbeschreibung Nulloperation Bildaufbau 11 4. Aufbau des SPS-Speichers der PCMatic® ® Der Speicher der PCMatic PLC416 gleicht im Wesentlichen dem Speicher der Siemens-Steuerung S7-416. Beachten Sie, dass bei einem Zugriff von Windows-Programmen auf diesen Speicher das niederwertige mit dem höherwertigen Byte getauscht werden muss. 4.1 Aufbau der Systemdaten PCMatic® Der Aufbau der Systemdaten in den Systemdatenbausteinen gleicht im Wesentlichen dem Aufbau der Systemdaten in der Siemens-Steuerung S7-416. 4.2 Integrierte Organisationsbausteine Die in der folgenden Tabelle aufgeführten Organisationsbausteine werden ausgeführt, sofern sie programmiert sind: OB1 Hauptprogramm OB10 – OB17 Uhrzeitalarm OB20 – OB23 Verzögerungsalarm OB30 – OB38 Zeitbausteine (zyklischer Aufruf) OB80 – OB87 Fehlerbausteine OB90 Hintergrundbearbeitung OB100/OB101 Neustart bzw. Wiederanlauf OB121/OB122 Programmierfehler 4.3 Integrierte Systemfunktionen ® In der PCMatic sind die für eine Software-SPS relevanten Systemfunktionen (SFC) integriert. Die folgende Tabelle zeigt (in numerischer Aufzählung) die vorhandenen SFC's. SFC-Nr SFC-Name Kurzbeschreibung SFC0 SET_CLK Setzen der Systemzeit SFC1 READ_CLK Lesen der Systemzeit SFC20 BLKMOV SPS-Variable in Zielbereich kopieren SFC21 FILL SPS-Variable in Zielbereich vorbesetzen SFC22 CREAT_DB Anlegen von Datenbausteinen SFC23 DEL_DB Datenbaustein löschen SFC24 TEST_DB Attribute eines Datenbausteins testen SFC25 COMPRESS Ladespeicher komprimieren SFC28 SET_TINT Stellen eines Uhrzeitalarms SFC29 CAN_TINT Uhrzeitalarm anhalten (nicht ausführen) 12 SFC-Nr SFC-Name Kurzbeschreibung SFC30 ACT_TINT Uhrzeitalarm freigeben SFC31 QRY_TINT Status des Uhrzeitalarms SFC32 SRT_DINT Starte Verzögerungsalarm SFC33 CAN_DINT Unterbreche Verzögerungsalarm SFC34 QRY_DINT Statusabfrage des Verzögerungsalarms SFC39 DIS_IRT Sperren der Asynchron- und Alarmfehlerbearbeitung SFC40 EN_IRT Freigeben der Asynchron- und Alarmfehlerbearbeitung SFC41 DIS_AIRT Verzögerung höherpriorer Asynchron- und Alarmfehlerbearbeitung SFC42 EN_AIRT Freigabe höherpriorer Asynchron- und Alarmfehlerbearbeitung SFC43 RE_TRIGR Nachtriggern des Watchdogs SFC51 RDSYST Systemzustand über SZL auslesen SFC64 TIME_TCK Timer Tick 4.4 Integrierte Systembausteine ® In der PCMatic sind die für eine Software-SPS relevanten Systembausteine (SFB) integriert. Folgende Systembausteine werden unterstützt: SFB-Nr SFB-Name Kurzbeschreibung SFB0 CTU Vorwärtszähler (Counter Up) SFB1 CTD Rückwärtszähler (Counter Down) SFB2 CTUD Vorwärts- und Rückwärtszähler SFB3 TP Zeitimpuls SFB4 TON Einschaltverzögerung SFB5 TOF Ausschaltverzögerung SFB32 DRUM Schaltwerk zur Steuerung von Schrittketten 4.5 Remanenz (PCM-210/310) Bei der PCM-210 und 310 erfolgt die Remanenz über eine integrierte USV. Wenn die Spannungsversorgung zusammenbricht wird sofort der Akku eingeschaltet. Alle nicht notwendigen Systeme, wie Feldbusmodul und Statusanzeigen werden abgeschaltet. Ein Spannungsausfall wird durch die blinkende ‘Fail’-LED angezeigt. In dieser Zeit wird der aktuelle SPS-Zustand (kompletter SPS-Speicher) auf der Flash-Disk abgelegt. Anschließend schaltet sich die PCMatic selbsttätig ab. Bei Spannungswiederkehr wird der abgelegte SPS-Speicher wieder ins RAM geladen. 13 5. PC-Kommunikation In diesem Kapitel werden die Grundfunktionen erläutert, die es erlauben, unter dem WINDOS-Betriebssystem des PC in die PCmatic zu schreiben bzw. von der PCmatic zu lesen. 5.1 Low Level Funktionen Für die Kommunikation unter Windows steht eine 32-Bit Dynamic Link Library PCM200.DLL zur Verfügung, die die Funktionen für die Kommunikation mit der PCmatic enthält: Die Funktionen PEEK/POKE lesen und schreiben die Daten sofort, ohne auf die Konsistenz der Daten zu achten. Insbesondere funktionieren PEEK/POKE DB auch, wenn der DB im Moment bearbeitet wird (aufgeschlagen ist). Falls die Daten unbedingt konsistent bleiben müssen, muss der Anwender selber einen passenden Verriegelungs-Mechanismus einbauen. 14 5.2 Übersicht der Funktionalität FUNKTION BESCHREIBUNG Einmalige Übertragung PEEK BS Lesen von 1 bis 256 Byte aus den Systemdatenbereich der PCmatic POKE BS Schreiben von 1 bis 256 Byte aus dem Systemdatenbereich der PCmatic PEEK DB Lesen von 1 bis 256 Worte aus einem beliebigen Bereich eines wählbaren Datenbausteins der SPS. POKE DB Schreiben von 1 bis 256 Worte in einen beliebigen Bereich eines wählbaren Datenbausteins der SPS. PEEK MERKER Lesen von 1 bis 256 Merker aus einem beliebigen Merkerbereich. POKE MERKER Schreiben von Merkerbereich. PEEK PAE Lesen von 1 bis 512 Byte aus dem Prozessabbild der Eingänge. POKE PAA Schreiben von 1 bis 512 Byte in das Prozessabbild der Ausgänge. SETSTATE Setzt SPS in RUN/STOP. GETSTATE Lesen SPS Zustand RUN/STOP. RESET RESET Feldbus. 15 1 bis 256 Merker in einen beliebigen 5.2.1 Installation Zu der PCM200.DLL gehören folgende Dateien: KIAT4.DLL KITHARA.REG KKRNL.SYS KKRNL.VXD Dll für I/O und Speicherzugriffe unter W95/98 und NT Einträge in Registrierungsdatenbank (über Doppelklick ausführen) Systemtreiber für I/O und Speicherzugriffe für NT muß in das WINNT\SYSTEM32 Verzeichnis Systemtreiber für I/O und Speicherzugriffe für W95/98 muß in das WINNT\SYSTEM Verzeichnis 5.2.2 Funktionen der DLL InitPCM(int nPCMNo, DWORD PCM_ADRESS) Initialisiert den Zugriff auf eine Karte. nPCMNo Nummer der PCM Karte (0 bis 3) PCM_ADRESS Basisadresse der PCM z. B.D0000 ClosePCM(int nPCMNo) Lößt die Verbindung zu einer Karte. nPCMNo Nummer der PCM Karte (0 bis 3) SetState(int nPCMNo, short int State, BYTE bKanal) Setzt den Status einer Karte. nPCMNo Nummer der PCM Karte (0 bis 3) State Status der Karte 0=Stop, 1=RUN bKanal Kanalnummer 1 oder 2 GetState(int nPCMNo, BYTE bKanal) Gibt den Status einer Karte zurück. nPCMNo Nummer der PCM Karte (0 bis 3) State Status der Karte 0 = Stop, 1=RUN bKanal Kanalnummer 1 oder 2 ResetSPS(int nPCMNo, BYTE bKanal) Resetet eine Karte. nPCMNo Nummer der PCM Karte (0 bis 3) bKanal Kanalnummer 1 oder 2 16 PokeDB(int nPCMNo, unsigned short dbNo, unsigned short startWord, unsigned short nofWords, unsigned short *buffer, BYTE bKanal) Schreibt Daten in einen Datenbaustein nPCMNo Nummer der PCM Karte (0 bis 3) dbNo Nummer des Datenbausteins startWord Offset in Worten (16Bit) ab dem geschrieben wird nofWords Anzahl der Worte, die geschrieben werden buffer Zeiger auf den Buffer mit den zu schreibenden Daten bKanal Kanalnummer 1 oder 2 PeekDB(int nPCMNo, unsigned short dbNo, unsigned short startWord, unsigned short nofWords, unsigned short *buffer, BYTE bKanal) Ließt Daten aus einem Datenbaustein nPCMNo Nummer der PCM Karte (0 bis 3) dbNo Nummer des Datenbausteins startWord Offset in Worten (16Bit) ab dem gelesen wird nofWords Anzahl der Worte, die gelesen werden buffer Zeiger auf den Buffer in dem die Daten abgelegt werden (IntelFormat) bKanal Kanalnummer 1 oder 2 PokePAAByte(int nPCMNo, unsigned short startByte, unsigned short nofBytes, char *buffer, BYTE bKanal) Schreibt Daten in den Ausgangsdatenbereich nPCMNo Nummer der PCM Karte (0 bis 3) startByte Offset in Bytes ab dem geschrieben wird nofBytes Anzahl der Bytes, die geschrieben werden buffer Zeiger auf den Buffer mit den zu schreibenden Daten bKanal Kanalnummer 1 oder 2 PeekPAEByte(int nPCMNo, unsigned short startByte, unsigned short nofBytes, char *buffer, BYTE bKanal) Ließt Daten aus dem Eingangsdatenbereich nPCMNo Nummer der PCM Karte (0 bis 3) startByte Offset in Bytes ab dem gelesen wird nofBytes Anzahl der Bytes, die gelesen werden buffer Zeiger auf den Buffer in dem die Daten abgelegt werden (IntelFormat) bKanal Kanalnummer 1 oder 2 PokeMrkByte(int nPCMNo, unsigned short startByte, unsigned short nofBytes, char *buffer, BYTE bKanal) Schreibt Daten in den Merkerdatenbereich nPCMNo Nummer der PCM Karte (0 bis 3) startByte Offset in Bytes ab dem geschrieben wird nofBytes Anzahl der Bytes, die geschrieben werden buffer Zeiger auf den Buffer mit den zu schreibenden Daten bKanal Kanalnummer 1 oder 2 PeekMrkByte(int nPCMNo, unsigned short startByte, unsigned short nofBytes, char *buffer, BYTE bKanal) Ließt Daten aus dem Merkerdatenbereich nPCMNo Nummer der PCM Karte (0 bis 3) startByte Offset in Bytes ab dem gelesen wird nofBytes Anzahl der Bytes, die gelesen werden buffer Zeiger auf den Buffer in dem die Daten abgelegt werden (IntelFormat) bKanal Kanalnummer 1 oder 2 17 PokeBS(int nPCMNo, unsigned short startByte, unsigned short nofWords, char *buffer, BYTE bKanal) Schreibt Daten in den Systemdatenbereich nPCMNo Nummer der PCM Karte (0 bis 3) startByte Offset in Bytes ab dem geschrieben wird nofWords Anzahl der Worte (16Bit), die geschrieben werden buffer Zeiger auf den Buffer mit den zu schreibenden Daten bKanal Kanalnummer 1 oder 2 PeekBS(int nPCMNo, unsigned short startByte, unsigned short nofWords, char *buffer, BYTE bKanal) Ließt Daten aus dem Systemdatenbereich nPCMNo Nummer der PCM Karte (0 bis 3) startByte Offset in Bytes ab dem gelesen wird nofWords Anzahl der Worte(16Bit), die gelesen werden buffer Zeiger auf den Buffer in dem die Daten abgelegt werden (IntelFormat) bKanal Kanalnummer 1 oder 2 Alle Funktionen geben einen short int (16Bit) Wert zurück. Folgende Rückgabewerte sind definiert: 0 1 5 10 15 20 25 SPS in Stop (nur bei GetState()) Kein Fehler bzw. (SPS im RUN bei GetState()) Falsche PCM Nummer (nicht 0 bis 3) Falsche Parameter (Funktion unterstützt die Parameter nicht) Checksummenfehler bei der Datenübertragung TimeOut (Karte antwortet nicht) Kanalnummer falsch (nicht 1 oder 2) Über jeden Kanal (1 oder 2) kann mit der Karte kommuniziert werden. 18 6. Betrieb der PCmatic Karte 6.1 Funktionsbausteine Nach der Installation Funktionsbausteine: erscheinen im SPS-Bausteinverzeichnis folgende zusätzliche SFB 252 : Abfrage Feldbus-Status SFB 210 : Steuer-SFB 6.1.1 Abfrage Feldbus-Status Zur Abfrage des Feldbus Status muss regelmäßig der SFB252 aufgerufen werden (z. B. aus dem OB1). Der SFB besitzt folgende Parameter : Name Art Typ Funktion RDY OUT BOOL Feldbusmodul ist bereit RUN OUT BOOL Kommunikation läuft Der Status-SFB muss mit einem Instanz-Datenbaustein aufgerufen werden: CALL SFB252, DB252 OUT0:=M10.0 //RDY OUT1:=M10.1 //RUN 6.1.2 Steuer-SFB Zum Ausführen von speziellen Funktionen der Feldbusmoduls dient der Steuer-Funktionsbaustein. Der Steuerbaustein wird folgendermaßen aufgerufen: AUF L L CALL DB <Steuerbaustein> <Parameter> <Funktionsnummer> SFB 210 // Wird nicht bei allen Funktionen benötigt // ACCU2, wird nicht bei allen Funktionen benötigt // ACCU1, siehe nachfolgende Abschnitte // Steuerbaustein aufrufen // ACCU 1 enthält Rückgabeparameter // ACCU 2 enthält Fehlercode // VKE ist gesetzt, wenn die Funktion erfolgreich abgeschlossen // wurde Der Steuer-SFB benötigt keinen Instanz-Datenbaustein, die Parameterübergabe erfolgt lediglich über die Register ACCU 1 und ACCU 2. 19 6.1.3 Übersicht der Steuer-SFB Funktionen Fkt-Nr. 102 125 126 130 131 132 133 134 135 136 137 139 140 141 142 143 Funktionsbeschreibung Anzahl der digitalen Ein/Ausgänge einstellen Prozesseingänge lesen Prozessausgänge schreiben Lese globale Diagnose-Bits Lese Busstatus Lese fehlerhafte Busadresse Lese Fehlernummer Lese Status-Bits Lese Diagnose-Bits Dualportmemory lesen Dualportmemory schreiben Unterdrücken Watchdog Watchdog triggern HostFlags lesen DevFlags lesen DevFlags schreiben 6.1.3.1 Fkt 102 Anzahl der digitalen Ein-/Ausgänge einstellen Mit dieser Funktion können Sie die Anzahl der digitalen Ein/Ausgänge einstellen. Voreingestellt sind ® bei der PCMatic 512 Byte digitale Ein/Ausgänge. Sie können mit dieser Funktion die Anzahl der digitalen Ein- und Ausgänge auf die erforderliche Anzahl reduzieren. Dies bewirkt eine ® Beschleunigung der PCMatic . Falls die Funktion nicht erfolgreich abgeschlossen wurde, ist das VKE nicht gesetzt. Im Accu 2 steht der Fehlercode: 1 = Anzahl zu groß Beispiel: L 50 // Es sind nur 50 digitale E/A’s erforderlich L 102 // Anzahl der digitalen E/A’s einstellen CALL SFB 210 20 6.1.3.2 Fkt 125 Prozesseingänge lesen Mit dieser Funktion können die Prozesseingänge in einen Datenbaustein geschrieben werden. Hiermit können alle verfügbaren Peripheriebytes verwaltet werden. Diese Funktion schreibt asynchron. Bei wortorientierten Eingängen besteht keine Datenkonsistenz und darf daher nur mit byteorientierten Eingängen benutzt werden. Beispiel: AUF DB70 // Datenbaustein mit den Eingabedaten L W#16#0100 // Anfangsadresse der Prozesseingänge L 125 // Lese Prozesseingänge CALL SFB 210 Nach erfolgreichem Abschluss der Funktion steht im Accu 1 und Accu 2 eine 0 und das VKE ist gesetzt. Falls die Funktion nicht erfolgreich abgeschlossen wurde, ist das VKE nicht gesetzt. Im Accu 2 steht der Fehlercode: 1 = Datenbaustein nicht vorhanden 2 = Datenbausteingröße ungleich der Datenbereichsgröße 6.1.3.3 Fkt 126 Prozessausgänge schreiben Mit dieser Funktion kann ein Datenbaustein in die Prozessausgänge geschrieben werden. Hiermit können alle verfügbaren Peripheriebytes verwaltet werden. Diese Funktion schreibt asynchron: Bei wortorientierten Ausgängen besteht keine Datenkonsistenz und die Funktion darf daher nur byteorientiert benutzt werden. Beispiel: AUF DB70 // Datenbaustein mit den Ausgabedaten L W#16#0100 // Anfangsadresse im Prozessausgangsbereich L 126 // Prozessausgänge schreiben CALL SFB 210 Nach erfolgreichem Abschluss der Funktion steht im Accu 1 und Accu 2 eine 0 und das VKE ist gesetzt. Falls die Funktion nicht erfolgreich abgeschlossen wurde, ist das VKE nicht gesetzt. Im Accu 2 steht der Fehlercode: 1 = Datenbaustein nicht vorhanden 2 = Datenbaustein passt nicht in den Prozessausgangsbereich 21 6.1.3.4 Fkt 130 Lese globale Diagnosebits Mit dieser Funktion können die globalen Diagnosebits ausgelesen werden. Aufbau für ein Profibus-Feldbusmodul: Bit 0 1 2 3 4 5 6 7 Profibusmeldung Parameterfehler Baugruppe wegen Busfehler in Auto_Clear_Modus verzweigt Mindestens ein Slave ist nicht in der Datentransferphase oder meldet schweren Fehler Schwerer Busfehler, es ist kein weiterer Datentransfer möglich Kurzschluss auf dem Bus Host ist nicht bereit Reserviert Reserviert Aufbau für ein Interbus-Feldbusmodul: Bit 0 1 2 3 4 5 6 7 Interbusmeldung Parameterfehler Systemfehler aufgetreten mindestens ein Slave meldet Modulfehler mindestens eine defekte W1-Schnittstelle mindestens eine defekte W2-Schnittstelle Reserviert Reserviert Reserviert Beispiel: L CALL T 130 SFB 210 MB 0 // Lese globale Diagnosebits // Diagnosebits 6.1.3.5 Fkt 131 Lese Busstatus Mit dieser Funktion kann der Busstatus ausgelesen werden. Aufbau für ein Interbus-Feldbusmodul: Bit Interbusmeldung 0 Bussegmente sind abgeschaltet 1 Reserviert 2 Reserviert 3 Reserviert 4 Reserviert 5 Reserviert 6 Reserviert 7 Reserviert 22 Beispiel: L CALL T 131 SFB 210 MB 2 // Lese Bus-Status // Bus-Status 6.1.3.6 Fkt 132 Lese fehlerhafte Busadresse Mit dieser Funktion kann die fehlerhafte Busadresse ausgelesen werden. Beispiel: L CALL T 132 SFB 210 MB 4 // Lese fehlerhafte Busadresse // Fehlerhafte Busadresse 6.1.3.7 Fkt 133 Lese Fehlernummer Mit dieser Funktion kann die Fehlernummer ausgelesen werden. Beispiel: L CALL T 133 SFB 210 MB 5 // Lese Fehlernummer // Fehlernummer Fehlernummern bei InterBus-S wenn Busadresse = 255: Fehler- Beschreibung nummer 0 no mistakes appear Fehlerort Abhilfe check warmstart parameters DEVICE is not configured via PCMCon contact technical support reduce connected device number wait until DEVICE does next ID-Scan automatically contact technical support wait until DEVICE does next ID-Scan automatically wait until DEVICE does next ID-Scan automatically 52 Unknown process data handshake warmstart 56 no device table found DEVICE 57 IBS controller is defective and do not respond DEVICE 102 too many devices are connected to the DEVICE network 103 configuration has changed during the ID-Scan network 104 network 105 set up the actual network configuration after the ID-Scan failed device which was just scanned produce timeout now 106 Expected device is missing, while setting up the configuration network 23 network Fehlernummern bei InterBus-S wenn Busadresse = 255: Fehler- Beschreibung nummer 107 configuration has changed during runtime, a running device is not responding any more 108 no connection to the Interbus Fehlerort Abhilfe network check your network and wait for the next automatic ID-Scan check the connection between DEVICE and first network device network 220 HOST watchdog failed, timeout occured HOST check the HOST program if it is running and triggering the soft watchdog 221 HOST program does not acknowledge the process data indication in time when process data handshake mode 0 is used error in iBS controller communication HOST check if the HOSt isprogram is fast enough to acknowledge fast bus cycles in synchronous mode contact technical support 224 DEVICE Fehlernummern bei InterBus-S wenn Busadresse <> 255: Fehler- Beschreibung nummer 0 no error event 30 device was missing in the last activated network scan cycle Fehlerort Abhilfe device / configuration check if the configured module is present in the network or check wiring 31 device reports other identification code than the device / configured value configuration compare configured identification code of the module with the real present one 32 device reports other length code than the configured value device / configuration 33 further device at outgoing interface 1 detected which are not configured further device at outgoing interface 2detected which are not configured device was missing in the last activated network scan cycle device / configuration device / configuration device / configuration 36 device reports peripheral error device 37 device reports reconfiguration request device 38 device has detected a checksum error while data transmission device 40 defective outgoing interface 1 ( local bus branch or installation branch) defective outgoing interface 2( remote bus) device compare configured length code of the module with the real present one check the real configuration for these non configured devices check the real configuration for these non configured devices search the whole branch where the device is located for other configuration faults check if the power of the external pheriphery of this module is connected or if outputs producing short circuits reset the master DEVICE and the Interbus will be reconfigurated check surrounding of the device if some other electrical disturbing devices can be found check the wiring of the corresponding IB interface check the wiring of the corresponding IB interface check surrounding of the device if some other electrical disturbing devices can be found 34 35 41 42 device device has not reported ist ident and length cod network right in the last made network scan cycle 24 Fehlernummern bei InterBus-S wenn Busadresse <> 255: Fehler- Beschreibung nummer 43 device missed during runtime, because of interrupted Interbus connection 44 45 46 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 the contact to this module was lost, because of an interrupted network connection in an local bus branch in the last made network scan cycle during runtime, this device was the physically last one to which the DEVICE could establish the Interbus scan the connection was force stopped double address configured Fehlerort Abhilfe network check the network wiring between this device and the physically present device before check the network wiring between this device and the physically present device before check the network wiring between this device and the physically present device behind local bus branch network HOST program DEVICE configuration device data length faulty DEVICE configuration process data configuration length faulty DEVICE configuration additional table length faulty DEVICE configuration PCP data length faulty DEVICE configuration size of whole data set inconsistent DEVICE configuration additional table inconsistent DEVICE configuration maximum output process data offset DEVICE overstepped configuration maximum input process data offset DEVICE overstepped configuration maximum offset adresses overstepped > 255 DEVICE configuration module count in comparison to the offsets DEVICE inconsistent configuration output module number unequal output offset DEVICE number configuration input module number unequal input offset DEVICE number configuration real output length unequal to configured DEVICE modules length configuration real input length unequal to configured modules DEVICE length configuration overlapped output data configured DEVICE configuration overlapped input data configured DEVICE configuration output device has also defined input modules DEVICE configuration input device has also defined output modules DEVICE configuration output device has also defined input modules DEVICE configuration input device has also defined output modules DEVICE configuration device is configured to impossible installation DEVICE depth configuration configured ident code not supported by the DEVICE DEVICE configuration 25 contact technical support contact technical support contact technical support contact technical support contact technical support contact technical support contact technical support contact technical support contact technical support contact technical support contact technical support contact technical support contact technical support contact technical support contact technical support contact technical support contact technical support contact technical support contact technical support contact technical support contact technical support contact technical support contact technical support contact technical support Fehlernummern bei PROFIBUS-DP: Fehler- Beschreibung nummer 0 no mistakes appear Fehlerort Abhilfe contact technical support contact technical support contact technical support contact technical support execute download of data base again contact technical support execute download of data base again contact technical support check projected addresses check projected addresses 50 USR_INTF-Task not found device 51 no global data-field device 52 FDL-Task not found device 53 PLC-Task not found device 54 non existing master parameters device 55 faulty parameter-value in the master parameters non existing slave parameters project planning 56 57 project planning 63 64 faulty parameter-value in a slave parameters project planning datafile double slave address project planning projected send process data offset address of a project planning participant outside the allowable border of 0255 projected receive process data offset address project planning of a participant outside the allowable border of 0- 255 Data-areas of slaves are overlapping in the project planning send process data Data-areas of slaves are overlapping in the project planning receive process data unknown process data handshake warm start free RAM exeeded device 65 faulty slave parameter data sets 202 no segment for the treatment free project planning device 212 faulty reading of a data base device 213 structure-surrender to operating system faulty device 2 station reports overflow master telegram 3 request function of master is not activated in the station no answer-data, although the slave must reponse with data master telegram slave 17 no response of the station slave 18 master not into the logical token ring device 58 59 60 61 62 9 26 check projected addresses check projected addresses check projected addresses check warm start parameters contact technical support contact technical support contact technical support execute download of data base again contact technical support check length of configured slave configuration or parameter data. check slave if PROFIBUS-DP norm compatible check configuration data of the station and compare it with the physical I/O data length check bus cable, check bus address of slave check FDL-Address of master or highest-station-Address of other master systems. examine bus cableing to bus short circuits. 6.1.3.8 Fkt 134 Lese Statusbits Mit dieser Funktion können die Statusbits ausgelesen werden. Im Accu 2 steht vor dem Aufruf die Bytenummer (0...15). Nach dem Aufruf der Funktion befindet sich im niederwertigen Byte des Accu 1 der Inhalt des angewählten Statusbytes. Wenn ein Bit im Statusbyte ‘1’ ist, ist der entsprechende Slave aktiv, bei ‘0’ inaktiv. Beispiel: L L CALL T W#16#03 134 SFB 210 MB 6 // Byte Nummer 3 // Lese Statusbyte // Statusbyte 6.1.3.9 Fkt 135 Lese Diagnosebits Mit dieser Funktion können die Diagnosebits ausgelesen werden. Im Accu 1 steht vor dem Aufruf die Bytenummer (0...15). Nach dem Aufruf der Funktion befindet sich im niederwertigen Byte des Accu 1 der Inhalt des angewählten Diagnosebytes. Wenn ein Bit im Statusbyte ‘1’ ist, hat sich der Zustand des entsprechenden Slaves geändert (von aktiv auf inaktiv oder umgekehrt). Beispiel: L L CALL T W#16#03 135 SFB 210 MB 7 // Byte Nummer 3 // Lese Diagnosebyte // Diagnosebyte 6.1.3.10 Fkt 136 Dualportmemory lesen Mit dieser Funktion kann ein Bereich aus dem Dualportmemory der Feldbusmodulsin einen Datenbaustein geschrieben werden. Es wird grundsätzlich mit dem 1. Byte im Datenbaustein begonnen. Die Länge des Bereiches steht im Accu 2-L und die relative Adresse im Dualportmemory im Accu 2-H. Beispiel: AUF L L CALL DB 60 D#16#0100000A 136 SFB 210 // Datenbaustein mit den Eingabedaten // 10 Bytes von der relativen Adresse 100H kopieren // Lese Diagnosebyte // Es werden 10 Bytes von der relativen Adresse 0x100H // in den Datenbaustein geschrieben. Nach erfolgreichem Abschluss der Funktion steht im Accu 1 und Accu 2 eine 0 und das VKE ist gesetzt. 27 Falls die Funktion nicht erfolgreich abgeschlossen wurde, ist das VKE nicht gesetzt. Im Accu 2 steht der Fehlercode: 1 = Datenbaustein nicht vorhanden 2 = Länge ist zu groß. (Passt nicht ins Dualportmemory) 3 = Länge ist zu groß. (Datenbaustein zu klein) 6.1.3.11 Fkt 137 Dualportmemory schreiben Mit dieser Funktion kann ein Bereich aus einem Datenbaustein in das Dualportmemory der Feldbusmodulsgeschrieben werden. Es wird grundsätzlich mit dem 1. Byte im Datenbaustein begonnen. Die Länge des Bereiches steht im Accu 2-L und die relative Adresse im Dualportmemory im Accu 2-H. Beispiel: AUF L L CALL DB 60 D#16#0100000A 137 SFB 210 // Datenbaustein mit den Ausgabedaten // 10 Bytes auf die relativen Adresse 100H kopieren // Schreibe Dualportmemory // Es werden 10 Bytes auf die relativen Adresse 0x100H // im Dualportmemory geschrieben Nach erfolgreichem Abschluss der Funktion steht im Accu 1 und Accu 2 eine 0 und das VKE ist gesetzt. Falls die Funktion nicht erfolgreich abgeschlossen wurde, ist das VKE nicht gesetzt. Im Accu 2 steht der Fehlercode: 1 = Datenbaustein nicht vorhanden 2 = Länge ist zu groß. (Passt nicht ins Dualportmemory) 6.1.3.12 Fkt 139 Unterdrücken Watchdog Diese Funktion unterdrückt die komplette Ablaufsteuerung auf der CIF-Karte. Beispiel: L CALL T 139 SFB 210 MB 5 // Funktionsnummer // Fehlernummer 28 6.1.3.13 Fkt 140 Watchdog triggern Diese Funktion ist erforderlich, wenn die Ablaufsteuerung mit der Funktion 139 unterdrückt wurde. Beispiel: L CALL T 140 SFB 210 MB 5 // Funktionsnummer // Fehlernummer 6.1.3.14 Fkt 141 Hostflags lesen Mit dieser Funktion können die Hostflags ausgelesen werden. Aufbau : Bit 0 1 2 3 4 5 6 7 Hostflag - Meldung HostCom: Auftragsbit für HostMailbox DevAck: Quittungsbit für DevMailbox PdAck: E/A-Datensynchronisationsbit Host reserviert reserviert Com: Nutzdatentransferphase für mindestens ein Modul aktiv Run: Parameterdaten gültig, CIF zur Kommunikation bereit Ready: Gerät läuft, kein Basis-Initialisierungsfehler Beispiel: L CALL T 141 SFB 210 MB 8 // Lese Host-Flags // Host-Flags 6.1.3.15 Fkt 142 DevFlags lesen Mit dieser Funktion können die DevFlags ausgelesen werden. Aufbau : Bit 0 1 2 3 4 5 6 7 Deviceflag - Meldung HostAck: Quittungsbit für HostMailbox DevCom: Auftragssbit für DevMailbox PdCom: E/A-Datensynchronisationsbit Dev reserviert reserviert NotReady: Busbetrieb anhalten (Module im Reset) oder freigeben Init: Zurücksetzen des CIF mit Übernahme der Parameter aus dem DPM Reset: Zurücksetzen des CIF 29 Beispiel: L CALL T 142 SFB 210 MB 8 // Lese Host-Flags // Host-Flags 6.1.3.16 Fkt 143 DevFlags schreiben Mit dieser Funktion können die Deviceflags beschrieben werden. Aufbau : Bit 0 1 2 3 4 5 6 7 Deviceflag - Meldung HostAck: Quittungsbit für HostMailbox DevCom: Auftragssbit für DeviceMailbox PdCom: E/A-Datensynchronisationsbit Dev reserviert reserviert NotReady: Busbetrieb anhalten (Module im Reset) oder freigeben Init: Zurücksetzen des CIF mit Übernahme der Parameter aus dem DPM Reset: Zurücksetzen des CIF 6.2 Konfiguration des Feldbusmoduls mit dem Systemkonfigurator PCMCon ® Bevor Sie die Feldbuskomponenten mit der PCMatic ansprechen können, müssen Sie die FeldbusKonfiguration mit dem mitgelieferten Systemkonfigurator PCMCon einstellen. Falls Sie die voreingestellten Startadressen nicht über die Sondereinstellungen verändert haben, gelten die nachfolgenden Zuordnungen. Die Adressen der digitalen Peripherie legen Sie in den Adressbereich von 0..511. 30 7. ANHANG: PCM Dual-Port-Memory 7.1 Dual-Port-Memory Step5/Step7 7.1.1 Aufbau für Step5/Step7 Basisadresse PCM-Seite B000:0 ISA-Bus (PCM-210): Basisadresse Host-Seite einstellbar C000:0 - DC00:0 PCI-Bus (PCM-310): BAR3 (Änderungen für PCM-310 sind kursiv) Offset 0 - FA0 FB0 FB1 FB2-FB3 FC0 FA2 FA3 FA4 FA5 FA6 FA7 Funktion Videospeicher monochrom Keyboardübertragung ASCII-Zeichen Keyboardübertragung Scan-Code Tastaturstatus Kennung: "PCM200 #6108-02 V1.0 Lenze Digitec Controls GmbH 11.08.1998" Cursorspalte Cursorzeile Laufwerksbuchstabe des gespiegelten Laufwerks (z. B. E, F) ‘R’ = RTTarget; ‘M’ = MS-DOS ´5´ = STEP-5, ´7´ = STEP-7 0-3 für Schalter auf PCM-310 Festplattenspiegelung: FFA Anzahl Sektoren (Byte) FFB-FFE Start-Sektor Nummer (DWord) FFF Status für INT13 (FD=fertig, 0=Input, 1=Output, FE=1 Sek. fertig, aber noch nicht alle) 1000-11FF 0,5 KB Puffer für Sektoren Visualisierung: Genaue Beschreibung in DPM_DLL_STEP7.DOC 1200 1201-1202 1203-1204 1205-1206 1207 1208-2207 1. Kanal: Checksumme (Addition 1201-2207) DB-Nummer Start-Wort Anzahl der Worte Statusbyte 4096 Byte Puffer 2208 2209-220A 220B-220C 220D-220E 220F 2210-320F 2. Kanal: Checksumme (Addition 2209-320F) DB-Nummer Start-Wort Anzahl der Worte Statusbyte 4096 Byte Puffer 3210-3241 3242-36FF Firmwarename und Pfad z. B. "C:\HOST2.EXE",0 frei (1213 Byte) 3700-3EFF 3800-3FFF 3F00 3FFE 2 KB DPM vom Feldbusmodul (PCM-210) 2 KB DPM vom Feldbusmodul (PCM-310) Statusregister der PCM-200 Interrupt für Keyboard (FF=Zeichen vorhanden) 31 7.1.2 Kommunikationsbereich für Step5/Step7 Basisadresse ISA: (z. B.) D000:0 Basisadresse PCI wird automatisch vergeben Einmalige Übertragung Kanal 1 Statusbyte : Offset 1207 Werte: FD-Fertig (OK) F0-Checksummenfehler 0-Peek DB 2-Peek Systemdaten (nur STEP-5) 4-Peek Merker 6-Peek PAE 8-SetState 0x14-Peek S-Merker 0x0A-Reset Feldbus 0x14-Peek S-Merker (nur STEP-5) 0x0F-SPS-Program beenden FE-Error (ungültige Parameter) 1-Poke DB 3-Poke Systemdaten (nur STEP-5) 5-Poke Merker 7-Poke PAA 9-GetState 0x15-Poke S-Merker 0x17-Peek PAA 0x15-Poke S-Merker (nur STEP-5) Peek DB / Poke DB Offset (Hex) 1200 1201 1203 1205 1207 1208-2207 Bezeichnung Checksumme (Addition 1201-2207) DB-Nummer (Wort: 0-4095) (Intel-Format: Lo-Hi) Start-Wort (Wort: 0-32767) (Intel-Format: Lo-Hi) Anzahl der Worte - 1 (Wort: 0-2047) (Intel-Format: Lo-Hi) Statusbyte 4096 Byte Puffer (immer Hi-Lo) Peek Systemdaten / Poke Systemdaten (nur STEP-5) Offset (Hex) 1200 1203 1205 1207 1208-2207 Bezeichnung Checksumme (Addition 1201-2207) Start-Wort (Byte: 0-255) Anzahl der Worte - 1 (Byte: 0-127) Statusbyte 4096 Byte Puffer (immer Hi-Lo) Peek Merker / Poke Merker Offset (Hex) 1200 1203 1205 1207 1208-2207 Bezeichnung Checksumme (Addition 1201-2207) Start-Merker (Wort: 0-4095) Anzahl der Bytes - 1 (Wort: 0-4095) Statusbyte 4096 Byte Puffer (immer Lo-Hi) 32 Peek PAE / Poke PAA / Peek PAA Offset (Hex) 1200 1203 1205 1207 1208-2207 Bezeichnung Checksumme (Addition 1201-2207) Start-Byte (Wort:0-1FFF) (Intel-Format: Lo-Hi) Anzahl der Bytes - 1 (Wort: 0-3583) Statusbyte 4096 Byte Puffer (immer Lo-Hi) SetState / GetState Offset (Hex) 1205 1207 Bezeichnung 0=Stop 1=Run Statusbyte (FC – Schalter ist auf Stop) Reset Feldbus Offset (Hex) 1207 Bezeichnung Statusbyte Peek S-Merker / Poke S-Merker (nur STEP-5) Offset (Hex) 1200 1203 1205 1207 1208-2207 Bezeichnung Checksumme (Addition 1201-2207) Start-Merker (Wort: 0-4095) Anzahl der Bytes - 1 (Wort: 0-4095) Statusbyte 4096 Byte Puffer (immer Lo-Hi) Einmalige Übertragung Kanal 2 Statusbyte : Offset 220F Werte: FD-Fertig (OK) F0-Checksummenfehler 0-Peek DB 2-Peek Systemdaten (nur STEP-5) 4-Peek Merker 6-Peek PAE 8-SetState 0x14-Peek S-Merker (nur STEP-5) 0x0A-Reset Feldbus 0x0F-SPS-Program beenden FE-Error (ungültige Parameter) 1-Poke DB 3-Poke Systemdaten (nur STEP-5) 5-Poke Merker 7-Poke PAA 9-GetState 0x15-Poke S-Merker (nur STEP-5) 0x17-Peek PAA 33 Peek DB / Poke DB Offset (Hex) 2208 2209 220B 220D 220F 2210-320F Bezeichnung Checksumme (Addition 2209-320F) DB-Nummer (Wort: 0-4095) (Intel-Format: Lo-Hi) Start-Wort (Wort: 0-32767) (Intel-Format: Lo-Hi) Anzahl der Worte - 1 (Wort: 0-2047) (Intel-Format: Lo-Hi) Statusbyte 4096 Byte Puffer (immer Hi-Lo) Peek Systemdaten / Poke Systemdaten (nur STEP-5) Offset (Hex) 2208 220B 220D 220F 2210-320F Bezeichnung Checksumme (Addition 2209-320F) Start-Wort (Byte: 0-255) Anzahl der Worte - 1 (Byte: 0-127) Statusbyte 4096 Byte Puffer (immer Hi-Lo) Peek Merker / Poke Merker Offset (Hex) 2208 220B 220D 220F 2210-320F Bezeichnung Checksumme (Addition 2209-320F) Start-Merker (Wort: 0-4095) Anzahl der Bytes - 1 (Wort: 0-4095) Statusbyte 4096 Byte Puffer (immer Lo-Hi) Peek PAE / Poke PAA / Peek PAA Offset (Hex) 2208 220B 220D 220F 2210-320F Bezeichnung Checksumme (Addition 2209-320F) Start-Byte (Wort:0-1FFF) (Intel-Format: Lo-Hi) Anzahl der Bytes - 1 (Wort: 0-3583) Statusbyte 4096 Byte Puffer (immer Lo-Hi) SetState / GetState Offset (Hex) 220D 220F Bezeichnung 0=Stop 1=Run Statusbyte (FC – Schalter ist auf Stop) 34 Reset Feldbus Offset (Hex) 220F Bezeichnung Statusbyte Peek S-Merker / Poke S-Merker (nur STEP-5) Offset (Hex) 1200 1203 1205 1207 1208-2207 Bezeichnung Checksumme (Addition 1201-2207) Start-Merker (Wort: 0-4095) Anzahl der Bytes - 1 (Wort: 0-4095) Statusbyte 4096 Byte Puffer (immer Lo-Hi) 35 8. Technische Daten Ladespeichergröße Schnittstellen Baudrate Operandenbereich Datenbausteine Datenbausteinlänge SFC SFB Remanenz Netzwerkanbindung 512 KByte 1x MPI (PG-Schnittstelle) 38400 Baud Eingänge: 0.0 .. 511.7 Ausgänge: 0.0 .. 511.7 M: 0.0 .. 16383.7 T 0..511 Z 0..511 0 ... 4095 65534 Bytes integriert, siehe Kapitel Operationsvorrat integriert, siehe Kapitel Operationsvorrat einstellbar für M, T, Z in der Hardwarekonfiguration Optional über TCP/IP-Treiber 36 Lenze Digitec Controls GmbH Grünstr. 36 D-40667 Meerbusch Germany Service ¬ Service +49 (0) 2132 72190 E-Mail Internet [email protected] www.Lenze-Digitec.de LDCDP-11037 DE 2.0 © 10/2006 TD29 - ID11037 +49 (0) 2132 9904-0 +49 (0) 2132 9904-67 10 9 8 7 6 5 4 3 2 1