首页 理论教育 实现脉冲信号的输出方法

实现脉冲信号的输出方法

时间:2023-06-16 理论教育 版权反馈
【摘要】:由于脉冲输出频率都较高,所以,应选用晶闸管输出的PLC。这些指令大体分两类:脉冲输出及脉宽调制输出。表3-8 脉冲输出指令CPM2A机用PULS指令设定输出脉冲数,用SPED指令设定输出脉冲频率,并启动输出;FX2N机用PLSY指令同时设定输出脉冲数及设定输出脉冲频率,并可启动脉冲输出。这对CPM2A,可使用的输出ACC指令,对S7-200可使用多段脉冲输出,对FX2N,可使用PLSR指令。如设为0,指定口脉冲输出停止。

实现脉冲信号的输出方法

输出脉冲,中、大型机使用位置控制或运动控制单元。这些单元都有自己的CPU、内存及输出、输入点。通过与PLCCPU交换数据,或预先设定,可确定用哪个输出点发送脉冲,送多少脉冲,以及脉冲的频率多大等。确定之后,无须PLCCPU干预,可自行工作。所以,这类PLC就没有自身的脉冲输出口,也没有脉冲输出指令。

有的小型机也有位置控制单元,用它时,其特点与中、大型机相同。但小型机即使不配置位置控制单元,仍都有输出脉冲的资源。

1.用内置脉冲输出点输出脉冲

小型机多都内置有脉冲输出资源。如欧姆龙的CP1H的Y型机则有4个输出口。此外,还有两个可调制脉宽输出口。

由于脉冲输出频率都较高,所以,应选用晶闸管输出的PLC。否则将影响PLC的工作寿命。

脉冲输出有两种格式:脉冲串见图3-14a,连续地输出若干个规定频率的,ON、OFF等宽的脉冲;调制脉冲见图3-14b,连续输出规定周期的,ON的宽度变化的脉冲。前者多用于运动控制,而后者多用于模拟量控制。

978-7-111-56641-0-Chapter04-21.jpg

图3-14 脉冲串及调制脉冲

表3-8所示为CPM2A、S7-200及FX2N的脉冲输出指令。这些指令大体分两类:脉冲输出及脉宽调制输出。

3-8 脉冲输出指令

978-7-111-56641-0-Chapter04-22.jpg

CPM2A机用PULS指令设定输出脉冲数,用SPED指令设定输出脉冲频率,并启动输出;FX2N机用PLSY指令同时设定输出脉冲数及设定输出脉冲频率,并可启动脉冲输出。

为了运动平稳,在脉冲输出开始时,其频率可逐渐增(加速),在脉冲输出快结束时,其频率可逐渐减(减速)。这对CPM2A,可使用的输出ACC指令,对S7-200可使用多段脉冲输出,对FX2N,可使用PLSR指令。这些指令的操作数将选定输出口及上述数据。

输出脉宽调制脉冲,CPM2A、FX2N用的都称PWM的指令。而S7-200机,无论哪种脉冲输出,均用一个PLS指令。而具体是什么输出及有关参数,用特殊存储器控制。

(1)CPM1A机脉冲指令

1)PULS指令。其格式如图3-15所示。

有3个操作数。

第1个(P):用以指定输出口,000指定01000点输出,010指定01001点输出。

第2个(C):控制字,000相对脉冲,用于相对坐标系统;001绝对脉冲,用于绝对坐标系统。

978-7-111-56641-0-Chapter04-23.jpg

图3-15 PULS指令

第3个(N):用于独立模式时,设置要输出的脉冲数,占两个字,8位BCD码。N存4个低数位数,N+1存4个高数位数。最高位(N+1字的第15位)为符号位。最高位为1时为负数。负数用于绝对坐标系统。

本指令为扩展指令,可微分执行。而且要想按指定数输出脉冲,只能用微分执行。执行本指令不发送脉冲。它与SPED等指令配合使用后,才向外发送脉冲。

2)SPED指令。其格式如图3-16所示。

它有3个操作数。

第1个(P):同PILS指令。

