SIMATIC S7-1500函数FC及其应用

发布者:梦幻微笑最新更新时间:2024-07-25 来源: elecfans关键字:SIMATIC  S7-1500 手机看文章 扫描二维码
随时随地手机看文章

(1)函数(FC)介绍

①函数(FC)是用户编写的程序块,是不带存储器代码块。由于没有可以存储块参数值的数据存储器,因此,调用函数时,必须给所有形参分配实参。

②FC里有一个局域变量表和块参数。局域变量表里有:Input(输入参数)、Output(输出参数)、InOut (输入/输出参数)、Temp(临时数据)、Return(返回值RET_VAL)。Input(输入参数)将数据传递到被调用的块中进行处理。Output(输出参数)是将结果传递到调用的块中。InOut(输入/输出参数)将数据传递到被调用的块中,在被调用的块中处理数据后,再将被调用的块中发送的结果存储在相同的变量中。Temp(临时数据)是块的本地数据,并且在处理块时将其存储在本地数据堆栈。关闭并完成处理后,临时数据就变得不再可访问。Return包含返回值RET_VAL。

(2)函数(FC)的应用

函数(FC)类似于VB语言中的子程序,用户可以将具有相同控制过程的程序编写在FC中,然后在主程序Main[OB1]中调用。创建函数的步骤是:先建立一个项目,再在TIA博途软件项目视图的项目树中选中“已经添加的设备”(如:PLC_1)→“程序块”一“添加新块”,即可弹出要插入函数的界面。以下用例1说明函数(FC)的应用。

【例1】用函数FC实现电动机的启停控制。

【解】①新建一个项目,本例为“启停控制(FC)”。在TIA博途软件项目视图的项目树中,选中并单击已经添加的设备“PLC_1”-“程序块”-“添加新块”,如图1所示,弹出添加块界面。

caf88fce-23ed-11ee-962d-dac502259ad0.png?imageView2/2/w/1000

图1

②如图2所示,在“添加新块”界面中,选择创建块的类型为“函数”,再输入函数的名称(本例为启停控制),之后选择编程语言(本例为LAD),最后单击“确定”按钮,弹出函数的程序编辑器界面。

cb2f342a-23ed-11ee-962d-dac502259ad0.png?imageView2/2/w/1000

图2

③在“程序编辑器”中,输入如图3所示的程序,此程序能实现启停控制,再保存程序。

cb4ef9fe-23ed-11ee-962d-dac502259ad0.png?imageView2/2/w/1000

图3

④在TIA 博途软件项目视图的项目树中,双击“Main[OB1]”,打开主程序块“Main[OB1]”,选中新创建的函数“启停控制(FC1)”,并将其拖拽到程序编辑器中,如图4所示。至此,项目创建完成。

cb7aa9aa-23ed-11ee-962d-dac502259ad0.png?imageView2/2/w/1000

图4

【例2】用函数实现电动机的启停控制。

【解】本例的1、2步与例1相同。

③在TIA博途软件项目视图的项目树中,双击函数块“启停控制(FC1)”,打开函数,弹出“程序编辑器”界面,先选中Input(输入参数),新建参数“Start”和“Stopl”,数据类型为“Bool”。再选中InOut (输入/输出参数),新建参数“Motor”,数据类型为“Bool”,如图5所示。最后在程序段1中输入程序.

cbbbc39a-23ed-11ee-962d-dac502259ad0.png?imageView2/2/w/1000

图5

如图6所示,注意参数前都要加“#”。

cbeade5a-23ed-11ee-962d-dac502259ad0.png?imageView2/2/w/1000

图6

④在TIA 博途软件项目视图的项目树中,双击“Main[OBI]”,打开主程序块“Main[OB1]”,选中新创建的函数“启停控制(FC1)”,并将其拖拽到程序编辑器中,如图7所示。

cc0a82f0-23ed-11ee-962d-dac502259ad0.png?imageView2/2/w/1000

图7

如果将整个项目下载到PLC中,就可以实现“启停控制”。这个程序的函数“FC1”的调用比较灵活,与例1不同,启动不只限于I0.0,停止不只限于I0.1,在编写程序时,可以灵活分配应用。

关键字:SIMATIC  S7-1500 引用地址:SIMATIC S7-1500函数FC及其应用

上一篇:磁通矢量控制和直接转矩控制介绍
下一篇:鼠笼式电机转子断条怎么检测,鼠笼式电机转子断条怎么修

