IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Automation Discussion :

[SCHNEIDER][UNITY PRO XL] Bizarreries de conversion PL7 PRO <-> Unity Pro


Sujet :

Automation

  1. #1
    Membre régulier Avatar de Brebiou
    Homme Profil pro
    Automaticien
    Inscrit en
    Décembre 2007
    Messages
    86
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 39
    Localisation : France, Doubs (Franche Comté)

    Informations professionnelles :
    Activité : Automaticien
    Secteur : Industrie

    Informations forums :
    Inscription : Décembre 2007
    Messages : 86
    Points : 88
    Points
    88
    Par défaut [SCHNEIDER][UNITY PRO XL] Bizarreries de conversion PL7 PRO <-> Unity Pro
    Salut a tous,

    Voici mon souci, car ce n'est réellement pas un problème, j'effectue la conversion d'un programme API codé sous PL7 PRO vers Unity Pro.

    Bon, il existe une moulinette interne, qui consiste a enregistrer le programme PL7 sous format .FEF et ensuite de le rouvrir avec Unity, qui l'extrait et le converti.

    C'est un assez gros programme, mais j'ai eu peu d'erreurs de conversions, or je suis tombé sur une qui me turlupine.

    Voici le code affecté

    Original:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    (*========================== Initialisation de la mémorisation lors du premier passage ==========================*)
    IF NOT Init_fil THEN
    	FOR Index_filtrage := 0 TO 14 DO
    		Image_filtre_tor_00 [Index_filtrage] := Image_tor_00 [Index_filtrage] ;
    		Memo_image_tor_00 [Index_filtrage] := Image_tor_00 [Index_filtrage] ;
    	END_FOR;
    END_IF;
    
    
    
    (*=================================== Filtrage & mémorisation des entrées TOR ===================================*)
    FOR Index_filtrage := 0 TO 14 DO
    	(* Filtrage *)
    	Image_filtre_tor_00 [Index_filtrage] := (Image_tor_00 [Index_filtrage] AND Memo_image_tor_00 [Index_filtrage]) OR
    	(Image_filtre_tor_00 [Index_filtrage] AND (Image_tor_00 [Index_filtrage] OR
    	Memo_image_tor_00 [Index_filtrage]))  ;
    	(* Mémorisation *)
    	Memo_image_tor_00 [Index_filtrage] := Image_tor_00 [Index_filtrage] ;
    END_FOR;
    
    
    
    (*============================== Initialisation effectuée après le premier passage ==============================*)
    SET(Init_fil);
    Converti:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    (*========================== Initialisation de la mémorisation lors du premier passage ==========================*)
    IF NOT Init_fil THEN
    	FOR Index_filtrage := 0 TO 14 DO
    		Image_filtre_tor_00_ar[Index_filtrage] := Image_tor_00_ar[Index_filtrage] ;
    		Memo_image_tor_00_ar[Index_filtrage] := Image_tor_00_ar[Index_filtrage] ;
    	END_FOR;
    	(*{CONVERROR('1: Avertissement : la valeur de la variable de commande de la boucle FOR est non définie en dehors de la boucle ; il en est de même pour toutes les boucles FOR du projet.');}*)
    END_IF;
    
    
    
    (*=================================== Filtrage & mémorisation des entrées TOR ===================================*)
    FOR Index_filtrage := 0 TO 14 DO
    	(* Filtrage *)
    	Image_filtre_tor_00_ar[Index_filtrage] := (Image_tor_00_ar[Index_filtrage] AND Memo_image_tor_00_ar[Index_filtrage]) OR
    	(Image_filtre_tor_00_ar[Index_filtrage] AND (Image_tor_00_ar[Index_filtrage] OR
    	Memo_image_tor_00_ar[Index_filtrage]))  ;
    	(* Mémorisation *)
    	Memo_image_tor_00_ar[Index_filtrage] := Image_tor_00_ar[Index_filtrage] ;
    END_FOR;
    
    
    
    (*============================== Initialisation effectuée après le premier passage ==============================*)
    SET(Init_fil);
    Vous remarquerez qu'il m'a signalé une erreur (que je ne saisi pas d'ailleurs), mais je viens de m'apercevoir qu'il avait modifié les noms de variables sans me le signaler une seule fois (il a ajouté _ar derrière mes index)


    Donc voila, je voudrai savoir si cela est déjà arrivé a quelqu'un et l'impact que ça aurai sur mon code.

    Merci d'avance et a bientôt

  2. #2
    Expert éminent sénior


    Profil pro
    Inscrit en
    Juin 2003
    Messages
    14 008
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2003
    Messages : 14 008
    Points : 20 038
    Points
    20 038
    Par défaut
    J'ai pas encore utilisé le convertisseur mais un coup d'oeil dans l'aide en ligne d'Unity :


    Citation Envoyé par Les tableaux et les objets indexés symbolisés
    Le tableau est déclaré de [0..NbMaxMW-i-1], son type et sa localisation dépendent du repère.
    Exemple : %MWi[j], déclaré en PL7 TABA[j], est converti en TABA_AR[j]. TABA_AR[j] est donc un tableau déclaré de [0..NbMaxMW-i-1], de type INT, localisé à %MWi et en ayant le même commentaire de TABA.
    Instruction FOR
    Le convertisseur d’applications PL7 convertit l’instruction de commande FOR.
    La variable d’index utilisée dans l’instruction FOR n’est utilisable, en Unity Pro, qu’à l’intérieur de la boucle de programmation.
    Pendant la conversion de la première instruction FOR d’une application PL7, un message d’erreur vous préviendra de vérifier que chacune des variables de la boucle de programmation n’est utilisée qu’à l’intérieur de la boucle.
    Dans le cas contraire, la variable n’étant pas déclarée, la commande n’est pas exécutée.
    donc tout vas bien c'est prévu comme cela..


  3. #3
    Membre régulier Avatar de Brebiou
    Homme Profil pro
    Automaticien
    Inscrit en
    Décembre 2007
    Messages
    86
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 39
    Localisation : France, Doubs (Franche Comté)

    Informations professionnelles :
    Activité : Automaticien
    Secteur : Industrie

    Informations forums :
    Inscription : Décembre 2007
    Messages : 86
    Points : 88
    Points
    88
    Par défaut
    Ok, me voila rassuré, il a donc transformé mes index en tableau indexé...

    Par contre pour la boucle FOR, si je l'ai déclaré, ça ne devrai pas me poser de souci, non?

    Apparemment ma boucle s'effectue, mais je n'en suis pas sur a 100%...

    En tout cas merci de la rapidité et la clarté de la réponse (honte a moi, je ne maitrise pas encore l'utilisation de la recherche d'Unity )

  4. #4
    Expert éminent sénior


    Profil pro
    Inscrit en
    Juin 2003
    Messages
    14 008
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2003
    Messages : 14 008
    Points : 20 038
    Points
    20 038
    Par défaut
    Citation Envoyé par Brebiou Voir le message
    ....
    Par contre pour la boucle FOR, si je l'ai déclaré, ça ne devrai pas me poser de souci, non?...
    As tu besoin de la valeur de l'index ailleurs que dans ta boucle ?

  5. #5
    Membre régulier Avatar de Brebiou
    Homme Profil pro
    Automaticien
    Inscrit en
    Décembre 2007
    Messages
    86
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 39
    Localisation : France, Doubs (Franche Comté)

    Informations professionnelles :
    Activité : Automaticien
    Secteur : Industrie

    Informations forums :
    Inscription : Décembre 2007
    Messages : 86
    Points : 88
    Points
    88
    Par défaut
    Apparemment non, je viens de vérifier et cette variable n'est utilisé quand dans mes boucles FOR (autrement dit le code du premier post).

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. Traduction PL7-3 à Unity Pro
    Par Yokooo dans le forum Automation
    Réponses: 9
    Dernier message: 13/08/2010, 15h05
  2. Conversion PL7-1 en langage a contact
    Par Belluettes dans le forum Automation
    Réponses: 1
    Dernier message: 24/09/2009, 21h58
  3. [VS2005] Bizarrerie après conversion de projet
    Par Invité dans le forum VC++ .NET
    Réponses: 0
    Dernier message: 08/09/2009, 11h08
  4. PL7-2 VS Unity pro
    Par jonathan45700 dans le forum Automation
    Réponses: 4
    Dernier message: 09/01/2009, 23h31
  5. Réponses: 0
    Dernier message: 08/07/2008, 11h11

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo