Bonjours à tous,
Je développe actuellement une petite application PCVue, pour montrer à mes stagiaires à quoi peut servir une Supervision, j'essai de la mettre en lien avec une petite GPAO faite sous Excel déjà existante, et pour cela j'aurais besoin de connaitre la syntaxe pour pouvoir lancer une application .bat depuis un programme SCADA en lui donnant plusieurs arguments,
j'arrive à lui en passer 1 mais je ne trouve pas comment en ajouter.
pour info voici mon code pour 1 argument qui fonctionne :
SUB Load ()
DIM r As Integer;
DIM s As Str;
s = "C:\\Users\\formateur\\Desktop\\MonAppli.bat";
r = Application ("Load", s, @Encaisseuse.General.Text01,1);
END SUB
J'ai essayé plusieurs syntaxe comme :
r = Application ("Load", s, @Encaisseuse.General.Text01 @Encaisseuse.General.Text02,1);
r = Application ("Load", s, @Encaisseuse.General.Text01, @Encaisseuse.General.Text02,1);
r = Application ("Load", s, @Encaisseuse.General.Text01& @Encaisseuse.General.Text02,1);
r = Application ("Load", s, (@Encaisseuse.General.Text01, @Encaisseuse.General.Text02),1);
J'aimerais en passer au moins 5.
si quelqu'un peux m'aider.
merci par avance.
PCVUE Lancer un .bat en passant plusieur arguments
- Bruce33
- Créateur de langage
- Messages : 716
- Inscription : 28 oct. 2015, 06:54
- Localisation : Pas-de-Calais
Re: PCVUE Lancer un .bat en passant plusieur arguments
Bonjour,
Bon je n'y connais pas grand chose en PCVue mais je tente une réponse...
D'abord il faut bien respecter la syntaxe : IntVal = APPLICATION(Mode, Command[, Argument[, Start][,Folder]]);
Donc la fonction APPLICATION n'utilise qu'un seul paramètre pour passer les arguments.
Votre problème semble être l'association des arguments.
Il faut concaténer les chaînes de caractères qui représentent les différents arguments. Sans oublier la caractère 'espace' entre les arguments !
Pour concaténer les caractères, en SCADA Basic il semble qu'il faille utiliser la fonction ADDSTRING.
Cela serait peut-être plus facile à écrire en VBA plutôt qu'en SCADA Basic.
Bon je n'y connais pas grand chose en PCVue mais je tente une réponse...
D'abord il faut bien respecter la syntaxe : IntVal = APPLICATION(Mode, Command[, Argument[, Start][,Folder]]);
Donc la fonction APPLICATION n'utilise qu'un seul paramètre pour passer les arguments.
Votre problème semble être l'association des arguments.
Il faut concaténer les chaînes de caractères qui représentent les différents arguments. Sans oublier la caractère 'espace' entre les arguments !
Pour concaténer les caractères, en SCADA Basic il semble qu'il faille utiliser la fonction ADDSTRING.
Cela serait peut-être plus facile à écrire en VBA plutôt qu'en SCADA Basic.
Re: PCVUE Lancer un .bat en passant plusieur arguments
Bonjour,
Merci pour ta réponse, mais le but de ma démarche est de récupérer ces arguments (qui sont des variables PCVue) dans un .vbs pour les écrire dans des cellules précises d'un document Excel existant.
si je les concatènes, il faudra que je les écrivent dans une cellule cachée, et que je fasse un travail de déconcatènisation sur Excel, si j'arrive à le faire avec les formules Excel.
n'y a t'il vraiment pas moyen de passer plusieurs arguments directement ?
Merci pour ta réponse, mais le but de ma démarche est de récupérer ces arguments (qui sont des variables PCVue) dans un .vbs pour les écrire dans des cellules précises d'un document Excel existant.
si je les concatènes, il faudra que je les écrivent dans une cellule cachée, et que je fasse un travail de déconcatènisation sur Excel, si j'arrive à le faire avec les formules Excel.
n'y a t'il vraiment pas moyen de passer plusieurs arguments directement ?
Re: PCVUE Lancer un .bat en passant plusieur arguments
Dans pcvue, il faut que tu concatènes tes valeurs avec un espace entre les valeurs. Dans ton fichier bat, tu récupères alors tes arguments %1, %2, %3...
Re: PCVUE Lancer un .bat en passant plusieur arguments
ça fonctionne, merci pour votre aide, je n'avais encore jamais eu l’occasion de me servir des arguments sur un programme externe, et je pense que j'aurais pue chercher longtemps sans connaitre la méthode.
plus qu'a finir cette petite application pour la rentré.
merci encore à vous.
plus qu'a finir cette petite application pour la rentré.
merci encore à vous.
Re: PCVUE Lancer un .bat en passant plusieur arguments
tu peux ecrire des variables pcvue directement dans excel
tu as plusieurs solutions
excel est client opc et pcvue est nativement serveur OPC
ou autre exemple excel est serveur DDE (ça c'est vieux !) , dans pcvue tu fais une com DDE vers une cellule et tu y lis/écris ce que tu veux .
j'ai déjà fait la manip suivante (sans aucun code vb)
Pcvue écrit dans une cellule un numéro de recette en DDE
Excel fait des calculs en automatique dans tous les sens et renseigne une dizaine de cellules avec des proportions en fonction du numero de recette
Pcvue relit les proportions mises à jour en DDE et les écrit en Modbus dans un automate
si je devais le refaire, je le ferais en OPC mais le principe est le même
tu as plusieurs solutions
excel est client opc et pcvue est nativement serveur OPC
ou autre exemple excel est serveur DDE (ça c'est vieux !) , dans pcvue tu fais une com DDE vers une cellule et tu y lis/écris ce que tu veux .
j'ai déjà fait la manip suivante (sans aucun code vb)
Pcvue écrit dans une cellule un numéro de recette en DDE
Excel fait des calculs en automatique dans tous les sens et renseigne une dizaine de cellules avec des proportions en fonction du numero de recette
Pcvue relit les proportions mises à jour en DDE et les écrit en Modbus dans un automate
si je devais le refaire, je le ferais en OPC mais le principe est le même