一 .立即类指令 二 .中断指令 三 .高速计数器 四 .高速脉冲输出 五. 实时钟指令 六 .PID指令 七. 文本显示器TD400 1.立即类指令 普通指令是按照时间节拍去采样输入端子状态,和刷新输出的这样对于需要快速处理的问题会造成反映迟缓。例如电子装置过载能力很差,如果不及时采取措施将造成经济损失。 立即类指令分为立即输入和立即输出两大类。分别用触点和线圈表示。 如图 2.中断指令 概念: 中段就是终止当前正在运行的程序,去执行为立即响应的信号而编制的中断服务程序,执行完毕再返回原先终止的程序并继续执行。 中断源 中断源是指发出中断请求的事件,又叫中断事件。 中断服务程序 用于处理中断事件的子程序叫中断服务程序。中断服务程序不是由指令调用,而是中断事件调用。 执行中断流程 编写中断服务程序完成后,进行相应的设置:开全局中断,连接中断事件即可。 主要分为: (1)中断源 (2)中断指令 (3)中断程序 (4)文本显示器 (1)中断源分类: S7-200系列可编程控制器最多有34个中断源, 分为三大类:通信中断 输入/输出(I/O)中断 时基中断 注:1.中断优先级由高到低依次是: 通信中断、输入输出中断、时基中断。 每种中断中的不同中断事件又有不同的优先权。 主机中的所有中断事件及优先级如下表。 如图 如图 2.CPU响应中断的原则 一个程序中总共可有128个中断。 S7-200在任何时刻,只能执行一个中断程序;在中断各自的优先级组内按照先来先服务的原则为中断提供服务,一旦一个中断程序开始执行,则一直执行至完成,不能被另一个中断程序打断,即使是更高优先级的中断程序; 中断程序执行中,新的中断请求按优先级排队等候,中断队列能保存的中断个数有限,若超出,则会产生溢出。 (2)中断指令 如图 中断程序是为处理中断事件而事先编好的程序。中断程序不是由程序调用,而是在中断事件发生时由操作系统调用。 注意: (1)在中断程序中禁止使用DISI、ENI、HDEF、LSCR、END指令。 (2)中断程序最后一条指令一定是无条件返回指令RETI(省略),也可以是有条件返回指令CRETI结束中断程序。 编写由I0.0的上升沿产生的中断事件的初始化程序。 主程序:电动机起保停电路,I0.0是停止按钮。 编写中断服务程序:中断发生后Q0.1置位报 警。 连接中断:用SM0.1驱动ATCH连接中断事件0,驱动(ENI)开全局中断。 如图 1.定时器中断 S7-200有2个定时中断:2个定时器中断。 定时中断中断0事件号10,定时中断1事件号11,主要用于对输出端的间隔采样,由SMB34给出采样间隔时间,在1~255ms之间。 定时中断T32中断和定时器T96中断,等于设定值发生中断。间隔时间可以在1~32000ms之间采样或定时。 例:编程定时器T32中断,实现跑马灯效果 用SM0.1连接开全局中断ENI和连接事件号21。连接自激励形式定时器给设定值SMW28。用循环移位指令编写子程序。 如图 三 .高速计数器 采用普通的计数器,其输入脉冲的频率要显著低于PLC扫描的频率。在进行电动机的转角控制时,常常使用编码器输出电机转动信息,编码器的A、B脉冲的频率很高上百KHz,只能使用PLC内部的高速计数器对脉冲计数。高速计数器计数速度不受扫描的影响,采用中断方 1.高速计数器介绍 高速计数器在程序中使用时的地址编号用HCn来表示(在非程序中有时用HSCn),HC表编程元件名称为高速计数器,n为编号。 如图 1.2高速计数器输入端的连接 高速计数器中断事件大致分为3类:当前值等于预设值中断、输入方向改变中断和外部复位中断。所有高速计数器都支持当前值等于预设值中断。 如图 2. 高速计数器的工作模式 如图 注:高速计数器有6种编号,12种工作模式. HSC0和HSC4有模式0、1、3、4、6、7、8、9、10; HSC1和HSC2有模式0、1、2、3、4、5、6、7、8、9、10、11; HSC3和HSC5只有模式0。 3.高速计数器的控制字和状态字 如图 4.高速计数器的使用 每个高速计数器都有固定的特殊功能存储器与之相配合,完成高速计数功能。 如图 4.1高速计数指令 (1)HDEF指令 HDEF,定义高速计数器指令。使能输入有效时,为指定的高速计数器分配一种工作模式,即用来建立高速计数器与工作模式之间的联系。 梯形图指令盒中有两个数据输入端:HSC,高速计数器编号,为0~5的常数,字节型; MODE,工作模式,为0~11的常数,字节型。 如图 (2)HSC指令 HSC,使用高速计数器指令。 使能输入有效时,根据高速计数器特殊存储器位的状态,并按照HDEF指令指定的工作模式,设置高速计数器并控制其工作。 梯形图指令盒数据输入端N:高速计数器编号,为0~5的常数,字型。 如图 5.高速计数器使用原理 原理: 每个高速计数器都有一个32位当前值和一个32位预置值,当前值和预设值均为带符号的整数值。要设置高速计数器的新当前值和新预置值,必须设置控制字节令其第五位和第六位为1,允许更新预置值和当前值,新当前值和新预置值写入特殊内部标志位存储区。然后执行HSC指令,将新数值传输到高速计数器。 6.高速计数器指令初始化 (1)用首次扫描时接通一个扫描周期的特殊内部存储器SM0.1去调用一个子程序,完成初始化操作。 (2) 在初始化的子程序中,根据希望的控制设置控制字(SMB37、SMB47、SMB137、SMB147、SMB157) (3)执行HDEF指令,设置HSC的编号(0-5),设置工作模式(0-11)。 (4) 用新的当前值写入32位当前值寄存器(SMD38,SMD48,SMD58 ,SMD138, SMD148, SMD158)。 (5)用新的预置值写入32位预置值寄存器(SMD42 ,SMD52, SMD62, SMD142 ,SMD152, SMD162) (6)、 (7) 、(8)中断事件(事件13、14、15)与一个中断程序相联系。 (9)执行全局中断允许指令(ENI)允许HSC中断 (10)执行HSC指令使S7-200对高速计数器进行编程。 (11)结束子程序。 高速计数器的应用举例 (1)主程序 如图 (2)初始化的子程序 如图 7.高速计数编程向导 从SETP7编程软件的主菜单“工具”—指令向导—HSC进入高速计数器编程向导。按照要求一步一步输入相应参数,就可以完成高速计数器编程,无需记忆相关的特殊功能寄存器。 四、高速脉冲输出介绍 1.在PLC的应用中可以通过PWM调制方式输出模拟量,如直流电动机调速;还可以通过设定输出脉冲的个数用于步进电动机的控制;这些脉冲的频率较高,这就是高速脉冲输出。 2.高速脉冲有指定的输出端,一般是Q0.0和Q0.1,必须是晶体管输出型PLC,而继电器输出的PLC没有高速脉冲输出端口。 3.高速脉冲相关的特殊功能继电器 如图 (1)高速脉冲串输出PTO 功能:能够指定输出方波的个数,其输出脉冲的周期由特殊寄存器设定。 1.周期和脉冲数 2.PTO的种类 3.中断事件类型 4.PTO的使用 如图 PTO相关的特殊寄存器 SMW68用于设定Q0.0输出脉冲的周期2~65535ms。 SMW78用于设定Q0.1输出脉冲的周期。 SMD72用于设定Q0.0输出脉冲的个数:0~4294976295。 SMD82用于设定Q0.1输出脉冲的个数。 SM67.3/ SM77.3分别用于设定Q0.0/Q0.1的PTO的时基us或ms。 用于设定Q0.1PTO的时基us或ms。 SM67.6、SM77.6分别用于Q0.0/Q0.1PTO/PWM方式的选择,0为PTO模式,1为PWM模式。 SM67.7、SM77.7用于设定Q0.0、Q0.1高速输出0禁止1允许。 (2)PWM调制 PWM调制是输出频率和占空比可调的高速脉冲。 利用PWM调制经过滤波可以获得模拟电量输出,用于调节光源亮度或直流电动机的转速。 周期和脉冲宽度的时基可以微妙或毫秒,设定数值为16位无符号数。周期的范围在50~65535us到2~65535ms之间,脉冲宽度在0~65535us到0~65535ms之间。 PWM脉冲只能从Q0.0或者Q0.1两者之间选择输出。 相关特殊寄存器 在SMW68(Q0.0输出)或SMW78(Q0.1输出)中写入周期字。 在SMW70(Q0.0输出)或SMW80(Q0.1输出)中写入脉宽值。 注:高速脉冲输出的编程向导 高速脉冲输出可以使用编程向导自动生成程序,也可以使用指令编写程序。 由于需要设定特殊功能寄存器数值,可以设一初始化子程序。 编程向导使用与高速计数器相似。 五、 时钟指令 利用时钟指令可以实现调用系统实时钟或对时钟进行设定,用于运行记录、实时控制。 实时钟指令有两条:读实时钟和设定实时钟。设定实时钟是用于对表校准,读实时钟可用于定时采样记录或实时控制。 T是VBXX开始的8个字 节缓冲区。从低到高分 别对应:年、月、日、 时、分、秒、周。 如图 六、 PID指令 现在很多PLC都有供PID控制用的功能指令。如S7-200的控制指令,它实际运用于PID控制子程序与模拟量输入/输出模块一起使用,可以得到类似于使用PID控制模块的效果 七. 文本显示器TD400 文本显示集简易键盘与LCD显示于一体,可以通过键盘按键代替部分操作按钮,通过显示屏显示变量、汉字,还可以对变量进行修改。 使用STEP7的编程向导既可以完成TD400的组态,操作简单使用方便,成本低应用广泛。 如图 例:递进式练习 任务:1.设计一个用开关指令实现的单按钮控制。 任务分析:两个起保停电路,一个实现启动控制,一个实现停止控制。要用第一条网络用于停止控制,第二条用于启动控制。两个网络相互控制。 如图 2.电路改进 用于停止控制的自保还可以去掉。 如果改变顺序,则将先执行启动,然后立即执行停止,因此电路将不能启动 如图 3.单按钮两台电动机控制 第一次按按钮时,由于Q0.1没有闭合,因此只能执行第三条网络,启动第一台电动机。 第二次按按钮,由于Q0.0已经闭合,因此第二条网络被执行,启动第二台电动机。 第三次按按钮时,由于Q0.1闭合,因此M0.0闭合,于是第一台、第二台停止。 如图 改造情况如下: 用M0.1的常闭触点控制Q0.0,实现了第三次按按钮时,M1停止。 由于停止Q0.0时会影响网络三,因此用M0.1常闭触点与Q0.0常开并联。为了按第四次时Q0.1能停止,再串M0.0常闭即可。 这样你能够做出单按钮三台电动机顺序启动、顺序停止控制电路么? 如图 4.采用软件延时的流水灯控制 内嵌两个循环,总次数达到900000000次,不能仿真,只能下载到PLC中。 如图 |
|
来自: 龙之吻6iinxl8c > 《运动控制PLC相关》