PLC-8N 第三章 S7-300PLC 第5节 用户程序结构与编程

合集下载

PLC-8N 第三章 S7-300PLC 第5节 用户程序结构与编程

PLC-8N 第三章 S7-300PLC 第5节 用户程序结构与编程

说明: 1)程序写在OB1中。 2)计数值存储在DB1中,需先建立DB1。 DB1的0 ~ 47共48个字节为24个INT数(16位,
2字节),用于存储各小时的计数值。 第48 ~ 55共8个字节用于存储日期-时间。 Byte48:年, Byte49:月, Byte50:日 Byte51:时, Byte52:分, Byte53:秒 Word54:毫秒。 日期-时间均为BCD格式。 3)SFC21为存储器初始化模块。 4)SFC1为读日期-时间模块。
循环处理组织块:如OB1(主程序循环,每个扫描 周期执行一次)
时间中断组织块:如OB10(日期时间中断,即在 设置的日期和时间时启动),OB35(时间循环中 断,即以设定的时间为周期循环执行)
事件中断组织块:如OB20(延时中断,过程事件 出现后延时一段时间再执行中断程序),OB40 (硬件中断,快速响应过程事件)
500 IN2
OB1程序
Network1 I0.1
MW10 MW12 MW14 MW16
FC1
EN
ENO
INn0 OUTn8
INn2
INn4
INn6
<0 MW18
Q4.1 ()
Network2 I0.3
MW20 MW22 MW24 MW26
FC1
EN
ENO
INn0 OUTn8
INn2
INn4
INn6
FC没有静态存储空间,调用后其程序中的 临时变量不保留,其它程序不能使用这些临时 变量。
功能调用方法
3、STEP 7库中的功能块与功能的调用
在STEP 7编程软件中提供了一些常用的功能块 (FB)和功能(FC),用户不用再创建这些子 程序,编程时可直接调用,其方法与调用用户自 己编写的FB或FC相同。

s7-300PLC的编程指令

s7-300PLC的编程指令
(4)ANY:10字节长。当实际参数的数据类型未知或当可 以使用任何数据类型时,可以使用这种定义方式。例如: P#M50.0 BYTE 10即定义了数据类型的ANY格式。
模块7 s7-300PLC的编程指令
工厂电气控制与PLC教学课件
7.1.2 s7-300的寄存器
s7-300CPU的寄存器有7个,分别为2个累加器、2个地址 寄存器、2个数据块寄存器和1个状态字寄存器。
所谓寻址方式就是指令执行时获取操作数的方式,可以 直接或间接方式给出操作数。s7-300有四种寻址方式:立即 寻址、直接寻址、存储器间接寻址、寄存器间接寻址。
模块7 s7-300PLC的编程指令
工厂电气控制与PLC教学课件
(4)双字(DOUBLE WORD) 数据长度为32位,双字的数据格式可表示为: 二进制,十六进制,BCD码,无符号十进制数。 (5)整数(INT) (6)双整数(DOUBLE INT) (7)实数(REAL也叫浮点数Float) (8)S5TIME(SIMATIC时间) (9)IEC时间(TIME) (10)IEC日期(DATE) (11)日计时(TIME_OF_DAY) (12)字符(CHAR)
无符号十进制数:无符号十进制数的格式为B#(×, ×),取值范围为B#(0,0)~B#(255,255),无符号 十进制数是用十进制的0~255对应二进制数中的 0000_0000~1111_1111(8位),16位二进制数就需要两个 0~255的数来表示,例如:
B#(12,254)=2#0000_1100_1111_1110
3.参数类型
除基本数据类型和复杂数据类型外,STEP7还允许为块 之间传送的形式参数定义参数类型。STEP7定义的参数类型 如下:
(1)TEMER或COUNTER:2字节长,指定当执行块时将使用 的特定定时器或特定计数器。如果赋值给TEMER或COUNTER参 数类型的形参,相应的实际参数必须是定时器或计数器,如 T1,C10。

第5章S7-300PLC指令系统及编程(2)

第5章S7-300PLC指令系统及编程(2)

