产品库

西门子ZG贵州省授权总代理商

产品信息
品牌 其他品牌

西门子ZG贵州省授权总代理商

欢迎联系郑工(湖南嘉普云自动化公司),,我们主要是做可编程控制器,变频器,触摸屏,电线电缆及附件,数控系统,伺服电机,软启动,西门子PLC模块哪家代理商公司价格质量好 西门子PLC模块哪家代理商公司价格质量好 西门子PLC模块哪家代理商价格质量好 西门子PLC模块哪家公司价格质量好 ZG哪家西门子代理商销售的PLC模块价格质量好

    

承诺一:1、保证全新原装进口

承诺三:3、保证售后服务质量

流程二:2、我方会根据询价单型号查询价格以及交货期,拟一份详细正规报价单

流程四:4、报价单负责人根据客户提供型号以及数量拟份销售合同

流程六:6、我公司财务查到款后,业务员安排发货并通知客户跟踪运单

本着“以人为本、科技先导、顾客满意、持续改进”的工作方针,致力于工业自动化控制领域的产品开发、工程配套和系统集成,拥有丰富的自动化产品的应用和实践经验以及雄厚的技术力量,为广大用户提供了SIEMENS的技术及自动控制的解决方案,

    

湖南嘉普云自动化在经营活动中精益求精,具备如下业务优势:
 

SIEMENS 可编程控制器
 

1、 SIMATIC S7 系列PLC、S7200、s71200、S7300、S7400、ET200

2、 逻辑控制模块 LOGO!230RC、230RCO、230RCL、24RC、24RCL等

3、 SITOP 系列直流电源 24V DC 1.3A、2.、3A、、10A、20A、40A

4、HMI 触摸屏TD200 TD400C TP177,MP277 MP377

SIEMENS 交、直流传动装置,数控伺服  

 

 

西门子ZG贵州省授权总代理商

 

 

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中的功能程序库。用户可以直接调用它们,GX地编制自己的程序。由于它们是操作系统的一部分,因此不需将其作为用户程序下载到PLC。与FB块相似,SFB需要一个背景数据块,并需将此DB块作为程序的一部分安装到CPU中。不同的CPU提供不同的SFB、SFC功能。

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

功能块编程及调用

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

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

 

1) 建立数组

在数据块或变量声明表中可定义数组。在声明数组时,首先给数组命名,接着使用关键字(ARRAY),然后在方括号中给出数组的大小及维数。可以定义多达6维的数组,并用下标来标识数组的大小。在方括号中放下标,各维之间用逗号隔开,每一维的首尾之间用双点隔开。一个下标可以为任何一个整数值(范围:-32 768~+32 767),并包括负数。如用ARRAY[1‥3, 1‥2, 1‥3, -2‥3, 30‥32, 1‥4]来定义变量Op_temps为6维数组。该数组的个整数为Op_temps[1, 1, 1, -2, 30, 1];一个为Op_temps[3, 2, 3, 3, 32, 4]。图5.5显示了建立名字为Heat_2×3的二维数组(与图5.4中的数组相似)。

2) 赋初始值

在建立数组时,STEP 7允许以两种方法给数组的元素赋初始值。对图5.5中的数组,可以为6个元素赋初始值:17,23,-45,556,3342,0;若初始值中有顺序相同的元素,写法可以简化,如要数组的头两个元素设特定数值,其余4个为10,则可简写为17,23,4(10),其中4为重复系数,10为要重复的数值。

3) 访问数组

利用数组中指定元素的下标可以访问数组数据,这时数据块、数组符号名及下标一起 使用。如图5.5中声明的数组在DB20(符号名:MOTOR)的个字节处开始,用以下地址访问数组中的第二个元素:

MOTOR. Heat_2×3[1,2]

4) 利用数组传递参数

将数组作为参数传递时,要求形式参数和实际参数必须有同样的数据组织结构、相同 的数据类型,并按相同的顺序排列。

2. 构造

构造将不同数据类型组合成一个整体,见图5.6。构造的元素可以是任何基本数据类型或复式数据类型,有数组或构造元素的构造能嵌套8层。因此,STEP 7允许用户将过程中的各种关联数据统一组织在一个构造中,也为统一处理不同类型数据或参数提供了可能性

1) 建立构造

构造(STRUCT)只能在数据块或变量声明表中定义。图5.7所示为由整数(存放数量)、字节(存放原始数据)、字符(存放控制码)、浮点数(存放温度)、布尔数(完成标志信号)组成的构造。该构造的名称为Stack_1。

2) 赋初始值

按每个元素的类型和名称给构造的每个元素赋初始值。并将其写入图5.8中Initial Value(初始值栏)的相应行中。例如,可以分配如下初始值:

Amount=0

Original_data=B#l6#0

Control_code=“Z”

Temperature=98.6

End:=FALSE

3) 访问构造

(1) 用符号地址访问:如MOTO.Stack_1.Temperature,其中,MOTO为构造所在数据块DB20的符号名。

(2) 用物理地址访问:如Stack_l从DB20的字节0开始存放,Amount的物理地址是DB20.DBW0,Temperature的地址为DB20.DBD4。

