Creation Visu de test


Documentation Beckhoff

Infosys.beckhoff.com Twincat3->TE1000XAE->PLC->Creating_a_Visualization

aussi:

Infosys.beckhoff.com Twincat3->TE1000XAE->PLC->reference_user_interface->Visualization

 


Preliminaires

 

Ecire un programme de test

Voir fin de document

 

Licences:

Il faut la licence TC3 PLC-HMI (pour chaque projet). Avec:

  1. <My_project>->SYSTEM->License-Manage_Licenses->TC3_PLC-HMI-><select>
  2. <My_project>->SYSTEM->License->OrderInformation(runtime)->7DaysTrialLicense...
  3. Changer d'onglet et revenir pour voir la date limite mise a jour

 


Serveur HMI sur PLC:

Afficher une visu sur l'ecran de la PLC demande l'installation d'un serveur HMI sur la PLC

Il faut suivre la doc d'installation

infosys.beckhoff.com://Twincat3->TE1000XAE->PLC->Creating_a_Visualization->Visualization variant->PLC HMI

Le serveur HMI (C:/System/TwinCAT/3.1/Target/StartUp/Tc3PlcHmi.exe) sera lance lors du boot.

En cas de non probleme, il faut simplement le lancer manuellement, filemaneger etc ...

 

 


Installation du Visualization Manager dans un projet

 

Se mettre en mode config

Solution explorer -> <MaSolution> ->  PLC <MaSolution> -> <MonPROJECT>Project-> VISUs -> Add VisualizationManager...

On garde le nom VisualisationManager

Activer VisuSymbols(System)

Click sur Open pour terminer

Puis:

click droite visualisation Manager -> add -> TargetVisualization...

On donne un nom ex: MyVisu

finalement click sur Open qui cree:

  1. PLC -> <MonProjet> -> <MonProjet> Project -> VISUs -> VizualisationManager -> <MyVisu>
  2. PLC -> <MonProjet> -> <MonProjet> Project -> VISU_TASK (VISU_TASK)
  3. SYSTEM->Task->VISU_TASK

 


Creation de la visu

Solution explorer -> <MaSolution> ->  PLC <MaSolution> -> <MonPROJECT>Project-> VISUs -> Add Visualization...

On donne un nom ex: MyProjectVisu

Que l'on fabrique avec le Toolbox et donc les elements se configurent avec Properties, Attention mettre Mode expert:

textfield avec Texts->text == "%d", Textvariable == MAIN.i_counter (avec le boutpon: "...")

Button avec Texts->text == Start, InputConfiguration->OnMouseClick->Execute ST-Code == _start();

Button avec Texts->text == Stop, InputConfiguration->OnMouseClick->Execute ST-Code == _stop();

Button avec Texts->text == Restart, InputConfiguration->OnMouseClick->Execute ST-Code == _restart();

Build Solution

 


Association de la visu a la tache (Essentiel!!!)


Dans VisualizationManager -> <MytargetVisualization>

On renseigne le champ Start Visualization avec le visu (de demarrage)


Demarrage

 

Active configuration (Restart in run mode)

Log In (create port 851)

Start

 

 



Edition de la VISU



Creation d'un bouton de commande


Creation d'un bouton back

creation du bouton avec texte

properties (expert)

Input configuration -> On mouse click -> configure

Change shown configuration , click sur le symbole ">" , click sur previous visualisation

 


Changement de visu

comme ci-dessus mais au final

Change shown configuration , click sur le symbole ">" , click sur Assign ....

 



 

Arret du VISU avec PLC possedant un clavier:

Sur la PLCon peut tuer ce serveur avec <Alt>-F4, mais il faut le relancer a la main.

 

Arret du VISU depuis le VISU

Creer un bouton qui Execute command de type ExecuteClientProgram avec comme arguments: 'TASKKILL /IM' et 'Tc3PlcHmi.exe' (attention mettre des simples guillements, pour cela: en mettre 2 et enlever 1!)

Project Profile:

Pour la programation un profile doit exister, il est normallement present d'office, mais on peut le definir ici en cas de probleme (en mode config):

<MaSolution> -> PLC -> <MaSolution> -> <MonPROJECT>Project -> Properties -> Visualization_Profile

Installer un profile si celui propose est "unknown" (ex: TwinCAT 3.1 Build 4022.0)

Arret du serveur de visu

Sur l'ecran PLC, barre window, click droit: start task manager, tuer Tc3PlcHmi.exe



Programme de test

Un chronometre sans utilisation de hardware. Uniquement la PLC

  1. File->New->Project->TwinCAT XAE project (XML format) (donner un nom -> add)
  2. <My_project>->PLC->AddNewItem->Standard_PLC_Project (donner le meme nom-> add)
  3. ...->PLC-><My_project> ->POUs-> editer MAIN(PRG) avec:

 

PROGRAM MAIN
VAR
	ton1		: TON ;
	ton2		: TON ;
	i_counter	: INT ;
	b_last		: BOOL ;
	b_stop		: BOOL := TRUE;;
END_VAR

 

b_last := ton1.Q;
//  Generate a sqare signal on ton1.Q 
ton1(IN := NOT ton2.Q, PT := T#1S);
ton2(IN := ton1.Q,     PT := T#1S);
IF (b_last XOR ton1.Q) AND NOT b_stop THEN
    i_counter := i_counter+1;
END_IF 

Avec ces 3 methodes avec

  1. POUs->MAIN(PRG)->add->Method...

 

METHOD _start : BOOL
b_stop := false

METHOD _stop : BOOL
b_stop := TRUE;

METHOD _restart : BOOL
i_counter := 0;
b_stop := FALSE;

 

Buid du projet avec TWC3->BUILD-Build solution

qui doit donner zero erreur!