分享

西门子S7-200PLC的特殊功能指令

 龙之吻6iinxl8c 2018-12-08

一 .立即类指令

二 .中断指令

三 .高速计数器

四 .高速脉冲输出

五. 实时钟指令

六 .PID指令

七. 文本显示器TD400

1.立即类指令

普通指令是按照时间节拍去采样输入端子状态,和刷新输出的这样对于需要快速处理的问题会造成反映迟缓。例如电子装置过载能力很差,如果不及时采取措施将造成经济损失。

立即类指令分为立即输入和立即输出两大类。分别用触点和线圈表示。

西门子S7-200PLC的特殊功能指令

如图

2.中断指令

概念:

中段就是终止当前正在运行的程序,去执行为立即响应的信号而编制的中断服务程序,执行完毕再返回原先终止的程序并继续执行。

中断源

中断源是指发出中断请求的事件,又叫中断事件。

中断服务程序

用于处理中断事件的子程序叫中断服务程序。中断服务程序不是由指令调用,而是中断事件调用。

执行中断流程

编写中断服务程序完成后,进行相应的设置:开全局中断,连接中断事件即可。

主要分为:

(1)中断源

(2)中断指令

(3)中断程序

(4)文本显示器

(1)中断源分类:

S7-200系列可编程控制器最多有34个中断源,

分为三大类:通信中断

输入/输出(I/O)中断

时基中断

注:1.中断优先级由高到低依次是:

通信中断、输入输出中断、时基中断。

每种中断中的不同中断事件又有不同的优先权。

主机中的所有中断事件及优先级如下表。

西门子S7-200PLC的特殊功能指令

如图

西门子S7-200PLC的特殊功能指令

如图

2.CPU响应中断的原则

一个程序中总共可有128个中断。

S7-200在任何时刻,只能执行一个中断程序;在中断各自的优先级组内按照先来先服务的原则为中断提供服务,一旦一个中断程序开始执行,则一直执行至完成,不能被另一个中断程序打断,即使是更高优先级的中断程序;

中断程序执行中,新的中断请求按优先级排队等候,中断队列能保存的中断个数有限,若超出,则会产生溢出。

(2)中断指令

西门子S7-200PLC的特殊功能指令

如图

中断程序是为处理中断事件而事先编好的程序。中断程序不是由程序调用,而是在中断事件发生时由操作系统调用。

注意:

(1)在中断程序中禁止使用DISI、ENI、HDEF、LSCR、END指令。

(2)中断程序最后一条指令一定是无条件返回指令RETI(省略),也可以是有条件返回指令CRETI结束中断程序。

编写由I0.0的上升沿产生的中断事件的初始化程序。

主程序:电动机起保停电路,I0.0是停止按钮。

编写中断服务程序:中断发生后Q0.1置位报 警。

连接中断:用SM0.1驱动ATCH连接中断事件0,驱动(ENI)开全局中断。

西门子S7-200PLC的特殊功能指令

如图

1.定时器中断

S7-200有2个定时中断:2个定时器中断。

定时中断中断0事件号10,定时中断1事件号11,主要用于对输出端的间隔采样,由SMB34给出采样间隔时间,在1~255ms之间。

定时中断T32中断和定时器T96中断,等于设定值发生中断。间隔时间可以在1~32000ms之间采样或定时。

例:编程定时器T32中断,实现跑马灯效果

用SM0.1连接开全局中断ENI和连接事件号21。连接自激励形式定时器给设定值SMW28。用循环移位指令编写子程序。

西门子S7-200PLC的特殊功能指令

如图

三 .高速计数器

采用普通的计数器,其输入脉冲的频率要显著低于PLC扫描的频率。在进行电动机的转角控制时,常常使用编码器输出电机转动信息,编码器的A、B脉冲的频率很高上百KHz,只能使用PLC内部的高速计数器对脉冲计数。高速计数器计数速度不受扫描的影响,采用中断方

1.高速计数器介绍

高速计数器在程序中使用时的地址编号用HCn来表示(在非程序中有时用HSCn),HC表编程元件名称为高速计数器,n为编号。

西门子S7-200PLC的特殊功能指令

如图

1.2高速计数器输入端的连接

高速计数器中断事件大致分为3类:当前值等于预设值中断、输入方向改变中断和外部复位中断。所有高速计数器都支持当前值等于预设值中断。

西门子S7-200PLC的特殊功能指令

如图

2. 高速计数器的工作模式

西门子S7-200PLC的特殊功能指令

如图

注:高速计数器有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.高速计数器的控制字和状态字

西门子S7-200PLC的特殊功能指令

如图

西门子S7-200PLC的特殊功能指令

4.高速计数器的使用

每个高速计数器都有固定的特殊功能存储器与之相配合,完成高速计数功能。

