Interfaces de comptage

Lire les régulateurs frigorifiques en Modbus : Danfoss, Carel et Dixell

Paramètres série, registres de température signés et mise à l’échelle pour les régulateurs Danfoss EKC 202, Carel MPXPRO et ir33, et Dixell XR.

Un meuble frigorifique ou une chambre froide possède déjà son propre calculateur. Le régulateur lit ses sondes, commande le compresseur ou la vanne, programme les dégivrages et déclenche ses propres alarmes. La plupart des régulateurs du commerce peuvent aussi transmettre tout cela en Modbus RTU. Les lire ajoute à un système de suivi la consigne, l’état de dégivrage, la température de l’évaporateur et les alarmes du régulateur, qui expliquent pourquoi une température a varié.

Ce guide couvre les quatre familles de régulateurs les plus répandues dans la distribution alimentaire et la restauration en Europe : le Danfoss EKC 202, les Carel MPXPRO et ir33, et la gamme Dixell XR. Les tables de registres proviennent des profils Modbus qu’EpiSensor utilise sur ces régulateurs, recoupés avec les documents des fabricants. Lorsque les deux divergent, ou qu’un fabricant ne publie pas une valeur, le guide le signale.

Pourquoi lire le régulateur, et pourquoi pas seulement le régulateur

Les sondes du régulateur sont placées pour la régulation. Un Danfoss EKC 202D mesure l’air avant et après l’évaporateur (S3 et S4) et l’évaporateur lui-même (S5). Un Carel MPXPRO utilise une sonde de soufflage, une sonde de reprise et une sonde de dégivrage. Un Dixell XR utilise une sonde de thermostat et une sonde d’évaporateur. Aucune n’est placée à la position des denrées la plus chaude, et toute personne ayant accès au menu du régulateur peut modifier la consigne.

Utilisez donc les deux signaux :

SignalSourceUsage
Température des denrées au point le plus chaudUne sonde indépendanteL’enregistrement HACCP et l’alarme principale
Température de l’air au régulateurLe régulateur, en ModbusUne seconde vue de l’équipement ; comparaison avec la sonde indépendante
Consigne et différentielLe régulateurLa preuve du réglage de l’équipement, et de la date de sa modification
Température de l’évaporateur, état de dégivrageLe régulateurExpliquer une montée programmée ; repérer les batteries prises en glace et les dégivrages ratés
Alarmes du régulateurLe régulateurAlarmes de température haute et basse, défauts de sonde

L’EN 12830, la norme des enregistreurs de température, fait la même distinction : la mesure de l’enregistreur doit être indépendante de celle qui sert à réguler le froid. Le guide EN 12830 explique quand cette norme s’applique. Le guide sur l’emplacement des sondes indique où placer la sonde indépendante et comment l’état de dégivrage du régulateur peut éviter les fausses alarmes.

La connexion

Chacun de ces régulateurs est un esclave Modbus RTU sur une paire RS-485. Une interface Modbus ZMB joue le rôle de maître : elle interroge les registres que vous configurez et transmet les valeurs par le réseau maillé Zigbee à un Gateway qui exécute Edge. Aucun câble de données ne revient à un tableau. Un ZMB lit de nombreux registres par régulateur : 8 ou plus, et jusqu’à 16 ou plus selon le modèle. Un ZMB-30 ajoute sa propre sonde de température étanche de 2,5 m : un seul appareil peut ainsi lire le régulateur et porter la sonde produit indépendante du même équipement.

Chaque régulateur a une page appareil avec sa table de registres et un modèle Edge en lecture seule : Danfoss EKC 202, Danfoss ERC 21x, Danfoss AK-CC55, Eliwell IDNext, Carel MPXPRO, Carel ir33, Carel pRack, Dixell XR60CX, Dixell XR77CX et Dixell XR170C. Le guide sur la surveillance des températures HACCP montre les valeurs du régulateur à côté de sondes indépendantes.

Sur un bus RS-485, Modbus n’admet qu’un seul maître. Si un superviseur, comme un gestionnaire de système Danfoss ou un Carel PlantVisor, interroge déjà les régulateurs, un second maître sur la même paire provoque des collisions. Lisez alors les données depuis le superviseur, ou utilisez le second port série d’un régulateur lorsqu’il en possède un. Le guide de câblage RS-485 traite de la terminaison et de la polarisation d’un nouveau bus.

