西门子S7-200应用实例(入门经典)
- 格式:pdf
- 大小:3.59 MB
- 文档页数:88
S7-200SMARTPLC⼊门级项⽬案例《PLC编程及应⽤》套装(4册)
今天就⽤⼏个项⽬实例,为⼤家介绍第⼀次使⽤S7-200 SMART PLC时具体步骤,帮⼤家迈开使⽤PLC的第⼀步。
项⽬控制要求:
1、按下启动按钮,电机启动
2、按下停⽌按钮,电机停⽌
项⽬控制要求:
1、按下操作按钮,电机启动
2、再按下操作按钮,电机停⽌
项⽬控制要求:
1、按下正转按钮,电机正转启动
2、按下反转按钮,电机反转启动
3、按下停⽌按钮,电机停⽌
项⽬控制要求:⼀台电机即可点动控制,也可以长动控制
1、按下点动按钮,可以点动控制电机
2、按下长动启动按钮,电机启动并保持
3、按下长动停⽌按钮,电机停⽌
项⽬控制要求:每按⼀次启动按钮启动⼀台电机,每按⼀次停⽌按钮,停掉最后启动的那台电机按下紧急停⽌按钮,停⽌所有的电机
注:任意时候可以选择启动或停⽌
来源:⽹络。
S7-200PLC子程序指令及应用实例S7-200 PLC把程序主要分为三大类:主程序、子程序和中断程序。
在实际应用中有些程序内容可能被反复使用,对那些需要经常执行的程序段,可设计成子程序的形式,并为每个子程序赋以不同的编号,在程序执行的过程中,可随时调用某个编号的子程序。
子程序的优点在于它可以用于对一个大的程序进行分段及分块,使其成为较小的更易管理的程序块。
程序调试、程序检查和程序维护时,可充分利用这项优势。
子程序只在需要时才被调用、执行。
这样就可以更有效地使用PLC,充分利用CPU的时间。
1)子程序的建立。
可以采用下列方法创建子程序:·在编辑环境的程序块中点击鼠标右键,选择“插入子程序SBR_n”(n的范围为:0~63)。
·从编辑菜单中,选择插入子程序SBR_n。
只要插入了子程序,程序编辑器底部就将出现一个新标签,标志新的子程序名。
此时,可以对新的子程序编程。
2)为子程序定义参数根据子程序有无参数,可以将子程序分为有参子程序和无参子程序,如果该子程序带有参数,就要使用该子程序的局部变量表来定义参数。
S7-200为每个程序都安排了局部变量表,必须利用选定该子程序后出现的局部变量表为该子程序的局部变量,S7-200对其局部变量参数有以下规定:·子程序在带参数调用时,最多可以带16个参数。
每个参数包含变量名、变量类型和数据类型。
这些参数在子程序的局部变量表中进行定义。
·变量名由不超过8个字符的字母和数字组成,但第一个字符必须是字母。
·变量类型:在子程序带参数调用时可以使用4种变量类型,根据数据传递的方向,依次安排这些变量类型在局部变量表中的位置,包含:①IN类型(传入子程序型)。
②IN/OUT类型(传入/传出子程序型,调用子程序时,将指定地址的参数传入子程序,子程序执行结束时,将得到的结果值返回达到同一个地址)。
③OUT类型(传出子程序型)。
④TEMP类型(暂时型,用于在子程序内部暂时存储数据,不能用来与主程序传递参数数据)。
S7-200 应用示例本章概述H.1 模拟电位器概述本例包含了有关 SIMATIC S7-200 的模拟电位器(POT)的使用信息。
电位器的位置转换为 0 至 255 之间的数字值,然后,存入两个特殊存储器字节 SMB28 和 SMB29 中,分别对应电位器0和电位器1 的值。
需要一把小螺丝刀用以调整电位器的位置。
本应用示例介绍了使用模拟电位器调整定时器设定值的三种方案。
例图模拟电位器程序和注释方案1说明了用模拟电位器对定时器设定值进行细调的方法。
首先通过程序中的偏移量(本例中为20ms )对定时器进行粗调,然后再用电位器能把定时器的设定值精确地调整到满意的设置。
每个定时器周期之后,执行子程序1中的指令,把POT 0的值(在SMB28中)读到AC1,除以2,再加上200ms 偏移量。
返回主程序时,AC2中的定时器循环计数值加1,并拷贝到输出字节(QB0),以供显示。
在方案2中,对电位器1(POT 1)的100次扫描值在AC3中累加后并取平均,再存入VW12。
如果该值低于低保护限值VW14,或高于高保护限值VW16(两者均在首次扫描时初始化),则将新值VW12拷贝到VW14、VW16和VW18中。
然后再分别对VW16和VW14的值减、加3ms ,作为新限值,而VW18中的平均值被传回主程序作为定时器T34的设定值。
返回主程序时,VW20中的定时器循环计数值加1,并拷贝到输出字节(QB1),以供显示。
在方案3中,把电位器0(POT 0)的值直接作为定时器T35的设定值,AC2中的定时器循环计数值加1,并拷贝到输出字节(QB0),以供显示。
本程序长度为110个字。
// 标题:模拟电位器:// * * * * * * * * * * * * * * *主程序 * * * * * * * * * * * * * * *// 这是S7-200的一个演示程序,介绍了使用模拟电位器调整定时器设定值的三种方案。
用S7-200编程的五个实例的解析wyb2866255建议删除该贴!! | 收藏| 回复| 2010-09-23 23:12:23楼主本文用S7-200编写的五个实例是根据网上网友的求助编写的,供大家参考。
1、一网友求助:“本人是PLC新手,刚学习不到一个月,现有一个项目~~ 要对目标信号进行检测计数~~ 信号为24V直流~~ 每隔一定的时间进行信号端检测,如果为“1”即有信号,则对信号进行计数,并最终输出总共检测到的“1”的数目~~ 如果在某一次时,没有检测到信号,则立即停止工作,输出已经检测到的“1”的数目,并输出报警信号~~ 要怎么实现呢?这里检测的是一个系统的返回信号,它只在特定的时间间隔上出现,这个时间间隔是已知的,不用去考虑~~如果在时间点上没有检测到,则证明系统故障~~为了是检测系统寿命~~急切PS:采用西门子S7-200系列PLC,STEP7 V4.0 SP6,组态王6.53,进行上述测试~~如果能有梯形图程序就不胜感激了~邮箱****************回复:按着你的要求,编写如下梯形图,在组态王数据词典里建立I/O整数字变量VW100,设可读方式,再设I/O字节变量M2,其BIT(M2,1)为系统启动工作位,BIT(M2,2)为报警输出位。
在运行时,组态王时时从PLC读取VW100及MB2的数据,出现报警,系统工作停止,此时的VW100值,即为报警前返回信号次数,系统检查完毕始终未出现报警,按下停止按钮,此时的VW100值即为最终检测返回信号值。
2、一网友提出:“谢谢楼主,对我这个新手来说真是好东西。
请教楼主用一个按钮控制电机正反转用S7-200怎么做,考虑了很久不太清楚,请您详细讲解一下,谢谢。
”我的回复:按着你的要求,我给你编了S7-200梯形图,用一个按钮起动电机正反转,又增加一个自锁按钮作为电机工作停止开关。
其工作原理:I1.1为自锁按钮,抬起位,其常闭触点闭合,使M2.0、M2.1、M2.2、M2.3皆为0状态,此时即使按I1,0启动按钮,SR触发器也不会反转,故电机停止不动。
精心整理数据处理、运算指令及应用本章要点✍数据传送、字节交换、字节立即读写、移位、转换指令的介绍、应用及实训 ✍算术运算、逻辑运算、递增/递减指令的介绍、应用及实训✍表的定义、填表指令、表取数指令、填充指令、表查找指令的介绍 5.1数据处理指令 5.1.1数据传送指令5-1所示。
使ENO=0即使能输出断开的错误条件是:SM4.3(运行时间),0006(间接寻址错误)。
【例5-1】将变量存储器VW10中内容送到VW100图2.字节、字、双字、实数数据块传送指令BLKMOV数据块传送指令将从输入地址IN 开始的N 个数据传送到输出地址OUT 开始的N 个单元中,N 的范围为1至255,N 的数据类型为:字节。
指令格式及功能如表5-2所示。
表5-2数据传送指令BLKMOV 指令格式使ENO=0的错误条件:0006(间接寻址错误)0091(操作数超出范围)。
【例5-2】程序举例:将变量存储器VB20开始的4个字节(VB20-VB23)中的数据,移至图VB100~ 表指令执行之后VW50中的字为:C3D62.字节立即读写指令字节立即读指令(MOV-BIR )读取实际输入端IN 给出的1个字节的数值,并将结果写入OUT 所指定的存储单元,但输入映像寄存器未更新。
字节立即写指令从输入IN 所指定的存储单元中读取1个字节的数值并写入(以字节为单位)实际输出OUT 端的物理输出点,同时刷新对应的输出映像寄存器。
指令格式及功能如表5-4所示。
表指令无法存取扩展模块。
5.1.3移位指令及应用举例移位指令分为左、右移位和循环左、右移位及寄存器移位指令三大类。
前两类移位指令按移位位。
0),0,零标STLIN和中的数所指如:OUTN右移与溢出标志SM1.1连接,SM1.1用来存放被移出的位。
指令格式见表5-6。
(1)循环左移位指令(ROL)使能输入有效时,将IN输入无符号数(字节、字或双字)循环左移N位后,将结果输出到OUT所指定的存储单元中,移出的最后一位的数值送溢出标志位SM1.1。