exemples/python/py_ext_0@py_ext/pyfile.xml
author Edouard Tisserant <edouard@beremiz.fr>
Mon, 28 Oct 2024 16:02:47 +0100
changeset 4032 1ffff67678ad
parent 3814 ab0afe798428
permissions -rw-r--r--
Add ExtendedCall to PLCObject as a replacement of RemoteExec and reflect it in eRPC interface.

ExtendedCall is a generic remote procedure call that runtime code can register to and that IDE extensions can call.
For example a fieldbus extension can use ExtendedCall to browse the fieldbus devices connected to the runtime.
<?xml version='1.0' encoding='utf-8'?>
<PyFile xmlns:xhtml="http://www.w3.org/1999/xhtml" xmlns:xsd="http://www.w3.org/2001/XMLSchema">
  <variables>
    <variable name="SomeVarName" type="DINT" onchange="MyFunc, SomeChange"/>
    <variable name="Grumpf" type="STRING" initial="'mhoo'" onchange="MyFunc, MyOtherFunc"/>
  </variables>
  <globals>
    <xhtml:p><![CDATA[
print("All python PLC globals variables :", PLCGlobalsDesc)
print("Current extention name :", __ext_name__)

def MyFunc(*args):
    print(args)

def MyOtherFunc(*args):
    print("other", args)

def SomeChange(*args):
    print("count",OnChange.SomeVarName.count)
    print("first",OnChange.SomeVarName.first)
    print("last",OnChange.SomeVarName.last)


]]></xhtml:p>
  </globals>
  <init>
    <xhtml:p><![CDATA[
]]></xhtml:p>
  </init>
  <cleanup>
    <xhtml:p><![CDATA[
]]></xhtml:p>
  </cleanup>
  <start>
    <xhtml:p><![CDATA[
]]></xhtml:p>
  </start>
  <stop>
    <xhtml:p><![CDATA[
]]></xhtml:p>
  </stop>
</PyFile>