RégulateurPort ModbusParamètre d’adresseParamètres série
Danfoss EKC 202A, B, CCarte enfichable EKA 178A (084B8564)o03 (1 à 240)9600, 8, paire, 1 (profil EpiSensor)
Danfoss EKC 202DModule enfichable ; l’EKC 302D sur rail DIN intègre Modbus en standardo039600, 8, paire, 1 (profil EpiSensor)
Carel MPXPRORS-485 sur les unités Master ; carte MX3OP48500 pour une unité SlaveH0, 199 par défaut19200, 8, sans parité, 2 (fixes)
Carel ir33Carte IROPZ48500 ou IROPZ485S0H0, 1 par défaut19200, 8, sans parité, 2
Dixell XR77CXRS-485 intégréAdr, 1 par défaut9600, 8, sans parité, 1
Dixell XR170CRS-485 sur les modèles qui en sont équipésAdr9600, 8, sans parité, 1
Dixell XR60CXTTL sur le connecteur HOT KEY, via un convertisseur XJ485-CXAdr, 1 par défaut9600, 8, sans parité, 1

Danfoss n’indique pas les paramètres série de l’EKA 178A dans ses documents publics ; les valeurs ci-dessus sont celles qu’utilisait le profil d’EpiSensor. Carel et Dixell fixent les leurs, et les régulateurs Carel reconnaissent automatiquement le protocole Carel ou Modbus. Le profil d’EpiSensor lit l’ir33 avec un bit d’arrêt, et il a répondu ainsi, mais les manuels Carel du MPXPRO et de l’ir33 Universale en indiquent deux : utilisez-en deux. Sur un réseau Carel MPXPRO, seule l’unité Master est sur le RS-485. Les unités Slave sont atteintes par son intermédiaire, à l’adresse du Master augmentée du numéro de l’unité Slave.

Lire un registre de température

Les quatre familles transmettent les températures de la même façon : un entier signé de 16 bits en dixièmes de degré, dans un registre de maintien lu avec la fonction 03. Le décodage se fait en trois étapes :

  1. Lire un registre avec la fonction 03, à l’adresse à partir de zéro.
  2. Traiter les 16 bits comme un entier signé (complément à deux) : les valeurs à partir de 32 768 sont négatives.
  3. Multiplier par 0,1 pour obtenir des °C, ou des °F si le paramètre d’unité du régulateur est réglé en Fahrenheit.
Registre brutNon signéSignéTempérature
0x003250505,0 °C
0x0000000,0 °C
0xFFEC65 516−20−2,0 °C
0xFF4C65 356−180−18,0 °C

Un congélateur qui affiche 6 535,6 °C a un registre signé décodé comme non signé. Le décodeur de registres Modbus présente côte à côte chaque interprétation d’un mot brut.

Dans Edge, un registre ZMB se configure avec l’adresse de l’esclave, l’adresse à partir de zéro en décimal ou en hexadécimal, le format de données (entier signé 16 bits), Read from réglé sur le registre de maintien (fonction 03) et Write laissé sur Read only (lecture seule). Dans les noms et la mise à l’échelle, réglez le multiplicateur à 0,1 et l’unité sur °C. Un modèle d’appareil copie ensuite la même configuration sur chaque ZMB raccordé au même modèle de régulateur.

Danfoss EKC 202

Danfoss désigne chaque valeur par un numéro de paramètre (PNU), et le registre Modbus vaut le PNU moins un, lu avec la fonction 03. Les valeurs sont en dixièmes, avec une plage signée.

ValeurRegistre (hex)Registre (décimal)ModèleNom Danfoss
Température de l’air, telle qu’affichée0x0A0F2575202A, B, CDisplay air, PNU 2576
Température S5 de l’évaporateur ou du produit0x03F21010Tousu09 S5 temp, PNU 1011
Température de l’air S30x09E12529202Du12 S3 air temp, PNU 2530
Température de l’air S40x09E22530202Du16 S4 air temp, PNU 2531
Température d’arrêt (consigne)0x006399TousCutout °C, PNU 100
Différentiel0x0064100Tousr01 Differential, PNU 101

Les six ont été testés avec les profils d’EpiSensor et concordent avec les listes de paramètres Danfoss des EKC 202B et 202D1. Le registre 2575 est la valeur affichée, qui inclut tout décalage d’affichage réglé en r04. La sonde brute du thermostat, u69 Sair, correspond au PNU 2589, registre 2588.

Les EKC 202A, B et C utilisent Sair pour la régulation et S5 pour le dégivrage, ou comme sonde produit ou de condenseur (o70). L’EKC 202D combine S3 et S4 pour la régulation (r15), l’affichage (o17) et les alarmes (A36). Les défauts de sonde sont signalés par des codes d’alarme (E27 pour S5, E29 pour Sair ; E25 et E26 pour S3 et S4 sur le 202D) et par des paramètres d’alarme, et non par une valeur particulière dans le registre de température.

Carel MPXPRO et ir33

