西门子PLC带断电保持功能的那些事



希殿电气技术(上海)有限公司(西门子经销商)

联系人 :康经理(销售工程师)发布




    西门子200(200 smart);300;400以及s7-1200;s7-1500系列的plc均具有带断电保持功能,通过设置或者编辑相应的程序均能够满足这一需求。但在某一些场合的应用不仅仅只是设置断电保持区域就可以应用的,如、高速计数器的当前计数值。

   下面分别说说这些高速计数器然后通过程序来保持高速数据的方式:

200的程序:(因为200已经离我们渐行渐远了,就以200smart举例)

1)  在初始化高速计数时,需要设置高速计数器的控制字节SMB37(47、57、137),其中如、SMB37.6(更新当前值必须设置为1);

2)  在预设高速计数器的当前值(SMD38)必须使用寄存器地址,而不能够使用常数,这里寄存器地址为VD0;

3)  然后在主程序中编辑始终传送高速计数器的计数值到VD0;

4)  将VD0地址设置为断电保持区;

程序例子:

1)高速计数器初始化子程序



2)主程序调用高速计数器初始化子程序及初始高速计数器的计数值



3)将VD0在系统块中设置为断电保持区



5)  将程序及系统设置到cpu中验证

300、400的程序:以S7-315-2DP+FM350-2(8通道)高速计数器模块,来说明如何将高速计数器的计数值做带断电保持功能

1)首先组态300站点及添加高速计数器模块、分配参数(略)

2)根据FM350-2高速计数器各通道的数据分配,1~8通道的实时数据分别对应到DB1.DBD148~DB1.DBD204的当前值、DB1.DBD52~DB1.DBD80的装载值

3)创建带断电保持的数据块,如、DB5(数据块使用默认值均带断电保持型)

4)创建初始化组织块OB100

5)在主程序中调用高速计数器的控制程序及高速计数器的数据传送

6)在初始化组织块OB100中传送断电后的原始数据

程序:

1)  创建数据块(按高速计数器的数据类型创建)DINT



2)  在OB1中调用的数据传送



3)  OB100中编辑上电初始时的原始数据传送,将原值装载到高速计数器的装载寄存器地址中



   这样,当300cpu重新上电时,由于OB100(初始化组织块)的功能将断电前的数据重新装载到高速计数器的装载值中,实现了带断电保持的功能。