| 注册| 产品展厅| 收藏该商铺

行业产品

当前位置:
西门子CPU模块>>西门子>>西门子PLC代理商>> 成都西门子PLC代理商

成都西门子PLC代理商

返回列表页
  • 成都西门子PLC代理商
  • 成都西门子PLC代理商
  • 成都西门子PLC代理商
  • 成都西门子PLC代理商
  • 成都西门子PLC代理商
收藏
举报
参考价 面议
具体成交价以合同协议为准
  • 型号
  • 品牌 Siemens/西门子
  • 厂商性质 经销商
  • 所在地 上海市
在线询价 收藏产品

更新时间:2023-07-28 18:06:05浏览次数:86

联系我们时请说明是化工仪器网上看到的信息,谢谢!

同类优质产品

更多产品

产品简介

产地类别 进口
成都西门子PLC代理商
SIEMENS 可编程控制器
  1、 SIMATIC S7 系列PLC:S7-200、S7-1200、S7-300、S7-400、ET-200
  2、 逻辑控制模块 LOGO!230RC、230RCO、230RCL、24RC、24RCL等
  3、 SITOP直流电源 24V DC 1.3A、2.5A、3A、5A、10A、20A、40A可并联.

详细介绍

成都西门子PLC代理商                                                                                       

S7-300系列PLC的编程语言是STEP 7。STEP 7继承了STEP 5语言结构化程序设计的优点,用文件块的形式管理用户编写的程序及程序运行所需的数据。如果这些文件块是子程序,则可以通过调用语句,将它们组成结构化的用户程序。这样,PLC的程序组织明确,结构清晰,易于修改。

为支持结构化程序设计,STEP 7用户程序通常由组织块(OB)、功能块(FB)或功能块(FC)等三种类型的逻辑块和数据块(DB)组成。

组织块(OB)是系统操作程序与用户应用程序在各种条件下的接口界面,用于控制程序的运行。OB块根据操作系统调用的条件(如时间中断、报警中断等)可分成几种类型,这些类型有不同的优先级,高优先级的OB可以中断低优先级的OB。每个S7 CPU包含一套可编程的OB块(随CPU而不同),不同的OB块执行特定的功能。

OB1是主程序循环块,在任何情况下,它都是需要的。根据过程控制的复杂程度,可将所有程序放入OB1中进行线性编程,或将程序用不同的逻辑块加以结构化,通过OB1调用这些逻辑块,并允许块间的相互调用。块的调用指令中止当前块(调用块)的运行调用,然后执行被调用块的所有指令。一旦被调用的块被完成,执行调用指令的块继续执行调用指令后的指令。调用块可以是任何逻辑块,被调用块只能是功能块(除OB外的逻辑块)。图5.1所示是一个STEP 7调用实例。除了OB1,操作系统可以调用其它的OB块以响应确定事件。其它可用的OB块随所用的CPU性能和控制过程的要求而定。

功能块(FB、FC)实际上是用户子程序,分为带“记忆"的功能块FB和不带“记忆"的功能块FC。前者有一个数据结构与该功能块的参数表*相同的数据块(DB)附属于该功能块,并随功能块的调用而打开,随功能块的结束而关闭。该附属数据块叫做背景数据块(Instance Data Block),存放在背景数据块中的数据在FB块结束时继续保持,即被“记忆"。功能块FC没有背景数据块,当FC完成操作后数据不能保持。

数据块(DB)是用户定义的用于存取数据的存储区,可以被打开或关闭。DB可以是属于某个FB的情景数据块,也可以是通用的全局数据块,用于FB或FC。S7 CPU还提供标准系统功能块(SFB、SFC),它们是预先编好的,经过测试后集成在S7 CPU中的功能程序库。用户可以直接调用它们,高效地编制自己的程序。由于它们是操作系统的一部分,因此不需将其作为用户程序下载到PLC。与FB块相似,SFB需要一个背景数据块,并需将此DB块作为程序的一部分安装到CPU中。不同的CPU提供不同的SFB、SFC功能。

