为什么通过一个内部变量的_第1页
为什么通过一个内部变量的_第2页
为什么通过一个内部变量的_第3页
为什么通过一个内部变量的_第4页
为什么通过一个内部变量的_第5页
已阅读5页,还剩2页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、1. 为什么通过一个内部变量的“数值变化”事件所触发的脚本不执行?由于软件的限制(循环断路器)在内部变量中是不能实现的。循环断路器是一个安全措施以防止在组态中可能发生的循环。例外:脚本可以通过 IO 域在变量的数值变化事件中执行。补救:使用连接控制器的外部变量。2. 为什么通过一个内部变量的“数值变化”事件所触发的系统函数不执行?通过一个内部变量的“数值变化”事件所触发的系统函数,在脚本中的数值变化不能被执行(循环断路器)。例外:系统函数可以通过 IO 域在变量的数值变化事件中执行。补救:直接在脚本中执行系统函数并且使用连接控制器的外部变量(Power Tag)。   &#

2、160;                                                 &#

3、160;                                                 &#

4、160;                                                 &#

5、160;                                                 &#

6、160;                                                 &#

7、160;                                                 &#

8、160;                                                 &#

9、160;                                                 &#

10、160;                                                 &#

11、160;                                                 &#

12、160;                                                 &#

13、160;                                                 &#

14、160; 3. 在脚本中如何访问数组中的单个元素?数组中的单个元素可以通过数组名并指明数组位置的方法进行访问。实例:nTag = nArray(10)nTag = SmartTags("nArray")(10)局部脚本数组采用相同的规则。在多维局部数组的情况下,数组的维数可以通过逗号分隔。实例:Dim Field(10,10) 'local tagnTag = Field(0, 5)  4. 在 WinCC flexible 中如何访问动态链接库?在 WinCC flexible 中无法使用动态链接库。  5. 如何确定当前鼠标的位置?为了读取当

15、前鼠标的位置,必须访问操作系统的 API (application programming interface)。VB 脚本不支持通过动态链接库访问操作系统的 API 。作为选择,当前鼠标的位置可以通过自行编写的能够访问操作系统 API 的 ActiveX 控件读取。                           

16、0;                                                 

17、0;                                                 

18、0;                                                 

19、0;                                                 

20、0;                                                 

21、0;                                                 

22、0;                                    注意:在 WinCC flexible 中使用的 ActiveX 控件必须在“开放程序接口平台”(OPP)上创建。更多信息可在条目号 15247601 中获得。 &

23、#160;                                                 &

24、#160;                                                 &

25、#160;                                                 &

26、#160;                                                 &

27、#160;                                                 &

28、#160;                                                 &

29、#160;                                      6. 如何读取或保存Unicode文本文件?PC 运行系统:如果文件曾经以 Unicode 格式打开或保存,那么这些文件可以使用 WinCC f

30、lexible 以 Unicode 格式读取或保存。注意:在 WinCC flexible 中“IO 域” 对象不支持所有的 Unicode 字符。面板:基于 Windows 的操作员面板不能通过 Windows CE 字符串函数读取或保存 Unicode 格式的文本文件。  7. 为什么通过 WinCC flexible “MsgBox” 命令不能在脚本中使用?由于安全因素 “MsgBox” 命令在 WinCC flexible 中被禁用。  8. 在脚本中如何将十六进制数赋给变量?十六进制数的数值在 WinCC flexible 脚本编辑器中用前缀 “&h” 进

31、行转换。实例:nTag = &h0F '  = 15 dec  9. 如何在脚本中显示或隐藏单个图层?使用图层工作是 WinCC flexible 工程软件开发系统的一项功能。这些图层在 WinCC flexible 工程软件中作为组态帮助能够被显示或隐藏。这项功能在 WinCC flexible 运行系统中是不可用的。补救:设置变量符合相应对象的“可见性”属性。  10. 在脚本中如何连结字符串?连接符 "&" 能够用于将字符串连接起来。实例:szText_1 = szText_2 & "add St

32、ring" & szText_1(翻译到此)  11. 一个具有返回值的函数调用是如何工作的?通过在调用脚本中将函数指派给相应的变量而产生具有返回值的函数调用。实例:Sub Script_1( )    'Call script function    nValue = Script_2( Param_1, Param_2 )End Sub注意:同时参考要点 11.  12. 在函数内部返回值是如何指派的?返回值在相同名称的函数 “Script_2” 中通过分配返回参数到脚本名称的方式进行

33、赋值。实例:Function Script_2( Param_1, Param_2 )    'Declaration of local tags    Dim Sum    Sum = Param_1 + Param_2    'Return value    Script_2 = SumEnd Function    13. 如何通过脚本改变线性对象的长度?在线性对象中“高度”和“宽度”参数是只读的。通过水

34、平和垂直位置,可以使用矩形替代线性对象并通过在脚本中的属性动态更新。注意:关于此项的更多信息可在条目号 24249449 中获得。  14. 什么原因可导致系统达到它的最大嵌套层数?例如,如果一个脚本在另一个脚本中通过数值变化被二次调用,根据这个原则由于调用的产生会达到最大的嵌套层数。当一个脚本被调用时,所有相关的变量都被加载到面板的主内存中。当另一个脚本被调用时面板的内存使用率会更高。一个反复调用自身的脚本,在被一个递归脚本调用时这样现象同样可以很快的达到。           &#

35、160;                                                 &#

36、160;                                                 &#

37、160;                                                 &#

38、160;                                                 &#

39、160;                                                 &#

40、160;                                                 &#

41、160;                    补救:检查脚本的处理,如果必要,减少脚本的嵌套。  15. 如何确定当前画面号?为了确定一个画面的编号,这个编号一定包含在画面的名称中。根据下列例程中显示的代码,画面的编号能够从画面的名称中确定。画面标识符:001_StartScreen002_Section_1003_Section_2等等。实例:Function ScreenNo( )

42、    Dim Obj, StrNumber    Set Obj = HmiRuntime    StrNumber = Split(Obj.BaseScreenName, "_")       'Return value    ScreenNo = CInt(StrNo(0) )End Function注意:另外也可使用“画面编号”区域指针。通过组态一个具有相同地址区域的变量作为区域指针,那么画面编号

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论