KL5121. Pour activer des sorties en fonction de la position d'un codeur



Documents pareils
Twincat PLC Temperature Controller. Régulation de Température à l aide de TwinCAT PLC.

EL70x1 en mode position. Mise en œuvre rapide. VERSION : Beta / DATE : 31 Juillet 2011

TwinCAT Backup. Mise en œuvre rapide

ARDUINO DOSSIER RESSOURCE POUR LA CLASSE

TwinCAT 3 C++ Création de modules C++ sous TwinCAT 3 VERSION : 1.0 / PH

BC9000-BK9000. Paramétrage et configuration de l adresse IP

HMI target Visu / PLC HMI. Pour réaliser une interface homme machine avec PLC control

EPREUVE OPTIONNELLE d INFORMATIQUE CORRIGE

PCs embarqués CX1020. Mise en œuvre rapide

ET 24 : Modèle de comportement d un système Boucles de programmation avec Labview.

Connexion à distance. Pour configurer les automates Beckhoff via un PC de programmation VERSION : 1.0 / PH

Fiche technique CPU 314SC/DPM (314-6CG13)

Éléments d informatique Cours 3 La programmation structurée en langage C L instruction de contrôle if

Sélection du contrôleur

Adressage des données des contrôleurs du WAGO-I/O-SYSTEM 750. Note d application

Exceptions. 1 Entrées/sorties. Objectif. Manipuler les exceptions ;

Programmer en JAVA. par Tama

INITIATION AU LANGAGE C SUR PIC DE MICROSHIP

Plan du cours. Historique du langage Nouveautés de Java 7

Travaux Pratiques de Commande par ordinateur 1 TRAVAUX PRATIQUES

SUR MODULE CAMÉRA C38A (OV7620)

Algorithmique et Programmation, IMA

Introduction à Java. Matthieu Herrb CNRS-LAAS. Mars

IN Cours 1. 1 Informatique, calculateurs. 2 Un premier programme en C

Document de formation pour une solution complète d automatisation Totally Integrated Automation (T I A) MODULE A5 Programmation de la CPU 314C-2DP

Manuel du produit ABB i-bus KNX. Actionneur combiné, entrées binaires, Encastré 6173/11 U-500. Power and productivity for a better world TM

STS SE. FreeRTOS. Programmation réseau WIFI. Programmation réseau. Socket Tcp. FlyPort smart Wi-Fi module

ABB i-bus KNX Module 4/8 entrées BE/S Manuel d'utilisation produit

OPTENET DCAgent Manuel d'utilisateur

Cours de Systèmes d Exploitation

Notice d'utilisation Afficheur multifonctions et système d'évaluation FX 360. Mode/Enter

Algorithmique et programmation : les bases (VBA) Corrigé

Atelier C TIA Portal CTIA04 : Programmation des automates S7-300 Opérations numériques

0 20mV; 0 40mV; 0 80mV; 0 160mV; 0 320mV; 0 640mV; 0 1,28V; 0 2,56V 0 5V; 0 10V

Notice d'utilisation originale Safety Standstill Monitor Contrôleur d'arrêt de sécurité DA101S / / 2013

Programmation VBA/Excel. Programmation VBA. Pierre BONNET. Masters SMaRT & GSI - Supervision Industrielle P. Bonnet

SNT4U16 - Initiation à la programmation TD - Dynamique de POP III - Fichiers sources

TD Architecture des ordinateurs. Jean-Luc Dekeyser

Recherche dans un tableau

Conception de circuits numériques et architecture des ordinateurs

Solutions du chapitre 4

TP3 : Manipulation et implantation de systèmes de fichiers 1

TM238LDA24DR 230VAC - RELAYS OUTPUTS -

MICROCONTROLEURS PIC PROGRAMMATION EN C. V. Chollet - cours-pic-13b - 09/12/2012 Page 1 sur 44

as Architecture des Systèmes d Information

Enregistreur sans papier. Interface LON. B Description des interfaces 10.99/

Millenium3 Atelier de programmation

Notice d exploitation Modules de sécurité MOVISAFE UCS.B

Licence Sciences et Technologies Examen janvier 2010

Structurer ses données : les tableaux. Introduction à la programmation

