PLC天塔之光,以及一些想法。

程序要求:

这个是天塔之光的要求

这个是天塔之光的光圈,注:有些会要求有下面的灯,可以参考   http://www.plc100.com/siemens/shili/tiantazhiguang.htm   (该网址程序,部分有问题)。

具体程序:

所想:

 天塔之光程序了解之后,我在想,通常写PLC都是“”定位动值”,而天塔之光却是一个“动位定值”的程序。

主要点:

SHRB:移位寄存器指令,

其中:
EN: 为使能端;
DATA:需要保存的数据位(bit);
S_BIT:移位寄存器的最低位
N :移位寄存器的长度(bits)

例如:就是当I0.2上升沿的时候,把I0.3的数据(1或0)存入到V100.0里。下一个I0.2的上升沿的时候再把I0.3的数据(1或0)存入到V100.0里,之前存入的数据向高位移动,就是存入到V100.1,因为图中N为+4所以移位寄存器最高位是V100.3,要是超出了数据会保存在SM1.1(溢出位)中。当N为负值的时候就是高位保存,向低位移位。

从天塔之光 Network2和Network3中可以看出M0.0会每2秒发射一个脉冲信号,使能Network7中的移位寄存器,让其每2秒将M10.0的值保存在M10.1中。而M10.0和M1.0相同(目前M0.2未起作用)所以就是这样

第一个使能存入了1后面都存的0。存入的1会被新存入的0不断“挤”到高位

当1被“挤”到最后,就是M11.6了,此时看Network6,M11.6为1,M0.2也会被置1,两秒后M0.2因定时器会归零所以信号如下。注意:因为是在M0.0脉冲之后才会寄存值,所以1移到M11.6会在脉冲之后。

此时又是存入一个1后面都是0,如此循环。1逐个位置移动就代表一个新的一步。

程序不难可是这个程序有点意思,以往我们写程序就是一个位对应一个灯。这就像是上下对应,上面是灯下面是开关固定死了。但是天塔之光却是一个开关在不同的位置对应不同的灯,这种动位定值是一种不同想法。当然如果你仅看位的值,那也是定位动值,只是从这个实验可以更好发散思维,更容易从一个不同的参考系看待问题。

在本例中可以看到。当输出多与步数,即    Q的总数>N+1   的时候动位定值会比定位动值要来的简单。

猜你喜欢

转载自www.cnblogs.com/nanmu/p/11013225.html