在wincc定义了全局变量,为什么在脚本上还要定义
#include"apdefap.h"double_main(char*lpszPictureName,char*lpszObjectName,char*lpszProp...
#include "apdefap.h"
double _main(char* lpszPictureName, char* lpszObjectName, char* lpszPropertyName)
{
#pragma option(mbcs)
static DWORD b;
if (!GetTagBit("a"))
{
b+=1;
if(b==10000)
b=0;
}
return b;
}
我把static DWORD b;这个删掉就说没定义b,但是a我也没定义,因为,a,b我都在变量管理定义为全局变量了,为什么这里还要定义!求解,这样虽然能运行,但是切换画面,b的值就清零了。
简单滴说,我想做一个设备运行后,记录运行时间的脚本
#include "apdefap.h"
double _main(char* lpszPictureName, char* lpszObjectName, char* lpszPropertyName)
{
#pragma option(mbcs)
static DWORD b;
if (!GetTagBit("a"))
{
b+=1;
if(b==10000)
b=0;
}
return b;
}
把static DWORD b改成DWORD B就不计数 展开
double _main(char* lpszPictureName, char* lpszObjectName, char* lpszPropertyName)
{
#pragma option(mbcs)
static DWORD b;
if (!GetTagBit("a"))
{
b+=1;
if(b==10000)
b=0;
}
return b;
}
我把static DWORD b;这个删掉就说没定义b,但是a我也没定义,因为,a,b我都在变量管理定义为全局变量了,为什么这里还要定义!求解,这样虽然能运行,但是切换画面,b的值就清零了。
简单滴说,我想做一个设备运行后,记录运行时间的脚本
#include "apdefap.h"
double _main(char* lpszPictureName, char* lpszObjectName, char* lpszPropertyName)
{
#pragma option(mbcs)
static DWORD b;
if (!GetTagBit("a"))
{
b+=1;
if(b==10000)
b=0;
}
return b;
}
把static DWORD b改成DWORD B就不计数 展开
4个回答
展开全部
外部变量是指Wincc与通信伙伴使用的变量,如读取您PLC中数据的变量,这些变量将占用Wincc授权点数.
内部变量是指仅供Wincc内部使用的变量,这些变量任意使用,不占用Wincc点数.内部变量通过使用脚本赋值可以与外部变量进行数据交换.
内部变量是指仅供Wincc内部使用的变量,这些变量任意使用,不占用Wincc点数.内部变量通过使用脚本赋值可以与外部变量进行数据交换.
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
是声明与定义吧,不一样
追问
不是的,我只想做一个设备运行后,记录运行时间的脚本,然后翻页不清零,我现在做的可以记录,但是会清零
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
wincc是区别大小写的
更多追问追答
追问
不是的,我只想做一个设备运行后,记录运行时间的脚本,然后翻页不清零,我现在做的可以记录,但是会清零
追答
你用全局动作,触发时间1秒 里面设置每触发一次加一就行了
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询