Skip to content

SetDO8421 设置8421码数字量输出

该指令用于设置一段连续的数字量输出(DO)端口状态。它将传入的一个十进制数值转换成二进制数据,并按位分配到指定的连续 DO 端口上(起始端口对应二进制的最低位 LSB)。这通常用于向外部设备(如 PLC)发送多位编码、设置 BCD 码数值或批量控制一组输出。

指令格式

SetDO8421 (BEGINPORT, ENDPORT, SETVALUE)

SetDO8421 (起始端口, 结束端口, 设置值)


参数详细说明

参数类型说明默认值/备注
BEGINPORTint该段连续数字量输出端口的起始端口号必填
ENDPORTint该段连续数字量输出端口的结束端口号必填
SETVALUEint 或 INT 变量需要设置的十进制目标值,系统将其转换为二进制按位赋值必填

应用示例

示例 1:

estun
SetDO8421 (9, 16, 255)

逻辑解析:

  1. 十进制值:255。
  2. 二进制转换:255 转换为 8 位二进制数为 1111 1111
  3. 执行结果:将第 9 到第 16 号数字量输出端口全部置为 1(高电平)。

示例 2:设置特定编码

estun
SetDO8421 (1, 4, 10)

逻辑解析

  1. 十进制值:10。
  2. 二进制转换:10 转换为 4 位二进制数为 1010
  3. 执行结果
    • 1 号口(最低位)= 0
    • 2 号口 = 1
    • 3 号口 = 0
    • 4 号口(最高位)= 1

💡 提示

  • 请确保 BEGINPORTENDPORT 的范围足以容纳 SETVALUE 转换后的二进制位数。
  • 如果 SETVALUE 超过了端口范围能表示的最大值,高位数据将会被截断。

ESTUN Robotics — ER 系列机器人编程语言指令参考