Sektion: Proxies
Die Sektion Proxies definiert den Funktionsbaustein, welcher den Proxy implementiert.
Ein Proxy dient dem Datenaustausch von Modulen verschiedener Applikationen. Die Instanz des Proxy-FBs repräsentiert die Modulinstanz der anderen Applikation.
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_SECDetails über die Syntax der Definitionstypen sind im Kapitel Syntax der Moduldeklaration beschrieben.
- Der Funktionsbaustein muss von - IBaseInstanceableiten.
- Der Funktionsbaustein muss über eine Methode - SetProxyIdentificationmit folgender Signatur verfügen, die nicht im Interface- IBaseInstanceenthalten ist:- SetProxyIdentification(pbyName : POINTER TO BYTE, udiComAddr : UDINT, udiLocalComAddr : UDINT, pEnvironment : MEnv)- Der übergebene Instanzname und die gesetzte Adresse müssen von den Eigenschaft - InstanceName,- ComAddressund- LocalComAddresszurückgegeben werden..
- Der Funktionsbaustein darf nicht von - IModuleableiten.
- Mit der Sektion - MirrorVarkönnen Variablen von Modulinstanzen auf Proxy-Instanzen gespiegelt werden. Dazu muss der Instanzpfad der Variablen in Form eines relativen Pfads (zum FB der Modulinstanz) in- Variabledeklariert werden. Für die angegebene Variable des Modul-Instanz-FBs gelten folgende Regeln:- Die Variable muss Teil von Vars, Inputs oder Outputs des Modul-Instanz-FBs sein 
- Sie muss sowohl im Modul-FB als auch im Proxy-FB definiert sein 
- Sie muss in beiden FBs den gleichen Typ haben 
- Sie muss einen primitiven Typ besitzen; es sind also keine Pointer, Interfaces oder Structs als Ganzes für die Spiegelung erlaubt, sondern nur einfache Typen (numerisch, STRING, TIME, etc.) 
 - Erfüllen die angegebenen Variablen diese Bedingungen werden sie automatisch im Rahmen des RMP übertragen, ohne dass sich der Benutzer weiter um die Übertragung kümmern müsste. 
- Mit der Sektion - ProxyParameterkönnen Parameter für den Proxy definiert werden. Dabei sind folgende Punkte zu beachten:- Das Target des - ProxyParametersmuss einem Parameter-Target des Moduls entsprechen.
- Die - Variabledes Proxy-Moduls muss mit dem Typ der Variable übereinstimmen, die für den Modul-Parameter verwendet wird. Erlaubt sind hierbei nur primitive Typen und Enumerationen.
- Die Proxy-Parameter werden in der Initialisierungsphase der jeweiligen Applikation einmalig auf den in der Modulinstanz konfigurierten Wert gesetzt. Während die Applikation läuft, werden diese Variablen nicht in die Proxies gespiegelt. 
 
- Der Name des Funktionsbausteins kann mit einem Namespace-Pfad qualifiziert werden. 
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