资讯详情

以S7-300为例谈可编程控制器的编程语言和程序结构

一、编程语言可编程控制器

PLC为用户提供完整的编程语言,以满足编程用户程序的需要。PLC通常提供梯形图、指令表、功能图和功能块图。以S7-300系列PLC为例。

1.梯形图(LAD)

梯形图(LAD)编程语言是在继电器控制系统原理图的基础上演变而来的。PLC梯形图与继电器控制系统梯形图的基本思想是一致的,但在符号和表达方式上存在一定的差异。

图6.4.1是典型的梯形图表示。左右两条垂直线称为母线。母线是接触点的逻辑连接和线圈的输出。

a4c26d1e5885305701be709a3d33442f.png

梯形图的一个关键概念是能流,这只是概念上的能流。图6.4.1中,左母线假设为电源相线,右母线(虚线所示)假设为电源中性线。如果有能流从左到右流向线圈,线圈就会被激励。如果没有能流,线圈就不会被激励。

“能流”可以通过被激励(ON)的动合接点和未被激励(OFF)的动断接点自左向右流。能流在任何时候都不会通过接点从右向左流动。如图6.4.1所示,当A、B、C连接时,线圈M可以连接(激励),只要其中一个连接不连接,线圈就不会连接;而D、E、F连接中的任何连接都会激励线圈Q。需要强调的是,引入能流的概念只是为了比较继电器-接触器控制系统,对梯形图有深入的了解。事实上,能流并不存在于梯形图中。

有些PLC梯形图有两条母线,但大多数PLC现在只保留左边的母线。在梯形图中,触点代表逻辑“输入”条件,如开关、按钮、内部条件等;线圈通常代表逻辑“输出”结果,如灯、电动机、接触器、中间继电器等。S7-300PLC还有一个输出指令盒(方块图),代表定时器、计数器、功能指令等附加指令。梯形图语言简单易懂,是所有编程语言的首选。

2.指令表(STL)

指令表(STL)编程语言类似于计算机中的助记符语言,它是可编程控制器中最基本的编程语言。所谓的指令表编程是用一个或几个容易记住的字符来代表可编程控制器的某种操作功能。下一章将详细介绍具体说明。

图6.4.2是一个简单的PLC程序,图(a)是梯形图程序,图(b)是相应的指令表。一般来说,语句表编程适合熟悉PLC和有经验的程序员。

a4c26d1e5885305701be709a3d33442f.png

3.顺序功能流程图(SFC)

顺序功能流程图(SFC)编程是一种图形编程方法,也称为功能图。它可以编程并发、选择和其他复杂结构的系统,许多PLC提供SFC编程的指令。目前,国际电工协会(IEC)也在实施和开发该语言的编程标准。

4.功能块图(FBD)

S7-300PLC专门提供FBD编程语言。它在梯形图编程器中没有触点和线圈,但有等价指令作为指令盒出现,程序逻辑由这些指令盒之间的连接决定。也就是说,一个指令(如AND盒)的输出可以用来允许另一个指令(如定时器)建立所需的控制逻辑。这种连接思想可以解决广泛的逻辑问题。FBD编程语言有利于程序流的跟踪,但在目前使用较少。

可编程控制器的程序结构

通过在RUN中循环扫描和连续执行用户程序来控制任务或过程。用户程序决定了控制系统的功能。

PLC程序由用户程序、数据块和参数块三部分组成。

1.用户程序

用户程序是必要的选择。用户程序也被称为存储空间中的组织块,它处于最高水平,可以管理其他块,它是用各种语言(如STL、LAD或FBD等)编写的用户程序。不同型号的CPU也有不同的程序空间容量。用户程序的结构相对简单,一个完整的用户控制程序应包括三个部分:主程序、子程序和中断程序。

在计算机上使用编程软件编程时,使用编程软件的程序结构窗口双击主程序、子程序和中断程序的图标,进入每个程序块的编程窗口。编程软件自动连接每个程序段。对于S7-300PLC的主程序、子程序和中断程序,其结束指令不需要手动输入,编程软件在编程过程中自动添加相应的结束指令。

2.数据块

数据块是可选部分。它主要存储控制程序运行所需的数据。数据块中允许以下数据类型:布尔型,表示编程元件的状态;十进制、二进制或十六进制字和字符类型。

3.参数块

