技术中心
 
 

人行横道交通灯控制

   日期:2006-12-28     作者:管理员    

  一、问题的提出
  在只需要纵向或横向行使的交通系统中,也需要考虑另一方向的人行道,在这种情况下,利用上述的十字路口交通灯控制系统显然不合适,那么必须考虑新的控制系统。交通情况如图一所示,由图可见,东西方向是车道,南北方向是人行道。正常情况下,车道上有车辆行事,如果有行人要过交通路口,先要按动按钮,等到绿灯亮时,方可通过,此时东西方向车道上红灯亮。延时一段时间后,南北方向的红灯亮,东西方向的绿灯亮。各段时间由图 2 所示。 


 
                           人行横道交通灯控制如图  

    
            图 1 交通路口示意图     图 2 各段时间分配
  二、硬件及接线
  根据上述要求可见,系统所需车道(东西方向

)红、绿、黄各 2 只信号灯,人行道(南北方向)红、绿各 2 只信号灯,南北方向各需一只按钮。本案除 PLC 主机外,尚需配备两个信号灯箱和一个按钮箱。
可编程控制器的输入 / 输出端子分配及硬件连接分别由表 1 及图 3 所示。其中 SA 开关代表可编程控制器自身的运行开关。 
 
  

人行横道交通灯控制如图


      图 3 硬件接线图            表 1 输入 / 输出端口分配
 
  三、系统软件设计
  在本子模块中,我们采用步进梯形指令并联分支、汇合编程的方法来实现人行横信号灯的功能。其状态转移图如图 4所示。由图可知,我们把车道(东西方向)信号灯的控制作为左面的并联分支,人行道(南北方向)信号灯的控制作为并联分支的右面支路,并联分支的转移条件是人行道南北两只按钮的或关系,灯亮到长短利用定时器控制,人行道绿灯闪是利用子循环加记数器了实现。 
 

人行横道交通灯控制如图


               图 4 人行道信号灯控制状态转移图
  本状态转移图总体上讲为一个并行分支、汇合流程,只是在 S33 处有一个选择性分支,在编程时应引起注意。
程序如表 2 所示。

人行横道交通灯控制如图


                表 2 人行道信号灯控制程序清单

  四、知识点扩展
  FX2系列可编程控制器状态编程方法
  绘好了状态转移图后,下一个问题是如何由它绘梯形图或列写指令表。

  (一)、单流程状态转移图的编程
  1、什么是流程
  所谓单流程,是指状态转移只可能有一种顺序。上个模块介绍的台车自动往返的控制过程只有一种顺序: S0→S20→S21→S22→S23→S24→S0,没有其他可能,所以叫单流程。
当然,现实当中并非所有的顺序控制均为一种顺序。含多种路径的叫分支流程。本模块即为并联分支流程。

  2、单流程状态转移图的编程方法

  a 状态转移图的编程方法
  (1)状态的三要素 对状态转移图进行编程,不仅是使用STL,RET指令的问题,还要搞清楚状态的特性及要素。

  状态转移图中的状态有驱动负载、指定转移目标和指定转移条件三个要素。其中指定转移目标和指定转移条件是必不可少,而驱动负载则视具体情况,也可能不进行实际的负载驱动。图 5及图6说明了状态转移图和梯形图的对应关系。其中Y5为其驱动的负载,S21为其转移目标,X3为其转移条件。 


 
   人行横道交通灯控制如图

    
                图 5状态转移图SFC   图6状态梯形图STL
  (2)状态转移图的编程方法 步进顺控的编程原则为:先进行负载驱动处理,然后进行状态转移处理。
图 5的程序如下:
STL S20 使用STL指令
OUT Y5 进行负载驱动处理
LD X3 转移条件
SET X21 进行转移处理

  从程序可看到,负载驱动及转移处理,首先要使用 STL指令,这样保证负载驱动和状态转均是在自母线上进行。状态的转移使用SET指令,但若为向上缓役、向相连的下游转移或向其他流程转移,称为顺序不连续转移,非连续转移不能使用SET指令,而用OUT指令。如图7所示。

人行横道交通灯控制如图


                b 状态的开启与关闭及状态转移图执行的特点
  STL指令的含意是提供一个步进接点,其对应状态的三个要素均在步进接点之后的子母线上实现。若对应的状态是开启的(即&#

















































8220;激活”),则状态的负载驱动和转移才有可能。若对应状态是关闭的,则负载驱动和状态转移就不可能发生。因此,除初始状态外,其他所有状态只有在其前一个状态处于激活切转移条件成立时才能开启。同时一旦下一个状态被“激活”,上一个状态会自动关闭。从PLC程序的循环扫描执行原理出发,在状态编程程序段落中,所谓“激活”可以理解为该段程序被扫描执行。而“关闭”则可以理解为该段程序被跳过,未能扫描执行。这样,状态转移图的分析就变得条理十分清楚,无需考虑状态时间的繁杂联锁关系,可以理解为:“只干自己需要干的事,无需考虑其他”。

  另外,这也方便程序的阅读理解,使程序的试运行、调试、故障检查与排除变得非常容易,这就是运用状态编程思想解决顺控问题的优点。
  c 编程要点及注意事项 
 
   
             
                                人行横道交通灯控制如图

        
                (a)       (b)     (c)
                图 7 非连续转移状态转移图

  (1) 状态编程顺序为:先进行驱动,再进行转移,不能颠倒。
  (2) 对状态处理,编程时必须使用步进接点指令STL。
  (3) 程序的最后必须使用步进返回指令RET,返回主母线。
  (4) 驱动负载使用OUT指令。当同一负载需要连续多个状态驱动,可使用多重输出,也可使用STL指令将负载置位,等到负载不需驱动时用RST指令将其复位。在状态程序中,不同时“激活”的“双线圈”是允许的。另外相邻状态使用的T、C元件,编号不能相同。
  (5) 负载的驱动、状态转移条件可能为多个元件的逻辑组合,视具体情况,按串、并联关系处理,不遗漏。
  (6) 若为顺序不连续转移,不能使用SET指令进行状态转移,应改用OUT指令进行状态转移。
  (7) 在STL与RET指令之间不能使用MC、MCR指令。
  (8) 初始状态可由其他状态驱动,但运行开始必须用其他方法预先作好驱动,否则状态流程不可能向下进行。一般用系统的初始条件,若无初始条件,可用M8002(PLC从STOP→RUN切换时的初始脉冲)进行驱动。

  需在停电恢复后继续原状态运行时,可使用 S500→S899停电保持状态元件。


 





















 
  
  
  
  
 
更多>同类技术
 
全年征稿 / 资讯合作
 
推荐图文
推荐技术
可能喜欢