wincc教程 控件大小可以单独调整长度吗

MariaDB 存储过程返回 汉字有关问题_VC2005中怎么将自定义的控件添加到工具箱中_初学Qt,label长度改变,窗口大小如何自动调整__脚本百事通
稍等,加载中……
^_^请注意,有可能下面的2篇文章才是您想要的内容:
MariaDB 存储过程返回 汉字有关问题
VC2005中怎么将自定义的控件添加到工具箱中
初学Qt,label长度改变,窗口大小如何自动调整
MariaDB 存储过程返回 汉字有关问题
MariaDB 存储过程返回 汉字问题创建代码如下:CREATE DEFINER=`root`@`localhost` PROCEDURE `test`(IN `id` INT, OUT `result` VARCHAR(50)) LANGUAGE SQL NOT DETERMINISTIC CONTAINS SQL SQL SECURITY DEFINER COMMENT ''BEGIN
if id = 1 then
set result = '红字';
set result = 'ghj';
ENDset names utf8;set @a='';
CALL `test`(0, @a);select @a;没有问题;set names utf8;set @a='';
CALL `test`(1, @a);select @a;报错!运行总是无法成功返回汉字,郁闷------解决方案--------------------
create procedure t ( aa char(10) charset 'gbk')
VC2005中怎么将自定义的控件添加到工具箱中
VC2005中怎样将自定义的控件添加到工具箱中?1.简单一点的:从CEdit类继承了一个新类CMyEdit,怎样将该新类添加到工具箱中作为自定义控件以达到复用的目的?如果不能添加到工具箱中,怎样把该新控件添加到对话框资源中?2.复杂一点的:VC2005中能否将几个文本框和组合框通过添加到非模态的对话框中并将该对话框作为新控件添加到工具箱中而达到复用的目的?如果不能,怎么样将几个控件组合起来作为一个自定义控件而复用?不会要把自定义控件都做成ActiveX控件然后再在VC中引用吧?------解决方案--------------------
要想在资源中使用,就得做成ActiveX1、你可以在资源中拖放原来的编辑控件,在头文件中定义变量的时候手动改为CMyEdit对象2、动态创建的话你直接定义为CMyEdit对象创建就是了
------解决方案--------------------
想添加到工具箱或者你说的那样复用,就得做成COM组件以供调用。组合控件...这个不是很好实现
------解决方案--------------------至少按您的要求难以实现
------解决方案--------------------
其实你最后的疑问就是你的答案了。1 自己扩展的组建,通过添加变量向导关联到父类,比如这里就是 CEdit, 然后手动在 .h 中改成对应的子类,比如这里就是你的 CMyEdit2 你可以把你封装好的控件组合做成一个公用的对话框,在你需要使用的工程里面再 include、调用就是了。 就像 Windows 的通用“关于”对话框
初学Qt,label长度改变,窗口大小如何自动调整
初学Qt,label长度改变,窗口大小怎么自动调整一开始:http://img.my.csdn.net/uploads//_6973.PNG选择后:http://img.my.csdn.net/uploads//_9803.PNG取消选择后:http://img.my.csdn.net/uploads//_9127.PNGlabel变小了,但窗口大小没变回来,请问该怎么办------解决方案--------------------
layout-&setSizeConstraint(QLayout::SetFixedSize);layout是最外层的layout.
如果您想提高自己的技术水平,欢迎加入本站官方1号QQ群:&&,&&2号QQ群:,在群里结识技术精英和交流技术^_^
本站联系邮箱:WinCC中MSFlexGrid控件编程程序_百度文库
两大类热门资源免费畅读
续费一年阅读会员,立省24元!
评价文档:
2页免费87页1下载券50页免费34页免费41页1下载券 42页1下载券2页1下载券11页1下载券36页1下载券70页1下载券
喜欢此文档的还喜欢4页免费7页免费9页免费3页免费8页2下载券
WinCC中MSFlexGrid控件编程程序|
把文档贴到Blog、BBS或个人站等:
普通尺寸(450*500pix)
较大尺寸(630*500pix)
你可能喜欢温馨提示!由于新浪微博认证机制调整,您的新浪微博帐号绑定已过期,请重新绑定!&&|&&
make the plans,
believe in yourself,
and go for what you want!
LOFTER精选
17:071、问: 如何触发计算机扬声器的声音?  答: 编写如下C-Action:  #pragma code("kernel32.dll");  BOOL Beep(DWORD dwFreq,DWORD dwDuration);  #pragma code();  Beep(500,500);  2、问: 如何通过C脚本来确定报警信息?  答: 首先必须在画面中插入报警控件,可以用如下两种方式来确认信息:  (1)、确认单条信息  4版本和高于此版本的WinCC  BOOLOnBtnSinglAckn(char*lpszPictureName,char*lpszObjectName)  5版本和高于此版本的WinCC  BOOLAXC_OnBtnSinglAckn(char*lpszPictureName,char*lpszObjectName)    (2)、确认报警窗口所有可见的报警  4版本和低于此版本的WinCC  BOOLOnBtnVisibleAckn(char*lpszPictureName,char*lpszObjectName)    5版本和高于此版本的WinCC  BOOLAXC_OnBtnVisibleAckn(char*lpszPictureName,char*lpszObjectName)    3、问: 如何在WinCC中读取系统时间?  答: 通过如下C-Action:  #pragma code("kernel32.dll");  Void GetLocalTimes(SYSTEMTIME*lpst);  #pragma code();  SYSTEMTIME  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对话框实现。具体如下:  #include"apdefap.h"  void onClick(char*lpszPictureName,char*lpszObjectName,  char*lpszPropertyName)  {ProgramExcute("c:\\win98\\control.exe timedate.cpl");}  其中执行的程序路径,需根据具体情况填写。    5、问: 如何在WinCC中调用SQL语言?  答: 1、创建一个SQL文件,此文件在ISQL中建立,文件内包含所要执行的SQL语句。Windows对话框实现。具体如下:  2、在WinCC中用C Script 调用上述SQL文件,如下所示:  #include"apdefap.h"  void OnLButtonDown(char* lpszPictureName,  char* lpszObjectName,  char* lpszPropertyName,  UINT nFlags,int x,int y)  {  char*a="c:\\siemens\\common\\SQLANY\\ISQL-q-b-c  UID=DBA;PWD=SQL;DBF=E:\\testsql\\testsqlRT.DB;  DBN=CC_testsql_99-12-03-12:48:26R;READ  E:testsql\\test.sql";  Printf("%s\r\n",a);  ProgramExcute(a);  }  下面是一个简单的SQL文件内容:  select *from pde#hd#t#  output to e:\\test2.txt FORMAT ascii  注意:文件名及路径中不要带空格。6、问: 如何整点启动归档?  答: 在"Globle Script"下的Project function编写程序函数:cyclicarchive  BOOL cyclicarchive()  {  #pragma code("kernel.dll");  void GetLocalTime(SYSTEMTIME*lpsz);  #pragma code();  SYSTEMTIME  Int t1;  GetLocalTime(&time);  T1=time.wM  If(t1==00)  {  SetTagBit("startarchive",1);  Return(BOOL) (GetTagBit("startarchive"));  }  }  在Tagloging中的"Properties of process tag"中的"archivetag"Tab下的Archivetype选择Cycle-selective,在"Event"标签下的"StartEvent"内选择cyclicarchive函数。  7、问: How can I set and reset a WinCC variable by mouse click with Cscript?  答: The following function shows how you can alternately set andreset a WinCC variable by mouse click.  #include "apdefap.h"  void OnClick(char* lpszPictureName, char* lpszObjectName, char*lpszPropertyName)  {  BOOL  z=GetTagBit("MyBitVariable");  if (z==0)  SetTagBit("MyBitVariable",1);  else  SetTagBit("MyBitVariable",0);  }  8、问: How can I program a waiting function (Sleep) in WinCC?  答: The following sample program shows how the "Sleep" isused.  #pragma code("Kernel32.dll")  void Sleep(int milliseconds);  #pragma code()  Sleep(1000); //time specification in milliseconds  Warning:  If you use Sleep(), processing the C script is interrupted forthe time indicated. Requests for the interrupted function cannot beprocessed during this time.  9、问: How can I output a SIMATIC timer minutes and seconds inWinCC?  答: If you want to output a SIMATIC Timer in minutes and secondsin WinCC, then in WinCC please use a static text in the GraphicsDesigner to which you interface the following action:  char* _main(char* lpszPictureName, char* lpszObjectName, char*lpszPropertyName)  {  char *p;  DWORD  int min,  p=SysMalloc(10);  hilf=GetTagDWord("Time");  min=hilf/60000;  sec=hilf%;  sprintf(p,"%d min %d sec",min,sec);    }  The "Time" variable linked to the I/O field must have thefollowing properties:  •Data type "32-bit value withoutsign"  •Format adaptation"DwordToSimaticBCDTimer"  •Address: data area "Times" and addressing"Word"10:快捷地切换画面通常要将所有的设备都显示在一张画面里是不可能的,所以将设备按照处理工艺的功能步骤分级在多张画面内,以一个污水处理厂为例分为电泳线、前处理线、生化线、加药线等,之间的切换使用按钮的鼠标动作来实现。这对于用WinCC现成的鼠标动作来实现是很简单的,但是不是要在每张图上都使用相同数量且位置排列顺序一致的按钮呢?(出于对操作的一致性考虑,不能让操作人员在不同的图上,不同的位置找想要操作的按钮)这个问题的解决我们使用WinCC的脚本编程,在按钮动作中调用它的内部函数来实现。首先,组态一幅背景画面,其中包括要显示的静态文本、OLE(例如,时钟)、所有的图形切换按钮及推出关机按钮。第二,在背景画面中插入智能对象(Smart Object)中的画面窗口(PictureWindow),并且使其的尺寸与其分级画面相同。第三,在相应的切换按钮的属性-&事件-&鼠标动作中编写如下C语言脚本代码:&&&&&  #include\"apdefap.h\"&&&&&  void onClick(char *lpsz PictureName,&&&&&  char *lpsz ObjectName,char *lpsz PropertyName)&&&&&  {&&&&&  SetPictureName(\"背景画面\", \"画面窗口\", \"电泳处理线\");&&&&&  }//\"背景画面\"即为始终显示地静态背景的属性名,\"画面窗口\"即为在背景画//面中插入地画面窗口(Picture&&&&&Window)属性名,\"电泳处理  线\"即为分级画面//的名称这样就能方便快捷地切换画面。11:必须始终显示的报警记录,用画面颜色闪烁来提示操作者有故障发生,可以用同样的C语言脚本(当然不是加在鼠标动作中)在背景画面的底部留下一条类 似Windows状态栏的报警栏,当出现故障报警的时候在报警栏显示最近一条报警记录,操作人员可以利用按钮切换到主报警记录画面了解故障的完全信息。  12:单个部件的组态WinCC在其内部的图库里集成很多的图形对象,如水箱、电机、阀门等等,对于污水处理用的最多的是水池,搅拌机等等。为了使组态画面贴近实际,能够更 好的反应现场工况,图库里的元素并不能满足要求。我们可以利用WinCC的画图工具自己绘制适应实际的图形元素,并且使用C脚本使其产生动画效果。对于调节池,反应池等可以用矩形来表示,以图形的填充高度来示意其液位的高度。这里要注意的是一些数值地转化,由于一些仪表例如E+H的超声波液位计,是以4~20毫安的电流信号进入,对于表的参数设定好以后4毫安就对应相应池子的液位最低点,而20毫安对应于池子的液位最高点。所以在显示数字高度的时候要将相对4、20毫安的数值转化为实际池子的高度范围例如,0.5~5.5米。但是对于图形填充的时候是按照百分数来表示的所以还要将数值转化为0~100%的度量范围。搅拌机的组态可以使用C脚本使其产生动画,在其运行时产生视觉上的旋转。实际上搅拌机的图形是用两个部分椭圆组成的,在椭圆的属性-&几何-&半径中加入代码如下:&&&&&&  #include \"apdefap.h\"&&&&&&  long _main(char* lpszPictureName, char* lpszObjectName, char*&&&&&&lpszPropertyName)&&&&&&  {&&&&&&  static int x=25,y,z;//x为半径的初始值为25,y为切换变量,z为搅拌机运行状态变量&&&&&&  z=GetTagBit(\"202搅拌机运行\"); //取得搅拌机的运行状态&&&&&&  if(z!=0)&&&&&&  {&&&&&&  switch(y)&&&&&&  {&&&&&&  case 0:&&&&&&  x=x-4;&&&&&&  if(x&=0)&&&&&&  y=1;&&&&&&  &&&&&&  default :&&&&&&  x=x+4;&&&&&&  if(x&=25)&&&&&&  y=0;&&&&&&  &&&&&&  }&&&&&&  }&&&&&&  &&&&&&  }13:语音报警的组态在工业现场安全是极其重要的,无论从那个角度讲我们应该利用一切手段减少故障的发生。在故障已经发生的时候,应该在第一时间以多种方式通知操作人员有故 障发生。现代微处理计算机的处理速度可以完全胜任对于图形,语音地同时处理。所以我们可以利用计算机的声卡和音箱在有故障发生的时候产生语言报警,但是问 题是WinCC本身并不能产生语音的功能,而且其内部的上千个函数也没有提供处理声音的函数。解决这个问题的方法归功于微软开发的WinCC与操作系统地 完美结合,因为在WinCC中可以直接调用Windows的API函数。实现的具体C脚本代码如下:&&&&&&  long _main(char* lpszPictureName, char* lpszObjectName, char*&&&&&&lpszPropertyName)&&&&&&  {&&&&&&  #pragma code(\"Winmm.dll\")&&&&&&  void WINAPI PlaySoundA(char *pszSound,char *hmode,DWORD dwflay);&&&&&&  #pragma code()&&&&&&  if(GetTagBit(\"112排泥备泵故障\"))&&&&&&  PlaySoundA(\"d:\\\\\\\\winnt\\\\\\\\media\\\\\\\\Mircosoft sound.wav\",NULL,8);&&&&&&  return 1020;&&&&&&  }  有一个值得主意的问题是此段代码的加入点,通过反复多次的实践得出结论,即这个点必须加在始终显示于屏幕上的任何图形元素的属性中,这样才能达到语言报警的预期效果。14:当为WinCC指定PC名时应注意什么?解答:计算机名不能包含特殊字符如空格、退格和下划线,并前13个字符必须是唯一的。由于操作系统的原因,名字的长度不能超过15个字符。因此推荐只使用a to z, A to Z, 0 to 9这些字符。必须以子母开头。从SIMATIC WinCC V6.0起,有如下限制:计算机名可包含下划线。然而,当使用DNS主机名时,不能使用下划线。  15:和plc用S7通讯为什么产生连接错误代码:D801?解答:这个错误代码表示WinCC变量地址错误,检查每个变量的地址和通讯连接是否正确,如果变量的地址不属于控制器的地址范围,则会报这个错误代码。  16:和plc用S7通讯怎样清除错误代码8304?解答:WinCC运行时的画面不再更新,WinCC的日志文件中有错误代码8304,这个错误码表明WinCC和S7连接出现问题。解决方法:停止AS站的循环读服务,在"WinCC Explorer & 变量管理 & SIMATIC S7 PROTOCOL SUITE"中。右键单击出现问题的S7连接,选择"系统参数",清除复选框“周期管理&通过”的选择。  17:在动态值域对话框中怎样才能按逻辑连接两个因变量到一个结果?解答:由于在WinCC动态值域对话框中的布尔数学体系运算符,您可以根据C脚本惯例运用这些符号。下面是符号及其意思的概括:与 位比较 &与 表达式比较 &&或 位比较 |或 表达式比较 ||非&&&!通过Object & Properties & Dynamic进入WinCC动态值域对话框 ,& & 并右击"Dynamic Value Ranges dialog" 按照需要输入表达式即可。  18:WinCC图形编辑器中是否存在通过鼠标点击达到增加/减少变量值的对象?解答:可以使用OCX“SpinButton”实现这个功能。下面描述了如何合并和联系这个对象。在WinCC图形编辑器中,插入一个“Control”类型的小对象。在打开的窗口中选择进入Microsoft Forms 2.0 SpinButton并以OK来确认。右击打开对象“SpinButton”的属性。在控制属性中使用您想要的变量来连接“Value”属性。但要注意:使用第三方的ActiveX控件会导致错误(例如内存丢失,性能降低,系统阻塞)。" 软件应用者应该对由于使用第三方ActiveX控件而造成的任何问题负责。ActiveX控件事件连接C脚本如果连接C脚本到ActiveX控件事件,那么应该确认这个事件名至少5个字符长。如果这个事件名少于5个字符长,那么C脚本不被执行。  19:重新启动后,不使用登录窗口如何以一个缺省用户的身份自动登录?怎样确保运行期间有个缺省用户始终处于登入状态?即使另外一个用户已经预先退出。解答:重新启动以及在运行期间,您希望HMI系统达到最小的实用性而不使用登录窗口。然而,对于高级操作,登录功能应当保留。此外,如果没有用户 登录,则有一个缺省的用户自动登录。缺省用户的权限可以在用户管理器中根据需要设定。可使用下面的C脚本执行此项功能,请按照下列步骤进行:将附件中的函数“Silentlogin.pas”复制到项目中的“PAS”子文件夹中。在项目中选择Global Script & C Editor & Actions & Global Actions并打开全局动作(Global Action)“Silentlogin.pas”。在“PWRilentLogin (“Login”,“Password”);”一行中,用缺省的用户名替换用户“Login”,用 缺省用户的口令代替“Password”。编译和保存C脚本。用 变量@CurrentUser设置一个变量触发器,周期选择为“ 2 s”。这确保了系统不会因脚本而负荷过重。在所述的例子中,变量 @CurrentUser(包含当前登录的用户)每隔 2 秒钟被询问一次察看有无变化。只有当用户变化时才调用脚本,例如当前用户退出时。确保已经在计算机的属性“Startup”选项卡上激活了“Global Script Runtime”。  除此之外,SIMATIC PCS 7(SIMATIC PCS 7 V6.0 SP1及更高版本)用户还需执行下列步骤:将系统画面@Welcome.pdl复制到一个安全的位置,以便可以恢复原始画面。使用Graphics Designer打开画面@Welcome.pdl。打开保存在选定画面中的C脚本,(右击)& Event & Picture Object & Miscellaneous & Open Picture)。注释掉“PASSLoginDialog(Screen);”一行,以 // 作为注释的前缀。 编译C脚本。 保存系统画面@Welcome.pdl。  20:如何进行WinCC 和 S7之间的时间同步?  回答:下面的方法只能进行时间设置而不能完成时间同步的功能。因为必须考虑到延迟,比如报文的处理时间,C 脚本的运行时间等,因此这个方法在精度方面不如真正的时间同步精确。&&&1.创建一个数据块 ,其中有一个 "DATE_AND_TIME" 类型的变量和一个布尔变量。当元素"Flag" 在WinCC中被置1,程序就调用系统函数SFC0 "SET_CLK"。D B1中的触发变量"Flag" ( DB1.DBX 8.0)在WinCC脚本中被SetTagBitWait("DB1_FLAG",TRUE) 置1。 因此仅当此C脚本在WinCC中被调用时,时间才被设置。SFC0 必须先添加到Step7程序的块文件夹中。 在此段程序中,DB块中的各个时间变量被写到作为 SFC0参数的"DATE_AND_TIME"类型的本地变量"DateAndTime"中。 用 "SET_CLK" 设置完时钟后,触 发变量"Flag"被复位。 注意: 在此段程序中,本地变量"DateAndTime"存储在以0为起始地址的本地数据堆栈中。如果不得已要把这个变量分配到别的地址,同 时对传送指令参数化时,必须要考虑到地址分配的问题。&&&2.为“年”新建一个 "Unsigned 8-bit value"类型的变量,对其进行格式变换 ByteToBCDByte,然后为其在DB块中选择相应的字节地址: 在WinCC 中创建剩下的变量。 选择"Unsigned 16-bit value" 类型然后改变格式为 WordToBCDByte ,然后在DB块中选择实际的字节地址。&&&3.最后,在WinCC中创建一个C脚本来读取系统时间并进行拆分,然后把它们写到DB1中。 S7&中的时钟设置是被脚本中的"DBI_FLAG"变量触发的。21:WINCC--如何在程序中动态修改用户密码1、点击“开始”--》“设置”--》“控制面板”--》“管理工具”--》“数据源(ODBC)”,打开ODBC数据源管理器2、在用户DSN页面的用户数据源中找到与当前项目所关联的一项,其名称为“CC_项目名_项目建立日期时间”,记下该项的名称3、在脚本中加入以下代码:#pragma code("UseGen.dll")#include "USEGENAP.H"#pragma code()LPCMN_ERROR //定义的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×= byte ==& 约等于800MB考虑到留出20%的余量,设定单个数据片段为1G所有数据归档期限是两个月,因此所有段的尺寸为单个片段尺寸乘以单个片段的个数,即:1GB×9=9GB25:如何计算快速速归档数据库的尺寸?快速归档时一条变量归档记录占用3 字节的空间,每个变量以2 秒钟为归档周期,一周之内会产生302400 条记录,若有50 个变量的归档,则单个数据片段的大小计算为:3×50×360000 byte ==& 约等于46MB考虑到留出20%的余量,设定单个数据片段为60MB所有数据归档期限是两个月,因此所有段的尺寸为单个片段尺寸乘以单个片段的个数,即:60MB×9=540MB26:所有的归档变量都可以计算出它占用的数据库大小吗?只有周期连续归档的数据才能定量的计算其占用的数据库尺寸,因此当您对应设定的时间期限计算并设置数据库尺寸大小时,需要考虑其他数据归档类型的数据,留出相应的余量。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和10K29:WinCC 能提供的最高变量刷新速度是多少?对于一般的网络通讯方式来说,WinCC 能提供的最高刷新速度是250 毫秒,但WinCC 采用RawData 归档数据链接的方式可以实现对S7-400&的高速数据采集。30:如何实现WinCC 高速数据采集?WinCC 采用RawData 归档数据链接的方式可以实现对S7-400&的高速数据采集。原理是&将每个循环周期所采集的过程值(或&以其他方式得到的数据或数据包)以一定的顺序存放在具有一定的格式的DB 块中,当到达一定的数量后,&可以调用系统功能块 SFB37(AR_Send)将这个DB 块主动地发送给WinCC, 然后WinCC 会在后台自动调用标准化DLL 来拆解数据,并将其按时间顺序保存在数据库中。在WinCC 的过程画面中,可以使用在线趋势控件或在线表格控件来查看所采集的数据。由于是批量传送,可以有效地提高通讯效率,使高速数据采集成为可能,而这时所谓的采集频率就取决于你对保存在DB 块中的各过程值间的时间间隔的定义。可以定义的最小的时间间隔是1 毫秒。但如果是&每个循环周期采样一次,那么定义的时间间隔应大于&循环周期。DB 块的最大尺寸是16KB。技巧:可以考虑使用多DB 块进行缓冲并添加程序控制DB块的写入和发送顺序,能够实现连续的采集,但要充分考虑CPU 的负载和循环周期。  31:WinCC 高速数据采集的前提条件是什么?1) WinCC 的版本为 V5.1 或更高2) S7-400 系列CPU3) WinCC 站与S7 400 站建立S7 连接(包括MPI,ProfiBus,TCP/IP,工业以太网都可以实现)32:为什么我无法从WinCC里调用STEP 7 变量?从WinCC里调用STEP 7 变量的前提条件是,WinCC的项目文件必须是集成在STEP 7项目中的。在安装所有Simatic 软件前,请查阅软件的安装注意事项,确定操作系统与软件的兼容性。该文档一般位于:CD\Documen\&语言版本&\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项目。  34:wincc怎样和s7plc-sim连接?&&&&要访问SIM模拟软件,必须按如下方法操作,按照以下的顺序来安装程序:&&&&&&&&&&&&STEP 7 V 5.x&&&&&&&&&&&&SIM V4.x以上&&&&&&&&&&&&WinCC V5.x&&&&&&&&&&&&选择用户自定义安装。 对于SIMATIC WinCC V5&&&&&&&&&&&&SP1及以下版本的用户,在“通讯”组件下,必须选择“S7Dos”和“对象管理器”组件。&&&&&&&&&&&&对于SIMATIC WinCC V5&&&&&&&&&&&&SP2及更高版本的用户,“S7Dos”是自动安装的。就是说不再需要在“用户自定义安装”下选择该选项。在PG/PC界面上做如下设置:在控制面板中双击“设置PG/PC界面”。在“应用程序的访问点”域中,选择“MPI&&&&&&&&&&&&(WinCC)”。在“使用的界面参数”域中选择“&无&”。启动应用程序STEP 7:&&&&&&&&&&&&启动SIMATIC管理器&&&&&&&&&&&&启动SIM&&&&&&&&&&&&打开要模拟的项目或组态一个项目。&&&&&&&&&&&&在项目中添加一个OS。&&&&&&&&&&&&在SIM中加载项目。&&&&&&&&&&&&启动WinCC并创建一个新项目或打开已有的项目。&&&&&&&&&&&&WinCC&&&&&&&&&&&&添加“SIMATIC S7 PROTOCOL SUITE”到变量管理器。&&&&&&&&&&&&在MPI下添加一个新连接。&&&&&&&&&&&&右击该连接然后选择“属性”。&&&&&&&&&&&&点击“属性”按钮。&&&&&&&&&&&&在“连接”标签中指定MPI地址和已在STEP 7中组态好的CPU的插槽。&&&&&&&&&&&&确认所做的指定。&&&&&&&&&&&&激活WinCC项目。&&&&&&&&&&&&进入“开始 & SIMATIC & WinCC & 工具 & 通道诊断”。在“通道连接”下可以显示连接的状态。&&&&&&&&&&&&如果连接没能设好:在WinCC资源管理器中的“系统参数 - MPI & 单元”中,启用选项“自动设置”。&&&&&&&&&&&&在“系统参数 - MPI & 通道”中,取消“使用的循环读取服务”选项。&&&&&&&&&&&&wincc和仿真通讯需要SIM ,先将SIM&&&&&&&&&&&&运行,建立一个WINCC项目,使用MPI通讯即可,说白了跟MPI通讯一样,只是是用SIM 在计算机上模拟的&&&&&&&&&&&&但是有一点要注意的是,这种方式下不能使用输入区(I区),凡是有输入的地方都要用M区来代替&&&&&&&&&&&&可以使用输入区(I区),只是有些特殊功能不能用。
阅读(157)|
用微信&&“扫一扫”
将文章分享到朋友圈。
用易信&&“扫一扫”
将文章分享到朋友圈。
历史上的今天
loftPermalink:'',
id:'fks_082075',
blogTitle:'Wincc 50个常见问题',
blogAbstract:'Wincc 50个常见问题1 17:071、问: 如何触发计算机扬声器的声音?  答: 编写如下C-Action:  #pragma code(\"kernel32.dll\");',
blogTag:'',
blogUrl:'blog/static/',
isPublished:1,
istop:false,
modifyTime:0,
publishTime:4,
permalink:'blog/static/',
commentCount:0,
mainCommentCount:0,
recommendCount:0,
bsrk:-100,
publisherId:0,
recomBlogHome:false,
currentRecomBlog:false,
attachmentsFileIds:[],
groupInfo:{},
friendstatus:'none',
followstatus:'unFollow',
pubSucc:'',
visitorProvince:'',
visitorCity:'',
visitorNewUser:false,
postAddInfo:{},
mset:'000',
remindgoodnightblog:false,
isBlackVisitor:false,
isShowYodaoAd:false,
hostIntro:'dream,\r\nmake the plans,\r\nbelieve in yourself,\r\nand go for what you want!
hmcon:'0',
selfRecomBlogCount:'0',
lofter_single:''
{list a as x}
{if x.moveFrom=='wap'}
{elseif x.moveFrom=='iphone'}
{elseif x.moveFrom=='android'}
{elseif x.moveFrom=='mobile'}
${a.selfIntro|escape}{if great260}${suplement}{/if}
{list a as x}
推荐过这篇日志的人:
{list a as x}
{if !!b&&b.length>0}
他们还推荐了:
{list b as y}
转载记录:
{list d as x}
{list a as x}
{list a as x}
{list a as x}
{list a as x}
{if x_index>4}{break}{/if}
${fn2(x.publishTime,'yyyy-MM-dd HH:mm:ss')}
{list a as x}
{if !!(blogDetail.preBlogPermalink)}
{if !!(blogDetail.nextBlogPermalink)}
{list a as x}
{if defined('newslist')&&newslist.length>0}
{list newslist as x}
{if x_index>7}{break}{/if}
{list a as x}
{var first_option =}
{list x.voteDetailList as voteToOption}
{if voteToOption==1}
{if first_option==false},{/if}&&“${b[voteToOption_index]}”&&
{if (x.role!="-1") },“我是${c[x.role]}”&&{/if}
&&&&&&&&${fn1(x.voteTime)}
{if x.userName==''}{/if}
网易公司版权所有&&
{list x.l as y}
{if defined('wl')}
{list wl as x}{/list}

我要回帖

更多关于 wincc7.0下载 的文章

 

随机推荐