无论PLC控制系统有多么复杂,归根到底,PLC用户程序都是由大量基本编程指令所组成的集合。
设计者可以根据控制对象各部分的不同要求,通过对要求的分解,运用基本指令编制出相应的程序网络(Network)或由几个网络组成的简单“功能程序段”。在此基础上,只要将这些程序网络或功能程序段,按照控制系统的动作要求,以S7程序规定的格式进行排列与组合,就可以组成完整的PLC程序。
1.西门子S7-200的程序结构
过程映像输入/输出(I/Q)、变量存储器V、内部存储器位M、定时器T、计数器C等属于全局变量。S7-200的程序组织单元(ProgramOrganizationalUnit,简称为POU)包括主程序、子程序和中断程序。每个POU均有自己的64字节局部变量,局部变量只能在它所在的POU中使用。与此相反,全局变量可以在各POU中使用。
下面是子程序可以使用的局部变量:
1)TEMP(临时变量)是暂时保存在局部数据区中的变量。只有在执行该POU时,定义的临时变量才被使用,POU执行完后,不再保存临时变量的数值。
2)IN是由调用它的POU提供的输入参数。
3)OUT是返回给调用它的POU的输出参数(子程序的执行结果)。
4)IN_OUT是输入_输出参数,其初始值由调用它的POU传送给子程序,并用同一变量将子程序的执行结果返回给调用它的POU。
主程序和中断程序的局部变量中只有临时变量TEMP。
具有输入、输出参数和局部变量的子程序易于实现结构化编程,对于长期生产同类设备或生产线的厂家尤为有用。这些厂家的编程人员为设备的各组件或工艺功能编写了大量的通用的子程序。即使不知道子程序的内部代码,只要知道子程序的功能和输入、输出参数的意义,就可以通过程序之间的调用快速“组装”出满足不同用户要求的控制程序。就好像用数字集成电路芯片组成复杂的数字电路一样。
子程序如果没有输入、输出参数,它和调用它的程序之间没有清晰的接口,很难实现结构化编程。
子程序如果没有局部变量,它和调用它的程序之间只能通过全局变量来交换数据,子程序内部也只能使用全局变量。将子程序和中断程序移植到别的项目时,需要重新统一安排它们使用的全局变量,以保证不会出现地址冲突。当程序很复杂,子程序和中断程序很多时,这种重新分配地址的工作量非常大。
如果子程序和中断程序有局部变量,并且它们内部只使用局部变量,不使用全局变量,因为与其他POU没有地址冲突,不需作任何改动,就可以将子程序移植到别的项目中去。
开入模块(16点,24VDC)
6ES7 321-1BH02-9AJ0 开入模块(16点,24VDC)组合件 (6ES7 321-1BH02-0AA0+6ES7 392-1AJ00-0AA0)
6ES7 321-1BH10-0AA0 开入模块(16点,24VDC)
6ES7 321-1BH50-0AA0 开入模块(16点,24VDC,源输入)
6ES7 321-1BH50-9AJ0 开入模块(16点,24VDC,源输入)组合件 (6ES7 321-1BH50-0AA0+6ES7 392-1AJ00-0AA0)
6ES7 321-1BL00-0AA0 开入模块(32点,24VDC)
6ES7 321-1BL00-9AM0 开入模块(32点,24VDC)组合件 (6ES7 321-1BL00-0AA0+6ES7 392-1AM00-0AA0)
6ES7 321-7BH01-0AB0 开入模块(16点,24VDC,诊断能力)
6ES7 321-1EL00-0AA0 开入模块(32点,120VAC)
6ES7 321-1FF01-0AA0 开入模块(8点,120/230VAC)
6ES7 321-1FF10-0AA0 开入模块(8点,120/230VAC)与公共电位单独连接
6ES7 321-1FH00-0AA0 开入模块(16点,120/230VAC)
6ES7 321-1FH00-9AJ0 开入模块(16点,120/230VAC) (6ES7 321-1FH00-0AA0+6ES7 392-1AJ00-0AA0)
6ES7 321-1CH00-0AA0 开入模块(16点,24/48VDC)
6ES7 321-1CH20-0AA0 开入模块(16点,48/125VDC)
6ES7 321-1BP00-0AA0 光电隔离,每组 16,64 DI,DC 24V,3MS,漏/源
6ES7 322-1BP00-0AA0 光电隔离,每组 16,64 DO,DC 24V,0.3A(源),总电流2A/组
6ES7 322-1BH01-0AA0 开出模块(16点,24VDC)
6ES7 322-1BH01-9AJ0 开出模块(16点,24VDC) (6ES7 322-1BH01-0AA0+6ES7 392-1AJ00-0AA0)
6ES7 322-1BH10-0AA0 开出模块(16点,24VDC)高速
6ES7 322-1CF00-0AA0 开出模块(8点,48-125VDC)
6ES7 322-8BF00-0AB0 开出模块(8点,24VDC)诊断能力
6ES7 322-5GH00-0AB0 开出模块(16点,24VDC,独立接点,故障保护)
6ES7 322-1BL00-0AA0 开出模块(32点,24VDC)
6ES7 322-1BL00-9AM0 开出模块(32点,24VDC) (6ES7 322-1BL00-0AA0+6ES7 392-1AM00-0AA0)
6ES7 322-1FL00-0AA0 开出模块(32点,120VAC/230VAC)
6ES7 322-1BF01-0AA0 开出模块(8点,24VDC,2A)
6ES7 322-1FF01-0AA0 开出模块(8点,120V/230VAC)
6ES7 322-5FF00-0AB0 开出模块(8点,120V/230VAC,独立接点)
6ES7 322-1HF01-0AA0 开出模块(8点,继电器,2A)
6ES7 322-1HF01-9AJ0 开出模块(8点,继电器,2A) (6ES7 322-1HF01-0AA0+6ES7 392-1AJ00-0AA0)
6ES7 322-1HF10-0AA0 开出模块(8点,继电器,5A,独立接点)
6ES7 322-1HH01-0AA0 开出模块(16点,继电器)DO
6ES7 322-1HH01-9AJ0 开出模块(16点,继电器) (6ES7 322-1HH01-0AA0+6ES7 392-1AJ00-0AA0)
6ES7 322-5HF00-0AB0 开出模块(8点,继电器,5A,故障保护)
6ES7 322-1FH00-0AA0 开出模块(16点,120V/230VAC)
6ES7 323-1BH01-0AA0 8点输入,24VDC;8点输出,24VDC模块
6ES7 323-1BL00-0AA0 16点输入,24VDC;16点输出,24VDC模块
6ES7 323-1BL00-9AM0 16点输入,24VDC;16点输出,24VDC模块 (6ES7 323-1BL00-0AA0+6ES7 392-1AM00-0AA0)
模拟量模板
6ES7 331-7KF02-0AB0 模拟量输入模块(8路,多种信号)
6ES7 331-7KF02-9AJ0 模拟量输入模块(8路,多种信号) (6ES7 331-7KF02-0AB0+6ES7 392-1AJ00-0AA0)
6ES7 331-7KB02-0AB0 模拟量输入模块(2路,多种信号)
6ES7 331-7KB02-9AJ0 模拟量输入模块(2路,多种信号) (6ES7 331-7KB02-0AB0+6ES7 392-1AJ00-0AA0)
6ES7 331-7NF00-0AB0 模拟量输入模块(8路,15位精度)
6ES7 331-7NF00-9AM0 模拟量输入模块(8路,15位精度) (6ES7 331-7NF00-0AB0+6ES7 392-1AM00-0AA0)
6ES7 331-7NF10-0AB0 模拟量输入模块(8路,15位精度)4通道模式
6ES7 331-7HF01-0AB0 模拟量输入模块(8路,14位精度,快速)
6ES7 331-1KF02-0AB0 模拟量输入模块(8路, 13位精度)
6ES7 331-1KF02-9AM0 模拟量输入模块(8路, 13位精度) (6ES7 331-1KF02-0AB0+6ES7 392-1AM00-0AA0)
6ES7 331-7PF01-0AB0 8路模拟量输入,16位,热电阻
6ES7 331-7PF01-9AM0 8路模拟量输入,16位,热电阻 (6ES7 331-7PF01-0AB0+6ES7 392-1AM00-0AA0)
6ES7 331-7PF11-0AB0 8路模拟量输入,16位,热电偶
6ES7 331-7PF11-9AM0 8路模拟量输入,16位,热电偶 (6ES7 331-7PF01-0AB0+6ES7 392-1AM00-0AA0)
6ES7 332-5HD01-0AB0 模拟输出模块(4路)
6ES7 332-5HD01-9AJ0 模拟输出模块(4路) (6ES7 332-5HD01-0AB0+6ES7 392-1AJ00-0AA0)
6ES7 332-5HB01-0AB0 模拟输出模块(2路)
6ES7 332-5HB01-9AJ0 模拟输出模块(2路) (6ES7 332-5HB01-0AB0+6ES7 392-1AJ00-0AA0)
6ES7 332-5HF00-0AB0 模拟输出模块(8路)
6ES7 332-5HF00-9AM0 模拟输出模块(8路) (6ES7 332-5HF00-0AB0+6ES7 392-1AM00-0AA0)
6ES7 332-7ND02-0AB0 模拟量输出模块(4路,15位精度)
6ES7 334-0KE00-0AB0 模拟量输入(4路RTD)/模拟量输出(2路)
6ES7 334-0CE01-0AA0 模拟量输入(4路)/模拟量输出(2路)
2.西门子的S7-300/400的程序结构
S7-300/400将子程序分为功能(Function,或称为函数)和功能块(FunctionBlock)。
S7-300/400的功能与S7-200的子程序基本上相同。它们均有输入、输出参数和临时变量,功能的局部数据中的返回值实际上属于输出参数。它们没有**的存储区,功能执行结束后,不再保存临时变量中的数据。
可以用全局变量来保存那些在功能执行结束后需要保存的数据,但是会影响到功能的可移植性。
功能块是用户编写的有自己**的存储区(即背景数据块)的程序块,功能块的输入、输出参数和静态变量存放在*的背景数据块中,临时变量存储在局部数据堆栈中。每次调用功能块时,都要*一个背景数据块。(今天的转发暗号是:亿维公司口号:信赖,源自品质;信任,铸就品牌)功能块执行完后,背景数据块中的数据不会丢失,但是不会保存局部数据堆栈中的数据。
功能块采用了类似于C 的封装的概念,将程序和数据封装在一起,具有很好的可移植性。
S7-300/400的共享数据块可供所有的逻辑块使用。
??
具有七大优势的过程控制系统
同质和统一的 SIMATIC PCS 7 过程控制系统具有其*特的可升级架构和出色的系统特性,是过程控制工厂具有成本效益的实施和经济运行的理想基础。
通过附加功能的无缝集成进行了专门的扩展,SIMATIC PCS 7 所具有的优势已经远远地**过了典型的过程控制系统,例如:
资产管理
SIMATIC BATCH 过程的自动化
材料运输的控制
安全
高级过程控制
远程控制
能量管理
IT 安全
评估/管理过程数据
IT 系统接口
这在 SIMATIC PCS 7 过程控制系统的七大优势中有所体现:
通过集成降低总体拥有成本
高性能和质量与高效的工程组态、可靠性和利用率相结合
灵活性和可扩展性– 从小型实验室系统到大型工厂网络
通过西门子系统和第三方系统不断的现代化更新改造保护投资
安全与保安 – 集成的安全技术和全面的工业安全,可靠地保护人员和环境,以及过程和工厂
连续的技术创新 – 源自**良好的自动化技术供应商
***网络 – 通过*和授权合作伙伴的**网络提供本地服务和支持
功能
在过程自动化中实现更大灵活性
在工厂中,过程控制系统是实现较佳价值增值的基础:通过过程控制系统可以操作、监视和影响所有步骤和过程。
过程控制系统性能越高,系统优化的潜能就越大。正是基于这一原因,SIMATIC PCS 7 的设计除了具有出色的系统性能之外,还具有*特的可扩展性、高度的灵活性和集成性等特点。过程控制系统从规划和工程组态开始,提供功能强大的各种工具、功能和功能部件,在整个工厂生命周期的所有阶段都可以实现低成本的工厂高效运作。
通过集成获得灵活性
集成是 SIMATIC PCS 7 的特殊优势之一。集成包含许多方面:
横向集成到 TIA 中
纵向集成到各层级通信中
系统集成工程组态工具
集成有现场级的各种组件,包括驱动装置、开关柜等等
集成有其它诸多功能,包括批生产过程自动化、路径控制、过程安全、能源管理、远程控制等
横向集成
SIMATIC PCS 7 可无缝集成到 TIA,将企业完整的过程链(从原材料入库到成品出库)**集成到自动化系统中。
过程控制系统主要负责主生产过程的自动化操作。与此同时,所有附属设施,如低压或中压开关设备或楼宇管理系统等电力基础设施,也可以集成到系统中。
通过将相应的 SIMATIC 标准组件(自动化系统、工业 PC、网络组件或分布式过程 I/O)集成到过程控制系统中,可确保各组件**协同,并通过诸如简化选型、降低库存或提供**支持等措施实现丰厚**。
6ES7 321-1BH10-0AA0 开入模块(16点,24VDC)
6ES7 321-1BH50-0AA0 开入模块(16点,24VDC,源输入)
6ES7 321-1BH50-9AJ0 开入模块(16点,24VDC,源输入)组合件 (6ES7 321-1BH50-0AA0+6ES7 392-1AJ00-0AA0)
6ES7 321-1BL00-0AA0 开入模块(32点,24VDC)
6ES7 321-1BL00-9AM0 开入模块(32点,24VDC)组合件 (6ES7 321-1BL00-0AA0+6ES7 392-1AM00-0AA0)
6ES7 321-7BH01-0AB0 开入模块(16点,24VDC,诊断能力)
6ES7 321-1EL00-0AA0 开入模块(32点,120VAC)
6ES7 321-1FF01-0AA0 开入模块(8点,120/230VAC)
6ES7 321-1FF10-0AA0 开入模块(8点,120/230VAC)与公共电位单独连接
6ES7 321-1FH00-0AA0 开入模块(16点,120/230VAC)
6ES7 321-1FH00-9AJ0 开入模块(16点,120/230VAC) (6ES7 321-1FH00-0AA0+6ES7 392-1AJ00-0AA0)
6ES7 321-1CH00-0AA0 开入模块(16点,24/48VDC)
6ES7 321-1CH20-0AA0 开入模块(16点,48/125VDC)
6ES7 321-1BP00-0AA0 光电隔离,每组 16,64 DI,DC 24V,3MS,漏/源
6ES7 322-1BP00-0AA0 光电隔离,每组 16,64 DO,DC 24V,0.3A(源),总电流2A/组
6ES7 322-1BH01-0AA0 开出模块(16点,24VDC)
6ES7 322-1BH01-9AJ0 开出模块(16点,24VDC) (6ES7 322-1BH01-0AA0+6ES7 392-1AJ00-0AA0)
6ES7 322-1BH10-0AA0 开出模块(16点,24VDC)高速
6ES7 322-1CF00-0AA0 开出模块(8点,48-125VDC)
6ES7 322-8BF00-0AB0 开出模块(8点,24VDC)诊断能力
6ES7 322-5GH00-0AB0 开出模块(16点,24VDC,独立接点,故障保护)
6ES7 322-1BL00-0AA0 开出模块(32点,24VDC)
6ES7 322-1BL00-9AM0 开出模块(32点,24VDC) (6ES7 322-1BL00-0AA0+6ES7 392-1AM00-0AA0)
6ES7 322-1FL00-0AA0 开出模块(32点,120VAC/230VAC)
6ES7 322-1BF01-0AA0 开出模块(8点,24VDC,2A)
6ES7 322-1FF01-0AA0 开出模块(8点,120V/230VAC)
6ES7 322-5FF00-0AB0 开出模块(8点,120V/230VAC,独立接点)
6ES7 322-1HF01-0AA0 开出模块(8点,继电器,2A)
6ES7 322-1HF01-9AJ0 开出模块(8点,继电器,2A) (6ES7 322-1HF01-0AA0+6ES7 392-1AJ00-0AA0)
6ES7 322-1HF10-0AA0 开出模块(8点,继电器,5A,独立接点)
6ES7 322-1HH01-0AA0 开出模块(16点,继电器)DO
6ES7 322-1HH01-9AJ0 开出模块(16点,继电器) (6ES7 322-1HH01-0AA0+6ES7 392-1AJ00-0AA0)
6ES7 322-5HF00-0AB0 开出模块(8点,继电器,5A,故障保护)
6ES7 322-1FH00-0AA0 开出模块(16点,120V/230VAC)
6ES7 323-1BH01-0AA0 8点输入,24VDC;8点输出,24VDC模块
6ES7 323-1BL00-0AA0 16点输入,24VDC;16点输出,24VDC模块
6ES7 323-1BL00-9AM0 16点输入,24VDC;16点输出,24VDC模块 (6ES7 323-1BL00-0AA0+6ES7 392-1AM00-0AA0)
模拟量模板
6ES7 331-7KF02-0AB0 模拟量输入模块(8路,多种信号)
6ES7 331-7KF02-9AJ0 模拟量输入模块(8路,多种信号) (6ES7 331-7KF02-0AB0+6ES7 392-1AJ00-0AA0)
6ES7 331-7KB02-0AB0 模拟量输入模块(2路,多种信号)
6ES7 331-7KB02-9AJ0 模拟量输入模块(2路,多种信号) (6ES7 331-7KB02-0AB0+6ES7 392-1AJ00-0AA0)
6ES7 331-7NF00-0AB0 模拟量输入模块(8路,15位精度)
6ES7 331-7NF00-9AM0 模拟量输入模块(8路,15位精度) (6ES7 331-7NF00-0AB0+6ES7 392-1AM00-0AA0)
6ES7 331-7NF10-0AB0 模拟量输入模块(8路,15位精度)4通道模式
6ES7 331-7HF01-0AB0 模拟量输入模块(8路,14位精度,快速)
6ES7 331-1KF02-0AB0 模拟量输入模块(8路, 13位精度)
6ES7 331-1KF02-9AM0 模拟量输入模块(8路, 13位精度) (6ES7 331-1KF02-0AB0+6ES7 392-1AM00-0AA0)
6ES7 331-7PF01-0AB0 8路模拟量输入,16位,热电阻
6ES7 331-7PF01-9AM0 8路模拟量输入,16位,热电阻 (6ES7 331-7PF01-0AB0+6ES7 392-1AM00-0AA0)
6ES7 331-7PF11-0AB0 8路模拟量输入,16位,热电偶
6ES7 331-7PF11-9AM0 8路模拟量输入,16位,热电偶 (6ES7 331-7PF01-0AB0+6ES7 392-1AM00-0AA0)
6ES7 332-5HD01-0AB0 模拟输出模块(4路)
6ES7 332-5HD01-9AJ0 模拟输出模块(4路) (6ES7 332-5HD01-0AB0+6ES7 392-1AJ00-0AA0)
6ES7 332-5HB01-0AB0 模拟输出模块(2路)
6ES7 332-5HB01-9AJ0 模拟输出模块(2路) (6ES7 332-5HB01-0AB0+6ES7 392-1AJ00-0AA0)
6ES7 332-5HF00-0AB0 模拟输出模块(8路)
6ES7 332-5HF00-9AM0 模拟输出模块(8路) (6ES7 332-5HF00-0AB0+6ES7 392-1AM00-0AA0)
6ES7 332-7ND02-0AB0 模拟量输出模块(4路,15位精度)
6ES7 334-0KE00-0AB0 模拟量输入(4路RTD)/模拟量输出(2路)
6ES7 334-0CE01-0AA0 模拟量输入(4路)/模拟量输出(2路)
纵向集成
企业层的通信包括现场级、控制级、过程级、以及企业管理和资源规划级 (ERP)。通过基于国际工业标准的标准化接口和内部系统接口,SIMATIC PCS 7 可以在企业内部随时随地地获取过程数据,对工厂操作流程、工艺流程和业务流程进行分析、规划、协调及优化。
*工程组态
SIMATIC PCS 7 凭借按级分类且品种繁多的功能、统一的操作员控制以及相同架构的工程组态和管理工具,获得了客户一致认可。*工程师站包含有大量的工具,可实现集成系统的工程组态以及对批生产自动化、安全功能、物料输送或远程控制系统的组态,从而在整个生命周期内实现丰厚的投资增值。通过降低组态成本和培训成本,将整个工厂生命周期的总拥有成本 (TCO) 较小化。
功能多样化
根据典型过程自动化或客户特定的要求,可以对 SIMATIC PCS 7 进行以下功能扩展,例如:
批生产过程自动化 (SIMATIC BATCH)
功能安全和保护功能(过程自动化安全集成)
物料输送的路径控制 (SIMATIC Route Control)
远程设备的远程控制 (SIMATIC PCS 7 TeleControl)
电气开关装置自动化 (SIMATIC PCS 7 PowerControl)
同时,在控制系统中无缝集成更多其它功能,可以优化企业的生产过程,进一步降低系统的运行成本。例如,SIMATIC PCS 7 中除了包含能源管理和资产管理工具,还可以进行高质量的闭环控制并提供行业特定的自动化解决方案和库。
定制自动化
正是凭借*特的可扩展系统统架构,SIMATIC PCS 7 才能够在低成本实施各种自动化解决方案和经济运行过程控制工厂中大显身手。
基于标准 SIMATIC 组件搭建的模块化系统平台,使得 SIMATIC PCS 7 用户受益匪浅。其统一性可以灵活扩展硬件和软件,无论是在系统限值内外,均可做到**交互。SIMATIC PCS 7 过程控制系统的架构可以根据客户要求对仪表和控制系统进行组态,以较佳匹配工厂规模。将来如果将来工厂产能提升或需要进行工艺更改,则可以随时对控制系统进行扩展或重新组态。工厂规模扩增时,SIMATIC PCS 7 可以随之非常便捷地进行扩展。因而*为工厂扩容花费高昂的费用。
工程组态中的灵活性与性能
过程工厂中的工程组态工作流程始终是一个挑战:多个参与者、众多不同的数据格式和多种接口经常会导致传输错误和系统中断,从而需要投入更多时间与成本。在多个不同部门之间交换数据时,信息常常会丢失或需要手动更正。
一种全集成化的解决方案现在**次可用于工厂项目的规划和归档记录:SIMATIC PCS 7 Plant Automation Accelerator。客户尤其将获益于一致的工程组态,自动化规划和控制系统之间不会发生系统中断。通过 SIMATIC PCS 7 Plant Automation Accelerator 的基于对象的方法,您可以在一个*数据平台上工作,从而确保基于一个电子式工作流程,实现从工厂组态直至自动化的全集成式规划。该工作流程的范围从规划到发出报价单(包括材料清单),自动生成 SIMATIC PCS 7 过程控制系统的过程控制数据(包括电气组态),直至受控的海量数据组态以及工厂的直接归档。
这种模块化组态方法提高了整体项目效率,较大程度降低了风险。高度标准化和简单组态还可在实施阶段节省时间与成本。规划与工程组态之间的简单同步避免了重复输入和接口损耗,缩短了项目运行时间。
?