《浮点运算指令373-416》由会员分享,可在线阅读,更多相关《浮点运算指令373-416(12页珍藏版)》请在金锄头文库上搜索。
1、F373(DTR)P373(PDTR),数据变化检出(16bit),概述,程序示例,操作数,示例程序说明,检测16位数据的变化.,梯形图程序,布尔形式地址 指令,10 1117 18 20,ST R 0 F373 (DTR) DT 10 DT 20 ST R 0 AN R9009 OT R 10,触发器,D,用于检测的16bit数据区,S,存放前次执行时数据状态的数据区,3-478,当触发器R0变为ON时, 如果DT10中的数据与前次执行时的发生变化, 则内部特殊继电器R9009(进位标志) 变为ON, 因此输出R10.,A: 可以使用 N/A: 不可使用,触发器,描述,当S指定的数据自前次操
2、作后发生变化时, 内部继电器R9009(进位标志)变为ON. D用于保存前次操作时的数据. 当本次操作结束时, 当前数据被存放到D.,3-483,3-483,标志状态, 错误标志(R9007) 当以下情况时变为ON并且保持, 错误标志(R9008) 当以下情况时瞬间变为ON,编程时注意事项,用于检测数据变化的内部特殊继电器R9009(进位标志)会随每次执行指令的情况而刷新. 因此, 在使用时应将R9009在程序中紧随F373(DTR)/P373(PDTR)指令应将结果输出到一个输出继电器或内部继电器以保持该结果.(参阅F64(BCMP)/P64(PBCMP)的说明)如前页所示,应在使用R900
3、9之前加入与用于执行F373(DTR)/P373(PDTR)指令的相同触发器(R0)如果使用常闭继电器(R9010), 则不必使用触发器(R0).,- 使用索引寄存器指定数据区超出范围,- 使用索引寄存器指定数据区超出范围, 进位标志(R9009) 当指定的数据发生变化时变为ON,F374(DTR)P374(PDTR),数据变化检出(32bit),概述,程序示例,操作数,示例程序说明,检测32位数据的变化.,梯形图程序,布尔形式地址 指令,10 1117 18 20,ST R 0 F374 (DDTR) DT 10 DT 20 ST R 0 AN R9009 OT R 10,触发器,D,用于检
4、测的32bit的低16bit数据区,S,存放前次执行时数据状态的32bit的低16bit数据区,3-478,当触发器R0变为ON时, 如果DT11,DT10中的数据与前次执行时的发生变化, 则内部特殊继电器 R9009(进位标志)变为ON, 因此输出R10.,A: 可以使用 N/A: 不可使用,触发器,描述,当S指定的32bit数据自前次操作后发生变化时, 内部继电器R9009(进位标志)变为ON. D+1,D用于保存前次操作时的数据. 当本次操作结束时, 当前数据被存放到D+1,D.,3-483,3-483,标志状态, 错误标志(R9007) 当以下情况时变为ON并且保持, 错误标志(R90
5、08) 当以下情况时瞬间变为ON,编程时注意事项,用于检测数据变化的内部特殊继电器R9009(进位标志)会随每次执行指令的情况而刷新. 因此, 在使用时应将R9009在程序中紧随F374(DDTR)/P374(PDDTR)指令应将结果输出到一个输出继电器或内部继电器以保持该结果.(参阅F64(BCMP)/P64(PBCMP)的说明)如前页所示,应在使用R9009之前加入与用于执行F374(DDTR)/P374(PDDTR)指令的相同触发器(R0)如果使用常闭继电器(R9010), 则不必使用触发器(R0).,- 使用索引寄存器指定数据区超出范围,- 使用索引寄存器指定数据区超出范围, 进位标志
6、(R9009) 当指定的数据发生变化时变为ON,F410(SETB)P410(PSETB),索引寄存器Bank设置,概述,程序示例,操作数,设置索引寄存器Bank编号.,梯形图程序,布尔形式地址 指令,10 11,ST R 0 F410 (SETB)K 1,触发器,常数或存放寄存器bank编号的数据区,n,3-478,A: 可以使用 N/A: 不可使用,描述,本指令用于选择当前索引寄存器Bank编号.,编程时注意事项,在执行程序起始地址之前, 索引寄存器Bank编号被自动设置为0. 在程序存储区为120k步的情况下, 当第1程序与第2程序切换时,索引寄存器Bank被自动设置为Bank0.,3-
7、483,3-483,标志状态, 错误标志(R9007) 当以下情况时变为ON并且保持, 错误标志(R9008) 当以下情况时瞬间变为ON,程序示例,使用索引寄存器指定数据区超出范围 - Bank编号超出K0K15,使用索引寄存器指定数据区超出范围 - Bank编号超出K0K15,切换索引寄存器Bank,F411(CHGB)P411(PCHGB),索引寄存器Bank切换,概述,程序示例,操作数,将当前索引寄存器Bank编号保存到堆栈区, 并切换到新的Bank编号.,梯形图程序,布尔形式地址 指令,10 11,ST R 0 F411 (CHGB)K 2,触发器,常数或存放寄存器bank编号的数据区
8、,n,3-478,A: 可以使用 N/A: 不可使用,描述,本指令用于选择当前索引寄存器Bank编号. 此时, 当前的索引寄存器Bank编号被存放到堆栈区(堆栈只有一级有效, 因此在此之前的数据被覆盖). 在中断程序、子程序中使用索引寄存器Bank编号时, 应在子程序开始处执行F411(CHGB)指令, 在子程序 结束之前执行F412(POPB)指令.,编程时注意事项,在执行程序起始地址之前, 索引寄存器Bank编号被自动设置为0. 在程序存储区为120k步的情况下, 当第1程序与第2程序切换时,索引寄存器Bank被自动设置为Bank0. 堆栈区只有一级有效, 因此在此之前的数据被覆盖.,3-
9、483,3-483,标志状态, 错误标志(R9007) 当以下情况时变为ON并且保持, 错误标志(R9008) 当以下情况时瞬间变为ON,程序示例,使用索引寄存器指定数据区超出范围 - Bank编号超出K0K15,使用索引寄存器指定数据区超出范围 - Bank编号超出K0K15,以下程序在中断程序开始时将索引寄存器切换到”2”, 在中断程序结束之前恢复到原有的索引寄存器 (在IRET指令之前).,F412(POPB)P412(PPOPB),索引寄存器Bank恢复,概述,程序示例,将当前索引寄存器Bank编号恢复到执行F411(CHGB)/P411(PCHGB) 指令之前的数值.,梯形图程序,布
10、尔形式地址 指令,10 11,ST R 0 F412 (POPB),触发器,3-478,描述,本指令用于将当前的索引寄存器Bank编号恢复为堆栈区中所保持的数值. 此时, 堆栈中的内容并不改变。 在中断程序、子程序中使用索引寄存器Bank编号时, 应在子程序开始处执行F411(CHGB)指令, 在子程序 结束之前执行F412(POPB)指令.,编程时注意事项,在执行程序起始地址之前, 索引寄存器Bank编号被自动设置为0. 在程序存储区为120k步的情况下, 当第1程序与第2程序切换时,索引寄存器Bank被自动设置为Bank0. 堆栈区只有一级有效.,程序示例,以下程序在中断程序开始时将索引寄
11、存器切换到”2”, 在中断程序结束之前恢复到原有的索引寄存器 (在IRET指令之前).,F414(SBFL)P414(PSBFL),文件寄存器Bank设置,概述,程序示例,操作数,设置文件寄存器Bank编号.,梯形图程序,布尔形式地址 指令,10 11,ST R 0 F414 (SBFL)DT 1,触发器,常数或存放寄存器bank编号的数据区,n,3-478,A: 可以使用 N/A: 不可使用,描述,本指令用于选择当前文件寄存器Bank编号. 此时, 当前的索引寄存器Bank编号被存放到堆栈区(DT90264)(堆栈中的内容保持).,文件寄存器Bank的操作,文件寄存器Bank编号: K0K2
12、. 用于文件寄存器Bank的特殊数据寄存器如下:,文件寄存器Bank在程序第一步处被设置为Bank0. 第二程序的第一步也将文件寄存器Bank设置为Bank0,标志状态, 错误标志(R9007) 当以下情况时变为ON并且保持, 错误标志(R9008) 当以下情况时瞬间变为ON,使用索引寄存器指定数据区超出范围 - Bank编号超出K0K2,使用索引寄存器指定数据区超出范围 - Bank编号超出K0K2,F415(CBFL)P415(PCBFL),文件寄存器Bank切换,概述,程序示例,操作数,切换文件寄存器Bank编号.,梯形图程序,布尔形式地址 指令,10 11,ST R 0 F415 (C
13、BFL)DT 1,触发器,常数或存放寄存器bank编号的数据区,n,3-478,A: 可以使用 N/A: 不可使用,描述,本指令用于选择当前文件寄存器Bank编号. 此时, 当前的文件寄存器Bank编号被存放到堆栈区(堆栈只有一级有效, 因此在此之前的数据被覆盖).,文件寄存器Bank的操作,文件寄存器Bank编号: K0K2. 用于文件寄存器Bank的特殊数据寄存器如下:,文件寄存器Bank在程序第一步处被设置为Bank0. 第二程序的第一步也将文件寄存器Bank设置为Bank0,标志状态, 错误标志(R9007) 当以下情况时变为ON并且保持, 错误标志(R9008) 当以下情况时瞬间变为
14、ON,使用索引寄存器指定数据区超出范围 - Bank编号超出K0K2,使用索引寄存器指定数据区超出范围 - Bank编号超出K0K2,F416(PBFL)P416(PPBFL),文件寄存器Bank恢复,概述,程序示例,将文件寄存器Bank编号切换回执行F415(CBFL)/P415(PCBFL)指令 之前的数值.,梯形图程序,布尔形式地址 指令,10 11,ST R 0 F416 (PBFL),触发器,3-478,描述,本指令用于选择当前文件寄存器Bank编号. 此时, 当前的文件寄存器Bank编号被存放到堆栈区(堆栈只有一级有效, 因此在此之前的数据被覆盖).,文件寄存器Bank的操作,文件寄存器Bank编号: K0K2. 用于文件寄存器Bank的特殊数据寄存器如下:,文件寄存器Bank在程序第一步处被设置为Bank0. 第二程序的第一步也将文件寄存器Bank设置为Bank0,