系统数据块(SDB)是为存放PLC参数所建立的系统数据存储区。用STEP 7的S7组态软件可以将PLC组态数据和其它操作参数存放于SDB中。

功能块编程及调用

功能块由两个主要部分组成:一部分是每个功能块的变量声明表,变量声明表声明此块的局部数据;另一部分是逻辑指令组成的程序,程序要用到变量声明表中给出的局部数据。

当调用功能块时,需提供块执行时要用到的数据或变量,也就是将外部数据传递给功能块,这被称为参数传递。参数传递的方式使得功能块具有通用性,它可被其它的块调用,以完成多个类似的控制任务。

1. 变量声明表(局部数据)

每个逻辑块前部都有一个变量声明表,在变量声明表中定义逻辑块用到的局部数据。局部数据分为参数和局部变量两大类,局部变量又包括静态变量和临时变量(暂态变量)两种。参数是在调用块和被调用块间传递的数据。静态变量和临时变量是仅供逻辑块本身使用的数据。表5.1给出了局部数据声明类型,表中内容的排列顺序也是在变量声明

表中声明变量的顺序和变量在内存中的存储顺序。在逻辑块中不需使用的局部数据类型,可以不必在变量声明表中声明。

表5.1 局部数据类型

变 量 名 类 型 说 明

输入参数 In 由调用逻辑块的块提供数据,输入给逻辑块的指令

输出参数 Out 向调用逻辑块的块返回参数,即从逻辑块输出结果数据

IO参数 In_Out 参数的值由调用块的块提供,由逻辑块处理修改,然后返回

静态变量 Stat 静态变量存储在背景数据块中,块调用结束后,其内容被保留

临时变量 Temp 临时变量存储在L堆栈中,块执行结束变量的值因被其它内容覆盖而丢掉

对于功能块FB,操作系统为参数及静态变量分配的存储空间是背景数据块。这样参数变量在背景数据块中留有运行结果备份。在调用FB时,若没有提供实参,则功能块使用背景数据块中的数值。操作系统在L堆栈中给FB的临时变量分配存储空间。

对于功能块FC,操作系统在L堆栈中给FC的临时变量分配存储空间。由于没有背景数据块,因而FC不能使用静态变量。输入、输出、IO参数以指向实参的指针形式存储在操作系统为参数传递而保留的额外空间中。

对于组织块OB来说,其调用是由操作系统管理的,用户不能参与。因此,OB只有定义在L堆栈中的临时变量。

1) 形参

为保证功能块对同一类设备控制的通用性,用户在编程时就不能使用具体设备对应的存储区地址参数(如不能使用I1.0等),而是使用这类设备的抽象地址参数。这些抽象参数称为形式参数,简称形参。将该设备的相应实际存储区地址参数(简称实参)传递给功能块,功能块在运行时以实参替代形参,从而可通过调用功能块实现对具体设备的控制。当对另一设备控制时,同样也可通过调用实参将其传递给功能块。

形参需在功能块的变量声明表中定义,实参在调用功能块时给出。在功能块的不同调用处,可为形参提供不同的实参,但实参的数据类型必须与形参*。用户程序可定义功能块的输入值参数或输出值参数,也可定义一参数作为输入输出值。参数传递可将调用块的信息传递给被调用块,也能把被调用块的运行结果返回给调用块。

2) 静态变量

静态变量在PLC运行期间始终被存储。S7将静态变量定义在背景数据块中,当被调用块运行时,能读出或修改静态变量;被调用块运行结束后,静态变量保留在数据块中。由于只有功能块FB有关联的背景数据块,因此只能为FB定义静态变量。功能块FC不能有静态变量。

3) 临时变量

临时变量仅在逻辑块运行时有效,逻辑块结束时存储临时变量的内存被操作系统另行 分配。S7将临时变量定义在L堆栈中,L堆栈是为存储逻辑块的临时变量而专设的。当块程序运行时,在L堆栈中建立该块的临时变量,一旦块执行结束,堆栈重新分配,因而信息丢失。

逻辑块局部数据的数据类型

