Exercices réseaux partie N°2 1.1 Trame modbus sur port série - Free
Ces méthodes permettent d'envoyer ou de reçevoir des octets (unsigned char) stockés dans un tableau (void* buffer qui est équivalent à void buffer).
Part of the document
Licence Professionnelle MAII
Eléments de Cours "Réseaux de Terrain"
BP-MAII-CV1.1-28092006 p1
Un avenir une formation,
Exercices réseaux partie N°2
1.1 Trame modbus sur port série
Soit la classe c++ "PortSerie" permettant la communication avec la couche physique par le
port série d'un PC, elle comporte entre autres les méthodes:
• Le constructeur:
PortSerie::PortSerie(int bauds=9600, int nbits=8, bool bin=true, bool parity=false);
• Les fonctions membres:
bool PortSerie::OpenCOM(int nId);
bool PortSerie::CloseCOM(int nId);
nId représentant le numéro du port,
bool PortSerie::ReadCOM(void* buffer, int nBytesToRead, int* pBytesRead);
bool PortSerie::WriteCOM(void* buffer, int nBytesToWrite, int* pBytesWritten);
Ces méthodes permettent d'envoyer ou de reçevoir des octets (unsigned char) stockés dans un
tableau (void* buffer qui est équivalent à void buffer[]). Les entiers permettant le contrôle de
la taille du tableau
On dispose des fonctions annexes:
int int_vf_cp2(double value, int dp);
Cette fonction permet de convertir un nombre en virgule flottante en nombre 16 bits à virgule
fixe stocké dans un int
unsigned int CRC16(unsigned char trame[], unsigned int longueur);
Cette fonction renvoie le code de contrôle d'un tableau dont la taille est donnée. Le CRC (2
octets) est ajouté automatiquement à la fin de la table trame[] .
Soit une autre classe C++ "ModbusRTU" utilisant la classe "PortSerie" pour communiquer
avec la couche physique, elle comporte entre autres les méthodes:
ModbusRTU::ModbusRTU(PortSerie * port_serie); // constructeur
et la méthode d'écriture:
bool ModbusRTU::WriteWord(unsigned char slave, unsigned int adr, double value, unsigned int
dp);
Elle permet d'écrire dans l'esclave (code modbus 6) d'adresse slave (8bits) à l'indexe adr (16
bits) un nombre en virgule flottante (value) sous forme d'un nombre en virgule fixe (16bits)
dont la position de la virgule est spécifiée par dp
Licence Professionnelle MAII
Eléments de Cours "Réseaux de Terrain"
BP-MAII-CV1.1-28092006 p2
Un avenir une formation,
• Ecrire une ligne d'instructions permettant de copier les 8 bits de poids fort d'un mot de 16
bits non signé (unsigned int) dans un octet (unsigned char), plusieurs solutions
• Ecrire une ligne équivalente pour les 8 bits de poids faible.
• Compléter cette fonction:
bool ModbusRTU::WriteWord(unsigned char slave, unsigned int adr, double value, unsigned int
dp)
{
int nbw;
int i, ivalue;
unsigned char t[10];
// convertir le double en int (reel à virgule fixe)
t[0]=slave;
t[1]= // a completer
t[2]= // a completer
t[3]= // a completer
t[4]= // a completer
t[5]= // a completer
// ecrire dans le port
return true;
}
• Compléter le programme de test (console)
#include
#include
#include "PortSerie.hpp"
#include "modbusRtuAscii.hpp"
using namespace std;
int main(int argc, char *argv[])
{
// création de l'objet PORT instance de la classe PortSerie 9600 bauds, 8 bits, binaire, sans
parité
// ouverture du port n°4 de l'objet PORT
// création de l'objet dynamique ReseauRTU instance de la classe ModbusRTU sur le port PORT
// écrire la valeur 57.42 dans
// fermer le port serie
// détruire le port
// détruire modbus
system("PAUSE");
return EXIT_SUCCESS;
}
ESI- Corrigé BTS IRIS session 2008 - Prof GE Le réseau MODBUS RTU est préféré à ASCII par ce que : a. Economique ; b. Plus rapide ; c. Possède un mécanisme de détection des erreurs puissant ; d.
CM7-TD6 - Réseaux et bus de terrain [Mode de - IUT EN LIGNE Les standards industriels équivalents sont Bus CAN, Bus ASi, MODBUS, FIP ? Q?-10.5 : (2pts). Expliquer brièvement en quoi consiste le principe maître
Le protocole Modbus TD 3 : Analyse de trames Ethernet / Adresse IP et masque de sous-réseaux. ? TD 4 Exemples : Profibus FMS, Prifibus PA, FieldBus WorldFIP, Modbus +?
Protocole Modbus Nota : Les produits (modules) peuvent ne contenir qu'une partie des fonctions (?voir notice produits). Structure de la trame Jbus. Modbus. N° d'esclave. Code
Modbus RTU Cours Liaison série Modbus RS 485. - 1 -. Interface série RS485 MODBUS. 1. Principe : Le protocole Modbus (marque déposée par MODICON) est un protocole
Modbus Le bus Modbus répond aux architectures Maître/Esclave. Il a été créé par la société Modicon pour interconnecter les automates programmables. Ce protocole a
Protocole MODBUS Le protocole MODBUS consiste en la définition de trames d'échange. MAITRE question réponse. ESCLAVE A. ESCLAVE B. ESCLAVE C. Le maître envoie une?
Laison série Modbus BTS Electrotechnique. Liaison série Modbus. Lycée Gustave Eiffel. 1/8. LIAISON SERIE MODBUS. 1. INTRODUCTION AU BUS DE TERRAIN MODBUS : .
Modbus TCP Exercices MODBUS TCP -. MODBUS TCP. Rappels. Modbus (marque déposée par Modicon) est un protocole de communication utilisé pour des réseaux
Exercices-Modbus Exercices MODBUS -. Table des matières. MODBUS. Modbus (marque déposée par Modicon) est un protocole de communication utilisé pour des réseaux
Corrigé des exercices Conçu par des enseignants et conforme aux programmes de l'éducation nationale.
La mole Ce qu'il faut retenir La mole : Exercices d'application niveau Exercice 12 ? Soit A et B deux matrices carrées de même ordre, on suppose que la matrice. AB est inversible d'inverse la matrice C. Montrer alors que B est