Electronique z Informatique Industrielle z Automatisme SELIAtec S.A. 53, rue de Rountzenheim B.P. 34 67620 SOUFFLENHEIM Tél.: 03 88 86 68 54 Fax: 03 88 86 74 76 CD 20 32 sorties digitales 24V opto-isolées Version - Février 2001 CD 20 Manuel d'utilisation NOTIFICATION Les informations contenues dans ce manuel sont susceptibles d'être modifiées sans préavis. SELIAtec S.A. NE PEUT ÊTRE TENU RESPONSABLE DES OMISSIONS TECHNIQUES OU RÉDACTIONNELLES, NI DES DOMMAGES CONSÉCUTIFS À LA FOURNITURE OU À L'UTILISATION DU PRODUIT ET DE SON MANUEL. AVANT LA MISE EN SERVICE, IL INCOMBE A L'UTILISATEUR DE VERIFIER QUE LES CARACTERISTIQUES TECHNIQUES REPONDENT AUX SPECIFICATIONS DONNEES POUR LE PRODUIT. Le présent manuel contient des informations protégées par copyright. Aucune partie du présent document ne peut être photocopiée ou reproduite sous quelque forme que ce soit sans l'accord écrit préalable de SELIAtec S.A. Les noms et marques cités dans ce manuel sont déposés par les fabricants respectifs. -2- CD 20 Manuel d'utilisation Conventions : Cette rubrique vous informe qu'une commande est à saisir au clavier. Cette rubrique vous informe que la disquette fournie avec la carte est à utiliser pour la suite des commandes. NOTE Cette rubrique permet de clarifier certaines informations. ATTENTION Cette rubrique vous recommande de suivre scrupuleusement les instructions sous peine de provoquer une détérioration du matériel ou une perte de données. IMPORTANT, soyez prudent. Cette rubrique vous avertit que la mauvaise utilisation du matériel ou un non-respect des instructions risquent d'entraîner des blessures corporelles. DIRECTIVE EUROPEENNE 89/336/CEE Conformité des produits à la directive 89/336/CEE. Selon les normes européennes harmonisées relatives aux appareils de traitement de l'information : - émission NF EN 55022, - immunité NF EN 50082-1. Les environnements couverts sont les sites résidentiels, les locaux commerciaux et l'industrie légère intérieurs et extérieurs. Ex : ateliers, laboratoires, centres de service, bureaux, etc... Les sites qui sont caractérisés comme étant alimentés directement en basse tension par le réseau public sont considérés comme résidentiels, commerciaux ou l'industrie légère. La conformité à des normes relatives à d'autres sites peut être vérifiée sur demmande. En utilisation normale les cartes SELIAtec sont implantées dans un PC et peuvent être considérées comme étant un composant faisant partie d'une installation complète. Il est donc important que l'intégrateur des produits s'assure que le PC lui-même ainsi que tous les équipements et le câblage extérieur répondent dans leur ensemble aux Directives Européennes CEM. Nous préconisons pour la connexion de tous les signaux d'entrées et de sorties d'utiliser du câble, des connecteurs et des capots de connecteurs blindés. Il est important de veiller à la continuité du blindage entre le connecteur de la carte, le capot et le câble. Pour plus de renseignements, voir en annexe CEM Bien respecter les règles concernant la protection de l’environnement lorsque vous mettez au rebut des déchets électroniques. -3- CD 20 Manuel d'utilisation -4- CD 20 Manuel d'utilisation TABLE DES MATIERES 1. Introduction 1.1 Contenu de l'emballage 6 1.2 Domaines d'applications................................................................ 6 1.3 Caractéristiques............................................................................. 7 2. Démarrage rapide 8 3. Installation 8 3.1 Ouverture de l'ordinateur ............................................................... 8 3.2 Mise en place de la carte............................................................... 9 4. Configuration 10 4.1. Adresse de base........................................................................... 10 4.2. Adressage..................................................................................... 11 4.3. Fonction chien de garde (watchdog) ............................................ 11 5. Premiers essais 13 5.1. Positionnement d'une sortie ......................................................... 13 6. Exemples de programmation 14 6.1. langage C ..................................................................................... 14 6.2. Pascal ........................................................................................... 15 6.3. Basic ............................................................................................. 16 7. Quelques conseils pratiques 17 8. Spécifications techniques 17 8.1. Caractéristiques techniques des sorties....................................... 17 8.2. Signaux du connecteur................................................................. 18 9. Circuits de protection 18 9.1. Présentation.................................................................................. 18 10. ANNEXES 19 10.1. Schéma d'implantation ............................................................... Erreur ! Signet 10.2. Exemple de branchement........................................................... Erreur ! Signet 10.3. Caractéristiques techniques ....................................................... 19 10.4. Carte de raccordement AV 01 .................................................... 19 10.5. Module de connexion SR 01 ...................................................... 19 10.5. Signaux du connecteur d'extension IBM - AT ............................ 20 11 Fonctions I/Oselia : accès aux ports d'entrées/sorties 21 -5- CD 20 Manuel d'utilisation 1. Introduction 1.1 Contenu de l'emballage Déballez soigneusement votre carte d'extension. Vérifiez que vous avez bien reçu tous les éléments suivants: La carte d'extension PC dans son enveloppe antistatique. Le manuel d'utilisation. La disquette contenant les programmes d'exemples. Si un de ces éléments manquait ou était endommagé, contactez-nous immédiatement au 88 86 68 54. 1.2 Domaines d'applications La carte d'extension CD 20 permet d'équiper votre PC de 32 sorties digitales industrielles pour des applications d'automatisme. Pilotage de machines : ex. industrie automobile, machines-outils, bois, textile Automatisation : ex. suivi de production, gestion climatique Robotique : ex. manipulateur, robot de montage Contrôle qualité : ex. banc de test Scientifique, recherche Supervision : ex. surveillance, visualisation de processus -6- CD 20 Manuel d'utilisation 1.3 Caractéristiques La carte d'extension CD 20 est un matériel compatible PC XT, AT. Elle est peut être adressée librement par des micro-interrupteurs (0 à 3FFh). La carte occupe 4 octets à partir de l'adresse de base. Le décodage de l'adresse s'effectue dans l'espace I/O de 64 Ko du PC. La carte CD 20 permet de répondre à de nombreuses applications industrielles en ne nécessitant qu'un slot court dans le PC. Capacité en sorties : 32 sorties qui nécessitent une alimentation extérieure de 24 V =. Celles-ci possèdent une ligne commune (0 V pour les sorties). Protection contre l'environnement : grâce à l'utilisation d'optocoupleurs sur les sorties, il n'y a pas de continuité électrique entre votre ordinateur et l'installation. La carte CD 20 protège donc parfaitement votre unité centrale contre toute "remontée" de parasite. Les sorties sont munies de diodes de protection destinées à amortir les perturbations dues aux circuits inductifs. Mise en service : La mise en service de la carte CD 20 se limite au positionnement des micro-interrupteurs fixant son adresse de base. Elle est opérationnelle dès la mise sous tension et ne nécessite ni réglage, ni initialisation. Sécurité de l'installation : La plupart des programmes d'une installation viennent scruter périodiquement les cartes de sorties. Une absence prolongée de consultation est parfois révélatrice d'une panne. C'est pourquoi la carte CD 20 est pourvue d'un dispositif de chien de garde qui remet à zéro les sorties digitales, si la carte n'est pas adressée dans un temps défini (4 secondes en standard, autres délais sur demande). -7- CD 20 Manuel d'utilisation 2. Démarrage rapide ATTENTION. Pour la mise en service rapide de votre carte, reportez-vous impérativement aux chapitres suivants: Ö 4. Configuration Ö 5. Premiers essais 3. Installation Pour installer la carte d'extension, procédez comme suit : 3.1 Ouverture de l'ordinateur IMPORTANT Éteignez l'ordinateur. Débranchez le cordon d'alimentation secteur. Placez le PC sur une surface plane, stable et non encombrée. Enlevez le capot de l'ordinateur. -8- CD 20 Manuel d'utilisation 3.2 Mise en place de la carte Retirez la plaque de protection de l'un des emplacements libres du BUS ISA (Voir figure 1) . Figure 1 Remarque : La carte est prévue pour fonctionner dans un slot court XT ou AT. ATTENTION. Les décharges d'électricité statique peuvent endommager les composants électroniques. Respectez les quelques règles de prudence suivantes: Transportez et conservez la carte dans son emballage antistatique. Ne touchez pas les composants électroniques. Manipulez la carte par les bords et son équerre métallique de fixation. -9- CD 20 Manuel d'utilisation Configurez la carte (Voir chapitre 4.Configuration) . Insérez la carte dans l'emplacement choisi. Veillez à bien l'aligner sur le connecteur ISA avant de l'enfoncer (Voir figure 2) . Figure 2 Enfoncez la carte complètement en appuyant sans forcer. Remettez en place la vis de fixation. Remontez l'ordinateur. La carte est maintenant prête à l'emploi. 4. Configuration 4.1. Adresse de base Dans un premier temps, vous devez choisir un emplacement libre de 4 octets dans la carte entrée de votre PC. L'adresse est déterminée par 8 micro-interrupteurs (S1 à S8) possédant la signification indiquée par le tableau suivant : Tableau du décodage des bit d'adresse : Bit d'adresse A9 A8 A7 A6 A5 A4 A3 A2 - 10 - CD 20 Manuel d'utilisation Microswitch Etat logique S8 S7 S6 1 1 0 S5 S4 S3 S2 S1 0 0 1 0 1 Dans l'exemple ci-dessus, l'adresse de base 314HEX est décodée. S1 à S8 sont les interrupteurs du micro-switch SW1. Un état logique 0 correspond à la position ON des interrupteurs . Un état logique 1 correspond à la position OFF des interrupteurs. A la livraison, l'adresse de base est sélectionnée à 0300 HEX. 4.2. Adressage Adresse Bit 7 S 8 Bit 6 S 7 Bit 5 S 6 Base + 1 S 16 S 15 Base + 2 S 24 S 23 Base + 0 Base + 3 Registre Bit Bit 4 3 Accès Bit 2 Bit 1 S5 S4 S3 S2 S 14 S 13 S 12 S 11 S 10 S 22 S 21 S 20 S 19 S 18 S 32 S 31 S 30 S 29 S 28 S 27 S 26 Bit 0 Ecritur e S1 (WR) S Ecritur 9 e (W R) S Ecritur 17 e (W R) Ecritur e S 25 (WR) Sorties : S 1 ... S 32 = état logique 1 ⇒ Bit correspondant = 1 S 1 ... S 32 = état logique 0 ⇒ Bit correspondant = 0 4.3. Fonction chien de garde (watchdog) - 11 - CD 20 Manuel d'utilisation Lors des premiers essais de la carte, il est conseillé de mettre cette fonction hors service. Le watchdog est constitué d'une bascule monostable avec un temps compris en tre 4 et 5 secondes. La bascule monostable est réarmée chaque fois que la carte est adressaée en écriture. S'il n'y a pas d'adressage pendant plus de 4 seconde, le watchdog est activé et met toutes les sorties à "0". WD WATCH-DOG non activé WD WATCH-DOG activé - 12 - CD 20 Manuel d'utilisation 5. Premiers essais Commandes élémentaires : Pour réaliser les premiers essais, la solution la plus simple consiste à piloter la carte CD 20 à partir d'un interpréteur BASIC. Supposons que l'adresse de base soit demeurée à la valeur usine 0300 H. Pour tester votre carte, il suffit de taper les commandes suivantes : OUT &H0300,255 pour mettre à 1 les sorties 1 à 8. OUT &H0301,255 pour mettre à 1 les sorties 9 à 16. OUT &H0302,255 pour mettre à 1 les sorties 17 à 24. OUT &H0303,255 pour mettre à 1 les sorties 25 à 32. 5.1. Positionnement d'une sortie Pour mettre à "1" la sortir numéro 5 et ne pas toucher aux autres sorties il d'abord mémorisé leur état. Nous supposerons donc que les variables SORTIE1, SORTIE2 .. SORTIE 32 représentent l'état logique courant de chacune des sorties. Procédure à suivre pour la mise à "1" de la SORTIE5 : SORTIE5 = 1 OUTBYTE = SORTIE1 + SORTIE2x2 + SORTIE3x4 + SORTIE4x8 + SORTIE5x16 + SORTIE6x32 + SORTIE7x64 + SORTIE8x128 OUT &0302,OUTBYTE L'élaboration de binaire/décimal. l'octet OUTBYTE n'est qu'une conversion - 13 - CD 20 Manuel d'utilisation 6. Exemples de programmation 6.1. langage C /*-----------------------------------------------------------CD20.C -- Example for using CD20 (c) SELIA SA, 1994 ----------------------------------------------------------*/ #define ADRBASE 0x300 void main (void) { char Out1; char Out2; char Out3; char Out4; /* ------------------------------ */ /* Write digital output CD20 */ /* ----------------------------- */ Out1 = 0x55; Out2 = 0xAA; Out3 = 0x55; Out4 = 0xAA; /* Digital output value */ outportb (ADRBASE , Out1); outportb (ADRBASE + 1, Out2); outportb (ADRBASE + 2, Out3); outportb (ADRBASE + 3, Out4); } /* Write 8 bit output port LSB byte */ /* Write 8 bit output port Mid byte */ /* Write 8 bit output port Mid byte */ /* Write 8 bit output port MSB byte */ - 14 - CD 20 Manuel d'utilisation 6.2. Pascal (*-----------------------------------------------------------CD20.C -- Example for using CD20 (c) SELIA SA, 1994 ----------------------------------------------------------*) Program CD20; Const ADRBASE = $300; Var Out1 : byte; Out2 : byte; Out3 : byte; Out4 : byte; (* ----------------------------- *) (* Write digital output CD20 *) (* ----------------------------- *) Begin Out1 := $55; Out2 := $AA; Out3 := $55; Out4 := $AA; Port [ADRBASE ] := Out1; Port [ADRBASE + 1] := Out2; Port [ADRBASE + 2] := Out3; Port [ADRBASE + 3] := Out4; End. (* Digital output value *) (* Write 8 bit output port LSB byte *) (* Write 8 bit output port Mid byte *) (* Write 8 bit output port Mid byte *) (* Write 8 bit output port MSB byte *) - 15 - CD 20 Manuel d'utilisation 6.3. Basic ' -----------------------------------------------------------' CD20.C -- Example for using CD20 ' (c) SELIA SA, 1994 ' ---------------------------------------------------------CONST ADRBASE = &H300 DIM Out1 AS INTEGER DIM Out2 AS INTEGER DIM Out3 AS INTEGER DIM Out4 AS INTEGER ' -----------------------------' Write digital output CD20 ' ----------------------------Out1 = &H55 Out2 = &HAA Out3 = &H55 Out4 = &HAA ' Digital output value OUT ADRBASE, Out1 OUT ADRBASE + 1, Out2 OUT ADRBASE + 2, Out3 OUT ADRBASE + 3, Out4 END ' Write 8 bit output port LSB byte ' Write 8 bit output port Mid byte ' Write 8 bit output port Mid byte ' Write 8 bit output port MSB byte - 16 - CD 20 Manuel d'utilisation 7. Quelques conseils pratiques Veillez au bon raccordement des blindages et des terres. Les blindages des câbles ne doivent être raccordés à la terre qu'à une seule de leurs extrémités. Pour éviter des courants parasites dans le blindage, l'autre extrémité doit rester libre de tout potentiel. La connexion des divers éléments à la terre doit se faire en étoile sur une seule prise de terre de bonne qualité. Il est conseillé de protéger les sorties contre les circuits inductifs. Les relais et les électrovannes génèrent des surtensions et des courants inductifs. Pour les relais, il est conseillé de mettre en parallèle sur la bobine une diode rapide dont la cathode sera connectée au pôle positif de la bobine. Pour les électrovannes, vous pouvez placer un écrêteur possédant une tension nominale supérieure à la tension d'alimentation et capable de dissiper au moins 90 joules. 8. Spécifications techniques 8.1. Caractéristiques techniques des sorties Tension d'isolation des optocoupleurs : 2500 Vrms Tension d'alimentation nominale ....... : 24 V DC (Externe) Tension d'alimentation maximale ...... : 30 V DC (Externe) Courant de sortie maximum .............. : 200 mA Raccordements des sorties Connecteur de type SUB-D mâle à 37 broches avec écrous de fixation pour la contre-fiche femelle (non fournie). Se trouve sur la face arrière du PC une fois la carte mise en place. Raccordements facilités par l'utilisation des accessoires de connexion : câbles BV 10, BV 11, cartes AV 01, SR 01... - 17 - CD 20 Manuel d'utilisation 8.2. Signaux du connecteur 19 S 31 S 29 S 27 S 25 S 23 S 21 S 19 S 17 0V ext. 24V ext. S 15 S 13 S 11 S9 S7 S5 S3 S1 37 20 S 32 S 30 S 28 S 26 S 24 S 22 S 20 S 18 0V ext. 24V ext. S 16 S 14 S 12 S 10 S8 S6 S4 S2 1 SUB-D37 9. Circuits de protection 9.1. Présentation Afin de palier aux perturbations électromagnétiques et de se conformer aux directives de la Communauté Européenne, toutes les lignes disponibles sur le connecteurs SUB-D 37 broches sont protégées par des filtres EMI. Ces filtres permettent d'agir directement sur les signaux de sorties contre les interférences électromagnétiques en protégeant ainsi efficacement la carte. Pour l'évacuation des courants parasites, le point commun des filtres EMI est relié directement au châssis du PC par l'intermédiaire de son équerre métallique de fixation. - 18 - CD 20 Manuel d'utilisation 10. ANNEXES ANNEXE C 10.3. Caractéristiques techniques Consommation : + 5 V du PC, 500 mA Environnement : Température de fonctionnement : 0 à 50°C Température de stockage : - 40 à 100 °C Mécanique : Dimensions : 165 mm × 99 mm × 15 mm Circuit imprimé en verre époxy d'épaisseur 1.6 mm, connecteur vers BUS PC en NiAu, double face à trous métallisés et vernis épargne ANNEXE D 10.4. Carte de raccordement AV 01 Carte de connexion 37 broches vers des bornes à visser. Elle s'enfiche directement sur le connecteur SUB-D 37 de la carte CD 20. Le raccordement des signaux est aisé et ne nécessite pas de câble. 10.5. Module de connexion SR 01 Module de connexion prévu pour un montage sur rail DIN. Equipé d'un connecteur SUB-D 37 broches femelles pour une liaison directe avec les cartes d'acquisition. La connexion des signaux s'effectue sur des bornes à vis. En option le module peut être monté avec des leds de visualisation. - 19 - CD 20 Manuel d'utilisation ANNEXE E 10.5. Signaux du connecteur d'extension IBM - AT Coté soudure Coté composants GND RESET DRV + 5V IRQ2 - 5V DRQ2 - 12V RESERVE + 12V GND / MEMW / MEMR / IOWR / IORD / DACK3 DRQ3 / DACK1 DRQ1 / DACK0 CLK IRQ7 IRQ6 IRQ5 IRQ4 IRQ3 / DACK2 T/C ALE + 5V OSC GND B1 B2 B3 B4 B5 B6 B7 B8 B9 B10 B11 B12 B13 B14 B15 B16 B17 B18 B19 B20 B21 B22 B23 B24 B25 B26 B27 B28 B29 B30 B31 A1 A2 A3 A4 A5 A6 A7 A8 A9 A10 A11 A12 A13 A14 A15 A16 A17 A18 A19 A20 A21 A22 A23 A24 A25 A26 A27 A28 A29 A30 A31 / IO-CH CK D7 D6 D5 D4 D3 D2 D1 D0 IO-CH RDY AEN A19 A18 A17 A16 A15 A14 A13 A12 A11 A10 A9 A8 A7 A6 A5 A4 A3 A2 A1 A0 / MEM-CS16 / IO-CS16 IRQ10 IRQ11 IRQ12 IRQ15 IRQ14 / DACK0 DRQ0 / DACK5 DRQ5 / DACK6 DRQ6 / DACK7 DRQ7 + 5V / MASTER GND D1 D2 D3 D4 D5 D6 D7 D8 D9 D10 D11 D12 D13 D14 D15 D16 D17 D18 C1 C2 C3 C4 C5 C6 C7 C8 C9 C10 C11 C12 C13 C14 C15 C16 C17 C18 / SBHE A23 A22 A21 A20 A19 A18 A17 / MEMR / MEMW D8 D9 D10 D11 D12 D13 D14 D15 - 20 - CD 20 Manuel d'utilisation ANNEXE F 11 Fonctions I/Oselia : accès aux ports d'entrées/sorties La librairie I/Oselia permet l'accès aux ports d'entrées/sorties ainsi que la gestion des interruptions dans les environnements Windows 95/98 et Win NT. Pour un système d'exploitation multitâche sans compromis, l'utilisation de la librairie est conseillée dans la mesure ou l'accès exclusif aux ressources est garanti par un mécanisme de verrouillage. De plus, certains logiciels ne disposent pas d'instructions d'entrées/sorties dans leur langage de programmation. Dans ce cas, il est impératif d'utiliser les fonctions fournies par cette librairie dynamique . Les différentes fonctions présentes dans la librairie dynamique sont: - IOSelia_error - IOSelia_lock - IOSelia_unlock - IOSelia_inportb - IOSelia_outportb : Indication de la dernière erreur commise : Verrouillages de ressources : Déverrouillages des ressources : Lecture d'un port d'entrée/sortie : Ecriture sur un port d'entrée/sortie Les fonctions "IOSelia_inportb" et "IOSelia_outportb" représentent les fonctions utiles de la librairie et elles correspondent aux instructions machines d'accès aux ports d'entrées/sorties, à savoir "in al,dx" et "out dx,al". Toutes les fonctions renvoient une valeur booléenne indiquant le succès de l'opération demandée. En cas d'erreur la fonction "IOSelia_error" indique le code de la dernière erreur commise. La librairie "IOSelia" est utilisable dans tout environnement de programmation supportant les librairies dynamiques. Toutefois, il peut s'avérer nécessaire de déclarer les fonctions de la librairie avant leur utilisation. Ainsi sous Visual Basic 5.0, les différentes fonctions doivent être déclarées (voir l'instruction DECLARE dans votre manuel de programmation de Visual Basic). - 21 - CD 20 Manuel d'utilisation enum IOSelia_ErrorCodes Liste des codes erreurs des différentes fonctions. Toutes les fonctions de la librairie renvoient une valeur booléenne indiquant le succès de l'opération. Si une erreur s'est produite la fonction IOSelia_Error ( ) renvoie le code de cette erreur. IOSELIA_ERROR_NONE aucune erreur IOSELIA_ERROR_INVALID_PARAMETERS Paramètres sont incorrects IOSELIA_ERROR_USED_IOPORTS La plage de ports d'entrées/sorties n'est pas libre IOSELIA_ERROR_USED_INTERRUPT L'interruption demandée n'est pas libre IOSELIA_ERROR_NOT_LOCKED La ressource n'est pas verrouillée IOSELIA_ERROR_BAD_IOPORTS Les ports d'entrées/sorties demandés sont invalides IOSELIA_BAD_INTERRUPT L'interruption demandée est invalide IOSELIA_ERROR_TOO_MANY_LOCKS Le nombre de verrous maximum a été atteint IOSELIA_ERROR_INVALID_HANDLE Le descripteur est invalide IOSELIA_ERROR_CANNOT_RELEASE_INTERRUPT L'interruption ne peut être déverrouillée IOSELIA_ERROR_CANNOT_CREATE_EVENT L'événement associé à l'interruption ne peut être crée IOSELIA_ERROR_DEVICE_IO_CONTROL Erreur lors de la procédure DEVICE_IO_CONTROL IOSELIA_ERROR_USED_RESSOURCES Les ressources demandées sont déjà utilisées IOSELIA_ERROR_UNSUPPORTED Cette fonctionnalité n'est pas supportée dans cette version - 22 - CD 20 Manuel d'utilisation Liste des fonctions Tous les paramètres des fonctions sont passés en arguments, les préfixes IN et OUT permettent d'identifier respectivement les données en entrées et les variables modifiées par la fonction. ULONG IOSelia_error (void) Indication de la dernière erreur commise BOOL IOSelia_Lock (IN ULONG base, IN ULONG interruptno, IN VOID interruptno IN VOID * info, OUT ULONG * handle) Verrouillage des ressources BOOL IOSelia_unlock (IN ULONG handle) Déverrouillage des ressources BOOL IOSelia_outportb (IN ULONG handle, IN ULONG offset, OUT ULONG * value) Ecriture sur un port d'entrée/sortie BOOL IOSelia_ inportb (IN ULONG handle, IN ULONG offset, OUT ULONG * value) OUT ULONG * value Lecture sur un port d' entée/sortie ULONG IOSelia_error (void) Cette fonction renvoie le code de la dernière erreur survenue. Elle doit être appelée lorsqu'une des fonctions IOSelia a échoué afin de déterminer la cause de l'échec. Retour Voir aussi code de la dernière erreur IOSelia_ErrorCodes - 23 - CD 20 Manuel d'utilisation BOOL IOSelia-lock (IN ULONG iostart, IN ULONG ioend, IN ULONG interruptno, IN VOID *info, OUT ULONG *handle) Cette fonction doit être appelée afin de réserver l'accès à une ressource. Une ressource est soit : - soit une plage d'adresse d'entrées/sorties - soit un numéro d'interruption avec une fonction utilisateur associée éventuelle soit les deux à la fois Paramètre Retour Voir aussi iostart- adresse de base de la plage d'entrée/sortie ioend- adresse de fin de la plage d'entrée/sortie interruptno- numéro de l'interruption déclenchée info- argument variable. Sous Win95 : pointeur sur une fonction à exécuter lors de l'interruption, Sous WinNT : nom de l'événement déclenché lors de l'interruption TRUE en cas de succès de l'opération IOSelia_ErrorCodes Exemple: BOOL success ; ULONG handle, error ; // réservation des ports d' e/s de 0x300 à 0x308 success=IOSelia_lock (0x300, 0x308, 0,NULL, &handle) ; If ( ! Success ) error= IOSelia_error ( ) ; // réservation d'une interruption et définition d'une fonction // utilisateur sous Windows 95 // le prototype de la fonction est "void (* func) ( ) success=IOSelia lock (0,0,7,isrfunction,&handle) ; If ( ! succès ) error=IOSelia_error ( ); // réservation d'une interruption et définition d'un événement // déclenché sous Windows NT // l'utilisateur devra se mettre en attente de l'événement par // la fonction "WaitForSingleObjet" dans une tâche séparée // pour éviter une attente active. Success= IOSelia_lock (0,0,7,"EventInt 7",&handle); If (! Success) error=IOSelia_error ( ); - 24 - CD 20 Manuel d'utilisation Le descripteur "handle" renvoyé par la fonction permet l'accès exclusif aux ports d'entrées/sorties réservés. Dans le cas d'une réservation d'interruption, celle-ci est verrouillée afin d'éviter tout conflit avec un autre périphérique. Le déclenchement de l'interruption provoque soit l'exécution d'une fonction utilisateur dans le cas de Windows 95, soit le déclenchement d'un événement sous Windows NT. Utilisez la fonction "IOSelia_unlock" pour libérer les ressources. BOOL IOSelia_unlock (IN ULONG handle) Cette fonction restitue les ressources réservées et identifiées par le prescripteur "handle". Paramètre Retour Voir aussi handle- est le descripteur de carte renvoyé lors de l'allocation de la ressource par IOSelia_lock TRUE en cas de succès de l'opération IOSelia_ErrorCodes et IOSelia_lock Exemple: // Libération des ressources identifiées par le descripteur handle BOOL success= IOSelia_unlock (handle) ; If (! Success) error=IOSelia_error( ) BOOL IOSelia_outportb (IN ULONG handle, IN UNLOG offset OUT ULONG value) Ecriture d'un caractère sur un port d'entrée/sortie. Celui-ci est référencé par le "handle" retourné lors de la réservation de la plage des ports d'entrée/sortie plus un décalage "offset ajouter à l'adresse de base référencée par le "handle". Paramètre Retour Voir aussi handle- est le descripteur renvoyé lors de l'allocation de la ressource par "IOSelia_lock Offset- correspond au décalage du port auquel on souhaite accéder, par rapport à l'adresse de base. Value- représente l'octet à émettre sur le port d'entrées/sorties TRUE en cas de succès de l'opération IOSelia_ErrorCodes et IOSelia_lock - 25 - CD 20 Manuel d'utilisation Exemple: ULONG value_8bits=0xE8 ; BOOL success=IOSelia_inportb (handle,0x5,value_8bits); If (! Success ) error=IOSelia_error ( ); // Ecriture de la valeur 1xE8 sur le port d' e/s 0x305 BOOL IOSelia_inportb (IN ULONG handle, IN ULONG offset, OUT ULONG * value) Lecture d'un caractère sur un port d'entrée/sortie. Celui-ci est référencé par le "handle" retourné lors de la réservation de la plage des ports d'entrées/sorties plus un décalage "offset" à ajouter à l'adresse de base référencé par le "handle". Paramètre Retour Voir aussi handle- est le descripteur renvoyé lors de l'allocation de la ressource par IOSelia_lock. Offset- correspond au décalage du port auquel on souhaite accéder, par rapport à l'adresse de base. TRUE en cas de succès de l'opération IOSelia_ErrorCodes et IOSelia_lock Exemple: ULONG value_8bits; BOOL success= IOSelia_inportb (handle, 0x5) - 26 - ">

Lien public mis à jour
Le lien public vers votre chat a été mis à jour.