西门子S7-200PLC的特殊功能指令

如图

4.1高速计数指令

(1)HDEF指令

HDEF,定义高速计数器指令。使能输入有效时,为指定的高速计数器分配一种工作模式,即用来建立高速计数器与工作模式之间的联系。

梯形图指令盒中有两个数据输入端:HSC,高速计数器编号,为0~5的常数,字节型;

MODE,工作模式,为0~11的常数,字节型。

西门子S7-200PLC的特殊功能指令

如图

(2)HSC指令

HSC,使用高速计数器指令。

使能输入有效时,根据高速计数器特殊存储器位的状态,并按照HDEF指令指定的工作模式,设置高速计数器并控制其工作。

梯形图指令盒数据输入端N:高速计数器编号,为0~5的常数,字型。

西门子S7-200PLC的特殊功能指令

如图

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)主程序

西门子S7-200PLC的特殊功能指令

如图

(2)初始化的子程序

西门子S7-200PLC的特殊功能指令

如图

7.高速计数编程向导

从SETP7编程软件的主菜单“工具”—指令向导—HSC进入高速计数器编程向导。按照要求一步一步输入相应参数,就可以完成高速计数器编程,无需记忆相关的特殊功能寄存器。

四、高速脉冲输出介绍

1.在PLC的应用中可以通过PWM调制方式输出模拟量,如直流电动机调速;还可以通过设定输出脉冲的个数用于步进电动机的控制;这些脉冲的频率较高,这就是高速脉冲输出。

2.高速脉冲有指定的输出端,一般是Q0.0和Q0.1,必须是晶体管输出型PLC,而继电器输出的PLC没有高速脉冲输出端口。

3.高速脉冲相关的特殊功能继电器

西门子S7-200PLC的特殊功能指令

如图

(1)高速脉冲串输出PTO

功能:能够指定输出方波的个数,其输出脉冲的周期由特殊寄存器设定。

1.周期和脉冲数

2.PTO的种类

3.中断事件类型

4.PTO的使用

西门子S7-200PLC的特殊功能指令

如图

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个字

节缓冲区。从低到高分

别对应:年、月、日、

时、分、秒、周。

西门子S7-200PLC的特殊功能指令

如图

六、 PID指令

现在很多PLC都有供PID控制用的功能指令。如S7-200的控制指令,它实际运用于PID控制子程序与模拟量输入/输出模块一起使用,可以得到类似于使用PID控制模块的效果

七. 文本显示器TD400

文本显示集简易键盘与LCD显示于一体,可以通过键盘按键代替部分操作按钮,通过显示屏显示变量、汉字,还可以对变量进行修改。

使用STEP7的编程向导既可以完成TD400的组态,操作简单使用方便,成本低应用广泛。

西门子S7-200PLC的特殊功能指令

如图

例:递进式练习

任务:1.设计一个用开关指令实现的单按钮控制。

任务分析:两个起保停电路,一个实现启动控制,一个实现停止控制。要用第一条网络用于停止控制,第二条用于启动控制。两个网络相互控制。

西门子S7-200PLC的特殊功能指令

如图

2.电路改进

用于停止控制的自保还可以去掉。

如果改变顺序,则将先执行启动,然后立即执行停止,因此电路将不能启动

西门子S7-200PLC的特殊功能指令

如图

3.单按钮两台电动机控制

第一次按按钮时,由于Q0.1没有闭合,因此只能执行第三条网络,启动第一台电动机。

第二次按按钮,由于Q0.0已经闭合,因此第二条网络被执行,启动第二台电动机。

第三次按按钮时,由于Q0.1闭合,因此M0.0闭合,于是第一台、第二台停止。

西门子S7-200PLC的特殊功能指令

如图

改造情况如下:

用M0.1的常闭触点控制Q0.0,实现了第三次按按钮时,M1停止。

由于停止Q0.0时会影响网络三,因此用M0.1常闭触点与Q0.0常开并联。为了按第四次时Q0.1能停止,再串M0.0常闭即可。

这样你能够做出单按钮三台电动机顺序启动、顺序停止控制电路么?

西门子S7-200PLC的特殊功能指令

如图

4.采用软件延时的流水灯控制

内嵌两个循环,总次数达到900000000次,不能仿真,只能下载到PLC中。

西门子S7-200PLC的特殊功能指令

如图

西门子S7-200PLC的特殊功能指令

    本站是提供个人知识管理的网络存储空间,所有内容均由用户发布,不代表本站观点。请注意甄别内容中的联系方式、诱导购买等信息,谨防诈骗。如发现有害或侵权内容,请点击一键举报。
    转藏 分享 献花(0

    0条评论

    发表

    请遵守用户 评论公约

    类似文章 更多