1500字范文,内容丰富有趣,写作好帮手!
1500字范文 > plc编程和计算机编程语言 以S7-300为例谈可编程控制器的编程语言和程序结构

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

时间:2019-03-23 11:00:29

相关推荐

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

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

PLC为用户提供了完整的编程语言,以适应编制用户程序的需要。PLC提供的编程语言通常有以下几种:梯形图、指令表、功能图和功能块图。下面以S7-300系列PLC为例加以说明。

1.梯形图(LAD)

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

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

梯形图的一个关键概念是“能流”(PowerFlow),这仅是概念上的“能流”。图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和有经验的程序员使用。

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

顺序功能流程图(SFC)编程是一种图形化的编程方法,亦称功能图。使用它可以对具有并发、选择等复杂结构的系统进行编程,许多PLC都提供了用于SFC编程的指令。目前国际电工协会(IEC)也正在实施并发展这种语言的编程标准。

4.功能块图(FBD)

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

二、可编程控制器的程序结构

控制一个任务或过程,是通过在RUN方式下,使主机循环扫描并连续执行用户程序来实现的,用户程序决定了一个控制系统的功能。

广义上的PLC程序由三部分构成:用户程序、数据块和参数块。

1.用户程序

用户程序是必选项。用户程序在存储器空间中也称为组织块,它处于最高层次,可以管理其他块,它是用各种语言(如STL、LAD或FBD等)编写的用户程序。不同机型的CPU其程序空间容量也不同。用户程序的结构比较简单,一个完整的用户控制程序应当包含一个主程序、若干子程序和若干中断程序三大部分。

用编程软件在计算机上编程时,利用编程软件的程序结构窗口双击主程序、子程序和中断程序的图标,即可进入各程序块的编程窗口。编译时编程软件自动对各程序段进行连接。对S7-300PLC的主程序、子程序和中断程序来说,它们的结束指令不需编程人员手工输入,编程软件会在程序编译时自动加入相应的结束指令。

2.数据块

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

3.参数块

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

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

梯形图的一个关键概念是“能流”(PowerFlow),这仅是概念上的“能流”。图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和有经验的程序员使用。

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

顺序功能流程图(SFC)编程是一种图形化的编程方法,亦称功能图。使用它可以对具有并发、选择等复杂结构的系统进行编程,许多PLC都提供了用于SFC编程的指令。目前国际电工协会(IEC)也正在实施并发展这种语言的编程标准。

4.功能块图(FBD)

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

三、可编程控制器的程序结构

控制一个任务或过程,是通过在RUN方式下,使主机循环扫描并连续执行用户程序来实现的,用户程序决定了一个控制系统的功能。

广义上的PLC程序由三部分构成:用户程序、数据块和参数块。

1.用户程序

用户程序是必选项。用户程序在存储器空间中也称为组织块,它处于最高层次,可以管理其他块,它是用各种语言(如STL、LAD或FBD等)编写的用户程序。不同机型的CPU其程序空间容量也不同。用户程序的结构比较简单,一个完整的用户控制程序应当包含一个主程序、若干子程序和若干中断程序三大部分。

用编程软件在计算机上编程时,利用编程软件的程序结构窗口双击主程序、子程序和中断程序的图标,即可进入各程序块的编程窗口。编译时编程软件自动对各程序段进行连接。对S7-300PLC的主程序、子程序和中断程序来说,它们的结束指令不需编程人员手工输入,编程软件会在程序编译时自动加入相应的结束指令。

2.数据块

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

3.参数块

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

本内容不代表本网观点和政治立场,如有侵犯你的权益请联系我们处理。
网友评论
网友评论仅供其表达个人看法,并不表明网站立场。