Aprus Lua-MitsuCNC配置说明

概述

  1. 本章主要为Aprus Lua-mitsucnc协议的相关配置说明,该协议主要针对支持mitsucnc协议的设备。Aprus适配器可通过mitsucnc协议与对接设备进行通信。而其中Aprus的Lua包含aprus.luaconfig.lua两个文件,客户只需配置config.lua就可以对支持mitsucnc协议的设备进行数据采集。如需修改aprus.lua文件的内容时,请咨询相关的技术人员,随意修改会导致适配器不能正常工作,所以此文档主要介绍config.lua内容。

1 aprus.lua配置说明

1.1 导入mitsucnc协议支持库

  • 语句: require "mitsucnc"
  • 说明: 导入mitsucnc协议支持库

1.2 加载config.lua配置文件

  • 语句: config = require "config"
  • 说明: 导入config.lua中的配置信息(下一节介绍config.lua)

1.3 创建mitsucnc对象

  • 语句: mitsucncobj = mitsucnc.new("mitsucnc")
  • 说明: 创建mitsucnc对象,返回mitsucncobj供全局使用

1.4 配置mitsucnc对象接口参数

  • 语句: mitsucnc.config(mitsucncobj, cjson.encode(config.mitsucnc.Device))
  • 说明: 配置mitsucnc通信网卡参数

1.5 添加mitsucnc采集节点

  • 语句: mitsucnc_load_collectnodes(mitsucncobj,config.mitsucnc.Node)
  • 说明: 添加config.lua中所配置的采集节点

1.6 添加mitsucnc上报变量节点

  • 语句: mitsucnc_load_varnodes(mitsucncobj,config.mitsucnc.Node)
  • 说明: 添加config.lua中所配置的变量节点

1.7 运行mitsucnc实例

  • 语句: mitsucnc.run(mitsucncobj)
  • 说明: 在MQTT建立连接后运行mitsucnc实例,即开始采集+运算

1.8 暂停mitsucnc实例

  • 语句: mitsucnc.stop(mitsucncobj)
  • 说明: 在MQTT连接断开时暂停mitsucnc实例

1.9 等待mitsucnc事件

  • 语句: local r = user.waitmsg()
  • 说明: 启动事件等待,该接口会返回全局各种事件,包括mitsucnc对象事件

1.10 mitsucnc事件处理

  • 语句:
      elseif r.from == "mitsucnc" then
      mitsucnc_handle(r.obj, r.name, r.code, r.data)
  • 说明: 当接收到mitsucnc对象事件时,调用处理函数mitsucnc_handle
  • r.obj: 即new时所返回的对象
  • r.name: 即new时所配置的对象名称
  • r.code: 事件码 区分改变上报事件 周期上报事件等等
  • r.data: 事件数据

1.11 MQTT数据上报

  • 语句:
      function mitsucnc_handle(obj, name, code, data)
      mqtt.publish(m1, name, "r", data)        
      end
  • 说明: 若无需特殊处理,则直接将事件数据通过MQTT发送;如需要二次处理可将data展开做分析

2 config.lua配置说明

Demo示例:

