step7程序执行原理和编程方法

时间:2023-03-19来源:佚名
plc的循环程序是如何执行的。(这一点非常重要)

1.循环程序如何执行

step7程序执行原理和编程方法

西门子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用户块

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

step7程序执行原理和编程方法

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。

step7程序执行原理和编程方法

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结构化编程

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

    相关阅读

    软启动器12个故障代码

    软启动器常见故障问题的故障代码,参考如下: 1、故障代码Err01 故障类容:→断相;说明:主电路任意一相断相。 2、故障代码Err02 故障类容:→过电流;说明:超过额定电流12倍。 3、故...
    2022-11-26

    电焊机电流调到多少合适,根据焊条大小及焊接对象做调整

    2.5焊条电焊机电流大小应根据焊条的种类来定: 1、一般碳钢焊条焊接电流调到100A左右,不锈钢焊条稍低点。 2、焊方管2.5焊条电流: 60-80A电焊机利用正负两极在瞬间短路时产生的高温电...
    2023-01-09
    电焊机电流调到多少合适,根据焊条大小及焊接对象做调整

    电动车电池看参数的三种方法,轻松查看电动车电池型号

    新买的电动车电池是什么型号的,很多人并不是很清楚,而在需要换电池时搞不清楚型号就会很麻烦,那么电动车电池规格怎么,怎么来识别电动车电池的型号,与电工天下小编一起来...
    2022-11-30

    电动机的启动电流如何计算,电动机启动电流计算公式

    有关电动机启动电流的计算方法,三相电机启动电流瞬时是正常的多少倍,电动机的启动电流是额定电流 的多少,电动机 启动电流计算公式与实例,感兴趣的朋友参考下。 电动机启动...
    2022-11-22
    电动机的启动电流如何计算,电动机启动电流计算公式

    电焊机怎么调,电流与电压调整方法

    电焊机的调整方法,具体参考如下: 1、先把电流旋钮调到最小,把电压旋钮调到最大,试焊一下,不要动电压旋钮,逐步调大电流,直到能正常焊接时停上。 2、反过来,把电流旋钮先...
    2023-01-09
    电焊机怎么调,电流与电压调整方法

    【电力用户怎么分级,电力用户分类标准】

    【电力用户怎么分级,电力用户分类标准】 有网友咨询,电力用户怎么分级,针对分级的问题,电力用户分为一级用户至三级用户,那么电力用户分类标准是怎么样的,电力客户分级和...
    2022-12-10
    【电力用户怎么分级,电力用户分类标准】

    插座发出滋滋滋的声音是什么原因

    首先最有可能的原因就是电源线与插座接线端子接触不牢固,而造成的虚接,进而产生电弧也就是我们俗称的电火花,就会发出的滋滋声音。 插座内由于质量问题,电源接线柱与插头触...
    2022-11-10
    插座发出滋滋滋的声音是什么原因

    异步电动机正反转控制plc接线图及梯形图(图文)

    【 异步电动机 正反转控制plc 接线图及梯形图 】 用plc实现异步电动机的正反转控制,如何设计控制线路图,如何分配i/o,都是绘制plc接线图的关键,另外异步电动机正反转控制设计 过...
    2022-12-11
    异步电动机正反转控制plc接线图及梯形图(图文)

    网站栏目