1、2021/2/11 SIMATIC PCS7 标准培训 PCS7 程序结构 Sciample Training - SIMATIC PCS7 2 2021/2/11 内 容 PLC的工作原理 PLC的程序结构 存储空间和地址表示 数据类型和数据表示 SIMATIC PCS7的编程方法 SIMATIC PCS7的程序结构 Sciample Training - SIMATIC PCS7 3 2021/2/11 PLC 工作原理 PLC的基本构成 PLC的循环扫描工作方式 2021/2/11 Sciample Training - SIMATIC PCS7 4 PLC 的基本构成 CPU: 中央处
2、理器; 程序存储区:存放主程序; 数据存储区:存放执行过程中使用的数据; 输入通道:从现场仪表获取过程信号; 输出通道:运算结果输出到执行器; I/O扩展端口:连接更多I/O模块; 通讯端口:与上位机或其它PLC相连。 2021/2/11 Sciample Training - SIMATIC PCS7 5 PLC 的工作原理图 中央处理器 CPU 输 入 单 元 I 输 出 单 元 Q 程序存储区数据存储区 I/O端口 通讯端口 现 场 仪 表 扩展 模块 其他 系统 执 行 器 2021/2/11 Sciample Training - SIMATIC PCS7 6 PLC 的循环扫描工作
3、方式 各种PLC均采用循环扫描 工作方式: PLC上电初始化; 主程序周期运行; 输入输出端口周期刷新; 程序扫描周期与程序量有 关,并受PLC允许的最大 扫描时间限制。 初始化 程序开始 运算处理 I/O 刷新 程序结束 Sciample Training - SIMATIC PCS7 7 2021/2/11 S7 PLC的程序结构 程序块结构 OB块与程序调用 S7 PLC的运行周期 FB块与FC块 2021/2/11 Sciample Training - SIMATIC PCS7 8 程序块结构 SIEMENS S7 PLC的程序由不同的程序块构成: OB:组织块 FB:功能块 FC:
4、功能 DB:数据块 S7 PLC的编程主要是对不同的功能块的编程; 整个程序经程序块的相互调用实现。 2021/2/11 Sciample Training - SIMATIC PCS7 9 程序块分类 组织块组织块决定用户程序的运行顺序,组织程序结构。 系统功能块系统功能块 已集成在CPU中,允许用户在程序中调用这些块来使用 S7 CPU已经提供的标准功能。 系统功能系统功能 功能块功能块 带有背景数据块,完成较复杂的运算任务,用户可以 编程产生自己的FB。 功能功能 无背景数据块,完成常用的运算任务,用户可以编程 产生自己的FC。 数据块数据块 存储用户数据的数据区,可以对其结构编程; 共
5、享数据块:数据块由用户创建,可任意使用; 背景数据块:调用FB时产生,FB的数据存储区。 OBOB SFBSFB SFSFC C FBFB FCFC DBDB 2021/2/11 Sciample Training - SIMATIC PCS7 10 OB 组织块 OB 组织块的作用: 操作系统和用户程序之间的一个接口 控制循环和中断程序的执行 控制CPU如何启动 处理错误响应,通过编程指定CPU对错误反应 OB块的分类: 循环扫描、故障中断、事件处理等 OB块具有优先级 2021/2/11 Sciample Training - SIMATIC PCS7 11 OB 组织块分类(1) 2 2
6、日期时间中断 TimeTime- -OfOf- -Day InterruptsDay InterruptsOB10OB17 36延时中断 TimeTime- -Delay InterruptsDelay InterruptsOB20OB23 715循环中断 Cyclic InterruptsCyclic InterruptsOB30OB38 1623硬件中断 Hardware InterruptsHardware InterruptsOB40OB47 26时间错误中断 Time ErrorTime ErrorOB80 26电源错误中断 Power Supply ErrorPower Suppl
7、y ErrorOB81 26诊断中断 Diagnostic InterruptsDiagnostic Interrupts OB82 26拔出/插入中断 RemoveRemove/ /Insert InterruptsInsert InterruptsOB83 1 1主程序扫描主程序扫描OBOB1 1 优先级优先级功能描述功能描述块名块名 2021/2/11 Sciample Training - SIMATIC PCS7 12 OB 组织块分类(2) 26CPU硬件故障中断 CPU Hardware Fault InterruptsCPU Hardware Fault InterruptsO
8、B84 26编程顺序错误中断 Priority Class ErrorPriority Class ErrorOB85 26底板/DP错误中断 RackRack/ /DP Failure ErrorDP Failure ErrorOB86 26通讯错误中断 Communication ErrorCommunication ErrorOB87 0 0. .2929后台循环 Background CycleBackground CycleOB90 27“温”重新启动 Warm RestartWarm RestartOB100 27“热”重新启动 Hot RestartHot RestartOB10
9、1 27“冷”重新启动 Cold RestartCold RestartOB102 程序错误 Programming ErrorProgramming ErrorOB121 I/O错误中断 Access IAccess I/ /O ErrorO ErrorOB122 2021/2/11 Sciample Training - SIMATIC PCS7 13 OB1 主扫描 2021/2/11 Sciample Training - SIMATIC PCS7 14 块的调用 2021/2/11 Sciample Training - SIMATIC PCS7 15 S7 PLC 的运行周期 20
10、21/2/11 Sciample Training - SIMATIC PCS7 16 FB 和 FC 块 将程序按照功能分割成不同的程序块; 将常用的功能编写成FC或FB块; 在OB块或其他FC和FB块中调用; 可以简化编程,减少重复代码; FC和FB的区别:背景数据块; FC常用于简单的需要多次重复使用的程序,FB 常用于较复杂的算法程序; 可以将相对独立的程序部分写入一个FC块,方便 系统维护和故障诊断; SFB和SFC是S7 PLC集成的程序块。 2021/2/11 Sciample Training - SIMATIC PCS7 17 OB DB Instance DB FB/SFB
11、 Instance DB FB/SFB FC/SFC FC/SFC DB FB 和 FC 块的调用 Sciample Training - SIMATIC PCS7 18 2021/2/11 存储空间和地址表示 PLC 的存储空间分布 存储地址表示方式 2021/2/11 Sciample Training - SIMATIC PCS7 19 SIEMENS PLC 存储空间 程序存储区: 装载存储区:静态保存程序,断电保持; 工作存储区:PLC运行时程序被复制到工作存储区 中执行,断电不保持; 数据存储区: 输入和输出:独立编址的存储空间; 过程映象区:输入和输出的缓存; 定时器和计数器:系
12、统资源,独立存储空间; 位存储区:过程数据,可以在程序中直接访问; 堆栈区:存储过程数据。 2021/2/11 Sciample Training - SIMATIC PCS7 20 SIEMENS PLC 存储空间图 数据存储区 输入过程映象区 I 装载存储区 Load Memory 工作存储区 Work Memory 系统存储区 System Memory 输出过程映象区 Q 位存储区 M 定时器 T 计数器 C 堆栈区 用户程序 可执行用户程序 程序存储区 2021/2/11 Sciample Training - SIMATIC PCS7 21 存储空间与存储单元 存储空间由顺序排列的
13、存储单元构成; 用 “地址”来表示存储单元的位置和长度; 存储单元的最小单位是位,地址表示的基本单位 是字节。 地址表示分为三部分: 存储区名:M, I, Q, PI, PQ 数据长度:B, W, D 存储地址:20, 27.4 2021/2/11 Sciample Training - SIMATIC PCS7 22 地址表示示例 07654321 22 MB2020 21 26 25 24 23 MW22 MD22 27 M27.3M27.6 M 2021/2/11 Sciample Training - SIMATIC PCS7 23 SIEMENS PLC 地址表示 地址区域输入/输出
14、位字节(8位)字(2字节)双字(2字) 输入Ix.yIBIWID 输出Qx.yQBQWQD 输入PIBPIWPID 输出PQBPQWPQD 位存储器Mx.yMBMWMD 数据块DBDBXDBBDBWDBD 定时器T 计数器C 过程映像区 外设区 Sciample Training - SIMATIC PCS7 24 2021/2/11 数据类型和数据表示 数据表示 基本数据类型 复合数据类型 2021/2/11 Sciample Training - SIMATIC PCS7 25 数据类型 PLC中的数据表示单位是字节(Byte) 最小数据单位是位(Bit) 数据的二进制、十进制、十六进制表
15、示 通过采用不同的字长可以表示各种数据类型 基本数据类型包含了编程中常用的数据类型 复合数据类型可以实现复杂的数据结构,在做复 杂运算时可以简化编程。 2021/2/11 Sciample Training - SIMATIC PCS7 26 S7 基本数据类型 类型位数格式范围及表示 BOOL1布尔量TRUE/FALSE BYTE8十六进制 B#16#0B#16#FF 二进制2#02#1111_1111_1111_1111 十六进制 W#16#0W#16#FFFF DWORD32十六进制 DW#16#0000_0000W#16#FFFF_FFFF INT16十进制-32768+32767 D
16、INT32十进制L#-2147483648L#2147483647 REAL32浮点数 S5TIME16S5TIME S5T#0H_0M_0S_10MSS5T#2H_46M_30S_0MS TIME32TIME -T#24D_20H_31M_23S_468MS T#24D_20H_31M_23S_467MS DATE16DATED#1990-1-1D#2168-12-31 TIME_OF_DAY32TODTOD#0:0:0.0TOD#23:59:59.999 WORD16 2021/2/11 Sciample Training - SIMATIC PCS7 27 复合数据类型 DATE_AND
17、_TIME(日期和时间) STRING(字符串) ARRAY(数组) STRUCT(结构) UDT(用户定义的数据类型) FB,SFB(用于多重背景) Sciample Training - SIMATIC PCS7 28 2021/2/11 PCS7 的编程方法 PCS7 的构成 标准编程语言 结构化编程SCL 图形化编程CFC和SFC PCS7 的编程方法 2021/2/11 Sciample Training - SIMATIC PCS7 29 PCS7 的构成 STEP 7 STEP 7 STEP 7 STEP 7 Libraries Libraries Libraries Libra
18、ries CFC CFC CFC CFC CFC CFC SFC SFC SFC SFC SFC SFC SCL SCL SCL SCL SCL SCLWinCC WinCC Y2 V5 V4 V3 0000.0MBARP4 0000.0MBAR P5 0000.0MBAR P6 0000.0MBARP1 INERTGAS ABLUFT1 ABLUFT2 ABLUFT3 V6 V1Y1 V2 MBAR PC % A1 0000.0 Reaktor 01 0000.0 %000.0 % 000.0 0000.0 produkt M1 R1 0000 0000 F1 WinCC WinCC Y2
19、V5 V4 V3 0000.0MBARP4 0000.0MBAR P5 0000.0MBAR P6 0000.0MBARP1 INERTGAS ABLUFT1 ABLUFT2 ABLUFT3 V6 V1Y1 V2 MBAR PC % A1 0000.0 Reaktor 01 0000.0 %000.0 % 000.0 0000.0 produkt M1 R1 0000 0000 F1 Y2 V5 V4 V3 0000.0MBARP4 0000.0MBAR P5 0000.0MBAR P6 0000.0MBARP1 INERTGAS ABLUFT1 ABLUFT2 ABLUFT3 V6 V1Y1
20、 V2 MBAR PC % A1 0000.0 Reaktor 01 0000.0 %000.0 % 000.0 0000.0 produkt M1 R1 0000 0000 F1 PDM PDM PDM PDM PDM PDM Database Database SIMATIC Manager SIMATIC Manager IEC61131-3 标准组态工具 操作员站 组态工具 程序及控件库 结构化 编程语言 过程设备管理器 图形化 编程语言 2021/2/11 Sciample Training - SIMATIC PCS7 30 标准编程语言 STL:语句表 近似汇编语言,功能强大;
21、缺乏直观,易读性差。 LAD:梯形逻辑图 直观易读 FBD:功能块图 直观易读 编程较复杂,对于复杂的算法和功能编程困难。 2021/2/11 Sciample Training - SIMATIC PCS7 31 结构化编程SCL 结构化编程语言 以Pascal为基础的语法格式 可以实现在LAD中无法实现的算法 可以充分利用PCS7中丰富的功能块库 适用于编写复杂的函数和运算模块 是图形化编程语言CFC和SFC的基础 2021/2/11 Sciample Training - SIMATIC PCS7 32 几种编程语言的对比 LAD FBD STL SCL 2021/2/11 Sciamp
22、le Training - SIMATIC PCS7 33 图形化编程CFC 连续功能图,适用于组态控制回路; 图形化的编程界面; 只需连接管脚,不必关心程序运行的细节; 调用PCS7内容丰富的程序库中的功能块; 可以编写专用的功能块。 2021/2/11 Sciample Training - SIMATIC PCS7 34 图形化编程SFC 顺序功能图,适于编写顺 序控制功能; 图形化的编程界面; 可以通过SFC可视化从 WinCC中读取顺序执行情 况。 2021/2/11 Sciample Training - SIMATIC PCS7 35 PCS7 的编程方法 用LAD、FBD、ST
23、L等直接编写功能块,实现一 些简单、固定的功能; 用STL和SCL编写源代码,经过编译生成功能块, 实现较复杂的运算功能; 在CFC图中调用库中的功能块或调用按照上述生 成的功能块,组建面向应用的程序; 在SFC图中组建顺序控制程序; 在编译过程中,先将CFC和SFC图转换成SCL源 代码,之后再编译生成一系列的功能块; 所有的功能块构成了PCS7程序的可执行代码。 Sciample Training - SIMATIC PCS7 36 2021/2/11 PCS7 程序结构 Charts 图形程序(CFC SFC) Sources 源代码(SCL STL) Blocks 程序块(LAD FBD STL) 2021/2/11 Sciample Training - SIMATIC PCS7 37 PCS7 程序结构 采用图形化的编程语言CFC和SFC可以不必关心 程序块之间的调用关系; 程序块OB、FB、FC、DB等是PCS7程序的最终 执行代码; 程序块之间的调用关系由CFC图中的连线确定; 程序的运行顺序在CFC图中确定; PCS7的程序结构与CFC图中的组态相一致。 2021/2/11 Sciample Training - SIMATIC PCS7 38 总结与练习