介绍
- LUA是一种扩展式程序设计语言。
- 设计目的是支持通用的过程式编程,并具有相关数据描述功能。
- LUA支持面向对象编程、函数式编程和数据驱动式编程。
- LUA是强大且轻量级的脚本语言。
- 易行控制器选择LUA作为二次开发平台的脚本语言。
- LUA通过访问控制器的Table表来实现控制器的底层驱动和数据交互。
脚本基本架构

- 脚本程序通过访问Table表格中的内容与控制器信息交互。
- 例如,设置0×70地址为1时,底层IO输出OUTPUT0将输出高电平。
- AGV到达特定坐标时,会将位置反馈到0×100地址上。
- 脚本可以实时获取坐标内容等信息。
如何搭建第一个hello world程序
- 首先电脑通过网线连接控制器,把电脑ip改为192.168.31.x跟控制器同一个网段。 控制器ip是192.168.31.7
- 如果电脑能ping通控制器。
- 则通过网页登录。通过电脑web游览器输入http://192.168.31.7:9999/点击IDE进入


脚本编辑页面
右击脚本列表,新建一个hello文件夹


然后新建两个文件一个是描述文件describe.json。每个包的参数文件, 用来描述这个包启动的脚本名和一些参数
另一个文件是hello.lua。是脚本程序文件

描述文件的最小内容。文件内容如图,意思分别是,启动脚本名称,和使能该模块 当模块被使能后,系统上电会自启动该脚本

hello.lua 文件。该文件就是脚本文件,可在里面编写内容。 下面为基础的一句打印内容

进阶例子 打开script\example\LUA 目录,该目录下有基本的LUA程序调用硬件资源的例子。

LUA教程学习
**tabletalk 模块**
msleep(x)
休眠x毫秒
sethost(ip,port,time)
设置table 服务端的地址
ip : 服务器地址 字符串
port : 服务器端口号
time : 读写的超时时间 毫秒单位
close()
关闭连接
settable(addr,bit,issigned,...)
设置table 表格的数据
addr:table 表格的地址
bit : 设置数据的位数,分别是 8,16,32
issigned:是否是有符号,分别是true false
... : 若干个需要设置的数据 返回值:1个,布尔型成功或失败
settablef(addr,...)
设置table 表格的数据
浮点型 addr : table 表格的地址
... : 若干个需要设置的数据
返回值:1个,布尔型成功或失败
readtable(addr,bit,issigned,glen)
读取table 表格的数据
addr:table 表格的地址
bit:读取的字节位数 分别为 8,16,32
issigned:是否是有符号,分别为 true,false
glen:读取的数据长度
返回:
失败返回一个形参 false
成功返回glen个数据,最后外加一个true
readtablef(addr,glen)
读取table 表格的数据浮点型
addr:table 表格的地址
glen:读取的数据长度
返回:
失败返回一个形参 false
成功返回glen个数据,最后外加一个true
egoport 模块
sound(x)
语音播报x文件。
load(x)
加载x文件json参数
dolua(x)
运行xlua文件
IntToFloat(x)
Int 格式数据转换成float型
返回值:浮点型数据
FloatToInt(x)
Float 格式转换成Int
返回值:1个,int数据