Home

Programmierhandbuch PAD-Interface

image

Contents

1. end UINT8 count if PDnet_OnLineNodeCount amp count CPDNET_OK printf Zur Zeit sind Sd Teilnehmer Online n count PDnet_StationOnLine PDnet_ExtStationOnLine PDnet_GroupAdr 7 API Referenz 7 28PDnet_OnLineNodeCount AUFGABE PASCAL DEFINITION C DEFINITION AUSGABEWERTE R CKGABEWERT BESCHREIBUNG PASCAL BEISPIEL C BEISPIEL SIEHE AUCH 147 1992 98 APEX Automationstechnik GmbH Braunschweig Stand 02 11 1998 7 API Referenz 7 29PDnet_OnlineStatus AUFGABE PASCAL DEFINITION C DEFINITION EINGABEWERTE AUSGABEWERTE R CKGABEWERT BESCHREIBUNG 148 Programmierhandbuch PAD Interface 7 29 PDnet_OnLineStatus Ermittelt ob ein PAD im PDnet online ist function PDnet_OnLineStatus PDnetId UINT8 var Online UINT8 INT16 INT16 PDnet_OnLineStatus UINT8S PDnetlId UINT8 Online E e PDnetld In PDnetld wird die PDnet Stationsadresse des abzufragenden PADs angegeben e Online ber Online wird ein Wert ungleich 0 zur ckgegeben wenn der Teilnehmer online ist Andernfalls ist Online 0 e Bei erfolgreicher Ausf hrung wird GPDNET_OK zur ckgege ben Andernfalls wird ein CPDNET_ Fehlercode geliefert Die Funktion pr ft anhand der PDnet Lifeliste ob die Station on line ist Stand 02 11 1998 1992 98 APEX Automationstechnik GmbH Braunschweig Programmierhandbuch PAD Interface 7 API Referenz 7
2. PAD_RxBufferEmpty PAD_SendTelegram 7 14 PAD Result Gibt den Status der letzten Operation zur ck und l scht den Sta tus function PAD_Result INT16 INT16 PAD_Result void e Ist in der Bibliothek kein Fehler aufgetreten wird CPDNET_OK zur ckgegeben Andernfalls wird ein CPDNET_ Fehlercode geliefert Wenn bei einer Funktion Fehler auftritt so wird der Fehlercode in einer internen Variable gespeichert und von der Funktion zur ck gegeben Mit der Funktion PAD_Result kann der letzte Fehlercode gelesen und auf 0 zur ckgesetzt werden Stand 02 11 1998 1992 98 APEX Automationstechnik GmbH Braunschweig Programmierhandbuch PAD Interface 7 API Referenz 7 14PAD_Result UINT8 Result PAD_Result C BEISPIEL printf Status der letzten PAD Operation SOT Result switch Result case CPDN _OK E printf CPDNET_OK break case CPDNET_NO_INIT printf CPDNET_NO_INIT break case CPDNET_NO_CONTROLLER_DETECTED printf CPDNET_NO_CONTROL break Z oO S ECTED case CPDNET_BAD_PARAM printf CPDNET_BAD_PARAM break print f n 129 1992 98 APEX Automationstechnik GmbH Braunschweig Stand 02 11 1998 7 API Referenz 7 15PAD_RxBufferEmpty AUFGABE PASCAL DEFINITION C DEFINITION R CKGABEWERT BESCHREIBUNG HINW
3. Automationstechnik GmbH Braunschweig Stand 02 11 1998 Programmierhandbuch PAD Interface 7 API Referenz 7 23PDnet_ExtOnlLineStatus PASCAL BEISPIEL procedure TeilnehmerStatus aPDnetId Byte function Status s UINT8 string begin ifs gt 0 then status 0Ok else status Offline end var aBus bBus UINT8 begin write Teilnehmer aPDnetId if PDnet_ExtOnLineStatus aPDnetId aBus bBus CPDNET_OK then begin writeln Online writeln A BUS Status aBus writeln B Bus Status bBus end else writeln Offline end C BEISPIEL char Status UINT16 s if s return Ok else return Offline void TeilnehmerStatus UINT8 aPDnetId UINT8 aBus bBus printf Teilnehmer d aPDnetlId if PDnet_ExtOnLineStatus PDnetId amp aBus amp bBus CPDNET_OK printf Online n printf A BUS s n Status aBus printf B Bus s n Status bBus else printf Offline n SIEHE AUCH PDnet OnlineStatus 140 Stand 02 11 1998 1992 98 APEX Automationstechnik GmbH Braunschweig Programmierhandbuch PAD Interface 7 24 PDnet_FlagByte Liefert f r einen PAD im PDnet das Flagbyte der Lifeliste function PDnet_FlagByte PDnetlId UINT8 var FlagByte UINT8 INT16 INT16 PDnet_FlagByte UINT PDnetlId UINT8 FlagByte e PDnetld In PDnetld wird die PDnet Stationsadresse des abzufragenden PADs
4. e Suchen Sie im Editor E EXE in der Datei CONFIG SYS die Zeile in welcher der Einheitentreiber APEX PAD SYS auftaucht Z B DEVICE C 0S2 BOOT APEX PAD SYS 290 D0000 e L schen Sie diese Zeile aus der Datei CONFIG SYS e Speichern Sie die Datei CONFIG SYS mit dem Men punkt Datei Sichern e Beenden Sie den Editor durch Dr cken der Tasten Alt F4 e Schlie en Sie das OS 2 Fenster mit dem Befehl EXIT e F hren Sie einen Systemabschlu durch 3 7 IBM PC QNX 3 21 Protected Mode Die PAD Interface Bibliothek f r IBM PC QNX 3 21 Protected Mode greift direkt auf den PDnet Controller zu und ben tigt des halb keine zus tzlichen Hardwaretreiber 3 8 IBM PC QNX 4 22 Protected Mode Die PAD Interface Bibliothek f r IBM PC QNX 4 22 Protected Mode greift direkt auf den PDnet Controller zu und ben tigt des halb keine zus tzlichen Hardwaretreiber 34 Stand 02 11 1998 1992 98 APEX Automationstechnik GmbH Braunschweig Programmierhandbuch PAD Interface 3 Installation Treiber 3 9 DEC AlphaStation OpenVMS AXP 6 2 7 0 3 9 DEC AlphaStation OpenVMS AXP 6 2 7 0 Da beim Betriebssystem OpenVMS nicht direkt auf die Hardware zugegriffen werden kann erfolgt der Zugriff auf den PDnet Controller PAD ber einen Ger tetreiber Dazu mu nach dem Einbau des PDnet Controllers der Ger tetreiber PDNET JDDRIVER EXE auf die Festplatte kopiert werden und die verwendeten Ressourcen l O P
5. 166 Programmierhandbuch PAD Interface Programme auf den gleichen PAD Speicher zugreifen da sie sich sonst gegenseitig die Ge ndertflags l schen 8 4 4 Microsoft Visual C 4 0 Wenn Sie alle Dateien aus den Verzeichnissen SRC und W95MSVCA4 in ein Verzeichnis kopieren und aus diesem Ver zeichnis Visual C 4 0 aufrufen erzeugt die beiliegende Projekt datei PADTEST MDP das Testprogramm PADTEST EXE Eventuell m ssen Sie im Visual C 4 0 im Register FileView die Projektdateien l schen und im Men Insert Files into Project die neuen Projektdateien eintragen Das Beispielprogramm PADTEST C wurde f r die WIN32 Konsole erzeugt damit es im Textmode in der Eingabeaufforderung von Windows 95 l uft Selbstverst ndlich k nnen Sie die PAD Interface Bibliothek auch in eine echte Windowsanwendung einbinden Starten Sie das Programm PADTEST EXE ber den Explorer oder die Eingabeaufforderung von Windows 95 Das Programm ben tigt keine Parameter da die vom PAD verwendeten Ressour cen aus der Registrierdatenbank von Windows 95 gelesen werden Die Bibliothek greift ber die dynamische Linkbibliothek PADITF32 DLL auf den Ger tetreiber PADITF32 VXD zu Die PADITF32 DLL ist zwar reentrantf hig wenn die DLL jedoch von mehreren Programmen gleichzeitig benutzt wird d rfen keine zwei Programme auf den gleichen PAD Speicher zugreifen da sie sich sonst gegenseitig die Ge ndertflags l schen 8 4 5 Watcom C 10 0 Wenn
6. beschreibt de API Funktionen der PAD Interface Bibliothek Teil 8 Beispielprogramm erkl rt die Compilierung des Bei spielprogramms Teil 9 Programmierung besch ftigt sich mit der Programmie rung von Treibern f r das PDnet Stand 02 11 1998 1992 98 APEX Automationstechnik GmbH Braunschweig Programmierhandbuch PAD Interface 2 Installation Hardware Dieses Kapitel beschreibt welche PDnet Controller auf der jeweili gen Plattform von der PAD Interface Bibliothek unterst tzt werden 2 1 IBM PC DOS Real Mode Von der PAD Interface Bibliothek f r IBM PC DOS Real Mode werden folgende PDnet Controller unterst tzt PAD PC Lr LWL redundant PAD PC PL Plastik LWL PAD PC PLr Plastik LWL redundant PAD PG K KOAX Den Einbau entnehmen Sie bitte dem Handbuch des PDnet Controllers Die Kommunikation zwischen PAD und PC wird ber ein Shared MemoryInterface abgewickelt Da der PC im Real Mode jedoch nur 1 MByte adressieren kann besteht keine M glichkeit den gesam ten Speicher des PAD linear im PC Adre raum einzublenden Aus diesem Grund greift der PC ber ein Speicherfenster auf den PAD zu Dazu wird der Adre raum des PAD in mehrere gleich gro e fortlaufend angeordnete Seiten unterteilt welche ber ein Adre register O Port ausgew hlt werden Die Z hlung beginnt bei Seite 0 Der PAD PC ist in der Regel mit 896 KB RAM und 128 KB Flash Memory ausgestattet Er bietet gen gend
7. 3 Installation Treiber 3 12Motorola 8420 System V m88k ACHTUNG 48 Programmierhandbuch PAD Interface 3 12 Motorola 8420 System V m88k Der PAD VME ist mit 896 KB RAM und 128 KB FlashMemory ge samt 1 MByte ausgestattet welches auf dem VME Bus ber ein SharedMemoryInterface eingeblendet wird Der Speicher des PAD wird linear im VME Bus Adre raum eingeblendet Damit die PAD Interface Bibliothek f r Motorola 8420 System V m88 amp k das SharedMemoryInterface mit der Funktion shmget anlegen kann mu das mit der PAD Interface Bibliothek erzeugte Programm im Superuser Mode ausgef hrt werden Soll das Programm nicht im Superuser Mode ausgef hrt werden mu vor dem Programmstart ein anderes Superuser Programm das SharedMemory angelegt haben und die daraus erhaltende SharedMemory Id shmid als ASCII Wert in der Datei pdnetshm id im gleichen Verzeichnis wie Ihr Anwenderprogramm ablegen Wenn diese Datei existiert liest die PAD Interface Bibliothek dar aus die SharedMemory Id shmid und fordert damit den Zugriff auf das SharedMemory mit der Funktion shmat shmid an Der Befehl zum Anlegen des SharedMemory lautet VME PAD ab Adresse 32 MByte BlockNr 128 int vme_page_address 128 256 1024 int shmid 1 shmid shmget 0 0x000400001 0666 IPC_CI IPC_CREAT IPC_PHYS IPC_NOCLEAR vme_page_address if shmid 1 Fehler printf Fehler bei shmget n Stand 0
8. 5 Typen Referenz 5 6 tPadFuncParams AUFGABE PASCAL DEFINITION C DEFINITION FELDER BESCHREIBUNG 84 Programmierhandbuch PAD Interface 5 6 tPadFuncParams Liefert Parameter der Funktion die einen Fehler erzeugt hat type tPadFuncParams record FunchNr UINT16 FuncReturn INT16 FuncParam array 0 6 of UINT32 end typedef struct UINT16 FuncNr INT16 FuncReturn UINT32 FuncParam 7 tPadFuncParanms e FuncNr Das Feld FuncNr enth lt eine CFUNCNR _ Konstante der Funktion die den letzten Fehler verursacht hat e FuncReturn Das Feld FuncReturn enth lt den R ckgabewert der Funktion die den letzten Fehler verursacht hat e FuncParam Das Array FuncParam enth lt die Parameter der Funktion die den letzten Fehler verursacht hat Wenn eine Funktion der PAD Interface Bibliothek einen Fehler erkennt liefert sie einen GPDNET_ oder CVDM_ Fehler code zur ck Gleichzeitig wird der zuletzt aufgetretene Fehlercode in einer globalen Variablen abgelegt die mit PAD_Result gelesen werden kann Da einige Bibliotheksfunktionen auch andere Biblio theksfunktionen aufrufen kann nicht genau ermittelt werden wel che Bibliotheksfunktion den Fehlercode aufgrund welcher Para meter ausgel st hat Deshalb wurden zwei globale Strukturen in die Bibliothek aufgenommen welche bei einem Fehlercode zu s tzliche Informationen ber die aktuelle Funktion und evt ber die bearbeitete VDM Datenzelle speiche
9. 69 4 9 DEC AlphaStation OpenVMS AXP GI 71 4 9 1 BIS 72 4 10 SUN IPCG IPX SUN OS A 121 73 4 10 1 EIERE 73 4 11 SUN Ultra 5 Solaris 26 74 4 11 1 SUNPFO G A 23ER FAIRE NE 74 4 12 Motorola 8420 System V m8 amp k uuuuesennnnnnennnnnnennnnnn 75 4 12 1 E UE 75 5 Typen Referenz uuunnssnssnnnnnennnnnnnnnnnnnnnennnnnnnnnnnnnnneennnn 77 2 Stand 02 11 1998 1992 98 APEX Automationstechnik GmbH Braunschweig Programmierhandbuch PAD Interface 5 1 5 2 5 3 5 4 5 5 5 6 5 7 5 8 5 9 5 10 5 11 6 6 1 6 2 6 3 6 4 6 5 6 6 6 7 6 8 7 1 7 2 7 3 7 4 7 5 7 6 7 7 7 7 1 7 7 2 7 7 3 7 7 4 7 75 7 7 6 7 7 7 7 7 8 7 79 7 7 10 7 7 11 7 8 7 9 7 10 7 11 7 11 1 7 11 2 7 11 3 INTS NTS EE 78 DA VAN EE 79 textl felistIlngssHH Ass leese eege een Seen Seengen 80 DAD Versionlrto 82 Se CC 83 tPadFuncParams easeannnnnesnssennnnnnrnnsennnrrnnrsssennrrrrenno 84 TSt tionl DSi eas 85 l el graftt eier igtigieigletgie a tn a 85 tPadTime eoooonnnnneunnssnnnnnnnsnsssnnnnnrrnnsennnnrrrrsssennnrrrenno 87 tvdmHeader manner 88 DWdmleaderbarams 90 Konstanten Referenz uu 22220000000000nnnnnnnnnnnnnnnnnnn 91 IER 92 EE 93 ELE enee eege eege 94 GPBNET 272 arena 95 GTR T T ERER eleneegeeneegeeneegeeneegeeneegedeet 97 OTRE uA AAAA aAa T aAa Aa ANAA 100 OVOM NENNEN 102 GAFET E 103 API R ferenzZ 1 e e Ee 105 PAD_CheckRestart annnnnnnnneennnnnnnnnssnnnnnnrernssrn
10. 8 DataType T8 DataSize T16 DataCount T16 AddrPos T8 AddrKind T16 PDnetId UINT32 NextCell tVdmHeader e Flagsi Im Feld Flagsi stehen interne CZF_ Steuerungsbits der VDM Datenzelle Das Bit CZF_TRANSMITCELL legt fest ob es sich um eine Sendezelle oder eine Empfangszelle handelt e DataCellld Das Feld DataCellld enth lt die Kennung der VDM Datenzelle Sie wird nur intern im PDnet zur Adressierung der VDM Datenzellen benutzt e DataType Im Feld DataType steht der CDT_ Datentyp der folgenden Proze werte e DataSize Das Feld DataSize enth lt die Gr e der folgenden Proze werte in Byte e DataCount Das Feld DataCount enth lt die Anzahl der folgenden Proze werte Stand 02 11 1998 1992 98 APEX Automationstechnik GmbH Braunschweig Programmierhandbuch PAD Interface e AddrPos Das Feld AddrPos beinhaltet die PV Nummer der des ersten Proze wertes der Datenzelle Bei den folgenden Proze werten wird die PV Nummer erh ht e AddrKind Das Feld AddrKind legt die Adressierungsart der VDM Datenzelle fest Bei O wird eine direkte Adressierung verwendet Bei 1 wird eine Gruppenadressierung verwendet e PDnetld Das Feld PDnetld enth lt die Stationsadresse bei direkter Adressierung oder Gruppenadresse bei Gruppenadressie rung der Gegenstation der Datenzelle e NextCell Im Feld NextCell steht die PAD Speicheradresse der folgenden VDM Datenzelle Ist sie 0 folgen k
11. 9 4 Telegramme senden und empfangen Zum Senden von Telegrammen dient die Funktion PAD_SendTelegram Der Empfang von Telegrammen erfolgt mit der Funktion PAD_ReceiveTelegram Die Funktionen PAD_TxBufferEmpty und PAD_RxBufferEmpty sind nur zur Kom patibilit t zu lteren Bibliotheksversionen noch enthalten Sie sind eigentlich berfl ssig da die Funktionen PAD_SendTelegram und PAD_ReceiveTelegram ebenfalls melden ob der Telegrammpuffer voll bzw leer ist In einem Multitasking Betriebsystem darf nur ein Task die Funktion PAD_ReceiveTelegram aufrufen da die Funktion nach dem Ausle sen des Telegrammpuffers diesen als leer markiert Wenn mehrere Task die Funktion PAD_ReceiveTelegram aufrufen wird ein emp fangenes Telegramm nur an einen der Tasks bermittelt 9 5 Proze werte senden und empfangen Die Funktionen VDM_ greifen auf die VDM Datenzellen des lokalen PAD zu Die Funktion VDM_Init mu aufgerufen werden bevor auf andere VDM_ Funktion zugegriffen werden kann Nach VDM Ion sollten einmalig alle g ltigen Proze werte eingele sen werden Dazu wird die Funktion PAD_Read_PV mit dem Pa rameter CFB_DATE_VALID aufgerufen Die erste gelieferte PV Nummer sollten Sie sich merken und PAD_Read_PV mit dem Pa rameter CFB_DATE_VALID so lange aufrufen bis die erste PV Nummer wieder erreicht wurde Nach dem Einlesen der g ltigen Proze werte sollte das Anwen derprogramm nur noch ge nderte Proze werte verarbeiten in dem es d
12. gbar 4 11 1 SunPro C 4 2 Die Bibliothek wird in Form von Objektdateien ol geliefert Diese Dateien werden von SunPro C cc in das Programm eingebunden Damit der C Compiler die Dateien einbinden kann m ssen Sie die entsprechenden Dateien von der Diskette in das Verzeichnis Ihres Projektes kopieren Folgende Dateien befinden sich im Root Verzeichnis auf der mit gelieferten Diskette Dateiname Beschreibung Weitergabe readme txt nderungen und Erg nzungen NEIN der gedruckten Dokumentation paddefi h Headerdatei f r Basis Typdefini NEIN tionen paditf h Headerdatei f r Funktionen NEIN PAD_ padlib h Headerdatei f r Funktionen NEIN PDnet_ padvdm h Headerdatei f r Funktionen NEIN VDM_ padtest h Headerdatei f r Beispielpro NEIN gramm padtest c Quellcode f r Beispielprogramm NEIN 1 Teil padtest1 c Quellcode f r Beispielprogramm NEIN 2 Teil padtest2 c Quellcode f r Beispielprogramm NEIN 3 Teil Padapis5 o Interface f r SUN Ultra 5 paditf o Funktionen PAD_ NEIN padlib o Funktionen PDnet_ NEIN padvdm o Funktionen VDM_ makefile Batch Datei zum Compilieren NEIN des Beispielprogramms padtest Ausf hrbares Beispielprogramm HINWEIS In der Beschreibung wird nicht bei jeder Funktion Variablen o angegeben in welcher Bibliothek diese definiert ist da eine logi 74 Stand 02 11 1998 1992 98 APEX Automationstechnik GmbH Braunschweig Programmierhandb
13. r Windows 95 Programme ist f r folgende Compiler verf gbar 4 4 1 Borland Delphi 2 0 Die Bibliothek wird in Form einer Unit PAS und einer dynami schen Linkbibliothek DLL geliefert Damit Borland Delphi 2 0 auf die DLL zugreifen kann kopieren Sie die Unit PADITF32 PAS in Ihr Projektverzeichnis und die Datei PADITF32 DLL in das Ver zeichnis Ihres Anwenderprogramms Binden Sie danach die Unit PADITF32 PAS in Ihr Programm ein Folgende Dateien befinden sich auf der mitgelieferten Diskette Verzeichnis Dateiname Beschreibung Weitergabe README TXT nderungen und Erg nzungen NEIN der gedruckten Dokumentation SRC PADITF32 PAS Interface der PADITF32 DLL SRC PADTEST DPR Quellcode f r Beispielprogramm NEIN DELPHI20 PADITF32 DLL Dynamische Linkbibliothek mit JA Funktionen PAD _ PDnet_ VDM_ DELPHI20 PADITF32 DCU Funktionen PAD_ NEIN PDnet_ VDM_ DELPHI20 PADITF32 RES Ressourcendatei f r Beispielpro NEIN gramm DELPHI20 PADTEST DOF Compiler Konfigurationsdatei f r NEIN Beispielprogramm DELPHI20 PADTEST EXE Ausf hrbares Beispielprogramm Der Zugriff der DLL auf den PAD erfolgt ber den Ger tetreiber PADITF32 VXD Die PADITF32 DLL ist zwar reentrantf hig wenn die DLL jedoch von mehreren Programmen gleichzeitig benutzt wird d rfen keine zwei Programme auf den gleichen PAD Speicher zugreifen da sie sich sonst gegenseitig die Ge ndert flags l schen 4 Installation Bibliothek 4 4
14. tetreiber PADITF32 VXD Die PADITF32 DLL ist zwar reentrantf hig wenn die DLL jedoch von mehreren Programmen gleichzeitig benutzt wird d rfen keine zwei Programme auf den gleichen PAD Speicher zugreifen da sie sich sonst gegenseitig die Ge ndert flags l schen Ku 58 Stand 02 11 1998 1992 98 APEX Automationstechnik GmbH Braunschweig Programmierhandbuch PAD Interface 4 Installation Bibliothek 4 4 BM PC Windows 95 4 4 5 Watcom C 10 0 Die Bibliothek wird in Form einer Importbibliothek LIB und einer dynamischen Linkbibliothek DLL geliefert Damit Watcom C 10 0 auf die DLL zugreifen kann kopieren Sie die Importbibliothek PADITF32 LIB in Ihr Projektverzeichnis und die Datei PA DITF32 DLL in das Verzeichnis Ihres Anwenderprogramms Bin den Sie danach die Importbibliotnek PADITF32 LIB in Ihr Pro gramm ein Folgende Dateien befinden sich auf der mitgelieferten Diskette Verzeichnis Dateiname Beschreibung Weitergabe SRC PAD2DLL H Headerdatei f r Anpassung an NEIN PADITF32 H SRC PADITF32 H Headerdatei f r PADITF32 DLL NEIN SRC PADDEFI H Headerdatei f r Basis Typdefini NEIN tionen SRC PADITF H Headerdatei f r Funktionen NEIN PAD_ SRC PADLIB H Headerdatei f r Funktionen NEIN PDnet_ SRC PADVDM H Headerdatei f r Funktionen NEIN VDM_ SRC PADTEST H Headerdatei f r Beispielpro NEIN gramm SRC PADTEST C Quellcode f r Beispielprogramm NEIN 1 Teil SRC PADTEST1 C
15. 10ms Schritten innerhalb der PAD die laufende Anwendung berwacht Die Anwendung mu die Funktion PAD_LifeCheck innerhalb dieser Zeit aufrufen damit der PAD ein laufendes Anwenderprogramm erkennt e handle AUSGABEWERTE ber handle wird eine eindeutiger Wert zur ckgegeben mit dem die Funktion PAD_Select den initialisierten PAD w hlen kann Der handle wird ben tigt wenn die PAD Interface Biblio thek mehrere PADs im lokalen Endger t verwalten soll Befin det sich nur ein PAD im lokalen Endger t kann handle ver nachl ssigt werden e Bei erfolgreicher Ausf hrung wird CPDNET_OK zur ckgege R CKGABEWERT ben Andernfalls wird ein CPDNET_ Fehlercode geliefert int main in UINT16 ha t argc char argv ndle C BEISPIEL PAD SBus initialisieren auf SBus Slot 2 if PAD_I printf exit 1 Status der PAD Operation PAD_Result 4 PAD Funktionen aufrufen PAD Verbindung schlie en PAD_Done return 0 nit 2 1000 amp handle CPDNET_OK d n 123 1992 98 APEX Automationstechnik GmbH Braunschweig Stand 02 11 1998 Programmierhandbuch PAD Interface 7 API Referenz 7 11PAD_Init 7 11 11 SUN Ultra 5 Solaris 2 6 C DEFINITION INT16 PAD_Init UINT8 aSlotNum UINT16 PcCheckTmrVal UINT16 handle EINGABEWERTE e aSlotNum Jeder installierte PAD PCI meldet sich unter einen Ger tena men dev pdnetx beim
16. 1998 Programmierhandbuch PAD Interface BEE 3 Installation Treiber 3 5 IBM PC Windows NT 3 5x 4 00 Bild Systemsteuerung CEIS S Datei Bearbeiten Ansicht E sense H El Rees xE e EE g 7 gt Akustische Signale jii i Datum Uhrzeit K Dienste Drucker A L ndereinstellungen Mail Microsoft Mail Postoffice a e sg 9 SS A 3 H Schriftarten SCSI Adapter Software PC Karte PCMCIA ndert die Einstellungen der PDnet Controller For Es erscheint das Register Eigenschaften f r PDnet Eigenschaften fur PDnet EZ Konfikuration Bild Eigenschaften f r PDnet Die folgenden PDnet Komponenten sind installiert Enttemen Eigenschaften DK Abbrechen In diesem Register k nnen Sie PDnet Controller hinzuf gen ent fernen oder ihre Ressourcen einstellen PDnet Controller hinzuf gen Um einen PDnet Controller zu installieren e Klicken Sie auf die Schaltfl che Hinzuf gen Es erscheint das Dialogfeld Hardwarekomponente hinzuf gen 24 EH Stand 02 11 1998 1992 98 APEX Automationstechnik GmbH Braunschweig Programmierhandbuch PAD Interface Hardwarekomponente hinzuf gen E T Klicken Sie auf den Hersteller und das Modell der Komponente Modelle APEX PDnet Controller PAD PC APEX PDnet Controller PAD PG Abbrechen e Selektieren Sie den zu installierenden APEX PDnet Controller e Klicken Sie auf die Schaltfl
17. 29PDnet_OnlineStatus INT16 x y C BEISPIEL UINT8 online UINT8 StationID Stationsadresse des lokalen PAD if PAD_GetStationID StationID CPDNET_OK return printf kt gr for x 0 x lt 0x10 x D SE N 38 Spaltennummern for y 0 y lt 0x100 y 0x10 printf n33d y Zeilennummern for x 0 x lt 0x10 x t if x y 0 Teilnehmer ID 0 BrINnEE Di else Eigene Teilnehmer ID if x y StationID printf XX else if PDnet_OnLineStatus x ty amp online CPDNET_OK if online 0 printe N else printf 3d online SIEHE AUCH PDnet_ExtOnLineStatus 149 1992 98 APEX Automationstechnik GmbH Braunschweig Stand 02 11 1998 7 API Referenz 7 30VDM_Check_PV AUFGABE PASCAL DEFINITION C DEFINITION EINGABEWERTE R CKGABEWERT BESCHREIBUNG ACHTUNG 150 Programmierhandbuch PAD Interface 7 30 VDM_Check_PV berpr ft ob eine PV in einer VDM Datenzelle existiert function VDM_Check_PV ab Laos UINT8 aDataType UINT8 aAddrPos UINT16 IS INTL INT16 VDM_Check_PV UINT8 aFlags UINT8 aDataType UINT16 aAddrPos e aFlags In aFlags wird CZF_TRANSMITCELL bergeben wenn VDM Sendezellen berpr ft werden sollen Ist aFlags 0 werden VDM Empfangszellen berpr ft e aDataType In aDataType wird der VDM Datentyp des Proze wertes ber geben Der Datentyp is
18. APEX Automationstechnik GmbH Braunschweig Stand 02 11 1998 3 Installation Treiber 3 9 DEC AlphaStation OpenVMS AXP 6 2 7 0 36 Programmierhandbuch PAD Interface 3 9 1 ISA Bus Hardwarekonfiguration mit ISACFG Vor der Installation des Ger tetreibers m ssen die vom PDnet Controller verwendeten Ressourcen dem Betriebssystem bekannt gemacht werden F r AlphaStations die den ISA Bus unterst tzen gibt es verschie dene M glichkeiten die Hardwareparameter zu konfigurieren 1 ISACFG Utility Auf der Konsolebene kann das ISACFG Utility benutzt werden um die im NVRAM des Systems abgelegte Einstellung der Hardwareparameter f r ISA Karten die ISA Configuration Ta ble zu verwalten Mit dem ISACFG Utility k nnen neue Daten eingetragen vorhandene Daten modifiziert und gel scht wer den In der Tabelle sind die Hardwareparameter zu jedem ISA Ger t abgelegt Beim Booten des Systems wird die ISA Confi guration Table gelesen und die Hardwareressourcen werden vergeben und die Hardware wird initialisiert Die ISA Configura tion Table enth lt keine Informationen ber die Konfiguration der den ISA Ger ten zugeordneten OpenVMS Devices In die ISA Configuration Table m ssen auch nicht alle Hardwarepa rameter eingetragen werden 2 ISA Configuration File Beim Booten des Systems wird das ISA Configuration File SYS SPECIFIC SYSMGR ISA_CONFIG DAT gesucht und gelesen Die Datei enth lt Informationen ber die Hardwarepa
19. BESCHREIBUNG SIEHE AUCH 134 Programmierhandbuch PAD Interface 7 18 PAD_SetDateTime Setzt das Datum und die Uhrzeit in einem PAD function PAD_SetDateTime PDnetId UINT8 var PadDate tPadDate var PadTime tPadTime INT16 INT16 _PAD_SetDateTime UINT8 PDnetlId tPadDate _ PadDate tPadTime _ PadTime E e PDnetld PDnetld enth lt die Stationsadresse an die ein Uhrzeittele gramm gesendet werden soll Ist PDnetld 0 wird das Uhrzeit telegramm an alle Stationen im PDnet gesendet e PadDate In der Struktur PadDate steht das neue Datum das in den PAD geschrieben wird e PadTime In der Struktur PadTime steht die neue Zeit die in den PAD ge schrieben wird e Bei erfolgreicher Ausf hrung wird GPDNET_OK zur ckgege ben Andernfalls wird ein CPDNET_ Fehlercode geliefert Die Funktion schreibt das bergebene Datum und die Zeit in den angegebenen PAD Danach ist das Datum und die Zeit im PAD g ltig ber die Funktion erhalten alle PDnet Controller im Netz eine einheitliche Zeit Die Endger te k nnen diese Zeit auslesen um die Uhrzeit aller Stationen zu synchronisieren tPadDate tPadTime PAD_GetDateTime PAD_DateTimeUpdated Stand 02 11 1998 1992 98 APEX Automationstechnik GmbH Braunschweig Programmierhandbuch PAD Interface 7 19 PAD_TxBufferEmpty Pr ft ob der Sendepuffer frei ist function PAD_TxBufferEmpty INT16 INT16 PAD_TxBufferEmpty void e Bei ein
20. Bibliothek wird wie folgt installiert Legen Sie die Diskette mit der Datei PADIT017 A in das Dis kettenlaufwerk Starten Sie das Betriebsystem OpenVMS Melden Sie sich mit System Account an Benutzer SYSTEM ffnen Sie ein DECterm Fenster Rufen Sie VMSINSTAL auf Als Parameter werden der Archi vname und der Device Name des Diskettenlaufwerk angege ben sys update vmsinstal padit017 dvaO Die Installation kann jederzeit mit Ctrl Y abgebrochen werden e Beantworten Sie die von der Installation gestellten Fragen Die Vorgaben in eckigen Klammern k nnen mit der Return Taste bernommen werden e Logen Sie sich nach der Installation aus da VMSINSTAL die Symboltabellen l scht und neu berschreibt Slogout Nach der Installation befindet sich die PAD Interface Bibliothek im Verzeichnis SYS SYSROOT SYSMGR PADITF Stand 02 11 1998 1992 98 APEX Automationstechnik GmbH Braunschweig Programmierhandbuch PAD Interface 4 Installation Bibliothek 4 10SUN IPC IPX SUN OS 4 1 2 4 10 SUN IPC IPX SUN OS 4 1 2 Die PAD Interface Bibliothek f r SUN IPCG IPX SUN OS 4 1 2 Programme ist f r folgende Compiler verf gbar 4 10 1 GNU C Die Bibliothek wird in Form von Objektdateien o geliefert Diese Dateien werden von GNU C gcc in das Programm eingebunden Damit der C Compiler die Dateien einbinden kann m ssen Sie die entsprechenden Dateien von der Diskette in das Verzeichnis Ihres Projektes kopie
21. DITF32 DLL OS2VAGE3S PADTEST Projektdatei f r Beispielpro NEIN gramm OS2VAGE3 PADTEST MAK Makedatei f r Beispielprogramm NEIN OS2VAGES PADTEST MM Make Makedatei f r Beispielpro NEIN gramm OS2VAGE3 PADTEST EXE Ausf hrbares Beispielprogramm HINWEIS Der Zugriff der DLL auf den PAD erfolgt ber den Einheitentreiber APEX PAD SYS Die PADITF32 DLL ist zwar reentrantf hig wenn die DLL jedoch von mehreren Programmen gleichzeitig benutzt wird d rfen keine zwei Programme auf den gleichen PAD Speicher zugreifen da sie sich sonst gegenseitig die Ge ndert flags l schen 66 Stand 02 11 1998 1992 98 APEX Automationstechnik GmbH Braunschweig Programmierhandbuch PAD Interface 4 Installation Bibliothek 4 6 IBM PC OS 2 Warp 3 4 4 6 3 Watcom C 10 0 Die Bibliothek wird in Form einer Importbibliothek LIB und einer dynamischen Linkbibliothek DLL geliefert Damit Watcom C 10 0 auf die DLL zugreifen kann kopieren Sie die Importbibliothek PADITF32 LIB in Ihr Projektverzeichnis und die Datei PA DITF32 DLL in das Verzeichnis Ihres Anwenderprogramms Bin den Sie danach die Importbibliotnek PADITF32 LIB in Ihr Pro gramm ein Folgende Dateien befinden sich auf der mitgelieferten Diskette Verzeichnis Dateiname Beschreibung Weitergabe SRC PAD2DLL H Headerdatei f r Anpassung an NEIN PADITF32 H SRC PADITF32 H Headerdatei f r PADITF32 DLL NEIN SRC PADDEFI H Headerdatei f r Basis Typdefini N
22. Datenmodell des lokalen PADs vorhanden e CVDM_BAD_PARAM Falscher Parameter z B Nullzeiger e CVDM_NOT_FOUND Die VDM Datenzelle n wurde nicht gefunden e CVDM_DATACELL_ WRONG Es wurden Unterschiede zwischen einer VDM Datenzelle und der Kopie des Datenzellenkopfes entdeckt e CVDM_BAD_DATATYPE Der bergebene VDM Datentyp stimmt nicht berein mit dem Typ der VDM Datenzelle e CVDM_BAD_ADDRPOS Die bergebene Adresse liegt nicht in der VDM Datenzelle e CVDM_BAD_DATACOUNT Die bergebene Anzahl der PV s pa t nicht in die VDM Datenzelle e CVDM_BAD_DATASIZE In der VDM Datenzelle stimmt die eingetragene Gr e des Datentyps nicht mit der zugeh rigen Datentypgr e berein e CVDM_NO_CONNECTION Die Empfangsdatenzelle hat keine Verbindung zur Quellstation e CVDM_UNKNOWN_DATATYPE Unbekannter VDM Datentyp e CVDM_NO_TRANSMITCELL PAD_Write_PV kann nicht in Empfangsdatenzellen schreiben Stand 02 11 1998 1992 98 APEX Automationstechnik GmbH Braunschweig Programmierhandbuch PAD Interface 6 Konstanten Referenz 6 8 CZF_ 7 VDM_Read_PV VDM_Write_PV VDM_Check_PV SIEHE AUCH 6 8 CZF Die Konstanten CZF_ Beschreiben die Bits im Feld Flagt des AUFGABE VDM Datenzellenkopfes e CZF_BUSY KONSTANTEN Dieses Bit zeigt an da eine Daten bertragung f r diese Zelle l uft die auf mehrere Telegramme verteilt ist Solange dieses Bit gesetzt ist kann der Inhalt einer Empfangszelle inkonsist
23. Form einer Importbibliothek LIB und einer dynamischen Linkbibliothek DLL geliefert Damit Borland C 4 5 auf die DLL zugreifen kann kopieren Sie die Importbibliothek PADITF32 LIB in Ihr Projektverzeichnis und die Datei PA DITF32 DLL in das Verzeichnis Ihres Anwenderprogramms Bin den Sie danach die Importbibliothek PADITF32 LIB und die Hea derdatei PAD2DLL H in Ihr Programm ein Folgende Dateien befinden sich auf der mitgelieferten Diskette Verzeichnis Dateiname Beschreibung Weitergabe SRC PAD2DLL H Headerdatei f r Anpassung an NEIN PADITF32 H SRC PADITF32 H Headerdatei f r PADITF32 DLL NEIN SRC PADDEFI H Headerdatei f r Basis Typdefini NEIN tionen SRC PADITF H Headerdatei f r Funktionen NEIN PAD_ SRC PADLIB H Headerdatei f r Funktionen NEIN PDnet_ SRC PADVDM H Headerdatei f r Funktionen NEIN VDM_ SRC PADTEST H Headerdatei f r Beispielpro NEIN gramm SRC PADTEST C Quellcode f r Beispielprogramm NEIN 1 Teil SRC PADTEST1 C Quellcode f r Beispielprogramm NEIN 2 Teil SRC PADTEST2 C Quellcode f r Beispielprogamm NEIN 3 Teil WNTBC45 PADITF32 DLL Dynamische Linkbibliothek mit JA Funktionen PAD _ PDnet_ VDM_ WNTBC45 PADITF32 LIB Importbibliothek f r PA NEIN DITF32 DLL WNTBC45 PADTEST DIE Projektdatei f r Beispielpro NEIN gramm WNTBG45 PADTEST DSW Contextdatei f r Beispielpro NEIN gramm WNTBC45 PADTEST EXE Ausf hrbares Beispielprogramm Der Zugriff der DL
24. Funktion angelegt werden e Bei erfolgreicher Ausf hrung wird GPDNET_OK zur ckgege ben Andernfalls wird ein CPDNET_ Fehlercode geliefert Wenn im PAD eine g ltige Uhrzeit steht liefert die Funktion das Datum und die Zeit aus dem PAD tPadDate tPadTime PAD_SetDateTime PAD_DateTimeUpdated 7 API Referenz 7 5 PAD_GetDateTime AUFGABE PASCAL DEFINITION C DEFINITION AUSGABEWERTE R CKGABEWERT BESCHREIBUNG SIEHE AUCH 111 1992 98 APEX Automationstechnik GmbH Braunschweig Stand 02 11 1998 7 API Referenz 7 6 PAD_GetGroupID AUFGABE PASCAL DEFINITION C DEFINITION AUSGABEWERTE R CKGABEWERT BESCHREIBUNG SIEHE AUCH 112 Programmierhandbuch PAD Interface 76 PAD_GetGroupID Liefert die Gruppenadresse des lokalen PAD function PAD_GetGroupID var GroupID UINT8 Z INTL6 INT16 PAD_GetGroupID UINT8 GroupID e GroupID ber GroupID wird die Gruppenadresse des lokalen PAD zu r ckgeliefert e Bei erfolgreicher Ausf hrung wird GPDNET_OK zur ckgege ben Andernfalls wird ein CPDNET_ Fehlercode geliefert Die Funktion PAD_GetGrouplD liest die aktuelle Gruppenadresse aus dem lokalen PAD Nach einem Restart kann die Gruppena dresse ver ndert sein wenn z B im NetPro die Station auf eine andere Gruppenadresse gelegt wurden PAD_GetStationID PDnet_GroupAdr Stand 02 11 1998 1992 98 APEX Automationstechnik GmbH Braunschweig Programmierha
25. Funktionen NEIN PAD_ SRC PADLIB H Headerdatei f r Funktionen NEIN PDnet_ SRC PADVDM H Headerdatei f r Funktionen NEIN VDM_ SRC PADTEST H Headerdatei f r Beispielpro NEIN gramm SRC PADTEST C Quellcode f r Beispielprogramm NEIN 1 Teil SRC PADTEST1 C Quellcode f r Beispielprogramm NEIN 2 Teil SRC PADTEST2 C Quellcode f r Beispielprogramm NEIN 3 Teil W95MSVC2 PADITF32 DLL Dynamische Linkbibliothek mit Funktionen PAD_ PDnet_ VDM_ W95MSVC2 PADITF32 LIB Importbibliothek f r PA NEIN DITF32 DLL W95MSVC2 PADTEST VCP Projektdatei f r Beispielpro NEIN gramm W95MSVC2 PADTEST MAK Makedatei f r Beispielprogramm NEIN W95MSVC2 PADTEST EXE Ausf hrbares Beispielprogramm Der Zugriff der DLL auf den PAD erfolgt ber den Ger tetreiber PADITF32 VXD Die PADITF32 DLL ist zwar reentrantf hig wenn die DLL jedoch von mehreren Programmen gleichzeitig benutzt wird d rfen keine zwei Programme auf den gleichen PAD Speicher zugreifen da sie sich sonst gegenseitig die Ge ndert flags l schen L I 4 Installation Bibliothek 4 4 IBM PC Windows 95 HINWEIS 57 1992 98 APEX Automationstechnik GmbH Braunschweig Stand 02 11 1998 Programmierhandbuch PAD Interface 4 Installation Bibliothek 4 4 IBM PC Windows 95 4 4 4 Microsoft Visual C 4 0 Die Bibliothek wird in Form einer Importbibliothek LIB und einer dynamischen Linkbibliothek DLL geliefert Damit Vis
26. Ger tetreiber f r den PDnet Controller wird wie folgt installiert Purchf hrung der Softwareinstallation e Legen Sie die Diskette mit der Datei PDNETO10 A in das Dis kettenlaufwerk e Starten Sie das Betriebsystem OpenVMS e Melden Sie sich mit System Account an Benutzer SYSTEM e ffnen Sie ein DECterm Fenster e Rufen Sie VMSINSTAL auf Als Parameter werden der Archi vname und der Device Name des Diskettenlaufwerk angege ben sys update vmsinstal pdnet010 dat Die Installation kann jederzeit mit Ctrl Y abgebrochen wer den e Beantworten Sie die von der Installation gestellten Fragen Die Vorgaben in eckigen Klammern k nnen mit der Return Taste bernommen werden e Logen Sie sich nach der Installation aus da VMSINSTAL die Symboltabellen l scht und neu berschreibt Slogout Nach der Installation des Ger tetreibers mu dieser konfiguriert und geladen werden 3 9 4 Kommando zum Laden des Ger tetreibers Der Ger tetreiber wird mit SYSMAN IO CONNECT Kommandos manuell geladen SYSMAN ist ein OpenVMS System Utility Es ist im OpenVMS System Management Utilities Reference Manual beschrieben Die Kommandoprozedur PDNET CONFIGURE erzeugt eine Kommandoprozedur mit den SYSMAN IO CONNECT Kommandos zum Laden des Ger tetreibers Durch Aufruf der erzeugten Kom mandoprozedur wird der Ger tetreiber geladen Zum Erzeugen der Kommandos zum Laden des Ger tetreibers e ffnen Sie ein DECterm Fenster e Gebe
27. IBM PC Windows 95 HINWEIS 55 1992 98 APEX Automationstechnik GmbH Braunschweig Stand 02 11 1998 Programmierhandbuch PAD Interface 4 Installation Bibliothek 4 4 IBM PC Windows 95 4 4 2 Borland C 4 5 Die Bibliothek wird in Form einer Importbibliothek LIB und einer dynamischen Linkbibliothek DLL geliefert Damit Borland C 4 5 auf die DLL zugreifen kann kopieren Sie die Importbibliothek PADITF32 LIB in Ihr Projektverzeichnis und die Datei PA DITF32 DLL in das Verzeichnis Ihres Anwenderprogramms Bin den Sie danach die Importbibliothek PADITF32 LIB und die Hea derdatei PAD2DLL H in Ihr Programm ein Folgende Dateien befinden sich auf der mitgelieferten Diskette Verzeichnis Dateiname Beschreibung Weitergabe SRC PAD2DLL H Headerdatei f r Anpassung an NEIN PADITF32 H SRC PADITF32 H Headerdatei f r PADITF32 DLL NEIN SRC PADDEFI H Headerdatei f r Basis Typdefini NEIN tionen SRC PADITF H Headerdatei f r Funktionen NEIN PAD_ SRC PADLIB H Headerdatei f r Funktionen NEIN PDnet_ SRC PADVDM H Headerdatei f r Funktionen NEIN VDM_ SRC PADTEST H Headerdatei f r Beispielpro NEIN gramm SRC PADTEST C Quellcode f r Beispielprogramm NEIN 1 Teil SRC PADTEST1 C Quellcode f r Beispielprogamm NEIN 2 Teil SRC PADTEST2 C Quellcode f r Beispielprogramm NEIN 3 Teil W95BC45 PADITF32 DLL Dynamische Linkbibliothek mit JA Funktionen PAD _ PDnet_ VDM_ W95BC45
28. PAD Interface 8 Beispielprogramm 8 2 IBM PC DOS Protected Mode 8 2 IBM PC DOS Protected Mode Damit Sie das Beispielprogramm starten k nnen mu sich die dynamische Linkbibliothek PADITF16 DLL im Applikationsver zeichnis oder Suchpfad befinden Das Beispielprogramm PADTEST f r DOS Protected Mode ist f r folgende Compiler verf gbar 8 2 1 Borland Pascal 7 0 Wenn Sie alle mitgelieferten Dateien in ein Verzeichnis kopieren und aus diesem Verzeichnis Borland Pascal aufrufen erzeugt das beiliegende Beispielprogramm PADTEST PAS das Testpro gramm PADTEST EXE Eventuell m ssen Sie im Borland Pascal im Men Options Directories die Verzeichnisangaben f r Ihr System anpassen Dem Testprogramm PADTEST EXE k nnen Sie als Parameter mit 1lO xxx die l O Portadresse und mit MEM xxxx die Segmentadresse des PAD PC angeben Mit dem Parameter H erhalten Sie eine kurze Hilfe zu den Parametern Die Parameterangaben MEM und lO m ssen mit den Adressen bereinstimmen die auf dem PAD PC mit dem DIP Schalter SW1 eingestellt sind HINWEIS Das Beispielprogramm PADTEST PAS l uft als Protected Mode Anwendung unter DOS 160 Stand 02 11 1998 1992 98 APEX Automationstechnik GmbH Braunschweig Programmierhandbuch PAD Interface 8 Beispielprogramm 8 3 IBM PC Windows 3 1 8 3 IBM PC Windows 3 1 Damit Sie das Beispielprogramm starten k nnen mu sich die dynamische Linkbiblioth
29. PADITF32 SYS zu Die PADITF32 DLL ist zwar reentrantf hig wenn die DLL jedoch von mehreren Programmen gleichzeitig benutzt wird d rfen keine zwei Programme auf den gleichen PAD Speicher zugreifen da sie sich sonst gegenseitig die Ge ndertflags l schen 855 Watcom C 10 0 Wenn Sie alle Dateien aus den Verzeichnissen SRC und WNTWAT10 in ein Verzeichnis kopieren und aus diesem Ver zeichnis Watcom C aufrufen erzeugt die beiliegende Projekt datei PADTEST WPU das Testprogramm PADTEST EXE Eventuell m ssen Sie im Watcom C im Men Sources New Source die Verzeichnisangaben f r Ihr System anpassen Stand 02 11 1998 1992 98 APEX Automationstechnik GmbH Braunschweig Programmierhandbuch PAD Interface Das Beispielprogramm PADTEST C wurde f r die WIN32 Konsole erzeugt damit es im Textmode in der Eingabeaufforderung von Windows NT l uft Selbstverst ndlich k nnen Sie die PAD Interface Bibliothek auch in eine echte Windowsanwendung ein binden Starten Sie das Programm PADTEST EXE ber den Dateimana ger oder die Eingabeaufforderung von Windows NT Das Pro gramm ben tigt keine Parameter da die vom PAD verwendeten Ressourcen aus der Registrierdatenbank von Windows NT gele sen werden Die Bibliothek greift ber die dynamische Linkbibliothek PADITF32 DLL auf den Ger tetreiber PADITF32 SYS zu Die PADITF32 DLL ist zwar reentrantf hig wenn die DLL jedoch von mehreren Programmen gleichzeitig benut
30. Parameter mit SX die SBus Slotnummer des PAD SBus angeben Mit dem Parame ter H erhalten Sie eine kurze Hilfe zu den Parametern Der Parameter Sx mu mit der SBus Slotnummer bereinstim men auf dem der PAD SBus steckt Au erdem mu auf Ihrem System die zugeh rige Datei dev sbus existieren und die Zugriffsrechte gesetzt sein Die Bibliotheken sind mit dem GNU C Compiler 2 2 gcc er HINWEIS zeugt da dieser ein ANSI C Compiler ist und er auf verschiedenen Plattformen erh ltlich ist Der Compiler cc verarbeitet kein ANSI C und besitzt nicht das IEEE Format f r Realvariablen 177 1992 98 APEX Automationstechnik GmbH Braunschweig Stand 02 11 1998 8 Beispielprogramm 8 11SUN Ultra 5 Solaris 2 6 178 Programmierhandbuch PAD Interface Damit GNU C die richtigen Include Verzeichnisse von UNIX ver wendet m ssen diese als Parameter angegeben werden I usr include Eventuell m ssen Sie das Verzeichnis angeben in dem die Bi bliotheken und Datendateien des GNU C stehen Zum Beispiel B usr local lib gcec lib sparc sun sunos4 1 2 2 2 Verwendete Quellen werden angegeben mit 0 EXE_PROGRAMM_NAME SRC_PROGRAMM _NAME c paditf o padlib o 8 11 SUN Ultra 5 Solaris 2 6 Das Beispielprogramm PADTEST f r SUN Ultra 5 Solaris 2 6 ist f r folgende Compiler verf gbar 8 11 1 SunPro C 4 2 Die Lieferdiskette besitzt das PC Dateiformat Um sie auf der SUN Workst
31. Prompt gt gt gt Sie erreichen die Konsolebene durch dr cken des Resettasters beim Einschalten der Workstation oder durch Eingabe des DCL Befehls shutdown im DECterm Fenster e Zeigen Sie die aktuelle ISA Configuration Table an mit dem Befehl gt gt gt show config Die ausgegebene Tabelle sieht z B so aus ISA Slot Device Nam Typ Enabled BaseAddr IRQ 0 0 MOUSE Embedded Yes 60 12 1 KBD Embedded Yes 60 1 2 COM1 Embedded Yes 3 8 4 Die ISA Configuration Table besteht aus eine Folge von Eintr gen Jeder Eintrag wird durch eine Steckplatznummer Slot und eine Ger tenummer Device identifiziert und enth lt die Daten zu je weils einem ISA Ger t Der PDnet Controller PAD PC besteht nur aus einem Ger t Deshalb ist die Ger tenummer immer 0 Die ISA Steckpl tze einer AlphaStation haben keine festen Steck platznummern Slot Es gibt keine vorgegebene Zuordnung zwi schen den Steckplatznummern in der ISA Configuration Table genutzt in den ISACFG Kommandos und einer Numerierung der Steckpl tze im System F r die Steckplatznummern Slot kann eine Zahl gr er als 0 verwendet werden Die Steckplatznummern sollten von 1 beginnend fortlaufend verwendet werden Dabei sollte man eine Systematik verwenden welche eine Zuordnung der Steckplatznummern Slot zu den Steckpl tzen des Systems er m glicht Z B kann Slot 1 der unterste oder linke Steckplatz sein Mit dem ISACFG Utility ist ein neuer Eintrag in
32. Stand 02 11 1998 1992 98 APEX Automationstechnik GmbH Braunschweig Programmierhandbuch PAD Interface 8 5 IBM PC Windows NT 3 bla 00 168 8 5 1 Borland Delphi 2 0 usssnnss nennen 168 8 5 2 Borland C 4 5 2 0 Hanne 169 8 5 3 Microsoft Visual C 20 169 8 5 4 Microsoft Visual C A0 170 8 5 5 Watcom C 100 170 8 6 IBM PC OS 2 Warp 214 172 8 6 1 Borland C 2 0 f r OI 172 8 6 2 VisualAge Cx20 172 8 6 3 Watcom C 100 173 8 7 IBM PC QNX 3 21 Protected Mode eeeen 174 8 7 1 086 f r ONN 174 8 8 IBM PC QNX 4 22 Protected Mode aeeee 175 8 8 1 Watcom 9 5 2222nnnsnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnn 175 8 9 DEC AlphaStation OpenVMS AXP 6G 240 176 8 9 1 DEGC VD 2 a Ee dE 176 8 10 SUN IPG IPX SUN OS 4121 177 8 10 1 EL CIR EE 177 8 11 SUN Ultra 5 Solaris 26 178 8 11 1 SunPro G4 2 neun 178 8 12 Motorola 8420 System V m8 amp k een 179 8 12 1 GNU CH are 179 9 Programmierung uuu4400000nnnnennnnnnnnnnnnnnnennnnnnnnnn 181 9 1 Projektierungsprogramm Netfro 181 9 1 1 VDM Datenzellen een 181 9 1 2 PV Symbolnamen sss4444 4 nnnennnnnnnnnnnnnnnn 182 9 2 Lokalen PAD verwalten namen 182 9 3 Lifeliste Obenwachen 182 9 4 Telegramme senden und empfangen n 183 9 5 Proze werte senden und empfangen s 183 1 Einf hrung 2 1 IBM PC DOS Real Mode 5 1992 98 APEX Automationstechnik GmbH Braunschweig Stand 02
33. alle Proze werte gesendet ndert sich ein Proze wert der VDM Datenzelle werden alle Pro ze werte der VDM Datenzelle bertra gen Leitsystem SPS Beim Anmelden eines PDnet Controllers wird noch kein Proze wert gesendet ndert sich ein Proze wert der VDM Datenzelle wird nur der ge nderte Proze wert bertragen 9 Programmierung 9 1 Projektierungsprogramm NetPro 181 1992 98 APEX Automationstechnik GmbH Braunschweig Stand 02 11 1998 9 Programmierung 9 2 Lokalen PAD verwalten 182 Programmierhandbuch PAD Interface 9 1 2 PV Symbolnamen Wenn Ihr Leitsystem mit Symbolnamen auf die Proze werte zu greift sollten Sie jeder PV Nummer einen Symbolnamen zuord nen Im Projektierungsprogramm NetPro kann f r jede PV Nummer ein Symbolname eingeben werden Die Symbollisten k nnen in verschiedene Formate exportiert und importiert werden z B in ASCII oder dBase Dateien Fragen Sie bei der APEX GmbH nach der Implementierung neuer Formate 9 2 Lokalen PAD verwalten Beim Programmstart mu die PAD Interface Bibliothek mit der Funktion PAD_Init initialisiert werden bevor auf andere API Funk tionen der Bibliothek zugegriffen werden kann Das Anwenderprogramm mu in regelm igen Abst nden eine der API Funktionen aufrufen um das PAD Interface am Leben zu erhalten Die Zykluszeit wird im Parameter PcCheckTmrVal an PAD_Init bergeben Greift ein Anwenderprogramm nicht st ndig auf de
34. angegeben e FlagByte ber FlagByte wird der Eintrag der PDnet Lifeliste der abge fragten Station zur ckgegeben e Bei erfolgreicher Ausf hrung wird CPDNET_OK zur ckgege ben Andernfalls wird ein CPDNET_ Fehlercode geliefert Diese Funktion gibt das interne Flagbyte aus der Lifeliste f r die abgefragte Station zur ck F r Anwenderprogramme ist diese Funktion ohne Bedeutung da die Funktionen PDnet_OnlineStatus und PDnet_ExtOnLineStatus den LAN Status des Flagbyte liefern PDnet_GroupAdr PDnet_OnLineStatus PDnet_ExtOnLlineStatus 7 API Referenz 7 24PDnet_FlagByte AUFGABE PASCAL DEFINITION C DEFINITION EINGABEWERTE AUSGABEWERTE R CKGABEWERT BESCHREIBUNG SIEHE AUCH 141 1992 98 APEX Automationstechnik GmbH Braunschweig Stand 02 11 1998 7 API Referenz 7 25PDnet_GroupAdr AUFGABE PASCAL DEFINITION C DEFINITION EINGABEWERTE AUSGABEWERTE R CKGABEWERT BESCHREIBUNG C BEISPIEL SIEHE AUCH 142 Programmierhandbuch PAD Interface 7 25 PDnet_GroupAdr Liefert die Gruppenadresse eines PAD im PDnet function PDnet_GroupAdr PDnetlId UINT8 var GroupAdr UINT8 INT16 INT16 PDnet_GroupAdr UINT8 PDnetId UINT8 GroupAdr e PDnetld In PDnetld wird die PDnet Stationsadresse des abzufragenden PADs angegeben e GroupAdr ber GroupAdr wird die Gruppenadresse der abgefragten Sta tion zur ckgegeben e Bei erfolgreicher Ausf hrung wir
35. auf gerufen werden wenn mehrere PDnet Controller im lokalen PC installiert sind Die vom PAD verwendeten Ressourcen werden vom Ger tetreiber aus der Registrierdatenbank ermittelt 7 11 5 IBM PC Windows NT 3 5x 4 00 Siehe PAD Int f r Windows 95 Die Ger tenummer wird in den Windows NT Netzwerkeinstellun gen bei den Netzwerkkarten vor jedem APEX PDnet Controller in eckigen Klammern angezeigt 7 11 6 IBM PC 0S 2 Warp 3 4 Siehe PAD Int f r Windows 95 Zur Zeit wird nur ein lokaler PDnet Controller mit der Ger tenum mer 1 unterst tzt Die vom PAD verwendeten Ressourcen werden vom Ger tetreiber aus der Datei CONFIG SYS ermittelt 7 11 7 IBM PC QNX 3 21 Protected Mode Siehe PAD_Init f r DOS Real Mode 7 11 8 IBM PC QNX 4 22 Protected Mode Siehe PAD_Init f r DOS Real Mode 7 API Referenz 7 11PAD_Init AUSGABEWERTE R CKGABEWERT HINWEIS DEFINITION HINWEIS DEFINITION HINWEIS DEFINITION DEFINITION 121 1992 98 APEX Automationstechnik GmbH Braunschweig Stand 02 11 1998 Programmierhandbuch PAD Interface 7 API Referenz 7 11PAD_Init 7 11 9 DEC AlphaStation OpenVMS AXP 6 2 7 0 C DEFINITION INT16 PAD_Init char devicename UINT16 PcCheckTmrVal UINT16 handle EINGABEWERTE e devicename In devicename wird der Name des OpenVMS Device f r den geladenen Ger tetreiber bergeben e PcCheckTmrVal PcCheckTmrVal setzt die Zeit in 10ms Schritten inn
36. bertragen wird Ein Telegramm besteht aus einem Header und einem Daterteil Der Header bestimmt wie der Datenteil zu interpretieren ist PAD_ReceiveTelegram PAD_SendTelegram Stand 02 11 1998 1992 98 APEX Automationstechnik GmbH Braunschweig Programmierhandbuch PAD Interface 5 Typen Referenz 5 9 tPadTime 5 9 tPadTime AUFGABE Die Struktur tPadTime enth lt die Uhrzeit der PAD Echzeituhr type tPadTime PASCAL DEFINITION record ti_min UINT8 ti_hour UINT8 ti_hund UINT8 Li sec UINT8 end typedef struct C DEFINITION UINT8 ti_min UINT8 ti_hour UINT8 ti_hund UINT8 ti_sec tPadTime e ti min FELDER Enth lt die Minuten der Uhrzeit e ti _ hour Enth lt die Stunden der Uhrzeit e ti hund Enth lt die Hundertstel Sekunden der Uhrzeit e ti sec Enth lt die Sekunden der Uhrzeit PAD _GetDateTime PAD_SetDateTime SIEHE AUCH 87 1992 98 APEX Automationstechnik GmbH Braunschweig Stand 02 11 1998 5 Typen Referenz 5 10tVdmHeader AUFGABE PASCAL DEFINITION C DEFINITION FELDER 88 Programmierhandbuch PAD Interface 5 10 tVdmHeader Der Typ tVdmHeader enth lt den Kopf einer VDM Datenzelle type tVdmHeader record Flagsl UINT8 DataCellID UINT16 DataType UINT8 DataSize UINT8 DataCount UINT16 AddrPos UINT16 AddrKind UINT8 PDnetId UINT16 NextCell UINT32 end typedef struct UINT8 Flagsl NT16 DataCellID
37. der ISA Configura tion Table zu erzeugen und mit den entsprechenden Werten zu belegen Ist der Eintrag f r den anzulegenden Slot bereits vorhan den ist dieser vorher zu l schen oder ein anderer Slot zu w hlen e Erzeugen Sie einen neuen Eintrag in der ISA Configuration Table an mit dem Befehl gt gt gt isacfg slot lt slot gt dev 0 mk typ 1 nadev 1 totdev 1 iobase0 lt iobase gt membase0 lt membase gt memlenO lt memlen gt handle PDnet 37 1992 98 APEX Automationstechnik GmbH Braunschweig Stand 02 11 1998 3 Installation Treiber 3 9 DEC AlphaStation OpenVMS AXP 6 2 7 0 38 Programmierhandbuch PAD Interface Dabei m ssen folgende Werte eingesetzt werden 1 slot Die Steckplatznummer des ausgew hlten Slots 2 iobase Die hexadezimale I O Portadresse z B 290 3 membase Die hexadezimale Startadresse des Speicherfensters als absolute Speicheradresse Die absolute Speicheradresse zur Segmentadresse x000 ist x0000 also z B zu Segment D000 ist die absolute Speicheradresse D0000 4 memlen Die hexadezimale Gr e des Speicherfensters ist optional Sie erfolgt in Bytes also 10000 f r 64 kByte Beispiel f r einen PAD PC auf Slot 1 mit O Basisadresse 290 und Speicheradresse D0000 gt gt gt isacfg slot 1 dev 0 mk typ 1 nadev 1 totdev 1 iobase0 290 membase0 D0000 memlen0 10000 handle PDnet e Aktivieren Sie die nder
38. die Headerdatei PAD2DLL H in Ihr Programm ein Folgende Dateien befinden sich auf der mitgelieferten Diskette Verzeichnis Dateiname Beschreibung Weitergabe SRC PAD2DLL H Headerdatei f r Anpassung an NEIN PADITF32 H SRC PADITF32 H Headerdatei f r PADITF32 DLL NEIN SRC PADDEFI H Headerdatei f r Basis Typdefini NEIN tionen SRC PADITF H Headerdatei f r Funktionen NEIN PAD_ SRC PADLIB H Headerdatei f r Funktionen NEIN PDnet_ SRC PADVDM H Headerdatei f r Funktionen NEIN VDM_ SRC PADTEST H Headerdatei f r Beispielpro NEIN gramm SRC PADTEST C Quellcode f r Beispielprogramm NEIN 1 Teil SRC PADTEST1 C Quellcode f r Beispielprogramm NEIN 2 Teil SRC PADTEST2 C Quellcode f r Beispielprogamm NEIN 3 Teil WNTMSVGA PADITF32 DLL Dynamische Linkbibliothek mit Funktionen PAD _ PDnet_ VDM_ WNTMSVCGA PADITF32 LIB Importbibliothek f r PA NEIN DITF32 DLL WNTMSVCGA4 PADTEST MDP Projektdatei f r Beispielpro NEIN gramm WNTMSVCGA4 PADTEST MAK Makedatei f r Beispielprogramm WNTMSVCAPADTEST NCB Programm Database f r Bei NEIN spielprogramm WNTMSVCGA PADTEST EXE Ausf hrbares Beispielprogramm JA Der Zugriff der DLL auf den PAD erfolgt ber den Ger tetreiber HINWEIS PADITF32 SYS Die PADITF32 DLL ist zwar reentrantf hig wenn die DLL jedoch von mehreren Programmen gleichzeitig benutzt wird d rfen keine zwei Programme auf den gleichen PAD Speicher zugreifen da sie sich sonst
39. e CTRFL_KERNEL_TASKLISTOVER Die Firmware konnte keinen weiteren Task starten weil in der Taskliste kein Platz mehr frei ist e CTRFL_KERNEL_MEMORYALLOC Die Firmware hat keinen freien Speicher mehr um weitere Da tenstrukturen anzulegen e CTRFL_KERNEL_REALTIMECLOCK Die Echtzeituhr im PAD wurde noch nicht initialisiert e CTRFL_HARDWARE_CMOSRAM Das CMOS RAM ist fehlerhaft e CTRFL_HARDWARE_FPROM Das FlashProm ist fehlerhaft e CTRFL_HARDWARE_FPROMVOLT Das FlashProm hat keine Programmierspannung e CTRFL_HARDWARE_LAN_A Auf dem Kanal LAN A sind Fehler aufgetreten e CTRFL_HARDWARE_LAN_B Auf dem Kanal LAN B sind Fehler aufgetreten e CTRFL_SETUP_NONE Es sind keine Setupdaten vorhanden Mit NetPro m ssen neue Setupdaten in den PAD programmiert werden e CTRFL_SETUP_CHECKSUM Die Pr fsumme der Setupdaten ist fehlerhaft Mit NetPro m s sen neue Setupdaten in den PAD programmiert werden e CTRFL_SETUP_ID Die Firmware kennt ein Teil der Setupdaten nicht Mit NetPro Stand 02 11 1998 1992 98 APEX Automationstechnik GmbH Braunschweig Programmierhandbuch PAD Interface 6 Konstanten Referenz 6 6 CTRFL_ m ssen neue Setupdaten in den PAD programmiert werden Oder die Firmwareversion stimmt nicht mit der von NetPro un terst tzen Firmwareversionen berein e CTRFL HOST USERPROGRAM HOSTINTERFACE MELDUNGEN Auf dem Endger t l uft kein Anwenderprogramm das den Software Watchdog im PAD nachtriggert
40. e Gehen Sie auf die Konsolebene des Systems Prompt gt gt gt Sie erreichen die Konsolebene durch dr cken des Resettasters beim Einschalten der Workstation oder durch Eingabe des DCL Befehls shutdown im DECterm Fenster e Zeigen Sie die aktuelle ISA Configuration Table an mit dem Befehl gt gt gt show config e Suchen Sie den zu entfernenden Slot und geben Sie den Be fehl ein gt gt gt isacfg slot lt slot gt dev 0 rm Beispiel f r einen PAD PC auf Slot 1 gt gt gt isacfg slot 1 dev 0 rm e Aktivieren Sie die nderungen der ISA Configuration Table mit dem Befehl gt gt gt init 3 9 2 EISA Bus Hardwarekonfiguration mit ECU Das ECU ist auf einer gesonderten Diskette die mit dem System geliefert wird enthalten ECU ist ein men gesteuertes Programm mit ausf hrlicher Hilfefunktion Weitere Informationen sind in der Hardwaredokumentation des Systems zu finden Mit Hilfe des ECU k nnen folgende Aufgaben realisiert werden 1 Ermitteln der aktuellen EISA Konfiguration Die beinhaltet die bersicht ber die genutzten und freien Ressourcen IRQs I O Portadressen und die Belegung der einzelnen Slots 2 Karten zum System hinzuf gen oder entfernen 3 Anzeige und Modifikation der Daten zu den einzelnen Slots 39 1992 98 APEX Automationstechnik GmbH Braunschweig Stand 02 11 1998 3 Installation Treiber 3 9 DEC AlphaStation OpenVMS AXP 6 2 7 0 40 Programmierhandbu
41. eingestell ten Adressen auf dem PDnet Controller bereinstimmen e ndern Sie gegebenenfalls die DIP Schalter auf dem PDnet Controller Nach dem Neustart von OS 2 benutzt der Einheitentreiber APEX PAD SYS APEX PDnet Controller Driver die in der Datei CON FIG SYS eingestellten Ressourcen Ein Anwendungsprogramm kann dann ber den Einheitentreiber auf den PDnet Controller PAD zugreifen Falls Sie auch DOS Programme unter OS 2 ausf hren wollen sollten Sie das PAD Speicherfenster vor EMS Zugriffen sch tzen e ffnen Sie f r die DOS Fenster Symbole mit der rechten Maustaste den Men punkt Einstellungen 32 Stand 02 11 1998 1992 98 APEX Automationstechnik GmbH Braunschweig Programmierhandbuch PAD Interface e Bet tigen Sie auf der Seite Sitzung den Schalter DOS Einstellungen e Lassen Sie sich alle Einstellungen anzeigen und w hlen Sie in der Liste MEM_EXCLUDE_REGIONS aus e Tragen Sie hier den Speicherbereich des PAD Speicherfensters ein z B D0000 E0000 3 6 2 Einheitentreiber konfigurieren Falls Sie den Einheitentreiber APEX PAD SYS bereits installiert haben und die eingestellte Konfiguration l O Port Bereich und Speicherbereich ndern wollen gehen Sie wie folgt vor e ffnen Sie ein OS 2 Fenster e Geben Sie im OS 2 Fenster den Befehl ein E C CONFIG SYS e Suchen Sie im Editor E EXE in der Datei CONFIG SYS die Zeile in welcher der Einheitentreiber APEX PAD
42. erweiterten Lifeliste stehen f r jeden PAD der online ist zu s tzliche Daten ber seine parametrierten Treiber tExtLifeListTin Stand 02 11 1998 1992 98 APEX Automationstechnik GmbH Braunschweig Programmierhandbuch PAD Interface 7 23 PDnet_ExtOnLineStatus Ermittelt ber welche LAN Kan le ein PAD im PDnet erreichbar ist function PDnet_ExtOnLineStatus PDnetId UINT8 var aBus UINT8 var bBus UINT8 INT16 INT16 PDnet_ExtOnLineStatus UINT8 PDnetlid UINT8 aBus UINT8 bBus UE e PDnetld In PDnetld wird die PDnet Stationsadresse des abzufragenden PADs angegeben e aBus ber aBus wird ein Wert ungleich 0 zur ckgegeben wenn der Teilnehmer ber den Kanal LAN A erreichbar ist Andernfalls ist aBus 0 e bBus ber bBus wird ein Wert ungleich O zur ckgegeben wenn der Teilnehmer ber den Kanal LAN B erreichbar ist Andernfalls ist bBus 0 e Bei erfolgreicher Ausf hrung wird GPDNET_OK zur ckgege ben Andernfalls wird ein CPDNET_ Fehlercode geliefert Diese Funktion ist f r redundante PADs relevant da sie die Ver f gbarkeit eines PAD ber die beiden LAN Kan le getrennt aus wertet Die Funktion pr ft anhand der PDnet Lifeliste ob der PAD ber die LAN Kan le erreichbar ist 7 API Referenz 7 23PDnet_ExtOnlLineStatus AUFGABE PASCAL DEFINITION C DEFINITION EINGABEWERTE AUSGABEWERTE R CKGABEWERT BESCHREIBUNG 139 1992 98 APEX
43. gegenseitig die Ge ndert flags l schen L I 63 1992 98 APEX Automationstechnik GmbH Braunschweig Stand 02 11 1998 4 Installation Bibliothek 4 5 IBM PC Windows NT 3 5x 4 00 HINWEIS 64 Programmierhandbuch PAD Interface 45 5 Watcom C 10 0 Die Bibliothek wird in Form einer Importbibliothek LIB und einer dynamischen Linkbibliothek DLL geliefert Damit Watcom C 10 0 auf die DLL zugreifen kann kopieren Sie die Importbibliothek PADITF32 LIB in Ihr Projektverzeichnis und die Datei PA DITF32 DLL in das Verzeichnis Ihres Anwenderprogramms Bin den Sie danach die Importbibliothnek PADITF32 LIB in Ihr Pro gramm ein Folgende Dateien befinden sich auf der mitgelieferten Diskette Verzeichnis Dateiname Beschreibung Weitergabe SRC PAD2DLL H Headerdatei f r Anpassung an NEIN PADITF32 H SRC PADITF32 H Headerdatei f r PADITF32 DLL NEIN SRC PADDEFI H Headerdatei f r Basis Typdefini NEIN tionen SRC PADITF H Headerdatei f r Funktionen NEIN PAD_ SRC PADLIB H Headerdatei f r Funktionen NEIN PDnet_ SRC PADVDM H Headerdatei f r Funktionen NEIN VDM_ SRC PADTEST H Headerdatei f r Beispielpro NEIN gramm SRC PADTEST C Quellcode f r Beispielprogamm NEIN 1 Teil SRC PADTEST1 C Quellcode f r Beispielprogramm NEIN 2 Teil SRC PADTEST2 C Quellcode f r Beispielprogamm NEIN 3 Teil WNTWAT10 PADITF32 DLL Dynamische Linkbibliothek mit JA Funktionen PAD_ PDnet
44. if PDnet_OnLineStatus loop online CPDNET_OK then if ILifeListe loop lt gt online then begin write Teilnehmer loop if online gt 0 then writeln angemeldet else writeln abgemeldet ILifeListe loop online end end end begin Hauptprogramm fillchar ILifeListe SizeOf ILifeListe 0 while not begin repeat Ueberprufelifeliste until keypressed end end C BEISPIEL INT16 LifeListChanged 0 if PDnet_LifeListChanged amp LifeListChanged CPDNET_OK if LifeListChanged 0 printf Die Lifeliste hat sich ge ndert n SIEHE AUCH PDnet OnlineStatus PDnet_ExtOnLineStatus 146 Stand 02 11 1998 1992 98 APEX Automationstechnik GmbH Braunschweig Programmierhandbuch PAD Interface 7 28 PDnet_OnLineNodeCount Ermittelt die Anzahl der PADs die zur Zeit online sind function PDnet_OnLineNodeCount var Count UINT8 INT16 INT16 PDnet_OnLineNodeCount UINT8 Count L e Count ber Count wird die Anzahl aller PADs zur ckgeliefert die in der PDnet Lifeliste online sind e Bei erfolgreicher Ausf hrung wird GPDNET_OK zur ckgege ben Andernfalls wird ein CPDNET_ Fehlercode geliefert Die Funktion z hlt alle online Eintr ge der PDnet Lifeliste und lie fert deren Anzahl count UINT8 if PDnet_OnLineNodeCount count CPDNET_OK then begin writeln Zur Zeit sind count Teilnehmer Online
45. nnen Sie die PAD Interface Bibliothek auch in eine echte OS 2 Anwendung einbinden Starten Sie das Programm PADTEST EXE ber ein Symbolan zeigefenster oder ein OS 2 Fenster Das Programm ben tigt keine Parameter da die vom PAD verwendeten Ressourcen aus der Datei CONFIG SYS von OS 2 gelesen werden Die Bibliothek greift ber die dynamische Linkbibliothek PADITF32 DLL auf den Einheitentreiber APEX PAD SYS zu Die PADITF32 DLL ist zwar reentrantf hig wenn die DLL jedoch von mehreren Programmen gleichzeitig benutzt wird d rfen keine zwei Programme auf den gleichen PAD Speicher zugreifen da sie sich sonst gegenseitig die Ge ndertflags l schen 8 6 2 VisualAge C 3 0 Wenn Sie alle Dateien aus den Verzeichnissen SRC und OS2VAGES in ein Verzeichnis kopieren und aus diesem Verzeich Stand 02 11 1998 1992 98 APEX Automationstechnik GmbH Braunschweig Programmierhandbuch PAD Interface nis VisualAge C aufrufen erzeugt die beiliegende Projektdatei PADTEST das Testprogramm PADTEST EXE Eventuell m ssen Sie im VisualAge C im Men View Settings Location die Verzeichnisangaben f r Ihr System anpassen Das Beispielprogramm PADTEST C wurde f r die OS 2 Konsole erzeugt damit es im Textmode in einem OS 2 Fenster l uft Selbstverst ndlich k nnen Sie die PAD Interface Bibliothek auch in eine echte OS 2 Anwendung einbinden Starten Sie das Programm PADTEST EXE ber ein Symbolan zeigefenster oder ein
46. reentrantf hig wenn die DLL jedoch von mehreren Programmen gleichzeitig benutzt wird d rfen keine zwei Programme auf den gleichen PAD Speicher zugreifen da sie sich sonst gegenseitig die Ge ndertflags l schen Stand 02 11 1998 1992 98 APEX Automationstechnik GmbH Braunschweig Programmierhandbuch PAD Interface 8 4 2 Borland C 4 5 Wenn Sie alle Dateien aus den Verzeichnissen SRC und W95BC45 in ein Verzeichnis kopieren und aus diesem Verzeichnis Borland C aufrufen erzeugt die beiliegende Projektdatei PADTEST IDE das Testprogramm PADTEST EXE Eventuell m ssen Sie im Borland C im Men Optionen Projekt Verzeichnisse die Verzeichnisangaben f r Ihr System anpassen Das Beispielprogramm PADTEST C wurde f r die WIN32 Konsole erzeugt damit es im Textmode in der Eingabeaufforderung von Windows 95 l uft Selbstverst ndlich k nnen Sie die PAD Interface Bibliothek auch in eine echte Windowsanwendung einbinden Starten Sie das Programm PADTEST EXE ber den Explorer oder die Eingabeaufforderung von Windows 95 Das Programm ben tigt keine Parameter da die vom PAD verwendeten Ressour cen aus der Registrierdatenbank von Windows 95 gelesen werden Die Bibliothek greift ber die dynamische Linkbibliothek PADITF32 DLL auf den Ger tetreiber PADITF32 VXD zu Die PADITF32 DLL ist zwar reentrantf hig wenn die DLL jedoch von mehreren Programmen gleichzeitig benutzt wird d rfen keine zwei Programme auf den g
47. und die Hea derdatei PAD2DLL H in Ihr Programm ein Folgende Dateien befinden sich auf der mitgelieferten Diskette Verzeichnis Dateiname Beschreibung Weitergabe README TXT nderungen und Erg nzungen NEIN der gedruckten Dokumentation SRC PAD2DLL H Headerdatei f r Anpassung an NEIN PADITF32 H SRC PADITF32 H Headerdatei f r PADITF32 DLL SRC PADDEFI H Headerdatei f r Basis Typdefini NEIN tionen SRC PADITF H Headerdatei f r Funktionen NEIN PAD_ SRC PADLIB H Headerdatei f r Funktionen NEIN PDnet_ SRC PADVDM H Headerdatei f r Funktionen NEIN VDM_ SRC PADTEST H Headerdatei f r Beispielpro NEIN gramm SRC PADTEST C Quellcode f r Beispielprogramm NEIN 1 Teil SRC PADTEST1 C Quellcode f r Beispielprogramm NEIN 2 Teil SRC PADTEST2 C Quellcode f r Beispielprogramm NEIN 3 Teil OS2BC20 PADITF32 DLL Dynamische Linkbibliothek mit JA Funktionen PAD_ PDnet_ VDM_ OS2BC20 PADITF32 LIB Importbibliothek f r PA NEIN DITF32 DLL OS2BC20 PADTEST PRJ Projektdatei f r Beispielpro NEIN gramm OS2BC20 PADTEST EXE Ausf hrbares Beispielprogramm Der Zugriff der DLL auf den PAD erfolgt ber den Einheitentreiber H NWEIS APEX PAD SYS Die PADITF32 DLL ist zwar reentrantf hig wenn die DLL jedoch von mehreren Programmen gleichzeitig benutzt wird d rfen keine zwei Programme auf den gleichen PAD 65 1992 98 APEX Automationstechnik GmbH Braunschweig Stand 02 11 1998 Programmie
48. wenn die DLL jedoch von mehreren Programmen gleichzeitig benutzt wird d rfen keine zwei Programme auf den gleichen PAD Speicher zugreifen da sie sich sonst gegenseitig die Ge ndertflags l schen 8 Beispielprogramm 8 6 IBM PC OS 2 Warp 3 4 HINWEIS ACHTUNG HINWEIS ACHTUNG 173 1992 98 APEX Automationstechnik GmbH Braunschweig Stand 02 11 1998 8 Beispielprogramm 8 7 IBM PC QNX 3 21 Protected Mode HINWEIS 174 Programmierhandbuch PAD Interface 8 7 IBM PC QNX 3 21 Protected Mode Das Beispielprogramm PADTEST f r QNX 3 21 Protected Mode ist f r folgende Compiler verf gbar 871 C86 f r QNX Die beiliegende Datei makefile erzeugt das Testprogramm padtest Eventuell m ssen Sie in der Datei makefile die Verzeichnisanga ben f r Ihr System anpassen Au erdem mu sich der C Compiler C86 cq im Verzeichnis cmds befinden und seine Include Dateien im Verzeichnis cii include Vor dem ersten Aufruf von C86 mu das Programm dyna in ei nem Hintergrundtask gestartet werden e dyna amp Dem Testprogramm PADTEST EXE k nnen Sie als Parameter mit 1lO xxx die I O Portadresse und mit MEM xxxx die Segmentadresse des PAD PC angeben Mit dem Parameter H erhalten Sie eine kurze Hilfe zu den Parametern Die Parameterangaben MEM und lO m ssen mit den Adressen bereinstimmen die auf dem PAD PC mit dem DIP Schalter SW1 eingestellt sind D
49. zur ckge geben DAD Int mu vor dem Aufruf einer anderen API Funktion aufge rufen werden Danach k nnen die API Funktionen auf den lokalen PAD zugreifen bis die Verbindung mit PAD_Done getrennt wird PAD_Done PAD_Select 7 11 1 IBM PC DOS Real Mode function PAD_Init alrgNo UINT8 aMemSeg UINT16 alOBase UINT16 PcCheckTmrVal UINT16 var handle UINT16 UINTI6 INT16 PAD_Init UINT8 alrqNo UINT16 aMemSeg UINT16 alOBase UINT16 PcCheckTmrVal UINT16 handle e alrqNo In alrqNo wird die auf dem PAD eingestellte IRQ Adresse ber geben Der Parameter wird zur Zeit noch nicht von der Biblio thek ausgewertet Stand 02 11 1998 1992 98 APEX Automationstechnik GmbH Braunschweig Programmierhandbuch PAD Interface 7 API Referenz 7 11PAD_Init e aMemSeg In aMemSeg wird das Speichersegment des lokalen PAD ber geben Die Adresse mu mit den Einstellungen der DIP Schalter SW1 auf dem PAD bereinstimmen e alOBase In alOBase wird die O Port Adresse des lokalen PAD berge ben Die Adresse mu mit den Einstellungen der DIP Schalter SW1 auf dem PAD bereinstimmen e PcCheckTmrVal PcCheckTmrVal setzt die Zeit in 10ms Schritten innerhalb der PAD die laufende Anwendung berwacht Die Anwendung mu die Funktion PAD_LifeCheck innerhalb dieser Zeit aufrufen damit der PAD ein laufendes Anwenderprogramm erkennt e handle AUSGABEWERTE ber handle wird eine eindeutig
50. 11 1998 1 Einf hrung 2 1 IBM PC DOS Real Mode 6 Programmierhandbuch PAD Interface 1 Einf hrung ber das PDnet Proze datennetzwerk werden Daten zwischen verschiedenen Endger ten SPS Workstations PCs ausge tauscht Jedes Endger t wird ber einen PDnet Controller PAD mit dem PDnet verbunden Mit dem Projektierungsprogramm Net Pro werden die PADs im PDnet konfiguriert und die Quellen und Ziele der zu bertragenen Proze daten festgelegt Die Firmware der PADs bertr gt die ge nderten Daten zwischen den PADs Der Datenaustausch zwischen PAD und SPS erfolgt ber Sonder Funktionsbausteine die im SPS Programm aufgerufen werden Auf dem PC und auf Workstations wird die PAD Interface Biblio thek ben tigt um die Daten zwischen dem Anwenderprogramm und dem PAD auszutauschen Die vorliegende PAD Interface Bibliothek bildet die Schnittstelle zwischen der Applikation und dem PDnet Sie enth lt API Funktionen Application Programming Interface zur berwachung der PDnet Controller zum Senden und Empfangen von Tele grammen sowie zur bertragung von Proze variablen ber das virtuelle Datenmodell VDM des PDnet Auf die PDnet Controller sollte nur ber die API Funktionen der PAD Interface Bibliothek zugegriffen werden da ein direkter Zugriff auf den PAD Speicher Fehlfunktionen hervorrufen kann Die PAD Interface Bibliothek bietet folgende Vorteile e Alle Hardwarezugriffe werden Zentral in einer Bibliothe
51. 2 11 1998 1992 98 APEX Automationstechnik GmbH Braunschweig Programmierhandbuch PAD Interface 4 Installation Bibliothek Das folgende Kapitel beschreibt die Dateien der PAD Interface Bibliothek Die Bibliothek unterliegt den Copyright Bestimmungen der APEX Automationstechnik GmbH Nur Dateien die f r die Weitergabe freigegeben sind d rfen unver ndert weiterverkauft werden F r die folgenden Plattformen ist die PAD Interface Bibliothek ver f gbar 4 1 IBM PC DOS Real Mode Die PAD Interface Bibliothek f r DOS Real Mode Programme ist f r folgende Compiler verf gbar 4 1 1 Borland Pascal 7 0 Die Bibliothek wird in Form von Units TPU geliefert Diese Units werden von Borland Pascal in das Programm eingebunden Damit Borland Pascal die Units einbinden kann m ssen Sie die entspre chenden Dateien von der Diskette in das Unit Verzeichnis Ihres Projektes kopieren Folgende Dateien befinden sich auf der mitgelieferten Diskette Verzeichnis Dateiname Beschreibung Weitergabe README TXT nderungen und Erg nzungen NEIN der gedruckten Dokumentation SRC PADDEFI DOK Interfacedokumentation der Unit NEIN PADEFI TPU SRC PADITF DOK Interfacedokumentation der Unit NEIN PADITF TPU SRC PADLIB DOK Interfacedokumentation der Unit NEIN PADLIB TPU SRC PADLIB DOK Interfacedokumentation der Unit NEIN PADVDM TPU SRC PADTEST PAS Quellcode f r Beispielprogramm NEIN 4 Installation Bibliothek 4 1 IBM PC DOS R
52. 2 98 APEX Automationstechnik GmbH Braunschweig Programmierhandbuch PAD Interface 1 IRQ Interrupt F r den JDDriver ist kein Interrupt zu konfigurieren 2 O Portadresse F r den JDDriver ist eine der m glichen Basisadressen f r den O Port auszuw hlen und einzustellen Die l O Basisadresse darf von keinem anderem EISA ISA Ger t im System genutzt werden Auf Konsolebene des Systems kann dies mit Hilfe des Kommandos ISACFG oder dem ECU EISA Configuration Utili ty berpr ft werden ber die I O Basisadresse werden die 1 0 Ports der Karte adressiert Die I O Basisadresse mu f r jede E ISA Karte im System eindeutig sein Ab der eingestellten Adressen werden 8 I O Ports 8 Byte genutzt 3 Speicheradresse F r den JDDriver ist eine der m glichen Speicheradressen aus zuw hlen und einzustellen Ab dieser Startadresse wird ein 64 kByte gro es Speicherfenster im Adre raum des EISA ISA Bus eingeblendet Dieser Adre raum darf nicht von anderen EISA ISA Ger ten im System genutzt werden Auf Konsolebe ne des Systems kann dies mit Hilfe des Kommandos ISACFG oder dem ECU EISA Configuration Utility berpr ft werden Die Speicheradresse mu eindeutig f r alle EISA ISA Ger te im System sein Die belegten Adre r ume d rfen sich nicht berlappen Nach der Konfiguration der Hardwareparameter kann die Karte entsprechend den Hinweisen in der Hardwaredokumentation der AlphaStation und der Hardwaredokumentat
53. 2 98 APEX Automationstechnik GmbH Braunschweig Stand 02 11 1998 Programmierhandbuch PAD Interface 5 Typen Referenz 5 1 INT8 UINT32 5 1 INT3 UINT32 F r die Bibliothek existieren neue Datentypen die auf allen Platt formen das gleiche Format haben Datentyp L nge Bereich Pascal Typ C Typ INT8 8Bits 128 bis 127 shortint signedchar 16 Bits 32768 bis 32767 integer signed short int UINT16 16 Bits 0 bis 65535 unsigned short int INT32 32 Bits 2147483648 bis longint signed long int 2147483647 UINT32 32 Bits 0 bis 4294967295 unsigned long int F r die Pascal Bibliothek sind noch weitere Datentypen definiert die Zeiger auf die oben genannten Datentypen bilden Datentyp L nge Beschreibung Pascal Typ pINT8 32 Bits Zeiger auf INT8 NT8 pUINT8 32 Bits Zeiger auf UINT8 pINT16 32 Bits Zeiger auf INT16 INT16 pUINT16 32 Bits Zeiger auf UINT16 UINT16 pINT32 32 Bits Zeiger auf INT32 NT16 pUINT32 32 Bits Zeiger auf UINT32 UINT16 78 Stand 02 11 1998 1992 98 APEX Automationstechnik GmbH Braunschweig Programmierhandbuch PAD Interface 5 2 PVVAL Die Datenstruktur PVVAL enth lt einen Proze wert in der Struktur variablen mit dem zugeh rigen VDM Datentyp type PVVA record case 0 O OO JO OG GA b i oO OD vs GA end typedef u UINT8 INT8 UINT16 INT16 UINT32 INT32 float double long do char char char UINT8 UINT8 UINT16 UINT32
54. 24 7 11 12 Motorola 8420 System Vim pk 125 7 12 SR Le EE 126 7 13 DAD Heceive elegram 127 7 14 BE Keesen EE ET 128 7 15 DAD Bxvb uttertmptv 130 7 16 PAD Select nase een 131 7 17 DAD Gend elegram nennen 132 7 18 PAD SECH EE 134 7 19 PAD_TxBufferEMpty nn 135 7 20 PAD Versioninfo3 rmrrananar ann 136 7 21 PAD Write netten 137 7 22 PDnet Ev Heller 138 7 23 PDnet_ExtOnLineStatus nnaoaanannnnnneeennnnnnrnnnnnna 139 7 24 PDjet FlagByte A 141 7 25 PDnet_GroupAdr ussssssssnnnnnnnnnnnnnnnnnnnnnnnnnnnnn nn 142 7 26 PDnet_GroupMembers ss nnnnnnnennnnnnn 143 7 27 PDnet_LifeListChanged nn 145 7 28 DDnet Ont pehode C oun 147 7 29 PDnet_OnLineStatus 0aannnnennneeannnnnnnnseennnnnnennsenna 148 7 30 VDM Check DN 150 7 31 VDMIDONePV seen 151 7 32 VDM_GetNextVdmHeader nnnnnnsoaannnnnnnnsennnnnnnnnn 152 7 33 VDM In PV aia ee 153 7 34 VDM Read PV adadadadndadndadadadndadnenda 154 7 35 VDM Write DV 155 8 Beispielprogramm uussununnannnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnn 157 8 1 IBM PC DOS Real Mode 158 8 1 1 Borland Pascal 70 158 8 1 2 Borland C 32 159 8 2 IBM PC DOS Protected Mode 160 8 2 1 Borland Pascal 70 160 8 3 IBM PC Windows 371 161 8 3 1 Borland Pascal 70 161 8 3 2 B rlandiGH 3 1 162 8 4 IBM PC Windows Op 164 8 4 1 Borland Delphi 20 164 8 4 2 Borland C Ap 165 8 4 3 Microsoft Visual C 20 165 8 4 4 Microsoft Visual C A0 166 8 4 5 Watcom Con 166 4
55. 4 00 ACHTUNG HINWEIS ACHTUNG 170 Programmierhandbuch PAD Interface Die Bibliothek greift ber die dynamische Linkbibliothek PADITF32 DLL auf den Ger tetreiber PADITF32 SYS zu Die PADITF32 DLL ist zwar reentrantf hig wenn die DLL jedoch von mehreren Programmen gleichzeitig benutzt wird d rfen keine zwei Programme auf den gleichen PAD Speicher zugreifen da sie sich sonst gegenseitig die Ge ndertflags l schen 8 5 4 Microsoft Visual C 4 0 Wenn Sie alle Dateien aus den Verzeichnissen SRC und WNTMSVC4 in ein Verzeichnis kopieren und aus diesem Ver zeichnis Visual C 4 0 aufrufen erzeugt die beiliegende Projekt datei PADTEST MDP das Testprogramm PADTEST EXE Eventuell m ssen Sie im Visual C 4 0 im Register FileView die Projektdateien l schen und im Men Insert Files into Project die neuen Projektdateien eintragen Das Beispielprogramm PADTEST C wurde f r die WIN32 Konsole erzeugt damit es im Textmode in der Eingabeaufforderung von Windows NT l uft Selbstverst ndlich k nnen Sie die PAD Interface Bibliothek auch in eine echte Windowsanwendung ein binden Starten Sie das Programm PADTEST EXE ber den Dateimana ger oder die Eingabeaufforderung von Windows NT Das Pro gramm ben tigt keine Parameter da die vom PAD verwendeten Ressourcen aus der Registrierdatenbank von Windows NT gele sen werden Die Bibliothek greift ber die dynamische Linkbibliothek PADITF32 DLL auf den Ger tetreiber
56. 420 System V m8 amp k GNU C ANSI C Die mit gekennzeichneten Versionen der Bibliothek sind in Vor bereitung und noch nicht verf gbar Um die Bibliothek verwenden zu k nnen mu der entsprechende Compiler vorhanden sein Die Bibliothek bernimmt die gesamte Kommunikation mit dem PAD Die Bibliothek arbeitet bei den Pa rametern mit Zeigern und Datenstrukturen der Umgang damit sollte dem Programmierer gel ufig sein Dieses Programmierhandbuch der PAD Interface Bibliothek be steht aus folgenden Teilen e Teil 1 Einleitung bietet einen kurzen berblick ber die PAD Interface Bibliothek e Teil 2 Installation Hardware beschreibt welche PDnet Controller auf der jeweiligen Plattform unterst tzt werden e Teil 3 Installation Treiber beschreibt f r jede Plattform die Installation evt ben tigter Ger tetreiber f r die PDnet Controller 1 Einf hrung 2 1 IBM PC DOS Real Mode ANMERKUNG 7 1992 98 APEX Automationstechnik GmbH Braunschweig Stand 02 11 1998 1 Einf hrung 2 1 IBM PC DOS Real Mode 8 Programmierhandbuch PAD Interface Teil 4 Installation Bibliothek befa t sich mit den Dateien der PAD Interface Bibliothek und deren Installation Teil 5 Typen Referenz enth lt die in der PAD Interface Biblio thek definierten Typen Teil 6 Konstanten Referenz befa t sich mit den Konstanten der PAD Interface Bibliothek Teil 7 API Referenz
57. 5 5 Ger tetreiber deinstallieren Wenn Sie einen installierten PDnet Controller entfernen wollen e W hlen Sie im Startmen Einstellungen e ffnen Sie die Programmgruppe Systemsteuerung e Doppelklicken Sie auf das Symbol PDnet in der Systemsteue rung Es erscheint das Register Eigenschaften f r PDnet e Selektieren Sie in der Liste den zu entfernenden APEX PDnet Controller e Klicken Sie auf die Schaltfl che Entfernen e Best tigen Sie das Entfernen des PDnet Controllers durch Klik ken der Schaltfl che Ja e Schlie en Sie das Register Eigenschaften f r PDnet mit der Schaltfl che OK e Starten die den Computer neu e Schlie en Sie die Systemsteuerung e Anschlie end k nnen Sie die Dateien l schen lt WINDIR gt SYSTEM32 DRIVERS PADITF32 SYS lt WINDIR gt SYSTEM32 PADITFNT CPL 30 Stand 02 11 1998 1992 98 APEX Automationstechnik GmbH Braunschweig Programmierhandbuch PAD Interface 3 Installation Treiber 3 6 IBM AT OS 2 Warp 3 4 3 6 IBM AT OS 2 Warp 3 4 Da beim Betriebssystem OS 2 nicht direkt auf die Hardware zuge griffen werden kann erfolgt der Zugriff auf den PDnet Controller PAD ber einen Einheitentreiber Dazu mu nach dem Einbau des PDnet Controllers der Einheitentreiber PADITF32 SYS auf die Festplatte von OS 2 kopiert werden und der Einheitentreiber mit den verwendeten Ressourcen l O Port Bereich und Speicherbe reich in die Datei CONFI
58. 5 IBM PC Windows NT 3 5x 4 00 HINWEIS ACHTUNG 168 Programmierhandbuch PAD Interface 8 5 IBM PC Windows NT 3 5x 4 00 Bevor Sie das Beispielprogramm starten k nnen m ssen Sie un ter Windows NT erst den Ger tetreiber PADITF32 SYS installieren N here Hinweise zur Installation des Ger tetreibers finden Sie im Kapitel Installation Treiber bzw in den Dateien READNT35 TXT und READNT40 TXT auf der Lieferdiskette Au erdem mu sich die dynamische Linkbibliothek PADITF32 DLL im Applikationsverzeichnis oder im Suchpfad befinden Das Beispielprogramm PADTEST f r Windows NT 3 5x 4 00 ist f r folgende Compiler verf gbar 85 1 Borland Delphi 2 0 Wenn Sie alle mitgelieferten Dateien aus den Verzeichnissen SRC und DELPHI2O in ein Verzeichnis kopieren und aus diesem Ver zeichnis Borland Delphi 2 0 aufrufen erzeugt das beiliegende Beispielprogramm PADTEST DPR das Testprogramm PADTEST EXE Eventuell m ssen Sie im Borland Delphi 2 0 im Men Projekt Optionen Verzeichnisse die Verzeichnisangaben f r Ihr System anpassen Das Beispielprogramm PADTEST DPR wurde f r die WIN32 Konsole erzeugt damit es im Textmode in der Eingabeaufforde rung von Windows NT l uft Selbstverst ndlich k nnen Sie die PAD Interface Bibliothek auch in eine echte Windowsanwendung einbinden Starten Sie das Programm PADTEST EXE ber den Dateimana ger oder die Eingabeaufforderung von Windows NT Das Pro gramm ben tigt keine Param
59. 8 Programmierhandbuch PAD Interface 4 Installation Bibliothek 4 3 IBM PC Windows 3 1 Folgende Dateien befinden sich auf der mitgelieferten Diskette Verzeichnis Dateiname Beschreibung Weitergabe README TXT nderungen und Erg nzungen NEIN der gedruckten Dokumentation SRC PAD2DLL H Headerdatei f r Anpassung an NEIN PADITF16 H SRC PADITF16 H Headerdatei f r PADITF16 DLL SRC PADDEFI H Headerdatei f r Basis Typdefini NEIN tionen SRC PADITF H Headerdatei f r Funktionen NEIN PAD_ SRC PADLIB H Headerdatei f r Funktionen NEIN PDnet_ SRC PADVDM H Headerdatei f r Funktionen NEIN VDM_ SRC PADTEST H Headerdatei f r Beispielpro NEIN gramm SRC PADTEST C Quellcode f r Beispielprogramm NEIN 1 Teil SRC PADTESTI1 C Quellcode f r Beispielprogramm NEIN 2 Teil SRC PADTEST2 C Quellcode f r Beispielprogramm NEIN 3 Teil W31BC31 PADITF16DLL Dynamische Linkbibliothek mit JA Funktionen W31BC31 PADITF16 LIB Importbibliothek f r PA NEIN DITF16 DLL W31BC31 PADTEST PRJ Projektdatei f r Beispielpro NEIN gramm W31BC31 PADTEST EXE Ausf hrbares Beispielprogramm HINWEIS Die PADITF16 DLL ist nicht reentrantf hig da sie globale Varia blen benutzt Deshalb darf nur ein Programm gleichzeitig auf die PADITF16 DLL zugreifen 54 Stand 02 11 1998 1992 98 APEX Automationstechnik GmbH Braunschweig Programmierhandbuch PAD Interface 4 4 IBM PC Windows 95 Die PAD Interface Bibliothek f
60. AD_ReceiveTelegram tTelegram telegram e telegram In telegram wird die Adresse des zu empfangenen Telegramms bergeben Die Felder des Telegramms entnehmen Sie dem Typ tTelegramm e Bei erfolgreicher Ausf hrung wird CPDNET_OK zur ckgege ben Andernfalls wird ein CPDNET_ Fehlercode geliefert Z B CPDNET_RX_EMPTY wenn kein Telegramm im Emp fangspuffer verf gbar ist Diese Funktion bernimmt ein im PAD bereitstehendes Empfang stelegramm und kopiert es nach telegramm Das Anwenderprogramm mu zyklisch alle empfangenen Tele gramme ber PAD_ReceiveTelegramm abholen damit es zu kei nen Verstopfungen im Netz kommt procedure EmpfangeTelegramme var tg tTelegram begin tg Semaphore 0 tg Len 0 if PAD_ReceiveTelegram tg CPDNET_OK then begin case Tg Typ of 7 API Referenz 7 13PAD_ReceiveTelegram SIEHE AUCH AUFGABE PASCAL DEFINITION C DEFINITION AUSGABEWERTE R CKGABEWERT BESCHREIBUNG ACHTUNG PASCAL BEISPIEL 127 1992 98 APEX Automationstechnik GmbH Braunschweig Stand 02 11 1998 7 API Referenz 7 14PAD_Result C BEISPIEL SIEHE AUCH AUFGABE PASCAL DEFINITION C DEFINITION R CKGABEWERT BESCHREIBUNG 128 Programmierhandbuch PAD Interface end end end void EmpfangeTelegramme void static tTelegram tg 0 tg Semaphore 0 tg Len 0 if PAD_ReceiveTelegram amp tg CPDNET_OK switch tg Typ
61. Betreibssystem an wenn der Ge r tetreiber pdnet geladen wird In aSlotNum wird die Ger tenummer X im Ger tenamen angegeben e PcCheckTmrVal PcCheckTmrVal setzt die Zeit in 10ms Schritten innerhalb der PAD die laufende Anwendung berwacht Die Anwendung mu die Funktion PAD_LifeCheck innerhalb dieser Zeit aufrufen damit der PAD ein laufendes Anwenderprogramm erkennt AUSGABEWERTE e handle ber handle wird eine eindeutiger Wert zur ckgegeben mit dem die Funktion PAD_Select den initialisierten PAD w hlen kann Der handle wird ben tigt wenn die PAD Interface Biblio thek mehrere PADs im lokalen Endger t verwalten soll Befin det sich nur ein PAD im lokalen Endger t kann handle ver nachl ssigt werden R CKGABEWERT e Bei erfolgreicher Ausf hrung wird CPDNET_OK zur ckgege ben Andernfalls wird ein CPDNET_ Fehlercode geliefert C BEISPIEL int main int argc char argv UINT16 handle PAD PCI auf Ger t dev pdnet2 if PAD_Init 2 1000 shandle CPDNET_OK printf Status der PAD Operation d n PAD_Result exit 1 PAD Funktionen aufrufen PAD Verbindung schlie en PAD_Done return 0 124 Stand 02 11 1998 1992 98 APEX Automationstechnik GmbH Braunschweig Programmierhandbuch PAD Interface 7 11 12 Motorola 8420 System V m88k INT16 PAD_Init UINT8 aBlockNr UINT16 PcCheckTmrVal UINT16 handle e In aBlockNr wird de
62. Bibliothek greift ber die dynamische Linkbibliothek PADITF32 DLL auf den Ger tetreiber PADITF32 SYS zu Die PADITF32 DLL ist zwar reentrantf hig wenn die DLL jedoch von mehreren Programmen gleichzeitig benutzt wird d rfen keine zwei Programme auf den gleichen PAD Speicher zugreifen da sie sich sonst gegenseitig die Ge ndertflags l schen 85 3 Microsoft Visual C 2 0 Wenn Sie alle Dateien aus den Verzeichnissen SRC und WNTMSVC2 in ein Verzeichnis kopieren und aus diesem Ver zeichnis Visual C 2 0 aufrufen erzeugt die beiliegende Projekt datei PADTEST VCP das Testprogramm PADTEST EXE Eventuell m ssen Sie im Visual C im Men Project Files Files in Group die Verzeichnisangaben f r Ihr System anpassen Das Beispielprogramm PADTEST C wurde f r die WIN32 Konsole erzeugt damit es im Textmode in der Eingabeaufforderung von Windows NT l uft Selbstverst ndlich k nnen Sie die PAD Interface Bibliothek auch in eine echte Windowsanwendung ein binden Starten Sie das Programm PADTEST EXE ber den Dateimana ger oder die Eingabeaufforderung von Windows NT Das Pro gramm ben tigt keine Parameter da die vom PAD verwendeten Ressourcen aus der Registrierdatenbank von Windows NT gele sen werden 8 Beispielprogramm 8 5 IBM PC Windows NT 3 5x 4 00 HINWEIS ACHTUNG HINWEIS 169 1992 98 APEX Automationstechnik GmbH Braunschweig Stand 02 11 1998 8 Beispielprogramm 8 5 IBM PC Windows NT 3 5x
63. CKGABEWERT DEFINITION DEFINITION DEFINITION DEFINITION DEFINITION DEFINITION DEFINITION DEFINITION 114 Programmierhandbuch PAD Interface e memlen ber memlen wird die ermittelte Gr e des Speicherfensters zur ckgegeben e Bei erfolgreicher Ausf hrung wird GPDNET_OK zur ckgege ben Andernfalls wird ein CPDNET_ Fehlercode geliefert 7 7 2 IBM PC DOS Protected Mode Siehe PAD_Init f r DOS Real Mode 7 7 3 IBM PC Windows 3 1 Siehe PAD_Init f r DOS Real Mode 77 4 IBM PC Windows 95 Siehe PAD_Init f r DOS Real Mode 7 75 IBM PC Windows NT 3 5x 4 00 Siehe PAI np f r DOS Real Mode 7 716 IBM PC 0S 2 Warp 3 4 Siehe PAD_Init f r DOS Real Mode 7 7 7 IBM PC QNX 3 21 Protected Mode Siehe PAD_lInit f r DOS Real Mode 7 7 8 IBM PC QNX 4 22 Protected Mode Siehe PAD_Init f r DOS Real Mode 7 7 9 DEC AlphaStation OpenVMS AXP 6 2 7 0 Siehe PAD_Init f r DOS Real Mode Stand 02 11 1998 1992 98 APEX Automationstechnik GmbH Braunschweig Programmierhandbuch PAD Interface 7 710 SUN IPC IPX SUN OS 4 1 2 INT16 PAD_GetResources UINT8 slotnr e slotnr ber slotnr wird die Steckplatznummer des SBus zur ckgege ben auf dem der aktuelle PAD SBus steckt e Bei erfolgreicher Ausf hrung wird GPDNET_OK zur ckgege ben Andernfalls wird ein CPDNET_ Fehlercode geliefert 7 7 11 Motorola 8420 System V m88k Funktion nicht v
64. Controllers 2 Installation Hardware 2 6 IBM PC OS 2 Warp 3 4 13 1992 98 APEX Automationstechnik GmbH Braunschweig Stand 02 11 1998 2 Installation Hardware 2 8 IBM PC QNX 4 22 Protected Mode 14 Programmierhandbuch PAD Interface 2 8 IBM PC QNX 4 22 Protected Mode Von der PAD Interface Bibliothek f r IBM PC QNX 4 22 Protected Mode werden folgende PDnet Controller unterst tzt PDnet Controller LAN Anschlu PAD PC K KOAX PAD PC Kr KOAX redundant LWL PAD PC L PAD PC Lr LWL redundant PAD PC PL Plastik LWL PAD PC PLr Plastik LWL redundant PAD PG K KOAX Den Einbau entnehmen Sie bitte dem Handbuch des PDnet Controllers 2 9 DEC AlphaStation OpenVMS AXP 6 2 7 0 Von der PAD Interface Bibliothek f r DEC AlphaStation OpenVMS AXP 6 2 7 0 werden folgende PDnet Controller unter st tzt PDnet Controller LAN Anschlu PAD PC Lr LWL redundant PAD PC PL Plastik LWL PAD PC PLr Plastik LWL redundant Der PDnet Controller kann in AlphaStation System mit ISA Bus oder in AlphaServer Systemen mit EISA Bus eingebaut werden Vor dem Ausschalten des Systems ist auf jeden Fall ein Shutdown des Systems auszuf hren Die Konfiguration der Hardwareparameter erfolgt ber DIP Schalter auf der Karte Die DIP Schalter sind im Benutzerhand buch des PDnet Controllers beschrieben F r den PDnet Controller sind folgende Hardwareparameter zu konfigurieren Stand 02 11 1998 199
65. D Interface 3 5 1 Ger tetreiber installieren Zur Installation des PDnet Ger tetreibers f r Windows NT m ssen Sie die Dateien auf die Festplatte kopieren e Wenn Sie keine Administrator Rechte haben melden Sie sich als Administrator an e Legen Sie das Installationsmedium in das Laufwerk ein e ffnen Sie ber das Windows Startmen ein Eingabeauffor derungsfenster oder den Windows Explorer e Kopieren Sie folgende Dateien auf die Festplatte Datei Ziel Beschreibung PADITF32 SYS lt WINDIR gt SYSTEM32 PDnet Ger tetreiber DRIVERS PADITFNT CPL lt WINDIR gt SYSTEM32 Systemsteuerungsregister f r PDnet Ger tetreiber Anschlie end e Konfigurieren Sie die PDnet Controller in der System steuerung wie unten beschrieben Bei jedem Start von Windows NT wird nun der Ger tetreiber PADITF32 SYS APEX PDnet Controller Driver automatisch ge startet Ein Anwendungsprogramm kann ber den Ger tetreiber auf den PDnet Controller PAD zugreifen 3 5 2 Ger tetreiber konfigurieren Nachdem Sie den PDnet Ger tetreiber PADITF32 SYS installiert haben m ssen Sie die installierten PDnet Controller konfigurieren e W hlen Sie im Startmen Einstellungen e ffnen Sie die Programmgruppe Systemsteuerung e Doppelklicken Sie auf das Symbol PDnet der System steuerung 3 Installation Treiber 3 5 IBM PC Windows NT 3 5x 4 00 23 1992 98 APEX Automationstechnik GmbH Braunschweig Stand 02 11
66. DDEFI H Typdefinitionen SYS SYSROOT SYSMGR PADITF Headerdatei f r Funktionen NEIN PADITF H PAD_ SYS SYSROOT SYSMGR PADITF Headerdatei f r Funktionen NEIN PADLIB H PDnet_ SYS SYSROOT SYSMGR PADITF Headerdatei f r Funktionen NEIN PADVDM H VDM_ SYS SYSROOT SYSMGR PADITF Headerdatei f r Beispiel NEIN PADTEST H programm SYS SYSROOT SYSMGR PADITF Quellcode f r Beispielpro NEIN PADTEST C gramm 1 Teil SYS SYSROOT SYSMGR PADITF Quellcode f r Beispielpro NEIN PADTEST1 C gramm 2 Teil SYS SYSROOT SYSMGR PADITF Quellcode f r Beispielpro NEIN PADTEST2 C gramm 3 Teil SYS SYSROOT SYSMGR PADITF Funktionen PAD_ NEIN PADITF OBJ SYS SYSROOT SYSMGR PADITF Funktionen PDnet_ NEIN PADLIB OBJ SYS SYSROOT SYSMGR PADITF Funktionen VDM_ NEIN PADVDM OBJ SYS SYSROOT SYSMGR PADITF Kommandodatei zum MAKEFILE COM Compilieren des Beispiel programms SYS SYSROOT SYSMGR PADITF Ausf hrbares Beispielpro JA PADTEST EXE gramm In der Beschreibung wird nicht bei jeder Funktion Variablen o H NWEIS angegeben in welcher Bibliothek diese definiert ist da eine logi 71 1992 98 APEX Automationstechnik GmbH Braunschweig Stand 02 11 1998 4 Installation Bibliothek 4 9 DEC AlphaStation OpenVMS AXP 6 2 7 0 72 Programmierhandbuch PAD Interface sche Zuordnung ber Ihren Namen bzw der Funktionsgruppe er sichtlich ist 49 1 DECC Die PAD Interface
67. EIN tionen SRC PADITF H Headerdatei f r Funktionen NEIN PAD_ SRC PADLIB H Headerdatei f r Funktionen NEIN PDnet_ SRC PADVDM H Headerdatei f r Funktionen NEIN VDM_ SRC PADTEST H Headerdatei f r Beispielpro NEIN gramm SRC PADTEST C Quellcode f r Beispielprogramm NEIN 1 Teil SRC PADTEST1 C Quellcode f r Beispielprogramm NEIN 2 Teil SRC PADTEST2 C Quellcode f r Beispielprogramm NEIN 3 Teil OS2WAT10 PADITF32 DLL Dynamische Linkbibliothek mit JA Funktionen PAD_ PDnet_ VDM_ OS2WAT10 PADITF32 LIB Importbibliothek f r PA NEIN DITF32 DLL OS2WAT10 PADTEST WPJ Projektdatei f r Beispielpro NEIN gramm OS2WAT10 PADTEST LK1 Linkdatei f r Beispielprogramm OS2WAT10 PADTEST MK Makedatei f r Beispielprogramm NEIN OS2WAT10 PADTEST MK1 Makedatei f r Beispielprogramm NEIN OS2WAT10 PADTEST TGT Targetdatei f r Beispielpro NEIN gramm OS2WAT10 PADTEST EXE Ausf hrbares Beispielprogramm JA Der Zugriff der DLL auf den PAD erfolgt ber den Einheitentreiber HINWEIS APEX PAD SYS Die PADITF32 DLL ist zwar reentrantf hig wenn die DLL jedoch von mehreren Programmen gleichzeitig benutzt wird d rfen keine zwei Programme auf den gleichen PAD Speicher zugreifen da sie sich sonst gegenseitig die Ge ndert flags l schen 67 1992 98 APEX Automationstechnik GmbH Braunschweig Stand 02 11 1998 Programmierhandbuch PAD Interface 4 Installation Bibliothek 4 7 BM PC QN
68. EIS PASCAL BEISPIEL C BEISPIEL SIEHE AUCH 130 Programmierhandbuch PAD Interface 7 15 PAD_RxBufferEmpty Pr ft ob ein Telegramm empfangen wurde function PAD_RxBufferEmpty INT16 INT16 PAD_RxBufferEmpty void e Bei einem leeren Empfangspuffer wird CPDNET_OK zur ckge geben Andernfalls wird ein CPDNET_ Fehlercode geliefert Z B CPDNET_RX_FULL wenn ein neues Telegramm im Empfangspuffer liegt Die Funktion meldet ob ein neues Telegramm im Empfangspuffer angekommen ist Wenn dies der Fall ist sollte das Telegramm mit der Funktion PAD_ReceiveTelegram gelesen werden damit es zu keinen Verstopfungen im Netz kommt Diese Funktion ist wegen der Kompatibilit t zur alten Bibliothek noch vorhanden Die Funktion PAD_RxBufferEmpty braucht aber nicht verwendet werden da die Funktion PAD_ReceiveTelegram einen Fehler meldet wenn der Empfangspuffer leer ist if PAD_RxBufferEmpty CPDNET_RX_FULL then begin PAD_ReceiveTelegram tg case tg Typ of end end if PAD_RxBufferEmpty CPDNET_RX_FULL PAD_ReceiveTelegram amp tg switch tg Typ PAD_ReceiveTelegram Stand 02 11 1998 1992 98 APEX Automationstechnik GmbH Braunschweig Programmierhandbuch PAD Interface 7 16 PAD_Select Selektiert einen anderen PAD im lokalen Endger t function PAD_Select handle UINT16 INT16 INT16 PAD_Select UINT16 handle e In handle wird der von PAD
69. Funktion erm glicht das Beschreiben des PAD Speichers ber die PAD Adressen Die Funktion wird nur intern in der Bibliothek verwendet Der An wender sollte PAD_Write nicht benutzen da ein berschreiben des PAD Speichers an der falschen Stelle die Firmware des PAD zum Absturz bringen kann PAD_Read 7 API Referenz 7 21 PAD_Write AUFGABE PASCAL DEFINITION C DEFINITION EINGABEWERTE R CKGABEWERT BESCHREIBUNG ACHTUNG SIEHE AUCH 137 1992 98 APEX Automationstechnik GmbH Braunschweig Stand 02 11 1998 7 API Referenz 7 22PDnet_ExtLifeLlist AUFGABE PASCAL DEFINITION C DEFINITION EINGABEWERTE AUSGABEWERTE R CKGABEWERT BESCHREIBUNG SIEHE AUCH 138 Programmierhandbuch PAD Interface 7 22 PDnet_ExtLifeList Liefert die erweitere Lifeliste eines PDnet Controllers function PDnet_ExtLifelList PDnetlId UINTB8 var ExtLifeListTln tExtLifeListTln INT16 INT16 PDnet_ExtLifelist UINT8 PDnetId tExtLifeListTln ExtLifeListTln 1 e PDnetld In PDnetld wird die PDnet Stationsadresse des abzufragenden PADs angegeben e ExtLifeListTin ber ExtLifeListTIn wird das Array tExtLifeListTIn mit den Daten der erweiterten Lifeliste zur ckgegeben e Bei erfolgreicher Ausf hrung wird GPDNET_OK zur ckgege ben Andernfalls wird ein CPDNET_ Fehlercode geliefert Die erweiterte Lifeliste wird ab der Firmwareversion 2 x unterst tzt In der
70. G SYS eingetragen werden Folgende Dateien befinden sich im Root Verzeichnis auf der mit gelieferten Diskette Dateiname Beschreibung Weitergabe README TXT nderungen und Erg nzungen NEIN der gedruckten Dokumentation READMEO2 TXT Anleitung zur Installation des JA Einheitentreibers unter OS 2 APEX PAD SYS OS 2 Einheitentreiber f r PDnet JA Controller im PC Weitere Angaben zum PAD PC und PAD PG finden Sie im Kapitel IBM PC DOS Real Mode Hinweise zur Installation des Einhei tentreibers finden Sie unten bzw in der Datei READMEO2 TXT 3 6 1 Einheitentreiber installieren Damit Ihr sp terer Kunde den Einheitentreiber unter OS 2 installie ren kann sollten Sie die Dateien READMEO2 TXT und APEX PAD SYS in das Root Verzeichnis der Lieferdiskette Ihres Pro duktes kopieren Der Einheitentreiber f r den PDnet Controller wird wie folgt instal liert e Legen Sie die Diskette mit der Datei APEX PAD SYS in das Diskettenlaufwerk e ffnen Sie die Programmgruppe System e Doppelklicken Sie auf das Symbol Befehlszeilen der System Symbolanzeige e Doppelklicken Sie auf das Symbol OS 2 Fenster der Befehls zeilen Symbolanzeige e Kopieren Sie im OS 2 Fenster Sie den Treiber von der Diskette auf die Festplatte mit dem Befehl COPY A APEX PAD SYS C OS2 BOOT JN 31 1992 98 APEX Automationstechnik GmbH Braunschweig Stand 02 11 1998 Programmierhandbuch PAD Interface 3 Installation Treibe
71. Ger tetreiber konfigurie ren e Fahren Sie den Computer herunter Wollen Sie die vorgeschlagenen Ressourcen verwenden e Beantworten Sie die Frage zum Herunterfahren des Computers mit Ja e Schalten Sie nach dem Herunterfahren von Windows 95 den Computer aus e berpr fen Sie ob die Ressourcen mit den eingestellten Adressen auf dem PDnet Controller bereinstimmen e ndern Sie gegebenenfalls die Stellung der DIP Schalter auf dem PDnet Controller Nach dem Neustart von Windows 95 benutzt der Ger tetreiber PADITF32 VXD APEX PDnet Controller Driver die im Ger te Ma nager eingestellten Ressourcen 3 4 2 Ger tetreiber konfigurieren Wenn Sie den Ger tetreiber PADITF32 VXD bereits installiert ha ben und die eingestellte Konfiguration Speicherbereich und E A Bereich ndern wollen e W hlen Sie im Startmen Einstellungen e ffnen Sie die Programmgruppe Systemsteuerung e Doppelklicken Sie auf das Symbol System der Systemsteue rung e W hlen Sie die Registerkarte Ger te Manager im Register System e Doppelklicken Sie auf den Ger tetyp APEX PDnet Controller e Selektieren Sie den zu konfigurierenden APEX PDnet Controller PAD PC bzw APEX PDnet Controller PAD PG und klicken Sie auf die Schaltfl che Eigenschaften e Klicken Sie auf die Registerkarte Ressourcen im Eigen schaftsfenster Wenn keine Ressourcen angezeigt werden e Klicken Sie auf die Schaltfl che Manuell konfigur
72. Ger tetreiber laden eeccseseeneerseeresrrernerrneernne 44 3 9 6 A fruf derlVRass eini a a 45 3 10 SUN IPCG IPX SUN OS A 121 46 3 11 SUN Ultra 5 Solaris 26 46 3 11 1 Ger tetreiber mnstallieren 47 3 11 2 Ger tetreiber deinstallieren u0s0044420 47 3 12 Motorola 8420 System V m8 amp k uuuuunnnennnnnnnnnnnnnnnnnn 48 4 Installation Bibliothek uueuunnuunnonunnnnunnnnunnnnunn nun 49 4 1 IBM PC DOS Real Mode 49 4 1 1 Borland Pascal 0 49 4 1 2 Borland C 332 1 50 4 2 IBM PC DOS Protected Mode 52 4 2 1 Borland Pascal 0 52 4 3 IBM PC Windows 271 53 4 3 1 Borland Pascal 0 53 4 3 2 B rland 6H EE 53 4 4 IBM PC Windows Op 55 4 4 1 Borland Delphi 20 55 4 4 2 Borland C 4 5 uuuneeunnannnnnnnanannannnnanannannnnanannannne 56 4 4 3 Microsoft Visual C 20 57 4 4 4 Microsoft Visual C A0 58 4 4 5 Watcom C 10 02 59 4 5 IBM PC Windows NT 3 Bxid Oo0 60 4 5 1 Borland Delphi 20 60 4 5 2 Borland C Ab 61 4 5 3 Microsoft Visual C 20 62 4 5 4 Microsoft Visual C A0 63 4 5 5 Watcom C 10 0 uauueenneueannnennnnnnnnnnannnnnnnnnnnnnnn 64 4 6 IBM PC OS 2 Warp 214 65 4 6 1 Borland C 2 0 f r OG 65 4 6 2 VisualAge C3130 nenn 66 4 6 3 Watcom C 10 0 uanueenneneannnennnnennnnnnnnnnnnnnnnnnnnn 67 4 7 IBM PC QNX 3 21 Protected Mode 68 4 7 1 G86 f r al KEEN 68 4 8 IBM PC QNX 4 22 Protected Mode 69 4 8 1 Watcom ob
73. IBUNG ACHTUNG 154 Programmierhandbuch PAD Interface 7 34 VDM_Read_PV Liefert die n chste ge nderte PV aus den VDM Empfangszellen function VDM_Read_PV var aPvVal PVVAL var aDataType UINT8 var aAddrPos UINT16 aDaterFlag UINT8 INT16 INT16 VDM_Read_PV PVVAL aPvVal UINT8 aDataType UINT16 aAddrPos UINT8 aDaterFlag e aDateFlag Steht in aDateFlag CFB_DATE_CHANGED werden nur ge n derte PV s gelesen Steht in aDateFlag CFB_DATE_VALID werden nur g ltige PV s gelesen e aPvVal Liefert eine Struktur mit dem gelesenen Proze wert Je nach Datentyp mu das zugeh rige Feld von aPvVal gelesen wer den e aDataType Liefert den VDM Datentyp der Proze wertes Der Datentyp ist eine CDT_ Konstante e aAddrPos Liefert f r den Proze wert die PV Nummer im Endger t e Bei erfolgreicher Ausf hrung wird CVDM_OK zur ckgegeben Andernfalls wird ein CVDM_ bzw CPDNET_ Fehler code geliefert Z B CVDM_NO_PV_CHANGED wenn keine ge nderte bzw g ltige PV gefunden wurde Bei jedem Aufruf der Funktion VDM_Read_PV werden die VDM Empfangszellen hinter dem zuletzt gelieferten Proze wert auf n derungen berpr ft Wird ein ge nderter Proze wert gefunden liefert die Funktion diesen zur ck Vor dem ersten Aufruf von VDM_Read_PV mu VDM Inn DV aufgerufen werden Stand 02 11 1998 1992 98 APEX Automationstechnik GmbH Braunschweig Programmierhandbuch PAD In
74. ITION EINGABEWERTE R CKGABEWERT 155 1992 98 APEX Automationstechnik GmbH Braunschweig Stand 02 11 1998 Programmierhandbuch PAD Interface 7 API Referenz 7 35VDM Write_PV BESCHREIBUNG Die Funktion VDM Write DV schreibt einen Proze wert in alle VDM Sendezellen mit dem bergebenen Datentyp und der ber gebenen PV Nummer Der zu schreibende Proze wert mu in aPvVal in das Feld mit dem zugeh rigen Datentyp eingetragen werden ACHTUNG Vor dem ersten Aufruf von PV_Write_PV mu VDM Init_PV aufge rufen werden F r Gleitkommazahlen verwendet die PAD Interface Bibliothek das IEEE Format Auf Plattformen die kein IEEE Format unterst tzen k nnen keine Gleitkommazahlen verwendet werden SIEHE AUCH VDM Init_PV VDM_Read_PV VDM_Check_PV 156 Stand 02 11 1998 1992 98 APEX Automationstechnik GmbH Braunschweig Programmierhandbuch PAD Interface 8 Beispielprogramm Dieses Kapitel beschreibt das in der PAD Interface Bibliothek ent haltende Beispielprogramm Auf der mitgelieferten Diskette befindet sich das Beispielprogramm PADTEST einschlie lich Quelltext Au erdem finden sie dort je nach dem verwendeten Compiler die zugeh rigen Compiler Konfi gurationsdatei Projektdatei oder Makedatei Damit Sie das Beispielprogramm bersetzen k nnen m ssen Sie bei Ihrem Compiler die Option Word Alignment ausschalten da im PAD die Daten auch auf ungeraden Adressen stehen k nnen Strukturen
75. L auf den PAD erfolgt ber den Ger tetreiber FINWEIS PADITF32 SYS Die PADITF32 DLL ist zwar reentrantf hig wenn die DLL jedoch von mehreren Programmen gleichzeitig benutzt wird d rfen keine zwei Programme auf den gleichen PAD Speicher zugreifen da sie sich sonst gegenseitig die Ge ndert flags l schen 61 1992 98 APEX Automationstechnik GmbH Braunschweig Stand 02 11 1998 4 Installation Bibliothek 4 5 IBM PC Windows NT 3 5x 4 00 HINWEIS 62 Programmierhandbuch PAD Interface 4 5 3 Microsoft Visual C 2 0 Die Bibliothek wird in Form einer Importbibliothek LIB und einer dynamischen Linkbibliothek DLL geliefert Damit Visual C 2 0 auf die DLL zugreifen kann kopieren Sie die Importbibliothek PA DITF32 LIB in Ihr Projektverzeichnis und die Datei PADITF32 DLL in das Verzeichnis Ihres Anwenderprogramms Binden Sie danach die Importbibliothek PADITF32 LB und die Headerdatei PAD2DLL H in Ihr Programm ein Folgende Dateien befinden sich auf der mitgelieferten Diskette Verzeichnis Dateiname Beschreibung Weitergabe SRC PAD2DLL H Headerdatei f r Anpassung an NEIN PADITF32 H SRC PADITF32 H Headerdatei f r PADITF32 DLL NEIN SRC PADDEFI H Headerdatei f r Basis Typdefini NEIN tionen SRC PADITF H Headerdatei f r Funktionen NEIN PAD_ SRC PADLIB H Headerdatei f r Funktionen NEIN PDnet_ SRC PADVDM H Headerdatei f r Funktionen NEIN VDM_ SRC PADTEST H Headerdatei f r Beispie
76. LWL redundant PAD PC PL Plastik LWL PAD PC PLr Plastik LWL redundant PAD PG K KOAX Den Einbau entnehmen Sie bitte dem Handbuch des PDnet Controllers 2 5 IBM PC Windows NT 3 5x 4 00 Von der PAD Interface Bibliothek f r IBM PC Windows NT 3 5x 4 00werden folgende PDnet Controller unterst tzt PDnet Controller LAN Anschlu PAD PC K KOAX KOAX redundant PAD PC Lr LWL redundant PAD PG K KOAX PAD PCIV K PAD PCI Kr KOAX redundant PAD PCI Lr LWL redundant Den Einbau entnehmen Sie bitte dem Handbuch des PDnet Controllers 12 Stand 02 11 1998 1992 98 APEX Automationstechnik GmbH Braunschweig Programmierhandbuch PAD Interface 2 6 IBM PC OS 2 Warp 3 4 Von der PAD Interface Bibliothek f r IBM PC OS 2 Warp werden folgende PDnet Controller unterst tzt PDnet Controller LAN Anschlu PAD PC K KOAX PAD PC Kr KOAX redundant LWL PAD PC L PAD PC Lr LWL redundant PAD PC PL Plastik LWL PAD PC PLr Plastik LWL redundant PAD PG K KOAX Den Einbau entnehmen Sie bitte dem Handbuch des PDnet Controllers 2 7 IBM PC QNX 3 21 Protected Mode Von der PAD Interface Bibliothek f r IBM PC QNX 3 21 Protected Mode werden folgende PDnet Controller unterst tzt PDnet Controller LAN Anschlu PAD PC K KOAX PAD PC Kr KOAX redundant PAD PC Lr LWL redundant PAD PC PL Plastik LWL PAD PC PLr Plastik LWL redundant PAD PG K KOAX Den Einbau entnehmen Sie bitte dem Handbuch des PDnet
77. Liefert Struktur auf die Firmwareversion im PAD Liest Daten aus dem PAD Speicher PAD_Write Schreibt Daten in den PAD Speicher PAD_GetDateTime Liefert das Datum und die Uhrzeit des PAD Funktionen zum Senden und Empfangen von Telegrammen 105 1992 98 APEX Automationstechnik GmbH Braunschweig Stand 02 11 1998 Programmierhandbuch PAD Interface 7 API Referenz 6 8 CZF_ Funktion Beschreibung PAD_TxBufferEmpty Pr ft ob der Sendepuffer frei ist Funktionen der PDnet Lifeliste PDnet_LifeListChanged Meldet nderungen der PDnet Lifeliste erreichbar ist liste bestimmten Gruppe geh ren PDnet_ExtLifeList Liefert die erweitere Lifeliste eines PDnet Controllers tionen Empfangszellen Sendezellen VDM_Check_PV berpr ft ob eine PV in einer VDM Datenzelle exi stiert 106 Stand 02 11 1998 1992 98 APEX Automationstechnik GmbH Braunschweig Programmierhandbuch PAD Interface 7 1 PAD_CheckRestart Pr ft ob der PAD einen Restart ausgel st hat function PAD_CheckRestart INT16 INT16 PAD_CheckRestart void Hat der lokale PAD keinen Restart ausgel st wird CPDNET_OK zur ckgegeben Andernfalls wird ein CGPDNET_ Fehlercode geliefert Z B CPDNET_RESTART_RUNNING wenn der PAD Restart l uft oder CPDNET_RESTART_END wenn der PAD Restart beendet ist Diese Funktion berwacht ob der lokale PAD einen Restart durchf hrt W hrend des Restarts k nnen keine Zuriffe auf den PAD statt fin
78. OS 2 Fenster Das Programm ben tigt keine Parameter da die vom PAD verwendeten Ressourcen aus der Datei CONFIG SYS von OS 2 gelesen werden Die Bibliothek greift ber die dynamische Linkbibliothek PADITF32 DLL auf den Einheitentreiber APEX PAD SYS zu Die PADITF32 DLL ist zwar reentrantf hig wenn die DLL jedoch von mehreren Programmen gleichzeitig benutzt wird d rfen keine zwei Programme auf den gleichen PAD Speicher zugreifen da sie sich sonst gegenseitig die Ge ndertflags l schen 8 6 3 Watcom C 10 0 Wenn Sie alle Dateien aus den Verzeichnissen SRC und OS2WAT10 in ein Verzeichnis kopieren und aus diesem Verzeich nis Watcom C aufrufen erzeugt die beiliegende Projektdatei PADTEST WPJ das Testprogramm PADTEST EXE Eventuell m ssen Sie im Watcom C im Men Sources New Source die Verzeichnisangaben f r Ihr System anpassen Das Beispielprogramm PADTEST C wurde f r die OS 2 Konsole erzeugt damit es im Textmode in einem OG 2 Fenster l uft Selbstverst ndlich k nnen Sie die PAD Interface Bibliothek auch in eine echte OS 2 Anwendung einbinden Starten Sie das Programm PADTEST EXE ber ein Symbolan zeigefenster oder ein OS 2 Fenster Das Programm ben tigt keine Parameter da die vom PAD verwendeten Ressourcen aus der Datei CONFIG SYS von OS 2 gelesen werden Die Bibliothek greift ber die dynamische Linkbibliothek PADITF32 DLL auf den Einheitentreiber APEX PAD SYS zu Die PADITF32 DLL ist zwar reentrantf hig
79. PAD Interface Programmierhandbuch IPEX E AUTOMATIONSTECHNIK GMBH EEE Copyright Programmierhandbuch PAD Interface Jede Vervielf ltigung dieses Handbuches sowie des Softwarepro grammes wird strafrechtlich verfolgt Die Rechte an der Doku mentation und die Rechte an dem Softwareprogramm liegen bei der APEX Automationstechnik GmbH Der rechtm ige Erwerb der dazugeh rigen Programmdisketten erlaubt die Nutzung analog der Nutzung eines Buches Entspre chend der Unm glichkeit da ein Buch an verschiedenen Orten von mehreren Personen gelesen wird darf das Softwareprogramm nicht gleichzeitig von verschiedenen Personen an verschiedenen Orten benutzt werden Diskettenkopien d rfen lediglich zum Zweck der Datensicherung angefertigt werden Routinen aus der Software d rfen in ein Anwenderprogramm ein gebunden werden und dieses weiterverkauft werden Dynamische Linkbibliotheken Ger tetreiber und Installationsprogramme der PAD Interface Software d rfen ebenfalls weiterverkauft werden solange sie unver ndert bleiben Die restliche Software oder Teile der Software d rfen jedoch auf keinen Fall als Bibliothek oder als Teil einer anderen Bibliothek weitergegeben werden Dies gilt so wohl f r den Quellcode als auch f r linkf hige Module Die Bei spielprogramme d rfen nicht im Quellcode weitergegeben werden Die APEX Automationstechnik GmbH bernimmt keinen Support f r Anwenderprogramme die mit der PAD Interface Bi
80. PADITF32 LIB Importbibliothek f r PA NEIN DITF32 DLL WS95BC45 PADTEST DIE Projektdatei f r Beispielpro NEIN gramm W95BC45 PADTEST DSW Kontextdatei f r Beispielpro NEIN gramm W95BC45 PADTEST EXE Ausf hrbares Beispielprogramm HINWEIS Der Zugriff der DLL auf den PAD erfolgt ber den Ger tetreiber PADITF32 VXD Die PADITF32 DLL ist zwar reentrantf hig wenn die DLL jedoch von mehreren Programmen gleichzeitig benutzt wird d rfen keine zwei Programme auf den gleichen PAD Speicher zugreifen da sie sich sonst gegenseitig die Ge ndert flags l schen 56 Stand 02 11 1998 1992 98 APEX Automationstechnik GmbH Braunschweig Programmierhandbuch PAD Interface 4 4 3 Microsoft Visual C 2 0 Die Bibliothek wird in Form einer Importbibliothek LIB und einer dynamischen Linkbibliothek DLL geliefert Damit Visual C 2 0 auf die DLL zugreifen kann kopieren Sie die Importbibliothek PA DITF32 LIB in Ihr Projektverzeichnis und die Datei PADITF32 DLL in das Verzeichnis Ihres Anwenderprogramms Binden Sie danach die Importbibliothek PADITF32 LB und die Headerdatei PAD2DLL H in Ihr Programm ein Folgende Dateien befinden sich auf der mitgelieferten Diskette Verzeichnis Dateiname Beschreibung Weitergabe SRC PAD2DLL H Headerdatei f r Anpassung an NEIN PADITF32 H SRC PADITF32 H Headerdatei f r PADITF32 DLL NEIN SRC PADDEFI H Headerdatei f r Basis Typdefini NEIN tionen SRC PADITF H Headerdatei f r
81. PVVAL a Ae byte of pv_byte UINT8 pv_shortint INT8 pv_word UINT16 pv_integer INT16 pv_doubleword UINT32 pv_longint INT32 pv_single single pv_double double pv_extended xtended pv_ascii array 0 C_PV_STRING_LEN of char pv_string UINTI UINTI UINTI UINTI nion pv_byte pv_shortint pv_word pv_integer pv_doubleword pv_longint pv_single pv_double uble pv_extended pv_bit pv_bit8 pv_bit16 pv_bit32 0 C_PV_STRING_LEN pv_ascii C_PV_STRING_LEN 1 pv_string C_PV_STRING_ pv_record C_PV_STRING_ string C_PV_STRING_LEN 1 of char 18 18 T16 ER 1 E r EN EN N ns Se Im Typ PVVAL wird ein Proze wert abgelegt Je nach Datentyp mu das zugeh rige Feld gelesen bzw beschrieben werden 5 Typen Referenz 5 2 PVVAL AUFGABE PASCAL DEFINITION C DEFINITION BESCHREIBUNG 79 1992 98 APEX Automationstechnik GmbH Braunschweig Stand 02 11 1998 5 Typen Referenz 5 3 tExtLifeListTin SIEHE AUCH AUFGABE FELDER BESCHREIBUNG 80 Programmierhandbuch PAD Interface VDM_Read_PV VDM_Write_PV 5 3 tExtLifeListTin Das Array tExtLifeListTIn wird von der Funktion PDnet_ExtLifeList zur ckgegeben und enth lt f r einen PDnet Controller die para metrierten Treiber und deren Fehlermeldungen PASCAL DEFINITION tE
82. Quellcode f r Beispielprogramm NEIN 2 Teil SRC PADTEST2 C Quellcode f r Beispielprogramm NEIN 3 Teil W95WAT10 PADITF32 DLL Dynamische Linkbibliothek mit JA Funktionen PAD_ PDnet_ VDM_ W95WAT10 PADITF32 LIB Importbibliothek f r PA NEIN DITF32 DLL W95WAT10 PADTEST WPJ Projektdatei f r Beispielpro NEIN gramm W95WAT10 PADTEST LK1 Linkdatei f r Beispielprogramm W95WAT10 PADTEST MK Makedatei f r Beispielprogramm NEIN W95WAT10 PADTEST MK1 Makedatei f r Beispielprogramm NEIN W95WAT10 PADTEST TGT Targetdatei f r Beispielpro NEIN gramm W95WAT10 PADTEST EXE Ausf hrbares Beispielprogramm JA Der Zugriff der DLL auf den PAD erfolgt ber den Ger tetreiber H NWEIS PADITF32 VXD Die PADITF32 DLL ist zwar reentrantf hig wenn die DLL jedoch von mehreren Programmen gleichzeitig benutzt wird d rfen keine zwei Programme auf den gleichen PAD Speicher zugreifen da sie sich sonst gegenseitig die Ge ndert flags l schen 59 1992 98 APEX Automationstechnik GmbH Braunschweig Stand 02 11 1998 4 Installation Bibliothek 4 5 IBM PC Windows NT 3 5x 4 00 HINWEIS 60 Programmierhandbuch PAD Interface 4 5 IBM PC Windows NT 3 5x 4 00 Die PAD Interface Bibliothek f r Windows NT 3 5x 4 00 Program me ist f r folgende Compiler verf gbar 4 5 1 Borland Delphi 2 0 Die Bibliothek wird in Form einer Unit DAG und einer dynami schen Linkbibliothek DLL geliefert Damit Bo
83. S System Managers Utilities Reference Manual Beschreibung des BACKUP Utility Wenn ein Ger tetreiber logisch mit einem PAD PC verbunden wird wird ein OpenVMS Ger t Device Unit erzeugt Jedes dieser Ger te hat einen eindeutigen Namen der zur Identifikation des Ger tes dient Die Namen unterliegen unter OpenVMS einer ein heitlichen Konvention Die allgemeine Form der Ger tenamen f r PDnet AXP Device Units ist JDx0 e JD steht f r die zweibuchstabige OpenVMS Mnemonik f r Ger tetreiber von Drittfirmen e x ist ein Buchstaben der eindeutig einem PDnet Controller im System zugeordnet ist e 0 ist die Ger tenummer Device Unit welche bei PDnet Controllern immer 0 ist Die Controller Buchstaben k nnen f r die PDnet Controller frei vergeben werden Die Namen der Ger te m ssen im System ein deutig sein Der erste PDnet Controller bekommt blicherweise Stand 02 11 1998 1992 98 APEX Automationstechnik GmbH Braunschweig Programmierhandbuch PAD Interface 3 Installation Treiber 3 9 DEC AlphaStation OpenVMS AXP 6 2 7 0 den Namen JDAO und das zweite JDBO Dabei gibt es keine vor gegebene Zuordnung zwischen EISA ISA Steckplatznummern und dem Controller Buchstaben Es ist aber eine sehr gute Idee zur Steckplatznummer x den x ten Buchstaben des Alphabetes als Controller Buchstaben zu verwenden Damit hat man eine direkte Beziehung zwischen den OpenVMS Ger tenamen und den PDnet Controllern Der
84. SBUS Der Endger tetreiber SMI SBUS ist aktiv e CTR_SMI_VME Der Endger tetreiber SMI VME ist aktiv e CTR_SMI_IPC Der Endger tetreiber SMI IPC ist aktiv e CTR_PAD5035 Der Endger tetreiber PAD 5035 ist aktiv e CTR_PAD250 Der Endger tetreiber PAD 250 ist aktiv e CTR_PAD120 Der Endger tetreiber PAD 120 ist aktiv e CTR_PAD120LC Der Endger tetreiber PAD 120lc ist aktiv e CTR_PADS5A Der Endger tetreiber PAD S5 Adre l cke ist aktiv e CTR_PADS5K Der Endger tetreiber PAD S5 Kacheltreiber ist aktiv 6 Konstanten Referenz 6 5 CTR_ 7 AUFGABE KONSTANTEN KERNEL TREIBER HARDWARE TREIBER SETUPDATEN TREIBER LAN TREIBER HOSTINTERFACE TREIBER 97 1992 98 APEX Automationstechnik GmbH Braunschweig Stand 02 11 1998 6 Konstanten Referenz 6 5 CTR_ 7 SERIELLE TREIBER 98 Programmierhandbuch PAD Interface CTR_MICRO Der Endger tetreiber PAD 120 Modicon Micro ist aktiv CTR_TMCU Der Endger tetreiber PAD TMCU ist aktiv CTR_T200 Der Endger tetreiber PAD 200 ist aktiv CTR_CS31 Der Endger tetreiber PAD 31 ist aktiv CTR_PAD140 Der Endger tetreiber PAD 140 Quantum ist aktiv CTR_MODNET2ND_PAD5035 Der Endger tetreiber PAD 5035 ModNet 2ND ist aktiv CTR_MODNET2ND_PAD250 Der Endger tetreiber PAD 250 ModNet 2ND ist aktiv CTR_BLOCK_PAD120 Der Endger tetreiber PAD 120 mit VDM Blocktreiber ist aktiv CTR_BLOCK_PAD250 Der Endger tetreiber PAD 250 mit VDM B
85. SGABEWERTE R CKGABEWERT BESCHREIBUNG C BEISPIEL 126 Programmierhandbuch PAD Interface 7 12 PAD Read Kopiert Bytes vom PAD Speicher zum Systemspeicher function PAD_Read dest pUINT8 src UINT32 ris UINT16 J HERE L UINT16 PAD_Read UINT8 dest const UINT32 src UINT16 n e Src In src wird die Adresse des PAD Speichers angegeben ab der die Daten gelesen werden en In n steht die Anzahl der zu kopierenden Bytes e dest In dest wird die Systemadresse bergeben wohin die Daten kopiert werden e Bei erfolgreicher Ausf hrung wird GPDNET_OK zur ckgege ben Andernfalls wird ein CPDNET_ Fehlercode geliefert Die Funktion erm glicht das Auslesen des PAD Speichers ber die PAD Adressen 100 Bytes lesen UINT16 count 100 UINTS m Dynamischen Speicher anfordern if m UINT8 malloc count NULL printf Zu wenig Speicher frei n return Daten von PAD Adresse 0x0000 lesen if PAD_Read m 0x0000 count CPDNET_OK printf Fehler bei PAD_Read n free m return Stand 02 11 1998 1992 98 APEX Automationstechnik GmbH Braunschweig Programmierhandbuch PAD Interface Speicherbereich anzeigen free m PAD_Write PAD_Addr 7 13 PAD_ReceiveTelegram Empf ngt ein Telegramm von einem PDnet Controller function PAD_ReceiveTelegram var telegram tTelegram INT16 INT16 P
86. SYS auftaucht Z B DEVICE C OS2 BOOT APEX PAD SYS 290 D0000 e ndern Sie hinter dem Treiber APEX PAD SYS den I O Port Bereich und den folgenden Speicherbereich Beide Angaben sind hexadezimal e Achten Sie darauf das der Speicherbereich 5 stellig ist Die Adressen m ssen mit den DIP Schaltern auf dem PDnet Controller bereinstimmen und d rfen durch keine anderen Hardwarekomponenten belegt sein e Speichern Sie die Datei CONFIG SYS mit dem Men punkt Datei Sichern e Beenden Sie den Editor durch Dr cken der Tasten Alt F4 e Schlie en Sie das OS 2 Fenster mit dem Befehl EXIT e F hren Sie einen Systemabschlu durch Wenn die gew hlten Ressourcen nicht mit den eingestellten Adressen auf dem PDnet Controller bereinstimmen e Schalten Sie den Computer aus und stellen Sie die DIP Schalter auf gleichen Adressen wie die gew hlten Ressourcen e Starten Sie OS 2 neu e berpr fen Sie ob die Ger teeinstellungen korrekt sind 3 Installation Treiber 3 6 IBM AT OS 2 Warp 3 4 33 1992 98 APEX Automationstechnik GmbH Braunschweig Stand 02 11 1998 Programmierhandbuch PAD Interface 3 Installation Treiber 3 7 IBM PC QNX 3 21 Protected Mode 3 6 3 Einheitentreiber deinstallieren Wenn Sie den Einheitentreiber APEX PAD SYS entfernen wollen gehen Sie wie folgt vor e ffnen Sie ein OS 2 Fenster e Geben Sie im OS 2 Fenster den Befehl ein E C CONFIG SYS
87. Sie alle Dateien aus den Verzeichnissen SRC und W95WAT10 in ein Verzeichnis kopieren und aus diesem Verzeich nis Watcom C aufrufen erzeugt die beiliegende Projektdatei PADTEST WPJ das Testprogramm PADTEST EXE Eventuell m ssen Sie im Watcom C im Men Sources New Source die Verzeichnisangaben f r Ihr System anpassen Das Beispielprogramm PADTEST C wurde f r die WIN32 Konsole erzeugt damit es im Textmode in der Eingabeaufforderung von Windows 95 l uft Selbstverst ndlich k nnen Sie die PAD Interface Bibliothek auch in eine echte Windowsanwendung einbinden Stand 02 11 1998 1992 98 APEX Automationstechnik GmbH Braunschweig Programmierhandbuch PAD Interface Starten Sie das Programm PADTEST EXE ber den Explorer oder die Eingabeaufforderung von Windows 95 Das Programm ben tigt keine Parameter da die vom PAD verwendeten Ressour cen aus der Registrierdatenbank von Windows 95 gelesen werden Die Bibliothek greift ber die dynamische Linkbibliothek PADITF32 DLL auf den Ger tetreiber PADITF32 VXD zu Die PADITF32 DLL ist zwar reentrantf hig wenn die DLL jedoch von mehreren Programmen gleichzeitig benutzt wird d rfen keine zwei Programme auf den gleichen PAD Speicher zugreifen da sie sich sonst gegenseitig die Ge ndertflags l schen 8 Beispielprogramm 8 4 IBM PC Windows 95 ACHTUNG 167 1992 98 APEX Automationstechnik GmbH Braunschweig Stand 02 11 1998 8 Beispielprogramm 8
88. Speicher f r gr ere VDM Datenmodelle Das Speicherfenster des PAD PC ist im PC 64 kByte gro 2 Installation Hardware 2 1 IBM PC DOS Real Mode 9 1992 98 APEX Automationstechnik GmbH Braunschweig Stand 02 11 1998 2 Installation Hardware 2 1 IBM PC DOS Real Mode ACHTUNG 10 Programmierhandbuch PAD Interface Der PAD PG hat weniger Speicher als der PAD PC Er ist als Pro grammierger t gedacht kann aber auch kleine VDM Datenmodelle verwalten Das Speicherfenster des PAD PG ist im PC 4 kByte gro Die Gr e des Speichers f r VDM Datenmodelle wird f r jeden PAD Typ im Projektierungsprogramm NetPro angezeigt Damit der PAD PC bzw PAD PG in einem PC l uft sind die fol genden Bedingungen unbedingt einzuhalten Der auf der Karte gew hlte Adre bereich mu im PC frei sein und darf durch keine andere Karte belegt sein Speicher und O Adre bereich Es darf kein Cache im Bereich des SharedMemoryInterface aktiviert sein l t sich der Cache nicht f r einzelne Speicherbe reiche deaktivieren so ist er komplett abzuschalten Wird mit Speichermanagern EMM386 QEMM gearbeitet ist der Speicherbereich des SharedMemoryInterface f r die Speicherverwaltung zu sperren Exclude Wird mit einem Multitasking Betriebssystem gearbeitet QEMM OS 2 darf nie mehr als ein Programm gleichzeitig gestartet werden welches auf den PAD zugreift F r derartige Anwen dungen werden Ger tetreib
89. X 3 21 Protected Mode 4 7 IBM PC QNX 3 21 Protected Mode Die PAD Interface Bibliothek f r QNX 3 21 Protected Mode Pro gramme ist f r folgende Compiler verf gbar 471 C86 f r QNX Die Bibliothek wird in Form von Objektdateien OBJ geliefert Diese Dateien werden von C86 f r QNX ca in das Programm eingebunden Damit der C Compiler die Dateien einbinden kann m ssen Sie die entsprechenden Dateien von der Diskette in das Verzeichnis Ihres Projektes kopieren Folgende Dateien befinden sich im Root Verzeichnis auf der mit gelieferten Diskette Dateiname Beschreibung Weitergabe readme txt nderungen und Erg nzungen NEIN der gedruckten Dokumentation paditf h Headerdatei f r Funktionen NEIN PAD_ padlib h Headerdatei f r Funktionen NEIN PDnet_ padtest h Headerdatei f r Beispielpro NEIN gramm padtest c Quellcode f r Beispielprogramm NEIN 1 Teil padtest2 c Quellcode f r Beispielprogramm NEIN 2 Teil paditf obj Funktionen PAD_ NEIN padlib obj Funktionen PDnet_ und NEIN VDM_ makefile Batch Datei zum Compilieren NEIN des Beispielprogramms padtest Ausf hrbares Beispielprogramm HINWEIS In der Beschreibung wird nicht bei jeder Funktion Variablen o angegeben in welcher Bibliothek diese definiert ist da eine logi sche Zuordnung ber Ihren Namen bzw der Funktionsgruppe er sichtlich ist 68 Stand 02 11 1998 1992 98 APEX Automationstechnik GmbH Braunschwei
90. _ VDM_ WNTWAT10 PADITF32 LIB Importbibliothek f r PA NEIN DITF32 DLL WNTWAT10 PADTEST WPJ Projektdatei f r Beispielpro NEIN gramm WNTWAT10 PADTEST LK1 Linkdatei f r Beispielprogramm WNTWAT10 PADTEST MK Makedatei f r Beispielprogramm NEIN WNTWAT10 PADTEST MK1 Makedatei f r Beispielprogramm NEIN WNTWAT10 PADTEST TGT Targetdatei f r Beispielpro NEIN gramm WNTWAT10 PADTEST EXE Ausf hrbares Beispielprogramm JA Der Zugriff der DLL auf den PAD erfolgt ber den Ger tetreiber PADITF32 SYS Die PADITF32 DLL ist zwar reentrantf hig wenn die DLL jedoch von mehreren Programmen gleichzeitig benutzt wird d rfen keine zwei Programme auf den gleichen PAD Speicher zugreifen da sie sich sonst gegenseitig die Ge ndert flags l schen Stand 02 11 1998 1992 98 APEX Automationstechnik GmbH Braunschweig Programmierhandbuch PAD Interface 4 Installation Bibliothek 4 6 IBM PC OS 2 Warp 3 4 4 6 IBM PC OS 2 Warp 3 4 Die PAD Interface Bibliothek f r OS 2 Warp Programme ist f r folgende Compiler verf gbar 4 6 1 Borland C 2 0 f r OS 2 Die Bibliothek wird in Form einer Importbibliothek LIB und einer dynamischen Linkbibliothek DLL geliefert Damit Borland C 2 0 auf die DLL zugreifen kann kopieren Sie die Importbibliothek PADITF32 LIB in Ihr Projektverzeichnis und die Datei PA DITF32 DLL in das Verzeichnis Ihres Anwenderprogramms Bin den Sie danach die Importbibliothek PADITF32 LIB
91. _Init gelieferte handle f r den zu selektierenden PAD bergeben e Bei erfolgreicher Ausf hrung wird GPDNET_OK zur ckgege ben Andernfalls wird ein CPDNET_ Fehlercode geliefert Die Bibliothek unterst tzt f r einige Plattformen mehrere PADs im lokalen Endger t Mit der Funktion PAD_Select wird der PAD ge w hlt auf den die Funktionen der Bibliothek zugreifen Jeder zu w hlende PAD mu vorher einmalig mit der Funktion DAD Ion initialisiert werden PAD_Init 7 API Referenz 7 16PAD_Select AUFGABE PASCAL DEFINITION C DEFINITION EINGABEWERTE R CKGABEWERT BESCHREIBUNG ACHTUNG SIEHE AUCH 131 1992 98 APEX Automationstechnik GmbH Braunschweig Stand 02 11 1998 7 API Referenz 7 17PAD_SendTelegram AUFGABE PASCAL DEFINITION C DEFINITION EINGABEWERTE R CKGABEWERT BESCHREIBUNG ACHTUNG PASCAL BEISPIEL 132 Programmierhandbuch PAD Interface 7 17 PAD_SendTelegram Sendet ein Telegramm an einen PDnet Controller function PAD_SendTelegram var telegram tTelegram Z INEL6 INT16 PAD_SendTelegram tTelegram telegram e telegram In telegram wird die Adresse des zu sendenden Telegramms bergeben Die Felder des Telegramms entnehmen Sie dem Typ tTelegramm e Bei erfolgreicher Ausf hrung wird CPDNET_OK zur ckgege ben Andernfalls wird ein CPDNET_ Fehlercode geliefert Z B CPDNET_TX_FULL wenn f r das Telegramm kein freier Sendepuffer ver
92. _LifeCheck Stand 02 11 1998 1992 98 APEX Automationstechnik GmbH Braunschweig Programmierhandbuch PAD Interface 7 2 PAD_DateTimeUpdated Meldet nderungen des Datums und der Zeit function PAD_DateTimeUpdated var Flag INT16 INT16 INT16 PAD_DateTimeUpdated INT16 Flag e Flag Die zur ckgegebene Variable Flag enth lt eine 1 wenn die Uhrzeit im lokalen PAD ver ndert wurde Andernfalls enth lt Flag eine 0 e Bei erfolgreicher Ausf hrung wird GPDNET_OK zur ckgege ben Andernfalls wird ein CPDNET_ Fehlercode geliefert Diese Funktion meldet ob sich die Uhrzeit bzw das Datum im PAD ge ndert hat Bei nderungen der PAD Uhrzeit sollte das Anwenderprogramm die Systemzeit im Endger t stellen 7 API Referenz 7 2 PAD_DateTimeUpdated AUFGABE PASCAL DEFINITION C DEFINITION AUSGABEWERTE R CKGABEWERT BESCHREIBUNG 109 1992 98 APEX Automationstechnik GmbH Braunschweig Stand 02 11 1998 7 API Referenz 7 3 PAD_Delay AUFGABE PASCAL DEFINITION C DEFINITION EINGABEWERTE R CKGABEWERT BESCHREIBUNG HINWEIS AUFGABE PASCAL DEFINITION C DEFINITION R CKGABEWERT BESCHREIBUNG SIEHE AUCH 110 Programmierhandbuch PAD Interface 7 3 PAD _Delay PAD_Delay wartet eine bestimmte Zeit procedure PAD_Delay ms UINTI6 void PAD_Delay UINT16 ms e n ms wird die Zeit in ms bergeben die gewartet werden soll e keiner Di
93. akefile erzeugt das Testprogramm padtest Eventuell m ssen Sie in der Datei makefile die Verzeichnisanga ben f r Ihr System anpassen Au erdem mu der Pfad auf den GNU C Compiler gcc gesetzt sein Dem Testprogramm padtest k nnen Sie als Parameter mit Bxxx die Blocknummer des PAD VME angeben Mit dem Parameter H erhalten Sie eine kurze Hilfe zu den Parametern Aus der Blocknummer des Parameters Bxxx multipliziert mit 256 kByte ergibt sich die Adresse ab der das Speicherfenster des PAD VME eingeblendet wird Wenn Ihr System z B die ersten 32 MByte des Speichers belegt und der PAD VME ab Adresse 32 MByte liegen soll ergibt sich eine Blocknummer von 32 MByte 256 kByte 128 Der Parameter w re dann B128 Beachten Sie auch die Hinweise zum Shared Memory des VME Bus im Kapitel Installation Hardware Die Bibliotheken sind mit dem GNU C Compiler 2 3 1 gcc er HINWEIS zeugt da dieser ein ANSI C Compiler ist und er auf verschiedenen 179 1992 98 APEX Automationstechnik GmbH Braunschweig Stand 02 11 1998 Programmierhandbuch PAD Interface 8 Beispielprogramm 8 12Motorola 8420 System V m88k Plattformen erh ltlich ist Der Compiler cc verarbeitet kein ANSI C und besitzt nicht das IEEE Format f r Realvariablen Damit GNU C die richtigen Include Verzeichnisse von UNIX ver wendet m ssen diese als Parameter angegeben werden I usr include Eventuell m ssen Sie das Verzeichni
94. and Pascal im Men Options Directories die Verzeichnisangaben f r Ihr System anpassen Dem Testprogramm PADTEST EXE k nnen Sie als Parameter mit 1lO xxx die I O Portadresse und mit MEM xxxx die Segmentadresse des PAD PC angeben Mit dem Parameter H erhalten Sie eine kurze Hilfe zu den Parametern Die Parameterangaben MEM und lO m ssen mit den Adressen bereinstimmen die auf dem PAD PC mit dem DIP Schalter SW1 eingestellt sind Stand 02 11 1998 1992 98 APEX Automationstechnik GmbH Braunschweig Programmierhandbuch PAD Interface 8 Beispielprogramm 8 1 IBM PC DOS Real Mode 8 1 2 Borland C 3 1 Wenn Sie alle mitgelieferten Dateien in ein Verzeichnis kopieren und aus diesem Verzeichnis Borland C aufrufen erzeugt die beiliegende Projektdatei PADTEST PRJ das Testprogramm PADTEST EXE Eventuell m ssen Sie im Borland C im Men Options Directories die Verzeichnisangaben f r Ihr System anpassen Dem Testprogramm PADTEST EXE k nnen Sie als Parameter mit IO xxx die I O Portadresse und mit MEM xxxx die Segmentadresse des PAD PC angeben Mit dem Parameter H erhalten Sie eine kurze Hilfe zu den Parametern Die Parameterangaben MEM und lO m ssen mit den Adressen bereinstimmen die auf dem PAD PC mit dem DIP Schalter SW1 eingestellt sind 159 1992 98 APEX Automationstechnik GmbH Braunschweig Stand 02 11 1998 Programmierhandbuch
95. as Kommando zum Laden des Ge r tetreibers in die System Startup Kommandbos einzutragen e ffnen Sie mit einem Texteditor die Datei SYS SYSROOT SYSMGR SYSTARTUP_VMS COM e F gen Sie am Dateiende vor dem Befehl EXIT den Befehl ein SYSSSTARTUP PDNETSSTARTUP COM e Speichern Sie die Datei e Beenden Sie den Texteditor Beim n chsten Start von OpenVMS l dt das System Startup Kommando SYSTARTUP_VMS COM den Ger tetreiber Weitere Informationen ber die Modifikation des System Startup Komman dos finden sich im OpenVMS System Managers Manual Achten Sie darauf das Sie die richtige SYSTARTUP_VMS COM ACHTUNG editieren falls sich die Datei in mehreren Verzeichnissen befindet 3 9 6 Aufruf der IVP Nach dem Laden des Ger tetreibers kann die IVP gestartet wer den Um die IVP aufzurufen k nnen folgende DCL Befehle ver wendet werden RUN SYSSTEST PDNETSIVP oder PDNETIVP SYSSTEST PDNETS SIVP PDNETIVP SHOW wobei der Parameter SHOW optional ist Wurde die IVP erfolgreich ausgef hrt dann wird der Text PDNETSIVP I SUCCESS IVP successfull done ausgegeben Im anderen Fall erfolgt die Ausgabe entsprechender Fehlermeldungen Bei Angabe des Parameters SHOW erfolgt die Ausgabe von entsprechenden Meldungen die den Ablauf der IVP anzeigen 45 1992 98 APEX Automationstechnik GmbH Braunschweig Stand 02 11 1998 Programmierhandbuch PAD Interface 3 Installa
96. ation zu lesen m ssen Sie das PC FileSystem mounten Dieses geschieht mit den Befehlen e su Superuser werden evt mit Pa wort e mount t pc fs dev d0c loppy Diskette mit Name floppy mounten e cp p floppy Alle Dateien ins aktuelle Verzeichnis kopieren e eject Diskette auswerfen e exit Superuser Mode verlassen Die beiliegende Datei makefile erzeugt das Testprogramm padtest Eventuell m ssen Sie in der Datei makefile die Ver zeichnisangaben f r Ihr System anpassen Au erdem mu der Pfad auf den SunPro C Compiler cc gesetzt sein Dem Testprogramm padtest k nnen Sie als Parameter mit Px die Ger tenummer des PAD PCI angeben Mit dem Parameter H Stand 02 11 1998 1992 98 APEX Automationstechnik GmbH Braunschweig Programmierhandbuch PAD Interface 8 Beispielprogramm 8 12Motorola 8420 System V m88k erhalten Sie eine kurze Hilfe zu den Parametern Der Parameter Px mu mit der Ger tenummer im Ger tenamen dev pdnetX bereinstimmen der zum PAD PCI geh rt Au er dem mu auf Ihrem System der Ger tetreiber pdnet installiert sein Damit SunPro C die richtigen Include Verzeichnisse von UNIX HINWEIS verwendet m ssen diese als Parameter angegeben werden I usr include 8 12 Motorola 8420 System V m88k Das Beispielprogramm PADTEST f r Motorola 8420 System V m88k ist f r folgende Compiler verf gbar 8 12 1 GNU C Die beiliegende Datei m
97. bliothek erstellt werden F r die Beispielprogramme der PAD Interface Bi bliothek wird ebenfalls kein Support geleistet Einschr nkung der Gew hrleistung Es wird keine Garantie f r die Richtigkeit des Inhaltes dieses Handbuches bernommen Da sich Fehler trotz aller Bem hun gen nie vollst ndig vermeiden lassen sind wir f r Hinweise jeder zeit dankbar Die im Handbuch erw hnten Software und Hardwarebezeichnun gen sind in den meisten F llen auch eingetragene Warenzeichen und unterliegen als solche den gesetzlichen Bestimmungen Herausgeber APEX Automationstechnik GmbH Harxb tteler Stra e 3 D 38110 Braunschweig Telefon 05307 9213 0 Telefax 05307 9213 30 Stand 02 11 1998 1992 98 APEX Automationstechnik GmbH Braunschweig Programmierhandbuch PAD Interface 1 Einf hrung 2 1 IBM PC DOS Real Mode INHALT 1 Einf hrung EE 6 2 Installation Hardware unuuununnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnn 9 2 1 IBM PC DOS Real Mode 9 2 2 IBM PC DOS Protected Mode 11 2 3 IBM PC Windows 371 11 2 4 IBM PC Windows Op 12 2 5 IBM PC Windows NT 3 vi 00 12 2 6 IBM PC OS 2 Warp 2414 13 2 7 IBM PC QNX 3 21 Protected Mode 13 2 8 IBM PC QNX 4 22 Protected Mode 14 2 9 DEC AlphaStation OpenVMS AXP GI 14 2 10 SUN IPG IPX SUN OS 4 1 2 nennen 15 2 11 SUN Ultra 5 Solaris 261 16 2 12 Motorola 8420 System V m8 a
98. ch PAD Interface 4 Anzeige der entsprechend den ausgew hlten Hardwarepara metern notwendigen DIP Schalter Stellungen nur wenn Konfi gurationsdatei zu der jeweiligen Karte vorhanden ist 5 Abspeichern der EISA Konfiguration Zu jeder E ISA Karte geh rt eine EISA Konfigurationsdatei Diese Datei beschreibt die Karte insbesondere die DIP Schalter Stellun gen die zu den einzelnen Einstellungen der Hardwareparameter geh ren Ist keine Konfigurationsdatei vorhanden kann eine ISA Karte konfiguriert werden indem die Konfigurationsdatei einer allgemeinen ISA Karte generic ISA board genutzt wird Damit ist es m glich eine beliebige ISA Karte im System zu installieren und die von der Karte genutzten Ressourcen zu vergeben und zu kon figurieren In einem EISA Bus System haben alle Steckpl tze feste Steck platznummern Die Numerierung ist der Hardwaredokumentation des Systems zu entnehmen Auf die Steckpl tze Slots wird im ECU ber die Steckplatznummer bezug genommen Im ECU erh lt man auch eine bersicht ber die Steckplatznummern und die Belegung der einzelnen Steckpl tze e Rufen Sie das Programm ECU auf mit dem Befehl gt gt gt ecu e W hlen Sie im ECU einen freien EISA Bus Steckplatz Slot e Tragen Sie die Ressourcen des PDnet Controllers ein Ist f r die Karte kein EISA Konfigurationsdatei vorhanden dann mu ein Eintrag auf der Basis einer Standard ISA Karte erfolgen Als Ressourcen sind die einge
99. che weiter Es erscheint das Dialogfeld Eigenschaften f r PDnet Controller e ndern Sie die eingestellten Ressourcen bis sie mit denen des PDnet Controllers bereinstimmen e Klicken Sie auf die Schaltfl che OK Danach sollte der hinzugef gte APEX PDnet Controller in der Liste PDnet Komponenten erscheinen Vor jedem PDnet Controller steht in eckigen Klammern seine Ge r tenummer ber die auf ihn zugegriffen werden kann Sie ben ti gen diese Ger tenummer f r die Konfigurationsdatei des PDnet Clients Wenn Sie mehrere PDnet Controller in einem PC installieren wol len e F hren Sie f r jeden zu installierenden PAD die in oben aufge f hrten Installationsschritte durch Bei jedem Start von Windows NT wird nun der Ger tetreiber PA DITF32 SyYS APEX PDnet Controller Driver automatisch ge startet PDnet Controller Ressourcen einstellen Wenn Sie die Ressourcen eines PDnet Controllers ndern wollen e Selektieren Sie den zu konfigurierenden 3 Installation Treiber 3 5 IBM PC Windows NT 3 5x 4 00 Bild Hardwarekomponente hinzuf gen 25 1992 98 APEX Automationstechnik GmbH Braunschweig Stand 02 11 1998 Programmierhandbuch PAD Interface APEX PDnet Controller PAD PC bzw APEX PDnet Controller PAD PG bzw APEX PDnet Controller PAD PCI Bild PDnet Controller Eigenschaften Eigenschaften fur PDnet e Klicken Sie dann auf Eigenschaften e Klicken Sie auf di
100. d CPDNET_OK zur ckgege ben Andernfalls wird ein CPDNET_ Fehlercode geliefert Die Funktion bestimmt die Gruppenadresse des Teilnehmers ber die PDnet Lifeliste UINT PDnetlId UINT8 GoupAdr printf Teilnehmer ID scanf d amp PDnetlId if PDnet_Gouplid PDnetId amp GoupAdr CPDNET_OK printf Station d hat die Gruppenadresse d PDnetId GroupAdr PDnet_OnLineStatus PDnet_ExtOnlineStatus Stand 02 11 1998 1992 98 APEX Automationstechnik GmbH Braunschweig Programmierhandbuch PAD Interface 7 API Referenz 7 26PDnet_GroupMembers 7 26 PDnet_GroupMembers Liefert eine Liste aller Online Stationen die zu einer bestimmten AUFGABE Gruppe geh ren function PDnet_GroupMembers PASCAL DEFINITION aGroupld UINT8 var StationIDs TStationIDs E INT16 INT16 PDnet_GroupMembers C DEFINITION UINT8 aGroupID TStationIDs StationIDs 1 e aGroupID EINGABEWERTE In aGroupID wird die abzufragende Gruppenadresse berge ben e StationiDs AUSGABEWERTE ber StationlDs wird ein Array mit den Stationsadressen der Gruppe zur ckgegeben Hinter der letzten Station steht eine 0 als Endekennung Der Speicher f r das Array StationIDs mu vor dem Aufruf der Funktion angelegt werden e Bei erfolgreicher Ausf hrung wird CPDNET_OK zur ckgege R CKGABEWERT ben Andernfalls wird ein CPDNET_ Fehlercode geliefert Die Funktion liefert aus der PDnet Lifeliste alle Stationsadres
101. d die Struktur mit der Firmwareversion des lokalen PAD zur ckgegeben Der Speicher f r die Struktur vi mu vor dem Aufruf der Funktion angelegt werden e Bei erfolgreicher Ausf hrung wird CPDNET_OK zur ckgege ben Andernfalls wird ein CPDNET_ Fehlercode geliefert Die Firmwareversion wird ber ein Firmwareinfo Telegramm an gefordert und von der Funktion zur ckgegeben tPAD_VersionInfo vi if PAD_VersionInfo amp vi CVDM_OK printf Fehler bei PAD_VersionInfo n return Firmwareversion ung ltig if vi gt FwDay gt 0x31 vi gt FwMonth gt 0x12 return printf Firmwareversion 02x 02x vom 302x 02x 19 02x n vi gt FwVersion vi gt FwRelease vi gt FwDay vi gt FwMonth vi gt FwYear Stand 02 11 1998 1992 98 APEX Automationstechnik GmbH Braunschweig Programmierhandbuch PAD Interface 7 21 PAD Write Kopiert Bytes vom Systemspeicher zum PAD Speicher function PAD_Write dest UINT32 src pUINT8 ns UINT16 UINT16 UINT16 PAD_Write UINT32 dest const UINT8 src UINT16 n e dest In dest wird die Adresse des PAD Speichers angegeben wohin die Daten kopiert werden e src In src wird die Systemadresse bergeben ab der die Daten gelesen werden en In n steht die Anzahl der zu kopierenden Bytes e Bei erfolgreicher Ausf hrung wird GPDNET_OK zur ckgege ben Andernfalls wird ein CPDNET_ Fehlercode geliefert Diese
102. dbuch PAD Interface 7 33 VDM _Init_PV Initialisiert die internen Strukturen f r die VDM Funktionen function VDM_Init_PV INTI16 INT16 VDM_Init_PV void e Bei erfolgreicher Ausf hrung wird CVDM_OK zur ckgegeben Andernfalls wird ein CVDM_ bzw CPDNET_ Fehler code geliefert Z B CVDM_NOT_FOUND wenn keine VDM Datenzellen parametriert wurden Die Funktion VDM_Init_PV legt einen internen Speicherbereich an in dem die VDM Datenzellenk pfe des lokalen PAD kopiert wer den Die Zugriffe auf den VDM werden dadurch beschleunigt da die Bibliothek die Adre lagen der VDM Datenzellen kennt Wird VDM_Init_PV mehrmals aufgerufen legt die Funktion keinen neu en Speicherbereich an sondern liest die aktuellen VDM Datenzellenk pfe in den bereits angelegten Speicherbereich ein VDM_Init mu vor den anderen Funktionen VDM_ aufgerufen werden da die Funktionen auf Kopie der VDM Datenzellenk pfe zugreifen F r Merker ist NetPro ab V2 60 erforderlich da die Funktionen VDM _ nur mit PV Nummern arbeiten VDM_Done_PV VDM_Read_PV VDM_Write_PV VDM_Check_PV 7 API Referenz 7 33VDM Int DV AUFGABE PASCAL DEFINITION C DEFINITION R CKGABEWERT BESCHREIBUNG ACHTUNG SIEHE AUCH 153 1992 98 APEX Automationstechnik GmbH Braunschweig Stand 02 11 1998 7 API Referenz 7 34VDM Head DV AUFGABE PASCAL DEFINITION C DEFINITION EINGABEWERTE AUSGABEWERTE R CKGABEWERT BESCHRE
103. den Die Funktion PAD_CheckRestart wird auch von der Funktion PAD_LifeCheck aufgerufen Da alle PAD_ PDnet_ und VDM_ Funktionen PAD_LifeCheck aufrufen sollte nach jedem Funktionsaufruf der R ckgabewert oder die Funktion PAD_Result auf den Fehlercode CPDNET_RESTART_RUNNING oder CPDNET_RESTART_END berpr ft werden Liefert eine Funktion CPDNET_RESTART_RUNNING sollte PAD_CheckRestart zyklisch aufgerufen werden bis die Funktion CPDNET_RESTART_END meldet Erst danach ist ein Zugriff auf den PAD wieder m glich W hrend ein PAD einen Restart durchf hrt kann mit PAD_Select auf einen anderen vorhandenen lokalen PAD zugegriffen werden wenn dieser keinen Restart durchf hrt 7 API Referenz 7 1 PAD_CheckRestart AUFGABE PASCAL DEFINITION C DEFINITION R CKGABEWERT BESCHREIBUNG HINWEIS 107 1992 98 APEX Automationstechnik GmbH Braunschweig Stand 02 11 1998 7 API Referenz 7 1 PAD_CheckRestart C BEISPIEL SIEHE AUCH 108 Programmierhandbuch PAD Interface if PAD_ switch case C prin break case C prin case C prin exit CPDNET_OK PAD_Result PDNET_RESTART_RUNNING t PAD Restart laeuft n PDNET_RESTART_END tf PAD den Restart beendet n break PDNET_ERR_RESTART tf PAD hat einen FEHLERHAFTEN Restart duchgefuehrt n 1 PAD
104. e CTRFL_HOST_ERRORFLAG Der Endger tetreiber hat einen Fehler im Endger t gemeldet e CTRFL_HOST_BATTERY Die Pufferbatterie im Endger t ist leer e CTRFL_HOST_TXTELEGRAM Ein gesendetes Telegramm hat ein fehlerhaftes Format e CTRFL_HOST_RXTELEGRAM Ein empfangenes Telegramm hat das vorher empfangene Te legramm berschrieben bevor es ausgelesen wurde e CTRFL_SERIAL_FRAMEERROR PERLE NE INN Im seriellen Protokoll sind bertragungsfehler aufgetreten e CTRFL_SERIAL_TIMEOUT Ein serielles Datenpaket oder eine Quittierung ist nicht in der vom Protokoll definierten Zeitspanne angekommen e CTRFL_SERIAL_STATIONERROR Von einem Endger t wurde ein Fehler gemeldet CTR_ tExtLifeListTIn PDnet_ExtLifeList SIEHE AUCH 101 1992 98 APEX Automationstechnik GmbH Braunschweig Stand 02 11 1998 6 Konstanten Referenz 6 7 CVDM_ AUFGABE KONSTANTEN 102 Programmierhandbuch PAD Interface 6 7 CVDM_ Die Funktionen VDM_ liefern als Status eine Konstante welche den Erfolg oder Fehlercode meldet Der Status entspricht einer Konstanten CPDNET_ wenn ein Fehler in einer aufgerufenen Funktion PAD_ auftrat oder eine Konstante CVDM _ wenn der Fehler in einer Funktion VDM_ auftrat e CVDM_OK Es ist kein Fehler aufgetreten e CVDM_NO_SYNC Eine VDM Datenzelle konnte nicht gesperrt werden Sie wird erst beim n chsten Durchlauf bearbeitet e CVDM_DATE_IDX Eine angegebene PV Nummer ist nicht im VDM
105. e Funktion wartet bis mindestens die bergebene Zeit verstri chen ist und kehrt dann zur ck Je nach Betriebssystem wird eine Sleep Funktion aufgerufen oder eine Warteschleife durchlaufen Da die Aufl sung der Zeitfunktionen bei einigen Betriebssystemen gr er als 1 ms ist kann die Verz gerung der Funktion PAD_Delay l nger dauern als die bergebene Zeit 74 PAD_ Done PAD_Done schlie t die Verbindung zum PAD function PAD_Done INT16 INT16 PAD_Done void e Bei erfolgreicher Ausf hrung wird CPDNET_OK zur ckgege ben Andernfalls wird ein CPDNET_ Fehlercode geliefert Beim Beenden der Anwendung sollten alle PAD Verbindungen mit PAD_Done geschlossen werden Nach dem Aufruf dieser Funktion darf keine andere API Funktion mehr aufgerufen werden PAD_Init Stand 02 11 1998 1992 98 APEX Automationstechnik GmbH Braunschweig Programmierhandbuch PAD Interface 75 PAD _GetDateTime Liest Datum und Uhrzeit aus dem lokalen PAD function PAD_GetDateTime var PadDate tPadDate var PadTime tPadTime INT16 INT16 PAD_GetDateTime tPadDate _ PadDate tPadTime _ PadTime LE e PadDate ber die Struktur PadDate wird das Datum des lokalen PAD zu r ckgegeben Der Speicher f r die Struktur PadDate mu vor dem Aufruf der Funktion angelegt werden e PadTime ber die Struktur PadTime wird die Uhrzeit des lokalen PAD zu r ckgegeben Der Speicher f r die Struktur PadTime mu vor dem Aufruf der
106. e Registerkarte Ressourcen im Eigen schaftsfenster EEN Eigenschaften f r 1 APEX PDnet Controller Pap PC EB IWME amp Bereich 0230 029F D Speicherbereich 000D0000 OOODFFFF 26 Stand 02 11 1998 1992 98 APEX Automationstechnik GmbH Braunschweig Programmierhandbuch PAD Interface Anschlie end e W hlen Sie in der Liste Ressourceneinstellungen die zu ndernde Ressourcen aus e Klicken Sie auf die Schaltfl che Einstellung ndern e W hlen Sie eine Einstellung aus die nicht mit anderen Ge r ten in Konflikt liegt und klicken Sie auf OK Nach der Konfiguration der Ressourcen e Schlie en Sie das Eigenschaftsfenster mit OK e Schlie en Sie das Register Eigenschaften f r PDnet mit der Schaltfl che OK e Beenden Sie Windows NT Wenn die gew hlten Ressourcen nicht mit den eingestellten Adressen auf dem PDnet Controller bereinstimmen e Schalten Sie den Computer aus e Stellen Sie die DIP Schalter des PDnet Controllers auf die Adressen der verwendeten Ressourcen e Starten Sie Windows NT neu PDnet Controller entfernen Wenn Sie einen installierten PDnet Controller entfernen wollen e Selektieren Sie den zu entfernenden APEX PDnet Controller PAD PC bzw APEX PDnet Controller PAD PG bzw APEX PDnet Controller PAD PCI Eigenschaften fur PDnet EN Konfikuration Die folgenden PDnet Komponenten sind installiert E9 1 APEX PDnet Cont
107. eal Mode 49 1992 98 APEX Automationstechnik GmbH Braunschweig Stand 02 11 1998 Programmierhandbuch PAD Interface 4 Installation Bibliothek 4 1 IBM PC DOS Real Mode Verzeichnis Dateiname Beschreibung Weitergabe DOSBP70 PADDEFI TPU Basis Typdefinitionen NEIN DOSBP70 PADAPIPC TPU Interface zum DOS PC DOSBP70 PADITF TPU Funktionen PAD_ NEIN DOSBP70 PADLIB TPU Funktionen PDnet_ NEIN DOSBP70 PADVDM TPU Funktionen VDM_ DOSBP70 BP TP Compiler Konfigurationsdatei f r NEIN Beispielprogramm DOSBP70 PADTEST EXE Ausf hrbares Beispielprogramm HINWEIS In der Beschreibung wird nicht bei jeder Funktion Variablen o angegeben in welcher Unit diese definiert ist da eine logische Zuordnung ber Ihren Namen bzw der Funktionsgruppe ersichtlich ist 4 1 2 Borland C 3 1 Die Bibliothek wird in Form von Objektdateien OBJ geliefert Diese Dateien werden von Borland C 3 1 in das Programm ein gebunden Damit der C Compiler die Dateien einbinden kann m ssen Sie die entsprechenden Dateien von der Diskette in das Objektdateiverzeichnis Ihres Projektes kopieren Folgende Dateien befinden sich auf der mitgelieferten Diskette Verzeichnis Dateiname Beschreibung Weitergabe README TXT nderungen und Erg nzungen NEIN der gedruckten Dokumentation SRC PADDEFI H Headerdatei f r Basis Typdefini NEIN tionen SRC PADITF H Headerdatei f r Funktionen NEIN PAD_ SRC PADLIB H Headerdate
108. egrammpuffer als be legt wenn sie ungleich 0 ist Ist die Semaphore 0 enth lt der Puffer kein Telegramm e PDnetld In PDnetld steht die PDnet Stationsadresse der Zielstation zu dem das Telegramm gesendet werden soll bzw die Quellstati on von der das Telegramm empfangen wurde Ist PDnetld O wird ein Broadcast Telegramm an alle Stationen gesendet Wenn in PDnetld die eigene PDnet Stationsadresse eingetra gen wird verarbeitet der lokale PAD das Telegramm nur intern e Groupld Bei zu sendenden Telegrammen enth lt Groupld die PDnet Gruppenadresse an die das Telegramm gesendet werden soll Ist Groupld 0 wird ein direkt adressiertes Telegramm gesendet Wenn die Groupld gr er als O ist wird die PDnet Stations adresse ignoriert und das Telegramm an alle Gruppenteilneh mer gesendet die zu diesem Zeitpunkt online sind Gruppena dressierung e Len Das Feld Len enth lt die Telegramml nge in Byte Sie berech net sich aus der Gr e der in Data eingetragenen Daten zu z glich ein Byte f r den Telegrammtyp e Typ Das Feld Typ enth lt den Telegrammtyp Einige Telegrammty pen sind vom PDnet fest vergeben und d rfen nicht anderweitig verwendet werden e Data Das Array Data enth lt die Daten des Telegramms Der Inhalt ist abh ngig vom Telegrammtyp Ein Telegramm ist ein Datenpaket welches im PDnet von einer Station zu einer anderen Station direkt adressiertes Telegramm oder mehreren Stationen Gruppenadressierung
109. eine weiteren Datenzellen Die VDM Datenzellen werden im PAD als verkettete Liste abge legt Jede Datenzelle beginnt mit einem einheitlichen Datenzellen kopf tVdmHeader In ihm stehen die globalen Informationen der Datenzelle wie z B der CDT_ Datentyp der folgenden Proze werte Hinter dem Datenzellenkopf folgen mehrere gleich gro e Elemente die aus einem Flagbyte und dem Proze wert bestehen Das Flag byte enth lt CFB_ Statusbits die angeben ob der Proze wert g ltig oder ver ndert ist CDT_ CFB_ VDM_GetNextVdmHeader 5 Typen Referenz 5 10tVdmHeader BESCHREIBUNG SIEHE AUCH 89 1992 98 APEX Automationstechnik GmbH Braunschweig Stand 02 11 1998 5 Typen Referenz 5 11tVdmHeaderParams AUFGABE PASCAL DEFINITION C DEFINITION BESCHREIBUNG 90 Programmierhandbuch PAD Interface 5 11 tVdmHeaderParams Liefert Informationen zur VDM Datenzelle bei der ein Fehler auf getreten ist type tVdmHeaderParams record pHeader PadPage Flagsl DataCellID DataType DataSize DataCount AddrPos AddrKind PDnetId NextCell end C HHHHHHHHHHH LG GG GG AAA A typedef struct zZ HHHHHHHHH A GGG GG CG UINT32 pHeader T8 PadPage T8 Flagsl T16 DataCellID T8 DataType T8 DataSize T16 DataCount T16 AddrPos T8 AddrKind T16 PDnetlId UINT32 NextCell T32 T8 T8 T16 T8 T8 tVdmHeaderParan
110. ek PADITF16 DLL im Applikationsver zeichnis oder im Suchpfad befinden Das Beispielprogramm PADTEST f r Windows 3 1 ist f r folgende Compiler verf gbar 8 3 1 Borland Pascal 7 0 Wenn Sie alle mitgelieferten Dateien in ein Verzeichnis kopieren und aus diesem Verzeichnis Borland Pascal aufrufen erzeugt das beiliegende Beispielprogramm PADTEST PAS das Testpro gramm PADTEST EXE Eventuell m ssen Sie im Borland Pascal im Men Options Directories die Verzeichnisangaben f r Ihr System anpassen Die Pascal Unit WinCrt emuliert die Ein Ausgabefunktionen eines M NWEIS DOS Fensters unter Windows 3 1 Das Beispielprogramm PADTEST PAS l uft als Standard DOS Anwendung unter Win dows 3 1 Selbstverst ndlich k nnen Sie die PAD Interface Biblio thek auch in eine echte Windowsanwendung einbinden Damit das Programm PADTEST EXE als Symbol in einem Fen ster von Windows 3 1 erscheint m ssen Sie das gew nschte Fen ster zuerst aktivieren Danach w hlen Sie aus dem Fenster Pro grammanager das Men DateilNeu In dem erscheinenden Fenster w hlen Sie Neu Programm und bet tigen den Schalter OK In dem Fenster Programmeigenschaften geben Sie dann ein Beschreibung Padtest Befehlszeile LAUFWERK PFAD padtest exe MEM DO000 IO 300 Arbeitsverzeichnis LAUFWERK PFAD und bet tigen den Schalter OK 161 1992 98 APEX Automationstechnik GmbH Braunschweig Stand 02 11 1998 8 Beispielprogra
111. em leeren Sendepuffer wird CPDNET_OK zur ckgege ben Andernfalls wird ein CPDNET_ Fehlercode geliefert Z B CPDNET_TX_FULL wenn der Sendepuffer noch belegt ist Diese Funktion sollte vor dem Senden eines Telegramms aufge rufen werden damit dieses nicht verworfen wird wenn der Sende puffer belegt ist Diese Funktion ist wegen der Kompatibilit t zur alten Bibliothek noch vorhanden Die Funktion PAD_TxBufferEmpty braucht aber nicht verwendet werden da die Funktion PAD_SendTelegram einen Fehler meldet wenn der Sendepuffer noch belegt ist if PAD_TxBufferEmpty CPDNET_OK then begin Telegramm aufbauen PAD_SendTelegram tg end if PAD_TxBufferEmpty CPDNET_OK Telegramm aufbauen PAD_SendTelegram amp tg PAD_SendTelegram 7 API Referenz 7 19PAD_TxBufferEmpty AUFGABE PASCAL DEFINITION C DEFINITION R CKGABEWERT BESCHREIBUNG HINWEIS PASCAL BEISPIEL C BEISPIEL SIEHE AUCH 135 1992 98 APEX Automationstechnik GmbH Braunschweig Stand 02 11 1998 7 API Referenz 7 20PAD_VersionInfo AUFGABE PASCAL DEFINITION C DEFINITION AUSGABEWERTE R CKGABEWERT BESCHREIBUNG C BEISPIEL 136 Programmierhandbuch PAD Interface 7 20 PAD_Versioninfo Liefert eine Struktur mit der PAD Firmwareversion function PAD_Versioninfo var vi tPAD_VersionInfo INEL6 INT16 PAD_VersionlInfo tPAD_VersionInfo vi e vi ber vi wir
112. en ster von Windows 3 1 erscheint m ssen Sie das gew nschte Fen ster zuerst aktivieren Danach w hlen Sie aus dem Fenster Pro grammanager das Men DateilNeu In dem erscheinenden Fenster w hlen Sie Neu Programm und bet tigen den Schalter OK In dem Fenster Programmeigenschaften geben Sie dann ein Stand 02 11 1998 1992 98 APEX Automationstechnik GmbH Braunschweig Programmierhandbuch PAD Interface 8 Beispielprogramm 8 3 IBM PC Windows 3 1 Beschreibung Padtest Befehlszeile LAUFWERK PFAD padtest exe MEM DO00 IO 300 Arbeitsverzeichnis LAUFWERK PFAD und bet tigen den Schalter OK F r LAUFWERK m ssen Sie den Buchstaben des Laufwerks und f r PFAD den Verzeichnispfad angeben an der das Programm PADTEST EXE steht Dem Testprogramm PADTEST EXE k nnen Sie als Parameter mit IO xxx die IO Base Adresse und mit MEM xxxx die Segmentadresse des PAD PC angeben Mit dem Parameter H erhalten Sie eine kurze Hilfe zu den Parametern Die Parameterangaben MEM und lO m ssen mit den Adressen bereinstimmen die auf dem PAD PC mit dem DIP Schalter SW1 eingestellt sind 163 1992 98 APEX Automationstechnik GmbH Braunschweig Stand 02 11 1998 8 Beispielprogramm 8 4 IBM PC Windows 95 HINWEIS ACHTUNG 164 Programmierhandbuch PAD Interface 8 4 IBM PC Windows 95 Bevor Sie das Beispielprogramm starten k nnen m ssen Sie un ter Wind
113. enVMS AXP 6 2 7 0 VMSINSTAL Anforderungen Backup der Systemplatte OpenVMS Device Namen 42 Programmierhandbuch PAD Interface Wenn VMSINSTAL aufgerufen wird werden folgende Anforderun gen berpr ft e das aktuelle Ger t und Verzeichnis sollte SYS UPDATE sein e der Account mu hinreichende Privilegien haben e der Account mu hinreichende Quotas und Limits haben e es sollten keine anderen Benutzer im System angemeldet sein VMSINSTAL ben tigt mindestens die folgenden Quotas 18000 40 ASTLM DIOLM 24 BIOLM 18 ENOLM 18 BYTLM 30 FILLM Falls VMSINSTAL ein Problem mit den Mindestanforderungen erkennt erfolgt eine entsprechende Mitteilung und die Abfrage ob die Installation fortgesetzt werden soll Unter Umst nden kann die Installation durch Eingabe von YES fortgesetzt werden Um die Installation abzubrechen ist NO einzugeben Nach der Behebung des Problems kann VMSINSTAL erneut aufgerufen werden Beim Beginn der Installation fragt VMSINSTAL ab ob ein Backup der Systemplatte gemacht wurde Es ist blich und dringend ange raten vor der Installation von PDnet AXP oder eines anderen Pro duktes immer eine Sicherung der Systemplatte vorzunehmen Zur Durchf hrung des Backup sind die spezifischen Verfahren f r die jeweilige Konfiguration des Systems anzuwenden Weitere Informationen finden sich in der Softwaredokumentation von OpenVMS AXP insbesondere OpenVMS System Managers Ma nual und OpenVM
114. ent sein e CZF_TRANSMITCELL Wenn dieses Bit gesetzt ist handelt es sich bei dieser Daten zelle um eine Sendezelle andernfalls um eine Empfangszelle e CZF_SENDALL Ist dieses Bit gesetzt Alles Senden Ein werden beim Ein schalten eines PDnet Controllers und beim ndern eines Pro ze wertes alle Proze werte der VDM Datenzelle neu bertra gen Bei VDM Datenzellen mit Meldungen von der SPS zum Leitsystem sollte im NetPro Alles Senden Ein gesetzt werden damit alle nderungen der SPS im Leitsystem angezeigt wer den Ist dieses Bit zur ckgesetzt Alles Senden Aus werden beim Einschalten des PDnet Controllers die Proze werte nicht ber tragen Erst wenn sich ein Proze wert ndert wird dieser allein bertragen Bei VDM Datenzellen mit Befehlen von dem Leitsy stem zur SPS sollte im NetPro Alles Senden Aus gesetzt werden damit nur ge nderte Befehle an die SPS gesendet werden e CZF_CONNECTIONTOSOURCE ber dieses Bit wird dem Endger t mitgeteilt da zu seiner Empfangszelle eine einwandfreie Verbindung von der zugeh ri gen Sendezelle besteht e CZF_CHANGED Dieses Bit zeigt an da mindestens ein Proze wert der VDM Datenzelle ge ndert wurde Bei Sendezellen wird dieses Bit von der Bibliothek gesetzt Wenn der VDM alle ge nderten Proze werte abgearbeitet hat setzt er dieses Bit auf 0 zur ck Bei Empfangszellen setzt der VDM dieses Bit wenn ge nderte Proze werte empfangen werden Die Bib
115. er Wert zur ckgegeben mit dem die Funktion PAD_Select den initialisierten PAD w hlen kann Der handle wird ben tigt wenn die PAD Interface Biblio thek mehrere PADs im lokalen Endger t verwalten soll Befin det sich nur ein PAD im lokalen Endger t kann handle ver nachl ssigt werden e Bei erfolgreicher Ausf hrung wird CPDNET_OK zur ckgege R CKGABEWERT ben Andernfalls wird ein CPDNET_ Fehlercode geliefert program Demo PASCAL BEISPIEL procedure PAD_Initialisieren var handle UINT16 begin if PAD_Init 10 D000 290 1000 handle lt gt CPDNET_OK then begin writeln Status der PAD Operation PAD_Result halt 1 end end begin PAD_Initialisieren PAD_Done end 119 1992 98 APEX Automationstechnik GmbH Braunschweig Stand 02 11 1998 7 API Referenz 7 11PAD _Init C BEISPIEL DEFINITION DEFINITION PASCAL DEFINITION C DEFINITION EINGABEWERTE 120 Programmierhandbuch PAD Interface int main int argc char argv UINT16 handle PAD PC initialisieren if PAD_Init 10 0xD000 0x290 1000 shandle l CPDNET_OK printf Status der PAD Operation d n PAD_Result exit 1 PAD Funktionen aufrufen PAD Verbindung schlie en PAD_Done return 0 7 11 2 IBM PC DOS Protected Mode Siehe PAD_Init f r DOS Real Mode 7 11 3 IBM PC Windows 3 1 Siehe PAD_Init f r DOS Real Mode 7 11 4 IBM PC Window
116. er ben tigt welche eine Koordinie rung der einzelnen Zugriffe durchf hren Stand 02 11 1998 1992 98 APEX Automationstechnik GmbH Braunschweig Programmierhandbuch PAD Interface 2 2 IBM PC DOS Protected Mode Von der PAD Interface Bibliothek f r IBM PC DOS Protected Mo de werden folgende PDnet Controller unterst tzt PDnet Controller LAN Anschlu PAD PC K KOAX PAD PC Kr KOAX redundant LWL PAD PC L PAD PC Lr LWL redundant PAD PC PL Plastik LWL PAD PC PLr Plastik LWL redundant PAD PG K KOAX Den Einbau entnehmen Sie bitte dem Handbuch des PDnet Controllers 2 3 IBM PC Windows 3 1 Von der PAD Interface Bibliothek f r IBM PC Windows 3 1 werden folgende PDnet Controller unterst tzt PDnet Controller LAN Anschlu PAD PC K KOAX PAD PC Kr KOAX redundant PAD PC Lr LWL redundant PAD PC PL Plastik LWL PAD PC PLr Plastik LWL redundant PAD PG K KOAX Den Einbau entnehmen Sie bitte dem Handbuch des PDnet Controllers 2 Installation Hardware 2 2 IBM PC DOS Protected Mode 11 1992 98 APEX Automationstechnik GmbH Braunschweig Stand 02 11 1998 Programmierhandbuch PAD Interface 2 Installation Hardware 2 4 BM PC Windows 95 2 4 IBM PC Windows 95 Von der PAD Interface Bibliothek f r IBM PC Windows 95 werden folgende PDnet Controller unterst tzt PDnet Controller LAN Anschlu PAD PC K KOAX PAD PC Kr KOAX redundant LWL PAD PC L PAD PC Lr
117. erhalb der PAD die laufende Anwendung berwacht Die Anwendung mu die Funktion PAD_LifeCheck innerhalb dieser Zeit aufrufen damit der PAD ein laufendes Anwenderprogramm erkennt AUSGABEWERTE e handle ber handle wird eine eindeutiger Wert zur ckgegeben mit dem die Funktion PAD_Select den initialisierten PAD w hlen kann Der handle wird ben tigt wenn die PAD Interface Biblio thek mehrere PADs im lokalen Endger t verwalten soll Befin det sich nur ein PAD im lokalen Endger t kann handle ver nachl ssigt werden R CKGABEWERT e Bei erfolgreicher Ausf hrung wird CPDNET_OK zur ckgege ben Andernfalls wird ein CPDNET_ Fehlercode geliefert C BEISPIEL int main int argc char argv UINT16 handle PAD PC initialisieren auf Ger t JDA0O if PAD_Init JDA0O 1000 amp handle CPDNET_OK printf Status der PAD Operation d n PAD_Result exit 1 PAD Funktionen aufrufen PAD Verbindung schlie en PAD_Done return 0 122 Stand 02 11 1998 1992 98 APEX Automationstechnik GmbH Braunschweig Programmierhandbuch PAD Interface 7 11 10 SUN IPC IPX SUN OS 4 1 2 INT16 PAD_Init UINT8 aSlotNum UINT16 PcCheckTmrVal e aSlotNum UINT16 handle 7 API Referenz 7 11PAD_Init C DEFINITION EINGABEWERTE In aSlotNum wird die Steckplatznummer des SBus bergeben auf dem sich der PAD SBus befindet e PcCheckTmrVal PcCheckTmrVal setzt die Zeit in
118. eter da die vom PAD verwendeten Ressourcen aus der Registrierdatenbank von Windows NT gele sen werden Die Bibliothek greift ber die dynamische Linkbibliothek PADITF32 DLL auf den Ger tetreiber PADITF32 SYS zu Die PADITF32 DLL ist zwar reentrantf hig wenn die DLL jedoch von mehreren Programmen gleichzeitig benutzt wird d rfen keine zwei Programme auf den gleichen PAD Speicher zugreifen da sie sich sonst gegenseitig die Ge ndertflags l schen Stand 02 11 1998 1992 98 APEX Automationstechnik GmbH Braunschweig Programmierhandbuch PAD Interface 8 5 2 Borland C 4 5 Wenn Sie alle Dateien aus den Verzeichnissen SRC und WNTBC45 in ein Verzeichnis kopieren und aus diesem Verzeich nis Borland C aufrufen erzeugt die beiliegende Projektdatei PADTEST IDE das Testprogramm PADTEST EXE Eventuell m ssen Sie im Borland C im Men Optionen Projekt Verzeichnisse die Verzeichnisangaben f r Ihr System anpassen Das Beispielprogramm PADTEST C wurde f r die WIN32 Konsole erzeugt damit es im Textmode in der Eingabeaufforderung von Windows NT l uft Selbstverst ndlich k nnen Sie die PAD Interface Bibliothek auch in eine echte Windowsanwendung ein binden Starten Sie das Programm PADTEST EXE ber den Dateimana ger oder die Eingabeaufforderung von Windows NT Das Pro gramm ben tigt keine Parameter da die vom PAD verwendeten Ressourcen aus der Registrierdatenbank von Windows NT gele sen werden Die
119. f gbar ist Die Funktion sendet ein Telegramm zu einem anderen PDnet Controller oder einer Gruppe von PDnet Controllern Liefert die Funktion CPDNET_OK so handelt es sich dabei um keine Sendebest tigung sondern nur um eine Best tigung das das Telegramm in einen freien Sendepuffer im PAD kopiert wurde Neustart eines Teilnehmers ausl sen function PAD_Neustart PDnetId byte boolean var tg tTelegram begin PAD_Neustart FALSE if PDnetId 0 then exit fillchar tg sizeof tg 0 tg PDnetId PDnetId tg Typ 250 tg Len 3 tg Data 0 255 tg Data l 1 PAD_Neustart PAD_SendTelegram tg CPDNET_OK end Stand 02 11 1998 1992 98 APEX Automationstechnik GmbH Braunschweig Programmierhandbuch PAD Interface Neustart eines Teilnehmers ausl sen int PAD_Neustart UINT8 PDnetlId tTelegram tg if PDnetId 0 return 0 memset amp tg 0 sizeof tg tg PDnetId PDnetId tg Typ 250 tg Len 3 tg Data 0 255 tg Data l 1 if PAD_SendTelegram amp tg CPDNET_OK return 1 else return 0 PAD_TxBufferEmpty PAD_ReceiveTelegram 7 API Referenz 7 17PAD_SendTelegram C BEISPIEL SIEHE AUCH 133 1992 98 APEX Automationstechnik GmbH Braunschweig Stand 02 11 1998 7 API Referenz 7 18PAD_SetDateTime AUFGABE PASCAL DEFINITION C DEFINITION EINGABEWERTE R CKGABEWERT
120. g Programmierhandbuch PAD Interface 4 Installation Bibliothek 4 8 IBM PC QNX 4 22 Protected Mode 4 8 IBM PC QNX 4 22 Protected Mode Die PAD Interface Bibliothek f r QNX 4 22 Protected Mode Pro gramme ist f r folgende Compiler verf gbar 4 8 1 Watcom C 9 5 Die Bibliothek wird in Form von Objektdateien O geliefert Diese Dateien werden von Watcom C wcc386 in das Programm einge bunden Damit der C Compiler die Dateien einbinden kann m s sen Sie die entsprechenden Dateien von der Diskette in das Ver zeichnis Ihres Projektes kopieren Die Lieferdiskette hat das MS DOS Dateiformat Deshalb m ssen sie das DOS Dateisystem starten bevor Sie die Dateien kopieren e Dosfsys e cp dos a Folgende Dateien befinden sich im Root Verzeichnis auf der mit gelieferten Diskette Dateiname Beschreibung Weitergabe readme txt nderungen und Erg nzungen NEIN der gedruckten Dokumentation paddefi h Headerdatei f r Basistypen paditf h Headerdatei f r Funktionen NEIN PAD_ padlib h Headerdatei f r Funktionen NEIN PDnet_ padvdm h Headerdatei f r Funktionen NEIN VDM_ padtest h Headerdatei f r Beispielpro NEIN gramm padtest c Quellcode f r Beispielprogamm NEIN 1 Teil padtest1 c Quellcode f r Beispielprogramm NEIN 2 Teil padtest2 c Quellcode f r Beispielprogramm NEIN 3 Teil padapiq4 obj Interface f r QNX 4 22 Beispielprogramms padtest Ausf hrbares Beispielprogramm A
121. gsapplikation f r JA die Installation des Ger tetrei bers unter Windows NT PADITF32 SYS Windows NT Ger tetreiber f r JA PDnet Controller im PC Weitere Angaben zum PAD PC und PAD PG finden Sie im Kapitel IBM PC DOS Real Mode Hinweise zur Installation des Ger te treibers finden Sie unten bzw in der READNTA4 TXT Damit Sie unter Windows NT Ger tetreiber installieren k nnen m ssen Sie sich zun chst als ein Benutzer mit Administatorrech ten anmelden Nur mit diesen Rechten k nnen Ger tetreiber in das Windows NT Verzeichnis SYSTEM32 DEVICE kopiert werden und die Registrierdatenbank von Windows NT ver ndert werden Falls Sie auf ihrem System den Ger tetreiber APEX PAD SYS installiert haben sollten Sie diesen deinstallieren bevor Sie den Ger tetreiber PADITF32 SYS installieren da auf einen PAD nur ein Ger tetreiber zugreifen kann Der Ger tetreiber PADITF32 SYS unterst tzt mehrere lokale PADs in einem PC Damit diese unterschieden werden k nnen erh lt jeder hinzugef gte PAD eine Ger tenummer ber die das Anwen derprogramm auf den PAD zugreift Die Ger tenummer wird im Register Netzwerk in der Registerkarte Netzwerkkarte vor je dem eingetragenen PDnet Controller in eckigen Klammern ange zeigt Falls Ihr Anwenderprogramm nur einen PAD unterst tzt k nnen Sie die Ger tenummer evt vernachl ssigen Stand 02 11 1998 1992 98 APEX Automationstechnik GmbH Braunschweig Programmierhandbuch PA
122. hi UINT8 jmp array 0 1 of UINT8 r array 0 12 of UINT8 FwStatus UINT8 FwVersion UINT8 FwRelease UINT8 FwDay UINT8 FwMonth UINT8 FwYear UINT8 end typedef struct UINT8 len Lo UINT8 len bi UINT8 jmp 2 UINTS cr 13 UINT8 FwStatus UINTS FwVersion UINTS FwRelease UINT8 FwDay UINTS FwMonth UINTS FwYear tPAD_VersionInfo e FwVersion Enth lt die Versionsnummer der Firmware im BCD Format e FwRelease Enth lt die Releasenummer der Firmware im BCD Format e FwDay Enth lt den Tag der Firmware im BCD Format e FwMonth Enth lt den Monat der Firmware im BCD Format e FwYear Enth lt das Jahr der Firmware im BCD Format Die restlichen Fehler werden nur intern verwendet PAD_Versioninfo Stand 02 11 1998 1992 98 APEX Automationstechnik GmbH Braunschweig Programmierhandbuch PAD Interface 5 Typen Referenz 5 5 tPadDate 5 5 tPadDate Die Struktur tPadDate enth lt das Datum der PAD Echzeituhr AUFGABE type tPadDate PASCAL DEFINITION record da_year INT16 da_day INT8 da_mon INT8 end typedef struct C DEFINITION INT16 da_year INTS da_day INT8 da mon tPadDate e da year FELDER Enth lt das Jahr des Datums e da day Enth lt den Tag des Datums e da mon Enth lt den Monat des Datums PAD_GetDateTime PAD_SetDateTime SIEHE AUCH 83 1992 98 APEX Automationstechnik GmbH Braunschweig Stand 02 11 1998
123. i f r Funktionen NEIN PDnet_ SRC PADVDM H Headerdatei f r Funktionen VDM_ SRC PADTEST H Headerdatei f r Beispielpro NE gramm SRC PADTEST C Quellcode f r Beispielprogramm NE 1 Teil SRC PADTEST1 C Quellcode f r Beispielprogramm NEI 2 Teil SRC PADTEST2 C Quellcode f r Beispielprogramm NEIN 3 Teil DOSBC31 PADAPIPC OBJ Interface zum DOS PC DOSBC31 PADITF OBJ Funktionen PAD_ NEIN DOSBC31 PADLIB OBJ Funktionen PDnet_ NEIN DOSBC31 PADVDM OBJ Funktionen VDM_ NEIN DOSBC31 PADTEST PRJ Projektdatei f r Beispielpro NEIN gramm DOSBC31 PADTEST EXE Ausf hrbares Beispielprogramm 50 Stand 02 11 1998 1992 98 APEX Automationstechnik GmbH Braunschweig Programmierhandbuch PAD Interface 4 Installation Bibliothek 4 1 IBM PC DOS Real Mode In der Beschreibung wird nicht bei jeder Funktion Variablen o FINWEIS angegeben in welcher Bibliothek diese definiert ist da eine logi sche Zuordnung ber Ihren Namen bzw der Funktionsgruppe er sichtlich ist 51 1992 98 APEX Automationstechnik GmbH Braunschweig Stand 02 11 1998 Programmierhandbuch PAD Interface 4 Installation Bibliothek 4 2 IBM PC DOS Protected Mode 4 2 IBM PC DOS Protected Mode Die PAD Interface Bibliothek f r DOS Protected Mode Programme ist f r folgende Compiler verf gbar 4 2 1 Borland Pascal 7 0 Die Bibliothek wird in Form einer Unit PAS und einer dynami schen Linkbibli
124. i re 4294967295 ORD CDT_LONGINT Longinteger 4 2147483648 2147483647 Real Typen CDT_SINGLE IEEE Typ ShortReal CDT_DOUBLE Double 8 IEEE Typ LongReal CDT_EXTENDED Extended Text Typen CDT_ASCII ASCII n ASCII Zeichen mit der parametrierten Zeichen L nge oder abschlie enden Byte 00h CDT_STRING StringArray n Jeder String hat ein f hrendes L n genbyte und am Ende ein Byte 00h so da dieser Typ von den Hochspra chen PASCAL und C leicht zu verar beiten ist Beide Byte werden in der L ngenangabe n ber cksichtigt Komplexe Typen CDT_RECORD Struktur n Mit diesem Typ k nnen strukturierte Datentypen verarbeitet werden Bitfeld Typen CDT_BIT Bitfeld Mer 1 Merkerwert in Bit 0 ker CDT_BIT8 8 Bitfeld 8 Merker in einem Byte CDT_BIT16 16 Bitfeld 2 16 Merker in einem Wort CDT_BIT32 32 Bitfeld 32 Merker in einen Doppelwort SIEHE AUCH VDM_Read_PV VDM_Write_PV 92 Stand 02 11 1998 1992 98 APEX Automationstechnik GmbH Braunschweig Programmierhandbuch PAD Interface 6 2 CFB_ Die Konstanten CFB_ beschreiben die Bits des Flagbyte f r jeden Proze wert einer VDM Datenzelle CFB_DATE_CHANGED Dieses Bit zeigt an da der folgende Proze wert ge ndert wurde Bei einer Sendezelle wird dieses Bit von der Bibliothek gesetzt wenn ein ge nderter Proze wert geschrieben wird Der VDM l scht das Bit wenn er den Proze wert bertragen hat Bei einer Empfangszelle setzt der VDM das Bit wenn ein ge nderte
125. ie Bibliotheken sind mit dem C Compiler C86 f r QNX cq er zeugt da dieser auch ein ANSI C Compiler ist Folgende Para meter wurden zum bersetzen der Bibliotheken und des Beispiel programms padtest verwendet Parameter Beschreibung Speichermodell Large G2 Prozessor 80286 und h her Stand 02 11 1998 1992 98 APEX Automationstechnik GmbH Braunschweig Programmierhandbuch PAD Interface 8 Beispielprogramm 8 8 IBM PC QNX 4 22 Protected Mode Sollte die CPU Ihres verwendeten Computers keinen mathemati schen Coprozessor besitzen m ssen Sie vor dem ersten Aufruf von dem C Compiler C86 bzw dem Beispielprogramm padtest den Coprozessor Emulator von C86 aufrufen e cii_emul_8087 E 8 8 IBM PC QNX 4 22 Protected Mode Das Beispielprogramm PADTEST f r QNX 4 22 Protected Mode ist f r folgende Compiler verf gbar 88 1 Watcom C 9 5 Die beiliegende Makedatei makefile erzeugt das Testprogramm padtest mit dem Make Utility e make Der C Compiler mu mit dem Parameter T1 aufgerufen werden damit das Beispielprogramm auf die l O Ports zugreifen kann Evt m ssen Sie die Dateirechte des Beispielprogramms noch auf ausf hrbar setzen e chmod x padtest Sie starten das Beispielprogramm mit dem Befehl e padtest Dem Testprogramm padtest k nnen Sie als Parameter mit IO XxXX die I O Portadresse und mit MEM xxxx die Segmentadresse des PAD PC angeben Mit de
126. ie Funktion PAD Read PV mit dem Parameter CFB_DATE_CHANGED zyklisch aufruft 9 Programmierung 9 4 Telegramme senden und empfangen ACHTUNG 183 1992 98 APEX Automationstechnik GmbH Braunschweig Stand 02 11 1998 9 Programmierung 9 5 Proze werte senden und empfangen ACHTUNG 184 Programmierhandbuch PAD Interface Das Senden von Proze werten bernimmt die Funktion VDM Write DV Beim Beenden des Programms mu die Funktion VDM_Done auf gerufen werden um den von VDM_Init angelegten Speicher frei zugeben In einem Multitasking Betriebsystem darf nur ein Task die Funktion PAD_Read_PV aufrufen da die Funktion nach dem Auslesen der VDM Datenzelle das nderungsbit des gelesenen Proze wertes l scht Wenn mehrere Task die Funktion PAD_Read_PV aufrufen wird ein ge nderter Proze wert nur an einen der Tasks bermittelt Falls Sie ihr Anwenderprogramm in mehrere Task aufteilen wollen sollte ein Task die Lifeliste berwachen ein Task Telegramme senden ein Task Telegramme empfangen ein Task Proze werte senden und ein Task Proze werte empfangen Stand 02 11 1998 1992 98 APEX Automationstechnik GmbH Braunschweig
127. ieren Anschlie end Stand 02 11 1998 1992 98 APEX Automationstechnik GmbH Braunschweig Programmierhandbuch PAD Interface 3 Installation Treiber 3 4 IBM PC Windows 95 e W hlen Sie in der Liste Ressourceneinstellungen die zu n dernde Ressource aus e Klicken Sie auf die Schaltfl che Einstellung ndern e W hlen Sie eine Einstellung aus die nicht mit anderen Ger ten in Konflikt liegt und klicken Sie auf OK Nach der Konfiguration der Ressourcen e Klicken Sie auf die Registerkarte Allgemein im Eigenschafts fenster e Aktivieren Sie das Kontrollk stchen Ausgangskonfiguration in der Ger tenutzung wenn es noch nicht gesetzt ist e Schlie en Sie das Eigenschaftsfenster mit OK e Schlie en Sie den Ger te Manager mit der Schaltfl che Schlie en Wenn das Dialogfeld Ge nderte Systemeinstellungen erscheint e Klicken Sie auf die Schaltfl che Ja um Windows 95 zu been den Wenn die gew hlten Ressourcen nicht mit den eingestellten Adressen auf dem PDnet Controller bereinstimmen e Schalten Sie nach dem herunterfahren von Windows 95 den Computer aus e Stellen Sie die DIP Schalter des PDnet Controllers auf die Adressen der verwendeten Ressourcen e Starten Sie Windows 95 neu 3 4 3 Ger tetreiber deinstallieren Wenn Sie den Ger tetreiber PADITF32 VXD entfernen wollen e W hlen Sie im Startmen Einstellungen e ffnen Sie die Programmgruppe Systemste
128. ierhandbuch PAD Interface CPDNET_RX_EMPTY Der Empfangspuffer f r Telegramme ist leer CPDNET_BAD_SEGM An die Funktion wurde eine ung ltige Adresse bergeben CPDNET_NOT_ENOUGH_MEMORY Auf dem Heap ist nicht mehr genug Speicher vorhanden um die internen Datenstrukturen der Bibliothek anzulegen CPDNET_ERR_NO_FREE_CHANNEL Es wurde versucht zu viele lokale PADs zu ffnen CPDNET_ERR_NO_RESOURCES Die gew hlte Ger tenummer hat keine eingetragenen Ressour cen CPDNET_ERR_PAD_ACCESS_DENIED Der PAD mit der bergebenen Ger tenummer ist bereits ge ff net CPDNET_ERR_DEVICE_DRIVER_NOT_FOUND PAD_Init hat den Ger tetreiber nicht gefunden Entweder wurde der Ger tetreiber noch nicht installiert oder es liegt ein Res sourcenkonflikt vor CPDNET_ERR_GET_LDTSELECTOR PAD_Init hat vom Ger tetreiber keinen Zugriff auf den PAD Speicher bekommen Stand 02 11 1998 1992 98 APEX Automationstechnik GmbH Braunschweig Programmierhandbuch PAD Interface 6 5 CTR_ Die erweiterte Lifeliste enth lt im Feld ID eine der folgenden CTR_ Treibernummern e CTR_NULL Die Modul ID fehlt e CTR_KERNEL Das Kernelmodul ist aktiv e CTR_HARDWARETEST Das Hardwaretest Modul ist aktiv e CTR_SETUPDATEN Das Setupdaten Modul ist geladen e CTR_PDNET Der PDnet Kanaltreiber ist aktiv e CTR_SMI_PADPC Der Endger tetreiber SMI PAD PC ist aktiv e CTR_SMI_PADPG Der Endger tetreiber SMI PAD PG e CTR_SMI_
129. ion des PAD PC einge baut werden 2 10 SUN IPC IPX SUN OS 4 1 2 Von der PAD Interface Bibliothek f r SUN IPC IPX SUN OS 4 1 2 werden folgende PDnet Controller unterst tzt PDnet Controller LAN Anschlu PAD SBus K KOAX PAD SBus Kr KOAX redundant Den Einbau entnehmen Sie bitte dem Handbuch des PDnet Controllers 2 Installation Hardware 2 10SUN IPC IPX SUN OS 4 1 2 15 1992 98 APEX Automationstechnik GmbH Braunschweig Stand 02 11 1998 Programmierhandbuch PAD Interface 2 Installation Hardware 2 11SUN Ultra 5 Solaris 2 6 2 11 SUN Ultra 5 Solaris 2 6 Von der PAD Interface Bibliothek f r SUN Ultra 5 Solaris 2 6 werden folgende PDnet Controller unterst tzt PDnet Controller LAN Anschlu PAD PCI K KOAX PAD PCI Kr KOAX redundant LWL PAD PCI L PAD PCI Lr LWL redundant Den Einbau entnehmen Sie bitte dem Handbuch des PDnet Controllers 2 12 Motorola 8420 System V m88k Von der PAD Interface Bibliothek f r Motorola 8420 System V m88k werden folgende PDnet Controller unterst tzt PDnet Controller LAN Anschlu PAD VME K KOAX PAD VME Kr KOAX redundant PAD VME Lr LWL redundant Den Einbau entnehmen Sie bitte dem Handbuch des PDnet Controllers 16 Stand 02 11 1998 1992 98 APEX Automationstechnik GmbH Braunschweig Programmierhandbuch PAD Interface 3 Installation Treiber Dieses Kapitel beschreibt auf welchen Betriebsystemen zus
130. isierung der Bibliothek mit DAD Inn durchgef hrt e CGPDNET_NO_CONTROLLER_DETECTED Die Funktion PAD_Init konnte keinen PAD finden berpr fen Sie die Parameter von DAD Int sowie die Hardwareeinstellun gen des PAD e CPDNET_NO_REINIT_ALLOWED Ein zweiter Aufruf von PAI Int mit den selben Ressourcen ist nicht gestattet Deaktivieren Sie den PAD ber PAD_Done um ihn wieder zu aktivieren e CGPDNET_BAD_PARAM An eine Funktion wurden nicht zul ssige Parameter bergeben leere Zeiger unzul ssige Datennummer usw e CGPDNET_RESTART_RUNNING Die Funktion wurde abgebrochen weil sie einen laufenden PAD Restart erkannt hat Die nachfolgend aufgerufenen Funk tionen liefern CPDNET_RESTART_RUNNING bis der PAD Restart beendet ist e CPDNET_RESTART_END Die Funktion wurde abgebrochen weil sie das Ende eines PAD Restart erkannt hat Die nachfolgend aufgerufenen Funk tionen k nnen wieder auf den PAD zugreifen e CGPDNET_TIMEOUT Die Funktion konnte wurde wegen eines Timeout Fehler abge brochen e CPDNET_NO_SYNC Die Bibliothek konnte den Proze mit dem PAD nicht synchro nisieren e CGPDNET_TX_FULL F r das Telegramm ist kein freier Sendepuffer verf gbar e CGPDNET_RX_FULL Im Empfangspuffer liegt ein neues Telegramm 6 Konstanten Referenz 6 4 CPDNET_ AUFGABE KONSTANTEN 95 1992 98 APEX Automationstechnik GmbH Braunschweig Stand 02 11 1998 6 Konstanten Referenz 6 4 CPDNET_ 96 Programm
131. k vorge nommen und koordiniert e nderungen welche das Interface zwischen PAD und PC be treffen k nnen von der Software abgefangen werden somit ist die Software mit sp teren Versionen der Hardware ohne gr ere nderung einsetzbar e Die Bibliothek benutzt ein einheitliches Hardware API welches die Zugriffe auf die Speicherseiten des PADs koordiniert e Greifen mehrere Prozesse auf einen PAD zu synchronisiert die Bibliothek gleichzeitige Zugriffe auf die Datenbereiche des PAD Die Bibliothek berwacht und Behandelt die nderungen von Flagbytes in den VDM Datenzellen Stand 02 11 1998 1992 98 APEX Automationstechnik GmbH Braunschweig Programmierhandbuch PAD Interface Die PAD Interface Bibliothek wurde f r Systeme entwickelt welche mit einem PAD ausgestattet sind Die Bibliothek liegt f r die fol genden Systeme vor Betriebssystem Compiler DOS Real Mode Borland Pascal 7 0 Borland C 3 1 Borland Pascal 7 0 IBM PC und 101 kompatible DOS Protected Mode Windows 3 1 Borland Pascal 7 0 Borland C 3 1 Windows 95 Borland Delphi 2 0 Borland C 4 5 Watcom C 10 0 Windows NT 3 5x 4 00 Microsoft Visual C 2 0 OS 2 Warp 3 4 VisualAge C 3 0 Watcom C 10 0 C86 QNX 3 21 Protected Mode QNX 4 22 Protected Watcom C 9 5 Mode DEC AlphaStation OpenVMS AXP V6 2 7 0 DEC C V5 2 SUN IPC IPX SUN OS 4 1 2 GNU C ANSI C Motorola 8
132. kit kann durch die Installation ein neuer Ger tetreiber erzeugt werden sofern die Betriebssy stemversion unterst tzt wird Die Installation ben tigt ca 3 15 Minuten Dies h ngt vom ver Zeit wendeten Datentr ger ab auf dem der Softwarekit geliefert wird Zur Durchf hrung der Installation mit VMSINSTAL unter OpenVMS Privilegien sind Proze privilegien erforderlich Der Account mu das SETPRV Privileg oder mindestens die Privilegien SYSPRV CMKRNL WORLD haben Um die SYSMAN Kommandos zu laden des Ger tetreibers auszuf hren mu der Account unter dem das Laden ausgef hrt wird das Privileg SETPRV oder mindestens die Privilegien OPER SYSLCK CMKRNL haben W hrend der Installation werden auf der Systemplatte ca 5000 P attenplatz freie Bl cke ben tigt Der installierte Kit ben tigt ca 500 freie Bl cke auf der Systemplatte Um den freien Plattenplatz auf der Systemplatte zu ermitteln kann das DCL Kommando SHOW DEVICE SYS SSYSDEVICE verwendet werden Man erh lt eine Ausgabe die dem folgenden Beispiel entspricht Device Device Error Volume Free Trans Mnt ame Status Count Label Blocks Count Cnt EQA014 DKA0 Mounted 0 EQUICONSYS 1118534 ELI 1 In der Spalte Free Blocks sind die auf der Systemplatte vorhan denen freien Bl cke angegeben 41 1992 98 APEX Automationstechnik GmbH Braunschweig Stand 02 11 1998 3 Installation Treiber 3 9 DEC AlphaStation Op
133. kopieren Sie die Unit PADITF16 PAS in Ihr Projektverzeichnis und die Datei PADITF16 DLL in das Ver zeichnis Ihres Anwenderprogramms Binden Sie danach die Unit PADITF16 PAS in Ihr Programm ein Folgende Dateien befinden sich auf der mitgelieferten Diskette Verzeichnis Dateiname Beschreibung Weitergabe README TXT nderungen und Erg nzungen NEIN der gedruckten Dokumentation SRC PADITF16 PAS Interface der PADITF16 DLL SRC PADTEST PAS Quellcode f r Beispielprogramm NEIN W31BP70 PADITF16 DLL Dynamische Linkbibliothek mit JA Funktionen PAD _ PDnet_ VDM_ W31BP70 PADITF16 TPW Funktionen PAD _ NEIN PDnet_ VDM_ W31BP70 BP TP Compiler Konfigurationsdatei f r NEIN Beispielprogramm W31BP70 PADTEST EXE Ausf hrbares Beispielprogramm Die PADITF16 DLL ist nicht reentrantf hig da sie globale Varia HINWEIS blen benutzt Deshalb darf nur ein Programm gleichzeitig auf die PADITF16 DLL zugreifen 4 3 2 Borland C 3 1 Die Bibliothek wird in Form einer Importbibliothek LIB und einer dynamischen Linkbibliothek DLL geliefert Damit Borland C 3 1 auf die DLL zugreifen kann kopieren Sie die Importbibliothek PADITF16 LIB in Ihr Projektverzeichnis und die Datei PA DITF16 DLL in das Verzeichnis Ihres Anwenderprogramms Bin den Sie danach die Importbibliothek PADITF16 LIB und die Hea derdatei PAD2DLL H in Ihr Programm ein 53 1992 98 APEX Automationstechnik GmbH Braunschweig Stand 02 11 199
134. leichen PAD Speicher zugreifen da sie sich sonst gegenseitig die Ge ndertflags l schen 8 4 3 Microsoft Visual C 2 0 Wenn Sie alle Dateien aus den Verzeichnissen SRC und W95MSVC2 in ein Verzeichnis kopieren und aus diesem Ver zeichnis Visual C 2 0 aufrufen erzeugt die beiliegende Projekt datei PADTEST VCP das Testprogramm PADTEST EXE Eventuell m ssen Sie im Visual C im Men Project Files Files in Group die Verzeichnisangaben f r Ihr System anpassen Das Beispielprogramm PADTEST C wurde f r die WIN32 Konsole erzeugt damit es im Textmode in der Eingabeaufforderung von Windows 95 l uft Selbstverst ndlich k nnen Sie die PAD Interface Bibliothek auch in eine echte Windowsanwendung einbinden Starten Sie das Programm PADTEST EXE ber den Explorer oder die Eingabeaufforderung von Windows 95 Das Programm ben tigt keine Parameter da die vom PAD verwendeten Ressour cen aus der Registrierdatenbank von Windows 95 gelesen werden Die Bibliothek greift ber die dynamische Linkbibliothek PADITF32 DLL auf den Ger tetreiber PADITF32 VXD zu Die PADITF32 DLL ist zwar reentrantf hig wenn die DLL jedoch von mehreren Programmen gleichzeitig benutzt wird d rfen keine zwei 8 Beispielprogramm 8 4 IBM PC Windows 95 HINWEIS ACHTUNG HINWEIS ACHTUNG 165 1992 98 APEX Automationstechnik GmbH Braunschweig Stand 02 11 1998 8 Beispielprogramm 8 4 IBM PC Windows 95 HINWEIS ACHTUNG HINWEIS
135. liothek setzt das Bit 103 1992 98 APEX Automationstechnik GmbH Braunschweig Stand 02 11 1998 Programmierhandbuch PAD Interface 6 Konstanten Referenz 6 8 CZF_ zur ck wenn alle ge nderten Proze werte der Datenzelle ge lesen wurden e CZF_VALID Dieses Bit wird gesetzt wenn mindestens ein Proze wert der Datenzelle einen g ltigen Wert hat Bleibt im Endger t das Pro gramm sehen Anwenderprogramm l uft nicht werden alle Empfangszellen ung ltig GT VDM Check PV 104 Stand 02 11 1998 1992 98 APEX Automationstechnik GmbH Braunschweig Programmierhandbuch PAD Interface 7 API Referenz 6 8 CZF_ 7 API Referenz Dieses Kapitel beschreibt die in der PAD Interface Bibliothek defi nierten API Funktionen Application Programming Interface Das API unterteilt die Funktionen in drei logische Gruppen e PAD Modul PADITF Untere Kommunikationsschicht zum Datenaustausch e PDnet Modul PADLIB Zugriff auf logische PDnet Funktionen ab Session Layer im Vergleich zum OSI Referenzmodell e VDM Modul PADVDM Zugriff auf den VDM Application Layer im Vergleich zum OSI Referenzmodell Die Bibliothek enth lt folgende Funktionen Funktion Beschreibung PAD_Result Gibt den Status der letzten Operation zur ck DAD Int ffnet die Verbindung zu einem PAD Schlie t die Verbindung zum PAD Funktionen zum Verwalten des lokalen PADs Liefert die Ressourcen vom aktuellen PAD PAD_Versioninfo
136. lit tsgr nden liefert die Funktion den Local status und die Gruppenadresse in ExtLifeListTIn 0 Da die ersten Firmwareversionen 2 x noch nicht alle Treibernum mern anzeigen aber die Statusflags der Treiber sind in dem Array ExtLifeListEntry die Indizes 1 bis 6 einem bestimmten Treiber zu geordnet wenn die ID CTR_NULL ist Folgende Treiber stehen in den Indizes 1 6 von ExtLifeListTIn wenn die Treibernummer ExtLifeListTIn 1 6 1D fehlt Treiber Modul Kernel Modul Hardwaretest Modul Setupdaten Hostinterface CE Serieller Kanal 1 Die Treiber Hostinterface und Serieller Kanal k nnen mehr als einmal auftreten und werden dann ab Index 7 heraufgez hlt Ist z B ExtLifeListTIn 6 ID CTR_NULL und ExtLifeListTIn 7 ID ent h lt die Treibernummer eines Seriellen Kanals so ist der Serielle Kanal 1 nicht belegt Index 6 und der Serielle Kanal 2 ist belegt Index 7 CTR_ CTRFL_ PDnet_ExtLifeLlist 5 Typen Referenz 5 3 tExtLifeListTin ACHTUNG SIEHE AUCH 81 1992 98 APEX Automationstechnik GmbH Braunschweig Stand 02 11 1998 5 Typen Referenz 5 4 tPAD_Versioninfo AUFGABE PASCAL DEFINITION C DEFINITION FELDER SIEHE AUCH 82 Programmierhandbuch PAD Interface 5 4 tPAD_Versioninfo Enth lt die Firmwareversin die von der Funktion PAD_Versioninfo geliefert wird tPAD_VersionInfo record len_lo UINT8 len_
137. locktreiber ist aktiv CTR_BLOCK_PAD5035 Der Endger tetreiber PAD 5035 mit VDM Blocktreiber ist aktiv CTR_SEAB1_MASTER Der Kanaltreiber SEAB1 Master ist aktiv CTR_SEAB1_SLAVE Der Kanaltreiber SEAB1 Slave ist aktiv CTR_3964R Der Kanaltreiber 3964R Master Slave ist aktiv CTR_ASCII Der Kanaltreiber ASCII ist aktiv CTR_DIN19244_ MASTER Der Kanaltreiber DIN 19244 SEAB 1W Master ist aktiv CTR_DIN19244_SLAVE Der Kanaltreiber DIN 19244 SEAB 1W Slave ist aktiv CTR_MODBUS_MASTER Der Kanaltreiber ModBus Master ist aktiv CTR_MODBUS_SLAVE Der Kanaltreiber ModBus Slave ist aktiv CTR_MODEM_BUS Der Kanaltreiber ModemTokenBus ist aktiv CTR_THYROM Der Kanaltreiber ThyroM ist aktiv Stand 02 11 1998 1992 98 APEX Automationstechnik GmbH Braunschweig Programmierhandbuch PAD Interface e CTR_RP57X_MASTER Der Kanaltreiber RP570 71 Master ist aktiv e CTR_RP57X_SLAVE Der Kanaltreiber RP570 71 Slave ist aktiv e CTR_PDNET_RAS_SERVER Der Kanaltreiber PDnet RAS Server ist aktiv e CTR_PDNET_RAS_CLIENT Der Kanaltreiber PDnet RAS Client ist aktiv e CTR_AWD_SEABIF Der Kanaltreiber SEABI1F AWD ist aktiv e CTR_AG95_INTERFACE Der Kanaltreiber AG95 Interface ist aktiv e CTR_PGEMU_S5 Der Kanaltreiber PG Emulator S5 ist aktiv e CTR_PGITF_S5 Der Kanaltreiber PG Interface S5 ist aktiv e CTR_PGEMU_A120_A250 Der Kanaltreiber PG Emulator A120 A250 ist aktiv e CTR_PGITF_A120_A250 Der Ka
138. lpro NEIN gramm SRC PADTEST C Quellcode f r Beispielprogramm NEIN 1 Teil SRC PADTEST1 C Quellcode f r Beispielprogramm NEIN 2 Teil SRC PADTEST2 C Quellcode f r Beispielprogamm NEIN 3 Teil WNTMSVC2 PADITF32 DLL Dynamische Linkbibliothek mit Funktionen PAD _ PDnet_ VDM_ WNTMSVC2 PADITF32 LIB Importbibliothek f r PA NEIN DITF32 DLL WNTMSVC2 PADTEST VCP Projektdatei f r Beispielpro NEIN gramm WNTMSVC2 PADTEST MAK Makedatei f r Beispielprogramm NEIN WNTMSVC2 PADTEST EXE Ausf hrbares Beispielprogramm Der Zugriff der DLL auf den PAD erfolgt ber den Ger tetreiber PADITF32 SYS Die PADITF32 DLL ist zwar reentrantf hig wenn die DLL jedoch von mehreren Programmen gleichzeitig benutzt wird d rfen keine zwei Programme auf den gleichen PAD Speicher zugreifen da sie sich sonst gegenseitig die Ge ndert flags l schen Ku Stand 02 11 1998 1992 98 APEX Automationstechnik GmbH Braunschweig Programmierhandbuch PAD Interface 4 Installation Bibliothek 4 5 IBM PC Windows NT 3 5x 4 00 4 5 4 Microsoft Visual C 4 0 Die Bibliothek wird in Form einer Importbibliothek LIB und einer dynamischen Linkbibliothek DLL geliefert Damit Visual C 4 0 auf die DLL zugreifen kann kopieren Sie die Importbibliothek PA DITF32 LIB in Ihr Projektverzeichnis und die Datei PADITF32 DLL in das Verzeichnis Ihres Anwenderprogramms Binden Sie danach die Importbibliothek PADITF32 LB und
139. m ssen auf 1 Byte Alignment ausgerichtet werden Borland Datenausrichtung Byte Microsoft Struct Member Align ment Byte Watcom Structure Alignment 1 Byte Alignment Je nach dem verwendeten Betriebssystem unterscheiden sich die Parameter von PADTEST Plattform Betriebssystem Parameter Beschreibung DOS Real Mode O xxx O Base Adresse Hex DOS Protected MEM xxxx Segmentadresse Hex Mode von PAD PC bzw PAD Windows 3 1 PG QNX 3 21 Paramterhilfe QNX 4 22 OS 2 Warp 3 4 keine Parameter werden aus der Datei CONFIG SYS gelesen Windows 95 keine Parameter werden aus Windows NT der Registrierdatenbank 3 5x 4 00 gelesen H SUN IPG IPX SUN OS 4 1 2 Sx SBus Slotnummer vom PAD SBus Parameterhilfe H Motorola 8420 System V m88k Bxxx Blocknummer des PAD VME in 256kByte Schritten Parameterhilfe 8 Beispielprogramm 7 35VDM_Write_PV ACHTUNG 157 1992 98 APEX Automationstechnik GmbH Braunschweig Stand 02 11 1998 8 Beispielprogramm 8 1 IBM PC DOS Real Mode 158 Programmierhandbuch PAD Interface 8 1 IBM PC DOS Real Mode Das Beispielprogramm PADTEST f r DOS Real Mode ist f r fol gende Compiler verf gbar 8 1 1 Borland Pascal 7 0 Wenn Sie alle mitgelieferten Dateien in ein Verzeichnis kopieren und aus diesem Verzeichnis Borland Pascal aufrufen erzeugt das beiliegende Beispielprogramm PADTEST PAS das Testpro gramm PADTEST EXE Eventuell m ssen Sie im Borl
140. m Parameter H erhalten Sie eine kurze Hilfe zu den Parametern Die Parameterangaben MEM und lO m ssen mit den Adressen bereinstimmen die auf dem PAD PC mit dem DIP Schalter SW1 eingestellt sind 175 1992 98 APEX Automationstechnik GmbH Braunschweig Stand 02 11 1998 8 Beispielprogramm 8 9 DEC AlphaStation OpenVMS AXP 6 2 7 0 HINWEIS 176 Programmierhandbuch PAD Interface 8 9 DEC AlphaStation OpenVMS AXP 6 2 7 0 Das Beispielprogramm PADTEST f r DEC AlphaStation OpenVMS AXP ist f r folgende Compiler verf gbar 891 DECC V5 2 Die Lieferdiskette besitzt das OpenVMS Dateiformat Um sie auf der DEC AlphaStation zu lesen m ssen Sie die Diskette mounten Dieses geschieht in einem DECterm Fenster mit dem Befehl e mount dva0 paditf Nach dem Mounten der Diskette k nnen Sie die PAD Interface Bibliothek mit dem Beispielprogramm aus dem Archiv PADIT017 A in das Verzeichnis SYS SYSROOT SYSMGR PADITF installie ren siehe Installation Bibliothek Durch Aufruf der beiliegenden Kommandodatei makefile com erzeigt das Testprogramm padtest exe e 5 Q makefile Die Kommandodatei makefile com compiliert das Beispielpro gramm cc padtest c Anschlie end werden alle Dateien gelinkt link padtest obj paditf obj padlib obj padvdm obj sys library padlib olb LIBRARY Wenn Sie das Programm padtest exe mit Parametern aufrufen wollen m ssen Sie ein Symbol definieren e padte
141. mm 8 3 IBM PC Windows 3 1 HINWEIS 162 Programmierhandbuch PAD Interface F r LAUFWERK m ssen Sie den Buchstaben des Laufwerks und f r PFAD den Verzeichnispfad angeben an der das Programm PADTEST EXE steht Dem Testprogramm PADTEST EXE k nnen Sie als Parameter mit IO xxx die I O Portadresse und mit MEM xxxx die Segmentadresse des PAD PC angeben Mit dem Parameter H erhalten Sie eine kurze Hilfe zu den Parametern Die Parameterangaben MEM und lO m ssen mit den Adressen bereinstimmen die auf dem PAD PC mit dem DIP Schalter SW1 eingestellt sind 8 3 2 Borland C 3 1 Wenn Sie alle mitgelieferten Dateien in ein Verzeichnis kopieren und aus diesem Verzeichnis Borland C aufrufen erzeugt die beiliegende Projektdatei PADTEST PRJ das Testprogramm PADTEST EXE Eventuell m ssen Sie im Borland C im Men Options Directories die Verzeichnisangaben f r Ihr System anpassen Wenn die Funktion WinMain nicht existiert nimmt Borland C an da es sich bei Ihrem Programm um eine DOS Anwendung han delt Borland C linkt dann automatisch die EasyWin Bibliothek hinzu die f r die Ein Ausgabefunktionen ein DOS Fenster unter Windows 3 1 emuliert Das Beispielprogramm PADTEST C l uft als Standard DOS Anwendung unter Windows 3 1 Selbstver st ndlich k nnen Sie die PAD Interface Bibliothek auch in eine echte Windowsanwendung einbinden Damit das Programm PADTEST EXE als Symbol in einem F
142. mp k nennen 16 3 Installation Treiber Auen 17 3 1 IBM PC DOS Real Mode 17 3 2 IBM PC DOS Protected Mode 17 3 3 IBM PC Windows 371 17 3 4 IBM PC Windows Op 18 3 4 1 Ger tetreiber installieren 19 3 4 2 Ger tetreiber konfigurieren n 20 3 4 3 Ger tetreiber deinstalleren 21 3 5 IBM PC Windows NT 3 vi 00 22 3 5 1 Ger tetreiber installieren 23 3 5 2 Ger tetreiber konfigurieren n 23 3 5 3 Ger tetreiber berpr fen nn 28 3 5 4 Ger tetreiber Ressourcen berpr fen 29 3 5 5 Ger tetreiber deinstallieren 30 3 6 IBM AT OS 2 Warp 214 31 3 6 1 Einheitentreiber installieren 31 3 6 2 Einheitentreiber konfigurieren eeeeseeeeeeeeen 33 3 6 3 Einheitentreiber deinstallieren 34 3 7 IBM PC QNX 3 21 Protected Mode 34 3 8 IBM PC QNX 4 22 Protected Mode 34 1 1992 98 APEX Automationstechnik GmbH Braunschweig Stand 02 11 1998 1 Einf hrung 2 1 IBM PC DOS Real Mode Programmierhandbuch PAD Interface 3 9 DEC AlphaStation OpenVMS AXP GI 35 3 9 1 ISA Bus Hardwarekonfiguration mit ISACFG 36 3 9 2 EISA Bus Hardwarekonfiguration mit ECU 39 3 9 3 Ger tetreiber installieren Renee 41 3 9 4 Kommando zum Laden des Ger tetreibers 43 3 9 5
143. n PAD zu mu es zyklisch die Funktion PAD_LifeCheck aufrufen um das PAD Interface am Leben zu erhalten Liefert eine Funktion CPDNET_RESTART_RUNNING sollte PAD_CheckRestart zyklisch aufgerufen werden bis die Funktion CPDNET_RESTART_END meldet Erst danach ist ein Zugriff auf den PAD wieder m glich Beim Beenden des Programms mu die Funktion PAD_Done auf gerufen werden um die Verbindung zum PAD zu trennen 9 3 Lifeliste berwachen Das Anwenderprogramm kann das an und abmelden anderer PDnet Controller berwachen in dem beim Programmstart die Lifeliste mit der Funktion PDnet_OnLineStatus bzw PDnet_ExtOnlineStatus in einen Pufferspeicher kopiert wird Wenn der zyklische Aufruf der Funktion PDnet_LifeListChanged eine nderung der PDnet Lifeliste meldet kann die Lifeliste neu eingelesen werden und die nderungen mit dem Pufferspeicher verglichen werden Stand 02 11 1998 1992 98 APEX Automationstechnik GmbH Braunschweig Programmierhandbuch PAD Interface nderungen der erweiterten Lifeliste werden von der Funktion PDnet_LifeListChanged nicht gemeldet Deshalb mu eine nde rungs berwachung der erweiterten Lifeliste zyklisch z B jede Sekunde die Funktion PDnet_ExtLifeList f r die Stationen aufru fen die online sind Die nderungen der erweiterten Lifeliste k n nen ebenfalls mit einem Pufferspeicher verglichen werden der beim Programmstart mit einer Kopie der erweiterten Lifeliste gef llt wurde
144. n Sie den Befehl ein SYS SMANAGER PDNETS SCONFIGURE 43 1992 98 APEX Automationstechnik GmbH Braunschweig Stand 02 11 1998 3 Installation Treiber 3 9 DEC AlphaStation OpenVMS AXP 6 2 7 0 44 Programmierhandbuch PAD Interface Die Kommandoprozedur arbeitet interaktiv Die Konfiguration er folgt in mehreren Schritten e Geben Sie den Namen der Kommandoprozedur zum Laden des Ger tetreibers ein Der Name ist standardm ig SYS STARTUP PDNET STARTUP COM Gibt es die angege bene Kommandoprozedur bereits dann kann man diese ber schreiben Erweitern oder einen anderen Namen ausw hlen e Geben Sie den Slots des PDnet Controllers ein f r den der Ger tetreiber zu laden ist Die Angabe des Slots entspricht der Slot Nummer die in ISACFG oder ECU f r den Slot verwendet wurde e Geben Sie f r den PDnet Controller die eingestellten 1 O Basisadresse und Speicheradresse ein Diese Werte werden in der Kommandodatei als Kommentar eingetragen e Geben Sie den OpenVMS Device Namen f r den PDnet Controller ein Device Unit Der Name wird standardm ig aus der Slot Nummer abgeleitet siehe oben e Best tigen sie alle eingegebenen Parameter um die Kom mandoprozedur zum Laden des Ger tetreibers zu erzeugen e Beenden Sie die Kommandoprozedur Die erzeugte Kommandoprozedur l dt den Ger tetreiber 3 9 5 Ger tetreiber laden Bevor der Ger tetreiber geladen werden kann ist eine man
145. naltreiber PG Interface A120 A250 ist aktiv e CTR_PGEMU_MICRO Der Kanaltreiber PG Emulator Micro ist aktiv e CTR_PGITF_MICRO Der Kanaltreiber PG Interface Micro ist aktiv e CTR_PGEMU_A350_A500 Der Kanaltreiber PG Emulator A350 A500 ist aktiv e CTR_PGITF_A350_A500 Der Kanaltreiber PG Interface A350 A500 ist aktiv e CTR_PGEMU_CS31 Der Kanaltreiber PG Emulator CS31 ist aktiv e CTR_PGITF_CS31 Der Kanaltreiber PG Interface CS31 ist aktiv e CTR_VDM Der Virtuelle Datenmodellmanager ist aktiv e CTR_AWD Der Automatische W hldienst ist aktiv e CTR_GL Die Gleichlauf berwachung ist aktiv CTRFL_ tExtLifeListTIn PDnet_ExtLifeList 6 Konstanten Referenz 6 5 CTR VDM TREIBER AWD TREIBER GLEICHLAUF TREIBER SIEHE AUCH 99 1992 98 APEX Automationstechnik GmbH Braunschweig Stand 02 11 1998 6 Konstanten Referenz 6 6 CTRFL_ AUFGABE KONSTANTEN KERNEL MELDNGEN HARDWARE MELDUNGEN SETUPDATEN MELDUNGEN 100 Programmierhandbuch PAD Interface 6 6 CTRFL_ Die erweiterte Lifeliste enth lt im Feld Flags die folgenden CTRFL_ Bits als Statusmeldung Jede Meldungsgruppe ist einem bestimmten Feld Flags zugeordnet das durch das Feld ID bestimmt wird e CTRFL LOCAL LAN A Der PAD ist ber Kanal LAN A erreichbar e CTRFL LOCAL LAN B Der PAD ist ber Kanal LAN B erreichbar e CTRFL_KERNEL_RESTART Durch den Watchdog wurde ein Restart des PAD ausgel st
146. nbau des PDnet Controllers der Ger tetreiber PADITF32 VXD in das Verzeichnis SYSTEM von Windows 95 kopiert werden und der Ger tetreiber und die vom PDnet Controller PAD verwendeten Ressourcen Speicherbereich und E A Bereich in die Registrier datenbank von Windows 95 eingetragen werden Folgende Dateien befinden sich im Root Verzeichnis auf der mit gelieferten Diskette Dateiname Beschreibung Weitergabe README TXT nderungen und Erg nzungen NEIN der gedruckten Dokumentation README95 TXT Anleitung zur Installation des JA Ger tetreibers unter Windows 95 PADITF32 INF Informationsdatei f r die Installa JA tion des Ger tetreibers unter Windows 95 PADITF32 VXD Windows 95 Ger tetreiber f r JA PDnet Controller im PC Weitere Angaben zum PAD PC und PAD PG finden Sie im Kapitel IBM PC DOS Real Mode Hinweise zur Installation des Ger te treibers finden Sie unten bzw in der Datei README95 TXT Falls Sie auf ihrem System den Ger tetreiber APEX PAD VXD installiert haben sollten Sie diesen deinstallieren bevor Sie den Ger tetreiber PADITF32 VXD installieren da auf einen PAD nur ein Ger tetreiber zugreifen kann Der Ger tetreiber PADITF32 VXD unterst tzt mehrere lokale PADs in einem PC Damit diese unterschieden werden k nnen erh lt jeder hinzugef gte PAD eine Ger tenummer ber die das Anwen derprogramm auf den PAD zugreift Die Ger tenummer wird im Ger te Manager von Windows 95 vor jedem eingetragenen PDnet Co
147. ndbuch PAD Interface 7 API Referenz 7 7 PAD_GetResources 7 7 PAD_GetResources Liefert die verwendeten Ressourcen vom aktuellen PAD AUFGABE Da jede Plattform andere Ressourcen verwendet stehen die Defi PFFINITION nitionen von PAD_GetResources in den folgenden Kapiteln Die Funktion PAD_GetResources ermittelt verwendeten Ressour BESCHREIBUNG cen vom aktuellen PAD aus den Parametern von DAD Inn oder den eingestellten Ressourcen des Ger tetreibers Durch die Funk tion kann ein Anwenderprogramm die eingestellten Ressourcen anzeigen um diese mit den Hardwareeinstellungen auf dem PAD zu vergleichen Au erdem kann ermittelt werden welche Ressour cen der aktuelle PAD verwendet wenn sich mehrere PADs im lokalen Endger t befinden DAD Ion PAD_Select SIEHE AUCH 7 7 1 IBM PC DOS Real Mode function PAD_GetResources PASCAL DEFINITION var irgno UINT8 var iobase UINT16 var membase UINT32 var memlen UINT32 INT16 INT16 PAD_GetResources C DEFINITION UINT8 irqno UINT16 iobase UINT32 membase UINT32 memlen e irqno AUSGABEWERTE ber irqno wird der eingestellte IRQ zur ckgegeben e iobase ber iobase wird die eingestellte O Port Adresse zur ckgege ben e membase Uber membase wird die eingestellte Basisadresse des Spei cherfensters zur ckgegeben 113 1992 98 APEX Automationstechnik GmbH Braunschweig Stand 02 11 1998 7 API Referenz 7 7 PAD_GetResources R
148. net JA f r PDnet Controller PAD PCI copydrv Stapelverarbeitungsdatei zur JA Installation des Ger tetreibers Hinweise zur Installation des Ger tetreibers finden Sie unten 46 Stand 02 11 1998 1992 98 APEX Automationstechnik GmbH Braunschweig Programmierhandbuch PAD Interface 3 Installation Treiber 3 11SUN Ultra 5 Solaris 2 6 3 11 1 Ger tetreiber installieren Um den Ger tetreiber pdnet unter Solaris 2 6 zu installieren m s sen sich die Dateien pdnet Ger tetreiber und copydrv Installati onsdatei im gleichen Verzeichnis befinden Der Ger tetreiber f r den PDnet Controller wird folgenderma en installiert e ffnen Sie eine Commando Shell cmdtoo e Melden Sie sich als Superuser an e Wechsel Sie in das Verzeichnis mit dem Ger tetreiber pdnet e Rufen Sie die Installationsdatei auf copydrv Die Installationsdatei kopiert den Ger tetreiber pdnet in das Ver zeichnis usr kernel drv pdnet und installiert ihn mit dem Befehl add_drv m 0666 root root i pcil0b5 1168 pdnet 3 11 2 Ger tetreiber deinstallieren Um den Ger tetreiber pdnet unter Solaris 2 6 zu deinstallieren e ffnen Sie eine Commando Shell cmdtoo e Melden Sie sich als Superuser an e Deinstallieren Sie den Ger tetreiber mit dem Befehl rem_drv pdnet e L schen Sie den Ger tetreiber mit rm usr kernel drv pdnet 47 1992 98 APEX Automationstechnik GmbH Braunschweig Stand 02 11 1998
149. nnnne 107 DAD Datefimellodaied nennen 109 DAD Delai 110 PAD DON Haas R8R ande 110 DAD Geiatelme 111 DAD GetG rouplD nn 112 DAD Geibeesources niaii i ii aen 113 IBM PC DOS Real Mode 113 IBM PC DOS Protected Mode 114 IBM PC Windows 371 114 IBM PC Windows op 114 IBM PC Windows NT 3 5 x 4 00 a se 114 IBM PC OS 2 Warp 214 114 IBM PC QNX 3 21 Protected Model 114 IBM PC QNX 4 22 Protected Model 114 DEC AlphaStation OpenVMS AXP 6 2 7 0 114 SUN IPCG IPX SUN OS 4 1 2 nennen 115 Motorola 8420 System V m8 amp k gt 115 PAD_GetStationlD eneeneennnnnnnnn 115 PAD GetSt tusledss a i 4 21 HsH2dleisiidteieteidleisin 116 DAD LiecCheck 117 FAD El EE 118 IBM PC DOS Real Mode 118 IBM PC DOS Protected Mode 120 IBM PC Windows 371 120 1 Einf hrung 2 1 IBM PC DOS Real Mode 3 1992 98 APEX Automationstechnik GmbH Braunschweig Stand 02 11 1998 1 Einf hrung 2 1 IBM PC DOS Real Mode Programmierhandbuch PAD Interface 7 11 4 IBM PC Windows op 120 7 11 5 IBM PC Windows NT 3 Bxvid 00 121 7 11 6 IBM PC OS 2 Warp 2414 121 7 11 7 IBM PC QNX 3 21 Protected Mode 121 7 11 8 IBM PC QNX 4 22 Protected Mode 121 7 11 9 DEC AlphaStation OpenVMS AXP 6 2 7 0 122 7 11 10 SUN IPC IPX SUN OS AT121 123 7 11 11 SUN Ultra 5 Solaris 26 1
150. ntroller in eckigen Klammern angezeigt Nach der Installation des Ger tetreibers PADITF32 VXD mu Windows 95 neu gestartet werden um die Ger tenummer im Ger te Manager anzuzeigen Falls Ihr Anwenderprogramm nur einen PAD unterst tzt k nnen Sie die Ger tenummer evt vernachl ssigen Stand 02 11 1998 1992 98 APEX Automationstechnik GmbH Braunschweig Programmierhandbuch PAD Interface 3 Installation Treiber 3 4 IBM PC Windows 95 3 4 1 Ger tetreiber installieren Um den Ger tetreiber PADITF32 VXD unter Windows 95 zu instal lieren ben tigen Sie eine Diskette in deren Root Verzeichnis sich die Dateien PADITF32 VXD Ger tetreiber PADITF32 INF Infor mationsdatei und README95 TXT Installationsanleitung befin den Damit Ihr sp terer Kunde den Ger tetreiber unter Windows 95 installieren kann sollten Sie die Dateien README95 TXT PA DITF32 INF und PADITF32 VXD in das Root Verzeichnis der Lie ferdiskette Ihres Produktes kopieren Der Ger tetreiber f r den PDnet Controller wird folgenderma en installiert e Legen Sie die Diskette mit den Dateien PADITF32 VXD und PADITF32 INF in das Diskettenlaufwerk e W hlen Sie im Startmen Einstellungen e ffnen Sie die Programmgruppe Systemsteuerung e Doppelklicken Sie auf das Symbol Hardware der System steuerung und klicken Sie auf Weiter e Antworten Sie auf die Frage ob Windows 95 neue Hardware suchen soll mit Nein und klicken Sie auf Wei
151. o 69 1992 98 APEX Automationstechnik GmbH Braunschweig Stand 02 11 1998 Programmierhandbuch PAD Interface 4 Installation Bibliothek 4 8 IBM PC QNX 4 22 Protected Mode HINWEIS In der Beschreibung wird nicht bei jeder Funktion Variablen o angegeben in welcher Bibliothek diese definiert ist da eine logi sche Zuordnung ber Ihren Namen bzw der Funktionsgruppe er sichtlich ist 70 Stand 02 11 1998 1992 98 APEX Automationstechnik GmbH Braunschweig Programmierhandbuch PAD Interface 4 Installation Bibliothek 4 9 DEC AlphaStation OpenVMS AXP 6 2 7 0 4 9 DEC AlphaStation OpenVMS AXP 6 2 7 0 Die Bibliothek wird in Form von Objektdateien OBJ geliefert Diese Dateien werden von DEC C in das Programm eingebunden Damit der C Compiler die Dateien einbinden kann m ssen Sie die entsprechenden Dateien von dem Archiv auf der Diskette auf der Festplatte installieren und in das Objektdateiverzeichnis Ihres Projektes kopieren Folgende Dateien befinden sich im Archiv PADIT017 A auf der mitgelieferten Diskette Verzeichnis Dateiname Beschreibung Weitergabe SYS LIBRARY PADLIB OLB Bibliothek f r Ger tetreiber NEIN SYS LIBRARY PDNET DEF H Headerdatei f r Ger te NEIN treiber SYS LIBRARY PADDEF H Headerdatei f r Ger te NEIN treiber SYS SYSROOT SYSMGR PADITF nderungen der gedruck NEIN README TXT ten Dokumentation SYS SYSROOT SYSMGR PADITF Headerdatei f r Basis NEIN PA
152. ontroller in der Systemsteuerung eingetragen e berpr fen Sie ob hinter dem Ger t der Text steht Gestartet Automatisch Wenn nicht liegt ein Konflikt mit anderen Hardware Res sourcen vor ndern Sie dann die Ressourcen des PDnet Controllers oder der anderen Hardware Stand 02 11 1998 1992 98 APEX Automationstechnik GmbH Braunschweig Programmierhandbuch PAD Interface 3 Installation Treiber 3 5 IBM PC Windows NT 3 5x 4 00 E Systemsteuerung Si Bild Ger t APEX PDnet Controller Datei Bearbeiten Ansicht Iazoeueeng ZS era el ler zk S F E f amp Ki EEN e 5 Status Startart D 5 Ger te Deaktiviert mi R ger Microsoft Deaktiviert Stetten Mail Postoffice Deaktiviert Beenden amp Deaktiviert dE Gestartet System d R Startart Re P Modems Deaktiviert A QuickTime 32 Schriftarten Deaktiviert Hw Profile e System amp Deaktiviert Hilfe 3 SCSI Adapte Telefon Startet und beendet Ger tetreiber Aktenkoffer oi CD ROM iM Start E Systemsteuerung e Beenden Sie das Dialogfeld Ger te mit dem Schalter Schlie en 3 5 4 Ger tetreiber Ressourcen berpr fen Wenn Sie Ressourcenkonflikte anderer Ger te mit dem PDnet Controller berpr fen wollen e W hlen Sie im Startmen Programme e W hlen Sie das Men Verwaltung Allgemein e Klicken Sie auf die Windows NT Diagnose e W hlen Sie die Registerkarte Ressourcen im Register windo
153. orhanden 78 PAD_GetStationID Liefert die Stationsadresse des lokalen PAD function PAD_GetStationlID var StationID UINT8 INT16 INT16 PAD_GetStationID UINT8 StationID LE e StationiD ber StationID wird die Stationsadresse des lokalen PAD zu r ckgeliefert e Bei erfolgreicher Ausf hrung wird GPDNET_OK zur ckgege ben Andernfalls wird ein CPDNET_ Fehlercode geliefert Die Funktion PAD_GetStationID liest die aktuelle Stationsadresse aus dem lokalen PAD Nach einem Restart kann die Stations adresse ver ndert sein wenn z B im NetPro die Station auf eine andere Stationsadresse gelegt wurden PDnet_OnLineStatus PDnet_ExtOnLineStatus PDnet_ExtLifeList 7 API Referenz 7 8 PAD_GetStationID C DEFINITION AUSGABEWERTE R CKGABEWERT AUFGABE PASCAL DEFINITION C DEFINITION AUSGABEWERTE R CKGABEWERT BESCHREIBUNG SIEHE AUCH 115 1992 98 APEX Automationstechnik GmbH Braunschweig Stand 02 11 1998 7 API Referenz 7 9 PAD_GetStatusLeds AUFGABE PASCAL DEFINITION C DEFINITION AUSGABEWERTE R CKGABEWERT BESCHREIBUNG SIEHE AUCH 116 Programmierhandbuch PAD Interface 79 PAD _GetStatusLeds Liefert Zustand der PAD Status Leuchtdioden function PAD_GetStatusLeds var PadStatusLeds UINTI16 var PadErrorsLeds UINT16 INT16 INT16 PAD_GetStatusLleds UINT16 PadStatusLeds UINT16 PadErrorsLeds e PadStatusLeds ber PadSta
154. ort Bereich und Speicherbereich eingetragen werden Folgende Dateien befinden sich im Archiv PDNETO10 A auf der mitgelieferten Diskette Dateiname Beschreibung Weitergabe SYS LOADABLE_IMAGES OpenVMS AXP Ger tetreiber JA PDNET JDDRIVER EXE JDDriver f r PDnet Controller SYS MANAGER Kommandoprozedur zur Konfigu JA PDNET CONFIGURE COM ration der Kommandos zum Laden des JDDrivers SYS TEST PDNET IVP EXE Programmimage der IVP Instal JA lation Verification Procedure SYS HELP Textdatei mit den Release Notes JA PDNETO10 RELEASE_NOTES V1 0 Weitere Angaben zum PAD PC finden Sie im Kapitel IBM PC DOS Real Mode Hinweise zur Installation des Ger tetreibers finden Sie unten Weitere Informationen zur Installation und Nutzung des PDnet AXP OpenVMS AXP Ger tetreiber f r PAD PC ber andere Hardware und ber Ger tetreiber finden sich in folgenden Dokumentationen 1 Hardwaredokumentation des Alpha Systems z B Digital Al phaStation 255 User Information 2 Dokumente welche die Hardwarekonfiguration f r Alpha Systeme beschreiben z B OpenVMS AXP Version 7 1 Release Notes and Installation Procedures 3 Systemmanagement Dokumentation OpenVMS System Man agers Manual OpenVMS System Management Utilities Refer ence Manual 4 Programmierer Dokumentation Introduction to OpenVMS Sy stem Services 5 OpenVMS System Service Reference Manual 6 Hardwaredokumentation PAD PC Benutzerhandbuch 35 1992 98
155. othek DLL geliefert Damit Borland Pascal 7 0 auf die DLL zugreifen kann kopieren Sie die Unit PADITF16 PAS in Ihr Projektverzeichnis und die Datei PADITF16 DLL in das Ver zeichnis Ihres Anwenderprogramms Binden Sie danach die Unit PADITF16 PAS in Ihr Programm ein Folgende Dateien befinden sich auf der mitgelieferten Diskette Verzeichnis Dateiname Beschreibung Weitergabe README TXT nderungen und Erg nzungen NEIN der gedruckten Dokumentation SRC PADITF16 PAS Interface der PADITF16 DLL SRC PADTEST PAS Quellcode f r Beispielprogramm NEIN DPMIBP70O PADITF16 DLL Dynamische Linkbibliothek mit JA Funktionen DPMIBP70 PADITF16 TPP Funktionen PAD _ PDnet_ VDM_ DPMIBP70 BP TP Compiler Konfigurationsdatei f r NEIN Beispielprogramm DPMIBP7O PADTEST EXE Ausf hrbares Beispielprogramm Se Die PADITF16 DLL ist nicht reentrantf hig da sie globale Varia blen benutzt Deshalb darf nur ein Programm gleichzeitig auf die PADITF16 DLL zugreifen 52 Stand 02 11 1998 1992 98 APEX Automationstechnik GmbH Braunschweig Programmierhandbuch PAD Interface 4 Installation Bibliothek 4 3 IBM PC Windows 3 1 4 3 IBM PC Windows 3 1 Die PAD Interface Bibliothek f r Windows 3 1 Programme ist f r folgende Compiler verf gbar 4 3 1 Borland Pascal 7 0 Die Bibliothek wird in Form einer Unit PAS und einer dynami schen Linkbibliothek DLL geliefert Damit Borland Pascal 7 0 auf die DLL zugreifen kann
156. ows 95 erst den Ger tetreiber PADITF32 VXD installieren N here Hinweise zur Installation des Ger tetreibers finden Sie im Kapitel Installation Treiber bzw in der Datei README95 TXT auf der Lieferdiskette Au erdem mu sich die dynamische Linkbibliothek PADITF32 DLL im Applikationsverzeichnis oder im Suchpfad befinden Das Beispielprogramm PADTEST f r Windows 95 ist f r folgende Compiler verf gbar 8 4 1 Borland Delphi 2 0 Wenn Sie alle mitgelieferten Dateien aus den Verzeichnissen SRC und DELPHI2O in ein Verzeichnis kopieren und aus diesem Ver zeichnis Borland Delphi 2 0 aufrufen erzeugt das beiliegende Beispielprogramm PADTEST DPR das Testprogramm PADTEST EXE Eventuell m ssen Sie im Borland Delphi 2 0 im Men Projekt Optionen Verzeichnisse die Verzeichnisangaben f r Ihr System anpassen Das Beispielprogramm PADTEST DPR wurde f r die WIN32 Konsole erzeugt damit es im Textmode in der Eingabeaufforde rung von Windows 95 l uft Selbstverst ndlich k nnen Sie die PAD Interface Bibliothek auch in eine echte Windowsanwendung einbinden Starten Sie das Programm PADTEST EXE ber den Explorer oder die Eingabeaufforderung von Windows 95 Das Programm ben tigt keine Parameter da die vom PAD verwendeten Ressour cen aus der Registrierdatenbank von Windows 95 gelesen werden Die Bibliothek greift ber die dynamische Linkbibliothek PADITF32 DLL auf den Ger tetreiber PADITF32 VXD zu Die PADITF32 DLL ist zwar
157. plett von der Funktion PAD_LifeCheck bernommen Alle PAD_ PDnet_ und VDM_ Funktionen rufen PAD_LifeCheck auf Diese Funktion mu im Programm zyklisch aufgerufen werden Der maximale Zeitabstand zwischen den Aufrufen von PAD _LifeCheck wird beim Aufruf von PAD_Init im Parameter PcCheckTmtVal angegeben Es empfiehlt sich die Routine in der Hauptwarteschleife des Programmes z B repeat until key pressed aufzurufen oder ein Timerproze B zu starten der PAD_LifeCheck periodisch aufruft DAD Top DAD Done PAD_CheckRestart 7 API Referenz 7 10PAD_LifeCheck AUFGABE PASCAL DEFINITION C DEFINITION R CKGABEWERT BESCHREIBUNG ACHTUNG SIEHE AUCH 117 1992 98 APEX Automationstechnik GmbH Braunschweig Stand 02 11 1998 7 API Referenz 7 11PAD_Init AUFGABE DEFINITION BESCHREIBUNG ACHTUNG SIEHE AUCH PASCAL DEFINITION C DEFINITION EINGABEWERTE 118 Programmierhandbuch PAD Interface 7 11 PAD Init Die Funktion PAD_lInit ffnet die Verbindung zum lokalen PAD Da jede Plattform andere Ressourcen verwendet stehen die Defi nitionen von PAD_Init in den folgenden Kapiteln Die Funktion ffnet die Verbindung zwischen der Applikation und dem PAD Dazu pr ft die Bibliothek ob an bergebenen Ressour cen im PAD Speicher die Strings APEX und PAD gefunden werden Wurde der PAD gefunden gibt PAD_Init CPDNET_OK zur ck Anderenfalls wird ein CPDENT_ Fehlercode
158. r 3 6 IBM AT OS 2 Warp 3 4 Nach dem Kopieren des Einheitentreibers mu dieser in der Datei CONFIG SYS eingetragen werden e Geben Sie im OS 2 Fenster den Befehl ein E C CONFIG SYS e Bewegen Sie im Editor E EXE den Cursor an das Textende und erweitern Sie die Datei CONFIG SYS um die Zeile DEVICE C OS2 BOOT APEX PAD SYS 290 D0000 Durch die eingef gte Zeile wird der Einheitentreiber APEX PAD SYS beim n chsten Systemstart geladen Nach dem Dateinamen APEX PAD SYS werden als Parameter in hexadezimaler Schreibweise die I O Portadresse und danach die Startadresse des Speicherfensters des eingebauten PDnet Controllers angegeben Diese Adressen m ssen mit den DIP Schaltern auf dem PDnet Controller bereinstimmen und d rfen durch keine anderen Hardwarekomponenten belegt sein e ndern Sie Zahlen hinter APEX PAD SYS falls Sie andere Adressen auf dem PDnet Controller eingestellt haben e Speichern Sie die Datei CONFIG SYS mit dem Men punkt Datei Sichern e Beenden Sie den Editor durch Dr cken der Tasten Alt F4 e Schlie en Sie das OS 2 Fenster mit dem Befehl EXIT e Klicken Sie mit der rechten Maustaste auf eine freie Stelle der Arbeitsoberfl che und w hlen Sie den Men punkt Systemab schlu e Beantworten Sie die Frage zum Durchf hren eines Systemab schlusses mit OK e Schalten Sie nach dem Herunterfahren von OS 2 den Computer aus und berpr fen Sie ob die Ressourcen mit den
159. r Proze wert empfangen wird Die Bibliothek l scht das Bit wenn der Proze wert gelesen wird CFB_DATE_VALID Dieses Bit ist gesetzt wenn der Proze wert g ltig ist Bei einer Sendezelle wird dieses Bit von der Bibliothek gesetzt wenn ein Proze wert geschrieben wird Bei einer Empfangszelle setzt der VDM das Bit wenn ein Pro ze wert empfangen wird VDM_Read_PV VDM_Write_PV 6 Konstanten Referenz 6 2 CFB_ AUFGABE KONSTANTEN SIEHE AUCH 93 1992 98 APEX Automationstechnik GmbH Braunschweig Stand 02 11 1998 6 Konstanten Referenz 6 3 CLED_ AUFGABE KONSTANTEN SIEHE AUCH 94 Programmierhandbuch PAD Interface 6 3 CLED_ Die Konstanten CLED_ dienen zum Zugriff auf die Statusbits der PAD Status Leuchtdioden e CLED_PADSTATUS Leuchtdiode PAD Status e CLED_HARDWARE Leuchtdiode Hardware e CLED_SETUP Leuchtdiode Setup e CLED_REMOTEPG Leuchtdiode RemotePG e CLED_BUS Leuchtdiode Bus e CLED_SERIEL1 Leuchtdiode Seriell 1 e CLED_SERIEL2 Leuchtdiode Seriell 2 e CLED_SMI Leuchtdiode SMI PAD_GetStatusLeds Stand 02 11 1998 1992 98 APEX Automationstechnik GmbH Braunschweig Programmierhandbuch PAD Interface 6 4 CPDNET_ Die Funktionen PAD_ und PDnet_ liefern als Status eine Konstante CPDNET _ welche den Erfolg oder Fehlercode mel det e CPDNET_OK Es ist kein Fehler aufgetreten e CGPDNET_NO_INIT Es wurde keine Initial
160. r Speicherblock in 256kByte Schritten ber geben auf dem sich der PAD VME befindet e PcCheckTmrVal setzt die Zeit in 10ms Schritten innerhalb der PAD die laufende Anwendung berwacht Die Anwendung mu die Funktion PAD_LifeCheck innerhalb dieser Zeit aufrufen damit der PAD ein laufendes Anwenderprogramm erkennt e handle ber handle wird eine eindeutiger Wert zur ckgegeben mit dem die Funktion PAD_Select den initialisierten PAD w hlen kann Der handle wird ben tigt wenn die PAD Interface Biblio thek mehrere PADs im lokalen Endger t verwalten soll Befin det sich nur ein PAD im lokalen Endger t kann handle ver nachl ssigt werden e Bei erfolgreicher Ausf hrung wird GPDNET_OK zur ckgege ben Andernfalls wird ein CPDNET_ Fehlercode geliefert int main int argc char argv UINT16 handle VME PAD initialisieren auf Adr 0x02000000 32MByte 128 256kByte if PAD_Init 128 100 amp handle CPDNET_OK Fehler aufgetreten printf Status der PAD Operation d n PAD_Result exit 1 PAD Funktionen aufrufen PAD Verbindung schlie en PAD_Done return 0 7 API Referenz 7 11PAD_Init C DEFINITION EINGABEWERTE AUSGABEWERTE R CKGABEWERT C BEISPIEL 125 1992 98 APEX Automationstechnik GmbH Braunschweig Stand 02 11 1998 7 API Referenz 7 12PAD_Read AUFGABE PASCAL DEFINITION C DEFINITION EINGABEWERTE AU
161. rameter und die OpenVMS Devices f r die ein Ger tetreiber zu laden ist Dabei wird zum Teil auf Informationen aus der ISA Configuration Table zur ckgegriffen 3 Autoconfiguration Table Ab OpenVMS Version 7 1 gibt es die M glichkeit analog zur ISA Configuration Table die beim Systemstart zu konfigurie renden Ger te in einer Datendatei zu beschreiben Auch hier wird aber auf die ISA Configuration Table zur ckgegriffen Bei der Verwendung des ISA Configuration File oder der Autocon figuration Table kann ein automatisches Laden der erforderlichen Ger tetreiber beim Systemstart und eine Konfiguration der OpenVMS Ger te erfolgen Alternativ k nnen die Ger tetreiber manuell geladen werden In jedem Fall ist ein Eintrag in der ISA Configuration Table mit dem ISACFG Utility zu erzeugen F r den JDDriver des PDnet AXP wird das manuelle Laden des Ger tetreibers verwendet da nur wenig ISA Bus Hardwareparameter zu konfigurieren sind Das ISACFG Utility ist in der Hardwaredokumentation des Alpha Systems kom plett beschrieben Stand 02 11 1998 1992 98 APEX Automationstechnik GmbH Braunschweig Programmierhandbuch PAD Interface 3 Installation Treiber 3 9 DEC AlphaStation OpenVMS AXP 6 2 7 0 Hardwareparameter in die ISA Configuration Table eintragen Die Einstellung der Hardwareparameter f r ISA Karten werden wie folgt in der ISA Configuration Table eingetragen e Gehen Sie auf die Konsolebene des Systems
162. ramms padtest Ausf hrbares Beispielprogramm Damit der GNU C Compiler unterscheiden kann ob die Bibliothek FINWEIS auf einer SUN oder Motorola Workstation l uft mu bei der Moto rola Workstation das Symbol m88k definiert sein Dieses Symbol kann der GNU C Compiler mit dem Argument Dm8 amp k erzeugen 75 1992 98 APEX Automationstechnik GmbH Braunschweig Stand 02 11 1998 Programmierhandbuch PAD Interface 4 Installation Bibliothek 4 12Motorola 8420 System V m88k In der Beschreibung wird nicht bei jeder Funktion Variablen o angegeben in welcher Bibliothek diese definiert ist da eine logi sche Zuordnung ber Ihren Namen bzw der Funktionsgruppe er sichtlich ist 76 Stand 02 11 1998 1992 98 APEX Automationstechnik GmbH Braunschweig Programmierhandbuch PAD Interface 5 Typen Referenz 4 12Motorola 8420 System V m88k 5 Typen Referenz Dieses Kapitel beschreibt die in der PAD Interface Bibliothek defi nierten Typen Folgende Typen werden verwendet Typ Beschreibung INT8 UINT32 Einheitliche Datentypen f r Zahlen auf allen Plattformen Typen zum Stellen und Lesen der PDnet Uhrzeit tPadDate Datum der PAD Echzeituhr Typen zum Senden und Empfangen von Telegrammen tExtLifeListTIn Informationen der erweiterten Lifeliste eines PADs Typen zur Bearbeitung von VDM Datenzellen tVdmHeader Kopf einer VDM Datenzelle PVVAL Proze wert in VDM Funktionen 77 199
163. ren GNU C ist erforderlich da die Bibliothek in ANSI C geschrieben ist Der Compiler cc ist kein ANSI C Compiler und hat nicht das IEEE Format f r float Variablen Folgende Dateien befinden sich im Root Verzeichnis auf der mit gelieferten Diskette Dateiname Beschreibung Weitergabe readme txt nderungen und Erg nzungen NEIN der gedruckten Dokumentation paddefi h Headerdatei f r Basis Typdefini NEIN tionen paditf h Headerdatei f r Funktionen NEIN PAD_ padlib h Headerdatei f r Funktionen NEIN PDnet_ padvdm h Headerdatei f r Funktionen NEIN VDM_ padtest h Headerdatei f r Beispielpro NEIN gramm padtest c Quellcode f r Beispielprogramm NEIN 1 Teil padtest1 c Quellcode f r Beispielprogramm NEIN 2 Teil padtest2 c Quellcode f r Beispielprogramm NEIN 3 Teil padapisu o Interface f r SUN des Beispielprogramms padtest Ausf hrbares Beispielprogramm In der Beschreibung wird nicht bei jeder Funktion Variablen o HINWEIS angegeben in welcher Bibliothek diese definiert ist da eine logi 73 1992 98 APEX Automationstechnik GmbH Braunschweig Stand 02 11 1998 Programmierhandbuch PAD Interface 4 Installation Bibliothek 4 11SUN Ultra 5 Solaris 2 6 sche Zuordnung ber Ihren Namen bzw der Funktionsgruppe er sichtlich ist 4 11 SUN Ultra 5 Solaris 2 6 Die PAD Interface Bibliothek f r SUN Ultra 5 Solaris 2 6 Pro gramme ist f r folgende Compiler verf
164. rhandbuch PAD Interface 4 Installation Bibliothek 4 6 IBM PC OS 2 Warp 3 4 Speicher zugreifen da sie sich sonst gegenseitig die Ge ndert flags l schen 4 6 2 VisualAge C 3 0 Die Bibliothek wird in Form einer Importbibliothek LIB und einer dynamischen Linkbibliothek DLL geliefert Damit VisualAge C 3 0 auf die DLL zugreifen kann kopieren Sie die Importbibliothek PADITF32 LIB in Ihr Projektverzeichnis und die Datei PA DITF32 DLL in das Verzeichnis Ihres Anwenderprogramms Bin den Sie danach die Importbibliothek PADITF32 LIB und die Hea derdatei PAD2DLL H in Ihr Programm ein Folgende Dateien befinden sich auf der mitgelieferten Diskette Verzeichnis Dateiname Beschreibung Weitergabe SRC PAD2DLL H Headerdatei f r Anpassung an NEIN PADITF32 H SRC PADITF32 H Headerdatei f r PADITF32 DLL SRC PADDEFI H Headerdatei f r Basis Typdefini NEIN tionen SRC PADITF H Headerdatei f r Funktionen NEIN PAD_ SRC PADLIB H Headerdatei f r Funktionen NEIN PDnet_ SRC PADVDM H Headerdatei f r Funktionen NEIN VDM_ SRC PADTEST H Headerdatei f r Beispielpro NEIN gramm SRC PADTEST C Quellcode f r Beispielprogramm NEIN 1 Teil SRC PADTEST1 C Quellcode f r Beispielprogramm NEIN 2 Teil SRC PADTEST2 C Quellcode f r Beispielprogamm NEIN 3 Teil OS2VAGES PADITF32 DLL Dynamische Linkbibliothek mit JA Funktionen PAD _ PDnet_ VDM_ OS2VAGES PADITF32 LIB Importbibliothek f r PA NEIN
165. rite_PV VDM_Check_PV 7 API Referenz 7 31VDM_Done_PV SIEHE AUCH AUFGABE PASCAL DEFINITION C DEFINITION R CKGABEWERT BESCHREIBUNG SIEHE AUCH 151 1992 98 APEX Automationstechnik GmbH Braunschweig Stand 02 11 1998 7 API Referenz 7 32VDM_GetNextVdmHeader AUFGABE PASCAL DEFINITION C DEFINITION EINGABEWERTE AUSGABEWERTE R CKGABEWERT SIEHE AUCH 152 Programmierhandbuch PAD Interface 7 32 VDM_GetNextVdmHeader Liefert den Kopf der n chsten VDM Datenzelle function VDM_GetNextVdmHeader var aVdmAddr UINT32 var aVdmHeader tVdmHeader INT16 INT16 VDM_GetNextVdmHeader UINT32 aVdmAddr tVamHeader aVdmHeader e aVdmAddr Im Inhalt von aVdmAddr wird die PAD Speicheradresse der vorherigen VDM Datenzelle bergeben Ist aVdmAddr 0 wird der Kopf der ersten VDM Datenzelle geliefert e aVdmAddr ber aVdmAddr wird die PAD Speicheradresse der gelieferten VDM Datenzelle zur ckgegeben aVdmAddr ist 0 wenn keine VDM Datenzellen mehr folgen e aVdmHeader ber aVdmHeader wird der Kopf der VDM Datenzelle zur ck gegeben wenn aVdmAdar ungleich 0 ist e Bei erfolgreicher Ausf hrung wird CVDM_OK zur ckgegeben Andernfalls wird ein CVDM_ bzw CPDNET_ Fehler code geliefert Z B CVDM_NOT_FOUND wenn keine VDM Datenzellen parametriert wurden tVdmHeader Stand 02 11 1998 1992 98 APEX Automationstechnik GmbH Braunschweig Programmierhan
166. rland Delphi 2 0 auf die DLL zugreifen kann kopieren Sie die Unit PADITF32 PAS in Ihr Projektverzeichnis und die Datei PADITF32 DLL in das Ver zeichnis Ihres Anwenderprogramms Binden Sie danach die Unit PADITF32 PAS in Ihr Programm ein Folgende Dateien befinden sich auf der mitgelieferten Diskette Verzeichnis Dateiname Beschreibung Weitergabe README TXT nderungen und Erg nzungen NEIN der gedruckten Dokumentation SRC PADITF32 PAS Interface der PADITF32 DLL NEIN SRC PADTEST DPR Quellcode f r Beispielprogramm NEIN DELPHI20 PADITF32 DLL Dynamische Linkbibliothek mit JA Funktionen PAD _ PDnet_ VDM_ DELPHI20 PADITF32 DCU Funktionen PAD_ NEIN PDnet_ VDM_ DELPHI20 PADITF32 RES Ressourcendatei f r Beispielpro NEIN gramm DELPHI20 PADTEST DOF Compiler Konfigurationsdatei f r NEIN Beispielprogramm DELPHI20 PADTEST EXE Ausf hrbares Beispielprogramm JA Der Zugriff der DLL auf den PAD erfolgt ber den Ger tetreiber PADITF32 SYS Die PADITF32 DLL ist zwar reentrantf hig wenn die DLL jedoch von mehreren Programmen gleichzeitig benutzt wird d rfen keine zwei Programme auf den gleichen PAD Speicher zugreifen da sie sich sonst gegenseitig die Ge ndert flags l schen Stand 02 11 1998 1992 98 APEX Automationstechnik GmbH Braunschweig Programmierhandbuch PAD Interface 4 Installation Bibliothek 4 5 IBM PC Windows NT 3 5x 4 00 4 5 2 Borland C 4 5 Die Bibliothek wird in
167. rn Die Strukturen sind in der PAD Interface Bibliothek enthalten wenn in ihr das Symbol DEBUG_PARAMS definiert ist Beim Auf treten eines Fehlercodes wird in der Struktur PadFuncParams die Funktionsnummer CFUNCNR _ der R ckgabewert der Funkti on und die Funktionsparameter abgelegt Stand 02 11 1998 1992 98 APEX Automationstechnik GmbH Braunschweig Programmierhandbuch PAD Interface 5 Typen Referenz 5 7 TStationIDs 5 7 TStationlDs Enth lt eine Liste mit Stationsadressen AUFGABE type TStationIDs array 0 255 of UINTS PASCAL DEFINITION typedef UINT8 TStationIDs 256 C DEFINITION Die Liste enth lt mehrere Stationsadressen und wird mit einer 0 BESCHREIBUNG abgeschlossen PDnet_GroupMemebers SIEHE AUCH 5 8 tTelegram Enth lt ein zu sendendes bzw ein empfangenes Telegramm AUFGABE type tTelegram PASCAL DEFINITION record Semaphore UINT8 PDnetlId UINT8 Groupld UINT8 Len UINT16 Typ UINT8 Data array 0 504 of UINT8 end pTelegram tTelegram typedef struct C DEFINITION UINT8 Semaphore UINT8 PDnetId UINT8 GroupId UINT16 Len UINT8 Typ UINT8 Data 505 tTelegram typedef tTelegram pTelegram 85 1992 98 APEX Automationstechnik GmbH Braunschweig Stand 02 11 1998 5 Typen Referenz 5 8 tTelegram FELDER BESCHREIBUNG SIEHE AUCH 86 Programmierhandbuch PAD Interface e Semaphore Die Semaphore kennzeichnet einen Tel
168. roller PAD PC Hinzuf gen f Eigenschaften OK Abbrechen e Klicken Sie dann auf Ent fernen 3 Installation Treiber 3 5 IBM PC Windows NT 3 5x 4 00 Bild PDnet Controller Entfernen 27 1992 98 APEX Automationstechnik GmbH Braunschweig Stand 02 11 1998 3 Installation Treiber 3 5 IBM PC Windows NT 3 5x 4 00 Bild Entfernen best tigen HINWEIS 28 Programmierhandbuch PAD Interface Es erscheint eine Sicherheitsabfrage Entfernen des Ger ts best tigen EN Bai 1 APEX FDnet Controller PAD PC warmung Sie sind dabei das Ger t aus der Systemkonfiquration zu entfernen i Abbrechen e Klicken Sie auf OK e Schlie en Sie das Register Eigenschaften f r PDnet mit der Schaltfl che OK e Beenden Sie Windows NT Wenn Sie alle PDnet Controller entfernen wird beim n chsten Start von Windows NT der PDnet Ger tetreiber nicht mehr gela den 3 5 3 Ger tetreiber berpr fen Wenn Sie berpr fen wollen ob Windows NT die installierten Ge r tetreiber korrekt startet e W hlen Sie im Startmen Einstellungen e ffnen Sie de Programmgruppe Systemsteuerung e Doppelklicken Sie auf das Symbol Ger te in der System steuerung Es erscheint da Dialogfeld Ger te e Suchen Sie die Zeile APEX PDnet Controller Driver Wenn Sie die Zeile nicht finden haben Sie den Ger te treiber f r den PDnet Controller noch nicht installiert oder noch keinen PDnet C
169. rungen der PDnet Lifeliste function PDnet_LifeListChanged var Flag INT16 INT16 INT16 PDnet_LifeListChanged INT16 Flag e Flag ber Flag wird ein Wert ungleich 0 zur ckgegeben wenn sich die Lifeliste ver ndert hat Andernfalls ist Flag 0 e Bei erfolgreicher Ausf hrung wird GPDNET_OK zur ckgege ben Andernfalls wird ein CPDNET_ Fehlercode geliefert Die Funktion pr ft ob sich in der PDnet Lifeliste ein PAD angemel det oder abgemeldet hat und meldet dann die nderung der Lifeli ste Diese Funktion sollte zyklisch aufgerufen werden um auf ein An Abmelden einzelner Stationen entsprechend zu reagieren Das Anwenderprogramm kann sich z B eine Kopie der Lifeliste merken und bei nderungen der Lifeliste diese mit der Funktion PDnet_OnLineStatus oder PDnet_ExtOnLineStatus neu einlesen um die an bzw abgemeldeten Stationen zu melden 7 API Referenz 7 27PDnet_LifeListChanged AUFGABE PASCAL DEFINITION C DEFINITION AUSGABEWERTE R CKGABEWERT BESCHREIBUNG 145 1992 98 APEX Automationstechnik GmbH Braunschweig Stand 02 11 1998 Programmierhandbuch PAD Interface 7 API Referenz 7 27PDnet_LifeListChanged PASCAL BEISPIEL var ILifeListe array 1 ff of boolean procedure Ueberpruefelifeliste var loop byte online UINT8 LLChanged INT16 begin if PDnet_LifeListChanged LLChanged lt gt CPDNET_OK or LLChanged 0 then exit for loop 1 to ff do begin
170. s Tritt in einer Bibliotheksfunktion ein Fehlercode beim Zugriff auf eine VDM Datenzelle auf so wird in der Struktur VdmHeaderPa rams der Header der im PAD bearbeiteten VDM Datenzelle abge legt Au erdem wird der verwendete Zeiger auf die VDM Datenzelle und die selektierte Seite des PAD PC gesichert Stand 02 11 1998 1992 98 APEX Automationstechnik GmbH Braunschweig Programmierhandbuch PAD Interface 6 Konstanten Referenz 5 11tVdmHeaderParams 6 Konstanten Referenz Dieses Kapitel beschreibt die in der PAD Interface Bibliothek defi nierten Konstanten Folgende Konstanten werden verwendet Konstante Beschreibung CPDNET_ Fehlercode von PAD_ und PDnet_ Funktionen Statusbits f r PAD Status Leuchtdioden Konstanten der erweiterten Lifeliste Treibernummern der erweiterten Lifeliste CTRFL_ Meldungsbits der erweiterten Lifeliste Konstanten f r VDM Datenzellen Statusbits im Flagbyte des VDM Datenzellenkopf Statusbits im Flagbyte der Proze werte 91 1992 98 APEX Automationstechnik GmbH Braunschweig Stand 02 11 1998 Programmierhandbuch PAD Interface 6 Konstanten Referenz 6 1 CDT_ 6 1 CDT AUFGABE Die Konstanten CDT_ Enthalten alle Datentypen die vom VDM definiert werden Konstante Datentyp Byte Wertebereich Bemerkung Integer Typen CDT_SHORTINT Shortinteger 128 127 CDT_INTEGER INTEGER Integer j2 32768 3827677 32767 E DOUBLEW EEE e
171. s 95 function PAD_Init padno UINT8 PcCheckTmrVal UINT16 var handle UINT16 UINT16 INT16 PAD_Init const UINT8 padno UINT16 PcCheckTmrVal UINT16 handle e padno ber padno wird die Ger tenummer des lokalen PADs berge ben auf den zugegriffen werden soll Die Ger tenummer kann zwischen 1 und CPAD_COUNT liegen Bei padno 0 verwendet die Funktion den PDnet Controller mit der kleinsten vorhande nen Ger tenummer e PcCheckTmrVal PcCheckTmrVal setzt die Zeit in 10ms Schritten innerhalb der Stand 02 11 1998 1992 98 APEX Automationstechnik GmbH Braunschweig Programmierhandbuch PAD Interface PAD die laufende Anwendung berwacht Die Anwendung mu die Funktion PAD_LifeCheck innerhalb dieser Zeit aufrufen damit der PAD ein laufendes Anwenderprogramm erkennt e handle ber handle wird ein eindeutiger Wert zur ckgegeben mit dem die Funktion PAD_Select den initialisierten PAD w hlen kann Der handle wird ben tigt wenn die PAD Interface Bibliothek mehrere PADs im lokalen Endger t verwalten soll Befindet sich nur ein PAD im lokalen Endger t kann handle vernachl ssigt werden e Bei erfolgreicher Ausf hrung wird CPDNET_OK zur ckgege ben Andernfalls wird ein CPDNET_ Fehlercode geliefert Die Ger tenummer wird im Windows 95 Ger te Manager vor je dem APEX PDnet Controller in eckigen Klammern angezeigt DAD Top kann mehrmals mit verschiedenen Ger tenummern
172. s angeben in dem die Bi bliotheken und Datendateien des GNU C stehen Zum Beispiel B usr local lib gec l1ib m88k sysv3 2 3 1 Verwendete Quellen werden angegeben mit 0 EXE_PROGRAMM_NAME SRC_PROGRAMM _NAME c paditf o padlib o 180 Stand 02 11 1998 1992 98 APEX Automationstechnik GmbH Braunschweig Programmierhandbuch PAD Interface 9 Programmierung Bei der Programmierung von Treibern f r das PDnet sollten Sie folgende Kapitel beachten 9 1 Projektierungsprogramm NetPro Mit dem Projektierungsprogramm NetPro werden die PDnet Controller projektiert und die VDM Datenzellen angelegt 9 1 1 VDM Datenzellen Jede VDM Datenzelle ist entweder eine Sendezelle oder eine Empfangszelle Eine VDM Datenzelle enth lt mehrere Proze werte mit gleichem Datentyp In einer SPS werden die Proze werte direkt in den SPS Speicher geschrieben bzw von ihm gele sen Auf PCs und Workstations verarbeitet die PAD Interface Bi bliothek die Proze werte der Proze variablen PV ber PV Nummern Jede PV Nummer darf in den VDM Empfangszellen nur einmal vorkommen Ebenso darf jede PV Nummer in den VDM Sendezellen nur einmal vorkommen Bei der Projektierung von VDM Datenzellen zwischen einer SPS und einem Leitsystem ist die Stellung des Parameters Alles sen den zu beachten VDM VDM Alles Beschreibung Sendezelle Empfangszelle senden SPS Leitsystem EIN Beim Anmelden eines PDnet Controllers werden
173. sen BESCHREIBUNG der PADs die der Gruppe angeh ren und online sind 143 1992 98 APEX Automationstechnik GmbH Braunschweig Stand 02 11 1998 Programmierhandbuch PAD Interface 7 API Referenz 7 26PDnet_GroupMembers PASCAL BEISPIEL procedure GruppenUebersicht procedure show grp byte liste TStationIDs var loop byte begin loop 0 write PDnet Gruppe grp while liste loop lt gt 0 do begin write byte liste loop 3 inc loop end writeln end var liste TStationIDs found byte loop byte begin found 0 for loop 1 to ff do begin if PDnet_GroupMembers loop liste CPDNET_OK then begin show loop liste if liste 0 gt 0 then inc found end end if found 0 then writeln keine PDnet Teilnehmer vorhanden else writeln found PDnet Gruppen end C BEISPIEL TStationIDs StationIDs UINT8 loop UINT group printf Bitte gewuenschte Gruppe eingeben scanf d amp group if PDnet_GroupMembers group StationlIDs CPDNET_OK printf Zur Gruppe d geh ren die Teilnehmer group for loop 0 list loop 0 loop t if loop gt 0 printf printf d list loop print f n SIEHE AUCH PDnet_GroupAdr 144 Stand 02 11 1998 1992 98 APEX Automationstechnik GmbH Braunschweig Programmierhandbuch PAD Interface 7 27 PDnet_LifeListChanged Meldet nde
174. st run SYSSSYSROOT SYSMGR PADITF padtest exe Dem Symbol padtest k nnen Sie als Parameter den Device Na men des Ger tetreibers bergeben e padtest dat Fehlt der Parameter wird das Ger t jda0 verwendet Die Bibliotheken sind mit dem ANSI C Compiler DEC C V5 2 cc erzeugt Da der Compiler nicht das IEEE Format f r Realvariablen besitzt k nnen keine Gleitpunktzahlen als Proze wert verwendet werden Stand 02 11 1998 1992 98 APEX Automationstechnik GmbH Braunschweig Programmierhandbuch PAD Interface 8 Beispielprogramm 8 10SUN IPC IPX SUN OS 4 1 2 8 10 SUN IPC IPX SUN OS 4 1 2 Das Beispielprogramm PADTEST f r SUN IPCG IPX SUN OS 4 1 2 ist f r folgende Compiler verf gbar 8 10 1 GNU C Die Lieferdiskette besitzt das PC Dateiformat Um sie auf der SUN Workstation zu lesen m ssen Sie das PC FileSystem mounten Dieses geschieht mit den Befehlen e su Superuser werden evt mit Pa wort e mount t pc fs dev d0c loppy Diskette mit Name floppy mounten e cp p floppy Alle Dateien ins aktuelle Verzeichnis kopieren e eject Diskette auswerfen e exit Superuser Mode verlassen Die beiliegende Datei makefile erzeugt das Testprogramm padtest Eventuell m ssen Sie in der Datei makefile die Ver zeichnisangaben f r Ihr System anpassen Au erdem mu der Pfad auf den GNU C Compiler gcc gesetzt sein Dem Testprogramm padtest k nnen Sie als
175. stellte O Basisadresse und die Basisadresse des Speicherfensters zu vergeben Die Gr e des Speicherfensters kann eingegeben werden Als IRQ oder DMA Kanal ist O bzw nicht genutzt einzutragen e Beenden Sie das Programm ECU e Booten Sie nach der berpr fung der Konfiguration das System mit dem Befehl gt gt gt boot e Achten Sie beim Booten des Systems auf Fehlermeldungen Zu Fehlern kann es kommen wenn z B im ISA Configuration File ein Ger t konfiguriert wird welches auf die gleichen Ressour cen zugreift wie der eingestellte PDnet Controller Stand 02 11 1998 1992 98 APEX Automationstechnik GmbH Braunschweig Programmierhandbuch PAD Interface 3 Installation Treiber 3 9 DEC AlphaStation OpenVMS AXP 6 2 7 0 3 9 3 Ger tetreiber installieren Die Software Installation erfolgt unter OpenVMS mit Hilfe des Sy stemprogrammes VMSINSTAL Das Programm ist in der Softwa redokumentation von OpenVMS n her beschrieben siehe OpenVMS System Managers Utilities Reference Manual PDnet AXP kann unter OpenVMS AXP Version 6 1 bis Version 7 1 Betriebssystem installiert werden Zus tzliche Informationen ber die unterst tzten Betriebssystemversionen sind in den Release Notes nachzulesen Bei einem Wechsel der Betriebssystemversion ist PDnet AXP er neut zu installieren Der im System installierte Ger tetreiber JDDriver kann mit der neuen Betriebssystemversion nicht weiter genutzt werden Aus dem Software
176. t eine CDT_ Konstante e aAddrPos In aAddrPos wird f r den Proze wert die PV Nummer im End ger t bergeben e Bei erfolgreicher Ausf hrung wird CVDM_OK zur ckgegeben Andernfalls wird ein CVDM_ bzw CPDNET_ Fehler code geliefert ZB CVDM_BAD_ADDRPOS wenn die berge bene PV nicht in den VDM Sendezellen bzw den VDM Emp fangszellen gefunden wird Die Funktion VDM_Check_PV berpr ft ob eine PV in einer der VDM Datenzellen existiert Mit dem Projektierungsprogramm Net Pro werden die VDM Datenzellen angelegt Die erste Proze varia ble jeder VDM Datenzelle hat die parametrierte PV Nummer Bei den folgenden Proze variablen wird die PV Nummer erh ht bis die parametrierte Anzahl erreicht ist Vor dem ersten Aufruf von DV Check DV mu VDM _Init aufgeru fen werden Stand 02 11 1998 1992 98 APEX Automationstechnik GmbH Braunschweig Programmierhandbuch PAD Interface VDM_Init_PV VDM_Read_PV VDM_Write_PV 7 31 VDM_Done_PV Gibt den von VDM Inn DV angelegten Speicher frei function VDM_Done_PV INTI16 INT16 VDM_Done_PV void 1 e Bei erfolgreicher Ausf hrung wird CVDM_OK zur ckgegeben Andernfalls wird ein CVDM_ bzw CPDNET_ Fehler code geliefert Die Funktion gibt den internen Speicherbereich wieder frei der von VDM_Init_PV angelegt wurde Nach dem Aufruf von VDM_Done darf keine andere VDM_ Funktion au er VDM_Init aufgerufen werden VDM_Init_PV VDM_Read_PV VDM_W
177. ter Falls Sie den Ger tetreiber PADITF32 VXD schon einmal auf Ih rem PC installiert hatten befindet sich in der Liste der Hardwarety pen die Ger teklasse APEX PDnet Controller e W hlen Sie den Hardwaretyp APEX PDnet Controller aus und klicken Sie auf Weiter Wenn Sie den Ger tetreiber PADITF32 VXD zum ersten Mal auf Ihrem PC installieren ist der Hardwaretyp APEX PDnet Controller noch nicht in der Liste vorhanden e Klicken Sie in der Liste der Hardwaretypen auf die Ger teklasse Andere Komponenten und auf Weiter e Klicken Sie auf die Schaltfl chen Diskette und OK Anschlie end e W hlen Sie das verwendete Model APEX PDnet Controller PAD PC oder APEX PDnet Controller PAD PG und klicken Sie auf Weiter Nach dem Kopieren des Ger tetreibers schl gt Windows 95 freie Ressourcen f r den PDnet Controller vor Falls ein Ressourcen Konflikt auftritt m ssen Sie den PAD konfi gurieren Ger tetreiber konfigurieren e Klicken Sie auf Weiter und auf Weiter e Entfernen Sie die Diskette aus dem Laufwerk 19 1992 98 APEX Automationstechnik GmbH Braunschweig Stand 02 11 1998 3 Installation Treiber 3 4 IBM PC Windows 95 20 Programmierhandbuch PAD Interface Wenn die Ressourcen nicht mit den eingestellten Adressen auf dem PDnet Controller bereinstimmen e Beantworten Sie die Frage zum Herunterfahren des Computers mit Nein e ndern Sie die Konfiguration siehe
178. terface F r Gleitkommazahlen verwendet die PAD Interface Bibliothek das IEEE Format Auf Plattformen die kein IEEE Format unterst tzen k nnen keine Gleitkommazahlen verwendet werden VDM_Init_PV VDM_Write_PV VDM_Check_PV 7 35 VDM Write_PV Schreibt eine PV in alle zugeh rigen VDM Senderzellen function VDM_Write_PV var aPvVal PVVAL aDataType UINT8 aAddrPos UINT16 aDaterFlag UINT8 INT16 INT16 VDM_Write_PV 1 PVVAL aPvVal UINT aDataType UINT16 aAddrPos UINT aDateFlag aPvVal In aPvVal wird der zu schreibende Proze wert bergeben Je nach Datentyp mu das zugeh rige Feld von aPvVal beschrie ben werden aDataType In aDataType wird der VDM Datentyp des Proze wertes ber geben Der Datentyp ist eine CDT_ Konstante aAddrPos In aAddrPos wird f r den Proze wert die PV Nummer im End ger t bergeben aDateFlag Steht in aDateFlag CFB_DATE_CHANGED wird der Proze wert zur Gegenstation gesendet Steht in aDateFlag CFB_DATE_VALID wird der Proze wert in der VDM Datenzelle auf g ltig gesetzt aber nicht gesendet Bei erfolgreicher Ausf hrung wird CVDM_OK zur ckgegeben Andernfalls wird ein CVDM_ bzw CPDNET_ Fehler code geliefert Z B CVDM_NO_SYNC wenn der Proze wert nicht in die VDM Datenzelle geschrieben werden konnte weil sie in Bearbeitung vom VDM war 7 API Referenz 7 35VDM Write_PV SIEHE AUCH AUFGABE PASCAL DEFINITION C DEFIN
179. tion Treiber 3 10SUN IPC IPX SUN OS 4 1 2 3 10 SUN IPC IPX SUN OS 4 1 2 Die Kommunikation zwischen dem PAD SBus und der SUN wird ber ein SharedMemoryInterface abgewickelt Der PAD ist mit 896 KB RAM und 128 KB FlashMemory gesamt 1 MByte ausge stattet auf welche die SUN ber das SharedMemoryInterface zu greifen kann Der gesamte Speicher des PAD wird linear im Adre raum der SUN eingeblendet Daher ist ein Umschalten der PAD Speichersegmente nicht notwendig ACHTUNG Die PAD Interface Bibliothek f r SUN IPC IPX SUN OS 4 1 2 greift ber das SBus Device auf den PDnet Controller zu Dazu mu auf Ihrem System die zugeh rige Datei dev sbus vorhanden sein und die Zugriffsrechte f r diese Datei gesetzt sein 3 11 SUN Ultra 5 Solaris 2 6 Da beim Betriebssystem Solaris nicht direkt auf die Hardware zu gegriffen werden kann erfolgt der Zugriff auf den PDnet Controller PAD PCI ber einen Ger tetreiber Dazu mu nach dem Einbau des PDnet Controllers der Ger tetreiber pdnet auf die Festplatte kopiert und installiert werden Die verwendeten Ressourcen Spei cherbereich werden beim PAD PCI automatisch vergeben Beim Laden des Ger tetreibers wird jedem installierten PAD PCI ein Ger tename dev pdnetx vergeben wobei f r das X die auto matisch vergebene Ger tenummer steht Folgende Dateien befinden sich auf der mitgelieferten Diskette Dateiname Beschreibung Weitergabe pdnet Solaris 2 6 Ger tetreiber pd
180. tusLeds werden die CLED_ Statusbits geliefert Die jeweiligen Statusbits sind 0 wenn die Option deaktiv ist und 1 wenn die Option aktiv ist e PadErrorLeds ber PadErrorLeds werden die CLED_ Fehlerbits geliefert Die jeweiligen Fehlerbits sind 0 wenn die Option OK ist und 1 wenn die Option einen Fehler entdeckt hat e Bei erfolgreicher Ausf hrung wird GPDNET_OK zur ckgege ben Andernfalls wird ein CPDNET_ Fehlercode geliefert Die Funktion liefert den PAD Status der bei PDnet Controllern f r die SPS in den gelben Leuchtdioden angezeigt wird Ist ein Bit in PadErrorsLeds gesetzt blinkt die entsprechende Leuchtdiode Andernfalls legt PadStatusLeds fest das die Leuchtdiode bei ge setztem Bit dauernd leuchtet oder bei r ckgesetztem Bit nicht leuchtet CLED_ Stand 02 11 1998 1992 98 APEX Automationstechnik GmbH Braunschweig Programmierhandbuch PAD Interface 7 10 PAD_LifeCheck H lt das PAD Interface am Leben function PAD_LifeCcheck INT16 INT16 PAD_LifeCheck void e Bei erfolgreicher Ausf hrung wird GPDNET_OK zur ckgege ben Andernfalls wird ein CPDNET_ Fehlercode geliefert Damit der PAD pr fen kann ob das Anwenderprogramm im End ger t l uft berwacht der PAD das Interface zum System Zu die sem Zweck existieren einige Variablen in der Statusseite des PAD welche zyklisch von der Applikation nachgetriggert werden m ssen Software Watchdog Diese Funktionen werden kom
181. tzli che Treiber installiert werden m ssen die den Zugriff auf die PDnet Controller Hardware steuern 3 1 IBM PC DOS Real Mode Die PAD Interface Bibliothek f r IBM PC DOS Real Mode greift direkt auf den PDnet Controller zu und ben tigt deshalb keine zu s tzlichen Hardwaretreiber 3 2 IBM PC DOS Protected Mode Die PAD Interface Bibliothek f r IBM PC DOS Real Mode greift ber die Servicefunktion der Version 0 9 des DPMI Servers auf den PDnet Controller zu und ben tigt deshalb keine zus tzlichen Hardwaretreiber Weitere Angaben zum PAD PC und PAD PG finden Sie im Kapitel IBM PC DOS Real Mode 3 3 IBM PC Windows 3 1 Die PAD Interface Bibliothek f r IBM PC Windows 3 1 greift ber die Servicefunktion der Version 0 9 des DPMI Servers auf den PDnet Controller zu und ben tigt deshalb keine zus tzlichen Hardwaretreiber Deshalb ist die Bibliothek nur im Protected Mode lauff hig 3 Installation Treiber 3 1 IBM PC DOS Real Mode ACHTUNG 17 1992 98 APEX Automationstechnik GmbH Braunschweig Stand 02 11 1998 3 Installation Treiber 3 4 IBM PC Windows 95 18 Programmierhandbuch PAD Interface Weitere Angaben zum PAD PC und PAD PG finden Sie im Kapitel IBM PC DOS Real Mode 3 4 IBM PC Windows 95 Da beim Betriebssystem Windows 95 nicht direkt auf die Hardware zugegriffen werden kann erfolgt der Zugriff auf den PDnet Controller PAD ber einen Ger tetreiber Dazu mu nach dem Ei
182. ual C 4 0 auf die DLL zugreifen kann kopieren Sie die Importbibliothek PA DITF32 LIB in Ihr Projektverzeichnis und die Datei PADITF32 DLL in das Verzeichnis Ihres Anwenderprogramms Binden Sie danach die Importbibliothek PADITF32 LB und die Headerdatei PAD2DLL Hin Ihr Programm ein Folgende Dateien befinden sich auf der mitgelieferten Diskette Verzeichnis Dateiname Beschreibung Weitergabe SRC PAD2DLL H Headerdatei f r Anpassung an NEIN PADITF32 H SRC PADITF32 H Headerdatei f r PADITF32 DLL NEIN SRC PADDEFI H Headerdatei f r Basis Typdefini NEIN tionen SRC PADITF H Headerdatei f r Funktionen NEIN PAD_ SRC PADLIB H Headerdatei f r Funktionen NEIN PDnet_ SRC PADVDM H Headerdatei f r Funktionen NEIN VDM_ SRC PADTEST H Headerdatei f r Beispielpro NEIN gramm SRC PADTEST C Quellcode f r Beispielprogramm NEIN 1 Teil SRC PADTEST1 C Quellcode f r Beispielprogamm NEIN 2 Teil SRC PADTEST2 C Quellcode f r Beispielprogamm NEIN 3 Teil WNTMSVCA PADITF32 DLL Dynamische Linkbibliothek mit Funktionen PAD _ PDnet_ VDM_ W95MSVCA PADITF32 LIB Importbibliothek f r PA NEIN DITF32 DLL W95MSVCA PADTEST MDP Projektdatei f r Beispielpro NEIN gramm W95MSVCA PADTEST MAK Makedatei f r Beispielprogramm W95MSVCA PADTEST NCB Programm Database f r Bei NEIN spielprogramm W95MSVCA PADTEST EXE Ausf hrbares Beispielprogramm JA HINWEIS Der Zugriff der DLL auf den PAD erfolgt ber den Ger
183. uch PAD Interface 4 Installation Bibliothek 4 12Motorola 8420 System V m88k sche Zuordnung ber Ihren Namen bzw der Funktionsgruppe er sichtlich ist 4 12 Motorola 8420 System V m88k Die PAD Interface Bibliothek f r Motorola 8420 System V m88 amp k Programme ist f r folgende Compiler verf gbar 4 12 1 GNU C Die Bibliothek wird in Form von Objektdateien o geliefert Diese Dateien werden von GNU C gcc in das Programm eingebunden Damit der C Compiler die Dateien einbinden kann m ssen Sie die entsprechenden Dateien von der Diskette in das Verzeichnis Ihres Projektes kopieren GNU C ist erforderlich da die Bibliothek in ANSI C geschrieben ist Der Compiler cc ist kein ANSI C Compiler und hat nicht das IEEE Format f r float Variablen Folgende Dateien befinden sich im Root Verzeichnis auf der mit gelieferten Diskette Dateiname Beschreibung Weitergabe readme txt nderungen und Erg nzungen NEIN der gedruckten Dokumentation paditf h Headerdatei f r Funktionen NEIN PAD_ padlib h Headerdatei f r Funktionen NEIN PDnet_ padvdm h Headerdatei f r Funktionen NEIN VDM_ padtest h Headerdatei f r Beispielpro NEIN gramm padtest c Quellcode f r Beispielprogramm NEIN 1 Teil padtest2 c Quellcode f r Beispielprogamm NEIN 2 Teil paditf o Funktionen PAD_ NEIN padlib o Funktionen PDnet_ NEIN padvdm o Funktionen VDM_ makefile Batch Datei zum Compilieren NEIN des Beispielprog
184. uelle Konfiguration des Kommandos zum Laden des Ger tetreibers notwendig Da es ist nicht m glich ist alle notwendigen Informatio nen zum Laden des Ger tetreibers automatisch zu bestimmen erfolgt w hrend der Installation des PDnet AXP kein automatisches Laden Aus diesem Grunde kann auch die IVP Installation Verifi cation Procedure nicht w hrend der Installation ausgef hrt wer den Die IVP ben tigt einen geladenen Ger tetreiber Mit dem von der Kommandoprozedur PDNET CONFIGURE er zeugtem Kommando kann der Ger tetreiber geladen werden Zum laden des Ger tetreibers gehen Sie wie folgt vor e ffnen Sie ein DECterm Fenster e Geben Sie den Befehl ein SYS SSTARTUP PDNETSSTARTUP Nach dem Laden des Ger tetreibers erfolgt die Anzeige des OpenVMS Ger tes Device Unit e berpr fen Sie den geladenen Ger tetreiber mit dem Befehl show device Stand 02 11 1998 1992 98 APEX Automationstechnik GmbH Braunschweig Programmierhandbuch PAD Interface 3 Installation Treiber 3 9 DEC AlphaStation OpenVMS AXP 6 2 7 0 Wurde der Ger tetreiber erfolgreich geladen dann mu das OpenVMS Device in der angezeigten Liste existieren der Status des Ger tes ONLINE und die Anzahl Fehler f r dieses Ger t 0 sein Eine entsprechende Ausgabe sieht so aus Device Device Error Name Status Count JDAO Online 0 Soll das Laden des Ger tetreibers bei jedem System Startup au tomatisch erfolgen dann ist d
185. uerung e Doppelklicken Sie auf das Symbol Software der Systemsteue rung e Selektieren Sie den zu entfernenden APEX PDnet Controller PAD PC e Klicken Sie auf die Schaltfl che Hinzuf gen Entfernen e Schlie en Sie das Softwarefenster mit OK 21 1992 98 APEX Automationstechnik GmbH Braunschweig Stand 02 11 1998 3 Installation Treiber 3 5 IBM PC Windows NT 3 5x 4 00 ACHTUNG 22 Programmierhandbuch PAD Interface 3 5 IBM PC Windows NT 3 5x 4 00 Da beim Betriebssystem Windows NT nicht direkt auf die Hard ware zugegriffen werden kann erfolgt der Zugriff auf den PDnet Controller PAD ber einen Ger tetreiber Dazu mu nach dem Einbau des PDnet Controllers der Ger tetreiber PADITF32 SYS in das Verzeichnis SYSTEM32 DEVICE und die Systemsteuerungs applikation PADITFNT CPL in das Verzeichnis SYSTEM von Win dows NT kopiert werden Anschlie end kann in der Systemsteue rung ber das Symbol PDnet der Ger tetreiber und die vom PDnet Controller PAD verwendeten Ressourcen Speicherbe reich und I O Port Anschlu in die Registrierdatenbank von Win dows NT eingetragen werden Folgende Dateien befinden sich im Root Verzeichnis auf der mit gelieferten Diskette Dateiname Beschreibung Weitergabe README TXT nderungen und Erg nzungen NEIN der gedruckten Dokumentation READNTA4 TXT Anleitung zur Installation des JA Ger tetreibers unter Windows NT 4 00 PADITFNT CPL Systemsteuerun
186. ungen der ISA Configuration Table mit dem Befehl gt gt gt init e Zeigen Sie die aktuelle ISA Configuration Table an mit dem Befehl gt gt gt show config In der ISA Configuration Table sollte nun auf dem gew hlten Slot der Name PDnet und die gew hlte l O Basisadresse angezeigt werden ISA Slot Device Nam Typ Enabled BaseAddr IRQ 0 0 MOUSE Embedded Yes 60 12 1 KBD Embedded Yes 60 1 2 COM1 Embedded Yes 3 8 4 1 0 PDnet Singleport Yes 290 e Sie k nnen alle eingestellten Adressen der Slots anzeigen mit dem Befehl gt gt gt isacfg all In der angezeigten Konfigurationstabelle werden alle Ger te und Slots angezeigt F r den jeweiligen Bus ISA oder EISA mu die konfigurierte Karte sichtbar sein Stand 02 11 1998 1992 98 APEX Automationstechnik GmbH Braunschweig Programmierhandbuch PAD Interface 3 Installation Treiber 3 9 DEC AlphaStation OpenVMS AXP 6 2 7 0 e Booten Sie nach der berpr fung der Konfiguration das System mit dem Befehl gt gt gt boot e Achten Sie beim Booten des Systems auf Fehlermeldungen Zu Fehlern kann es kommen wenn z B im ISA Configuration File ein Ger t konfiguriert wird welches auf die gleichen Ressour cen zugreift wie der eingestellte PDnet Controller Hardwareparameter aus der ISA Configuration Table entfernen Die Einstellung der Hardwareparameter f r ISA Karten werden wie folgt aus der ISA Configuration Table entfernt
187. ws NT Diagnose e Klicken Sie auf die Schaltfl che Ger te Falls in der Liste Ger te die Zeile PDnet nicht erscheint wurde der Ger tetreiber PADITF32 SYS von Windows NT nicht gestartet e Installieren Sie den PDnet Ger tetreiber PADITF32 SYS oder starten Sie ihn manuell siehe oben Andernfalls e Selektieren Sie die Zeile PDnet in der Liste Ger te e Klicken Sie auf die Schaltfl che Eigenschaften Im Dialog Eigenschaften von PDnet werden die vom Ger te treiber verwendeten Ressourcen angezeigt Als O Bereich sollten die Portadressen der installierten PDnet Controller erscheinen 29 1992 98 APEX Automationstechnik GmbH Braunschweig Stand 02 11 1998 Programmierhandbuch PAD Interface 3 Installation Treiber 3 5 IBM PC Windows NT 3 5x 4 00 Als Speicherbereich sollten die Speicheradressen der installierten PDnet Controller angezeigt werden Der Speicher hat bei einem PAD PC eine L nge von 0x10000 und beim PAD PG eine L nge von 0x02000 Falls im Dialogfeld PDnet kein I O Bereich oder Speicherbereich angezeigt wird liegt ein Ressourcenkonflikt mit einem anderen Ger t vor e berpr fen Sie dann in den Listen 1 0 Port Speicher und Ger te ob andere Ger te die gleichen Adressen ver wenden und ndern Sie gegebenenfalls die doppelt belegten Adressen dieses Ger tes bzw die Adressen des PDnet Controllers e Schlie en Sie die Dialogfelder durch klicken der Schaltfl chen OK 3
188. xtLifeListEntry record ID UINT8 Flags UINT8 end pExtLifeListEntry tExtLifeListEntry tExtLifeListTln array 0 15 of tExtLifeListEntry pExtLifeListTln tExtLifeListTln C DEFINITION typedef struct UINT8 ID UINT8 Flags tExtLifeListEntry typedef tExtLifeListEntry tExtLifeListTln 16 typedef tExtLifeListTln _ pExtLifeListTln es D In ID steht die Nummer CTR_ des parametrierten Treibers e Flags In Flags steht die Bitmaske CTRFL_ mit den Statusflags des zugeh rigen Treibers Das Array tExtLifeListTIn 16 Elemente 0 15 von der Struktur tExtLifeListEntry Die Struktur besteht aus den beiden Bytewerten ID und Flags In ID steht die Nummer CTR_ des parametrierten Treibers und in Flags die Bitmaske CTRFL_ mit den dem Trei ber zugeh rigen Statusflags Eine Ausnahme gibt es beim Array Element 0 In ExtLife ListTIn 0 ID steht der Localstatus des Teilnehmers ber die ent haltenen CTRFL_LOCAL_LAN_ Flags wird angezeigt ob der Teilnehmer ber LAN A oder LAN B des lokalen PDnet Controllers Stand 02 11 1998 1992 98 APEX Automationstechnik GmbH Braunschweig Programmierhandbuch PAD Interface erreichbar ist In ExtLifeListTIn 0 Flags steht die Gruppenadresse des abgefragten Teilnehmers Bei der Firmwareversion 1 x wird keine erweiterte Life Liste unter st tzt Aus Kompatibi
189. zt wird d rfen keine zwei Programme auf den gleichen PAD Speicher zugreifen da sie sich sonst gegenseitig die Ge ndertflags l schen 8 Beispielprogramm 8 5 IBM PC Windows NT 3 5x 4 00 HINWEIS ACHTUNG 171 1992 98 APEX Automationstechnik GmbH Braunschweig Stand 02 11 1998 8 Beispielprogramm 8 6 IBM PC OS 2 Warp 3 4 HINWEIS ACHTUNG 172 Programmierhandbuch PAD Interface 8 6 IBM PC OS 2 Warp 3 4 Bevor Sie das Beispielprogramm starten k nnen m ssen Sie un ter OS 2 erst den Einheitentreiber APEX PAD SYS installieren N here Hinweise zur Installation des Einheitentreibers finden Sie im Kapitel Installation Treiber bzw in der Datei READMEO2 TXT auf der Lieferdiskette Au erdem mu sich die dynamische Linkbibliothek PADITF32 DLL im Applikationsverzeichnis oder im Suchpfad befinden Das Beispielprogramm PADTEST f r OS 2 Warp ist f r folgende Compiler verf gbar 8 6 1 Borland C 2 0 f r OS 2 Wenn Sie alle Dateien aus den Verzeichnissen SRC und OS2BC20 in ein Verzeichnis kopieren und aus diesem Verzeichnis Borland C aufrufen erzeugt die beiliegende Projektdatei PADTEST PRJ das Testprogramm PADTEST EXE Eventuell m ssen Sie im Borland C im Men Project View settings Directories die Verzeichnisangaben f r Ihr System anpassen Das Beispielprogramm PADTEST C wurde f r die OS 2 Konsole erzeugt damit es im Textmode in einem OS 2 Fenster l uft Selbstverst ndlich k

Download Pdf Manuals

image

Related Search

Related Contents

DFI LanParty PRO875 Motherboard  ASSMANN Electronic AKB-3 cable tie  Manual Triton Blue Laser TR-TR2-250    American Standard Fixture-Mounted Bidet Fitting 2581 User's Manual  Manual técnico y de instalación  Hughes & Kettner 100 Head User's Manual  KODAK DIRECTVIEW CR Mammography Feature User`s Guide  Manual del propietario  

Copyright © All rights reserved.
Failed to retrieve file