VIII- Circuits séquentiels. Mémoires

L'intégration et le montage d'appareillages électriques doivent être réservés à des électriciens

Info0101 Intro. à l'algorithmique et à la programmation. Cours 3. Le langage Java

2-2. Dimensions externes 113±0.2 P P R±??? 3. FONCTIONS ET TERMINOLOGIE. Sortie prédéfinie. Sortie arrêt du vérin. Type de sortie prédéfinie

Boîtier de contrôle et de commande avec EV 3/2 voies intégrée

BD 302 MINI. Etage de puissance pas à pas en mode bipolaire. Manuel 2059-A003 F

INTRODUCTION A JAVA. Fichier en langage machine Exécutable

MT-703. Surveillance de niveau par sonde résistive TELEMETRIE PAR MODULE GSM CONFIGURATION ET UTILISATION

CONFIGURATION DE L AUTOMATE SIEMENS

Relais d'arrêt d'urgence, protecteurs mobiles

# let rec concat l1 l2 = match l1 with [] -> l2 x::l 1 -> x::(concat l 1 l2);; val concat : a list -> a list -> a list = <fun>

Cours Informatique Master STEP

Informatique Générale

CONTRÔLE DE BALISES TYPE TB-3 MANUEL D'INSTRUCTIONS. ( Cod ) (M H) ( M / 99G ) (c) CIRCUTOR S.A.

Cours d Algorithmique-Programmation 2 e partie (IAP2): programmation 24 octobre 2007impérative 1 / 44 et. structures de données simples

Série 77 - Relais statiques modulaires 5A. Caractéristiques. Relais temporisés et relais de contrôle

Modules d automatismes simples

Astra Elite AM/3 Manuel d'installation

Multitension Monofonction. Multitension Multifonction

TD3: tableaux avancées, première classe et chaînes

Cours 1 : Introduction Ordinateurs - Langages de haut niveau - Application

Manipulations du laboratoire

LES TYPES DE DONNÉES DU LANGAGE PASCAL

SoMachine. Solution logicielle pour votre architecture Machine Atelier de découverte. SoMachine

Bases de programmation. Cours 5. Structurer les données

TP : Gestion d une image au format PGM

UEO11 COURS/TD 1. nombres entiers et réels codés en mémoire centrale. Caractères alphabétiques et caractères spéciaux.

Indicateur universel de procédé format 96 x 48 mm ( 1 /8 DIN)

Programmation assembleur : aperçu

Manuel de développement de programmes pour automates programmables avec. CoDeSys 2.3

Kits de solutions conformes aux normes pour station de recharge

Relais d'arrêt d'urgence, protecteurs mobiles

Caractéristiques techniques

Ressource Site EURIDIS

Le langage VHDL. Eduardo Sanchez EPFL

CONFIGURATION ET UTILISATION

ABB i-bus KNX Modules TOR SA/S Manuel produit

Conventions d écriture et outils de mise au point

Programme EcranTactile-01 MANUEL DE MISE EN ŒUVRE

Utilitaires méconnus de StrataFrame

Introduction à MATLAB R

SIMATIC. Logiciel de base pour S7-300/400 Régulation PID. Avant-propos, sommaire. Introduction. Paramétrage. Blocs fonctionnels. Bibliographie.

MICROINFORMATIQUE NOTE D APPLICATION 1 (REV. 2011) ARITHMETIQUE EN ASSEMBLEUR ET EN C

modèles génériques applicables à la synthèse de contrôleurs discrets pour l Internet des Objets

SHERLOCK 7. Version du 01/09/09 JAVASCRIPT 1.5

TP 1. Prise en main du langage Python

Présentation et installation PCE-LOG V4 1-5

.NET - Classe de Log

TP D AUTOMATISME TS2 CIRA (première partie)

Module de puissance F-PM-E 24VDC/8A PPM ST (6ES7136-6PA00-0BC0) SIMATIC. ET 200SP Module de puissance F-PM-E 24VDC/8A PPM ST (6ES7136-6PA00-0BC0)

Transcription:

KL5121 Pour activer des sorties en fonction de la position d'un codeur VERSION : 1.0 / PH DATE : 07 Février 2006

