线性化编程与结构化编程+数据块技术讲义.docx

上传人:b****6 文档编号:6422045 上传时间:2023-01-06 格式:DOCX 页数:8 大小:156.77KB
下载 相关 举报
线性化编程与结构化编程+数据块技术讲义.docx_第1页
第1页 / 共8页
线性化编程与结构化编程+数据块技术讲义.docx_第2页
第2页 / 共8页
线性化编程与结构化编程+数据块技术讲义.docx_第3页
第3页 / 共8页
线性化编程与结构化编程+数据块技术讲义.docx_第4页
第4页 / 共8页
线性化编程与结构化编程+数据块技术讲义.docx_第5页
第5页 / 共8页
点击查看更多>>
下载资源
资源描述

线性化编程与结构化编程+数据块技术讲义.docx

《线性化编程与结构化编程+数据块技术讲义.docx》由会员分享,可在线阅读,更多相关《线性化编程与结构化编程+数据块技术讲义.docx(8页珍藏版)》请在冰豆网上搜索。

线性化编程与结构化编程+数据块技术讲义.docx

线性化编程与结构化编程+数据块技术讲义

6.1.3线性化编程与结构化编程

1.线性化编程:

整个用户程序放在循环控制组织块OB1(主程序)中。

2.模块化编程:

程序被分为不同的逻辑块,每个块包含完成某些任务的逻辑指令。

3.结构化编程:

将复杂的自动化任务分解为小任务,这些任务由相应的逻辑块来表示,程序运行时所需的大量数据和变量存储在数据块中。

调用时将“实参”赋值给形参。

创建顺序:

FC1→FB1及其背景数据块→OB1,被调用的块应该是已经存在的。

6.2.1发动机控制系统的用户程序结构

3.局域变量的类型

(1)IN(输入变量):

由调用它的块提供的输入参数。

(2)OUT(输出变量):

返回给调用它的块的输出参数。

(3)IN_OUT:

初值由调用它的块提供,被子程序修改后返回给调用它的块。

(4)TEMP(临时变量):

暂时保存在局域数据区中的变量。

(5)STAT(静态变量):

在功能块的背景数据块中使用。

关闭功能块后,其静态数据保持不变。

功能(FC)没有静态变量。

表6-3FB1的变量声明表

Name

DataType

Address

Declare

InitialValue

Comment

Switch_On

Bool

0.0

IN

FALSE

起动按钮

Switch_Off

Bool

0.1

IN

FALSE

停车按钮

Failure

Bool

0.2

IN

FALSE

故障信号

Actual_Speed

Int

2.0

IN

0

实际转速

Engine_On

Bool

4.0

OUT

FALSE

控制发动机的输出信号

Preset_Speed_Reached

Bool

4.1

OUT

FALSE

达到预置转速

Preset_Speed

Int

6.0

STAT

1500

预置转速

5.程序库

6.2.3功能块与功能

表6-4FC1的变量声明表

Name

DataType

Declare

Comment

Engine_On

Bool

IN

输入信号,发动机运行

Timer_Function

Timer

IN

停机延时的定时器功能

Fan_On

Bool

OUT

控制风扇的输出信号

6.2.4功能块与功能的调用

为了能全部转换为图6-10中的梯形图,下面的语句表还需要增加一些语句。

Network1:

自动手动切换

A"自动"

S"自动模式"

A"手动"

R"自动模式"

Network2:

汽油机控制

CALL"发动机控制","汽油机数据"

Switch_On:

="起动汽油机"

Switch_Off:

="关闭汽油机"

Failure:

="汽油机故障"

Actual_Speed:

="汽油机转速"

Engine_On:

="汽油机运行"

Preset_Speed_Reached:

="汽油机到达设置转速"

Network3:

汽油机风扇控制

CALL"风扇控制"

Engine_On:

="汽油机运行"

Timer_Function:

="汽油机风扇延时"

Fan_On:

="汽油机风扇运行"

6.3数据块

6.3.1数据块中的数据类型

1.基本数据类型

基本数据类型包括位(Bool),字节(Byte)、字(Word)、双字(Dword)、整数(INT)、双整数(DINT)和浮点数(Float,或称实数Real)等。

2.复合数据类型

日期和时间用8个字节的BCD码来存储。

第0~5号字节分别存储年、月、日、时、分和秒,毫秒存储在字节6和字节7的高4位,星期存放在字节7的低4位。

例如2004年7月27日12点30分25.123秒可以表示为DT#04-07-27-12:

30:

25.123。

字符串(STRING)由最多254个字符(CHAR)和2字节的头部组成。

字符串的默认长度为254,通过定义字符串的长度可以减少它占用的存储空间。

3.数组

数组(ARRAY)是同一类型的数据组合而成的一个单元。

ARRAY[1..2,1..3]是一个二维数组,共有6个整数元素。

最多为6维。

数组元素”TANK”.PRESS[2,1]:

TANK是数据块的符号名,PRESS是数组的名称。

方括号中是数组元素的下标。

如果在块的变量声明表中声明形参的类型为ARRAY,可以将整个数组而不是某些元素作为参数来传递。

4.结构

结构(STRUCT)是不同类型的数据的组合。

可以用基本数据类型、复杂数据类型,和,UDT作为结构中的元素,可以嵌套8层。

数据块TANK内结构STACK的元素AMOUNT应表示为”TANK”.STACK.AMOUNT。

将结构作为参数传递时,作为形参和实参的两个结构必须有相同的数据结构,即相同数据类型的结构元素和相同的排列顺序。

5.用户定义数据类型

用户定义数据类型(UDT)是一种特殊的数据结构,由用户自己生成,定义好后可以在用户程序中多次使用。

例如可以生成用于颜料混合配方的UDT,然后用它生成用于不同颜色配方的数据组合。

6.3.2数据块的生成与使用

菜单命令“View→DeclarationView”和“View→DataView”分别指定声明表显示方式和数据显示方式。

声明表显示状态用于定义和修改共享数据块中的变量。

6.4多重背景

6.4.1多重背景功能块

生成FB10时应激活“MultipleInstanceFB”(多重背景功能块)选项。

应首先生成FB1。

为调用FB1,在FB10的变量声明表中声明了两个名为“Petrol_Engine(汽油机)”和“Diesel_Engine(柴油机)”的静态变量(STAT),其数据类型为FB1。

生成FB10后,“Petrol_Engine”和“Diesel_Engine”将出现在管理器编程元件目录的“MultipleInstances(多重背景)”文件夹内。

可以将它们“拖放”到FB10中,然后指定它们的输入参数和输出参数。

6.4.2多重背景数据块其中的数据自动产生。

6.4.3在OB1中调用多重背景

图6-21中调用FB10(符号名为“发动机”)的语句表为:

Network4:

调用多重背景

CALL"发动机","多重背景数据块"

Preset_Speed_Reached:

="两台都达到设置转速"

图6-17FB10的变量声明表

图6-18多重背景功能块FB10

使用多重背景时应注意以下问题:

(1)首先应生成需要多次调用的功能块(例如上例中的FB1)。

(2)管理多重背景的功能块(例如上例中的FB10)必须设置为有多重背景功能。

(3)在管理多重背景的功能块的变量声明表中,为被调用的功能块的每一次调用定义一个静态(STAT)变量,以被调用的功能块的名称(例如FB1)作为静态变量的数据类型。

(4)必须有一个背景数据块(例如上例中的DB10)分配给管理多重背景的功能块。

背景数据块中的数据是自动生成的。

(5)多重背景只能声明为静态变量(声明类型为“STAT”)。

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 考试认证 > 从业资格考试

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1