1.高速脉冲输出指令介绍
高速脉冲输出功能即在PLC的指定输出点上实现脉冲输出(PTO)和脉宽调制(PWM)功能。S7-200 PLC配有两个PTO/PWM发生器,它们可以产生一个高速脉冲串或者一个脉冲调制波形。一个发生器输出点是Q0.0,另一个发生器输出点是Q0.1。当Q0.0和Q0.1作为高速输出点时,其普通输出点被禁用,而当不作为PTO/PWM发生器时,Q0.0和Q0.1可作为普通输出点使用。一般情况下,PTO/PWM输出负载至少为10%的额定负载。
脉冲输出指令(PLS)配合特殊存储器用于配置高速输出功能,PLS指令格式见表3-1。
表3-1 PLS指令格式
脉冲串操作(PTO)按照给定的脉冲个数和周期输出一串方波(占空比50%,如图3-1所示。PTO可以产生单段脉冲串或者多段脉冲串(使用脉冲包络)。可以微秒或毫秒为单位指定脉冲宽度和周期。
PTO脉冲个数范围为1~429496295,周期为10μs~65535μs或者2ms~65535ms。
图3-1 脉冲串输出
2.与PLS指令相关的特殊寄存器的含义
如果要装入新的脉冲数(SMD72或SMD82)、脉冲宽度(SMW70或SMW80)和周期(SMW68或SMW78),应该在执行PLS指令前装入这些值和控制寄存器,然后PLS指令会从特殊存储器SM中读取数据,并按照存储数值控制PTO/PWM发生器。这些特殊寄存器分为三大类:PTO/PWM功能状态字、PTO/PWM功能控制字和PTO/PWM功能寄存器。这些寄存器的含义见表3-2、表3-3和表3-4。
表3-2 PTO控制寄存器的SM标志
表3-3 其他PTO/PWM寄存器的SM标志
表3-4 PTO/PWM控制字节参考
使用PTO/PWM功能相关的特殊存储器SM还有以下几点需要注意。
①如果要装入新的脉冲数(SMD72或SMD82)、脉冲宽度(SMW70或SMW80)或者周期(SMW68或SMW78),应该在执行PLS指令前装入这些数值到控制寄存器。
②如果要手动终止一个正在进行的PTO包络,要把状态字中的用户终止位(SM66.5或者SM76.5)置1。
③PTO状态字中的空闲位(SM66.7或者SM76.7)标志着脉冲输出完成。另外,在脉冲串输出完成时,可以执行一段中断服务程序。如果使用多段操作时,可以在整个包络表完成后执行中断服务程序。
3.S7-200 PLC的高速输出点控制步进电动机
【例3-1】某设备上有1套步进驱动系统,步进驱动器的型号为SH-2H042Ma,步进电动机的型号为17HS111,是两相四线直流24V步进电动机,要求:压下按钮SB1时,步进电动机正转,压下按钮SB2时停止。请画出I/O接线图并编写程序。
方法一:
【解】
(1)主要软硬件配置
①1套STEP7-Micro/WIN V4.0 SP9;
②1台步进电动机的型号为17HS111;
③1台步进驱动器的型号为SH-2H042Ma;
④1台CPU221CN。
(2)步进电动机与步进驱动器的接线
本系统选用的步进电动机是两相四线的步进电动机,其型号是17HS111,这种型号的步进电动机的出线接线图如图3-2所示(图中只画了1台电动机)。其含义是:步进电动机的4根引出线分别是红色、绿色、黄色和蓝色;其中红色引出线应该与步进驱动器的A+接线端子相连,绿色引出线应该与步进驱动器的A-接线端子相连,黄色引出线应该与步进驱动器的B+接线端子相连,蓝色引出线应该与步进驱动器的B-接线端子相联。
(3)PLC与步进电动机、步进驱动器的接线
步进驱动器有共阴和共阳两种接法,这与控制信号有关系,西门子PLC输出信号是+24V信号(即PNP接法),所以应该采用共阴接法,所谓共阴接法就是步进驱动器的DIR-和CP-与电源的负极短接,如图3-2所示。顺便指出,三菱的PLC输出的是低电位信号(即NPN接法),因此应该采用共阳接法。
图3-2 PLC与驱动器和步进电动机接线图
那么PLC能否直接与步进驱动器相连接呢?答案是不能。这是因为步进驱动器的控制信号是+5V,而西门子PLC的输出信号是+24V,显然是不匹配的。解决问题的办法就是在PLC与步进驱动器之间串联一只2kΩ电阻,起分压作用,因此输入信号近似等于+5V。有的资料指出,串联一只2kΩ的电阻是为了将输入电流控制在10mA左右,也就是起限流作用,在这里电阻的限流或分压作用的含义在本质上是相同的。CP+和(CP-)是脉冲接线端子,DIR+和DIR-是方向控制信号接线端子。PLC接线图如图3-2所示。有的步进驱动器只能接“共阳接法”,如果使用西门子S7-200 PLC控制这种类型的步进驱动器,不能直接连接,必须将PLC的输出信号进行反相。另外,读者还要注意,输入端的接线采用是PNP接法,因此两只接近开关是PNP型,若读者选用的是NPN型接近开关,那么接法就不同。
(4)程序编写
编写梯形图程序如图3-3所示。
【关键点】编写这段程序的关键点在于初始化和强制使步进电动机停机而对SMB67的设定,其核心在于对SMB67寄存器的理解。其中,SMB67=16#85的含义是PTO允许、选择PTO模式、单段操作、时间基准为微秒、PTO脉冲更新和PTO周期更新,SMB67=16#CB的含义是PTO禁止、选择PTO模式、单段操作、时间基准为微秒、PTO脉冲不更新和PTO周期不更新。
图3-3 程序
a)程序—主程序
图3-3 程序(续)
b)程序—子程序
若读者不想在输出端接分压电阻,那么在PLC的1L+接线端子上接DC+5V也是可行的,但产生的问题是本组其他输出信号都为DC+5V,因此读者在设计时要综合考虑利弊,从而进行取舍。
方法二:
对于初学者,大多感觉利用PLC的高速输出点对步进电动机进行运动控制比较麻烦,特别是控制字不容易理解。幸好西门子的软件设计师早已经考虑到了这些,STEP7-MicroWIN软件中提供了位置控制向导,利用位置控制向导,读者很容易编写程序。以下具体介绍这种方法。
(1)激活“位置控制向导”
打开STEP 7软件,在主菜单“工具”中选中“位置控制向导”子菜单,并单击之,弹出装置选择界面,如图3-4所示。
(2)装置选择
S7-22X系列PLC内部有两个装置可以配置,一个是机载PTO/PWM发生器,一个是EM253位置模块,位置控制向导允许配置以下两个装置中的任意一个装置。很显然,本例选择“PTO/PWM发生器”,如图3-4的“1”处,再单击“下一步”按钮。
(www.xing528.com)
图3-4 装置选择
(3)指定一个脉冲发生器
S7-22X系列PLC内部有两个脉冲发生器(Q0.0和Q0.1)可供选用,本例选用Q0.0,再单击“下一步”按钮,如图3-5所示。
图3-5 指定一个脉冲发生器
(4)选择PTO或PWM,并选择时间基准
可选择Q0.0为脉冲串输出(PTO)或脉冲宽度调制(PWM)配置脉冲发生器,对于本例,控制步进电动机,应该选择“脉冲串输出(PTO)”,再单击“下一步”按钮,如图3-6所示。
图3-6 选择PTO或PWM模式
(5)指定电动机速度
MAX_SPEED:在电动机扭矩能力范围内输入应用所需的最佳工作速度。驱动负载所需的转矩由摩擦力、惯性和加速/减速时间决定。位置控制向导会计算和显示由位控模块为指定的MAX_SPEED所能够控制的最低速度。
SS_SPEED:在电动机的能力范围内输入一个数值,以低速驱动负载。如果SS_SPEED数值过低,电动机和负载可能会在运动开始和结束时颤动或跳动。如果SS_SPEED数值过高,电动机可能在启动时失步,并且在尝试停止时,负载可能使电动机不能立即停止而多行走一段。
如图3-7所示,在“1”和“3”处输入最大速度、起动和停止速度,再单击“下一步”按钮。
(6)设置加速和减速时间
ACCEL_TIME(加速时间):电动机从SS_SPEED加速至MAX_SPEED所需要的时间,默认值=1000ms(1s),本例选默认值,如图3-8所示的“1”处。
图3-7 指定电动机速度
DECEL_TIME(减速时间):电动机从MAX_SPEED减速至SS_SPEED所需要的时间,默认值=1000ms(1s),本例选默认值,如图3-8所示的“2”处。再单击“下一步”按钮。
图3-8 设置加速和减速时间
(7)定义每个已配置的轮廓
先单击如图3-9所示中的“新包络”,弹出“定义每个已配置的轮廓(2)”,如图3-10
图3-9 定义每个已配置的轮廓(1)
图3-10 定义每个已配置的轮廓(2)
所示,单击“确定”按钮,弹出“定义每个已配置的轮廓(3)”,如图3-11所示。
先选择“操作模式”,如图3-11所示的“1”处,根据操作模式(相对位置或单速连续旋转)配置此轮廓。再在“2”处和“3”处输入目标速度和结束位置脉冲,接着单击“绘制包络”按钮,包络线生成,最后单击“确定”按钮。
图3-11 定义每个已配置的轮廓(3)
(8)设定轮廓数据的起始V内存地址
PTO向导在V内存中以受保护的数据块页形式生成PTO轮廓模板,在编写程序时不能使用PTO向导已经使用的地址,此地址段可以系统推荐,也可以人为分配,人为分配的好处是PTO向导占用的地址段可以避开读者习惯使用的地址段。设定轮廓数据的起始V内存地址如图3-12所示,本例设置为“VB1000”,再单击“下一步”按钮。
图3-12 设定轮廓数据的起始V内存地址
(9)生成程序代码
最后单击“确定”按钮可成生子程序,如图3-13所示。至此,PTO向导的设置工作已经完成,后续工作就是在编程时使用这些生成的子程序。
(10)子程序简介
PTOx_CTRL子程序:(控制)启用和初始化与步进电动机或伺服电动机合用的PTO输出,在程序中只使用一次,并且确定在每次扫描时得到执行。始终用SM0.0作为EN的输入。PTOx_CTRL子程序的参数见表3-5。
图3-13 生成程序代码
表3-5 PTOx_CTRL子程序的参数表
PTOx_RUN子程序(运行轮廓):命令PLC执行存储于配置/轮廓表的特定轮廓中的运动操作。开启EN位会启用此子程序。PTOx_RUN子程序的参数见表3-6。
表3-6 PTOx_RUN子程序的参数表
PTOx_MAN子程序(手动模式):将PTO输出置于手动模式。允许电动机起动、停止和按不同的速度运行。当PTOx_MAN子程序已启用时,任何其他PTO子程序都无法执行。PTOx-MAN子程序的参数见表3-7。
表3-7 PTOx_MAN子程序的参数表
(11)编写程序
使用了位置控制向导,编写程序就比较简单,但必须搞清楚三个子程序的使用方法,这是编写程序的关键,梯形图如图3-14所示。
图3-14 梯形图
【关键点】利用指令向导编写程序,其程序简洁、容易编写,特别是控制步进电动机加速启动和减速停止,显得非常方便,且能很好地避开步进电动机失步。
免责声明:以上内容源自网络,版权归原作者所有,如有侵犯您的原创版权请告知,我们将尽快删除相关内容。