【文档说明】第3章S7-1200程序设计基础1课件.ppt,共(27)页,1.566 MB,由小橙橙上传
转载请保留链接:https://www.ichengzhen.cn/view-2489.html
以下为本文档部分文字说明:
河南理工大学电气学院1S00C工作模式(掌握)三种运行模式2.存储器及其寻址(掌握)存储器代码,两种寻址方式,强制输入/输出,保持性3.数据格式及数据类型(理解)把握常见数据格式特点及所占空间4.编程方法(重点)三种结构模式5.程序结构(重点)第3章S
7-1200程序设计基础2022/11/122第3章S7-1200PLC程序设计基础3.1S7-1200PLC工作模式(掌握)3.2存储器及其寻址(掌握)3.3数据格式及数据类型(理解)3.4编程方法(重点)3.5程序结构(重点)第3章S7-1200程序设计基础20
22/11/1233.1CPU的工作模式CPU有三种工作模式:⚫在STOP模式下,CPU不执行任何程序,而用户可以下载项目。⚫在STARTUP模式下,执行一次启动OB(如果存在)。⚫在RUN模式下,重复执行扫描周期。➢中断事件可能会在程序循环阶段的任何点发生并进行处
理。➢处于RUN模式下时,无法下载任何项目。➢在RUN模式的启动阶段,不处理任何中断事件。第3章S7-1200程序设计基础2022/11/124在STOP模式下:CPU①处理所有通信请求(如果适用)并②执行自诊断。CPU不执行用户程序,过程映像也不会自动更新。3.1CPU的工作模式第3章S7-1
200程序设计基础2022/11/125上电后CPU进入STARTUP模式,进行上电诊断和系统初始化,检查到某些错误时,将禁止CPU进入RUN模式,保持在STOP。STARTUP:A复位I存储区B使用上一次R
UN模式最后的值或替换值初始化输出C执行启动OBD将物理输入的状态复制到I存储器E将所有中断事件存储到要在RUN模式下处理的队列中F将过程映像输出区(Q区)的值写到物理输出3.1CPU的工作模式第3章S7-1200程序设计基础2022/11/126启动阶段结束后,进入R
UN模式,CPU执行下图所示的任务:RUN①将过程映像输出区(Q区)的值写到物理输出②将物理输入的状态复制到I存储器③执行程序循环OB④处理通信请求和进行自诊断⑤在扫描周期的任何阶段处理中断和通信3.1CPU的工作模式第3章S7-1200程序设计基础2022/11/
127PLC使用的物理存储器类型:RAM,ROM,FlashEPROM(简称为FEPROM)用户存储器:非易失性的存储区,用于保存用户程序(项目等)、数据和组态信息。所有的CPU都有内部的装载存储器,CPU插入存储卡后,用存储卡做装载存储器。类似于计算机的硬盘,具有断电保持功能。工作存储器:易
失性,集成在CPU中的高速存取的RAM。用于在执行用户程序时存储用户项目的某些内容。CPU也会将一些项目内容从装载存储器复制到工作存储器中。类似于计算机的内存,断电时内容丢失,而在恢复供电时由CPU恢复。系统存储器
:用来存储用户程序的操作数据,被划分为若干个地址区域,如过程映像输入/输出,位存储器,数据块,局部数据,I/O输入输出区域和诊断缓冲区等。使用指令可以在相应的地址区域内对数据直接进行寻址。用来防止在电源关闭时丢失数据,可
以用不同方法设置变量的断电保持功能。3.2存储器及其寻址第3章S7-1200程序设计基础2022/11/128第3章S7-1200程序设计基础2022/11/1293.2存储器及其寻址第3章S7-1200程序设计基础2022/11/1210➢不管使用变量(例如,“Start”或“S
top”)还是绝对地址(例如,“I0.3”或“Q1.7”),对输入(I)或输出(Q)存储区的引用都会访问过程映像而非物理输出。➢要立即访问或强制用户程序中的物理(外围设备)输入或输出,请在引用后面添加“:P”例如,“Stop:P”或“Q0.3:P”)。➢局部数据L:只要调用代码块,C
PU就会分配要在执行块期间使用的临时或本地存储器(L)。代码块执行完毕后,CPU将重新分配本地存储器,以用于执行其它代码块。3.2存储器及其寻址第3章S7-1200程序设计基础2022/11/12113.2存储器及其寻址第3章S7-1200程序设计
基础2022/11/1212“字节.位”寻址方式:如I3.2,首位字母表示存储器标识符,I表示输入过程映像区8位二进制数组成1个字节(Byte):MB100703.2存储器及其寻址S7CPU可以按照位、字节、字和双字对存储单元寻址。第3章S7-12
00程序设计基础2022/11/1213以起始字节的地址作为字和双字的地址。起始字节为最高位的字节。MB100150MB101高有效字节低有效字节MB10031MB101最高有效字节MB1020MB10
3最低有效字节MW100MD1003.2存储器及其寻址存储器寻址方式第3章S7-1200程序设计基础2022/11/12143.3系统存储区与数据类型——基本数据类型第3章S7-1200程序设计基础2022/11/12153.4程序结构创建用于自动化任
务的用户程序时,需要将程序的指令插入代码块中:第3章S7-1200程序设计基础2022/11/1216创建用于自动化任务的用户程序时,需要将程序的指令插入代码块中:●组织块(OB)对应于CPU中的特定事件,并可中断用户程序的执行。用于循环执行用户程序的默认组织块(OB1)为用户程序提供基本结构
,是唯一一个用户必需的代码块。如果程序中包括其它OB,这些OB会中断OB1的执行。其它OB可执行特定功能,如用于启动任务、用于处理中断和错误或者用于按特定的时间间隔执行特定的程序代码。●功能块(FB)是从另一个代码块(OB、F
B或FC)进行调用时执行的子例程。调用块将参数传递到FB,并标识可存储特定调用数据或该FB实例的特定数据块(DB)。更改背景DB可使通用FB控制一组设备的运行。例如,借助包含每个泵或阀门的特定运行参数的不同背景DB,一个FB可
控制多个泵或阀。●功能(FC)是从另一个代码块(OB、FB或FC)进行调用时执行的子例程。FC不具有相关的背景DB。调用块将参数传递给FC。FC中的输出值必须写入存储器地址或全局DB中。3.4程序结构第3章S7-
1200程序设计基础2022/11/1217功能块(FB)与功能(FC)➢检验FC、FB重要指标是可移植性(可重用性)。如果内部全部使用局部变量,不用全局变量,不作任何修改,就可以将它们移植到其他项目,通过调用与被调用的关系,可以迅速生成新的项目程序。➢把相同功能的工作编制成FB,然后
在FC里调用,程序修改起来方便。例子:有10台电机,编制启动,停止逻辑,报警,复位逻辑。FB+FC:FB+背景数据块+FC调用(把这些电机对应的I/O点添到FB的管脚上)FC:1)要写10遍,2)如果你用粘贴和复制的话,有可能有的I/O点忘
记修改或其他一些错误,3)程序的结构性不强,维护起来浪费时间。➢如果子程序的任务不能在一个扫描周期完成,需要在两次调用之间保存某些变量的值,则应选用FB,而不是FC。因为这种情况下FC需要用全局变量(例如共享数据块和M区)来保存这些变量的值,但是这样会影响FC的可移植性。
如果块的内部使用了全局变量,在移植时需要考虑每个块使用的全局变量是否会与别的块产生地址冲突(同一地址重复使用)。如果这样的FC很多,移植是附加的工作量将会很大,也很容易出错。3.4程序结构第3章S7-1200程序设计基础2022/11
/1218创建用于自动化任务的用户程序时,需要将程序的指令插入代码块中:●组织块(OB)●功能块(FB)●功能(FC)●数据块(DB)用于存放执行用户程序时所需的变量数据的数据区。用户程序中除了逻辑程序外,还需要对存储过程状态和信号信息的数据进行处理,数据是以变量的形式存储,通过存储地
址和数据类型来确定数据的唯一性。3.4程序结构第3章S7-1200程序设计基础2022/11/12193.5编程方法⚫线性化编程⚫模块化编程⚫结构化编程第3章S7-1200程序设计基础2022/11/12203.5编程方法根据实
际应用要求,可选择线性,模块化或结构化用于创建用户程序:●线性程序按顺序逐条执行用于自动化任务的所有指令。通常,线性程序将所有程序指令都放入用于循环执行程序的OB(OB1)中。第3章S7-1200程序设计基础2022/1
1/12213.5编程方法线性化编程⚫结构简单,不带分支,一个程序包含了所有指令。➢所有的指令都在OB1中----每个扫描周期都要扫描执行所有的指令,不断循环执行。即使某些不用的部分代码也需要执行。因此CPU效率低,没有充分利用。
➢需要多次执行相同或类似的操作,需要重复编写相同或类似的程序。➢程序结构不清晰----管理和测试不便大型程序编写时避免采用线性化编程第3章S7-1200程序设计基础2022/11/12223.5编程方法根据实际应用要求,可选择线性,模块化或结构化用于创建用户程序:
●线性程序●模块化程序调用可执行特定任务的特定代码块。要创建模块化结构,需要将复杂的自动化任务划分为与过程的工艺功能相对应的更小的次级任务。每个代码块都为每个次级任务提供程序段。通过从另一个块中调用其中一个代码块来构建程序。第3章S7-1200程序设计基础2022/11/1
2233.5编程方法模块化程序➢根据功能分为不同的逻辑块。➢在OB1中可根据条件决定块的调用和执行;➢特点是控制任务被分成不同的块,易于团队分工合作同时编程,调试方便;➢不同的程序块只有在需要时OB1才去调用,因此每次循环中不是所有
的块都执行,CPU利用效率高。➢模块化编程中,被调用快和调用快之间没有数据交换。第3章S7-1200程序设计基础2022/11/12243.5编程方法根据实际应用要求,可选择线性,模块化或结构化用于创建用户程序:●线性程序●模块化程序●结构化编程是通过抽象的方式将复杂的任务
分解成一些能够反映过程的工艺、功能或可以反复使用的可单独解决的小任务,这些任务由相应的程序块(或称逻辑快)来表示,程序运行时所需的大量数据和变量存储在数据块中。某些程序块可以用来实现相同或者相似的功能,相互是独立的,且被OB1或
其他程序块调用。第3章S7-1200程序设计基础2022/11/12253.5编程方法结构化编程➢将过程要求类似的或相关的任务归类,形成通用的解决方案,在相应的程序块中解决。可以在OB1中或其他程序块中调用;➢该程序块编程时采
用形式参数,可以通过不用的实际参数调用相同的程序块。➢被调用快和调用块之间有数据交换,需要对数据进行管理。➢结构化编程必须对系统功能进行合理的分析、分解和综合,对编程设计人员的要求较高。第3章S7-12
00程序设计基础2022/11/1226编程软件界面介绍Portal视图第3章S7-1200程序设计基础2022/11/1227握)三种运行模式2.存储器及其寻址(掌握)存储器代码,两种寻址方式,强制输入/输出,保持性3.数据格式及数据类型(理解)把握常见数据
格式特点及所占空间4.编程方法(重点)三种结构模式5.程序结构(重点)