收藏 分享(赏)

WINCC脚本实例.doc

上传人:精品资料 文档编号:9679600 上传时间:2019-08-23 格式:DOC 页数:27 大小:103KB
下载 相关 举报
WINCC脚本实例.doc_第1页
第1页 / 共27页
WINCC脚本实例.doc_第2页
第2页 / 共27页
WINCC脚本实例.doc_第3页
第3页 / 共27页
WINCC脚本实例.doc_第4页
第4页 / 共27页
WINCC脚本实例.doc_第5页
第5页 / 共27页
点击查看更多>>
资源描述

1、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 版本和高于此版本的 WinCCB

2、OOL 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(

3、“kernel32.dll“);Void GetLocalTimes(SYSTEMTIME*lpst);#pragma code();SYSTEMTIME time; 字串 7GetLocalTime(SetTagWord(“Varname“,time.wYear);SetTagWord(“Varname“,time.wMonth);SetTagWord(“Varname“,time.wDayOfWeek);SetTagWord(“Varname“,time.wDay);SetTagWord(“Varname“,time.wHour);SetTagWord(“Varname“,time.wMi

4、nute);SetTagWord(“Varname“,time.wSecond);SetTagWord(“Varname“,time.wMilliseconds);4、问: 如何经 Windows 对话框设置日期时间? 答: 通过调用 Windows 对话框实现。具体如下:#include“apdefap.h“void onClick(char*lpszPictureName,char*lpszObjectName,char*lpszPropertyName)ProgramExcute(“c:win98control.exe timedate.cpl“);其中执行的程序路径,需根据具体情况填写

5、。5、问: 如何在 WinCC 中调用 SQL 语言? 答: 1、创建一个 SQL 文件,此文件在 ISQL 中建立,文件内包含所要执行的 SQL语句。Windows 对话框实现。具体如下:2、在 WinCC 中用 C Script 调用上述 SQL 文件,如下所示:#include“apdefap.h“void OnLButtonDown(char* lpszPictureName,char* lpszObjectName, 字串 2 char* lpszPropertyName,UINT nFlags,int x,int y)char*a=“c:siemenscommonSQLANYISQ

6、L-q-b-cUID=DBA;PWD=SQL;DBF=E:testsqltestsqlRT.DB;DBN=CC_testsql_99-12-03-12:48:26R;READE:testsqltest.sql“;Printf(“%srn“,a);ProgramExcute(a);下面是一个简单的 SQL 文件内容:select *from pde#hd#t#test;output to e:test2.txt FORMAT ascii注意:文件名及路径中不要带空格。6、问: 如何整点启动归档? 答: 在“Globle Script“下的 Project function 编写程序函数:cycl

7、icarchiveBOOL cyclicarchive()#pragma code(“kernel.dll“);void GetLocalTime(SYSTEMTIME*lpsz);#pragma code();SYSTEMTIME time;Int t1;GetLocalTime(T1=time.wMinute;If(t1=00)SetTagBit(“startarchive“,1);Return(BOOL) (GetTagBit(“startarchive“);在 Tagloging 中的“Properties of process tag“中的“archive tag“Tab 下的 Ar

8、chive type选择 Cycle-selective,在“Event“标签下的“StartEvent“内选择 cyclicarchive 函数。 字串 4 7、问: How can I set and reset a WinCC variable by mouse click with C script? 答: The following function shows how you can alternately set and reset a WinCC variable by mouse click.#include “apdefap.h“void OnClick(char* lps

9、zPictureName, char* lpszObjectName, char* lpszPropertyName)BOOL z;z=GetTagBit(“MyBitVariable“);if (z=0) SetTagBit(“MyBitVariable“,1); elseSetTagBit(“MyBitVariable“,0); 8、问: How can I program a waiting function (Sleep) in WinCC? 答: The following sample program shows how the “Sleep“ is used. #pragma c

