在WinCC的全局脚本里编写了几个项目函数,主要是得到一个实验运行的总时间和实验运行的控制函数,然后在组态画面中调用这些项目函数,但是不能执行。
在组态画面中,一个是用静态文本调用项目函数后再返回系统运行的时间,代码如下:
{
cha r *s; //发表时提示使用了非法字符,只好在a和r之间加了个空格
long int minute,hour,day;
summin=get_summin();
minute=summin%60;
hour=summin/60%24;
day=summin/60/24;
s=SysMalloc(40);
sprintf(s,"完成实验共需要%3d天%2d小时%2d分",day,hour,minute);
return (s);
}
get_summin()就是在全局脚本里写的项目函数,其代码如下:
{
long int m_1,m_2,m_3,m_4,m_5,m_6,m_7,m_8,m_9,m_10;
long int h_1,h_2,h_3,h_4,h_5,h_6,h_7,h_8,h_9,h_10;
long int d_1,d_2,d_3,d_4,d_5,d_6,d_7,d_8,d_9,d_10;
long int m,h,d;
long int total;
m_1=GetTagByte("m_1");m_2=GetTagByte("m_2");m_3=GetTagByte("m_3");m_4=GetTagByte("m_4");
m_5=GetTagByte("m_5");m_6=GetTagByte("m_6");m_7=GetTagByte("m_7");m_8=GetTagByte("m_8");
m_9=GetTagByte("m_9");m_10=GetTagByte("m_10");
m=m_1+m_2+m_3+m_4+m_5+m_6+m_7+m_8+m_9+m_10;
h_1=GetTagByte("h_1");h_2=GetTagByte("h_2");h_3=GetTagByte("h_3");h_4=GetTagByte("h_4");
h_5=GetTagByte("h_5");h_6=GetTagByte("h_6");h_7=GetTagByte("h_7");h_8=GetTagByte("h_8");
h_9=GetTagByte("h_9");h_10=GetTagByte("h_10");
h=h_1+h_2+h_3+h_4+h_5+h_6+h_7+h_8+h_9+h_10;
d_1=GetTagByte("d_1");d_2=GetTagByte("d_2");d_3=GetTagByte("d_3");d_4=GetTagByte("d_4");
d_5=GetTagByte("d_5");d_6=GetTagByte("d_6");d_7=GetTagByte("d_7");d_8=GetTagByte("d_8");
d_9=GetTagByte("d_9");d_10=GetTagByte("d_10");
d=d_1+d_2+d_3+d_4+d_5+d_6+d_7+d_8+d_9+d_10;
return total;
}
另外一个实验运行的函数是在组态画面中与按钮的单击动作相连接的。
在激活项目后,查看画面或者点击按钮都没有反应,在GSC Diagnostics调试框里查看有如下信息
unresolved external function
错误代码是1007001 4099,函数手册里说这个代码表示 访问不在动作中的符号,一直搞不清这是什么意思。
期望高手指教,感激不尽!