Créez votre propre intégration d’appareil Modbus pour SmartgridOne. Un guide pratique de création de pilotes avec une vidéo, le mappage des mesures, la logique de contrôle et les tests.
Ce guide s’adresse aux installateurs et aux intégrateurs qui souhaitent créer leur propre intégration d’appareil à partir de la table des registres Modbus d’un fabricant. Il explique comment créer un pilote, mapper les mesures, implémenter les commandes de contrôle et valider le résultat.
C’est ce que la même énergie aurait coûté si vous aviez toujours vos panneaux solaires, mais que le pilotes Modbus personnalisés module, vous pouvez intégrer vous-même un appareil Modbus à SmartgridOne, sans avoir besoin d'un programmeur Eniris pour créer l'intégration. Dans l'interface de mise en service d'un contrôleur, vous décrivez comment reconnaître l'appareil, lire ses mesures et le contrôler. Ce guide utilise un exemple pratique : l'onduleur hybride Playground intégré.
Regardez la présentation complète ci-dessus : environ 30 minutes, avec narration en néerlandais et chapitres. Elle suit l'interface de mise en service, de la création d'un pilote jusqu'à ses tests, son enregistrement et sa réutilisation.
En SmartgridX, ouvrez la vue SmartgridOne, allez dans Paramètres, sélectionnez votre contrôleur et ouvrez la configuration du contrôleur. Voir Accéder à l'interface de mise en service pour obtenir les instructions complètes d'accès.
Dans l'interface de mise en service, sélectionnez Appareils → Pilotes Modbus personnalisés → Gérer les pilotes personnalisés.
Commencez par vérifier si un pilote existant approprié est disponible. Pour créer le vôtre, procurez-vous le manuel Modbus du fabricant ou la table des registres correspondant exactement au modèle et au firmware. Ce document doit expliquer les adresses des registres, les types de données, les unités, les facteurs d'échelle et les opérations de lecture/écriture autorisées. Pour le contrôle, vous devez également connaître la séquence requise pour activer le contrôle externe, écrire les consignes et revenir au fonctionnement automatique.
Vous aurez besoin des informations de connexion de l'appareil : une adresse IP, un port TCP et une adresse Modbus, ou le port RS485 du contrôleur ainsi que les paramètres série de l'appareil. Playground vous permet d'apprendre la procédure avant de connecter un équipement physique.
Cliquez sur Nouveau pilote, donnez-lui un nom reconnaissable, choisissez la marque et sélectionnez l'exemple onduleur hybride Playground. Vous disposez ainsi d'un pilote fonctionnel à explorer. Vous pouvez également commencer avec un type d'appareil pris en charge vide lors de la création de votre propre intégration.
Ouvrez Test, sélectionnez onduleur hybride Playground sous Connexion à tester, puis cliquez sur Se connecter. Vérifiez la Reconnaissance, puis examinez les mesures et l'installation simulée. La liste des registres ouvre la table des registres de l'exemple à côté de l'éditeur.
Playground simule un onduleur triphasé de 10 kW avec 8 kW de PV, une batterie de 10 kWh, un compteur réseau et une sortie de secours. L'ensoleillement et les charges varient afin que vous puissiez observer les mesures et le comportement du contrôle. Il s'agit d'appareils simulés à l'intérieur du contrôleur ; les adresses et paramètres de l'exemple leur sont spécifiques.
L'éditeur est organisé comme suit :
| Onglet | Ce que vous y faites |
|---|---|
| Pilote | Décrire le pilote, la documentation, les paramètres de connexion par défaut et les questions destinées à l'installateur. |
| Structure de l'appareil | Définir l'appareil et ses composants, ses mesures, son identification et ses options de contrôle. |
| Logique des commandes | Traduire les commandes en opérations sur les registres requises par l'appareil. |
| Test | Tester le pilote actuel et examiner ses mesures et ses commandes. |
| En direct | Suivre les appareils qui utilisent déjà le pilote. |
| Historique | Comparer et récupérer les versions enregistrées. |
En Pilote, saisissez les informations relatives aux modèles pris en charge et indiquez quel document de protocole le pilote suit. Un nom clair, une liste de modèles et la version du document aident un autre installateur à déterminer si le pilote correspond à son équipement.
Définissez les paramètres de connexion par défaut du fabricant. Pour Modbus TCP, distinguez le port réseau de l'adresse Modbus, également appelée ID d'unité. Pour RS485, le débit en bauds, la parité, le nombre de bits de données et le nombre de bits d'arrêt doivent correspondre à l'appareil. Des paramètres de recherche supplémentaires peuvent aider à trouver des équipements configurés différemment, mais les combinaisons supplémentaires allongent la recherche.
Entrées utilisateur du pilote permettent à l'installateur de répondre à des questions lors de l'ajout d'un appareil. Par exemple, Playground demande si le compteur réseau de l'onduleur est connecté et si la batterie peut être chargée depuis le réseau. Utilisez ces entrées lorsqu'un même pilote doit prendre en charge plusieurs configurations d'installation.
En Structure de l'appareil, créez les composants effectivement exposés par l'appareil. Un onduleur hybride peut contenir un total PV, des entrées MPPT, des strings, un total batterie et des batteries individuelles. Ajoutez un compteur réseau ou une sortie de secours lorsque l'appareil fournit ces mesures.
Sélectionnez un composant et associez-lui ses registres. Chaque ligne indique ce qui est mesuré, l'adresse, le type de registre, le type de données, le facteur d'échelle et l'unité. Pour la puissance et le courant, précisez également la signification d'une valeur positive du registre. Placez les mesures de batterie sur la batterie et les mesures PV sur le composant PV approprié.
Commencez par la reconnaissance et par quelques mesures que vous pouvez vérifier. Pour l'onduleur d'exemple, la tension L1-N et la fréquence fournissent des valeurs plausibles pour la reconnaissance. Ajoutez ensuite la puissance, l'état de charge de la batterie, les compteurs d'énergie et les autres valeurs utiles. Les composants contrôlés ont besoin de leurs mesures de puissance correspondantes, soit directement, soit calculées à partir de mesures appropriées.
Séparez l'identification et les caractéristiques nominales des mesures en temps réel. Le fabricant, le modèle, le numéro de série et la puissance nominale décrivent l'appareil ; les mesures indiquent son fonctionnement actuel. Associez séparément les valeurs d'état telles que Running ou Standby aux codes ou bits d'alarme. Donnez aux alarmes un texte clair et le niveau de gravité approprié afin que l'installateur puisse comprendre le problème.
Choisissez l'option de contrôle qui correspond aux registres du protocole du fabricant. Elle détermine les consignes et les limites que SmartgridOne fournit à la logique des commandes.
Playground utilise Consigne de batterie et limite PV. SmartgridOne peut demander une puissance de charge ou de décharge de la batterie et limiter indépendamment la production PV. D'autres appareils peuvent prendre en charge uniquement une consigne de batterie, uniquement une limite PV, une consigne AC de l'onduleur ou la surveillance sans contrôle.
Une consigne demande une valeur cible ; une limite définit un maximum. Limiter le PV à 4 kW ne produira pas 4 kW si l'ensoleillement disponible est insuffisant. Distinguez également les bornes AC de l'onduleur du point de raccordement du site au réseau : un registre qui contrôle l'un ne contrôle pas automatiquement l'autre.
Configurez le chien de garde à partir du protocole. Il permet à l'équipement de reprendre son propre fonctionnement si les commandes cessent d'arriver. L'exemple Playground écrit 300 secondes dans le registre de compte à rebours 1005 et répète les commandes toutes les 20 secondes. D'autres appareils nécessitent un compteur qui change, des valeurs alternées ou une bascule de bit. La réinitialisation du chien de garde et le réglage de son délai d'expiration peuvent être des registres distincts.
En Logique des commandes, suivez les liaisons grises continues entre les ports triangulaires pour voir l'ordre des actions. Les liaisons colorées en pointillés entre les ports ronds transportent les valeurs. Ces deux types de connexion expliquent à la fois ce qui se passe et la valeur utilisée.
Playground présente les conversions suivantes :
| Action | Implémentation de l'exemple |
|---|---|
| Activer le contrôle à distance | Écrire 1Problèmes connus1000, une valeur non signée de 16 bits, à l'aide de la fonction 6. |
| Écrire la consigne de batterie | Inverser le signe avec Négatif, puis écrire une valeur signée de 32 bits à partir de 1001, en utilisant la fonction 16 pour ses deux registres. |
| Écrire la limite PV | Convertir la puissance demandée en pourcentage de la capacité PV de 8 kW de l'exemple, puis écrire ce pourcentage dans 1003. |
| Libérer l'appareil | En Logique de libération, écrire 0x11000 pour rétablir l'autoconsommation automatique. |
SmartgridOne utilise une puissance de batterie positive pour la charge. L'appareil d'exemple utilise une puissance positive pour la décharge. Une demande finale de charge à +3,000 W devient donc −3,000 dans son registre. L'exemple complet limite également les variations à 2 kW par commande successive ; les valeurs intermédiaires peuvent donc différer pendant que l'appareil se rapproche de la puissance demandée.
Pour le PV, 4 kW divisés par 8 kW donnent 50 %. Utilisez la bonne référence : la capacité PV de l'exemple est de 8 kW, tandis que la puissance AC nominale de son onduleur est de 10 kW. Un appareil réel peut utiliser une autre référence ou une autre échelle.
Vérifiez la gestion des échecs ainsi que le déroulement normal. Par exemple, si l'activation du contrôle à distance échoue, il peut être inapproprié d'écrire ensuite la consigne. La sortie En cas d'exception peut gérer une opération en échec ; sans continuation connectée, cette exception arrête la commande. Terminez les chemins normaux par Retour de la commande.
Le Test L'onglet exécute le pilote actuellement affiché dans l'éditeur, y compris les modifications non enregistrées. Commencez avec Playground, puis répétez les vérifications sur l'équipement prévu.
Sur un appareil physique, les commandes de test et les écritures manuelles ont des effets réels. Sélectionnez pour le test un équipement qui peut être contrôlé. L'interface indique également les connexions qui ne peuvent pas être utilisées simultanément avec un appareil installé.
Pour le diagnostic, utilisez les lectures manuelles des registres et les Trames brutes. Une fonction illégale indique une opération non prise en charge ; une adresse de données illégale indique un registre incorrect ou inaccessible ; une valeur de données illégale signifie que la valeur demandée n'est pas acceptée. Vérifiez ces éléments par rapport au protocole avant de modifier le pilote.
Résolvez les problèmes répertoriés et vérifiez les résultats de vos tests, puis cliquez sur Enregistrer. Un brouillon présentant des problèmes bloquants peut être enregistré, mais ne peut pas être utilisé pour ajouter un nouvel appareil. La dernière version valide existante du pilote continue de fonctionner lorsqu'elle est disponible.
Ajouter un appareil ouvre l'assistant habituel avec ce pilote sélectionné. Il utilise la version enregistrée ; enregistrez donc d'abord. Choisissez la connexion réelle et répondez aux questions destinées à l'installateur. Après avoir ajouté l'appareil, vérifiez à nouveau sa reconnaissance, ses mesures et son fonctionnement. L'enregistrement d'une définition de pilote et l'ajout d'un équipement à l'installation sont deux étapes distinctes.
Utilisez En direct pour examiner les appareils installés, leurs mesures et leurs dernières commandes. Les pilotes déjà utilisés par des appareils s'ouvrent en lecture seule. Après Déverrouiller la modification, les modifications peuvent affecter ces appareils. L'application temporaire de la logique de commande à un appareil diffère de Enregistrer, qui met à jour le pilote enregistré utilisé par tous ses appareils. Suivez les notifications de l'éditeur lorsqu'une modification structurelle ou d'identification nécessite une action supplémentaire.
Historique permet de comparer les versions et d'épingler un instantané nommé. Revenir à cette version la restaure sous forme de modifications non enregistrées ; enregistrez-la pour continuer à partir de cette version. Export télécharge le pilote enregistré au format JSON, sans les modifications non enregistrées. Utilisez Importer un pilote sur un autre contrôleur pour le réutiliser. Vérifiez si vous importez une copie distincte ou si vous remplacez un pilote existant. Un pilote nécessitant un moteur plus récent requiert un logiciel de contrôleur compatible. La distribution via le magasin de pilotes est distincte de l'enregistrement sur ce contrôleur.
Utilisez l'adresse de base zéro transmise sur le bus. Si un manuel utilise la notation des registres de maintien de type 40001, 40101 correspond à l'adresse 100 ; ne soustrayez pas cette base lorsque le manuel fournit déjà les adresses du bus.
Faites correspondre le type de données, le facteur d'échelle, l'unité ainsi que l'ordre des mots/octets. Pour un registre par pas de 0.1 V, la valeur brute 2301 signifie 230.1 V. Les valeurs signées peuvent être négatives ; les valeurs non signées ne le peuvent pas. Configurez Aucune valeur lorsque uniquement pour les codes spéciaux documentés par le fabricant.
Les mesures calculées peuvent additionner les puissances de phase ou multiplier la tension CC par le courant CC. En CA, la tension multipliée par le courant donne la puissance apparente, et non automatiquement la puissance active. Les blocs mathématiques et logiques adaptent les commandes au moyen de conversions, de conditions, de limites ou de temporisations. Les variables mémorisent les valeurs entre les commandes ; leurs mises à jour sont disponibles pour la commande suivante et sont réinitialisées après le redémarrage du contrôleur. Les fonctions regroupent la logique que vous souhaitez réutiliser.
Utilisez l’(?) pour obtenir des explications sur les champs et les blocs, ainsi que sur Aide → Tutoriel pour suivre un exemple guidé. M'aider à rédiger un nouveau pilote avec l'IA peut aider à préparer un pilote à partir du manuel à l'aide d'Ask Niri. Vérifiez les adresses, les conversions et la séquence de commande obtenues par rapport à la documentation du fabricant et aux résultats de vos tests.