第2个(M):输出模式,000独立模式,001连续模式。

第3个(F):目标频率,用BCD码,单位10Hz,可在1~1000间设定,最高为10kHz。如设为0,指定口脉冲输出停止。

978-7-111-56641-0-Chapter04-24.jpg

图3-16 SPED指令

本指令可微分执行。在相对坐标系统下,当设为独立模式时,在执行本指令之前,需先执行PULS指令,才能发送脉冲。而且在这种模式下,即使微分执行,也要到PULS指令规定脉冲数(如这时PULS指令已不再执行)发送完毕为止。如这时PULS指令仍继续执行,则将不停地发送脉冲。直到执行设定频率为0的,新的SPED指令为止,或PULS指令停止执行,且从这时开始把指定数输出脉冲发送完为止。

当设为连续模式时,可不管PULS指令是否执行,都发送脉冲。而且在这种模式下,即使微分执行,也将不停地发送脉冲。直到执行设定频率为0的,新的SPED指令为止。

3)ACC指令。其格式如图3-17所示。

978-7-111-56641-0-Chapter04-25.jpg

图3-17 ACC指令

它有3个操作数。

第1个(P):指定口,设为000,指定为单相带梯形增减速的脉冲输出。

第2个(M):输出模式:(以下CW为正时针,CCW为逆时针)

000独立模式,而且增减两路脉冲输出;

002独立模式,而且脉冲与方向控制两路输出;

010CW连续模式,而且增减两路脉冲输出;

011CCW连续模式,而且增减两路脉冲输出;

012CW连续模式,而且脉冲与方向控制两路输出;

013CCW连续模式,而且脉冲与方向控制两路输出。

第3个(C):数据字,占3个字:

C用以设定脉冲加速率;

C+1用以设定目标频率;

C+2用以设定脉冲减速率。

这个数据格式必须是BCD码。

本指令可微分执行。

当设为独立模式时,在执行本指令之前,需先执行PULS指令,才能发送脉冲。而且在这种模式下,即使微分执行,也要到PULS指令规定脉冲数(如这时PULS指令已不再执行)发送完毕为止。如这时PULS指令继续执行,则将不停地发送脉冲。直到执行设定目标频率为0的,新的ACC指令为止,或PULS指令停止执行,这时开始把指定数输出脉冲发送完为止。与SPED指令不同的是,当接近脉冲发送完成时,发送频率要按设定减速率减小。而且,当频率减小到0时,正好规定的脉冲数发送完毕。这些,都是指令自动完成,编程时,无须另作计算。

当设为连续模式时,可不管PULS指令是否执行,都发送脉冲。而且在这种模式下,即使微分执行,也将先加速发送脉冲,到目标频率时将不停地发送脉冲。直到执行目标频率设定为0的,新的ACC指令为止,或执行带C=003的INI(中断)指令为止。这种模式下事实上减速率的设定是无效的。

4)PWM指令。其格式如图3-18所示。

它有3个操作数。

第1个(P):脉冲输出口地址,为000(用口1,输出点010.00)或010(用口2,输出点010.01),两个口可同时独立工作,互不影响。

第2个(F):指定脉冲频率,必须为BCD码,在0001~9999(相当于0.1~999.9Hz)之间任选。

978-7-111-56641-0-Chapter04-26.jpg

图3-18 PWM指令

第3个(D):占空比,必须为BCD码,在0001~0100(相当于1%~100%)之间任选,容许使用的数据区有IO、AR、DM 、HR、TC、LR或直接用常数。

本指令为扩展指令,使用前要作指令功能号设定,并要下载给PLC。对有的PLC,在下载前,还要把PLC设置成容许扩展指令功能码下载模式。如CPM2A,其DM 6602的高字节应设为1,否则,无法下载。容许扩展指令功能码下载的设定,也在CXP软件的设定窗口的“启动”表单上,选“扩展指令”为“用户设定”实行。当然,这后者实质上与前者是相同的。也是改DM 6602的值。只是它必须下载给PLC后才改。

提示:DM 6602改后,PLC还要断电,并重新上电后,这个设定才能生效。