10、ode(“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 for the time indicated. Requests for the interrupted function cannot be processed during this time. 字串 1 9、问: How can I o

11、utput a SIMATIC timer minutes and seconds in WinCC? 答: If you want to output a SIMATIC Timer in minutes and seconds in WinCC, then in WinCC please use a static text in the Graphics Designer to which you interface the following action: char* _main(char* lpszPictureName, char* lpszObjectName, char* lp

12、szPropertyName)char *p;DWORD hilf;int min, sec; p=SysMalloc(10);hilf=GetTagDWord(“Time“);min=hilf/60000;sec=hilf%60000/1000; sprintf(p,“%d min %d sec“,min,sec);return p; The “Time“ variable linked to the I/O field must have the following properties: Data type “32-bit value without sign“ Format adapt

13、ation “DwordToSimaticBCDTimer“ Address: data area “Times“ and addressing “Word“ 字串 8 10:快捷地切换画面通常要将所有的设备都显示在一张画面里是不可能的,所以将设备按照处理工艺的功能步骤分级在多张画面内,以一个污水处理厂为例分为电泳线、前处理线、生化线、加药线等,之间的切换使用按钮的鼠标动作来实现。这对于用 WinCC 现成的鼠标动作来实现是很简单的,但是不是要在每张图上都使用相同数量且位置排列顺序一致的按钮呢?(出于对操作的一致性考虑,不能让操作人员在不同的图上,不同的位置找想要操作的按钮)这个问题的解决我们

14、使用 WinCC 的脚本编程,在按钮动作中调用它的内部函数来实现。首先,组态一幅背景画面,其中包括要显示的静态文本、OLE(例如,时钟 )、所有的图形切换按钮及推出关机按钮。第二,在背景画面中插入智能对象(Smart Object)中的画面窗口(Picture Window),并且使其的尺寸与其分级画面相同。第三,在相应的切换按钮的属性 -事件-鼠标动作中编写如下 C 语言脚本代码:#include“apdefap.h“void onClick(char *lpsz PictureName,char *lpsz ObjectName,char *lpsz PropertyName) 字串 2

15、SetPictureName(“ 背景画面“, “画面窗口“, “电泳处理线“); /“背景画面“ 即为始终显示地静态背景的属性名,“ 画面窗口“即为在背景画/面中插入地画面窗口(Picture Window)属性名,“电泳处理 线“ 即为分级画面/的名称这样就能方便快捷地切换画面。 字串 311:必须始终显示的报警记录,用画面颜色闪烁来提示操作者有故障发生,可以用同样的 C 语言脚本(当然不是加在鼠标动作中)在背景画面的底部留下一条类似 Windows 状态栏的报警栏,当出现故障报警的时候在报警栏显示最近一条报警记录,操作人员可以利用按钮切换到主报警记录画面了解故障的完全信息。 字串 712

16、:单个部件的组态WinCC 在其内部的图库里集成很多的图形对象,如水箱、电机、阀门等等,对于污水处理用的最多的是水池,搅拌机等等。为了使组态画面贴近实际,能够更好的反应现场工况,图库里的元素并不能满足要求。我们可以利用 WinCC 的画图工具自己绘制适应实际的图形元素,并且使用 C 脚本使其产生动画效果。对于调节池,反应池等可以用矩形来表示,以图形的填充高度来示意其液位的高度。这里要注意的是一些数值地转化,由于一些仪表例如 E+H 的超声波液位计,是以 420毫安的电流信号进入 PLC,对于表的参数设定好以后 4 毫安就对应相应池子的液位最低点,而 20 毫安对应于池子的液位最高点。所以在显示

17、数字高度的时候要将 PLC 相对 4、20 毫安的数值转化为实际池子的高度范围例如,0.55.5 米。但是对于图形填充的时候是按照百分数来表示的所以还要将 PLC 数值转化为 0100%的度量范围。搅拌机的组态可以使用 C 脚本使其产生动画,在其运行时产生视觉上的旋转。实际上搅拌机的图形是用两个部分椭圆组成的,在椭圆的属性-几何- 半径中加入代码如下:#include “apdefap.h“long _main(char* lpszPictureName, char* lpszObjectName, char* 字串 2lpszPropertyName)static int x=25,y,z;

18、/x 为半径的初始值为 25,y 为切换变量,z 为搅拌机运行状态变量z=GetTagBit(“202 搅拌机运行“); /取得 PLC 搅拌机的运行状态if(z!=0)switch(y)case 0:x=x-4;if(x=25)y=0;break;return x; 字串 6 字串 3 13:语音报警的组态在工业现场安全是极其重要的,无论从那个角度讲我们应该利用一切手段减少故障的发生。在故障已经发生的时候,应该在第一时间以多种方式通知操作人员有故障发生。现代微处理计算机的处理速度可以完全胜任对于图形,语音地同时处理。所以我们可以利用计算机的声卡和音箱在有故障发生的时候产生语言报警,但是问题是

19、 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);#pra

