Exemple De Programme; Normalisation Des Paramètres - Siemens SINAMICS V20 Instructions De Service

Masquer les pouces Voir aussi pour SINAMICS V20:
Table des Matières

Publicité

Exemple de programme

Le programme ci-dessous montre un exemple de calcul de CRC pour MODBUS RTU.
unsigned int crc_16 (unsigned char *buffer, unsigned int length)
{
unsigned int i, j, temp_bit, temp_int, crc;
crc = 0xFFFF;
for ( i = 0; i < length; i++ )
{
}
}
Normalisation des paramètres
En raison des limites des données entières dans le protocole MODBUS, il est nécessaire de
convertir les paramètres du variateur avant de les transmettre. Cette opération est réalisée
par une normalisation, de telle sorte qu'un paramètre ayant une position après le séparateur
de décimales est multiplié par un facteur afin d'éliminer la partie fractionnaire. Le facteur de
normalisation est indiqué dans le tableau ci-dessus.
Paramètres FCOM
La mise à jour des paramètres FCOM est également réalisée dans le traitement des
paramètres en arrière-plan. En raison des limitations de la valeur de registre, il n'est possible
d'écrire que "0" ou "1" dans un paramètre FCOM. Cela définira une valeur statique de "0" ou
"1" pour l'entrée FCOM. La connexion précédente avec un autre paramètre est perdue. La
lecture du paramètre FCOM entraîne le retour de la valeur actuelle de la sortie FCOM.
Par exemple : Numéro de registre MODBUS 40200. L'écriture d'une valeur de 0 ou 1 dans ce
registre définit l'entrée FCOM P0731 sur cette valeur de manière statique. La lecture entraîne
le retour à la sortie FCOM enregistrée dans r0747.0.
Défaut
Le variateur affiche le défaut F72 lorsque les trois conditions suivantes sont remplies :
• Le paramètre P2014 (temps de désactivation du télégramme USS/MODBUS) n'est pas égal
à 0.
• Des données process ont été reçues du maître depuis le démarrage du variateur.
• Le temps écoulé entre les réceptions de deux télégrammes de données process
consécutifs dépasse la valeur de P2014.
Variateur SINAMICS V20
Instructions de service, 03/2021, A5E34560200-014
temp_int = (unsigned char) *buffer++;
crc ^= temp_int;
for ( j = 0; j < 8; j++ )
{
temp_bit = crc & 0x0001;
crc >>= 1;
if ( temp_bit != 0 )
crc ^= 0xA001;
}
Communication avec l'AP
7.2 Communication MODBUS
217

Hide quick links:

Publicité

Table des Matières
loading

Table des Matières