qlin
学过一点FX型PLC基本知识
级别: 家园常客
精华主题: 0
发帖数量: 537 个
工控威望: 531 点
下载积分: 12343 分
在线时间: 258(小时)
注册时间: 2009-07-13
最后登录: 2019-05-13
查看qlin的 主题 / 回贴
楼主  发表于: 2009-12-08 11:07
    摘要:以FX型PLC为例,对四选一程序的编制方法进行了介绍;给出了用SUB指令进行单个信号接通判别的一个方法,例举了用步进梯形图指令STL编制的四选一程序。 
    关键词:输入输出;SUB指令;STL指令;软件仿真   

    在某些设备中,有多个工位、而每次只允许一个工位工作,例如《自学自会PLC指令——三菱FX2N编程技术及应用》 (莫操君 编著)一书中(下称文献[1]),图6-11所示的情况。
    而在文献[1]的第6.3节,还专门谈到了“多选一程序的编写”;据此,本文以四选一为例,就FX型PLC谈谈程序的编制方法。

1.问题描述
    实际问题中,随着工艺要求、产品对象的不同,对程序会有针对性的个体要求。由于本文主旨是编程方法的介绍,为具一般性,故把问题归结为输入对输出的控制,即:
    给定四个输入X0、X1、X2、X3,四个输出Y0、Y1、Y2、Y3;每个输入对应一个输出,但每次最多仅允许一个输出接通;当输入X0~X3全部断开时,输出Y0~Y3保持前一状态不变;参见表1。 

    从表1可看出,输入信号的正确,是保证输出正确的前提。所以,对于该问题的编程思路,可以是:
    (1)判断信号是否正确;
    (2)根据输入信号状态决定输出。
    也就是,有且仅有一个输入接通时,将转换到对应的输出。例如,开始时,X0~X3、Y0~Y3全是断开的;接通X0、则Y0接通,断开X0、Y0保持接通;再接通X1,则Y0断开、Y1接通;如此类推。
    当然,在X0~X3全断开的情况下,也可以设定条件使Y0~Y3全断开。 

 2. 判别是否只有一个输入接通
    对于输入信号数量的判别,文献[1]分别用SUM、ADD、FOR、LD=、INC等指令进行了介绍;按照文献[1]的思路,本文试用减法指令(SUB)来判别是否只有一个输入接通。
    参见图1,M8020是零标志,当SUB指令运算结果为0时,M8020接通。例如,当X1接通,则M1接通,由位元件组合成的字(K4M0)=1,所以M20接通。
    同样地,(K4M0)分别等于2、4、8时,有对应M21、M22、M23接通。
    由于X1~X3有接通者时,(K4M0)有确定的值。也就是,当(K4M0)等于1,就不会等于2、4、8;等于8,就不会等于1、2、4。
    因此,当M30接通时,就表示只有一个输入接通;若有输入接通而M30不通,则表示输入信号不正确。
    在出现错误信号时,可以给出提示信号,或者将信号锁定、等待处理。具体如何编程,应根据试验要求或工艺要求而定。


3  对应输出的实现
3. 1 主要用基本指令编程
    接图1程序,用基本指令实现四选一输出的程序见图2。该程序,当有多个接通信号时,输出保持原状态不变,后接通的信号无效。

    倘若图2程序中的Y0~Y3,分别代表一个过程、或者一系列输出,则再按这种思路编程,程序将会比较复杂。
    这时,可以试用其他方法编程,例如三菱FX系列PLC的步进梯形图指令(STL、RET)。 

3. 2 采用STL指令编程
    采用选择性分支,其状态转换图参见图3。当输入信号正确时,转换到相应的流程。例如,当仅有X0接通时,M0接通,则状态器转换到S21接通。实际程序中,在STL 21之后,还可以设立一系列动作或状态。 

    根据图3,接图1编制一个示意程序如图4所示。同样地,当有多个输入信号接通时,该程序将保持原输出不变。 

    将图1、图4程序结合,用“梯形图逻辑测试”进行仿真。
    运行程序,强制接通X0,可见到Y0接通;同样,单个接通X1、X2、X3,则分别对应有Y1、Y2、Y3单个接通。
    若需在多于一个输入接通信号时,禁止输出或作其他处理,可另编制相应的程序。图4程序可由编程软件转换为SFC程序。 

4.后语
    本文已将实际问题进行了简化,仅是一种思路的介绍,主要供初学者学习参考。实际编程时,根据要求的不同,会有更多的考虑。
    图4程序,与文献[1]图6-18类似;关于该问题的更多讨论,可参见文献[1]。
   (于2009年11月27日)

    参考文献:
[1] 莫操君.自学自会PLC指令——三菱FX2N编程技术及应用[M].2009.
 
[ 此帖被qlin在2009-12-08 12:44重新编辑 ]
本帖最近评分记录:
  • 下载积分:+2(夏日雪梦) 感谢分享
  • 仅很早前用过几次顺控编程(PLC),嘿嘿,没寻找机会
    无心睡眠
    级别: *
    精华主题: * 篇
    发帖数量: * 个
    工控威望: * 点
    下载积分: * 分
    在线时间: (小时)
    注册时间: *
    最后登录: *
    查看无心睡眠的 主题 / 回贴
    1楼  发表于: 2010-09-25 23:51
    顶,很好