FR-LM20 — raccordement IO-Link
Capteur de niveau radar longue portée, modèle standard. Même famille IODD que le FR-S01 : structure de données identique, jusqu’à 20 m de portée.
Caractéristiques de l’appareil
| Grandeur mesurée | Niveau de liquide ou de poudre — sans contact |
|---|---|
| Technologie | Radar, bande 58 … 63 GHz |
| Plage de mesure | Jusqu’à 20 m — version « L » : 15 m |
| Plage d’affichage | Jusqu’à 25 m |
| Permittivité relative cible | 2 minimum |
| Résolution | 1 mm |
| Précision | < 0,1 m : ±10 mm · 0,1 à 10 m : ±1 mm · 10 à 20 m : ±2 mm |
| Temps de réponse | 0,4 s · 1,5 s · 4 s (défaut) · 10 s |
| Pression réservoir | −0,1 à +1 MPa |
| Matériaux | Lentille PTFE · revêtement FKM · extrémité SUS304 · corps PPS PET PAR |
| Raccord process | G1-1/2 (40 A) |
| Alimentation | 24 V DC +25 % / −20 % — 106 mA max |
| Sorties de commande | 5 max — NPN/PNP, 30 V DC, 50 mA par sortie |
| Sortie analogique | 0-20 ou 4-20 mA — charge max 260 Ω |
| IO-Link | v1.1 / COM2 — sur la sortie IO2 |
| Connectique | 1 × M12 mâle, 8 broches |
| Température ambiante | −20 à +50 °C (affichage intégré) · tête séparée jusqu’à +60 °C |
| Protection | IP67 (CEI 60529) · boîtier Type 4X (NEMA 250) |
| Poids | Environ 600 g |
Câblage
M12 mâle, 8 broches — 4 conducteurs utilisés — Câble compatible IO-Link — 20 m maximum en IO-Link
| Broche | Fil | Fonction |
|---|---|---|
| 2 | BN Marron | Alimentation 24 V DC |
| 6 | PK Rose | Sortie de commande 2 → C/Q, communication IO-Link |
| 7 | BU Bleu | 0 V |
Isoler individuellement tous les fils non utilisés.
Réglages sur l’appareil
Même assistant de premier démarrage que le FR-S01, avec en plus la mise à l’échelle par forme de réservoir — une fonction réservée à la longue portée.
| Étape de l’assistant | Options |
|---|---|
| Langue | Anglais · Japonais · Chinois · Allemand |
| PNP / NPN | ⚠️ Ne se modifie plus ensuite sans réinitialisation complète |
| Sorties de commande | 0 à 5 |
| Cible de détection | À base d’eau · à base d’huile · poudre |
| Unité de distance | mm · m · inch · feet |
| Mise à l’échelle | OFF / ON — convertit le niveau en volume ou en poids |
| Forme du réservoir | Droit · sphérique · cylindre horizontal · base conique · base pyramidale · base inclinée · multipoint manuel (2 à 32 points) |
| Unité et décimales | mL, L, hL, m³, g, kg, t, %, gal, ft³, bbl, lb… et position du point décimal |
| Capacité du réservoir | 0 à 99999 dans l’unité choisie |
| Distances fond et sommet | Définissent le 0 % et le 100 % |
| Seuils et logique de sortie | Points de basculement, N.O. / N.F. |
Intégration dans TIA Portal
Procédure « Capteur IO-Link, via un maître Siemens configuré par S7 Port Configuration Tool » — commune à tous les appareils raccordés de cette façon.
| 01 Insérer le maître Siemens dans le projet | Module de communication CM 4xIO-Link ou CM 8xIO-Link, dans le rack d’une station ET 200SP (ou intégré à une CPU compacte selon le modèle). Depuis le catalogue matériel : modules de communication → maître IO-Link. |
|---|---|
| 02 Installer S7-PCT | Le S7 Port Configuration Tool est un logiciel séparé, téléchargeable chez Siemens. Redémarrer TIA Portal après l’installation, sinon l’outil n’apparaît pas. |
| 03 Récupérer et installer l’IODD du capteur | L’IODD décrit le capteur : paramètres, données process, plages. Source officielle : IODDfinder, ou le site du fabricant. Prendre la version correspondant au firmware. |
| 04 Ouvrir S7-PCT depuis TIA | Clic droit sur le module maître dans la vue appareil, puis « Démarrer l’outil d’appareil ». S7-PCT s’ouvre avec son propre catalogue. |
| 05 Affecter le capteur à un port | Dans le catalogue S7-PCT : rechercher le fabricant puis la référence exacte du capteur (l’IODD doit être installée pour qu’il apparaisse). Glisser sur le port voulu. |
| 06 Charger dans les appareils | Clic droit sur le maître → « Charger avec les appareils ». La configuration part vers le maître ET vers le capteur. Étape distincte du chargement du programme CPU. |
| 07 Relever la plage d’adresses d’entrée | S7-PCT indique les entrées numériques attribuées au port. C’est l’adresse de base des données process du capteur dans le programme. |
Structure des données process
| Fichier IODD | KEYENCE-FR-L-20240108-IODD1_1.xml |
|---|---|
| Version · date | V1.1 — 08.01.2024 |
| VendorID · DeviceID | 509 (Keyence) · 2041 |
| Variantes couvertes | Gamme FR-L (FR-LM / FR-LP) |
| Famille IODD | KEYENCE série FR — structure de données process commune à toute la gamme |
| Data Storage | ✅ Pris en charge — le maître sauvegarde le paramétrage. Un capteur remplacé est reconfiguré automatiquement. |
MSB
·
·
LSB
MSB
·
·
LSB
| Donnée | Offset bit | Longueur | Type | Plage brute | Conversion |
|---|---|---|---|---|---|
| Valeur actuelle | 64 | 32 bits | INT 32 | -199999 … 99999 | selon réglage |
| Valeur de conversion de débit | 32 | 32 bits | INT 32 | -199999999 … 99999999 | selon réglage |
| Diagnostics | 24 | 8 bits | 8 × BOOL | — | bits d’état |
| Erreurs | 16 | 8 bits | 8 × BOOL | — | bits d’état |
| Stabilité + couleur | 8 | 8 bits | 2 × UINT 4 | — | bits d’état |
| État des sorties | 0 | 5 bits | 5 × BOOL | — | bits d’état |
Bits de diagnostic
Tout ce que le capteur affiche à l’écran remonte en cyclique. Aucune lecture acyclique n’est nécessaire pour construire une supervision complète.
| Octet | Bit | Signification |
|---|---|---|
| 8 | 31 | LOW — niveau sous la plage de mesure |
| 8 | 30 | HIGH — niveau au-dessus de la plage |
| 8 | 29 | Tracking — suivi en cours, valeur maintenue |
| 8 | 28 | Valeur de conversion de débit invalide |
| 8 | 27 | Stabilité dégradée — alerte de maintenance |
| 8 | 26 | Mesure impossible |
| 8 | 25 | Erreur d’apprentissage |
| 8 | 24 | Interférence — autre source 60 GHz à proximité |
| 9 | 23 | Erreur de tête de capteur |
| 9 | 22 → 18 | Surintensité sur les sorties 5 à 1 |
| 9 | 17 | Erreur EEPROM |
| 9 | 16 | Erreur système |
| 10 | 15 → 12 | Stabilité — 0 (détection impossible) à 4 (signal franc) |
| 10 | 11 → 8 | Couleur de l’indicateur — 0 éteint · 1 vert · 2 jaune · 3 rouge · 4 rouge clignotant |
| 11 | 4 → 0 | État des sorties de commande 5 à 1 |
Programmation
// FR-LM20 en IO-Link — adresses à adapter à la plage attribuée au port. Réseau 1 — Diagnostics (octet 8, lecture directe des bits) diag.%X7 ────┤ ├──────────────────────────────( niveauBas ) LOW diag.%X6 ────┤ ├──────────────────────────────( niveauHaut ) HIGH diag.%X3 ────┤ ├──────────────────────────────( maintenance ) stabilité dégradée diag.%X0 ────┤ ├──────────────────────────────( interference ) autre source 60 GHz Réseau 2 — Défaut bloquant (octet 9, trois bits en parallèle) erreurs.%X7 ────┤ ├──┬───────────────────────────( defaut ) erreurs.%X1 ─────┤ ├──┤ erreurs.%X0 ─────┤ ├──┘ Réseau 3 — Mesure exploitable ? diag.%X2 defaut ────┤/├────────┤/├─────────────────( mesureOK ) Not Measurable Réseau 4 — Stabilité : 4 bits de poids fort de l'octet 10 ┌──────────────┐ ┌──────────────┐ │ SHR │ │ AND │ ──────┤ Byte ├────┤ Byte ├───( stabilite ) │IN etat │ │IN2 16#0F │ │N 4 │ └──────────────┘ └──────────────┘ Réseau 5 — Mise à l'échelle selon le réglage du capteur ⚠ Le diviseur dépend de la « position du point décimal » réglée sur l'afficheur. Ici : 1 décimale → division par 10. ┌──────────────┐ ┌──────────┐ mesureOK │ CONV │ │ DIV │ ──────┤ ├─────┤ DInt → Real ├────┤ Real ├───( niveau ) │IN valeurBrute│ │IN2 10.0│ └──────────────┘ └──────────┘
// FR-LM20 en IO-Link — 12 octets de données process // 0-3 : valeur actuelle (INT 32) 4-7 : valeur de conversion de débit (INT 32) // 8 : diagnostics 9 : erreurs // 10 : stabilité + couleur 11 : état des sorties FUNCTION_BLOCK "FB_FR_LM20" VAR_INPUT valeurBrute : DINT; // octets 0-3 valeur2Brute: DINT; // octets 4-7 — Valeur de conversion de débit diag : BYTE; // octet 8 erreurs : BYTE; // octet 9 etat : BYTE; // octet 10 sorties : BYTE; // octet 11 decimales : USINT := 0; // ⚠ doit refléter le réglage FAIT SUR LE CAPTEUR END_VAR VAR_OUTPUT niveau : REAL; // dans l'unité réglée sur l'appareil mesureOK : BOOL; niveauHaut : BOOL; // HIGH niveauBas : BOOL; // LOW stabilite : USINT; // 0 = perdu … 4 = signal franc maintenance : BOOL; // stabilité dégradée interference: BOOL; // autre source 60 GHz defaut : BOOL; // erreur système / EEPROM / tête END_VAR BEGIN // ---- Octet 8 : diagnostics ---- #niveauBas := #diag.%X7; // bit 31 — LOW #niveauHaut := #diag.%X6; // bit 30 — HIGH #maintenance := #diag.%X3; // bit 27 — stabilité dégradée #interference := #diag.%X0; // bit 24 — interférence 60 GHz // ---- Octet 9 : erreurs bloquantes ---- #defaut := #erreurs.%X7 OR #erreurs.%X1 OR #erreurs.%X0; // tête EEPROM système // ---- Octet 10 : stabilité sur les 4 bits de poids fort ---- #stabilite := BYTE_TO_USINT(SHR(IN := #etat, N := 4)) AND 16#0F; // ---- Mesure exploitable ? ---- #mesureOK := NOT #diag.%X2 AND NOT #defaut; // bit 26 = Not Measurable // ---- Mise à l'échelle ---- // ⚠ Aucun gradient dans l'IODD : l'échelle dépend des réglages // « unité de distance » et « position du point décimal » saisis // sur l'afficheur du capteur. 0 décimale → la brute est déjà l'unité. IF #mesureOK THEN CASE #decimales OF 0: #niveau := DINT_TO_REAL(#valeurBrute); 1: #niveau := DINT_TO_REAL(#valeurBrute) / 10.0; 2: #niveau := DINT_TO_REAL(#valeurBrute) / 100.0; 3: #niveau := DINT_TO_REAL(#valeurBrute) / 1000.0; ELSE #niveau := DINT_TO_REAL(#valeurBrute) / 10000.0; END_CASE; ELSE #niveau := 0.0; END_IF; END_FUNCTION_BLOCK
Les pièges
| Zone morte côté proche | Distances minimales entre la surface de référence et le niveau haut : 50 mm pour un liquide aqueux en longue portée, 120 mm pour un liquide huileux, 170 mm pour une poudre. |
|---|---|
| Le faisceau s’élargit avec la distance | À 20 m, la zone de détection atteint environ ø 1100 mm pour un liquide aqueux et ø 4250 mm pour un liquide huileux ou une poudre. Prévoir l’absence d’obstacle métallique dans ce cône. |
| Installation sur buse | Longueur 150 mm maximum, diamètre intérieur 47,8 mm minimum, bords ébavurés. Une buse trop longue ou trop étroite génère des échos parasites. |
| Orientation de l’onde polarisée | Repérée par une marque sur la bague hexagonale. Installer la paroi parallèle à cette direction stabilise la détection. Tourner le corps ne change pas l’orientation de l’onde. |
| La bande 60 GHz interfère | Deux capteurs FR côte à côte génèrent une erreur « Interférence », remontée en cyclique sur le bit 24. Idem près du WiFi ou d’un chauffage industriel HF. |
| Mousse et turbulence | Une mousse épaisse atténue le signal. Selon la taille des bulles, c’est la surface de la mousse ou celle du liquide qui est détectée. |
| Pas d’usage antidéflagrant | Pour une zone à risque, il faut la version FR-LEX20 avec barrière de sécurité intrinsèque — qui n’a pas d’IO-Link, mais du HART. |
Sources
Manuel d’utilisation série FR M04FR (10/2025) · IODD KEYENCE-FR-L V1.1 du 08.01.2024