执行表5-19 的指令,就是在将累加器l 中的实数转换为32 位整数。 但化整的规则不相同,同一实数,执行不同转换指令,所得结果有 些区别。RND 指令中将实数转换为最接近的整数是指:实数的小 数部分执行小于5 舍,大于5 入,等于5 则选择偶数结果。如100.5 化整为100 ,而101 .5 化整为102 。如表5-20所示。
二、数据转换指令 数据转换指令是将累加器1中的数据进行数据类型转换,转换的结 果仍放在累加器1 中。在STEP7 中,可以实现BCD 码与整数、整数 与双整数(长整数)、双整数与实数间的转换,还可以实现整数的 反码、整数的补码、实数求反等数据转换操作。 下面先回顾一下数据格式,然后再介绍数据转换指令的使用方法。 (一)数据格式 PLC 中常用到的数据格式如下: 1.十进制数(BCD 码数)格式 十进制数的每一位用4 个二进制位表示,因为最大的数是9,所 以需要4 位才能表示(1001)。从0到9 的BCD 码数与二进制数表示 是相同的。 2.整数(INT )、双整数(DINT )格式
下面举例说明其用法。 例如,整数求补,其程序和转换过程如图5-68所示。
又例如,实数求反,如图5-69所示
整数的二进制求反,实际上是对原整数用FFFF ( H )FFFFFFFF (H) 进行“异或”操作,因此每一位都变为其相反的值。从STL指令看出, 求反、求补操作均在累加器中进行。
ห้องสมุดไป่ตู้
三、数据比较指令 在编程时有时需要对两个量进行比较。比较指令只能在两个同类 型数据间进行。被比较的两个数可以是:I— 两个整数(16 位定点 数);D—两个双整数(32 位定点数); R—两个实数(32 位的 IEEE 格式浮点数)。若比较的结果为“真”,则令RLO=1 ,否则 RLO =0 。 比较类型有等于、不等于等6 种,用比较符表示。3种数据的6 种 比较如表5-22 所示。它实际上是STL比较指令的格式。在比较指令 的梯形图方块的上部也采用了表5-22 所列出的符号,同一符号在两 种语言格式(STL,LAD )中均使用,对读者记忆更为方便。下面 举例说明比较指令的用法。

电气控制与S7-300 PLC编程技术第5章 S7-300PLC的编程基础

电气控制与S7-300 PLC编程技术第5章 S7-300PLC的编程基础