20、gma code()if(GetTagBit(“112 排泥备泵故障“) 字串 2 PlaySoundA(“d:winntmediaMircosoft sound.wav“,NULL,8);return 1020; 字串 1 有一个值得主意的问题是此段代码的加入点,通过反复多次的实践得出结论,即这个点必须加在始终显示于屏幕上的任何图形元素的属性中,这样才能达到语言报警的预期效果。 字串 8 14:当为 WinCC 指定 PC 名时应注意什么?解答:计算机名不能包含特殊字符如空格、退格和下划线,并前 13 个字符必须是唯一的。由于操作系统的原因,名字的长度不能超过 15 个字符。因此推荐只使用

21、a to z, A to Z, 0 to 9 这些字符。必须以子母开头。从 SIMATIC WinCC V6.0 起,有如下限制:计算机名可包含下划线。然而,当使用DNS 主机名时,不能使用下划线。 字串 5 15:和 plc 用 S7 通讯为什么产生连接错误代码:D801? 解答:这个错误代码表示 WinCC 变量地址错误,检查每个变量的地址和通讯连接是否正确,如果变量的地址不属于控制器的地址范围,则会报这个错误代码。 字串 216:和 plc 用 S7 通讯怎样清除错误代码 8304? 解答:WinCC 运行时的画面不再更新,WinCC 的日志文件中有错误代码 8304,这个错误码表明 W

22、inCC 和 S7 连接出现问题。 解决方法:停止 AS 站的循环读服务,在“WinCC Explorer 变量管理 SIMATIC S7 PROTOCOL SUITE“中。右键单击出现问题的 S7 连接,选择“系统参数“ ,清除复选框“周期管理通过 PLC”的选择。 字串 417:在动态值域对话框中怎样才能按逻辑连接两个因变量到一个结果 ? 解答:由于在 WinCC 动态值域对话框中的布尔数学体系运算符,您可以根据 C 脚本惯例运用这些符号。下面是符号及其意思的概括: 与 位比较 ”一行中,用缺省的用户名替换用户“Login”,用 缺省用户的口令代替“Password”。 编译和保存 C 脚

23、本。 用变量CurrentUser 设置一个变量触发器,周期选择为“ 2 s”。这确保了系统不会因脚本而负荷过重。在所述的例子中,变量 CurrentUser(包含当前登录的用户)每隔 2 秒钟被询问一次察看有无变化。只有当用户变化时才调用脚本,例如当前用户退出时。 字串 1 确保已经在计算机的属性“Startup” 选项卡上激活了“Global Script Runtime”。 字串 7除此之外,SIMATIC PCS 7(SIMATIC PCS 7 V6.0 SP1 及更高版本)用户还需执行下列步骤: 将系统画面Welcome.pdl 复制到一个安全的位置,以便可以恢复原始画面。 使用 G

24、raphics Designer 打开画面Welcome.pdl。 打开保存在选定画面中的 C 脚本,( 右击) Event Picture Object Miscellaneous Open Picture)。 注释掉“PASSLoginDialog(Screen);”一行,以 / 作为注释的前缀。 编译 C 脚本。 保存系统画面Welcome.pdl。 字串 420:如何进行 WinCC 和 S7 之间的时间同步? 字串 1 回答:下面的方法只能进行时间设置而不能完成时间同步的功能。因为必须考虑到延迟,比如报文的处理时间,C 脚本的运行时间等,因此这个方法在精度方面不如真正的时间同步精确。

