[S7-1200] CP 1243-1 et GTC
Re: [S7-1200] CP 1243-1 et GTC
Si ta GTC communiquait aussi en OPC UA ça devait être vachement plus facile.
Re: [S7-1200] CP 1243-1 et GTC
Alors oui effectivement la GTC lira des INT. Et oui je suis d'accord avec toi que les bits sont dans des mots et les réels sont formés avec 2 mots.sinced a écrit : ↑02 mai 2023, 18:49 Pourquoi la GTC ne peut pas se contenter de lire des INT ?
Dans des INT ou des WORD tu ranges des bits (bits de mot), etc.
Un réel c'est un double mot.
Bref as tu une table d'échange ?
Le problème en Modbus sur Siemens c'est que tu n'accèdes pas directement aux %MW si tu as déclaré un DB sur ton MB_Server.
Donc il va te falloir faire une copie du contenu de tes variables à échanger.
J'ai le DB avec les variables dedans qu'on souhaite récupérer.
En gros ma question est de savoir si il suffit de renseigner le BD en question sur la patte "MB_HOLD_REG" de bloc MB_SERVER, pour que la GTC récupère les données.
J'ai fait la table d'échange entre les octets sur Siemens et les INT pour la table d'échange.
J'ai le logiciel MBusIpRequestPro.exe pour tester la fonction. Je dois intervenir vendredi pour mettre en service la récupération des données
Re: [S7-1200] CP 1243-1 et GTC
Oui ton DB doit être renseigné sur l'instruction MB_Server.Anthony27 a écrit : ↑02 mai 2023, 20:47Alors oui effectivement la GTC lira des INT. Et oui je suis d'accord avec toi que les bits sont dans des mots et les réels sont formés avec 2 mots.sinced a écrit : ↑02 mai 2023, 18:49 Pourquoi la GTC ne peut pas se contenter de lire des INT ?
Dans des INT ou des WORD tu ranges des bits (bits de mot), etc.
Un réel c'est un double mot.
Bref as tu une table d'échange ?
Le problème en Modbus sur Siemens c'est que tu n'accèdes pas directement aux %MW si tu as déclaré un DB sur ton MB_Server.
Donc il va te falloir faire une copie du contenu de tes variables à échanger.
J'ai le DB avec les variables dedans qu'on souhaite récupérer.
En gros ma question est de savoir si il suffit de renseigner le BD en question sur la patte "MB_HOLD_REG" de bloc MB_SERVER, pour que la GTC récupère les données.
J'ai fait la table d'échange entre les octets sur Siemens et les INT pour la table d'échange.
J'ai le logiciel MBusIpRequestPro.exe pour tester la fonction. Je dois intervenir vendredi pour mettre en service la récupération des données
En Siemens toute la mémoire de l'automate en Modbus n'est pas accessible. Ce qui est même correct du point de vue cybersécurité
Re: [S7-1200] CP 1243-1 et GTC
Bonjour!
Petit retour sur mon intervention d'hier.
L'installation de la carte c'est bien passé et la mise à dispo des variables via un MB_SERVER aussi.
J'ai renseigné un DB qui contient différents types de variables, et avec mon logiciel "MBusIpRequestPro", je lis bien les variables (en INT).
Et la, le client me demande la mise à dispo d'autres variables, se trouvant dans un autre DB... Pas de problème!
J'insère donc un deuxième MB_SERVER avec comme différence :
- le DB en patte MB_HOLD_REG
- Je créé une nouvelle variable "TCON_IP_v4" avec comme différence l'ID (2 au lieu de 1). Comme ça mon 1er MB_SERVER est en ID 1 et mon deuxième en ID2 sur la même IP.
Je retourne sur mon logiciel "MBusIpRequestPro" et la, que je lise les variables en slave 1 ou slave 2, il lit que les variables du premier MB_SERVER.
Après plusieurs appel, j'ai un ingénieur siemens qui me dit que l'ID n'a rien a voir avec le slave. La seule solution, et de changer le "localport" dans TCON_IP_v4. Le soucis est que la GTC peut ne pas pouvoir affecter plusieurs port à une même adresse IP.
J'ai donc cherché une solution pour "copier" les variables des deux DB dans un nouveau DB pour utiliser qu'un seul MB_SERVER, mais en vain car les variables ne sont pas dans des Array.
J'ai donc utilisé des "MOVE" pour copier une dizaine de variables du deuxième DB dans le premier, et c'était tout bon.
Merci pour votre aide!
Petit retour sur mon intervention d'hier.
L'installation de la carte c'est bien passé et la mise à dispo des variables via un MB_SERVER aussi.
J'ai renseigné un DB qui contient différents types de variables, et avec mon logiciel "MBusIpRequestPro", je lis bien les variables (en INT).
Et la, le client me demande la mise à dispo d'autres variables, se trouvant dans un autre DB... Pas de problème!
J'insère donc un deuxième MB_SERVER avec comme différence :
- le DB en patte MB_HOLD_REG
- Je créé une nouvelle variable "TCON_IP_v4" avec comme différence l'ID (2 au lieu de 1). Comme ça mon 1er MB_SERVER est en ID 1 et mon deuxième en ID2 sur la même IP.
Je retourne sur mon logiciel "MBusIpRequestPro" et la, que je lise les variables en slave 1 ou slave 2, il lit que les variables du premier MB_SERVER.
Après plusieurs appel, j'ai un ingénieur siemens qui me dit que l'ID n'a rien a voir avec le slave. La seule solution, et de changer le "localport" dans TCON_IP_v4. Le soucis est que la GTC peut ne pas pouvoir affecter plusieurs port à une même adresse IP.
J'ai donc cherché une solution pour "copier" les variables des deux DB dans un nouveau DB pour utiliser qu'un seul MB_SERVER, mais en vain car les variables ne sont pas dans des Array.
J'ai donc utilisé des "MOVE" pour copier une dizaine de variables du deuxième DB dans le premier, et c'était tout bon.
Merci pour votre aide!
Re: [S7-1200] CP 1243-1 et GTC
ID n'a rien a voir avec le slave effectivement.Anthony27 a écrit : ↑06 mai 2023, 16:16 Bonjour!
Petit retour sur mon intervention d'hier.
L'installation de la carte c'est bien passé et la mise à dispo des variables via un MB_SERVER aussi.
J'ai renseigné un DB qui contient différents types de variables, et avec mon logiciel "MBusIpRequestPro", je lis bien les variables (en INT).
Et la, le client me demande la mise à dispo d'autres variables, se trouvant dans un autre DB... Pas de problème!
J'insère donc un deuxième MB_SERVER avec comme différence :
- le DB en patte MB_HOLD_REG
- Je créé une nouvelle variable "TCON_IP_v4" avec comme différence l'ID (2 au lieu de 1). Comme ça mon 1er MB_SERVER est en ID 1 et mon deuxième en ID2 sur la même IP.
Je retourne sur mon logiciel "MBusIpRequestPro" et la, que je lise les variables en slave 1 ou slave 2, il lit que les variables du premier MB_SERVER.![]()
Après plusieurs appel, j'ai un ingénieur siemens qui me dit que l'ID n'a rien a voir avec le slave. La seule solution, et de changer le "localport" dans TCON_IP_v4. Le soucis est que la GTC peut ne pas pouvoir affecter plusieurs port à une même adresse IP.
J'ai donc cherché une solution pour "copier" les variables des deux DB dans un nouveau DB pour utiliser qu'un seul MB_SERVER, mais en vain car les variables ne sont pas dans des Array.
J'ai donc utilisé des "MOVE" pour copier une dizaine de variables du deuxième DB dans le premier, et c'était tout bon.
Merci pour votre aide!
Pour moi il faut structurer toutes tes donnees a echanger et les ranger dans un seul DB. C'est plus simple pour la maintenance par la suite.
Tout est bien qui finit bien,
Re: [S7-1200] CP 1243-1 et GTC
Oui je suis d'accord avec toi.sinced a écrit : ↑06 mai 2023, 19:46ID n'a rien a voir avec le slave effectivement.Anthony27 a écrit : ↑06 mai 2023, 16:16 Bonjour!
Petit retour sur mon intervention d'hier.
L'installation de la carte c'est bien passé et la mise à dispo des variables via un MB_SERVER aussi.
J'ai renseigné un DB qui contient différents types de variables, et avec mon logiciel "MBusIpRequestPro", je lis bien les variables (en INT).
Et la, le client me demande la mise à dispo d'autres variables, se trouvant dans un autre DB... Pas de problème!
J'insère donc un deuxième MB_SERVER avec comme différence :
- le DB en patte MB_HOLD_REG
- Je créé une nouvelle variable "TCON_IP_v4" avec comme différence l'ID (2 au lieu de 1). Comme ça mon 1er MB_SERVER est en ID 1 et mon deuxième en ID2 sur la même IP.
Je retourne sur mon logiciel "MBusIpRequestPro" et la, que je lise les variables en slave 1 ou slave 2, il lit que les variables du premier MB_SERVER.![]()
Après plusieurs appel, j'ai un ingénieur siemens qui me dit que l'ID n'a rien a voir avec le slave. La seule solution, et de changer le "localport" dans TCON_IP_v4. Le soucis est que la GTC peut ne pas pouvoir affecter plusieurs port à une même adresse IP.
J'ai donc cherché une solution pour "copier" les variables des deux DB dans un nouveau DB pour utiliser qu'un seul MB_SERVER, mais en vain car les variables ne sont pas dans des Array.
J'ai donc utilisé des "MOVE" pour copier une dizaine de variables du deuxième DB dans le premier, et c'était tout bon.
Merci pour votre aide!
Pour moi il faut structurer toutes tes donnees a echanger et les ranger dans un seul DB. C'est plus simple pour la maintenance par la suite.
Tout est bien qui finit bien,
Le programme initial à très bien été fait. il y a un DB par fonction (IHMs, Alarmes, G7, etc.) et c'est appréciable
J'ai donc fait au plus rapide car j'avais que vendredi pour réaliser la modif.
Et oui, Tout est bien qui finit bien
Merci encore

