聚人智能发表于2021年10月20日20:18最后回复于2021年10月20日20:18

西门子1200用法(一)

1020浏览量

0评论

 来自日系PLC200PLC的人大多不熟悉S7 1200TIA门户网站的专业术语,如OBDBFCFB等。 实际上,这些术语也包含在S7 3004001500等中。

 所以今天说明的内容,理论上也适用于这些PLC。 虽然我没有玩过这些东西,但是TIA门户网站适合西门子全系列的PLC,很多概念性的东西都很一致。

 S7 1200的强大功能基于具有不同类型的块和不同变量类型。

 音符GIF动图简约分割线

 S7 1200由以下基本元素构成。

 OB:组织块,英文名organization块。 组织块是CPU系统和用户程序之间的接口,可以在电启动CPU时调用,也可以在循环中调用,还可以在PLC发生错误时调用。

 DB:数据块,英文名为data块。 如文字所示,主要用于保存用户数据,例如模拟转换数据,相当于200个中的v区、欧姆龙PLCw区。

 FC:函数,英文名称Function。 我们经常给FC函数写需要重复执行的代码。可以在程序的各个地方调用,可以在OB中调用,也可以在FC中调用。 使用FC可以简化需要重复执行的任务,从而提高代码的执行效率。 FC类似于200个子例程。

 FB:FC+DB的组合意味着包含DB块的FC函数。与FC的区别在于,函数调用结束后也可以用静态变量保持值,因此经常用于调用之间的数据共享。

 OB组织区块

 创建新程序时,会自动创建Main[OB1]程序,并在PLC的每个扫描周期中调用。 Main程序和200个主程序是相同的概念。 也类似于函数的入口点c中的Main。 可以在Main程序中调用各种函数和块。

 下图是通过编程调用一个FCFB,然后通过FC调用另一个FC形成嵌套调用。

 注、别名。 便于记忆和理解。 真正的地址在OB1FC2FC1FB1[]上。

 图1 Main程序

2 Main调用结构

1表示了Main程序的具体内容,图2表示了Main程序的调用结构。 的许多要素的概念暂时不需要理解,但可以看到一些整体的概念。 Mian程序包含第1(nw1 )和第2(NW2 ) ),而Main的调用结构包含三个元素test、调用FB和调用FC。其实应该有四个。 另一个嵌套在中。 单击左侧的箭头,显示如下图所示。

3 FC嵌套调用

4 OB分类

分析上图的OB类型吧。 OB块主要用于程序循环、启动、延迟中断、循环中断、硬件中断、HSC中断、诊断错误和时间错误8个事件。

 OB块有编号和优先级两个属性,优先级越高,中断级别越高。 在同样的优先级级别下,OB编号越小,执行的优先级越高。

 从图1中可知,Main程序的地址在OB1上,是优先顺序低1的循环执行程序。

 时间错误事件的优先级最高,如果发生此事件,Main程序将暂停执行,时间错误事件OB块将优先执行。 程序环OB类块的编号属性为' 1

 =123 '意味着可以创建多个类似OB块的内容。

 因为新程序的默认OB编号为1,所以如果创建此事件类型的OB块,则默认编号为123个,OB1的执行将优先于OB123。 诊断错误事件OB块和时间错误OB块只有一个。

添加图5ob的新块


6手动选择创建编号

 添加图5OB中的新块接口后,可以看到红色矩形框处的ob编号数值为123,表示选择了自动创建方式。 如果您想起要使用其他号码,可以选择手动方法和用于创建OB块的语言。 大家自己试试吧。

 下面介绍几个常用的OB类型的模块。 使用其他类型的OB块时,请参阅系统编程手册。

 程序循环事件OB(program  cycle  ) )这个块主要用于执行循环执行的程序,通常每个程序编写一个即可,是默认的Main程序) OB1 ),调用FCFB  这种类型的OB块在系统CPU的每个扫描周期中执行。

 启动事件OB(Startup  ) :此块主要用于初始化变量,在PLC断电重新启动或CPUSTOP切换到RUN时执行,之后不再执行。 也就是说,只执行一次。 创建新的DB1块,添加两个,然后设置初始值,如下图所示。

7添加db块变量


私信

举报