WinCC的n个经典问题解答41-50
- 格式:pdf
- 大小:210.92 KB
- 文档页数:11
巧用编程解决WinCC组态几个常见问题2008-03-21 下午 05:141 前言中原大化集团复合肥厂(以下简称为复合肥厂)配料称重系统是复合肥生产的中心环节,尿素、磷肥和钾肥以及粘合剂的比例配比直接影响着成品的质量和效用。
复合肥厂为提高工艺控制水平,精确配方,采用了PLC控制系统。
2 系统结构复合肥厂控制系统,上位机采用SIEMENS工控机,CPU为P4 1.4G,128MDRAM,20GHD,20’CRT。
下位机为一台S7-400型PLC系统,带11个8×13bit模拟量输入模块,9个8×14bit模拟量输入模块,6个32bit24VDC开关量输入模块。
上位机与下位机通过MPI电缆连接。
现场的4~20mA和24VDC开关量标准信号进入S7-400,上位机通过MPI/DP 通讯口从S7-400获得数据。
3 组态软件该系统硬件均采用SIEMENS公司的产品,并采用SIEMENS公司的配套开发软件,上位机用WinCC软件组态,下位机用STEP 7编程实现。
整个系统中,下位机实现保护、控制和数据采集的功能,上位机执行显示、报警、存储等功能。
WinCC系统组态编程中,Tag是核心概念,人们把它理解为一个外部数据,可以与下位机的一个内存地址单元同步更新,称为外部Tag;也可以作为WinCC系统组态编程的一个全局变量,称为内部Tag(Internal Tag)。
因此,上位机与下位机的数据通讯是通过外部Tag来实现的,一个工艺参数就对应一个外部Tag,控制系统的大小就决定了外部Tag的多少。
WinCC软件根据外部Tag 的最大数量分为128、512等不同版本,以适应不同情况,价格相差很大。
笔者采用的是128Tag版本。
4 应用技巧WinCC是一套功能非常强大的组态软件,但它不可能满足所有的要求。
有些功能可以用编程技巧来实现。
4.1 多Tag传送当需要的工艺参数超过WinCC版本限制的Tag数目,可以用嵌入式C语言编程实现多个工艺参数打包成一个Tag传送。
1、WINCC在进入某一画面时出现Unhandled exception was raised.Lookfile"c:\program Files\semens\w incc\Diagnose\PDLRTSEH.LOG"for details.出现这种情况前只是删除了该画面的一个矩形图。
--------------------------------------------------------------简单的矩形图删除不会有这个问题的,打开记事本看看进一步的错误信息,有什么错误代码.才能进一步找到错误原因.2、在停电之后5611网卡通讯不上,硬件图标上有黄色的叹号,点测试显示“错误0x0382:未找到内部驱动程序信息(L2)”--------------------------------------------------------黄色的叹号或者感叹号说明没有给CP5611驱动,请手动查阅目录C:\WINDOWS\INF或者C:\WINNT\INF,驱动的信息(OEM**.INF)会在这些目录中,卸载CP5611重新安装即可.CP5611完全卸载方法步骤:1.设备管理器卸载.2.打开注册表WINDOWS START MENU->RUN->"REGEDIT",删除下面路径中的所有的条目:HKEY_LOCAL_MACHINE\SOFTWARE\SIEMENS\SINEC\LOGDEVIES.3.重新启动计算机,再次安装5611驱动.WINCC组态服务器不可用,是否打开项目,将本地计算机作为服务器2011-11-21 15:07:56| 分类:iphone | 标签:|字号大中小订阅/leishuang2005/blog/item/e6ce8c47654a2a046b63e50e.html我从别人那考了一个WINCC例子看可是为什么一打开就是显示“组态服务器不可用,是否打开项目,将本地计算机作为服务器”我点了启动本地服务器为什么总是错误,望高人指点问题在于你直接拷贝人家已经在使用的项目文件夹,哪个文件夹是共享的,特别是人家正在运行的项目,这样的项目文件直接复制过来是不能用的,会缺少文件.正确的复制方法:1)关闭正在运行的WINCC项目,可以在WINCC浏览器里关闭,也可以在开始彩单->运行->输入CMD ->在里面窗体输入命令RESET WINCC来强制关闭WINCC及相关文件.2)取消项目文件夹的共享标记.然后复制项目文件夹(当然项目中也可能调用其它可执行文件,这些你需要向设计方了解),也可以是WINCC安装路径里面的项目复制器复制项目到指定计算机.只有用这样的方法复制的项目文件才能保证WINCC功能部分软件是完整可用的(WINCC内部直接调用可执行文件的执行的功能除外).你如果是拷贝的整个项目的话,你需要启动本地服务器,然后更改项目里面的计算机名字为你的本机名字,然后关闭wincc再重新打开wincc。
WinCC实用问题问答1、wincc Online Table control 监测的数值有中间划横线、有后面是u的是什么意思?确保WinCC运行正常和通讯没有故障的情况下,出现这种现象的原因:1、归档变量的归档时间点不同;2、归档变量在wincc 在线表格控件中显示时,使用了公共的时间列。
解决方法:1、将要在wincc 在线表格控件中的归档变量的归档周期系数设置成相同、归档/显示周期设置也设置成相同。
2、指定定时器(归档/显示周期所使用的定时器)的循环起始点(如都指定为 0)。
3、取消激活项目,再重新激活项目。
2、两个WINCC和一个PLC通信还是各控制各的如果是前者的话用一个交换机就可以了具体的你可以参考西门子工业网络通讯指南这本书很全面的3、wincc运行时间久了,速度变慢是很正常的。
做一下处理很有必要删除历史数据感觉影响不大,关键是删除归档数据。
先做个备份,然后再删除。
另外,你要注意,有没有配方等数据存在数据库里,如果没有,可以放心删除,如果有,一定要仔细点。
还有,项目的文件,不要放在c盘,否则,系统会更快变慢4、我在笔记本上运行WInCC项目,可以正常运行,可以完成一些组态开发功能,下面提示栏显示变量305/许可证1024,但是我想要激活项目时,进度条第一条显示45%,第二条显示0,不再运行,而且没有任何提示,是什么原因呢?检查:a.项目路径是否有中文名;b.错误的脚本;b.否安装了STEP7,且版本有冲突;c.安装了中文版杀毒软件及防火墙(尤其是瑞星和金山毒霸),建议将你的杀毒软件卸掉;d.更改或删除了项目文件夹内的文件;计算机名、项目存放的完整路径中不能有中文5、用按钮执行settag脚本只能实现一次绑定,当执行之后外部变量如果变化,中间变量就不变化了,怎么样才能实现始终绑定在全局脚本中使用周期脚本比如两秒一个周期,脚本内容:SetTagFLoat("内部变量",GetTagFLoat("外部变量"));6、我用的是内部变量,想用变量模拟器来模拟液位的变化,前几步做完后,到最后一步start simulation是灰色的,为什么?变量模拟器需要在wincc运行时使用,先激活项目,然后开始菜单->SIMATIC->WinCC->Tools->WinCC Tag Simulator ,打开之后edit----->new tag----->选择你需要的变量properties---->选择变量发生类型,有线性的、随机的、布尔型的等。
wincc的经典问题解答123421: WINCC--如何在程序中动态修改用户密码1、点击“开始”--》“设置”--》“控制面板”--》“管理工具”--》“数据源(ODBC)”,打开ODBC数据源管理器2、在用户DSN页面的用户数据源中找到与当前项目所关联的一项,其名称为“CC_项目名_项目建立日期时间”,记下该项的名称3、在脚本中加入以下代码:#pragma code("UseGen.dll") #i ncl"USEGENAP.H"#pragma code()LPCMN_ERROR err; //定义的LPCMN_ERROR型变量,在函数调用中需使用if (PWGENConnect("CC_ass_04-09-21_16:35:22",err)) //建立与数据库的联接,其中CC_ass_04-09-21_16:35:22用第二步中记下的名称取代{ if (PWGENChangePassword(GetTagChar("user"),GetTagChar("oldp assword"),GetTagChar("password"),err)) //修改密码,user,oldpassword,password分别为存贮用户名,原密码,新密码的内部变量,类型为文本变量8位字符集{ //密码修改成功后的操作,如给用户提示等 }}PWGENDisconnect(err); //断开与数据库的联接4、编译运行程序5、工作完成6、与用户管理相关的函数定义存贮在APPLIB目录下的USEGENAP.H文件中,可根据上面示例自行完成添加用户,修改权限等功能。
22:WinCC6.0 中归档时和5.1版本为什么不同了?WinCC V6.0 的后台数据库采用了MS SQL Server 2000,所以归档方式与V5.1 有所不同,它的运行数据存放在数据片段(segment)当中,工程师可以根据尺寸需求组态最大容量或根据时间周期启动新的数据库归档片段。
WINCC的50个经典问题解答1、问: 如何触发计算机扬声器的声音?答: 编写如下C-Action:#pragma code("kernel32.dll");BOOL Beep(DWORD dwFreq,DWORD dwDuration);#pragma code();Beep(500,500);2、问: 如何通过C脚本来确定报警信息?答: 首先必须在画面中插入报警控件,可以用如下两种方式来确认信息: (1)、确认单条信息4版本和高于此版本的WinCCBOOL OnBtnSinglAckn(char*lpszPictureName,char*lpszObjectName)5版本和高于此版本的WinCCBOOL AXC_OnBtnSinglAckn(char*lpszPictureName,char*lpszObjectName) (2)、确认报警窗口所有可见的报警4版本和低于此版本的WinCCBOOL OnBtnVisibleAckn(char*lpszPictureName,char*lpszObjectName)5版本和高于此版本的WinCCBOOL AXC_OnBtnVisibleAckn(char*lpszPictureName,char*lpszObjectName)3、问: 如何在WinCC中读取系统时间?答: 通过如下C-Action:#pragma code("kernel32.dll");Void GetLocalTimes(SYSTEMTIME*lpst);#pragma code();SYSTEMTIME time;GetLocalTime(&time);SetTagWord("Varname",time.wYear);SetTagWord("Varname",time.wMonth);SetTagWord("Varname",time.wDayOfWeek);SetTagWord("Varname",time.wDay);SetTagWord("Varname",time.wHour);SetTagWord("Varname",time.wMinute);SetTagWord("Varname",time.wSecond);SetTagWord("Varname",time.wMilliseconds);4、问: 如何经Windows对话框设置日期时间?答: 通过调用Windows对话框实现。
WINCC安装出现的2个问题及解决方法 [530]1、WINCC在创建项目时出现“找不到网络路径”错误,一旦出现,项目即不能被创建,WINCC无法正常运行。
这种错误是由于在安装WINCC的时候没有关闭防火墙所致。
WINCC安装时系统会提醒使用者关闭防火墙,很多使用者忽略了,在大多数不关闭防火墙就安装的情况下,WINCC也能正常运行,但是有一定概率出现这个“找不到网络路径”错误。
那么解决办法呢?最根本的解决办法是重装系统(这个也是网上大多数同仁推荐的),但是这很麻烦。
我推荐的办法是,先关闭防火墙(所有的!包括WINDOWS自带的,各种杀毒软件附加的,和360SAFE!!)看错误是否能解决,经验证有可能能恢复正常,如果WINCC 能创建项目了,那么在创建项目之后再把防火墙都启动,使系统仍受其保护。
如果还是不能恢复正常,就进入安全模式将防火墙卸载再回到正常启动的XP,看是否芙饩觯 绻 芙饩鼍椭刈胺阑鹎剑 绻 舛疾恍校 蔷椭缓弥刈跋低沉恕K 苑阑鹎皆赪INCC之后再安装是非常重要的,这一点在使用瑞星防火墙的用户尤其关键,如果将瑞星装在WINCC前面,系统都进不去!!!2、WINCC出现“Automation License Manager has not been startedPlease start the service”错误。
这个错误会在两种情况下出现:(1)系统硬件发生了变化,WINCC对系统要求似乎比较高,某些同仁实在受不了开发机器缓慢的速度,就直接给系统添加了内存。
殊不知一旦系统硬件发生变化,WINCC即认为重新被安装在了其他机器上了,根据授权的原则,就会出现这个错误。
(2)对于某些克隆XP的用户来说是由于系统默认将Automation License Manager service关闭了所致。
那么解决办法呢?网上大多数方法是进入“控制面板”----“管理工具”--------“服务”-----将“Automation License Manager service”开启,似乎是很完美的,在有些时候的确能解决问题。
1.Hresult Error产生的原因及解决方案2: Windows XP SP2下安装WinCC V6.0 SP3 Asia的安装步骤 :1、安装补丁程序WindowsXP-KB319740-v5-x86-CHS.exe 文件长度565 KB (578,800 字节)。
2、关闭Windows XP SP2下的Windows防火墙。
要关闭“Windows 防火墙”,请依次单击“开始”、“控制面板”、“网络和 Internet 连接”。
在“常规”选项卡上,单击“关闭”3、安装消息队列打开操作系统“开始”菜单并选择“设置” > “控制面板” > “添加或删除程序”。
单击左边菜单栏中的“添加或删除Windows组件”按钮。
“Windows组件向导”打开。
选择组件“消息队列”,“详细资料”按钮激活。
单击“详细资料”按钮。
对话框“消息队列”打开。
激活“公共”子部件。
注意取消激活其它所有的子组件,并“确定”进行确认。
4、安装Microsoft SQL Server 2000 SP3a加载SQLSERVER2K_SP3A_WINCC.ISO到虚拟光驱安装或虚拟磁盘,如果已经安装SQL Server2000,需要卸载磁盘文件夹映射成虚拟盘符SUBST [drive1: [drive2:]path]SUBST drive1: /Ddrive1: 指定要指派路径的虚拟驱动器。
[drive2:]path 指定物理驱动器和要指派给虚拟驱动器的路径。
/D 删除被替换的 (虚拟) 驱动器。
D:>subst x: D:MyResourcesWinCC6.0软件SQL_Serv_2k_SP3_winccD:>subst x: /d启动“WinCC V6.0的SQL Server 2000 Service Pack 3a”光盘。
选择条目“安装SQL Server 2000”。
如果需要中文版SQL Server2000 +SP4,可以在安装完成后,在重新安装,这样SQL Server2000将会有两个实例名:localhost,localhost/wincc,互相不影响,也可单独卸载某个实例。
1、WINCC在进入某一画面时出现Unhandled exception was raised.Lookfile"c:\program Files\semens\wincc\Diagnose\PDLRTSEH. LOG"for details.出现这种情况前只是删除了该画面的一个矩形图。
--------------------------------------------------------------简单的矩形图删除不会有这个问题的,打开记事本看看进一步的错误信息,有什么错误代码.才能进一步找到错误原因.2、在停电之后5611网卡通讯不上,硬件图标上有黄色的叹号,点测试显示“错误0x0382:未找到内部驱动程序信息(L2)”--------------------------------------------------------黄色的叹号或者感叹号说明没有给CP5611驱动,请手动查阅目录C:\WINDOWS\INF或者C:\WINNT\INF,驱动的信息(OEM**.INF)会在这些目录中,卸载CP5611重新安装即可.CP5611完全卸载方法步骤:1.设备管理器卸载.2.打开注册表WINDOWS START MENU->RUN->"REGEDIT",删除下面路径中的所有的条目:HKEY_LOCAL_MACHINE\SOFTWARE\SIEMENS\SINEC\LOGDEVIES.3.重新启动计算机,再次安装5611驱动.WINCC组态服务器不可用,是否打开项目,将本地计算机作为服务器2011-11-21 15:07:56| 分类:iphone | 标签:|字号大中小订阅/l eishuang2005/blog/item/e6ce8c47654a2a046b63e50e.html我从别人那考了一个WINCC例子看可是为什么一打开就是显示“组态服务器不可用,是否打开项目,将本地计算机作为服务器”我点了启动本地服务器为什么总是错误,望高人指点问题在于你直接拷贝人家已经在使用的项目文件夹,哪个文件夹是共享的,特别是人家正在运行的项目,这样的项目文件直接复制过来是不能用的,会缺少文件.正确的复制方法:1)关闭正在运行的WINCC项目,可以在WINCC浏览器里关闭,也可以在开始彩单->运行->输入CMD ->在里面窗体输入命令RESET WINCC来强制关闭WINCC及相关文件.2)取消项目文件夹的共享标记.然后复制项目文件夹(当然项目中也可能调用其它可执行文件,这些你需要向设计方了解),也可以是WINCC安装路径里面的项目复制器复制项目到指定计算机.只有用这样的方法复制的项目文件才能保证WINCC功能部分软件是完整可用的(WINCC内部直接调用可执行文件的执行的功能除外).你如果是拷贝的整个项目的话,你需要启动本地服务器,然后更改项目里面的计算机名字为你的本机名字,然后关闭wincc再重新打开wincc。
当运行时消息出现时,如何在用户指定的"GMsgFunction()"动作中确定消息文本和过程值?使用说明:在组态消息时,如果设置了属性 "This message triggers an action" , 那么运行时当有指定消息事件(到来,离开,被确认...)时,动作将会被触发。
( 15 KB )图. 01在此 C动作中,可以自己编程来响应指定的报警事件。
"GMsgFunction()" 作为默认的动作被调用。
有关"GMsgFunction()" 的详细的信息:• WinCC 信息系统下的 "Working with WinCC > ANSI-C for Creating Functions and Actions > Function description > Standard Functions > Alarm > GMsgFunction"•条目24842903 - 该条目描述了当该动作执行时的报警事件和"Status" ("St:")数值的意义。
利用该值可以在动作中确定报警的状态。
如果某些情况下,想要用户指定的动作在特定的报警事件(到来,被确认,消息发送或堵塞)时被执行,那么这个状态值和重要。
"GMsgFunction()" 函数可以在全局脚本编辑器中的 "Standard functions > Alarm > GMsgFunction"中找到。
下面下载例子中的 "GMsgFunction()"提供了两个例程,分别判断消息文本和过程值。
GMsgFunction.zip ( 8 KB )重要事项:•确定在修改文件"gmsgfunc.fct" (../Siemens/WinCC/aplib/Alarm)前,先保存原始备份。
WinCC7.0授权的使用方法及常见问题处理WinCC 软件受法律保护,且只能在具有有效许可证的完整状态下使用。
安装的每个软件以及所用的每个选件都需要获得有效的许可证,才能不受限制地使用 WinCC。
从WinCC7.0开始,亚洲版(Asia)的WinCC实行硬狗授权的模式,即WinCC在使用的过程中既要检测系统里是否安装了匹配的授权文件,同时还检测LICENSE_KEY硬件狗是否插在电脑上。
下面就如何正确使用WinCC7.0授权以及在使用过程中出现的常见问题的处理方法进行简单介绍。
1授权的使用方法购买了WinCC7.0的授权后,会得到一套WinCC安装软件和一个用来安装授权的LICENSE_KEY,LICENSE_KEY中包含所购买WinCC功能的授权,LICENSE_KEY外观如图1。
图1安装好WinCC软件后,将此LICENSE_KEY插到电脑的USB口上,然后通过Automation License Manager (授权管理器,随WinCC软件一起提供,且使用Automation License Manager不需要授权)将LICENSE_KEY中的授权导入到电脑中,只有标记有“Hardlock”字样的LICENSE_KEY,在传送完授权后仍然需要插到电脑上。
导入授权的方法如下:打开Automation License Manager,如果安装了SIMATIC Logon,将会弹出一个登录对话框,如图2,图2点“Cancel”将进入如下界面,如图3。
图3用鼠标选中“LICENSE_KEY”,右边会列出LICENSE_KEY中的授权文件,选中LICENSE_KEY中的授权文件拖拽到电脑的目标盘(不建议放到系统盘,避免系统崩溃造成授权文件丢失);或者用鼠标选中LICENSE_KEY中的授权文件,点击右键,如图4。
图4选Transfer(传送),选中目标路径,如图5,至此WinCC的授权导入就完成了。