Rubrique : Procurations
La section Proxies définit un bloc fonctionnel qui implémente le proxy.
Un proxy sert à l'échange de données de modules d'application différente. L'instance du FB proxy représente l'instance du module dans une application distante.
SEC Proxies                                    //optional: yes, modifier: [UPDATE]
    SEC Proxy : <identifier>                   //optional: yes, modifier [UPDATE]
            FB := <FB name>;                       //optional: no, type: QID
            SEC MirrorVar : <identifier>           //optional: yes, modifier [UPDATE])
                    Variable := <variable name>;       //optional: no, type: VarPath
            END_SEC
            SEC ProxyParameter : <target>          // optional: yes, modifier [UPDATE]
                    Variable := <InstancePath>;        // optional: no, type: VarPath
            END_SEC
    END_SEC
END_SECLes détails concernant la syntaxe des types de définition sont décrits dans la section Déclaration des modules.
- Le bloc fonction doit dériver de - IBaseInstance.
- Le bloc fonction doit avoir une méthode - SetProxyIdentificationavec la signature suivante, qui n'est pas incluse dans l'interface- IBaseInstance:- SetProxyIdentification(pbyName : POINTER TO BYTE, udiComAddr : UDINT, udiLocalComAddr : UDINT, pEnvironment : MEnv)- Le nom d'instance passé et l'adresse définie doivent être renvoyés à partir des propriétés - InstanceName,- ComAddress, et- LocalComAddress.
- Le bloc fonction ne doit pas dériver de - IModule.
- La section - MirrorVarpermet de refléter une variable d'instances de module sur ses instances proxy. Pour cela, le chemin d'instance de la variable doit être déclaré dans la définition- Variable, qui doit être indiqué sous la forme d'un chemin relatif (à l'instance de module FB). Les règles suivantes s'appliquent à la variable spécifiée de l'instance de module FB :- La variable doit faire partie des variables, entrées ou sorties du FB de l'instance de module. 
- Il doit être défini dans le module FB ainsi que dans le proxy FB 
- Il doit être du même type dans les deux FB 
- Il doit avoir un type primitif ; ainsi, aucun pointeur, interface ou structure dans son ensemble n'est autorisé pour la mise en miroir, mais seuls les types simples (numeric, STRING, TIME, etc.) 
 - Si les variables spécifiées remplissent ces conditions, elles sont automatiquement transférées dans le cadre du RMP sans que l'utilisateur ait à se soucier davantage du transfert. 
- La section - ProxyParameterpermet de définir des paramètres pour le proxy. Les points suivants doivent être pris en compte :- La cible de la - ProxyParameterdoit correspondre à un paramètre cible du module
- le - variabledu module proxy doit correspondre au type de la variable utilisée pour le paramètre module. Seuls les types primitifs et les énumérations sont autorisés
- Les paramètres proxy sont définis une fois sur la valeur configurée dans l'instance de module lors de la phase d'initialisation de l'application respective. Pendant que l'application est en cours d'exécution, ces variables ne sont pas reflétées dans les proxys 
 
- Le nom du bloc fonction peut être qualifié par un chemin d'espace de noms. 
SEC Proxies
        SEC Proxy ProxyFB1
                FB := ProxyModule1;
                SEC MirrorVar : diInput
                        Variable := diInput;
                END_SEC
                SEC ProxyParameter : InParam1
                        Variable := TL.Input1_Name;
                END_SEC
        END_SEC
END_SEC