Macro sur écran KEP

Partie du forum pour tout ce qui concerne les interfaces homme machine ou IHM. Forum, conseil, astuce et entraide sur les interface homme machine ou IHM tels que les magelis, KEP, proface, XBT, .
Avatar du membre
steph31
Forcené des structures
Forcené des structures
Messages : 191
Enregistré le : 20 oct. 2015, 19:17
Localisation : Toulouse

Macro sur écran KEP

Message par steph31 »

Bonjour

J’ai fait une macro sur un écran KEP MMI dans le but d’envoyer mes variables automate (une table de 64 mots) sur un autre port série, et recevoir une chaine de 16 mots et de les copier dans les variables de mon automate dans l’écran.
Je souhaite utiliser mon IHM comme passerelle.
Cette macro doit être appelé en permanence, et elle exécute un transfert toute les secondes.

L’IHM dialogue bien avec l’automate en modbus RTU sur le com3.

Je n’arrive pas avoir quelque chose dans mon equipment sur le port série COM1 ?
Pouvez vous me conseillé

Cordialement
MMI1.JPG

Code : Tout sélectionner

macro_command main()

// Declaration de variables
bool Cadence				// Bit de cadence
bool Front					// Bit de front pour execution programme
int retour					// Mot retour info communication
short MotdeVie				// Mot de vie pour la communication
int Table_Envoie[64]		// Table d'echange a envoyer
int Table_Reception[16]		// Table d'echange a recevoir
int t
int r
// ***********************
// * Programma principal *
// ***********************
// BIT CADENCE A 1HZ
if Cadence == false then	// Si "Cadence" est a 0
DELAY(1000)					// On attend 1 seondes
Cadence = true				// On met "Cadence" a 1
end if						// Fin de if
if Cadence == true then		// Si "Cadence" est a 1
DELAY(1000)					// On attend 1 seondes
Cadence =  false			// On met "Cadence" a 0
Front = true				// Si "Front" est a 1
end if						// Fin de if

// ECHANGE DES DONNÉES
GetData(MotdeVie, "CPU1284", 3x, 1 ,1)

if Front == true then							// Si "Front" est a 1
// On execute le programme et on reset Front a la fin
for t=0 to 64									// Boucle pour recupéré les 64 variables
GetData(Table_Envoie[t], "CPU1284", 3x, t ,1)	// Copie des variables dans la macro
next											// Fin de la boucle for

OUTPORT(Table_Envoie[0], "CP340", 64)			// Envoie sur le port comm

INPORT(Table_Reception[0], "CP340", 16, retour)	// Reception sur le port comm
SetData(retour, "Local HMI", LW, 0, 1)			// Retour info communication

for r=0 to 16									// Boucle pour envoyer les 16 variables
SetData(Table_Reception[r], "CPU1284", 4x, r ,1)// Copie des variables dans l'IHM
next											// Fin de la boucle for

Front == false									// On remet "Front" a 0
end if											// Fin de if: echange des données

SetData(Table_Reception[0], "Local HMI", LW, 1 ,1)	// Puissance Instantané
SetData(Table_Reception[1], "Local HMI", LW, 22 ,1)	// Années
SetData(Table_Reception[2], "Local HMI", LW, 21 ,1)	// Mois
SetData(Table_Reception[3], "Local HMI", LW, 20 ,1)	// Jours
SetData(Table_Reception[4], "Local HMI", LW, 19 ,1)	// Heures
SetData(Table_Reception[5], "Local HMI", LW, 18 ,1)	// Minutes
SetData(Table_Reception[6], "Local HMI", LW, 17 ,1)	// SECondes

SetData(Table_Reception[8], "Local HMI", LW, 2 ,1)	// PLC Etat


end macro_command
Avatar du membre
steph31
Forcené des structures
Forcené des structures
Messages : 191
Enregistré le : 20 oct. 2015, 19:17
Localisation : Toulouse

Re: Macro sur écran KEP

Message par steph31 »

MMI1.JPG
philou77
Mi homme - Mi automate
Mi homme - Mi automate
Messages : 2142
Enregistré le : 21 oct. 2015, 10:00
Localisation : Ile de France

Re: Macro sur écran KEP

Message par philou77 »

Salut !
Faire un delay dans une macro n'a d'autre effet que de faire une pause dedans..
ça sert a rien dans ton cas.

