宿迁中国西门子PLC代理商
宿迁中国西门子PLC代理商
宿迁中国西门子PLC代理商
1.plc程序的结构体系
无论PLC控制系统有多么复杂,归根到底,PLC用户程序都是由大量基本编程指令所组成的集合。
设计者可以根据控制对象各部分的不同要求,通过对要求的分解,运用基本指令编制出相应的程序网络(Network)或由几个网络组成的简单“功能程序段”。在此基础上,只要将这些程序网络或功能程序段,按照控制系统的动作要求,以S7程序规定的格式进行排列与组合,就可以组成完整的PLC程序。
所谓PLC的程序结构,就是组成PLC程序的各种网络(Network)或“功能程序段”在PLC内部的组织、管理形式。
在PLC上,从CPU操作系统对程序执行管理的角度看,PLC程序可以分为“线性化结构”与“分块式结构”两种不同的结构体系,每一体系又可以分若干不同的结构形式。
(1)线性化结构体系
采用线性化结构体系的PLC用户程序不分块,全部指令都集中在同一个程序块中。执行PLC程序时,CPU的每次循环扫描都是按照从上至下的次序,行PLC用户程序的所有指令。
线性化结构体系是一种控制对象相对较简单的小型PLC系统常用的结构体系。
(2)分块式结构体系
分块式结构体系的PLC用户程序由多个不同的“程序块”所组成,执行PLC程序时,需要根据外部输入条件与程序中规定的控制要求,由负责管理的主程序通过对不同程序块的调用与选择,决定每次循环扫描实际需要执行的程序块。
对于控制复杂、程序容量大的大中型PLC系统,出于方便设计、检查、调试等方面的考虑,通常采用分块式结构。
PLC用户程序的两种结构体系各有其特点,实际使用时采用何种程序结构体系,一方面决定于PLC所具备的功能,另一方面取决于程序设计者的选择。
2.线性化结构
按照线性化结构体系设计时,程序常见的形式有“普通线性化结构”与“分时管理线性化结构”两种。
(1)普通线性化结构
普通的线性结构程序为简单,设计者只需要将由基本指令组成的全部网络与功能程序段,进行逐网络、逐段排列即可。
只要程序中没有特定的次序要求(如为了产生边沿脉冲的需要等),组成程序的各网络与功能程序段就可以在PLC程序中任意排列,其位置与程序的执行结果无关。
CPU执行普通的线性结构程序时,总是对全部程序指令按照输入采样、执行程序、输出刷新三个阶段不断循环,全部输入、输出信号的采样与刷新时间统一,每次处理的时间(循环扫描时间)固定。
在S7-200/300/400系列PLC中,如果将全部PLC用户程序都编制在组织块OB1中,即属于此结构。
(2)分时管理线性化结构
在部分PLC中,为了满足控制系统中需要高速处理的信号特殊控制要求,线性结构的程序也可以采用“分时管理线性化结构”的结构形式(见图11-1.1)。