4) 利用构造传递参数

构造可以作为参数来传递。将构造作为参数传递时,要求形式参数和实际参数必须有同样的数据组织结构、相同的数据类型,并按相同的顺序排列。

3. 用户数据类型

STEP 7允许将基本数据类型或复式数据类型组合成用户自己定义的数据类型,这种类型称为用户数据类型或UDT。用户数据类型必须首先单独建立,并存放在称为UDT的特殊数据块中,见图5.8。

图5.8是用“程序编辑器”建立的一个UDT,其数据组织结构与图5.7相同,该用户数据类型被定义为UDT200,并单独存储在被称为UDT200的特殊块中。也可以为UDT200建立符号名(如process_data),但是,命名只能在符号表中进行。图5.9给出了一个使用UDT定义数据块(如DBl0)的例子,数据块DBl0中定义两个变量,一个为整型,另一个为用户数据类型(UDT200)。从图中可以看出,数据块中UDT的用法与基本数据类型的用法类似。

用符号地址或物理地址两种方式可以访问UDT中的变量。例如,在DB10中定义了图5.9格式的数据,DB10的符号名为Process,访问Amount变量可分别写为DB10.DBW 2或Process.Stack_2.Amount。

建立用户数据类型的目的是为了将UDT作为一种数据类型使用,以方便定义多个结构相同的构造变量。图5.9建立的Stack_2与图5.7建立的Stack_1相比,不仅大小结构完全相同,而且对Stack_1和Stack_2中元素的访问方法也完全相同。在建立DB10时,由于使用了UDT而使得数据块建立过程方便快捷。在多处使用同样的UDT时,这一优点将更加突出。

程序结构设计

STEP 7不仅从不同层次充分支持合理的程序结构设计,而且也简化了结构设计的复杂程度。

一个复杂的自动化过程可以被分解并定义为一个或多个项目(PROJECT);而对于每个项目,又可以进一步分解并定义给一个或多个CPU,每个CPU都有一个控制程序(CPU_PROGRAM)。图5.10显示了一个样本过程,它分成4个不同的项目:项目1和项目2只有一个CPU,而项目3和项目4有多个CPU。这样,一个很复杂的控制任务的结构设计,就被简化为各个CPU程序的结构设计。项目间或项目中的各CPU程序之间,能以某种方式联网,实现信息共享。如在S7协议支持下,用MPI网以全局数据通信的方式可方便地建立起联系,实现一个项目中各CPU共享信息

典型的情况是一个过程控制任务只有一个项目,该项目下也仅有一个CPU程序,每一个CPU程序又可依据时间特性或事件触发特性的差异分类编入不同的组织块(OB)中。例如,需要以固定时间间隔循环执行的那部分程序编入组织块OB35中,为PLC正常运行而需进行初始化的程序编入组织块OBl00中。又如,由硬件触发的中断服务程序编入组织块OB40中,对程序执行中产生的同步错误的响应处理程序编入组织块OB121或OB122中。

-

对于各组织块中的程序,可以根据其复杂程度分别选用线性、分部或结构化等三种形式中的一种程序结构。由于组织块OB1(主程序循环)中的程序是应用程序中主要的也是Z复杂的部分,因此,对OB1中的程序设计合理的结构是十分重要的。下面分别说明三种典型结构的特点及选用原则。

1. 线性程序结构

用“线性”结构设计的程序连续放置在一个块内(通常为OB1),块中的程序按顺序执行。这一结构是Z初的PLC模拟的继电器梯形逻辑的模型。线性程序具有简单、直接的特点。编程时,不必考虑功能块如何编程及如何调用,也不必考虑如何定义局部变量及如何使用背景数据块。由于所有的指令在一个块内,因此它适用于只需一个人编写的、相对简单的控制程序。

这是一种部分模块化的程序结构,也称为部分结构化。程序被分成各部分放在若干功能块中,每个功能块含有用于一种设备的一系列控制逻辑。放置在组织块OB1中的指令决定控制程序的各功能块的执行。比如说,一个分部程序可能包含以下内容:

(1) 用于控制设备每一部分的FC;

(2) 用于控制设备每一工作状态的FC;

(3) 用于控制操作员接口的FC;

(4) 用于进行PLC自诊断的FC。

在分部程序中,既无数据交换也没有重复利用的程序代码。各功能块收集并使用自己的数据,功能块不传递也不接收参数,功能块的编程与调用比较简单。由于每个功能区分为不同的块,因而使得多个程序员能够同时编程而不发生冲突。分部程序结构的编程效率比线性程序有所提高,程序测试也较方便,对程序员的要求也不太高。对不太复杂的控制程序可考虑采用这种程序结构。

3. 结构化程序结构