Sommaire Ce manuel explique de manière pratique les étapes successives pour mettre en œuvre rapidement un KL5121. Pour des renseignements plus précis, consulter la documentation complète : ftp://ftp.beckhoff.com/document/bustermi/bustermi/kl5121e.pdf. 1 Descriptions des fonctionnalités 4 1.1 Procédure en mode cames numériques 4 2 Câblage 5 3 Paramétrage 6 3.1 Registre 32 6 3.2 La table de position 7 3.3 Validation des sorties 7 4 Exemple de programme 8 Page 3 KL5121

1 Descriptions des fonctionnalités La borne KL5121 permet de gérer des cames numériques. Ainsi, elle lit la position d'un codeur incrémental ou d'un générateur d'impulsions, capture la position de la pièce (entrée Latch), et commutent les sorties en fonction de la position parcouru par la pièce, selon une table prédéfinie. 60 positions de commutations peuvent ainsi être définies pour les 4 sorties. Le temps de réaction est de 100µs. La lecture de la position est limitée à 16bits (65536). La capture de la pièce, mise à 0 la position actuelle, peut-être faite sur le front montant, sur front descendant ou les deux de l'entrée LATCH. L'entrée GATE permet d'autoriser la fonction de l'entrée Latch Une fonctionnalité alternative permet de générer un signal PWM en précisant la durée à ON et la période. Des LEDs indiquent l'état des entrées A et B (entrées codeur 24V), des entrées Gate et Latch (24V), et des 4 sorties. Des contacts permettent de connecter ces entrées/sorties ainsi que distribuer 4 contacts 24V et 4 contacts 0v pour l'alimentation extérieure (le codeur par exemple) 1.1 Procédure en mode cames numériques Pour faire fonctionner le module en mode commutation, procéder ainsi Définir le fonctionnement de l'entrée LATCH / le type de lecture de la position avec le registre 32 Mettre le bit 12 du registre 32 à 1 Ecrire la table des positions commutant les sorties. Valider les sorties en mettant 1 dans le champ de 4 bits correspondant (ProcDataOut) KL5121 Page 4

2 Câblage Toutes les entrées/sorties sont en 24V. Le 24V et 0V sont pris sur les contacts de puissance. Cette borne vous donne donc accès à 4 contacts de chaque potentiel pour votre utilisation personnelle (alimentation du codeur pas exemple) Page 5 KL5121

3 Paramétrage Comme toutes les bornes paramétrables, la configuration est faite par l'intermédiaire des registres internes à la borne. Cette configuration peut être faite par KS2000, les octets de contrôle et de status, ou par le bloc PLC ReadWriteTerminalReg. D'habitude un ensemble d'octets de contrôle et de statuts et de mots d'entrée et de sortie permettent de configurer une borne. Pour cette borne, un deuxième ensemble permet de définir la table de correspondance position / commutation des sorties. State / Ctrl / ProcDataIn / ProcDataOut sont à utiliser pour atteindre les registres de la borne. TabState / TabCtrl / TabDataIn / TabDataOut sont à utiliser pour atteindre la table de positions. 3.1 Registre 32 Le registre 32 spécifie le fonctionnement général des sorties. R32. Description Bit 0 0 : Lecture de la position par un codeur (4x) (défaut) 1 : Lecture de la position par un générateur d'impulsions (A:Pulse/B:Dir) Bit 1 Bit 2 Bit 3 Bit 4 Bit 5 Bit 6 Bit 7-11 Bit 12-15 Entrée LATCH 0 : Le front montant est ignoré 1 : Le front montant permet de mettre la position actuelle à 0 (défaut) Entrée LATCH 0 : Le front descendant est ignoré (défaut) 1 : Le front descendant permet de mettre la position actuelle à 0 0 : Logique positive pour la gestion des sorties (défaut) 1 : Logique négative pour la gestion des sorties 0 : Watchdog inactif (défaut) 1 : Watchdog actif : si le terminal ne reçoit pas de données pendant 100ms, les sorties sont mises à 0 1 : L'entrée LATCH est prise en compte si l'entrée GATE est à 1 (défaut) 1 : L'entrée LATCH est prise en compte si l'entrée GATE est à 0 (défaut) Non utilisés, ne pas changer 0000 : Les sorties sont utilisées comme générateur d'impulsion (défaut) 0001 : Les sorties commutent en fonction de la position du codeur KL5121 Page 6