采用“分时管理线性化结构”时,设计者可以根据控制系统的需要,将线性化结构的PLC用户程序划分为“高速扫描循环”与“普通扫描循环”两部分。
程序中的高速扫描部分可以由设计者定义扫描时间间隔,在执行过程中这一时间间隔保持固定不变。即:对于高速扫描程序段,设计者可以人为地规定程序的执行时间,CPU在规定的时间内完成高速扫描程序段的输入采样、执行程序、输出刷新循环过程,因此,PLC对“高速扫描循环”程序中输入/输出信号的处理速度,可以远远正常PLC循环程序中对输入/输出信号的处理速度。
程序中的其他部分为普通扫描部分,执行正常速度的扫描。在程序的执行过程中,如果普通扫描部分的程序执行时间已经到达高速扫描时时间间隔,CPU立即中断普通扫描,保存执行状态,并转入对高速程序段的扫描:等到高速段程序执行结束后,再继续恢复对普通程序的扫描(见图11-1.1)。这样的过程在整个PLC程序执行中需要进行多次。由于高速扫描的多次中断,普通PLC程序段的扫描时间将比正常执行的情况更长。
采用这种方式的特点是:在线性结构体系的程序可以处理PLC的高速输入/输出信号,以满足特殊的控制要求。当然,根据实际系统的需要,程序中也可以没有高速扫描的程序段,但是,不可以将全部程序都作为高速程序。
3.分块式结构
分块式结构体系的PLC程序由多个程序块组成,由统一的程序“组织块”对各程序块进行组织与调度,“组织块”根据规定的条件与顺序依次调用各程序块。
采用了分块式结构体系的PLC程序,在实际处理过程中可以根据不同的外部输入条件与控制要求,每次循环扫描可以跳过某些程序块,仅对需要处理的程序块进行扫描,从而加快PLC程序的执行速度,缩短扫描时间。
根据PLC的不同,分块式结构体系的PLC程序可以采用主、子程序结构、功能调用式结构与结构化编程等形式实现。
(1)主、子程序结构
采用主、子程序结构的PLC用户程序,一般可以由主程序、子程序、中断程序等不同的程序块所组成,并且按照规定的顺序排列(如在S7-200中,程序块按照主程序、子程序、中断程序的顺序依次排列)。
在主、子程序结构程序中,主程序为PLC每次扫描都执行的程序块,予以编制;而子程序、中断程序可以根据实际需要进行编写与调用。
主、子程序结构的PLC程序与线性化结构相类似,如果程序中没有编制子程序、中断程序,它便成了线性结构的程序。
(2)功能调用式结构
功能调用式结构的PLC程序执行过程与主、子程序结构类似,但组成程序的各逻辑块按照不同的功能进行编排,无主、子之分。组成功能调用式结构的每一程序块都代表着控制对象的一组相对立动作,逻辑块由特定的“块”进行统一的管理与调用。
在S7-300/400系列PLC中,以上用于管理与调用的程序块称为组织块(OBl),其余逻辑块分别称程序块(FC)、功能块(FB)、数据块(DB)等。
一般而言,功能调用式PLC程序在CPU的一个扫描周期内,对同一程序块的调用次数不会超过一次;当超过一次时则称为“结构化编程”。
(3)结构化编程
结构化编程的程序结构形式与调用式完全相同,程序同样由多个程序块组成,并通过“组织块”对其进行组织与管理,但它采用了“参数化编程”的方法。
采用结构化编程的程序,在同-PLC扫描周期内可以多次重复调用程序中的同一程序块,因此,对于动作相同或相似的程序,可以通过在PLC程序中编写一个“公用程序块”,利用重复调用来实现。
为了“公用程序块”能控制不同的对象,将组成程序的各种操作数进行“参数化”,即:
①“公用程序块”中的所有信号的地址是可以变化的,即“公用程序块”中一般不能使用“地址”,而应采用“程序变量”(形式参数)进行编程。
②调用“公用程序块”前,为了使得程序中的所有信号有明确的含义,对“程序变量”(形式参数)进行赋值,即将“程序变量”定义成有明确含义的地址。因此,CPU划分一个的存储器区域用于存储这些赋值参数。S7-300/400中的“局部变量堆栈L”与“即时数据块DI”就是为了实现这一目的而设定的存储区域。
结构化编程的程序简洁,所占用的内存容量小,但需要涉及程序块、功能块、数据块、局部变量等概念,对编程人员的要求高。

