Accueil > Forum > Convertisseurs d'interface > Passerelle Modbus TCP / RTU en connexion multipoint
marqués: BIBLIOTHÈQUE MODBUS eLLabMdbDevsLib
- Ce sujet a 6 réponses, 2 participants et a été mis à jour pour la dernière fois il y a 3 ans da Sergio Bertana.
-
auteurPost
-
Février 24, 2021 à 2: pm 27 #59150MarcelloPartecipante
Je dois connecter certains appareils en connexion multipoint à une passerelle Modbus TCP / Modbus RTU. Quel convertisseur puis-je utiliser?
Février 24, 2021 à 2: pm 40 #59152Sergio BertanaAdministrateur du forumToutes les passerelles ATC Modbus vous permettent de gérer plusieurs appareils (jusqu'à 485) connectés en multipoint sur le port RS32 (un câble torsadé doit être utilisé pour la connexion). En se connectant au convertisseur en TCP, il est possible d'envoyer des commandes Modbus indiquant le numéro de nœud auquel envoyer la commande.
Le paquet Modbus RTU avec le numéro de nœud sera envoyé au port série RS232 ou RS485, et seul le périphérique adressé répondra. Le paquet Modbus RTU reçu sera converti en Modbus TCP et envoyé en réponse.
ATC-1300: Il ne peut fonctionner qu'en tant que serveur.
ATC-3002: Il a une configurabilité étendue et lui permet d'être configuré en tant que serveur ou en tant que client.
Février 24, 2021 à 4: pm 13 #59153MarcelloPartecipanteEh bien merci, problème résolu.
Mars 28, 2021 à 11: 50 am #59368StefanoPartecipanteJe m'accroche à ce post pour une application similaire. Il y a une vingtaine de compteurs d'énergie connectés sur un bus RS485 avec le protocole MODBUS RTU. Je dois connecter une passerelle TCP / RTU au bus pour pouvoir lire les registres du réseau.
Ensuite, j'aurai une machine virtuelle, sur laquelle tourne le logiciel MES, qui interrogera périodiquement les compteurs pour détecter l'énergie consommée. Sur une autre machine virtuelle, un logiciel superviseur lira les différentes données relatives aux tensions / courants / puissances instantanées.
Étant donné que je devrai bien vérifier les heures d'interrogation pour ne pas saturer le bus, il se peut que les deux logiciels fassent une requête presque simultanément, donc la passerelle doit pouvoir mettre en file d'attente les requêtes ou en tout cas gérer le cas.
Quel pourrait être le produit le plus adapté?
Mars 28, 2021 à 11: 58 am #59382Sergio BertanaAdministrateur du forumEn lisant la documentation de la passerelle Modbus TCP vers RTU / ASCII ATC-3002 il semble qu'il peut gérer la file d'attente de requêtes Modbus et devrait donc résoudre le problème pour vous. Personnellement, je n'ai jamais essayé de gérer plus d'une connexion simultanée.
Pour nos systèmes SlimLine nous avons développé le FB ModbusTCPGateway qui vous permet de gérer plusieurs connexions simultanées. Après l'avoir développé, nous savons exactement comment cela fonctionne, en pratique, lorsqu'il reçoit une requête Modbus TCP, il la transforme en RTU et la transmet sur le port série, en attendant la réponse qui sera redirigée vers le client TCP.
Si plusieurs clients font des demandes simultanées, il faut naturellement que ceux qui arrivent plus tard attendent la conclusion de la demande précédente avec un allongement inévitable des délais.
Mais étant ça SlimLine programmable, vous pouvez également interroger cycliquement tous les appareils dans RTU en plaçant les données dans les registres système qui seront interrogés via Modbus TCP (le système accepte plusieurs connexions Modbus TCP simultanées) dans ce cas, vous n'avez pas de temps de retard. de plus, en gérant les données du programme, vous pouvez exécuter des swaps pour adapter l'endianness sur les variables 32 bits.
Avril 20, 2021 à 7: 54 am #59648[email protected]PartecipanteJ'ai aussi une application de lecture de compteurs d'énergie Lovato, connectée en cascade en RS485, je dois créer une application qui me lit cycliquement les différents appareils en Modbus depuis mon automate.
J'ai un MPS054B110, et comme le montrent les exemples sur le site, j'ai essayé d'inclure la bibliothèque eLLabMdbDevsLib, la dernière téléchargée depuis le site pour utiliser les fonctions MODBUS. Malheureusement, lorsque je commence la compilation, uniquement avec la bibliothèque incluse, et sans ligne de commande ni appel aux FB, j'obtiens toujours cette erreur de compilation:
ModbusMaster_v1.File – error A4108: eFILEP => Base object not found.
Des suggestions?
Avril 20, 2021 à 8: 03 am #59655Sergio BertanaAdministrateur du forumLes nouvelles bibliothèques ont toutes été converties pour la nouvelle architecture XUnified (Voir l'article), probablement le vôtre SlimLine a encore une version de firmware XTarget. Vous avez maintenant deux options:
1) Incluez également la bibliothèque dans votre projet eLLabXTargetAdjLib.
2) Effectuez une mise à niveau du système et convertissez-le en système XUnified (Voir l'article).Je recommande vivement la deuxième solution qui vous permet de mettre à jour le système en le rendant compatible avec toutes les nouvelles versions de bibliothèques.
J'ajoute une astuce pour acquérir les différents compteurs que vous pouvez utiliser le FB ACModbus, Commande Array Modbus, qui repose sur une seule instance du FB ModbusMaster_v1 vous permet de séquencer automatiquement les différentes acquisitions.
-
auteurPost
- Vous devez être connecté pour répondre à ce sujet.