首页 理论教育 HSC功能文件子元素:详细解读与应用示例

HSC功能文件子元素:详细解读与应用示例

时间:2023-06-15 理论教育 版权反馈
【摘要】:MicroLogix1500控制器的HSC0功能文件子元素说明如下:1.程序文件号PFN变量用来定义中断子程序号,如果HSC0达到“高设定值/低设定值”、或超过“上溢出值/下溢出值”时,HSC0就会调用此子程序。如果此位为1,则只要控制器进入“运行”或“测试”模式,HSC功能就会自动被启动。此位是由HSC子系统自动置1,用户根据需要来使用、跟踪UF位的状态,并将此位清

HSC功能文件子元素:详细解读与应用示例

MicroLogix1500控制器的HSC0功能文件子元素说明如下:

1.程序文件号(PFN)

978-7-111-47412-8-Chapter07-10.jpg

PFN(程序文件号)变量用来定义中断子程序号,如果HSC0达到“高设定值/低设定值”、或超过“上溢出值/下溢出值”时,HSC0就会调用此子程序。该变量的整数值为被执行程序的文件号,有效范围为3~255。

2.故障代码(ER)

978-7-111-47412-8-Chapter07-11.jpg

ER是故障代码标志位,故障代码为1,表示无效的文件号;故障代码为2,表示无效的模式;故障代码为3,表示无效的高设定值(模式0、1时,高设定值小于等于0;模式2~7时,高设定值小于或等于低设定值);故障代码为4,表示无效的上溢出值,高设定值大于上溢出值。

3.中断功能选通(FE)

978-7-111-47412-8-Chapter07-12.jpg

FE(中断功能选通)位可由用户逻辑程序控制什么时候选通HSC中断,由HSC产生的中断将会按优先权执行。当HSC设定为自动启动时,如果HSC被自动启动,控制器就会自动将此位置1。

4.自动启动(AS)

978-7-111-47412-8-Chapter07-13.jpg

AS是一个控制位,可用于控制程序中。用编程装置可设定自动启动位,并将它作为用户程序部分储存起来。如果此位为1,则只要控制器进入“运行”或“测试”模式,HSC功能就会自动被启动。

5.故障检测(ED)

978-7-111-47412-8-Chapter07-14.jpg

ED是一个状态标志位,可用于控制程序中,用来检测HSC子系统是否有故障。此位为1的最常见故障是组态错误。如果此位为1,用户应该检测HSC:0.ER参数内的故障代码。此位由系统控制自动置1或清0。

6.允许高速计数(CE)

978-7-111-47412-8-Chapter07-15.jpg

CE控制位可用来决定是否选通高速计数器。如果此位为1,则选通高速计数器,如果为0(默认值),则禁止选通高速计数器。如果计数器正在运行时CE位被置0,则计数器的累加值保持不变;如果再将CE位置1,则计数器会从原来的累加值恢复计数。此位由用户程序控制,而且在重新上电时仍保持CE位的值不变。

7.设定参数(SP)

978-7-111-47412-8-Chapter07-16.jpg

SP是控制位,用来将新的变量装入到HSC子系统中。具有HSC:0/SP地址的OTE指令被启动(从“断开”到“接通”的瞬变)时,所有存储在HSC功能文件中的变量被逐一检查,然后将各变量送入HSC子系统,HSC就会按新的设定变量工作。

此位由用户程序控制,而且在重新上电时保持其值不变。此位由用户置1或清0。当HSC正在运行时,可以将SP的值进行切换,而计数值并不会丢失。

8.允许中断(UIE)

978-7-111-47412-8-Chapter07-17.jpg

UIE是控制位,用来选通或禁止HSC子程序的执行。当以下条件符合时,如果用户想让控制器转去执行中断子程序,则必须将UIE位置1:

1)达到低设定值。

2)达到高设定值。

3)上溢出:加法计数,超过上溢出值。

4)下溢出:减法计数,超过下溢出值。

如果此位为0,HSC子系统就不会自动扫描HSC子程序。此位可以由用户程序控制(使用OTE、UIE、UID指令)。当用OTE、UIE或UID指令在程序扫描期间允许中断,则这些指令必须是梯形图中的最后指令(最后分支中的最后指令),且此指令是梯形程序中的唯一输出指令。

9.正在执行中断程序(UIX)

978-7-111-47412-8-Chapter07-18.jpg

