当前位置:文档之家› 组态王的常见问题解答

组态王的常见问题解答

组态王的常见问题解答
组态王的常见问题解答

WINCC常用功能

WINCC常用功能(2012-06-13 11:22:46) 标签:wincc 功能 问题 文化分类:自动控制 1问:如何触发计算机扬声器的声音? 答:编写如下C-Action: #pragmacode("kernel32.dll"); BOOLBeep(DWORDdwFreq,DWORDdwDuration); #pragmacode(); 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: #pragmacode("kernel32.dll"); VoidGetLocalTimes(SYSTEMTIME*lpst); #pragmacode(); SYSTEMTIMEtime; 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" voidonClick(char*lpszPictureName,char*lpszObjectName, char*lpszPropertyName) {ProgramExcute("c:\\win98\\control.exetimedate.cpl");} 其中执行的程序路径,需根据具体情况填写。 5、问:如何在WinCC中调用SQL语言? 答:1、创建一个SQL文件,此文件在ISQL中建立,文件内包含所要执行的SQL语句。Windows对话框实现。具体如下: 2、在WinCC中用CScript调用上述SQL文件,如下所示: #include"apdefap.h" voidOnLButtonDown(char*lpszPictureName, char*lpszObjectName, char*lpszPropertyName, UINTnFlags,intx,inty) { 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*frompde#hd#t#test; outputtoe:\\test2.txtFORMATascii 注意:文件名及路径中不要带空格。 6、问:如何整点启动归档? 答:在"GlobleScript"下的Projectfunction编写程序函数:cyclicarchive BOOLcyclicarchive() { #pragmacode("kernel.dll"); voidGetLocalTime(SYSTEMTIME*lpsz); #pragmacode(); SYSTEMTIMEtime; Intt1; GetLocalTime(&time); T1=time.wMinute; If(t1==00) { SetTagBit("startarchive",1); Return(BOOL)(GetTagBit("startarchive")); } } 在Tagloging中的"Propertiesofprocesstag"中的"archivetag"Tab下的Archivetype选择Cycle-selective,在"Event"标签下的"StartEvent"内选择cyclicarchive函数。 7、问:HowcanIsetandresetaWinCCvariablebymouseclickwithCscript? 答:ThefollowingfunctionshowshowyoucanalternatelysetandresetaWinCCvariablebymouseclick. #include"apdefap.h" voidOnClick(char*lpszPictureName,char*lpszObjectName,char*lpszPropertyName) { BOOLz; z=GetTagBit("MyBitVariable"); if(z==0) SetTagBit("MyBitVariable",1); else SetTagBit("MyBitVariable",0); } 8、问:HowcanIprogramawaitingfunction(Sleep)inWinCC? 答:Thefollowingsampleprogramshowshowthe"Sleep"isused. #pragmacode("Kernel32.dll") voidSleep(intmilliseconds);

组态王的经典问题解答

