存储区(M、定时器、计数器)的保持性设置
与S7-300/400一样,S7-1500和S7-1200都有存储区M区,另外S-1500还有存储区(定时器、计数器),这些区域都可以设置保持性。下面详细介绍如何设置这些区域的保持性。
在创建项目中,双击“PLC变量”中的“显示所有变量”,在点击带有电池和扳手的图标,如下图所示。
点击保持性设置图标后,弹出“保持性存储器”对话框,在此界面可以设置M区、定时器和计数器的保持性大小,如下图所示。
但是S7-1200不支持S5 定时器和计数器(图中设置区域显示为灰色),因此无法设置定时器和计数器的保持性(即显示灰色),如下图所示。
2 全局DB块保持性的设置
从访问方式上,全局DB块分2种类型:DB块优化和非优化;下面对这2种类型分别介绍保持性的设置。
2.1 非优化的DB块保持性设置
进入DB1的属性框,“常规-〉属性”下,将“优化的块访问”勾取消,如下图所示。
S7-1500和S7-1200创建DB块,默认情况是优化的块访问(即:符号访问),因此将此项取消,如下图所示。
双击打开非优化的DB块,在“保持”一列任何一个框打勾,如下图所示。注意:由于这是非优化的DB块,因此如果该DB块中的变量需要保持,就是所有变量都被设置成保持(即:“保持”一列全部被勾选上)。
2.2 优化的DB块保持性设置
在前面2.1章节介绍了,创建DB块,默认情况下是优化的块访问,如图2-1所示。双击打开优化的DB块,在“保持”一列进行勾选。需要说明,由于这是优化的DB块,因此如果该DB块中的哪个变量需要保持,就在该变量这一行的“保持”打勾,而优化的DB块的变量是可以进行单个设置保持性的,如下图所示。
3 背景数据块保持性的设置
背景数据块保持性的设置与FB块是密不可分的,下面详细介绍。
3.1 非优化的FB块的背景数据块保持性设置
进入FB1的属性框,“常规-〉属性”下,将“优化的块访问”勾取消,如下图所示。
S7-1500和S7-1200创建FB块,默认情况是优化的块访问(即:符号访问),因此将此项取消,如下图所示。
双击FB1,进入FB1的块接口里,如下图所示,Input添加两个Int 类型的变量Input_1 和Input_1,Output添加一个Int类型变量Output_1。可以看到块接口区域没有“保持”这一列设置。
在OB1中调用FB1,生成背景数据块DB1,如下图所示。
双击DB1,可以看到“保持”这一列,这与非优化的DB块情况一样,在“保持”一列任何一个框打勾,所有变量都被设置成保持(即:“保持”一列全部被勾选上),如下图所示。
3.2 优化的FB块的背景数据块保持性设置
在前面3.1章节介绍了,创建FB块,默认情况下是优化的块访问,如图3-1所示。双击打开优化的FB2块,在“保持”一列进行勾选。由于这是优化的FB块,因此如果该FB块中的哪个变量需要保持,可以看到有3项选择:“非保持、保持、在IDB中设置”,如下图所示。
下面来分别说明,第一种情况,设置“保持”。优化的FB块的接口变量可以单个选择,当需要哪个变量保持,就在该变量这一行的保持列选择“保持”,如下图所示。
在OB1调用FB2,生成一个FB2的背景数据块DB2,双击打开DB2,可以看到保持一列完全是按照之前FB2接口变量保持一列设置来显示的,如下图所示。
第二种情况,设置“在IDB 中设置”。优化的FB块的接口变量可以单个选择,当需要哪个变量设置,就在该变量这一列的保持栏进行设置,在此选择“在IDB 中设置”,如下图所示。当选择该选项,就是将保持性的设置交给背景数据块来设置。创建一个与FB2一样的FB3,在保持一列将2个变量选择“在IDB中设置”。
在OB1调用FB3,生成一个FB3的背景数据块DB3,双击打开DB3,可以看到保持一列完全是按照之前FB2接口变量保持一列设置来显示的。如果需要设置保持,那么这些被设置成“在IDB中设置”的变量全部被设置成“保持”(即“保持”都被勾选),如下图所示。