维宏LOGO
搜索结果

    显示/隐藏目录

    功能包

    功能包的概念来自于插件化开发的思想,指一个功能可能涉及多项技术,如参数、子程序、PLC等。但是,对于整个软件来说,无论涉及技术数量多少,在做业务定制时,增减的基本单位都是功能。

    因此,Phoenix 框架衍生出功能包的概念,将功能包作为定制开发的基本单位。

    功能包组成

    每款软件的功能包文件数量不固定,取决于实际需求。可在软件包文件 \Tocs\ 目录下找到。

    一个功能包主要包括以下类型的文件:

    • .mod 文件:模型数据文件。
    • .param 文件:参数文件。
    • .ncprog 文件:子程序文件。
    • .plc 文件:梯形图PLC文件。
    • .target 文件:界面脚本文件。
    • .toc 文件:功能包配置清单文件。

    .mod 文件

    用于定义数据模型的文件,包括数据的名称、类型、默认值等信息,文件格式为 XML。

    添加功能前,必须先在 .mod 文件中定义所需的数据,以生成 寻址,供其他文件或函数中使用。

    定义数据模型的基本语法如下:

    <Mods>
      <Class>
        <Member Type="" Name="" Value="" />
      </Class>
    </Mods>
    

    其中,

    • Mods:根节点。一个数据模型对应一个根节点。
    • Class:自定义的类名称。建议根据功能命名。
    • Member:成员。
      • Type:成员类型,支持Int,Boolean,Double和String类型的数据。
      • Name: 成员名称。
      • Value:默认值。根据Type类型合理定义成员的初始值。

    在上述基本语法的基础上,可通过扩展和嵌套,配置多级更为复杂的 .mod 文件。有以下方式:

    • 单层嵌套式:在每个类和成员之间,通过Items字段嵌套一层数据定义。

      语法如下:

      <Mods>
         <Class>
           <Items Type="" Name="">
             <Member Type="" Name="" Value="" />
           </Items>
         </Class>
      </Mods>
      
    • 多层嵌套式:在每个类和成员之间,通过Items字段嵌套多于一层的数据定义。

      语法如下:

      <Mods>
         <Class>
           <Items Type="" Name="">
             <Items Type="" Name="">
               <Member Type="" Name="" Value="" />
             </Items>
           </Items>
         </Class>
      </Mods>
      
    • 复合式:在一个根节点下,定义两个及以上个类。

      语法如下:

      <Mods>
         <Class>
           <Member Type="" Name="" Value="" />
         </Class>
         <Class>
           <Member Type="" Name="" Vlaue="" />
         </Class>
      </Mods>
      

    .param 文件

    用于配置参数的文件。

    定义一个参数的基本语法如下:

    Users = {
        Parameter = {
            --此处配置具体的参数内容
        }
    }
    

    以主轴停止延时参数为例,以下为参数的详细内容:

    ["Phoenix.G.Spindle.Delay"] = {
         Name = "主轴启动停止延时",
         Number = "MC00105",
         Desc = "主轴启动停止延时",
         Tag = "Manufacturer,MC",
         Unit = "s",
         Format = "%f3",
         Condition = [[CanEdit]],
         Check = [[
        function(p)
            local maxequal = 60
            local minequal = 0
            return Check_LE_GE(p,minequal,maxequal)
        end;
    ]]
    
    属性 含义
    Name 名称
    Number 编号
    Desc 描述信息
    Tag 分类
    Unit 单位
    Format 格式化位数。如1位,则%f1
    Condition 允许编辑的条件
    Check 范围校验函数
    Multiple 显示值是该参数值的Multiple倍,主要对速度类参数应用。代码中速度的单位是mm/s,但显示的数据单位是mm/min.

    .ncprog 文件

    用于编写运动控制子程序,使用G、M指令,遵循NcStudio编程规范。

    详情请查阅维宏 《NcStudio编程手册》。

    .plc 文件

    用于编写PLC程序,遵循PLC编程规范。

    .toc 文件

    用于配置某一功能包中的插件清单。基本语法如下:

    --在功能包配置清单中添加功能插件。Function为功能名称。
    Tocs.Function = {}
    
    --配置功能包文件清单。根据功能实际实现需要的文件配置。
    Tocs.Function.Manifest = {
        "Function.mod",
        "Function.ncprog",
        "Function.param",
        "Function.plc",
    
    --构建函数。选配。
    Tocs.Function.Create = function()
    end
    
    --初始化函数。选配。
    Tocs.Function.Initialization = function()
    end
    
    --启动函数。选配。
    Tocs.Function.Initiate = function()
    end
    
    --关闭函数。选配。
    Tocs.Function.Halt = function()
    end
    
    --释放函数。选配。
    Tocs.Function.Dispose = function()
    end
    
    }
    

    添加一个功能包

    请参考以下步骤,自定义并添加一个功能包:

    1. 创建 .mod 文件,定义功能实现所需数据,生成寻址,供功能包中其他文件中使用。
    2. 创建功能包所需的文件,视具体实现而定。
    3. 创建 .toc 文件,配置功能包配置文件。
    本文内容
    回到顶端 Shanghai Weihong Electronic Technology Co., Ltd.