5.4 变量与数制
(2) 数制 4.BCD码 BCD码用4位二进制数表示一位十进制数,各位之间逢十进一。最 高4位用来表示符号,16 位BCD码的范围:–999~+999。 十进制数123对应的BCD码为W#16#123,或2#0000 0001 0010 0011。 因为运算规则是逢16进1,十六进制数W#16#123对应的十进制数为 W#16#123=1×162+2×161+3=291。
5.4 变量与数制
(2) 数制 1.二进制数 二进制数的1位(bit)只能取0和1这两个不同的值,用来表示开关 量的两种不同的状态。ON/OFF,TURE/FALSE。二进制常数: 2#1111_0110_1001_0001。 2.十六进制数 十六进制的16个数字:0~9和A~F,每个占二进制数的4位, W#16#23AF。 3.八进制数 八进制数的8个数字采用0~7八个数字,逢八进位。通常在数字后 面加英文“O”来表示八进制数。
第5章 S7-300PLC的编程基础
5.1 5.2 5.3 5.4 5.5 5.6 5.7 PLC编程语言的国际标准 S7-300PLC的编程语言 梯形图绘制原则 变量与数制 数据类型 PLC中的存储区与寄存器 指令结构与寻址方式
5.1 PLC编程语言的国际标准 1) 指令表IL(Instruction list):西门子称为语句表STL。 2) 结构文本ST(Structured text):西门子称为结构化控
起保停控制梯形图和语句表
起保停控制功能块结构图
5.3 梯形图绘制原则
(1)梯形图按元件从左到右、从上到下绘制。 (2)梯形图中的触点应画在水平支路上,不应画在垂直支路上。 (3)梯形图中只出现输入继电器的触点而不出现输入继电器的线圈。 (4)外部输入、输出、内部继电器(位存储器)、定时器、计数器等 器件的触点可多次重复使用。 (5)梯形图每一行都是从左侧母线开始,线圈接在最右边,触点不能 放在线圈的右边。 (6)线圈不能直接与左侧母线相连。 (7)同一编号的线圈在一个程序中使用两次及以上(称为双线圈输出

电器控制与PLC技术应用 第5章 S7-300的指令系统及编程

电器控制与PLC技术应用 第5章 S7-300的指令系统及编程

2、计数器指令的功能框表示形式
加计数器
减计数器
可加/减计数器
3、 计数器线圈指令
LAD指令 STL指令 L C#... S C no. CU Cno. 功 能 该指令为计数器置初始值。当RLO有上升沿时,将预置值十进制数 (格式为C#...)装入累加器1中作为计数器的当前值。 加计数,程序运行时RLO没有一个上升沿时,计数值加1,若达上限 999时,停止加计数。 减计数,程序运行时RLO没有一个上升沿时,计数值减1,若达下限 0时,则停止减计数。
• 5.2.3 跳变沿检测指令
当信号状态发生变化时就产生跳变沿。指令格式见表5-3。
表5-3 跳变沿检测指令
对RLO跳变沿检测的指令 LAD指令 STL指令 FP <位地址> 功 能 存储区
RLO正跳沿检测,位地址用于存放需要检测的 RLO的上一扫描周期值,当RLO值由0变化到1时, 输出接通一个扫描周期。 Q、M、D
第5章

S7-300的指令系统及编程
STEP 7是与西门子公司SIMATIC S7系列PLC相配 套的支持用户开发应用程序的软件包,在STEP 7中, S7系列PLC常用的编程语言有:LAD(梯形图)、 STL(语句表)、FBD(功能块图)等。只有当编 程语言选择为LAD时,在编程环境中,选择主菜单 的Insert项的Program Elements,则编辑环境的左 面出现了指令树窗口,右面出现了用户程序窗口, 在指令树窗口中涵盖了S7-300的所有常用梯形图指 令,用户可以采用双击或拖拽的方式应用到用户程 序的需要处,即用户可以利用指令树窗口的指令在 用户程序窗口中绘制所需的梯形图程序。如图5-1所 示。其他两种常用的编程语言不提供指令帮助。
3. 装入时间值或计数值 4. 地址寄存器装入和传送 5、梯形图方块传送指令

可编程控制器原理及应用——S7-300-400第5章程序结构与程序设计

可编程控制器原理及应用——S7-300-400第5章程序结构与程序设计

图5-1 一个用户程序中的块调用
PLC原理及应用
和子程序可以嵌套调用一样,块也可以嵌套调用,即被
调用的块又可以调用别的块。允许嵌套调用的层数(深
度)与CPU和局域数据堆栈(L堆栈)有关。
图5-2 块调用的分层结构
PLC原理及应用
如果存在块调用,各块的创建顺序应遵循:
(1)创建块应从上到下,所以应从最上行的块开始。
PLC原理及应用
在访问数据块时,必须指明数据块的编号、数据类型与位置,以确定 访问该数据块中的哪一个数据。如果访问不存在的数据单元或数据 块,而且没有编写错误处理OB块,CPU将进入STOP模式。 STEP7中对数据单元的寻址如图5-5所示。
图5-5 数据单元的寻址
PLC原理及应用
访问数据块中数据的方法
第5章
程序结构与程序设计
PLC原理及应用
5.1 用户程序的基本结构
5.2 数据块
5.3 逻辑块
5.4 组织块与中断处理
5.5 程序调试
5.6 设计实例
5.7 习 题
PLC原理及应用
5.1 用户程序的基本结构
• S7-300/400的CPU运行两种程序,即操作系统和用户程序。操作系 统完成的任务有:热启动管理,刷新输入、输出的过程映像表,调 用用户程序、采集中断信息,调用中断OB,识别错误并进行错误
PLC原理及应用
特点:
(1)、由于所有的指令都在一个块中,CPU在每个扫
描周期都要处理程序中的全部指令,而实际上许多指令
并不需要每个扫描周期都去处理,因此没有有效地利用
CPU。 (2)、某些需要多次执行的相同或相近的操作,在程 序中需要重复编写,增加编程负担。所以在为S7-300编 写简单程序并且需要较少存储区域时,才建议使用这种 方法。

第5章S7-300的程序结构

第5章S7-300的程序结构

1. 编程元件的地址分配
地址 I0.0 I0.1 I0.2 Q4.1 Q4.2 符号 SA SB1 SB2 KM1 KM2 作用 选择开关 1号风机的控制按钮 2号风机的控制按钮 控制1号风机的接触器 控制1 控制2 控制2号风机的接触器
采用只有主程序的方法编控制程序 OB1 I0.1 M0.2 Q4.1 I0.1 M0.0 (P ) I0.2 M0.4 Q4.2 I0.2 M0.3 (P ) Q4.2 M0.4 ( ) Q4.1 M0.2 ( ) Q4.2 ( ) I0.0 Q4.1 ( )
STEP 7基本数据类型
关键字 BOOL BYTE WORD DWORD CHAR S5TIME 长度 (位) 位 1 8 16 32 8 16 该类型的常数举例 True 或 False (1 或0) B#16#A9 W#16#12AF DW#16#ADAC1EF5 'w' S5T#5s_200ms
用户定义
Motor: STRUCT Speed : INT Current: REAL END_STRUCT UDT as block UDT as array Drive:
UDT element (用户定义数据类型 = 基本或复杂数据类型组成的 ARRAY[1..4] 模板)
用户定义 STRUCT Speed : INT UDT1 Current: REAL END_STRUCT
OB FC FB 在OB块、FC块、 FB块的变量声明表中可以定义局部变 量。局部变量只在局部变量定义块中有效。
编程软件STEP7中的变量的数据类型 基本数据类型、 复杂数据类型、 参数数据类型3个大类 1、 基本数据类型 P85表4-1 Bool、 Byte、Word、 Dword、 Char、Int、DInt、Real、 S5Time、Time、Date、Time_Of_Day 2、 复杂数据类型P86 String:字符串类型 Array:数组类型 Structure:结构类型 3、参数数据类型 Timer:定时器类型 Counter:计数器类型

S7-300PLC的编程

S7-300PLC的编程

S7-300/400PLC的编程技术编程语言与数据类型1 编程语言STEP-7是S7-300/400系列PLC的编程软件。

梯形图、语句表 (即指令表)和功能块图是标准的STEP-7软件包配备的3种基本编程语言,这3种语言可以在STEP-7中相互转换。

1 顺序功能图(SFC)触点和线圈等组成的独立电路称为网络(Network),如下图所示,编程软件自动为网络编号。

梯形图中的触点和线圈可以使用物理地址,例如I0.1,Q0.3等。

如果在符号表中对某些地址定义了符号,例如令I0.1的符号为“起动”,在程序中可用符号地址“起动”来代替物理地址I0.0,这样使程序易于阅读和理解。

用户可以在网络号右边加上网络的标题,在网络号的下面为网络加上注释。

还可以选择在梯形图下面自动加上该网络中使用的符号的信息。

在分析梯形图中的逻辑关系时,为了借用继电器电路图的分析方法,可以想象在梯形图的左有两侧垂直“电源”之间有一个左正右负的直流电源电压,有一个假想的“能流”(PowerFlow)流过线圈。

利用能流这一概念,可以很好地理解和分析梯形图,能流只能从左向右流动。

•4)功能块图(FBD)功能块图(FBD)使用类似于布尔代数的图形逻辑符号来表示控制逻辑。

