跳到主要内容

IO

不同版本的控制器、插件和上位机支持不同的 lua API 指令,开发者可在 DobotStudio Pro “应用” 菜单,“脚本编程” 的指令侧边栏查看具体支持的 lua API

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 的编辑器或平台中显示。