组态王的n个经典问题解答之一 1、变量设定中最大(小)值及最大(小)原始值的意义? 最大(小)值是变量在现实中表达的工程值(如:温度、压力等)的大小,而最大(小)原始值是采集设备中[寄存器]数字量的最大(小)值(如板卡中的819-4095等)。一般对于板卡设备此值为物理量经AD转换之后的值,如12BitAD此值范围0~4096、16BitAD为0~65535,对于PLC、智能仪表、变频器,其本身已将物理值转换为工程值所以此时最大(小)值与最大(小)原始值在设置时是一致的. 2:组态完成后发现工程特别大,怎样把工程文件变小? 可以删除*.AL2(报警信息文件),*.REC(历史记录文件),*.111文件(*.pic文件的备份文件)的文件。 3:在定义变量的基本属性时状态栏中的保存数值、保存参数是什么意思? 保存参数:在系统运行时,修改变量的域的值(可读可写型),系统自动保存这些参数值,系统退出后,其参数值不会发生变化。当系统再启动时,变量的域的参数值为上次系统运行时最后一次的设置值。无需用户再去重新定义。 保存数值:系统运行时,当变量的值发生变化后,系统自动保存该值。当系统退出后再次运行时,变量的初始值为上次系统运行过程中变量值最后一次变化的值。 4:如何不进入系统桌面环境而直接运行组态王工程如何实现(Win98系统)? 编辑Win98系统下的System.ini文件,将shell=explorer.exe改为: path=c:\ProgramFiles\Kingview\ shell=Touchvew.exe 即可 5:组态王里画面属性中覆盖式与替换式有何区别? 覆盖式画面出现时,它重叠在当前画面之上,其他打开的画面还在运行,关闭后被覆盖的画面又可见。替换式画面出现时,所有与之相交的画面自动从屏幕和内存中删除,不再运行。 6:如何利用多个摄像头在组态王上显示多幅画面? 用户需要增加硬件设备:矩阵转换器和画面分割器。视频采集后通过矩阵转换和画面分割再送进组态王中,例如需要显示16个画面,可选择16画面分割器。 7:如何将gif动画用在组态王画面中? 在组态王画面中的工具箱内选折<画点位图 designtimesp=451>这一项并用鼠标在画面中画出一个点位图块,然后点击鼠标右键,在其下拉式菜单中选折〈从文件加载〉,选择所需的gif动画文件。 8:如何用组态王在启动一个应用程序时打开任意路径下的一个文件? 一在组态王中定义一个内存字符串型变量,在StartApp函数调运之前,赋给该变量值,为:应用程序路径+一个或两个空格+文件路径、文件名、文件扩展名。接下来用StartApp 函数,其参数为该变量名称。如用WordPad启动时打开一个.alg文件:定义“文件”问内存

WinCC部分考试题目

WinCC部分 笔试考题: 1、生成一个新的项目的时候,该项目默认的路径是。该项目的路径由用户自己选择想要放置的驱动器和文件夹。 A.安装WinCC的目录中的projects文件夹中,不能。 B.安装WinCC的目录中的projects文件夹中,可以。 C.C:\ Program Files\WINCC\projects文件夹中,不能。 D.C:\ Program Files\WINCC\projects文件夹中,可以。 答案:B 2、一个项目的要和西门子400系列的PLC进行通讯,我们要在变量标签中添加一个驱动器,该驱动器是。它的作用是。A.SIMATIC S5 Ethernet ,使PLC和WinCC进行通讯。 B.SIMATIC S5 Programmers Port ,在PLC和WinCC之间生成一个逻辑接口。C.SIMATIC S5 Profibus ,使PLC和WinCC进行通讯。 D.SIMATIC S7 Protocol ,在PLC和WinCC之间生成一个逻辑接口。 答案:D 3、当我们要调用一个历史趋势图的控件,并将变量的数值反映到趋势图当中,我们需要将这个变量建立到,主要设置其属性。 A.变量管理器、类型和地址。 B.报警记录、报警等级。 C.变量记录、采集周期。 D.报表设计、周期或时间。 答案:C 4、在WinCC项目名称的属性里有一个刷新周期,如果刷新周期如果设置得比较长,会对生产造成什么影响? 答:会造成WinCC项目对现场实际情况的采集数据失真,使画面不能反映现场的实际情况。(或刷新周期是WinCC系统访问一次过程数据的时间,设置的时间过长,会造成数据失真) 5、当我们要将计算机A里运行过的项目拷贝到另一台计算机B里,并且要在同一个网络上进行同时运行时候,我们需要修改和注意那些方面的问题? 答:1、我们要检查两台计算机的名称是否重复,如果重复,我们要将计算机B的名称进行修改。 2、我们要检查计算机B的IP地址,不能与计算机A和PLC的IP地址重复。 3、我们要将计算机B里刚拷贝过来的项目打开,修改其计算机属性里的计算机名, 使它和计算机B的名字相同。查看变量标签中的驱动器里的TCP/IP属性,看 其网卡的驱动和计算机里的网卡是否一致。

组态王常考问题