一些复杂的功能用指令框来表示,功能块图用类似于与门、或门的方框来表示逻辑运算关系。

•5)结构文本(ST)结构文本(ST)是为IEC61131-3标准创建的一种专用的高级编程语言。

STEP-7的S7 SCL(结构化控制语言)是符合lEC61131-3标准的高级文本语言。

它的语言结构与编程语言Pascal和C相似,所以特别适合于习惯使用高级编程语言的人使用。

•6)S7 HiGraph编程语言图形编程语言S7 HiGraph属于可选软件包,它用状态图(State Graphs)来描述异步、非顺序控制过程的编程语言。

•7)S7 CFC编程语言可选软件包CFC(Continuous Function Chart,连续功能图)用图形方式连接程序库中以块的形式提供的各种功能,包括从简单的逻辑操作到复杂的闭环和开环控制等领域。

  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

500 IN2
OB1程序
Network1 I0.1
MW10 MW12 MW14 MW16
FC1
EN
ENO
INn0 OUTn8
INn2
INn4
INn6
<0 MW18
Q4.1 ()
Network2 I0.3
MW20 MW22 MW24 MW26
FC1
EN
ENO
INn0 OUTn8
INn2
INn4
INn6
调用时可指明其输入、输出,如某些参数未指 明,则使用背景数据块中的数据。
功能块调用
2、功能(FC)的创建与调用
1)功能的创建
如控制程序不需要保存自己的数据,则可用功能 (FC)来编程,FC没有背景数据块,不能给其 变量分配初值,也没有静态变量。FC的创建方法 与FB类似。
在SIMATIC管理器中打开工程内S7程序文件夹 下的“块( BLOCK)”文件夹,然后,右键点击 右侧窗口栏,选择“插入新对象(InsertNew Object)”中的“功能(Function )”,再分配 编号即可插入新的功能。
要创建共享数据块时,可在SIMATIC管理器中打 开工程内S7程序文件夹下的“块( BLOCK)”文 件夹,然后,右键点击右侧窗口栏,选择“插入 新对象(InsertNew Object)”中的“数据块 (DATA Block)”,再分配编号即可插入新的 数据块。打开该块后,即可定义变量。
数据块变量定义
根据题意可使用FC完成运算部分,然后在OB1中 调用该FC。
在FC中定义4个整型输入变量(依次为INn0、 INn2、 INn4和INn6),1个整型输出变量 (OUTn8 ),及3个临时整型变量(依次为 TEMP1、TEMP2和TEMP3)。
FC1程序
Network1 DIV_I EN ENO
SFB41模块带有自己的背景数据块,用于存 放其各种参数及状态信息等,如比例增益、 积分时间、微分时间、自动/手动、自动输出 值、手动输出值、起用P/I/D、扫描时间等。
SFB41模块调用
2)系统功能(SFC)的调用
对于系统功能,在程序中可直接调用,与一般 指令类似,只需将输入和输出端进行相应的变 量连接即可。
K1和K2的值与极性控制BIPOLAR有关, BIPOLAR=0时,K1=0.0,K2=27648.0;
BIPOLAR=1时,K1=-27648.0, K2=27648.0 。
上例中上面的调用是将模拟量输入通道 PIW752的数据转换为0~100%之间的数据。 即将输入PIW752的模拟量进行百分量处理。
双击插入的功能块,进行功能块编程。
先进行变量声明,这些变量声明实际上就是定 义该FB的背景数据块的结构及其变量的初值。 然后,再编写该功能块的程序。
功能块的创建
功能块在管理器中的显示
FB变量声明(以实验二FB调用为例)
FB编程
2)功能块(FB)的调用
功能块创建后,在其它程序中可有条件调用和 无条件调用。采用梯形图编程时,FB如同一条 功能指令。其它程序在调用该功能块时,需指 定其背景数据块的编号,然后,在编译调用程 序时会自动生成对应的背景数据块(调用FB时, 系统会提示分配背景数据块)。
上例中的调用是将MD120中的实数按0.0~100.0% 对应转换为0~27648之间的数据,并由模拟量输出 通道PQW800输出。
4、系统功能块与系统功能的调用
系统功能块(SFB)和系统功能(SFC)的调用方法 与STEP 7库中提供的功能块(FB)和功能 (FC)的调用相同。只是SFB和SFC是集成在 CPU模块内,程序代码本身不占用用户程序存 储空间。但SFB调用时需用户提供背景数据块, 其背景数据块仍占用用户的存储空间。
<0 MW28
Q4.3 ()
Network3 I0.5
MW30 MW32 MW34 MW36
FC1
EN
ENO
INn0 OUTn8
INn2
INn4
INn6
<0 MW38
Q4.5 ()
2、易拉罐生产线计数 易拉罐生产线需要统计每小时生产的易拉罐数
量。系统中有一传感器,每当一易拉罐经过时, 就产生一个脉冲。要求编制程序将一天24小时 生产的易拉罐数量统计出来,并分别存储在24 个数据寄存器中。 I/O分配: I0.0—启动按钮(自锁型按钮); I0.1—复位按钮; I0.2—计数输入;
据块和背景数据块。
1、组织块(OB)
启动组织块:如OB100 (暖启动,PLC启动时执 行一次。)
循环处理组织块:如OB1(主程序循环,每个扫描 周期执行一次)
时间中断组织块:如OB10(日期时间中断,即在 设置的日期和时间时启动),OB35(时间织块:如OB20(延时中断,过程事件 出现后延时一段时间再执行中断程序),OB40 (硬件中断,快速响应过程事件)
FC没有静态存储空间,调用后其程序中的 临时变量不保留,其它程序不能使用这些临时 变量。
功能调用方法
3、STEP 7库中的功能块与功能的调用
在STEP 7编程软件中提供了一些常用的功能块 (FB)和功能(FC),用户不用再创建这些子 程序,编程时可直接调用,其方法与调用用户自 己编写的FB或FC相同。
此外,CPU模块所支持的SFB和SFC与CPU型 号有关。
编程时,这些系统功能块或系统功能位于编程 部件窗口中的“库\Standard Library\System Function Blocks内,可依程序需要来调用。
1)系统功能块(SFB)的调用
系统功能块由系统提供,带有背景数据块, 如SFB 41模块就是控制系统中常用的PID模 块。
说明: 1)程序写在OB1中。 2)计数值存储在DB1中,需先建立DB1。 DB1的0 ~ 47共48个字节为24个INT数(16位,
2字节),用于存储各小时的计数值。 第48 ~ 55共8个字节用于存储日期-时间。 Byte48:年, Byte49:月, Byte50:日 Byte51:时, Byte52:分, Byte53:秒 Word54:毫秒。 日期-时间均为BCD格式。 3)SFC21为存储器初始化模块。 4)SFC1为读日期-时间模块。
应注意:PLC支持的各种组织块的数量与CPU型 号有关。
2、系统功能块(SFB)和系统功能(SFC)
SFB是系统提供的子程序,集成在CPU模块中, 有背景数据块,背景数据块可在编译时自动生成。 例如连续PID控制块SFB 41(名称为CONT_C)。
SFC也是系统提供的子程序,且集成在CPU模块 中,但无背景数据块,而是以参数传递的形式交 换数据。如设置和读取系统时钟的SFC 0和SFC 1 等。

