西门子300plc定时器格式(西门子PLC中如何用S7-300系统时钟)

FC块与FB最大的区别就是FB块拥有自己的DB块来存储数据,而FC却没有,所以在多次调用同一个FC块有时出现错误,譬如将FC写成一个定器,

当多次调用改FC块编写的定时器时,由于每次调用时设定的时间不同,则会对计时造成影响。解决这个问题可以使用STEP中FB块的一个功能多重背景数据。

多重背景数据简单说就是为每次调用的功能块分别独立的数据存储区,互不干扰。

一、 CPU自带的clock memory(也就是系统时钟功能)

1、在硬件组态中 CPU---属性----时钟脉冲器---勾选时钟存储器---填写字节0及MB0

西门子300plc定时器格式(西门子PLC中如何用S7-300系统时钟)(1)

如下图所示 MB0中7个位对应的时间脉冲(此时间脉冲为方波,不是上升沿)

西门子300plc定时器格式(西门子PLC中如何用S7-300系统时钟)(2)

2、然后书写程序由于设置的系统时钟为方波型,不能直接用于计时,需要做成上升沿(每隔N秒一次上升沿)

西门子300plc定时器格式(西门子PLC中如何用S7-300系统时钟)(3)

3、通过用ADD_I指令来实现计时,将之前做的每隔一秒钟导通的上升沿作为使能,每隔1S中自加1一次,来实现计时

西门子300plc定时器格式(西门子PLC中如何用S7-300系统时钟)(4)

二、利用多重背景数据来建立定时器

1、新建一个FB块FB50 “勾选多重背景功能” 并书写定时器的程序

西门子300plc定时器格式(西门子PLC中如何用S7-300系统时钟)(5)

西门子300plc定时器格式(西门子PLC中如何用S7-300系统时钟)(6)

2、再建立另一个FB块FB51用来存放之前的编写功能的FB块

西门子300plc定时器格式(西门子PLC中如何用S7-300系统时钟)(7)

3、打开第二步建立的FB块 在“STAR”类型下的“数据类型”选择为“FB”依次可以建立多个功能块

西门子300plc定时器格式(西门子PLC中如何用S7-300系统时钟)(8)

4、“数据类型”填写第一步建立的FB50

西门子300plc定时器格式(西门子PLC中如何用S7-300系统时钟)(9)

5、在“多重背景”选项栏中可以找到第四步建立的数据块,并将它们拖入FB51中,然后填写在各个引脚上填写数据

西门子300plc定时器格式(西门子PLC中如何用S7-300系统时钟)(10)

6、最后OB1中调用存放着功能块的FB块FB51;并分配一个背景DB块,如下图DB32

西门子300plc定时器格式(西门子PLC中如何用S7-300系统时钟)(11)

7、进入DB32 可以看到每个功能块所分配了不同的地址

西门子300plc定时器格式(西门子PLC中如何用S7-300系统时钟)(12)

8、测试 在变量表中对各个定时器设定时间,然后监控,各个定时器设定值各不相同;互不干扰。

西门子300plc定时器格式(西门子PLC中如何用S7-300系统时钟)(13)

,

免责声明:本文仅代表文章作者的个人观点,与本站无关。其原创性、真实性以及文中陈述文字和内容未经本站证实,对本文以及其中全部或者部分内容文字的真实性、完整性和原创性本站不作任何保证或承诺,请读者仅作参考,并自行核实相关内容。文章投诉邮箱:anhduc.ph@yahoo.com

    分享
    投诉
    首页