wincc安装后运行提示错误08x004610a:(NULL)
这个情况的原因:
1,直接复制项目文件的方式来复制,造成出现这样错误;请用wincc自带的项目复制器Project Duplicator。
2,SQL服务器的安全模式设置被改变了;将SQL服务器的安全模式设置成“Mixed Mode”。
3,计算机的名称改变引起。
4,项目路径中使用了非法的命名字符。(包括项目名称)中含有中文引起的
5,计算机的用户权限不够高。
6,应该是wincc项目文件中的数据库数据太大,用wincc工具中的项目复制器复制一个就可去掉数据库中的数据,而且速度运行很快
错误:应该是报警归档出现问题!
你把报wincc的“警运行系统”运行系统取消看看是不是报警模块出错了,如果是wincc v6.0以上版本的话,用wincc自带的项目复制器来重新复制一个项目吧!如果是v6.0以下的版本的话就清空归档数据库
7,把wincc中的“计算机”的属性中的“报警运行系统”前的勾去掉看看!可能是项目中的报警归档不正确;你用wincc自带的项目复制器来复制新的项目在运行。
想实现如下功能:在GHAPHIC DESIGER 画了一个静态文本框,当现场一开关量丢失时,在WINCC-RUNTIME界面弹出一对话框。以便提醒操作员及时通知检查。怎么操作呢
将文本框的可见和隐藏与变量关联即可
wincc自动弹出画面用全局动作实现,变量触发器来实现触发功能。
如:bittag二进制BOOL变量改变(可能的情况:怎么用printf输出bool函数值0—>1,1—>0)都触发全局脚本执行,然后在全局脚本中加个if判断语句,如果bittag为1(代表闭合)就执行显示要显示的wincc画面了。
if (!bittag)
{
SetTagBit("show",1);//把show绑定到画面的显示属性中
}
或者:
if (bittag==1)
{
SetTagBit("show",1);//把show绑定到画面的显示属性中
}
打开你的开始菜单WINCC 程序目录下的TOOL 目录下的WinCC TAG Simulator(变量模拟器),在文件中打开你的工程,然后在编辑中新建变量(选择你要模拟的变量),然后在下面的属性中设置变量的范围和类型,然后回到LIST OF TAGS 点击START ,变量的变化情况回在下面显示出来的
报警按时间打印:印时间选择教程
1. 报表编辑器-〉布局,新建动态对象中的动态表格。然后连结表格。
2. 取消时间范围的选择,并建立好变量选择,这里的变量应该是变量记录中的归档变量,其采集时间是从归档变量中设置的。
3. 完成后退出并新建打印作业。取消启动参数的选择,选择时间范围中的绝对时间。
4. 实现打印功能最关键的是一个新建的项目函数,西门子的教程上有例子。我已将条是调试通过。
/*****************************************************************************/
// 函数名:ModifyPrintJob
// 功 能:修改打印作业的绝对时间
/*****************************************************************************/
BOOL ModifyPrintJob(SYSTEMTIME st1, SYSTEMTIME st2, char
jobname[200])
{
BOOL fRet;
PCMN_ERROR pError;
HPROPERTIES hProp;
LPVOID ptr1, ptr2;
DWORD typ;
DWORD dwVal;
char
propname1[200],propname2[200];
TCHAR g_szProj[MAX_PATH+1];
typ = VT_DATE;
strcpy( propname1, "ABSOLUTESELECTIONFROM" );
strcpy( propname2, "ABSOLUTESELECTIONTO" );
ptr1 = (LPVOID)&st1;
ptr2 = (LPVOID)&st2;
if( !DMGetRuntimeProject( g_szProj, MAX_PATH, pError ) )
{
printf( "Error DMGetRuntimeProject(...)
" );
return FALSE;
}
hProp = RPJCreatePropertyHandle( g_szProj, pError );
if( !hProp )
{
printf( "Error RPJCreatePropertyHandle(...)
" );
return FALSE;
}
if( !RPJGetJobProps( hProp, jobname, pError ) )
{
printf( "Error RPJGetJobProps(...)
" );
RPJDeletePropertyHandle( hProp, pError );
return FALSE;
}
if( !RPJSetProperty( hProp, propname1, ptr1, (VARTYPE)typ,
200, pError ) )
{
printf( "Error RPJSetProperty(...)
" );
RPJDeletePropertyHandle( hProp, pError );
return FALSE;
}
if( !RPJSetJobProps( hProp, jobname, pError ) )
{
printf( "Error RPJSetJobProps(...)
" );
RPJDeletePropertyHandle( hProp, pError );
return FALSE;
}
if( !RPJGetJobProps( hProp, jobname, pError ) )
{
printf( "Error RPJGetJobProps(...)
" );
RPJDeletePropertyHandle( hProp, pError );
return FALSE;
}
if( !RPJSetProperty( hProp, propname2, ptr2, (VARTYPE)typ,
200, pError ) )
版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。
发表评论