全国服务热线 15221406036

西门子6ES7241-1AA22-0XA0详细使用

更新时间:2024-05-08 07:10:00
价格:请来电询价
联系电话:
联系手机: 15221406036
联系人:聂航
让卖家联系我
详细介绍

西门子6ES7241-1AA22-0XA0详细使用

PLC的循环程序是如何执行的。(这一点非常重要)

1.循环程序如何执行



西门子PLC程序执行图(建议保存)

1.1在CPU上电之后,启动块OB100/101/102先启动一次。(调用哪一个OB块由系统的启动模式配置决定)

1.2启动块执行完毕后,系统的循环监视时间就被激活了(这个时间可以在STEP7的硬件配置中设置,如果循环时间超出则PLC停机)

1.3之后,CPU会从输入模块及其它过程映象设备读取所有的输入状态

1.4接着下来便到了主循环程序的执行

1.4.1主循环执行也是按照语句顺序执行,如图所示,当OB1执行个语句CallFB,则此时程序进入所调用FB块顺序执行FB块的语句

1.4.2若在所调用的FB块,在某一语句中执行了CallFB/FC,则程序又进入下一级的FC中依次执行块中语句,依此类推

1.4.3当调用的下一级FC所有语句执行完成后,程序回到CallFC的这一语句,继续执行后面的语句

1.4.4当所Call的FB也执行完成后,程序回到OB1的CallFB处,继续执行后面的语句。

1.4.5直至后,完成OB1的所有程序,则主循环结束。

1.4.6在OB1执行的过程中,循环中断(如OB35)、故障中断(如OB86)等可以插入执行,执行完成后会回到中断的地方继续主循环的执行。

1.5主循环执行完成后,PLC将过程映象的输出写到输出模块

1.6完成1.5的步骤之后一个完整的循环就结束了,此时跳至1.2步骤,重新开始新一循环的监视时间,如此周而复始。

2.程序块类型

  知道了PLC循环程序如何执行后,我们再来看一看STEP7的程序块有哪些类型

2.1用户块

  用户块包括程序代码和用户数据。在结构化程序中,一些块循环调用处理,一些块需要时才调用。



2.1.1组织块

  OB块构成了S7CPU和用户程序的接口。可以把全部程序存在OB1中,让它连续不断地循环处理。也可以把程序放在不同的块中,用OB1在需要的时候调用这些程序块。除OB1外。操作系统根据不同的事件可以调用其他的OB块,例如:

2.1.1.1时间-日期中断

2.1.1.2周期时间中断

2.1.1.3诊断中断

2.1.1.4硬件中断

2.1.1.5故障处理中断

2.1.1.6硬件启动

2.1.2功能块(FB)

  功能块是在逻辑操作块内的功能或功能组,在操作块内分配有存储器,并存储有变量。FB需要这个背景数据块形式的辅助存储器。通过背景数据块传递参数,而且,一些局部参数也保存在此区。其他的临时变量存在局部堆栈中。保存在背景数据块内的数据,当功能块关闭时数据仍保持。而保存在局部堆栈中的数据不能保存。

2.1.3功能(FC)

  功能是类似于功能块的逻辑操作块,但是,其中不分配存储区。FC不需要背景数据块。临时变量保存在局部堆栈中,直到功能结束。当FC执行结束时,使用的变量要丢失。

2.1.4数据块(DB)

  数据块是一个分配的区域,其中保存其他功能的数据或信息。数据块是可读/写区,并做为用户程序的一部分转入CPU。

2.2系统块

  系统块是在CPU操作系统中预先定义好的功能和功能块。这些块不占用用户程序空间。用户程序调用系统块,在整个系统中这些块具有相同的接口、相同的标示和相同的号。用户程序可以容易地转换到不同的CPU或PLC。



2.2.1系统功能块(SFC)

  系统功能是集成在S7CPU中的已经编程并调试过的功能。这些块支持的一些任务是设置模块参数、数据通讯和拷贝功能等。用户程序可以不用装载直接调用SFC。SFC不需要分配数据块。

2.2.2系统功能块(SFB)

  系统功能块是S7CPU的集成功能。由于SFB是操作系统的一部分,用户程序可以不用装载直接调用SFB。SFB需要分配背景数据块DB,数据块必须作为用户程序的一部分下装到CPU。

2.2.3系统数据块(SDB)

  系统数据块是由不同STEP7工具产生的程序存储区,其中存有操作控制器的必要数据。SDB中存有一些信息,例如:组态数据、通讯连接和参数。

