SoftSERCANS SERCOS interface Master

Transcrição

SoftSERCANS SERCOS interface Master
SoftSERCANS
SERCOS interface Master-Anbindung
für PC-basierende Steuerungssysteme
Funktionsbeschreibung: Version 01
DOK-SERCAN-SOFT*01VRS*-FK01-DE-P
Über diese Dokumentation
Titel
Art der Dokumentation
interner Ablagevermerk
DLL für Zugriffe auf SoftSERCANS
Beschreibung der Funktionsbibliothek "SoftSERCANS.dll"
Funktionsbeschreibung
• SoftSERCANS99
• Dokument-Nr. 120-2000-B305-01/DE
Zweck der Dokumentation?
Diese Dokumentation dient
• dem Anwender zur Einbindung der SoftSERCANS-DLL-Schnittstelle in
neue Applikationen,
• dem Kennenlernen von SoftSERCANS.
Änderungsverlauf
Verbindlichkeit
Hinweis
Dokukennzeichnung
bisheriger Ausgaben
Stand
Bemerkung
Version 1.01
21.05.99
Anpassungen SW
Version 1.02
17.06.99
Anpassung an DLL V1.02,
Kapitel Start_SoftSercans ()
und
Probleme mit dem
Echtzeitkern RTX
Änderungen im Inhalt der Dokumentation und Liefermöglichkeiten der
Produkte sind vorbehalten.
Diese Dokumentation ist auf chlorfrei gebleichtem Papier gedruckt.
DOK-SERCAN-SOFT*01VRS*-FK01-DE-P
DLL für Zugriffe auf SoftSERCANS
Inhaltsverzeichnis I
Inhaltsverzeichnis
1
Allgemeines
1-1
Eine einfache und kostengünstige SERCOS interface-Anschaltung für die
Bewegungssteuerung .............................................................................................................. 1-1
Nutzung von SoftSERCANS .................................................................................................... 1-2
SERCOS interface ................................................................................................................... 1-3
SERCANS................................................................................................................................ 1-4
SoftSERCANS ......................................................................................................................... 1-4
Vision für einen neuen Automatisierungsmarkt ....................................................................... 1-4
1.1
Systemvoraussetzungen................................................................................................................ 1-5
1.2
Komponenten von SoftSERCANS ................................................................................................. 1-5
Hardware.................................................................................................................................. 1-5
Software ................................................................................................................................... 1-6
Antriebshardware..................................................................................................................... 1-6
2
Installation der Hardware
2.1
2-1
ISA-Bus .......................................................................................................................................... 2-1
AUTOMATA SERCOS PC-Einsteckkarte................................................................................ 2-1
Serceb-Karte ............................................................................................................................ 2-3
3
Installation der Software
3-1
4
Übersicht, Grundeinstellungen
4-1
4.1
Benötigte Komponenten, Betriebssystem...................................................................................... 4-1
4.2
Verzeichnisstruktur......................................................................................................................... 4-1
4.3
Darstellung der DLL in der Entwicklungsumgebung...................................................................... 4-3
4.4
Inhalte der eingebundenen Headerdateien.................................................................................... 4-5
Headerdatei "SoftSERCANS.h" ............................................................................................... 4-5
Die Moduldefinitionsdatei "SoftSERCANS.def" ....................................................................... 4-6
Die Funktionsdefinitionsdatei "SoftSERCANSANSIC.h" ......................................................... 4-7
Die Lib-Datei "SoftSERCANSEXE.lib" und "SoftSERCANSRTX.lib" ...................................... 4-7
Die Moduldefinitionsdatei "Borland.def"................................................................................... 4-7
4.5
Prinzipielle Wege beim Funktionsaufruf aus einer Applikation ...................................................... 4-8
4.6
Wichtige Grundeinstellungen in Visual Studio .......................................................................... 4-10
Einstellungen in Visual Studio bei Echtzeitanwendungen *.rtss............................................ 4-16
Spezielle Einstellungen in der Entwicklungsumgebung von Visual C++ bezüglich RTX von
VenturCom ............................................................................................................................. 4-16
4.7
Wichtige Grundeinstellungen in Borland C++ V5.02 ................................................................... 4-18
Projekteinstellungen in der Borland-IDE................................................................................ 4-19
DOK-SERCAN-SOFT-01VRS*-FK01-DE-P
II Inhaltsverzeichnis
5
Kommunikation mit SoftSERCANS
DLL für Zugriffe auf SoftSERCANS
5-1
5.1
Datenaustausch mit SoftSERCANS .............................................................................................. 5-1
5.2
Zyklischer Datenaustausch ............................................................................................................ 5-1
Synchronisation der zyklischen Daten..................................................................................... 5-1
Timing der zyklischen Daten.................................................................................................... 5-2
Überwachung von Interrupt-Jitter ............................................................................................ 5-2
Zugriff auf die zyklischen Daten............................................................................................... 5-3
Lifecounter ............................................................................................................................... 5-3
Austausch der Echtzeitdaten ................................................................................................... 5-4
Konfiguration des Sollwertkanals............................................................................................. 5-5
Konfiguration des Istwertkanals ............................................................................................... 5-5
5.3
Allgemeine Funktion der Systemparameter................................................................................. 5-13
Datenblockaufbau .................................................................................................................. 5-13
5.4
Betriebsphasen ............................................................................................................................ 5-17
Kommunikationsphase 0........................................................................................................ 5-17
Kommunikationsphase 1........................................................................................................ 5-17
Kommunikationsphase 2........................................................................................................ 5-17
Kommunikationsphase 3........................................................................................................ 5-18
Kommunikationsphase 4........................................................................................................ 5-18
5.5
Kommandokanal .......................................................................................................................... 5-19
Ablauf im Kommandokanal .................................................................................................... 5-19
6
Diagnose
6-1
6.1
Grundsätzliches ............................................................................................................................. 6-1
6.2
Fehler und Diagnosebeschreibung ................................................................................................ 6-2
6.3
Bedeutungen und Fehlerbehebung der Diagnosen....................................................................... 6-4
Fehler 1: SERCOS interface - Ringunterbrechung.................................................................. 6-4
Fehler 2: Ungültiger Interrupt eingestellt.................................................................................. 6-4
Fehler 3: Umschalten in Phase 3 nicht möglich....................................................................... 6-5
Fehler 4: Umschalten in Phase 4 nicht möglich....................................................................... 6-5
Fehler 5: SERCOS interface - Doppelter Antriebstelegramm-Ausfall ..................................... 6-6
Fehler 6: LWL-Ring nicht geschlossen .................................................................................... 6-6
Fehler 7: Antriebsadressen nicht korrekt (siehe Y-0-0002, Y-0-0024) .................................... 6-7
Fehler 8: Maximale Antriebsanzahl überschritten.................................................................... 6-7
Fehler 9: Notreaktion "SERCOS Phase 0" - Modusumschaltung unzulässig ......................... 6-8
Fehler 10: Falsche Anzahl von Übergabeargumenten ............................................................ 6-8
Fehler 11: SoftSERCANS Hardware-Version nicht korrekt ..................................................... 6-8
Fehler 12: SoftSERCANS Parameter außerhalb Min.-/Max-Wert (siehe Y-0-0021) .............. 6-9
Fehler 13: Fehler Lifecounter................................................................................................... 6-9
Fehler 14: SoftSERCANS Parameter Prüfsummenfehler (siehe Y-0-0021) ......................... 6-10
Fehler 15: SoftSERCANS Parameter nicht korrekt (siehe Y-0-0021) ................................... 6-10
Fehler 16: Ungültige Basisadresse eingestellt....................................................................... 6-11
Fehler 17: SoftSERCANS Hardware defekt .......................................................................... 6-11
Fehler 18: Konfigurationsfehler (Istwertkanal) ....................................................................... 6-11
Fehler 19: Konfigurationsfehler (Sollwertkanal)..................................................................... 6-12
Fehler 25: SoftSERCANS im Testmodus Nullbitstrom .......................................................... 6-12
Fehler 26: SoftSERCANS im Testmodus Dauerlicht ............................................................. 6-12
DOK-SERCAN-SOFT-01VRS*-FK01-DE-P
DLL für Zugriffe auf SoftSERCANS
Inhaltsverzeichnis III
Fehler 61: Antrieb per Paßwort verriegelt (siehe S-0-0267).................................................. 6-13
Fehler 100: Antriebsfehler...................................................................................................... 6-13
Fehler 4000+n Betriebssystemfehler .................................................................................... 6-13
7
Beschreibung der DLL-Funktionen
7-1
7.1
Grundsätzliches ............................................................................................................................. 7-1
7.2
Die Klasse CSoftSERCANS........................................................................................................... 7-1
7.3
Unterschiede der DLL-Funktionen von Visual C++ zu anderen Programmiersprachen /
Entwicklungsumgebungen ............................................................................................................. 7-7
Fazit ......................................................................................................................................... 7-8
7.4
Programmkontrollfunktionen .......................................................................................................... 7-8
Der Konstruktor CSoftSERCANS() .......................................................................................... 7-8
Der Pseudokonstruktor SoftSERCANSInitObject() ............................................................... 7-10
Die Initialisierung Start_SoftSERCANS()............................................................................... 7-12
Statusabfrage der laufenden Initialisierung SoftSERCANS_State() ..................................... 7-14
Beenden von SoftSERCANS Terminate_SoftSERCANS() ................................................... 7-16
Versionskontrolle GetDLLVersion() ....................................................................................... 7-16
Der Destruktor ∼CSoftSERCANS()........................................................................................ 7-18
Der Pseudodestruktor SoftSERCANSUnInitObject()............................................................. 7-19
7.5
Parameterfunktionen der DLL ...................................................................................................... 7-19
Kodierung des Übergabeparameter "usIdentnr" für die folgenden Funktionen..................... 7-19
Name des A-Parameters Read_A_Name() ........................................................................... 7-20
Attribut des A-Parameters Read_A_Attribute()...................................................................... 7-20
Einheit des A-Parameters Read_A_Unit() ............................................................................. 7-21
Minimum des A-Parameters Read_A_Minimum() ................................................................. 7-21
Maximum des A-Parameters Read_A_Maximum() ............................................................... 7-22
Datum des A-Parameters Read_A_Parameter() ................................................................... 7-22
Datum des A-Parameters schreiben Write_A_Parameter() .................................................. 7-27
Flußdiagramm zur Parameterbehandlung ............................................................................. 7-28
Name des Y-Parameters Read_Y_Name() ........................................................................... 7-29
Attribut des Y-Parameters Read_Y_Attribute()...................................................................... 7-29
Einheit des Y-Parameters Read_Y_Unit() ............................................................................. 7-30
Minimum des Y-Parameters Read_Y_Minimum() ................................................................. 7-30
Maximum des Y-Parameters Read_Y_Maximum() ............................................................... 7-31
Datum des Y-Parameters Read_Y_Parameter() ................................................................... 7-31
Datum des Y-Parameters schreiben Write_Y_Parameter() .................................................. 7-32
Name des S/P-Parameters Read_SP_Name() ..................................................................... 7-32
Attribut des S/P-Parameters Read_SP_Attribute()................................................................ 7-33
Einheit des S/P-Parameters Read_SP_Unit() ....................................................................... 7-33
Minimum des S/P-Parameters Read_SP_Minimum() ........................................................... 7-34
Maximum des S/P-Parameters Read_SP_Maximum() ......................................................... 7-34
Datum des S/P-Parameters Read_SP_Parameter() ............................................................. 7-35
Datum des S/P-Parameters schreiben Write_SP_Parameter()............................................. 7-35
7.6
Spezielle Funktionen für die Visualisierung von Parameterdaten ............................................... 7-36
Schreiben eines Parameters Write_ServiceParameter()....................................................... 7-36
Lesen eines Parameters Read_ServiceParameter()............................................................. 7-38
Datum einer Liste in einen Listenstring konvertieren DatumToListe()................................... 7-39
DOK-SERCAN-SOFT-01VRS*-FK01-DE-P
IV Inhaltsverzeichnis
DLL für Zugriffe auf SoftSERCANS
Listenstring in ein Listendatum konvertieren ListToData() .................................................... 7-42
7.7
Direkte Behandlung der Parameter über ULONG-Wert .............................................................. 7-46
Kodierung des Übergabeparameters ulParameter ................................................................ 7-46
Die Funktion ReadElement() ................................................................................................. 7-47
7.8
Funktionen zum Schalten der Betriebsphasen ............................................................................ 7-48
Flußdiagramm zur Phasenumschaltung mit DLL-Funktionen ............................................... 7-48
Die Funktion ChangeSoftSERCANSPhase()......................................................................... 7-49
Die Funktion GetSoftSERCANSPhase() ............................................................................... 7-49
7.9
Der Kommandokanal, Write_Command().................................................................................... 7-54
7.10 Die Diagnosefunktionen ............................................................................................................... 7-55
Die Funktion Read_Actual_Diagnosis()................................................................................. 7-55
Die Funktion Get_Bad_Drives() ............................................................................................. 7-57
Die Funktion Clear_Error()..................................................................................................... 7-57
7.11 Funktionen für die Behandlung der Echtzeitdaten....................................................................... 7-57
Überwachung der ISR-Routinen ............................................................................................ 7-58
Die Echtzeitfunktionen ........................................................................................................... 7-59
7.12 Erklärung der Fehlercodierung der DLL....................................................................................... 7-63
7.13 Fehlercodes bei der Parameterbehandlung................................................................................. 7-66
8
Parameterbeschreibung
8-1
8.1
Liste der im Antrieb vorausgesetzten Parameter........................................................................... 8-1
8.2
Übersicht Y-Parameter................................................................................................................... 8-2
8.3
Übersicht A-Parameter................................................................................................................... 8-2
8.4
Beschreibung Y-Parameter............................................................................................................ 8-3
Y-0-0001 Einschaltverzögerungszeit ....................................................................................... 8-3
Y-0-0002 Adressen projektierte Antriebe................................................................................. 8-3
Y-0-0003 Synchron-Master...................................................................................................... 8-3
Y-0-0004 SERCOS-Zykluszeit................................................................................................. 8-4
Y-0-0005 NC-Zykluszeit........................................................................................................... 8-4
Y-0-0006 Zugriffszeitpunkt NC ................................................................................................ 8-5
Y-0-0007 LWL-Länge............................................................................................................... 8-5
Y-0-0008 Zugriffszeit SoftSERCANS....................................................................................... 8-6
Y-0-0009 Lifecounter Differenz................................................................................................ 8-6
Y-0-0010 Prozess ID................................................................................................................ 8-7
Y-0-0011 SoftSERCANS beenden .......................................................................................... 8-7
Y-0-0012 Kopierzeitpunkt SoftSERCANS ............................................................................... 8-7
Y-0-0013 Verschiebung Zugriffszeitpunkt NC ......................................................................... 8-8
Y-0-0014 Fehlerzähler SYNC .................................................................................................. 8-8
Y-0-0015 SoftSERCANS - Hardware-Version ......................................................................... 8-9
Y-0-0016 SoftSERCANS - Firmware-Version.......................................................................... 8-9
Y-0-0017 SERCOS interface - Konfiguration........................................................................... 8-9
Y-0-0018 SoftSERCANS Fehler löschen............................................................................... 8-10
Y-0-0019 SoftSERCANS - Phasenvorgabe........................................................................... 8-11
Y-0-0020 Systemparameter speichern .................................................................................. 8-11
Y-0-0021 Liste der ungültigen A-/Y-Parameter...................................................................... 8-11
Y-0-0022 SoftSERCANS - Aktueller Modus .......................................................................... 8-12
Y-0-0023 SoftSERCANS - Sprachumschaltung .................................................................... 8-13
DOK-SERCAN-SOFT-01VRS*-FK01-DE-P
DLL für Zugriffe auf SoftSERCANS
Inhaltsverzeichnis V
Y-0-0024 Adressen deaktivierte Antriebe .............................................................................. 8-13
Y-0-0025 Adressen erkannte Antriebe .................................................................................. 8-14
Y-0-0026 Adressen betreibbare Antriebe .............................................................................. 8-14
Y-0-0027 Liste aller Y-Parameter .......................................................................................... 8-15
Y-0-0028 Liste aller A-Parameter .......................................................................................... 8-15
Y-0-0029 SoftSERCANS - Hochlauf Zielmodus .................................................................... 8-16
Y-0-0030 SoftSERCANS Basisparameter laden ................................................................... 8-16
Y-0-0031 SoftSERCANS Systemdiagnosetext...................................................................... 8-17
Y-0-0032 SoftSERCANS Systemfehlernummer .................................................................... 8-17
8.5
Beschreibung A-Parameter.......................................................................................................... 8-18
A-0-0001 Achsart ................................................................................................................... 8-18
A-0-0002 Sollwertkonfigurationsliste ..................................................................................... 8-18
A-0-0003 Istwertkonfigurationsliste........................................................................................ 8-19
A-0-0004 Sollwert Header...................................................................................................... 8-19
A-0-0005 Istwert Header........................................................................................................ 8-20
A-0-0006 Antriebsdeaktivierung............................................................................................. 8-20
A-0-0007 Telegrammart......................................................................................................... 8-20
A-0-0008 Antriebstyp ............................................................................................................. 8-21
A-0-0009 Fehlerzähler AT...................................................................................................... 8-22
9
Inbetriebnahmehilfsmittel
9-1
9.1
Allgemeines zu DriveTop ............................................................................................................... 9-1
9.2
Systemvoraussetzungen................................................................................................................ 9-2
9.3
Installation von DriveTop................................................................................................................ 9-2
Softwareinstallation von DriveTop ........................................................................................... 9-2
DriveTop starten ...................................................................................................................... 9-2
9.4
Funktionen...................................................................................................................................... 9-3
Menü Datei............................................................................................................................... 9-3
Menü Parameter ...................................................................................................................... 9-3
Menü Inbetriebnahme .............................................................................................................. 9-4
Menü Ansicht ........................................................................................................................... 9-4
Menü Extras ............................................................................................................................. 9-4
Menü Optionen ........................................................................................................................ 9-4
Menü Hilfe ................................................................................................................................ 9-4
Menü Rechte Maustaste .......................................................................................................... 9-5
9.5
Hilfsmittel "SoftSERCANSTest.exe" .............................................................................................. 9-5
10 Beispielprogramme
10-1
10.1 Microsoft Beispiele ....................................................................................................................... 10-1
RTX Umgebung ..................................................................................................................... 10-1
Windows NT Umgebung ........................................................................................................ 10-1
10.2 Borland Beispiele ......................................................................................................................... 10-2
RTX Umgebung ..................................................................................................................... 10-2
Windows NT Umgebung ........................................................................................................ 10-2
11 Aufgetretene Probleme
11-1
11.1 Probleme beim Start von SoftSERCANS..................................................................................... 11-1
DOK-SERCAN-SOFT-01VRS*-FK01-DE-P
VI Inhaltsverzeichnis
DLL für Zugriffe auf SoftSERCANS
11.2 Probleme mit dem Echtzeitkern RTX........................................................................................... 11-2
Probleme beim Deinstallieren von VenturCom RTX ............................................................. 11-3
Probleme mit ServicePacks von Microsoft ............................................................................ 11-3
Schreibschutz in der Imagedatei des RTSS-Prozesses........................................................ 11-4
Andere Startprobleme von RTSS-Prozessen ........................................................................ 11-5
Auslösen einer RTX "Green Screen" Exception .................................................................... 11-7
11.3 Probleme mit dem Debugger Softice von Numega ..................................................................... 11-8
11.4 Probleme mit Visual Studio und Visual C++ ................................................................................ 11-9
11.5 Probleme mit Borland C++ V5.02 .............................................................................................. 11-10
Einbindung einer Microsoft-DLL in ein Borland Projekt ....................................................... 11-12
11.6 Generelle Probleme beim Erstellen eigener Applikationen ....................................................... 11-13
12 Index
12-1
DOK-SERCAN-SOFT-01VRS*-FK01-DE-P
DLL für Zugriffe auf SoftSERCANS
1
Allgemeines 1-1
Allgemeines
Die Anwendung digital geregelter Antriebe in numerisch gesteuerten
Maschinen erfordert eine eigene digitale Schnittstelle zur numerischen
Steuerung, die neben der Soll- und Istwertübertragung auch zusätzliche
Funktionen erlaubt.
Neben zukunftsweisenden Leistungsdaten muß die Schnittstelle
fortschrittliche Betriebsarten mit erweitertem Datenumfang ermöglichen,
Parametrierung
und Diagnose unterstützen und vor allem ein
problemloses Zusammenwirken der Produkte unterschiedlicher Hersteller
gewährleisten.
SERCOS interface, ein serielles Echtzeit-Kommunikationssystem, ist eine
vereinbarte Spezifikation über Übertragungsmedium, Topologie, Anschlußtechnik, Signalpegel, Prozeduren, Telegramminhalte, Datenformate und Wichtungen. Damit wird ein Zusammenwirken von unterschiedlichen numerischen Steuerungen und Antrieben verschiedener
Hersteller unter Nutzung der jeweiligen Produkteigenschaften sichergestellt.
Beim SERCOS interface werden die Daten zwischen Steuerung und
Antrieben über Lichtwellenleiter ausgetauscht. Dadurch wird jegliche
gegenseitige Störbeeinflussung vermieden.
Typisch ist der Anschluß von bis zu 8 Antrieben an einem Lichtwellenleiterring bei den üblichen Betriebsarten und bei 2 mSec Zykluszeit.
Die genaue Anzahl der maximal je Ring bedienbaren Antriebe ist von der
Zykluszeit, dem gewählten Datenumfang und der Datenrate abhängig.
Eine einfache und kostengünstige SERCOS interface-Anschaltung für
die Bewegungssteuerung
SoftSERCANS macht die SERCOS interface Implementierung für die
Steuerung einfach und kostengünstig.
SoftSERCANS ist eine Masteranschaltung der SERCOS interface, die
eine einfache und übersichtliche Softwareschnittstelle zwischen dem
SERCOS interface Ring und der Steuerung erlaubt. Die
Softwareschnittstelle ermöglicht eine bedeutende Vereinfachung der
Implementierung der SERCOS interface. Dabei werden die Kenntnisse
über die Hardware der SERCOS interface Anschaltung nicht
vorausgesetzt. Die Hardware der SERCOS interface Anschaltung kann
für den CNC-Entwickler anonym bleiben.
SoftSERCANS baut auf eine bewährte Technologie, die als SERCANS
seit 1996 zur Verfügung steht. SERCANS organisiert die Funktionen
eines SERCOS interface Masters in einer aktiven SERCOS interfaceMasterkarte. SERCANS hat sich in mehr als 70 Steuerungen bewährt und
stellt eine felderprobte stabile Technologie dar. SoftSERCANS ist eine
Weiterentwicklung von SERCANS. Die Schnittstelle zwischen der
Steuerung von dem SERCOS interface Ring ist nun auf der Ebene der
Software. Dadurch konnten die Schnittstellenanforderungen wesentlich
reduziert werden. SoftSERCANS benötigt anstatt einer aktiven SERCOS
interface-Masterkarte eine passive SERCOS interface-Karte. Diese ist
wesentlich kostengünstiger als die aktive Karte und damit eine
wirtschaftlich und technisch attraktive Lösung auf Basis SERCOS
interface.
DOK-SERCAN-SOFT*01VRS*-FK01-DE-P
1-2 Allgemeines
DLL für Zugriffe auf SoftSERCANS
Diese bedeutende Vereinfachung in der Entwicklung einer Steuerung ist
aus zwei Gründen möglich geworden:
•
SERCOS interface hat eine klar ausgebildete Struktur und eine sehr
ausführliche Beschreibung der Anforderungen der Antriebstechnik.
Dazu wurden mehrere Hundert Standardparameter definiert. Diese
Voraussetzung ermöglicht eine Abbildung der SERCOS interface
Schnittstelle auf eine Software-Ebene ohne den Verlust des
Charakters eines Standards. Andere bekannte Protokolle verfügen
nicht über eine ähnlich ausführliche Beschreibung, so daß eine
ähnliche Abstraktion nur mit Hilfe eines proprietären Profils möglich
ist, das keineswegs den Charakter eines Standards besitzt.
•
Das Aufkommen der leistungsfähigen Echtzeiterweiterung der
Windows und die Aussicht, daß in naher Zukunft ein Standard der
Betriebssysteme auf Basis der Echtzeiterweiterung von Windows
geben wird, ermöglicht die Entwicklung der SoftSERCANS.
Nutzung von SoftSERCANS
Freie Software
SoftSERCANS wird vom Entwickler und Inhaber des Sourcecodes,
Rexroth Indramat GmbH, gepflegt und weiterentwickelt. Der Objectcode
von SoftSERCANS wird als ein kostenloses Softwaremodul über
Homepage von VenturCom (www.vci.com) , Interessengemeinschaft
SERCOS interface (www.sercos.de) und SERCOS Nordamerika
(www.sercos.com) zum Download zur Verfügung gestellt. Die Nutzung
von SoftSERCANS setzt die Anerkennung der Lizenzvereinbarung
voraus, ohne die die Installation von SoftSERCANS nicht fortgesetzt
werden kann. In den Lizenzvereinbarungen werden die Rechte und
Pflichten des SoftSERCANS-Anwenders dokumentiert.
Dokumentation und weitere Produktinformationen
Die Dokumentation von SoftSERCANS, Application Note und weitere
Informationen werden auf der Homepage der Interessengemeinschaft
SERCOS interface (IGS) bzw. SERCOS Nordamerika (SNA)
veröffentlicht und regelmäßig aktualisiert.
Kompetenzzentren
Technische Unterstützungen werden nicht vom Inhaber des Sourcecodes
gegeben. Für diese Dienstleistung stehen unabhängige Organisationen
zur Verfügung, die als Kompetenzzentren Beratungen gegen Entgelt
leisten. Die Liste der Kompetenzzentren wird auf der Homepage der
Interessengemeinschaft SERCOS interface (IGS) bzw. SERCOS
Nordamerika (SNA) aufgeführt. Fehler von SoftSERCANS werden an
Kompetenzzentren gemeldet und geprüft. Die Fehler, die vom
Kompetenzzentrum geprüft und anerkannt wurden, werden dem Inhaber
des Sourcecodes gemeldet. Der Inhaber des Sourcecode beseitigt den
Fehler zu einem frühstmöglichen Zeitpunkt. Auf der Website von IGS und
SNA wird der Fehler und dessen Beseitigung bekanntgegeben.
DOK-SERCAN-SOFT*01VRS*-FK01-DE-P
Allgemeines 1-3
DLL für Zugriffe auf SoftSERCANS
SERCOS interface
SERCOS interface entstand aus der Notwendigkeit, eine digitale
Standardschnittstelle für den Antrieb zu entwickeln, die die analoge ± 10
V Schnittstelle ersetzt. Die Entwicklung von SERCOS interface wurde
1987 initiiert. Die Spezifikation in der ersten Fassung wurde 1991
fertiggestellt. 1995 avancierte die SERCOS interface zur internationalen
Norm IEC61491, 1998 zur europäischen Norm EN61491.
Bei der Entwicklung von SERCOS interface wurde bewußt darauf
verzichtet, den Anspruch auf eine Universalschnittstelle zu erheben. Man
zielte strikt darauf ab, umfassend den antriebstechnischen Anforderungen
zu genügen.
Dabei standen folgende Ziele im Vordergrund:
•
Hochwertiger Determinismus und die Synchronisierungsgenauigkeit
•
Umfassende Beschreibung der antriebstechnischen Anforderungen
Um eine hoch präzise Güte des Determinismus und der Synchronisierung
zu erzielen, entwickelte man
Mechanismen,
die die Güte des
Determinismus von der Übertragungsrate und der gewählten Zykluszeit
entkoppeln. Der Determinismus von SERCOS interface im Bereich
kleiner 1 µs wird von der Taktfrequenz der Quarzuhr der SERCOS
interface-Anschaltung bestimmt. Auf diesem Weg kann man bei
SERCOS interface die Zykluszeit der Übertragung frei wählen, ohne die
Qualität des Determinismus und der Synchronisierung einzubüßen.
Um eine Standardisierung der Antriebstechnik zu realisieren, benötigt
man umfassende Vereinbarungen. Ein herstellerübergreifender Standard
läßt sich bei der Komplexität der Antriebsschnittstelle ohne umfassende
Beschreibungen der Mechanismen nicht realisieren. So entstanden im
Verlaufe der Entwicklung der SERCOS interface mehrere Hunderte von
normierten Parametern. Die Industrie reagierte zunächst abweisend. Die
Komplexität und die große Anzahl der Parameter wurden zunächst der
Kritikpunkt der SERCOS interface. Heute weiß man, daß die große
Anzahl der herstellerübergreifend definierten Parametern eine Stärke von
SERCOS interface ist. Die Antriebstechnik hat in Zukunft zwei
wesentliche Aufgaben zu erfüllen:
•
Beschreibung und getreue Ausführung der vorprogrammierten
Bewegungen.
•
Funktion der Informationsquelle in einer vernetzten Produktion.
Gerade aus der Sicht der Informationstechnologie ist es wertvoll, daß alle
wesentlichen Antriebsdaten herstellerübergreifend normiert sind.
Das umfassende und in jahrelangen Felderprobungen ausgereifte
Protokoll von SERCOS interface stellt sich als eine der kostbarsten
Eigenschaften der SERCOS interface heraus. Ohne detailliertes Protokoll
wäre die Abstraktion der Schnittstelle auf eine Softwareebene wie
SoftSERCANS nicht möglich gewesen.
Heute, wo wir vor einer
umfassenden Verflechtung der Automatisierungstechnik und der
Informationstechnologie stehen, ist SERCOS interface wertvoller denn je.
DOK-SERCAN-SOFT*01VRS*-FK01-DE-P
1-4 Allgemeines
DLL für Zugriffe auf SoftSERCANS
SERCANS
SoftSERCANS ist ein Ergebnis der natürlichen Evolution, die mit
SERCANS 1994 begann. SERCOS interface hat umfassende Mechanismen, die die Funktionsfähigkeit der Systeme aus herstellerübergreifenden
Produkten sicherstellen. Ein Master des SERCOS interface Ringes muß
bei der Initialisierung unter anderem diverse Daten von den Ringteilnehmern anfordern und eine Zeitschlitzrechnung durchführen. Die Komplexität des Initialisierungsprozesses verursachte eine relativ hohe
Schwelle für jeden Entwickler, der SERCOS interface einführen wollte.
So entstand die Idee, daß man mit SERCANS die Komplexität des
Initialisierungsprozesses anonym macht. SERCANS ist eine aktive
SERCOS interface-Masterkarte. Die installierte Software initialisiert und
managt den SERCOS interface Ring selbständig. Die Schnittstelle
zwischen SERCOS interface Ring und der CNC-Steuerung reduziert sich
auf eine DPR-Schnittstelle. SERCANS kennt keine Einschränkung des
Betriebssystems der CNC-Steuerung. Der Steuerungsentwickler benötigt
nun nur eine kleine Anzahl von Vereinbarungen. Die Einhaltung des
Zeitrasters, der durch den zyklischen Interrupt definiert wird, und die
Kenntnis der DPR-Adressen und deren Bedeutungen genügen, um
SERCOS interface zu implementieren. SERCANS wird seit 1996 in mehr
als 70 Steuerungen weltweit eingesetzt und hat eine Reife erreicht.
SoftSERCANS
Die Beobachtung, daß die Echtzeiterweiterung von Windows in Zukunft
der Quasi-Standard des Betriebssystems sein wird, führte zur Entscheidung, SoftSERCANS zu entwickeln. Nach einer Untersuchung des
Marktes der Echtzeiterweiterungen von Windows wurde RTX von
VenturCom als das Betriebssystem für SoftSERCANS ausgewählt.
SoftSERCANS benötigt anstatt einer aktiven SERCOS interfaceMasterkarte eine passive SERCOS interface-Karte. Die passive SERCOS
interface-Karte hat einen einfacheren Aufbau und ist deutlich
kostengünstiger als eine aktive SERCOS interface-Karte. Somit wird die
Realisierung der SERCOS interface-Masteranschaltung preiswerter. Die
Funktionalitäten des SERCOS interface-Masters wird nun vom PCProzessor ausgeführt. SoftSERCANS bietet der CNC-Steuerung eine
DLL-Schnittstelle. Damit ist die Hardware der Masteranschaltung für die
CNC-Entwickler anonym. Die Abstraktion auf einer Software-Ebene
reduziert den Aufwand der SERCOS interface-Implementierung für eine
Steuerung auf ein Minimum.
Vision für einen neuen Automatisierungsmarkt
Auf SoftSERCANS können modulare offene CNC-Softwarekomponenten
entwickelt werden, wie das Modell von OSACA vorsieht. Werden solche
Bausteine auf dem Markt angeboten, so kann der Entwicklungsaufwand
einer CNC-Steuerung in Zukunft bedeutend reduziert werden. So können
in Zukunft für CNC-Grundfunktionalitäten und HMI Standardbausteine, die
auf dem Markt angeboten werden, eingesetzt werden. Die Entwicklung
kann auf Umsetzung des applikationsspezifischen Know-How des
Entwicklers beschränkt werden. So läßt sich mit einem wesentlich
kleineren Aufwand eine vollwertige CNC-Steuerung mit einem vertrauten
Look und Feel realisieren. Die neue Infrastruktur wird den Endanwendern
neue Möglichkeiten bieten. Bisher war man auf CNC-Steuerungen von
einer kleinen Anzahl von Herstellern angewiesen. Die Produkte waren
ausgerichtet ein möglichst breites Spektrum der Anwendungen
abzudecken. Sie waren nicht in der Lage, auf verfahrenstechnische
Bedürfnisse der jeweiligen Fertigung einzugehen. Die neue Infrastruktur
erlaubt es einer Vielzahl der neuen CNC-Hersteller Produkte wirtschaftlich
zu entwickeln, die auf spezielle Bedürfnisse eines kleinen Marktsegments
ausgerichtet sind, und diese zu vertreiben.
DOK-SERCAN-SOFT*01VRS*-FK01-DE-P
Allgemeines 1-5
DLL für Zugriffe auf SoftSERCANS
1.1
Systemvoraussetzungen
Für die Nutzung von SoftSERCANS müssen folgende Komponenten
installiert werden:
Software
Hardware:
1.2
•
Microsoft Windows NT 4.0, mindestens 32MB RAM (64 MB
empfohlen)
•
Echtzeit-Betriebssystem-Erweiterung VenturCom RTX ab Version 4.2
•
empfohlen: Microsoft Visual C++ ab Version 5.0 (für Testzwecke)
•
empfohlen: Debugger Numega Softice ab Version 3.2
•
Testprogramm SoftSERCANSTest ab V1.0, Hilfsmittel zur Funktionsüberprüfung von SoftSERCANS ohne Echtzeitzugriffe.
•
Motherboards der neuesten Generation (ab Pentium II)
•
PC-Einsteckkarte (siehe Kap. 2, "Installation der Hardware")
Komponenten von SoftSERCANS
Hardware
SoftSERCANS benötigt eine passive SERCOS interface Karte. ISA-Bus
und PCI-Bus Karten sind zur Zeit verfügbar. Es wird empfohlen, Karten
einzusetzen, die vom Inhaber des Sourcecodes im Labor auf Eignung
geprüft wurden. Die Hardware, die geprüft worden sind, und deren
empfohlene Konfigurationen, werden auf der Homepage der
Interessengemeinschaft SERCOS interface (IGS) bzw. SERCOS
Nordamerika (SNA) veröffentlicht.
Zur Zeit werden folgende passive SoftSERCANS Karten unterstützt:
SERCOS ISA-Bus PC-Einsteckkarte Version 1.0
AUTOMATA GmbH & Co. KG
Industrial & Robotic Controls
Waldstraße 7
D-85757 Karlsfeld/Rothschwaige
(+49-(0)8131-98146
2+49-(0)8131-97690
[email protected]
www.automata.de
SERCEB PC-Einsteckkarte mit ISA-Bus Version 1.0
IAM F&E GmbH
Richard-Wagner-Straße 1
D-38106 Braunschweig
(+49-(0)531-3802-0
2+49-(0)531-3802-110
DOK-SERCAN-SOFT*01VRS*-FK01-DE-P
1-6 Allgemeines
DLL für Zugriffe auf SoftSERCANS
Software
Die Systemsoftware SoftSERCANS beinhaltet alle zum Betrieb vom
zertifizierten SERCOS interface Antrieben notwendigen Komponenten.
SoftSERCANS ermöglicht:
•
den Betrieb von bis zu 40 SERCOS interface Antrieben im Ring,
•
den einfachen Austausch von Echtzeitdaten zwischen SoftSERCANS
und Windows oder RTX Prozessen,
•
eine leichtverständliche Telegrammkonfiguration,
•
direkt zugängliche Diagnose aller Antriebe,
•
parallel aktivierbare Kommandokanäle,
•
Zugriff auf alle Parameter im System,
•
Multi-Prozessing, d.h. es können beliebig viele Prozesse gleichzeitig
mit SoftSERCANS kommunizieren.
Antriebshardware
SoftSERCANS stellt den Anspruch, alle Aspekte der SERCOS interface
zu genügen. Es gibt grundsätzlich keine Präferenz für eingesetzte
Produkte, sofern das Produkt von IGS zertifiziert ist. Es wird empfohlen,
von IGS zertifizierte Hardware einzusetzen. Sowohl die Kompetenzzentren als auch der Inhaber von Sourcecode können nur für Probleme,
die beim Einsatz der von IGS zertifizierten Produkten entstanden sind,
Hilfe und Lösungen bereitstellen. Die Produkte, die den Anspruch
erheben, SERCOS interface kompatibel zu sein, aber keine Zertifizierung
von IGS hat, haben in der Regel Probleme im Bereich der Konformität,
die nicht notwendigerweise mit SoftSERCANS zu tun hat. Diese
Probleme lassen sich oft beheben, wenn das Produkt die
Konformitätsprüfung von IGS mit Erfolg besteht. So wird von den
Kompetenzzentren und dem Inhaber der Sourcecode abgelehnt, sich mit
Problemen der nicht zertifizierten Produkte zu beschäftigen. Der
Hersteller des nicht zertifizierten Produktes ist zunächst in
Nachweispflicht der SERCOS interface-Konformität des Produktes. Der
einzige Nachweis, den die Kompetenzzentren und der Inhaber des
Sourcecodes anerkennen, ist die Zertifizierungsprüfung der IGS. Die Liste
der von IGS zertifizierten Produkte finden Sie auf der Homepage von IGS
bzw. SNA.
DOK-SERCAN-SOFT*01VRS*-FK01-DE-P
Installation der Hardware 2-1
DLL für Zugriffe auf SoftSERCANS
2
Installation der Hardware
2.1
ISA-Bus
AUTOMATA SERCOS PC-Einsteckkarte
Auf der Einsteckkarte befinden sich 2 Schalterreihen (S0 und S1) die vom
Benutzer eingestellt werden müssen. Alle anderen Einstellungen müssen
in der werkseitigen Einstellung belassen werden.
Die werkseitige Einstellung ist wie unten dargestellt. Diese Einstellung
entspricht einer Basisadresse 0xD8000.
bestück_plan.tif
Abb. 2-1: Bestückungsplan der AUTOMATA SERCOS PC-Einsteckkarte
Einstellung der Kartenadresse
Folgende Einstellungen sind vor dem Einbau eventuell durchzuführen:
• Mit der Schalterreihe S0 sind folgende Einstellungen möglich:
Schalter
8
7
6
5
Bedeutung
--
--
--
--
4
3
2
ADR ADR ADR
23
22
21
1
ADR
20
• Mit der Schalterreihe S1 sind folgende Einstellungen möglich:
Schalter
Bedeutung
8
7
6
5
4
3
ADR ADR ADR ADR ADR ADR
19
18
17
16
15
14
Schalterstellung ON:
Adressbit = 0
Schalterstellung OFF
Adressbit = 1
2
1
ADR
13
ADR
12
Die Karte belegt einen Adressbereich von 16kB.
Übliche Adressbereiche liegen im Adressbereich 0xC8000 bis 0xD8000.
DOK-SERCAN-SOFT*01VRS*-FK01-DE-P
2-2 Installation der Hardware
Beispiele der Adresseinstellung
DLL für Zugriffe auf SoftSERCANS
Beispiel 1: Kartenadresse 0xD0000
S0
S1
8
7
6
5
4
3
2
1
-
-
-
-
ON
ON
ON
ON
8
7
6
5
4
3
2
1
OFF
OFF
ON
OFF
ON
ON
ON
ON
Beispiel 2: Kartenadresse 0xC0000
S0
S1
8
7
6
5
4
3
2
1
-
-
-
-
ON
ON
ON
ON
8
7
6
5
4
3
2
1
OFF
OFF
ON
ON
ON
ON
ON
ON
Einstellung der Interrupts
Der benötigte Interrupt wird während der Installation (siehe Kap. 3,
"Installation der Software") erfragt und in der Karte eingestellt.
Für den zyklischen Interrupt (Synchronisation Soll-/Istwerte) sollte ein
möglichst hochpriorer (empfohlen IRQ 10) freier Interrupt ausgewählt
werden. Dieser Interrupt bestimmt den zyklischen Datenaustausch und
erfordert damit einen möglichst niedrigen Jitter.
Hinweis: Ein Anpassen dieses Interrupts nach erfolgter Installation ist
mit dem Programm ...\bin\SoftSERCANSTest.exe möglich.
Einbau der Einsteckkarte
• Schalten Sie Ihren Rechner aus und öffnen Sie das Gehäuse nach
den Anweisungen des Herstellers.
• Entfernen Sie die Blechabdeckung hinter einem freien 16 Bit-ISASteckplatz.
• Nehmen Sie die Interface - Karte aus der Antistatik-Hülle. Vermeiden
Sie, daß die Karte mit elektrostatisch aufgeladenen Teilen in
Berührung kommt.
• Überprüfen Sie die Einstellungen der Schalter S0 und S1. Notieren Sie
sich diese Einstellungen gegebenenfalls.
• Stecken Sie die Karte auf den gewählten Steckplatz und verschrauben
Sie die Frontplatte mit dem Rechnergehäuse.
• Verschrauben Sie das Rechnergehäuse und schließen Sie Ihren PC
wieder an.
DOK-SERCAN-SOFT*01VRS*-FK01-DE-P
DLL für Zugriffe auf SoftSERCANS
Installation der Hardware 2-3
Serceb-Karte
Von der Firma
IAM F & E GmbH
Richard-Wagner-Straße 1
D-38106 Braunschweig
Tel. 0531/3802-0
Fax 0531/3802-110
kann eine 16 bit-ISA-Karte bezogen werden. Die notwendigen Einstellungen sind der Beschreibung zu entnehmen.
serceb.tif
Abb. 2-2: Serceb-Karte
DOK-SERCAN-SOFT*01VRS*-FK01-DE-P
2-4 Installation der Hardware
DLL für Zugriffe auf SoftSERCANS
DOK-SERCAN-SOFT*01VRS*-FK01-DE-P
Installation der Software 3-1
DLL für Zugriffe auf SoftSERCANS
3
Installation der Software
VORSICHT
Installation von Disketten
Es liegt in der Verantwortung des Benutzers, alle
Anwenderdaten zu archivieren bevor die Installation
vorgenommen wird. Desweiteren ist darauf zu achten, daß immer nur eine Version von SoftSERCANS
auf dem Zielsystem installiert wird.
⇒ Bei der Installation von Disketten legen Sie die 1. Diskette in das
entsprechende Laufwerk (normalerweise Laufwerk A) Ihres PCs ein.
Hinweis: Zur weiteren Beschreibung wird davon ausgegangen, daß im
Falle der Disketteninstallation das Laufwerk A verwendet wird.
Zum Betrieben
Voraussetzung.
von
SoftSERCANS
ist
das
installierte
RTX
Um die Installation des Inbetriebnahme-Tools zu starten, gehen Sie wie
folgt vor:
⇒ Klicken Sie auf Start und dann auf die Option "Ausführen".
⇒ Geben Sie im Textfeldbereich der Dialogbox "A:\Setup.exe" ein.
⇒ Klicken Sie anschließend auf die <OK>-Schaltfläche und die
Installation des Inbetriebnahme-Tools wird gestartet.
AusführenSetup.jpg
Abb. 3-1: Dialogfeld "Ausführen" von Windows NT: Disketteninstallation
DOK-SERCAN-SOFT*01VRS*-FK01-DE-P
3-2 Installation der Software
DLL für Zugriffe auf SoftSERCANS
Im ersten Dialog können Sie die Sprache des InstallShield® Assistenten,
auswählen.
⇒ Klicken Sie hierzu auf den Pfeil rechts neben der Standardeinstellung
"Deutsch" und wählen Sie die gewünschte Sprache des
Installationsprogramms durch Anklicken aus.
⇒ Klicken Sie anschließend auf die <OK>-Schaltfläche.
Sprachauswahl.jpg
Abb. 3-2: Auswahl der Sprache des InstallShield Assistenten
Nach Auswahl der Sprache erscheint der Hauptbildschirm des Installationsprogramms, in dem ein Fenster mit Informationen des Installationsprogramms für ca. drei Sekunden anzeigt wird.
Setup1.jpg
Abb. 3-3: 1. Meldung des Installationsprogramms
DOK-SERCAN-SOFT*01VRS*-FK01-DE-P
DLL für Zugriffe auf SoftSERCANS
Installation der Software 3-3
Anschließend erscheint ein Fenster, das Sie zur Installation des Inbetriebnahme-Tools willkommen heißt.
Hinweis: Beachten Sie bitte die Anweisungen, die Ihnen hier gegeben
werden. Durch das Klicken auf die <Abbrechen>-Schaltfläche
wird das Installationsprogramm abgebrochen.
⇒ Klicken Sie auf die <Weiter>-Schaltfläche um das Installationsprogramm fortzusetzen.
Setup2.jpg
Abb. 3-4: Willkommen-Bildschirm des Installationsprogramms
Im nächsten Fenster wird der Softwarelizenzvertrag angezeigt. Mit der
Nach-Unten-Taste (Cursor-Taste) können Sie sich den kompletten
Lizenzvertrag anzeigen lassen.
Hinweis: Für die Installation von SoftSERCANS müssen Sie diesem Lizenzvertrag zustimmen. Durch Klicken auf die
<Nein>Schaltfläche wird die Installation abgebrochen. Mit der
<Zurück>-Schaltfläche können Sie zum vorhergehenden
Fenster zurückkehren.
⇒ Wenn Sie allen Bedingungen des Softwarelizenzvertrags zu stimmen,
dann klicken Sie auf die <Ja>-Schaltfläche.
DOK-SERCAN-SOFT*01VRS*-FK01-DE-P
3-4 Installation der Software
DLL für Zugriffe auf SoftSERCANS
Setup3.jpg
Abb. 3-5: Bedingungen des Softwarelizenzvertrages
Im nächsten Fenster sehen Sie noch einige allgemeine Informationen
zum Inbetriebnahmetool.
Setup4.jpg
Abb. 3-6: Allgemeine Informationen
DOK-SERCAN-SOFT*01VRS*-FK01-DE-P
DLL für Zugriffe auf SoftSERCANS
Installation der Software 3-5
Hardware.bmp
Abb. 3-7: Hardware
In den 2 folgenden Fenstern werden Sie aufgefordert, kartenspezifische
Parameter einzugeben.
⇒ Geben Sie bitte die Parameter ein, die Sie auf der PC-Einsteckkarte
eingestellt haben bzw. auf Ihrem PC zur Verfügung stehen.
⇒ Klicken Sie anschließend jeweils auf die <Weiter>-Schaltfläche um die
Installation fortzusetzen.
Setup5.jpg
Abb. 3-8: Eingabe der Kartenresourcen (Interrupt)
⇒ Dieser zyklische Interrupt sollte ein möglichst hochpriorer Interrupt
sein.
DOK-SERCAN-SOFT*01VRS*-FK01-DE-P
3-6 Installation der Software
DLL für Zugriffe auf SoftSERCANS
Hw_adr.bmp
Abb. 3-9: Kartenadresse
Die Kartenadresse muß mit der auf der Hardware eingestellten Adresse
übereinstimmen.
Wenn Sie die Einstellungen vorgenommen haben, erscheint zur
Bestätigung ein entsprechendes Fenster:
Resource.bmp
Abb. 3-10: Bestätigung der eingegebenen Kartenresourcen
Hinweis: Die bestätigten Einstellungen werden wie folgt in die
Registrierung des Rechners übernommen und zur Kontrolle
beim Programmstart von der DLL ausgelesen. Ohne diese
Installation fehlen diese Einträge und der Echtzeitkern
kann nicht gestartet werden!
Einträge in der Registrierung:
Reg.bmp
Abb. 3-11: Registrierungseinträge von SoftSERCANS
DOK-SERCAN-SOFT*01VRS*-FK01-DE-P
DLL für Zugriffe auf SoftSERCANS
Installation der Software 3-7
In dem anschließenden Fenster können Sie den Zielpfad wählen. Bei der
Standardinstallation wird der Zielpfad "C:\SoftSERCANSTest" vorgeschlagen.
Hinweis: Es wird empfohlen, diese Bezeichnung zu wählen, eventuell
auf einem anderen Laufwerk. Beachten Sie hierbei, daß
immer nur eine Version des Inbetriebnahme-Tools auf
dem Zielsystem installiert wird. Um den Standardpfad zu
ändern, klicken Sie auf die <Durchsuchen>-Schaltfläche.
Wählen Sie dann das entsprechende Laufwerk und das
Verzeichnis aus.
⇒ Durch Klicken auf die <Weiter>-Schaltfläche können Sie die Installation fortsetzen.
Abb311.bmp
Abb. 3-12: Auswahl des Installationszielpfades
Im nächsten Installationsschritt wird ein neuer Programmordner angelegt
Sie haben hier aber auch die Möglichkeit einen vorhandenen Programmordner zu verwenden.
⇒ Um in einen vorhandenen Programmordner Symbole hinzuzufügen,
klicken Sie den Ordner an, ansonsten geben Sie den Namen des
neuen Programmordners im Textfeldbereich "Programmordner:" ein.
⇒ Durch Klicken auf die <Weiter>-Schaltfläche wird die Installation
fortgesetzt.
DOK-SERCAN-SOFT*01VRS*-FK01-DE-P
3-8 Installation der Software
DLL für Zugriffe auf SoftSERCANS
Setup10.jpg
Abb. 3-13: Auswahl des Programmordners
Die folgende Abbildung stellt den Kopiervorgang dar. Im linken Bereich
werden drei Balken für Installationsstatus der aktuell kopierten
Inbetriebnahme-Tool Komponente sowie der Kopierstatus vom
eingelegten Medium (Diskette, CD-ROM) und die freie Festplattenkapazität angezeigt. Falls die Kapazität Ihrer Festplatte für die Installation
nicht ausreichend ist, wird das Installationsprogramm mit einer
entsprechenden Meldung abgebrochen.
Das Statusfenster in der Mitte stellt anhand eines Balkens den Fortschritt
der Gesamtinstallation in Prozent dar.
Setup_Fortschritt.jpg
Abb. 3-14: Statusinformationen zum Kopiervorgang
DOK-SERCAN-SOFT*01VRS*-FK01-DE-P
DLL für Zugriffe auf SoftSERCANS
Installation der Software 3-9
Hinweis: Durch Klicken auf die <Abbrechen>-Schaltfläche wird die
Installation abgebrochen.
Bei der Disketteninstallation werden Sie aufgefordert weitere Disketten
einzulegen.
⇒ Legen Sie die entsprechende Diskette in das Laufwerk und klicken Sie
auf die <OK>-Schaltfläche um mit der Installation fortzufahren.
Diskette2.jpg
Abb. 3-15: Einlegen der nächsten Diskette
Es erfolgt der Hinweis, daß die
Rechnerneustart ist nicht notwendig.
Installation
beendet
ist.
Ein
Setup11.jpg
Abb. 3-16: Setup abgeschlossen
DOK-SERCAN-SOFT*01VRS*-FK01-DE-P
3-10 Installation der Software
DLL für Zugriffe auf SoftSERCANS
DOK-SERCAN-SOFT*01VRS*-FK01-DE-P
DLL für Zugriffe auf SoftSERCANS
Übersicht, Grundeinstellungen 4-1
4
Übersicht, Grundeinstellungen
4.1
Benötigte Komponenten, Betriebssystem
Für die Nutzung von SoftSERCANS müssen folgende Komponenten
installiert und verwendet werden:
• Microsoft Windows NT 4.0, mindestens 32MB RAM (64 MB empfohlen)
• Echtzeit-Betriebssystem-Erweiterung Ventur Com RTX ab Version 4.2
• empfohlen: Microsoft Visual C++ ab Version 5.0
• alternativ ohne Echtzeitkern (nur Testphase): Borland C++ ab Version
5.0
• optional: Debugger Numega Softice ab Version 3.2, für Debuggen der
eigenen Echtzeitanwendungen
• Testprogramm SoftSERCANSTest ab V1.0. Hilfsmittel zur Funktionsüberprüfung von SoftSERCANS ohne Echtzeitzugriffe.
Hardware:
• Motherboards der neuesten Generation (ab Pentium II)
z.B. ASUS P5A-B (getestet)
• PC-Einsteckkarte SoftSERCANS
4.2
Verzeichnisstruktur
empfohlene Arbeitsverzeichnisstruktur:
Dir.bmp
Abb. 4-1: Verzeichnisstruktur für die Programmentwicklung
DOK-SERCAN-SOFT*01VRS*-FK01-DE-P
4-2 Übersicht, Grundeinstellungen
DLL für Zugriffe auf SoftSERCANS
Die nachfolgend aufgelisteten Programme sind für eigene Anwendungsentwicklungen unbedingt erforderlich.
Verzeichnis Bin:
Dieses Verzeichnis enthält alle Programme die für die Ausführung der
Anwendung erforderlich sind:
• SoftSERCANSEXE.Dll (die hier beschriebene DLL)
• SoftSERCANSRTX.rtss (der Echtzeitkern von SoftSERCANS)
• SoftSERCANSTest.exe (Programm zur Funktionskontrolle während
der eigenen Programmentwicklung)
• Anwender.exe (Ihr Anwendungsprogramm)
• alle Beispielprogramme als ausführbare Datei
Hinweis: Eigene Anwendungen müssen im gleichen Verzeichnis (hier
Bin), in dem sich die DLL "SoftSERCANS.DLL" und
"SoftSERCANS.rtss" befinden, gestartet werden!
Verzeichnis include:
• SoftSERCANS.h
wicklung)
(Headerdatei
• SoftSERCANSANSIC.h
wicklung)
für
(Headerdatei
C++/Pascal++
für
ANSIC
ProgrammentProgramment-
• SoftSERCANSdefs.h (Definitionsdatei für Fehlercodes und Strukturen)
• SoftSERCANSReg.h (Datei für die DLL-Versionsverwaltung)
• SoftSERCANS.def (einzubindende Definitionsdatei für Entwicklungen
unter Pascal++)
• SoftSERCANS.lib (einzubindende Bibliotheksdatei für ANSIC und C++
Programmentwicklungen)
• Borland.def (Moduldefinitionsdatei für Borland C/C++ Applikationen)
Verzeichnis MicrosoftSamples:
Verzeichnis BorlandSamples:
Verzeichnis lib:
Verzeichnis für Beispiele, eigene Entwicklungen mit Visual C++
Verzeichnis für Beispiele, eigene Entwicklungen BorlandC
• SoftSERCANSEXE.lib (Funktions-Bibliothek zum Einbinden in eine
Windows-Anwendung)
• SoftSERCANSRTX.lib (Funktions-Bibliothek zum Einbinden in eine
RTX-Anwendung)
DOK-SERCAN-SOFT*01VRS*-FK01-DE-P
Übersicht, Grundeinstellungen 4-3
DLL für Zugriffe auf SoftSERCANS
4.3
Darstellung der DLL in der Entwicklungsumgebung
:LQGRZV
&$SSOLNDWLRQ
:LQGRZV
$16,&$SSOLNDWLRQ
57;$16,&
$SSOLNDWLRQ
+HDGHUGDWHLHQ
+HDGHUGDWHLHQ
+HDGHUGDWHLHQ
6RIW6(5&$16K
6RIW6(5&$16$16,&K
6RIW6(5&$16$16,&K
6RIW6(5&$16GHIVK
6RIW6(5&$16GHIVK
6RIW6(5&$16GHIVK
6RIW6(5&$16UHJK
6RIW6(5&$16UHJK
6RIW6(5&$16UHJK
3URJUDPPHQWZLFNOXQJVVFKLFKW
/LEGDWHL
/LEGDWHL
/LEGDWHL
6RIW6(5&$16(;(OLE
6RIW6(5&$16(;(OLE
6RIW6(5&$1657;OLE
'//6RIW6(5&$16'DWHL
6RIW6(5&$16(;(GOO
$16,&)XQNWLRQHQIU=XJULII
DXI5766LQGHU'DWHL
6RIW6HUF57;UWVV
6\VWHPVFKLFKW
5W)XQNWLRQHQV\QFKURQLVLHUWHU
=XJULIIDXI6KDUHG0HPRU\
5HDO7LPH6XE6\VWHP
6RIW6(5&$16+DUGZDUH
(FKW]HLWVFKLFKW
XQDEKlQJLJYRQ
:LQGRZV17
/LFKWZHOOHQOHLWHUULQJ
DLLÜbersicht.wmf
Abb. 4-2: Übersicht DLL und Umgebung
DOK-SERCAN-SOFT*01VRS*-FK01-DE-P
4-4 Übersicht, Grundeinstellungen
DLL für Zugriffe auf SoftSERCANS
Für Compilerläufe müssen die in der Programmentwicklungsschicht
angeführten Dateien mit in das Projekt eingebunden werden.
Im ANSIC-Sourcecode:
// extern declared functions from library
#include "..\include\SoftSERCANSANSIC.h"
im Microsoft C++-Sourcecode:
// include DLL header
#include "..\include\SoftSERCANS.h"
im Borland C/C++-Sourcecode:
// include DLL header
#include "..\include\SoftSERCANSANSIC.h"
Anpassung der Projektdateien:
Im Microsoft ANSIC/C++Sourcecode:
im Borland C/C++-Sourcecode:
Bibliotheksdatei "SoftSERCANS.lib"
Projektdateien hinzufügen
(im
lib-Verzeichnis)
zu
den
Moduldatei Borland.def zu den Projektdateien hinzufügen
DOK-SERCAN-SOFT*01VRS*-FK01-DE-P
Übersicht, Grundeinstellungen 4-5
DLL für Zugriffe auf SoftSERCANS
4.4
Inhalte der eingebundenen Headerdateien
Headerdatei "SoftSERCANS.h"
Diese Datei enthält alle für C++ und Pascal++ erforderlichen
Klassendefinitionen bzw. für Pascal die entsprechenden Wrapperfunktionen.
Für C++:
// please define _EXPORTING in projektoptions of DLL
// as preprocessor
#ifdef _EXPORTING
// from DLL
#define CLASS_DECLSPEC
__declspec(dllexport)
#else
// from Delphi/C++ application
#define CLASS_DECLSPEC
__declspec(dllimport)
#endif
class CLASS_DECLSPEC CSoftSERCANS
{
public:
/////////////////////////////////////////////////////////////////////////////////////////
// here all functions are declared for access in C++
//
/////////////////////////////////////////////////////////////////////////////////////////
CSoftSERCANS();
// meets InitObject(), therefor no "virtual"
/////////////////////////////////////////////////////////////////////////////////////////
// program control
//
/////////////////////////////////////////////////////////////////////////////////////////
// RTSS initialize
virtual ULONG Start_SoftSERCANS();
für Pascal ++:
// start up RTSS, checks card and returns errorcode
inline ULONG CLASS_DECLSPEC Start_SoftSERCANS(
CSoftSERCANS* p_CCpointer)
{
if(p_CCpointer!=NULL)
return p_CCpointer->Start_SoftSERCANS();
else
return DLL_NO_CLASS;
}
Diese sogenannte Wrapperfunktion greift über den
p_CCpointer auf die Klasse CSoftSERCANS in C++ zu.
Hilfszeiger
Somit muß diese Datei lediglich mittels #include in den C++-Sourcecode
eingebunden werden.
In Pascal hingegen werden die Einsprungadressen in die Wrapperfunktionen mittels der Definitionsdatei generiert.
DOK-SERCAN-SOFT*01VRS*-FK01-DE-P
4-6 Übersicht, Grundeinstellungen
DLL für Zugriffe auf SoftSERCANS
Die Moduldefinitionsdatei "SoftSERCANS.def"
Diese Datei muß in das Pascal-Projekt mit aufgenommen werden und
dient dem Compiler als Einsprungadresstabelle für die dort eingebundenen DLL-Wrapperfunktionen. Die Datei sieht wie folgt aus:
// Originaldatei:
LIBRARY SoftSERCANS
DESCRIPTION "DLL calls from Borland Delphi"
EXPORTS
SoftSERCANSInitObject
@1
Start_SoftSERCANS
@2
Terminate_SoftSERCANS
@3
SoftSERCANSUnInitObject
@4
GetDLLVersion
@6
Write_ServiceParameter
@10
Read_ServiceParameter
@11
Data2List
@12
List2Data
@13
Read_A_Name
@20
Read_A_Attribute
@21
Read_A_Unit
@22
Read_A_Minimum
@23
Read_A_Maximum
@24
Read_A_Parameter
@25
Write_A_Parameter
@26
Read_Y_Name
@40
Read_Y_Attribute
@41
Read_Y_Unit
@42
Read_Y_Minimum
@43
Read_Y_Maximum
@44
Read_Y_Parameter
@45
Write_Y_Parameter
@46
Read_SP_Name
@60
Read_SP_Attribute
@61
Read_SP_Unit
@62
Read_SP_Parameter
@63
Read_SP_Minimum
@64
Read_SP_Maximum
@65
Write_SP_Parameter
@66
Read_Actual_Diagnosis
@80
Die Nummern hinter den Funktionen können beliebig vergeben werden,
sie dürfen jedoch nicht doppelt verwendet werden.
Dabei ist folgendes zu beachten:
Die Datei muß innerhalb des DLL-Projekts gepflegt werden. Sie wird beim
Compilerlauf auf korrekte Syntax geprüft.
DOK-SERCAN-SOFT*01VRS*-FK01-DE-P
DLL für Zugriffe auf SoftSERCANS
Übersicht, Grundeinstellungen 4-7
Die Funktionsdefinitionsdatei "SoftSERCANSANSIC.h"
Diese Datei muß in alle ANSIC-Projekte mittels der #include-Direktive
eingebunden werden. Dabei ist folgendes zu beachten:
Die Datei wird innerhalb des DLL-Projekts gepflegt, sie kann jedoch nur
durch Einbindung in ein ANSIC-Testprogramm auf Richtigkeit der Syntax
geprüft werden. Der Compiler im DLL-Projekt checkt diese Datei nicht.
Die Lib-Datei "SoftSERCANSEXE.lib" und "SoftSERCANSRTX.lib"
Diese Datei dient ANSIC- und C++-Projekten ähnlich der Definitionsdatei
als Einsprungadresstabelle für die Bibliotheksfunktionen.
Die Moduldefinitionsdatei "Borland.def"
Diese Datei muß in alle Borlandentwicklungen eingebunden werden.
DOK-SERCAN-SOFT*01VRS*-FK01-DE-P
4-8 Übersicht, Grundeinstellungen
4.5
DLL für Zugriffe auf SoftSERCANS
Prinzipielle Wege beim Funktionsaufruf aus einer
Applikation
Hier werden kurz die Wege aufgezeigt, welche beim Funktionsaufruf
einer DLL-Funktion durchlaufen werden.
9LVXDO&
$16,&
57;$16,&
%RUODQG&&
)XQNWLRQVDXIUXI
)XQNWLRQVDXIUXI
)XQNWLRQVDXIUXI
)XQNWLRQVDXIUXI
GHILQH%25/$1'
+HDGHUGDWHL
6RIW6(5&$16K
+HDGHUGDWHL
+HDGHUGDWHL
6RIW6(5&$16
6RIW6(5&$16
+HDGHUGDWHL
$16,&K
$16,&K
6RIW6(5&$16
$16,&K
]XU&RPSLOLHU]HLW
/LEGDWHL
/LEGDWHL
/LEGDWHL
6RIW6(5&$16
6RIW6(5&$16
6RIW6(5&$16
(;(OLE
(;(OLE
57;OLE
'HILQLWLRQVGDWHL
%RUODQGGHI
:LQ$SSOLNDWLRQ
$SSOLFDWLRQH[HUWVV
&RPSLOHUSURGXNW
9HU]HLFKQLV%LQ
]XU/DXI]HLW
'//$XIUXILQ
6RIW6(5&$16(;(GOO
9HU]HLFKQLV%LQ
)XQNWLRQVDXIUXILQ
(FKW]HLWNHUQ57;9
6RIW6(5&$1657;UWVV
(FKW]HLWNHUQ
IHWWJHGUXFNWEHQ|WLJWH'DWHLHQIUGHQMHZHLOLJHQ&RPSLOHU
DLLAufrufe.wmf
Abb. 4-3: Ablauf bei der Erstellung verschiedener Applikationen
Für Pascalprogramme ergibt sich ein Nachteil:
Die in der Datei "SoftSERCANS.h" bzw. "SoftSERCANSANSIC.h" eingebundenen
Definitionsdateien
"SoftSERCANSdefs.h"
und
"SoftSERCANSreg.h" können in Pascal nicht verwendet werden.
Deshalb müssen die dort definierten Strukturen, Fehlercodes und
Konstanten 1:1 in Pascal neu erstellt werden (Datei
"SoftSERCANS.pas").
Es ist sehr wichtig, daß Strukturen bei Funktionsaufrufen korrekt
nachgebildet werden, da sonst Exception-Fehler entstehen können.
DOK-SERCAN-SOFT*01VRS*-FK01-DE-P
Übersicht, Grundeinstellungen 4-9
DLL für Zugriffe auf SoftSERCANS
Auszug aus einer
Pascaldefinitionsdatei
("SoftSERCANS.pas"):
type
//--------------------------------------------------------------------// Types for PicDrv.Pas
//--------------------------------------------------------------------CSoftSERCANS = class
// Empty Class as Object-Pointer
end;
p_CSoftSERCANS = ^CPicDrv; // Object-Pointer for driver-object
// in interface because for using
// in PicTest.Pas, not for application
// DLL version
// ATTENTION:
// read DLL version, must be exactly the same structures
// as declared in file "SoftSERCANSdefs.h"
DLL_Version = record
strVersion
: array[1..31] of char;
strDate
: array[1..31] of char;
strName
: array[1..31] of char;
end;
Struktur in der C++-Datei "SoftSERCANSdefs.h":
///////////////////////////////////////
// DLL-Version
//
///////////////////////////////////////
typedef struct
{
}
DOK-SERCAN-SOFT*01VRS*-FK01-DE-P
char
strVersion[31]; // "1.02"
char
strDate[31];
char
strName[31];
DLL_VERSION;
// "erstellt am 22.12.1998"
// "SOFTSERCANS DLL, Indramat GmbH"
4-10 Übersicht, Grundeinstellungen
4.6
DLL für Zugriffe auf SoftSERCANS
Wichtige Grundeinstellungen in Visual Studio
Der Arbeitsbereich einer Visual C++ - Anwendung sieht wie folgt aus:
Abb44.bmp
Abb. 4-4: Arbeitsbereich einer Visual C++ - Anwendung
DOK-SERCAN-SOFT*01VRS*-FK01-DE-P
DLL für Zugriffe auf SoftSERCANS
Übersicht, Grundeinstellungen 4-11
Das Einbinden der Datei "SoftSERCANS.h" (siehe vorheriges Bild)
hat den Vorteil, daß die Bibliotheksklasse CSoftSERCANS im
Arbeitsbereich als Klasse sichtbar ist.
Die DLL-Funktionen sind so im Projekt übersichtlich dargestellt:
Abb45.bmp
Abb. 4-5: Die DLL-Klasse CSoftSERCANS in einem Visual C++-Projekt
DOK-SERCAN-SOFT*01VRS*-FK01-DE-P
4-12 Übersicht, Grundeinstellungen
DLL für Zugriffe auf SoftSERCANS
In den Projekteinstellungen von Visual Studio muß für C++- und ANSICProjekte folgende Einstellung vorgenommen werden:
Hinweis: Alle Laufzeitbibliotheken müssen multithreaded generiert
werden.
Die Strukturzuordnung muß byteorientiert sein. Ist dies nicht
der Fall kann es beim Programmstart eigener Applikationen zu
Rebootvorgängen des Rechners führen!
Abb46.bmp
Abb. 4-6: Projekteinstellung in Visual Studio
Damit mit der DLL gearbeitet werden kann, muß auf dem Zielrechner
zuvor RTX (Firma VenturCom) ab Version 4.2 aufwärts installiert
sein.
Anwendungsprogramme können ohne RTX nicht kompiliert werden.
Die korrekte Funktion ist zuvor sicherzustellen.
DOK-SERCAN-SOFT*01VRS*-FK01-DE-P
DLL für Zugriffe auf SoftSERCANS
Übersicht, Grundeinstellungen 4-13
Die Verzeichnisse von RTX bezüglich Bibliotheken und Headerdateien
müssen in Visual Studio eingetragen werden:
Abb47.bmp
Abb. 4-7: Includeverzeichnis für RTX
Abb48.bmp
Abb. 4-8: Libverzeichnis für RTX
DOK-SERCAN-SOFT*01VRS*-FK01-DE-P
4-14 Übersicht, Grundeinstellungen
DLL für Zugriffe auf SoftSERCANS
Die Klassenbibliotheken der Foundationklassen (MFC) sollten für zu
erstellende Applikationen statisch eingebunden werden, da diese nicht
immer auf den Zielrechnern installiert sind!
Abb49.bmp
Abb. 4-9: Statische Einbindung der MFC in C++-Applikationen
Hinweis: Für Debuggerläufe muß als Arbeitsverzeichnis das BinVerzeichnis eingestellt werden, da sonst der Echtzeitkern nicht
gefunden wird.
Bitte beachten:
Das Arbeitsverzeichnis muß nach jedem Öffnen von Visual C++
aktualisiert werden!
DOK-SERCAN-SOFT*01VRS*-FK01-DE-P
DLL für Zugriffe auf SoftSERCANS
Übersicht, Grundeinstellungen 4-15
Abb410.bmp
Abb. 4-10: Arbeitsverzeichnis für Debugger-Anwendungen unter Visual C++
Das gleiche Verzeichnis muß im Linker angegeben werden:
Abb411.bmp
Abb. 4-11: Verzeichnisangabe im Linker von Visual C++
Hinweis: DLL und Anwendung müssen im gleichen Verzeichnis stehen.
DOK-SERCAN-SOFT*01VRS*-FK01-DE-P
4-16 Übersicht, Grundeinstellungen
DLL für Zugriffe auf SoftSERCANS
Einstellungen in Visual Studio bei Echtzeitanwendungen *.rtss
Folgende Bibliotheken sind im Projekt für Echtzeitanwendungen
(Zieldatei Typ *.rtss) einzubinden:
Setting2.bmp
Abb. 4-12: Einzubindende Bibliotheken im Projekt für Echtzeitanwendungen
Spezielle Einstellungen in der Entwicklungsumgebung von Visual C++
bezüglich RTX von VenturCom
Es werden hier kurz die wichtigsten Einstellungen für Echtzeitprojekte in
Visual C++ dargestellt. Des weiteren wird auf die entsprechende
Dokumentation von VenturCom RTX V4.2, User Guide Seiten 25 ff.
verwiesen.
ABB718.BMP
Abb. 4-13: Einstellungen Umgebungsvariable _SERCRTSS für SoftSERCANS
DOK-SERCAN-SOFT*01VRS*-FK01-DE-P
DLL für Zugriffe auf SoftSERCANS
Übersicht, Grundeinstellungen 4-17
ABB719.BMP
Abb. 4-14: Einstellung der Einsprungadresse
Name der ausführbaren Datei:
ABB720.BMP
Abb. 4-15: Dateiname für eine RTX-Applikation
DOK-SERCAN-SOFT*01VRS*-FK01-DE-P
4-18 Übersicht, Grundeinstellungen
4.7
DLL für Zugriffe auf SoftSERCANS
Wichtige Grundeinstellungen in Borland C++ V5.02
Für die DLL-Einbindung in Borland ergeben sich folgende wesentliche
Nachteile:
1. Die in der DLL definierte Klasse CSoftSERCANS ist in Borland C++
nicht zugänglich.
2. Die von Visual C++ erzeugte LIB-Datei ist nicht zu Borland C++
kompatibel.
3. Alle DLL-Funktionsaufrufe müssen mit dem Aufruf CALLBACK
erfolgen.
4. Echtzeitanwendungen können aufgrund der DLL-Unterschiede zu
Microsoft-DLLs nicht erzeugt werden (siehe auch Kapitel 6.3,
"Bedeutungen und Fehlerbehebung der Diagnosen").
CALLBACK Ø
Anstelle von FAR PASCAL in Anwendungsrückruf-Routinen, wie Fensterprozeduren und Dialogprozeduren, zu verwenden (Originalhilfe Microsoft)
Borland Hilfe:
Das Makro WINAPI von windows.h definiert die Aufrufkonventionen.
WINAPI wird zu der für die Zielplattform geeigneten Aufrufkonvention.
WINAPI sollte anstelle von FAR PASCAL verwendet werden.
Das folgende Beispiel zeigt, daß für die Definitionen von
Fensterprozeduren wichtige Änderungen nötig sind. Der folgende Code
ist für 16-Bit-Windows geschrieben:
LONG FAR PASCAL WindowProc(HANDLE hWnd, unsigned message
WORD wParam, LONG lParam)
Die Win32-Version lautet folgendermaßen:
LONG WINAPI WindowProc(HWND hWnd, UINT message
UINT wParam, LONG lParam)
Wenn Sie WINAPI verwenden, können Sie alternative Aufrufkonventionen
angeben. Gegenwärtig verwendet Win32 _stdcall. Der elementare Typ
unsigned wird durch UINT ersetzt, der einfacher portiert werden kann.
WORD wird ebenfalls durch UINT ersetzt und zeigt in diesem Fall die
Erweiterung von wParam zu 32 Bits. Bliebe wParam unerweitert, würde
das bei der initialen Erstellung der Fenster zu einem Anwendungsfehler
führen.
Verwenden Sie die Aufrufkonvention CALLBACK in die
Deklarationen der Callback-Funktionen. Sie ersetzt FAR PASCAL.
(Borland C++-Programmierhandbuch)
Hinweis: Der CALLBACK-Aufruf beeinflusst die Reihenfolge der
Stackfreigabe der Aufrufadressen von Funktionen im
BorlandC-Compiler.
Wird CALLBACK nicht verwendet, so kann aus Unterroutinen, welche
DLL-Funktionen verwenden, nicht in die Hauptroutine zurückgesprungen
werden, da die Stackrücksprungadresse bereits in der DLL-Funktion
gelöscht wird.
DOK-SERCAN-SOFT*01VRS*-FK01-DE-P
Übersicht, Grundeinstellungen 4-19
DLL für Zugriffe auf SoftSERCANS
Für ANSIC ergeben sich bis auf die Einbindung der Definitionsdatei
"Borland.def" keine wesentlichen Unterschiede zu Microsoft ANSIC.
Folgende Definitionsdatei muß bei Verwendung von DLL-Funktionen mit
in das jeweilige Projekt aufgenommen werden:
Anpassung in
SoftSERCANSANSIC.h:
//////////////////////////////////////////
// Prototypen:
//
//////////////////////////////////////////
// calling convention is standard C (the sequence the parameters are
pushed to stack)
#ifdef __cplusplus
extern "C" {
#endif
ULONG CALLBACK SoftSERCANSInitObject(LPVOID* *p_CCpointer);
Projekteinstellungen in der Borland-IDE
Die Strukturausrichtung aller Projekte muß byteorientiert sein (Defaulteinstellung):
Abb414.jpg
Abb. 4-16: Byteorientierte Ausrichtung
Hinweis: Weiterhin sollte die ausführbare Datei (das Ergebnis des
Compilerlaufs) in ein Verzeichnis kopiert werden, indem alle
zur Ausführung erforderlichen Dateien abgelegt sind (hier das
"..\..\Bin"-Verzeichnis). Benötigte Dateien sind unter anderem:
SoftSERCANSEXE.lib, SoftSERCANSRTX.rtss und die in
Borland erstellte EXE-Datei.
DOK-SERCAN-SOFT*01VRS*-FK01-DE-P
4-20 Übersicht, Grundeinstellungen
DLL für Zugriffe auf SoftSERCANS
ABB415.JPG
Abb. 4-17: Einstellung des Verzeichnisses für die Includes und die ausführbare
Datei
Zusätzlich zur eingebundenen DLL-Headerdatei SoftSERCANSANSIC.h
werden noch zwei in dieser Datei eingebundene Dateien benötigt:
1. die Datei SoftSERCANSdefs.h, in der alle Strukturen und Fehlercodes abgelegt sind,
2. die Datei SoftSERCANSreg.h, in der die aktuelle Version der DLL,
welche auch durch Eigenschaften der Datei "SoftSERCANSEXE.dll"
sichtbar gemacht werden kann, abgelegt ist. Die aktuelle Version der
DLL kann mittels der Funktion C_GetDLLVersion abgefragt werden.
Um diese Dateien fehlerfrei mit einzubinden müssen in Borland C++
weitere Projektanpassungen vorgenommen werden. Es muß ein
entsprechendes include-Verzeichnis mit in das Projekt aufgenommen
werden:
Die Headerdateien der DLL sind im Unterverzeichnis "..\..\include"
abgelegt.
DOK-SERCAN-SOFT*01VRS*-FK01-DE-P
DLL für Zugriffe auf SoftSERCANS
Übersicht, Grundeinstellungen 4-21
Bei Windows-Anwendungen sollten alle Borland-DLLs statisch
eingebunden werden, da nicht sicher gestellt ist, daß die verwendeten DLLs auf dem Zielrechner vorhanden sind (das gleiche
gilt auch für Projekte unter Visual C++).
Abb416.jpg
Abb. 4-18: Statische Bibliothekseinbindung
Für eine Windowsanwendung ergibt sich folgende (einfachste) Projektstruktur:
Abb417.jpg
Abb. 4-19: Projektstruktur für Win-Applikation in Borland C++ V5.02
DOK-SERCAN-SOFT*01VRS*-FK01-DE-P
4-22 Übersicht, Grundeinstellungen
DLL für Zugriffe auf SoftSERCANS
Für eine Borland-ANSIC Anwendung ergibt sich diese Projektstruktur:
Abb418.jpg
Abb. 4-20: Borland ANSIC-Projektstruktur
DOK-SERCAN-SOFT*01VRS*-FK01-DE-P
DLL für Zugriffe auf SoftSERCANS
Kommunikation mit SoftSERCANS 5-1
5
Kommunikation mit SoftSERCANS
5.1
Datenaustausch mit SoftSERCANS
Prinzipiell ist die Kommunikation mit SoftSERCANS in zwei Möglichkeiten
unterteilt:
• Zyklische Kommunikation
• Nichtzyklische Kommunikation
Diese beiden Möglichkeiten sind parallel betreibbar.
Zyklische Kommunikation
Die zyklische Kommunikation dient dem Austausch von Echtzeitdaten
(z.B. Soll-/Istwerte) und wird in jedem Kommunikationszyklus (z.B.
SERCOS interface-Zyklus) einmal durchgeführt. Die Konfiguration dieses
Kanals muß in Betriebsphase 2 festgelegt werden und ist danach fest.
D.h. die Steuerungssoftware muß in der Betriebsphase 2 die
Konfiguration der zyklischen Kommunikation festlegen.
Nichtzyklische Kommunikation
Die nichtzyklische Kommunikation dient dem Parametrieren von
SoftSERCANS und allen Antrieben im Ring. Die nichtzyklische
Kommunikation wird von SoftSERCANS gesteuert. Über diesen Kanal
sind alle Parameter im System erreichbar, auch die Parameter die
zyklisch konfiguriert sind.
5.2
Zyklischer Datenaustausch
Synchronisation der zyklischen Daten
SoftSERCANS ermöglicht eine Synchronisation des Bearbeitungszykluses der Steuerung mit der Datenübertragung und dem
Regelungszyklus im Antrieb. Hierdurch treten zwischen diesen einzelnen
Zyklen keine Schwebungen auf und in den Regelkreisen entsteht eine
minimale Totzeit. Weiterhin bedeutet es, daß in allen Antrieben die neuen
Sollwerte zum selben Zeitpunkt wirksam werden und daß alle Antriebe die
Meßwerte zum selben Zeitpunkt erfassen, die sie dann als Istwerte zu
SoftSERCANS senden. Dies erfordert eine strenge Äquidistanz der
Übertragungszyklen.
Die zyklischen Daten müssen sowohl korrekt, als auch pünktlich sein
(unpünktliche Daten sind wertlos). Nach einem durch SoftSERCANS
festgestellten Übertragungsfehler kann für einen Kommunikationszyklus
mit den letzten gültigen Daten oder einem erwarteten Wert
weitergearbeitet werden. Einen Wiederholung der fehlerhaft übertragenen
Daten (zum Zwecke der Fehlerkorrektur) wird nicht durchgeführt, da im
nächsten Kommunikationszyklus (z.B. 1 ms später) neue Sollwerte
gesendet werden. Bei aufeinander folgenden Übertragungsfehlern wird
eine Fehlerreaktion durchgeführt.
DOK-SERCAN-SOFT*01VRS*-FK01-DE-P
5-2 Kommunikation mit SoftSERCANS
DLL für Zugriffe auf SoftSERCANS
Timing der zyklischen Daten
Ein Kommunikationszyklus von SERCOS interface wird durch das sog.
MST (Master-Synchronisationstelegramm) eingeleitet. Dieses MST wird
von der Steuerung gesendet. Darauffolgend senden die Antriebe ihre
Istwerte in den ATs (Antriebstelegramme) an die Steuerung. Der Zyklus
wird abgeschlossen mit dem Senden der Sollwerte für alle Antriebe in
dem Sendetelegramm MDT (Master-Daten-Telegramm). Der nächste
Zyklus beginnt dann wieder mit dem Aussenden des MSTs.
Das Senden und Empfangen der Telegramme wird von SoftSERCANS
übernommen. Nach dem Empfang aller ATs werden die Telegrammdaten
von SoftSERCANS kopiert.
Das Timing des Zugriffszeitpunkt der NC kann vom Anwender gesteuert
werden.
Durch die Vorgabe der "Verschiebung Zugriffszeitpunkt NC" (Y-0-0013)
durch die Steuerung oder über die Bedienoberfläche besteht die
Möglichkeit den Zeitpunkt der Soll-/Istwertübergabe im Zwischenspeicher
zu verschieben und somit optimal einzustellen. Die "Verschiebung
Zugriffszeitpunkt NC" (Y-0-0013) darf nicht größer als die "SERCOSZykluszeit" (Y-0-0004) programmiert werden.
Folgende Parameter werden abhängig von der zyklischen Konfiguration
und der "Verschiebung Zugriffszeitpunkt NC" (Y-0-0013) berechnet und
können ab der Kommunikationsphase 3 zur Kontrolle von
Zugriffskonflikten ausgelesen werden.
• Y-0-0006 "Zugriffszeitpunkt NC"
• Y-0-0008 "Zugriffszeit SoftSERCANS"
• Y-0-0012 "Kopierzeitpunkt SoftSERCANS"
ATn Zugriff SoftSERCANS
MST AT1 AT2
Zugriff NC
MDT
MST
S-0-0006
Y-0-0012
Y-0-0008
Y-0-0006
Y-0-0013*
S-0-0089
S-0-0008
Y-0-0004 *
Y-0-0005 *
Abb. 5-1: Timing SoftSERCANS - Alle Parameter die mit "*" gekennzeichnet sind,
müssen von der NC gesetzt werden.
Überwachung von Interrupt-Jitter
Durch Interrupt - Jitter kann es zu Zugriffskonflikten zwischen
SoftSERCANS (Y-0-0012 und Y-0-0008) und dem Sendezeitpunkt MDT
(S-0-0089) kommen. Jede Überschneidung dieser Zugriffe inkrementiert
den Parameter "Fehlerzähler SYNC" (Y-0-0014) um Eins. Der
Fehlerzähler muß von der Bedienoberfläche oder von der Steuerung
gelöscht werden, bevor ein Test erfolgt.
Der Parameter "SERCOS-Zykluszeit" (Y-0-0004) ist nicht schreibgeschützt und kann (muß) von der NC jederzeit gelöscht werden.
DOK-SERCAN-SOFT*01VRS*-FK01-DE-P
Kommunikation mit SoftSERCANS 5-3
DLL für Zugriffe auf SoftSERCANS
Zugriff auf die zyklischen Daten
Benutzer NC
NC-Prozess vom
Benutzer
Beispiel:
cyclicData
read / write
Der Zugriff zum Zeitpunkt Y-0-0006 wird
über die Funktion
sync_Cycle_Data
synchronisiert
Interner
Telegrammbuffer
(Shared Memory)
Der interne Telegrammbuffer wird zum Datenaustausch zwischen
SoftSERCANS und NC
benutzt. Von der NC wird
über die Funktionen
- sync_Cycle_Data
- Open_MDT_Channel
- Open_AT_Channel
auf diesen Buffer zugegriffen
read / write
Die Telegramme
werden zum Zeitpunkt Y-0-0012 aus
dem internen Telegrammbuffer gelesen oder geschrieben
SoftSERCANSEinsteckkarte
SERCON410B
Der ASIC erzeugt aus
dem internen DPR die
Telegramme zu den
Zeitpunkten S-0-0006
(für jeden Antrieb) und
S-0-0089 (einmal jeden
SERCOS-Zyklus)
Abb. 5-2: Zugriff auf die zyklischen Daten
Lifecounter
Mit Hilfe der Lifecounter-Funktion sind Steuerung und SoftSERCANS in
der Lage, sich gegenseitig zu überwachen. Dafür ist ein Parameter
vorhanden:
• Y-0-0009 "Lifecounter Differenz"
Die Steuerung und SoftSERCANS besitzen je einen Lifecounter.
Mit der Lifecounter Differenz wird die Überwachung auf SoftSERCANS
entweder ausgeschaltet (Eingabe = 0) oder die maximal zulässige
Differenz zwischen beiden Lifecountern festgelegt.
Ist eine Differenz programmiert (z. B. Eingabe = 5), so wird die
Überwachung auf SoftSERCANS einmal in jedem NC-Zyklus in der
Phase 4 durchgeführt.
SoftSERCANS:
Nach dem Kopieren der Soll-/Istwerte (Y-0-0012) erhöht SoftSERCANS
den Lifecounter SoftSERCANS um 1 und vergleicht ihn danach mit dem
Lifecounter NC. Ist die Differenz größer als die Lifecounter Differenz, so
schaltet SoftSERCANS in die Phase 0 und generiert den Systemfehler 13
(siehe Kap. 6.3, "Bedeutungen und Fehlerbehebung der Diagnosen").
NC:
Die NC muß nach dem Übertragen der Soll- und Istwerte (Y-0-0013) die
Funktion Trigger Lifecounter ausführen. Damit wird der NC-Lifecounter
erhöht.
Ist die Differenz größer als die Lifecounter Differenz, so kann die
Steuerung aufgrund des generierten Systemfehler Nummer 13 eine
eigene Fehlerroutine aktivieren.
Hinweis: Die Anwendung des Lifecounters ist im Beispielprogramm
CyclicData.rtss im Verzeichnis \Bin\MicroSoftSamples\Rtx verdeutlicht.
(siehe Kap. "Überwachung der ISR-Routinen", Seite 7-58)
DOK-SERCAN-SOFT*01VRS*-FK01-DE-P
5-4 Kommunikation mit SoftSERCANS
DLL für Zugriffe auf SoftSERCANS
Austausch der Echtzeitdaten
Die Echtzeitdaten setzen sich aus den zyklisch übertragenen Soll- und
Istwerten zusammen. Für jeden der maximal 40 Antriebe steht ein
Sollwertkanal und ein Istwertkanal zur Verfügung. Die Echzeitdaten in
diesen Kanälen werden über die Konfigurationslisten oder über fest
definierte Echtzeit-Konfigurationen festgelegt. In den Echtzeitdaten
können bis zu acht verschiedene Betriebsdaten konfiguriert werden.
Mit dem Parameter "Telegrammart" (A-0-0007) kann aus verschiedenen
fest
definierten
Echzeitdaten-Konfigurationen
gewählt
werden
(Vorzugstelegramme von SERCOS interface)
Es stehen folgende Vorzugstelegramme zur Verfügung:
Eingabe in
A-0-0007
Inhalt
Sollwertkanal
Inhalt
Istwertkanal
Vorzugstelegramm 0
0
Keine zyklischen
Daten
Keine zyklischen
Daten
Vorzugstelegramm 1
1
S-0-0080
Keine zyklischen
Daten
Vorzugstelegramm 2
2
S-0-0036
S-0-0040
Vorzugstelegramm 3
3/11
S-0-0036
S-0-0051/53
Vorzugstelegramm 4
4/12
S-0-0047
S-0-0051/53
Vorzugstelegramm 5
5/13
S-0-0047
S-0-0036
S-0-0051/53
S-0-0040
Vorzugstelegramm 6
6
S-0-0036
Keine zyklischen
Daten
Vorzugstelegramm 7
7
frei konfigurierbar
über A-0-0002
frei konfigurierbar
über A-0-0003
Telegrammart
Abb. 5-3: Übersicht Vorzugstelegramme
Mit Auswahl von Vorzugstelegrammen 0 bis 6 werden alle Echtzeitdaten
automatisch konfiguriert. Das Vorzugstelegramm 7 (Defaultwert im
Parameter A-0-0007) erfordert weitere Einstellungen, die nachfolgend
erläutert werden.
In die Parameter "Sollwertkonfigurationsliste" (A-0-0002) und "Istwertkonfigurationsliste" (A-0-0003) trägt die Steuerung oder die Bedienoberfläche die Identnummern für die zyklisch auszutauschenden Echtzeitdaten ein. SoftSERCANS liest die Längenangabe der Betriebsdaten
aus dem Attribut und trägt sie in den Parameter "Sollwert Header"
(A-0-0004) und "Istwert Header" (A-0-0005) entsprechend ein.
Die Konfigurationslisten fassen bis zu acht Einträge.
In der Kommunikationsphase 4 tauschen die vorhandenen Antriebe und
SoftSERCANS die konfigurierten Echtzeitdaten zyklisch über SERCOS
interface aus. Mit jedem SERCOS interface-Synchronisationszyklus
kopiert SoftSERCANS die Echtzeitdaten aus den Empfangspuffern des
SERCON410 in die Istwertkanäle und aus den Sollwertkanälen in die
Sendepuffer des SERCON410.
DOK-SERCAN-SOFT*01VRS*-FK01-DE-P
DLL für Zugriffe auf SoftSERCANS
Kommunikation mit SoftSERCANS 5-5
Konfiguration des Sollwertkanals
Die Reihenfolge der Sollwert-Identnummern in der "Sollwertkonfigurationsliste" (A-0-0002) legt die Reihenfolge der Sollwerte im
Sollwertkanal fest. Es können nur Sollwerte konfiguriert werden, die der
Antrieb auch unterstützt. Diese Sollwert-Identnummen stehen entweder
im Antrieb in der Identnummer S-0-0188 oder sie sind dem Handbuch
des Antriebs zu entnehmen.
Zusätzlich zu den Sollwerten befindet sich auch das antriebsspezifische
Steuerwort im Sollwertkanal.
Im "Sollwert Header" (A-0-0004) trägt SoftSERCANS noch zusätzlich die
Länge der konfigurierten Sollwerte entsprechend ein.
A-0-0002
Sollwertkonfiguration
Sollwertkanal
Datenlänge
(Byte)
Sollwert Header
Steuerwort
2
IDN Sollwert 1
=>=>
Sollwert 1
2 oder 4
IDN Sollwert 2
=>=>
Sollwert 2
2 oder 4
IDN Sollwert 3
=>=>
Sollwert 3
2 oder 4
IDN Sollwert 4
=>=>
Sollwert 4
2 oder 4
IDN Sollwert 5
=>=>
Sollwert 5
2 oder 4
IDN Sollwert 6
=>=>
Sollwert 6
2 oder 4
IDN Sollwert 7
=>=>
Sollwert 7
2 oder 4
IDN Sollwert 8
=>=>
Sollwert 8
2 oder 4
Abb. 5-4: Konfiguration des Sollwertkanals
Konfiguration des Istwertkanals
Die Reihenfolge der Istwert-Identnummern in der "Istwertkonfigurationsliste" (A-0-0003) legt die Reihenfolge der Istwerte im
Istwertkanal fest. Es können nur Istwerte konfiguriert werden, die der
Antrieb auch unterstützt. Diese Istwert-Identnummen stehen entweder im
Antrieb in der Identnummer (S-0-0187) oder sie sind dem Handbuch des
Antriebs zu entnehmen.
Zusätzlich zu den Istwerten befindet sich auch der Antriebsstatus im
Istwertkanal.
Im "Istwert Header" (A-0-0005) trägt SoftSERCANS noch zusätzlich die
Länge der konfigurierten Istwerte entsprechend ein.
A-0-0003
Istwertkonfiguration
Istwertkanal
Datenlänge
(Byte)
Istwert Header
Antriebsstatus
2
IDN Istwert 1
=>=>
Istwert 1
2 oder 4
IDN Istwert 2
=>=>
Istwert 2
2 oder 4
IDN Istwert 3
=>=>
Istwert 3
2 oder 4
IDN Istwert 4
=>=>
Istwert 4
2 oder 4
IDN Istwert 5
=>=>
Istwert 5
2 oder 4
IDN Istwert 6
=>=>
Istwert 6
2 oder 4
IDN Istwert 7
=>=>
Istwert 7
2 oder 4
IDN Istwert 8
=>=>
Istwert 8
2 oder 4
Abb. 5-5: Konfiguration des Istwertkanals
DOK-SERCAN-SOFT*01VRS*-FK01-DE-P
5-6 Kommunikation mit SoftSERCANS
DLL für Zugriffe auf SoftSERCANS
Die folgenden Abbildungen zeigen an einem Beispiel den Zusammenhang zwischen der Soll- bzw. Istwert-Konfigurationsliste und dem Sollbzw. Istwertkanal:
Sollwertkanal
Struktur T_CYC_DATA
usNbr_data_bytes
usControl
10
Steuerwort
2 Byte Data
4 Byte Data
usData[]
4 Byte Data
Sollwert Konfigurationsliste A-0-0002
(max. 16 Byte)
1
Lage-Sollwert
S-0-0047
Drehmoment-Sollwert
S-0-0080
Geschwindigkeits-Sollwert
S-0-0036
0
Endemarkierung
x
x
x
8
x
Sollwert Header A-0-0004
15
8
0 0 0 0 0 0 0 0
7
# # # # # 1 0 1
0 - Sollwert 1 = 2 Byte
1 - Sollwert 1 = 4 Byte
0 - Sollwert 2 = 2 Byte
1 - Sollwert 2 = 4 Byte
0 - Sollwert 8 = 2 Byte
1 - Sollwert 8 = 4 Byte
Abb. 5-6: Konfiguration der Echtzeitdaten (am Beispiel der Sollwerte)
DOK-SERCAN-SOFT*01VRS*-FK01-DE-P
Kommunikation mit SoftSERCANS 5-7
DLL für Zugriffe auf SoftSERCANS
Istwertkanal
Struktur T_CYC_DATA
usNbr_data_bytes
usControl
10
Antriebsstatus
2 Byte Data
4 Byte Data
usData[]
4 Byte Data
Istwert Konfigurationsliste A-0-0003
(max. 16 Byte)
1
Lage-Istwert 1
S-0-0051
Drehmoment-Istwert
S-0-0084
Geschwindigkeits-Istwert
S-0-0040
0
Endemarkierung
x
x
x
8
x
Istwert Header A-0-0005
15
8
0 0 0 0 0 0 0 0
7
# # # # # 1 0 1
0 - Istwert 1 = 2 Byte
1 - Istwert 1 = 4 Byte
0 - Istwert 2 = 2 Byte
1 - Istwert 2 = 4 Byte
0 - Istwert 8 = 2 Byte
1 - Istwert 8 = 4 Byte
Abb. 5-7: Konfiguration der Echtzeitdaten (am Beispiel der Istwerte)
DOK-SERCAN-SOFT*01VRS*-FK01-DE-P
5-8 Kommunikation mit SoftSERCANS
DLL für Zugriffe auf SoftSERCANS
Die folgende Abbildungen
konfigurationen.
2 Byte
Sollwertkanal
Beispiele
für
Soll-/Istwert-
4 Byte
Steuerwort
Sollwert Konfigurationsliste
z.B. A-0-0002 (Achse 1)
S-0-0047
Lage-Sollwert
47
0
x
x
x
x
x
x
Endekennung (0x0000)
x = don’t care
4 Byte
2 Byte
Istwertkanal
zeigen
Antriebsstatus
S-0-0051
Istwert-Konfigurationsliste
z.B. A-0-0003 (Achse 1)
51
0
x
x
x
x
x
x
Lage-Istwert 1 (Motorgeber)
Inhalt der Betriebsarten-Parameter:
S-0-0032 = 0x03 Lageregelung (Motorgeber)
Abb. 5-8: Beispiel 1 für Soll-/Istwertkonfiguration
Sollwertkanal
2 Byte
4 Byte
Steuerwort
Sollwert Konfigurationsliste
z.B. A-0-0002 (Achse 1)
36
0
x
x
x
x
x
x
S-0-0036
Geschwindigkeits-Sollwert
Endekennung (0x0000)
x = don’t care
2 Byte
Istwertkanal
Antriebsstatus
4 Byte
S-0-0051
Istwert-Konfigurationsliste
z.B. A-0-0003 (Achse 1)
51
0
x
x
x
x
x
x
Lage-Istwert 1 (Motorgeber)
Inhalt der Betriebsarten-Parameter:
S-0-0032 = 0x02 Geschwindigkeitsregelung
Abb. 5-9: Beispiel 2 für Soll-/Istwertkonfiguration
DOK-SERCAN-SOFT*01VRS*-FK01-DE-P
Kommunikation mit SoftSERCANS 5-9
DLL für Zugriffe auf SoftSERCANS
Sollwertkanal
2 Byte
4 Byte
Steuerwort
Sollwert Konfigurationsliste
z.B. A-0-0002 (Achse 1)
S-0-0047
4 Byte
S-0-0036
Lage-Sollwert
47
92
36
0
x
x
x
x
Drehmoment/Kraft-Grenzwert bipolar
Geschwindigkeits-Sollwert
Endekennung (0x0000)
x = don’t care
4 Byte
2 Byte
Istwertkanal
2 Byte
S-0-0092
Antriebsstatus
4 Byte
S-0-0051
4 Byte
S-0-0053
S-0-0040
Istwert-Konfigurationsliste
z.B. A-0-0003 (Achse 1)
51
53
40
0
x
x
x
x
Lage-Istwert 1 (Motorgeber)
Lage-Istwert 2 (ext. Geber)
Geschwindgkeits-Istwert
Inhalt der Betriebsarten-Parameter:
S-0-0032 = 0x03 Lageregelung (Motorgeber)
S-0-0033 = 0x04 Lageregelung (ext. Geber)
S-0-0034 = 0x02 Geschwindigkeitsregelung
Abb. 5-10: Beispiel 3 für Soll-/Istwertkonfiguration
Sollwertkanal
2 Byte
4 Byte
Steuerwort
Sollwert Konfigurationsliste
z.B. A-0-0002 (Achse 1)
S-0-0047
Lage-Sollwert
47
36
0
x
x
x
x
x
Geschwindigkeits-Sollwert
Endekennung (0x0000)
x = don’t care
2 Byte
Istwertkanal
4 Byte
S-0-0036
Antriebsstatus
4 Byte
S-0-0051
4 Byte
4 Byte
S-0-0040
S-0-0189
Istwert-Konfigurationsliste
z.B. A-0-0003 (Achse 1)
51
40
189
0
x
x
x
x
Lage-Istwert 1 (Motorgeber)
Geschwindigkeits-Istwert
Schleppabstand
Inhalt der Betriebsarten-Parameter:
S-0-0032 = 0x0B Lageregelung ohne Schleppabstand
S-0-0033 = 0x02 Geschwindigkeitsregelung
Abb. 5-11: Beispiel 4 für Soll-/Istwertkonfiguration
DOK-SERCAN-SOFT*01VRS*-FK01-DE-P
5-10 Kommunikation mit SoftSERCANS
2 Byte
Sollwertkanal
4 Byte
Steuerwort
Sollwert Konfigurationsliste
z.B. A-0-0002 (Achse 1)
S-0-0047
Lage-Sollwert
47
0
x
x
x
x
x
x
Endekennung (0x0000)
x = don’t care
4 Byte
2 Byte
Istwertkanal
DLL für Zugriffe auf SoftSERCANS
Antriebsstatus
4 Byte
S-0-0051
S-0-0040
2 Byte
4 Byte
S-0-0084
S-0-0130
Istwert-Konfigurationsliste
z.B. A-0-0003 (Achse 1)
51
40
84
130
0
x
x
x
Lage-Istwert 1 (Motorgeber)
Geschwindigkeits-Istwert
Schleppabstand
Meßwert 1 positiv
Inhalt der Betriebsarten-Parameter:
S-0-0032 = 0x03 Lageregelung
Abb. 5-12: Beispiel 5 für Soll-/Istwertkonfiguration
Sollwertkanal
2 Byte
4 Byte
Steuerwort
Sollwert Konfigurationsliste
z.B. A-0-0002 (Achse 1)
S-0-0258
Zielposition
Positionier-Geschwindigkeit
258
259
0
x
x
x
x
x
Endekennung (0x0000)
x = don’t care
2 Byte
Istwertkanal
4 Byte
S-0-0259
Antriebsstatus
4 Byte
S-0-0051
4 Byte
S-0-0040
Istwert-Konfigurationsliste
z.B. A-0-0003 (Achse 1)
51
40
0
x
x
x
x
x
Lage-Istwert 1 (Motorgeber)
Geschwindigkeits-Istwert
Inhalt der Betriebsarten-Parameter:
S-0-0032 = 0x13 Antriebsinterne Interpolation mit Schleppabstand
S-0-0033 = 0x1B Antriebsinterne Interpolation ohne Schleppabstand
Abb. 5-13: Beispiel 6 für Soll-/Istwertkonfiguration
DOK-SERCAN-SOFT*01VRS*-FK01-DE-P
Kommunikation mit SoftSERCANS 5-11
DLL für Zugriffe auf SoftSERCANS
Steuerwort
15
8
# # # r # # # #
7
0
# # x x x x x x
r = reserviert
Bits 5-0 werden von SoftSERCANS bedient (Servicekanal)
Bit 6: 0/1 - Echtzeitsteuerbit 1 (S-0-0300)
Bit 7: 0/1 - Echtzeitsteuerbit 2 (S-0-0302)
Bit 11, 9, 8: Sollbetriebsart
0 0 0 - Hauptbetriebsart (S-0-0032)
0 0 1 - Nebenbetriebsart 1 (S-0-0033)
0 1 0 - Nebenbetriebsart 2 (S-0-0034)
0 1 1 - Nebenbetriebsart 3 (S-0-0035)
...
1 1 1 - Nebenbetriebsart 7
Bit 10: IPOSYNC
0/1 - NC toggelt Bit, wenn neue Sollwerte übertragen werden
(I t
l t t kt)
Bit 13: Antrieb Start/Stopp
0 - Antrieb Stopp:
Beim Wechsel von 1 auf 0 hält der Antrieb unter Berücksichtigung der
Beschleunigungs-Parameter (S-0-0137 oder S-0-0138) oder der aktiven
Beschleunigung (S-0-0042, S-0-0260) an und bleibt in Regelung (nur möglich,
wenn Bit 14 und 15 = 1).
1 - Antrieb Start:
Beim Wechsel von 0 auf 1 wird die ursprüngliche Funktion unter Beibehaltung der
Beschleunigungs-Parameter (S-0-0136 oder S-0-0138) fortgesetzt. Bei Lageregelung
muss die Steuerung den entsprechenenden Lagesollwert dem Lageistwert
nachführen, bevor Bit 13 gesetzt wird.
Bit 14: Antrieb Freigabe
0 - keine Freigabe:
Beim Wechsel von 1 auf 0 erfolgt unverzögerte Abschaltung des Drehmoments und
Sperren der Endstufe (unabhängig von Bit 15 und 13).
1 - Antrieb Freigabe: Beim Wechsel von 0 auf 1 wird im Antrieb die Freigabe um die "Wartezeit Antrieb
Freigabe" (S-0-0295) verzögert, die Freigabeverzögerung ist erforderlich bei
Benutzung eines Schützes in der Motorzuleitung.
Bit 15: Antrieb Ein/Aus
0 - Antrieb Aus:
Beim Wechsel von 1 auf 0 wird der Antrieb bestmöglichst stillgesetzt, anschließende
Abschaltung des Drehmoments bei der Drehzahl nmin, nach Ablauf der "Wartezeit
Antrieb AUS" (S-0-0207), Endstufe kann aktiviert bleiben (nur möglich, wenn Bit 14 = 1).
1 - Antrieb Ein:
Beim Wechsel von 0 auf 1 folgt der Antrieb nach Ablauf der "Wartezeit AUS" (S-0-0206)
den Sollwerten der Steuerung.
Bit 15 - 13:
1 1 1 - Antrieb soll dem Sollwert folgen
Abb. 5-14: Aufbau Steuerwort
DOK-SERCAN-SOFT*01VRS*-FK01-DE-P
5-12 Kommunikation mit SoftSERCANS
DLL für Zugriffe auf SoftSERCANS
Antriebsstatus
15
8
# # # # # # # #
7
0
# # # r r x x x
r = reserviert
Bits 2-0 werden von SoftSERCANS bedient (Servicekanal)
Bit 5: Kommando-Änderungsbit
(wird im Kommandokanal von SoftSERCANS bedient)
0 - keine Änderung in der Kommandoquittung
1 - Änderung in der Kommandoquittung
Bit 6: 0/1 - Echtzeitstatusbit 1 (S-0-0304)
Bit 7: 0/1 - Echtzeitstatusbit 2 (S-0-0306)
Bit 10, 9, 8: Istbetriebsart
0 0 0 - Antrieb arbeitet in der Hauptbetriebsart (S-0-0032)
0 0 1 - Antrieb arbeitet in der Nebenbetriebsart 1 (S-0-0033)
0 1 0 - Antrieb arbeitet in der Nebenbetriebsart 2 (S-0-0034)
0 1 1 - Antrieb arbeitet in der Nebenbetriebsart 3 (S-0-0035)
...
1 1 1 - Antrieb arbeitet in der Nebenbetriebsart 7
Bit 11: Änderungsbit Zustandsklasse 3 (S-0-0013)
0 - Antriebsmeldungen nicht geändert
1 - Antriebsmeldungen geändert
Bit 12: Änderungsbit Zustandsklasse 2 (S-0-0012)
0 - Antriebswarnungen nicht geändert
1 - Antriebswarnungen geändert
Bit 13: Änderungsbit Zustandsklasse 1 (S-0-0011)
0 - kein Fehler
1 - Antrieb ist infolge einer Fehlersituation abgeschaltet
Bit 15-14: Betriebsbereit
0 0 - Antrieb noch nicht bereit zur Leistungszuschaltung, da die internen Überprüfungen noch nicht
erfolgreich abgeschlossen sind.
0 1 - Antrieb bereit zur Leistungszuschaltung
1 0 - Antriebssteuerteil betriebsbereit und Leistungsversorgung eingeschaltet,
Antrieb ist drehmomentfrei und Endstufe gesperrt
1 1 - Antrieb ist betriebsbereit, "Antrieb Freigabe" ist gesetzt und wirksam, Endstufe ist aktiv.
Abb. 5-15: Aufbau Antriebsstatus
DOK-SERCAN-SOFT*01VRS*-FK01-DE-P
Kommunikation mit SoftSERCANS 5-13
DLL für Zugriffe auf SoftSERCANS
5.3
Allgemeine Funktion der Systemparameter
Systemparameter legen Einstellungen für den Normalbetrieb von
SoftSERCANS und die Ringkonfiguration fest. Sie können von der
Steuerung über die DLL verändert werden.
Es gibt drei Arten von Parameter:
• Y-Parameter werden für die Konfiguration von SoftSERCANS gebraucht. Diese Parameter gibt es jeweils einmal in SoftSERCANS.
Beispiel: "Einschaltverzögerungszeit" (Y-0-0001).
Ein Y-Parameter wird von SoftSERCANS gespeichert.
• A-Parameter geben die Eigenschaften von SERCOS interface
Antrieben an. Ein Parameter des Typs A gibt es für jede Achse einmal.
Beispiel "Telegrammart" (A-0-0007).
Ein A-Parameter wird von SoftSERCANS gespeichert.
• S-Parameter und P-Parameter definieren und steuern Eigenschaften
eines SERCOS interface Antriebs.
Beispiel: "Lagesollwert" (S-0-0047).
S- und P-Parameter werden in den Antrieben gespeichert.
Hinweis: Änderungen von Y- und A-Parametern werden beim Beenden
von SoftSERCANS im File "Serc.par" abgespeichert. Diese
Parametereinstellungen
werden
beim
Starten
von
SoftSERCANS automatisch geladen.
Das Speichern der Y- und A-Parameter kann auch manuell
über den Parameter "Systemparameter speichern" (Y-0-0020)
ausgeführt werden (siehe Kapitel 8.4, "Beschreibung YParameter").
Datenblockaufbau
Unter jeder Parameternummer ist ein Datenblock vorhanden, der die
Zusatzinformationen zu den unterschiedlichen Datentypen liefert.
Dadurch ist es der Steuerung möglich auch anonyme Daten mittels einer
universellen Routine anzuzeigen und zu verändern.
In einem Datenblock sind die Elemente 1, 3 und 7 Pflicht und müssen
immer vorhanden sein. Die Elemente 2, 4, 5 und 6 sind Option und
werden je nach Bedarf unterstützt.
Elementnummer
Bezeichnung
Länge
Element 1
Parameternummer
oder Identnummer
4 Byte
2 Byte
Element 2
Name
60 Byte
Element 3
Attribut
4 Byte
Element 4
Einheit
12 Byte
Element 5
Minimaler Eingabewert
wie Element 7
Element 6
Maximaler Eingabewert
wie Element 7
Element 7
Betriebsdatum
2 Byte
4 Byte oder variabel
Abb. 5-16: Datenblockaufbau
DOK-SERCAN-SOFT*01VRS*-FK01-DE-P
5-14 Kommunikation mit SoftSERCANS
DLL für Zugriffe auf SoftSERCANS
Aufbau der Parameternummer (Element 1)
Die IDN-Nummer bezeichnet den Datenblock.
Es ist folgendes Anzeigeformat vereinbart:
X - 0 - X X X X
Parameter-Nummer 1...4095
Parametersatz 0...7 möglich (bei Y- und A-Parametern immer 0)
Kennbuchstabe für System-Parameter
Y: Steuerungsbezogene Parameter in der Steuerung
A: Antriebsbezogene Parameter in der Steuerung
S, P: Antriebsbezogene Parameter im Antrieb
Abb. 5-17: Anzeigeformat der Parameternummer
Aufbau des Namens (Element 2)
Der Name besteht aus maximal 60 ASCII-Zeichen (60 Byte).
Aufbau des Attributs (Element 3)
Das Attribut enthält alle Informationen die benötigt werden, um das
Betriebsdatum verständlich darzustellen. Das Attribut ermöglicht die
Umwandlung des übertragenen Betriebsdatums in eine verständliche
Darstellung und umgekehrt. Die Umwandlung hat keinen Einfluß auf das
Datum selbst.
31
19
r # # # # # # #
16 15
r # # # # # # #
11
# # # # # # # #
0
# # # # # # # #
r = reserviert
Bits 0-15: Bewertungsfaktor
Bits 18-16: Datenlänge
Bit 19: Funktion
Bits 22-20: Datentyp und Anzeigeformat
Bits 27-24: Nachkommastellen
Bits 30-28: Schreibschutz
Abb. 5-18: Aufbau des Attributs
Attribut Bit 0-15:
Der Bewertungsfaktor ist eine vorzeichenlose ganze Zahl, die dazu dient
numerische Daten in ein Anzeigeformat umzuwandeln. Der
Bewertungsfaktor ist auf den Wert 1 gesetzt, wenn er für die
Datenanzeige nicht benötigt wird (z.B. bei Text).
DOK-SERCAN-SOFT*01VRS*-FK01-DE-P
DLL für Zugriffe auf SoftSERCANS
Kommunikation mit SoftSERCANS 5-15
Attribut Bit 18-16
Die Datenlänge wird beim Schreiben der Daten von der Steuerung
benötigt.
0 0 0 - reserviert
0 0 1 - Betriebsdatum ist 2 Byte lang
0 1 0 - Betriebsdatum ist 4 Byte lang
0 1 1 - reserviert
1 0 0 - variable Länge mit 1-Byte-Daten
1 0 1 - variable Länge mit 2-Byte-Daten
1 1 0 - variable Länge mit 4-Byte-Daten
1 1 1 - reserviert
Attribut Bit 19:
Die Funktion zeigt an, daß es sich bei dieser Identnummer um ein
Kommando handelt.
Attribut Bit 22-20:
Datentyp und Anzeigeformat wird benutzt, um das Betriebsdatum sowie
den minimalen und maximalen Eingabewert in das richtige Anzeigeformat
umzuwandeln.
Datentyp
Anzeigeformat
0 0 0 - Binärzahl
binär
0 0 1 - vorzeichenlose ganze Zahl
Dezimalzahl ohne Vorzeichen
0 1 0 - ganze Zahl
Dezimalzahl mit Vorzeichen
0 1 1 - vorzeichenlose ganze Zahl
hexadezimal
1 0 0 - erweiterter Zeichensatz
Text
1 0 1 - vorzeichenlose ganze Zahl
Identnummer (2 Byte)
1 1 0 - Gleitkommazahl (einfache
Genauigkeit) nach
ANSI/IEEE Std 754-1985
Dezimalzahl mit Vorzeichen und
Exponent (Nachkommastelle nicht
relevant)
1 1 1 - vorzeichenlose ganze Zahl
Parameternummer (4 Byte)
Abb. 5-19: Datentyp und Anzeigeformat
Attribut Bit 27-24:
Die Nachkommastellen legen die Stellung des Kommas für die Anzeige
und Eingabe des betreffenden Betriebsdatums fest. Es ist eine
zusätzliche Anzeigeinformation.
0 0 0 0 - keine Nachkommastellen
...
1 1 1 1 - 15 Nachkommastellen (Maximum).
Attribut Bit 30-28
Bit 30 Schreibschutz in CP4:
0 - Betriebsdatum ist schreibbar
1 - Betriebsdatum ist schreibgeschützt
Bit 29 Schreibschutz in CP3:
0 - Betriebsdatum ist schreibbar
1 - Betriebsdatum ist schreibgeschützt
Bit 28 Schreibschutz in CP2:
0 - Betriebsdatum ist schreibbar
1 - Betriebsdatum ist schreibgeschützt
DOK-SERCAN-SOFT*01VRS*-FK01-DE-P
5-16 Kommunikation mit SoftSERCANS
DLL für Zugriffe auf SoftSERCANS
Aufbau der Einheit (Element 4)
Die Einheit besteht aus maximal 12 ASCII-Zeichen (12 Byte).
Aufbau des Minimalen Eingabewertes (Element 5)
Der minimale Eingabewert ist der kleinste verarbeitbare numerische Wert
für dieses Betriebsdatum.
Wenn beim Schreiben der Wert des Betriebsdatums kleiner ist als der
minimale Eingabewert, dann wird das Betriebsdatum nicht verändert.
Das Betriebsdatum hat keinen minimalen Eingabewert, wenn es sich um
eine Binärzahl oder den Zeichensatz handelt.
Der minimale Eingabewert hat die gleiche Länge wie das Betriebsdatum
und wird auch wie das Betriebsdatum angezeigt.
Bei Listen besitzt der Min-Wert die gleiche Länge wie die einzelnen
Listenelemente.
Aufbau des Maximalen Eingabewertes (Element 6)
Der maximale Eingabewert ist der größte verarbeitbare numerische Wert
für dieses Betriebsdatum.
Wenn beim Schreiben der Wert des Betriebsdatums größer ist als der
maximale Eingabewert, dann wird das Betriebsdatum nicht verändert.
Das Betriebsdatum hat keinen maximalen Eingabewert, wenn es sich um
eine Binärzahl oder den Zeichensatz handelt.
Der maximale Eingabewert hat die gleiche Länge wie das Betriebsdatum
und wird auch wie das Betriebsdatum angezeigt.
Bei Listen besitzt der Min-Wert die gleiche Länge wie die einzelnen
Listenelemente.
Aufbau des Betriebsdatums (Element 7)
Die Länge des Betriebsdatums ist in drei Gruppen untergliedert:
• feste Länge mit 2 Byte
• feste Länge mit 4 Byte
• variable Länge bis 65532 Byte
Alle geschwindigkeits- und lageabhängigen Daten haben eine Länge von
4 Byte.
Alle drehmomentabhängigen Daten haben eine Länge von 2 Byte.
Dateien oder Tabellen können von der Steuerung zu den Antrieben oder
umgekehrt, durch die Übertragung von Betriebsdaten mit variabler Länge
erfolgen (z.B. Parameterlisten).
DOK-SERCAN-SOFT*01VRS*-FK01-DE-P
Kommunikation mit SoftSERCANS 5-17
DLL für Zugriffe auf SoftSERCANS
5.4
Betriebsphasen
Nach dem Starten wird SoftSERCANS versuchen die Kommunikationsphase die im Parameter "SoftSERCANS - Hochlauf Zielmodus"
(Y-0-0029) steht zu erreichen. D. h. nicht in jedem Fall wird der unten
beschriebene Verlauf bis zum Ende durchlaufen, sondern nur bis zur
Phase im Parameter "SoftSERCANS - Hochlauf Zielmodus" (Y-0-0029).
Kommunikationsphase 0
SoftSERCANS versucht den LWL-Ring zu schließen.
Ist der LWL-Ring nicht geschlossen:
• "Systemstatus" = 0x10000
• "Diagnosenummer" = 6
• "Diagnosetext" = LWL-Ring ist nicht geschlossen.
Ist der LWL-Ring geschlossen,
Kommunikationsphase 1.
schaltet
SoftSERCANS
in
die
Kommunikationsphase 1
In der Kommunikationsphase 1 wird das Vorhandensein der Antriebe
überprüft.
Alle gefundenen Antriebe werden in den Parameter "Adressen erkannte
Antriebe" (Y-0-0025) eingetragen. Danach werden alle Antriebe
abgefragt, deren Adresse in dem Systemparameter "Adressen
projektierter Antriebe" (Y-0-0002) eingetragen sind. Antriebe mit denen
vorübergehend nicht gearbeitet werden soll, können im Parameter
"Antriebsdeaktivierung" (A-0-0006) vom Betrieb ausgeschlossen werden.
Sind alle programmierten Antriebsadressen (d.h. alle im Y-0-0021 nicht
deaktivierten Antriebe) am Ring vorhanden, schaltet SoftSERCANS in die
Kommunikationsphase 2.
Stellt SoftSERCANS einen Unterschied zwischen den programmierten
und den am Ring vorhandenen Antriebsadressen fest, so wird die
Systemdiagnose gesetzt.
• "Systemstatus" = 0x10000
• "Diagnosenummer" = 7
• "Diagnosetext" = Antriebsadressen nicht korrekt (siehe Y-0-0002,
Y-0-0024
Kommunikationsphase 2
Ab der Kommunikationsphase 2 können von der NC alle S-/P-Parameter
gelesen bzw. geschrieben werden. (Y- und A-Parameter können schon
ab Kommunikationsphase 0 gelesen und geschrieben werden.)
Bei Hochschalten von Phase 2 in Phase 3 werden von SoftSERCANS die
folgenden Aktionen durchgeführt:
• In der Phase 2 müssen von der Steuerung oder über die
Bedienoberfläche die Betriebsarten und die Wichtungsparameter in
den Antrieben entsprechend der Anwendung eingestellt werden.
Hierbei handelt es sich z.B. um folgende Identnummern:
Betriebsarten:
S-0-0032, S-0-0033, S-0-0034, S-0-0035
Lage-Wichtung:
S-0-0076, S-0-0077, S-0-0078, S-0-0079
Geschwindigkeits-Wichtung: S-0-0044, S-0-0045, S-0-0046
DOK-SERCAN-SOFT*01VRS*-FK01-DE-P
5-18 Kommunikation mit SoftSERCANS
DLL für Zugriffe auf SoftSERCANS
Drehmom./Kraft-Wichtung: S-0-0086, S-0-0093, S-0-0094
Beschleunigungs-Wichtung: S-0-0160, S-0-0161, S-0-0162
Polaritäten-Parameter:
S-0-0055, S-0-0043, S-0-0085
Hinweis: Die Programmierung dieser Parameter ist dem Handbuch des
Antriebs zu entnehmen!
Speichert der Antrieb die S-/P-Parameter, so brauchen diese
Parameter nur einmalig gesetzt werden.
• Für die Zeitschlitzberechnung werden die notwendigen Daten (Identnummern) von allen Antrieben gelesen:
S-0-0003
t1min
S-0-0004
tATMT
S-0-0005
t5
S-0-0088
tMTSY
S-0-0090
tMTSG
• Die Sollwertkonfigurationslisten und die Istwertkonfigurationslisten
werden überprüft.
• Die Telegrammsendezeiten der ATs und des MDTs werden von
SoftSERCANS berechnet.
• Die berechneten Kommunikationsparameter werden an die Antriebe
übertragen.
S-0-0006
t1
S-0-0089
t2
S-0-0008
t3
S-0-0007
t4
S-0-0001
tNcyc
S-0-0002
tScyc
• Die Parameter für den Telegrammaufbau werden von SoftSERCANS
an die Antriebe übertragen (S-0-0009, S-0-0010, S-0-0015, S-0-0016,
S-0-0024).
• Das Kommando "Reset Zustandsklasse 1" (S-0-0099) wird in allen
Antrieben ausgeführt.
• Das Umschaltkommando (S-0-0127) wird in allen Antrieben ausgeführt.
War die Umschaltung Phase 2 -> 3 nicht möglich, so wird der
Systemzustand entsprechend gesetzt (siehe Kap. 6, "Diagnose").
Kommunikationsphase 3
Beim Hochschalten von Phase 3 in Phase 4 werden von SoftSERCANS
folgende Aktionen durchgeführt:
• Das Umschaltkommando (S-0-0128) wird in allen Antrieben ausgeführt.
War die Umschaltung Phase 3 -> 4 nicht möglich, so wird der
Systemzustand entsprechend gesetzt (siehe Kap. 6, "Diagnose").
Kommunikationsphase 4
Nur in dieser Betriebsphase ist der Zyklische Datenaustausch möglich. Es
kann die Lifecounter-Funktion aktiviert werden um eine Funktionsüberwachung zu erhalten.
DOK-SERCAN-SOFT*01VRS*-FK01-DE-P
Kommunikation mit SoftSERCANS 5-19
DLL für Zugriffe auf SoftSERCANS
5.5
Kommandokanal
Die Steuerung kann über den Kommandokanal
Kommandos bzw. Funktionen aktivieren.
antriebsinterne
Ablauf im Kommandokanal
Jedem Antrieb steht ein Kommandokanal zur Verfügung, d.h. in jedem
Antrieb kann gleichzeitig ein Kommando aktiviert werden. Über den
Kommandokanal können folgende Teilschritte bei einzelnen Antrieben
oder einfach bei allen Antrieben im Ring ausgelöst werden.
1. Kommando setzen und freigeben
2. Kommando setzen, freigeben und Bearbeitung abwarten
3. Kommando löschen
4. Laufendes Kommando abbrechen
5. Zustand eines Kommandos abfragen (nur Einzelantrieb)
6. Alle Teilschritte ohne Unterbrechung
Der Kommandoablauf für die einzelnen Abläufe stellt sich wie folgt dar:
Kommando setzen und freigeben
.RPPDQGR
VHW]HQXQG
IUHLJHEHQ
,VW
QHLQ
3DUDPHWHUHLQ
.RPPDQGR"
MD
5HWXUQFRGH
5HWXUQFRGH
[
[&
CMD_SET_ENABLE.wmf
Abb. 5-20: Kommando setzen und freigeben
DOK-SERCAN-SOFT*01VRS*-FK01-DE-P
5-20 Kommunikation mit SoftSERCANS
DLL für Zugriffe auf SoftSERCANS
Kommando setzen, freigeben und Bearbeitung abwarten
.RPPDQGR
VHW]HQXQG
IUHLJHEHQ
,VW
QHLQ
3DUDPHWHUHLQ
.RPPDQGR"
MD
.RPPDQGR
EHDUEHLWHW"
QHLQ
MD
.RPPDQGR
QHLQ
IHKOHU"
MD
5HWXUQFRGH
5HWXUQFRGH
5HWXUQFRGH
6
[
[&
CMD_execute.wmf
Abb. 5-21: Kommando setzen, freigeben und Bearbeitung abwarten
Kommando löschen
Kommando
löschen
Returncode
0x0000
Abb. 5-22: Kommando löschen
DOK-SERCAN-SOFT*01VRS*-FK01-DE-P
Kommunikation mit SoftSERCANS 5-21
DLL für Zugriffe auf SoftSERCANS
Zustand eines Kommandos abfragen
.RPPDQGR
=XVWDQG
DEIUDJHQ
QHLQ
.RPPDQGR
IHKOHU"
MD
5HWXUQFRGH
5HWXUQFRGH
6
[
CMD_polling.wmf
Abb. 5-23: Zustand eines Kommandos abfragen
Alle Teilschritte ohne Unterbrechung
.RPPDQGR
VHW]HQXQG
IUHLJHEHQ
,VW
QHLQ
3DUDPHWHUHLQ
.RPPDQGR"
MD
.RPPDQGR
EHDUEHLWHW"
QHLQ
MD
.RPPDQGR
QHLQ
IHKOHU"
MD
.RPPDQGR
O|VFKHQ
5HWXUQFRGH
5HWXUQFRGH
5HWXUQFRGH
6
[
[&
CMD_all.wmf
Abb. 5-24: Alle Teilschritte ohne Unterbrechung
DOK-SERCAN-SOFT*01VRS*-FK01-DE-P
5-22 Kommunikation mit SoftSERCANS
DLL für Zugriffe auf SoftSERCANS
Hinweis: Bei Ausführung aller Teilschritte eines Kommandos wird bei
Kommandofehlern das Kommando nicht gelöscht, um das
Auslesen einer Diagnosemeldung über den Parameter
"Diagnose" (S-0-0095) zu ermöglichen.
Alle Kommandoschritte können an einzelne oder alle Antriebe im Ring
durchgeführt werden.
Hinweis: Die
Anwendung
ist
näher
im
Beispielprogramm
...\MicrosoftSamples\Win32\Command.C erläutert.
SoftSERCANS zeigt den Zustand des Kommandos nach Beendigung des
jeweiligen Teilschritt im Rückgaberegister usQuittierung an. Es werden
folgende Kommandoquittierungen generiert:
Kommando-Quittung usQuittung
15
8
0 0 0 0 0 0 0 0
7
0
0 0 0 0 # # # #
0 - Kommando nicht gesetzt
1 - Kommando gesetzt
0 - Kommando unterbrochen
1 - Kommando freigegeben
0 - Kommando ordnungsgemäß
ausgeführt
1 - Kommando noch nicht
ausgeführt
0 - Kein Kommandofehler
1 - Kommandoausführung nicht
möglich
Abb. 5-25: Kommando-Quittierung
z.B.
• Kommando in Bearbeitung (Kommando-Quittierung 0x0007).
• Kommando
0x0003).
ordnungsgemäß
ausgeführt
(Kommando-Quittierung
• Kommando nicht ausführbar (Fehler) Kommando-Quittierung 0x000F.
Der Fehlercode (S-0-0390) wird in diesem Fall von Write_Command()
als Return-Code zurückgegeben.
Siehe auch DLL Funktion "Write_Command()",
Kommandokanal, Write_Command()".
Kap.
7.9,
"Der
DOK-SERCAN-SOFT*01VRS*-FK01-DE-P
Diagnose 6-1
DLL für Zugriffe auf SoftSERCANS
6
Diagnose
6.1
Grundsätzliches
Beim Auftreten bestimmter Fehler- oder Ausnahmesituationen verzweigt
das Programm in spezifische Fehler-Routinen mit definierten Reaktionen.
Die dazu gehörenden Diagnosemeldungen werden in einem Strukturfeld
abgelegt (siehe Kap. 7.10, "Die Diagnosefunktionen").
Diese Struktur kann mit der Funktion "Read_Actual_Diagnosis()" ausgelesen werden.
Jede der Diagnosestrukturen beinhaltet folgende Information:
Systemdiagnose
Index 0
DwDiagnosestatus
0x10000=Systemdiagnose
0x20000=Achsdiagnose
Das Strukturfeld mit
DwDiagnose = TRUE
beinhaltet die
Achsdiagnose
Achsdiagnose
Index = Achsadresse
FALSE = Diese
Achsstruktur beinhaltet
keine Diagnose
TRUE = Diese Achse
meldet eine Diagnose
UsZustandsklasse_1
--
Inhalt S-0-0011
UsDiagnosenummer
Fehlernummer
Inhalt S-0-0390/P-0-0009
UsDiagnose_laenge
Länge des Diagnosetextes Länge des Diagnosetextes
in Byte
in Bytes
ChDiagnosetext[]
Diagnose in Klartext
Inhalt von Y-0-0031 oder
S-0-0095
Abb. 6-1: Diagnosestruktur
Der Index für die Systemdiagnose ist 0.
Für die Antriebsdiagnose ist die Antriebsadresse als Index zu verwenden.
Hinweis: Der Zugriff auf die Diagnosen ist näher im Beispielprogramm
...\MicrosoftSamples\Win32\Diagnose.C erläutert.
Interne Fehler
Bei internen Fehlern (z. B. unklare Programmzustände usw.) erzeugen
diese Routinen über die Systemdiagnose eine Fehlermeldung. Weiterhin
wird ein spezieller Fehlercode im Log-File "SoftSERCANS.LOG" im RootVerzeichnis eingetragen.
Hinweis: Das Log-File wird bei jedem Start von SoftSERCANS gelöscht.
Systemfehler
Bei Systemfehlern wird die Systemdiagnose entsprechend gesetzt und
dies der Steuerung über den Diagnosestatus mit dem Wert 0x10000
mitgeteilt.
Bei Systemfehlern schaltet SoftSERCANS immer in die Phase 0 und
ermöglicht die Fehlerbehebung. Nach dem Löschen des Fehlers startet
SoftSERCANS einen erneuten Phasenhochlauf.
DOK-SERCAN-SOFT*01VRS*-FK01-DE-P
6-2 Diagnose
DLL für Zugriffe auf SoftSERCANS
Achsspezifische Fehler
Bei achsspezifischen Fehlern wird der Diagnosestatus der
Systemdiagnose auf 0x20000 gesetzt und gleichzeitig der Diagnosestatus
der Achsdiagnose auf 1. Damit kann die betroffene Achse ermittelt
werden.
Bei achsspezifischen Fehlern bleibt SoftSERCANS in der aktuellen Phase
und ermöglicht die Fehlerbehebung. Nach Löschen des Fehlers muß die
Steuerung oder die Bedienoberfläche ein Hochschalten der Phase
aktivieren.
6.2
Fehler und Diagnosebeschreibung
Nachfolgend werden die Diagnose- und Fehlermeldungen in der
Diagnosestruktur aufgeführt:
S Systemdiagnose
A Achsdiagnose
Index in der
Diagnosestruktur
Fehlernummer
Reaktion
Fehlertext
S
0
0
Keine
SoftSERCANS im Initialisierungsmodus
S
0
0
Keine
SERCOS interface - Phase 1
S
0
0
Keine
SoftSERCANS im Parametriermodus
S
0
0
Keine
SERCOS interface - Phase 3
S
0
0
Keine
SoftSERCANS im Betriebsmodus
S
0
1
Phase 0
SERCOS interface –
Ringunterbrechung
S
0
2
Keine
Ungültiger Interrupt eingestellt
A
Antriebsadresse
3
Keine
Umschalten in Phase 3 nicht möglich
(zusätzl. Fehlertext in Achsdiagnose)
A
Antriebsadresse
4
Keine
Umschalten in Phase 4 nicht möglich
(zusätzl. Fehlertext in Achsdiagnose)
S
0
5
Phase 0
SERCOS interface – Doppelter
Antriebstelegramm-Ausfall
S
0
6
Keine
LWL-Ring nicht geschlossen
S
0
7
Phase 0
Antriebsadressen nicht korrekt
(siehe Y-0-0002, Y-0-0024)
S
0
8
Phase 0
Maximale Antriebsanzahl
überschritten
S
0
9
Keine
Notreaktion "SERCOS Phase 0" –
Modusumschaltung unzulässig
S
0
10
Keine
Falsche Anzahl von
Uebergabeargumenten
S
0
11
Keine
SoftSERCANS Hardware-Version nicht
korrekt
S
0
12
Keine
SoftSERCANS Parameter außerhalb
Min.-/Max.-Wert (siehe Y-0-0021)
S
0
13
Phase 0
Fehler Lifecounter
DOK-SERCAN-SOFT*01VRS*-FK01-DE-P
Diagnose 6-3
DLL für Zugriffe auf SoftSERCANS
S
0
14
Keine
SoftSERCANS Parameter
Prüfsummenfehler (siehe Y-0-0021)
S
0
15
Keine
SoftSERCANS Parameter nicht korrekt
(siehe Y-0-0021)
S
0
16
Keine
Ungültige Basisadresse eingestellt
S
0
17
Keine
SoftSERCANS Hardware defekt
S
0
18
Keine
Konfigurationsfehler (Istwertkanal)
S
0
19
Keine
Konfigurationsfehler (Sollwertkanal)
S
0
25
Keine
SoftSERCANS im Testmodus
Nullbitstrom
S
0
26
Keine
SoftSERCANS im Testmodus
Dauerlicht
S
0
61
Keine
Antrieb per Paßwort verriegelt
(siehe S-0-0267)
A
Antriebsadresse
100
Keine
Antriebsfehler
(zusätzl. Fehlertext in Achsdiagnose)
S
0
4000 + n
Keine
Betriebssystemfehler
Abb. 6-2: Diagnose- und Fehlermeldungen
DOK-SERCAN-SOFT*01VRS*-FK01-DE-P
6-4 Diagnose
6.3
DLL für Zugriffe auf SoftSERCANS
Bedeutungen und Fehlerbehebung der Diagnosen
Fehler 1: SERCOS interface - Ringunterbrechung
Der LWL-Ring wurde unterbrochen, nachdem bereits erkannt wurde, daß
er geschlossen war.
Reaktion von SoftSERCANS
Phasenrückschaltung in Kommunikationsphase 0.
Ursache
• Defekter Lichtwellenleiterring.
• Datenraten der Antriebe und von SoftSERCANS verschieden
eingestellt.
• Die optische Sendeleistung (bei SoftSERCANS siehe Parameter
Y-0-0007) eines Teilnehmers am SERCOS interface-Ring ist zu
niedrig eingestellt.
• Defekter Antrieb.
Abhilfe
• Alle Lichtwellenleiter überprüfen.
• Datenraten überprüfen,
SoftSERCANS: siehe Parameter Y-0-0017,
Antriebe: siehe Anwendungsbeschreibung des Antriebsherstellers
• Optische Sendeleistung aller Teilnehmer am SERCOS interface-Ring
der tatsächlichen Länge anpassen.
Fehler 2: Ungültiger Interrupt eingestellt
SoftSERCANS benötigt einen Interrupt. Dieser muß auf der Hardware
eingestellt werden (siehe Kap. 2, "Installation der Hardware"). Können
diese Interrupts durch SoftSERCANS nicht eingestellt werden, wird dieser
Fehler generiert.
Reaktion von SoftSERCANS
Nur eingeschränkte Kommunikation möglich (Diagnosekanal).
Ursache
• Interrupt bereits belegt
Abhilfe
• Interrupteinstellung korrigieren
DOK-SERCAN-SOFT*01VRS*-FK01-DE-P
DLL für Zugriffe auf SoftSERCANS
Diagnose 6-5
Fehler 3: Umschalten in Phase 3 nicht möglich
SoftSERCANS kann die Phasenumschaltung von Phase 2 nach Phase 3
nicht durchführen.
Reaktion von SoftSERCANS
SoftSERCANS läßt das Umschaltkommando gesetzt und beendet den
Phasenhochlauf. Die Diagnose des entsprechenden Antriebs wird in den
Diagnosekanal geschrieben.
Ursache
Mindestens ein Antrieb verweigert die Umschaltung in die Phase 3.
Abhilfe
Fehler im entsprechenden Antrieb beheben (siehe Hilfe des Antriebsherstellers), z.B. Lesen des Parameters "IDN-Liste ungültige Betriebsdaten Phase 2" (S-0-0021).
Fehler 4: Umschalten in Phase 4 nicht möglich
SoftSERCANS kann die Phasenumschaltung von Phase 3 nach Phase 4
nicht durchführen.
Reaktion von SoftSERCANS
SoftSERCANS läßt das Umschaltkommando gesetzt und beendet den
Phasenhochlauf. Die Diagnose des entsprechenden Antriebs wird in den
Diagnosekanal geschrieben.
Ursache
Mindestens ein Antrieb verweigert die Umschaltung in die Phase 4.
Abhilfe
Fehler im entsprechenden Antrieb beheben (siehe Hilfe des Antriebsherstellers), z.B. Lesen des Parameters "IDN-Liste ungültige Betriebsdaten Phase 3" (S-0-0022).
DOK-SERCAN-SOFT*01VRS*-FK01-DE-P
6-6 Diagnose
DLL für Zugriffe auf SoftSERCANS
Fehler 5: SERCOS interface - Doppelter Antriebstelegramm-Ausfall
Es wurden zwei aufeinanderfolgende Antriebstelegramme (AT) eines
Antriebes von SoftSERCANS nicht empfangen.
Reaktion von SoftSERCANS
Phasenrückschaltung in Kommunikationsphase 0.
Ursache
• Lichtwellenleiter nicht korrekt aufgeschraubt.
• Defekter Lichtwellenleiterring.
• Defekter Antrieb.
• Die optische Sendeleistung (bei SoftSERCANS siehe Parameter
Y-0-0017) eines Teilnehmers am SERCOS interface-Ring ist zu
niedrig eingestellt.
Abhilfe
• Alle Lichtwellenleiter überprüfen.
• Optische Sendeleistung aller Teilnehmer am SERCOS interface-Ring
der tatsächlichen Länge anpassen.
Fehler 6: LWL-Ring nicht geschlossen
Nach einem Start von SoftSERCANS wurde der SERCOS interface-Ring
nicht geschlossen. SoftSERCANS kann keine 10 aufeinanderfolgenden
MST-Telegramme der Phase 0 empfangen.
Reaktion von SoftSERCANS
SoftSERCANS bleibt im Zustand "LWL-Ring nicht geschlossen" bis der
Lichtwellenleiter geschlossen ist und der Fehler gelöscht wurde.
Ursache
• Lichtwellenleiter vertauscht oder nicht korrekt aufgeschraubt.
• Defekter Lichtwellenleiterring.
• Datenraten der Antriebe und von SoftSERCANS verschieden eingestellt.
• Die optische Sendeleistung (bei SoftSERCANS siehe Parameter
Y-0-0007) eines Teilnehmers am SERCOS interface-Ring ist zu
niedrig eingestellt.
• Defekter Antrieb.
Abhilfe
• Alle Lichtwellenleiter überprüfen.
• Datenraten überprüfen,
SoftSERCANS: siehe Parameter Y-0-0017,
Antriebe: siehe Anwendungsbeschreibung des Antriebsherstellers
• Optische Sendeleistung aller Teilnehmer am SERCOS interface-Ring
der tatsächlichen Länge anpassen.
DOK-SERCAN-SOFT*01VRS*-FK01-DE-P
DLL für Zugriffe auf SoftSERCANS
Diagnose 6-7
Fehler 7: Antriebsadressen nicht korrekt (siehe Y-0-0002, Y-0-0024)
Die Phasenhochschaltung aus Phase 2 kann nicht durchgeführt werden,
weil die in "Adressen projektierte Antriebe" (Y-0-0002) eingetragenen
Antriebsadressen nicht mit den im Ring gefundenen übereinstimmt.
(siehe auch Y-0-0024 oder Y-0-0025)
Antriebe, die nicht betrieben werden sollen, können mit Hilfe des
Parameters A-0-0006 deaktiviert werden.
Reaktion von SoftSERCANS
Phasenrückschaltung in Kommunikationsphase 0.
Ursache
• Die angeschlossenen Antriebsadressen entsprechen nicht den
projektierten Antriebsadressen (Y-0-0002).
• Nachdem SoftSERCANS erkannt hat, daß der LWL-Ring geschlossen
ist, wurde der LWL-Ring in Phase 1 wieder unterbrochen.
• Im Parameter "SERCOS interface - Konfiguration" (Y-0-0017) ist die
falsche Übertragungsrate eingestellt.
Abhilfe
• Antriebsadressen im Y-0-0002 oder die eingestellten Antriebsadressen
korrigieren.
• LWL-Ring überprüfen.
• Übertragungsraten überprüfen,
SoftSERCANS: siehe Parameter Y-0-0017,
Antriebe: siehe Anwendungsbeschreibung des Antriebsherstellers.
• Antriebsadressen im Parameter A-0-0006 aktivieren bzw. deaktivieren.
Fehler 8: Maximale Antriebsanzahl überschritten
SoftSERCANS kann den Zeitschlitz für die gewünschte Anzahl von
Antrieben und der zyklischen Konfiguration nicht einstellen.
Reaktion von SoftSERCANS
Phasenrückschaltung in Kommunikationsphase 0.
Ursache
• Parameter "SERCOS-Zykluszeit" (Y-0-0004) und "NC-Zykluszeit"
(Y-0-0005) sind zu gering parametriert.
• Zu viele zyklische Daten sind im Parameter "Sollwertkonfigurationsliste" (A-0-0002) oder "Istwertkonfigurationsliste" (A-0-0003)
parametriert.
Abhilfe
• Y-0-0004 und Y-0-0005 der Anzahl von Antrieben anpassen.
• Konfigurierte zyklische Daten verringern.
DOK-SERCAN-SOFT*01VRS*-FK01-DE-P
6-8 Diagnose
DLL für Zugriffe auf SoftSERCANS
Fehler 9: Notreaktion "SERCOS Phase 0" - Modusumschaltung
unzulässig
Im Betriebsmodus ist zuvor ein schwerwiegender SERCOS interface
Fehler aufgetreten. Als Notreaktion hat SoftSERCANS Phase 0
vorgegeben.
Ursache
• SERCOS interface - Ringunterbrechung
• SERCOS interface - Doppelter Antriebstelegrammausfall (z. B. durch
lose LWL - Verbindung, unzulässig enger Biegeradius, zu lange LWL Kabel....)
Abhilfe
• siehe Fehler 1 bzw. Fehler 5.
Fehler 10: Falsche Anzahl von Übergabeargumenten
Das Programm SoftSERCANS.rtss wurde mit einer ungültigen Anzahl von
Argumenten gestartet.
Ein beispielhafter Aufruf von der Kommando-Zeile sieht folgendermaßen
aus:
runrtss SoftSERCANSRTX.rtss 10 D0000
Ursache
• Falsche Anzahl von Übergabeargumenten.
Abhilfe
• Übergabeargumente korrigieren.
Fehler 11: SoftSERCANS Hardware-Version nicht korrekt
SoftSERCANS überprüft nach jedem Start die Hardware. Nach diesem
Start wurde eine defekte oder unbekannte Hardware entdeckt.
Ursache
• Hardware defekt.
• Falsche Basisadresse eingestellt.
Abhilfe
• Hardware austauschen.
• Basisadresse mit der tatsächlich eingestellten Adresse vergleichen
und korrigieren.
DOK-SERCAN-SOFT*01VRS*-FK01-DE-P
DLL für Zugriffe auf SoftSERCANS
Diagnose 6-9
Fehler 12: SoftSERCANS Parameter außerhalb Min.-/Max-Wert
(siehe Y-0-0021)
SoftSERCANS prüft die Einhaltung der Min/Max Grenzen aller Y und AParameter. Jeder Parameter, der diese Prüfung nicht besteht, wird in die
"Liste der ungültigen A/Y-Parameter" (Y-0-0021) eingetragen.
Reaktion von SoftSERCANS
Keine Reaktion.
Ursache
• Einstellungen einiger oder eines Parameters können nicht durchgeführt werden (siehe Parameterbeschreibung des jeweiligen
Parameters).
Abhilfe
• Parameter in der "Liste der ungültigen A/Y-Parameter" (Y-0-0021) mit
sinnvollen Werten beschreiben.
Fehler 13: Fehler Lifecounter
Die NC und SoftSERCANS überwachen die Übergabe von neuen Sollund Istwerten in jedem NC-Zyklus. Dazu inkrementiert SoftSERCANS
den "Lifecounter SoftSERCANS" und die NC den "Lifecounter NC". Die
Differenz der beiden Lifecounter ist größer als die zulässige Lifecounter
Differenz (Y-0-0009).
Reaktion von SoftSERCANS
Phasenrückschaltung in Kommunikationsphase 0.
Ursache
Die NC bedient den "Lifecounter NC" nicht ordnungsgemäß (siehe Kap.5,
"Kommunikation mit SoftSERCANS").
Abhilfe
• NC-Programm überprüfen.
• Bei nicht aktivierter NC: Lifecounter-Überwachung abschalten, dazu
Y-0-0009 mit 0 beschreiben.
DOK-SERCAN-SOFT*01VRS*-FK01-DE-P
6-10 Diagnose
DLL für Zugriffe auf SoftSERCANS
Fehler 14: SoftSERCANS Parameter Prüfsummenfehler (siehe Y-0-0021)
SoftSERCANS prüft alle Y und A-Parameter mittels einer Checksumme
auf ihre Gültigkeit. Jeder Parameter, der diese Prüfung nicht besteht, wird
in die "Liste der ungültigen A/Y-Parameter" (Y-0-0021) eingetragen.
Reaktion von SoftSERCANS
Keine Reaktion.
Ursache
• Neue SoftSERCANS-Software wurde installiert.
• SoftSERCANS wurde das erste Mal gestartet.
Abhilfe
• Parameter in der "Liste der ungültigen A/Y-Parameter" (Y-0-0021) mit
sinnvollen Werten beschreiben, oder Kommando "SoftSERCANS
Basisparameter laden" (Y-0-0030) ausführen.
Danach muß in jedem Fall "Systemparameter speichern" (Y-0-0020)
ausgeführt werden (siehe auch Y-0-0030).
Fehler 15: SoftSERCANS Parameter nicht korrekt (siehe Y-0-0021)
SoftSERCANS prüft die Plausibilität aller Y- und A-Parameter. Jeder
Parameter, der diese Prüfung nicht besteht, wird in die "Liste der
ungültigen A/Y-Parameter" (Y-0-0021) eingetragen.
Reaktion von SoftSERCANS
Keine Reaktion.
Ursache
• Einstellungen einiger oder eines Parameters können nicht durchgeführt werden (siehe Parameterbeschreibung des jeweiligen
Parameters)
Abhilfe
• Parameter in der "Liste der ungültigen A/Y-Parameter" (Y-0-0021) mit
sinnvollen Werten beschreiben.
DOK-SERCAN-SOFT*01VRS*-FK01-DE-P
Diagnose 6-11
DLL für Zugriffe auf SoftSERCANS
Fehler 16: Ungültige Basisadresse eingestellt
SoftSERCANS benötigt einen 16 KByte großen Adressraum. Dieser muß
auf der Hardware eingestellt werden und während dem Installieren
korrekt eingegeben werden (siehe Kap. 3, "Installation der Software").
Kann dieser Speicher von SoftSERCANS nicht benutzt werden, wird
dieser Fehler generiert.
Reaktion von SoftSERCANS
Nur eingeschränkte Kommunikation möglich (Diagnosekanal).
Ursache
• Speicher bereits belegt
• Nicht unterstützter Speicherbereich ausgewählt
• Eingestellte Adresse stimmt nicht mit der während der Installation
eingegebenen überein.
Abhilfe
• Speichereinstellung korrigieren
• Die bei der Installation getroffene Einstellung der Basisadresse kann
mit dem Hilfsprogramm SoftSERCANSTest.exe geändert werden.
Fehler 17: SoftSERCANS Hardware defekt
Der Hardwaretest der SoftSERCANS Karte ergab einen Fehler.
Abhilfe
• SoftSERCANS Hardware tauschen.
Fehler 18: Konfigurationsfehler (Istwertkanal)
Bei der Konfiguration der zyklischen Telegrammdaten (A-0-0003) mit den
Einträgen aus dem Istwertkanal ist ein Fehler aufgetreten.
Reaktion von SoftSERCANS
Phasenhochschaltung wird unterbrochen.
Ursache
• Es sind zu viele Istwerte konfiguriert.
• Im A-0-0003 sind Parameter konfiguriert, die sich nicht zyklisch
konfigurieren lassen.
Abhilfe
• Reduzieren Sie die Anzahl der zyklischen Daten (siehe Parameter
S-0-0016 in den Antrieben).
• Korrigieren
(A-0-0003).
DOK-SERCAN-SOFT*01VRS*-FK01-DE-P
Sie
den
Parameter
in
"Istwertkonfigurationsliste"
6-12 Diagnose
DLL für Zugriffe auf SoftSERCANS
Fehler 19: Konfigurationsfehler (Sollwertkanal)
Bei der Konfiguration der zyklischen Telegrammdaten (A-0-0002) mit den
Einträgen aus dem Sollwertkanal ist ein Fehler aufgetreten.
Reaktion von SoftSERCANS
Phasenhochschaltung wird unterbrochen.
Ursache
• Es sind zu viele Sollwerte konfiguriert.
• Im A-0-0002 sind Parameter konfiguriert, die sich nicht zyklisch
konfigurieren lassen.
Abhilfe
• Reduzieren Sie die Anzahl der zyklischen Daten (siehe Parameter
"Konfig.-Liste Master-Daten-Telegramm", S-0-0024 in den Antrieben).
• Korrigieren
(A-0-0002).
Sie
den
Parameter
"Sollwertkonfigurationsliste"
Fehler 25: SoftSERCANS im Testmodus Nullbitstrom
Der Testbetrieb "Nullbitstrom" wurde ausgewählt.
Reaktion von SoftSERCANS
SoftSERCANS sendet Nullbitstrom und verhindert den Phasenhochlauf.
Ursache
Der Testbetrieb "Nullbitstrom" wurde im Parameter Y-0-0017 aktiviert.
Abhilfe
Testbetrieb im Parameter Y-0-0017 deaktivieren.
Fehler 26: SoftSERCANS im Testmodus Dauerlicht
Der Testbetrieb "Dauerlicht" wurde ausgewählt.
Reaktion von SoftSERCANS
SoftSERCANS sendet Dauerlicht und verhindert den Phasenhochlauf.
Ursache
Testbetrieb Dauerlicht wurde im Parameter Y-0-0017 aktiviert.
Abhilfe
Testbetrieb im Parameter Y-0-0017 deaktivieren.
DOK-SERCAN-SOFT*01VRS*-FK01-DE-P
DLL für Zugriffe auf SoftSERCANS
Diagnose 6-13
Fehler 61: Antrieb per Paßwort verriegelt (siehe S-0-0267)
Über den Parameter "Paßwort" (S-0-0267) kann der Antrieb gegen
Parameterveränderung verriegelt werden.
SoftSERCANS benötigt nicht verriegelte Antriebe.
Abhilfe
Paßwort in Phase 2 entriegeln, siehe Antriebsdokumentation "Paßwort"
(S-0-0267).
Fehler 100: Antriebsfehler
Ein Antrieb meldet einen Antriebsfehler durch Setzen des statischen
Zustandsbits für die Zustandsklasse 1 im Antriebsstatus.
Die genaue Fehlermeldung ist der entsprechenden Diagnosestruktur zu
entnehmen.
Reaktion von SoftSERCANS
Die Diagnose des entsprechenden Antriebs wird in den Diagnosekanal
geschrieben.
Ursache
Im Antrieb ist ein Fehler aufgetreten.
Abhilfe
Entsprechenden Diagnosekanal auslesen und Antriebsfehler laut den
Richtlinien des Antriebsherstellers beheben.
Fehler 4000+n Betriebssystemfehler
In SoftSERCANS ist ein interner Fehler aufgetreten.
Reaktion von SoftSERCANS
Phasenrückschaltung in Kommunikationsphase 0.
Ursache
Interne Hardware-Testroutinen wurden nicht ordnungsgemäß beendet.
Abhilfe
• Kontakt mit dem zuständigen Kundendienst aufnehmen.
DOK-SERCAN-SOFT*01VRS*-FK01-DE-P
6-14 Diagnose
DLL für Zugriffe auf SoftSERCANS
DOK-SERCAN-SOFT*01VRS*-FK01-DE-P
Beschreibung der DLL-Funktionen 7-1
DLL für Zugriffe auf SoftSERCANS
7
Beschreibung der DLL-Funktionen
7.1
Grundsätzliches
Alle hier erklärten Funktionen beziehen sich mit Ausnahme von
SoftSERCANSInitObject und SoftSERCANSUninitObject auf die Klasse
CSoftSERCANS. Die für Borland C/ Borland C++ und ANSIC
verwendeten Wrapperfunktionen haben zur Unterscheidung den Prefix
C_. Weiterhin müssen diese Funktionen einen Hilfszeiger auf die Klasse
CSoftSERCANS
mitübergeben
(siehe
auch
Kapitel
"Der
Pseudokonstruktor SoftSERCANSInitObject()").
Alle Funktionen der Klasse mit Ausnahme der Kon-/Destruktoren
liefern einen in der Datei "SoftSERCANSdef.h" definierten
Fehlercode zurück.
Dieser wird in der DLL-Beschreibung nicht mit erläutert.
7.2
Die Klasse CSoftSERCANS
Hier wird anhand einer Übersicht die Bibliotheksklasse CSoftSERCANS
dargestellt.
3URJUDPPNRQWUROOIXQNWLRQHQ
.ODVVH
&6RIW6(5&$16
.RQVWUXNWRU&6RIW6(5&$16
$16,&
6RIW6(5&$16,QLW2EMHFW
6WDUWB6RIW6(5&$16
6RIW6(5&$16B6WDWH
*HW'//9HUVLRQ
'LHIHWWJHGUXFNWHQ
)XQNWLRQHQVLQGIUGHQ
%HWULHEGHV(FKW]HLWNHUQV
XQEHGLQJWHUIRUGHUOLFK
7HUPLQDWHB6RIW6(5&$16
'HVWUXNWRUa&6RIW6(5&$16
$16,&
6RIW6(5&$168QLQLW2EMHFW
Programmkontrolle.wmf
Abb. 7-1: Kontrollfunktionen
DOK-SERCAN-SOFT*01VRS*-FK01-DE-P
7-2 Beschreibung der DLL-Funktionen
DLL für Zugriffe auf SoftSERCANS
3DUDPHWHUNRQWUROOIXQNWLRQHQ
$3DUDPHWHUEHKDQGOXQJ
.ODVVH
&6RIW6(5&$16
5HDGB$B1DPH
5HDGB$B$WWULEXWH
5HDGB$B8QLW
5HDGB$B0LQLPXP
5HDGB$B0D[LPXP
5HDGB$B3DUDPHWHU
:ULWHB$B3DUDPHWHU
A_Parameterkontrolle.wmf
Abb. 7-2: Zugriff auf A-Parameter
DOK-SERCAN-SOFT*01VRS*-FK01-DE-P
Beschreibung der DLL-Funktionen 7-3
DLL für Zugriffe auf SoftSERCANS
3DUDPHWHUNRQWUROOIXQNWLRQHQ
<3DUDPHWHUEHKDQGOXQJ
.ODVVH
&6RIW6(5&$16
5HDGB<B1DPH
5HDGB<B$WWULEXWH
5HDGB<B8QLW
5HDGB<B0LQLPXP
5HDGB<B0D[LPXP
5HDGB<B3DUDPHWHU
:ULWHB<B3DUDPHWHU
C_Parameterkontrolle.wmf
Abb. 7-3: Zugriff auf Y-Parameter
DOK-SERCAN-SOFT*01VRS*-FK01-DE-P
7-4 Beschreibung der DLL-Funktionen
DLL für Zugriffe auf SoftSERCANS
3DUDPHWHUNRQWUROOIXQNWLRQHQ
633DUDPHWHUEHKDQGOXQJ
.ODVVH
&6RIW6(5&$16
5HDGB63B1DPH
5HDGB63B$WWULEXWH
5HDGB63B8QLW
5HDGB63B0LQLPXP
5HDGB63B0D[LPXP
5HDGB63B3DUDPHWHU
:ULWHB63B3DUDPHWHU
SP_Parameterkontrolle.wmf
Abb. 7-4: Zugriff auf S/P-Parameter
DOK-SERCAN-SOFT*01VRS*-FK01-DE-P
DLL für Zugriffe auf SoftSERCANS
Beschreibung der DLL-Funktionen 7-5
9LVXDOLVLHUXQJVIXQNWLRQHQ
.ODVVH
&6RIW6(5&$16
5HDGB6HUYLFH3DUDPHWHU
:ULWHB6HUYLFH3DUDPHWHU
/LVW7R'DWD
'DWD7R/LVW
hEHUZDFKXQJVIXQNWLRQHQ
,QLWB/LIHFRXQWHU
7ULJJHUB/LIHFRXQWHU
Visualisierungsfunktionen.wmf
Abb. 7-5: Visualisierung und Programmkontrolle der Echtzeitroutinen
DOK-SERCAN-SOFT*01VRS*-FK01-DE-P
7-6 Beschreibung der DLL-Funktionen
DLL für Zugriffe auf SoftSERCANS
'LDJQRVHNDQDOIXQNWLRQHQ
.ODVVH
&6RIW6(5&$16
5HDGB$FWXDOB'LDJQRVLV
*HWB%DGB'ULYHV
&OHDUB(UURU
6\QFKURQLVLHUXQJ
,QLWB6\QF
6\QFB&\FOHB'DWD
3KDVHQXPVFKDOWXQJ
&KDQJH6RIW6(5&$163KDVH
*HW6RIW6(5&$163KDVH
(FKW]HLWGDWHQ
2SHQB0'7B&KDQQHO
2SHQB$7B&KDQQHO
&ORVHB0'7B&KDQQHO
&ORVHB$7B&KDQQHO
Sonstige.wmf
Abb. 7-6: Sonstige Funktionen
DOK-SERCAN-SOFT*01VRS*-FK01-DE-P
DLL für Zugriffe auf SoftSERCANS
7.3
Beschreibung der DLL-Funktionen 7-7
Unterschiede der DLL-Funktionen von Visual C++ zu
anderen Programmiersprachen / Entwicklungsumgebungen
Für andere Programmiersprachen ist es erforderlich, die Headerdatei
"SoftSERCANSANSIC.h" einzubinden und über einen Hilfszeiger auf
Funktionen der Klasse CSoftSERCANS zuzugreifen:
Vergleich der Zugriffe auf Klassenfunktionen:
9LVXDO&
'HNODUDWLRQGHU.ODVVH
&6RIW6(5&$16
PB&6RIW6(5&$16
%RUODQG&&$16,&
392,'
SB&&6RIW6(5&$16 18//
6RIW6(5&$16,QLW2EMHFW
SB&&6RIW6(5&$16
.RQVWUXNWRUDXIUXI
&6RIW6(5&$16&6RIW6(5&$16
]%)XQNWLRQVDXIUXI
PB&6RIW(5&$16:ULWHB<B
3DUDPHWHU
]%:UDSSHUIXQNWLRQVDXIUXI
&B:ULWHB<B3DUDPHWHU
SB&&6RIW6(5&$16
$QZHQGXQJWHUPLQLHUHQ
6SHLFKHUGHU'//ZLUGYRP
6\VWHPDXWRPDWLVFK
IUHLJHJHJHEHQ
$QZHQGXQJWHUPLQLHUHQ
6RIW6(5&$168QLQLW2EMHFW
SB&&6RIW6(5&$16
YHUDQODVVW)UHLJDEHGHV
'//6SHLFKHUV
'HVWUXNWRUDXIUXI
&6RIW6(5&$16a&6RIW6(5&$16
DLL_VisualCppToBorlandCpp.wmf
Abb. 7-7: Unterschiede von VisualC++ zu anderen Programmiersprachen bei
Zugriffen auf die DLL
DOK-SERCAN-SOFT*01VRS*-FK01-DE-P
7-8 Beschreibung der DLL-Funktionen
DLL für Zugriffe auf SoftSERCANS
Fazit
Aufrufe mit anderen Programmiersprachen müssen bei allen DLLFunktionen einen Hilfszeiger als Zusatzparameter mit übergeben. Dieser
wird mit der Funktion SoftSERCANSInitObject adressiert (Übergabe des
Zeigers mit dem Adreßoperator &). Bei der Deklaration dieses Zeigers
muß dieser mit dem NULL-Pointer initialisiert werden!
Weiterhin erhält die zugehörige Funktion zur Unterscheidung das Präfix
C_.
Hinweis: Durch den Zeiger p_CCSoftSERCANS wird die Startadresse
der Klasse CSoftSERCANS in der DLL für ANSICApplikationen festgelegt
7.4
Programmkontrollfunktionen
Hier werden alle Funktionen beschrieben, die zur Kontrolle von
SoftSERCANS erforderlich sind. Hierzu gehören auch Funktionen, welche
den aktuellen Status der Initialisierung oder die Terminierung des
Echtzeitkerns bestimmen. An wichtigen Stellen werden die erforderlichen
Schritte durch Flußdiagramme veranschaulicht.
Der Konstruktor CSoftSERCANS()
Übergabeparameter:
keine
Rückgabeparamter:
keine
Funktionsbeschreibung:
Der Konstruktor der DLL führt alle notwendigen Initialisierungen der
Klassenvariablen durch und wird beim Deklarieren der Klasse
CSoftSERCANS in der jeweiligen Applikation aufgerufen (in der Regel
beim Programmstart der Applikation).
Anmerkung:
In ANSIC oder Pascal gibt es keine Klassen, deshalb wird hier der
Konstruktor indirekt über die Funktion SoftSERCANSInitObject()
aufgerufen.
DOK-SERCAN-SOFT*01VRS*-FK01-DE-P
Beschreibung der DLL-Funktionen 7-9
DLL für Zugriffe auf SoftSERCANS
Beispielcode in C++:
/////////////////////////////////////////////////////////////////////////////
// CSoftSERCANSTestDlg dialog
class CSoftSERCANSTestDlg : public CDialog
{
// Construction
public:
CSoftSERCANSTestDlg(CWnd* pParent = NULL);
//standard constructor
// Dialog Data
//{{AFX_DATA(CSoftSERCANSTestDlg)
enum { IDD = IDD_SoftSERCANSTEST_DIALOG };
CListBox
m_CLBStatus;
//}}AFX_DATA
// ClassWizard generated virtual function overrides
//{{AFX_VIRTUAL(CSoftSERCANSTestDlg)
protected:
virtual void DoDataExchange(CDataExchange* pDX);
DDX/DDV support
//
//}}AFX_VIRTUAL
public:
// Init
BOOL
m_bInit, m_bWin32;
// Implementation
protected:
CMenu
m_CMenu;
HICON
m_hIcon;
// aus DLL, WICHTIG: es darf nur einen geben
CSoftSERCANS
m_gCSoftSERCANS;
Beim Deklarieren des Dialoges CSoftSERCANSTestDlg (Hauptfenster
der Anwendung, da es zur Laufzeit einmalig gestartet und einmalig
beendet wird) wird der Konstruktor der Klasse CSoftSERCANS
durchlaufen und dort alle Variablen dieser Klasse initialisiert.
Der Aufruf im übergeordneten Applikationsrahmen sieht so aus:
// 1. Konstruktoraufruf des Dialogs:
CSoftSERCANSTestDlg CSoftSERCANSDlg;
// 2. Basisdialog aufbauen, Zeigerzuweisung:
// Hauptfenster=CSoftSERCANSDlg
m_pMainWnd = &CSoftSERCANSDlg;
// 3. Bildaufbau, leitet Karteninitialisierung ein:
int nResponse = CSoftSERCANSDlg.DoModal();
Durch obige Deklaration wird zuerst der Konstruktor der Klasse
CSoftSERCANS in der DLL und im Applikationscode der von
CSoftSERCANSTestDlg durchlaufen.
DOK-SERCAN-SOFT*01VRS*-FK01-DE-P
7-10 Beschreibung der DLL-Funktionen
DLL für Zugriffe auf SoftSERCANS
Hinweis: Die Klasse CSoftSERCANS darf innerhalb einer
Applikation
nur
einmal
deklariert
werden.
Alle
untergeordneten Dialoge müssen mit einem Zeiger auf die
globale Klasse m_gCSoftSERCANS arbeiten.
Begründung:
Jede Klasse beansprucht einen Echtzeitkern des Rechners,
dieser darf aber von der zugehörigen Applikation nur einmal
belegt werden!
Innerhalb der Klasse CSoftSERCANS darf das Schlüsselwort virtual nicht verwendet werden, d.h. doppelte namensgleich deklarierte Funktionen sind nicht erlaubt, da diese bei
Aufrufen aus RTX V4.2 nicht mehr unterschieden werden.
Der Pseudokonstruktor SoftSERCANSInitObject()
Übergabeparameter:
Parametername
Datentyp
Bereich
Beschreibung
*p_CCpointer
LPVOID* (ANSIC)
keine Angabe
Hilfszeiger für Zugriff auf Funktionen der
Klasse CSoftSERCANS
CSoftSERCANS* (Pascal++)
Rückgabeparameter:
Parametername
Datentyp
Bereich
Beschreibung
nicht deklariert
ULONG
SUCCESS, DLL_NO_CLASS
Fehlercode für aufrufende Applikation
Funktionsbeschreibung:
Dieser Pseudokonstruktor dient dazu, C++ fremden Programmiersprachen Einsprünge in die Klasse CSoftSERCANS zu ermöglichen. Auf
diese Weise wird durch Aufruf dieses Pseudokonstruktors das gleiche
erreicht wie im vorherigen Kapitel beschrieben (der Konstruktor wird
aufgerufen).
Vor Aufruf des Pseudokonstruktors darf die
Anwendung keine DLL-Funktionen aufrufen, da der
zugehörige Speicher noch nicht allokiert wurde.
VORSICHT
Der zugehörige Zeiger muß vor Aufruf mit NULL
initialisiert werden
Hinweis: Der Pseudokonstruktor darf in einer Anwendung nur einmal
aufgerufen werden!
DOK-SERCAN-SOFT*01VRS*-FK01-DE-P
Beschreibung der DLL-Funktionen 7-11
DLL für Zugriffe auf SoftSERCANS
Beispiel für ANSIC:
#include <windows.h>
#include <stdio.h>
/*
general notes:
//
this
warning
means
’SoftSERCANSANSIC.h’:
that
function
isn’t
declared
in
warning C4013: ’function’ undefined; assuming extern returning
int
// solution: declare function 1:1 from ’SoftSERCANS.h’
*/
// extern declared functions from library
#include "..\include\SoftSERCANSANSIC.h"
// ANSI C Test
int main()
{
// our pointer to C++ (the connection from ANSI C to C++)
LPVOID*
pSoftSERCANS=NULL;
ULONG
ulTest=0xFFFF, ulDatum=0;
char
chName[60];
ulTest=printf("\neinfacher Test des RTSS");
// init pointer and C++ class, write the address of class
SoftSERCANSInitObject(&pSoftSERCANS);
Dieser Aufruf in ANSIC bewirkt in der DLL folgenden Ablauf:
ANSIC DLL-Code:
ULONG CLASS_DECLSPEC SoftSERCANSInitObject(CSoftSERCANS*
*p_CCpointer)
{
// dies ist DER
CSoftSERCANS
Zeiger
für
public
Memberzugriffe
der
Klasse
// in ANSIC/Delphi
// Speicher allokieren (the good old way), ruft CSoftSERCANS() auf:
// pointer von Delphi/ANSIC -> class CSoftSERCANS
CSoftSERCANS* p_CANSIC
= new CSoftSERCANS;
// success?
if(p_CANSIC!=NULL)
{
*p_CCpointer =
p_CANSIC;
return SUCCESS;
}
// sonst nichts:
*p_CCpointer
=
NULL;
return DLL_NO_CLASS;
}
Der fett geduckte Ausschnitt bewirkt einen Aufruf des Konstruktors der
C++-Klasse CSoftSERCANS und die damit verbundene Initialisierung
aller Variablen der Klasse. Ein wesentlicher Unterschied zum
Standardkonstruktor der Klasse ist hier die Rückgabe eines Fehlercodes.
DOK-SERCAN-SOFT*01VRS*-FK01-DE-P
7-12 Beschreibung der DLL-Funktionen
DLL für Zugriffe auf SoftSERCANS
Die Initialisierung Start_SoftSERCANS()
Übergabeparameter:
Parametername
Datentyp
bWin32
BOOL
Bereich
Beschreibung
Diese Variable muß 0 sein.
Rückgabeparameter:
Parametername
Datentyp
Bereich
Beschreibung
m_ulDLL_Error (Variablenname in
der DLL)
ULONG
siehe Datei "SoftSERCANSdefs.h"
Fehlercode
DLL_NO_RTSS,
DLL_RTSS_SYSTEM_ERROR,
DLL_RTSS_HARDWARE_ERROR,
DLL_RTSS_INIT_TIMEOUT
Funktionsbeschreibung:
Diese Funktion dient dem Start und der Initialisierung des Echtzeitkerns
aus der WindowsNT-Umgebung heraus. Sie ist Voraussetzung für die
Kommunikation mit SoftSERCANS.
Die Funktion sucht in der Registrierung die entsprechenden
Kartenresourcen, die während der Installation des Testprogramms
eingetragen wurden. Dies bedeutet, daß ohne eine Installation des
Testprogramms ein Start der Echtzeitanwendung nicht möglich ist.
Die entsprechenden Strings der Registrierung sind in der Datei
"SoftSERCANSreg.h" definiert. Diese Datei ist auch im Projekt des
Setupprogramms eingebunden, um für einheitliche Verhältnisse zu
sorgen.
Wichtig:
Diese Funktion ist in der Echtzeitumgebung ungültig und darf nur in
Win32-Anwendungen verwendet werden!
Auszug aus der Datei
"SoftSERCANSreg.h":
// wird verwendet von: SoftSERCANSDLL, SoftSERCANSTest und Setup
(Installshield V5.1)
// Einträge der Resourcen in der Registrierung (definiert in und via
Setup!!!!)
#define
REGID_STRING
"SOFTWARE\\Indramat
GmbH\\Testprogramm für SoftSERCANS\\1V09"
#define CYCLE_IRQ_STRING
"iCycleIRQ"
#define BASEADDRESS_STRING
"iBaseAddress"
DOK-SERCAN-SOFT*01VRS*-FK01-DE-P
Beschreibung der DLL-Funktionen 7-13
DLL für Zugriffe auf SoftSERCANS
6WDUWGHV(FKW]HLWNHUQV6RIW6(5&$16
6RIW6(5&$16
EHUHLWVJHVWDUWHW"
MD
XQNULWLVFKHU)HKOHU
'//B5766B$&7,9(
)XQNWLRQEHHQGHQ
QHLQ
5HJLVWULHUXQJVHLQWUlJHOHVHQ
.DUWHQUHVRXUFHQ
(LQWUlJHJHIXQGHQ"
QHLQ
NULWLVFKHU)HKOHU
'//B:521*B5(*,675<
MD
6SHUUHQDOOHU'//)XQNWLRQHQ
6RIW6(5&$16
JHVWDUWHW"
QHLQ
NULWLVFKHU)HKOHU
'//B12B5766
ZDUWHQELV5766UXQWHUPLQLHUW
6SHUUHQDOOHU'//)XQNWLRQHQ
ZXUGH
]\NOLVFKH$EIUDJH
6RIW6(5&$16B6WDWH
NULWLVFKHU7LPHRXWIHKOHU
7LPHRXWDEJHODXIHQ"
'//B5766B,1,7B7,0(287
6SHUUHQDOOHU'//)XQNWLRQHQ
5FNJDEHZHUW!
5FNJDEHZHUW!
$XVZHUWXQJ)HKOHUFRGHZLH
EHL6RIW6(5&$16B6WDWH
5FNJDEHZHUW
-D
+DUGZDUHIHKOHU
DOOHVULFKWLJDXVJHIKUW
1HLQ
6SHUUHQDOOHU'//)XQNWLRQHQ
ELVDXI'LDJQRVHNDQDOXQG
6SHUUHQDOOHU'//)XQNWLRQHQ
7HUPLQDWHB6RIW6(5&$16
SoftSercansStart.wmf
Abb. 7-8: Grundsätzlicher Aufbau beim Aufruf von Start_SoftSERCANS
DOK-SERCAN-SOFT*01VRS*-FK01-DE-P
7-14 Beschreibung der DLL-Funktionen
DLL für Zugriffe auf SoftSERCANS
Statusabfrage der laufenden Initialisierung SoftSERCANS_State()
Übergabeparameter:
Parametername
Datentyp
Bereich
Beschreibung
ULONG*
pulState
0..3
Status der Initialisierung von SoftSERCANS:
3 Ø Init läuft
2 Ø Systemfehler
1 Ø Hardwarefehler
0 Ø Init beendet, betriebsbereit
Hinweis: fett: normale Betriebszustände
Rückgabeparameter:
Parametername
Datentyp
Bereich
Beschreibung
m_ulDLL_Error
ULONG
siehe Datei "SoftSERCANSdefs.h"
Fehlercode
Funktionsbeschreibung:
Diese Funktion muß unmittelbar nach Start des Echtzeitkerns
"SoftSERCANSRTX.rtss" aufgerufen werden und zyklisch abgefragt
werden, bis der Wert 0 zurückgeliefert wird.
Hinweis: Für die Statuswerte > 0 sind alle DLL-Funktionen, die auf den
Echtzeitkern zugreifen mit Ausnahme von Terminate_SoftSERCANS() gesperrt!
Für den Statuswert 1 (Hardware nicht gefunden) ist außerdem
die Funktion Read_Actual_Diagnosis() freigegeben.
Wird diese Funktion nicht mindestens einmal aufgerufen, so
sind keine weiteren DLL-Zugriffe möglich.
Ausnahme: Start_SoftSERCANS() funktioniert immer!
DOK-SERCAN-SOFT*01VRS*-FK01-DE-P
Beschreibung der DLL-Funktionen 7-15
DLL für Zugriffe auf SoftSERCANS
Folgender Ablauf muß in der RTX-Umgebung unbedingt eingehalten
werden:
(LQULFKWHQGHU.ODVVH
&6RIW6(5&$16YLD
.ODVVHQGHILQLWLRQLQ9LVXDO&
.RQVWUXNWRUE]Z
6RIW6(5&$16,QLW2EMHFW
$XIUXIGHU6WDWXVDEIUDJH
6RIW6(5&$16B6WDWH
QXULQ57;8PJHEXQJ
+LQZHLV9RUGHP$XIUXIYRQ
6RIW6(5&$16B6WDWHVLQGDOOH
'//)XQNWLRQHQPLW$XVQDKPH
YRQ7HUPLQDWHB6RIW6(5&$16
XQG6RIW6(5&$168Q,QLW2EMHFW
JHVSHUUW
1HLQ]%VZDUWHQXQG
HUQHXWDEIUDJHQ
6RIW6(5&$16B6WDWH
!
-D
)HKOHULQ
$SSOLNDWLRQ
VLJQDOLVLHUHQ
6RIW6(5&$16B6WDWH
-D
$SSOLNDWLRQDUEHLWHW
)XQNWLRQHQGHU'//N|QQHQ
DXIJHUXIHQZHUGHQ
$SSOLNDWLRQEHHQGHQ"
-D
RSWLRQDO$XIUXIGHU)XQNWLRQ
7HUPLQDWHB6RIW6(5&$16
)UHLJHEHQGHV6SHLFKHUV
,Q&.ODVVHQYDULDEOHIUHLJHEHQE]Z
6RIW6(5&$168QLQLW2EMHFWDXIUXIHQ
1HLQ
*HW5766B6WDWH
5HDGB$FWXDOB'LDJQRVLV
LVWIUHLJHVFKDOWHW
+LQZHLV1DFKGHP$XIUXIYRQ
6RIW6(5&$168Q,QLW2EMHFW
GUIHQGLH'//)XQNWLRQHQ
QLFKWPHKUYHUZHQGHWZHUGHQ
DLLStart_Ende.wmf
Abb. 7-9: Grundsätzlicher Ablauf zum Einbinden von SoftSERCANS.rtss
Hinweis: Eine RTX-Anwendung muß den eingebundenen RTX-Prozeß
wie in der Dokumentation von VenturCom beschrieben,
starten. Der Aufruf von Terminate_SoftSERCANS darf bei
Start von mehreren SoftSERCANS-Anwendungen nicht
erfolgen.
DOK-SERCAN-SOFT*01VRS*-FK01-DE-P
7-16 Beschreibung der DLL-Funktionen
DLL für Zugriffe auf SoftSERCANS
Beenden von SoftSERCANS Terminate_SoftSERCANS()
Übergabeparameter:
keine
Rückgabeparameter:
Parametername
Datentyp
Bereich
Beschreibung
m_ulDLL_Error
ULONG
SUCCESS, DLL_NO_CLASS
Fehlercode für aufrufende Applikation
Funktionsbeschreibung:
Diese Funktion beendet die Echtzeitapplikation SoftSERCANS.
Versionskontrolle GetDLLVersion()
Übergabeparameter:
Parametername
Datentyp
Bereich
Beschreibung
p_SDLL_Version->
struct DLL_VERSION, char[]
-
Versionsstring, z.B.:
strVersion[31]
p_SDLL_Version->
"1.03"
struct DLL_VERSION, char[]
-
strDate[31]
Datumstring, z.B.:
"erstellt am 01.04.1999"
p_SDLL_Version->
struct DLL_VERSION, char[]
-
strName[31]
Bezeichnerstring, z.B.:
"SoftSERCANS-DLL, Indramat GmbH"
Rückgabeparameter:
Parametername
Datentyp
Bereich
Beschreibung
m_ulDLL_Error
ULONG
SUCCESS, DLL_NO_CLASS,
definiert in "SoftSERCANSdefs.h"
Fehlercode für aufrufende Applikation
Funktionsbeschreibung:
Mit dieser Funktion können die wichtigsten Eigenschaften der DLL-Datei,
welche auch mit der rechten Maustaste abgerufen werden können
eingelesen werden. Diese Eigenschaften sind in der Datei "resource.h"
definiert. Die Eigenschaften dürfen nicht mit dem Resourceneditor
von Visual C++ verändert werden, sondern ausschließlich in der
Datei "resource.h".
DOK-SERCAN-SOFT*01VRS*-FK01-DE-P
Beschreibung der DLL-Funktionen 7-17
DLL für Zugriffe auf SoftSERCANS
ABB710.BMP
Abb. 7-10: DLL-Resourcen, Versionsverwaltung
Die Resourcen werden auf die in der Datei "resource.h" definierten
Konstanten abgebildet. Dies geschieht durch manuelle Anpassung in der
Datei "SoftSERCANSDLL.rc" welche vom Resourceneditor der
Entwicklungsumgebung verwaltet wird:
Auszug aus
"SoftSERCANSDLL.rc":
BEGIN
BLOCK "StringFileInfo"
BEGIN
BLOCK "040704b0"
BEGIN
VALUE "Comments", "Schnittstelle zur SoftSERCANS ISA-Karte\0"
VALUE "CompanyName", "Indramat GmbH\0"
VALUE "FileDescription", "SoftSERCANS DLL\0"
VALUE "FileVersion", SoftSERCANSDLL_VERSION // changed WR
VALUE "InternalName", SoftSERCANSDLL_NAME // changed by WR
VALUE "LegalCopyright", "Copyright © 1/1999\0"
VALUE "OriginalFilename", "SoftSERCANS.dll\0"
VALUE "PrivateBuild", SoftSERCANSDLL_DATE // changed by WR
VALUE "ProductName", "Indramat SoftSERCANS\0"
VALUE "ProductVersion", "1, 0, 0, 0\0"
DOK-SERCAN-SOFT*01VRS*-FK01-DE-P
7-18 Beschreibung der DLL-Funktionen
Diese Konstanten sind in
"resource.h" definiert:
DLL für Zugriffe auf SoftSERCANS
//{{NO_DEPENDENCIES}}
// Microsoft Developer Studio generated include file.
// Used by SoftSERCANSDLL.rc
//
//////////////////////////////////////////////
// nur hier wird die DLL-Version gepflegt:
//
//////////////////////////////////////////////
// maximale Länge 30 Zeichen:
#define SoftSERCANSDLL_VERSION "0.03"
#define SoftSERCANSDLL_DATE
erstellt am 07.04.1999"
#define SoftSERCANSDLL_NAME
GmbH"
"SoftSERCANS-DLL,INDRAMAT
Diese Eigenschaften sind im Explorer wie folgt sichtbar:
ABB711.BMP
Abb. 7-11: Dateieigenschaften der DLL
Der Destruktor ∼CSoftSERCANS()
Funktionsbeschreibung:
Der Destruktor gibt mögliche verwendete Resourcen wieder frei.
DOK-SERCAN-SOFT*01VRS*-FK01-DE-P
Beschreibung der DLL-Funktionen 7-19
DLL für Zugriffe auf SoftSERCANS
Der Pseudodestruktor SoftSERCANSUnInitObject()
Übergabeparameter:
Parametername
Datentyp
Bereich
Beschreibung
p_CCpointer
LPVOID* (ANSIC)
keine Angabe
Hilfszeiger für Zugriff auf Funktionen der
Klasse CSoftSERCANS
CSoftSERCANS* (Pascal++)
Rückgabeparameter:
Parametername
Datentyp
Bereich
Beschreibung
nicht deklariert
ULONG
SUCCESS, DLL_NO_CLASS
Fehlercode für aufrufende Applikation
Funktionsbeschreibung:
Dieser Pseudodestruktor dient dazu, C++ fremden Programmiersprachen
die Speicherfreigabe und den damit verbundenen Destruktoraufruf
∼CSoftSERCANS der Klasse CSoftSERCANS zu ermöglichen. Auf diese
Weise wird durch Aufruf dieses Pseudodestruktors das gleiche erreicht
wie im vorherigen Kapitel beschrieben.
Nach Aufruf des Pseudodestruktors darf die
Anwendung keine DLL-Funktionen mehr aufrufen, da
der zugehörige Speicher deallokiert wurde.
VORSICHT
Siehe auch Abb. 7-8: Grundsätzlicher Aufbau beim Aufruf von
Start_SoftSERCANS.
7.5
Parameterfunktionen der DLL
Hier werden alle Funktionen zum Lesen und Schreiben der verwendeten
Parameter beschrieben.
Hinweis: Alle Parameter liefern im Fehlerfall den in Kapitel 7.13
beschriebenen Fehlercode (definiert in "SoftSERCANSdefs.h")
und die dazugehörigen Fehler-ID-Bits zurück.
Kodierung des Übergabeparameter "usIdentnr" für die folgenden
Funktionen
Achsnummer (USHORT)
7
0
0 x x x x x x x
Achsnummer [1 ... 99]
Abb. 7-12: Achsnummer (Parameter USHORT usAntriebsadresse)
DOK-SERCAN-SOFT*01VRS*-FK01-DE-P
7-20 Beschreibung der DLL-Funktionen
DLL für Zugriffe auf SoftSERCANS
Parameter-Kennung (USHORT)
15
8
x x x x x x x x
7
0
x x x x x x x x
Parameter-Nr.
[1 ... 4095]
Parameter-Satz
[0 ... 7]
0
1
0
0
S-Parameter
P-Parameter
A-Parameter
Y-Parameter
Abb. 7-13: Parameter-Kennung (Parameter USHORT usIdentnr)
Name des A-Parameters Read_A_Name()
Übergabeparameter:
Parametername
Datentyp
Bereich
Beschreibung
const usIdentnr
USHORT
0x0001..0x7FFF
Parameternummer einschließlich Parametersatz
const usAntriebsadresse
USHORT
1..99
Adresse des selektierten Antriebs
pchName
char* auf
-
Zeiger auf die Bezeichnung des selektierten Parameters
char[61]
Hinweis: Die Applikation muß den Speicher für pchName zur Verfügung
stellen (z.B. char chName[61])
Rückgabeparameter:
Parametername
Datentyp
Bereich
Beschreibung
m_ulDLL_Error
ULONG
siehe Datei
Fehlercode,
"SoftSERCANSdefs.h"
Parameterfehler (Seite 7-66)
Funktionsbeschreibung:
Diese Funktion liest den Namen (Element 2) eines A-Parameters.
Attribut des A-Parameters Read_A_Attribute()
Übergabeparameter:
Parametername
Datentyp
Bereich
Beschreibung
const usIdentnr
USHORT
0x0001..
Parameternummer einschließlich Parametersatz
0x7FFF
const usAntriebsadresse
USHORT
1..99
Adresse des selektierten Antriebs
pulAttribut
ULONG*
-
Attribut des selektierten Parameters
DOK-SERCAN-SOFT*01VRS*-FK01-DE-P
Beschreibung der DLL-Funktionen 7-21
DLL für Zugriffe auf SoftSERCANS
Rückgabeparameter:
Parametername
Datentyp
Bereich
Beschreibung
m_ulDLL_Error
ULONG
siehe Datei
Fehlercode,
"SoftSERCANSdefs.h"
Parameterfehler (Seite 7-66)
Diese Funktion liest das Attribut (Element 3) eines A-Parameters.
Funktionsbeschreibung:
Hinweis: Die Applikation muß den Speicher für pulAttribut zur
Verfügung stellen und die Variable mit dem Referenzoperator
übergeben: &ulAttribut
Einheit des A-Parameters Read_A_Unit()
Übergabeparameter:
Parametername
Datentyp
Bereich
Beschreibung
const usIdentnr
USHORT
0x0001..
Parameternummer einschließlich Parametersatz
0x7FFF
const usAntriebsadresse
USHORT
1..99
Adresse des selektierten Antriebs
pchEinheit
Char* auf
-
Einheit des Parameters
Char[13]
Hinweis: Die Applikation muß den Speicher für pchEinheit zur
Verfügung stellen (z.B. char chEinheit[13])
Rückgabeparameter:
Parametername
Datentyp
Bereich
Beschreibung
m_ulDLL_Error
ULONG
siehe Datei
Fehlercode,
"SoftSERCANSdefs.h"
Parameterfehler (Seite 7-66)
Funktionsbeschreibung:
Diese Funktion liest die Einheit (Element 4) eines A-Parameters.
Minimum des A-Parameters Read_A_Minimum()
Übergabeparameter:
Parametername
Datentyp
Bereich
Beschreibung
const usIdentnr
USHORT
0x0001..
Parameternummer einschließlich Parametersatz
0x7FFF
const usAntriebsadresse
USHORT
1..99
Adresse des selektierten Antriebs
pulMinimum
ULONG*
-
Minimalwert des Parameters
DOK-SERCAN-SOFT*01VRS*-FK01-DE-P
7-22 Beschreibung der DLL-Funktionen
DLL für Zugriffe auf SoftSERCANS
Rückgabeparameter:
Parametername
Datentyp
Bereich
Beschreibung
m_ulDLL_Error
ULONG
siehe Datei
Fehlercode,
"SoftSERCANSdefs.h"
Parameterfehler (Seite 7-66)
Funktionsbeschreibung:
Diese Funktion liest das Minimum (Element 5) eines A-Parameters.
Hinweis: Die Applikation muß den Speicher für pulMinimum zur
Verfügung stellen und die Variable mit dem Referenzoperator
übergeben: &ulMinimum
Maximum des A-Parameters Read_A_Maximum()
Übergabeparameter:
Parametername
Datentyp
Bereich
Beschreibung
const usIdentnr
USHORT
0x0001..
Parameternummer einschließlich Parametersatz
0x7FFF
const usAntriebsadresse
USHORT
1..99
Adresse des selektierten Antriebs
pulMaximum
ULONG*
-
Maximalwert des Parameters
Rückgabeparameter:
Parametername
Datentyp
Bereich
Beschreibung
m_ulDLL_Error
ULONG
siehe Datei
Fehlercode,
"SoftSERCANSdefs.h"
Parameterfehler (Seite 7-66)
Funktionsbeschreibung:
Diese Funktion liest das Maximum (Element 6) eines A-Parameters.
Hinweis: Die Applikation muß den Speicher für pulMaximum zur
Verfügung stellen und die Variable mit dem Referenzoperator
übergeben: &ulMaximum
Datum des A-Parameters Read_A_Parameter()
Übergabeparameter:
Parametername
Datentyp
Bereich
Beschreibung
const usIdentnr
USHORT
0x0001..
Parameternummer einschließlich Parametersatz
0x7FFF
const usAntriebsadresse
USHORT
1..99
Adresse des selektierten Antriebs
pulData
ULONG*
-
Datum des Parameters bzw. Zeiger auf Datenliste
DOK-SERCAN-SOFT*01VRS*-FK01-DE-P
Beschreibung der DLL-Funktionen 7-23
DLL für Zugriffe auf SoftSERCANS
Rückgabeparameter:
Parametername
Datentyp
Bereich
Beschreibung
m_ulDLL_Error
ULONG
siehe Datei
Fehlercode,
"SoftSERCANSdefs.h"
Parameterfehler (Seite 7-66)
Funktionsbeschreibung:
Diese Funktion liest das Datum (Element 7) des selektierten Parameters.
Handelt es sich um eine Liste, so wird der Zeiger auf den Listenanfang
übergeben. Ob es sich um eine Liste handelt, muß über das Attribut
(siehe Seite 5-14) des Parameters ermittelt werden.
Hinweis: Die Applikation muß den Speicher für pulData zur Verfügung
stellen und die Variable mit dem Referenzoperator übergeben:
&ulData
Beispiel:
Sourcecode DLL:
// 1. Attribut lesen:
m_ulDLL_Error =
C_Read_A_Attribute
(m_STestmich.usIdentnr,
pSService->usAntriebsadresse, &m_STestmich.ulAttribut);
// 2. Attribut auswerten:
// wurde ein Attribut erkannt, wenn ja
if(m_ulDLL_Error>0)
return m_ulDLL_Error;
// dann wird es auch übernommen:
else
{
// Auswertung Attribut
if(m_STestmich.ulAttribut&0x00040000)// variabel, Bit 18?
pSService->bListe
pSService->ulAttribut
}
DOK-SERCAN-SOFT*01VRS*-FK01-DE-P
=
=
TRUE;
m_STestmich.ulAttribut;
7-24 Beschreibung der DLL-Funktionen
DLL für Zugriffe auf SoftSERCANS
Sourcecodeauszug Anwendung:
// 3. In der Applikation: Entsprechend weiter verfahren
// wurde ein Listenparameter angefordert?
if(m_SService.bListe)
{
////////////////////////////////////////////////////
// wichtige Zuweisung:
//
////////////////////////////////////////////////////
SHORT* psDaten=(SHORT*)m_SService.ulListe;
// m_SService.ulListe muß wieder deallokiert werden, siehe weiter
// unten
// Listenelemente zeigen:
Datumdarstellung(LISTE);
// Liste zeigen
// angeforderte Standardelemente ausgeben
m_cstrName
=
m_SService.chName;
m_cstrAttribut
=
m_SService.chAttribut;
m_cstrEinheit
=
m_SService.chEinheit;
m_cstrMinimum
m_cstrMaximum
=
=
m_SService.chMinimum;
m_SService.chMaximum;
// Liste einlesen, konvertieren und anzeigen
// alten Inhalt leeren:
m_CLBDatenliste.ResetContent();
DOK-SERCAN-SOFT*01VRS*-FK01-DE-P
Beschreibung der DLL-Funktionen 7-25
DLL für Zugriffe auf SoftSERCANS
// Liste füllen, 3 Möglichkeiten
// aktuelle Elementanzahl in DWORD
m_uiAktListe
=
(UINT)psDaten[0];
// max. Elementanzahl in DWORD
m_uiMaxListe =
(UINT)psDaten[1];
// Liste aus DWORDs ?
if((m_SService.ulAttribut&0x00020000)==0x00020000)
{
// Länge korrigieren:
m_uiAktListe=m_uiAktListe>>2;
m_uiMaxListe=m_uiMaxListe>>2;
// inkrement
for(UINT i=0;i<m_uiAktListe;i++)
;
// hier Liste auslesen
}
// oder sind es gar WORDs ?
else if((m_SService.ulAttribut&0x00010000)==0x00010000)
{
// Länge korrigieren:
m_uiAktListe=m_uiAktListe>>1;
m_uiMaxListe=m_uiMaxListe>>1;
// inkrement 1
for(UINT i=0;i<m_uiAktListe;i++)
;
// hier Liste auslesen
}
// oder ist es ein simpler String?
else
{
// nur wenn wirklich nötig allokieren (für MFC-Behandlung):
char
chLangeListe[65533];
char*
pchSource;
// optional: Länge korrigieren, wir haben nur EINEN String:
m_uiAktListe=1;
m_uiMaxListe=1;
// so zuweisen:
pchSource
=
(char*)&psDaten[2];
// so kopieren: Endezeichen inclusive, dafür chLangeListe:
strncpy(chLangeListe, pchSource, psDaten[0]+1);
// und endlich in ein Ausgabefeld:
// nur den einen String eintragen:
m_CLBDatenliste.InsertString(-1,chLangeListe);
} // ab hier sind die 65533 Bytes wieder freigegeben
Dies ist eine sichere Methode zum Auslesen von Listen (kann so 1:1 in
eigene Applikationen übernommen werden).
DOK-SERCAN-SOFT*01VRS*-FK01-DE-P
7-26 Beschreibung der DLL-Funktionen
DLL für Zugriffe auf SoftSERCANS
Hinweis: Wichtig ist die Freigabe des von SoftSERCANS allokierten
Speicherbereichs ab dem Zeitpunkt, bei dem diese Liste nicht
mehr von der Applikation benötigt wird.
Auszug aus einem Applikationsquellcode:
/////////////////////////////////////////////////////////////////////////////
// Speicher unbedingt wieder deallokieren
//
/////////////////////////////////////////////////////////////////////////////
if(m_SService.bListe)
{
// m_SService.ulListe siehe oben !!!!!!
if(!HeapFree(GetProcessHeap(),0,(VOID*)m_SService.ulListe)
)
{
ULONG ulFehler=GetLastError();
// Fehler ausgeben
m_CSStatus.m_ulBackColor
=
RED;
m_cstrStatus.Format(IDS_HEAPERROR, ulFehler);
}
// einmal reicht:
m_SService.bListe
=
FALSE;
}
Wenn der Speicher nicht deallokiert wird, wird der verfügbare
Speicher unter WinNT (im Programm Taskmanager sichtbar) immer
kleiner!
Der hier beschriebene Ablauf muß bei allen Listenparametern angewandt
werden!
DOK-SERCAN-SOFT*01VRS*-FK01-DE-P
Beschreibung der DLL-Funktionen 7-27
DLL für Zugriffe auf SoftSERCANS
Datum des A-Parameters schreiben Write_A_Parameter()
Übergabeparameter:
Parametername
Datentyp
Bereich
Beschreibung
const usIdentnr
USHORT
0x0001..
Parameternummer einschließlich Parametersatz
0x7FFF
const
usAntriebsadresse
USHORT
1..99
Adresse des selektierten Antriebs
ulDatum
ULONG
-
Datum des Antriebs
oder Adresse der variablen Liste wenn bListe == TRUE
const bListe
BOOL
0,1
wenn FALSE wird ein Datum übergeben
wenn TRUE wird eine Datenliste übergeben Ø Zeiger auf
Listenstart (ist meistens mit dem Zeiger identisch, der zuvor beim
Lesen dieses Parameters übergeben wurde)
Rückgabeparameter:
Parametername
Datentyp
Bereich
Beschreibung
m_ulDLL_Error
ULONG
siehe Datei
Fehlercode,
"SoftSERCANSdefs.h"
Parameterfehler (Seite 7-66)
Funktionsbeschreibung:
DOK-SERCAN-SOFT*01VRS*-FK01-DE-P
Diese Funktion schreibt
entsprechende Liste.
einen
einzelnen
A-Parameter
oder
die
7-28 Beschreibung der DLL-Funktionen
DLL für Zugriffe auf SoftSERCANS
Flußdiagramm zur Parameterbehandlung
SULQ]LSLHOOHU$EODXIEHLGHU3DUDPHWHUEHKDQGOXQJ
$QZHQGHUZLOOQHXHQ
3DUDPHWHUOHVHQ
6FKULWW$WWULEXWGHV
VHOHNWLHUWHQ3DUDPHWHUV
OHVHQ
'DWXPOHVHQXQGDQ]HLJHQ
/LVWHYRQ'DWHQ"
YHUlQGHUQ
-D
'DWXPVFKUHLEHQ
=HLJHUDXI/LVWHKROHQ/LVWH
ZLUGYRQ6RIW6(5&$16LP
6SHLFKHUDOORNLHUW
/LVWHEHDUEHLWHQYHUlQGHUQ
YHUNU]HQO|VFKHQXVZ
YHUlQGHUWH/LVWH2QOLQH
DQ]HLJHQ
3DUDPHWHUVFKUHLEHQ"
1HLQ
-D1HLQ
$QZHQGHUVHOHNWLHUW
QHXHQ3DUDPHWHU
1HLQ
-D
$SSOLNDWLRQPX‰DOORNLHUWHQ
6SHLFKHUYRPYRUKHULJHQ
3DUDPHWHUZLHGHUIUHLJHEHQ
ZHQQGLHVHUQLFKWPHKU
EHQ|WLJWZLUG
Parameterbehandlung.wmf
Abb. 7-14: Ablauf beim Lesen und Schreiben eines Parameters
Beim Lesen eines Parameters wird der benötigte Speicher je
Parameter nur einmal im Echtzeitkern von SoftSERCANS allokiert.
Ab diesem Zeitpunkt wird nur noch über einen Zeiger vom Typ
ULONG auf diesen reservierten Bereich zugegriffen. Die Applikation
muß keinen Speicher für das Lesen von Listen zur Verfügung
stellen, den zur Verfügung gestellten Speicher jedoch wieder
freigeben!
DOK-SERCAN-SOFT*01VRS*-FK01-DE-P
Beschreibung der DLL-Funktionen 7-29
DLL für Zugriffe auf SoftSERCANS
Name des Y-Parameters Read_Y_Name()
Übergabeparameter:
Parametername
Datentyp
Bereich
Beschreibung
const usIdentnr
USHORT
0x0001..0x7FFF
Parameternummer einschließlich Parametersatz
pchName
char* auf
-
Zeiger auf die Bezeichnung des selektierten Parameters
char[61]
Hinweis: Die Applikation muß den Speicher für pchName zur Verfügung
stellen (z.B. char chName[61])
Rückgabeparameter:
Parametername
Datentyp
Bereich
Beschreibung
m_ulDLL_Error
ULONG
siehe Datei
Fehlercode,
"SoftSERCANSdefs.h"
Parameterfehler (Seite 7-66)
Diese Funktion liefert den Namen (Element 2) des selektierten
Parameters.
Funktionsbeschreibung:
Attribut des Y-Parameters Read_Y_Attribute()
Übergabeparameter:
Parametername
Datentyp
Bereich
Beschreibung
const usIdentnr
USHORT
0x0001..0x7FFF
Parameternummer einschließlich Parametersatz
pulAttribut
ULONG*
-
Attribut des selektierten Parameters
Rückgabeparameter:
Parametername
Datentyp
Bereich
Beschreibung
m_ulDLL_Error
ULONG
siehe Datei
Fehlercode,
"SoftSERCANSdefs.h"
Parameterfehler (Seite 7-66)
Funktionsbeschreibung:
Diese Funktion liefert das Attribut (Element 3) des selektierten
Parameters.
Hinweis: Die Applikation muß den Speicher für pulAttribut zur
Verfügung stellen und die Variable mit dem Referenzoperator
übergeben: &ulAttribut
DOK-SERCAN-SOFT*01VRS*-FK01-DE-P
7-30 Beschreibung der DLL-Funktionen
DLL für Zugriffe auf SoftSERCANS
Einheit des Y-Parameters Read_Y_Unit()
Übergabeparameter:
Parametername
Datentyp
Bereich
Beschreibung
const usIdentnr
USHORT
0x0001..0x7FFF
Parameternummer einschließlich Parametersatz
pchEinheit
char* auf
-
Einheit des selektierten Parameters
char[13]
Hinweis: Die Applikation muß den Speicher für pchEinheit zur
Verfügung stellen (z.B. char chEinheit[13])
Rückgabeparameter:
Parametername
Datentyp
Bereich
Beschreibung
m_ulDLL_Error
ULONG
siehe Datei
Fehlercode,
"SoftSERCANSdefs.h"
Parameterfehler (Seite 7-66)
Diese Funktion liefert die Einheit (Element 4) des selektierten
Parameters.
Funktionsbeschreibung:
Minimum des Y-Parameters Read_Y_Minimum()
Übergabeparameter:
Parametername
Datentyp
Bereich
Beschreibung
const usIdentnr
USHORT
0x0001..0x7FFF
Parameternummer einschließlich Parametersatz
pulMinimum
ULONG*
-
Minimum des selektierten Parameters
Rückgabeparameter:
Parametername
Datentyp
Bereich
Beschreibung
m_ulDLL_Error
ULONG
siehe Datei
Fehlercode,
"SoftSERCANSdefs.h"
Parameterfehler (Seite 7-66)
Funktionsbeschreibung:
Diese Funktion liefert das Minimum (Element 5) des selektierten
Parameters.
Hinweis: Die Applikation muß den Speicher für pulMinimum zur
Verfügung stellen und die Variable mit dem Referenzoperator
übergeben: &ulMinimum
DOK-SERCAN-SOFT*01VRS*-FK01-DE-P
DLL für Zugriffe auf SoftSERCANS
Beschreibung der DLL-Funktionen 7-31
Maximum des Y-Parameters Read_Y_Maximum()
Übergabeparameter:
Parametername
Datentyp
Bereich
Beschreibung
const usIdentnr
USHORT
0x0001..0x7FFF
Parameternummer einschließlich Parametersatz
pulMaximum
ULONG*
-
Maximum des selektierten Parameters
Rückgabeparameter:
Parametername
Datentyp
Bereich
Beschreibung
m_ulDLL_Error
ULONG
siehe Datei
Fehlercode,
"SoftSERCANSdefs.h"
Parameterfehler (Seite 7-66)
Diese Funktion liefert das Maximum (Element 6) des selektierten
Parameters.
Funktionsbeschreibung:
Hinweis: Die Applikation muß den Speicher für pulMaximum zur
Verfügung stellen und die Variable mit dem Referenzoperator
übergeben: &ulMaximum
Datum des Y-Parameters Read_Y_Parameter()
Übergabeparameter:
Parametername
Datentyp
Bereich
Beschreibung
const usIdentnr
USHORT
0x0001..0x7FFF
Parameternummer einschließlich Parametersatz
pulData
ULONG*
-
Datum des Parameters bzw. Zeiger auf Datenliste
Rückgabeparameter:
Parametername
Datentyp
Bereich
Beschreibung
m_ulDLL_Error
ULONG
siehe Datei
Fehlercode,
"SoftSERCANSdefs.h"
Parameterfehler (Seite 7-66)
Funktionsbeschreibung:
Diese Funktion liest das Datum (Element 7) des selektierten Parameters.
Handelt es sich um eine Liste, so wird der Zeiger auf den Listenanfang
übergeben. Ob es sich um eine Liste handelt, muß über das Attribut des
Parameters ermittelt werden (siehe auch Kapitel "Datum des AParameters Read_A_Parameter()"). Bei Listen muß der von
SoftSERCANS allokierte Speicher von der Applikation wieder
deallokiert werden.
Hinweis: Die Applikation muß den Speicher für pulData zur Verfügung
stellen und die Variable mit dem Referenzoperator übergeben:
&ulData
DOK-SERCAN-SOFT*01VRS*-FK01-DE-P
7-32 Beschreibung der DLL-Funktionen
DLL für Zugriffe auf SoftSERCANS
Datum des Y-Parameters schreiben Write_Y_Parameter()
Übergabeparameter:
Parametername
Datentyp
Bereich
Beschreibung
const usIdentnr
USHORT
0x0001..0x7FFF
Parameternummer einschließlich Parametersatz
ulDatum
ULONG
-
Datum des Antriebs
oder Adresse der variablen Liste wenn bListe == TRUE
const bListe
BOOL
0,1
wenn FALSE wird ein Datum übergeben
wenn TRUE wird eine Datenliste übergeben Ø Zeiger auf
Listenstart (ist meistens mit dem Zeiger identisch, der
zuvor beim Lesen dieses Parameters übergeben wurde)
Rückgabeparameter:
Parametername
Datentyp
Bereich
Beschreibung
m_ulDLL_Error
ULONG
siehe Datei
Fehlercode,
"SoftSERCANSdefs.h"
Parameterfehler (Seite 7-66)
Funktionsbeschreibung:
Diese Funktion schreibt einen einzelnen Y-Parameter oder die
entsprechende Liste. (siehe auch Kapitel "Flußdiagramm zur
Parameterbehandlung")
Name des S/P-Parameters Read_SP_Name()
Übergabeparameter:
Parametername
Datentyp
Bereich
Beschreibung
const usIdentnr
USHORT
0x0001-0x7FFF (S)
S- bzw. P-Parameternummer ein-schließlich
des Parametersatzes
0x8001-0xFFFF (P)
const usAntriebsadresse
USHORT
1..99
Adresse des selektierten Antriebs
pchName
Char* auf
-
Name des selektierten Parameters
Char[61]
Hinweis: Die Applikation muß den Speicher für pchName zur Verfügung
stellen (z.B. char chName[61])
Rückgabeparameter:
Parametername
Datentyp
Bereich
Beschreibung
m_ulDLL_Error
ULONG
siehe Datei
Fehlercode,
"SoftSERCANSdefs.h"
Parameterfehler (Seite 7-66)
Funktionsbeschreibung:
Diese Funktion liefert den Namen (Element 2) des selektierten
Parameters.
DOK-SERCAN-SOFT*01VRS*-FK01-DE-P
Beschreibung der DLL-Funktionen 7-33
DLL für Zugriffe auf SoftSERCANS
Attribut des S/P-Parameters Read_SP_Attribute()
Übergabeparameter:
Parametername
Datentyp
Bereich
Beschreibung
const usIdentnr
USHORT
0x0001-0x7FFF (S)
S- bzw. P-Parameternummer ein-schließlich
des Parametersatzes
0x8001-0xFFFF (P)
const usAntriebsadresse
USHORT
1..99
Adresse des selektierten Antriebs
pulAttribut
ULONG*
-
Attribut des selektierten Parameters
Rückgabeparameter:
Parametername
Datentyp
Bereich
Beschreibung
m_ulDLL_Error
ULONG
siehe Datei
Fehlercode,
"SoftSERCANSdefs.h"
Parameterfehler (Seite 7-66)
Funktionsbeschreibung:
Diese Funktion liefert das Attribut (Element 3) des selektierten
Parameters.
Hinweis: Die Applikation muß den Speicher für pulAttribut zur
Verfügung stellen und die Variable mit dem Referenzoperator
übergeben: &ulAttribut
Einheit des S/P-Parameters Read_SP_Unit()
Übergabeparameter:
Parametername
Datentyp
Bereich
Beschreibung
const usIdentnr
USHORT
0x0001-0x7FFF (S)
S- bzw. P-Parameternummer einschließlich
des Parametersatzes
0x8001-0xFFFF (P)
const usAntriebsadresse
USHORT
1..99
Adresse des selektierten Antriebs
pchEinheit
char* auf
-
Einheit des selektierten Parameters
char[13]
Hinweis: Die Applikation muß den Speicher für pchEinheit zur
Verfügung stellen (z.B. char chEinheit[13])
Rückgabeparameter:
Parametername
Datentyp
Bereich
Beschreibung
m_ulDLL_Error
ULONG
siehe Datei
Fehlercode,
"SoftSERCANSdefs.h"
Parameterfehler (Seite 7-66)
Funktionsbeschreibung:
DOK-SERCAN-SOFT*01VRS*-FK01-DE-P
Diese Funktion liefert die Einheit (Element 4) des selektierten
Parameters.
7-34 Beschreibung der DLL-Funktionen
DLL für Zugriffe auf SoftSERCANS
Minimum des S/P-Parameters Read_SP_Minimum()
Übergabeparameter:
Parametername
Datentyp
Bereich
Beschreibung
const usIdentnr
USHORT
0x0001-0x7FFF (S)
S- bzw. P-Parameternummer einschließlich
des Parametersatzes
0x8001-0xFFFF (P)
const usAntriebsadresse
USHORT
1..99
Adresse des selektierten Antriebs
pulMinimum
ULONG*
-
Minimum des selektierten Parameters
Rückgabeparameter:
Parametername
Datentyp
Bereich
Beschreibung
m_ulDLL_Error
ULONG
siehe Datei
Fehlercode,
"SoftSERCANSdefs.h"
Parameterfehler (Seite 7-66)
Funktionsbeschreibung:
Diese Funktion liefert das Minimum (Element 5) des selektierten
Parameters.
Hinweis: Die Applikation muß den Speicher für pulMinimum zur
Verfügung stellen und die Variable mit dem Referenzoperator
übergeben: &ulMinimum
Maximum des S/P-Parameters Read_SP_Maximum()
Übergabeparameter:
Parametername
Datentyp
Bereich
Beschreibung
const usIdentnr
USHORT
0x0001-0x7FFF (S)
S- bzw. P-Parameternummer einschließlich
des Parametersatzes
0x8001-0xFFFF (P)
const usAntriebsadresse
USHORT
1..99
Adresse des selektierten Antriebs
pulMaximum
ULONG*
-
Maximum des selektierten Parameters
Rückgabeparameter:
Parametername
Datentyp
Bereich
Beschreibung
m_ulDLL_Error
ULONG
siehe Datei
Fehlercode,
"SoftSERCANSdefs.h"
Parameterfehler (Seite 7-66)
Funktionsbeschreibung:
Diese Funktion liefert das Maximum (Element 6) des selektierten
Parameters.
Hinweis: Die Applikation muß den Speicher für pulMaximum zur
Verfügung stellen und die Variable mit dem Referenzoperator
übergeben: &ulMaximum
DOK-SERCAN-SOFT*01VRS*-FK01-DE-P
Beschreibung der DLL-Funktionen 7-35
DLL für Zugriffe auf SoftSERCANS
Datum des S/P-Parameters Read_SP_Parameter()
Übergabeparameter:
Parametername
Datentyp
Bereich
Beschreibung
const usIdentnr
USHORT
0x0001-0x7FFF (S)
S- bzw. P-Parameternummer einschließlich des
Parametersatzes
0x8001-0xFFFF (P)
const usAntriebsadresse
USHORT
1..99
Adresse des selektierten Antriebs
pulData
ULONG*
-
Datum des Parameters bzw. Zeiger auf Datenliste
Rückgabeparameter:
Parametername
Datentyp
Bereich
Beschreibung
m_ulDLL_Error
ULONG
siehe Datei
Fehlercode,
"SoftSERCANSdefs.h"
Parameterfehler (Seite 7-66)
Funktionsbeschreibung:
Diese Funktion liest das Datum (Element 7) des selektierten Parameters.
Handelt es sich um eine Liste, so wird der Zeiger auf den Listenanfang
übergeben. Ob es sich um eine Liste handelt, muß über das Attribut des
Parameters ermittelt werden (siehe auch Kapitel "Datum des AParameters Read_A_Parameter()"). Bei Listen muß der von
SoftSERCANS allokierte Speicher von der Applikation wieder
deallokiert werden.
Hinweis: Die Applikation muß den Speicher für pulData zur Verfügung
stellen und die Variable mit dem Referenzoperator übergeben:
&ulData
Datum des S/P-Parameters schreiben Write_SP_Parameter()
Übergabeparameter:
Parametername
Datentyp
Bereich
Beschreibung
const usIdentnr
USHORT
0x0001-0x7FFF (S)
S- bzw. P-Parameternummer einschließlich des
Parametersatzes
0x8001-0xFFFF (P)
const usAntriebsadresse
USHORT
1..99
Adresse des selektierten Antriebs
ulDatum
ULONG
-
bListe == FALSE:
Datum des Parameters
bListe == TRUE:
Startadresse der Liste
const bListe
BOOL
0,1
wenn FALSE wird ein Datum übergeben
wenn TRUE wird eine Datenliste übergeben Ø
Zeiger auf Listenstart (ist meistens mit dem Zeiger
identisch, der zuvor beim Lesen dieses Parameters
übergeben wurde)
DOK-SERCAN-SOFT*01VRS*-FK01-DE-P
7-36 Beschreibung der DLL-Funktionen
DLL für Zugriffe auf SoftSERCANS
Rückgabeparameter:
Parametername
Datentyp
Bereich
Beschreibung
m_ulDLL_Error
ULONG
siehe Datei
Fehlercode,
"SoftSERCANSdefs.h"
Parameterfehler (Seite 7-66)
Funktionsbeschreibung:
7.6
Diese Funktion schreibt einen einzelnen S/P-Parameter oder die
entsprechende Liste. (siehe auch Kapitel "Datum des A-Parameters
schreiben Write_A_Parameter()")
Spezielle Funktionen für die Visualisierung von
Parameterdaten
Diese Funktionen dienen dazu, in Visualisierungsprogrammen die
entsprechenden Parameterwerte möglichst einfach bereit zu stellen, um
z.B. die Felder eines entsprechenden Dialogs auszufüllen.
Schreiben eines Parameters Write_ServiceParameter()
Übergabeparameter:
Struktur
SERVICE
"SoftSERCANSdefs.h"
als
Zeiger,
definiert
in
der
Parametername
Datentyp
Bereich
Beschreibung
pService->usAntriebsadresse
USHORT
1..maximale Anzahl
Antriebsadresse
pSService->chIdentnr[10]
char
siehe Kapitel "7.9"
Identnummer (Element 1), String in der Form
"C-0-0001"
pSService->chName[61]
char
siehe Kapitel "7.10"
Name (Element 2), String
pSService->chAttribut[33]
char
siehe Kapitel
"Datenblockaufbau"
Attribut (Element 3), String
pSService->chEinheit[33]
char
siehe Kapitel
"Datenblockaufbau"
Einheit (Element 4), String
pSService->chMinimum[33]
char
siehe Kapitel
"Datenblockaufbau"
Minimum (Element 5), String
pSService->chMaximum[33]
char
siehe Kapitel
"Datenblockaufbau"
Maximum (Element 6), String
pSService->chDatum[33]
char
siehe Kapitel
"Datenblockaufbau"
wenn bListe == FALSE:
Datei
Datum (Element 7), als String
wenn bListe == TRUE: egal
pSService->bListe
BOOL
0, 1
Listenflag (TRUEØListe)
pSService->usActLength
USHORT
0..Maxlength
wenn bListe == TRUE:
aktuelle Listenlänge
5 DWORD-Elemente Ø 5
7 WORD-Elemente Ø 7
16 Byte-Elemente Ø 16
DOK-SERCAN-SOFT*01VRS*-FK01-DE-P
Beschreibung der DLL-Funktionen 7-37
DLL für Zugriffe auf SoftSERCANS
pSService->usMaxLength
USHORT
1..65532
wenn bListe == TRUE:
maximale Listenlänge
5 DWORD-Elemente Ø 5
7 WORD-Elemente Ø 7
16 Byte-Elemente Ø 16
pSService->pvListe
VOID*
Startadresse der Liste
(32 bit)
wenn bListe == TRUE:
Anfangsadresse der Liste, Inhalt muß auf aktuelle
Länge/maximale Länge in Bytes gesetzt werden.
Hierzu folgende Anpassung:
short* psLength =
(short*)psService->pvListe;
psLength[0] = shActLength_inBytes;
psLength[1] = shMaxLength_inBytes;
pSService->usIdentnr
USHORT
0x0001..
Identnummer (Element 1), Wert
0x7FFF
pSService->ulAttribut
ULONG
siehe Kapitel
"Datenblockaufbau"
Attribut (Element 3), Wert
pSService->ulMinimum
ULONG
siehe Kapitel
"Datenblockaufbau"
Minimum (Element 5), Wert
pSService->ulMaximum
ULONG
siehe Kapitel
"Datenblockaufbau"
Maximum (Element 6), Wert
pSService->ulDatum
ULONG
siehe Kapitel
"Datenblockaufbau"
wenn bListe == FALSE:
Datum (Element 7), Wert
Hinweis: kursiv: erforderliche Übergabeparameter
fett: errechnete Werte durch die Funktion
normal: unbeeinflusst, egal
Rückgabeparameter:
Parametername
Datentyp
Bereich
Beschreibung
m_ulDLL_Error
ULONG
siehe Datei
Fehlercode,
"SoftSERCANSdefs.h"
Parameterfehler (Seite 7-66)
Funktionsbeschreibung:
DOK-SERCAN-SOFT*01VRS*-FK01-DE-P
Diese Funktion schreibt das Datum oder die zugehörige Liste des
selektierten Parameters.
7-38 Beschreibung der DLL-Funktionen
DLL für Zugriffe auf SoftSERCANS
Lesen eines Parameters Read_ServiceParameter()
Übergabeparameter:
Struktur SERVICE als Zeiger, definiert in der Datei "SoftSERCANSdefs.h"
Parametername
Datentyp
Bereich
Beschreibung
pService->usAntriebsadresse
USHORT
1..maximale Anzahl
Antriebsadresse
pSService->chIdentnr[10]
char
siehe Kapitel
"Datenblockaufbau"
Identnummer (Element 1), String in der Form "C-00001"
pSService->chName[61]
char
siehe Kapitel
"Datenblockaufbau"
Name (Element 2), String
wenn unbekannt, Stringinhalt "--"
pSService->chAttribut[33]
char
siehe Kapitel
"Datenblockaufbau"
Attribut (Element 3), String
pSService->chEinheit[13]
char
siehe Kapitel
"Datenblockaufbau"
Einheit (Element 4), String
siehe Kapitel
"Datenblockaufbau"
Minimum (Element 5), String
siehe Kapitel
"Datenblockaufbau"
Maximum (Element 6), String
siehe Kapitel
"Datenblockaufbau"
wenn bListe == FALSE:
pSService->chMinimum[33]
char
pSService->chMaximum[33] char
pSService->chDatum[33]
char
wenn unbekannt, Stringinhalt "--"
wenn unbekannt, Stringinhalt "--"
wenn unbekannt, Stringinhalt "--"
Datum (Element 7), String
wenn bListe == TRUE:
Stringinhalt: "variabel"
pSService->bListe
BOOL
0, 1
Listenflag (TRUEØListe)
pSService->pvListe
VOID*
siehe Kapitel
"Datenblockaufbau"
wenn bListe == TRUE:
Anfangsadresse der Liste, Inhalt wird auf aktuelle
Länge/maximale Länge in Bytes gesetzt.
Hierzu folgende Anpassung:
short* psLength =
(short*)psService->pvListe;
shActLength_inBytes = psLength[0];
shMaxLength_inBytes = psLength[1];
pSService->usActLength
USHORT
0..Maxlength
wenn bListe == TRUE:
aktuelle Listenlänge (Elementanzahl)
5 DWORD-Elemente Ø 5
7 WORD-Elemente Ø 7
16 Byte-Elemente Ø 16
pSService->usMaxLength
USHORT
1..65532
wenn bListe == TRUE:
maximale Listenlänge (Elementanzahl)
5 DWORD-Elemente Ø 5
7 WORD-Elemente Ø 7
16 Byte-Elemente Ø 16
pSService->usIdentnr
USHORT
0x0001..
Identnummer (Element 1), Wert
0x7FFF
DOK-SERCAN-SOFT*01VRS*-FK01-DE-P
Beschreibung der DLL-Funktionen 7-39
DLL für Zugriffe auf SoftSERCANS
pSService->ulAttribut
ULONG
siehe Kapitel
"Datenblockaufbau"
Attribut (Element 3), Wert
pSService->ulMinimum
ULONG
siehe Kapitel
"Datenblockaufbau"
Minimum (Element 5), Wert
pSService->ulMaximum
ULONG
siehe Kapitel
"Datenblockaufbau"
Maximum (Element 6), Wert
pSService->ulDatum
ULONG
siehe Kapitel
"Datenblockaufbau"
wenn bListe == FALSE:
Datum (Element 7), Wert
Hinweis: kursiv: erforderliche Übergabeparameter
fett: errechnete Werte durch die Funktion
Rückgabeparameter:
Parametername
Datentyp
Bereich
Beschreibung
m_ulDLL_Error
ULONG
siehe Datei
Fehlercode,
"SoftSERCANSdefs.h"
Parameterfehler (Seite 7-66)
Diese Funktion liest die komplette Elementinformation des selektierten
Parameters und gibt sie als String und Wert zurück.
Funktionsbeschreibung:
Das einzig bekannte Element ist hier der eingegebene Parameter als
String und die zugehörige Antriebsadresse (identisch mit der am Antrieb
eingestellten Adresse). Der selektierte Parameter kann als String direkt
aus dem Eingabefeld heraus an diese Funktion übergeben werden.
Datum einer Liste in einen Listenstring konvertieren DatumToListe()
Übergabeparameter:
Parametername
Datentyp
Bereich
Beschreibung
const usElementnr
USHORT
1..32766
Selektiertes Listenelement
const ulAttribut
ULONG
siehe Kapitel
"Datenblockaufbau"
Attribut (Element 3), nur für WORD und DWORD
pvListe
VOID*
32bit Adresse
Zeiger auf die Liste (Startadresse)
pchListe
char* auf
-
Zeiger auf konvertierten String des Datums einer Liste
char[33]
Hinweis: Die Applikation muß den Speicher für pchListe und für die
Liste zur Verfügung stellen (z.B. char chListe[33])
Hinweis: kursiv: Übergabeparameter
fett: errechnete Werte durch die Funktion
DOK-SERCAN-SOFT*01VRS*-FK01-DE-P
7-40 Beschreibung der DLL-Funktionen
DLL für Zugriffe auf SoftSERCANS
Rückgabeparameter:
Parametername
Datentyp
Bereich
Beschreibung
m_ulDLL_Error
ULONG
siehe Datei
Fehlercode,
"SoftSERCANSdefs.h"
Parameterfehler (Seite 7-66)
Funktionsbeschreibung:
Diese Funktion dient zum Lesen eines selektierten Elementes einer
DWORD- oder WORD-Parameterliste in einen vom Anwender
veränderbaren String (in der Regel beim 1. Lesezugriff auf eine
Parameterliste).
Auszug aus dem Quellcode des Testprogramms
SoftSERCANSTest.exe:
// Speicher reservieren:
char
chListeneintrag[33];
// wurde ein Listenparameter angefordert?
if(m_SService.bListe)
{
// Listenelemente zeigen:
Datumdarstellung(LISTE);
// Liste zeigen
// angeforderte Standardelemente ausgeben
m_cstrName
=
m_SService.chName;
m_cstrAttribut
=
m_SService.chAttribut;
m_cstrEinheit
=
m_SService.chEinheit;
m_cstrMinimum
=
m_cstrMaximum
=
m_SService.chMinimum;
m_SService.chMaximum;
// Liste einlesen, konvertieren und anzeigen
// alten Inhalt leeren:
m_CLBDatenliste.ResetContent();
// Liste füllen, 3 Möglichkeiten
// aktuelle Listenlänge (Elementanzahl)
m_uiAktListe =
(UINT)m_SService.usActLength;
// maximale Listenlänge (Elementanzahl)
m_uiMaxListe =
(UINT)m_SService.usMaxLength;
// DWORD
if((m_SService.ulAttribut&0x00020000)==0x00020000)
{
// inkrement
for(UINT i=0;i<m_uiAktListe;i++)
{
ulFehler=m_pCSoftSERCANS->Datum2Liste(i+1,
m_SService.ulAttribut,
m_SService.pvListe,
chListeneintrag);
if(ulFehler==0)
m_CLBDatenliste.InsertString(-1,chListeneintrag);
DOK-SERCAN-SOFT*01VRS*-FK01-DE-P
Beschreibung der DLL-Funktionen 7-41
DLL für Zugriffe auf SoftSERCANS
else
i=m_uiAktListe;
}
}
// WORD
else if((m_SService.ulAttribut&0x00010000)==0x00010000)
{
// inkrement 1
for(UINT i=0;i<m_uiAktListe;i++)
{
ulFehler=m_pCSoftSERCANS->Datum2Liste(
i+1,
m_SService.ulAttribut,
m_SService.pvListe,
chListeneintrag);
if(ulFehler==0)
m_CLBDatenliste.InsertString(-1,chListeneintrag);
else
i=m_uiAktListe;
}
}
// String
else
{
///////////////////////////////////////////////////
// wichtige Zuweisung:
//
///////////////////////////////////////////////////
SHORT* psDaten=(SHORT*)m_SService.ulListe;
// nur wenn wirklich nötig:
char
chLangeListe[65533];
char*
pchSource;
// Länge korrigieren (nur wenn so erforderlich), wir haben nur EINEN String:
m_uiAktListe=1;
m_uiMaxListe=1;
pchSource
=
(char*)&psDaten[2];
// Endezeichen 0 inclusive -> +1:
strncpy(chLangeListe, pchSource, psDaten[0]+1);
// nur den einen String eintragen:
m_CLBDatenliste.InsertString(-1,chLangeListe);
}
DOK-SERCAN-SOFT*01VRS*-FK01-DE-P
7-42 Beschreibung der DLL-Funktionen
DLL für Zugriffe auf SoftSERCANS
Listenstring in ein Listendatum konvertieren ListToData()
Übergabeparameter:
Parametername
Datentyp
Bereich
Beschreibung
Const usElementnr
USHORT
1..32766
Selektiertes Listenelement
Const ulAttribut
ULONG
siehe Kapitel
"Datenblockaufbau"
Attribut (Element 3); nur DWORD und WORD
pchListe
char* auf
-
Zeiger auf konvertierten String des Datums einer Liste
char[33]
VOID*
pvListe
kann direkt am Bildschirm angezeigt werden
32bit Adresse
Zeiger auf die Listenstartadresse, Liste wird an der
vorgegebenen Position geschrieben
Hinweis: Die Applikation muß den Speicher für pchListe und die Liste
zur Verfügung stellen (z.B. char chListe[33]), die aktuelle
Länge und maximale Länge der Liste muß korrekt sein
Hinweis: kursiv: Übergabeparameter
fett: errechnete Werte durch die Funktion
Rückgabeparameter:
Parametername
Datentyp
Bereich
Beschreibung
m_ulDLL_Error
ULONG
siehe Datei
Fehlercode,
"SoftSERCANSdefs.h"
Parameterfehler (Seite 7-66)
Funktionsbeschreibung:
Diese Funktion dient zum Speichern eines selektierten Elementes der
vom Anwender veränderten Listenstrings in eine entsprechende WORDoder DWORD-Parameterliste (in der Regel beim Schreiben der
veränderten Parameterliste).
Hinweis: Diese Funktion kann auch für die Syntaxprüfung eines
eingegebenen Datums verwendet werden. Hierzu muß eine
Dummyliste mitübergeben werden, die wie folgt aussieht:
Für WORD:
short shDummyliste[4];
shDummyliste[0]=2;
shDummyliste[1]=2;
shDummyliste[2]=0;
shDummyliste[3]=0;
// aktuelle Länge in Bytes
// maximale Länge in Bytes
// WORD
// leer
DOK-SERCAN-SOFT*01VRS*-FK01-DE-P
Beschreibung der DLL-Funktionen 7-43
DLL für Zugriffe auf SoftSERCANS
Für DWORD:
short shDummyliste[4];
shDummyliste[0]=4;
shDummyliste[1]=4;
shDummyliste[2]=0;
shDummyliste[3]=0;
// aktuelle Länge in Bytes
// maximale Länge in Bytes
// DWORD H
// DWORD L
Funktionsaufruf:
ListeToDatum(1,ulAttribut,pchListe,&shDummyliste[0])
Der errechnete Wert steht dann an Position 1 des Dummyarrays.
Auszug aus dem Quellcode des Testprogramms
SoftSERCANSTest.exe:
// Speicher reservieren:
char
chListeneintrag[33];
////////////////////////////////////////////////////////////////////////////
// das wichtigste, das eingegebene Datum:
//
////////////////////////////////////////////////////////////////////////////
// variable Daten?, wenn ja Liste zurückwandeln und eintragen
if(m_SService.bListe)
{
SHORT* psStringzeiger=(SHORT*)m_SService.pvListe;
// wir müssen die Listbox abholen und die Liste aktualisieren:
// Liste füllen, 3 Möglichkeiten
///////////////////////////
// DWORD
//
///////////////////////////
if((m_SService.ulAttribut&0x00020000)==0x00020000)
{
// aktuelle Elementanzahl in DWORD
m_SService.usActLength
=
(USHORT) m_uiAktListe;
// inkrement
for(short i=0;i<m_SService.usActLength;i++)
{
// Text holen und
m_CLBDatenliste.GetText(i,chListeneintrag);
// prüfen und konvertieren
ulFehler=m_pCSoftSERCANS->Liste2Datum(
i+1,
m_SService.ulAttribut,
chListeneintrag,
m_SService.pvListe);
// ok?
if(ulFehler>0)
{
// fehlerhafte Zeile merken:
DOK-SERCAN-SOFT*01VRS*-FK01-DE-P
7-44 Beschreibung der DLL-Funktionen
uiFehlerzeile
DLL für Zugriffe auf SoftSERCANS
=
i+1;
// focussieren und
m_CLBDatenliste.SetCurSel(i); // Zeile highlighten
// Schleife beenden
i=psDaten[0];
}
}
}
///////////////////////////////
// WORD
//
///////////////////////////////
else if((m_SService.ulAttribut&0x00010000)==0x00010000)
{
// aktuelle Elementanzahl in WORD
m_SService.usActLength
=
(USHORT) m_uiAktListe;
// inkrement 1
for(short i=0;i<psDaten[0];i++)
{
// Text holen und
m_CLBDatenliste.GetText(i,chListeneintrag);
// konvertieren
ulFehler=m_pCSoftSERCANS->Liste2Datum(
i+1,
m_SService.ulAttribut,
chListeneintrag,
m_SService.pvListe);
// ok?
if(ulFehler>0)
{
// fehlerhafte Zeile merken:
uiFehlerzeile
=
i+1;
// focussieren und
m_CLBDatenliste.SetCurSel(i); // Zeile highlighten
// Schleife beenden
i=psDaten[0];
}
}
}
////////////////////////////////
// String
//
///////////////////////////////
else
{
// nur wenn wirklich nötig:
char
chLangeListe[65533];
DOK-SERCAN-SOFT*01VRS*-FK01-DE-P
Beschreibung der DLL-Funktionen 7-45
DLL für Zugriffe auf SoftSERCANS
char*
pchDaten=(CHAR*)&psStringzeiger[2];
///////////////////////////////////////////////////////////////////////////////
// SONDERFALL: es existiert nur ein Eintrag! //
///////////////////////////////////////////////////////////////////////////////
// aktuelle Elementanzahl in Byte:
int iTest=m_CLBDatenliste.GetText(0,chLangeListe);
// ist was richtiges in der Listbox?
if(iTest!=LB_ERR)
{
m_SService.usActLength
=
(short)iTest;
// kopieren und am Ende kein 0-Zeichen anfügen
strncpy(pchDaten, chLangeListe, psStringzeiger[0]);
// ungerader Wert?
if(iTest%2)
m_SService.usActLength +=1;
}
else
m_SService.usActLength
=
0;
}
}
Obiges Beispiel kann in den meisten Fällen 1:1 übernommen werden!
DOK-SERCAN-SOFT*01VRS*-FK01-DE-P
7-46 Beschreibung der DLL-Funktionen
7.7
DLL für Zugriffe auf SoftSERCANS
Direkte Behandlung der Parameter über ULONG-Wert
Mit der hier beschriebenen Funktion können die Elemente 2 bis 7 der
ausgewählten Parameter gelesen werden.
Kodierung des Übergabeparameters ulParameter
Parameter-Kennung
31
24
0 x x x x x x x
Achsnummer [1 ... 99]
23
16
0 0 0 0 0 x 0 x
15
8 7
x x x x x x x x
0
x x x x x x x x
Parameter-Nr.
[1 ... 4095]
Parameter-Satz
[0 ... 7]
0000
0001
0010
1000
S-Parameter
P-Parameter
A-Parameter
Y-Parameter
Abb. 7-15: Parameter-Kennung (Parameterübergabe ULONG ulParameter)
DOK-SERCAN-SOFT*01VRS*-FK01-DE-P
Beschreibung der DLL-Funktionen 7-47
DLL für Zugriffe auf SoftSERCANS
Die Funktion ReadElement()
Übergabeparameter:
Struktur ELEMENT2_7 als Zeiger pSElemente, definiert in der Datei
"SoftSERCANSdefs.h"
Parametername
Datentyp
Bereich
Beschreibung
usZielElement
USHORT
2..7
zu lesendes Element
ulParameter
ULONG
Seite 7-46
selektierter Parameter und Antrieb
pSElemente->
Char
siehe Kapitel
"Datenblockaufbau"
Element 2 des Parameters
siehe Kapitel
"Datenblockaufbau"
Element 3 des Parameters
siehe Kapitel
"Datenblockaufbau"
Element 4 des Parameters
siehe Kapitel
"Datenblockaufbau"
Element 5 des Parameters
siehe Kapitel
"Datenblockaufbau"
Element 6 des Parameters
siehe Kapitel
"Datenblockaufbau"
Element 7 des Parameters, Startadresse der Liste, wenn
bListe == TRUE
chName[61]
pSElemente->
ULONG
ulAttribut
pSElemente->
Char
chEinheit[13]
pSElemente->
ULONG
ulMinimum
pSElemente->
ULONG
ulMaximum
pSElemente->
ULONG
ulDatum
wird besetzt wenn usZielelement == 2
wird besetzt wenn usZielelement == 3
wird besetzt wenn usZielelement == 4
wird besetzt wenn usZielelement == 5
wird besetzt wenn usZielelement == 6
wird besetzt wenn usZielelement == 7
pSElemente->
BOOL
0 Ø Einzelparameter, 1 Ø Liste
0, 1
bListe
wird immer (unabhängig von usZielelement) besetzt
Hinweis: Die Applikation muß den Speicher
ELEMENT2_7 zur Verfügung stellen
für
die
Struktur
Rückgabeparameter:
Parametername
Datentyp
Bereich
Beschreibung
m_ulDLL_Error
ULONG
Siehe Datei
Fehlercode,
"SoftSERCANSdefs.h"
Parameterfehler (Seite 7-66)
Funktionsbeschreibung:
DOK-SERCAN-SOFT*01VRS*-FK01-DE-P
Mit dieser Funktion können einzelne Elemente eines Parameters gelesen
werden, beim Lesen von Element 7 kann über das Flag bListe die Art des
Datums ermittelt werden.
7-48 Beschreibung der DLL-Funktionen
7.8
DLL für Zugriffe auf SoftSERCANS
Funktionen zum Schalten der Betriebsphasen
Die Funktionen ChangeSoftSERCANSPhase und GetSoftSERCANS
Phase werden zum Umschalten der Betriebsphasen benötigt, dabei sind
feste Programmierabläufe einzuhalten, um ein richtiges Umschalten
sicherzustellen.
Flußdiagramm zur Phasenumschaltung mit DLL-Funktionen
)OX‰GLDJUDPPPLW
'//)XQNWLRQHQ
=LHOSKDVHVFKUHLEHQ
&KDQJH6RIW6(5&$163KDVH]
9HU]|JHUXQJZDUWHQ
3KDVHDEIUDJHQ
LQ$QZHQGXQJ3ROO3KDVH]
-DUHWXUQ
,1B352*5(66
1
*HW6RIW6(5&$16
3KDVHD
]
1
*HW6RIW6(5&$163KDVHD
D[%LW
D
1HLQ
-DZDUVFKRQXPJHVFKDOWHW
3KDVHQXPVFKDOWXQJ
NRUUHNWGXUFKJHIKUW
UHWXUQ'21(
["
-D
*HW6RIW6(5&$163KDVHD
]
1HLQ
D
UHWXUQ
,1B352*5(66
1HLQ
)HKOHUEHLGHU
] !=LHOSKDVH
6\VWHPGLDJQRVH"
GZ'LDJQRVHVWDWXV
D !DNWXHOOH3KDVH
-D
3KDVHQXPVFKDOWXQJ
IHKOHUKDIWEHHQGHW)HKOHU
EHU'LDJQRVHNDQDO
DXVOHVHQUHWXUQ
'2B',$*126(
PhasenumschaltungDLL.wmf
Abb. 7-16: Flußdiagramm zur Phasenumschaltung
DOK-SERCAN-SOFT*01VRS*-FK01-DE-P
Beschreibung der DLL-Funktionen 7-49
DLL für Zugriffe auf SoftSERCANS
Die Funktion ChangeSoftSERCANSPhase()
Übergabeparameter:
Parametername
Datentyp
Bereich
Beschreibung
usNewPhase
USHORT
0..4
neue Zielphase für SoftSERCANS
Rückgabeparameter:
Parametername
Datentyp
Bereich
Beschreibung
m_ulDLL_Error
ULONG
siehe Datei
Fehlercode,
"SoftSERCANSdefs.h"
Parameterfehler (Seite 7-66)
Funktionsbeschreibung:
Diese Funktion stellt durch Beschreiben des Parameters Y-0-0019 eine
neue Zielphase ein, wartet jedoch nicht bis die eingestellte Zielphase
erreicht ist.
Die Funktion GetSoftSERCANSPhase()
Übergabeparameter:
Parametername
Datentyp
Bereich
Beschreibung
pusActPhase
USHORT*
0..4
aktuelle Istphase von SoftSERCANS
Rückgabeparameter:
Parametername
Datentyp
Bereich
Beschreibung
m_ulDLL_Error
ULONG
siehe Datei
Fehlercode,
"SoftSERCANSdefs.h"
Parameterfehler (Seite 7-66)
Funktionsbeschreibung:
Diese Funktion liest durch Aufruf des Parameters Y-0-0022 die aktuelle
Phase ein.
Hinweis: Wie diese Funktionen verwendet werden, wird im folgenden
Kapitel beschrieben.
DOK-SERCAN-SOFT*01VRS*-FK01-DE-P
7-50 Beschreibung der DLL-Funktionen
DLL für Zugriffe auf SoftSERCANS
Die Funktion PollPhase()
Flußdiagramm),
(eigens
erstellt,
entspricht
obigem
Auszug aus dem Quellcode von SoftSERCANSTest.exe:
//=======================================================
//
Funktion
:
PollPhase
//
In-Parameter
:
int iPhase
//
//
Out-Parameter :
Status oder Fehlercode
Autor
WR from Indramat GmbH
//
//
:
//----------------------------------------------------------------------//
Funktion:
/*
Voraussetzung ist, das zuvor in den Parameter Y-0-0019 die gewünschte
Zielphase geschrieben wurde (Zielphase ist für alle Antriebe und das System identisch)
diese Funktion wird nur während der Phasenumschaltung benötigt
hier wird geprüft ob die gewünschte Zielphase erreicht wurde und wie folgt verfahren:
Übergabeparameter:
iPhase:
gewünschte Zielphase 0..4
Rückgabeparameter:
Rückgabewert: IN_PROGRESS:
die Zielphase ist noch nicht erreicht, die Phasenumschaltung läuft gerade
Rückgabewert: DONE:
die gewünschte Zielphase wurde erreicht
Rückgabewert: DO_DIAGNOSE:
bei der Phasenumschaltung ist ein Fehler aufgetreten, Diagnose durchführen
Rückgabewert > 0:
beim Zugriff auf SoftSERCANS ist ein Fehler aufgetreten, Fehler anzeigen
*/
//========================================================
ULONG CPhaseDlg::PollPhase(int iPhase)
{
ULONG
ulFehlercode
=
0;
USHORT
usActPhase
=
0;
// DLL da?
if(m_pCSoftSERCANS==NULL)
return DO_DIAGNOSE;
DOK-SERCAN-SOFT*01VRS*-FK01-DE-P
Beschreibung der DLL-Funktionen 7-51
DLL für Zugriffe auf SoftSERCANS
// aktuelle Phase prüfen
if(m_pCSoftSERCANS->GetSoftSERCANSPhase(&usActPhase)==0)
{
// Zielphase==aktuelle Phase
if(iPhase!=(int)usActPhase)
{
// aktuelle Phase nochmal auslesen
m_pCSoftSERCANS->GetSoftSERCANSPhase(&usActPhase);
// Bit 4 gesetzt?
if((usActPhase&0x10)==0x10)
// alles ok, nochmal aufrufen
return IN_PROGRESS;
else
{
// aktuelle Phase nochmal auslesen
m_pCSoftSERCANS->GetSoftSERCANSPhase(&usActPhase);
// Zielphase==aktuelle Phase
if(iPhase!=(int)usActPhase)
{
DIAGNOSE SDiagnose;
// Fehler gesetzt?
ulFehlercode=m_pCSoftSERCANS->Read_Actual_Diagnosis(
SYSTEM_DIAGNOSE, &SDiagnose);
if(ulFehlercode>0)
return ulFehlercode;
// Fehler gesetzt?
if(SDiagnose.dwDiagnosestatus!=0)
// Fehler bei Phasenumschaltung, Diagnose
// erforderlich
return DO_DIAGNOSE;
else
return IN_PROGRESS;
}
}
}
}
else
// Fehler in DLL
return ulFehlercode;
// Phase erfolgreich umgeschalten
return DONE;
}
DOK-SERCAN-SOFT*01VRS*-FK01-DE-P
7-52 Beschreibung der DLL-Funktionen
DLL für Zugriffe auf SoftSERCANS
// diese Funktion wird in einem Timer alle 500 ms durchlaufen:
//////////////////////////////////////////////////////////////////////////////////////////////////////
// Pollen der aktuellen Phase nach Vorgabeflußdiagramm :
//
//////////////////////////////////////////////////////////////////////////////////////////////////////
// die Funktion PollPhase durchläuft obiges Flußdiagramm:
ulFehlercode
=
PollPhase(m_iPhase);
// was ist beim Phasenumschalten passiert?
switch(ulFehlercode)
{
// Fehler bei Phasenumschaltung:
case DO_DIAGNOSE:
// Statusanzeige
ulFehlercode
=
m_pCSoftSERCANS->Read_Actual_Diagnosis(
SYSTEM_DIAGNOSE, &SDiagnose);
m_CSStatus.m_ulBackColor=RED;
if(ulFehlercode==0)
// Statusrefresh:
// was war
m_cstrStatus=SDiagnose.chDiagnosetext;
else
// Fehleranzeige
m_cstrStatus.Format(IDS_DIAGNOSEFEHLER,
ulFehlercode);
// wann?
m_cstrStatus+=GetTimeInfo();
// zeigs uns
m_CSStatus.SetWindowText(m_cstrStatus);
// und alles wieder wie zuvor herstellen:
bFehler =
TRUE;
break;
DOK-SERCAN-SOFT*01VRS*-FK01-DE-P
DLL für Zugriffe auf SoftSERCANS
Beschreibung der DLL-Funktionen 7-53
// tuts noch (dauert!), nur Timeout prüfen:
case IN_PROGRESS:
m_iTimeout+=POLL_TIME; // POLL_TIME = 500 (ms)
// hang up, wichtig: Timeout für Absturz berücksichtigen (t>10s)
if(m_iTimeout>=TIMEOUT)
{
// Statusanzeige
m_CSStatus.m_ulBackColor=RED;
m_cstrStatus.LoadString(IDS_TIMEOUT);
// wann?
m_cstrStatus+=GetTimeInfo();
// zeigs uns
m_CSStatus.SetWindowText(m_cstrStatus);
// und über case DONE: raus, deshalb ohne break;
}
else
break;
// hurra
case DONE:
// Zielphase erreicht Ende
... entsprechende Aktionen ausführen
///////////////////////////////////////////////
// Fehler: ausgeben:
//////////////////////////////////////////////
default:
... Fehler anzeigen
DOK-SERCAN-SOFT*01VRS*-FK01-DE-P
//
7-54 Beschreibung der DLL-Funktionen
7.9
DLL für Zugriffe auf SoftSERCANS
Der Kommandokanal, Write_Command()
Übergabeparameter:
Parametername
Datentyp
Bereich
Beschreibung
Const ulDatum
ULONG
1..6
Datum des auszuführenden Kommandos:
CMD_SET_ENABLE(1) Ø Kommando setzen und freigeben
CMD_EXECUTE(2) Ø Kommando setzen, freigeben und
Bearbeitung abwarten
CMD_CLEAR(3) Ø Kommando löschen
CMD_ALL(4) Ø Kommando setzen, freigeben, Bearbeitung
abwarten und löschen
CMD_CANCEL(5) Ø Kommando abbrechen
CMD_POLLING(6) Ø Kommandozustand abfragen
Const usIdentnr
USHORT
-
Identnummer des auszuführenden Kommandos
PusAntriebsadresse
USHORT*
1..99
usMode = 0:
Adresse des ausgewählten Antriebs
usMode <> 0:
nicht verwendet
liefert im Fehlerfall die Adresse des ersten fehlerhaften
Antriebs im Ring zurück
Const usMode
USHORT
0,1,2,4
Adressierungsart des Kommandos:
CMD_SINGLE(0) ØKommando für einen Antrieb
CMD_ALL_OPER(2) Ø Kommando für alle aktive Antriebe
pusQuittung
USHORT*
-
Quittierung durch den Kommandokanal
(siehe Kap. "Ablauf im Kommandokanal", Abb. 5-25)
Rückgabeparameter:
Parametername
Datentyp
Bereich
Beschreibung
m_ulDLL_Error
ULONG
siehe Datei
Fehlercode
"SoftSERCANSdefs.h"
Funktionsbeschreibung:
Der Kommandokanal wird für die Abarbeitung von zeitaufwendigen
Aktionen verwendet. Weiterhin können mit dem Kommandokanal alle
Antriebe mit einem Kommando parametrisiert werden.
Dabei sind verschiedene Arten der Kommandoausführung zulässig.
Wichtig ist hier die Tatsache, daß nicht auf die Ausführung lange
dauernder Kommandos gewartet werden muß.
(Näheres siehe Kapitel 5.5, "Kommandokanal")
Hinweis: Die Applikation muß den Speicher für die Zeiger zur
Verfügung stellen und die entsprechende Variable mit dem
Referenzoperator übergeben: &usVar
DOK-SERCAN-SOFT*01VRS*-FK01-DE-P
Beschreibung der DLL-Funktionen 7-55
DLL für Zugriffe auf SoftSERCANS
7.10 Die Diagnosefunktionen
Die Diagnosefunktionen unterstützen den Anwender bei der
Untersuchung des Systems im Betriebs- und vorrangig im Fehlerfall. Sie
teilen dem Benutzer mit, welche Aktionen zur Fehlerbeseitigung
erforderlich sind.
Die Funktion Read_Actual_Diagnosis()
Übergabeparameter:
Struktur DIAGNOSE als Zeiger pSDiagnose
Parametername
Datentyp
Bereich
Beschreibung
UsAntriebsadresse
USHORT
1..99
Adresse des ausgewählten Antriebs
PsDiagnose->
DWORD
siehe Kap. 6.1
Fehlerquelle
USHORT
siehe Kap. 6.1
Parameter S-0-0011
USHORT
siehe Kap. 6.1
Parameter S-0-0390
USHORT
siehe Kap. 6.1
Länge des Diagnosetextes
char
siehe Kap. 6.1
Diagnosetext S-0-0095 bzw. Y-0-0031
DwDiagnosestatus
PsDiagnose->
UsZustandsklasse_1
PsDiagnose->
UsDiagnosenummer
PsDiagnose->
UsDiagnose_laenge
PsDiagnose->
ChDiagnosetext[60]
Hinweis: Die Applikation muß den Speicher für die Struktur DIAGNOSE
zur Verfügung stellen
Rückgabeparameter:
Parametername
Datentyp
Bereich
Beschreibung
M_ulDLL_Error
ULONG
siehe Datei
Fehlercode
"SoftSERCANSdefs.h"
Funktionsbeschreibung:
Diese Funktion wird bei der Systemdiagnose zyklisch abgefragt, bei einer
Änderung des Wertes wird die enthaltene Information angezeigt.
Bei einem Hardwarefehler (z.B. falsch eingestellte Resourcen) ist dies die
einzige Funktion, auf die zugegriffen werden kann (siehe auch Kapitel
"Fehlercodierung (Rückgabeparameter aller DLL-Funktionen)")
DOK-SERCAN-SOFT*01VRS*-FK01-DE-P
7-56 Beschreibung der DLL-Funktionen
DLL für Zugriffe auf SoftSERCANS
Beispiel aus dem Quellcode von
"SoftSERCANSTest.exe":
void CSoftSERCANSTestDlg::OnTimer(UINT nIDEvent)
{
ULONG ulFehlercode
=
0;
// TODO: Add your message handler code here and/or call default
//////////////////////////////////////////
// Diagnosehandler
//
/////////////////////////////////////////
switch(nIDEvent)
{
case 1:
// prüfe zyklisch Diagnosekanal:
ulFehlercode
=
m_gCSoftSERCANS.Read_Actual_Diagnosis(SYSTEM_DIAGNOSE,
&m_SSystemdiagnose);
if(ulFehlercode==0)
{
// neuer Status???
if(strcmp(m_cstrCompare, m_SSystemdiagnose.chDiagnosetext)!=0)
{
// Statusrefresh:
// was war
m_cstrCompare
=
m_SSystemdiagnose.chDiagnosetext;
m_cstrDiagnose
=
m_cstrCompare;
+=
GetTimeInfo();
// um
m_cstrDiagnose
m_CLBStatus.InsertString(-1, m_cstrDiagnose);
// und erleuchten:
m_CLBStatus.SetCurSel(m_CLBStatus.GetCount()-1);
}
}
else
{
if(ulFehlercode!=m_ulFehlercode)
{
// Fehleranzeige
m_cstrDiagnose.Format(IDS_DIAGNOSEFEHLER, ulFehlercode);
// um
m_cstrDiagnose
+=
GetTimeInfo();
m_CLBStatus.InsertString(-1, m_cstrDiagnose);
m_CLBStatus.SetCurSel(m_CLBStatus.GetCount()-1);
m_ulFehlercode
=
ulFehlercode;
}
}
break;
DOK-SERCAN-SOFT*01VRS*-FK01-DE-P
Beschreibung der DLL-Funktionen 7-57
DLL für Zugriffe auf SoftSERCANS
Die Funktion Get_Bad_Drives()
Übergabeparameter:
Parametername
Datentyp
Bereich
Beschreibung
pusNumberOfBad
USHORT*
0..99
Anzahl der defekten Antriebe
pusBadDrives
USHORT* auf
0..99
0ØAntrieb ok, sonst Adresse des defekten Antriebs
USHORT[99]
Rückgabeparameter:
Parametername
Datentyp
Bereich
Beschreibung
m_ulDLL_Error
ULONG
siehe Datei
Fehlercode
"SoftSERCANSdefs.h"
Funktionsbeschreibung:
Diese Funktion stellt über den Diagnosekanal fest, ob Antriebe defekt
sind. Dies ist jedoch nur dann möglich, wenn der LWL-Ring geschlossen
ist. Ob dies der Fall ist, wird mittels einer Systemdiagnose ermittelt.
Hinweis: Der Anwender muß den Speicher für die Liste der defekten
Antriebe (pusBadDrives) und usNumberOfBad allokieren:
USHORT usBadDrives[MAX_DRV_NBR], usNumberOfBad;
Die Funktion Clear_Error()
Übergabeparameter:
keine
Rückgabeparameter:
Fehlercode m_ulDLL_Error
Funktionsbeschreibung:
Diese Funktion dient zum Löschen von Fehlern, welche durch
entsprechende Gegenmaßnahmen (Parametrierung etc.) zuvor beseitigt
wurden.
7.11 Funktionen für die Behandlung der Echtzeitdaten
Diese Funktionen können nur mit Einsatz des Echtzeitkerns von
VenturCom und innerhalb der Entwicklungsumgebung von
Microsoft Visual C++ ab Version 5.0 verwendet werden.
DOK-SERCAN-SOFT*01VRS*-FK01-DE-P
7-58 Beschreibung der DLL-Funktionen
DLL für Zugriffe auf SoftSERCANS
Überwachung der ISR-Routinen
Mit diesen Funktionen werden unabhängig voneinander zwei Zähler in der
Interruptroutine inkrementiert, der eine im Echtzeitkern, der andere in der
Echtzeitanwendung. Diese Zähler werden von SoftSERCANS verglichen
und gegebenenfalls ein Fehler gemeldet (siehe Kap. 5.2, "Zyklischer
Datenaustausch").
Die Funktion Init_Lifecounter()
Übergabeparameter:
Parametername
Datentyp
Bereich
Beschreibung
phMonitor
HANDLE*
-
Handle auf den Lifecounter von SoftSERCANS
Rückgabeparameter:
Parametername
Datentyp
Bereich
Beschreibung
m_ulDLL_Error
ULONG
siehe Datei "SoftSERCANSdefs.h"
Fehlercode
Funktionsbeschreibung:
Diese Funktion muß vor dem Start der Echtzeitdatenübertragung einmal
aufgerufen werden, um die Zähler der Interruptüberwachung zu
initialisieren.
Hinweis: Die erlaubte Abweichung der beiden Zähler kann in Parameter
Y-0-0009 eingestellt werden.
Die Funktion Trigger_Lifecounter()
Übergabeparameter:
keine
Rückgabeparameter:
Parametername
Datentyp
Bereich
Beschreibung
m_ulDLL_Error
ULONG
siehe Datei "SoftSERCANSdefs.h"
Fehlercode
Funktionsbeschreibung:
Diese Funktion inkrementiert den Zähler der Echtzeitanwendung in der
Interruptroutine (siehe auch Kap. "Lifecounter", Seite 5-3).
Hinweis: Die
Anwendung
ist
näher
im
Beispielprogramm
...\MicrosoftSamples\RTX\CyclicData erläutert.
Diese Funktion muß unmittelbar nach der Funktion Sync_Cycle_Data
aufgerufen werden. Die erlaubte Abweichung der beiden Zähler kann in
Parameter Y-0-0009 eingestellt werden.
DOK-SERCAN-SOFT*01VRS*-FK01-DE-P
Beschreibung der DLL-Funktionen 7-59
DLL für Zugriffe auf SoftSERCANS
Die Echtzeitfunktionen
Hinweis: Diese
Funktionen
dürfen
ausschließlich
in
Echtzeitanwendungen verwendet werden (Zieldatei vom Typ
*.RTSS).
Initialisierung der Synchronisierung auf die IRQ-Routine
Init_Sync()
Übergabeparameter:
Parametername
Datentyp
Bereich
Beschreibung
phSync
HANDLE*
-
Zeiger auf Variable in der das Handle stehen soll
Ø Adresse des Handles für die Funktion Sync_Cycle_Data()
Rückgabeparameter:
Parametername
Datentyp
Bereich
Beschreibung
m_ulDLL_Error
ULONG
siehe Datei "SoftSERCANSdefs.h"
Fehlercode
Funktionsbeschreibung:
Initialisiert die Semaphore für den zyklischen Zugriff der AnwenderInterruptroutine.
Synchronisierung der Echtzeitdaten auf den Interrupt
Sync_Cycle_Data()
Übergabeparameter:
Parametername
Datentyp
Bereich
Beschreibung
hSync
HANDLE
-
Handle für Synchronisation mit dem zyklischen Interrupt
Rückgabeparameter:
Parametername
Datentyp
Bereich
Beschreibung
m_ulDLL_Error
ULONG
siehe Datei "SoftSERCANSdefs.h"
Fehlercode
Funktionsbeschreibung:
Dies ist mit die wichtigste Funktion der Echtzeitfunktionen. Sie wird
unmittelbar nach Auftreten des zyklischen Interrupts durchlaufen
(Reaktionszeit im Bereich von 30-60 us, je nach Hardware).
Hinweis: Für die Überprüfung des Lifecounters muß die Funktion
Trigger_Lifecounter() unmittelbar nach dieser Funktion
aufgerufen werden.
DOK-SERCAN-SOFT*01VRS*-FK01-DE-P
7-60 Beschreibung der DLL-Funktionen
DLL für Zugriffe auf SoftSERCANS
Öffnung des Sollwertkanals Open_MDT_Channel()
Übergabeparameter:
Zeigeradresse auf die Struktur T_CYC_DATA, diese Struktur wird im
Speicher von SoftSERCANS allokiert und initialisiert.
Parametername
Datentyp
Bereich
Beschreibung
ppSCycleMDTData
T_CYC_DATA**
-
Zeigeradresse der Struktur T_CYC_DATA in SoftSERCANS
&ppSCycleMDTData->
USHORT
0-32
Anzahl der übertragenen Bytes des Sollwertkanals
USHORT
-
Antriebssteuerwort
usNbr_data_bytes
&ppSCycleMDTData->
usControl
(siehe Seite 5-11)
&ppSCycleMDTData->
USHORT
-
usData[
Echtzeitdatenspeicher
(siehe Seite 5-6)
CYCLE_BUF_SIZE]
pHMDTChannel
HANDLE*
-
Handle für Synchronisation mit zyklischem Interrupt (wird
für Close_MDT_Channel benötigt)
Rückgabeparameter:
Parametername
Datentyp
Bereich
Beschreibung
m_ulDLL_Error
ULONG
siehe Datei "SoftSERCANSdefs.h"
Fehlercode
Funktionsbeschreibung:
Beispiel:
Mit dieser Funktion wird der zyklische Kanal für die Sollwertvorgabe
geöffnet. Über diese Funktion wird die Struktur T_CYC_DATA im
Speicher von SoftSERCANS allokiert und initialisiert. Der Parameter
hMDTChannel wird initialisiert.
T_CYC_DATA *pSCycleMDTData;
// nur Zeiger, kein Speicher
HANDLE hMDTChannel;
// Speicher, kein Zeiger
// open the cyclic command value channel
ulRet=C_Open_MDT_Channel( &pSCycleMDTData,
&hMDTChannel,
pSoftSERCANS);
DOK-SERCAN-SOFT*01VRS*-FK01-DE-P
Beschreibung der DLL-Funktionen 7-61
DLL für Zugriffe auf SoftSERCANS
Schließen des Sollwertkanals Close_MDT_Channel()
Übergabeparameter:
Parametername
Datentyp
Bereich
Beschreibung
HMDTChannel
HANDLE
-
Handle zum MDT-Kanal
(wurde von Open_MDT_ Channel übergeben)
Rückgabeparameter:
Parametername
Datentyp
Bereich
Beschreibung
m_ulDLL_Error
ULONG
siehe Datei "SoftSERCANSdefs.h"
Fehlercode
Funktionsbeschreibung:
diese Funktion schließt den zyklischen Kanal für die Sollwertvorgabe.
Öffnung des Istwertkanals Open_AT_Channel()
Übergabeparameter:
Zeigeradresse auf die Struktur T_CYC_DATA, diese Struktur wird im
Speicher von SoftSERCANS allokiert und initialisiert.
Parametername
Datentyp
Bereich
Beschreibung
ppSCycleATData
T_CYC_DATA**
-
Zeigeradresse der Struktur T_CYC_DATA in SoftSERCANS
&ppSCycleATData->
USHORT
0-32
Anzahl der übertragenen Bytes des Istwertkanals je Achse
USHORT
-
Antriebsstatuswort
usNbr_data_bytes
&ppSCycleATData->
usControl
(siehe Seite 5-12)
&ppSCycleATData->
USHORT
-
usData[
Echtzeitdatenspeicher
(siehe Seite 5-7)
CYCLE_BUF_SIZE]
pHATChannel
HANDLE*
-
Handle für Synchronisation mit zyklischem Interrupt
Rückgabeparameter:
Parametername
Datentyp
Bereich
Beschreibung
m_ulDLL_Error
ULONG
siehe Datei "SoftSERCANSdefs.h"
Fehlercode
Funktionsbeschreibung:
DOK-SERCAN-SOFT*01VRS*-FK01-DE-P
Mit dieser Funktion wird der zyklische Kanal für die Istwerte geöffnet.
Über diese Funktion wird die Struktur T_CYC_DATA im Speicher von
SoftSERCANS allokiert und initialisiert. Der Parameter hATChannel wird
initialisiert.
7-62 Beschreibung der DLL-Funktionen
Beispiel:
DLL für Zugriffe auf SoftSERCANS
T_CYC_DATA *pSCycleATData;
// nur Zeiger, kein Speicher
HANDLE hATChannel;
// Speicher, kein Zeiger
// open the cyclic command value channel
ulRet=C_Open_AT_Channel(
&pSCycleATData,
&hATChannel,
pSoftSERCANS);
Schließen des Istwertkanals Close_AT_Channel()
Übergabeparameter:
Parametername
Datentyp
Bereich
Beschreibung
hATChannel
HANDLE
-
Handle zum AT-Kanal
Rückgabeparameter:
Parametername
Datentyp
Bereich
Beschreibung
m_ulDLL_Error
ULONG
siehe Datei "SoftSERCANSdefs.h"
Fehlercode
Funktionsbeschreibung:
Diese Funktion schließt den zyklischen Kanal für die Istwerte.
Hinweis: Diese
Echzeitfunktionen
sind
im
...\MicrosoftSamples\RTX\CyclicData.C erklärt.
Beispiel
DOK-SERCAN-SOFT*01VRS*-FK01-DE-P
Beschreibung der DLL-Funktionen 7-63
DLL für Zugriffe auf SoftSERCANS
7.12 Erklärung der Fehlercodierung der DLL
Hier wird beschrieben, auf welche Weise die zurückgegebenen
Fehlercodes analysiert werden können. Dies dient später dem
Kundendienst, Fehler beim Anwender möglichst schnell und
kostengünstig zu beseitigen.
Die Fehlercodes sind alle vom Typ ULONG und wie folgt codiert:
Hinweis: Fehlercode 0 ØSUCCESS, kein Fehler aufgetreten
Fehlercodierung (Rückgabeparameter aller DLLFunktionen)
31
24
0 0 Q Q 0 0 0 P
23
16
0 0 0 0 0 G G G
Fehlerpegel [0 ... 1]
0 unkritisch
1 kritisch
Fehlerquelle [0 ... 2]
0 0 SoftSercans
0 1 DLL
1 0 RTX
15
8
x x x x x x x x
0
x x x x x x x x
Fehler-Nr.[1..65535]
Fehlergruppe [0..5]
0 0 0 Programmkontrolle (Init, Status)
0 0 1 Parameterzugriff
0 1 0 Diagnose
0 1 1 Synchronisation
1 0 0 Kommandokanal
1 0 1 Echtzeitdaten
Abb. 7-17: Fehlercodierung
DOK-SERCAN-SOFT*01VRS*-FK01-DE-P
7
7-64 Beschreibung der DLL-Funktionen
DLL für Zugriffe auf SoftSERCANS
In der folgenden Tabelle werden die Fehlercodes der DLL angegeben und
die möglichen Ursachen des jeweiligen Fehlers erläutert:
Fehlercode
Fehlerquelle
Ursache
Lösung
DLL_WRONG_REGISTRY =
Start_SoftSERCANS()
Registriereinträge sind
falsch oder nicht vorhanden
SoftSERCANS
SoftSERCANSInitObject()
Speicher der Klasse kann
nicht allokiert werden bzw.
SoftSERCANSInitObject()
wurde nicht aufgerufen
SoftSERCANSInit
Object mindestens
einmal aufrufen
oder
SoftSERCANS neu
installieren
Read_A_Name(),
Read_Y_Name(),
aktuelle oder maximale
Länge des Namens > 60
SoftSERCANS neu
installieren
aktuelle oder maximale
Länge der Einheit > 12
SoftSERCANS neu
installieren
SoftSERCANS konnte nicht
gestartet werden
SoftSERCANS neu
installieren
SoftSERCANS_State()
liefert den Status 2 (fataler
Fehler) zurück
SoftSERCANS neu
installieren
SoftSERCANS_State()
liefert den Status 1
(Hardwarefehler) zurück
Resourcen der
Einsteckkarte mit
SoftSERCANSTest
.exe überprüfen
und neu einstellen
0x11000001
DLL_NO_CLASS =
0x11000002
DLL_NAME_TOO_LONG =
0x11000003
neu installieren
Read_SP_Name()
DLL_UNIT_TOO_LONG =
0x11000004
Read_A_Einheit(),
Read_Y_Einheit(),
Read_SP_Einheit()
DLL_NO_RTSS =
Start_SoftSERCANS(),
0x11000010
Terminate_SoftSERCANS()
DLL_RTSS_SYSTEM_ERROR =
alle DLL-Funktionen außer
0x11000011
Start_SoftSERCANS(),
SoftSERCANS_State() und
Terminate_SoftSERCANS()
DLL_RTSS_HARDWARE_ERROR = alle DLL-Funktionen außer
0x11000012
Start_SoftSERCANS(),
SoftSERCANS_State() und
Terminate_SoftSERCANS()
Abb. 7-18: kritische Fehler der DLL und Ursachen
DOK-SERCAN-SOFT*01VRS*-FK01-DE-P
DLL für Zugriffe auf SoftSERCANS
Beschreibung der DLL-Funktionen 7-65
Fehlercode
Fehlerquelle
Ursache
Lösung
DLL_AXIS_RANGE =
alle Funktionen mit
Übergabeparameter
Antriebsadresse
wurde mit 0
übergeben
Antriebsadresse
alle Funktionen mit
Übergabeparameter usIdentnr
unbekannter
Parametertyp (kein
Y,A,S,P)
Identnummer überprüfen
und korrigieren
Start_SoftSERCANS()
SoftSERCANS wurde
bereits gestartet
doppelter Funktionsaufruf
von Start_SoftSERCANS()
alle Funktionen mit
Übergabeparameter usIdentnr
Identnummer wurde
mit 0 übergeben
Identnummer > 0
falsches Element
selektiert
Elementnr > 0 oder <
Maximale Elemente setzen
falsches Element
selektiert
Element von 2..7 setzen
Liste enthält keine
WORD/DWORDElemente
Richtige Liste übergeben
0x10xx0001
usAntriebsadresse
DLL_UNKNOWN_TYP =
0x10xx0002
DLL_RTSS_ACTIVE =
0x10xx0003
DLL_IDENT_RANGE =
0x01xx0004
DLL_WRONG_ELEMENT = DataToList(), ListToData()
0x10xx0005
DLL_WRONG_ELEMENT = ReadElement()
0x10xx0005
DLL_WRONG_LISTE =
DataToList(), ListToData()
0x10xx0006
DLL_RTSS_INIT_ERROR = alle DLL-Funktionen außer
Start_SoftSERCANS(),
0x01xx0010
SoftSERCANS_State() und
Terminate_SoftSERCANS()
> 0 setzen
setzen
SoftSERCANS_State() SoftSERCANS_State() wie
beschrieben abfragen bis
wurde nicht
Initialisierung beendet ist
mindestens einmal
aufgerufen oder
Initialisierung läuft
gerade
Abb. 7-19: unkritische Fehler der DLL und Ursachen
Hinweis: Alle nicht in der Datei "SoftSERCANSdefs.h" aufgeführten
Fehlercodes wurden über GetLastError() ermittelt und können
in der Datei "winerror.h" (Lieferumfang von Visual C/Borland
C) nachgelesen werden.
DOK-SERCAN-SOFT*01VRS*-FK01-DE-P
7-66 Beschreibung der DLL-Funktionen
DLL für Zugriffe auf SoftSERCANS
7.13 Fehlercodes bei der Parameterbehandlung
In der folgenden Tabelle sind alle Fehlermeldungen für die nichtzyklische
Parameterübertragung aufgeführt.
Der Fehlercode wird im Parameter m_ulDLL_Error mit einer Länge von 2
Byte eingetragen (unteres Word) (siehe auch Kapitel "Erklärung der
Fehlercodierung der DLL").
Fehlercode im
Transportbehälter
(1. Wort)
Fehlermeldungen im NC-Servicekanal
0x00A0
Anforderung unzulässig (Phase 0-1)
0x00B0
Ausgewähltes Element unzulässig
0x00C0
Antriebsadresse unzulässig
0x1001
IDN nicht vorhanden
0x1009
falscher Zugriff auf Element 1
0x2001
Name nicht vorhanden
0x2002
Name zu kurz übertragen
0x2003
Name zu lang übertragen
0x2004
Name nicht änderbar
0x2005
Name zur Zeit schreibgeschützt
0x3002
Attribut zu kurz übertragen
0x3003
Attribut zu lang übertragen
0x3004
Attribut nicht änderbar
0x3005
Attribut zur Zeit schreibgeschützt
0x4001
Einheit nicht vorhanden
0x4002
Einheit zu kurz übertragen
0x4003
Einheit zu lang übertragen
0x4004
Einheit nicht änderbar
0x4005
Einheit zur Zeit schreibgeschützt
0x5001
minimaler Eingabewert nicht vorhanden
0x5002
minimaler Eingabewert zu kurz übertragen
0x5003
minimaler Eingabewert zu lang übertragen
0x5004
minimaler Eingabewert nicht änderbar
0x5005
minimaler Eingabewert zur Zeit schreibgeschützt
0x6001
maximaler Eingabewert nicht vorhanden
0x6002
maximaler Eingabewert zu kurz übertragen
0x6003
maximaler Eingabewert zu lang übertragen
0x6004
maximaler Eingabewert nicht änderbar
0x6005
maximaler Eingabewert zur Zeit schreibgeschützt
0x7002
Datum zu kurz übertragen
0x7003
Datum zu lang übertragen
0x7004
Datum nicht änderbar
0x7005
Datum zur Zeit schreibgeschützt
0x7006
Datum kleiner als min. Eingabewert
0x7007
Datum größer als max. Eingabewert
0x7008
Datum nicht korrekt
0x7009
Datum durch Paßwort schreibgeschützt
DOK-SERCAN-SOFT*01VRS*-FK01-DE-P
DLL für Zugriffe auf SoftSERCANS
Beschreibung der DLL-Funktionen 7-67
0x700C
Datum außerhalb des Zahlenbereich
0x700D
Länge Datum zur Zeit nicht änderbar
0x700E
Länge Datum nicht änderbar
0xC002
Identnummer ist kein Kommando
0xD004
Kommando im Antrieb nicht ausführbar
0xD005
Phasenumschaltung ist noch aktiv
0xD006
Phasenumschaltung mit gesetzter Reglerfreigabe
nicht möglich
Abb. 7-20: Fehlercodes bei der Parameterbehandlung
Diese Fehler werden bei fehlerhaften Parametern der
besprochenen Funktionen in m_ulDLL_Error zurückgeliefert.
DOK-SERCAN-SOFT*01VRS*-FK01-DE-P
zuvor
7-68 Beschreibung der DLL-Funktionen
DLL für Zugriffe auf SoftSERCANS
DOK-SERCAN-SOFT*01VRS*-FK01-DE-P
Parameterbeschreibung 8-1
DLL für Zugriffe auf SoftSERCANS
8
Parameterbeschreibung
8.1
Liste der im Antrieb vorausgesetzten Parameter
IDN-Nummer
Name
Lesen
Schreiben
S-0-0267
Zwingend
vorausgesetzt
Passwort
X
X
S-0-0030
Hersteller-Version
X
S-0-0095
Diagnose
S-0-0011
Zustandsklasse 1
X
S-0-0390
Diagnose Nummer
X
P-0-0009
Fehler-Nummer
X
S-0-0001
NC-Zykluszeit (TNcyc)
X
X
X
S-0-0010
Länge Master-Daten-Telegramm
X
X
X
S-0-0089
T2 Sendezeitpunkt MDT
X
X
X
S-0-0006
Sendezeitpunkt Antriebs-Telegramm (T1)
X
X
X
S-0-0015
Telegrammarten-Parameter
X
X
X
S-0-0003
Sende-Reaktionszeit AT (T1min)
X
X
S-0-0004
Umschaltzeit Senden-Empfangen (TATMT)
X
X
S-0-0005
Mindestzeit Istwerterfassung (T4min)
X
X
S-0-0088
TMTSY Erholzeit Empfangen-Empfangen
X
X
S-0-0090
TMTSG Kopierzeit Sollwerte
X
X
S-0-0016
Konfig.-Liste Antriebs-Telegramm
X
X
X
S-0-0024
Konfig.-Liste Master-Daten-Telegramm
X
X
X
S-0-0265
Sprachumschaltung
X
P-0-0005
Sprachumschaltung
X
X
X
X wenn S-0-0390
nicht vorhanden ist
X wenn S-0-0265
nicht vorhanden
S-0-0002
SERCOS-Zykluszeit (TScyc)
X
X
S-0-0008
Zeitpunkt für Sollwerte gültig (T3)
X
X
S-0-0007
Messzeitpunkt Istwerte (T4)
X
X
S-0-0009
Anfangsadresse im Master-Daten-Telegramm
X
X
S-0-0099
C500 Reset Zustandsklasse 1
X
X
S-0-0127
C100 Umschaltvorbereitung auf Komm.-Phase 3
X
X
S-0-0128
C200 Umschaltvorbereitung auf Komm.-Phase 4
X
X
Abb. 8-1: Liste der im Antrieb vorausgesetzten Parameter
DOK-SERCAN-SOFT*01VRS*-FK01-DE-P
8-2 Parameterbeschreibung
8.2
DLL für Zugriffe auf SoftSERCANS
Übersicht Y-Parameter
Y-0-0001
Einschaltverzögerungszeit
K
Y-0-0002
Adressen projektierte Antriebe
B
Y-0-0003
Synchron-Master
B
Y-0-0004
SERCOS-Zykluszeit
B
Y-0-0005
NC-Zykluszeit
B
Y-0-0006
Zugriffszeitpunkt NC
S
Y-0-0007
LWL-Länge
B
Y-0-0008
Zugriffszeit SoftSERCANS
S
Y-0-0009
Lifecounter Differenz
K
Y-0-0010
Prozess ID
S
Y-0-0011
SoftSERCANS beenden
K
Y-0-0012
Kopierzeitpunkt SoftSERCANS
S
Y-0-0013
Verschiebung Zugriffszeitpunkt NC
B
Y-0-0014
Fehlerzähler SYNC
K
Y-0-0015
SoftSERCANS - Hardware Version
S
Y-0-0016
SoftSERCANS - Firmware Version
S
Y-0-0017
SERCOS interface - Konfiguration
B
Y-0-0018
SoftSERCANS Fehler löschen
K
Y-0-0019
SoftSERCANS - Phasenvorgabe
K
Y-0-0020
Systemparameter speichern
K
Y-0-0021
Liste der ungültigen A-/Y-Parameter
S
Y-0-0022
SoftSERCANS - Aktueller Modus
S
Y-0-0023
SoftSERCANS - Sprachumschaltung
K
Y-0-0024
Adressen deaktivierte Antriebe
S
Y-0-0025
Adressen erkannte Antriebe
S
Y-0-0026
Adressen betreibbare Antriebe
S
Y-0-0027
Liste aller Y-Parameter
S
Y-0-0028
Liste aller A-Parameter
S
Y-0-0029
SoftSERCANS - Hochlauf Zielmodus
K
Y-0-0030
SoftSERCANS Basisparameter laden
B
Y-0-0031
SoftSERCANS Systemdiagnosetext
S
Y-0-0032
SoftSERCANS Systemfehlernummer
Abb. 8-2: Übersicht Y-Parameter
8.3
S
Übersicht A-Parameter
A-0-0001
Achsart
B
A-0-0002
Sollwertkonfigurationsliste
B
A-0-0003
Istwertkonfigurationsliste
B
A-0-0004
Sollwert Header
S
A-0-0005
Istwert Header
S
A-0-0006
Antriebsdeaktivierung
B
A-0-0007
Telegrammart
B
A-0-0008
Antriebstyp
S
A-0-0009
Fehlerzähler AT
K
Abb. 8-3: Übersicht A-Parameter
DOK-SERCAN-SOFT*01VRS*-FK01-DE-P
Parameterbeschreibung 8-3
DLL für Zugriffe auf SoftSERCANS
8.4
Beschreibung Y-Parameter
Y-0-0001 Einschaltverzögerungszeit
Der Einschaltvorgang läßt sich um die hier eingestellte Zeit verzögern.
Die Wartezeit verzögert den Einschaltvorgang um den hier eingestellten
Wert.
Y-0-0001 Attribute
Datenlänge:
2 Byte
Anzeigeformat:
Dez.-Zahl ohne Vorzeichen
Wichtung / Einheit:
1 ms
Minimaler Eingabewert:
--
Maximaler Eingabewert:
--
Default-Wert:
100 ms
Zugriff:
Kein Schreibschutz
Y-0-0002 Adressen projektierte Antriebe
In dieser Liste werden alle Antriebsadressen eingetragen, die sich im
SERCOS interface-Ring befinden sollen.
Beim
Hochfahren des SERCOS
interface-Ringes
wird
die
Übereinstimmung dieser Liste mit den tatsächlich vorhandenen Antrieben
überprüft.
Y-0-0002 Attribute
Datenlänge:
2 Byte variable Länge (Max: 198 Byte)
Anzeigeformat:
Dez.-Zahl ohne Vorzeichen
Wichtung / Einheit:
--
Minimaler Eingabewert:
1
Maximaler Eingabewert:
40
Default-Wert:
0002 (Istlänge)
0198 (Maximale Länge)
1 (Ein Antrieb mit Adresse 1)
Zugriff:
Schreibgeschützt im Betriebsmodus
Y-0-0003 Synchron-Master
Die Kommunikation im SERCOS interface-Ring und der NC-Zyklus
verlaufen synchron. Der Austausch der Echtzeitdaten über das DPR
zwischen SoftSERCANS und der Steuerung muß ebenfalls synchron
erfolgen. Mit dem Parameter Synchron-Master wird SoftSERCANS
mitgeteilt, welche Richtung die Hardware-Synchronisation hat.
DOK-SERCAN-SOFT*01VRS*-FK01-DE-P
8-4 Parameterbeschreibung
DLL für Zugriffe auf SoftSERCANS
15
8
7
0 ... 0 0
0
0 0 0 0 0 0 x x
0
1
0
1
SERCANS synchronisiert die Steuerung
die Steuerung synchronisiert SERCANS
SERCANS synchronisiert jeden
SERCOS-Zyklus (Y-0-0004)
SERCANS sychronisiert jeden
NY-Zyklus (Y-0-0005)
Abb. 8-4: Bitleiste Y-0-0003
Y-0-0003 Attribute
Datenlänge:
2 Byte
Anzeigeformat:
Binärzahl
Wichtung / Einheit:
1
Minimaler Eingabewert:
--
Maximaler Eingabewert:
--
Default-Wert:
0
Zugriff:
Schreibgeschützt im Betriebsmodus
Y-0-0004 SERCOS-Zykluszeit
Die Zykluszeit der Schnittstelle besagt, in welchen Zeitabständen die
Zyklischen Daten übertragen werden. SoftSERCANS unterstützt folgende
Zykluszeiten: 500µs, 750µs, 1ms, ... bis 32ms in Schritten von 0,25ms.
SoftSERCANS überträgt diesen Parameter in der Kommunikationsphase
2 an alle vorhandenen Antriebe.
Dieser Parameter muß min. auf den größten Minimalwert von S-0-0002
aller betriebenen Achsen gesetzt werden.
Y-0-0004 Attribute
Datenlänge:
2 Byte
Anzeigeformat:
Dez.-Zahl ohne Vorzeichen
Wichtung / Einheit:
1 µs
Minimaler Eingabewert:
500
Maximaler Eingabewert:
32000
Default-Wert:
2000
Zugriff:
Schreibgeschützt im Betriebsmodus
Y-0-0005 NC-Zykluszeit
Die NC-Zykluszeit sagt aus, in welchen zyklischen Zeitabständen die NC
neue Sollwerte zur Verfügung stellt.
Die NC-Zykluszeit muß ein ganzzahliges Vielfaches der SERCOSZykluszeit sein.
tNcyc = tScyc x j (j = 1, 2, 3 ...15)
SoftSERCANS überträgt diesen Parameter in der Kommunikationsphase
2 an alle vorhandenen Antriebe.
DOK-SERCAN-SOFT*01VRS*-FK01-DE-P
Parameterbeschreibung 8-5
DLL für Zugriffe auf SoftSERCANS
Y-0-0005 Attribute
Datenlänge:
2 Byte
Anzeigeformat:
Dez.-Zahl ohne Vorzeichen
Wichtung / Einheit:
1 µs
Minimaler Eingabewert:
500
Maximaler Eingabewert:
32000
Default-Wert:
2000
Zugriff:
Schreibgeschützt im Betriebsmodus
Y-0-0006 Zugriffszeitpunkt NC
Mit diesem Parameter teilt SoftSERCANS den Zugriffszeitpunkt der NC
innerhalb eines SERCOS interface Zyklus mit.
Achtung: Dieser Zeitpunkt darf nicht innerhalb des Zeitraumes
Y-0-0012 plus Y-0-0008 liegen.
! Zugriffskonflikt !
Der Wert dieses Parameters ergibt sich aus der "Verschiebung
Zugriffszeitpunkt NC" (Y-0-0013).
(siehe "Timing der zyklischen Daten", Seite 5-2)
Y-0-0006 Attribute
Datenlänge:
4 Byte
Anzeigeformat:
Dez. Zahl ohne Vorzeichen
Wichtung / Einheit:
1 µs
Minimaler Eingabewert:
—
Maximaler Eingabewert:
—
Default-Wert:
—
Zugriff:
Schreibgeschützt
Y-0-0007 LWL-Länge
Mit diesem Parameter wird die Sendeleistung von SoftSERCANS an die
Länge des Lichtwellenleiters angepaßt.
Die angegebene Länge bezieht sich auf den Lichtwellenleiter von LWLTX zum ersten Antrieb.
Hinweis: Im Regelfall genügt es, die LWL-Länge unabhängig von der
tatsächlichen Länge des Lichtwellenleiters mit dem DefaultWert 0,2 m zu beschreiben.
Hinweis: Dieser Parameter läßt sich im Parametriermodus ändern. Er
wird jedoch erst nach dem nächsten Hochschalten von Phase
0 nach 1 wirksam.
DOK-SERCAN-SOFT*01VRS*-FK01-DE-P
8-6 Parameterbeschreibung
DLL für Zugriffe auf SoftSERCANS
Y-0-0007 Attribute
Datenlänge:
2 Byte
Anzeigeformat:
Dez.-Zahl ohne Vorzeichen
Wichtung / Einheit:
10 m
Minimaler Eingabewert:
0,1 m
Maximaler Eingabewert:
50,0 m
Default-Wert:
0,2 m
Zugriff:
Schreibgeschützt im Betriebsmodus
-1
Y-0-0008 Zugriffszeit SoftSERCANS
Die Kopierzeit, die SoftSERCANS benötigt, um die konfigurierten Sollund Istwerte aller Antriebe vom internen Speicher ins MDT bzw. AT zu
übertragen, wird hier abgespeichert. (siehe Y-0-0012 und "Timing der
zyklischen Daten", Seite 5-2).
Y-0-0008 Attribute
Datenlänge:
2 Byte
Anzeigeformat:
Dez.-Zahl ohne Vorzeichen
Wichtung / Einheit:
1 µs
Minimaler Eingabewert:
--
Maximaler Eingabewert:
--
Default-Wert:
--
Zugriff:
Schreibgeschützt
Y-0-0009 Lifecounter Differenz
In diesen Parameter wird die Differenz die maximal zwischen dem
"Lifecounter SoftSERCANS" und dem "Lifecounter NC" auftreten darf
programmiert. Ist die Differenz in der Phase 4 größer als die hier
programmierte, so schaltet SoftSERCANS in die Phase 0 und generiert
einen Systemfehler.
Mit dieser Funktion können sich die Steuerung und SoftSERCANS
gegenseitig überwachen.
Ist in der "Lifecounter Differenz" der Wert 0 programmiert, so ist die
Überwachung auf SoftSERCANS abgeschaltet.
(siehe "Lifecounter", Seite 5-3).
Y-0-0009 Attribute
Datenlänge:
2 Byte
Anzeigeformat:
Dez.-Zahl ohne Vorzeichen
Wichtung / Einheit:
1 (NC-Zyklus)
Minimaler Eingabewert:
0
Maximaler Eingabewert:
65535
Default-Wert:
0
Zugriff:
Kein Schreibschutz
DOK-SERCAN-SOFT*01VRS*-FK01-DE-P
Parameterbeschreibung 8-7
DLL für Zugriffe auf SoftSERCANS
Y-0-0010 Prozess ID
In diesen Parameter
SoftSERCANS belegt.
wird
die
Slot-IDNummer
abgelegt,
die
Y-0-0010 Attribute
Datenlänge:
2 Byte
Anzeigeformat:
Dez.-Zahl ohne Vorzeichen
Wichtung / Einheit:
1
Minimaler Eingabewert:
0
Maximaler Eingabewert:
65535
Default-Wert:
0
Zugriff:
Schreibgeschützt
Y-0-0011 SoftSERCANS beenden
Dieser Parameter dient nur zu internen Zwecken!
Y-0-0011 Attribute
Datenlänge:
2 Byte
Anzeigeformat:
Dez.-Zahl ohne Vorzeichen
Wichtung / Einheit:
1
Minimaler Eingabewert:
0
Maximaler Eingabewert:
65535
Default-Wert:
0
Zugriff:
Kein Schreibschutz
Y-0-0012 Kopierzeitpunkt SoftSERCANS
Mit diesem Parameter teilt SoftSERCANS den Kopierzeitpunkt der
Sollwerte und Istwerte innerhalb eines SERCOS interface Zyklus mit.
Der Wert dieses Parameters wird von SoftSERCANS errechnet.
(siehe "Timing der zyklischen Daten", Seite 5-2)
Y-0-0012 Attribute
DOK-SERCAN-SOFT*01VRS*-FK01-DE-P
Datenlänge:
4 Byte
Anzeigeformat:
Dez. Zahl ohne Vorzeichen
Wichtung / Einheit:
1µs
Minimaler Eingabewert:
—
Maximaler Eingabewert:
—
Default-Wert:
—
Zugriff:
Schreibgeschützt
8-8 Parameterbeschreibung
DLL für Zugriffe auf SoftSERCANS
Y-0-0013 Verschiebung Zugriffszeitpunkt NC
In diesem Parameter kann die Steuerung eine relative Verschiebung zum
Sendezeitpunkt MDT (S-0-0089) eintragen.
ATn Zugriff SoftSERCANS
MST AT1 AT2
Zugriff NC
MDT
MST
S-0-0006
Y-0-0012
Y-0-0008
Y-0-0006
Y-0-0013*
S-0-0089
S-0-0008
Y-0-0004 *
Y-0-0005 *
Y-0-0013 Attribute
Datenlänge:
4 Byte
Anzeigeformat:
Dez. Zahl ohne Vorzeichen
Wichtung / Einheit:
1µs
Minimaler Eingabewert:
—
Maximaler Eingabewert:
—
Default-Wert:
150µs
Zugriff:
Schreibgeschützt im Betriebsmodus
Y-0-0014 Fehlerzähler SYNC
SoftSERCANS überprüft in der Phase 4 einmal pro SERCOS interfaceZyklus den Jitter des zyklischen Interrupts. Damit ist sichergestellt daß
SoftSERCANS die zyklischen Daten ohne Konflikt auslesen kann.
Hinweis: Sollte sich in diesem Parameter ein Wert ungleich Null
befinden, so sollte die Einstellung des zyklischen Telegramms
hinsichtlich des PC typischen Jitters noch einmal überdacht
werden (siehe "Timing der zyklischen Daten", Seite 5-2).
Der Fehlerzähler muß von der Bedienoberfläche oder von der Steuerung
gelöscht werden, bevor ein Test erfolgt.
Y-0-0014 Attribute
Datenlänge:
2 Byte
Anzeigeformat:
Dez.-Zahl ohne Vorzeichen
Wichtung / Einheit:
1
Minimaler Eingabewert:
0
Maximaler Eingabewert:
65535
Default-Wert:
0
Zugriff:
Kein Schreibschutz
DOK-SERCAN-SOFT*01VRS*-FK01-DE-P
Parameterbeschreibung 8-9
DLL für Zugriffe auf SoftSERCANS
Y-0-0015 SoftSERCANS - Hardware-Version
Über diesen Parameter kann die Hardware-Version der Leiterkarte
ausgelesen werden.
Leiterkarte
Hardware-Version
Automata
1.0
Serceb
1.0
Abb. 8-5: Hardware-Version
Die Bezugsadressen sind in Kapitel 2, "Installation der Hardware"
ersichtlich.
Y-0-0015 Attribute
Datenlänge:
1 Byte var. Länge (max: 10 Byte)
Anzeigeformat:
Text
Wichtung / Einheit:
—
Minimaler Eingabewert:
—
Maximaler Eingabewert:
—
Default-Wert:
—
Zugriff:
Schreibgeschützt
Y-0-0016 SoftSERCANS - Firmware-Version
Über diesen Parameter kann die Firmware-Version ausgelesen werden.
Für alle Hardware-Versionen ist die Firmware identisch.
Die Firmware-Version sieht folgendermaßen aus:
Beispiel:
SoftSERCANS01V01
Y-0-0016 Attribute
Datenlänge:
1 Byte var. Länge (max: 16 Byte)
Anzeigeformat:
Text
Wichtung / Einheit:
—
Minimaler Eingabewert:
—
Maximaler Eingabewert:
—
Default-Wert:
—
Zugriff:
Schreibgeschützt
Y-0-0017 SERCOS interface - Konfiguration
Dieser Parameter gibt die Konfiguration der SERCOS interface Übertragung an.
Hinweis: Dieser Parameter läßt sich im Parametriermodus ändern. Er
wird jedoch erst beim nächstmaligen Erreichen des
Initialisierungsmodus wirksam.
Die Testmodi werden beim Umschalten in den Initialisierungsmodus
wirksam. Sie werden nicht gepuffert, d. h. beim Starten von
DOK-SERCAN-SOFT*01VRS*-FK01-DE-P
8-10 Parameterbeschreibung
DLL für Zugriffe auf SoftSERCANS
SoftSERCANS stellt sich in den Bits 8 und 9 immer der Normalbetrieb
ein.
15
8
0 ... x x
7
0
0 0 0 0 0 0 0 x
0
1
00
01
10
11
2 MBit / s
4 MBit / s
Normalbetrieb
Testmodus Nullbitstrom
(nur für Testzwecke)
Testmodus Dauerlicht
(nur für Testzwecke)
Testmodus Dauerlicht aus (nur für Testzwecke)
Abb. 8-6: Bitleiste Y-0-0017
Zulässige Kombinationen (Hexadezimal-Darstellung):
0x0000
2 MBit / s
0x0001
4 MBit / s
Y-0-0017 Attribute
Datenlänge:
2 Byte
Anzeigeformat:
Binärzahl
Wichtung / Einheit:
--
Minimaler Eingabewert:
--
Maximaler Eingabewert:
--
Default-Wert:
0000000000000000
Zugriff:
Schreibgeschützt im Betriebsmodus
Y-0-0018 SoftSERCANS Fehler löschen
Ein Schreibzugriff mit dem Wert 3 auf diesen Parameter löscht den
aktuellen Fehler aus dem SoftSERCANS Diagnosesystem. Wurde vor
dem erstmaligen Erreichen des "SoftSERCANS - Hochlauf Zielmodus"
(Y-0-0029) ein Fehler diagnostiziert, so versucht SoftSERCANS erneut
die Zielphase Y-0-0029 zu erreichen.
Y-0-0018 Attribute
Datenlänge:
2 Byte
Anzeigeformat:
Binär
Wichtung / Einheit:
1
Minimaler Eingabewert:
--
Maximaler Eingabewert:
--
Default-Wert:
0
Zugriff:
Kein Schreibschutz
DOK-SERCAN-SOFT*01VRS*-FK01-DE-P
Parameterbeschreibung 8-11
DLL für Zugriffe auf SoftSERCANS
Y-0-0019 SoftSERCANS - Phasenvorgabe
Über diesen Parameter lässt sich die aktuelle SERCOS interface Phase
verändern. (siehe Kap. "Funktionen zum Schalten der Betriebsphasen",
Seite 7-48)
Y-0-0019 Attribute
Datenlänge:
2 Byte
Anzeigeformat:
Dezimal
Wichtung / Einheit:
1
Minimaler Eingabewert:
0
Maximaler Eingabewert:
4
Default-Wert:
0
Zugriff:
Kein Schreibschutz
Y-0-0020 Systemparameter speichern
Ein Schreibzugriff mit dem Wert 3 auf diesen Parameter speichert die
aktuellen A und Y – Parameter ab. Diese Sicherung wird beim nächsten
Start von SoftSERCANS als Parametersatz verwendet.
Achtung: Bis zum Ausführen dieses Schreibvorgangs werden die A und
Y Parameter nicht gespeichert. Die geänderten Parameter
werden auch beim Beenden von SoftSERCANS gespeichert!
Y-0-0020 Attribute
Datenlänge:
2 Byte
Anzeigeformat:
Binärzahl
Wichtung / Einheit:
1
Minimaler Eingabewert:
--
Maximaler Eingabewert:
--
Default-Wert:
0
Zugriff:
Kein Schreibschutz
Y-0-0021 Liste der ungültigen A-/Y-Parameter
In dieser Liste stehen die ungültigen A- oder Y- Parameter, welche
• beim Prüfsummentest von SoftSERCANS (z. B. nach Erststart)
• beim Plausibilitätstest von SoftSERCANS
erkannt werden.
Im Fall eines ungültigen A-Parameters steht im höchstwertigen Byte die
Adresse des Antriebes. Bei einem Y-Parameter steht hier 0.
DOK-SERCAN-SOFT*01VRS*-FK01-DE-P
8-12 Parameterbeschreibung
DLL für Zugriffe auf SoftSERCANS
Achsunabhängige Parameter (A-Parameter)
SCS: Y-0-nnnn
Parameternummer (mit führenden Nullen)
Achsabhängige Parameter (A-, S- und P-Parameter)
Axx: A-0-zzzz
Parameternummer (mit führenden Nullen)
Parametertyp (A-, S- oder P-Parameter)
Antriebsadresse (mit führender Null)
Abb. 8-7: Parameteraufbau
Beispiele:
A15:
A-0-0003
Antriebsadresse 15, Parameter A-0-0003
SCS:
Y-0-0011
Parameter Y-0-0011
Es werden maximal 200 ungültige Parameter in dieser Liste gespeichert.
Sind mehr ungültige Parameter auf SoftSERCANS, so werden die
überzähligen nicht angezeigt.
Y-0-0021 Attribute
Datenlänge:
4 Byte variable Länge (Max: 800 Byte)
Anzeigeformat:
SoftSERCANS - Identnummer
Wichtung / Einheit:
--
Minimaler Eingabewert:
--
Maximaler Eingabewert:
--
Default-Wert:
0000 (Istlänge)
0800 (Maximale Länge)
Zugriff:
Schreibgeschützt
Y-0-0022 SoftSERCANS - Aktueller Modus
Dieser Parameter enthält den aktuellen Modus von SoftSERCANS:
0:
"SoftSERCANS in Initialisierungmodus"
1:
"SERCOS Phase 1"
2:
"SoftSERCANS in Parametriermodus"
3:
"SERCOS Phase 3"
4:
"SoftSERCANS in Betriebsmodus"
Das Bit 4 zeigt einen evtl. bereits laufenden Umschaltvorgang an.
Y-0-0022 Attribute
Datenlänge:
2 Byte
Anzeigeformat:
Dez.-Zahl ohne Vorzeichen
Wichtung / Einheit:
--
Minimaler Eingabewert:
--
Maximaler Eingabewert:
--
Default-Wert:
0
Zugriff:
Schreibgeschützt
DOK-SERCAN-SOFT*01VRS*-FK01-DE-P
Parameterbeschreibung 8-13
DLL für Zugriffe auf SoftSERCANS
Y-0-0023 SoftSERCANS - Sprachumschaltung
Momentan unterstützte Sprachen sind:
Eingabewert
Sprache
0
Deutsch
1
Englisch
Y-0-0023 Attribute
Datenlänge:
2 Byte
Anzeigeformat:
Dez.-Zahl ohne Vorzeichen
Wichtung / Einheit:
--
Minimaler Eingabewert:
0
Maximaler Eingabewert:
1
Default-Wert:
0
Zugriff:
Kein Schreibschutz
Y-0-0024 Adressen deaktivierte Antriebe
Diese Liste enthält diejenigen Antriebsadressen, die vorübergehend
außer Betrieb genommen werden (siehe A-0-0006). Diese Adressen
müssen in den Parameter "Adressen projektierte Antriebe" (Y-0-0002)
enthalten sein.
Ist ein Antrieb deaktiviert, so ist es unerheblich, ob er im LWL-Ring
physikalisch vorhanden ist, oder nicht.
Hinweis: Sofern ein deaktivierter Antrieb im LWL-Ring belassen wird,
zeigt sein Display die Meldung E4/10 "Slave nicht gescannt
oder Adresse 0".
(siehe auch Y-0-0002, Y-0-0025, Y-0-0026)
Y-0-0024 Attribute
DOK-SERCAN-SOFT*01VRS*-FK01-DE-P
Datenlänge:
2 Byte variable Länge (Max: 198 Byte)
Anzeigeformat:
Dez.-Zahl ohne Vorzeichen
Wichtung / Einheit:
--
Minimaler Eingabewert:
1
Maximaler Eingabewert:
40
Default-Wert:
0000 (Istlänge)
0198 (Maximale Länge)
Zugriff:
Schreibgeschützt
8-14 Parameterbeschreibung
DLL für Zugriffe auf SoftSERCANS
Y-0-0025 Adressen erkannte Antriebe
Beim Umschalten vom Initialisierungsmodus in den Parametriermodus
durchsucht SoftSERCANS den LWL-Ring nach Antrieben.
Die Antriebsadressen der Antriebe, die SoftSERCANS erkannt hat,
werden zu Diagnosezwecken in dieser Liste abgelegt.
(siehe auch Y-0-0002, Y-0-0024, Y-0-0026)
Y-0-0025 Attribute
Datenlänge:
2 Byte variable Länge (Max: 198 Byte)
Anzeigeformat:
Dez.-Zahl ohne Vorzeichen
Wichtung / Einheit:
--
Minimaler Eingabewert:
1
Maximaler Eingabewert:
40
Default-Wert:
0000 (Istlänge)
0198 (Maximale Länge)
Zugriff:
Schreibgeschützt
Y-0-0026 Adressen betreibbare Antriebe
Diese Liste enthält die Antriebsadressen, die von SoftSERCANS
betrieben werden.
Ist z. B. ein Antrieb mittels "Antriebsdeaktivierung" (A-0-0006) deaktiviert,
so wird er von SoftSERCANS nicht betrieben. Die Liste aller deaktivierten
Antriebe ist in Y-0-0024 auslesbar.
Es gilt:
" Adressen projektier te Antriebe" (Y - 0 - 0002)
abzüglich " Adressen deaktivier te Antriebe (Y - 0 - 0024)
ergibt
Adressen betreibbar e Antriebe (Y - 0 - 0026)
Abb. 8-8: Formel Y-0-0026
Dieser Parameter dient zur Diagnose.
(siehe auch Y-0-0025)
Y-0-0026 Attribute
Datenlänge:
2 Byte variable Länge (Max: 198 Byte)
Anzeigeformat:
Dez.-Zahl ohne Vorzeichen
Wichtung / Einheit:
--
Minimaler Eingabewert:
1
Maximaler Eingabewert:
40
Default-Wert:
0000 (Istlänge)
0198 (Maximale Länge)
Zugriff:
Schreibgeschützt
DOK-SERCAN-SOFT*01VRS*-FK01-DE-P
Parameterbeschreibung 8-15
DLL für Zugriffe auf SoftSERCANS
Y-0-0027 Liste aller Y-Parameter
In dieser Liste stehen alle Y-Parameter.
Die Einträge sind nach Bedeutung und Zusammengehörigkeit sortiert,
aber weder nach Ident-Nummern, noch nach alphabetischer Reihenfolge.
In der Reihenfolge dieser Einträge werden Y-Parameter abgespeichert.
Beispiel:
SCS: Y-0-0024
SCS: Y-0-0002
SCS: Y-0-0013
...
Y-0-0027 Attribute
Datenlänge:
4 Byte variable Länge (Max: 1024 Byte)
Anzeigeformat:
SoftSERCANS – Identnummer
Wichtung / Einheit:
--
Minimaler Eingabewert:
--
Maximaler Eingabewert:
--
Default-Wert:
--
Zugriff:
Schreibgeschützt
Y-0-0028 Liste aller A-Parameter
In dieser Liste stehen alle A-Parameter.
Die Einträge sind nach Bedeutung und Zusammengehörigkeit sortiert,
also weder nach Ident-Nummern, noch nach alphabetischer Reihenfolge.
In der Reihenfolge dieser Einträge werden A-Parameter abgespeichert.
Beispiel:
A00:
A-0-0001
A00:
A-0-0002
...
Y-0-0028 Attribute
DOK-SERCAN-SOFT*01VRS*-FK01-DE-P
Datenlänge:
4 Byte variable Länge (Max: 1024 Byte)
Anzeigeformat:
SoftSERCANS – Identnummer
Wichtung / Einheit:
--
Minimaler Eingabewert:
--
Maximaler Eingabewert:
--
Default-Wert:
--
Zugriff:
Schreibgeschützt
8-16 Parameterbeschreibung
DLL für Zugriffe auf SoftSERCANS
Y-0-0029 SoftSERCANS - Hochlauf Zielmodus
Nach dem Starten von SoftSERCANS wird einen Hochlauf bis zu einem
vordefinierten Modus durch.
Mit diesem Parameter wird dieser Modus festgelegt.
4:
Betriebsmodus
Zyklische Datenübertragung
2:
Parametriermodus
Beschreiben
aller
im
Betriebsmodus
schreibgeschützten Parameter möglich)
0:
Initialisierungsmodus
(keine Verbindung zu den Antrieben
Beschreiben von Y- und A-Parametern
möglich. Beschreiben von S- und PParametern nicht möglich)
Ein Schreibzugriff
Umschaltvorgang.
mit
der
gewünschten
Zielphase
bewirkt
ein
Achtung: Dieser Parameter wird durch die DLL Funktion
C_ChangeSoftSERCANSPhasePhase()
ebenfalls verändert !
Y-0-0029 Attribute
Datenlänge:
2 Byte
Anzeigeformat:
Dez.-Zahl ohne Vorzeichen
Wichtung / Einheit:
--
Minimaler Eingabewert:
--
Maximaler Eingabewert:
--
Default-Wert:
4
Zugriff:
Kein Schreibschutz
Y-0-0030 SoftSERCANS Basisparameter laden
Ein Schreibzugriff mit dem Wert 3 auf diesen Parameter setzt die DefaultWerte aller A und Y-Parameter.
Hinweis: Die Default Werte müssen ebenfalls mit "Systemparameter
speichern" (Y-0-0020) gesichert werden.
Y-0-0030 Attribute
Datenlänge:
2 Byte
Anzeigeformat:
Binärzahl
Wichtung / Einheit:
--
Minimaler Eingabewert:
0
Maximaler Eingabewert:
--
Default-Wert:
0
Zugriff:
Schreibgeschützt im Betriebsmodus
DOK-SERCAN-SOFT*01VRS*-FK01-DE-P
Parameterbeschreibung 8-17
DLL für Zugriffe auf SoftSERCANS
Y-0-0031 SoftSERCANS Systemdiagnosetext
Über diesen Parameter kann die Systemdiagnose im Klartext ausgelesen
werden.
Y-0-0030 Attribute
Datenlänge:
1 Byte var. Länge (max: 64 Byte)
Anzeigeformat:
Text
Wichtung / Einheit:
—
Minimaler Eingabewert:
—
Maximaler Eingabewert:
—
Default-Wert:
—
Zugriff:
Schreibgeschützt
Y-0-0032 SoftSERCANS Systemfehlernummer
Über diesen Parameter kann die Systemfehlernummer ausgelesen
werden.
Y-0-0032 Attribute
DOK-SERCAN-SOFT*01VRS*-FK01-DE-P
Datenlänge:
2 Bytes
Anzeigeformat:
Dez.-Zahl ohne Vorzeichen
Wichtung / Einheit:
—
Minimaler Eingabewert:
—
Maximaler Eingabewert:
—
Default-Wert:
—
Zugriff:
Schreibgeschützt
8-18 Parameterbeschreibung
8.5
DLL für Zugriffe auf SoftSERCANS
Beschreibung A-Parameter
A-0-0001 Achsart
Dieser Parameter wird momentan nicht unterstützt.
A-0-0001 Attribute
Datenlänge:
2 Byte
Anzeigeformat:
Hexadezimal
Wichtung / Einheit:
--
Minimaler Eingabewert:
--
Maximaler Eingabewert:
--
Default-Wert:
0
Zugriff:
Schreibgeschützt im Betriebsmodus
A-0-0002 Sollwertkonfigurationsliste
In diese Liste müssen die Identnummern aufeinanderfolgend eingetragen
werden. Die Reihenfolge der Identnummern legt die Reihenfolge der
Sollwerte im Sollwertkanal der entsprechenden Achsstruktur fest. Die
konfigurierten Sollwerte werden zyklisch von der Steuerung an die
Antriebe übertragen. Es können maximal acht Sollwerte pro Antrieb
konfiguriert werden.
IDN: Sollwert 8
IDN: Sollwert 2
IDN: Sollwert 1
Abb. 8-9: Aufbau Sollwertkonfigurationsliste
A-0-0002 Attribute
Datenlänge:
2 Byte var. Länge (Max: 16 Byte)
Anzeigeformat:
Identnummern
Wichtung / Einheit:
—
Minimaler Eingabewert:
—
Maximaler Eingabewert:
—
Default-Wert:
0004 (Istlänge)
0016 (Maximale Länge)
1. Wert: S-0-0036
2. Wert: S-0-0047
Zugriff:
Schreibgeschützt im Betriebsmodus
DOK-SERCAN-SOFT*01VRS*-FK01-DE-P
Parameterbeschreibung 8-19
DLL für Zugriffe auf SoftSERCANS
A-0-0003 Istwertkonfigurationsliste
In diese Liste müssen die Identnummern aufeinanderfolgend eingetragen
werden. Die Reihenfolge der Identnummern legt die Reihenfolge der
Istwerte im Istwertkanal der entsprechenden Achsstruktur fest. Die
konfigurierten Istwerte werden zyklisch von den Antrieben an die
Steuerung übertragen. Es können maximal acht Istwerte pro Antrieb
konfiguriert werden.
IDN: Istwert 8
IDN: Istwert 2
IDN: Istwert 1
Abb. 8-10: Aufbau Istwertkonfigurationsliste
A-0-0003 Attribute
Datenlänge:
2 Byte var. Länge (Max: 16 Byte)
Anzeigeformat:
Identnummern
Wichtung / Einheit:
—
Minimaler Eingabewert:
—
Maximaler Eingabewert:
—
Default-Wert:
0004 (Istlänge)
0016 (Maximale Länge)
1. Wert: S-0-0040
2. Wert: S-0-0051
Zugriff:
Schreibgeschützt im Betriebsmodus
A-0-0004 Sollwert Header
In diesem Parameter wird für die entsprechende Achse der Sollwert
Header entsprechend berechnet.
Dieser Parameter ist ab Phase 3 gültig.
Siehe Kap. "Konfiguration des Sollwertkanals", Seite 5-5.
A-0-0004 Attribute
DOK-SERCAN-SOFT*01VRS*-FK01-DE-P
Datenlänge:
2 Byte
Anzeigeformat:
Hexadezimal
Wichtung / Einheit:
--
Minimaler Eingabewert:
--
Maximaler Eingabewert:
--
Default-Wert:
0
Zugriff:
Schreibgeschützt
8-20 Parameterbeschreibung
DLL für Zugriffe auf SoftSERCANS
A-0-0005 Istwert Header
In diesem Parameter wird für die entsprechende Achse der Istwert
Header entsprechend berechnet.
Dieser Parameter ist ab Phase 3 gültig.
Siehe Kap. "Konfiguration des Istwertkanals", Seite 5-5.
A-0-0005 Attribute
Datenlänge:
2 Byte
Anzeigeformat:
Hexadezimal
Wichtung / Einheit:
--
Minimaler Eingabewert:
--
Maximaler Eingabewert:
--
Default-Wert:
0
Zugriff:
Schreibgeschützt
A-0-0006 Antriebsdeaktivierung
Mit diesem Parameter werden Antriebe deaktiviert.
‚...0000‘ = Antrieb aktiviert
‚...0001‘ = Antrieb deaktiviert
Die aktuelle Liste aller deaktivierten Antriebe kann im Parameter
"Adressen deaktivierte Antriebe" (Y-0-0024) ausgelesen werden.
A-0-0006 Attribute
Datenlänge:
2 Byte
Anzeigeformat:
Binärzahl
Wichtung / Einheit:
--
Minimaler Eingabewert:
0000.0000
Maximaler Eingabewert:
0000.0001
Default-Wert:
0
Zugriff:
Schreibgeschützt im Betriebsmodus
A-0-0007 Telegrammart
In diesem Parameter kann zwischen Vorzugstelegrammen (Eingabe 0-6)
und frei konfigurierbaren Telegrammen (Eingabe 7) gewählt werden.
Die Konfiguration der Echtzeitdaten (Telegramme) wird in Kap.
"Austausch der Echtzeitdaten", Seite 5-4 erläutert.
DOK-SERCAN-SOFT*01VRS*-FK01-DE-P
Parameterbeschreibung 8-21
DLL für Zugriffe auf SoftSERCANS
Mögliche Eingaben sind:
8 7
15
0
...
0
0 0 0 0 0 x x x x
0
0
0
x
x
x
0
0
0
0
0
0
1
1
1
1
0
0
1
1
0
0
1
1
0 - Vorzugstelegramm 0
1 - Vorzugstelegramm 1
0 - Vorzugstelegramm 2
1 - Vorzugstelegramm 3
0 - Vorzugstelegramm 4
1 - Vorzugstelegramm 5
0 - Vorzugstelegramm 6
1 - Frei konfigurierbares
Telegramm 7
0 Lageistwert-1 S-0-0051 (Motorgeber)
1 Lageistwert-2 S-0-0053 (ext. Geber)
Abb. 8-11: Aufbau eines Elementes
A-0-0007 Attribute
Datenlänge:
2 Byte
Anzeigeformat:
Binärzahl
Wichtung / Einheit:
--
Minimaler Eingabewert:
--
Maximaler Eingabewert:
--
Default-Wert:
7
Zugriff:
Schreibgeschützt im Betriebsmodus
A-0-0008 Antriebstyp
Beim Umschalten in den Parametriermodus überprüft SoftSERCANS,
welcher Typ Antriebe angeschlossen ist.
Mögliche Einträge sind
• "Antrieb nicht im Ring"
• "Unbekannter Antriebstyp"
• "DIAX03"
• "DIAX04"
• "ECODRIVE"
A-0-0008 Attribute
DOK-SERCAN-SOFT*01VRS*-FK01-DE-P
Datenlänge:
1 Byte variable Länge(Max. 40 Byte)
Anzeigeformat:
ASCII - Text
Wichtung / Einheit:
--
Minimaler Eingabewert:
--
Maximaler Eingabewert:
--
Default-Wert:
--
Zugriff:
Schreibgeschützt
8-22 Parameterbeschreibung
DLL für Zugriffe auf SoftSERCANS
A-0-0009 Fehlerzähler AT
Dieser Parameter zählt alle einfachen,
Kommunikationsphasen 3 und 4.
ungültigen
ATs
in
den
Fallen zwei aufeinanderfolgende ATs eines Antriebes aus, wird der Fehler
"Doppelter Antriebstelegrammausfall" erzeugt.
Der "Fehlerzähler AT" zählt nur bis 65535 und bleibt dann stehen. Dieser
Wert wird nur bei einer stark gestörten Übertragung nach langer Zeit
erreicht.
Um den Zähler zurückzusetzen, kann er beschrieben werden
A-0-0009 Attribute
Datenlänge:
2 Byte
Anzeigeformat:
Dezimal ohne Vorzeichen
Wichtung / Einheit:
--
Minimaler Eingabewert:
--
Maximaler Eingabewert:
--
Default-Wert:
--
Zugriff:
Kein Schreibschutz
DOK-SERCAN-SOFT*01VRS*-FK01-DE-P
Inbetriebnahmehilfsmittel 9-1
DLL für Zugriffe auf SoftSERCANS
9
Inbetriebnahmehilfsmittel
9.1
Allgemeines zu DriveTop
DriveTop ist die komfortable Inbetriebnahmeoberfläche unter MSWindows für SoftSERCANS und SERCOS interface-Antriebe.
DriveTop bietet folgende Funktionalitäten:
• Parametrierung und Inbetriebnahme von jedem Gerät, das die
internationale, offene Norm IEC 61491 von SERCOS interface erfüllt.
• Gezielte Inbetriebnahmeführung
SoftSERCANS-Software
der
Einstellungen
auf
der
• Bequemes Handling der SERCOS interface-Funktionalitäten, wie z.B.
Phasenumschaltung, Konfiguration der zyklischen Echtzeitdaten und
Urladen.
• Funktionsbezogene Inbetriebnahmeführung
Antriebsfirmwaren
FWA-DIAX03-AHS-03VRS-MS,
FWA-DIAX04-AHS-03VRS-MS,
FWA-DIAX03-ASE-02VRS-MS,
FWA-DIAX04-ASE-02VRS-MS,
FWA-DIAX03-ATE-01VRS-MS,
FWA-DIAX04-ATE-01VRS-MS,
FWA-DIAX03-ELS-04VRS-MS,
FWA-DIAX03-ELS-05VRS-MS,
FWA-DIAX04-ELS-05VRS-MS,
FWA-DIAX03-SSE-01VRS-MS,
FWA-DIAX03-SSE-02VRS-MS,
FWA-DIAX03-SSE-03VRS-MS,
FWA-DIAX04-SSE-01VRS-MS,
FWA-DIAX04-SSE-02VRS-MS,
FWA-DIAX04-SSE-03VRS-MS,
FWA-DIAX03-SHS-02VRS-MS,
FWA-DIAX03-SHS-03VRS-MS,
FWA-DIAX04-SHS-02VRS-MS,
FWA-DIAX04-SHS-03VRS-MS,
FWA-DIAX03-STE-01VRS-MS,
FWA-DIAX04-STE-01VRS-MS,
für
Antriebe
der
FWA-ECODRV-SSE-02VRS-MS,
FWA-ECODRV-SSE-03VRS-MS,
FWA-ECODR3-FGP-01VRS-MS,
FWA-ECODR3-FGP-02VRS-MS,
FWA-ECODR3-SGP-01VRS-MS,
FWA-ECODR3-SMT-01VRS-MS,
FWA-SoftSERCANS-01VRS-MS
• Parametersätze selektiv laden und speichern
• Diverse Diagnosemöglichkeiten auf verschiedenen Ebenen - für
SoftSERCANS oder speziell für einen ausgewählten Antrieb.
• Kontext-sensitives Hilfesystem (Ctrl-F1) im Zusammenhang mit den
Hilfen der Antriebsfirmwaren von Indramat und der Hilfe zu
SoftSERCANS
• Dialoge zur Oszilloskopfunktion mit Zeit- und Frequenzdiagramm
DOK-SERCAN-SOFT*01VRS*-FK01-DE-P
9-2 Inbetriebnahmehilfsmittel
9.2
DLL für Zugriffe auf SoftSERCANS
Systemvoraussetzungen
DriveTop ist lauffähig unter dem Betriebssystem Windows NT und stellt
folgende Hardware-Anforderungen an den eingesetzten PC:
• 80486-Prozessor oder schneller
• mindestens 16 MB Hauptspeicher
• mindestens 25 MB freier Festplattenspeicher
9.3
Installation von DriveTop
Softwareinstallation von DriveTop
DriveTop wird auf einer CDROM ausgeliefert.
Zur Installation von DriveTop führen Sie bitte die folgenden Schritte aus:
• Diese Dokumentation komplett lesen.
• PC einschalten und Windows starten.
• DriveTop CDROM in CD-Laufwerk einlegen.
• Im Menüpunkt "Datei“ den Befehl "Ausführen...“ auswählen.
Hinweis: Soll DriveTop auf einem PC installiert werden, auf dem eine
ältere Version von DriveTop bereits installiert ist, bleibt diese
erhalten.
Das
durch
das
Installationsprogramm
vorgeschlagene Verzeichnis enthält die Versionsnummer.
Ebenso das Icon der Programmgruppe.
Soll eine ältere Version von DriveTop von der Festplatte
entfernt werden, muß unter Einstellungen\Systemsteuerung\
Software "DriveTop" entfernt werden.
• Im Eingabefeld "Befehlszeile:“ D:\SETUP eingeben. (wenn DriveTopCD-ROM in Laufwerk D: liegt.)
• Im weiteren den Anweisungen des Installationsprogramms folgen.
Nach erfolgreicher Installation finden Sie die neue Programmgruppe
INDRAMAT auf Ihrem PC. Innerhalb dieser Gruppe befindet sich das
DriveTop-Programmsymbol.
DriveTop starten
Voraussetzungen:
DriveTop und SoftSERCANS wurden erfolgreich installiert.
Starten Sie DriveTop.
DriveTop wird gestartet und versucht einen Verbindungsaufbau mit
SoftSERCANS herzustellen.
DOK-SERCAN-SOFT*01VRS*-FK01-DE-P
Inbetriebnahmehilfsmittel 9-3
DLL für Zugriffe auf SoftSERCANS
DriveTop kann parallel zu allen anderen Applikationen betrieben werden.
Wählen Sie aus dem
SoftSERCANS" aus.
unten
abgebildeten
Dialog
"Online
über
driveTopWahl.bmp
Abb. 9-1: Verbindungsauswahl
9.4
Funktionen
Menü Datei
Im Menü Datei befinden sich die Untermenüs Laden und Speichern.
Untermenü Laden
Parameter können aus einer Datei in die Antriebe oder in die
SoftSERCANS-Software geladen werden.
Untermenü Speichern
Die S/P-Parameter in den Antrieben und die Y-/A-Parameter von
SoftSERCANS werden in einer Datei gesichert.
Menü Parameter
Im Menü Parameter befinden sich die Dialogfenster, die bei einer
Inbetriebnahme durchlaufen werden, sowie die Dialogfenster für
Einzelparameter und die Listen aller S-, P-, Y- und A-Parameter.
Liste aller S-, P-, Y- und A-Parameter
Die S/P-Parameter des ausgewählten Antriebs und Y-/A-Parameter
werden mit Name, Betriebsdatum und Einheit aufgelistet. Der Anwender
kann nach Identnummern oder alphabetisch sortieren, nach
Identnummern oder Text suchen und Parameter ändern.
DOK-SERCAN-SOFT*01VRS*-FK01-DE-P
9-4 Inbetriebnahmehilfsmittel
DLL für Zugriffe auf SoftSERCANS
Liste aller ungültigen Parameter
Die ungültigen Parameter von SoftSERCANS oder des ausgewählten
Antriebs werden mit Name, Betriebsdatum und Einheit aufgelistet. Der
Anwender kann nach Identnummern oder alphabetisch sortieren, nach
Identnummern oder Text suchen und Parameter ändern.
Einzelparameter
Ein Parameter einer ausgewählten Antriebsadresse wird mit Name,
Betriebsdatum, Min/Maxwert und Einheit aufgelistet. Der Anwender kann
nach Identnummern oder alphabetisch sortieren, nach Identnummern
oder Text suchen und Identnummern ändern.
Menü Inbetriebnahme
Im Menü Inbetriebnahme befinden sich die Menüpunkte SoftSERCANSGrundkonfiguration bzw. Parameterfestlegung. Werden sie aufgerufen,
durchläuft der Anwender eine Abfolge von Dialogfenstern zum
Parametrieren achsübergreifender Y-Parameter bzw. Achsparameter (A-,
S-, P-Parameter).
Menü Ansicht
Im Menü Ansicht wird der im Hintergrund gezeigte Diagnosebildschirm
gewechselt zwischen dem Anlagenstatus, dem Antriebsstatus eines im
Anlagenstatus selektierten Antriebs und einer vom Anwender
konfigurierbaren Parametergruppe.
Menü Extras
Im Menü befinden sich Menüpunkte zu Phasenumschaltung
("Parametriermodus“, "Betriebsmodus“, "Phasenumschaltung“), der
Menüpunkt „Antriebsdiagnose“ mit den Untermenüs der internen
Eingänge und Ausgänge sowie Dialogfenster für zusätzliche Diagnoseund Inbetriebnahme-Tools wie z.B. "Analogausgabe“, "Oszilloskop“.
Menü Optionen
Im Menü Optionen befinden sich die Menüpunkte "Verbindung“ zum
Umschalten Online-Offline und "Sprache“ zum Umschalten Deutsch oder
Englisch.
Menü Hilfe
Beim Herunterklappen dieses Untermenüs werden alle auf dem PC
installierten Hilfen zu Antriebsfirmwaren und SoftSERCANS angezeigt.
Der Anwender kann sich mit den Untermenü "Einstellungen“ die
Zuordnung der Hilfen zu den Antriebsfirmwaren bei Bedarf neu
konfigurieren.
DOK-SERCAN-SOFT*01VRS*-FK01-DE-P
DLL für Zugriffe auf SoftSERCANS
Inbetriebnahmehilfsmittel 9-5
Menü Rechte Maustaste
Über die rechte Maustaste (Shift-F10) kann an jeder Stelle in DriveTop
ein lokales Menü geöffnet werden. Damit sind einige nützliche Funktionen
(Phasenumschaltung, Antriebshilfe, Dialog "Einzelparameter“) jederzeit
verfügbar. Steht die aktuelle Cursorposition auf einem Anzeigeelement
eines Parameters (z.B. Eingabefeld) sind weitere Informationen zum
Parameter verfügbar und dieser Parameter kann in eine Liste im Menü
"Parametergruppe“ übernommen werden.
9.5
Hilfsmittel "SoftSERCANSTest.exe"
Mit dieser Windows-Anwendung lässt sich die korrekte Funktion von
SoftSERCANS überprüfen.
Mit SoftSERCANSTest.exe lassen sich
• Die Grundeinstellungen (Basisadresse, Interrupts) von SoftSERCANS
einstellen
• Alle System- und Antriebsparameter auslesen und beschreiben
• die Betriebsphase ändern
• Antriebs- und Systemdiagnosen auslesen
• Fehler löschen
Hinweis: Bei Beendung von SoftSERCANSTest wird der Anwender
gefragt, ob er SoftSERCANS terminieren will!
Das Programm befindet sich im Unterverzeichnis "\Bin\".
DOK-SERCAN-SOFT*01VRS*-FK01-DE-P
9-6 Inbetriebnahmehilfsmittel
DLL für Zugriffe auf SoftSERCANS
DOK-SERCAN-SOFT*01VRS*-FK01-DE-P
Beispielprogramme 10-1
DLL für Zugriffe auf SoftSERCANS
10
Beispielprogramme
Mit der Installierung von SoftSERCANS werden auch die im folgenden
Text beschriebene Bespiele installiert.
Die Voraussetzungen für eine fehlerfreie Benutzung der Beispiele sind:
• Mindestens ein SERCOS interface Antrieb mit der Adresse 1 ist in
Betrieb genommen und fehlerfrei angeschlossen.
• Alle Systemparameter von SoftSERCANS sind korrekt eingestellt und
abgespeichert.
Die Quelldateien sind im jeweiligen Unterverzeichnis zu finden.
10.1 Microsoft Beispiele
RTX Umgebung
CyclicData.rtss
Mit CyclicData wird auf einfache Weise veranschaulicht wie
• eine Synchronisierung auf die zyklischen Daten
• eine Benutzung der Lifecounterfunktion
• eine Initialisierung der zyklischen Soll- und Istwertkanäle
• eine Vorgabe von Sollwerten
zu realisieren ist.
CyclicData bewegt eine rotatorisch gewichtete Achse um 360 Grad. Die
Parameter Y-0-0004, Y-0-0005 und Y-0-0006 können individuell
eingestellt werden um den Einfluß festzustellen. Es ist zu Beachten daß
Y-0-0006 nicht im Bereich von Y-0-0012 plus Y-0-0008 liegt, um Zugriffskonflikte zu vermeiden (siehe Kap. 5.2; "Zyklischer Datenaustausch").
Windows NT Umgebung
ChangePhase.exe
Mit ChangePhase.exe wird in ANSIC erklärt wie
•
eine Betriebsphase von SERCOS interface verändert werden kann
•
die Istphase ausgelesen werden kann
•
im Fehlerfall die Diagnose ausgelesen werden kann
Command.exe
Mit Command.exe wird der Kommandokanal von SoftSERCANS erklärt.
Dieses ANSIC-Beispiel verdeutlicht
DOK-SERCAN-SOFT*01VRS*-FK01-DE-P
•
die Funktion eines Kommandos unter SERCOS interface
•
wie die Einzelschritte eines Kommandos nutzbar sind
•
wie ein Einzelkommando gleichzeitig bei allen Antrieben ausführbar
ist
10-2 Beispielprogramme
DLL für Zugriffe auf SoftSERCANS
Diagnose.exe
Mit Diagnose.exe wird auf einfache Weise veranschaulicht wie
•
das Diagnosesystem von SoftSERCANS funktioniert
•
die Diagnosestruktur auszuwerten ist
•
der Echtzeitkern von SoftSERCANS gestartet und beendet wird
MicrosoftCpp.exe
Dieses Beispiel stellt eine Verbindung zu SoftSERCANS auf Basis von
C++-Klassen her und liest auf Anforderung den Diagnosekanal aus.
10.2 Borland Beispiele
RTX Umgebung
Für die RTX-Umgebung sind leider keine Applikationen unter Borland
compilierbar.
Windows NT Umgebung
BorlandC.exe
Das Beispiel entspricht
ChangePhase.exe.
im
Wesentlichen
dem
Microsoft-Beispiel
BorlandCpp.exe
Dieses Beispiel stellt eine Verbindung zu SoftSERCANS auf Basis von
C++-Klassen her und liest auf Anforderung den Diagnosekanal aus.
DOK-SERCAN-SOFT*01VRS*-FK01-DE-P
DLL für Zugriffe auf SoftSERCANS
11
Aufgetretene Probleme 11-1
Aufgetretene Probleme
11.1 Probleme beim Start von SoftSERCANS
Falls RTX nicht auf dem Rechner installiert wurde tritt beim Start des
Tools folgende Fehlermeldung auf:
Abb121.bmp
Abb. 11-1: :RTX ist nicht installiert
Falls die PC-Einsteckkarte fehlt, tritt in der Applikation folgende
Diagnosemeldung auf:
Abb122.bmp
Abb. 11-2: Fehler in der Anwendung
DOK-SERCAN-SOFT*01VRS*-FK01-DE-P
11-2 Aufgetretene Probleme
DLL für Zugriffe auf SoftSERCANS
11.2 Probleme mit dem Echtzeitkern RTX
•
die Checkbox "alternativen Debugger verwenden" muß aktiviert
werden:
RTX_Settings.jpg
Abb. 11-3: Einstellungen für RTX
Auswirkung: Der Debugger von Numega stürzt undefiniert ab. Dieser
Fehler ist ohne diese Erkenntnis schwer lokalisierbar (leidliche
Erfahrungen während der Entwicklung).
Hinweis: Im Zuge der Entwicklung mit VenturCom RTX V4.2 wurde mit
älteren PC-Motherboards (hier speziell ein AddIn-Board für
den ISA-Bus) Probleme bei der Ausführung des Interrupts
festgestellt. Bei Start von größeren Applikation wie Visual C++
traten IRQ-Reaktionsverzögerungen im Bereich von ca. 500
us auf, was zum Fehler im LWL-Protokoll von SoftSERCANS
führte. Es wird dringend empfohlen, Motherboards der
neuesten Generation einzusetzen. Im Zweifelsfall sollten vor
einer Kaufentscheidung die entsprechenden Boards
hinsichtlich RTX-Tauglichkeit ausgetestet werden.
DOK-SERCAN-SOFT*01VRS*-FK01-DE-P
DLL für Zugriffe auf SoftSERCANS
Aufgetretene Probleme 11-3
Probleme beim Deinstallieren von VenturCom RTX
Nach der Deinstallation von VenturCom und einem Rechnerneustart
findet das System die Datei "hal.dll" im Systemverzeichnis
"winnt\system32" nicht mehr. Deshalb muß die von VenturCom beim
Installieren in "hal-org.dll" umbenannte Datei wieder in "hal.dll"
umbenannt werden bevor der Rechner heruntergefahren wird, damit
das System wieder startet.
Um dies nachträglich zu erreichen müssen entweder die Bootdisketten
von Windows NT oder eine MSDOS-Startdiskette verwendet werden.
Leider fehlt diese Restaurierung beim Deinstallieren des Echtzeitkerns.
Probleme mit ServicePacks von Microsoft
Hinweis: Bevor irgendwelche Servicepacks von Microsoft auf Rechnern
mit RTX installiert werden muß die DLL "hal.dll" im Verzeichnis
"winnt\system32" kopiert und unter einem anderen Namen
gespeichert werden. Nach der Installation des Servicepacks
muß dann die neue Datei "hal.dll" in "hal-org.dll" umbenannt
und die alte "hal.dll" von VenturCom wieder dorthin kopiert
werden.
Wird dies nicht berücksichtigt, so wird die von VenturCom verwendete
Datei "hal.dll" mit der beim Servicepack mitgelieferten überschrieben und
das System zerstört.
Dies äußert sich dadurch, daß beim Laden des Echtzeitkerns die falsche
"hal.dll" verwendet wird und so bereits vor dem Laden von Windows NT
ein schwerwiegender Fehler auftritt.
Abhilfe:
Die Datei "hal.dll" von VenturCom muß wieder in das obige Verzeichnis
kopiert werden.
DOK-SERCAN-SOFT*01VRS*-FK01-DE-P
11-4 Aufgetretene Probleme
DLL für Zugriffe auf SoftSERCANS
Schreibschutz in der Imagedatei des RTSS-Prozesses
Während der Entwicklung mit RTX trat nach längerer Zeit folgendes
Problem auf:
Abb126.bmp
Abb. 11-4: RTX-Prozeß kann nicht gestartet werden
Diese aussagekräftige Fehlermeldung konnte selbst von der RTX-Hotline
nicht lokalisiert werden und hat einige Zeit bis zur Lokalisierung (nicht
Beseitigung!) benötigt.
RTX legt von allen Prozessen Kopien der rtss-Dateien im
Systemverzeichnis unter "RTSS\00Prozeßnummer" an und beläßt diese
dort, was bei Debugversionen von Entwicklungsanwendungen zu
unnötiger
"Vermüllung" des Systemverzeichnisses führt.
Eintrag von RTX in die
Registrierung:
[HKEY_LOCAL_MACHINE\SYSTEM\ControlSet001\Services\Rtss_00
1]
@=""
"Type"=dword:00000001
"Start"=dword:00000003
"Group"="Base"
"ErrorControl"=dword:00000000
"DisplayName"="RTSS process slot 1"
"DependOnService"=hex(7):52,74,78,5f,72,74,73,73,00,52,74,78,53,65,7
2,76,65,72,\
00,00
"ImagePath"=hex(2):5c,53,79,73,74,65,6d,52,6f,6f,74,5c,52,74,73,73,5c,
30,30,31,5c,53,6f,66,74,53,65,72,63,61,6e,73,2e,72,74,73,73,00
Ø \SystemRoot\Rtss\001\SoftSERCANS.rtss
"CmdLine"="SoftSERCANS.rtss 10 5 D0000"
"DependOnGroup"=hex(7):00
[HKEY_LOCAL_MACHINE\SYSTEM\ControlSet001\Services\Rtss_001\E
num]
"0"="Root\\LEGACY_RTSS_001\\0000"
"Count"=dword:00000001
"NextInstance"=dword:00000001
DOK-SERCAN-SOFT*01VRS*-FK01-DE-P
DLL für Zugriffe auf SoftSERCANS
Aufgetretene Probleme 11-5
Verzeichnis im System:
ABB115.BMP
Abb. 11-5: ImagePath von RTX
Aufgrund noch nicht nachvollziehbarer Vorgänge wird nun in diesem
ImagePath bei "SoftSERCANS.rtss" das Schreibschutzflag gesetzt, was
dann in obiger Fehlermeldung endet. Ab diesem Zeitpunkt kann dann
dieser Prozeß nicht mehr gestartet werden. Nur ein Umbenennen führte
zum Erfolg.
Hinweis: Es wird daher empfohlen, dieses Verzeichnis ab und zu
manuell zu bereinigen, d.h. das komplette Unterverzeichnis
"Rtss" zu löschen.
Andere Startprobleme von RTSS-Prozessen
Sporadisch (und somit äußert unvorhersehbar) ergaben sich beim Start
eines RTSS-Prozesses folgende aussagekräftigen Fehlermeldungen:
Beim Start durch Mausdoppelklick:
RTX_Ladefehler.jpg
Abb. 11-6: RTX-Ladefehler 0xC0000034
DOK-SERCAN-SOFT*01VRS*-FK01-DE-P
11-6 Aufgetretene Probleme
DLL für Zugriffe auf SoftSERCANS
Bei der Fehleranalsye in der Windows Systemdatei "Winerror.h" ergab
sich folgende Fehlerbeschreibung:
//
// MessageId: ERROR_DUP_NAME
//
// MessageText:
//
// A duplicate name exists on the network.
//
#define ERROR_DUP_NAME
52L
Ø 0xC0000034 (C steht für Fehler, siehe auch "winerror.h")
und nach dem Quittieren dieser Meldung:
RTX_Ladefehler2.jpg
Abb. 11-7: Weitere Fehlermeldung von RTX
Abhilfe:
•
im einfachen Fall wurde der Kernprozess von RTX (Slot10) terminiert.
Hier muß lediglich ein Rechnerneustart durchgeführt werden
•
eine weitere Ursache ist der Start einer eigenen Echtzeitanwendung
(*.rtss) ohne zuvor SoftSERCANS.rtss gestartet zu haben
•
fallen diese beiden Ursachen weg so hilft es leider nur RTX komplett
zu deinstallieren und anschließend neu zu installieren, da
möglicherweise zugehörige Dateien beschädigt wurden!
Auslösen eines Reset beim Start eines RTSS-Prozesses
Wird
beim
Start
eines
RTSS-Programms
(in
der
Regel
"SoftSERCANS.rtss") ein Reset des PC ausgelöst, muß SoftSERCANS
deinstalliert und anschließend erneut installiert werden, da die Datei
"SoftSERCANS.rtss" möglicherweise beschädigt wurde.
Hinweis: Eine weitere Ursache für diesen Effekt ist die falsche
Strukturausrichtung in den Projekteinstellungen von Visual
Studio, hier muß immer 1 Byte und multithreaded eingestellt
sein!
DOK-SERCAN-SOFT*01VRS*-FK01-DE-P
DLL für Zugriffe auf SoftSERCANS
Aufgetretene Probleme 11-7
Auslösen einer RTX "Green Screen" Exception
Eine solche Exception wird in den meisten Fällen dann ausgelöst, wenn
bereits durch andere Einsteckkarten verwendete Interrupts oder
Speicherbereiche von der eigenen Routine erneut installiert werden.
Da
es
in
der
Echtzeitumgebung
diesbezüglich
keinerlei
Schutzmechanismen gibt, ist der Programmierer selbst für die
Resourcenverwaltung verantwortlich.
Eine Übersicht über die vom System belegten Resourcen gibt das
Programm
"%SystemRoot%\system32\winmsd.exe"
im
Systemverzeichnis:
IRQResourcen.jpg
Abb. 11-8: belegte Interrupts
Auf diese Interrupts und andere Resourcen darf auf keinen Fall
zugegriffen werden.
Hinweis: Der Schutzmechanismus der Treiberarchitektur bezüglich
doppelt belegter Resourcen funktioniert in RTX-Umgebung
nicht!
DOK-SERCAN-SOFT*01VRS*-FK01-DE-P
11-8 Aufgetretene Probleme
DLL für Zugriffe auf SoftSERCANS
11.3 Probleme mit dem Debugger Softice von Numega
•
der Startupmode muß auf Systemboot stehen:
Softice_Settings.jpg
Abb. 11-9: Bootmode für Softice-Debugger
Auswirkung: Bei anderen Bootmodis lassen sich im Debugger keine
Breakpoints setzen.
DOK-SERCAN-SOFT*01VRS*-FK01-DE-P
Aufgetretene Probleme 11-9
DLL für Zugriffe auf SoftSERCANS
11.4 Probleme mit Visual Studio und Visual C++
• Während der Entwicklung traten unter Visual Studio massive
Probleme
in
den
Projekteinstellungen
auf.
Wurden
die
Projekteinstellungen verändert und kam es anschließend zu
schwerwiegenden Laufzeitfehlern, welche einen Rechnerneustart
verlangten, so waren die gemachten Projekteinstellungen hinfällig.
Deshalb mußte in diesen Fällen das Projekt geschlossen und neu
geöffnet werden, um die Änderungen wirksam im Projekt
abzuspeichern.
• in Verbindung mit RTX4.2 ist das Schlüsselwort virtual in C++ nicht
erlaubt, dies führt zu Unterscheidungsproblemen beim DLLFunktionsaufruf einer Echtzeitanwendung (z.B. Aufruf von NC.rtss).
• wichtig: Strukturzuordnung muß byteorientiert sein
• treten
während
der
Programmentwicklung
nichterklärbare
Ausnahmefehler auf(unhandled exception 0x00000005), so wird als
erster Schritt das komplette Neukompilieren der Anwendung
empfohlen. Sollte dies nicht zum Erfolg führen, wurden
möglicherweise Bibliotheks- oder RTSS-Datei beschädigt. In diesem
Fall sollte SoftSERCANSTest neu installiert werden.
Nichterklärbare Ausnahmefehler:
RTXException.jpg
Abb. 11-10: Ausnahmefehler bei unterschiedlichen Versionen von Anwendung,
DLL und RTSS-Kern
• nach fehlerfreiem Compilieren und Test des erstellten
Programms sollte unbedingt eine Untersuchung hinsichtlich des
vom Programm belegten Speichers mittels des Taskmanagers
von Windows NT gemacht werden. Dadurch werden
Langzeitfehler aufgrund nichtfreigegebener Speicherresourcen
vermieden. Diese Fehler treten insbesondere dann auf, wenn der
von
der
Applikation
verwendete
Datenspeicher
der
Listenparameter nicht wieder deallokiert wird.
Wichtig:
DOK-SERCAN-SOFT*01VRS*-FK01-DE-P
Der belegte Speicher darf sich auch nach längerer Programmlaufzeit nicht wesentlich vergrößern.
11-10 Aufgetretene Probleme
DLL für Zugriffe auf SoftSERCANS
Die Speichernutzung läßt sich mit dem Taskmanager leicht überprüfen:
Abb1220.bmp
Abb. 11-11: Überprüfung der Speichernutzung und –veränderung
Hinweis: Diese Werte sollten über längere Zeit beobachtet werden.
11.5 Probleme mit Borland C++ V5.02
• gleiche wie im vorherigen Kapitel
• Fehlende
Projekts:
Projekteinstellung:
Arbeitsverzeichnis
des
laufenden
Abb1222.bmp
Abb. 11-12: RTSSrun findet Datei nicht
Dieser Fehler tritt auf, weil die DLL über die Win32-Funktion
GetCurrentDirectory versucht, den Echtzeitkern "SoftSERCANS.rtss" zu
starten. In den Borland-Projekteinstellung kann jedoch kein
Arbeitsverzeichnis für die ausführbare Exe-Datei angegeben werden.
DOK-SERCAN-SOFT*01VRS*-FK01-DE-P
Aufgetretene Probleme 11-11
DLL für Zugriffe auf SoftSERCANS
Abhilfe:
SoftSERCANS.rtss muß in das aktuelle Projektverzeichnis
kopiert werden.
Weiterhin ergaben sich schwerwiegende Probleme im Umgang mit DLLs,
die mit Visual C++ erstellt wurden. Diese DLLs sind leider von Borland
aus nur dann einbindbar, wenn der zugehörige Sourcecode zur
Verfügung steht. Hierfür mußten die im nächsten Abschnitt aufgeführten
Anpassungen in der DLL durchgeführt werden. Aus diesem Grund
können Echtzeitanwendungen in Borland C++ nicht erstellt werden,
da der Quellcode der einzubindenden DLLs von VenturCom nicht
zur Verfügung steht und diese Module (obj-Dateien) in RTXAnwendungen eingebunden werden müssen. Weiterhin war die
Angabe einer ebenfalls notwendigen Einsprungadresse der RTSSAnwendung nicht möglich.
Beim Versuch die VenturCom DLLs einzubinden zeigten sich folgende
(sinnige) Fehlermeldungen des Borland-Compilers ("we don"t like
Microsoft"), leider lassen sich gekaufte Objektdateien ohne Quellcode
nicht neu erzeugen:
BorlandOMF.jpg
Abb. 11-13: DLL-Hilfe bei Borland C++ V5.0
zugehöriger Compilerfehler:
BorlandOMFErr.jpg
Abb. 11-14: Compilerfehler von Borland C++ V5.0
Was dieser ungültige OMF-Rekord darstellt, wurde leider nicht erläutert.
Um dieses Problem bei der hier dargestellten DLL zu umgehen, waren
nachfolgende Schritte erforderlich:
DOK-SERCAN-SOFT*01VRS*-FK01-DE-P
11-12 Aufgetretene Probleme
DLL für Zugriffe auf SoftSERCANS
Einbindung einer Microsoft-DLL in ein Borland Projekt
Zuerst muß jede Funktion mit dem Aufruf CALLBACK versehen werden,
diese Anpassung wird in der Datei "SoftSERCANSANSIC.h" und
"SoftSERCANS.h" vorgenommen:
Sourcecode
"SoftSERCANSANSIC.h":
#ifdef __cplusplus
extern "C" {
#endif
ULONG CALLBACK SoftSERCANSInitObject(LPVOID* *p_CCpointer);
Auf diese Weise wird sichergestellt, daß der Aufruf aus Borland C/C++Code richtig funktioniert. CALLBACK gibt an, in welcher Reihenfolge der
Stack der CPU wieder freigegeben wird. Diese Reihenfolge ist in
Microsoft-Compilern anders festgelegt als in Borland-Compilern.
Weiterhin muß für Borland eine eigene Moduldefinitionsdatei mitgeführt
werden, die wie folgt auszusehen hat:
Auszug aus "Borland.def":
;----------------------------------------------------------------------------; Project BorlandCpp
; Indramat GmbH
; Copyright © 1999. Alle Rechte vorbehalten.
;
; SUBSYSTEM:
BorlandCpp Module Definition File
; FILE:
borlandcpp.def
; AUTHOR:
Werner Rau
;
;----------------------------------------------------------------------------; WR:
; hier folgendes für DLL-Anpassung einfügen:
; siehe auch technical note 3242
;
;
so geht es:
;
Funktionsname
;
DLLName.Funktionsname
=
IMPORTS
SoftSERCANSInitObject
SoftSERCANS.SoftSERCANSInitObject
=
C_Start_SoftSERCANS
=
SoftSERCANS.C_Start_SoftSERCANS
usw.
Jetzt müssen beide Dateien zum Borland-Projekt hinzugefügt werden,
anschließend kann mit der Programmentwicklung begonnen werden.
DOK-SERCAN-SOFT*01VRS*-FK01-DE-P
DLL für Zugriffe auf SoftSERCANS
Aufgetretene Probleme 11-13
11.6 Generelle Probleme beim Erstellen eigener Applikationen
Beim Erstellen eigener Programme ist folgende Besonderheit zu
beachten:
Das erstellte Programm erhält von RTX Echtzeitpriorität
VORSICHT
Dies läßt sich mit dem Taskmanager leicht feststellen:
Abb1228.bmp
Abb. 11-15: Echtzeitpriorität erstellter Applikationen
Hinweis: Die Anwendung bekommt eine wesentlich höhere Priorität und
somit eine wesentlich längere Zeitscheibe als andere
Applikationen zugewiesen.
DOK-SERCAN-SOFT*01VRS*-FK01-DE-P
11-14 Aufgetretene Probleme
DLL für Zugriffe auf SoftSERCANS
Deshalb sind zeitintensive Programmteile unbedingt zu vermeiden, da
diese das Betriebssystem lahmlegen. Dies kann man leicht austesten,
indem man folgendes Auslastprogramm startet:
int main()
{
#include <windows.h>
while(TRUE)
;
return 0;
}
Startet man nun das Programm und verschiebt das Fenster auf dem
Bildschirm, stellt man fest, wie langsam der Bildschirm nach dem
Verschieben wieder hergestellt wird:
Es dauert eine sichtbare Zeit, bis das Verschieben des Fensters neu
dargestellt wird. Dieses Programm hat jedoch nur normale Priorität!
Macht man das gleiche mit der Echtzeitapplikation ist keine Eingabe mit
Maus oder Tastatur möglich, es hilft dann nur noch ein Neustart.
Weiterhin gilt folgendes:
Hinweis: Die gesamte Anwendung sollte von Zeit zu Zeit komplett
rekompiliert werden. Das gleiche gilt auch für alle beteiligten
DLL`s und die Echtzeitanwendungen
DOK-SERCAN-SOFT*01VRS*-FK01-DE-P
DLL für Zugriffe auf SoftSERCANS
12
Index
A
Achsart 8-18
Adressen betreibbare Antriebe 8-14
Adressen deaktivierte Antriebe 8-13
Adressen erkannte Antriebe 8-14
Adressen projektierte Antriebe 8-3
Antriebsdeaktivierung 8-20
Antriebstyp 8-21
E
Einschaltverzögerungszeit 8-3
F
Fehlerzähler AT 8-22
Fehlerzähler SYNC 8-8
I
Installation von Disketten 3-1
Istwert Header 8-20
Istwertkonfigurationsliste 8-19
K
Kopierzeitpunkt SoftSERCANS 8-7
L
Lifecounter Differenz 8-6
Liste aller A-Parameter 8-15
Liste aller Y-Parameter 8-15
Liste der ungültigen A-/Y-Parameter 8-11
LWL-Länge 8-5
N
NC-Zykluszeit 8-4
P
Parameter-Kennung 7-20, 7-46
Prozess ID 8-7
S
SERCOS interface - Konfiguration 8-9
SERCOS-Zykluszeit 8-4
SoftSERCANS - Aktueller Modus 8-12
SoftSERCANS - Firmware-Version 8-9
SoftSERCANS - Hardware-Version 8-9
SoftSERCANS - Hochlauf Zielmodus 8-16
SoftSERCANS - Phasenvorgabe 8-11
SoftSERCANS - Sprachumschaltung 8-13
SoftSERCANS Basisparameter laden 8-16
SoftSERCANS beenden 8-7
SoftSERCANS Fehler löschen 8-10
SoftSERCANS Systemdiagnosetext 8-17
SoftSERCANS Systemfehlernummer 8-17
Softwarelizenzvertrag 3-3
Sollwert Header 8-19
Sollwertkonfigurationsliste 8-18
DOK-SERCAN-SOFT*01VRS*-FK01-DE-P
Index 12-1
12-2 Index
DLL für Zugriffe auf SoftSERCANS
Standardinstallation 3-7
Synchron-Master 8-3
Systemparameter speichern 8-11
T
Telegrammart 8-20
V
Verschiebung Zugriffszeitpunkt NC 8-8
Z
Zugriffszeit SoftSERCANS 8-6
Zugriffszeitpunkt NC 8-5
DOK-SERCAN-SOFT*01VRS*-FK01-DE-P
Printed in Germany
2 8 7 7 0 2

Documentos relacionados