维宏LOGO
搜索结果

    NK260二次开发常用修改说明(一)

    《NK260二次开发常用修改说明》系列文档共有三篇,主要针对版本号为NK260_XXX_WOOD的维宏木工产品线软件,指导在NK260二次开发过程中常见的修改和功能定制。

    本文将指导您完成以下NK260二次开发任务:

    • 修改端口定义
    • 增加扩展端子板
    • 设置LED灯关联输出端口
    • 自定义界面端口指示
    • 自定义系统消息

    修改端口定义

    修改NK260软件“端口”界面中各输入、输出端口的定义。需修改以下文件及内容:

    • port.lua文件中的“usage”,即端口定义。
    • PortConfigCHN.xml文件中的“Text”,即端口描述。
    • luplc.luplc文件中的声明。

    注意事项

    自定义端口名称(usage)时,需注意:

    • 定义必须语意明确
    • 英文描述简洁明了
    • 以in_开头表示输入
    • 以out_开头表示输出

    增加扩展端子板

    NK260软件最多支持7块端子板,即1块主端子板和6块扩展端子板。扩展端子板支持10个输入8个输出。

    修改说明

    若需要增加扩展端子板,需要修改3个文件:

    • Config\luplc\port.lua:端口定义文件。
    • Config\xaml\ PortConfigCHN.xaml:端口中文描述文件,即“诊断”页面端口名称的描述文件。
    • Config\luplc\luplc.luplc:luplc端口注册文件。

    修改示例

    按以下步骤,增加第一块端子板。

    步骤一:修改输入、输出端口。

    修改文件及内容:

    port.lua文件中的“usage”标签值,即输入、输出端口的定义。

    请以“in_”开头代表输入端口;以“out_”开头代表输入端口。

    PortConfigCHN.xaml文件中“Text”标签值,即端口描述。

    步骤二:修改端口注册文件luplc.luplc** **。

    修改文件及内容:

    文件标签说明

    各文件中标签含义及修改说明如下:

    • port.lua文件

      标签 含义 修改说明
      tag - -
      usage 端口名称。 建议使用in_开头表示输入端口;out_开头表示输出端口。
      description - 无意义,可以不修改。
      index 端口的物理地址。 不可修改!
    • PortConfigCHN.xaml文件

      标签 含义 修改说明
      Director 输入输出。 必须与port.lua文件中的“tag”一一对应。
      Tag - -
      Name 端子板丝印名称。 -
      Polarity 端口极性。 -
      Dispaly 是否在“诊断”页面显示。 -
      Text 端口描述。 -
    • luplc.luplc文件

      I、O分别代表输入端口和输出端口。

      I和Q注册的端口数量不能过多,故无用的端口注册应删除。

    端子板输入输出物理地址定义

    各端子板的输入输出物理地址定义见下表。

    物理地址 输入 输出
    第一块端子板(主端子板) 49-64 49-64
    第二块端子板 65-74 65-72
    第三块端子板 81-90 81-88
    第四块端子板 97-106 97-104
    第五块端子板 113-122 113-120
    第六块端子板 129-138 129-136
    第七块端子板 145-154 145-152

    设置LED灯关联输出端口

    一般情况下LED的显示和输出端口相互关联:

    输出端口打开,LED亮;

    输出端口关闭,LED灭。

    set_port_indicate_led()函数

    LED的显示是在set_port_indicate_led()函数中定义完成。其中,“usage”是端口名称,“led”是面板LED名称。

    if luui.get_outport(usage) then
            set_led_state(led, true)
    else
            set_led_state(led, false)
    end
    
    function set_led(usage, led)
        if luui.get_outport(usage) then
            set_led_state(led, true)
        else
            set_led_state(led, false)
        end
    end
    

    修改示例

    下为面板LED控制代码修改示例。

    --面板LED灯控制
    function set_port_indicate_led()
        if luui.get_outport("nc_spin") then
            set_led_state(led_table.LED_AXIS_PON, true)
            set_led_state(led_table.LED_AXIS_OFF, false)
            set_led_state(led_table.LED_AXIS_NON, false)
        else
            set_led_state(led_table.LED_AXIS_PON, false)
            set_led_state(led_table.LED_AXIS_OFF, true)
        end
        
        set_led("nc_out2",        led_table.LED_HUFF)
        set_led("nc_lamp",        led_table.LED_LAMP)
        set_led("nc_oil",        led_table.LED_LUBRICATE_OIL)
        set_led("nc_cool",        led_table.LED_WORKPIECE_COOL)
    end
    

    常用LED名称表

    LED名称 含义
    led_table.LED_AXIS_NON 主轴反转LED
    led_table.LED_AXIS_OFF 主轴启动LED
    led_table.LED_SCRAP_NON K5键LED
    led_table.LED_FUNC_K4 K4键LED
    led_table.LED_FUNC_K3 K3键LED
    led_table.LED_FUNC_K2 K2键LED
    led_table.LED_FUNC_K1 K1键LED
    led_table.LED_SCRAP_PON 松夹刀LED
    led_table.LED_TOOLPAN_NON 刀盘反转LED
    led_table.LED_TOOLPAN_PON 刀盘正转LED
    led_table.LED_WORKPIECE_COOL 切削液LED
    led_table.LED_LUBRICATE_OIL 润滑油LED
    led_table.LED_LAMP 照明灯LED
    led_table.LED_HUFF 吹气LED

    自定义界面端口指示灯

    NK260主页面、手动页面、回机械原点页面提供4个输出端口指示灯,指示端口的输出状态。通过修改luui-cfg.lua文件,使其和端口关联。

    luui-cfg.lua文件

    修改示例

    修改要求:“自动”页面第一个指示灯,中文描述为“主轴”,英文描述为“Spindle”,端口的usage值为“nc_spin”。

    auto_icon1 = "主轴:Spindle:nc_spin"
    

    自定义系统消息

    NK260按优先级从低到高提供T、D、P、M、W五种消息类别,优先级高的消息会覆盖优先级低的消息。

    其中,需要特别注意的是:

    • P类消息作为开启换刀提示,不能使用。
    • M和W除了显示之外,还将消息写入日志。
    • 如果指定非五种消息之外的其他类别,默认使用M类别。

    定义消息类别

    在public文件中使用M801

    M801 "|D|主轴回固定点";
    

    在luui-main文件中使用prompt_message

    s_szAirAlm = {"|W|气压报警!", "|W|Air alarm!"};
    luui.prompt_message(s_szAirAlm[luui.get_language_version()],false,true)
    

    显示永久性黄色提示

    当收到一个报警输入信号以后,要求报警提示并且提示信息永久存在,直到手动按Esc复位或调用reset_prompt函数复位。

    在public文件中使用M801

    s_szAirAlm = {"|W|气压报警!", "|W|Air alarm!"};
    

    在luui-main文件中使用prompt_message

    luui.prompt_message(s_szAirAlm[luui.get_language_version()],false,true)
    

    提示: 此处消息调用中,第2个参数必须为false;第3个参数必须为true。

    注意: 针对M和W类别消息,必须防止prompt_message多次重复调用,否则会写入大量相同日志。

    相关文章

    NK260二次开发常用修改说明(二)

    NK260二次开发常用修改说明(三)

    本文内容
    回到顶端 Shanghai Weihong Electronic Technology Co., Ltd.