Guide d’intégration

LDH292 — raccordement IO-Link

Capteur d’humidité et de température de l’air. Deux valeurs process sur un seul port IO-Link. Conçu pour l’armoire électrique.

ifm electronic LDH292 IO-Link Siemens Capacitif Maître Siemens, via S7-PCT
LDH292

Caractéristiques de l’appareil

Grandeurs mesuréesHumidité relative + température
Plage humidité0 … 100 % RH — précision 3 % (20 à 80 %), résolution 0,1
Plage température−40 … +80 °C — précision ±0,3 K, résolution 0,1
PrincipeCapacitif
Alimentation18 … 30 V DC — 13 mA
InterfaceIO-Link 1.1 — COM2 (38,4 kBaud)
Port maître requisClasse A
Temps de cycle mini4,5 ms
DeviceID1337
ProtectionIP 20 — sonde seule IP 57
MontageRail DIN TH35, vertical, raccordement en haut
Raccordement1 × M12 codage A, 4 broches

Câblage

M12 codage A — 4 broches — Non blindé, 3 à 5 conducteurs, 20 m maximum

1 2 4 3
BrocheFilFonction
1 BN Brun L+ — alimentation 18…30 V DC
2 WH Blanc Non utilisé
4 BK Noir C/Q — communication IO-Link
3 BU Bleu L− — 0 V
Une liaison IO-Link n’utilise que 4 conducteurs L’alimentation, le 0 V, la ligne de communication C/Q, et un quatrième non utilisé en classe A. Peu importe que le connecteur en compte 8 : les autres fils restent inutilisés et doivent être isolés individuellement.

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.
S7-PCT ne configure que les maîtres IO-Link SiemensCette procédure suppose un maître Siemens (CM 4xIO-Link, CM 8xIO-Link…). Avec un maître d’un autre fabricant — ifm, Balluff, Turck… — S7-PCT ne le reconnaît pas, même déclaré via son propre GSDML : voir la voie « maître générique, sans S7-PCT » pour ce cas.

Structure des données process

64 bits — 8 octets — les zones hachurées ne sont pas utilisées
Humidité
MSB
Humidité
LSB
—
—
Température
MSB
Température
LSB
—
Device status
0
1
2
3
4
5
6
7
Humidité — octets 0-1Température — octets 4-5Device status — octet 7 Inutilisé
DonnéeOffset bitLongueurTypePlage bruteConversion
Humidité48 16 bitsINT 0 … 1000 ÷ 10 → % RH
Température16 16 bitsINT -400 … 850 ÷ 10 → °C
Device status4 4 bitsUINT 0 … 4 bits d’état
Exemple de lectureValeur brute 435 sur les octets 0-1 → 43,5 % RH. Valeur brute -85 sur les octets 4-5 → −8,5 °C.

Valeurs spéciales à filtrer

Valeur bruteSignificationConcerne
−32760UL — sous la plage de mesureTempérature
32760OL — au-dessus de la plageTempérature
−32762cr.UL — dépassement critique basTempérature
32762cr.OL — dépassement critique hautTempérature
32764NoData — pas de donnée valideHumidité et température

Device status

0Appareil OK
1Maintenance requise
2Hors spécification
3Contrôle fonctionnel
4Défaillance
Maintenance conditionnelleCopie du paramètre index 36 dans le canal cyclique : exploitable sans lecture acyclique.

Programmation

// Adresses à adapter à la plage attribuée à votre port.

Réseau 1 — Humidité : donnée valide ?
      ┌─────────────┐
      │     <>      │
──────┤     Int     ├──────────( humValide )
      │ IN1   humRaw│
      │ IN2    32764│  ← NoData
      └─────────────┘

Réseau 2 — Conversion humidité (÷ 10 → % RH)
                ┌──────────┐    ┌──────────┐
   humValide    │   CONV   │    │   DIV    │
──────┤ ├───────┤ Int→Real ├────┤   Real   ├──( humidite )
                │IN  humRaw│    │IN2   10.0│
                └──────────┘    └──────────┘

Réseau 3 — Température : donnée valide ?
   Les 5 valeurs spéciales sont testées en série : toutes doivent être fausses.
      ┌─────────────┐
      │     <>      │
