IO
IO指令用于进行机械臂系统IO的读写和相关参数的设置。
指令功能表
指令 | 功能 |
---|---|
DI | 获取DI端口的状态 |
DIGroup | 获取多个DI端口的状态 |
DO | 设置数字输出端口状态 |
DOGroup | 设置多个数字输出端口状态 |
GetDO | 获取数字输出端口当前状态 |
GetDOGroup | 获取多个数字输出端口当前状态 |
AI | 获取AI端口的值 |
AO | 设置模拟输出端口的值 |
GetAO | 获取模拟输出端口当前的值 |
DI
原型:
DI(index)
描述:
读取数字输入端口状态。
必选参数:
index
:DI端子的编号。
返回:
对应的DI端子的状态(ON/OFF)。
示例:
-- DI1为ON时机械臂以直线运动方式运动至P1点。
if (DI(1)==ON)
then
MovL(P1)
end
DIGroup
原型:
DIGroup(index1,...,indexN)
描述:
读取多个数字输入端口状态。
必选参数:
index
:DI端子的编号,可输入多个,以逗号分隔。
返回:
对应的DI端子的状态(ON/OFF),以数组形式返回。
示例:
-- 当DI1和DI2都为ON时机械臂以直线运动方式运动至P1点。
local digroup = DIGroup(1,2)
if (digroup[1]&digroup[2]==ON)
then
MovL(P1)
end
DO
原型:
DO(index,ON|OFF,time_ms)
描述:
设置数字输出端口状态。
必选参数:
index
:DO端子的编号。ON|OFF
:要设置的DO端口状态。
可选参数:
time_ms
: 持续输出时间,单位ms,取值范围:[25, 60000]。如果设置了该参数,系统会在指定时间后对DO自动取反。取反为异步动作,不会阻塞指令队列,系统执行了DO输出后就会执行下一条指令。
示例:
-- 将DO1设置为ON。
DO(1,ON)
-- 将DO1设置为ON,并在50ms后再自动设置为OFF。
DO(1,ON,50)
DOGroup
原型:
DOGroup({index1,ON|OFF},..,{indexN,ON|OFF})
描述:
设置多个数字输出端口状态。
必选参数:
index
:DO端子的编号。ON|OFF
:要设置的DO端口状态。
可设置多组,每组以大括号包裹,组间以逗号隔开。
示例:
-- 将DO1和DO2设置为ON。
DOGroup({1,ON},{2,ON})
GetDO
原型:
GetDO(index)
描述:
获取数字输出端口当前状态。
必选参数:
index
:DO端子的编号。
返回:
对应的DI端子的状态(ON/OFF)。
示例:
-- 获取DO1的当前状态。
GetDO(1)
GetDOGroup
原型:
GetDOGroup(index1,...,indexN)
描述:
获取多个数字输出端口当前状态。
必选参数:
index
:DO端子的编号,可输入多个,以逗号分隔。
返回:
对应的DO端子的状态(ON/OFF),以数组形式返回。
示例:
-- 获取DO1和DO2的当前状态。
GetDOGroup(1,2)
AI
原型:
AI(index)
描述:
读取模拟输入端口的值。
必选参数:
index
:AI端子的编号。
返回:
对应的AI端子的值。
示例:
-- 读取AI1的值并赋值给变量test。
test = AI(1)
AO
原型:
AO(index,value)
描述:
设置模拟输出端口的值。
必选参数:
index
:AO端子的编号。value
:要设置的值,电压取值范围:[0,10],单位:V;电流取值范围:[4,20],单位:mA。
示例:
-- 将AO1的输出值设置为2。
AO(1,2)
GetAO
原型:
GetAO(index)
描述:
获取模拟输出端口当前的值。
必选参数:
index
:AO端子的编号。
返回:
对应的AO端子的值。
示例:
-- 获取AO1的当前状态。
GetAO(1)
这段内容已经转为 Markdown 格式,包含了标题、表格和代码块,适合在支持 Markdown 的编辑器或平台中显示。