三菱plc脉冲输出完成标志指定输出脉冲数量,运行中可以暂停和继续的程序怎么编写?


登录
aIpM_gongkongwo
2018-04-12
137674分享海报电子说1.1w人已加入描述
1、PLSY
指令使用中可以设置单个输出点以一定的频率发出目标值个脉冲,在指令中可以设置脉冲频率、脉冲总数、和发出脉冲的输出点;但只能控制脉冲,如果是脉冲加方向的脉冲模式,那方向点要另选一个普通开关点另外控制。方向信号先于脉冲指令给定。
PLSY:16位连续执行型脉冲输出指令 DPLSY:32位连续执行型脉冲输出指令
FXPLC的PLSY指令的编程格式:
PLSY K1000 D0 Y0
*K1000:指定的输出脉冲频率,可以是T,C,D,数值或是位元件组合如K4X0
*D0:指定的输出脉冲数,可以是T,C,D,数值或是位元件组合如K4X0,当该值为0时,输出脉冲数不受限制
*Y0:指定的脉冲输出端子,FX2N系列只能是Y0或Y1,FX3U系列可以是Y0、Y1和Y2。
指令描述
功能说明
编程实例
M0闭合,PLC在Y0口发脉冲以500的速度共发出2000脉冲,发完脉冲后M8029动作,复位M0。M1闭合,PLC在Y1口发脉冲,当脉冲距离为0时,PLC一直发脉冲,并以脉冲速度1000运行,此时,M8029动作完成标志位无法动作。
2、PLSR
匀加减速指令,在指令中可以设置脉冲的最大频率、脉冲总数、加减速时间和脉冲输出点。通过设置加减速时间来实现匀加速。如果脉冲加方向的脉冲模式也需要另外控制方向点。针对指定的最高频率,进行定加速,在达到所指定的输出脉冲数后,进行定减速。
指令格式
动作说明
编程实例
M0闭合,PLC以100Ms的时间加速到500,共发送2000脉冲,M8029动作完成标志位动作,复位M0,此时,脉冲输出立即停止。
3、PLSV指令
PLSV指令为任意时间可变速指令,可以实时改变脉冲频率的指令,在指令中可以设置脉冲的实时频率、发出脉冲的输出点,和方向点。但是不能设置发出脉冲的总数,也就是不能通过指令定位,如果需要不是很精准的定位可以在使用高速点的时候用脉冲计数器和目标值做一个比较,但是会在PLC的每个扫描周期比较一次,所以会超出一些脉冲。
指令格式
编程实例
M0闭合,PLC以2000的脉冲速度向正向发脉冲。
M1闭合,PLC以2000的脉冲速度向反向发脉冲。
由此也能看出,PLSV指令的脉冲方向由S1的正负号决定的。
打开APP阅读更多精彩内容
声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。
举报投诉
三菱plc指令说明书
2008-11-21
2250
三菱plc应用指令
2008-11-21
1988
三菱plc实例
2016-06-17
907
三菱PLC基本指令
2016-08-09
941
三菱PLC指令表
2016-08-09
1821
三菱PLC编程实例项目例程-包装机三菱PLC程序
2022-03-22
2102
三菱FX系列PLC与三菱变频器通讯应用实例
2022-03-22
572
三菱PLC编程实例-pid
2022-05-13
1176
三菱PLC编程实例-jq
2016-11-03
749
三菱PLC编程实例-time
2016-11-03
800
三菱PLC编程实例-纯水
2016-11-03
830
三菱plc与触摸屏通讯实例
2018-04-02
67119
三菱FX系列PLC的软元件详解
2021-06-04
1548
21个三菱PLC编程实例
2022-10-25
6093
三菱plc常用指令集大全
2023-08-31
496
登录/注册
}
上次,我们学习了程序流程转移中的条件跳转CJ,这次,我们接着向子程序调用CALL和FOR循环发起进攻吧!显然,子程序调用CALL和FOR循环和条件跳转CJ一样,都是PLC程序中用于流程转移的,所以,上次所学的程序区、主程序结束指令FEND等知识点可不要丢哟~在这里我也不再赘述了,这是为了给读者们省时间,可不是我想偷懒。那么,我们开始这次的学习吧!一、子程序调用(CALL、SRET)所谓子程序,顾名思义,它是程序的孩子,啊呸,它是区别于主程序而存在的独立程序段,只能呆在副程序区的可怜瓜娃子。就像我之前说的,你妈妈叫你打酱油,有苹果就顺便买几个,这里的打酱油是主程序,买苹果是子程序。酱油是必须要打的,但苹果买不买取决于你CALL不CALL,如果你想把买苹果的钱拿去买辣条,此时买苹果这个子程序就不会被驱动(CALL),不过,你妈妈会不会赏你一个鞋饼就另说了。调用子程序和条件跳转一样,都是PLC的瞬移特异功能,但CJ主要是在主程序区蹦跶,怎么跳转,都逃不过主程序区这五指山,但调用子程序就不一样了,它一跳就直接跳到副程序区去了,就跟孙猴子的筋斗云似的。那么,这个筋斗云怎么用呢?我们接着往下看。1、子程序调用指令CALL、SRET要想在PLC梯形图中跳出主程序这个牢笼,召唤子程序,就必须要用到子程序调用指令CALL,而且还要捎带上CALL的媳妇SRET。和CJ不一样的是,子程序调用指令CALL必须要和子程序返回指令SRET成对使用。但又和CJ指令一样,CALL的适用软元件也是分支指针P0~P127,且P63不能用于CALL。所以,在编程时要注意分支指针P的使用,同一标号的P不能同时被CJ指令和CALL指令共用,例如CALL P5中的P5就不能用于CJ P5。从编程手册中可以看到,CALL指令仅用于16位,且具有连续执行型和脉冲执行型两种。连续执行型和脉冲执行型的区别于CJ差不多,在此不再赘述。SRET指令和FEND指令一样无驱动条件,仅用于子程序的返回。在子程序中,执行到子程序返回指令SRET时,立即返回到主程序调用指令的下一行继续往下执行。如上图所示,当驱动条件X0接通(X0=ON),执行CALL P5,程序跳转到副程序区中子程序的入口地址P5处往下执行,执行到SRET指令时,立即返回到主程序区CALL P5的下一行继续往下执行。所以,我们在使用CALL指令时,千万不要忘了它的媳妇SRET指令哦,所谓“宁拆十座庙 ,不毁一桩婚”,可不要做了那棒打鸳鸯的坏人。2、子程序嵌套子程序嵌套,是指子程序中再应用子程序调用指令去调用其他子程序,所谓“三十六计计中计”,一环扣一环,一套嵌一套。当然,这个再次调用的过程类同于主程序调用子程序的过程。如上图所示就是2层嵌套的程序流程图,当驱动条件X0接通,调用子程序1,在执行子程序1的过程中,驱动条件X1接通,调用子程序2,执行完子程序2后,返回到子程序1中调用指令CALL P6的下一行继续执行完子程序1,直到执行到子程序1的返回指令后返回到主程序中调用指令CALL P5的下一行继续往下执行。这就好比你打酱油,途中去买苹果,买苹果的途中看到辣条忍不住,然后跑去买辣条,卖完辣条再去买苹果,最后才去买酱油,最后回家。这里打酱油是主程序,买苹果是子程序1,买辣条是子程序2。在三菱PLC2N中,调用子程序的嵌套层数,对主程序而言最多有5层,显然,对子程序而言就要少一层,就是4层。如上图的子程序嵌套流程图,子程序2中还可以有3,3中有4,4中有5,5中就不能有6了。3、子程序的软元件使用按理来说,主程序和子程序的软元件是通用的,也就是说,三菱PLC2N中的软元件,可以用于主程序,也可用于子程序,但有一个比较特殊,那就是定时器。所有定时器均可用于主程序,但子程序要用定时器的话,就没这么简单了,它只能是T192~T199、T246~T249这10个。另外,在子程序调用过程中被驱动的软元件,其状态在子程序调用结束后,会保持在最后一次调用时候的状态不变。哪怕这些软元件的驱动条件在子程序调用结束后发生了改变,软元件的状态也不会发生改变。4、子程序应用什么时候才会用到子程序呢?显然,子程序是区别于主程序的独立程序段,这里的独立,其实就很明显的突出的子程序的作用,那就是把功能模块化,不同的子程序互相独立,各自有着不同的功能,为主程序提供不同的服务。所以,当系统规模很大、控制要求复杂时,可以把程序分为一块一块的子程序,使程序简化;另外,当某个功能需要多次执行时,也可以编成子程序,需要时直接调用,清晰方便,是主程序简单化。子程序调用的实际应用,在这里我就不举例了,因为这和主程序区别也不大,只不过是功能模块化而言。打败了子程序调用后,我们乘胜追击,继续进攻PLC的FOR循环吧!二、循环PLC的循环也是程序流程转移的一种,对应的指令为FOR、NEXT。和子程序调用指令一样,循环指令FOR和NEXT也是成对出现的,但不同的是,FOR指令和NEXT指令都没有驱动条件。在子程序调用指令CALL、SRET中,CALL指令是需要驱动条件的,条件跳转指令CJ 也需驱动条件。从编程手册中,我们可以看到,FOR指令仅用于16位,且只有连续执行型。这是显然的,因为它没有驱动条件,哪来的脉冲执行型?所谓FOR循环,指的是重复,在程序中,PLC扫描到FOR-NEXT指令时,对FOR-NEXT指令之间的程序重复执行n次。如下图所示,程序扫描到FOR K5时,在FOR K5与NEXT指令之间的程序2重复执行5次,然后再退出循环继续往下执行。虽然FOR指令的适用软元件有很多,但最常用的是常数K,也就是用常数K指定程序重复执行的次数。循环指令的应用相对简单,但有几点还是需要我们注意的。1、循环嵌套从上文中我们知道了子程序可以嵌套,同样的,循环指令也可以嵌套,而且最多也是5层。如下图所示为5层循环嵌套,如下图所示。如上图所示,若这5层循环中,每层循环的次数均为10,显然,所有循环全部执行完时,第五层循环被执行了100000次,第4层执行了10000次,依次类推,第1层被执行了10次。这就跟剥洋葱似的,“一层一层剥开我的心~”咳咳,抱歉,一不小心就唱起来了,回归正题。所以,我们在应用循环嵌套时,一定要注意所嵌循环的次数,因为循环次数过多会造成程序运算时间过长,使PLC的响应变慢,甚至超时。另外,循环是可以并立嵌套的,如下图所示。此时两个并立的循环为一层,也就是说,下图为2层的循环嵌套。2、循环指令使用循环指令使用在使用时要注意以下几点:(1)循环指令FOR必须要和NEXT指令成对使用,缺一不可,同生共死;(2)FOR指令和NEXT指令的顺序不能颠倒;(3)FOR指令和NEXT指令必须同时存在同一程序区,FOR指令在主程序区,对应NEXT指令也必须在主程序区,不能写在副程序区。关于循环指令的实际应用,这里我也不列举了,因为我累了。但我们知道了它的作用,能看懂程序也就可以了。那么,这次的学习分享就到这里啦,共勉!注:本文章内容都是基于三菱FX PLC所写选自《三菱FX系列PLC功能指令详解》第二章第9、11课时(技成培训原创,作者:杨思慧,未经授权不得转载,违者必究!)}
一、比较指令1、触点比较指令从上图的程序可以看出,每条指令占5个程序步,当D12的值等于25与D14的值小于等于D15的值,或者当D13的值不等于33与D14的值小于等于D15的值,Y0线圈得电。2、比较指令在上图程序中当X0为1时,比较常数100与计数器C10的当前值,比较的结果送到M0、M1、M2中,当C10<100时,M0为1,当C10=100时M1为1,当C10>100时,M2为1。3、区间比较指令上图的程序是一个压力显示的程序,D9压力检测的反馈值,单位为Kpa,设定的范围为2000~2500之间,当D9<2000时,M3为1,Y4以1s闪烁;当D9在2000~2500之间,M4为1,Y5得电;当D9大于2500时,M5为1,Y6以1s的闪烁。还有浮点数的比较指令ECMP和EZCP,这里需要的注意的是浮点数是32位的,在指令前加D,即DECMP和DEZCP.二、传送指令1、传送指令上图中的程序,当X0为1时,将X20~X27(K2X20)送到Y20~Y27(K2Y020),将T0的值送到D0,T0的常闭触点与T0组成一个脉冲发生器;M8012是周期为100ms的时钟脉冲,用来给计数器C200提供技术脉冲,将C200的32位计数值送到D2和D3组成数据寄存器中。2、交换指令上图程序中,当X1为1时,D4和D5中的值互换。D6D7的值与D8D9互换。交换指令采用脉冲执行方式,否则在每一个扫描周期都要互换一次。3、高低字节交换指令4、成批传送指令、多点传送指令上图中程序BMOVP将D20~D23的值传送给D25~D28中去,K4代表位数。FMOVP是多点传送指令,将5678常数送到D14~D18的5个数据寄存器中去。三、数据转换指令1、BCD转换指令、BIN转换指令上图程序,当X004为1时,将D0中的数据转换为BCD码,并送到Y20~Y37 4个七段显示第二段:当X004为1时,将X20~X37的BCD拨码开关的输入转换为二进制数送到D1中。2、格雷码转换指令格雷码是一种特殊的二进制数编码,常用于绝对式编码器,其特点是它输出的相邻的两个二进制数各位中,只有一位的值不同,格雷码克服了相邻两组编码之间可能出现的读出不确定性,避免造成大误差。四、移位指令和循环移位指令1、循环移位指令ROR循环右移指令和ROL循环左移指令,举例说明:8位和16位彩灯循环移位控制程序上图程序中第0行的意思是首次扫描M8002为1,将H0F0送到Y20~Y37,即点亮Y24~Y27。11行的意思:T0的常闭触点与T0形成1s的周期脉冲,15行的意思T0的常开触点每隔1s接通一次,ROR指令每隔1s使16位彩灯每s右移1位。在三菱PLC只有16位和32位的循环移位指令,我们要做8位的循环移位,上图程序中当首次扫描M8002为1,第0行的mov指令将M11~M13为1,在21行的程序每s对M10~M25左循环移位一次,用SET和RST指令将M18的二进制数送到M10,用MOV指令将M10~M17的数值传送给Y0~Y7大家可以自己操作下试试。看别人做怎么都会,不自己操作一次永远都不是自己会。2、位移位指令SFTR和SFTL分别为右移和左移指令。上图中程序的意思是将X1~X3送到M9~M7,M9~M7送到M6~M4,M6~M4送到M3~M1。K9为指定位元件组的长度,K3为指定移动位数。3、成批复位指令上图程序的意思是当X1为1时复位D10~D19,复位Y20~Y34.4、译码指令上图中的程序的意思就是当X2为1,假设D0中的错误诊断程序给出的一个4位二进制数的代码,用来表示16个不会同时出现的错误,同过M0~M15(K4M0),用触摸屏的16个指示灯来显示错误,若D0的值为3,译码指令DECO将K4M0组成的字的第3位(M3)置为1,则触摸屏上仅M3对应的指示灯亮。仿真如下图5、编码指令上图程序中的意思,K3代表源操作数M20为位软元件,即有8位(23),对于源操作数为D3字元件,即源操作数为D3为8位的字(23)假设某系统有8位错误对应M区的M20~M27,地址越高的位错误的优先级越高,第76行的编码指令,将M20~M27(K2M20)中地址最高的为1的状态的位在字中的位数写入D2,假设M24和M27为1,而M27位数最高,编码指令完成后将位数7写入D2中。6、ON位指令、ON位判别指令和平均值指令、二进制开平方指令上图程序第一行:统计X10~X27中有多少位为1。并送到D5中去。仿真如下,程序第二行:当程序中的K4Y10的第9位为1时,即Y21为1时,M4为1.仿真如下:程序第三行;以前文章的例子中用过,就是对D6~D8的值取平均值送到D9中去。程序第四行:对D20的数开平方,并将结果送到D21中。总结不易,喜欢的小伙伴别忘记点关注,欢迎大家来评论和转发。你们的支持是我继续前进的动力。}

我要回帖

更多关于 三菱plc脉冲输出完成标志 的文章

更多推荐

版权声明:文章内容来源于网络,版权归原作者所有,如有侵权请点击这里与我们联系,我们将及时删除。

点击添加站长微信