3.2 La table de position Afin de définir les positions de commutations des sorties, on accède à une table par les variables TabState / TabCtrl / TabDataIn / TabDataOut La table permet de configurer 60 positions. Index Description 0 Nombre N de positions définies pour la première sortie 1 Nombre M de positions définies pour la première sortie 2 Nombre O de positions définies pour la première sortie 3 Nombre P de positions définies pour la première sortie 4 Première position commutant la sortie 1 N+4 Dernière position (N) commutant la sortie 1 N+5 Première position commutant la sortie 2 N+M+4 Dernière position (M) commutant la sortie 2 N+M+5 Première position commutant la sortie 3 N+M+O+4 Dernière position (O) commutant la sortie 3 N+M+O+5 Première position commutant la sortie 4 N+M+O+P+4 = 64 Max Dernière position (P) commutant la sortie 4 3.3 Validation des sorties En cours de fonctionnement, on peut agir sur le fonctionnement des sorties en manipulant la variable ProcDataOut. Bits Description 0000 Pas de fonctionnement valide. La sortie est mise à 0. 0001 Valide le fonctionnement de la sortie en mode commutation en fonction de la position du codeur 0111 Valide le fonctionnement de la sortie ne mode générateur d'impulsion 0011 Forçage à 1 de la sortie 0101 Forçage à 0 de la sortie En manipulant les bits 0..3 de ProcDataOut, on agit sur la première sortie. En manipulant les bits 4..7 de ProcDataOut, on agit sur la deuxième sortie. En manipulant les bits 8..11 de ProcDataOut, on agit sur la troisième sortie. En manipulant les bits 12.15 de ProcDataOut, on agit sur la quatrième sortie. Page 7 KL5121

4 Exemple de programme VAR k: INT; Reg_32 : WORD; R_TRIG_0: R_TRIG; ReadWriteTerminalReg_0: ReadWriteTerminalReg; Tab_totale : ARRAY [0..63] OF WORD; i: BYTE; END_VAR VAR_INPUT Start_Init: BOOL; (* Initialisation de la carte *) Enable_O1 : BOOL; (* Marche/Arret du fonctionnement des sorties *) Enable_O2 : BOOL; Enable_O3 : BOOL; Enable_O4 : BOOL; Mode_Compteur : BOOL; (*0: Codeur incremental / 1:Compteur *) FM_Latch_Actif : BOOL; (*Le front montant sur l'entrée Latch reset la position : 0: Actif / 1:Non actif *) FD_Latch_Actif : BOOL; (*Le front descendant sur l'entrée Latch reset la position*) Logique_Sorties : BOOL; (*Logique positive (0) ou negative (1) sur les sorties *) Watchdog : BOOL; (* Watchdog actif (1) ou non (0) *) Gate_Pos : BOOL; (* 1 : Entrée LATCH active s'il y a un signal 1 sur l'entrée gate *) Gate_Neg : BOOL; (* 1 : Entrée LATCH active s'il y a un signal 0 sur l'entrée gate *) Nbr_Pt_O1 : BYTE; (* Nombre de positions de commutations de la sortie 1 *) Tab_Pts_O1 : ARRAY [0..59] OF WORD; (* Table des positions de commutations de la sortie 1 *) Nbr_Pt_O2 : BYTE; Tab_Pts_O2 : ARRAY [0..59] OF WORD; Nbr_Pt_O3 : BYTE; Tab_Pts_O3 : ARRAY [0..59] OF WORD; Nbr_Pt_O4 : BYTE; Tab_Pts_O4 : ARRAY [0..59] OF WORD; KL5121_State : BYTE; (* Lien aux process data de la borne *) KL5121_ProcDataIn : WORD; KL5121_TabState : BYTE; KL5121_TabDataIn : WORD; END_VAR VAR_OUTPUT Done : BOOL; Busy : BOOL; Err : BOOL; ErrID : UDINT; KL5121_Ctrl : BYTE; (* Lien aux process data de la borne *) KL5121_ProcDataOut : WORD; KL5121_TabCtrl : BYTE; KL5121_TabDataOut : WORD; END_VAR KL5121 Page 8

