当前位置:无忧公文网 >范文大全 > 征文 > 关于西门子S7—1200PLC数据存储的研究

关于西门子S7—1200PLC数据存储的研究

时间:2022-03-22 09:30:18 浏览次数:

摘要:PLC不但能进行逻辑运算,还能进行数据处理,一个运行良好的中大型程序,它的数据处理一定做得近乎完美。近年来,大家把对后者的重视程度逐步提高到了一个新的高度。要更好的掌握好S7-1200PLC的编程技术,难度最大的还是在程序中的数据处理部分,对数据的存储形式的理解则是提高工程技术人员驾驭程序能力的基础,值得大家深入研究。

关键词:存储位;系统数据块;函数;函数块;全局数据块

中图分类号:TP311.1 文献标识码:A 文章编号:1007-9416(2018)09-0067-01

在众多的PLC中,西门子S7-1200PLC的数据存储是非常有特色的,而且也是大家学习的一个难点。一个脉冲检测指令,为什么要加上一个存储位;为什么函数的数据要保存在输入输出接口外的存储介质中;为什么PLC系统中要加入各种数据块…本文重点与大家一起来研究它的数据存储特点。

1 存储位

在位逻辑指令中,一个触点指令中会带有多个操作数,这种情况在其它的PLC中是不常见的,如果没有理解它们的用法,它往往会让编程人员在使用中无所适从,或出现各种各样的错误。最为典型的指令有扫描操作数的信号上升沿与扫描操作数的信号下降沿指令,它们都带有两个操作数。

P指令有两个操作数,上方的为OPERAND,表示一个BOOL型的操作数,指令需要扫描的就是这个操作数,执行该指令时,要读取它在本周期的状态;而下方的操作数是一个INOUT型的布尔量,它就是一个存储位,它是可读可写的,由系统写入上方操作数的上一扫描周期的状态,执行指令时,可读取它的状态。如果上方的操作数的状态为1,而下方的操作数为0,则说明了检测到了上升沿,那么该触点的检测指令会接通一个程序周期。这个程序周期时长就是从执行该指令时起,到下一个扫描周期再执行这条件指令前的这段时间,它与扫描周期有明显的区别。我们可以通过图1来理解。

如果在当前周期检测到了上升沿,那么这个触点的接通时间会延长到下一扫描周期执行该指令前的这段时间。这种做法的好处是能捕捉到最小周期的上升沿,而且不会丢失上升沿。当然这个存储位的操作数不要与程序中的其它操作数冲突,否则会影响到上一扫描周期操作数状态的存储,而形成误判。

位逻辑指令中的其它有关上升沿与下降沿的检测的指令,均会有一个存储位用来保存操作数上一扫描周期的状态,在分析程序时,必须按扫描周期与程序周期去理解输出脉冲作用的时长,才不会出现编程时的错误。

位存储位,通常所使用的为M存储区的位点,它是一个可读可写的存储位,同时也是一个全局型的变量。唯一的缺点就是这个存储位不能被其它的程序段中的数据所改写,那样的话,将会造成对沿的误判,因此在使用M存储区时,千万不要出现地址的重叠。

存储位是指令中常用到的一类数据保存的方法,还有一类指令,它是利用数据块来进行数据保存的。

2 系統数据块

使用系统数据块保存数据的最有代表的指令就数定时器与计数器指令。当引用这些指令时,就会自动的在系统的内部产生一个数据块,有的还会有一个功能块跟着一起自动形成。这里我们以一个5S的接通延时型的循环定时器来加以说明。

当在程序段中增加一个TON指令时,会出现一个IEC_TIMER类型的数据块建立的请求,点确定后,就会在程序资源中产生一个系统数据块。

打开系统数据块,它里面的数据TON指令的参数相同。TON指令的数据将会保存在自己的数据块中。所有的参数均为Static类型,即静态变量。PT为定时设定值,ET为定时器的当前值,IN为定时器的输入,当IN为1时,定时器使能,Q为定时器的输出,当定时值达到了设定值,驱动外部所接的输出点。一般来说,所有的局部变量在使用时是由系统自动分配内存的,它要求变量先赋值,后使用,否则变量的值将为一个不确定的数据。为了保证数据的连续性,系统分配变量地址一定要固定,这样的变量称静态变量。数据块中的数据可以直接引用,这样可以减少全局变量使用的机率。

3 函数与函数块

就函数而言,它的接口类型有Input、Output、Inout、Temp几种。Input属于输入型的数据,只可读;Output,属于输出型的数据,程序中只能改写它;Temp是临时变量,只能保存中间结果。它们均不能保存数据,因为数据保存的最终目标是能读出它的数值,输出型与输入型的数据显然是不能满足要求的,就Temp而言虽然它有可读可写的特点,但这个变量的地址是系统临时分配的,不可能保证数据的连续性和正确性。到此四种接口类型中只有一个Inout类型了,它是输入输出型的,可读也可写,可以满足数据的保存。因此函数中牵涉到数据的保存,就只能用Inout类型了。

4 数据块

S7-1200PLC数据块中的数据可以说是包罗万象,在变量表内不能定义的数据,在数据块中则变得轻而易举。数据块是PLC与外部设备进行数据交换的桥梁,也是大型数据存储的场所。全局数据块,任何程序均能与之关联,功能十分强大,也是S7-1200PLC存储数据最大的区域。

至此,大家了解到了西门子S7-1200PLC对数据的独特存储方式:存储位存储、系统块存储、输入输出接口存储、背景数据块存储及全局数据块存储。它们既有区别也有联系,但共同的特点是都能保存相关的数据。

参考文献

[1]冯博,徐淑华.SIMATIC S7-1200可编程控制器技术特点[J].科技信息,2010,(23):120-121.

[2]黄俊玲.西门子S7-1200 PLC程序设计方法研究[J].工业控制计算机,2016,(10):142-143.

推荐访问: 数据存储 研究 S7 PLC