Carel numérote ses variables de supervision par type : analogiques (A), entières (I) et numériques (D). Dans la table de l’ir33+, le registre Modbus d’une variable analogique est égal à son index Carel, celui d’une variable entière à son index plus 100, et les variables numériques se lisent comme des bobines de même numéro.

ValeurRegistre (hex)RégulateurSource
Mesure de la sonde 10x0004ir33Profil EpiSensor ; manuel ir33+, analogique 4
Mesure de la sonde 20x0005ir33Profil EpiSensor ; manuel ir33+, analogique 5
Consigne St0x0010ir33+Manuel ir33+, analogique 16
Différentiel rd0x0011ir33+Manuel ir33+, analogique 17
État de dégivrageBobine 31ir33+Manuel ir33+, numérique 31
Alarme de température hauteBobine 16ir33+Manuel ir33+, numérique 16
Température S10x0007MPXPROProfil EpiSensor
Température S20x0008MPXPROProfil EpiSensor
Température S30x0009MPXPROProfil EpiSensor
Consigne0x0027MPXPROProfil EpiSensor
Différentiel0x0029MPXPROProfil EpiSensor

Carel ne publie pas la liste des variables de supervision du MPXPRO dans son manuel d’utilisation : les lignes MPXPRO reposent donc uniquement sur les essais d’EpiSensor. Le profil d’EpiSensor mentionne aussi un troisième registre ir33 à 0x000F, que la table de l’ir33+ ne définit pas (11 à 14 sont des étalonnages de sonde) ; laissez-le de côté, sauf si la documentation de votre régulateur le nomme.

Le rôle des sondes dépend de la configuration. Sur le MPXPRO, S1 est par défaut la sonde de soufflage (Sm), S2 la sonde de dégivrage (Sd) et S3 la sonde de reprise (Sr). Sur l’ir33, S1 régule, et le paramètre /A2 fait de la sonde 2 une sonde produit, de dégivrage ou de condenseur. Les défauts de sonde sont des variables numériques (10 à 13 sur l’ir33+), affichées E0 à E3.

Les deux régulateurs disposent d’une fonction HACCP qui enregistre les alarmes de température haute (HA) et les alarmes après coupure de courant (HF), avec la date, l’heure et la durée, sur les modèles dotés d’une horloge. Elle est désactivée par défaut (paramètre Htd = 0). Le MPXPRO, avec les sondes NTC standard de Carel, est déclaré conforme à l’EN 13485 comme thermomètre (« air, S, 1, −50T90 °C »), et non à l’EN 12830 comme enregistreur.

Carel pRack

Le pRack pR300 est un régulateur de centrale frigorifique, et non un régulateur de meuble. Son adresse de supervision par défaut est 196, mais son protocole par défaut est pRACK Manager : réglez-le en esclave Modbus avant de le lire. Ses pressions sont en barg (ou psig), et non en degrés, même lorsqu’une liste de registres étiquette toutes les valeurs en °C. Carel fournit sur demande la liste complète des variables de supervision : procurez-vous-la avant de vous fier à un registre de pression.

Gamme Dixell XR

Le document Modbus de Dixell fixe la ligne à 9600 bauds, 8 bits de données, sans parité et un bit d’arrêt, avec les fonctions 03, 06 et 16. Les valeurs des sondes sont disposées à partir de 0x0100, chacune suivie d’un registre d’état qui porte l’unité, la résolution, les bits d’alarme et le bit d’erreur de sonde.

ValeurRegistre (hex)RégulateurSource
Sonde d’ambiance (thermostat)0x0100XR77CX, XR170CProfil EpiSensor ; Dixell, sonde 1
Sonde d’évaporateur0x0102XR170CProfil EpiSensor ; Dixell, sonde 2
Sonde d’affichage0x0104XR170CProfil EpiSensor ; Dixell, sonde 3
Sonde d’ambiance0x0108XR60CXProfil EpiSensor
Sonde d’évaporateur0x0109XR60CXProfil EpiSensor
Consigne0x0372XR77CXProfil EpiSensor
Consigne0x036CXR170CProfil EpiSensor
Consigne0x0301XR60CXProfil EpiSensor

Les paramètres utilisateur commencent à 0x0300, mais leur ordre diffère selon le modèle et le micrologiciel : c’est pourquoi la consigne se trouve à une adresse différente sur chacun. Dixell ne publie pas les adresses de paramètres par modèle dans son document général, et les adresses des sondes du XR60CX testées par EpiSensor diffèrent de la disposition que montre ce document. Vérifiez chaque registre par rapport à l’afficheur du régulateur avant de vous y fier, et consignez le modèle et le micrologiciel avec le profil.

