配合实际案例为你介绍PLC的基本指令,这样学PLC进步才快。
本文为大家介绍的是查找数据指令,绝对值凸轮顺控指令,增量值凸轮指令。并且通过实际案例为大家介绍。
查找数据指令:
该指令的助记符,指令代码,操作数,程序步如下表
指令格式:
这条指令表达的意思是:D100,K10,表示源操作数一共有10个,以D100为首的D100~D109。然后查找一个目标,把这个查找的目标放在D0中,查找的结果放在D10中。
我们用一个表格来表达:
假设D100=K100,D101=K111,D102=K100…….10个数据,这10个数据为被查数据。现在要查的数据放在D100在,数值为100,然后从右边的表格我们可以看到符合的值有3个,并且我们还可以看到最小值与最大值。
要注意的是,数据查找指令找出来的是这些数据的位置,而不是这个数值本身。
应用举例:
例子:用SER指令编写一个程序,完成如下功能。有10个评委打分,所打的分数分别存在D1~D10中,求去掉一个最高分和最低分后的平均分。
分析:
1.求出D1~D10的和
2.用SER指令找出最大值与最小值
3.利用变址从总和中减去最大值与最小值
4.把减去后所得的结果除以8即得到平均值
梯形图:
绝对值凸轮顺控指令指令:
该指令的助记符,指令代码,操作数,程序步如下表
指令格式:
K4表示的控制了4个位元件,分别是以M0为首的,M1,M2,M3四个位元件。D300是表示存放凸轮的开通点和关断点。这里有4个位元件,所以在D300里面存放了8个数据寄存器,从D300~D307。C0是凸轮转动起来后计算凸轮转动的角度的。假设凸轮上接了一个编码器,凸轮每转动一度,X1上就产生一个脉冲,然后C0开始计数,记够了360度也就刚好旋转了一周。C0接通,对C0复位。这样就可以方便我们对M0~M3进行控制。
具体用法:
我们通过以上这个表格来说明,上升点表示的是接通,下落点表示断开我们设置D300等于40,就是在凸轮转了40度后接通,D301=140就是在凸轮旋转了140度后断开。凸轮顺控指令的好处就是,我们可以随意设置接通的点和断开的点,而传统的凸轮来只有固定的位置。
增量式凸轮顺控指令指令:
该指令的助记符,指令代码,操作数,程序步如下表
指令格式:
K4相当于控制了4对触点,通过M0,M1,M2,M3这4个位元件来表达,这4个凸轮的接通点和关断电点存放在D300中,当X0接通的时候C0开始计数,计数的结果再和D300~D307里面的数进行比较,然后再通过M0~M3输出。
指令规律: 我们先用传送指令把:D300=20,D301=30,D302=10,D303=40写入【S1】中,当X0接通的时候,C0开始计数,当等于20的时候复位一次,又继续计数当等于30的时候再复位一次,依次循环进行,但是如果我们在计数计了一半的时候,突然断开,那么程序又会从新开始。在这个程序当中除了用到C0之外我们还用到了C1,C1的作用是记够了一个值C1自动加一,计完一个周期后又从新开始。从这个图我们可以看见,当0~20的时候M0是接通的,当M0复位以后,M1接通,到了30的时候M1断开,我们可以看到M0,M1.M2,M3是轮流接通的。计完一个周期后M8029接通一个周期。
增量式凸轮顺控指令,与前面的绝对值凸轮顺控指令的区别是:数据寄存器只需要4个,并且是轮流接通的,接通时间由相应的数据寄存器的值来决定,数据寄存器的值越大接通的时间越长,越小接通的时间越短。
应用举例:用INCD编写喷泉控制:
当按下启动按钮后,A组喷头先喷5s后停止,然后B、C组喷头同时喷,5s后,B组喷头停止、C组喷头继续喷5s再停止,而后A、B组喷头喷7s,C组喷头在这7s的前2s内停止,后5s内喷水,接着A、B、C三组喷头同时停止3s,以后重复前述过程。按下停止按钮后,三组喷头同时停止喷水。下图为A、B、C三组喷头工作。
时序图:
梯形图:
本文就为大家介绍到这里,如果有不懂的可以关注私信小编呢!喜欢更多PLC知识的朋友也可以关注小编。
脉冲输出指令,三菱入门必学知识点
相信大家对脉冲都有所耳闻,那么,脉冲是什么?说到脉冲,我们很容易就联想到人的脉搏。心跳有快有慢,例如看到心动的美人,心跳可能飙升到120。而脉冲,简单来说,就是类似心电图上脉搏跳动的电压或电流波形。
能产生脉冲信号的器件或设备有很多,而PLC更是个中翘楚,它可以产生不同频率、不同周期、甚至不同脉宽的脉冲信号。而这些信号的输出离不开脉冲输出指令的驱动。
在分享脉冲输出指令之前,我们先来了解一下脉冲输出的波形吧!
脉冲输出波形
如下图22-1所示为脉冲输出信号的波形及相关变量。脉冲输出是一个连续的周期性信号,其中t为每个脉冲导通时间,即脉冲宽度;T为脉冲周期;频率f为周期的倒数,含义是每秒产生的脉冲个数,所以1/T中的分子1其实是指1秒钟,而1/T就是指1秒含有多少个周期;占空比是指脉宽占周期的比例。
图22-1
PLC的高速脉冲输出信号按脉宽分有两种,一种是占空比为50%的固定脉宽的脉冲串,另一种是脉宽可调的脉冲串。显然,D=50%的脉冲信号,其ON导通时间(t)与OFF关闭时间相等,而脉宽可调,其实就是所谓的PWM。本文所讲述的脉冲输出指的是第一种。
另外,脉冲输出信号还有一个变量就是平均值,PLC输出的脉冲是电压波,其平均值与脉冲高电平、占空比有关,如下图22-2所示。
图22-2
PLC的脉冲输出一般用于控制步进电机或伺服电机的运转,在FX 2N中,其高速脉冲输出口规定只能为Y0、Y1,这些高速脉冲的输出由指令控制,然后直接控制驱动器,进而控制电机的运行,如下图所示,最终实现位置的控制。
另外,想要实现高速脉冲输出,就必须得选择晶体管型输出的PLC型号。而且PLC的脉冲输出是以中断方式输出的,不受扫描周期的影响,如相关指令的驱动条件断开,其脉冲的输出也会立即停止,直到驱动条件再次接通。
其实,PLC的脉冲输出与电机的定位控制还有其他方式,在这里我也就不展开讲解啦,大家感兴趣的自行搜索相关资料或直接观看课程视频哟。
了解了脉冲输出信号后,我们接下来继续看脉冲输出指令。
脉冲输出指令PLSY
几个脉冲输出指令中最简单的就是PLSY,其编程手册截图如下图22-3所示。PLSY指令可用于16位,也可用于32位,具体可根据脉冲数进行选择。这里要注意的是,该指令没有脉冲执行型。
图22-3
PLSY指令的梯形图形式亦如图22-3所示,其操作数有3个,源址S1、S2分别为输出脉冲频率或其存储地址、输出脉冲个数或其存储地址。终址D为指定的脉冲输出口,只能为Y0或Y1。当驱动条件成立时,执行PLSY指令,PLC从输出口D输出一个频率为S1、个数为S2,占空比为50%的高速脉冲。例如图22-3中的例子,当X0接通,PLC的Y0输出口输出频率为1000Hz、个数存储在寄存器D0中的脉冲波。
PLSY指令比较简单,三有一点值得注意的是,若脉冲个数为K0,不是指输出脉冲个数为0(S2=0),而是指脉冲的连续输出,即驱动条件接通,脉冲就一直输出,不计个数,直到驱动条件断开,如执行指令PLSY K1000 K0 Y1。
在PLC 2N中,脉冲频率和个数都是有相关规定的,PLSY指令所能指定的脉冲频率为2~20000Hz,脉冲个数用于16位时为1~32767,用于32位时为1~2147483647。
带加减速的脉冲输出指令PLSR
PLSR指令和PLSY指令的最大区别在于是否带加减速,所谓“加减速”,其实就是频率的加减,因为频率代表的就是速度的快慢,频率越大,脉冲周期就越短,每秒输出的脉冲个数就越多,控制电机的转速就越快。
PLSR指令的编程手册截图和梯形图形式如下图2-4所示。PLSR的操作数有4个,比PLSY多出一个S3,为加减速时间,单位是ms;而S1为脉冲的最高频率;S2为总的脉冲个数;D依然是输出口地址,只能为Y0或Y1。
图22-4
S1输出频率与频率个数的规定,于PLSR指令而言是10~20000Hz,而且设定值必须是10的整数倍,例如500Hz、1000Hz等,而不能是501Hz、1001Hz等。总输出脉冲数用于16位时为110~32767,用于32位时为110~2147483647,若(S2)<110,脉冲将不能正常输出。以图22-4为例,当驱动条件X10接通时,PLC将在Y0输出口输出最高频率为500Hz、脉冲总数为(D0)、加减速时间为3600ms、占空比为50%的脉冲串。
那么,S1的设定为什么是10的整数倍呢?这是因为在加减速期间,指令将频率设定值分为10个阶梯加减,每个阶梯对应频率增量为1/10×(S1)Hz,所以S1的值为10的整数倍才能够被10整除,如图22-5所示。
图22-5
从图22-5可以看到,加速时间和减速时间是相等的,均是由S3设定,而S3的设定并不是随意的,它也有相关的规定,如下图22-6所示。
图22-6
既然有了PLSY指令,为什么还要开发PLSR指令呢?也就是说,为什么要增加“加减速”这个功能?这就和步进电机的工作原理有关了。步进电机是将脉冲信号转变为角位移或线位移的开环控制元步进电机件,若PLC的输出脉冲很大,直接以该大频率脉冲驱动电机,电机在起动之初,其转速为0,不能一下子达到大的转速,从而造成失步现象。同理,电机在停转的时候若速度很快,也不能一下子就停止,很可能会造成过冲现象。所以,增加加减速时间可以让电机避免失步和过冲现象。
可变速脉冲输出指令PLSV
图22-7
PLSV指令的编程手册截图如上图22-7所示,有3个操作数,源址S为输出脉冲频率或其存储地址,用于16位时的取值范围为1~32767Hz和-1~-32767Hz,用于32位时的取值范围为1~100000Hz和-1~-100000Hz。D1为脉冲输出口,仍然是只能为Y0或Y1。D2为旋转方向信号输出地址,当D2=ON时为正转,D2=OFF时为反转。
以图22-7的梯形图为例,当驱动条件M0接通,PLC将在Y0输出口输出频率为10000Hz的脉冲串,若Y4=ON,表示输出频率为正值,若Y4=OFF,表示输出频率为负值。
和PLSY、PLSR指令不同,PLSV指令不能设定脉冲个数,所以它不能用于定位。虽然PLSV指令不能用于精确定位,但它在脉冲输出的过程中,可以自由改变输出脉冲的频率(S),用于电机控制时,就可以随时控制电机的转速和转向。
这里要注意的一点是,若脉冲频率S的值为0,脉冲输出将停止,而且是直接停止,而不是像PLSR那样有减速时间。
PLSY指令、PLSR指令或者是PLSV指令都是脉冲输出指令,它们的执行会涉及到几个特殊辅助继电器和特殊数据寄存器。
相关特殊软元件
如下图22-8所示为相关特殊辅助继电器列表。
图22-8
其中M8147、M8148为脉冲输出监控,若Y0或Y1有脉冲输出,对应辅助继电器将为ON。而M8145、M8146为脉冲输出停止,如果指令的驱动条件不能断开,就可以通过M8145、M8146来停止Y0或Y1的脉冲输出。M8029就不用我多说了,表格已经写明。
图22-9
上图22-9为相关特殊数据寄存器列表。各个数据寄存器的值不会自动更改,所以我们可以用DMOV指令进行清零。
PLSY指令、PLSR指令和PLSV指令的脉冲输出口都是Y0或Y1,所以,三个指令显然不可能同时使用,只能三选二或其中一个指令用两次,并在Y0和Y1输出口得到各自独立的脉冲输出。
以上就是这次所分享的学习内容了,内容比较多,虽然没有结合实际应用进行讲解,但总的来说还是比较简单,希望大家都能全部理解哟。
(来源:技成培训网原创,作者:杨思慧,未经授权不得转载,违者必究!)
相关问答
三菱plc编程指令c0--100什么意思?
是个计数器啊。点输出线圈(F7),在对话框中输入C0+空格+K?。确认就OK是个计数器啊。点输出线圈(F7),在对话框中输入C0+空格+K?。确认就OK
plc中addk10d0d0指令什么意思?
PLC中ADD是加法指令。[ADDK10D0D0]表示将十进制数10与寄存器DO的数值相加,结果再存入寄存器D0中。PLC中ADD是加法指令。[ADDK10D0D0]表示将十进制数10....
台达指令tmr是什么意思刚接触PLC看到些梯形图程序上面有这些...
[最佳回答]时间继电器指令TMR,T0时间继电器设置为10S
三菱PLC指令含义DHSZD200K8C235M8130是什么意思?
HSZ指令的表格高速比较模式(高速型式输出)下位上位Y编号S/RD200D201D202D2030D204D205D206D2071D208D209D210D2112D2...
三菱plc编程怎样输入四位传送指令movd1d2m0?
三菱plc传送指令MOV源操作数只有一个,可以是K、H、KnX、KnY、KnM、KnS、T、C、D、V、Z。显然你出现了两个源操作数,不符合指令格式。目的操作数可以是KnY、Kn...
台达EH系列PLC程式指令“MULD100K14D102”中的K值依据什么来定?
这条是乘法指令,意思是寄存器D100内的值乘以常数14结果放到寄存器D102内,K的意思是常数。这条是乘法指令,意思是寄存器D100内的值乘以常数14结果放到寄存器D...
PLC编程中的进制数该如何表示?相互之间又是如何转换的?
PLC也是一台微电脑,许多功能指令离不开进制转换,同时也是为了增加程序的可读性,想要对PLC进行编程,那么必须得清楚数制的设置以及转化和对应的符号。当然,...1...
三菱PLCDMULd150K4D20怎么解释?
三菱PLC的指令"DMULd150K4D20"表示将D20寄存器中的数据乘以4,并将结果存储在D150寄存器中。具体解释如下:"DMUL"是三菱PLC的指...
plc编程语言SPD怎么用?
在GXDeveloper中可...SPD是脉冲密度,也就是在一定的时间内对输入进行计数。如SPDX0K5000D210在5秒(K5000)内对x0的输入进行计数,计数结果保存在D210中...
问PLC指令FROMK2k5D10K1具体含义?
FRPM指令是将增设的特殊单元缓冲寄存器(BFM)的内容读到可编程序控制器中。FROMK2k5D10K1中的K2是单元号;K5是“BFM#”的传送源;D10是传送地点;K1是传送...