ID : 365
Set
功能
将I/O型变量的Bit设为ON
格式
Set I/O型变量名[, 输出时间[,Mode = 非同步模式]]
指定项目
- I/O型变量名
- 指定I/O型变量名。
- 输出时间
- 通过整数型数据指定输出(ON)时间[ms]。可省略。省略时不关闭设为ON的I/O。
- 非同步模式
- 使用整数型数据指定模式。如果指定Mode选项,系统替代PAC执行OFF输出处理。Ver.1.8.*及更高版本可使用该项目。
如果指定非同步模式,使用全局变量的I/O型变量。如使用局部变量,则会出现语法错误。
例: -
由于是Set IO[24], 100, Mode = 2 'IO型的全局变量,因此可以与Mode指定一起使用
DefIO aaa = Bit, 24
由于是Set aaa, 100, Mode = 2 'IO型的局部变量,因此不可以与Mode指定一起使用(语法错误)
解说
将通过I/O型变量名指定的I/O型变量的全部Bit设为ON。如果I/O型局部变量定义(DefIO)时设有掩码,则只有未设定掩码的Bit变为ON。
连续Index编号的I/O可设为ON一次。
Set IO[128 To 160] '将I/O端口128~160全部设为ON
DefIO aaa(3) = Byte, 128
Set aaa(0 To 3) 'I/O型局部变量aaa全部为255
指定输出时间
指定输出时间时,经过指定时间后关闭指定的I/O。
以下为相同记述。
Set IO[10], 1000
Set IO[10]
Delay 1000
Reset IO[10]
Mode选项(Ver.1.8.*及更高版本有效)
如果指定Mode选项,PAC在将I/O设为ON之后马上执行下一步。PAC是指系统非同步地监视经过的时间,如果经过时间达到输出时间,关闭I/O。
如果不指定Mode选项,在到达输出时间前,不执行下一步。
根据暂时停止时的OFF处理的差异,有以下2个模式。
值 | 模式 | 内容 |
---|---|---|
1 | 暂时停止中不关闭的模式 | 即使在暂时停止中经过时间也会计时,但在暂时停止中即使达到输出时间后也不会关闭。再次使任务动作时,关闭。
|
2 | 刚刚暂停检测后关闭的模式 | 在任务刚刚暂停后,执行强制自动复位(OFF)。 在保护停止时任务暂停的情况下,想使非同步I/O复位时,指定该模式。
![]() |
- 在输出时间经过前任务停止时,用该任务强制自动复位(OFF)ON输出中的I/O。
- 被强制自动复位的I/O即使从任务暂停再次执行,也不会自动变为ON。
- 使用Mode选项时,如果为输出时间设为-1,进入无限等待状态。如果与Mode=1并用,可作为任务停止时的自动复位执行。
- 在伴随Mode选项的多个SET指令中指定了相同的I/O时,在后面的指令中的设定变为有效。
- 可对非同步处理中的I/O用Reset指令关闭,用不伴随Mode选项的Set指令接通。然而,其间系统也会计时经过时间,在经过时间达到输出时间时关闭。
相关项目
注意事项
- 指定输出时间时由于任务的负载等可能产生误差。另外,如果指定的时间过短也会产生误差。
- 即使任务暂时停止中或步骤停止中也消耗输出时间。
应用示例
'!TITLE“切换I/O端口”
'I/O端口编号“240”置于0N时,将I/O端口编号“241”、“220”至“225”设定为OFF
Sub Sample_Set
'将I/O端口编号“240”设定为ON
Set IO[240]
'将I/O端口编号“241”设定为ON
Set IO[241]
'将I/O端口编号“220”至“225”设定为ON
Set IO[220 To 225]
'I/O端口编号“240”置于ON时
If IO[240] Then
'将I/O端口编号“241”设定为OFF
Reset IO[241]
'将I/O端口编号“220”至“225”设定为OFF
Reset IO[220 To 225]
End If
End Sub
ID : 365