西门子S7-1200系列PLC的定时器介绍(三)
S7-1200系列PLC的定时器采用的是IEC格式的定时器,每个定时器就是一个FB块,因此每个定时器在使用时都需要分配相应的背景DB块来存储定时器的相应的数据。如果在程序中使用的定时器比较多,每个定时器都需要分配一个背景DB,则将会生成大量的数据块“碎片”。 为了解决该问题,我们可以通过以下两种方式来实现:
1、在全局DB块中建立IEC_TIMER数据类型的变量,然后通过这个变量来代替定时器中的背景DB。
当在程序的OB块中或是FC块中需要使用到定时器时,可以先在全局DB块中建立相应的IEC_TIMER始数据类型的变量,当在调用定时器指令时,提示分配DB块时,可以点击取消,然后在定时器的输入背景数据块处,选择输入在全局DB块中建立的IEC_TIMER的数据类型的变量。如下图所示,在数据块中分别建立了“启动延时”和“断开延时”两个变量,变量的类型都为IEC_TIMER的变量。
变量建立完成后,在编写程序时调用的定时器时分配背景块就可以分配相应的变量过去即可,如下所示:
2、在FB块接口区中的静态变量中建立数据类型为IEC_TIMER的变量,然后分配给定时器。
在程序的设计过程中,定时器可能还会用于FB块中,因FB块在调用时需要给其分配背景DB,若在FB块中需要使用定时器,则可以在FB块的接口区中静态变量中建立IEC_TIMER数据类型的变量,如下图所示,接口区的静态变量中建立了“启动延时定时器”和“断开延时定时器”两个数据类型为IEC_TIMER的变量。
建立完FB块中的静态变量后,可编写PLC的程序,如下所示:
(1) FB块中的程序:
(2) 建立完FB块的程序后,需要在OB1中调用该FB块,调用是系统会自动提示为该FB块生成背景数据块。
赞 (0)