早在湘钢实习的时候,晚上很无聊,就想到了用Concpt软件做梯形图,用Intouch屏幕监控软件来设计小游戏。总共设计的游戏不少3D植物,比如米子奇、智能拼图、俄罗斯方块、打砖块、贪吃蛇等等。由于精力、兴趣转移、等级不足等原因,目前只有拼图和智能拼图设计调试成功。目前,称重管炼铁厂使用的PLC为Rollwell公司的AB系统,编程软件为RSlogix5000。我们对这个东西很陌生,自然需要大量的训练,所以我们想用一个新的来重用以前的游戏设计。再次编辑编程软件拼图游戏设计,因为RSlogix5000和Concpt有很多不同的梯形图元素和功能块,编程思路也不完全相同。这里我将结合屏幕软件配置编写具体的设计思路和梯形图程序。在监控软件的动画设置中,有一项叫做“可见性”,即通过设置一个表达式的“1”或“0”来显示或隐藏对象。在这个设计中,一个数组 A[9] 被用作一个变量来控制九张图片的可见性。通过交换数组元素的值的操作,图片上隐藏了一组图片,看起来图片在移动。首先将一张方形美图等分成3*3的9个部分,为了描述方便,命名为Figure1、
在图片监控软件中新建一个窗口,画出三行三列紧邻但不重叠的方形图像显示区域,命名为区域1、区域1、……导入一张图片, 除图 9 外的每张图都复制成 9 份。创建一个标签数组A[9],索引范围i为0到8,范围k为0到8的自然数。现在为这73张图片设置属性(图1、图2... ,图 8 各有 9 个,图 9 有 1)。图 1 到 8 的动画设置为: 当 A[i]=k 时,从图 k 可以看出 i, k∈n, i∈[0, 8], k∈[1, 8]。设置为图9:图9在A[0]= 1, A[1]= 2...A[7]= 8时可见。图9放置在区域8,其余72张图片按照分类A[i] 和分别放置在区域 i 中。
设置了另一个启动按钮,当触发时,数组A[9]中的元素被赋予不同的值,取值范围为0到8的自然数。设置四个控制按钮,上、下、左,对分别触发四个变量shang、xia、zuo、you。此外,还设置了一些动画。拼图成功后,PLC程序发送指令触发动画显示。程序设计很简单,轮询几个条件,如果条件满足,就产生相应的动作。程序逻辑用高级计算机语言描述如下: 循环:for i=1 to 8 if A[i]==0 and i∈{0, 1, 2, 3, 4, 5} and shang== 1 then A[i]=A[i+3], A[i+3]=0, shang=0 end if; 如果 A[i]==0 且 i∈{3, 4, 5, 6, 7, 8} 且 xia==1 则 A[i]=A[i-3], A[i-3]=0 , xia=0 结束 if; ……结束;如果 A[0]==1 and A[1]= =2 and A[2]==3 and A[3]==4 and A[4]==5 and A[5]==6 and A [6]==7 and A[7]==8 then shengli=1 else do loop end if; 使用梯形图实现逻辑如下: 五. 结论 这个设计有两个trick:一个是实现数组的遍历,找到一个零元素,和这个元素交换其他符合条件的要素;另一个是屏幕传来的上、下、左、你四个指令信号的时限。操作完成后立即复位,因此设置为计数器C1的一个周期的最大时间限制,并且在C1的一个周期内只进行一次交换操作,以避免重复使用命令信号。交换数组元素的值,设置可见性,并在监控画面上实现网格内容的交换。它的编程思想可以设计出更多的格子游戏拼图游戏设计,比如象棋、挖地雷、吃蛇和俄罗斯方块。