有关plc顺序移位试验程序的实现思路与方法,其编程思路是若取消某位,则移位到该位为1时,再使之移一位,用梯形图左母线旁的步序号为“行号”,一起来了解下。
一个有关plc的试验程序,参见附图1。程序原用gx developer编制,fx2n;现移植为用台达wplsoft 2.12编制,es2。
要求:实现y1~y5的顺序移位,并可任意取消某位或某几位;也就是,若取消y2,则y1接通之后,满足条件后y1断开、y3接通,而不是y2接通。
比如,五个加工工位,每次仅允许一个加工,若某工位未准备好,则跳过该工位。该程序的方法,似不太顺畅——要实现该功能,还可以如何编制程序呢?
重新阅读该段程序后,得出其编程思路是:若取消某位,则移位到该位为1时,再使之移一位。
为便于描述,用梯形图左母线旁的步序号为“行号”(行块号)。
附,对附图1程序的解读:
0行:接通一次x0,t0延时1秒接通,即使x0信号抖动,也不会多次给出信号;这是防外部触点抖动的另一种思路。t0接通一次,m31~m36左移一位。
8行:给出移位的初始信号m10。
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赋初值。www.dgjs123.com
138行:当d10移位至b6位以上接通时,则d10赋初值。
148行:将d10的值,送至k2m90(m90~m105),以达控制目的。
154~166行:实现y1~y5的控制目的。
169行:程序结束。
该程序仅是给出一种思路,不是实用程序;程序移植后(并将138行与127行指令位置作了交换),也未进行试验。
比如,粗看起来,当取消某位,d10进行“额外”的移位后,则m31~m36并没有进行相应的移位;可能的方法,是将d10的内容,再返回到m31~m36。
本站仅提供信息发布平台,文章仅代表作者个人观点。