西门子触摸屏中国北京经销商
西门子触摸屏中国北京经销商
PLC用户程序的两种结构体系各有其特点,实际使用时采用何种程序结构体系,一方面取决于PLC所具备的功能,另一方面取决于程序设计者的选择。
(2) 线性化结构按照线性化结构体系设计时,程序常见的形式有“普通线性化结构”与“分时管理线性化结构" 两种。
1) 普通线性化结构:普通的线性结构程序较为简单,设计者只需要将由基本指令组成的全部网络与功能程序段,进行逐网络、逐段排列即可。
只要程序中没有特定的次序要求(如为了产生边沿脉冲的需要等),组成程序的各网络与功能程序段就可以在PLC程序中任意排列.其位置与程序的执行结果无关。
CPU执行普通的线性结构程序时,总是对全部程序指令按照输入采样、执行程序、输出刷新三个阶段不断循环,全部输入、输出信号的采样与刷新时间统一,每次处理的时间(循环扫描时间)固定。西门子触摸屏中国北京经销商
在S7PLC中,如果将全部PLC用户程序都编制在组织块OB1中,即属于此结构。
2) 分时管理线性化结构:在部分PLC中,为了满足控制系统中需要高速处理的信号特殊控制要求,线性结构的程序也可以采用“分时管理线性化结构”的结构形式 。
分时管理线的程序结构
采用“分时管理线性化结构”时,设计者可以根据控制系统的需要,将线性化结构的PLC用户程序划分为"高速扫描循环"与"普通扫描循环"两部分。
程序中的高速扫描部分可以由设计者定义扫描时间间隔,在执行过程中这一时间间隔保持固定不变。即:对于高速扫描程序段,设计者可以人为地规定程序的执行时间,CPU**在规定的时间内完成高速扫描程序段的输入采样、执行程序、输出刷新循环过程。因此,PLC对“高速扫描循环”程序中输入/输出信号的处理速度,可以远远**正常PLC循环程序中对输入/输出信号的处理速度。
程序中的其他部分为普通扫描部分,执行正常速度的扫描。在程序的执行过程中,如果普通扫描部分的程序执行时间已经到达高速扫描时时间间隔,CN立即中断普通扫描,保存执行状态,并转入对高速程序段的扫描;等到高速段程序执行结束后,再继续恢复对普通程序的扫描(见图5-29)。这样的过程在整个PLC 程序执行个需要进行多次。由于高速扫描的多次中断,普通PLC程序段的扫描时间将比正常执行的情况*长。
采用这种方式的特点是:在线结构体系的程序可以处理PLC的高速输入/输出信号,以满足特殊的控制要求。当然,根据实际系统的需要,程序中也可以没有高速扫描的程序段,但是,不可以将全部程序都作为高速程序。西门子触摸屏中国北京经销商
(3) 分块式结构。分块式结构体系的PLC程序由多个程序块组成,由统一的程序"组织块"对各程序块进行组织与调度,"组织块"根据规定的条件与顺序依次调用各程序块。
采用了分块式结构体系的PLC程序,在实际处理过程中可以根据不同的外部输入条件与控制要求,每次循环扫描可以跳过某些程序块,仅对需要处理的程序块进行扫描,从而加快PLC程序的执行速度,缩短扫描时间。西门子触摸屏中国北京经销商
根据PLC的不同,分块式结构体系的PLC程序可以采用主、子程序结构、功能调用式结构与结构化编程等形式实现。
1) 主、子程序结构:采用主、子程序结构的PLC用户程序,一般可以由主程序、子程序、中断程序等不同的程序块所组成,并且按照规定的顺序排列(如在S7-200中,程序块按照主程序、子程序、中断程序的顺序依次排列)。
在主、子程序结构程序中,主程序为PLC每次扫描都**执行的程序块,****予以编制;而子程序、中断程序则可以根据实际需要进行编写与调用。
主、子程序结构的PLC程序与线性化结构相类似,如果程序中没有编制子程序、中断程序,只有主程序,它便成了线性结构的程序。
2) 功能调用式结构:功能调用式结构的PLC程序执行过程与主、子程序结构类似,但组成程序的各逻辑块按照不同的功能进行编排,无主、子之分。组成功能调用式结构的每一程序块都代表着控制对象的一组相对独立动作,逻辑块由特定的“块”进行统一的管理与调用。
在S7-300/400PLC中,用于管理与调用的程序块称为组织块(OB1),其余逻辑块分别称为程序块(FC)、功能块(FB)、数据块(DB)等。
一般而言,功能调用式PLC程序在CPU的一个扫描周期内,对同一程序块的调用次数不会*过一次;当*过一次时则称为“结构化编程”。
3) 结构化编程:结构化编程的程序结构形式与调用式相同,程序同样由多个程序块组成,并通过"组织块"对其进行组织与管理,但它采用了"参数化编程"的方法。
采用结构化编程的程序,在同一PLC扫描周期内可以多次重复调用程序中的同一程序块,因此,对于动作相同或相似的程序,可以通过在PLC程序中编写一个"公用程序块",利用重复调用来实现。西门子触摸屏中国北京经销商
为了*"公用程序块"能控制不同的对象,**将组成程序的各种操作数进行"参数化":
● "公用程序块"中的所有信号的地址**是可以变化的,即"公用程序块"中一般不能使用"**地址",而应采用"程序变量"(形式参数)进行编程。
● 调用"公用程序块"前,为了使得程序中的所有信号有明确的含义,**对"程序变量"(形式参数)进行赋值,即将“程序变量”定义成有明确含义的**地址。因此,CPU**划分一个专门的存储器区域用于存储这些赋值参数。S7-300/400中的“局部变量堆栈L”与“即时数据块DI”就是为了实现这一目的而专门设定的存储区域。西门子触摸屏中国北京经销商
结构化编程的程序简洁,所占用的内存容量小,但需要涉及程序块、功能块、数据块、局部变量等概念,对编程人员的要求高。
随着计算机控制技术的不断发展,可编程控制器的应用已广泛普及,成为自动化技术的重要组成。可编程控制器较先出现在美国,1968年,美国的QC制造公司通用QC公司(GM)提出了研制一种新型控制器的要求,并从用户度提出新一代控制器应具备以下**条件:
编程简单,可在现场修改程序;
维护方便,较好是插件式;
**性**继电器控制柜;
体积小于继电器控制柜;
可将数据直接送入管理计算机;
在成本上可与继电器控制柜竞争;
(7)输入可以是交流115V(即用美国的电网电压);
(8)输出为交流115V、2A以上,能直接驱动电磁阀;
(9)在扩展时,原有系统只需要很小的变更;
(10)用户程序存储器容量至少能扩展到4KB。