(1)变量与参数。“变量”与“参数”是S7中常用的名词,在不同的使用场合有不同的含义。为了防止概念的混淆,可根据不同的用途,将S7中的变量分为“程序变量”与“诊断变量”两大类;将参数分为"程序参数"与"配置参数(组态参数)"两大类。
“诊断变量”用于PLC调试阶段,如“变量表调试”所指的就是“诊断变量”。诊断变量包括的范围很广、凡是PLC中可以赋值或进行显示的信号与数据统称为诊断变量(Varlable),它包括输入、输出、内部标志寄存器、定时器、计数器、数据块中的内容等。
“配置参数(组态参数)”用于PLC硬件的配置(组态),通过“配置参数(组态参数)”的设定,可以定义PLC的组成模块、I/O地址、通信接口等。
“程序变量”与“程序参数”是在PLC程序设计阶段需要使用的“变量”与“参数”。因此,除非特别说明,这里所讲的“变量”均是指“程序变量”,“参数”均是指“程序参数”;而在调试部分,硬件组态(配置)部分所述的“变量”均是指“诊断变量”,“参数”均是指“配置参数”。
S7可以使用的"程序变量"包括程序参数、局部变量(又称临时变量Temporary)、静态变量(Static)3种基本类型,并且有规定的使用范围。
(2) 变量的作用。在PLC程序中可以使用变量,是S7系列PLC的特点之一。在S7中使用变量可以实现以下功能:
1) 增加程序的通用性。在PLC程序设计阶段,为了提高程序的通用性,可以通过变量使得同一逻辑块用在不同的控制场合。
例如:对于图5-35所示的逻辑块,假设其功能为实现逻辑运算C=B·A;D=D 1,并且采用变量进行编程。
调用该逻辑块时,若对变量A赋值为I0.1、变量B 赋值为I0.2、变量D赋值为MW10、变量C赋值为Q01时,程序的执行结果为:
Q0.1=I02·I0.1:MW10=MW10 1。

图5-35 变量的作用
2)便于程序检查。使用了变量后,在调用该逻辑块时,在调用指令中可以显示该逻辑块所需要的相应输入、输出信号(见图5-36),以方便程序设计与检查。
由于S7对变量与符号地址有规定的格式要求(不可以使用S7关键词,有关S7的关键词可以参见附录),因此,在图5-36中已经将图5-35所对应的逻辑块变量A、B、C、D、分别采用了符号地址IN_A、IN_B、OUT_C、INOUT_D进行编程。