参数块也是可选部分,它存储CPU组态数据。如果CPU组态没有在编程软件或其他编程工具上进行,系统将以默认值自动配置。)编程语言是从继电器控制系统原理图的基础上演变而来的。PLC梯形图与继电器控制系统梯形图的基本思是一致的,但符号和表达方式有所不同。

图6.4.1是典型的梯形图表示。左右两条垂直线称为母线。母线是接触点的逻辑连接和线圈的输出。

a4c26d1e5885305701be709a3d33442f.png

梯形图的一个关键概念是能流,这只是概念上的能流。图6.4.1中,左母线假设为电源相线,右母线(虚线所示)假设为电源中性线。如果有能流从左到右流向线圈,线圈就会被激励。如果没有能流,线圈就不会被激励。

通过激励(ON)动合接点和未激励(OFF)动断接点,能流可以从左向右流动。能流在任何时候都不会通过接点从右向左流动。如图6.4.1所示,当A、B、C连接时,线圈M可以连接(激励),只要其中一个连接不连接,线圈就不会连接;而D、E、F连接中的任何连接都会激励线圈Q。需要强调的是,引入能流的概念只是为了比较继电器-接触器控制系统,对梯形图有深入的了解。事实上,能流并不存在于梯形图中。

有些PLC梯形图有两条母线,但大多数PLC现在只保留左边的母线。在梯形图中,触点代表开关、按钮、内部条件等逻辑输入条件;线圈通常代表逻辑输出结果,如灯、电机、接触器、中间继电器等。S7-300PLC还有一个输出指令盒(方块图),代表定时器、计数器、功能指令等附加指令。梯形图语言简单易懂,是所有编程语言的首选。

2.指令表(STL)

指令表(STL)编程语言类似于计算机中的助记符语言,是可编程控制器最基本的编程语言。所谓的指令表编程是用一个或几个容易记住的字符来代表可编程控制器的某种操作功能。下一章将详细介绍具体说明。

图6.4.2是一个简单的PLC程序,图(a)是梯形图程序,图(b)是相应的指令表。一般来说,语句表编程适合熟悉PLC和有经验的程序员。

a4c26d1e5885305701be709a3d33442f.png

3.顺序功能流程图(SFC)

顺序功能流程图(SFC)编程是一种图形编程方法,也称为功能图。它可以编程并发、选择和其他复杂结构的系统,许多PLC提供SFC编程的指令。目前,国际电工协会(IEC)也在实施和开发该语言的编程标准。

4.功能块图(FBD)

S7-300PLC专门提供FBD编程语言。它在梯形图编程器中没有触点和线圈,但有等价指令作为指令盒出现,程序逻辑由这些指令盒之间的连接决定。也就是说,一个指令(如AND盒)的输出可以用来允许另一个指令(如定时器)建立所需的控制逻辑。这种连接思想可以解决广泛的逻辑问题。FBD编程语言有利于程序流的跟踪,但目前使用较少。

可编程控制器的程序结构

通过在RUN中循环扫描和连续执行用户程序来控制任务或过程。用户程序决定了控制系统的功能。

PLC程序由用户程序、数据块和参数块三部分组成。

1.用户程序

用户程序是必要的选择。用户程序也被称为存储空间中的组织块,它处于最高水平,可以管理其他块,它是用各种语言(如STL、LAD或FBD等)编写的用户程序。不同型号的CPU也有不同的程序空间容量。用户程序的结构相对简单,一个完整的用户控制程序应包括三个部分:主程序、子程序和中断程序。

在计算机上使用编程软件编程时,使用编程软件的程序结构窗口双击主程序、子程序和中断程序的图标,进入每个程序块的编程窗口。编程软件自动连接每个程序段。对于S7-300PLC的主程序、子程序和中断程序,其结束指令不需要手动输入,编程软件在编程过程中自动添加相应的结束指令。

2.数据块

数据块是可选部分。它主要存储控制程序运行所需的数据。数据块中允许以下数据类型:布尔型,表示编程元件的状态;十进制、二进制或十六进制字和字符类型。

3.参数块

参数块也是可选部分,存储CPU组态数据。如果CPU组态没有在编程软件或其他编程工具上进行,系统将自动配置默认值。

a4c26d1e5885305701be709a3d33442f.png

标签: plc连接中间继电器控制电机

锐单商城拥有海量元器件数据手册IC替代型号,打造 电子元器件IC百科大全!

锐单商城 - 一站式电子元器件采购平台