70个组态王经典问题解答 时间:2010年4月3日作者:中国自动化招聘网 1、变量设定中最大(小)值及最大(小)原始值的意义? 最大(小)值是变量在现实中表达的工程值(如:温度、压力等)的大小,而最大(小)原始值是采集设备中[寄存器]数字量的最大(小)值(如板卡中的819-4095等)。一般对于板卡设备此值为物理量经AD转换之后的值,如12BitAD 此值范围0~4096、16BitAD为0~65535,对于PLC、智能仪表、变频器,其本身已将物理值转换为工程值所以此时最大(小)值与最大(小)原始值在设置时是一致的. 2:组态完成后发现工程特别大,怎样把工程文件变小? 可以删除*.AL2(报警信息文件),*.REC(历史记录文件),*.111文件(*.pic文件的备份文件)的文件。 3:在定义变量的基本属性时状态栏中的保存数值、保存参数是什么意思? 保存参数:在系统运行时,修改变量的域的值(可读可写型),系统自动保存这些参数值,系统退出后,其参数值不会发生变化。当系统再启动时,变量的域的参数值为上次系统运行时最后一次的设置值。无需用户再去重新定义。 保存数值:系统运行时,当变量的值发生变化后,系统自动保存该值。当系统退出后再次运行时,变量的初始值为上次系统运行过程中变量值最后一次变化的值。 4:如何不进入系统桌面环境而直接运行组态王工程如何实现(Win98系统)? 编辑Win98系统下的System.ini文件,将shell=explorer.exe改为: path=c:\ProgramFiles\Kingview shell=Touchvew.exe 即可 5:组态王里画面属性中覆盖式与替换式有何区别? 覆盖式画面出现时,它重叠在当前画面之上,其他打开的画面还在运行,关闭后被覆盖的画面又可见。替换式画面出现时,所有与之相交的画面自动从屏幕和内存中删除,不再运行。 6:如何利用多个摄像头在组态王上显示多幅画面? 用户需要增加硬件设备:矩阵转换器和画面分割器。视频采集后通过矩阵转换和画面分割再送进组态王中,例如需要显示16个画面,可选择16画面分割器。 7:如何将gif动画用在组态王画面中? 在组态王画面中的工具箱内选折<画点位图designtimesp=451>这一项并用鼠标在画面中画出一个点位图块,然后点击鼠标右键,在其下拉式菜单中选折〈从文件加载〉,选择所需的gif动画文件。 8:如何用组态王在启动一个应用程序时打开任意路径下的一个文件? 一在组态王中定义一个内存字符串型变量,在StartApp函数调运之前,赋给该变量值,为:应用程序路径+一个或两个空格+文件路径、文件名、文件扩展名。接下来用StartApp函数,其参数为该变量名称。如用WordPad 启动时打开一个.alg文件:定义“文件”问内存字符串型变量,命令语言为:文件 ="C:\Progra~1\Access~1\word.exe "+"C:\Progra~1\Kingview\Example\Kingdem~3\"+文件名; startapp(文件);/*文件名可以任意给定,如用列表框选择的结果等。[文件名为8.3格式] 9:事件命令语言和程序命令语言内容的长度是否能够加长? 组态王命令语言的长度为20k,无法加长,但可以将一个命令语言分为几个事件命令语言。

wincc标准函数介绍

