西门子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(初始化组织块)的功能将断电前的数据重新装载到高速计数器的装载值中,实现了带断电保持的功能。
使用 SIMATIC S7 CPU 发送 SYSLOG 消息
推荐文档: 西门子工程师推荐本文档!
文献
涉及产品
Syslog 是一种简单的二进制 UDP/IP 协议。基于该协议,应用程序可将警报、警告或错误状态发送到 syslog 服务器中。
简单高效
Syslog 是一种简单的二进制 UDP/IP 协议。基于该协议,应用程序可将警报、警告或错误状态发送到 syslog 服务器中。在计算机系统中,Syslog 通常用于管理和安全监测,如今已作为日志记录领域的一项标准。
应用实施
基于“LSyslog”库解决方案,可在 SIMATIC S7 控制器中实施 syslog 协议。除了库之外,在此该通过一个应用示例介绍如何在系统中生成 syslog 消息并发送到 syslog 服务器中。
“LSyslog”库
该库中包含一个函数块 (FB),可实现以下功能:
通过开放式通信块与 syslog 服务器建立 UDP 连接。
在 syslog 协议中嵌入带时间戳记的用户报警。
发送 syslog 报警。
图 01
“LSyslog”库适用于所有支持 PROFINET 的 S7 CPU,可通过以太网 CP/CM 进行可编程式开放式用户通信 (OUC)。
支持以下 PLC 系列:
S7-1200 PLC 固件版本 4.0 及以上版本
S7-1500 PLC
S7-300 PLC 固件版本 3.2 及以上版本
S7-400 PLC 固件版本 6.0 及以上版本
ET 200SP PLC
ET 200SP 开放式控制器
应用示例
在本应用示例中,将使用“Get_Alarm”和“GetChecksum”指令读取安全性消息,并使用“LSyslog”库发送到 syslog 服务器中。这样,即可跟踪和记录对用户控件的访问操作。
在本应用示例中,可使用 S7-1500 PLC 固件版本 V2.0 及以上版本。