转帖 wincc的n个经典问题解答之二
-
-
yuhoucaihong
2007-11-11
21: WINCC--如何在程序中动态修改用户密码
1、点击“开始”--》“设置”--》“控制面板”--》“管理工具”--》“数据源(ODBC)”,打开ODBC数据源管理器
2、在用户DSN页面的用户数据源中找到与当前项目所关联的一项,其名称为“CC_项目名_项目建立日期时间”,记下该项的名称
3、在脚本中加入以下代码:
#pragma code("UseGen.dll")
#include "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("oldpassword"),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)当中,工程师可以根据尺寸需求组态最大容量或根据时间周期启动新的数据库归档片段。将归档数据连续的写入数据库,单个数据片段的尺寸到达或者时间界限到达时,系统会自动开启另一个数据片段进行归档。当数据片段的总体尺寸达到最大时,最早的数据片段就会被覆盖,重新开始新的归档。
23:WinCC6.0 中如何设定归档周期?
WinCC V6.0 版本中的快慢速归档的归档周期界限可以由用户自行设
定,该参数在快速归档属性的第三个标签项中设置。
24:如何计算慢速归档数据库的尺寸?
慢速归档时一条变量归档记录占用32 字节的空间,每个变量以2 分钟为归档周期,一周之内会产生5040 条记录,若有5000 个变量的归档,则单个数据片段的大小计算为:
32×5000×5040=806400000 byte ==> 约等于800MB
考虑到留出20%的余量,设定单个数据片段为1G
所有数据归档期限是两个月,因此所有段的尺寸为单个片段尺寸乘以单个片段的个数,
即:1GB×9=9GB
25:如何计算快速速归档数据库的尺寸?
快速归档时一条变量归档记录占用3 字节的空间,每个变量以2 秒钟为归档周期,一周之内会产生302400 条记录,若有50 个变量的归档,则单个数据片段的大小计算为:
3×50×302400=45360000 byte ==> 约等于46MB
考虑到留出20%的余量,设定单个数据片段为60MB
所有数据归档期限是两个月,因此所有段的尺寸为单个片段尺寸乘以单个片段的个数,即:60MB×9=540MB
26:所有的归档变量都可以计算出它占用的数据库大小吗?
只有周期连续归档的数据才能定量的计算其占用的数据库尺寸,因此当您对应设定的时间期限计算并设置数据库尺寸大小时,需要考虑其他数据归档类型的数据,留出相应的余量。
27:WinCC V5.1 中文版的安装要求是什么?
1)WinCC V5.1 亚洲版只有V5.1 这一个版本,不再有后继版本,WinCC V5.1 亚洲版应安装在Windows 2000 SP2 操作系统上
2) WinCC 的语言版本应和操作系统的语言版本相对应,不建议将中文WinCC 装在英文操作系统上
28:有没有快捷的方法如何将WinCC的实时数据通过OPC DA记录到MS Access、MS SQL Server和Oracle数据库中?
可以使用WinCC Industrial Data Bridge将WinCC的实时数据通过OPC DA记录到MS Access、MS SQL Server和Oracle数据库中,但是需要授权,分为以128、 512、2K和10K
29:WinCC 能提供的最高变量刷新速度是多少?
对于一般的网络通讯方式来说,WinCC 能提供的最高刷新速度是250 毫秒,但WinCC 采用RawData 归档数据链接的方式可以实现对S7-400PLC 的高速数据采集。
30:如何实现WinCC 高速数据采集?
WinCC 采用RawData 归档数据链接的方式可以实现对S7-400PLC 的高速数据采集。原理是PLC 将每个循环周期所采集的过程值(或PLC 以其他方式得到的数据或数据包)以一定的顺序存放在具有一定的格式的DB 块中,当到达一定的数量后,PLC 可以调用系统功能块 SFB37(AR_Send)将这个DB 块主动地发送给WinCC, 然后WinCC 会在后台自动调用标准化DLL 来拆解数据,并将其按时间顺序保存在数据库中。在WinCC 的过程画面中,可以使用在线趋势控件或在线表格控件来查看所采集的数据。
由于是批量传送,可以有效地提高通讯效率,使高速数据采集成为可能,而这时所谓的采集频率就取决于你对保存在DB 块中的各过程值间的时间间隔的定义。可以定义的最小的时间间隔是1 毫秒。但如果是PLC 每个循环周期采样一次,那么定义的时间间隔应大于PLC 循环周期。DB 块的最大尺寸是16KB。
技巧:可以考虑使用多DB 块进行缓冲并添加程序控制DB块的写入和发送顺序,能够实现连续的采集,但要充分考虑CPU 的负载和循环周期。
31:WinCC 高速数据采集的前提条件是什么?
1) WinCC 的版本为 V5.1 或更高
2) S7-400 系列CPU
3) WinCC 站与S7 400 站建立S7 连接(包括MPI,ProfiBus,TCP/IP,工业以太网都可以实现)
32:为什么我无法从WinCC里调用STEP 7 变量?
从WinCC里调用STEP 7 变量的前提条件是,WinCC的项目文件必须是集成在STEP 7项目中的。
在安装所有Simatic 软件前,请查阅软件的安装注意事项,确定操作系统与软件的兼容性。该文档一般位于:CD\Documents\<语言版本>\InstallNotes.chm。
要使用WinCC与STEP 7的集成功能,WinCC和STEP 7必须安装在同一台计算机上,必须在安装WinCC之前安装STEP 7。STEP 7 与WinCC的版本必须一致。
33:如何把现成的WinCC项目集成到STEP 7 项目中?
如果你在一台计算机上已经安装了兼容的WinCC和STEP 7,并且有了一个单独使用的WinCC项目,想把它集成到一个已有的STEP 7项目中去。那么,你必须先添加与集成相关的WinCC组件。把WinCC光盘放入光驱,并启动WinCC的安装程序。添加与集成相关的WinCC组件。
按如下步骤把已有WinCC项目文件插入STEP 7项目文件
1.在STEP 7项目文件中插入一个OS站,然后把它改名为已有的WinCC项目名称。
2.在STEP 7项目里删除因仅插入OS站而产生的WinCC项目文件,其位置在STEP 7 项目文件夹里的wincproj文件夹下,例如:d:\siemens\STEP7\S7proj\STEP7_Integration\wincproj\'Name of the OS'
3.最后在项目复制器里用’Save as’把已有的WinCC项目文件存储到STEP 7项目路径下。项目复制器位于开始菜单项"Start > SIMATIC > WinCC > Tools"。
注意:对于集成STEP 7项目里的WinCC项目,你也可以使用压缩工具(Packer)来归档WinCC项目。