Aprus={
    ipmode="manual",                    --auto/manual/none
    inet_addr="192.168.0.234",
    netmask="255.255.255.0",
    luaver="V00.R",
    devinfo="mitsucncDev",                
},
mitsucnc={
    Device={
        ip ="192.168.0.10",
        port = "683",
        type = "m80"
    },
    Node={
        {vartype=1,cycle=3,name="L1"},    --加工语句号
        {vartype=2,cycle=3,name="L2"},    --刀补D编号
        {vartype=3,cycle=3,name="L3"},     --刀补H编号
        {vartype=4,cycle=3,name="L4"},    --快速倍率
        {vartype=5,cycle=3,name="L5"},    --操作模式
        {vartype=6,cycle=3,name="L6"},    --当前刀具号
        {vartype=7,cycle=3,name="L7"},    --运行模式
        {vartype=8,cycle=3,name="L8"},    --累计加工时间
        {vartype=9,cycle=3,name="L9"},    --主轴负载
        {vartype=10,cycle=5,name="L10"},    --主轴转速
        {vartype=11,cycle=3,name="L11"},    --主轴报警
        {vartype=12,cycle=5,name="L12"},    --获取指令进给速度(FA)    
        {vartype=13,cycle=3,name="L13"},    --X进给负载
        {vartype=14,cycle=3,name="L14"},    --Y进给负载
        {vartype=15,cycle=3,name="L15"},    --Z进给负载
        {vartype=16,cycle=3,name="L16"},    --A进给负载
        {vartype=17,cycle=3,name="L17"},    --加工数
        {vartype=18,cycle=3,name="L18"},    --程序名称
        {vartype=19,cycle=3,name="L19"},    --程序编号        
        {vartype=20,cycle=3,name="L20"},    --刀具测量 0:未测量 非0:已测量
        {vartype=21,cycle=3,name="L21"},    --是否自动运行 0:未自动运行 非0:自动运行
        {vartype=22,cycle=3,name="L22"},    --是否开始自动运行 0:未开始自动运行 非0:开始自动运行
        {vartype=23,cycle=3,name="L23"},    --自动运行是否暂停 0:自动运行未暂停 非0:自动运行已经暂停
        {vartype=24,cycle=3,name="L24"},    --系统号码
        {vartype=25,cycle=3,name="L25"},    --NC报警
        {vartype=26,cycle=5,name="L26"},    --进给速率
        {vartype=100,var1=10, var2=12, cycle=5,name="L100",offset="/10;+10.658;~2"},    --主轴倍率 = 主轴转速 / 获取指令进给速度 (FA)
        {vartype=101,var1=26, var2=12, cycle=5,name="L101",offset="*10.123;+5;~1"},    --进给倍率 = 进给速率/ 获取指令进给速度 (FA)
    },                
},

2 config.lua配置说明

2.1 Aprus: 接口属性

序号 参数 说明
1 ipmode “auto”/“manual”/“none” IP获取方式
2 inet_addr “192.168.0.234” Aprus的IP地址
3 netmask “255.255.255.0” 子网掩码
4 luaver “MAX.LUA.V032700.R” Aprus的Lua版本信息,根据实际脚本自行填写
5 devinfo “mitsucncDev” 与Aprus对接设备,可根据需求自行填写

2.2 mitsucnc-Device: 接口属性

序号 参数 说明
1 ip 字符串 设备的ip
2 port 字符串 设备的端口号
3 type “m80” 设备的型号

2.3 mitsucnc-Node: 节点属性

序号 参数 说明
1 vartype 1 加工语句号
2 2 刀补D编号
3 3 刀补H编号
4 4 快速倍率
5 5 操作模式
6 6 当前刀具号
7 7 运行模式
8 8 累计加工时间
9 9 主轴负载
10 10 主轴转速
11 11 主轴报警
12 12 获取指令进给速度(FA)
13 13 X进给负载
14 14 Y进给负载
15 15 Z进给负载
16 16 A进给负载
17 17 加工数
18 18 程序名称
19 19 程序编号
20 20 刀具测量 0:未测量 非0:已测量
21 21 是否自动运行 0:未自动运行 非0:自动运行
22 22 是否开始自动运行 0:未开始自动运行 非0:开始自动运行
23 23 自动运行是否暂停 0:自动运行未暂停 非0:自动运行已经暂停
24 24 系统号码
25 25 NC报警
26 26 进给速率
27 100 主轴倍率 = 主轴转速 / 获取指令进给速度 (FA)
28 101 进给倍率 = 进给速率 / 获取指令进给速度 (FA)
29 var1 整型:1~26 vartype>=100时才能使用。本节点值= var1节点值 / var2 节点值
30 var2 整型:1~26 vartype>=100时才能使用。本节点值= var1节点值 / var2 节点值
31 cycle 整型:0~n 单位:秒 精度:0.1
等于0:即指定上报类型为改变上报
大于0:即指定上报周期
32 name 字符串 上报名称
33 offset + - * / ~ 数字 例如:offset=”*10; +5.123; ~1” 表示乘以10 再加5.123 结果保留1位小数
文档更新时间: 2025-01-10 16:28   作者:CGL