登录
首页 PLC论坛 西门子SIEMENS
回帖 发帖
正文

主题:WinCC断电保护常用办法之一

点击:482 回复:0

       很多现场情况会遇到控制柜突然停电,柜子里的PLC及相关设备都会断电停机,导致上位机WinCC不正常退出,很有可能会使数据库不完整,导致下次WinCC启动时不能正常工作(经常要消耗大量的时间才能进入运行状态,甚至会出现死机现象),因此我们给出的解决方案是:配备小容量UPS电源,只要WinCC这台电脑能工作几分钟即可,以及添加断电时继电器触发节点。本文介绍通过WinCC的C脚本功能,保证下次WinCC启动的数据完整性和快速性,WinCC会自动退出的功能。
1、以S7-1200PLC为例,建立连接后,首先在WinCC上定义变量,例如:“powoff”
附件 图片1.jpg
2、然后在全局脚本中打开“C编辑器”,然后新建动作,另存为action.pas,全局脚本的C-Editor全局动作里面就会出现action.pas
附件 图片2.jpg
3、双击action.pas重新进行编辑触发器,编写如下代码:
附件 图片3.jpg
#include "apdefap.h"
int gscAction( void )
{
if (GetTagBit("powoff")==1)
{ExitWinCC ();};
return 0;
}
4、点击信息/触发器图标——触发器——周期——添加周期,触发器名称例如“aaa”,周期选择2秒,选择确定
附件 图片4.jpg
5、然后可以在画面上,添加一个输入/输出域,选择关联变量“powoff”。
附件 图片5.jpg
6、最后在计算机属性里,勾选“全局脚本运行系统”,然后运行WinCC
附件 图片6.jpg
运行后发现当变量“powoff”即M0.0,值由0变为1时,WinCC就会自动退出运行系统,并且自动关闭WinCC软件。
7、本文只是介绍了简单情况,如要实现更复杂的情况(比如:继电器动作后延时5秒后WinCC自动退出等等)都可通过C脚本方式实现!
最后修改:2024/7/4 11:48:55
24-07-04 10:34

工控新闻

更多新闻资讯