推荐阅读最新更新时间:2026-03-19 22:13

SIMATIC S7-1500 PLC边沿检测指令
边沿检测指令有扫描操作数的信号下降沿指令和扫描操作数的信号上升沿指令。 (1)扫描操作数的信号下降沿指令FN检测RLO从1调转到0时的下降沿,并保持RLO=1一个扫描周期。每个扫描周期期间,都会将RLO位的信号状态与上一个周期获取的状态比较,以判断是否改变。 下降沿示例的梯形图如图1所示: 图1 由图2所示的时序图可知:当按钮10.0按下后弹起时,产生一个下降沿,输出O0.0得电一个扫描周期,这个时间是很短的,肉眼是分辨不出来的,因此若Q0.0控制的是一盏灯,肉眼是不能分辨出灯已经亮了一个扫描周期。 图2 (2)扫描操作数的信号上升沿指令FP检测RLO从0调转到1时的上升沿,并保持RLO=1一个扫描周期。每个扫描周期期
[嵌入式]
<font color='red'>SIMATIC</font> <font color='red'>S7-1500</font> PLC边沿检测指令
SIMATIC S7-1500 PLC接通延时定时器SD介绍
接通延时定时器(SD)介绍: 接通延时定时器(SD)相当于继电器接触器控制系统中的通电延时时间继电器。通电延时继电器的工作原理是:线圈通电,触点延时一段时间后动作。SD指令是当逻辑位接通时,定时器开始定时,计时过程中,定时器的输出为“0”,定时时间到,输出为“1”,整个过程中,逻辑位要接通,只要逻辑位断开,则输出为“0”。接通延时定时器最为常用。 用一个例子来说明SD线圈指令的使用,梯形图如图1所示: 图1 对应的时序图如图2所示: 图2 当I0.0闭合时,定时器T0开始定时,定时1s后(I0.0一直闭合),Q0.0输出高电平“1”,若I0.0的闭合时间不足1s,Q0.0输出为“0”,若I0.0断开,Q0.0输出为“0
[嵌入式]
<font color='red'>SIMATIC</font> <font color='red'>S7-1500</font> PLC接通延时定时器SD介绍
SIMATIC S7-1500 PLC SIMATIC加计数器
计数器的功能是完成计数功能,可以实现加法计数和减法计数,计数范围是0~999.计数器有三种类型:加计数器(S_CU)、减计数器(S_CD)和加减计数器(S_CUD)。 (1)计数器的存储区 在CPU的存储区中,为计数器保留有存储区。该存储区为每个计数器地址保留一个16位的字。计数器的存储格式如图1所示: 图1 其中BCD码格式的计数值占用字的0~11位,共 12 位,而 12~15 位不使用;二进制格式的计数值占用字的0~9位,共10位,而10~15位不使用。 (2)加计数器(S_CU) 加计数器(S_CU)在计数初始值预置输入端S上有上升沿时,PV装入预置值,输入端CU每检测到一次上升沿,当前计数值CV加1(前提是CV
[嵌入式]
<font color='red'>SIMATIC</font> <font color='red'>S7-1500</font> PLC <font color='red'>SIMATIC</font>加计数器
SIMATIC S7-1500 PLC SIMATIC计数器-加计数器
计数器的功能是完成计数功能,可以实现加法计数和减法计数,计数范围是0~999.计数器有三种类型:加计数器(S_CU)、减计数器(S_CD)和加减计数器(S_CUD)。 (1)计数器的存储区 在CPU的存储区中,为计数器保留有存储区。该存储区为每个计数器地址保留一个16位的字。计数器的存储格式如图1所示: 图1 其中BCD码格式的计数值占用字的0~11位,共12位,而12~15位不使用;二进制格式的计数值占用字的0~9位,共10位,而10~15位不使用。 (2)加计数器(S_CU) 加计数器(S_CU)在计数初始值预置输入端S上有上升沿时,PV装入预置值,输入端CU每检测到一次上升沿,当前计数值CV加1(前提是CV小于999
[嵌入式]
<font color='red'>SIMATIC</font> <font color='red'>S7-1500</font> PLC <font color='red'>SIMATIC</font>计数器-加计数器
SIMATIC S7-1500 PLC SIMATIC减计数器介绍
计数器的功能是完成计数功能,可以实现加法计数和减法计数,计数范围是0~999.计数器有三种类型:加计数器(S_CU)、减计数器(S_CD)和加减计数器(S_CUD)。 (3) 减计数器(S_CD) 减计数器(S_CD)在计数初始值预置输入端S上有上升沿时,PV装入预置值,输入端CD每检测到一次上升沿,当前计数值CV减1(前提是CV值大于0),当CV等于0时,计数器的输出Q从状态“1”变成状态“0”;当R端子的状态为“1”时,计数器复位,当前计数值为“PV”,输出也为“0”。减计数器指令和参数见图1: 图1 用一个例子来说明减计数器指令的使用,梯形图和指令表示如图2所示: 图2 与之对应的时序图如图3所示: 图3 当
[嵌入式]
<font color='red'>SIMATIC</font> <font color='red'>S7-1500</font> PLC <font color='red'>SIMATIC</font>减计数器介绍
SIMATIC S7-1500 PLC IEC定时器介绍
西门子PLC的定时器的数量有限,如果项目较大,定时器不够用时,可以使用IEC定时器。IEC定时器集成在CPU的操作系统中。在相应的CPU中有以下定时器:脉冲定时器(TP)、通电延时定时器(TON)、通电延时保持型定时器(TONR)和断电延时定时器(TOF)。 (1)通电延时定时器(TON) 通电延时定时器(TON)的参数见图1。 图1 以下用一个例子介绍通电延时定时器(TON)的应用。 【例1】压下按钮I0.0,3s后电动机启动,请设计梯形图。 【解】使用SIMATIC定时器TON也可行,先插入IEC定时器TON,弹出如图2所示界面: 图2 分配数据块,再编写梯形图如图3所示: 图3 10.0闭合启动定时器,T#3
[嵌入式]
<font color='red'>SIMATIC</font> <font color='red'>S7-1500</font> PLC IEC定时器介绍
SIMATIC S7-1500 PLC SIMATIC转换指令
转换指令是一种数据格式转换成另外一种格式进行存储,例如,要让一个整型数据和双整型数据进行算术运算,一般要讲整型数据转换成双整型数据。 (1)转换值指令(CONV) “转换值”指令将读取参数IN的内容,并根据指令框中选择的数据类型对其进行转换。转换值存储在输出OUT中,转换值指令应用十分灵活。转换值指令(CONVERT)和参数见图1。 图1 从指令框的“? ”下拉列表中选择该指令的数据类型。 1)BCD转换成整数 ①BCD码的格式BCD码是比较有用的,3位格式如图2所示: 图2 二进制的0~3位是个位,4~7位是十位,8~11位是百位,12~15位是符号位。7位格式如图4-103所示,二进制的0~3位是个位,4~7位是十位
[嵌入式]
<font color='red'>SIMATIC</font> <font color='red'>S7-1500</font> PLC <font color='red'>SIMATIC</font>转换指令
SIMATIC S7-1500 PLC SIMATIC取消缩放指令
取消缩放指令(UNSCALE) “取消缩放”指令用于取消缩放参数IN中介于下限值和上限值之间以物理单位表示的浮点数,并将其转换为整数。通过参数LO_LIM和HI_LIM来指定缩放输入值取值范围的下限和上限。指令的结果在参数OUT中输出。取消缩放指令(UNSCALE)和参数见图1。 图1 “取消缩放”抬令按以下公式行计算: OUT= +Kl 参数BIPOLAR的 信号 状态将决定量“K1”和“K2”的值。参数BIPOLAR可能有下列信号状态; ①信号状态“1”:止时参数IN的值为双极生且段值范国介于-27648和27648之间,这种情况下,定数“K1”的为“-27648.0”,“K2”的值为“+27648.0”。 2信号状态“0
[嵌入式]
<font color='red'>SIMATIC</font> <font color='red'>S7-1500</font> PLC <font color='red'>SIMATIC</font>取消缩放指令
小广播
最新嵌入式文章
何立民专栏 单片机及嵌入式宝典

北京航空航天大学教授,20余年来致力于单片机与嵌入式系统推广工作。

厂商技术中心

 
EEWorld订阅号

 
EEWorld服务号

 
汽车开发圈

 
机器人开发圈

电子工程世界版权所有 京ICP证060456号 京ICP备10001474号-1 电信业务审批[2006]字第258号函 京公网安备 11010802033920号 Copyright © 2005-2026 EEWORLD.com.cn, Inc. All rights reserved