25、 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“类型的本地变量“DateAndTi

26、me“中。 用 “SET_CLK“ 设置完时钟后,触 发变量“Flag“被复位。 注意: 在此段程序中,本地变量“DateAndTime“存储在以 0 为起始地址的本地数据堆栈中。如果不得已要把这个变量分配到别的地址,同 时对传送指令参数化时,必须要考虑到地址分配的问题。2.为“年 ”新建一个 “Unsigned 8-bit value“类型的变量,对其进行格式变换 ByteToBCDByte,然后为其在 DB 块中选择相应的字节地址: 在 WinCC 中创建剩下的变量。 选择“Unsigned 16-bit value“ 类型然后改变格式为 WordToBCDByte ,然后在DB 块中选择

27、实际的字节地址。 字串 83.最后,在 WinCC 中创建一个 C 脚本来读取系统时间并进行拆分,然后把它们写到 DB1中。 S7 PLC 中的时钟设置是被脚本中的“DBI_FLAG“变量触发的。 21:WINCC-如何在程序中动态修改用户密码1、点击“开始”- “设置”- “ 控制面板”- “ 管理工具”-“数据源(ODBC)”,打开 ODBC 数据源管理器2、在用户 DSN 页面的用户数据源中找到与当前项目所关联的一项,其名称为“CC_项目名_项目建立日期时间” ,记下该项的名称3、在脚本中加入以下代码:#pragma code(“UseGen.dll“)#include “USEGENA

28、P.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 分别为存贮用

29、户名,原密码,新密码的内部变量,类型为文本变量 8 位字符集/密码修改成功后的操作,如给用户提示等 字串 5 PWGENDisconnect(err); /断开与数据库的联接4、编译运行程序5、工作完成6、与用户管理相关的函数定义存贮在 APPLIB 目录下的 USEGENAP.H 文件中,可根据上面示例自行完成添加用户,修改权限等功能。 字串 5 22:WinCC6.0 中归档时和 5.1 版本为什么不同了?WinCC V6.0 的后台数据库采用了 MS SQL Server 2000,所以归档方式与 V5.1 有所不同,它的运行数据存放在数据片段(segment)当中,工程师可以根据尺寸需

30、求组态最大容量或根据时间周期启动新的数据库归档片段。将归档数据连续的写入数据库,单个数据片段的尺寸到达或者时间界限到达时,系统会自动开启另一个数据片段进行归档。当数据片段的总体尺寸达到最大时,最早的数据片段就会被覆盖,重新开始新的归档。23:WinCC6.0 中如何设定归档周期?WinCC V6.0 版本中的快慢速归档的归档周期界限可以由用户自行设定,该参数在快速归档属性的第三个标签项中设置。24:如何计算慢速归档数据库的尺寸?慢速归档时一条变量归档记录占用 32 字节的空间,每个变量以 2 分钟为归档周期,一周之内会产生 5040 条记录,若有 5000 个变量的归档,则单个数据片段的大小计

31、算为:3250005040806400000 byte 约等于 800MB考虑到留出 20的余量,设定单个数据片段为 1G所有数据归档期限是两个月,因此所有段的尺寸为单个片段尺寸乘以单个片段的个数,即:1GB9 9GB 字串 3 25:如何计算快速速归档数据库的尺寸?快速归档时一条变量归档记录占用 3 字节的空间,每个变量以 2 秒钟为归档周期,一周之内会产生 302400 条记录,若有 50 个变量的归档,则单个数据片段的大小计算为:35030240045360000 byte 约等于 46MB考虑到留出 20的余量,设定单个数据片段为 60MB所有数据归档期限是两个月,因此所有段的尺寸为单

