VELLEMAN K8097 programation WINDEV


#1

Bonjour,
J’ ai assemblé la K8097, qui fonctionne avec le programme demo.
J’ ai la liste des fonctions de la DLL MTRAPI32.DLL mais sans aucun détail, quelqu’un aurait ‘il ces détails
But de la fonction, paramètres …
Je programme en WINDEV, j’ ai fais un bouton pour faire tourner le moteur 1 à droite, mais le moteur ne
fonctionne pas, la fonction SMCConnect me retourne 0

// Ouverture de COM3
gbLignecom3 = sOuvre(3, 2000, 2000)
SI gbLignecom3 = Vrai ALORS
sFixeParamètre(3, 9600, 1, 8, 0)
Info("COM3 est ouvert "+gbLignecom3)
SINON
Erreur(“Erreur d’ouverture de COM3”)
FIN

//Charge DLL
Fichier_DLL = “C:\Velleman\Stepper Motor Cards\Native DLL\mtrapi32.dll”
Instructions_DLL = ChargeDLL(Fichier_DLL)
SI Instructions_DLL=0 ALORS
Erreur(“Chargement DLL impossible”)
RETOUR
SINON
Info(“DLL chargée”)
FIN
// DESCRIPTION DES FONCTIONS
//connection paramètres
ConnectionP est une Description d’API
ConnectionP…NomDLL = Fichier_DLL
ConnectionP…NomFonction = “SMCConnect”
ConnectionP…TypeRetour = apiBooléen
ConnectionP…Paramètre[1]…Type = apiChaîne //Port
ConnectionP…Paramètre[2]…Type = apiEntierSystème //Moteur, à faire pour chaque moteur
//Connexion
Connection est une Description d’API
Connection…NomDLL = Fichier_DLL
Connection…NomFonction = “SMCConnected”
Connection…TypeRetour = apiBooléen
//Mouvement paramètres
MouvementP est une Description d’API
MouvementP…NomDLL = Fichier_DLL
MouvementP…NomFonction = “SMCMove”
MouvementP…Paramètre[1]…Type = apiEntierSystème //Moteur
MouvementP…Paramètre[2]…Type = apiEntierSystème //Pas total
MouvementP…Paramètre[3]…Type = apiEntierSystème //Direction
MouvementP…Paramètre[4]…Type = apiEntierSystème //Vitesse
//PAS Moteur
PasM est une Description d’API
PasM…NomDLL = Fichier_DLL
PasM…NomFonction = “SMCGetMotorCount”
PasM…Paramètre[1]…Type = apiEntierSystème //Pas ici 200
//Direction
Direct est une Description d’API
Direct…NomDLL = Fichier_DLL
Direct…NomFonction = “SMCGetDirection”
Direct…TypeRetour = apiEntierSystème
Direct…Paramètre[1]…Type = apiEntierSystème //Moteur
//Moteur control (Torque)tourne oui/non
Tourne est une Description d’API
Tourne…NomDLL = Fichier_DLL
Tourne…NomFonction = “SMCGetTorque”
Tourne…TypeRetour = apiBooléen
Tourne…Paramètre[1]…Type = apiEntierSystème //Moteur
//Mouvement action
MouvementA est une Description d’API
MouvementA…NomDLL = Fichier_DLL
MouvementA…NomFonction = “SMCGetMoving”
MouvementA…TypeRetour = apiBooléen
MouvementA…Paramètre[1]…Type = apiEntierSystème //Moteur
//Couple oui/non
Couple est une Description d’API
Couple…NomDLL = Fichier_DLL
Couple…NomFonction = “SMCSetTorque”
Couple…Paramètre[1]…Type = apiEntierSystème //Moteur
Couple…Paramètre[2]…Type = apiBooléen //Appliquer couple
//Stop moteur arrêt d’urgence
StopUrg est une Description d’API
StopUrg…NomDLL = Fichier_DLL
StopUrg…NomFonction = “SMCStop”
StopUrg…Paramètre[1]…Type = apiEntierSystème //Moteur
//Déconnecte moteurs
DECONNECT est une Description d’API
DECONNECT…NomDLL = Fichier_DLL
DECONNECT…NomFonction = “SMCDisconnect”
//Connexion avec les moteurs
ConnectionP(“COM3”,1)
gnCode=ConnectionP(“COM3”,1)
Info(gnCode)
//ConnectionP(“COM3”,2)
//ConnectionP(“COM3”,3)
//ConnectionP(“COM3”,4)
Connection()
gnCode=Connection()
Info(gnCode)
//PARAMETRES MOTEURS
PasM(200)
Direct(1)

//MouvementP(1,200,1,50)

Couple(1,1)
MouvementP(1,500,1,50)
MouvementA(1)
//MouvementP(1,200,1,50)
Info(“Moteur 1 tourne”,MouvementA(1))
Info(Tourne(1))

//Fermeture de COM3
sFerme(3)


#2

Je n’arrive pas a avoir 1 dans GetMoving

//Moteur 3 Motte
nMotor=2 //2 pour le troisième
nStep=1000 //2Tours
nDirection = 0 //droite
nSpeed = 50 //vitesse
SMC.SetTorque(nMotor,0)//lache le frein
SMC.Move(nMotor,nStep,nDirection,nSpeed)
bSResultat=SMC.GetMoving(nMotor)
SI bSResultat=Vrai ALORS
ToastAffiche(“Moteur tourne”)
FIN