R_TRIG_0(CLK:= Start_Init, Q=> ); CASE k OF 0 : Busy := FALSE; IF R_TRIG_0.Q THEN Done:=FALSE; Busy := TRUE; Err := FALSE; ErrID := 0; k:=k+1; IF Done=TRUE THEN KL5121_ProcDataOut:=0; IF Enable_O1 THEN KL5121_ProcDataOut:=KL5121_ProcDataOut+1; IF Enable_O2 THEN KL5121_ProcDataOut:=KL5121_ProcDataOut+16; IF Enable_O3 THEN KL5121_ProcDataOut:=KL5121_ProcDataOut+256; IF Enable_O4 THEN KL5121_ProcDataOut:=KL5121_ProcDataOut+4096; 1: REG_32.0 := Mode_Compteur; (* Modification du registre 32 *) REG_32.1 := FM_Latch_Actif; REG_32.2 := FD_Latch_Actif; REG_32.3 := Logique_Sorties; REG_32.4 := Watchdog; REG_32.5 := Gate_Pos; REG_32.6 := Gate_Neg; REG_32.12 := TRUE; ReadWriteTerminalReg_0 (STATE:=KL5121_State, DATAIN:=KL5121_ProcDataIn, CTRL=> KL5121_Ctrl, DATAOUT=>KL5121_ProcDataOut, TMOUT:=T#1s, REGNO:=32, READ:=FALSE, WRITE:=TRUE, NEWREGVALUE:=REG_32 ); IF NOT ReadWriteTerminalReg_0.BUSY THEN ReadWriteTerminalReg_0(WRITE := FALSE); IF NOT ReadWriteTerminalReg_0.ERR THEN k:=k+1; ELSE Err := TRUE; ErrID := k; k:=0; 2: IF Nbr_Pt_O1 +Nbr_Pt_O2+Nbr_Pt_O3+Nbr_Pt_O4<=60 THEN Tab_totale[0] := Nbr_Pt_O1; (* Création de la table de position *) Tab_totale[1] := Nbr_Pt_O2; Tab_totale[2] := Nbr_Pt_O3; Tab_totale[3] := Nbr_Pt_O4; IF Nbr_Pt_O1>0 THEN FOR i:=0 TO Nbr_Pt_O1-1 DO Tab_totale[i+4]:=Tab_Pts_O1[i]; END_FOR IF Nbr_Pt_O2>0 THEN FOR i:=0 TO Nbr_Pt_O2-1 DO Tab_totale[i+4+Nbr_Pt_O1]:=Tab_Pts_O2[i]; END_FOR IF Nbr_Pt_O3>0 THEN FOR i:=0 TO Nbr_Pt_O3-1 DO Tab_totale[i+4+Nbr_Pt_O1+Nbr_Pt_O2]:=Tab_Pts_O3[i]; END_FOR IF Nbr_Pt_O4>0 THEN FOR i:=0 TO Nbr_Pt_O4-1 DO Tab_totale[i+4+Nbr_Pt_O1+Nbr_Pt_O2+Nbr_Pt_O3]:=Tab_Pts_O4[i]; END_FOR k:=k+1; i:=0; ELSE Err := TRUE; ErrID := k; k:=0; 3: (* Ecriture de la table de position *) KL5121_TabCtrl:=i; KL5121_TabCtrl.6:=TRUE; KL5121_TabCtrl.7:=TRUE; KL5121_TabDataOut := Tab_totale[i]; test:= (KL5121_TabCtrl AND 191); END_CASE IF KL5121_TabState=(KL5121_TabCtrl AND 191) THEN i:=i+1; IF i>=4+ Nbr_Pt_O1+Nbr_Pt_O2+Nbr_Pt_O3+Nbr_Pt_O4 THEN KL5121_TabCtrl:=0; Done:=TRUE; k:=0; Page 9 KL5121

BECKHOFF AUTOMATION Sarl Immeuble "Le Montréal" ZA de Courtaboeuf 19 bis, Avenue du Québec 91951 COURTABOEUF Cedex Tél : 01 69 29 83 70 Fax : 01 69 28 40 55 www.beckhoff.fr info@beckhoff.fr