32、个片段尺寸乘以单个片段的个数,即:60MB9540MB26:所有的归档变量都可以计算出它占用的数据库大小吗?只有周期连续归档的数据才能定量的计算其占用的数据库尺寸,因此当您对应设定的时间期限计算并设置数据库尺寸大小时,需要考虑其他数据归档类型的数据,留出相应的余量。27:WinCC V5.1 中文版的安装要求是什么?1)WinCC V5.1 亚洲版只有 V5.1 这一个版本,不再有后继版本,WinCC V5.1 亚洲版应安装在 Windows 2000 SP2 操作系统上2) WinCC 的语言版本应和操作系统的语言版本相对应,不建议将中文 WinCC 装在英文操作系统上28:有没有快捷的方法

33、如何将 WinCC 的实时数据通过 OPC DA 记录到 MS Access、MS SQL Server 和 Oracle 数据库中? 字串 5 可以使用 WinCC Industrial Data Bridge 将 WinCC 的实时数据通过 OPC DA 记录到MS Access、MS SQL Server 和 Oracle 数据库中,但是需要授权,分为以 128、 512、2K 和 10K29:WinCC 能提供的最高变量刷新速度是多少?对于一般的网络通讯方式来说,WinCC 能提供的最高刷新速度是 250 毫秒,但WinCC 采用 RawData 归档数据链接的方式可以实现对 S7-4

34、00PLC 的高速数据采集。30:如何实现 WinCC 高速数据采集?WinCC 采用 RawData 归档数据链接的方式可以实现对 S7-400PLC 的高速数据采集。原理是 PLC 将每个循环周期所采集的过程值(或 PLC 以其他方式得到的数据或数据包)以一定的顺序存放在具有一定的格式的 DB 块中,当到达一定的数量后,PLC 可以调用系统功能块 SFB37(AR_Send)将这个 DB 块主动地发送给 WinCC, 然后 WinCC 会在后台自动调用标准化 DLL 来拆解数据,并将其按时间顺序保存在数据库中。在WinCC 的过程画面中,可以使用在线趋势控件或在线表格控件来查看所采集的数据

35、。由于是批量传送,可以有效地提高通讯效率,使高速数据采集成为可能,而这时所谓的采集频率就取决于你对保存在 DB 块中的各过程值间的时间间隔的定义。可以定义的最小的时间间隔是 1 毫秒。但如果是 PLC 每个循环周期采样一次,那么定义的时间间隔应大于 PLC 循环周期。 DB 块的最大尺寸是 16KB。 字串 1 技巧:可以考虑使用多 DB 块进行缓冲并添加程序控制 DB 块的写入和发送顺序,能够实现连续的采集,但要充分考虑 CPU 的负载和循环周期。 字串 1 31:WinCC 高速数据采集的前提条件是什么?1) WinCC 的版本为 V5.1 或更高2) S7-400 系列 CPU3) Wi

36、nCC 站与 S7 400 站建立 S7 连接(包括 MPI,ProfiBus,TCP/IP,工业以太网都可以实现)32:为什么我无法从 WinCC 里调用 STEP 7 变量?从 WinCC 里调用 STEP 7 变量的前提条件是,WinCC 的项目文件必须是集成在STEP 7 项目中的。在安装所有 Simatic 软件前,请查阅软件的安装注意事项,确定操作系统与软件的兼容性。该文档一般位于:CDDocumentsInstallNotes.chm。要使用 WinCC 与 STEP 7 的集成功能,WinCC 和 STEP 7 必须安装在同一台计算机上,必须在安装 WinCC 之前安装 STE

37、P 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 项目名称。 字串 6

38、2.在 STEP 7 项目里删除因仅插入 OS 站而产生的 WinCC 项目文件,其位置在 STEP 7 项目文件夹里的 wincproj 文件夹下,例如:d:siemensSTEP7S7projSTEP7_IntegrationwincprojName of the OS 3.最后在项目复制器里用Save as把已有的 WinCC 项目文件存储到 STEP 7 项目路径下。项目复制器位于开始菜单项“Start SIMATIC WinCC Tools“。注意:对于集成 STEP 7 项目里的 WinCC 项目,你也可以使用压缩工具( Packer)来归档 WinCC 项目。 字串 5 34:w

