step7怎样对比程序有几种程序结构设计方法

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

程序执行图(建议保存)

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步骤重新开始新一循环的监视时间,如此周而复始

  知道了PLC循环程序如何执行后,我们再来看一看step7怎样对比程序的程序塊有哪些类型

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

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

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

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

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

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

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

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

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

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

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

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

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

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

一般选择检查“executecodecomparison”(执行代码比較)时除了比较块(接口和代码)中运行时间相关部分外,也显示局部变量名字和参数名字的任何变化主要用于比较编程装载pc/pg与plc之间嘚块的代码不同之处,是比较常用的方法因为在下载新的程序之前,必须执行“executecodecomparison”如果块的代码之间没有不同之处,就可以执行下载
而"comparetimestamponly(仅比较时间印记)是执行块之间的时间印记比较,如果块印记相同step7怎样对比程序假设互相之间的接口相同;如果时间印记不同,step7怎样对比程序比较块的结构直到发现它们数据结构中第一个不同地方如果数据结构在这段相同,step7怎样对比程序比较初始值和当前值会顯示所有不同之处。
实际上“时间标志”冲突虽然会起调用对象和被调用对象或引用块之间的块不一致但可以执行“检查块的一致性”功能,此功能可以消除全部时间标记冲突和块不一致性的大部分会经常修改程序,时间印记不同是不会引起机器的停机问题
所以在菜單options(选项)/compareblocks(比较块)时,常用的是选择executecodecomparison”(执行代码比较)检查online(总线,plc中程序块)和offline(源程序保存在电脑中)中块中不同之处。由于會在实际中经常修改程序尤其在线调试时,编程人员在线修改程序的内容这时一定要先将程序保存,执行代码比较然后再下载,避免下载的程序与最终保存的程序不一致

我要回帖

更多关于 简述plc和dcs的区别 的文章

 

随机推荐