Appearance
SetSimDO8421 设置8421码虚拟数字量输出
该指令用于设置一段连续的**虚拟数字量输出(SimDO)**端口状态。它将传入的一个十进制数值转换成二进制数据,并按位分配到指定的连续 SimDO 端口上。由于是虚拟端口,该操作主要用于程序内部的逻辑分组控制、多位状态标志位的批量设置或与并行后台程序的通讯。
指令格式
SetSimDO8421 (BEGINPORT, ENDPORT, SETVALUE)
SetSimDO8421 (起始端口, 结束端口, 设置值)
参数详细说明
| 参数 | 类型 | 说明 | 默认值/备注 |
|---|---|---|---|
| BEGINPORT | int | 该段连续虚拟数字量输出端口的起始端口号 | 必填 |
| ENDPORT | int | 该段连续虚拟数字量输出端口的结束端口号 | 必填 |
| SETVALUE | int 或 INT 变量 | 需要设置的十进制目标值,系统将其转换为二进制按位赋值 | 必填 |
应用示例
示例 1:
estun
SetSimDO8421 (9, 16, 255)逻辑解析:
- 目标值转换:十进制数 255 转换为二进制为
1111 1111(共 8 位)。 - 执行结果:将第 9 到第 16 号虚拟数字量输出端口(共 8 个端口)全部设置为 1。
示例 2:批量设置状态位
estun
SetSimDO8421 (1, 4, 5)逻辑解析:
- 目标值转换:十进制数 5 转换为 4 位二进制为
0101。 - 端口分配(起始端口 1 为最低位):
- SimDO1 = 1
- SimDO2 = 0
- SimDO3 = 1
- SimDO4 = 0
💡 虚拟与物理 8421 指令的区别
| 指令类型 | 适用对象 | 硬件影响 | 典型用途 |
|---|---|---|---|
| SetDO8421 | 物理 DO 端口 | 直接改变控制器接线端子的输出电平 | 驱动外部 PLC、显示器、阀组 |
| SetSimDO8421 | 虚拟 SimDO 端口 | 仅改变控制器内部寄存器状态 | 逻辑判断、程序间通讯、仿真调试 |