6种S7-200PLC最基础的编程实例图
1、起保停控制电路
控制要求:按下起动按钮(I0.0为ON),Q0.0为ON;按下停止按钮(I0.1为OFF),Q0.0为OFF。梯形图见图1。
图1起动优先
2、互锁控制电路
在如图2所示的互锁电路中,I0.0 I0.1是启动按钮,I0.2是停止按钮。
在图2(a)中,Q0.0和Q0.1通过输出进行互锁,一个得电,另一个必须在停止前一个的基础上才能启动,即只能是先停后启。
图2(a)
在图2(b)中,启动和输出双重互锁。
图2(b)
3、多地控制电路
图3所示是一个多地控制电路梯形图。I0.0、I0.1、I0.2是多地启动按钮,I0.3、I0.4、I0.5是多地停止按钮。
图3
4、顺序控制电路
比如有3台电动机,按启动按钮I0.0,3台电动机Q0.0、Q0.1、Q0.2依次启动;按停止按钮I0.1,3台电动机Q0. 0\Q0.1、Q0.2依次反向停止。这个程序在诸如皮带机控制等顺序控制机械中应用广泛。顺序控制梯形图如图4所示。
图4
在图中,启动时,I0. 0为ON,用通电延时时间继电器T37通过比较指令来依次启动电动机,当T37的当前值等于100时,即定时10 s时,启动Q0.1,20 s时,启动Q0.2。停止时,I0.1为ON,用断电延时时间继电器T38通过比较指令来依次反向停止电动机。
5、二分频电路
二分频电路也叫单按钮电路。在许多控制场合,需要对控制信号进行分频,有时为了节省一个输人点,也需要采用此种电路。图5是实现二分频运行时序控制的两种梯形图。
图5(a)
在图5(a)中,10.0第一一个脉冲到来时,PC第一次扫描 ,MO.0为ON ,Q0.0为ON ,第二次扫描,00.0自锁;10.0第二个脉冲到来时,PC第一次扫描,MO.0 为ON ,MO.1为ON,Q0.0断开,第二次扫描,M0.0断开,Q0.0保持断开;依次类推。
图5b
图5b前面梯形图的原理差不多,不再作说明。
此电路多用于一个按钮控制一盏灯的两种状态。I0.0下面可并联多个输入按钮,就可实现多个开关控制一盏灯。
6、 闪烁电路
闪烁电路也称为振荡电路。闪烁电路实际上就是一个时钟电路 ,它可以是等间隔的通断,也可以是不等间隔的通断。
在实际的程序设计中,如果电路中用到闪烁功能,往往直接用两个定时器或一个定时器组成闪烁电路。
图6a
图6a是一个简易的闪烁电路控制梯形图,它适用于控制精度不高的场合。图6b和c是两个常用的闪烁电路控制梯形图。
图6b
这个电路不管其他信号如何,I0.0一通电,它就开始工作,通断的时间值可以根据需要任意设定。图6b为 一个通2s、断1 s的闪烁电路控制梯形图。
图6c
图6c为 一个断2s、通1 s的闪烁电路控制梯形图。
熟悉上面的控制图,定时器的使用会有很大的提高。
来源:网络
声明:本文所用视频、图片、文字如涉及作品版权问题,请第一时间告知,我们将根据您提供的证明材料确认版权并按国家标准支付稿酬或立即删除内容。
往期文章
经典PID参数整定口诀,你会吗?
UPS知识全集!非常不错!
变频器的安装、原理、接线、维护及故障处理~
PLC是什么?有什么分类和功能?是时候收下这份介绍大全啦!
电压二次回路的接线、运维、故障处理精讲~
「零基础入门PLC」S7-200 SMART 编程技巧及实例分享
S7-200 SMART在编程中常见问题解析
工欲善其事必先利其器,在日常的程序编辑和调试过程中,可能会遇到各种各样的问题,比如编辑好的逻辑程序执行结果不正确,编译正常的程序下载到不同的CPU中,有些可以下载,而有些提示非致命错误等等,此时如何快速的排查和分析错误发生原因就非常重要,而排查和分析的前提就需要对S7-200 SMART从软件和硬件上有更加深入的了解,下面我们就通过几个典型的案例来进行问题的分析。
案例 1
首先看图1这段程序,编译无任何问题,如果下载到不同类型的CPU中,表现就会不同,我们可以尝试下载到ST60和CR60两种类型的CPU中。
图1 主程序
下载到ST60中,程序运行正常,如果下载到CR60中,程序运行就会报非致命错误:操作数非法(错误码:0090),图2为具体的非致命错误信息:
图2 PLC信息
根据程序分析错误出现的原因和中断有关,可以查询S7-200 SMART系统手册中断章节可以找到对应答案,如表1所示,24号中断事件CR60不支持,所以在运行时会报错非致命错误。
表1
综上,当需要程序在多个不同类型CPU之间下载或者移植时,就需要提前了解各个CPU的程序容量大小、支持的数据区的大小,断电保持区域大小,是否使用到了CPU不支持的功能或者CPU固件版本是否支持等因素,只有了解了这些,才能做到有的放矢。
案例 2
在日常编程过程中,我们可能需要各种标准库,有时需要子程序和中断程序有多重调用关系,例如下面这个案例,程序想使用格雷码转换库在定时中断中每隔100ms进行一次数据的格雷码转换,请看图3:
图3 主程序
图4 子程序
程序的调用关系为:中断子程序INT0调用子程序SBR1,SBR1中调用子程序SBR2,SBR2中的程序如图4所示,下载到CPU中,通过状态图表监视程序状态,发现没有结果输出,如图5所示:
图5 状态图标监控无输出
进一步监控PLC信息,可以看到图6的非致命错误报警:超出最大用户子例程嵌套级别(错误码:0008)
图6 PLC信息
S7-200 SMART手册中规定:从主程序调用子例程的嵌套深度是 8 级,从中断例程调用嵌套深度是 4 级。
现在来看上述程序的调用关系:
INT0→SBR1→SBR2→GRAY_BIN_DW,表面上也仅仅嵌套了3级,满足中断嵌套深度要求,但是仔细查看GRAY_BIN_DW功能库可以发现,该库也嵌套了几层,嵌套关系如下:
GRAY_BIN_DW→GRAY_BIN→XOR,这样下来,嵌套关系就变成如下:
INT0→SBR1→SBR2→GRAY_BIN_DW
→GRAY_BIN→XOR,总共5层嵌套关系,超过了CPU支持的最大嵌套深度,导致CPU 无法运行,知道了原因,我们可以减少调用嵌套为4层以内,则程序就可以正常执行了。
通过以上描述就可以明白,有些看似不可理解的问题其实有其发生的原因,只有深入了解对应产品的技术细节,才能抽茧剥丝,找到问题的根源所在。
S7-200 SMART如何快速提高编程效率
在日常的编程过程中,我们可能需要不少的逻辑运算和算术运算,如果这种运算很多,有可能会导致程序量很大,CPU的扫描周期加长,在这种情况下,找到其中的规律,可以大大简化程序。
假设一个场景,现场有16台设备,需要控制16台泵的启停,IO地址如下表所示:
表2
一般的编程思路是单独写出每个泵的启动停止控制逻辑,如图7所示,需要编写16组控制逻辑:
图7 单个泵的启停控制
其实针对这种编程,我们可以变换一种思路,将上面的梯形图变换成图8所示的逻辑,也可以完成对应的控制功能:
图8 字逻辑运算
这样变换完成后,编程就显得特别简洁,因此编程思路很重要。
在另外一些应用场景中,有时需要记录现场设备的运行时间,一般情况下我们可以使用定时器来实现计时的功能,但S7-200 SMART定时器有数量限制(最大256个),并且最大时基为100ms的定时器其所能达到的最大计时长度为3276.7S,若想实现小时或者天的计时就需要定时器加计数器来实现,而计数器也有数量限制(最大256个),当需要类似的功能很多时,计数器和定时器数量就不够用了,此时可以使用系统特殊存储器 SM0.4(周期为60S的时钟脉冲)和SM0.5(周期为1S的时钟脉冲)来实现计时功能。
如图9所示,其中值VD0的单位为秒,在实际应用中,可以对这个数值进行再次转换,得到分钟、小时或者天的时间值(本例中VD4的单位为小时),同时这些地址也可以按需设置在S7-200 SMART断电保持区域中,实现不同时间长度的定时以及断电保持功能,非常方便。
图9 使用SM0.5实现计时功能
实际编程时对于一些功能重复的地方,我们可以考虑做成子程序多次调用,一些需要重复计算的功能,可以使用FOR NEXT循环来完成,也可以考虑使用间接寻址的方式来提高程序的灵活性,而对一些流程方面的控制可以使用顺序控制继电器来完成,这样可以大大提高编程的效率。
相关问答
求一个西门子S7200网络通信的实例编程最好复..._网络编辑_帮考网
以下是一个基于西门子S7200的网络通信实例编程,它使用了ModbusTCP/IP协议进行通信。该程序实现了从PLC读取数据并将其发送到远程服务器的功能。首...
西门子s7--200PLC怎么与电脑连接和在编程软件中怎么设置?-...
先看你软件是否安装正确,s7-200的应该没有自带通讯线驱动,自己先去下一个安装好,根据导向安装完毕后系统自动会帮你分配ppi端口设置你也可以选,默认的就可以了...
西门子S7-200PLC连接wincc实例?
完成连接方法:其中两台是S7-200,不知道另外一台是不是S7-300。WINCC与S7-200最便宜的方法是使用OPC的连接:S7-200通过PPI/MPI电缆与PC-ACCESS连接,在P...
plc200常用的指令?
西门子S7-200PLC是可编程逻辑控制器的一种,广泛应用于工业控制领域。以下是S7-200PLC常用的指令:LD:逻辑“与”指令,用于将两个触点进行串联,形成逻辑“与...
西门子PLCS7-200如何编写程序块?
要在西门子PLCS7-200中编写程序块,你可以按照以下步骤进行操作:1.打开西门子PLCS7-200编程软件。2.创建一个新的程序块。3.在程序块中编写你的程序代码...
刚开始学西门子PLCS7-200,对模拟量的编程还不是很了解请求分享点实例学习一下……多谢?
模拟量就是从AI模块的上读取工程量如地址AIW0读取4-20MA电流信号哪么4的时候工程量是6400,如是是20MA时是32000了!中间部份是平均分布的!!6400-32000等于4...
S7-200PLC模拟量输入输出如何编程?
很简单,EM231的0-10V电压输入数据是0-32000,如果你的EM231挂在CPU224后面第一个位置通道1:也就是AIW0除以32就可以了。得到的数据就是0-10V=0-1000我相信除法....
S7-200编程好了如何接线?
关于接线问题,其实只要你只要有电气原理的相关知识,那么是很容易通过S7-200的手册完成接线的。我们首先来认识以下S7-200的模块,它是一个小型PLC,集成了CPU,...
s7-200plc的编址方式有哪四种?
S7-200PLC根据存储器的编程元件,把数据存储在不同的存储单元,通过每个单元的地址进行数据访问,访问数据的过程称为“寻址”,根据访问数据存取的方式不同.可...
上位机和多个S7-200PLC通讯?
你直接在设备窗口里面添加2个设备,然后分别设置好对应PLC的IP地址,然后在每个设备里面添加不同的I/O,连接上你的内部变量就好!你直接在设备窗口里面添加2个设...