39、incc 怎样和 s7plc-sim 连接?要访问 PLCSIM 模拟软件,必须按如下方法操作,按照以下的顺序来安装程序: STEP 7 V 5.x PLCSIM V4.x 以上WinCC V5.x 选择用户自定义安装。 对于 SIMATIC WinCC V5 SP1 及以下版本的用户, 在“ 通讯”组件下,必须选择“S7Dos”和“对象管理器”组件。对于 SIMATIC WinCC V5 SP2 及更高版本的用户,“S7Dos” 是自动安装的。就是说不再需要在“ 用户自定义安装”下选择该选项。在 PG/PC 界面上做如下设置:在控制面板中双击 “设置 PG/PC 界面” 。在“应用程序的访问

40、点”域中,选择“MPI (WinCC)”。在“使用的界面参数”域中选择“”。启动应用程序 STEP 7: 字串 2启动 SIMATIC 管理器 启动 PLCSIM 打开要模拟的项目或组态一个项目。 在项目中添加一个 OS。 在 PLCSIM 中加载项目。 启动 WinCC 并创建一个新项目或打开已有的项目。 WinCC 添加“SIMATIC S7 PROTOCOL SUITE”到变量管理器。 在 MPI 下添加一个新连接。 右击该连接然后选择“属性”。 点击“ 属性”按钮。 字串 6在“ 连接”标签中指定 MPI 地址和已在 STEP 7 中组态好的 CPU 的插槽。 确认所做的指定。 激活

41、WinCC 项目。 进入“ 开始 SIMATIC WinCC 工具 通道诊断”。在“ 通道连接”下可以显示连接的状态。 如果连接没能设好:在 WinCC 资源管理器中的“系统参数 - MPI 单元”中,启用选项“自动设置”。 在“ 系统参数 - MPI 通道”中,取消“使用 PLC 的循环读取服务”选项。 wincc 和西门子 PLC 仿真通讯需要 PLCSIM ,先将 PLCSIM 运行,建立一个 WINCC 项目,使用 MPI 通讯即可,说白了跟 MPI 通讯一样,只是 PLC 是用 PLCSIM 在计算机上模拟的 字串 6但是有一点要注意的是,这种方式下不能使用输入区(I 区),凡是有输

42、入的地方都要用 M 区来代替可以使用输入区( I 区),只是有些特殊功能不能用。 字串 835:WINCC-如何使用自定义的对话框实现用户登录?在登录按钮中加处以下脚本:#pragma code(“useadmin.dll“) #include “PWRT_API.H“ #pragma code()if (PWRTSilentLogin(“username“, “PassWord“)/登录成功后的处理 其中“USERNAME“,“PASSWORD“可以用存储用户名和密码的变量替换 .如:PWRTSilentLogin(GetTagChar(“user“), GetTagChar(“PassWo

43、rd“)当登录成功时,函数返回值为真 ;如登录失败,则返回值为假。 字串 8 36:WINCC-如何使用自定义的对话框实现用户退出? 实现登陆:#pragma code(“useadmin.dll)#include “PWRT_api.h“#Pragma code()PWRTlogin(1);实现退出:#pragma code(“useadmin.dll)#include “PWRT_api.h“#Pragma code()PWRTlogout(); 字串 437:如何把 GIF 图片放到 wincc 中?首先插入 aniGIF.ocx 这个 ole 控件,然后双击它,在 GIF 属性中选择您

44、需要显示的GIF 图片就可以了。 字串 438:如何将低版本创建的项目移植到 WinCCV6.0 中?将项目移植到 WinCC V6.0 的工作步骤:WinCC V6.0 与其以前的版本相比在数据组织方面有着显著的不同。为了使在 WinCC V5.0 Service Pack2 或 WinCC V5.1 中创建的项目在 WinCC V6.0 中也能工作,项目数据必须首先通过移植作相应的调整。为此,WinCC V6.0 提供了一个项目移植器,用于自动移植项目的组态数据、运行系统数据和归档数据在移植之前,建议为原版本的项目做一个备份。与此有关的信息参见 WinCC 信息系统中的主题“使用 WinC