当HSC子系统开始执行中断子程序时,UIX位被置1。当控制器完成中断子程序处理后,UIX位被清0。UIX位可以作为逻辑条件用于控制程序中,以便检测HSC中断程序是否正在执行。

10.用户中断等待执行(UIP)

978-7-111-47412-8-Chapter07-19.jpg

UIP是一个状态标志位,表示某个中断程序被等待执行。此状态位可被监视,也可用于控制程序中,以便确定什么时候某个中断子程序不能立即被执行。此位由系统控制,自动置1或清0。

11.用户中断丢失(UIL)

978-7-111-47412-8-Chapter07-20.jpg

UIL是一个状态标志位,表示某中断已丢失。MicroLogix1500控制器允许一个中断正在进行,同时最多可有两个中断处于等待执行状态。如果发生用户中断丢失,则UIL位由控制器置1。

12.低设定值屏蔽(LPM)

978-7-111-47412-8-Chapter07-21.jpg

LPM是一个控制位,用来允许或禁止发生“低设定值中断”。如果此位置0,即使HSC检测到符合“达到低设定值”条件,用户中断程序也不会被执行。此位由用户程序控制,控制器重新上电也会保持其值不变。用户程序可对此位清0或置1。

13.低设定值中断(LPI)

978-7-111-47412-8-Chapter07-22.jpg

LPI是一个状态位,当HSC累加值达到“低设定值”,则此位被置1,同时触发HSC中断。此位可用于控制程序中,以识别是否发生了低设定值中断。如果控制程序需要根据低设定值而执行特殊控制,则此位可以作逻辑条件来使用。

此位可由控制程序清0,而且,只要检测到以下条件成立,HSC子系统就会将此位清0。

1)高设定值中断开始执行。

2)下溢出中断开始执行。

3)上溢出中断开始执行。

4)控制器进入程序执行模式。

14.达到低设定值(LPR)

978-7-111-47412-8-Chapter07-23.jpg

LPR是一个状态标志位,只要HSC的累加值(HSC:0.ACC)小于或等于低设定值变量(HSC:0.LOP),此位就会被置1。只要控制器处于程序执行模式,HSC子系统就会连续刷新LPR位的值。

15.高设定值屏蔽(HPM)

978-7-111-47412-8-Chapter07-24.jpg

HPM是一个控制位,用来允许或禁止发生“高设定值中断”。如果此位置0,即使HSC检测到符合“达到高设定值”条件,用户中断程序也不会被执行。此位由用户程序控制,控制器重新上电也会保持其值不变。用户程序可对此位清0或置1。

16.高设定值中断(HPI)

978-7-111-47412-8-Chapter07-25.jpg

HPI是一个状态位,当HSC累加值达到“高设定值”,则此位被置1,同时触发HSC中断。此位可用于控制程序中,以识别是否发生了高设定值中断。如果控制程序需要根据高设定值而执行特殊控制,则此位可以作逻辑条件来使用。

此位可由控制程序清0,而且只要检测到以下条件成立,HSC子系统就会将此位清0:

1)高设定值中断开始执行。

2)下溢出中断开始执行。

3)上溢出中断开始执行。

4)控制器进入程序执行模式。

17.达到高设定值(HPR)

978-7-111-47412-8-Chapter07-26.jpg

HPR是一个状态标志位,只要HSC的累加值(HSC:0.ACC)大于或等于高设定值变量(HSC:0.HIP),此位就会被置1。只要控制器处于程序执行模式,HSC子系统就会连续刷新HPR位的值。

18.下溢出状态(UF)

978-7-111-47412-8-Chapter07-27.jpg

UF是一个状态标志位,只要HSC的累加值(HSC:0.ACC)小于或等于下溢出变量(HSC:0.UNF),此位就会被置1。此位是由HSC子系统自动置1,用户根据需要来使用、跟踪UF位的状态,并将此位清0。下溢出状态并不会引起控制器故障。

19.下溢出屏蔽(UFM)

978-7-111-47412-8-Chapter07-28.jpg

UFM是一个控制位,用来允许或禁止发生“下溢出中断”。如果此位被置0,即使HSC检测到符合“达到下溢出值”条件,用户中断程序也不会被执行。此位由用户程序控制,控制器重新上电也会保持其值不变。用户程序可对此位清0或置1。

20.下溢出中断(UFI)

978-7-111-47412-8-Chapter07-29.jpg