另外,在使用这指令前,还必须在DM 6643的最高数位(digit)设为1(对于用口1),或在DM 6644的最高数位(digit)设为1(对于用口2)。如果不这么设,这两个口输出的将是未调制的脉冲。

本指令执行一次将重复输出相应脉冲。直到新的占空比的PWM指令执行,转而去输出新的占空比的脉冲。或到执行带参数C=3的中断指令(INT),则停止输出这个脉冲。所以,本指令用微分执行也就可以了。

提示:以上几个有关脉冲输出指令所使用的数据格式如果不是BCD码,这些指令将不能执行。到底是否执行了这些指令,可观测脉冲输出口。如指示灯闪烁,则发送脉冲,指令执行;否则指令不执行,不发送脉冲。

(2)S-200PLS指令

其格式如图3-19所示这里:EN为指令执行条件,ON本指令执行,OFF不执行;(www.xing528.com)

ENO本指令执行结果,正确执行,输出ON,否则OFF;

Q0.X为输出口选择,0为Q0.0输出点,1为Q0.1输出点。不管输出标准脉冲(PTO),还是脉宽调制脉冲输出(PWM)均使用本指令。有关具体功能的选择由特殊存储器确定。SMB66~SMB75设定Q0.0,而SMB76~SMB85设定Q0.1。具体情况见表3-9。而表3-10为它的若干设定举例。

978-7-111-56641-0-Chapter04-27.jpg

图3-19 PLS指令

3-9 脉冲输出口设定

978-7-111-56641-0-Chapter04-28.jpg

3-10 脉冲输出口设定举例

978-7-111-56641-0-Chapter04-29.jpg

从表3-10知,PTO操作可为有单段,也可多段。单段,用于一种运动速度(输出频率固定)的位移;而多段,则用变速位移。PWM的更新方法建议选用同步,即脉冲宽度变化时,脉冲频率不变。也可使脉冲宽度变化时,脉冲频率也变,但不建议选用。

多段PTO的参数设定是:

SM168、178指定的相对于VB0的偏移第1地址,指定段数。如SM168赋值为500,则VB500的值决定了PTO的段数。段数可在1~255间选择。

SM168、178指定的相对于VB0的偏移第2地址,如SM168赋值为500,则VW501的值决定了PTO的第1段的初始脉冲周期。初始脉冲周期可在2~65535间选择。

SM168、178指定的相对于VB0的偏移第3地址,如SM168赋值为500,则VW503的值决定了PTO的第1段的脉冲周期增加数(前后两脉冲间的周期变化),此数可正(加速),可负(减速)。如果为0,则周期不变。脉冲周期增加数可在-32768~32767间选择。

SM168、178指定的相对于VB0的偏移第4地址,如SM168赋值为500,则VD505的值决定了PTO的第1段发送的脉冲数。发送的脉冲数可在1~4294 967 295间选择。

往后,如SM168赋值为500,则VW509、VW511、VD513为第2段参数,其余类推。

在PTO多段输出时,要知道现处于哪个段,可读SMB166、176的现值。因为其中记载着正运行中的段号。

提示:PLS是否执行,可观测脉冲输出口。如指示灯闪烁,则发送脉冲,指令执行;否则指令不执行,不发送脉冲。

(3)FX2N脉冲指令

1)PLSY指令。其格式如图3-20所示。

它有3个操作数。

第1个(S1):指定频率,数值受硬件性能限制,可随时改变。

978-7-111-56641-0-Chapter04-30.jpg

图3-20 PLSY指令

第2个(S2):指定脉冲数,其最大值,受存储器容量限制,如设为0,将连续输出脉冲。

第3个(D):脉冲输出口地址,Y000或Y001,两个口可同时独立工作,互不影响。此指令可16位或32使用,后者,可用32位二进制数设定脉冲数。

2)PLSR指令。其格式如图3-21所示。

它有4个操作数:

第1个(S1):指定最高输出频率,可随时改变,数值受硬件性能限制。

978-7-111-56641-0-Chapter04-31.jpg

图3-21 PLSR指令

