移位指令可以可以将累加器1 的低字或整个累加器的内容进行左移或右移一定的位数。二进制数左移一位相当于将原数值乘以2。右移一位相当于将原数值除以2。
参数N 表示移位的次数。移出的空位根据不同的指令由0或符号位的状态填充。最后移出的位的状态同时被装入到状态字的CC1位,CC0和OV位被复位。
l SSI <number> 16位整数右移指令
l SSD <number> 32位整数右移指令
l SLW <number> 逻辑字左移指令
l SRW <number> 逻辑字右移指令
l SLD <number> 逻辑双字左移指令
l SRD <number> 逻辑双字右移指令
l 打开数据块
指令格式:OPN <data block>
说明:打开一个数据块作为shared数据块(DB)或者作为instance数据块(DI)。
可以同时打开一个shared数据块和一个instance数据块。
例 4.9.1: OPN DB 10 // 打开数据块DB 10作为shared数据块
L DB W35 // 将DB 10的数据字W35装入到累加器
1的低字。
T M W22 // 将累加器1的低字传输到M W22。
OPN DI 20 // 打开数据块DI 20作为instance数据块
L DI B12 // 将DI 20的数据字节B12装入到累加
器1的低字
T DB B37 // 将累加器1的低字传输到DB 10的字
节37中。
l 交换shared数据块和instance数据块
指令格式:CDB
说明:交换shared数据块和instance数据块。
shared数据块变成instance数据块,
instance数据块变成shared数据块。
l 装shared数据块的长度到累加器1
指令格式:L DBLG
说明:将shared数据块的长度装到累加器1。
l 装shared数据块的数目到累加器1
指令格式:L DBNO
说明:将shared数据块的数目装到累加器1。
l 装instance数据块的长度到累加器1
指令格式:L DILG
说明:将instance数据块的长度装到累加器1。
OB10可按下列间隔运行:
Once(一次):只在特定日期和时间执行一次。
Every minute:从特定日期和时间开始,每分钟执行一次。
Hourly:从某一特定日期和时间开始,每小时执行一次。
Daily:从某一特定日期和时间开始,每天执行一次。
Weekly:从某一特定日期和时间开始,每周执行一次。
Monthly:从某一特定日期和时间开始,每月执行一次。
Annually:从某一特定日期和时间开始,每年执行一次。
OB10的起始时刻和间隔时间设置:
1. 过定义OB10执行的起始时刻(日期和/或时间)和间隔时间对OB10进行配置。
2. 通过S7组态工具配置CPU的日时钟的中断参数或者在程序中调用SFC28(SET-TINT)设置时间。
3. 通过S7组态工具在CPU的日时钟中断参数块中选择激活项,
4. 在程序中调用SFC30(ACT-TINT)来激活OB10。