UFI是一个状态位,当HSC累加值达到“下溢出值”,则此位被置1,同时触发HSC中断。此位可用于控制程序中,以识别是否发生了下溢出中断。如果控制程序需要根据下溢出值来执行特殊控制,则此位可以作逻辑条件来使用。

此位可由控制程序清0,而且,只要检测到以下条件成立,HSC子系统就会将此位清0:

1)低设定值中断开始执行。

2)高设定值中断开始执行。(www.xing528.com)

3)上溢出中断开始执行。

4)控制器进入程序执行模式。

21.上溢出状态(OF)

978-7-111-47412-8-Chapter07-30.jpg

OF是一个状态标志位,只要HSC累加值(HSC:0.ACC)的计数大于或等于上溢出变量(HSC:0.OVF),此位就会被置1。此位是由HSC子系统自动置1。上溢出状态并不会引起控制器故障。

22.上溢出屏蔽(OFM)

978-7-111-47412-8-Chapter07-31.jpg

OFM是一个控制位,用来允许或禁止发生“上溢出中断”。如果此位被置0,即使HSC检测到符合达到“上溢出值”条件,用户中断程序也不会被执行。此位由用户程序控制,控制器重新上电也会保持其值不变。用户程序可对此位清0或置1。

23.上溢出中断(OFI)

978-7-111-47412-8-Chapter07-32.jpg

OFI是一个状态位,当HSC累加值达到“上溢出值”,则此位被置1,同时触发HSC中断。此位可用于控制程序中,以识别是否发生了上溢出中断。如果控制程序需要根据上溢出值来执行特殊控制,则此位可以作逻辑条件来使用。

此位可由控制程序清0,而且,只要检测到以下条件成立,HSC子系统就会将此位清0:

1)低设定值中断开始执行。

2)高设定值中断开始执行。

3)下溢出中断开始执行。

4)控制器进入程序执行模式。

24.计数方向(DIR)

978-7-111-47412-8-Chapter07-33.jpg

DIR是一个由HSC子系统控制的状态标志位。当HSC累加器为加法计数,则此位被置1;当HSC累加器为减法计数,则此位被置0。如果累加值停止,则DIR位的值仍然保持停止计数前的位值(0/1)。只有当计数方向改变时,DIR位的值才会改变。只要控制器处于运行模式,HSC子系统就会连续刷新此位的值。

25.模式完成(MD)

978-7-111-47412-8-Chapter07-34.jpg

MD是一个状态标志位,如果HSC被组态为模式0或模式1,而且计数器的累加值加法计数到“高设定值”,HSC子系统就会将此位置1。

26.减法计数(CD)

978-7-111-47412-8-Chapter07-35.jpg

CD位用于双向计数器。如果允许高速计数位CE为1,则CD位被置1;如果CE位为0,则CD位被清0。

27.加法计数(CU)

978-7-111-47412-8-Chapter07-36.jpg

如果允许高速计数位CE为1,则CU位被置1;如果CE位为0,则CU位被清0。

28.HSC模式(MOD)

978-7-111-47412-8-Chapter07-37.jpg

29.累加值(ACC)

978-7-111-47412-8-Chapter07-38.jpg

HSC子系统检测到的计数值储存在ACC内。当HSC处于模式0或1,如果累加值达到高设定值,变成上溢出状态,则ACC的值被清0。

30.高设定值(HIP)

978-7-111-47412-8-Chapter07-39.jpg

HIP是计数的上设定点,当计数达到高设定值,HSC就会产生中断。要想将“高设定值”数据装入HSC子系统,控制器必须完成以下各项中的一项:

1)切换“设定参数”(HSC:0/SP)控制位(从0变到1)。当SP位被置1,则当前存储在HSC功能文件中的各个数据会被传送到HSC子系统中。

2)使用HSL指令装入新的HSC参数。被装入的“高设定值”数据必须小于或等于驻留的“上溢出值”(HSC:0.OVF)参数,否则,将产生HSC故障。

31.低设定值(LOP)

978-7-111-47412-8-Chapter07-40.jpg

LOP是计数的下设定点,当计数达到低设定值,HSC就会产生中断。要想将“低设定值”数据装入HSC子系统,控制器必须完成以下各项中的一项:

1)切换“设定参数”(HSC:0/SP)控制位(从0变到1)。当SP位被置1,则当前储存在HSC功能文件中的各个数据会被传送到HSC子系统中。

