Appearance
SetDO8421 设置8421码数字量输出
该指令用于设置一段连续的数字量输出(DO)端口状态。它将传入的一个十进制数值转换成二进制数据,并按位分配到指定的连续 DO 端口上(起始端口对应二进制的最低位 LSB)。这通常用于向外部设备(如 PLC)发送多位编码、设置 BCD 码数值或批量控制一组输出。
指令格式
SetDO8421 (BEGINPORT, ENDPORT, SETVALUE)
SetDO8421 (起始端口, 结束端口, 设置值)
参数详细说明
| 参数 | 类型 | 说明 | 默认值/备注 |
|---|---|---|---|
| BEGINPORT | int | 该段连续数字量输出端口的起始端口号 | 必填 |
| ENDPORT | int | 该段连续数字量输出端口的结束端口号 | 必填 |
| SETVALUE | int 或 INT 变量 | 需要设置的十进制目标值,系统将其转换为二进制按位赋值 | 必填 |
应用示例
示例 1:
estun
SetDO8421 (9, 16, 255)逻辑解析:
- 十进制值:255。
- 二进制转换:255 转换为 8 位二进制数为
1111 1111。 - 执行结果:将第 9 到第 16 号数字量输出端口全部置为 1(高电平)。
示例 2:设置特定编码
estun
SetDO8421 (1, 4, 10)逻辑解析:
- 十进制值:10。
- 二进制转换:10 转换为 4 位二进制数为
1010。 - 执行结果:
- 1 号口(最低位)= 0
- 2 号口 = 1
- 3 号口 = 0
- 4 号口(最高位)= 1
💡 提示
- 请确保
BEGINPORT到ENDPORT的范围足以容纳SETVALUE转换后的二进制位数。 - 如果
SETVALUE超过了端口范围能表示的最大值,高位数据将会被截断。