标准函数 该系统包含标准函数。可以按需要修改这些函数。此外,还可以自己创建标准函数。 该系统包括一个标准函数集。 一、Alarm - 简短描述 Alarm组包含控制WinCC报警控件的函数。标准函数可用于工具栏中的每一个按钮。这些函数可用来创建自定义工具栏,例如选择画面,或者定义控件上的设置。 1.void AcknowledgeMessage(DWORD MsgNr)函数,确认消息系统中带编号的消息,该编号被传递为参数。 使用标准函数操作WinCC报警控件的实例 {//确认选择的报警记录消息 AcknowledgeMessage(GetTagWord("U08i_MsgNr")); } 指定待确认的消息号。在本例中是从变量读取的。 2.BOOL AXC_OnBtnArcLong(char* lpszPictureName, char* pszMsgWin)函数,在消息窗口中该函数表示消息存储在长期归档中。 使用标准函数操作WinCC报警控件的实例 {// 跳转到WinCC报警控件中的第一条消息 AXC_OnBtnMsgFirst("gs_alarm_00","Control1"); } AXC_OnBtnMsgFirst函数参数: “gs_alarm_00”是在其中组态WinCC报警控件的画面的名称。 Control 1是WinCC报警控件的对象名。 3.BOOL AXC_OnBtnArcShort(char* lpszPictureName, char* pszMsgWin)函数,在消息窗口中该函数表示消息存储在短期归档中。 使用标准函数操作WinCC报警控件的实例 {// 跳转到WinCC报警控件中的第一条消息 AXC_OnBtnMsgFirst("gs_alarm_00","Control1"); } AXC_OnBtnMsgFirst函数参数: “gs_alarm_00”是在其中组态WinCC报警控件的画面的名称。 Control 1是WinCC报警控件的对象名。 Control 1是WinCC报警控件的对象名。 4.BOOL AXC_OnBtnComment(char* lpszPictureName, char* pszMsgWin)函数 外部消息窗口操作,该函数显示先前所选消息的注释。 使用标准函数操作WinCC报警控件的实例 {// 跳转到WinCC报警控件中的第一条消息 AXC_OnBtnMsgFirst("gs_alarm_00","Control1"); } AXC_OnBtnMsgFirst函数参数: “gs_alarm_00”是在其中组态WinCC报警控件的画面的名称。 Control 1是WinCC报警控件的对象名。 5.BOOL AXC_OnBtnEmergAckn(char* lpszPictureName, char* pszMsgWin)函数,外部消息窗口操作,此函数打开确认对话框(紧急确认/复位)。

组态王教学-趋势曲线

趋势曲线 常见问题解答 北京亚控科技发展有限公司 2010年01月

目录 1. 实时趋势曲线 (1) 1.1 我发现组态王的实时曲线控件只能显示百分比量程,请问能否显示工程的实际量程呢? (1) 1.2 使用组态王实时趋势曲线控件时,控件属性设置没有问题,但为何看不到曲线? (1) 1.3 在组态王画面上添加一实时趋势曲线控件,如何修改控件的背景颜色? (1) 2. 历史趋势曲线 (1) 2.1 在组态王的历史趋势曲线中看不到曲线为何? (1) 2.2 使用组态王的历史趋势曲线控件时,如何实现自动更新控件右侧时间为系统的当前时间? (1) 2.3 使用组态王历史趋势曲线控件查询时,在查询不存在的历史数据时,组态王是如何处理的? (2) 2.4 在历史趋势曲线控件中增加变量时,为何无法选择变量? (2) 2.5 使用组态王提供的历史趋势曲线控件读取数据库中的数据为何显示不出曲线? (2) 2.6 使用组态王历史趋势曲线控件,查询出来的趋势曲线比实际的历史数据要提前8个小时? (2) 2.7 在组态王运行环境中,能否改变历史趋势曲线控件连接的曲线? (3) 2.8 组态王提供的历史曲线控件中曲线形式能否画成阶梯式的而不是斜线式的? (3) 2.9 通过组态王提供的历史趋势曲线控件查询Access数据库中的数据,"时间字段"的下拉框中为何没有任何选项? (3) 2.10 我想通过指定一个变量的名称来删除历史曲线控件中此变量对应的曲线,在组态王中应如何实现? (3) 2.11 我有100多个设备,每个设备有10几个参数,我想通过改变设备号,在一个历史趋势曲线里查询不同设备的各个参数的历史曲线? (3) 2.12 使用组态王的历史趋势曲线控件时,选择变量时能否显示变量描述? (4) 2.13 使用组态王的历史趋势曲线控件时,怎样对曲线进行删除操作? (4)

Wincc系统函数

报警 1、ClearAlarmBuffer 应用:删除HMI设备报警缓冲区中的报警。说明:尚未确认的报警也被删除。 2、ClearAlarmBufferProtoolLegacy 应用:该系统函数用来确保兼容性。 它具有与系统函数“ClearAlarmBuffer”相同的功能,但使用旧的ProTool编号方式。参数:Alarm class number 将要删除其消息的报警类别号: -1 (hmiAllProtoolLegacy) = 所有报警/事件 0 (hmiAlarmsProtoolLegacy) = 错误 1 (hmiEventsProtoolLegacy) = 警告 2 (hmiSystemProtoolLegacy) = 系统事件 3 (hmiS7DiagnosisProtoolLegacy) = S7 诊断事件 3、SetAlarmReportMode 应用:确定是否将报警自动报告到打印机上。 4、ShowAlarmWindow 应用:隐藏或显示 HMI 设备上的报警窗口。 5、ShowSystemAlarm 应用:将已传递参数的值显示为 HMI 设备上的系统报警。 编辑位 1、InvertBit 应用:对给定的“Bool”型变量的值取反。如果变量具有值 1(真),它将被设置为 0(假)。如果变量具有值 0(假),它将被设置为 1(真)。说明:不要使用循环事件或递归事件或具有外部变量的系统函数。 在画面中创建一个开关。该开关连接到外部布尔类型变量“Tag1”。将系统函数“InvertBit”分配给“更改”事件。该系统函数连接到外部变量“Tag1”。 在运行期间,这会导致无法预料的行为。 2、InvertBitInTag 应用:对给定变量中的位取反:如果变量中的位为值 1(真),它将被设置为 0(假)。如果变量中的位为值 0(假),它将被设置为 1(真)。 在改变了给定位之后,系统函数将整个变量传送回 PLC。不检查此过程期间变量中是否有其它位发生更改。在变量被传送回 PLC 之前,操作员和 PLC 对变量具有只读访问权限。 说明:如果 PLC 支持 BOOL 型变量,不要使用该系统函数。而是使用“InvertBit”系统函数。不要使用循环事件或递归事件或具有外部变量的系统函数。 在画面中创建一个开关。该开关连接到外部布尔类型变量“Tag1”。将系统函数“InvertBitInVariable”分配给“更改”事件。该系统函数连接到外部变量“Tag1”。 在运行期间,这会导致无法预料的行为。 3、ResetBit 应用:将“Bool”型变量的值设置为 0(假)。 4、ResetBitInTag 应用:将给定变量中的一个位设置为 0(假)。 在改变了给定位之后,系统函数将整个变量传送回 PLC。不检查此过程期间变量中是否有其它位发生更改。在指示的变量被传送回 PLC 之前,操作员和 PLC 对变量具有只读访问权限。说明:如果 PLC 支持 BOOL 型变量,不要使用该系统函数。而使用系统函数“ResetBit”。 5、SetBit 应用 将“Bool”型变量的值设置为 1(真)。

组态王教学-数据词典

常见问题解答 北京亚控科技发展有限公司 2009年7月

目录 1. 我注意到组态王软件是按软件点数来收费的,请问这个点数是如何计算的? (1) 2. 我想删除一个指定的变量,但数据词典中该变量的删除选项灰色,不允许操作,怎么解决? (1) 3. 我注意到组态王的数据词典里有一个系统自带的“$新报警”变量,请问此变量是如何使用的? (1) 4. 组态王的数据变量的采集频率采用什么规则?有什么注意事项? (1) 5. 在工程比较庞大的情况下,请问我如何能快速的找到某个变量都在那里使用了呢? (2) 6. 我注意到组态王的变量的属性页中有最大值最小值最大原始值最小原始值几个设定项,请问具体怎么来应用? (2) 7. 在定义变量的基本属性时状态栏中的保存数值、保存参数是什么意思? (2) 8. 我需要组态王能记下我运行状态下设定的参数,每次启动时都能按最后一次设定的参数运行,请问如何来做? (3) 9. 我的现场设备的信号采集与变换是非线性的,请问在组态王中我需要如何设置? (3) 10. 请问变量定义时变量的优先级、安全区是如何设置的?如何工作? (3) 11. 请问组态王的报警优先级配置是如何设置的? (3) 12. 请问变量定义中的生成事件如何使用? (3) 13. 请问什么是内部局部变量?如何使用? (3) 14. 组态王在运行系统中如何修改变量的原始值和工程值? (4) 15. 如果设备中有的数据不需要按采集频率读取,按需要读取,在组态王中如何实现? (4) 16. 在组态王运行环境中能够实现控制变量记录的功能? (4) 17. 在组态王文本框中连接变量的时候,单击问号按钮,没有反应,弹不出变量列表框,为什么,应如何解决? (5) 18. 在组态王数据词典中能否成批修改变量的基本属性? (5) 19. 在组态王中能否实现对变量的操作记录下来? (5) 20. 在组态王中如何实现变量的累加计算? (6)

WinCC 授权的使用方法及常见问题处理

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的授权导入就完成了。 图5 注意:a. WinCC的一套授权只能同时在一台电脑中使用(不支持复制),如果想将授权转移到其他电脑中使用,按照如上方法将授权传送回LICENSE_KEY,传送授权时需要关闭WinCC,正在使用的授权是不能传送的。授权的状态检查可以参考图4,点击Check,会弹出授权状态信息,如图6。 图6 b.WinCC7.0授权只有RT和RC类授权检测硬件狗,也就是说这两种型号授权对应的LICENSE_KEY必须插在电脑上,而其他型号的WinCC授权,只需要将授权文件通过Automation License Manager将授权文件导入电脑,对应的LICENSE_KEY是不需要插在电脑上的,比如,一用户购买了WinCC7.0的一套RC128点授权和一套Server授权,那用户就会收到两个LICENSE_KEY,将LICENSE_KEY中的授权文件导入到电脑中,此时只需将RC128点的LICENSE_KEY硬件狗插在电脑上, Server授权的LICENSE_KEY是不需要插在电脑上

wincc经典问题

、问:如何触发计算机扬声器的声音? 答:编写如下C-Action: #pragma code("kernel32.dll"); BOOL Beep(DWORD dwFreq,DWORD dwDuration); #pragma code(); Beep(500,500); 2、问:如何通过C脚本来确定报警信息? 答:首先必须在画面中插入报警控件,可以用如下两种方式来确认信息: (1)、确认单条信息 4版本和高于此版本的WinCC BOOL OnBtnSinglAckn(char*lpszPictureName,char*lpszObjectName) 5版本和高于此版本的WinCC BOOL AXC_OnBtnSinglAckn(char*lpszPictureName,char*lpszObjectName) (2)、确认报警窗口所有可见的报警 4版本和低于此版本的WinCC BOOL OnBtnVisibleAckn(char*lpszPictureName,char*lpszObjectName) 5版本和高于此版本的WinCC BOOL 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对话框实现。具体如下: #i nclude"apdefap.h" void onClick(char*lpszPictureName,char*lpszObjectName, char*lpszPropertyName) {ProgramExcute("c:\\win98\\control.exe timedate.cpl");} 其中执行的程序路径,需根据具体情况填写。

组态王使用常见问题

组态王使用常见问题 1、变量设定中最大(小)值及最大(小)原始值的意义? [最大(小)值是变量在现实中表达的工程值(如:温度、压力等)的大小,而最大(小)原始值是采集设备中[寄存器]数字量的最大(小)值(如板卡中的819-4095等)。一般对于板卡设备此值为物理量经AD转换之后的值,如12BitAD 此值范围0~4096、16BitAD为0~65535,对于PLC、智能仪表、变频器,其本身已将物理值转换为工程值所以此时最大(小)值与最大(小)原始值在设置时是一致的. 2、为什么变量无法删除,如何删除变量? [在组态王中,只有未使用的变量才能被删除,因此在删除变量之前,必须去掉在画面或命令语言、控件引用处,等处与之有关的连接,如果还是无法删除,在工程浏览器中执行工具-更新变量计数命令,重新统计变量,在变量使用报告中可以查询变量是否还在某些地方使用,将其连接断开后,利用工具-删除未用变量将变量删除。 3、工程运行时,显示通讯协议组件失败? [设备驱动安装错误:1、安装新的驱动2、在开发状态下从新连接设备,如果还是有错误,请联系驱动部索要新的驱动程序] 4、光盘上的典型案例无法打开? [将工程拷贝到硬盘上将属性改为存档即可 5、如何在打开机器时自动进入组态王? [将touchview快捷方式拷贝到系统开始\程序\启动中 6、怎样把工程文件变小?

[可以删除*.AL2(报警信息文件),*.REC(历史记录文件),*.111文件(*.pic 文件的备份文件)的文件。 7、如何在线增删用户及用户密码和权限? [使用editusers()函数(用户权限需大于900)] 8、在定义变量的基本属性时状态栏中的保存数值、保存参数是什么意思? [保存参数:在系统运行时,修改变量的域的值(可读可写型),系统自动保存这些参数值,系统退出后,其参数值不会发生变化。当系统再启动时,变量的域的参数值为上次系统运行时最后一次的设置值。无需用户再去重新定义。 保存数值:系统运行时,当变量的值发生变化后,系统自动保存该值。当系统退出后再次运行时,变量的初始值为上次系统运行过程中变量值最后一次变化的值。 9、开发狗与运行狗的区别? [开发狗是用于工程开发使用的,为了方便调试支持6小时的连续运行,运行狗是用于工程实际运行,不能进行开发. 21:如何不进入系统桌面环境而直接运行组态王工程如何实现(Win2000系统)? 运行RegEdit文件:找到我的\HKEY_Local_MACHINE\software\Microsoft\Windows NT\currentVersion\winlogon 将Userinit=c:\winnt\system32\userinit.exe改为:Userinit= c:\program files\kingview\touchvew.exe

WINCC问答_1

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 | 标签:|字号大中小订阅 https://www.doczj.com/doc/a53750490.html,/leishuang2005/blog/item/e6ce8c47654a2a046b63e50e.html 我从别人那考了一个WINCC例子看可是为什么一打开就是显示“组态服务器不可用,是否打开项目,将本地计算机作为服务器”我点了启动本地服务器为什么总是错误,望高人指点 问题在于你直接拷贝人家已经在使用的项目文件夹,哪个文件夹是共享的,特别是人家正在运行的项目,这样的项目文件直接复制过来是不能用的,会缺少文件. 正确的复制方法: 1)关闭正在运行的WINCC项目,可以在WINCC浏览器里关闭,也可以在开始彩单->运行->输 入CMD ->在里面窗体输入命令RESET WINCC来强制关闭WINCC及相关文件. 2)取消项目文件夹的共享标记.然后复制项目文件夹(当然项目中也可能调用其它可执行文件, 这些你需要向设计方了解),也可以是WINCC安装路径里面的项目复制器复制项目到指定计算机. 只有用这样的方法复制的项目文件才能保证WINCC功能部分软件是完整可用的(WINCC内部直接调用可执行文件的执行的功能除外). 你如果是拷贝的整个项目的话,你需要启动本地服务器,然后更改项目里面的计算机名字为你的本机名字,然后关闭wincc再重新打开wincc。就好了。

wincc的n个经典问题解答之三

wincc的n个经典问题解答之三 作者:激情如火,2005-12-27 17:23:00 发表于:《Siemens自动化软件论坛》共有15人回复, 送留言 部分非本人原创,整理在一起旨在给大家提供方便! 41:用C编程解决授权点数不够用的问题(acsun提供) 当需要的工艺参数超过WinCC版本限制的Tag数目,可以用C语言编程实现多个工艺参数打称重系统有146个参数超过了WinCC的128个Tag的限制就可以用C语言编程决这一问题而不需 基本思想就是把多个参数在下位机内存中连续排列然后在WinCC中定义一个Tag它的长度是多个分成多个参数 例如下位机有两个参数LTN44001和LTN44023都是16位整数分别存放在DD99.DW146和DD99.DW1在WinCC中定义一个外部Tag命名为PackageTag类型为32位整数并联地址为DD99.DBD146再定LTN44023在 Global Script全局脚本中C语言编程如下 Union { Long Dword Int Word[2] }union Union.Dword=GetTagDword("PackageTag") SetTagWord("LTN44001",Union.Word[0]) SetTagWord("LTN44023",Union.Word[0]) 这样两个参数LTN44001和LTN44023就通过一个Tag传送上来了理论上只要下位机内存足够可以版本外部Tag数目的限制. 42:如何在WinCC里用C语言调用SQL语言? 1、创建一个SQL文件。 此文件在ISQL中创建,文件内容是所希望执行的SQL语句。 2、在WinCC的C Script中编写程序调用此SQL文件,如以下程序所示: #i nclude "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

组态王常用的函数

1.R e p o r t S e t H i s t D a t a 2 此函数为报表专用函数。查询历史数据,系统会自动弹出历史数据查询对话框。语法使用格式如下: ReportSetHistData2(StartRow,StartCol); 参数说明: StartRow:查询的数据在报表中填充的起始行数。 StartCol:查询的数据在报表中填充的起始列数。 2.Ack 此函数常和按钮连接,当发生报警时,用此函数进行报警确认,它 将产生确认报警事件。调用格式: Ack(报警组名);或Ack(变量名); 例如: Ack(全厂);或Ack(反应罐液位); 3.Average 此函数为对指定的多个变量求平均值。语法格式使用如下: Average(’a1’,’a2’);或Average('a1:a10'); a1、a2……为整型或实型变量。其中参数个数为1-32个。 当对报表的指定单元格区域内的单元格进行求平均值运算时,结果 显示在当前单元格内,语法格式使用如下:Average(’a1’,‘a2‘); 例如:=Average(‘a1’,‘b2’,‘r10’)任意单元格选择求平均值 =Average(‘b1:b10’);连续的单元格求平均值。 4.ChangePassword 此函数显示“更改口令”对话框,允许登录工程人员更改他们的口 令。使用格式: ChangePassword(); 例如: 为画面上某一按钮设置命令语言连接: ChangePassword(); 运行时单击此按钮,弹出对话框: 提示工程人员输入当前的口令和新口令以及验证新口令。完全正确后,工程人员的口令设置为新值。 5.FileDelete 此函数删除不需要或不想要的文件。调用格式:FileDelete(Filename); 参数描述 Filename要删除的文件名。 若找到要删除的文件,并成功地删除,此函数将返回1,否 则此函数返回0。 例如: Status=FileDelete("C:\DATA.TXT"); 若在C:\找到"DATA.TXT"则Status等于1,未找到该文件 则为0。 6.GetDate

WINCC VBSCRIPT常用函数

WinCC VBscript常用函数 1.数值型函数: abs(num):返回绝对值 sgn(num):num>01;num=00;num<0-1;判断数值正负 hex(num):返回十六进制值直接表示:&Hxx最大8位 oct(num):返回八进制值直接表示:&Oxx最大8位 sqr(num):返回平方根num>0 int(num):取整int(99.8)=99;int(-99.2)=100 fix(num):取整fix(99.8)=99;fix(-99.2)=99 round(num,n):四舍五入取小数位round(3.14159,3)=3.142中点数值四舍五入为近偶取整round(3.25,1)=3.2 log(num):取以e为底的对数num>0 exp(n):取e的n次幂通常用num^n sin(num):三角函数,以弧度为值计算(角度*Pai)/180=弧度con(num); tan(num);atn(num) 2.字符串函数: len(str):计算字符串长度中文字符长度也计为一! mid(str,起始字符,[读取长度]):截取字符串中间子字符串 left(str,nlen):从左边起截取nlen长度子字符串 right(str,nlen):从右边起截取nlen长度子字符串 Lcase(str):字符串转成小写 Ucase(str):字符串转成大写 trim(str):去除字符串两端空格 Ltrim(str):去除字符串左侧空格 Rtrim(str):去除字符串右侧空格 replace(str,查找字符串,替代字符串,[起始字符,替代次数,比较方法]):替换字符串 注:默认值:起始字符1;替代次数不限;比较方法区分大小写(0) InStr([起始字符,]str,查找字符串[,比较方法]):检测是否包含子字符串可选参数需同时选返回起始位置 InStrRev(str,查找字符串[,起始字符][,比较方法]):反向检测是否包含子字符串返回起始位置 space(n):构造n个空格的字符串 string(n,str):构造由n个str第一个字符组成的字符串 StrReverse(str):反转字符串 split(str,分割字符串[,次数][,比较方法]):以分割字符串为分割标志将字符串转为字符数组可选参数需同时选 3.数据类型转换函数:

相关主题
文本预览
相关文档 最新文档