完全结构化(模块化)的程序结构是PLC程序设计和编程Z有效的结构形式,它可用于复杂程度高、程序规模大的控制应用程序设计。结构化程序可以重复使用某些功能块,只需要在使用功能块时为其提供不同的环境变量(实参),就能完成对不同设备的控制。例如,在工业搅拌控制过程中有三台泵,对它们的控制功能相似,可以编写一个用于对泵进行控制的功能块,编程时先定义泵控制所需的变量(形参),并使用这些变量构成一个称为“泵控制”的一般功能块。在调用该功能块时,通过改变传入功能块中的参数(实参),可以分别对成分A、成分B和搅拌桶中的三台泵进行控制。

结构化程序有的编程和程序调试效率,应用程序代码量也Z小。结构化程序也支持多个程序员协同编程。这种程序结构建立在对PLC系统功能的合理分析、分解及综合的基础之上,程序具体结构形式的确定与程序设计人员的水平及经验关系很大,对程序员的要求也较前两种高。

1. 将过程分割为任务和区域

一个自动化过程包括许多单个的任务,通过识别一个过程内的相关任务组,然后将这些组再分解为更小的任务,即使Z复杂的过程也能够被定义。下面将这个工业搅拌过程构造为四个功能区域:配料A区域、配料B区域、混合罐区域和排料区域。

2. 说明各个功能区域

1) 配料A和配料B区域

(1) 每种配料的管道都配备有一个入口和一个进料阀以及进料泵。

(2) 进料管还有流量传感器。

(3) 当罐的液面传感器指示罐满时,进料泵的接通必须被锁定。

(4) 当排料阀打开时,进料泵的启动必须被锁定。

(5) 在启动进料泵后1 s内必须打开入口阀和进料阀。

(6) 在进料泵停止后(来自流量传感器的信号)阀门必须立即被关闭以防止配料从泵中泄露。

(7) 进料泵的启动与一个时间监控功能相结合,换句话说,在泵启动后的7 s之内,流量传感器会报告溢出。

(8) 当进料泵运行时,如果流量传感器没有流量信号,进料泵必须尽可能快地断开。

(9) 必须对进料泵启动的次数进行计数(维护间隔)。

2) 混合罐区域

(1) 当罐的液面传感器指示“液面低于限”或排料阀打开时,搅拌电机的启动必须被锁定。

(2) 搅拌电机在达到额定速度时要发出一个响应信号。如果在电机启动后10 s内还未接收到该信号,则电机必须被断开。

(3) 必须对搅拌电机的启动次数进行计数(维护间隔)。

(4) 在混合罐中必须安装三个传感器。① 罐装满:一个常闭触点。当达到罐的液面时,该触点断开。② 罐中液面高于限:一个常开触点。如果达到限,该触点关闭。③ 罐非空:一个常开触点,如果罐不空,该触点闭合。

3) 排料区域

(1) 罐内产品的排出由一个螺线管阀门控制。

(2) 这个螺线管阀门由操作员控制,但是Z迟在“罐空”信号产生时,该阀必须被关闭。

(3) 当搅拌电机在工作或罐空时打开排料阀必须被锁定。

3. 定义逻辑块

通过程序块可以将用户程序分布到不同的块中并建立块调用的分层结构来组织程序。本例中用户程序主要由组织块OB1、功能块FB1、功能FC1及三个数据块DB1~DB3组成。图5.12所示为结构化编程的块的分层调用结构。

(1) OB1:与CPU操作系统的接口,包含主要程序。在OBl中调用块FBl和FCl并传送控制过程所需的特定参数。

(2) FB1:用于配料A的进料泵、配料B的进料泵和搅拌电机的控制。由于要求一致(接通、断开、计数应用程序等),可以通过同一个功能块实现。

(3) 背景DB1~DB3:用于控制配料A、配料B的进料泵和搅拌电机的实参及静态数据各不相同,因此分别存储在与FBl相关的三个背景DB中。

(4) FC1:用于阀的控制。配料A和B的入口阀和进料阀以及排料阀共同使用本逻辑块。

指定符号名

如果在用户程序中使用了符号,则必须用STEP 7在符号表中对这些符号进行定义。表5.6所示为所用的程序组件的符号名及地址。

5. 生成电机的FB

电机的FB包括以下逻辑功能:

(1) 启动和停止输入。

(2) 允许设备操作的一系列互锁(泵和搅拌电机)。互锁状态存储在OB1的临时局域数据(L堆栈)中(“Motor_enable”和“Valve_enable”),并且当电机的FB被处理时与启动和停止的输入进行逻辑组合。

(3) 来自设备的反馈必须在一个特定的时间内出现,否则就假定有故障或错误出现,并使电机停止。

(4) 时间点和响应时间或错误故障循环持续时间都必须被指定。

(5) 如果启动按钮被按下并且电机被使能,则设备自行接通并运行直至按下停机按钮。

(6) 当设备接通时,一个定时器启动运行,如果在定时器的时间到达之前未接到来自设备的响应信号,则停机。

信息声明:本产品供应信息由仪器网为您整合,供应商为(湖南嘉普云自动化设备有限公司),内容包括 (西门子ZG贵州省授权总代理商)的品牌、型号、技术参数、详细介绍等;如果您想了解更多关于 (西门子ZG贵州省授权总代理商)的信息,请直接联系供应商,给供应商留言!
供应商产品推荐
    您可能感兴趣的产品