Aprus Lua-MitsuCNC配置说明
概述
- 本章主要为Aprus Lua-mitsucnc协议的相关配置说明,该协议主要针对支持mitsucnc协议的设备。Aprus适配器可通过mitsucnc协议与对接设备进行通信。而其中Aprus的Lua包含
aprus.lua
和config.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