第2个(S2):指定总输出脉冲数,其最小值,要确保正常加、减速,其最大值,受存储器容量限制。

第3个(S3):加、减速时间,单位ms。

第4个(D):指定脉冲输出口地址,Y000或Y001,两个口可同时独立工作,互不影响(D)。

此指令可16位或32使用,后者,可用32位二进制数设定脉冲数。

提示:FX2N的最小脉冲频率不能为0,具体数值可用式(3-1)计算:

978-7-111-56641-0-Chapter04-32.jpg

执行上述两指令状态,可用有关特殊寄存器监视。具体见表3-11。

3-11 监视用特殊寄存器

978-7-111-56641-0-Chapter04-33.jpg

注:各个数据寄存器内容可以利用“DMOVK0D81□□”执行消除。

提示:对FX2N机脉冲指令的使用是受限制的。如对同一输出口,只能使用一次。如多次使用,先使用的有效。

3)PWM指令。其格式如图3-22所示。

它有3个操作数。

第1个(S1):指定脉冲幅宽,从0~32767,可随时改变。

第2个(S2):指定脉冲周期,从1~32767,S2必须大或等于S1。

978-7-111-56641-0-Chapter04-34.jpg

图3-22 PWM指令

第3个(D):脉冲输出口地址,Y000或Y001,两个口可同时独立工作,互不影响(D)。此指令可16位或32使用,后者可用32位二进制数设定脉冲数。

提示1:PLSY、PLSR及PWM指令是否执行,可观测脉冲输出口。如指示灯闪烁,则发送脉冲,指令执行;否则指令不执行,不发送脉冲。还可用特殊数据寄存器读出已发送的脉冲数。从中也可判断是否已执行。

提示2:不管哪个机型,脉冲输出都是中断执行,不受扫描周期影响。

4)LM机脉冲输出。它有两个输出点(%QX0.0及%QX0.1),并具有脉冲输出功能块。使用它可按要求产生脉冲输出。一旦这些点被指定用于脉冲输出,将不能再用做正常输出。

由于脉冲输出频率都较高,所以应选用半导体输出的PLC,即和利时LM机的LM3106A、3108等。脉冲输出指令大体有脉冲链(PTO)输出及脉宽调制(PWM)输出两类。

①脉冲链(PTO)输出。有如下3种:

(a)为有限长脉冲链等速输出。产生脉冲链等速输出要使用功能块PTO_PWM0。

提示:和利时LM机这种执行指令的方法实现脉冲链输出,比其它有的PLC用设定实现要方便得多,但使用前必须加载Heolysys_PLC_EX_PT.Lib库文件。

(b)有限长脉冲链变速输出。产生有限长脉冲链变速输出,要使用功能块PTO_PWM0_RUN。

(c)有限长脉冲链分段变速输出。产生有限长脉冲链分段变速输出,要使用功能块PTOCtrl_0。

②脉宽调制(PWM)输出。有如下2种:

(a)无限长等速PWM脉冲输出。产生无限长等速PWM脉冲输出也要使用功能块PTO_PWM0。

(b)无限长PWM脉冲变速输出。产生无限长PWM脉冲变速输出也要使用功能块PTO_PWM0_Run。

2.用脉冲输出单元、模块或内插板输出脉冲

脉冲输出也可用位置、运动控制模块或运动控制CPU。这些单元都有自己的CPU、内存及输出、输入点。通过与PLC的CPU交换数据,或预先设定,可确定用哪个输出点发送脉冲,送多少脉冲,以及脉冲的频率多大等。确定之后,无须PLC的CPU干预,激活后可自行工作。

这些单元、模块可输出脉冲串(链),有的还可输出脉宽可调制的脉冲。由于PLC的进步,这些单元、模块也在与日俱增。

有的小型机也有位置控制单元,用它时,其特点与中、大型机相同。但小型机即使不配置位置控制单元,仍都有输出脉冲的资源。

免责声明:以上内容源自网络,版权归原作者所有,如有侵犯您的原创版权请告知,我们将尽快删除相关内容。

我要反馈