《西门子PLCs7-200培训教程终结版》由会员分享,可在线阅读,更多相关《西门子PLCs7-200培训教程终结版(428页珍藏版)》请在金锄头文库上搜索。
1、西门子PLC培训教程第一章第一章 西门子西门子PLC简单概述简单概述第二章第二章 PLC系统特性及硬件介绍系统特性及硬件介绍第三章第三章 使用使用STEP7创建一个工程创建一个工程第四章第四章 西门子编程语言学习西门子编程语言学习第五章第五章 西门子的程序设计西门子的程序设计第六章第六章 利用利用WinCC flexible软件创建工程系统软件创建工程系统西门子PLC培训教程第第1 1章章 PLCPLC概述概述1.1 PLC1.1 PLC的产生的产生1.2 PLC1.2 PLC的定义和分类的定义和分类1.3 PLC1.3 PLC的功能和特点的功能和特点1.4 PLC1.4 PLC的结构与工作过
2、程的结构与工作过程l传统的生产机械自动控制装置传统的生产机械自动控制装置继电器控制系统继电器控制系统 优点优点结构简单、价格低廉、容易操作结构简单、价格低廉、容易操作 。缺点缺点体积庞大、生产周期长、接线复杂、故障率体积庞大、生产周期长、接线复杂、故障率高、可靠性及灵活性差高、可靠性及灵活性差 。应用应用比较适用于工作模式固定,控制逻辑简单等比较适用于工作模式固定,控制逻辑简单等工业应用场合。工业应用场合。 1.1 PLC1.1 PLC的产生的产生l用户迫切用户迫切需要需要一种先进的自动控制装置一种先进的自动控制装置继电器控制系统继电器控制系统先进自动控制系统先进自动控制系统l可编程序逻辑控制
3、器的可编程序逻辑控制器的产生产生 美国数字设备公司(美国数字设备公司(DECDEC)根据这一设想,于)根据这一设想,于19691969年年研制成功了第一台可编程序控制器。由于当时主要用研制成功了第一台可编程序控制器。由于当时主要用于顺序控制,只能进行逻辑运算,故称为于顺序控制,只能进行逻辑运算,故称为可编程序逻可编程序逻辑控制器辑控制器(Programmable Logic ControllerProgrammable Logic Controller,PLCPLC)。)。 1.2 PLC1.2 PLC的定义和分类的定义和分类lPLCPLC的定义的定义 经历经历:可编程逻辑控制器(:可编程逻辑
4、控制器(PLCPLC)可编程控制器(可编程控制器(PCPC) 通用叫法通用叫法:可编程序控制器(:可编程序控制器(Programmable ControllerProgrammable Controller,PCPC),是一台专为工业环境应用而设计制造的计算机。它),是一台专为工业环境应用而设计制造的计算机。它具有丰富的输入具有丰富的输入/ /输出接口,并且具有较强的驱动能力。输出接口,并且具有较强的驱动能力。但由于但由于PCPC容易和个人计算机(容易和个人计算机(Personal ComputerPersonal Computer)混淆,)混淆,所以人们还沿用所以人们还沿用PLCPLC作为可
5、编程控制器的英文缩写。作为可编程控制器的英文缩写。 国际电工委员会(国际电工委员会(IECIEC)对可编程控制器的定义)对可编程控制器的定义: “ “可编程控制器是一种数字运算操作的可编程控制器是一种数字运算操作的电子系统电子系统,专,专为在工业环境应用而设计的。它采用一类可编程的存为在工业环境应用而设计的。它采用一类可编程的存储器,用于其内部存储程序,执行逻辑运算、顺序控储器,用于其内部存储程序,执行逻辑运算、顺序控制、定时、计数与算术操作等面向用户的指令,并通制、定时、计数与算术操作等面向用户的指令,并通过数字或模拟式输入过数字或模拟式输入/ /输出控制各种类型的机械或生输出控制各种类型的
6、机械或生产过程。产过程。”lPLCPLC的分类的分类 一体化紧凑型一体化紧凑型PLC PLC :电源、:电源、CPUCPU中央处理系统、中央处理系统、I/OI/O接口都集成在一个机壳内。如接口都集成在一个机壳内。如西门子西门子S7-200S7-200系列。系列。 CPUCPU(基本单元)(基本单元) + + 扩展模块扩展模块 标准模块式结构化标准模块式结构化PLC PLC :各种模块相互独立,并安:各种模块相互独立,并安装在固定的机架(导轨)上,构成一个完整的装在固定的机架(导轨)上,构成一个完整的PLCPLC应用系统。如:应用系统。如:西门子西门子S7-300S7-300、S7-400S7-
7、400系列。系列。 PS(电源模块)CPU IM(接口模块)SM: DISM: DOSM: AISM: AO CP:-点-到-点-PROFIBUS-工业以太网1.3 PLC1.3 PLC的功能和特点的功能和特点lPLCPLC的功能的功能 控制功能控制功能 逻辑控制逻辑控制 定时控制定时控制 计数控制计数控制 顺序控制顺序控制lPLCPLC的功能的功能 数据采集、存储与处理功能数据采集、存储与处理功能数学运算功能数学运算功能数据处理数据处理模拟数据处理模拟数据处理lPLCPLC的功能的功能 输入输入/ /输出接口调理功能输出接口调理功能具具有有A A/ /D D、D D/ /A A转转换换功功能
8、能,通通过过I I/ /O O模模块块完完成成对对模模拟拟量量 的的 控控 制制 和和 调调 节节 。lPLCPLC的功能的功能 通信、联网功能通信、联网功能PROFIBUS DPPROFIBUS PA (Ex)PROFIBUS PAlPLCPLC的功能的功能 人机界面功能人机界面功能lPLCPLC的功能的功能 编程、调试等编程、调试等使用复杂程度不同的使用复杂程度不同的手持、便携和桌面式手持、便携和桌面式编程器、工作站和操编程器、工作站和操作屏,进行编程、调作屏,进行编程、调试、监视、试验和记试、监视、试验和记录,并通过打印机打录,并通过打印机打印出程序文件。印出程序文件。 STEP7STE
9、P7ProToolProToolMPI cable有有MPI接口的接口的PG 或或PClPLCPLC的特点的特点 高可靠性高可靠性丰富的丰富的I/OI/O接口模块接口模块采用模块化结构采用模块化结构运行速度快运行速度快功能完善功能完善编程简单,易于使用编程简单,易于使用系统设计、安装、调试方便系统设计、安装、调试方便维修方便,维修工作量小维修方便,维修工作量小总价格低总价格低1.4 PLC1.4 PLC的结构和工作过程的结构和工作过程lPLCPLC的基本结构的基本结构 PLCPLC的工作过程的工作过程PLCPLC的扫描过程的扫描过程lPLCPLC的中断处理过程的中断处理过程响应问题:响应问题:
10、一般微机系统的一般微机系统的CPU,在每一条指令执行结束时,在每一条指令执行结束时都要查询有无中断申请。而都要查询有无中断申请。而PLC对中断的响应则是对中断的响应则是在相关的程序块结束后查询有无中断申请,或者在在相关的程序块结束后查询有无中断申请,或者在执行用户程序时查询有无中断申请,如有中断申请,执行用户程序时查询有无中断申请,如有中断申请,则转入执行中断服务程序。如果用户程序以块式结则转入执行中断服务程序。如果用户程序以块式结构组成,则在每块结束或执行块调用时处理中断。构组成,则在每块结束或执行块调用时处理中断。第二章第二章 西门子西门子PLC系统特性及硬件介绍系统特性及硬件介绍第第2
11、2章章 S7-300S7-300系统特性及硬件介绍系统特性及硬件介绍2.1 SIMATIC S7-3002.1 SIMATIC S7-300系统结构系统结构 2.2 S7-300 CPU2.2 S7-300 CPU模块模块2.3 2.3 信号模块信号模块 (SMSM)2.4 2.4 电源模块电源模块 (PSPS)2.5 2.5 接口模块(接口模块(IMIM) 2.6 2.6 其他模块(其他模块(IMIM)2.7 SIMATIC S7-3002.7 SIMATIC S7-300的硬件组态的硬件组态2.1.1 中央处理单元 (CPU)2.1.2 电源单元 (PS)2.1.3 信号模板 (SM)2.
12、1.4 接口模板 (IM)2.1.5 功能模板 (FM)2.1.6 通讯模板 (CP)2.1.7 特殊模板 (SM 374仿真器) 2.1 S7-300系统组成 导轨导轨 PS电源模块CPU IM接口模块SM: DISM: DOSM: AISM: AO FM:-计数-定位-闭环控制 CP:-点-到-点-PROFIBUS-工业以太网系统背版总线系统背版总线导轨(机架)导轨(机架)S7-300模块模块电源模块电源模块(选项)(选项)后备电池后备电池(CPU313以上)以上)24V DC连连接器接器CPU工作工作模式选择开模式选择开关关CPU模块模块CPU状态状态及故障指示及故障指示灯灯MMC存储卡
13、存储卡(CPU313以上)以上)MPI多点接口多点接口信号模块的信号模块的前连接器前连接器前门前门信号信号模块模块典型系统结构典型系统结构 S7-300系统结构 2.2 S7-300 CPU模块 2.2.12.2.1 S7-300 CPU S7-300 CPU模块的分类模块的分类2.2.2 S7-300 CPU2.2.2 S7-300 CPU模块操作模块操作2.2.1 S7-300 CPU模块的分类 紧凑型紧凑型CPUCPU(6 6种)种)标准型标准型CPUCPU(5 5种)种)革新型革新型CPUCPU(5 5种)种)户外型户外型CPUCPU(3 3种)种)故障安全型故障安全型CPUCPU(3
14、 3种)种)特种型特种型CPUCPU(2 2种)种)1.紧凑型CPU(1/2) CPU 312C:带有集成的数字量输入和输出,并具有与过程相关的功能,比较适用于具有较高要求的小型应用。CPU运行时需要微存储卡(MMC)。 CPU 313C:带有集成的数字量和模拟量的输入和输出,并具有与过程相关的功能,能够满足对处理能力和响应时间要求较高的场合。CPU运行时需要微存储卡(MMC)。 CPU 313C-2PtP:带有集成的数字量输入和输出及一个RS422/485串口,并具有与过程相关的功能,能够满足处理量大、响应时间高的场合。CPU运行时需要微存储卡(MMC)。1.紧凑型CPU(2/2) CPU
15、313C-2DP:带有集成的数字量输入和输出,以及PROFIBUS DP主/从接口,并具有与过程相关的功能,可以完成具有特殊功能的任务,可以连接标准I/O设备。CPU运行时需要微存储卡MMC。 CPU 314C-2PtP:带有集成的数字量和模拟量I/O及一个RS422/485串口,并具有与过程相关的功能,能够满足对处理能力和响应时间要求较高的场合。CPU运行时需要微存储卡MMC。 CPU 314C-2DP:带有集成的数字量和模拟量的输入和输出,以及PROFIBUS DP主/从接口,并具有与过程相关的功能,可以完成具有特殊功能的任务,可以连接单独的I/O设备。CPU运行时需要微存储卡MMC。2.
16、标准型CPU CPU 313:具有扩展程序存储区的低成本的CPU,比较适用于需要高速处理的小型设备。 CPU 314:可以进行高速处理以及中等规模的I/O配置,用于安装中等规模的程序以及中等指令执行速度的程序。 CPU 315:具有中到大容量程序存储器,比较适用于大规模的I/O配置。 CPU 315-2DP:具有中到大容量程序存储器和PROFIBUS DP主/接口,比较适用于大规模的I/O配置或建立分布式I/O系统。 CPU 316-2DP:具有大容量程序存储器和PROFIBUS DP主/从接,可进行大规模的I/O配置,比较适用于具有分布式或集中式I/O配置的工厂应用。3.革新型CPU(1/2
17、) CPU 312(新型):是一款全集成自动化(TIA)的CPU,比较适用于对处理速度中等要求的小规模应用。CPU运行时需要微存储卡MMC。 CPU 314(新型):对二进制和浮点数运算具有较高的处理性能,比较适用于对程序量中等要求的应用。CPU运行时需要微存储卡MMC。 CPU 315-2DP(新型):具有中、大规模的程序存储容量和数据结构,如果需要可以使用SIMATIC功能工具;对二进制和浮点数运算具有较高的处理性能;具有PROFIBUS DP主/从接口。可用于大规模的I/O配置或建立分布式I/O结构。CPU运行时需要微存储卡MMC。3.革新型CPU(2/2) CPU 317-2DP:具有
18、大容量程序存储器,可用于要求很高的应用;能够满足系列化机床、特殊机床以及车间应用的多任务自动化系统;与集中式I/O和分布式I/O一起,可用作生产线上的中央控制器;对二进制和浮点数运算具有较高的处理能力;具有PROFIBUS DP主/从接口,可用于大规模的I/O配置,可用于建立分布式I/O结构;可选用SIMATIC工程工具,能够在基于组件的自动化中实现分布式智能系统。CPU运 行 时 需 要 微存储卡MMC。 CPU 318-2DP:具有大容量程序存储器和PROFIBUS DP主/从接口,可进行大规模的I/O配置,比较适用于分布式I/O结构。4.户外型CPU CPU 312 IFM:具有紧凑式结
19、构的户外型产品。内部带有集成的数字量I/O,具有特殊功能和特殊功能的特殊输入。比较适用于恶劣环境下的小系统。 CPU 314 IFM:具有紧凑式结构的户外型产品。内部带有集成的数字量I/O,并具有扩展的特殊功能,具有特殊功能和特殊功能的特殊输入。比较适用于恶劣环境下且对响应时间和特殊功能有较高要求的系统。 CPU 314(户外型):具有高速处理时间和中等规模I/O配置的CPU。比较适用于恶劣环境下,要求中等规模的程序量和中等规模的指令执行时间的系统。 5.故障安全型CPU(1/3) CPU 315F:基于SIMATIC CPU S7-300C,集成有PROFIBUS DP主/从接口,可以组态为
20、一个故障安全型系统,满足安全运行的需要。使用带有PROFIBUS协议的PROFIBUS DP可实现与安全 相 关 的 通 讯 ;C P U运 行 时 需 要 微 存 储 卡M M C。5.故障安全型CPU(2/3) CPU 315F-2DP:基于SIMATIC CPU 315-2DP,集成有一个MPI接口、一个DP/MPI接口,可以组态为一个故障安全型自动化系统,满足安全运行的需要。使用带有PROFIsafe协议的PROFIBUS DP可实现与安全无关的通讯;标准模块的集中式和分 布 式 使 用 , 可 满 足 与 故 障 安 全 无 关 的 应 用 。CPU运行时需要微存储卡MMC。5.故障
21、安全型CPU(3/3) CPU 317F-2DP:具有大容量程序存储器、一个PROFIBUS DP主/从接口、一个DP主/从MPI接口,两个接口可用于集成故障安全模块,可以组态为一个故障安全型自动化系统,可满足安全运行的需要。可以与故障安全型ET200M I/O模块进行集中式和分布式连接;与故障安全型ET200S PROFIsafe I/O模块可进行分布式连接;标准模块的集中式和分布式使用,可满足与故 障 安 全 无 关 的 应 用 。C P U运 行 时 需 要 微 存 储 卡MMC。6.特种型CPU(1/2) CPU 317T-2DP:除具有CPU 317-2DP的全部功能外,增加了智能技
22、术/运动控制功能,能够满足系列化机床、特殊机床以及车间应用的多任务自动化系统,特别适用于同步运动序列(如与虚拟/实际主设备的耦合、减速器同步、凸轮盘或印刷点修正等);增加了本机I/O,可实现快速技术功能(如凸轮切换、参考点探测等);增加了PROFBUS DP(DRIVE)接口,可用来实现驱动部件的等时连接。与集中式I/O和分布式I/O一起,可用作生产线上的中央控制器;在PROFIBUS DP上,可实现基于组件的自动化分布式智能系统。 6.特种型CPU(2/2) CPU 317-2 PN/DP:具有大容量程序存储器,可用于要求很高的应用;能够在PROFInet上实现基于组件的自动化分布式智能系统
23、;借助PROFInet代理,可用于基于部件的自动化(CBA)中的PROFIBUS DP智能设备;借助集成的PROFInet I/O控制器,可用在PROFInet上运行分布式I/O;能够满足系列化机床、特殊机床以及车间应用的多任务自动化系统;与集中式I/O和分布式I/O一起,可用作生产线上的中央控制器;可用于大 规 模 的I / O配 置 、 建 立 分 布 式I / O结 构 ; 对 二 进制和浮点数运算具有较高的处理能力;组合了MPI/PROFIBUS DP主/从接口;可选用SIMATIC工程工具。CPU运行时需要微存储卡MMC。 2.2.2 S7-300 CPU模块操作 R RU UN N
24、- -P P:可可编编程程运运行行模模式式。在在此此模模式式下下,C CP PU U不不仅仅可可以以执执行行用用户户程程序序,在在运运行行的的同同时时,还还可可以以通通过过编编程程设设备备(如如装装有有STEP 7STEP 7的的PGPG、装有、装有STEP 7STEP 7的计算机等)读的计算机等)读出、修改、监控用户程序出、修改、监控用户程序。 RUNRUN:运行模式。在此模式下,:运行模式。在此模式下,CPUCPU执执行用户程序,还可以通过编程设备读出、行用户程序,还可以通过编程设备读出、监控用户程序,但不能修改用户程序。监控用户程序,但不能修改用户程序。1.1.模式选择开关模式选择开关(
25、1/1)(1/1) S ST TO OP P:停停机机模模式式。在在此此模模式式下下,C CP PU U不不执执行行用用户户程程序序,但但可可以以通通过过编编程程设设备备(如如装装有有S ST TE EP P 7 7的的P PG G、装装有有S ST TE EP P 7 7的的计计算算机机等等)从从C CP PU U中中读读出出或或修修改改用用户户程程序序。在在此此位位置置可可以以拔拔出出钥钥匙。匙。 M MR RE ES S:存存储储器器复复位位模模式式。该该位位置置不不能能保保持持,当当开开关关在在此此位位置置释释放放时时将将自自动动返返回回到到S ST TO OP P位位置置。将将钥钥匙
26、匙从从S ST TO OP P模模式式切切换换到到M MR RE ES S模模式式时时,可可复复位位存存储储器器,使使C CP PU U回回到到初始状态。初始状态。1.1.模式选择开关模式选择开关(2/2)(2/2)2.2.状态及故障显示状态及故障显示(1/2)(1/2) SFSF(红色红色):系统出错):系统出错/ /故障指示灯。故障指示灯。CPUCPU硬件或软硬件或软件错误时亮。件错误时亮。 B BA AT TF F(红红色色):电电池池故故障障指指示示灯灯(只只有有C CP PU U3 31 13 3和和3 31 14 4配配备)。当电池失效或未装入时,指示灯亮。备)。当电池失效或未装入
27、时,指示灯亮。 D DC C5 5V V(绿绿色色):5 5V V电电源源指指示示灯灯。C CP PU U和和S S7 7- -3 30 00 0总总线线的的5 5V V电源正常时亮。电源正常时亮。 F FR RC CE E(黄黄色色):强强制制作作业业有有效效指指示示灯灯。至至少少有有一一个个I I/ /O O被被强制状态时亮。强制状态时亮。 R RU UN N(绿绿色色):运运行行状状态态指指示示灯灯。C CP PU U处处于于“R RU UN N”状状态态时时亮亮;L LE ED D在在“S St ta ar rt tu up p”状状态态以以2 2H Hz z频频率率闪闪烁烁;在在“H
28、 HO OL LD D”状状态态以以0.5Hz0.5Hz频率闪烁。频率闪烁。2.2.状态及故障显示状态及故障显示(2/2)(2/2) STOPSTOP(黄色黄色):停止状态指示灯。):停止状态指示灯。CPUCPU处于处于“STOP”STOP”或或“HOLD”HOLD”或或“Startup”Startup”状态时亮;在存储器复位时状态时亮;在存储器复位时LEDLED以以0.50.5HzHz频率闪烁;在存储器置位时频率闪烁;在存储器置位时LEDLED以以2Hz2Hz频率闪烁。频率闪烁。 B BU US S D DF F(B BF F)(红红色色):总总线线出出错错指指示示灯灯(只只适适用用于于带带
29、有有DPDP接口的接口的CPUCPU)。出错时亮。)。出错时亮。 S SF F D DP P:D DP P接接口口错错误误指指示示灯灯(只只适适用用于于带带有有D DP P接接口口的的CPUCPU)。当)。当DPDP接口故障时亮。接口故障时亮。 2.3.1 数字量信号模块 2.3.2 模拟量信号模块 2.3.3 传感器与AI的连接 2.3.4 热敏电阻与AI的连接 2.3.5 热电偶与AI的连接 2.3.6 电压输出型模块的连接 2.3.7 电流输出型模块的连接2.3 信号模块 (SM)2.3.1 数字量信号模块SM321数字量输入模块(DI)SM322数字量输出模块(DO)SM323/SM3
30、27数字量输入/输出模块(DI/DO)SM374仿真模块直流直流3232点数字量输入模块的内部电路及外部端子接线图点数字量输入模块的内部电路及外部端子接线图 1.1.数字量输入模块数字量输入模块(DI)(DI)(1/2)(1/2)交流交流3232点数字量输入模块的内部电路及外部端子接线图点数字量输入模块的内部电路及外部端子接线图 1.1.数字量输入模块数字量输入模块(DI)(DI)(2/2)(2/2)3232点数字量点数字量晶体管输出晶体管输出模块的内部电路及外部端子接线图模块的内部电路及外部端子接线图2.2.数字量输出模块数字量输出模块(DO)(DO)(1/3)(1/3)3232点数字量点数
31、字量晶闸管输出晶闸管输出模块的内部电路及外部端子接线图模块的内部电路及外部端子接线图2.2.数字量输出模块数字量输出模块(DO)(DO)(2/3)(2/3)1616点数字量点数字量继电器输出继电器输出模块的内部电路及外部端子接线图模块的内部电路及外部端子接线图 2.2.数字量输出模块数字量输出模块(DO)(DO)(3/3)(3/3)SM323 DI 16/DO 1624 VDC/0.5ASM323 DI 16/DO 1624 VDC/0.5A内部电路及外部端子接线图内部电路及外部端子接线图 3.3.数字量输入数字量输入/ /输出模块输出模块(DI/DO)(DI/DO)(1/2)(1/2)SM3
32、27 DI 8/DX 8SM327 DI 8/DX 8内部电路及外部端子接线图内部电路及外部端子接线图 3.3.数字量输入数字量输入/ /输出模块输出模块(DI/DO)(DI/DO)(2/2)(2/2)2.3.2 模拟量信号模块SM331模拟量输入模块(AI)SM332模拟量输出模块(AO)SM334模拟量输入/输出模块(AI/AO)AI 813AI 813位模拟量输入模块位模拟量输入模块1.1.模拟量输入模块模拟量输入模块(AI)(AI)AO 412AO 412位模拟量输出模块位模拟量输出模块2.2.模拟量输出模块模拟量输出模块(AO)(AO)SM334 AI 4/AO 28/8BitSM3
33、34 AI 4/AO 28/8Bit的模拟量输入的模拟量输入/ /输出模块输出模块3.3.模拟量输入模拟量输入/ /输出模块输出模块(AI/AO)(AI/AO)2.3.3 传感器与AI的连接隔离传感器连接带隔离的AI隔离传感器连接不带隔离的AI非隔离的传感器连接带隔离的AI非隔离的传感器连接不带隔离的AI连接电压传感器至带隔离的AI连接2线变送器至带隔离的AI连接从L+供电的2线变送器至带隔离的AI连接4线变送器至带隔离的AI1.1.隔离传感器连接带隔离的隔离传感器连接带隔离的AI AI 2.2.隔离传感器连接不带隔离的隔离传感器连接不带隔离的AIAI3.3.非隔离的传感器连接带隔离的非隔离的
34、传感器连接带隔离的AIAI4.4.非隔离的传感器连接不带隔离的非隔离的传感器连接不带隔离的AIAI5.5.连接电压传感器至带隔离的连接电压传感器至带隔离的AIAI6.6.连接连接2 2线变送器至带隔离的线变送器至带隔离的AIAI7.7.连接从连接从L+L+供电的供电的2 2线变送器至带隔离的线变送器至带隔离的AIAI8.8.连接连接4 4线变送器至带隔离的线变送器至带隔离的AIAI2.3.4 热敏电阻与AI的连接热敏电阻与隔离AI之间的2线连接热敏电阻与隔离AI之间的3线连接热敏电阻与AI8RTD之间的3线连接热敏电阻与隔离AI之间的4线连接热敏电阻与AI813位之间的2线连接热敏电阻与AI8
35、13位之间的3线连接热敏电阻与AI813位之间的4线连接1.1.热敏电阻与隔离热敏电阻与隔离AIAI之间的之间的2 2线连接线连接2.2.热敏电阻与隔离热敏电阻与隔离AIAI之间的之间的3 3线连接线连接3.3.热敏电阻与热敏电阻与AI8RTDAI8RTD之间的之间的3 3线连接线连接4.4.热敏电阻与隔离热敏电阻与隔离AIAI之间的之间的4 4线连接线连接5.5.热敏电阻与热敏电阻与AI813AI813位之间的位之间的2 2线连接线连接6.6.热敏电阻与热敏电阻与AI813AI813位之间的位之间的3 3线连接线连接7.7.热敏电阻与热敏电阻与AI813AI813位之间的位之间的4 4线连接
36、线连接2.3.5 热电偶与AI的连接使用内部补偿的热电偶连接带隔离的AI通过补偿盒将热电偶连接到带隔离的AI通过参考结将热电偶连接到AI8xTC使用热敏电阻连接带外部补偿的热电偶1.1.使用内部补偿的热电偶连接带隔离的使用内部补偿的热电偶连接带隔离的AIAI2.2.通过补偿盒将热电偶连接到带隔离的通过补偿盒将热电偶连接到带隔离的AIAI2.3.6 电压输出型模块的连接电压输出型隔离模块的4线制连接电压输出型非隔离模块的2线制连接1.1.电压输出型隔离模块的电压输出型隔离模块的4 4线制连接线制连接2.2.电压输出型非隔离模块的电压输出型非隔离模块的2 2线制连接线制连接2.3.7 电流输出型模
37、块的连接电流输出型隔离模块的2线制连接电流输出型非隔离模块的2线制连接1.1.电流输出型隔离模块的电流输出型隔离模块的2 2线制连接线制连接2.2.电流输出型非隔离模块的电流输出型非隔离模块的2 2线制连接线制连接lPS 305户外型电源模块 采用直流供电,输出为24V直流。 lPS307标准电源模块 PS307(2A)PS307(5A)PS307(10A) 2.4 电源模块 (PS)PS 305 2A365-0BA01-0AA0X234PS3075ADC5VVOLTAGESELECTORONOFF50mmPS 307 5A307-1BA00-0AA0PS3075AX234DC5VVOLTAG
38、ESELECTORONOFF80mm307-1BA00-0AA0PS3075AX234DC5VVOLTAGESELECTORONOFFPS 307 10A200mmPS 307 2A307-1BA00-0AA0PS3075AX234DC5VVOLTAGESELECTORONOFF80mml双机架接口模块IM365 IM365发送模块IM365接收模块。 l多机架接口模块 IM360:用于发送数据 IM361:用于接收数据2.5 接口模块(IM) 360-3CA01-0AA0IM360X234SFDC5V360-3CA01-0AA0IM360X234SFDC5V365-0BA01-0AA0IM3
39、65RECEIVEX234365-0BA01-0AA0IM365RECEIVEX234l通信处理器模块(CP)CP340:用于点对点连接的通讯模板CP341:用于点对点连接的通讯模板CP343-1:用于连接工业以太网的通讯模板CP343-2:用于AS接口的通讯模板CP342-5:用于PROFIBUSDP的通讯模板CP343-5:用于连接PROFIBUSFMS的通讯模板2.6 其他模块(IM) l特殊功能模块(FM)FM350-1,FM350-2计数器模板FM351用于快速/慢速驱动的定位模板FM353用于步进电机的定位模板FM354用于侍服电机的定位模板FM357-2定位和连续通道控制模板SM
40、338超声波位置探测模板SM338SSI位置探测模板FM352电子凸轮控制器FM352-5高速布尔运算处理器FM355PID模板FM355-2温度PID控制模板2.7 SIMATIC S7-300的硬件组态 S7-300S7-300机架安装形式机架安装形式单机架组态单机架组态多机架组态多机架组态S7-300S7-300数字量模块地址的确定数字量模块地址的确定S7-300S7-300模拟量模块地址的确定模拟量模块地址的确定S7-300S7-300数字量模块位地址的确定数字量模块位地址的确定1.S7-3001.S7-300机架安装形式机架安装形式 2.单机架组态 3.多机架组态 4.S7-300数
41、字量模块地址的确定 5.S7-300模拟量模块地址的确定 6.S7-300数字量模块位地址的确定 第三章使用第三章使用STEP7创建工程创建工程第3章 使用使用STEP7创建工程创建工程3.1 STEP 7软件安装3.2 SIMATIC管理器3.3 STEP 7快速入门3.4 下载和调试程序 3.1 STEP 7软件安装3.1.1 STEP 7操作系统需求3.1.2 STEP 7硬件需求3.1.3 STEP 7的安装3.1.1 STEP 7操作系统需求 或或PG740PC能运行Windows 2000或Windows XP的PG或PC机:CPU主频至少为600MHz;内存至少为256MB;硬盘
42、剩余空间在600MB以上;具备CD-ROM驱动器和软盘驱动器;显示器支持32位、1024768分辨率;具有PC适配器、CP5611或MPI接口卡。3.1.2 STEP 7硬件需求 选择安装语言及安装程序选择安装语言及安装程序 3.1.3 STEP 7的安装(1/8) 自定义安装方式自定义安装方式 3.1.3 STEP 7的安装(2/8) 提示安装授权提示安装授权 3.1.3 STEP 7的安装(3/8) PG/PC接口设置接口设置 存储卡参数设置存储卡参数设置 3.1.3 STEP 7的安装(4/8) 授权管理授权管理 安装完成后,在安装完成后,在Windows的开始菜单中找到的开始菜单中找到
43、【SIMATIC】【License Management】【Automation License Manager】,启动,启动Automation License Manager 。 3.1.3 STEP 7的安装(5/8) 已经安装的已经安装的STEP7软件软件 3.1.3 STEP 7的安装(6/8) 已经授权的已经授权的STEP7软件软件 3.1.3 STEP 7的安装(7/8) STEP7硬件目录更新设置硬件目录更新设置 3.1.3 STEP 7的安装(8/8) 3.2 SIMATIC管理器启动SIMATIC管理器SIMATIC管理器界面STEP 7项目结构SIMATIC 管理器自定义
44、选项设置PG/PC接口设置1.启动SIMATIC管理器启动SIMATIC管理器2.SIMATIC管理器界面3. STEP 7项目结构l 第第1层:项目层:项目 项目代表了自动化解决方案中的所有数据和项目代表了自动化解决方案中的所有数据和程序的整体,它位于对象体系的最上层。程序的整体,它位于对象体系的最上层。l 第第2层:子网、站层:子网、站 SIMATIC 300/400站用于存放硬件组站用于存放硬件组态和模块参数等信息,站是组态硬件的起点。态和模块参数等信息,站是组态硬件的起点。l 第第3层和其他层:与上一层对象类型有关。层和其他层:与上一层对象类型有关。 4. SIMATIC 管理器自定义
45、选项设置(1/2)设置常规选项设置常规选项4. SIMATIC 管理器自定义选项设置(2/2)设置语言设置语言设置选项设置选项启动设置界面启动设置界面5. PG/PC接口设置(1/3) 设置接口属性设置接口属性5. PG/PC接口设置(2/3)5. PG/PC接口设置(3/3)安装安装/ /卸载接口卸载接口3.3 STEP 7快速入门3.3.1 设计流程3.3.2 简单设计示例3.3.1 设计流程3.3.2 简单设计示例:电动机起停控制PLC端子接线图使用向导创建STEP 7项目手动创建STEP 7项目插入S7-300工作站硬件组态编辑符号表程序编辑窗口在OB1中编辑LAD程序在OB1中编辑S
46、TL程序在OB1中编辑FBD程序传统继电器控制电路传统继电器控制电路1.PLC端子接线PLC端子接线图端子接线图2.使用项目向导创建STEP 7项目(1/4)项目向导项目向导1/4项目向导项目向导2/42.使用项目向导创建STEP 7项目(2/4)2.使用项目向导创建STEP 7项目(3/4)项目向导项目向导3、42.使用项目向导创建STEP 7项目(4/4)完成项目创建,项目名:完成项目创建,项目名:My_Prj13.手动创建STEP 7项目(1/2)新建项目窗口新建项目窗口3.手动创建STEP 7项目(2/2)所创建的项目,项目名:所创建的项目,项目名:My_Prj24.插入S7-300工
47、作站在在My_Prj2项目内插入项目内插入S7-300工作站:工作站:SIMATIC 300(1)5.硬件组态(1/6) 硬件组态窗口硬件组态窗口5.硬件组态(2/6)插入插入0号导轨:号导轨:(0)UR5.硬件组态(3/6)插入各种插入各种S7-300模块模块5.硬件组态(4/6)设置设置CPU属性属性5.硬件组态(5/6)设置数字量模块属性设置数字量模块属性5.硬件组态(6/6)编译硬件组态(编译硬件组态(完成后的窗口完成后的窗口)系统自动创建系统自动创建程序文件夹程序文件夹包含一个包含一个循环组织块循环组织块OB16.编辑符号表(1/2)方法方法1 1:从从LAD/STL/FBDLAD/
48、STL/FBD编辑器打开符号表编辑器打开符号表6.编辑符号表(2/2)方法方法2 2:从从SIMATICSIMATIC管理器打开符号表管理器打开符号表7.程序编辑窗口8.在OB1中编辑LAD程序(1/2)设置组织块(设置组织块(OBOB)属性为)属性为LADLAD方式方式8.在OB1中编辑LAD程序(2/2)编写梯形图(编写梯形图(LADLAD)程序)程序9.在OB1中编辑STL程序编写语句表(编写语句表(STLSTL)程序)程序10.在OB1中编辑FBD程序编写功能块图(编写功能块图(FBDFBD)程序)程序3.4下载和调试程序 为为了了测测试试前前面面我我们们所所完完成成的的P PL LC
49、 C设设计计项项目目,必必须须将将程程序序和和模模块块信信息息下下载载到到P PL LC C的的C CP PU U模模块块。要要实实现现编编程程设设备备与与P PL LC C之之间间的的数数据据传传送送,首首先先应应正正确确安安装装P PL LC C硬硬件件模模块块,然然后后用用编编程程电电缆缆(如如U US SB B- -M MP PI I电电缆缆、P PR RO OF FI IB BU US S总总线线电电缆缆)将将P PL LC C与与P PG G/ /P PC C连连接接起起来,并打开来,并打开PS307PS307电源开关。电源开关。下载程序及模块信息下载程序及模块信息1.下载程序及模
50、块信息(1/2)具体步骤具体步骤如下:如下: 启动启动SIMATIC ManagerSIMATIC Manager,并打开,并打开My_prj2My_prj2项目;项目; 单击仿真工具按钮单击仿真工具按钮 ,启动,启动S7-PLCSIMS7-PLCSIM仿真程序;仿真程序; 将将CPUCPU工作模式开关切换到工作模式开关切换到STOPSTOP模式;模式; 在项目窗口内选中要下载的工作站在项目窗口内选中要下载的工作站 ; 执行菜单命令执行菜单命令【PLCPLC】【DownloadDownload】,或单击鼠标,或单击鼠标右键执行快捷菜单命令右键执行快捷菜单命令【PLCPLC】【DownloadD
51、ownload】将整个将整个S7-S7-300300站下载到站下载到PLCPLC。1.下载程序及模块信息(2/2)启动仿真工具启动仿真工具S7-PLCSIMS7-PLCSIM第第4 4章章 S7-300S7-300编程语言学习编程语言学习第第4 4章章 S7-300编程语言学习编程语言学习4.1 STEP 74.1 STEP 7编程语言编程语言4.2 4.2 数据类型数据类型4.3 S7-3004.3 S7-300指令基础指令基础4.4 4.4 位逻辑指令位逻辑指令4.5 4.5 定时器与计数器指令定时器与计数器指令4.6 4.6 数字指令数字指令4.7 4.7 控制指令控制指令4.1STEP
52、7编程语言 S ST TE EP P 7 7是是S S7 7- -3 30 00 0/ /4 40 00 0系系列列P PL LC C应应用用设设计计软软件件包包,所所支支持持的的P PL LC C编编程程语语言言非非常常丰丰富富。该该软软件件的的标标准准版版支支持持S ST TL L(语语句句表表)、L LA AD D(梯梯形形图图)及及F FB BD D(功功能能块块图图)3 3种种基基本本编编程程语语言言,并并且且在在S ST TE EP P 7 7中中可可以以相相互互转转换换。专专业业版版附附加加对对G GR RA AP PH H(顺顺序序功功能能图图)、S SC CL L(结结构构化
53、化控控制制语语言言)、H Hi iG Gr ra ap ph h(图图形形编编程程语语言言)、C CF FC C(连连续续功功能能图图)等等编编程程语语言言的的支支持持。不不同同的的编编程程语语言言可可供供不同知识背景的人员采用。不同知识背景的人员采用。STL(语句表) STLSTL(语句表)是一种类似于计算机汇编语言的一种(语句表)是一种类似于计算机汇编语言的一种文本编程语言文本编程语言,由多条语句组成一个程序段。语句表可供,由多条语句组成一个程序段。语句表可供习惯汇编语言的用户使用,在运行时间和要求的存储空间习惯汇编语言的用户使用,在运行时间和要求的存储空间方面最优。在设计通信、数学运算等
54、高级应用程序时建议方面最优。在设计通信、数学运算等高级应用程序时建议使用语句表。使用语句表。 LAD(梯形图) LADLAD(梯形图)是一种图形语言,比较形象直观,容(梯形图)是一种图形语言,比较形象直观,容易掌握,用得最多,堪称用户易掌握,用得最多,堪称用户第一编程语言第一编程语言。梯形图与继。梯形图与继电器控制电路图的表达方式极为相似,适合于熟悉继电器电器控制电路图的表达方式极为相似,适合于熟悉继电器控制电路的用户使用,特别适用于数字量逻辑控制。控制电路的用户使用,特别适用于数字量逻辑控制。 FBD(功能块图) FBDFBD(功能块图)使用类似于布尔代数的图形(功能块图)使用类似于布尔代数
55、的图形逻辑符逻辑符号号来表示控制逻辑,一些复杂的功能用指令框表示。来表示控制逻辑,一些复杂的功能用指令框表示。FBDFBD比较适合于有数字电路基础的编程人员使用。比较适合于有数字电路基础的编程人员使用。 GRAPH(顺序控制) G GR RA AP PH H类类似似于于解解决决问问题题的的流流程程图图,适适用用于于顺顺序序控控 制制 的的 编编 程程 。 利利 用用S S7 7- -G GR RA AP PH H编编程程语语言言,可可以以清清楚楚快快速速地地组组织织和和编编写写S S7 7 P PL LC C系系统统的的顺顺序序控控制制程程序序。它它根根据据功功能能将将控控制制任任务务分分解解
56、为为若若干干步步,其其顺顺序序用用图图形形方方式式显显示示出出来来并并且且可可形形成成 图图 形形 和和 文文 本本 方方 式式 的的文件。文件。 HiGraph(图形编程语言) S7-HigraphS7-Higraph允许用允许用状态图描述生产过程,状态图描述生产过程,将自动控制下的机器或将自动控制下的机器或系统分成若干个功能单系统分成若干个功能单元,并为每个单元生成元,并为每个单元生成状态图,然后利用信息状态图,然后利用信息通讯将功能单元组合在通讯将功能单元组合在一起形成完整的系统。一起形成完整的系统。 lSCL(结构化控制语言) S S7 7- -S SC CL L( S St tr r
57、u uc ct tu ur re ed d C Co on nt tr ro ol l L La an ng gu ua ag ge e:结结构构控控制制语语言言)是是一一种种类类似似于于P PA AS SC CA AL L的的高高级级文文本本编编辑辑语语言言,用用于于S S7 7- -3 30 00 0/ /4 40 00 0和和C C7 7的的编编程程,可可以以简简化化数数学学计计算算、数数据据管管理理和和组组织织工工作作。S S7 7- -S SC CL L具具有有P PL LC C公公开开的的基基本本标标准准认认证证,符符合合 I IE EC C 1 11 13 31 1- -3 3
58、( (结结 构构 化化 文文本本) )标准。标准。 4.2数据类型 数据类型决定数据的属性,在数据类型决定数据的属性,在STEP 7STEP 7中,数据类中,数据类型分为三大类:型分为三大类:4.2.1 4.2.1 基本数据类型基本数据类型4.2.2 4.2.2 复杂数据类型复杂数据类型4.2.3 4.2.3 参数类型参数类型4.2.1 基本数据类型 4.2.2 复杂数据类型数组(数组(ARRAYARRAY)结构(结构(STRUCTSTRUCT) 字符串(字符串(STRINGSTRING)日期和时间(日期和时间(DATE_AND_TIMEDATE_AND_TIME)用户定义的数据类型用户定义的
59、数据类型(UDT)(UDT)功能块类型(功能块类型(FBFB、SFBSFB)1.数组(ARRAY) 数组是由一组同一类型的数据组合在一起而形成的复数组是由一组同一类型的数据组合在一起而形成的复杂数据类型。数组的维数最大可以到杂数据类型。数组的维数最大可以到6 6维;数组中的元素维;数组中的元素可以是基本数据类型或者复杂数据类型中的任一数据类型可以是基本数据类型或者复杂数据类型中的任一数据类型(ArrayArray类型除外,即数组类型不可以嵌套);数组中每类型除外,即数组类型不可以嵌套);数组中每一维的下标取值范围是一维的下标取值范围是-32768-327683276732767,要求下标的下限
60、,要求下标的下限必须小于下标的上限。必须小于下标的上限。 2.2.结构(结构(STRUCTSTRUCT) 结结构构是是由由一一组组不不同同类类型型(结结构构的的元元素素可可以以是是基基本本的的或或复复杂杂的的数数据据类类型型)的的数数据据组组合合在在一一起起而而形形成成的的复复杂杂数数据据类类型型。结结构构通通常常用用来来定定义义一一组组相相关关的的数数据据,例例如如电电机机的的一一组组数据可以按如下方式定义:数据可以按如下方式定义: 3.3.字符串(字符串(STRINGSTRING) 字符串是最多有字符串是最多有254254个字符(个字符(CHARCHAR)的一维数组,最)的一维数组,最大长
61、度为大长度为256256个字节(其中前两个字节用来存储字符串的个字节(其中前两个字节用来存储字符串的长度信息)。字符串常量用单引号括起来,例如:长度信息)。字符串常量用单引号括起来,例如: 4.4.日期和时间(日期和时间(DATE_AND_TIMEDATE_AND_TIME) 用用于于存存储储年年、月月、日日、时时、分分、秒秒、毫毫秒秒和和星星期期,占占用用8 8个个字字节节,用用B BC CD D格格式式保保存存。星星期期天天的的代代码码为为1 1,1 16 6的的代码为代码为2 27 7。例如:。例如: 5.5.用户定义的数据类型用户定义的数据类型(UDT)(UDT) 用户定义数据类型表示
62、自定义的结构,存放在用户定义数据类型表示自定义的结构,存放在UDTUDT块块中(中(UDT1UDT1UDT65535UDT65535),在另一个数据类型中作为一个数),在另一个数据类型中作为一个数据类型据类型“模板模板”。当输入数据块时,如果需要输入几个相。当输入数据块时,如果需要输入几个相同的结构,利用同的结构,利用UDTUDT可以节省输入时间。可以节省输入时间。 6.6.功能块类型(功能块类型(FBFB、SFBSFB) 这种数据类型仅可以在这种数据类型仅可以在FBFB的静态变量区定义,用于实的静态变量区定义,用于实现多背景现多背景DBDB。 4.2.3 参数数据类型 参参数数类类型型是是一
63、一种种用用于于逻逻辑辑块块(F FB B、F FC C)之之间间传传递递参参数数的数据类型,主要有以下几种:的数据类型,主要有以下几种: ( (1 1) )T TI IM ME ER R( 定定 时时 器器 ) 和和C CO OU UN NT TE ER R( 计计 数数 器器 ) 。 ( (2 2) )B BL LO OC CK K(块块):指指定定一一个个块块用用作作输输入入和和输输出出,实实参应为同类型的块。参应为同类型的块。 ( (3 3) )P PO OI IN NT TE ER R(指指针针):6 6字字节节指指针针类类型型,用用来来传传递递D DB B的块号和数据地址。的块号和数
64、据地址。 ( (3 3) )A AN NY Y:1 10 0字字节节指指针针类类型型,用用来来传传递递D DB B块块号号、数数据据地址、数据数量以及数据类型。地址、数据数量以及数据类型。 4.3 S7-300指令基础 指令是程序的最小独立单位,用户程序是由若干条顺指令是程序的最小独立单位,用户程序是由若干条顺序排列的指令构成。指令一般由操作码和操作数组成,其序排列的指令构成。指令一般由操作码和操作数组成,其中的操作码代表指令所要完成的具体操作(功能),操作中的操作码代表指令所要完成的具体操作(功能),操作数则是该指令操作或运算的对象。数则是该指令操作或运算的对象。4.3.1 4.3.1 PL
65、CPLC用户存储区的分类及功能用户存储区的分类及功能 4.3.2 4.3.2 指令操作数指令操作数 4.3.3 4.3.3 寻址方式寻址方式 4.3.4 4.3.4 状态字状态字 4.3.1 PLC4.3.1 PLC用户存储区的分类及功能用户存储区的分类及功能(1/2)(1/2) 4.3.1 PLC4.3.1 PLC用户存储区的分类及功能用户存储区的分类及功能(2/2)(2/2) 4.3.2 4.3.2 指令操作数指令操作数 指令操作数指令操作数(又称编程元件)一般在用户存储区中,操(又称编程元件)一般在用户存储区中,操作数由操作标识符和参数组成。操作标识符由主标识符和辅作数由操作标识符和参数
66、组成。操作标识符由主标识符和辅助标识符组成,主标识符用来指定操作数所使用的存储区类助标识符组成,主标识符用来指定操作数所使用的存储区类型,辅助标识符则用来指定操作数的单位(如:位、字节、型,辅助标识符则用来指定操作数的单位(如:位、字节、字、双字等)。字、双字等)。 主标识符主标识符有:有:I I(输入过程映像寄存器、(输入过程映像寄存器、Q Q(输出过程映(输出过程映像寄存器)、像寄存器)、M M(位存储器)、(位存储器)、PIPI(外部输入寄存器)、(外部输入寄存器)、PQPQ(外部输出寄存器)、(外部输出寄存器)、T T(定时器)、(定时器)、C C(计数器)、(计数器)、DBDB(数(
67、数据块寄存器)和据块寄存器)和L L(本地数据寄存器);(本地数据寄存器); 辅助标识符辅助标识符有:有:X X(位)、(位)、B B(字节)、(字节)、W W(字或(字或2B2B)、)、D D(2DW2DW或或4B4B)。)。 4.3.3 4.3.3 寻址方式寻址方式 所谓寻址方式就是指令执行时获取操作数的方式,可以所谓寻址方式就是指令执行时获取操作数的方式,可以直接或间接方式给出操作数。直接或间接方式给出操作数。S7-300S7-300有有4 4种寻址方式:种寻址方式:立即寻址立即寻址存储器直接寻址存储器直接寻址存储器间接寻址存储器间接寻址寄存器间接寻址寄存器间接寻址 1.1.立即立即寻址
68、寻址 立即寻址是对立即寻址是对常数常数或或常量常量的寻址方式,其特点是操作数的寻址方式,其特点是操作数直接表示在指令中,或以惟一形式隐含在指令中。下面各条直接表示在指令中,或以惟一形式隐含在指令中。下面各条指令操作数均采用了立即寻址方式,其中指令操作数均采用了立即寻址方式,其中“/”/”后面的内容后面的内容为指令的注释部分,对指令没有任何影响。为指令的注释部分,对指令没有任何影响。 2.2.存储器直接存储器直接寻址寻址 存存储储器器直直接接寻寻址址,简简称称直直接接寻寻址址。该该寻寻址址方方式式在在指指令令中中直直接接给给出出操操作作数数的的存存储储单单元元地地址址。存存储储单单元元地地址址可
69、可用用符符号号地地址址(如如S SB B1 1、K KM M等等)或或绝绝对对地地址址(如如I I0 0. .0 0、Q Q4 4. .1 1等等)。下下面面各各条指令操作数均采用了直接寻址方式。条指令操作数均采用了直接寻址方式。 3.3.存储器间接寻址存储器间接寻址(1/3)(1/3) 存存储储器器间间接接寻寻址址,简简称称间间接接寻寻址址。该该寻寻址址方方式式在在指指令令中中以以存存储储器器的的形形式式给给出出操操作作数数所所在在存存储储器器单单元元的的地地址址,也也就就是是说说该该存存储储器器的的内内容容是是操操作作数数所所在在存存储储器器单单元元的的地地址址。该该存存储储器器一一般般称
70、称为为地地址址指指针针,在在指指令令中中需需写写在在方方括括号号“ ”内内。地地址址指指针针可可以以是是字字或或双双字字,对对于于地地址址范范围围小小于于6 65 55 53 35 5的的存存储储器器可可以以用字指针;对于其他存储器则要使用双字指针。用字指针;对于其他存储器则要使用双字指针。4.4.存储器间接寻址存储器间接寻址(2/3)(2/3)【例例4-3-14-3-1】 存储器间接寻址的单字格式的指针寻址。存储器间接寻址的单字格式的指针寻址。 4.4.存储器间接寻址存储器间接寻址(3/3)(3/3) 存储器间接寻址的双字指针的格式如图所示。存储器间接寻址的双字指针的格式如图所示。【例例4-
71、3-24-3-2】 存储器间接寻址的双字格式的指针寻址。存储器间接寻址的双字格式的指针寻址。 5.5.寄存器间接寻址寄存器间接寻址(1/4)(1/4) 寄存器间接寻址,简称寄存器间接寻址,简称寄存器寻址寄存器寻址。该寻址方式在指令。该寻址方式在指令中通过地址寄存器和偏移量间接获取操作数,其中的地址寄中通过地址寄存器和偏移量间接获取操作数,其中的地址寄存器及偏移量必须写在方括号存器及偏移量必须写在方括号“”内。在内。在S7-300S7-300中有两个中有两个地址寄存器地址寄存器AR1AR1和和AR2AR2,用地址寄存器的内容加上偏移量形成,用地址寄存器的内容加上偏移量形成地址指针,并指向操作数所
72、在的存储器单元。地址寄存器的地址指针,并指向操作数所在的存储器单元。地址寄存器的地址指针有两种格式,其长度均为双字,地址指针有两种格式,其长度均为双字,指针格式指针格式如图所示。如图所示。 5.5.寄存器间接寻址寄存器间接寻址(2/4)(2/4) 第第一一种种地地址址指指针针格格式式适适用用于于在在确确定定的的存存储储区区内内寻寻址址,即即区内寄存器间接寻址。区内寄存器间接寻址。 【例例4-3-34-3-3】 区内寄存器间接寻址。区内寄存器间接寻址。5.5.寄存器间接寻址寄存器间接寻址(3/4)(3/4) 第第二二种种地地址址指指针针格格式式适适用用于于区区域域间间寄寄存存器器间间接接寻寻址址
73、。 【例例4-3-44-3-4】 区域间寄存器间接寻址。区域间寄存器间接寻址。5.5.寄存器间接寻址寄存器间接寻址(4/4)(4/4) 第第一一种种地地址址指指针针格格式式包包括括被被寻寻址址数数据据所所在在存存储储单单元元地地址址的的字字节节编编号号和和位位编编号号,至至于于对对哪哪个个存存储储区区寻寻址址,则则必必须须在在指指令令中中明明确确给给出出。这这种种格格式式适适用用于于在在确确定定的的存存储储区区内内寻寻址址,即即区内寄存器间接寻址。区内寄存器间接寻址。 第第二二种种地地址址指指针针格格式式包包含含了了数数据据所所在在存存储储区区的的说说明明位位(存存储储区区域域标标识识位位),
74、可可通通过过改改变变标标识识位位实实现现跨跨区区域域寻寻址址,区区域域标标识识由由位位2 26 62 24 4确确定定。这这种种指指针针格格式式适适用用于于区区域域间间寄寄存存器间接寻址器间接寻址。4.4 位逻辑指令 位逻辑指令处理的对象为二进制位信号。位逻辑指令位逻辑指令处理的对象为二进制位信号。位逻辑指令扫描信号状态扫描信号状态“1”1”和和“0”0”位,并根据布尔逻辑对它们进位,并根据布尔逻辑对它们进行组合,所产生的结果(行组合,所产生的结果(“1”1”或或“0”0”)称为逻辑运算结)称为逻辑运算结果,存储在状态字的果,存储在状态字的“RLORLO”中。中。 4.4.1 4.4.1 触点
75、与线圈触点与线圈 4.4.2 4.4.2 基本逻辑指令基本逻辑指令 4.4.3 4.4.3 置位和复位指令置位和复位指令 4.4.4 RS4.4.4 RS和和SRSR触发器触发器 4.4.5 4.4.5 跳变沿检测指令跳变沿检测指令 4.4.1 4.4.1 触点与线圈触点与线圈 在在L LA AD D(梯梯形形图图)程程序序中中,通通常常使使用用类类似似继继电电器器控控制制电电路路中中的的触触点点符符号号及及线线圈圈符符号号来来表表示示P PL LC C的的位位元元件件,被被扫扫描描的的操操作作数数(用用绝绝对对地地址址或或符符号号地地址址表表示示)则则标标注注在在触触点点符符号号的的上上方,
76、如图所示。方,如图所示。 1.1.常开触点常开触点 对对于于常常开开触触点点(动动合合触触点点),则则对对“1 1”扫扫描描相相应应操操作作数数。在在P PL LC C中中规规定定:若若操操作作数数是是“1 1”则则常常开开触触点点“动动作作”,即即认认为为是是“闭闭合合”的的;若若操操作作数数是是“0 0”,则则常常开开触触点点“复复位位”,即即触触点点仍仍处处于打开的状态。于打开的状态。 常开触点所使用的操作数是:常开触点所使用的操作数是:I I、Q Q、M M、L L、D D、T T、C C。 2.2.常闭触点常闭触点 常闭触点(动断触点)则对常闭触点(动断触点)则对“0”0”扫描相应操
77、作数。在扫描相应操作数。在PLCPLC中规定:若操作数是中规定:若操作数是“1”1”则常闭触点则常闭触点“动作动作”,即触点,即触点“断开断开”;若操作数是;若操作数是“0”0”,则常闭触点,则常闭触点“复位复位”,即触点,即触点仍保持闭合。仍保持闭合。 常闭触点所使用的操作数是:常闭触点所使用的操作数是:I I、Q Q、M M、L L、D D、T T、C C。3.3.输出线圈(赋值指令)输出线圈(赋值指令) 输输出出线线圈圈与与继继电电器器控控制制电电路路中中的的线线圈圈一一样样,如如果果有有电电流流(信信号号流流)流流过过线线圈圈(R RL LO O= =“1 1”),则则被被驱驱动动的的
78、操操作作数数置置“1 1”;如如果果没没有有电电流流流流过过线线圈圈(R RL LO O= =“0 0”),则则被被驱驱动动的的操操作作数数复复位位(置置“0 0”)。输输出出线线圈圈只只能能出出现现在在梯梯形形图图逻逻辑辑串串的的最最右右边。边。 输输出出线线圈圈等等同同于于S ST TL L程程序序中中的的赋赋值值指指令令(用用等等于于号号“= =”表表示),所使用的操作数可以是:示),所使用的操作数可以是:Q Q、M M、L L、D D。 4.4.中间输出中间输出 在在梯梯形形图图设设计计时时,如如果果一一个个逻逻辑辑串串很很长长不不便便于于编编辑辑时时,可可以以将将逻逻辑辑串串分分成成
79、几几个个段段,前前一一段段的的逻逻辑辑运运算算结结果果(R RL LO O)可可作作为为中中间间输输出出,存存储储在在位位存存储储器器(I I、Q Q、M M、L L或或D D)中中,该该存存储储位位可可以以当当作作一一个个触触点点出出现现在在其其他他逻逻辑辑串串中中。中中间间输输出出只只能能放放在在梯梯形形图图逻逻辑辑串串的的中中间间,而而不不能能出出现现在在最最左左端或最右端。端或最右端。 与下面程序等效与下面程序等效4.4.2 4.4.2 基本逻辑指令基本逻辑指令 基本逻辑指令包括:基本逻辑指令包括:“与与”指令指令“与非与非”指令指令“或或”指令指令“或非或非”指令指令“异或异或”指令
80、指令“异或非异或非”指令指令逻辑块的操作逻辑块的操作信号流取反指令信号流取反指令 1.1.逻辑逻辑“与与” ” 指令指令 逻逻辑辑“与与” 指指令令使使用用的的操操作作数数可可以以是是:I I、Q Q、M M、L L、D D、T T、C C。有有2 2种种指指令令形形式式(S ST TL L和和F FB BD D),用用L LA AD D也也可可以以实实现现逻逻辑辑“与与” ” 运算。运算。2.2.逻辑逻辑 “ “与非与非”指令指令 逻逻辑辑 “与与非非”指指令令使使用用的的操操作作数数可可以以是是:I I、Q Q、M M、L L、D D、T T、C C。有有2 2种种指指令令形形式式(S S
81、T TL L和和F FB BD D),用用L LA AD D也也可可以以实实现现逻逻辑辑 “ “与非与非”运算。运算。3.3.逻辑逻辑 “ “或或”指令指令 逻逻辑辑 “或或”指指令令使使用用的的操操作作数数可可以以是是:I I、Q Q、M M、L L、D D、T T、C C。有有2 2种种指指令令形形式式(S ST TL L和和F FB BD D),用用L LA AD D也也可可以以实实现现逻逻辑辑 “ “或或”运算。运算。4.4.逻辑逻辑 “ “或非或非”指令指令 逻逻辑辑 “或或非非”指指令令使使用用的的操操作作数数可可以以是是:I I、Q Q、M M、L L、D D、T T、C C。有
82、有2 2种种指指令令形形式式(S ST TL L和和F FB BD D),用用L LA AD D也也可可以以实实现现逻逻辑辑 “ “或非或非”运算。运算。5.5.逻辑逻辑 “ “异或异或”指令指令 6.6.逻辑逻辑 “ “异或非异或非”指令指令 7.7.逻辑块的操作逻辑块的操作 8.8.信号流取反指令信号流取反指令 信信号号流流取取反反指指令令的的作作用用就就是是对对逻逻辑辑串串的的R RL LO O值值进进行行取取反反。指指令令格格式式及及示示例例见见表表4 4- -1 13 3。当当输输入入位位I I0 0. .0 0和和I I0 0. .1 1同同时时动动作作时时,Q Q4 4. .0
83、0信信号号状状态态为为“0 0”;否否则则,Q Q4 4. .0 0信信号号状状态态为为“1 1”。 4.4.3 4.4.3 置位和复位指令置位和复位指令 置置位位(S S)和和复复位位(R R)指指令令根根据据R RL LO O的的值值来来决决定定操操作作数数的的信信号号状状态态是是否否改改变变,对对于于置置位位指指令令,一一旦旦R RL LO O为为“1 1”,则则操操作作数数的的状状态态置置“1 1”,即即使使R RL LO O又又变变为为“0 0”,输输出出仍仍保保持持为为“1 1”;若若R RL LO O为为“0 0”,则则操操作作数数的的信信号号状状态态保保持持不不变变。对对于于复
84、复位位操操作作,一一旦旦R RL LO O为为“1 1”,则则操操作作数数的的状状态态置置“0 0”,即即使使R RL LO O又又变变为为“0 0”,输输出出仍仍保保持持为为“0 0”;若若R RL LO O为为“0 0”,则则操操作作数数的的信信号号状状态态保保持持不不变变。这这一一特特性性又又被被称称为为静静态态的的置置位位和和复复位位,相相应应地地,赋赋值值指指令被称为动态赋值。令被称为动态赋值。4.4.4 RS4.4.4 RS和和SRSR触发器触发器 lR RS S触触发发器器为为“置置位位优优先先”型型触触发发器器(当当R R和和S S驱驱动动信信号号同同时为时为“1”1”时,触发
85、器最终为置位状态);时,触发器最终为置位状态);lS SR R触触发发器器为为“复复位位优优先先”型型触触发发器器(当当R R和和S S驱驱动动信信号号同同时时为为“1”1”时,触发器最终为复位状态)。时,触发器最终为复位状态)。 R RS S触触发发器器和和S SR R触触发发器器的的“位位地地址址”、置置位位(S S)、复复(S S)及输出(及输出(Q Q)所使用的操作数可以是:)所使用的操作数可以是:I I、Q Q、M M、L L、D D。 1.RS1.RS触发器触发器 2.SR2.SR触发器触发器 3.RS3.RS触发器和触发器和SRSR触发器的工作时序触发器的工作时序示例梯形图程序示
86、例梯形图程序工作时序工作时序 4.4.5 4.4.5 跳变沿检测指令跳变沿检测指令 S ST TE EP P 7 7中中有有2 2类类跳跳变变沿沿检检测测指指令令,一一种种是是对对R RL LO O的的跳跳变变沿沿检检测测的的指指令令,另另一一种种是是对对触触点点的的跳跳变变沿沿直直接接检检测测的的梯梯形形图图方方块块指指令。令。RLORLO上升沿检测指令上升沿检测指令 RLORLO下降沿检测指令下降沿检测指令触点信号上升沿检测指令触点信号上升沿检测指令 触点信号下降沿检测指令触点信号下降沿检测指令【例例4-4-24-4-2】 边沿检测指令的应用边沿检测指令的应用1.RLO1.RLO上升沿检测
87、指令上升沿检测指令 2.RLO2.RLO下降沿检测指令下降沿检测指令 3.RLO3.RLO边沿检测指令的工作时序边沿检测指令的工作时序工作时序工作时序 示例程序示例程序 4.4.触点信号上升沿检测指令触点信号上升沿检测指令 5.5.触点信号下降沿检测指令触点信号下降沿检测指令 6.6.触点信号边沿检测指令的工作时序触点信号边沿检测指令的工作时序工作时序工作时序 示例程序示例程序 4.5定时器与计数器指令4.5.1 4.5.1 定时器指令定时器指令 4.5.2 4.5.2 计数器指令计数器指令 4.5.3 CPU4.5.3 CPU时钟存储器时钟存储器 4.5.1定时器指令S_PULSE(脉冲(脉
88、冲S5定时器)定时器) S_PEXT(扩展脉冲(扩展脉冲S5定时器)定时器) S_ODT(接通延时(接通延时S5定时器)定时器) S_ODTS(保持型接通延时(保持型接通延时S5定时器)定时器) S_OFFDT(断电延时(断电延时S5定时器)定时器) 1. S_PULSE1. S_PULSE(脉冲(脉冲S5S5定时器)定时器)(1/3)(1/3) 脉冲定时器的梯形图及功能块图指令脉冲定时器的梯形图及功能块图指令 1. S_PULSE1. S_PULSE(脉冲(脉冲S5S5定时器)定时器)(2/3)(2/3) 脉冲定时器的线圈指令脉冲定时器的线圈指令 1. S_PULSE1. S_PULSE(脉
89、冲(脉冲S5S5定时器)定时器)(3/3)(3/3) 工作时序工作时序 示例程序示例程序 【例例4-5-14-5-1】 脉冲定时器应用:优先抢答器设计。脉冲定时器应用:优先抢答器设计。 【例例4-5-14-5-1】 设计说明:设计说明: 参参赛赛者者要要抢抢答答主主持持人人所所提提问问题题时时,需需抢抢先先按按下下桌桌上上的的按按钮钮;指指示示灯灯亮亮后后需需待待主主持持人人按按下下“复复位位”键键R R后后才才熄熄灯灯;对对初初中中班班学学生生照照顾顾,只只要要按按下下S SB B1 11 1和和S SB B1 12 2中中任任一一个个按按钮钮灯灯H HL L1 1都都亮亮;对对高高三三班班
90、学学生生限限制制,只只有有S SB B3 31 1和和S SB B3 32 2都都按按下下时时灯灯H HL L3 3才才亮亮;若若在在主主持持人人按按下下“开开始始”按按钮钮S S后后1 10 0s s内内有有抢抢答答按按钮钮压压下下,则则电电磁磁铁铁Y YC C得得电电,使使彩彩球球摇摇动动,以以示示竞竞赛赛者者得得到到一一次次幸幸运运的的机机会会;如如果果定定时时到到仍仍未未有有抢抢答答,则则禁禁止止继继续续抢答。抢答。 端子接线图端子接线图 【例例4-5-1】I/OI/O地址分配表地址分配表【例例4-5-1】控制程序:控制程序:建立允许抢答和禁止抢答标志建立允许抢答和禁止抢答标志 【例例
91、4-5-1】设置抢答定时器设置抢答定时器 【例例4-5-1】初中组抢答控制初中组抢答控制 【例例4-5-1】高一组抢答控制高一组抢答控制 高三组抢答控制高三组抢答控制 2. S_PEXT2. S_PEXT(扩展脉冲(扩展脉冲S5S5定时器)定时器)(1/3)(1/3) 扩据脉冲扩据脉冲S5S5定时器定时器LADLAD及及FBDFBD指令指令 2. S_PEXT2. S_PEXT(扩展脉冲(扩展脉冲S5S5定时器)定时器)(2/3)(2/3) 扩据脉冲扩据脉冲S5S5定时器线圈指令定时器线圈指令 2. S_PEXT2. S_PEXT(扩展脉冲(扩展脉冲S5S5定时器)定时器)(3/3)(3/3)
92、 示例程序示例程序 工作波形工作波形 【例例4-5-24-5-2】 扩展脉冲定时器应用扩展脉冲定时器应用电动机延时自动电动机延时自动关闭控制。关闭控制。 控控制制要要求求:按按动动起起动动按按钮钮S S1 1(I I0 0. .0 0),电电动动机机M M(Q Q4 4. .0 0)立立即即起起动动,延延时时5 5分分钟钟以以后后自自动动关关闭闭。起起动动后后按按动动停停止止按按钮钮S2S2(I0.1I0.1),电动机立即停机。),电动机立即停机。 【例例4-5-2】控制程序(控制程序(LADLAD) 控制程序(控制程序(STLSTL) 3. S_ODT3. S_ODT(接通延时(接通延时S5
93、S5定时器)定时器)(1/3)(1/3) 接通延时接通延时S5S5定时器定时器LADLAD及及FBDFBD指令指令 3. S_ODT3. S_ODT(接通延时(接通延时S5S5定时器)定时器)(2/3)(2/3) 接通延时接通延时S5S5定时器线圈指令定时器线圈指令 3. S_ODT3. S_ODT(接通延时(接通延时S5S5定时器)定时器)(3/3)(3/3) 示例程序示例程序 工作波形工作波形 【例例4-5-34-5-3】 接通延时定时器和脉冲定时器应用接通延时定时器和脉冲定时器应用用定时器构成一脉冲发生器,当满足一定条件时,能够用定时器构成一脉冲发生器,当满足一定条件时,能够输出一定频率
94、和一定占空比的脉冲信号。输出一定频率和一定占空比的脉冲信号。 工艺要求工艺要求:当按钮:当按钮S1S1(I0.0I0.0)按下时,输出指示灯)按下时,输出指示灯H1H1(Q4.0Q4.0)以灭)以灭2s2s,亮,亮1s1s规律交替进行。规律交替进行。 【例例4-5-34-5-3】控制程序控制程序(使用(使用接通延时定时器接通延时定时器) 控制程序控制程序(使用(使用脉冲定时器脉冲定时器) 4. S_ODTS4. S_ODTS(保持型接通延时(保持型接通延时S5S5定时器)定时器)(1/3)(1/3) 保持型接通延时保持型接通延时S5S5定时器定时器LADLAD及及FBDFBD指令指令 4. S
95、_ODTS4. S_ODTS(保持型接通延时(保持型接通延时S5S5定时器)定时器)(2/3)(2/3) 保持型接通延时保持型接通延时S5S5定时器线圈指令定时器线圈指令 4. S_ODTS4. S_ODTS(保持型接通延时(保持型接通延时S5S5定时器)定时器)(3/3)(3/3) 示例程序示例程序 工作波形工作波形 5. S_OFFDT5. S_OFFDT(断电延时(断电延时S5S5定时器)定时器)(1/3)(1/3) 断电延时断电延时S5S5定时器定时器LADLAD及及FBDFBD指令指令 5. S_OFFDT5. S_OFFDT(断电延时(断电延时S5S5定时器)定时器)(2/3)(2
96、/3) 断电延时断电延时S5S5定时器线圈指令定时器线圈指令 5. S_OFFDT5. S_OFFDT(断电延时(断电延时S5S5定时器)定时器)(3/3)(3/3) 示例程序示例程序 工作波形工作波形 4.5.2计数器指令 S7-300S7-300的计数器都是的计数器都是1616位的,因此每个计数器占用该位的,因此每个计数器占用该区域区域2 2个字节空间,用来存储计数值。不同的个字节空间,用来存储计数值。不同的CPUCPU模板,用模板,用于计数器的存储区域也不同,最多允许使用于计数器的存储区域也不同,最多允许使用6464512512个计个计数器。计数器的地址编号:数器。计数器的地址编号:C0
97、C0C511C511。 S_CUDS_CUD(加(加/ /减计数器)减计数器)S_CUS_CU(加计数器)(加计数器) S_CDS_CD(减计数器)(减计数器)计数器线圈指令计数器线圈指令1. S_CUD1. S_CUD(加(加/ /减计数器)块图指令减计数器)块图指令 2. S_CU2. S_CU(加计数器)块图指令(加计数器)块图指令 3. S_CD3. S_CD(减计数器)块图指令(减计数器)块图指令 4. 4. 计数器的线圈指令计数器的线圈指令 除了前面介绍的块图形式的计数器指令以外,除了前面介绍的块图形式的计数器指令以外,S7-300S7-300系统还为用户准备了系统还为用户准备了L
98、ADLAD环境下的线圈形式的计数器。这些环境下的线圈形式的计数器。这些指令有计数器初值预置指令指令有计数器初值预置指令SCSC、加计数器指令、加计数器指令CUCU和减计数和减计数器指令器指令CDCD。 l加计数器加计数器线圈线圈指令应用示例指令应用示例 初值预置初值预置SCSC指令若与指令若与CUCU指令配合可实现指令配合可实现S_CUS_CU指令的指令的功能。功能。 l减计数器减计数器线圈线圈指令应用示例指令应用示例 SCSC指令若与指令若与CDCD指令配合指令配合可实现可实现S_CDS_CD指令的功能。指令的功能。 l加加/减计数器减计数器线圈线圈指令应用示例指令应用示例 SCSC指令若与
99、指令若与CUCU和和CDCD配合可实现配合可实现S_CUDS_CUD的功能。的功能。4.5.3访问CPU的时钟存储器 要要使使用用该该功功能能,在在硬硬件件配配置置时时需需要要设设置置C CP PU U的的属属性性,其其中中有有一一 个个 选选 项项 为为C Cl lo oc ck k M Me em mo or ry y,选选中中选选择择框框就就可可激激 活活 该该 功功 能能 。 设置CPU的时钟存储器 在在M Me em mo or ry y B By yt te e区区域域输输入入想想为为该该项项功功能能设设置置的的M MB B的的地地址址,如如需需要要使使用用M MB B1 10 0
100、,则则直直接接输输入入1 10 0。C Cl lo oc ck k M Me em mo or ry y的的功功能能是是对对所所定定义义的的M MB B的的各各个个位位周周期期性性地地改改变变其其二二进进制制的的值值(占占空空比比 为为1 1: :1 1) 。C Cl lo oc ck k M Me em mo or ry y的的 各各 位位 的的 周周 期期 及及 频频 率率 见见表。表。 【例例4-5-54-5-5】 时钟存储器与计数器的应用。时钟存储器与计数器的应用。 当定时器不够用时,可以将计数器扩展为定时器。图当定时器不够用时,可以将计数器扩展为定时器。图中分别给出了用减计数器扩展定
101、时器的控制程序,程序中中分别给出了用减计数器扩展定时器的控制程序,程序中使用了使用了CPUCPU的时钟存储器,设置的时钟存储器,设置MB10MB10为时钟存储器,由表为时钟存储器,由表4-4-3939可知可知M10.0M10.0的变化周期为的变化周期为0.1s0.1s。 4.6数字指令4.6.1 4.6.1 装入与传送指令装入与传送指令4.6.2 4.6.2 转换指令转换指令4.6.3 4.6.3 比较指令比较指令4.6.4 4.6.4 算数运算指令算数运算指令4.6.5 4.6.5 字逻辑运算指令字逻辑运算指令4.6.6 4.6.6 移位指令移位指令4.6.7 4.6.7 数字指令综合应用数
102、字指令综合应用 4.6.1装入和传送指令 装入指令(装入指令(L L)和传送指令()和传送指令(T T),可以对输入或输出),可以对输入或输出模块与存储区之间的信息交换进行编程。模块与存储区之间的信息交换进行编程。对累加器对累加器1 1的装入指令的装入指令对累加器对累加器1 1的传送指令的传送指令 状态字与累加器状态字与累加器1 1之间的装入和传送指令之间的装入和传送指令 与地址寄存器有关的装入和传送指令与地址寄存器有关的装入和传送指令 LCLC(定时器(定时器/ /计数器装载指令)计数器装载指令) MOVEMOVE指令指令 1.对累加器1的装入指令2.对累加器1的传送指令 T T指指令令可可
103、以以将将累累加加器器1 1的的内内容容复复制制到到被被寻寻址址的的操操作作数数,所所复复制制的的字字节节数数取取决决于于目目标标地地址址的的类类型型(字字节节、字字或或双字),指令格式如下:双字),指令格式如下:T T操作数操作数其中的操作数可以为直接其中的操作数可以为直接I/OI/O区(存储类型为区(存储类型为PQPQ)、数据)、数据存储区或过程映像输出表的相应地址(存储类型为存储区或过程映像输出表的相应地址(存储类型为Q Q)。)。 3.状态字与累加器1之间的装入和传送指令L STWL STW(将状态字装入累加器(将状态字装入累加器1 1) 将状态字装入累加器将状态字装入累加器1 1中,指
104、令的执行与状态位无关,中,指令的执行与状态位无关,而且对状态字没有任何影响。指令格式如下:而且对状态字没有任何影响。指令格式如下:L LSTWSTWT STWT STW(将累加器(将累加器1 1的内容传送到状态字)的内容传送到状态字) 使用使用T STWT STW指令可以将累加器指令可以将累加器1 1的位的位0 08 8传送到状态字传送到状态字的相应位,指令的执行与状态位无关,指令格式如下:的相应位,指令的执行与状态位无关,指令格式如下:T TSTWSTW4.与地址寄存器有关的装入和传送指令(1/4) LAR1LAR1(将操作数的内容装入地址寄存器(将操作数的内容装入地址寄存器AR1AR1)
105、4.与地址寄存器有关的装入和传送指令(2/4) LAR2LAR2(将操作数的内容装入地址寄存器(将操作数的内容装入地址寄存器2 2) 使使用用L LA AR R2 2指指令令可可以以将将操操作作数数的的内内容容(3 32 2位位指指针针)装装入入地地址址寄寄存存器器A AR R2 2,指指令令格格式式同同L LA AR R1 1,其其中中的的操操作作数数可可以以是是累累加加器器1 1、指指针针型型常常数数(P P# #)、存存储储双双字字(M MD D)、本本地地数数据据双双字字(L LD D)、数数据据双双字字(D DB BD D)或或背背景景数数据据双双字字(D DI ID D),但但不能
106、用不能用AR1AR1。 4.与地址寄存器有关的装入和传送指令(3/4) TAR1TAR1(将地址寄存器(将地址寄存器1 1的内容传送到操作数)的内容传送到操作数) 4.与地址寄存器有关的装入和传送指令(4/4) TAR2TAR2(将地址寄存器(将地址寄存器2 2的内容传送到操作数)的内容传送到操作数) 使使用用T TA AR R2 2指指令令可可以以将将地地址址寄寄存存器器A AR R1 1的的内内容容(3 32 2位位指指针针)传传送送给给被被寻寻址址的的操操作作数数,指指令令格格式式同同T TA AR R1 1。其其中中的的操操作作数数可可以以是是累累加加器器1 1、存存储储双双字字(M
107、MD D)、本本地地数数据据双双字字(L LD D)、数数 据据 双双 字字 (D DB BD D) 、 背背 景景 数数 据据 双双 字字 (D DI ID D) , 但但 不不能用能用AR1AR1。CARCAR(交换地址寄存器(交换地址寄存器1 1和地址寄存器和地址寄存器2 2的内容)的内容) 使使用用C CA AR R指指令令可可以以交交换换地地址址寄寄存存器器A AR R1 1和和地地址址寄寄存存器器A AR R2 2的的内内容容,指指令令不不需需要要指指定定操操作作数数。指指令令的的执执行行与与状状态态位位无无关,而且对状态字没有任何影响。关,而且对状态字没有任何影响。 5. LC(
108、定时器/计数器装载指令 使用使用LCLC指令可以在累加器指令可以在累加器1 1的内容保存到累加器的内容保存到累加器2 2中之中之后,将指定定时器字中当前时间值和时基以后,将指定定时器字中当前时间值和时基以BCDBCD码(码(0 0999999)格式装入到累加器)格式装入到累加器1 1中,或将指定计数器的当前计数中,或将指定计数器的当前计数值以值以BCDBCD码(码(0 0999999)格式装入到累加器)格式装入到累加器1 1中。指令格式如中。指令格式如下:下:LCLC 6. MOVE指令 MOVEMOVE指令为功能框形式的传送指令,能够复制字节、指令为功能框形式的传送指令,能够复制字节、字或双
109、字数据对象。应用中字或双字数据对象。应用中ININ和和OUTOUT端操作数可以是常数、端操作数可以是常数、I I、Q Q、M M、D D、L L等类型,但必须在宽度上匹配。等类型,但必须在宽度上匹配。 4.6.2转换指令 转转换换指指令令是是将将累累加加器器1 1中中的的数数据据进进行行数数据据类类型型转转换换,转转换换结结果果仍仍放放在在累累加加器器1 1中中。在在S ST TE EP P 7 7中中,可可以以实实现现B BC CD D码码与与整整数数、整整数数与与长长整整数数、长长整整数数与与实实数数、整整数数的的反反码码、整整数的补码、实数求反等数据转换操作。数的补码、实数求反等数据转换
110、操作。BCDBCD码和整数到其他类型转换指令码和整数到其他类型转换指令 整数和实数的码型变换指令整数和实数的码型变换指令 实数取整指令实数取整指令 累加器累加器1 1调整指令调整指令 1. BCD码和整数到其他类型转换指令(1/3) STLSTL形式的指令(形式的指令(1 1)1. BCD码和整数到其他类型转换指令(2/3)STLSTL形式的指令(形式的指令(2 2)1. BCD码和整数到其他类型转换指令(3/3)LADLAD和和FBDFBD形式的指令形式的指令2.整数和实数的码型变换指令(1/2) STLSTL形式的指令形式的指令2.整数和实数的码型变换指令(2/2) LADLAD和和FBD
111、FBD形式的指令形式的指令3.实数取整指令(1/2) STLSTL形式的指令形式的指令3.实数取整指令(2/2) LADLAD和和FBDFBD形式的指令形式的指令4.累加器1调整指令 4.6.3比较指令 比比较较指指令令可可完完成成整整数数、长长整整数数或或3 32 2位位浮浮点点数数(实实数数)的的相相等等、不不等等、大大于于、小小于于、大大于于或或等等于于、小小于于或或等等于于等等比较比较 。整数比较指令整数比较指令 长整数比较指令长整数比较指令 实数比较指令实数比较指令1.整数比较指令 1.整数比较指令(示例)2.长整数比较指令 2.长整数比较指令(示例)3.实数比较指令 3.实数比较指
112、令(示例) 4.6.4算数运算指令 算算术术运运算算指指令令可可完完成成整整数数、长长整整数数及及实实数数的的加加、减减、乘乘、除除、求求余余、求求绝绝对对值值等等基基本本算算数数运运算算;以以及及3 32 2位位浮浮点点数数的的平平方方、平平方方根根、自自然然对对数数、基基于于e e的的指指数数运运算算及及三三角角函数等扩展算数运算。函数等扩展算数运算。基本算术运算指令基本算术运算指令 扩展算术运算指令扩展算术运算指令 1. 基本算数运算指令(整数运算) 1. 基本算数运算指令(长整数运算) 1. 基本算数运算指令(实数运算) 【例4-6-1】 16位整数的算术运算指令应用。 【例4-6-1
113、】 16位整数的算术运算指令应用。 【例4-6-2】求输入双字ID10的内容与常数32相除的余数,结果保存到MD20中。 2. 扩展算数运算指令4.6.5字逻辑运算指令 字字逻逻辑辑运运算算指指令令可可对对两两个个1 16 6位位 (W WO OR RD D) 或或3 32 2位位(D DW WO OR RD D)的的二二进进制制数数据据,逐逐位位进进行行逻逻辑辑与与、逻逻辑辑或或、逻逻辑异或运算。辑异或运算。 对于对于STLSTL形式的字逻辑运算指令,可对累加器形式的字逻辑运算指令,可对累加器1 1和累加和累加器器2 2中的字或双字数据进行逻辑运算,结果保存在累加器中的字或双字数据进行逻辑运
114、算,结果保存在累加器1 1中,若结果不为中,若结果不为0 0,则对状态标志位,则对状态标志位CC1CC1置置“1”1”,否则对,否则对CC1CC1置置“0”0”。 对于对于LADLAD和和FBDFBD形式的字逻辑运算指令,由参数形式的字逻辑运算指令,由参数IN1IN1和和IN2IN2提供参与运算的两个数据,运算结果保存在由提供参与运算的两个数据,运算结果保存在由OUTOUT指定指定的存储区中。的存储区中。 字逻辑运算指令格式字逻辑运算指令格式4.6.6移位指令 移移位位指指令令有有2 2种种类类型型:基基本本移移位位指指令令可可对对无无符符号号整整数数、有有符符号号长长整整数数、字字或或双双字
115、字数数据据进进行行移移位位操操作作;循循环环移移位位指指令令可可对对双双字字数数据据进进行行循循环环移移位位和和累累加加器器1 1带带C CC C1 1的的循循环环移位操作。移位操作。有符号右移指令有符号右移指令字移位指令字移位指令双字移位指令双字移位指令双字循环移位指令双字循环移位指令带累加器循环移位指令带累加器循环移位指令1.1.有符号右移指令格式有符号右移指令格式2.2.字移位指令格式字移位指令格式3.3.双字移位指令格式双字移位指令格式4.4.双字循环移位指令格式双字循环移位指令格式5.5.带累加器循环移位指令格式带累加器循环移位指令格式4.7控制指令 控制指令可控制程序的执行顺序,使
116、得控制指令可控制程序的执行顺序,使得CPUCPU能根据不能根据不同的情况执行不同的程序。控制指令有同的情况执行不同的程序。控制指令有3 3类:类:4.7.1 4.7.1 逻辑控制指令逻辑控制指令4.7.2 4.7.2 程序控制指令程序控制指令4.7.3 4.7.3 主控继电器指令主控继电器指令4.7.1逻辑控制指令 逻辑控制指令是指逻辑块内的跳转和循环指令,这些逻辑控制指令是指逻辑块内的跳转和循环指令,这些指令可以中断原有的线性程序扫描,并跳转到目标地址处指令可以中断原有的线性程序扫描,并跳转到目标地址处重新执行线性程序扫描。目标地址由跳转指令后面的标号重新执行线性程序扫描。目标地址由跳转指令
117、后面的标号指定,该地址标号指出程序要跳往何处,可向前跳转,也指定,该地址标号指出程序要跳往何处,可向前跳转,也可以向后跳转,最大跳转距离为可以向后跳转,最大跳转距离为-32768-32768或或3276732767字。字。无条件跳转指令无条件跳转指令 多分支跳转指令多分支跳转指令 条件跳转指令条件跳转指令 循环指令循环指令 1.无条件跳转指令 无条件跳转指令无条件跳转指令JUJU执行时,将直接中断当前的线性程执行时,将直接中断当前的线性程序扫描,并跳转到由指令后面的标号所指定的目标地址处序扫描,并跳转到由指令后面的标号所指定的目标地址处重新执行线性程序扫描。重新执行线性程序扫描。 【例例4-7
118、-14-7-1】 无条件跳转指令的使用。无条件跳转指令的使用。 当程序执行到无条件跳转指令时,将直接跳转到当程序执行到无条件跳转指令时,将直接跳转到L1L1处处执行。执行。 2.多分支跳转指令 多分支跳转指令多分支跳转指令JLJL的指令格式如下:的指令格式如下:JL JL 如如果果累累加加器器1 1低低字字中中低低字字节节的的内内容容小小于于J JL L指指令令和和由由J JL L指指令令所所指指定定的的标标号号之之间间的的J JU U指指令令的的数数量量,J JL L指指令令就就会会跳跳转转到到其其中中一一条条J JU U处处执执行行,并并由由J JU U指指令令进进一一步步跳跳转转到到目目
119、标标地地址址;如如果果累累加加器器1 1低低字字中中低低字字节节的的内内容容为为0 0,则则直直接接执执行行J JL L指指令令下下面面的的第第一一条条J JU U指指令令;如如果果累累加加器器1 1低低字字中中低低字字节节的的内内容容为为1 1,则则直直接接执执行行J JL L指指令令下下面面的的第第二二条条J JU U指指令令;如如果果跳跳转转的的目目的的地地的的数数量量太太大大,则则J JL L指指令令跳跳转转到到目目的的地地列列表表中中最后一个最后一个JUJU指令之后的第一个指令。指令之后的第一个指令。 【例例4-7-24-7-2】 多分支跳转指令的使用。多分支跳转指令的使用。 3.条
120、件跳转指令【例4-7-3】 条件跳转指令的使用。 程序示例如图4-44所示。当I0.0与I0.1同时为“1”时,则跳转到L2处执行;否则,到L1处执行(顺序执行)。 4.循环指令 循环指令的格式如下:循环指令的格式如下:LOOP LOOP 使使用用循循环环指指令令(L LO OO OP P)可可以以多多次次重重复复执执行行特特定定的的程程序序段段,由由累累加加器器1 1确确定定重重复复执执行行的的次次数数,即即以以累累加加器器1 1的的低低字字为为循循环环计计数数器器。L LO OO OP P指指令令执执行行时时,将将累累加加器器1 1低低字字中中的的值值减减1 1,如如果果不不为为0 0,则
121、则继继续续循循环环过过程程,否否则则执执行行L LO OO OP P指指令令后后面面的的指指令令。循循环环体体是是指指循循环环标标号号和和L LO OO OP P指指令令间间的的程程序序段段。 【例例4-7-44-7-4】 循环指令的使用。循环指令的使用。 利用循环指令可以完成有规律的重复计算过程,下面利用循环指令可以完成有规律的重复计算过程,下面是求阶乘是求阶乘“8 8!”的示例程序:的示例程序: 4.7.2程序控制指令 程序控制指令是指功能块(程序控制指令是指功能块(FBFB、FCFC、SFBSFB、SFCSFC)调用)调用指令和逻辑块指令和逻辑块(OB(OB,FBFB,FC)FC)结束指
122、令。调用块或结束块可结束指令。调用块或结束块可以是有条件的或是无条件的。以是有条件的或是无条件的。基本控制指令基本控制指令子程序调用指令子程序调用指令 CALLCALL指令可以调用用户编写的功能块或操作系统提供指令可以调用用户编写的功能块或操作系统提供的功能块,的功能块,CALLCALL指令的操作数是功能块类型及其编号,当指令的操作数是功能块类型及其编号,当调用的功能块是调用的功能块是FBFB块时还要提供相应的背景数据块块时还要提供相应的背景数据块DBDB。使。使用用CALLCALL指令可以为被调用功能块中的形参赋以实际参数,指令可以为被调用功能块中的形参赋以实际参数,调用时应保证实参与形参的
123、数据类型一致。调用时应保证实参与形参的数据类型一致。 1. 1. 基本控制指令基本控制指令2. 2. 子程序调用指令子程序调用指令4.7.3主控继电器指令 主控继电器(主控继电器(MCRMCR)是一种继电器梯形图逻辑的主开)是一种继电器梯形图逻辑的主开关,用于控制电流(能流)的通断。关,用于控制电流(能流)的通断。第第5 5章章 S7S7程序结构与程序设计程序结构与程序设计 5.15.1 S7 CPU S7 CPU中的程序中的程序5.25.2 数据块中的数据存储数据块中的数据存储 5.35.3 逻辑块(逻辑块(FCFC和和FBFB)的结构及编程)的结构及编程 5.45.4 编辑并调用无参功能(
124、编辑并调用无参功能(FCFC)分部程序设计分部程序设计5.55.5 编辑并调用有参功能(编辑并调用有参功能(FCFC)结构化程序设计结构化程序设计5.65.6 编辑并调用无静态参数的功能块(编辑并调用无静态参数的功能块(FBFB)5.75.7 编辑并调用有静态参数的功能块(编辑并调用有静态参数的功能块(FBFB)5.85.8 使用多重背景使用多重背景结构化程序设计结构化程序设计5.1 S7 CPU中的程序中的程序 5.1.1 5.1.1 用户程序中的块结构用户程序中的块结构5.1.2 5.1.2 用户程序结构用户程序结构5.1.3 I/O5.1.3 I/O过程映像过程映像5.1.4 5.1.4
125、 程序循环执行程序循环执行5.1.1 5.1.1 用户程序中的块结构用户程序中的块结构 5.1.2 用户程序结构用户程序结构 线性程序(线性编程)线性程序(线性编程)分部式程序(分部编程、分块编程)分部式程序(分部编程、分块编程) 结构化程序(结构化编程或模块化编程)结构化程序(结构化编程或模块化编程) 1. 线性程序(线性编程)线性程序(线性编程) 所谓线性程序结构,就是将整个用户程序连续放置在一所谓线性程序结构,就是将整个用户程序连续放置在一个循环程序块(个循环程序块(OB1OB1)中,块中的程序按顺序执行,)中,块中的程序按顺序执行,CPUCPU通过通过反复执行反复执行OB1OB1来实现
126、自动化控制任务。这种结构和来实现自动化控制任务。这种结构和PLCPLC所代替所代替的硬接线继电器控制类似,的硬接线继电器控制类似,CPUCPU逐条地处理指令。事实上所逐条地处理指令。事实上所有的程序都可以用线性结构实现,不过,线性结构有的程序都可以用线性结构实现,不过,线性结构一般适用于相对简单的程序编写。一般适用于相对简单的程序编写。2.2.分部式程序(分部编程、分块编程)分部式程序(分部编程、分块编程) 所所谓谓分分部部程程序序,就就是是将将整整个个程程序序按按任任务务分分成成若若干干个个部部分分,并并分分别别放放置置在在不不同同的的功功能能(F FC C)、功功能能块块(F FB B)及
127、及组组织织块块中中,在在 一一 个个 块块 中中 可可 以以 进进 一一 步步 分分 解解 成成 段段 。 在在 组组 织织 块块O OB B1 1中中包含按顺序调用其他块的指令,并控制程序执行。包含按顺序调用其他块的指令,并控制程序执行。 在在分分部部程程序序中中,既既无无数数据据交交换换,也也不不存存在在重重复复利利用用的的程程序序代代码码。功功能能(F FC C)和和功功能能块块(F FB B)不不传传递递也也不不接接收收参参数数,分分部部程程序序结结构构的的编编程程效效率率比比线线性性程程序序有有所所提提高高,程程序序测测试试也也较较方方便便,对对程程序序员员的的要要求求也也不不太太高
128、高。对对不不太太复复杂杂的的控制程序可考虑采用这种程序结构。控制程序可考虑采用这种程序结构。 3. 3. 结构化程序(结构化编程或模块化编程)结构化程序(结构化编程或模块化编程) 所所谓谓结结构构化化程程序序,就就是是处处理理复复杂杂自自动动化化控控制制任任务务的的过过程程中中,为为了了使使任任务务更更易易于于控控制制,常常把把过过程程要要求求类类似似或或相相关关的的功功能能进进行行分分类类,分分割割为为可可用用于于几几个个任任务务的的通通用用解解决决方方案案的的小小任任务务,这这些些小小任任务务以以相相应应的的程程序序段段表表示示,称称为为块块(F FC C或或F FB B)。O OB B1
129、 1通通 过过 调调 用用 这这 些些 程程 序序 块块 来来 完完 成成 整整 个个 自自 动动 化化 控控 制制 任任务。务。 结结构构化化程程序序的的特特点点是是每每个个块块(F FC C或或F FB B)在在O OB B1 1中中可可能能会会被被多多次次调调用用,以以完完成成具具有有相相同同过过程程工工艺艺要要求求的的不不同同控控制制对对象象。这这种种结结构构可可简简化化程程序序设设计计过过程程、减减小小代代码码长长度度、提提高高编程效率,比较适合于较复杂自动化控制任务的设计。编程效率,比较适合于较复杂自动化控制任务的设计。5.1.3 I/O5.1.3 I/O过程映像过程映像 5.1.
130、4 5.1.4 程序循环执行程序循环执行 5.2 5.2 数据块中的数据存储数据块中的数据存储 5.2.1 数据存储区数据存储区5.2.2 数据块数据块5.2.3 数据块的数据结构数据块的数据结构5.2.4 建立数据块建立数据块5.2.5 访问数据块访问数据块5.2.1 5.2.1 数据存储区数据存储区 数数据据以以用用户户程程序序变变量量的的形形式式存存储储,且且具具有有唯唯一一性性。数数据据可可以以存存储储在在输输入入过过程程映映像像存存储储器器(P PI II I)、输输出出过过程程映映像像存存储储器器(P PI IQ Q)、位位存存储储器器(M M)、局局部部数数据据堆堆栈栈(L L堆
131、堆栈栈)及及数数据据块块(D DB B)中中。可可以以采采用用基基本本数数据据类类型型、复复杂杂数数据据类类型或参数类型。型或参数类型。 根根据据访访问问方方式式的的不不同同,这这些些数数据据可可以以在在全全局局符符号号表表或或共共享享数数据据块块中中声声明明,称称为为全全局局变变量量;也也可可以以在在O OB B、F FC C和和F FB B的的变变量量声声明明表表中中声声明明,称称为为局局部部变变量量。当当块块被被执执行行时时,变变量量将将固固定定 地地 存存 储储 在在 过过 程程 映映 像像 区区 (P PI II I或或P PI IQ Q) 、 位位 存存 储储 器器 区区(M M)
132、、数据块()、数据块(DBDB)或局部堆栈()或局部堆栈(L L)中。)中。5.2.2 5.2.2 数据块数据块 数据块定义在数据块定义在S7 CPUS7 CPU的存储器中,用户可在存储器中建的存储器中,用户可在存储器中建立一个或多个数据块。每个数据块可大可小,但立一个或多个数据块。每个数据块可大可小,但CPUCPU对数据对数据块数量及数据总量有限制。块数量及数据总量有限制。 数数据据块块(D DB B)可可用用来来存存储储用用户户程程序序中中逻逻辑辑块块的的变变量量数数据据(如如:数数值值)。与与临临时时数数据据不不同同,当当逻逻辑辑块块执执行行结结束束或或数据块关闭时,数据块中的数据保持不
133、变。数据块关闭时,数据块中的数据保持不变。 用用户户程程序序可可以以位位、字字节节、字字或或双双字字操操作作访访问问数数据据块块中中的数据,可以使用符号或绝对地址。的数据,可以使用符号或绝对地址。 1.1.数据块的分类数据块的分类 共共享享数数据据块块又又称称全全局局数数据据块块。用用于于存存储储全全局局数数据据,所所有有逻逻辑辑块块(O OB B、F FC C、F FB B)都都可可以以访访问问共共享享数数据据块块存存储储的的信。信。 背背景景数数据据块块用用作作“私私有有存存储储器器区区”,即即用用作作功功能能块块(F FB B)的的“存存储储器器”。F FB B的的参参数数和和静静态态变
134、变量量安安排排在在它它的的背背景景数数据据块块中中。背背景景数数据据块块不不是是由由用用户户编编辑辑的的,而而是是由由编编辑辑器器生成的。生成的。 用用户户定定义义数数据据块块(D DB B o of f T Ty yp pe e)是是以以U UD DT T为为模模板板所所生生成成的的数数据据块块。创创建建用用户户定定义义数数据据块块(D DB B o of f T Ty yp pe e)之之前前,必必须须先先 创创 建建 一一 个个 用用 户户 定定 义义 数数 据据 类类 型型 , 如如U U D D T T 1 1, 并并 在在LAD/STL/FBD S7LAD/STL/FBD S7程序
135、编辑器内定义。程序编辑器内定义。2.2.数据块寄存器数据块寄存器 CPU有有两两个个数数据据块块寄寄存存器器:DB和和DI寄寄存存器器。这这样样,可可以以同时打开两个数据块。同时打开两个数据块。 5.2.3 5.2.3 数据块的数据结构数据块的数据结构 在在S ST TE EP P 7 7中中数数据据块块的的数数据据类类型型可可以以采采用用基基本本数数据据类类型、复杂数据类型或用户定义数据类型(型、复杂数据类型或用户定义数据类型(UDTUDT)。)。基本数据类型基本数据类型复杂数据类型复杂数据类型用户定义数据类型用户定义数据类型 基本数据类型基本数据类型 根根据据I IE EC C1 11 1
136、3 31 1- -3 3定定义义,长长度度不不超超过过3 32 2位位,可可利利用用S ST TE EP P 7 7基基本本指指令令处处理理,能能完完全全装装入入S S7 7处处理理器器的的累累加加器器中中。基基本本数数据类型包括:据类型包括:位数据类型位数据类型:BOOLBOOL、BYTEBYTE、WORDWORD、DWORDDWORD、CHARCHAR数字数据类型数字数据类型:INTINT、DINTDINT、REALREAL定时器类型定时器类型:S5TIMES5TIME、TIMETIME、DATEDATE、TIME_OF_DAY TIME_OF_DAY 复杂数据类型复杂数据类型 复复杂杂数
137、数据据类类型型只只能能结结合合共共享享数数据据块块的的变变量量声声明明使使用用。复复杂杂数数据据类类型型可可大大于于3 32 2位位,用用装装入入指指令令不不能能把把复复杂杂数数据据类类型型完完全全装装入入累累加加器器,一一般般利利用用库库中中的的标标准准块块(“I IE EC C”S S7 7程程序序)处处 理理 复复 杂杂 数数 据据 类类 型型 。 复复 杂杂 数数 据据 类类 型型 包包 括括 :时间时间(DATE_AND_TIMEDATE_AND_TIME)类型)类型矩阵矩阵(ARRAYARRAY)类型)类型结构结构(STRUCTSTRUCT)类型)类型字符串字符串(STRINGST
138、RING)类型)类型用户定义数据类型(用户定义数据类型(UDTUDT) STEP 7允允许许利利用用数数据据块块编编辑辑器器,将将基基本本数数据据类类型型和和复复杂杂数数据据类类型型组组合合成成长长度度大大于于32位位用用户户定定义义数数据据类类型型(UDT:User-Defined dataType)。用用户户定定义义数数据据类类型型不不能能存存储储在在PLC中中,只只能能存存放放在在硬硬盘盘上上的的UDT块块中中。可可以以用用用用户户定定义义数数据据类类型型作作“模模板板”建建立立数数据据块块,以以节节省省录录入入时时间间。可可用用于于建建 立立 结结 构构 化化 数数 据据 块块 、 建
139、建 立立 包包 含含 几几 个个 相相 同同 单单 元元 的的矩阵、在带有给定结构的矩阵、在带有给定结构的FC和和FB中建立局部变量。中建立局部变量。 【5-2-1】 创建用户定义数据类型:创建用户定义数据类型:UDT1。 创建一个名称为创建一个名称为UDT1UDT1的用户定义数据类型,数据结构如的用户定义数据类型,数据结构如下,则可按以下几个步骤完成。下,则可按以下几个步骤完成。 【5-2-1】创建创建用户定义用户定义数据类型数据类型【5-2-1】编辑编辑UDT1UDT15.2.4 5.2.4 建立数据块建立数据块 在在STEP STEP 7 7中中,为为了了避避免免出出现现系系统统错错误误
140、,在在使使用用数数据据块块之之前前,必必须须先先建建立立数数据据块块,并并在在块块中中定定义义变变量量(包包括括变变量量符符号号名名、数数据据类类型型以以及及初初始始值值等等)。数数据据块块中中变变量量的的顺顺序序及及类类型型决决定定了了数数据据块块的的数数据据结结构构,变变量量的的数数量量决决定定了了数数据据块块的的大大小小。数数据据块块建建立立后后,还还必必须须同同程程序序块块一一起起下下载载到到CPUCPU中中,才才能能被被程序块访问。程序块访问。建立数据块建立数据块 定义变量并下载数据块定义变量并下载数据块 方法方法1 1:用用SIMATIC SIMATIC ManagerManage
141、r创建数据块。创建数据块。 方法方法2 2:用用LAD/STL/FBD S7LAD/STL/FBD S7程序编辑器创建数据块。程序编辑器创建数据块。 新新DBDB类型选择窗口类型选择窗口 编辑数据块(变量定义)编辑数据块(变量定义) 变变量量定定义义完完成成后后,应应单单击击保保存存按按钮钮保保存存并并编编译译(测测试试)。如如果果没没有有错错误误则则需需要要单单击击下下载载按按钮钮,像像逻逻辑辑块块一一样样,将将数数据据块块下下载载到到CPUCPU。 5.2.5 5.2.5 访问数据块访问数据块 在在用用户户程程序序中中可可能能存存在在多多个个数数据据块块,而而每每个个数数据据块块的的数数据
142、据结结构构并并不不完完全全相相同同,因因此此在在访访问问数数据据块块时时,必必须须指指明明数数据据块块的的编编号号、数数据据类类型型与与位位置置。如如果果访访问问不不存存在在的的数数据据单单元元或或数据块,而且没有编写错误处理数据块,而且没有编写错误处理OBOB块,块,CPUCPU将进入将进入STOPSTOP模式。模式。寻址数据块寻址数据块 访问数据块访问数据块直接访问数据块直接访问数据块 寻址数据块寻址数据块访问数据块访问数据块 在在STEP 7STEP 7中可以采用传统访问方式,即先打开后访问;中可以采用传统访问方式,即先打开后访问;也可以采用完全表示的直接访问方式。也可以采用完全表示的直
143、接访问方式。【例例5-2-25-2-2】 打开并访问共享数据块。打开并访问共享数据块。 访问数据块访问数据块 用用指指令令“O OP PN N D DB B. . . .”打打开开共共享享数数据据块块(自自动动关关闭闭之之前前打打开开的的共共享享数数据据块块),如如果果D DB B已已经经打打开开,则则可可用用装装入入(L L)或或传送(传送(T T)指令访问数据块。)指令访问数据块。 【例例5-2-35-2-3】 打开并访问背景数据块。打开并访问背景数据块。 直接访问数据块直接访问数据块 所谓直接访问数据块,就是在指令中同时给出数据块的所谓直接访问数据块,就是在指令中同时给出数据块的编号和数
144、据在数据块中的地址。可以用绝对地址,也可以用编号和数据在数据块中的地址。可以用绝对地址,也可以用符号地址直接访问数据块。符号地址直接访问数据块。 用用绝对地址绝对地址直接访问数据块,如:直接访问数据块,如: 用用符号地址符号地址直接访问数据块直接访问数据块 ,如:,如: 功功能能(F FC C)、功功能能块块(F FB B)和和组组织织块块(O OB B)统统称称为为逻逻辑辑块块(或或程程序序块块)。功功能能块块(F FB B)有有一一个个数数据据结结构构与与该该功功能能块块的的参参数数完完全全相相同同的的数数据据块块,称称为为背背景景数数据据块块,背背景景数数据据块块依依附附于于功功能能块块
145、,它它随随着着功功能能块块的的调调用用而而打打开开,随随着着功功能能块块的的结结束束而而关关闭闭。存存放放在在背背景景数数据据块块中中的的数数据据在在功功能能块块结结束束时时继继续续保保持持。而而功功能能(F FC C)则则不不需需要要背背景景数数据据块块,功功能能调调用用结结束束后后数数据据不不能能保保持持。组组织织块块(O OB B)是是由由操操作作系系统统直直接接调调用用的的逻逻辑辑块。块。 5.3.1 5.3.1 逻辑块(逻辑块(FCFC和和FBFB)的结构)的结构 5.3.1 5.3.1 逻辑块(逻辑块(FCFC和和FBFB)的编程)的编程 5.3 5.3 逻辑块(逻辑块(FCFC和
146、和FBFB)的结构及编程)的结构及编程 逻辑块(逻辑块(OBOB、FBFB、FCFC)由变量声明表、代码段及其属性)由变量声明表、代码段及其属性等几部分组成。等几部分组成。局部变量声明表(局部数据)局部变量声明表(局部数据) 逻辑块局部变量的数据类型逻辑块局部变量的数据类型 逻辑块的调用过程及内存分配逻辑块的调用过程及内存分配 5.3.1 5.3.1 逻辑块(逻辑块(FCFC和和FBFB)的结构)的结构 每个逻辑块前部都有一个变量声明表,称为每个逻辑块前部都有一个变量声明表,称为局部变量声局部变量声明表明表。1. 1. 局部变量声明表局部变量声明表 局部数据分为局部数据分为参数参数和和局部变量
147、局部变量两大类,局部变量又包括两大类,局部变量又包括静态变量静态变量和和临时变量临时变量(暂态变量)两种。(暂态变量)两种。 对于对于功能块功能块(FBFB),操作系统为参数及静态变量分配的),操作系统为参数及静态变量分配的存储空间是背景数据块。这样参数变量在背景数据块中留有存储空间是背景数据块。这样参数变量在背景数据块中留有运行结果备份。在调用运行结果备份。在调用FBFB时,若没有提供实参,则功能块使时,若没有提供实参,则功能块使用背景数据块中的数值。操作系统在用背景数据块中的数值。操作系统在L L堆栈中给堆栈中给FBFB的临时变的临时变量分配存储空间。量分配存储空间。 对于对于功能功能(F
148、CFC),操作系统在),操作系统在L L堆栈中给堆栈中给FCFC的临时变量的临时变量分配存储空间。由于没有背景数据块,因而分配存储空间。由于没有背景数据块,因而FCFC不能使用静态不能使用静态变量。输入、输出、变量。输入、输出、I/OI/O参数以指向实参的指针形式存储在参数以指向实参的指针形式存储在操作系统为参数传递而保留的额外空间中。操作系统为参数传递而保留的额外空间中。 对于对于组织块组织块(OBOB)来说,其调用是由操作系统管理的,)来说,其调用是由操作系统管理的,用户不能参与。因此,用户不能参与。因此,OBOB只有定义在只有定义在L L堆栈中的临时变量。堆栈中的临时变量。 局部变量可以
149、是基本数据类型或复式数据类型,也可以局部变量可以是基本数据类型或复式数据类型,也可以是专门用于参数传递的所谓的是专门用于参数传递的所谓的“参数类型参数类型”。参数类型包括。参数类型包括定时器、计数器、块的地址或指针等。定时器、计数器、块的地址或指针等。2.2.逻辑块局部变量的数据类型逻辑块局部变量的数据类型 CPUCPU提供提供块堆栈块堆栈(B B堆栈)来存储与处理被中断块的有关堆栈)来存储与处理被中断块的有关信息。信息。3.3.逻辑块的调用过程及内存分配逻辑块的调用过程及内存分配 局部数据堆栈局部数据堆栈简称简称L L堆栈堆栈,是,是CPUCPU中单独的存储器区,可中单独的存储器区,可用来存
150、储逻辑块的局部变量(包括用来存储逻辑块的局部变量(包括OBOB的起始信息)、调用功的起始信息)、调用功能(能(FCFC)时要传递的实际参数、梯形图程序中的中间逻辑结)时要传递的实际参数、梯形图程序中的中间逻辑结果等。可以按位、字节、字和双字来存取。果等。可以按位、字节、字和双字来存取。 块堆栈块堆栈简称简称B B堆栈堆栈,是,是CPUCPU系统内存中的一部分,用来存系统内存中的一部分,用来存储被中断的块的类型、编号、优先级和返回地址;中断时打储被中断的块的类型、编号、优先级和返回地址;中断时打开的共享数据块和背景数据块的编号;临时变量的指针(被开的共享数据块和背景数据块的编号;临时变量的指针(
151、被中断块的中断块的L L堆栈地址)。堆栈地址)。 中断堆栈中断堆栈简称简称I I堆栈堆栈,用来存储当前累加器和地址寄存,用来存储当前累加器和地址寄存器的内容、数据块寄存器器的内容、数据块寄存器DBDB和和DIDI的内容、局域数据的指针、的内容、局域数据的指针、状态字、状态字、MCRMCR(主控继电器)寄存器和(主控继电器)寄存器和B B堆栈的指针。堆栈的指针。 用户程序使用的堆栈用户程序使用的堆栈 当调用功能块(当调用功能块(FBFB)时,会有以下事件发生:)时,会有以下事件发生: 调调用用块块的的地地址址和和返返回回位位置置存存储储在在块块堆堆栈栈中中,调调用用块块的的临临时时变变量量压压入
152、入L L堆堆栈栈;数数据据块块D DB B寄寄存存器器内内容容与与D DI I寄寄存存器器内内容容交交换换;新新的的数数据据块块地地址址装装入入D DI I寄寄存存器器;被被调调用用块块的的实实参参装装入入D DB B和和L L堆堆栈栈上上部部;当当功功能能块块F FB B结结束束时时,先先前前块块的的现现场场信信息息从从块块堆堆栈栈中中弹弹出,临时变量弹出出,临时变量弹出L L堆栈;堆栈;DBDB和和DIDI寄存器内容交换。寄存器内容交换。 当当调调用用功功能能块块(F FB B)时时,S ST TE EP P 7 7并并不不一一定定要要求求给给F FB B形形参参赋赋予予实实参参,除除非非
153、参参数数是是复复式式数数据据类类型型的的I I/ /O O形形参参或或参参数数类类型型形形参参。如如果果没没有有给给F FB B的的形形参参赋赋予予实实参参,则则功功能能块块(F FB B)就就调调用用背背景景数数据据块块内内的的数数值值,该该数数值值是是在在功功能能块块(F FB B)的的变变量量声声明明表表或或背背景景数数据据块块内内为形参所设置初始数值。为形参所设置初始数值。调用功能块(调用功能块(FBFB)时的堆栈操作)时的堆栈操作 当调用功能(当调用功能(FCFC)时会有以下事件发生:)时会有以下事件发生: 功功能能(F FC C)实实参参的的指指针针存存到到调调用用块块的的L L堆
154、堆栈栈;调调用用块块的的地地址址和和返返回回位位置置存存储储在在块块堆堆栈栈,调调用用块块的的局局部部数数据据压压入入L L堆堆栈栈;功功能能(F FC C)存存储储临临时时变变量量的的L L堆堆栈栈区区被被推推入入L L堆堆栈栈上上部部;当当被被调调用用功功能能(F FC C)结结束束时时,先先前前块块的的信信息息存存储储在在块块堆堆栈栈中,临时变量弹出中,临时变量弹出L L堆栈。堆栈。 因因为为功功能能(F FC C)不不用用背背景景数数据据块块,不不能能分分配配初初始始数数值值给给功能(功能(FCFC)的局部数据,所以必须给功能()的局部数据,所以必须给功能(FCFC)提供实参。)提供实
155、参。 调用功能(调用功能(FCFC)时的堆栈操作)时的堆栈操作 以以功功能能(FC)调调用用为为例例,L堆堆栈栈操操作示意如图所示。作示意如图所示。 调用功能(调用功能(FCFC)时的堆栈操作)时的堆栈操作 对逻辑块编程时必须编辑下列三个部分:对逻辑块编程时必须编辑下列三个部分: 变变量量声声明明:分分别别定定义义形形参参、静静态态变变量量和和临临时时变变量量(F FC C块块中中不不包包括括静静态态变变量量);确确定定各各变变量量的的声声明明类类型型(D De ec cl l. .)、变变量量名名(N Na am me e)和和数数据据类类型型(D Da at ta a T Ty yp pe
156、 e),还还要要为为变变量量设设置置初初始始值值(I In ni it ti ia al l V Va al lu ue e)。如如果果需需要要还还可可为为变变量量注注释释(C Co om mm me en nt t)。在在增增量量编编程程模模式式下下,S ST TE EP P 7 7将将自自动动产产生生局局部部变量地址(变量地址(AddressAddress)。)。 代码段代码段:对将要由:对将要由PLCPLC进行处理的块代码进行编程。进行处理的块代码进行编程。 块属性块属性:块属性包含了其它附加的信息,例如由系统输:块属性包含了其它附加的信息,例如由系统输入的时间标志或路径。此外,也可输入
157、相关详细资料。入的时间标志或路径。此外,也可输入相关详细资料。 5.3.2 5.3.2 逻辑块(逻辑块(FCFC和和FBFB)的编程)的编程 1.1.临时变量的定义和使用临时变量的定义和使用2.2.查看局部数据堆栈的占用查看局部数据堆栈的占用 3.3.查看块所需字节数查看块所需字节数 4.4.定义形式参数定义形式参数 编写逻辑块(编写逻辑块(FCFC和和FBFB)程序时,可以用以下两种方式使)程序时,可以用以下两种方式使用局部变量:用局部变量: 使用变量名,此时变量名前加前缀使用变量名,此时变量名前加前缀“#”#”,以区别于在,以区别于在符号表中定义的符号地址。增量方式下,前缀会自动产生。符号
158、表中定义的符号地址。增量方式下,前缀会自动产生。 直接使用局部变量的地址,这种方式只对背景数据块直接使用局部变量的地址,这种方式只对背景数据块和和L L堆栈有效。堆栈有效。 在调用在调用FBFB块时,要说明其背景数据块。背景数据块应在块时,要说明其背景数据块。背景数据块应在调用前生成,其顺序格式与变量声明表必须保持一致。调用前生成,其顺序格式与变量声明表必须保持一致。5.5.编写控制程序编写控制程序 所谓所谓无参功能无参功能(FCFC),是指在编辑功能(),是指在编辑功能(FCFC)时,在局)时,在局部变量声明表不进行形式参数的定义,在功能(部变量声明表不进行形式参数的定义,在功能(FCFC)
159、中直接)中直接使用绝对地址完成控制程序的编程。这种方式一般应用于分使用绝对地址完成控制程序的编程。这种方式一般应用于分部式结构的程序编写,每个功能(部式结构的程序编写,每个功能(FCFC)实现整个控制任务的)实现整个控制任务的一部分,不重复调用。一部分,不重复调用。5.4.1 5.4.1 编辑无参功能(编辑无参功能(FCFC)5.4.2 5.4.2 在在OB1OB1中调用无参功能(中调用无参功能(FCFC)5.4 5.4 编辑并调用无参功能(编辑并调用无参功能(FCFC)分部程序设计分部程序设计 【例例5-4-15-4-1】 搅拌控制系统程序设计搅拌控制系统程序设计使用开关量。使用开关量。 控
160、制说明控制说明 如如图图所所示示为为一一搅搅拌拌控控制制系系统统,由由3 3个个开开关关量量液液位位传传感感器器,分分别别检检测测液液位位的的高高、中中和和低低。现现要要求求对对A A、B B两两种种液液体体原原料按等比例混合,请编写控制程序。料按等比例混合,请编写控制程序。 要要求求:按按起起动动按按钮钮后后系系统统自自动动运运行行,首首先先打打开开进进料料泵泵1 1,开开始始加加入入液液料料A A中中液液位位传传感感器器动动作作后后,则则关关闭闭进进料料泵泵1 1,打打开开进进料料泵泵2 2,开开始始加加入入液液料料B B高高液液位位传传感感器器动动作作后后,关关闭闭进进料料泵泵2 2,起
161、起动动搅搅拌拌器器搅搅拌拌1 10 0s s后后,关关闭闭搅搅拌拌器器,开开启启放放料料泵泵当当低低液液位位传传感感器器动动作作后后,延延时时5 5s s后后关关闭闭放放料料泵泵。按按停止按钮,系统应立即停止运行。停止按钮,系统应立即停止运行。 1.1.创建创建S7S7项目项目 按照第按照第3 3章所介绍的方法,创建章所介绍的方法,创建S7S7项目,并命名为项目,并命名为“无参无参FC”FC”,项目包含组织块,项目包含组织块OB1OB1和和OB100OB100。2.2.硬件配置硬件配置 在在 “ “无参无参FC”FC”项目内打开项目内打开“SIMATIC 300 Station”SIMATIC
162、 300 Station”文文件夹,打开硬件配置窗口,并完成硬件配置。件夹,打开硬件配置窗口,并完成硬件配置。 5.4.1 5.4.1 编辑无参功能(编辑无参功能(FCFC) 3.3.编辑符号表编辑符号表 4.4.规划程序结构规划程序结构 5.5.编辑功能(编辑功能(FC FC ) 在在“无无参参F FC C”项项目目内内选选择择“B Bl lo oc ck ks s”文文件件夹夹,然然后后反反复复执执行行菜菜单单命命令令【I In ns se er rt t】【S S7 7 B Bl lo oc ck k】【F Fu un nc ct ti io on n】,分分别别创创建建4 4个个功功能
163、能(F FC C):F FC C1 1、F FC C2 2、F FC C3 3和和F FC C4 4。由由于于在在符符号号表表内内已已经经为为F FC C1 1F FC C4 4定定义义了了符符号号名名,因因此此在在创创建建F FC C的的属属性性对对话话框内系统会自动添加符号名。框内系统会自动添加符号名。FC1FC1控制程序控制程序FC2FC2控制程序控制程序FC3FC3控制程序控制程序FC4FC4控制程序控制程序OB100OB100控制程序控制程序FC1FC1的控制程序的控制程序FC2FC2的控制程序的控制程序FC3FC3的控制程序的控制程序FC4FC4的控制程序的控制程序OB100OB1
164、00的控制程序的控制程序5.4.2 5.4.2 在在OB1OB1中调用无参功能(中调用无参功能(FCFC) OB1OB1的控制程序的控制程序 所所谓谓有有参参功功能能(F FC C),是是指指编编辑辑功功能能(F FC C)时时,在在局局部部变变量量声声明明表表内内定定义义了了形形式式参参数数,在在功功能能(F FC C)中中使使用用了了虚虚拟拟的的符符号号地地址址完完成成控控制制程程序序的的编编程程,以以便便在在其其他他块块中中能能重重复复调调用有参功能(用有参功能(FCFC)。这种方式一般应用于结构化程序编写。)。这种方式一般应用于结构化程序编写。5.5.1 5.5.1 编辑有参功能(编辑
165、有参功能(FCFC) 5.5.2 5.5.2 在在OB1OB1中调用有参功能(中调用有参功能(FCFC)5.5 5.5 编辑并调用有参功能(编辑并调用有参功能(FCFC)结构化程序设计结构化程序设计 【例例5-5-15-5-1】 多级分频器控制程序设计。多级分频器控制程序设计。 本本例例拟拟在在功功能能F FC C1 1中中编编写写二二分分频频器器控控制制程程序序,然然后后在在O OB B1 1中中通通过过调调用用F FC C1 1实实现现多多级级分分频频器器的的功功能能。多多级级分分频频器器的的时时序序关关系系如如图图所所示示。其其中中I I0 0. .0 0为为多多级级分分频频器器的的脉脉
166、冲冲输输入入端端;Q Q4 4. .0 0Q Q4 4. .3 3分分 别别 为为2 2、4 4、8 8、1 16 6分分 频频 的的 脉脉 冲冲 输输 出出 端端 ;Q Q4 4. .4 4Q4.7Q4.7分别为分别为2 2、4 4、8 8、1616分频指示灯驱动输出端。分频指示灯驱动输出端。5.5.1 5.5.1 编辑有参功能(编辑有参功能(FCFC) 创建多级分频器的创建多级分频器的S7S7项目项目硬件配置硬件配置编写符号表编写符号表 规划程序结构规划程序结构 创建有参功能创建有参功能FC1 FC1 1.1.创建多级分频器的创建多级分频器的S7S7项目项目 使使用用菜菜单单【F Fi i
167、l le e】【“N Ne ew w P Pr ro oj je ec ct t”W Wi iz za ar rd d】创创建建多多级分频器的级分频器的S7S7项目,并命名为项目,并命名为“有参有参FCFC”。2.2.硬件配置硬件配置 打打开开“S SI IM MA AT TI IC C 3 30 00 0 S St ta at ti io on n”文文件件夹夹,双双击击硬硬件件配配置置图图标打开硬件配置窗口,并按图所示完成标打开硬件配置窗口,并按图所示完成硬件配置硬件配置。3. 3. 编写符号表编写符号表 4. 4. 规划程序结构规划程序结构 5. 5. 创建有参创建有参FC1 FC1 选
168、选择择“有有参参F FC C”项项目目的的“B Bl lo oc ck ks s”文文件件夹夹,然然后后执执行行菜菜单单命命令令【I In ns se er rt t】【S S7 7 B Bl lo oc ck k】【F Fu un nc ct ti io on n】,在在块块文文件件夹夹内创建一个功能,并命名为内创建一个功能,并命名为“FC1”FC1”。编辑编辑FC1FC1的变量声明表的变量声明表 在在FC1FC1的变量声明表内,声明的变量声明表内,声明4 4个参数,见下表。个参数,见下表。编辑编辑FC1FC1的控制程序的控制程序 二二分分频频器器的的时时序序如如图图所所示示。分分析析二二分
169、分频频器器的的时时序序图图可可以以看看到到,输输入入信信号号每每出出现现一一个个上上升升沿沿,输输出出便便改改变变一一次次状状态,据此可采用上跳沿检测指令实现。态,据此可采用上跳沿检测指令实现。 如如果果输输入入信信号号S_INS_IN出出现现上上升升沿沿,则则对对S_OUTS_OUT取取反反,然然后后将将S_OUTS_OUT的的信信号号状状态态送送LEDLED显显示示;否否则则,程程序序直直接接跳跳转转到到LP1LP1,将将S_OUTS_OUT的信号状态送的信号状态送LEDLED显示。显示。FC1FC1的控制程序的控制程序5.5.2 5.5.2 在在OB1OB1中调用有参功能(中调用有参功能
170、(FCFC) 使使用用绝绝对对地地址址使使用用符符号号地地址址 功功能能块块(F FB B)在在程程序序的的体体系系结结构构中中位位于于组组织织块块之之下下。它它包包含含程程序序的的一一部部分分,这这部部分分程程序序在在O OB B1 1中中可可以以多多次次调调用用。功功能能块块的的所所有有形形参参和和静静态态数数据据都都存存储储在在一一个个单单独独的的、被被指指定定给给该该功功能能块块的的数数据据块块(D DB B)中中,该该数数据据块块被被称称为为背背景景数数据据块块。当当调调用用F FB B时时,该该背背景景数数据据块块会会自自动动打打开开,实实际际参参数数的的值值被被存存储储在在背背景
171、景数数据据块块中中;当当块块退退出出时时,背背景景数数据据块块中中的的数数据据仍仍然然保持。保持。 5.6.1 5.6.1 编辑无静态参数的功能块(编辑无静态参数的功能块(FBFB)5.6.2 5.6.2 在在OB1OB1中调用无静态参数的功能块(中调用无静态参数的功能块(FBFB) 5.6 5.6 编辑无静参的功能块(编辑无静参的功能块(FB FB )【例例5-6-15-6-1】 水箱水位控制系统程序设计。水箱水位控制系统程序设计。【例例5-6-15-6-1】 系系统统有有3 3个个贮贮水水箱箱,每每个个水水箱箱有有2 2个个液液位位传传感感器器,U UH H1 1,U UH H2 2,U
172、UH H3 3为为高高液液位位传传感感器器,“1 1”有有效效;U UL L1 1,U UL L2 2,U UL L3 3为为低低液液位位传传感感器器,“0 0”有有效效。Y Y1 1、Y Y3 3、Y Y5 5分分别别为为3 3个个贮贮水水水水箱箱进进水水电电磁磁阀阀;Y Y2 2、Y Y4 4、Y Y6 6分分别别为为3 3个个贮贮水水水水箱箱放放水水电电磁磁阀阀。S SB B1 1、S SB B3 3、S SB B5 5分分别别为为3 3个个贮贮水水水水箱箱放放水水电电磁磁阀阀手手动动开开启启按按钮钮;S SB B2 2、S SB B4 4、S SB B6 6分分 别别 为为3 3个个贮
173、贮水水箱箱放放水水电电磁磁阀阀手手动动关关闭闭按按钮钮。 控控制制要要求求:S SB B1 1、S SB B3 3、S SB B5 5在在P PL LC C外外部部操操作作设设定定,通通过过人人为为的的方方式式,按按随随机机的的顺顺序序将将水水箱箱放放空空。只只要要检检测测到到水水箱箱“空空”的的信信号号,系系统统就就自自动动地地向向水水箱箱注注水水,直直到到检检测测到到水水箱箱“满满”信信号号为为止止。水水箱箱注注水水的的顺顺序序要要与与水水箱箱放放空空的的顺顺序序相相同同,每每次次只只能对一个水箱进行注水操作。能对一个水箱进行注水操作。 5.6.1 5.6.1 编辑无静态参数的功能块(编辑
174、无静态参数的功能块(FBFB) 创建创建S7S7项目项目硬件配置硬件配置编写符号表编写符号表 规划程序结构规划程序结构 编辑功能块(编辑功能块(FBFB) 建立背景数据块(建立背景数据块(DIDI) 编辑启动组织块编辑启动组织块OB100 OB100 1.1.创建创建S7S7项目项目 使使用用菜菜单单【F Fi il le e】【“N Ne ew w P Pr ro oj je ec ct t”W Wi iz za ar rd d】创创建建水水箱箱水水位位控控制制系系统统的的S S7 7项项目目,并并命命名名为为“无无静静参参F FB B”。项项目目包包含含组织块组织块OB1OB1和和OB10
175、0OB100。2.2.硬件配置硬件配置 在在“无静参无静参FB”FB”项目内打开项目内打开“SIMATIC 300 Station”SIMATIC 300 Station”文文件夹,打开硬件配置窗口,并按图所示完成件夹,打开硬件配置窗口,并按图所示完成硬件配置硬件配置。 3.3.编写符号表编写符号表4.4.规划程序结构规划程序结构5.5.编辑功能(编辑功能(FB1FB1) 在在“无无静静参参F FB B”项项目目内内选选择择“B Bl lo oc ck ks s”文文件件夹夹,执执行行菜菜单单命命令令【I In ns se er rt t】【S S7 7 B Bl lo oc ck k】【F
176、Fu un nc ct ti io on n B Bl lo oc ck k】,创创建建功功能能块块F FB B1 1。由由于于在在符符号号表表内内已已经经为为F FB B1 1定定义义了了符符号号名名,因因此此在在FB1FB1的属性对话框内系统会自动添加符号名的属性对话框内系统会自动添加符号名“水箱控制水箱控制”。定义局部变量声明表定义局部变量声明表编写程序代码编写程序代码定义局部变量声明表定义局部变量声明表 与功能(与功能(FCFC)不同,在功能块()不同,在功能块(FBFB)参数表内还有扩)参数表内还有扩展地址(展地址(Exclusion addressExclusion address
177、)和结束地址()和结束地址(Termination Termination addressaddress)选项。)选项。 编写程序代码编写程序代码6.6.建立背景数据块建立背景数据块DB1DB1、DB2DB2、DB3DB37.7.编辑启动组织块编辑启动组织块OB100OB1005.6.2 在在OB1中调用无静态参数的功能块(中调用无静态参数的功能块(FB) OB1OB1控制程序控制程序【例例5-6-25-6-2】 搅拌控制系统程序设计搅拌控制系统程序设计使用模拟量。使用模拟量。 上图所示为一上图所示为一搅拌控制系统搅拌控制系统,由一个模拟量液位传感器,由一个模拟量液位传感器- -变送器来检测液
178、位的高低,并进行液位显示。现要求对变送器来检测液位的高低,并进行液位显示。现要求对A A、B B两种液体原料按等比例混合,请编写控制程序,控制要求如两种液体原料按等比例混合,请编写控制程序,控制要求如下:下: 按起动按钮后系统自动运行,首先打开进料泵按起动按钮后系统自动运行,首先打开进料泵1 1,开始加,开始加入液料入液料AA当液位达到当液位达到50%50%后,则关闭进料泵后,则关闭进料泵1 1,打开进料泵,打开进料泵2 2,开始加入液料,开始加入液料BB当液位达到当液位达到100%100%后,则关闭进料泵后,则关闭进料泵2 2,起,起动搅拌器动搅拌器搅拌搅拌10s10s后,关闭搅拌器,开启放
179、料泵后,关闭搅拌器,开启放料泵当液料放当液料放空后,延时空后,延时5s5s后关闭放料泵。按停止按钮,系统应立即停止后关闭放料泵。按停止按钮,系统应立即停止运行。运行。 1.1.创建创建S7S7项目项目 使使用用菜菜单单【F Fi il le e】【“N Ne ew w P Pr ro oj je ec ct t”W Wi iz za ar rd d】创创建建搅搅拌控制系统的拌控制系统的S7S7项目,并命名为项目,并命名为“FCFC与与FBFB”。2.2.硬件配置硬件配置 在在“F FC C与与F FB B”项项目目内内打打开开“S SI IM MA AT TI IC C 3 30 00 0 S
180、 St ta at ti io on n”文文件件夹,打开硬件配置窗口,并按图下完成硬件配置。夹,打开硬件配置窗口,并按图下完成硬件配置。 修修改改模模块块的的模模拟拟量量输输入入通通道道和和输输出出通通道道的的起起始始地地址址均均为为2 25 56 6。3.3.编辑符号表编辑符号表4.4.规划程序结构规划程序结构 O OB B1 1为为主主循循环环组组织织块块;O OB B1 10 00 0为为启启动动组组织织块块;F FC C1 1实实现现搅搅拌拌控控制制;F FC C2 2实实现现放放料料控控制制;F FB B1 1通通过过调调用用D DB B1 1和和D DB B2 2实实现现液液料料
181、A A和和液液料料B B的的进进料料控控制制;D DB B1 1和和D DB B2 2为为液液料料A A和和液液料料B B进进料料控控制制的的背背景景数数据据块块,在在调调用用F FB B1 1时时为为F FB B1 1提提供供实实际际参参数数,并并保保存存过过程程结结果。果。 5.5.创建无参功能(创建无参功能(FC1FC1、FC2FC2)(1/2)(1/2)FC1FC1控制程序控制程序5.5.创建无参功能(创建无参功能(FC1FC1、FC2FC2)(2/2)(2/2)FC2FC2控制程序控制程序6.6.创建无静态参数的功能块(创建无静态参数的功能块(FB1 )定义定义FB1FB1的局部变量
182、声明表的局部变量声明表编写编写FB1FB1控制程序控制程序7.7.建立背景数据块(建立背景数据块(DB1、DB2) 在在“F FC C与与F FB B”项项目目内内选选择择“B Bl lo oc ck ks s”文文件件夹夹,执执行行菜菜单单命命令令【I In ns se er rt t】【S S7 7 B Bl lo oc ck k】【D Da at ta a B Bl lo oc ck k】,创创建建与与F FB B1 1相相关关联联的的背背景景数数据据块块D DB B1 1和和D DB B2 2。S ST TE EP P 7 7自自动动为为D DB B1 1和和D DB B2 2构构建建
183、了与了与FB1FB1完全相同的数据结构,如下图所示。完全相同的数据结构,如下图所示。 8.8.在在OB1OB1中调用中调用FC1FC1、FC2FC2和和FB1 FB1 OB1OB1的控制程序的控制程序OB1OB1的控制程序的控制程序OB1OB1的控制程序的控制程序9.9.编写启动组织块编写启动组织块OB100OB100的控制程序的控制程序5.7 5.7 编辑并调用有静态参数的功能块编辑并调用有静态参数的功能块 在编辑功能块(在编辑功能块(FBFB)时,如果程序中需要特定数据的参)时,如果程序中需要特定数据的参数,可以考虑将该特定数据定义为数,可以考虑将该特定数据定义为静态参数静态参数,并在,并
184、在FBFB的声明的声明表内表内STATSTAT处声明。处声明。 下面以交通信号灯控制系统的设计为例,介绍如何编辑下面以交通信号灯控制系统的设计为例,介绍如何编辑和调用有静态参数的功能块。和调用有静态参数的功能块。5.7.1 5.7.1 编辑有静态参数的功能块(编辑有静态参数的功能块(FBFB)5.7.2 5.7.2 在在OB1OB1中调用有静态参数的功能块(中调用有静态参数的功能块(FBFB)【例例5-7-15-7-1】 交通信号灯控制系统程序设计。交通信号灯控制系统程序设计。 上图所示为双干道交通信号灯设置示意图。信号灯的动上图所示为双干道交通信号灯设置示意图。信号灯的动作受开关总体控制,按
185、一下起动按钮,信号灯系统开始工作,作受开关总体控制,按一下起动按钮,信号灯系统开始工作,并周而复始地循环动作;按一下停止按钮,所有信号灯都熄并周而复始地循环动作;按一下停止按钮,所有信号灯都熄灭。信号灯控制的具体要求见下表,试编写信号灯控制程序。灭。信号灯控制的具体要求见下表,试编写信号灯控制程序。 根据十字路口交通信号灯的控制要求,可画出信号灯的根据十字路口交通信号灯的控制要求,可画出信号灯的控制时序图控制时序图。 5.7.1 5.7.1 编辑有静态参数的功能块(编辑有静态参数的功能块(FBFB) 创建创建S7项目项目 硬件配置硬件配置 编写符号表编写符号表 规划程序结构规划程序结构 编辑功
186、能块(编辑功能块(FB) 建立背景数据块(建立背景数据块(DI) 编辑启动组织块编辑启动组织块OB100 1.1.创建创建S7S7项目项目 使使用用菜菜单单【F Fi il le e】【“N Ne ew w P Pr ro oj je ec ct t”W Wi iz za ar rd d】创创建建交交通通信信号号灯灯控控制制系系统统的的S S7 7项项目目,并并命命名名为为“有有静静参参F FB B”。项项目目包包含组织块含组织块OB1OB1和和OB100OB100。2.2.硬件配置硬件配置 在在“有静参有静参FB”FB”项目内打开项目内打开“SIMATIC 300 SIMATIC 300 S
187、tation”Station”文件夹,打开硬件配置窗口,并按下图所示完文件夹,打开硬件配置窗口,并按下图所示完成硬件配置。成硬件配置。3.3.编写符号表编写符号表4.4.规划程序结构规划程序结构O OB B1 1为为主主循循环环组组织织块块、O OB B1 10 00 0初初始始化化程程序序、F FB B1 1为为单单向向红红绿绿灯灯控控制制 程程 序序 、D DB B1 1为为 东东 西西 数数 据据 块块 、D D B B 2 2为为 南南 北北 数数 据据 块块 。 5.5.编辑功能块(编辑功能块(FBFB)定义局部变量声明表定义局部变量声明表 编写程序代码编写程序代码 6. 建立背景数
188、据块(建立背景数据块(DI) 由于在创建由于在创建DB1DB1和和DB2DB2之前,已经完成了之前,已经完成了FB1FB1的变量声明,的变量声明,建立了相应的数据结构,所以在创建与建立了相应的数据结构,所以在创建与FB1FB1相关联的相关联的DB1DB1和和DB2DB2时,时,STEP 7STEP 7自动完成了数据块的数据结构。自动完成了数据块的数据结构。 7.7.编辑启动组织块编辑启动组织块OB100 OB100 5.7.2 5.7.2 在在OB1OB1中调用有静态参数的功能块(中调用有静态参数的功能块(FBFB) 5.8 使用多重背景使用多重背景结构化程序设计结构化程序设计 使使用用多多重
189、重背背景景可可以以有有效效地地减减少少数数据据块块的的数数量量,其其编编程程思思想想是是创创建建一一个个比比F FB B1 1级级别别更更高高的的功功能能块块,如如F FB B1 10 0,将将未未作作任任何何修修改改的的F FB B1 1作作为为一一个个“局局部部背背景景”,在在F FB B1 10 0中中调调用用。对对于于F FB B1 1的每一个调用,都将数据存储在的每一个调用,都将数据存储在FB10FB10的背景数据块的背景数据块DB10DB10中。中。5.8.1 5.8.1 创建多重背景的创建多重背景的S7S7项目项目5.8.2 5.8.2 编辑功能(编辑功能(FCFC)5.8.3
190、5.8.3 编辑共享数据块编辑共享数据块 5.8.4 5.8.4 编辑功能块(编辑功能块(FBFB)5.8.5 5.8.5 生成多重背景数据块生成多重背景数据块DB10DB105.8.6 5.8.6 在在OB1OB1中调用功能中调用功能(FC)(FC)及上层功能块及上层功能块(FB)(FB)5.8.1 5.8.1 创建多重背景的创建多重背景的S7S7项目项目【例例5-8-15-8-1】 发动机组控制系统设计发动机组控制系统设计使用多重背景。使用多重背景。 设设某某发发动动机机组组由由1 1台台汽汽油油发发动动机机和和1 1台台柴柴油油发发动动机机组组成成,现现要要求求用用P PL LC C控控
191、制制发发动动机机组组,使使各各台台发发动动机机的的转转速速稳稳定定在在设设定定的的速速度度上上,并并控控制制散散热热风风扇扇的的起起动动和和延延时时关关闭闭。每每台台发发动动机均设置一个起动按钮和一个停止按钮。机均设置一个起动按钮和一个停止按钮。创建创建S7S7项目项目硬件配置硬件配置编写符号表编写符号表 规划程序结构规划程序结构 1. 1. 创建创建S7S7项目项目 使用菜单使用菜单【FileFile】【“New“New Project”WizardProject”Wizard】创建创建发动机组控制系统的发动机组控制系统的S7S7项目,并命名为项目,并命名为“多重背景多重背景”。CPUCPU
192、选择选择CPU 315-2DPCPU 315-2DP,项目包含组织块,项目包含组织块OB1OB1。2. 2. 硬件配置硬件配置 在在“多多重重背背景景”项项目目内内打打开开“S SI IM MA AT TI IC C 3 30 00 0 S St ta at ti io on n”文文件件夹夹,打打开开硬硬件件配配置置窗窗口口,并并按按下下图图所所示示完完成成硬硬件件配配置置。3.3.编辑符号表编辑符号表4.4.规划程序结构规划程序结构 F FB B1 10 0为为上上层层功功能能块块,它它把把F FB B1 1作作为为其其“局局部部实实例例”,通通过过二二次次调调用用本本地地实实例例,分分别
193、别实实现现对对汽汽油油机机和和柴柴油油机机的的控控制制。这这种种调调用用不不占占用用数数据据块块D DB B1 1和和D DB B2 2,它它将将每每次次调调用用(对对于于每每个个调调用用实实例例)的的数数据据存存储储到到体体系系的的上上层层功功能能块块F FB B1 10 0的的 背背 景景 数数 据据 块块D D B B 1 1 0 0中。中。 5.8.2 5.8.2 编辑功能(编辑功能(FCFC) 1.1.定义局部变量声明表定义局部变量声明表 F FC C1 1用用来来实实现现发发动动机机(汽汽油油机机或或柴柴油油机机)的的风风扇扇控控制制,按按照照控控制制要要求求,当当发发动动机机起起
194、动动时时,风风扇扇应应立立即即起起动动;当当发发动动机机停停机机后后,风风扇扇应应延延时时关关闭闭。因因此此F FC C1 1需需要要一一个个发发动动机机起起动动信号、一个风扇控制信号和一个延时定时器。信号、一个风扇控制信号和一个延时定时器。 2.2.编辑编辑FC1FC1的控制程序的控制程序 F FC C1 1所所实实现现的的控控制制要要求求:发发动动机机起起动动时时风风扇扇起起动动,当当发发动动机机再再次次关关闭闭后后,风风扇扇继继续续运运行行4 4s s,然然后后停停止止。定定时时器器采采用用断电延时定时器,控制程序如下图所示。断电延时定时器,控制程序如下图所示。 5.8.3 5.8.3
195、编辑共享数据块编辑共享数据块 共共享享数数据据块块D DB B3 3可可为为F FB B1 10 0保保存存发发动动机机(汽汽油油机机和和柴柴油油机机)的的实实际际转转速速,当当发发动动机机转转速速都都达达到到预预设设速速度度时时,还还可可以以保存该状态的标志数据。保存该状态的标志数据。 5.8.4 5.8.4 编辑功能块(编辑功能块(FBFB) 在在该该系系统统的的程程序序结结构构内内,有有2 2个个功功能能块块:F FB B1 1和和F FB B1 10 0。F FB B1 1为为底底层层功功能能块块,所所以以应应首首先先创创建建并并编编辑辑;F FB B1 10 0为为上上层层功功能块,
196、可以调用能块,可以调用FB1FB1。编辑底层功能块编辑底层功能块FB1 编辑上层功能块编辑上层功能块FB101.1.编辑底层功能块编辑底层功能块FB1 FB1 在在“多多重重背背景景”项项目目内内创创建建F FB B1 1,符符号号名名“E En ng gi in ne e”。定义功能块定义功能块FB1的变量声明表的变量声明表 编写功能块编写功能块FB1的控制程序的控制程序 FB1FB1主要实现发动机的起停控制及速度监视功能,其控主要实现发动机的起停控制及速度监视功能,其控制程序如下图所示。制程序如下图所示。 2. 编辑上层功能块编辑上层功能块FB10 在在“多重背景多重背景”项目内创建项目内
197、创建FB10FB10,符号名,符号名“Engines”Engines”。在在FB10FB10的属性对话框内激活的属性对话框内激活“Multi-instance capable”Multi-instance capable”选选项。项。定义功能块定义功能块FB10FB10的变量声明表的变量声明表 要将要将FB1FB1作为作为FB10FB10的一个的一个“局部背景局部背景”调用,需要在调用,需要在FB10FB10的变量声明表中为的变量声明表中为FB1FB1的调用声明不同名称的静态变量,数据的调用声明不同名称的静态变量,数据类型为类型为FB1FB1(或使用符号名(或使用符号名“Engine”Engi
198、ne”)。)。 编写功能块编写功能块FB10FB10的控制程序的控制程序 在在变变量量声声明明表表内内完完成成F FB B1 1类类型型的的局局部部实实例例:“P Pe et tr ro ol l_ _E En ng gi in ne e”和和“D Di ie es se el l_ _E En ng gi in ne e”的的声声明明以以后后,在在程程序序元元素素目目 录录 的的“ M Mu ul lt ti ip pl le e I In ns st ta an nc ce es s”目目录录中中就就会会出出现现所所声声明明的的多多重重实实例例 , 如如 图图 所所 示示 。 接接下下来来
199、可可在在F FB B1 10 0的的代代码码区区,调调 用用F F B B 1 1的的 “ 局局 部部实例实例”。 编写功能块编写功能块FB10FB10的控制程序的控制程序 调调用用F FB B1 1局局部部实实例例时时,不不再再使使用用独独立立的的背背景景数数据据块块,F FB B1 1的的实实例例数数据据位位于于F FB B1 10 0的的实实例例数数据据块块D DB B1 10 0中中。发发动动机机的的实实际际转转速速可可直直接接从从共共享享数数据据块块 中中 得得 到到 , 如如D DB B3 3. .D DB BW W2 2 ( 符符 号号 地地 址址 为为 ,S_Data.PE_Actual_SpeedS_Data.PE_Actual_Speed)。)。 5.8.5 5.8.5 生成多重背景数据块生成多重背景数据块DB10 DB10 在在“多多重重背背景景”项项目目内内创创建建一一个个与与F FB B1 10 0相相关关联联的的多多重重背背景数据块景数据块DB10DB10,符号名,符号名“Engine_DataEngine_Data”。 5.8.6 5.8.6 在在OB1OB1中调用功能中调用功能(FC)(FC)及上层功能块及上层功能块(FB)(FB)