45、C”“使用项目”“复制和归档项目”。已归档的文件:如果必须访问先前版本的归档数据,则必须将归档移植到 WinCC V6.0。请使用项目移植器移植归档数据和 dBASE III 归档。多用户项目:为了使利用 WinCC V5.0 SP2 或 V5.1 所创建的多用户项目在 WinCC V6.0 中能够正常工作,可进行如下操作:移植系统中所有服务器上的单个多用户项目。如果原来的项目使用了多客户机,则分别单独移植多客户机的项目数据。正常操作中的冗余系统,不用取消激活操作就可在冗余系统中对项目进行升级。此时,将按规定的次序升级服务器、客户机和多客户机。章节“在正常操作中升级冗余系统”中提供了有关的详细

46、说明。 字串 7 警惕:为了不影响系统操作,必须遵守所描述的步骤次序,且完成所有步骤时不能有任何长时间的中断。早于 WinCC V5.0 Service Pack 2 的 WinCC 版本:对于早于 WinCC V5.0 SP2 的WinCC 版本所创建的项目,必须一步一步地进行移植, 将系统先升级到 WinCC V5.1,并移植项目。安装 WinCC V6.0,并使用项目移植器移植项目。 字串 7 39:wincc6.0 中支持 ab plc 的驱动吗?WinCC V6.0 将不再提供下列通讯通道:Allen Bradley DH DH+ DH485Allen Bradley Serial

47、DF1Applicom Multi Protocol InterfaceGE Fanuc SNP SNPXMitsubishi FXModbus Protocol SuiteModbus SerialSIMATIC S5 PMC EthernetSIMATIC S5 PMC ProfibusSIPART可以用 OPC 来替代。某些通道需附加件的支持。 字串 8 40:WINCC 的授权坏了,显示“Authorization SIK/SIMATIC WINCC RT 128 PowerTags is faulty.”,重新安装显示已经存在此授权,请问要怎么处理?可以询问原来的销售商索要一个激活码

48、,可以在 authorsw 中 manageauthorization 中右键单击选择“recover autrorization”输入激活码激活授权即可。 字串 9 41:用 C 编程解决授权点数不够用的问题(acsun 提供) 字串 8 当需要的工艺参数超过 WinCC 版本限制的 Tag 数目,可以用 C 语言编程实现多个工艺参数打包成一个 Tag 传送.例如某个配料称重系统有 146 个参数超过了 WinCC 的 128 个Tag 的限制就可以用 C 语言编程决这一问题而不需要购买更高的授权.基本思想就是把多个参数在下位机内存中连续排列然后在 WinCC 中定义一个 Tag 它的长度是

49、多个参数之和取得这个 Tag 后编程将其分成多个参数例如下位机有两个参数 LTN44001 和 LTN44023 都是 16 位整数分别存放在DD99.DW146 和 DD99.DW148在 WinCC 中定义一个外部 Tag 命名为 PackageTag 类型为 32 位整数并联地址为DD99.DBD146 再定义两个内部 tag 名为 LTN44001 和 LTN44023 在 Global Script 全局脚本中 C 语言编程如下UnionLong DwordInt Word2unionUnion.Dword=GetTagDword(“PackageTag“)SetTagWord(“LTN44001“,Union.Word0)SetTagWord(“LTN44023“,Union.Word0)这样两个参数 LTN44001 和 LTN44023 就通过一个 Tag 传送上来了理论上只要下位机内存足够可以传送任意数

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 企业管理 > 管理学资料

本站链接:文库   一言   我酷   合作


客服QQ:2549714901微博号:道客多多官方知乎号:道客多多

经营许可证编号: 粤ICP备2021046453号世界地图

道客多多©版权所有2020-2025营业执照举报