OB
DBn SFBs
SFCs DBn FBs
FCs
至少包含1个OB
用户程序
DBn SFBs
SFCs DBn FBs FCs
DBn SFBs
SFCs DBn FBs
FCs
用户程序中可包含的程序块或数据块的数量与 CPU型号有关,分为1024/2048/4096个。单个块 的最大容量为64K。
程序块调用嵌套深度一般为8或16层。
这些部件位于编程部件窗口中的“库\ Standard Library下的相关目录下。
以功能FC105为例,该功能为输入标度变换,既 将输入数据按规定的上限和下限进行线性转换。
FC105调用(常用于模拟量输入处理等)
OUT = [((IN -K1)/(K2-K1))*(HI_LIM-LO_LIM)] + LO_LIM
现以系统功能SFC20“块传送”功能为例说明 调用方法。(见下图)
这里,SRCBLK规定原数据区起始地址及要传 送的字节数,指针型地址(P#)。DSTBLK规 定目的数据区起始地址,RET_VAL规定错误 代码存储地址。
SFC20调用
5、共享数据块的创建及数据调用
1)共享数据块的定义
共享数据块通常是用户对一些全局变量的定义, 也包括变量名、变量数据类型及初始值等。一般 在程序设计时预先定义,然后再在程序中使用其 内部的变量。
#INn6 IN1 OUT #TEMP1
#INn2 IN2
MUL_I EN ENO
#INn0 IN1 OUT #TEMP2
#INn4 IN2
Network2
SUB_I EN ENO
ADD_I EN ENO
#TEMP1 IN1 OUT #TEMP3 #TEMP3 IN1 OUT #OUTn8
#TEMP2 IN2
双击插入的功能,进行功能编程。
先进行变量声明,然后编写该功能的执行程序。
FC变量声明
FC编程
2)功能(FC )的调用
功能(FC)创建后,在其它程序中可有条 件调用或无条件调用。采用梯形图编程时,FC 也如同一条功能指令。因其没有背景数据块, 所以调用必须指明各输入/输出参数。
此外,FC提供了一个特殊的输出参数—— 返回值,编程时可指定一个存储单元来存储返 回值。例如:使用M区寄存器作为存储单元。
对于简单的程序可只包含OB1,称作线性化编 程。
将复杂的自动化任务分割成反映过程技术的功 能或可多次处理的小任务,可以更易于控制复 杂任务。这些任务以相应的程序块表示,称为 结构化编程。
二、功能块与功能的创建和调用
1、功能块(FB)的创建与调用
1)功能块的创建
在SIMATIC管理器中打开工程内S7程序文件 夹下的“块( BLOCK)”文件夹,然后,右键 点击右侧窗口栏,选择“插入新对象 (InsertNew Object)”中的“功能块 (Function Block)”,再分配编号即可插入 新的功能块。
FC是用户编写的或STEP 7库中提供的无背景数据 块的子程序。调用时必须提供输入和输出参数。
相关文档
最新文档