Exemple De Programmation - Mitsubishi Electric FR-D700 Manuel D'utilisation

Masquer les pouces Voir aussi pour FR-D700:
Table des Matières

Publicité

Paramètre

Exemple de programmation

Si les données de l'ordinateur externe sont entachées d'erreur, le variateur de fréquence n'ac-
cepte pas ces données. Prévoyez donc toujours pour le cas d'erreur dans le programme d'ap-
plication, un programme pour l'exécution d'essais de répétition.
Chaque transmission de données, par ex. des instructions de fonctionnement ou des fonctions
de contrôle est effectuée seulement après une demande de communication de l'ordinateur ex-
terne. Sans une demande, le variateur de fréquence n'envoie aucune donnée. Prévoyez donc
dans le programme une demande pour la lecture des données.
L'exemple suivant présente la commutation dans le fonctionnement pour la communication de don-
nées série. L'exemple de programme a été réalisé en utilisant Microsoft
#include <stdio.h>
#include <windows.h>
void main(void){
HANDLE
hCom;
DCB
hDcb;
COMMTIMEOUTS
hTim;
char
szTx[0x10];
char
szRx[0x10];
char
szCommand[0x10]; //Instruction
int
nTx,nRx;
int
nSum;
BOOL
bRet;
int
nRet;
int
i;
//**** Ouvre COM1 Port****
hCom = CreateFile ("COM1", (GENERIC_READ | GENERIC_WRITE), 0, NULL, OPEN_EXISTING, FILE_ATTRIBUTE_NORMAL, NULL);
if (hCom != NULL) {
//**** Configuration de la communication du port COM1 ****
GetCommState(hCom,&hDcb);
hDcb.DCBlength = sizeof(DCB);
hDcb.BaudRate = 19200;
hDcb.ByteSize = 8;
hDcb.Parity = 2;
hDcb.StopBits = 2;
bRet = SetCommState(hCom,&hDcb);
if (bRet == TRUE) {
//**** Configuration de la temporisation du port COM1****
Get CommTimeouts(hCom,&hTim);
hTim.WriteTotalTimeoutConstant = 1000;
hTim.ReadTotalTimeoutConstant = 1000;
SetCommTimeouts(hCom,&hTim);
//**** Spécifie l'instruction pour commuter le mode opératoire du variateur de la station 1 au fonctionnement via le réseau ****
sprintf(szCommand,"01FB10000");
nTx = strlen(szCommand);
//**** Génère le code de totalisation****
nSum = 0;
for (i = 0;i < nTx;i++) {
}
//**** Génère les données à transmettre****
memset(szTx,0,sizeof(szTx));
memset(szRx,0,sizeof(szRx));
sprintf(szTx,"\5%s%02X",szCommand,nSum);
nTx = 1 + nTx + 2;
nRet = WriteFile(hCom,szTx,nTx,&nTx,NULL);
//**** Opération d'envoi ****
if(nRet != 0) {
nRet = ReadFile(hCom,szRx,sizeof(szRx),&nRx,NULL);
//**** Opération de réception ****
}
}
CloseHandle(hCom);
}
}
Fig. 6-112:Exemple de programmation
FR-D700 EC
//Pointeur de communication
//Structure pour les configurations de la communication
//Structure pour les configurations de temporisation
//Tampon d'envoi
//Tampon de réception
//Pour les grandeurs tampon
//Pour le calcul des totaux de contrôle
nSum += szCommand[i];
nSum &= (0xff);
if(nRet != 0) {
//**** Affichage des données de réception ****
for(i = 0;i < nRx;i++) {
printf("%02X ",(BYTE)szRx[i]); //Sortie console des données de réception
//Représente le code ASCII en hexadécimal. Affichage 30 pour « 0 ».
}
printf("\n\r");
}
Mode de communication et réglages
//Lit les informations actuelles de communication
//Grandeur de la structure
//Vitesse de transmission = 19200 bps
//Longueur des données = 8 bits
//Parité paire
//Bit d'arrêt = 2 bits
//Spécifie les données de communication modifiées
//Lit la valeur actuelle de temporisation
//Temporisation d'accès d'écriture 1 s
//Temporisation d'accès de lecture 1 s
//Spécifie la configuration de temporisation modifiée
//Données à transmettre (écriture fonctionnement via le réseau)
//Grandeur des données à transmettre
//Initialisation du total de contrôle
//Calcule le total de contrôle
//Masque les données
//Initialisation du tampon d'envoi
//Initialisation du tampon de réception
//ENQ Code+données à transmettre+total de contrôle
//Longueur des données à transmettre ENQ Code+longueur des données
à transmettre+longueur du total de contrôle
//Fermer le port de communication
®
®
Visual C++
(Ver. 6.0).
6 - 213

Hide quick links:

Publicité

Table des Matières
loading

Ce manuel est également adapté pour:

Fr-d720s ecFr-d740s ecFr-d700 sérieFr-d740 ec

Table des Matières