回复:LBP TIA_wincc 笔记

已锁定

Ready_OK

  • 帖子

    1782
  • 精华

    1
  • 被关注

    125

论坛等级:至圣

注册时间:2017-03-09

钻石 钻石 如何晋级?

发布于 2023-01-04 10:42:03

18楼

展开查看
以下是引用贤贤易色在2022-08-04 09:20:54的发言 >1楼

mainScreenName & "openedFPs" :指针

mainScreenName & "array_" & 1 & "_screen"画面数组1

mainScreenName & "array_" & 1 & "_screen"画面数组2

mainScreenName & "array_" & 1 & "_screen"画面数组3

mainScreenName & "array_" & 1 & "_screen"画面数组4

mainScreenName & "array_" & 1 & "_screen"画面数组5

=======================================================================================

假设屏幕中最大的窗口数是5,并且每次只打开一次的情况下,各参数的值

第一次打开窗体:mainScreenName & "openedFPs":值是1,此时mainScreenName & "array_" & 1 & "_screen(0,0,0,0,0,0)

检测的空闲窗口是窗口5,显示窗口5,指针的值是1,将画面数组变量改为:(5,0,0,0,0),指针的值是2

=======================================================================================

第二次打开窗体:mainScreenName & "openedFPs":值是2,此时mainScreenName & "array_" & 1 & "_screen(5,0,0,0,0)

执行循环条件成立的外循环条件值是:5(counter = 5),内循环成立的条件值是:1(counter2 = 1),newEmptyField的值是:1

此时highFor的值是:4,,,,,,另一个循环体执行的是1-4次,第1次:arrayField1:值是1 = (1 - 1) + 1

arrayField2:值是0 = 1 - 1则改成arrayField2:值是5 = 5 + 0,此时mainScreenName & "array_" & 1 & "_screen(0,0,0,0,0)

第2次:arrayField1:值是0 = (1 - 2) + 1,则改成arrayField1:值是5 = 5 + 0,arrayField2:值是-1 = 1 - 2则改成

arrayField2:值是4 = 5 - 1,此时mainScreenName & "array_" & 1 & "_screen(0,0,0,0,0)

第3次:arrayField1:值是-1= (1 - 3) + 1,则改成arrayField1:值是4 = 5 - 1,arrayField2:值是-2 = 1 - 3则改成

arrayField2:值是3 = 5 - 2,此时mainScreenName & "array_" & 1 & "_screen(0,0,0,0,0)

第4次:arrayField1:值是-2= (1 - 4) + 1,则改成arrayField1:值是3 = 5 - 2,arrayField2:值是-3 = 1 - 4则改成

arrayField2:值是2 = 5 - 3,此时mainScreenName & "array_" & 1 & "_screen(0,0,0,0,0)

经过这4轮现象是:5给1,4给5,3给4,2给3

检测到的空闲窗口是5,显示窗口是5,指针的值是2,将画面数组变量改为(0,5,0,0,0), 指针的值是3

=======================================================================================

第三次打开窗体:mainScreenName & "openedFPs":值是3,此时mainScreenName & "array_" & 1 & "_screen(0,5,0,0,0)

执行循环条件成立的外循环条件值是:5(counter = 5),内循环成立的条件值是:2(counter2 = 2),newEmptyField的值是:2

此时highFor的值是:4,,,,,,另一个循环体执行的是1-4次,第1次:arrayField1:值是2 = (2 - 1) + 1

arrayField2:值是1 = 2 - 1此时mainScreenName & "array_" & 1 & "_screen(0,0,0,0,0)

第2次:arrayField1:值是1 = (2 - 2) + 1,arrayField2:值是0 = 2 - 2则改成arrayField2:值是5 = 5 - 0,

此时mainScreenName & "array_" & 1 & "_screen(0,0,0,0,0)

第3次:arrayField1:值是0 = (2 - 3) + 1,则改成则改成arrayField1:值是5 = 5 + 0,arrayField2:值是-1 = 2 - 3则改成

arrayField2:值是4 = 5 - 1,此时mainScreenName & "array_" & 1 & "_screen(0,0,0,0,0)

第4次:arrayField1:值是-1 = (2 - 4) + 1,则改成则改成arrayField1:值是4 = 5-1,arrayField2:值是-2 = 2 - 4则改成

arrayField2:值是3 = 5 - 2,此时mainScreenName & "array_" & 1 & "_screen(0,0,0,0,0)

经过这4轮现象是:1给2,5给1,4给5,3给4

检测到的空闲窗口是5,显示窗口是5,指针的值是3,将画面数组变量改为(0,0,5,0,0),指针的值是4

=========================================================================================

第四次打开窗体:mainScreenName & "openedFPs":值是4,此时mainScreenName & "array_" & 1 & "_screen(0,0,5,0,0)

执行循环条件成立的外循环条件值是:5(counter = 5),内循环成立的条件值是:3(counter2 = 3),newEmptyField的值是:3

此时highFor的值是:4,,,,,,另一个循环体执行的是1-4次,第1次:arrayField1:值是3 = (3 - 1) + 1

arrayField2:值是2 = 3 - 1此时mainScreenName & "array_" & 1 & "_screen(0,0,0,0,0)

第2次:arrayField1:值是2 = (3 - 2) + 1,arrayField2:值是1 = 3 - 2

此时mainScreenName & "array_" & 1 & "_screen(0,0,0,0,0)

第3次:arrayField1:值是1 = (3 - 3) + 1,arrayField2:值是0 = 3 - 3则改成arrayField2:值是5 = 5 - 0,

此时mainScreenName & "array_" & 1 & "_screen(0,0,0,0,0)

第4次:arrayField1:值是0 = (3 - 4) + 1则改成arrayField1:值是5 = 5 + 0,arrayField2:值是-1 = 3 - 4则改成arrayField2:值是4 = 5 - 1,此时mainScreenName & "array_" & 1 & "_screen(0,0,0,0,0)

经过这4轮现象是:2给3,1给2,5给1,4给5

检测到的空闲窗口是5,显示窗口是5,指针的值是4,将画面数组变量改为(0,0,0,5,0),指针的值是5

==========================================================================================

第五次打开窗体:4轮的现象是:3给4,2给3,1给2,5给1

检测到的空闲窗口时5,显示窗口时5,指针的值是5,将画面数组改位(0,0,0,0,5),指针的值是1


感谢分享,收藏级

海纳百川,厚德务实!
评论
编辑推荐: 关闭

请填写推广理由:

本版热门话题

SIMATIC WinCC / Panel

共有32575条技术帖

相关推荐

热门标签

相关帖子推荐

guzhang

恭喜,你发布的帖子

评为精华帖!

快扫描右侧二维码晒一晒吧!

再发帖或跟帖交流2条,就能晋升VIP啦!开启更多专属权限!

  • 分享

  • 只看
    楼主

top
您收到0封站内信:
×
×
信息提示
很抱歉!您所访问的页面不存在,或网址发生了变化,请稍后再试。