股票 投资 增持 经济 金融 银行 汽车 法律 法制 大学 创业 求职 科普 文化 大数据 新能源 社会万象 消费金融 金融机构 美元指数 食品安全 科技新闻

使用SCL编写FIFO功能块

时间:2025-02-10作者:chy123分类:时尚科技浏览:4658

一、 导读

前几天一位搞电气的朋友问S7-1200中如何做个先入先出的功能,说原来用S7-200SMART的时候有填表指令和FIFO指令可以实现该功能,现在S7-1200中找了一圈都没有找到相关的指令。 其实要实现这个功能可直接使用SCL的编程方法编写一个这样的功能块就可以了,(在文章的结尾会为大家提供参考示例程序和SCL相关的学习资料,供有需要的朋友下载学习)。

二、FIFO功能的条件分析

1)设置一个堆栈的缓存区,大小可自由指定,如指定大小为10个字的存储空间。 2)设置一个入栈条件变量和一个出栈条件的变量,数据类型为BOOL。 3)设置一个需要入栈的数据地址,该地址使用和缓存区指定的相同的数据类型。 4)设置一个出栈后数据存放的地址,该地址使用和缓存区指定的相同的数据类型。 5)设置一个指针,用来指示缓冲区中的地址 6)入栈时把需要入栈的数据放入到通过指针指定的缓存区的地址中,数据放完后指针加1,指向下一个地址。 7)出栈的时候,把缓冲区中的第一地址数据独处到出栈数据存储的地址,然后原缓冲器中的数据每个数据都往前移动。

三、FIFO程序块编写

新建一个FB块并对该FB块命名为”FB_FIFO”,该块的编程语言选着SCL编程语言,在该FB块的接口区中建立如下图所示的接口区变量。

fe5e1496-e625-11ef-9310-92fbcf53809c.png

接口区定义完成后,使用SCL编写对应的程序,通过REGION指令把程序范围入栈操作和出栈操作两段。

在OB块中调用该功能块,并新建一个DB块,按在FB块接口区中定义的变量建立相关的变量。

四、结语

西门子PLC中很多没有的指令或是功能块我们可根据要求自行搭建,这对应后续使用来说会很方便,在搭建功能块或是指令时SCL编程语言的应用就极为重要了,所以对于SCL编程语言的学习 ,个人认为是每一位PLC工程师都应该去学习掌握的。

相关推荐

猜你喜欢