ChongqingUniversityofScience&Technology1/51目的要求:了解PCS7的软件结构及编程技术,SFC编程、CFC编程,WinCC组态技术。重点:了解PCS7的软件结构及编程技术难点:无。课时:2西门子PCS7第三讲ChongqingUniversityofScience&Technology2/51主要内容:PCS7软件结构PCS7SFC编程概述PCS7CFC编程概述PCS7WinCC组态技术教材参考章节:补充西门子PCS7第三讲ChongqingUniversityofScience&Technology3/60S7PLC的程序结构程序块结构OB块与程序调用S7PLC的运行周期FB块与FC块ChongqingUniversityofScience&Technology4/60程序块结构SIEMENSS7PLC的程序由不同的程序块构成:OB:组织块FB:功能块FC:功能DB:数据块S7PLC的编程主要是对不同的功能块的编程;整个程序经程序块的相互调用实现。ChongqingUniversityofScience&Technology5/60程序块分类组织块决定用户程序的运行顺序,组织程序结构。系统功能块已集成在CPU中,允许用户在程序中调用这些块来使用S7CPU已经提供的标准功能。系统功能功能块带有背景数据块,完成较复杂的运算任务,用户可以编程产生自己的FB。功能无背景数据块,完成常用的运算任务,用户可以编程产生自己的FC。数据块存储用户数据的数据区,可以对其结构编程;共享数据块:数据块由用户创建,可任意使用;背景数据块:调用FB时产生,FB的数据存储区。OBSFBSFCFBFCDBChongqingUniversityofScience&Technology6/60OB组织块OB组织块的作用:操作系统和用户程序之间的一个接口控制循环和中断程序的执行控制CPU如何启动处理错误响应,通过编程指定CPU对错误反应OB块的分类:循环扫描、故障中断、事件处理等OB块具有优先级ChongqingUniversityofScience&Technology7/60OB组织块分类(1)2日期时间中断Time-Of-DayInterruptsOB10~OB173~6延时中断Time-DelayInterruptsOB20~OB237~15循环中断CyclicInterruptsOB30~OB3816~23硬件中断HardwareInterruptsOB40~OB4726时间错误中断TimeErrorOB8026电源错误中断PowerSupplyErrorOB8126诊断中断DiagnosticInterruptsOB8226拔出/插入中断Remove/InsertInterruptsOB831主程序扫描OB1优先级功能描述块名ChongqingUniversityofScience&Technology8/60OB组织块分类(2)26CPU硬件故障中断CPUHardwareFaultInterruptsOB8426编程顺序错误中断PriorityClassErrorOB8526底板/DP错误中断Rack/DPFailureErrorOB8626通讯错误中断CommunicationErrorOB870.29后台循环BackgroundCycleOB9027“温”重新启动WarmRestartOB10027“热”重新启动HotRestartOB10127“冷”重新启动ColdRestartOB102程序错误ProgrammingErrorOB121I/O错误中断AccessI/OErrorOB122ChongqingUniversityofScience&Technology9/60OB1主扫描ChongqingUniversityofScience&Technology10/60块的调用ChongqingUniversityofScience&Technology11/60FB和FC块将程序按照功能分割成不同的程序块;将常用的功能编写成FC或FB块;在OB块或其他FC和FB块中调用;可以简化编程,减少重复代码;FC和FB的区别:背景数据块;FC常用于简单的需要多次重复使用的程序,FB常用于较复杂的算法程序;可以将相对独立的程序部分写入一个FC块,方便系统维护和故障诊断;SFB和SFC是S7PLC集成的程序块。ChongqingUniversityofScience&Technology12/60OBDBInstanceDBFB/SFBInstanceDBFB/SFBFC/SFCFC/SFCDBFB和FC块的调用ChongqingUniversityofScience&Technology13/60SIEMENSPLC存储空间程序存储区:装载存储区:静态保存程序,断电保持;工作存储区:PLC运行时程序被复制到工作存储区中执行,断电不保持;数据存储区:输入和输出:独立编址的存储空间;过程映象区:输入和输出的缓存;定时器和计数器:系统资源,独立存储空间;位存储区:过程数据,可以在程序中直接访问;堆栈区:存储过程数据。ChongqingUniversityofScience&Technology14/60SIEMENSPLC存储空间图数据存储区输入过程映象区I装载存储区LoadMemory工作存储区WorkMemory系统存储区SystemMemory输出过程映象区Q位存储区M定时器T计数器C堆栈区用户程序可执行用户程序程序存储区ChongqingUniversityofScience&Technology15/60存储空间与存储单元存储空间由顺序排列的存储单元构成;用“地址”来表示存储单元的位置和长度;存储单元的最小单位是位,地址表示的基本单位是字节。地址表示分为三部分:存储区名:M,I,Q,PI,PQ数据长度:B,W,D存储地址:20,27.4ChongqingUniversityofScience&Technology16/60地址表示示例0765432122MB20202126252423MW22MD2227M27.3M27.6MChongqingUniversityofScience&Technology17/60SIEMENSPLC地址表示地址区域输入/输出位字节(8位)字(2字节)双字(2字)输入Ix.yIBIWID输出Qx.yQBQWQD输入PIBPIWPID输出PQBPQWPQD位存储器Mx.yMBMWMD数据块DBDBXDBBDBWDBD定时器T计数器C过程映像区外设区ChongqingUniversityofScience&Technology18/60数据类型PLC中的数据表示单位是字节(Byte)最小数据单位是位(Bit)数据的二进制、十进制、十六进制表示通过采用不同的字长可以表示各种数据类型基本数据类型包含了编程中常用的数据类型复合数据类型可以实现复杂的数据结构,在做复杂运算时可以简化编程。ChongqingUniversityofScience&Technology19/60S7基本数据类型类型位数格式范围及表示BOOL1布尔量TRUE/FALSEBYTE8十六进制B#16#0~B#16#FF二进制2#0~2#1111_1111_1111_1111十六进制W#16#0~W#16#FFFFDWORD32十六进制DW#16#0000_0000~W#16#FFFF_FFFFINT16十进制-32768~+32767DINT32十进制L#-2147483648~L#2147483647REAL32浮点数S5TIME16S5TIMES5T#0H_0M_0S_10MS~S5T#2H_46M_30S_0MSTIME32TIME-T#24D_20H_31M_23S_468MS~T#24D_20H_31M_23S_467MSDATE16DATED#1990-1-1~D#2168-12-31TIME_OF_DAY32TODTOD#0:0:0.0~TOD#23:59:59.999WORD16ChongqingUniversityofScience&Technology20/60复合数据类型DATE_AND_TIME(日期和时间)STRING(字符串)ARRAY(数组)STRUCT(结构)UDT(用户定义的数据类型)FB,SFB(用于多重背景)ChongqingUniversityofScience&Technology21/60PCS7的编程方法PCS7的构成标准编程语言结构化编程SCL图形化编程CFC和SFCPCS7的编程方法ChongqingUniversityofScience&Technology22/60PCS7的构成STEP7STEP7STEP7STEP7LibrariesLibrariesLibrariesLibrariesCFCCFCCFCCFCCFCCFCSFCSFCSFCSFCSFCSFCSCLSCLSCLSCLSCLSCLWinCCWinCCY2V5V4V30000.0MBARP40000.0MBARP50000.0MBARP60000.0MBARP1INERTGASABLUFT1ABLUFT2ABLUFT3V6V1Y1V2MBARPC%A10000.0Reaktor010000.0%000.0%000.00000.0produktM1R100000000F1WinCCWinCCY2V5V4V30000.0MBARP40000.0MBARP50000.0MBARP60000.0MBARP1INERTGASABLUFT1ABLUFT2ABLUFT3V6V1Y1V2MBARPC%A10000.0Reaktor010000.0%000.0%000.00000.0produktM1R100000000F1Y2V5V4V30000.0MBARP40000.0MBARP50000.0MBARP60000.0MBARP1INERTGASABLUFT1ABLUFT2ABLUFT3V6V1Y1V2MBARPC%A10000.0Reaktor010000.0%000.0%000.00000.0produktM1R100000000F1PDMPDMPDMPDMPDMPDMDatabaseDatabaseSIMATICManagerSIMATICManagerIEC61131-3标准组态工具操作员站组态工具程序及控件库结构化编程语言过程设备管理器图形化编程语言ChongqingUniversityofScience&Technology23/60标准编程语言STL:语句表近似汇编语言,功能强大;缺乏直观,易读性差。LAD:梯形逻辑图直观易读FBD:功能块图直观易读编程较复杂,对于复杂的算法和功能编程困难。ChongqingUniversityofScience&Technology24/60结构化编程SCL结构化编程语言以Pascal为基础的语法格式可以实现在LAD中无法实现的算法可以充分利用PCS7中丰富的功能块库适用于编写复杂的函数和运算模块是图形化编程语言CFC和SFC的基础ChongqingUniversityofScience&Technology25/60几种编程语言的对比LADFBDSTLSCLChongqingUniversityofScience&Technology26/60图形化编程CFC连续功能图,适用于组态控制回路;图形化的编程界面;只需连接管脚,不必关心程序运行的细节;调用PCS7内容丰富的程序库中的功能块;可以编写专用的功能块。ChongqingUniversityofScience&Technology27/60图形化编程SFC顺序功能图,适于编写顺序控制功能;图形化的编程界面;可以通过S