Le XR60CX exige une pièce supplémentaire. Il n’a pas de bornes RS-485. Selon son manuel, la ligne série TTL du connecteur HOT KEY se raccorde à un système de supervision Modbus RTU au moyen du convertisseur externe TTL/RS485 XJ485-CX. Raccordez le côté RS-485 du convertisseur au ZMB. Le même connecteur accueille aussi la clé de programmation HOT KEY et l’afficheur déporté X-REP en option, et l’X-REP exclut la liaison série.

Rôle des sondes : P1 est la sonde de thermostat (ambiance), P2 la sonde d’évaporateur, P3 est configurable et P4 se branche sur la prise HOT KEY. Les limites d’alarme des XR60CX et XR77CX valent par défaut 110 °C en haut et −50 °C en bas (ALU et ALL) : en sortie d’usine, leurs alarmes de température sont donc pratiquement inactives.

Toujours en lecture seule

Chacun de ces régulateurs accepte les écritures. Danfoss indique la consigne, le différentiel, les limites d’alarme et l’interrupteur principal r12 en lecture et écriture ; écrire 0 dans r12 arrête la production de froid. Carel autorise l’écriture des paramètres et les commandes de dégivrage, de marche et d’arrêt. Dixell accepte les fonctions 06 et 16 sur ses paramètres.

Un système de suivi n’a aucune raison d’écrire l’une de ces valeurs. Configurez chaque registre avec Write réglé sur Read only, et n’ajoutez pas de fonction d’écriture à un profil ZMB pour un régulateur dont la commande ne relève pas de vous. Les profils d’EpiSensor indiquent des fonctions d’écriture pour les consignes parce que le régulateur les prend en charge, et non parce qu’il faudrait les utiliser. Une modification de consigne revient au frigoriste, sur le régulateur.

Mise en service de la lecture d’un régulateur

  1. Consigner le modèle du régulateur, sa référence de commande et son micrologiciel, ainsi que les paramètres de configuration des sondes.
  2. Vérifier qu’aucun autre maître n’interroge le bus.
  3. Régler la ligne série et l’adresse, et terminer le bus à ses deux extrémités.
  4. Configurer les registres en entier signé 16 bits, fonction 03, multiplicateur 0,1, lecture seule.
  5. Comparer chaque valeur à l’afficheur du régulateur, y compris une valeur négative sur un congélateur.
  6. Noter quelle sonde lit chaque registre (air, évaporateur ou affichage), pour que personne ne la confonde avec la sonde produit.
  7. Vérifier l’état de dégivrage lors d’un vrai dégivrage, si vous l’utilisez pour bloquer les alarmes.

Le guide de mise en service Modbus RS-485 traite du procès-verbal de réception complet, et le guide des limites critiques HACCP montre comment les données du régulateur étayent un enregistrement de température sans le remplacer.

Questions fréquentes

Le Danfoss EKC 202 prend-il en charge Modbus ?

Oui, avec le module de communication de données EKA 178A (084B8564), une carte enfichable Modbus pour les EKC 202A, B et C. L’adresse se règle dans le paramètre o03. Chez Danfoss, le registre Modbus vaut le numéro de paramètre (PNU) moins un, lu avec la fonction 03, et les températures sont en dixièmes de degré.

Comment raccorder un Dixell XR60CX en Modbus ?

Le XR60CX n’a pas de bornes RS-485. Sa ligne série TTL se trouve sur le connecteur HOT KEY, et le convertisseur XJ485-CX de Dixell la transforme en Modbus RTU sur RS-485. Un afficheur X-REP branché sur le même connecteur exclut la liaison série.

Quels sont les paramètres série du Carel MPXPRO ?

19200 bauds, 8 bits de données, sans parité et 2 bits d’arrêt sur le port RS-485 d’une unité Master, avec l’adresse dans le paramètre H0 (199 par défaut). Les protocoles Carel et Modbus sont reconnus automatiquement.

Pourquoi un congélateur affiche-t-il plus de 6 500 °C en Modbus ?

Le registre est signé mais a été décodé comme non signé. Une température de −18,0 °C est transmise sous la forme −180 en complément à deux, soit 65 356 en nombre non signé, ou 6 535,6 après mise à l’échelle. Réglez le format de données en entier signé 16 bits, puis multipliez par 0,1.

La sonde d’un régulateur frigorifique peut-elle servir aux enregistrements HACCP ?

Ce n’est pas l’idéal. La sonde du régulateur est placée pour la régulation, généralement dans l’air qui entre dans l’évaporateur ou qui en sort, et l’EN 12830 exige que l’enregistreur soit indépendant de la mesure de régulation. Utilisez une sonde indépendante à la position des denrées la plus chaude pour l’enregistrement, et les données du régulateur pour le diagnostic.