图5-36 调用变量编程的块
(3)变量的分类与使用范围。S7可以使用的"程序变量"包括程序参数、局部变量(又称临时变量Temp)、静态变量(Stat)3种基本类型。
1)程序参数。S7的程序参数用于传递逻辑块之间的数据。当采用调用式结构时,应通过参数定义执行被调用的逻辑块所需要的数据;也可以通过参数将被调用的逻辑块的执行结果返回给调用的块。
在S7中,从参数的用途与功能上,程序参数可以分为输入参数(IN)、输出参数(OUT)、输入/输出参数(IN_OUT)3种;从参数的性质上可以分为形式参数(FormatParameter)与实际参数(Actual Parameter)2种。
● 输入参数(IN):它是逻辑块执行所需要的基本输入参数,在逻辑块中只能进行"读"操作,必须由调用它的其他逻辑块予以赋值。
例如,在图5-35中,信号A、B在逻辑块中为"触点"信号,它必须由调用它的块将其定义为I0.1、10.2或11.1、11.2等具体而明确的输入地址(可以是juedui地址或符号地址,参见图5-36)。
●输出参数(OUT):它是逻辑块执行结果存储所需要的基本输出参数,在逻辑块中只能进行"与"操作,必须由调用它的其他逻辑块定义地址,执行结果可以用于其他逻辑块。
例如,在图5-35中的信号C在逻辑块中为输出"线圈"信号,同样必须由调用它的逻辑块将其定义为Q0.1或Q1.1等具体而明确的输出地址(可以是juedui地址或符号地址,参见图5-36)。
●输入/输出参数(IN_OUT):它是逻辑块执行所需要的基本输入/输出参数,在逻辑块中可以进行“读/写”操作。在逻辑块中一方面要求有“初始值”输入(初始值可以在变量表中设定),另一方面又可以进行结果输出。因此,必须由调用它的其他逻辑块或变量表给定"初始值";但在逻辑块的执行过程中将改变参数值,改变后的输入/输出参数同样可以用于其他逻辑块。
例如,在图5-35中的D在逻辑块需要进行加"1"运算,它必须由调用它的块给定初始值(MW10),运算结果同时又保存在MW10中(参见图5-36)。
●形式参数与实际参数:在使用了变量后,功能块中所使用的信号与数据只能以“符号”的形式出现,如图5-35中的A、B、C、D等,这些“符号”称为形式参数(FormatParameter)。而在调用块中对“符号”所赋予的实际地址或实际数值,如图5-36中的10.1、10.2、00.1、MW10等称为实际参数(AetualParameter)。
2)局部变量。S7中的局部变量又称为"临时变量(Temporary)",它用于存储逻辑块内中间状态暂存的寄存器(堆栈L),堆栈的状态仅在所在的逻辑块内生效,不可以用于其他逻辑块。
3)静态变量。静态变量(Static)只能用于功能块FB,它存储在与功能块配套的即时数据块DI中,仅对所调用的FB块有效,结果可以记忆,但只能与FB配套使用,不能用于其他逻辑块。
4) 变量的使用范围。程序变量在逻辑块中的使用有规定的范围,具体如下。
●组织块OB:只能使用临时变量(Temp);
● 程序块FC;可以使用临时变量(Temp)与程序参数输入(IN)、输出(OUT)与输入/输出(IN/out);
● 功能块FB:可以使用全部变量。
| 6ES7211-1BE40-0XB0 | CPU 1211C AC/DC/Rly,6输入/4输出,集成2AI |
| 6ES7211-1AE40-0XB0 | CPU 1211C DC/DC/DC,6输入/4输出,集成2AI |
| 6ES7211-1HE40-0XB0 | CPU 1211C DC/DC/Rly,6输入/4输出,集成2AI |
| 6ES7212-1BE40-0XB0 | CPU 1212C AC/DC/Rly,8输入/6输出,集成2AI |
| 6ES7212-1AE40-0XB0 | CPU 1212C DC/DC/DC,8输入/6输出,集成2AI |
| 6ES7212-1HE40-0XB0 | CPU 1212C DC/DC/Rly,8输入/6输出,集成2AI |
| 6ES7214-1BG40-0XB0 | CPU 1214C AC/DC/Rly,14输入/10输出,集成2AI |
| 6ES7214-1AG40-0XB0 | CPU 1214C DC/DC/DC,14输入/10输出,集成2AI |
| 6ES7214-1HG40-0XB0 | CPU 1214C DC/DC/Rly,14输入/10输出,集成2AI |
| 6ES7215-1BG40-0XB0 | CPU 1215C AC/DC/Rly,14输入/10输出,集成2AI/2AO |
| 6ES7215-1AG40-0XB0 | CPU 1215C DC/DC/DC,14输入/10输出,集成2AI/2AO |
| 6ES7215-1HG40-0XB0 | CPU 1215C DC/DC/Rly,14输入/10输出,集成2AI/2AO |
| 6ES72171AG400XB0 | CPU 1217C DC/DC/DC,14输入/10输出,集成2AI/2AO |
西门子PLC模块、西门子交换机、西门子代理商、西门子smart2009、西门子PLC
一般项目:技术服务、技术开发、技术咨询、技术交流、技术转让、技术推广;工业机器人安装、维修;工业自动控制系统装置销售;电气设备销售;电子元器件与机电组件设备销售;电子产品销售;五金产品零售;金属材料销售;仪器仪表销售;橡胶制品销售;塑料制品销售;信息咨询服务(不含许可类信息咨询服务);软件开发;机械设备租赁;物业管理;工业机器人销售;工业机器人制造;电气设备
浔之漫智控技术(上海)有限公司是中国西门子的合作伙伴,公司主要从事工业自动化产品的集成,销售和维修,是全国知名的自动化设备公司之一。公司坐落于中国一线城市上海市,我们真诚的希望在器件的销售和工程项目承接、系统开发上能和贵司开展多方面合作。以下是我司主要代理西门子产品,欢迎您来电来函咨询,我们将为您提供优惠的价格及快捷细致的服务!西门子华东区域代理SIEMENS 可编程控制器 1、 SIMATIC S7 系列 PLC:S7-200...