3.编程方法

  前面大致了解了一下PLC程序的一个循环是如何执行的,并了解了一下程序中块的类型,下面再来看看有哪些编程方法组织这些块。

  每一个西门子的编程人员都会有自已的编程习惯和方法。STEP7为设计程序提供了三种方法。基于这些方法,可以选择适合于你的应用的程序设计方法。

3.1线性化编程

  所有的程序都在一个连续的指令块中。这种结构和PLC所代替的固定接线的继电器线路类似。系统按照顺序处理各个指令。

3.2模块化编程

  程序分成不同的块,每个块包含了一些设备和任务的逻辑指令。组织块中的指令决定是否调用有关的控制程序模块。例如,一个模块程序包含有一个被控加工过程的各个操作模式。

3.3结构化编程

  结构化程序包含有带有参数的用户自定义的指令块。这些块可以设计成一般调用。实际的参数(输入和输出的地址)在调用时进行赋值。


1. 引言
  在本章中将重点介绍如何使用GForce-200 PLCCPU222进行PID回路控制。

2. PID控制概述
  GForce-200系列PLC能够进行PID控制,其CPU多可支持8个PID控制回路。PID是闭环控制系统中比例-积分-微分控制算法,它可以看作是这三项之和,根据设定值与被控对象实际值的差值,按PID方式计算出控制输出量,使反馈跟随设定值变化,因此PID控制是负反馈闭环控制。其中比例项是增益(Kc)与偏差的乘积,积分项与偏差的和成正比,而微分项与偏差的变化成正比。
  PID控制功能是通过PID指令功能块实现的。在S7-200中,PID回路指令运用回路表中的输入信息和组态信息,进行PID运算,交换数据,编程极其简便,该指令影响特殊存储器标志位SM1.1 (溢出)。只有在逻辑堆栈栈顶值为1时,才能进行PID运算。本指令有两个操作数:TBL和LOOP(如下图所示)。其中TBL 是回路表的起始地址,操作数限用VB区,数据类型是BYTE型;LOOP 是回路号可以是 0 到 7 的整数,因此在程序中多可以用 8 条PID 指令。如果有两个或两个以上的 PID 指令用了同一个回路号,即使这些指令的回路表不同,那么这些 PID 运算之间也会产生不可预料的结果。在直接使用PID 指令功能块之前,必须把增益(Kc)、采样时间(Ts)、积分时间(Ti)、微分时间(Td)等等这些实数全部转换成0.0-1.0之间的实数,以便PID 指令功能块接受,也就是说把外界实际物理量转换成PID 指令可以接收的数据,即输入/输出的转换与标准化处理。

3. PID控制编程调试
  在本套系统中,为了生产需求,锅炉内蒸汽压力应维持在0.85-1.0MPa之间,压力的大小由压力变送器检测,变送器压力量程0-2.5MPa,输出DC4-20mA。因此在0.85MPa时,相应的电流输出是9.44Ma,同样1.0MPa时输出为10.4mA,其标准化刻度值如下图所示。


  过程变量值是压力变送器检测的单极性模拟量,回路输出值也是一个单极性模拟量用来控制鼓风机的速度。这两个模拟量的范围是 0.0 -1.0 ,分辨率为1/32000 (标准化)。可以初步确定Kc=0.06,Ts=0.2,Ti=10.0,在这里不用微分作用,程序编辑如下图。


  程序上采用了主程序,子程序,中断程序的结构模式,程序清晰,明了,大大缩短了周期扫描时间。

4. 调试程序
  选择PID的参数,以及相互间的配合,可以影响PID控制的稳定性。如采样时间过短对外部信号的变化有可能检测不到,而过长的采样时间显然不能满足控制精度的要求。又如过大的增益又会造成控制的震荡。在调试程序时要注意这些参数的设置,慢慢调试以至达到稳定的PID控制。

5. 结束语
  PID控制在闭环控制中有着重要的作用,这里仅以控制鼓风机的速度来保持锅炉内蒸汽压力的恒定,介绍PID控制。同样锅炉内负压的维持,也是类似与此,这里不在详细介绍。


没有

联系方式

  • 地址:上海松江 上海市松江区石湖荡镇塔汇路755弄29号1幢一层A区213室
  • 邮编:201600
  • 联系电话:未提供
  • 经理:聂航
  • 手机:15221406036
  • 微信:15221406036
  • QQ:3064686604
  • Email:3064686604@qq.com