──────┤     Int     ├──────
      │ IN1  tempRaw│
      │ IN2  -32760 │
      └─────────────┘
      ┌─────────────┐
      │     <>      │
      ┤     Int     ├──────
      │ IN1  tempRaw│
      │ IN2   32760 │
      └─────────────┘
      ┌─────────────┐
      │     <>      │
      ┤     Int     ├──────
      │ IN1  tempRaw│
      │ IN2  -32762 │
      └─────────────┘
      ┌─────────────┐
      │     <>      │
      ┤     Int     ├──────
      │ IN1  tempRaw│
      │ IN2   32762 │
      └─────────────┘
      ┌─────────────┐
      │     <>      │
      ┤     Int     ├──────────( tempValide )
      │ IN1  tempRaw│
      │ IN2   32764 │
      └─────────────┘

Réseau 4 — Conversion température (÷ 10 → °C)
                ┌──────────┐    ┌──────────┐
   tempValide   │   CONV   │    │   DIV    │
──────┤ ├───────┤ Int→Real ├────┤   Real   ├──( temperature )
                │IN tempRaw│    │IN2   10.0│
                └──────────┘    └──────────┘

Réseau 5 — Device status : 4 bits de poids fort
      ┌──────────────┐    ┌──────────────┐
      │     SHR      │    │     AND      │
──────┤     Byte     ├────┤     Byte     ├──( deviceStatus )
      │IN  statusRaw │    │IN2    16#0F  │
      │N          4  │    └──────────────┘
      └──────────────┘
// Données process LDH292 — 8 octets
// Octets 0-1 : humidité (INT, ×0,1 %RH) · 4-5 : température (INT, ×0,1 °C) · 7 : status

FUNCTION_BLOCK "FB_LDH292"
VAR_INPUT
    humRaw : INT; tempRaw : INT; statusRaw : BYTE;
END_VAR
VAR_OUTPUT
    humidite : REAL; temperature : REAL;
    humValide : BOOL; tempValide : BOOL;
    deviceStatus : USINT; maintenance : BOOL; defaillance : BOOL;
END_VAR

BEGIN
    IF #humRaw = 32764 THEN   // NoData
        #humValide := FALSE; #humidite := 0.0;
    ELSE
        #humValide := TRUE;  #humidite := INT_TO_REAL(#humRaw) / 10.0;
    END_IF;

    CASE #tempRaw OF
        -32760, 32760, -32762, 32762, 32764:
            #tempValide := FALSE; #temperature := 0.0;
        ELSE
            #tempValide := TRUE;  #temperature := INT_TO_REAL(#tempRaw) / 10.0;
    END_CASE;

    #deviceStatus := BYTE_TO_USINT(SHR(IN := #statusRaw, N := 4)) AND 16#0F;
    #maintenance  := (#deviceStatus >= 1);
    #defaillance  := (#deviceStatus = 4);
END_FUNCTION_BLOCK

// Valeurs aberrantes ? Inversion d'octets Siemens :
// humRaw := WORD_TO_INT(SWAP(INT_TO_WORD(humRaw)));
CONT ou SCL ?La mise à l’échelle est plus lisible en SCL. L’usage courant est d’écrire ce bloc en SCL et de l’appeler depuis le programme CONT. La version CONT existe pour les sites où le SCL n’est pas autorisé.
Code non validé sur installationGénéré depuis la documentation. À confirmer sur matériel avant mise en production.

Les pièges

Mode SIO : nonLe capteur ne fonctionne qu’en IO-Link, sans repli en mode standard. Port en DI ou désactivé : il ne remonte rien, et le diagnostic ne le dit pas clairement.
Inversion d’octets SiemensLa description d’interface ifm signale que les automates Siemens permutent poids fort et poids faible en adressage par octet. Humidité à 44 800 au lieu de 435 : c’est ça.
IP 20 contre IP 67Le maître va au bord de la machine, pas le capteur. Le LDH292 est un appareil d’armoire.
Mesure jusqu’à 100 %, utilisation jusqu’à 90 %Plage de mesure et plage d’utilisation ne sont pas les mêmes. Au-delà de 90 % RH ambiants, on sort des conditions d’emploi.
Air turbulent interditGaines d’aspiration et point de rosée : mesures erronées. Ne pas recouvrir le capteur.

Sources

Fiche technique ifm 13.04.2023 · Notice 09/2020 · IODD rév. 1.1 du 27.11.2020

Autre maître IO-Link possible pour LDH292

Le brochage du capteur ne change pas — seule la procédure TIA Portal diffère selon le maître utilisé.

À propos de cette page Cette page est générée depuis des fiches de données structurées, pas écrite à la main — voir la maquette interactive pour naviguer parmi tous les guides.