在变量声明表中,要明确局部数据的数据类型,这样操作系统才能给变量分配确定的 存储空间。局部数据可以是基本数据类型或复式数据类型,也可以是专门用于参数传递 的所谓的“参数类型"。参数类型包括定时器、计数器、块的地址或指针等,见表5.2。表5.2 参数类型变量

参数类型 大 小 说 明

定时器(Timer) 2 B 在功能块中定义一个定时器形参,调用时赋予定时器实参

计数器(Counter) 2 B 在功能块中定义一个计数器形参,调用时赋予计数器实参

块:

Block_FB

Block_FC

Block_DB

Block_SDB 2 B 在功能块中定义一个功能块或数据块形参变量,调用时给功能块类或数据块类形参赋予实际的功能块或数据块编号,如

FC 101、DB 42

指针(Pointer) 6 B 在功能块中定义一个形参,该形参说明的是内存的地址指针。例如,调用时可给形参赋予实参P#M50.0,以访问内存M50.0

ANY 10 B 当实参的数据类型未知时,可以使用该类型

1) 定时器或计数器参数类型

在功能块中定义一个定时器或计数器类型的形参,功能块就能使用一个定时器或计数器,而不需明确具体的定时器或计数器,等到调用该功能块时再确定定时器或计数器号。这使用户程序能灵活性地分配和使用定时器或计数器。当给定时器或计数器参数类型形参分配实参时,在“T"或“C"后跟一个有效整数,如T 100。

2) 块参数类型

当定义一个作为输入输出的块时,参数声明决定了块的类型(FB、FC、DB等)。当为块参数类型形参分配实参时,可以使用物理地址,如FC 101,也可使用符号地址,如“valve

3) 指针参数类型

一个指针给出的是变量的地址,而不是变量的数值大小。在有些功能块中,可能使用指针编程更为方便。用定义指针类型的形参,就能在功能块中先使用一个虚设的指针,待调用功能块时再为其赋予确定的地址。当为指针参数类型形参分配实参时,需要指明内存地址,例如P#M50.0。

3. 块调用过程及内存分配

CPU提供块堆栈(B堆栈)来存储与处理被中断块的有关信息。当发生块调用或有来自更高优先级的中断时,就有相关的块信息存储在B堆栈里,并影响部分内存和寄存器。图5.2显示了调用块时B堆栈与L堆栈的变化。图5.3提供了关于STEP 7的块调用情况。

1) B堆栈与L堆栈

B堆栈是CPU系统内存中的一部分,它存储以下被中断块的数据:

(1) 块号、块类型、优先级、被中断块的返回地址;

(2) 块寄存器DB、DI被中断前的内容;

(3) 临时变量的指针(被中断块的L堆栈地址)。

STEP 7中可使用的B堆栈大小是有限制的,对于S7-300 CPU,则可在B堆栈中存储8个块的信息。因此,块调用嵌套深度也是有限制的,多可同时激活8个块。

L堆栈是CPU内存中的一部分,它在块调用时被重新分配。L堆栈用来存储逻辑块中定义的临时变量,也分配给临时本地数据使用。梯形图的方块指令与标准功能块也可能使用L堆栈存储运算的中间结果。

2) 调用功能块FB

当调用功能块FB时,会有以下事件发生:

(1) 调用块的地址和返回位置存储在块堆栈中,调用块的临时变量压入L堆栈;

(2) 数据块DB寄存器内容与DI寄存器内容交换;

(3) 新的数据块地址装入DI寄存器;

(4) 被调用块的实参装入DB和L堆栈上部;

(5) 当功能块FB结束时,先前块的现场信息从块堆栈中弹出,临时变量弹出L堆栈;

(6) DB和DI寄存器内容交换。

当调用功能块FB时,STEP 7并不一定要求给FB形参赋予实参,除非参数是复式数据类型的IO形参或参数类型形参。如果没有给FB形参赋予实参,则功能块FB就调用背景数据块内的数值。该数值是在功能块的变量声明表内或背景数据块内设置的形参初始数值。

成都西门子PLC代理商

收藏该商铺

登录 后再收藏

提示

您的留言已提交成功!我们将在第一时间回复您~
二维码 意见反馈
在线留言