Désolé. Votre demande n'a pas pu être traitée.

Important: Cet article est une traduction automatique réalisée par un logiciel. Le texte original peut être lu ici. SBC fournit ces informations sans garantie de l’exactitude ou de la fonctionnalité et n’assume pas la responsabilité de la traduction.

Je peux démonter un projet PG5 pour le modifier ?

FAQ #100676

Cette FAQ explique les possibilités dans le cas où un projet de PG5 n'est pas disponible mais il est encore une application existante doit être modifié.

 

Démontage en général
PG5 inclut un outil pour le démontage de code qui s'exécute sur un PCD. Cet outil (le « Disassembler ») permet la conversion de code téléchargé (ou juste compilé) qui se présente sous forme de « binaire » dans sa représentation dans l'Instruction List (IL).
Le code résultant est identique au code exécuté par le PCD mais il ne correspond pas aux fichiers source dont le projet a été généré. Les principales différences sont

  • Les noms de symboles manquants ; Tous les symboles sont traitées statiquement dans le code disséqué (bien que symols dans le gestionnaire de symbole peut avoir des adresses « dynamiques » distribués à la compilation)
  • Tous les commentaires sont manquants dans le code désassemblé (parce qu'ils ne sont pas téléchargés à la PCD)
  • IL peut seulement être démonté code. On ne peut pas démonter le code retour à Fupla ou dans un fichier HMI !
  • Les étiquettes de saut sont manquantes (les sauts sont directement adressées) dans le code disséqué
  • Directives assembleur (comme $IF etc.) ne sont pas présents dans le code disséqué (elles ont été évaluées à la compilation)

Je peux reconstituer un projet de disassemled ?
Selon les outils utilisés pour la création du programme et sur la complexité du programme, cette tâche devient rapidement pratiquement impossible. Démontage et rétro-ingénierie, par exemple un programme Fupla est presque impossible (Eh bien, si vous dépensez des centaines d'heures et vous très bien comprenez les tâches de votre application, vous peut-être pourriez gérer un projet Fupla inverse-ingénierie).
Le problème est qu'une FBox peut créer du code complètement différent qui est construit dans la dépendance du système cible, options définies dans la fenêtre Ajuster etc.. Plus sur là peut être des différences entre chaque version d'un même FBox (parce que les nouvelles fonctionnalités sont implémentées et corrections de bugs sont appliquées).

Dans 99 % des cas, il est beaucoup plus efficace de restructuration un projet existant, dans le cas où les fichiers source ne sont pas disponibles.

Est-ce que je peux modifier un projet existant (par exemple une valeur de consigne) ?
Modifier par exemple une valeur de consigne signifie aussi identifier et rétro-ingénierie de la partie pertinente du code. Si seulement un point de consigne doit être détruits, il est possible pour toutes les parties de code qui se chargent de cette valeur dans un registre à la recherche. Une fois que toutes ces pièces sont trouvent à que la partie pertinente du code doit être identifié et modifiés. Même si cette modification est réussie encore l'ensemble du projet n'est présent que dans IL « pure » et autres modifications exigeront au moins autant de travail (si elle ne sera pas possible du tout). Modifications de cette manière ne sont recommandées que pour les experts avancés.
Dans le cas où non seulement le point de consigne, mais le comportement d'une partie d'un programme doit être modifié la plus susceptible de complexité est déjà trop élevée (au moins si le programme a été écrit en Fupla ou similaire).

 

Categories

Local FAQ Deutschland / Fupla

PG5 2.0 / Fupla

Last update: 26.05.2015 06:39

First release: 01.02.2007 09:15

Views: 4610

The requested software / document is no longer marketed by Saia-Burgess Controls AG and without technical support. It is an older software version which can be operated only on certain now no longer commercially available products.

Download