2)使用HSL指令装入新的HSC参数。被装入的“低设定值”数据必须大于或等于驻留的“下溢出值”(HSC:0.UNF)参数,否则,将产生HSC故障。

32.上溢出值(OVF)

978-7-111-47412-8-Chapter07-41.jpg

OVF定义了计数器的上计数极限值。如果累加值大于此变量,就会产生“上溢出中断”,同时,HSC子系统将累加值从“上溢出值”改变为“下溢出值”,计数器继续从“下溢出值”加法计数(在此过程中,输入的计数信号不会被漏掉)。用户可以在-2147483648~2147483647之间选定上溢出值,但必须是“上溢出值”大于“下溢出值”。

要想将“上溢出值”数据装入HSC子系统,控制器必须切换“设定参数”(HSC:0/SP)控制位(从0变到1)。当SP位被置1,则当前储存在HSC功能文件中的各个数据会被传送到HSC子系统中。被装入的“上溢出值”数据必须大于驻留的“高设定值”(HSC:0.HIP)参数,否则,将产生HSC故障。

33.下溢出值(UNF)

978-7-111-47412-8-Chapter07-42.jpg

与上溢出值(OVF)类似。

34.输出屏蔽位(OMB)

978-7-111-47412-8-Chapter07-43.jpg

OMB定义了MicroLogix1500控制器基本单元上(O:0/0~O:0/11)的哪些输出点可以被HSC直接控制。根据HSC累加值是否达到“高设定值”或“低设定值”,HSC子系统可以直接使输出点“接通”或“断开”,而无须经过梯形程序的控制。

例如HSC:0.HPO(高设定值输出)为0000000000001111,输出屏蔽位(OMB)为0000000000001101,则基本单元的O:0/0,O:0/2,O:0/3被置为1,而O:0/1没有被屏蔽,仍受到程序的控制。

35.高设定值输出(HPO)

978-7-111-47412-8-Chapter07-44.jpg

HPO是用来定义:当累加值达到“高设定值”时,MicroLogix1500控制器基本单元上输出点的状态(0/1)。

高设定值输出位的数值可以在开始设定中组态好,也可以在控制器工作时进行组态。当控制器正在工作时,可使用HSL指令或SP位来装入新的参数值。

36.低设定值输出(LPO)

978-7-111-47412-8-Chapter07-45.jpg

与高设定值输出(HPO)类似。7.1.3 高速计数器指令

1.参数装入指令(HSL)

参数装入指令(HSL)属于输出指令,如图7-1所示。

978-7-111-47412-8-Chapter07-46.jpg

图7-1 参数装入指令(HSL)

HSL指令允许将高设定值、低设定值、高设定值输出源、低设定值输出源等参数送入到高速计数器内。执行参数分别解释如下:

1)HSC Number:计数器号,指定所使用的高速计数器号。0=HSC0,1=HSC1。

2)High Preset:高设定值,指定在“高设定值寄存器”内的数值。高设定值的数据范围是:-32768~32767(字)或-2147483648~2147483647(长字)。

3)Low Preset:低设定值,指定在“低设定值寄存器”内的数值。低设定值的数据范围是:-32768~32767(字)或-2147483648~2147483647(长字)。

4)Output High Source:高设定值输出源,指定在“高设定值输出寄存器HPO”内的数值。高设定值输出源的数据范围是0~FFFF。

5)Output Low Source:低设定值输出源,指定在“低设定值输出寄存器LPO”内的数值。低设定值输出源的数据范围是0~FFFF。

2.累加值复位指令(RAC)

累加值复位指令(RAC)属于输出指令,如图7-2所示。

978-7-111-47412-8-Chapter07-47.jpg

图7-2 累加值复位指令(RAC)

RAC指令可使高速计数器复位,并允许将一个特定值写到HSC的累加器内。RAC指令使用如下参数:

1)Counter Number:计数器号,指定所使用的计数器。0=HSC0;1=HSC1。

2)Source:源,指定被送入HSC累加器的数据所在的位置。数据范围是-2147483648~2147483647。

若HSC工作在模式0或模式1,则当计数值达到高设定值时,HSC进入溢出状态,累加器内的值自动清0,所以在这两种模式下工作时不需要该指令。

免责声明:以上内容源自网络,版权归原作者所有,如有侵犯您的原创版权请告知,我们将尽快删除相关内容。

我要反馈