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