|
上一期我们采用的是200SMART内的表格功能,涉及到了表格的创建和表格内容的读取。
这一期我们采用另外一种控制功能(循环位移)实现多水池顺序排水控制。
每个水池由高水位检测开关、低水位检测开关和一个阀门组成。
如果有满水的池子,同一时间里面只能对一个池子抽水,四个水池共用一台水泵。
如果有多个水池满水,抽水顺序按照池1、池2、池3到池4的顺序抽水;
如果只有一个水池满水,就马上抽水不等待其他池满水。
第一段程序是初始化,当PLC一上电的时候将VB500里面的数据全部置零。
第二段程序是启动循环,用V500.4的信号再次从“1”开始循环,
也就是说当VB500字节当中的V500.4被执行时,将VB500字节赋值为“1”重新开始循环。
第三段程序说的是,当现场检测到某一水池水满了的时候,就会触发相应水池的阀门打开。
第四段程序,当4个水池任意一个的电磁阀得电时,说明水池里面的水太多了,需要抽水了,这时启动水泵进行抽水。
第五段程序的作用是,不管哪个水池开始抽水了,只要相应的水池的低水位检测信号一来,就说明该水池的水抽完了,该水池的阀门就关闭了。
当水泵不运行时,执行字节左移循环程序,字节VB500里面的位会依次左移,前面我们第二段程序已经给了VB500赋值了一个“1”,相当于是
本来VB500=0000 0000,执行完第二段程序后VB500=0000 0001
我们都知道PLC是从上到下,从左到右循环往复执行用户程序的。
VB500=0000 0001,也就是V500.0=1
VB500=0000 0010,嗯,是的,他向左移动了一位。也就是V500.1=1
VB500=0000 0100,也就是V500.2=1
VB500=0000 1000,也就是V500.3=1
VB500=0001 0000,也就是V500.4=1
此时,V500.4=1会触发第二段控制程序,使VB500=1,循环继续。
直到Q0.6=1时,第六段程序中的Q0.6常闭触点断开。循环暂时中断。
|