找plc产品、学plc技术、看plc新闻-尽在PLC行业网!

PLC行业网-三菱plc编程入门,plc视频教程,plc学习,plc教程,plc编程实例

当前位置: PLC行业网 > 工控 > 台达PLC >

顺序移位:一个试验程序解读、及征求新方法

时间:2012-03-13 23:02来源:未知 作者:www.plcs.cn 点击:

    说实话,好几年没用过PLC了;今看到一个以前的试验程序,看起来蛮“拗口”的,参见附图1。程序原用GX Developer编制,FX2N;现移植为用台达WPLSoft 2.12编制,ES2。
    该段程序的要求是:实现Y1~Y5的顺序移位,并可任意取消某位或某几位;也就是,若取消Y2,则Y1接通之后,满足条件后Y1断开、Y3接通,而不是Y2接通。
    这可能是,当时为编制某程序而作的准备,应当是程序中要求有类似的功能(原程序未保留)。比如,五个加工工位,每次仅允许一个加工,若某工位未准备好,则跳过该工位。
    该程序的方法,似不太顺畅——要实现该功能,还可以如何编制程序呢?

莫操君《自学自会PLC指令——三菱FX2N编程技术及应用》补充资料
 
    重新阅读该段程序后,得出其编程思路是:若取消某位,则移位到该位为1时,再使之移一位。
    为便于描述,用梯形图左母线旁的步序号为“行号”(行块号)。
    附,对附图1程序的解读:

    0行:接通一次X0,T0延时1秒接通,即使X0信号抖动,也不会多次给出信号;这是防外部触点抖动的另一种思路。T0接通一次,M31~M36左移一位。
    8行:给出移位的初始信号M10 www.plcs.cn。
    10行:当M31接通后,复位复位M10。
    14行:移位指令,实现M31~M36的每次一位移位;此处M1无作用。
    25行:下一个循环时,使M31置位,即M31与M36同时接通。
    27行:复位M31,此时M32已接通,仍是实现M31与M36同时接通。
    33~53行:产生D10的移位信号。
    58行:D10赋初值。
    64行:实现D10的移位。
    75~114行:若取消某位,则该位被移除。
    比如,取消Y2(使Y1接通直接转到Y3接通),则这时使X2接通;
    设先有Y1接通(M31等接通),此时来一个移位信号后,有M32接通,执行38行、产生M62信号(M62脉冲接通),于64行D10移一位;这时D10的各位为 0000 0000 0000 0100;
    由于M62接通、又X2接通,故执行到88行时,D10再移一位,结果为 0000 0000 0000 1000;执行后续程序,使M93接通,Y3接通。
    127行:若为取消第5位,则将D10赋初值。
    138行:当D10移位至b6位以上接通时,则D10赋初值。
    148行:将D10的值,送至K2M90(M90~M105),以达控制目的。
    154~166行:实现Y1~Y5的控制目的。
    169行:程序结束。

    该程序仅是给出一种思路,不是实用程序;程序移植后(并将138行与127行指令位置作了交换),也未进行试验。
    粗看起来,当取消某位,D10进行“额外”的移位后,则M31~M36并没有进行相应的移位;可能的方法,是将D10的内容,再返回到M31~M36。
    而且,程序中好像假定了X0的接通时间小于1秒;否则,14行要采用脉冲执行型指令SFTLP。
    本文亦可作为《自学自会PLC指令——三菱FX2N编程技术及应用》(莫操君)的补充资料。

    有兴趣者,可试验另外的方法。

顶一下
(0)
0%
踩一下
(0)
0%
------分隔线----------------------------
发表评论
请自觉遵守互联网相关的政策法规,严禁发布色情、暴力、反动的言论。
评价:
栏目列表
推荐内容