lance une tempo cyclique à l'ouverture de la fenêtre de départ.
Utilise le bit de sortie de la tempo pour lancer ta macro !


si l'idée est de passer d'un automate à un autre,
GetData et SetData suffisent.... l'ihm étant un zone tampon

Pourquoi vouloir passer par une com de l'afficheur ?
Pourquoi ne pas dialoguer en modbus RS485 avec le M340 sur le même réseau que l'autre CPU ou bien en RS 232 ?
En free protocol, le M340 va te répondre d'aller gentiment sur les ronces....
Si vous avez compris tout ce que je viens d'écrire, c'est que j'ai dû faire une erreur quelque part ! :D
Avatar du membre
steph31
Forcené des structures
Forcené des structures
Messages : 191
Enregistré le : 20 oct. 2015, 19:17
Localisation : Toulouse

Re: Macro sur écran KEP

Message par steph31 »

Comment je peux lancé une tempo cyclique? sur easybuilder8000
J'aimerais que la macro soit active en permanence.
dans mon projet,j'utilise une touche de fonction pour appelé la macro, et j'ai coché l'option " Activé lorsque le bouton est relâché "

Le Getdata et Setdata pourrais fonctionné. pour passé d'un automate a un autre, Mais je l'ai déjà fait sur un autre projet avec la fonction "Transfert de Données temporel" ca fonctionne.

mon CP340 n'est pas un M340, c'est un coupleur RS232 Siemens S7-300. je peux utilisé le port MPI de l'automate, ca fonctionne, mat je per la communication au bout de quelques minutes entre l'IHM et le S7-300.
C'est pour cela que j'avais l'idée d'utilisé un coupleur RS232 qui est libre sur l'automate. et de programmé SEND / Receive data FC2 et FC3.
jeanluc69
Générateur de blocs fonctions
Générateur de blocs fonctions
Messages : 116
Enregistré le : 20 oct. 2015, 20:52
Localisation : LYON

Re: Macro sur écran KEP

Message par jeanluc69 »

En haut de la fenêtre d'édition de la macro, cocher EXECUTION PERIODIQUE
philou77
Mi homme - Mi automate
Mi homme - Mi automate
Messages : 2142
Enregistré le : 21 oct. 2015, 10:00
Localisation : Ile de France

Re: Macro sur écran KEP

Message par philou77 »

Re !

Pardon pour la réponse,!j’ai mal lu.
Si vous avez compris tout ce que je viens d'écrire, c'est que j'ai dû faire une erreur quelque part ! :D
Avatar du membre
steph31
Forcené des structures
Forcené des structures
Messages : 191
Enregistré le : 20 oct. 2015, 19:17
Localisation : Toulouse

Re: Macro sur écran KEP

Message par steph31 »

Bonjour
J'ai cherché un moment dans l'aide, ce n'est pas dans la fenêtre d'edition, mais dans contrôle API.
MMI2.JPG
MMI3.JPG
ICI :D
MMI4.JPG
jeanluc69
Générateur de blocs fonctions
Générateur de blocs fonctions
Messages : 116
Enregistré le : 20 oct. 2015, 20:52
Localisation : LYON

Re: Macro sur écran KEP

Message par jeanluc69 »

Moi j'ai ça comme fenêtre (EB8000 v 4.65
Sans titre.jpg
Avatar du membre
itasoft
Mi homme - Mi automate
Mi homme - Mi automate
Messages : 7806
Enregistré le : 20 oct. 2015, 10:15
Localisation : Lyon
Contact :

Re: Macro sur écran KEP

Message par itasoft »

slts,
remarques:
for t=0 to 64 ça fait 65 alors que la table est déclarée de taille 64 , ça aurait du planter
Modifié en dernier par itasoft le 17 mars 2022, 23:13, modifié 1 fois.
Automaticien privé (de tout)
itasoft@free.fr
Avatar du membre
steph31
Forcené des structures
Forcené des structures
Messages : 191
Enregistré le : 20 oct. 2015, 19:17
Localisation : Toulouse

Re: Macro sur écran KEP

Message par steph31 »

jeanluc69 a écrit : 16 mars 2022, 17:06 Moi j'ai ça comme fenêtre (EB8000 v 4.65

Sans titre.jpg
On a pa la même version. je suis en version V4.34
Répondre