0
  • 聊天消息
  • 系统消息
  • 评论与回复
登录后你可以
  • 下载海量资料
  • 学习在线课程
  • 观看技术视频
  • 写文章/发帖/加入社区
会员中心
创作中心

完善资料让更多小伙伴认识你,还能领取20积分哦,立即完善>

3天内不再提示

SIMATIC S7-1500函数及其应用(2)

jf_CdHSpAyK 来源:设备原理与维修俱乐部 2023-07-18 09:37 次阅读

(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所示,弹出添加块界面。

670c7956-24b2-11ee-962d-dac502259ad0.png

1

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

67a04e9c-24b2-11ee-962d-dac502259ad0.png

2

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

67dcbecc-24b2-11ee-962d-dac502259ad0.png

3

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

67fe26de-24b2-11ee-962d-dac502259ad0.png

4

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

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

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

685c30c6-24b2-11ee-962d-dac502259ad0.png

5

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

68ab5f3e-24b2-11ee-962d-dac502259ad0.png

6

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

68cb96f0-24b2-11ee-962d-dac502259ad0.png

7

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

【例3】某系统采集一路模拟(温度),温度的范围是0200℃,要求对温度值进行数字滤波,算法是:把最新的三次采样数值相加,取平均值,即是最终温度值。

【解】数字滤波的程序是函数FC1,先创建一个空的函数,打开函数,并创建输入数“GatherV”,就是采样输入值;创建输出参数“ResultV”,就是数字滤波的结果;创建输入输出参数“LastV(上一个数值)、“LastesV(上上一个数值)和“EarlyV(当前数值)输入输出参数既可以在方框的输入端,也可以在方框的输出端,应用比较灵活;创建临时变量参数“Templ”,临时变量参数既可以在方框的输入端,也可以在方框的输出端,应用也比较灵活,如图8所示。

693a69a4-24b2-11ee-962d-dac502259ad0.png

8

FC1中,编写滤波梯形图程序,如下图9所示:

69707c9c-24b2-11ee-962d-dac502259ad0.png

9

Main[OB1]中,编写梯形图闯红灯徐如下10所示:

69b0bef6-24b2-11ee-962d-dac502259ad0.png

10





审核编辑:刘清

声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉
  • 存储器
    +关注

    关注

    38

    文章

    7425

    浏览量

    163501
  • PLC控制
    +关注

    关注

    9

    文章

    251

    浏览量

    27231
  • SIMATIC
    +关注

    关注

    1

    文章

    231

    浏览量

    15705
  • 数据存储器
    +关注

    关注

    1

    文章

    69

    浏览量

    17764
  • S7-1500
    +关注

    关注

    3

    文章

    300

    浏览量

    6284

原文标题:电工知识—SIMATIC S7-1500 函数(FC)及其应用(2)

文章出处:【微信号:设备原理与维修俱乐部,微信公众号:设备原理与维修俱乐部】欢迎添加关注!文章转载请注明出处。

收藏 人收藏

    评论

    相关推荐

    SIMATIC S7-1500 PLC之间的OUC通信及其应用

    OUC(开放式用户通信)适用于SIMATIC S7-1500/300/400PLC之间的通信、S7-PLC与S5-PLC之间的通信、PLC与个人计算机或第三方设备之间的通信,OUC通信
    的头像 发表于 11-18 17:04 2359次阅读
    <b class='flag-5'>SIMATIC</b> <b class='flag-5'>S7-1500</b> PLC之间的OUC通信<b class='flag-5'>及其</b>应用

    基于S7-1500、ET 200MP的自动化系统

    系统手册和入门指南中详细介绍了 SIMATIC S7-1500 和 ET 200MP 系统的组态、安装、接线和调试等信息。对于 CPU 1516pro-2 PN,可参见相应的操作说明。STEP
    发表于 09-27 10:55 10次下载
    基于<b class='flag-5'>S7-1500</b>、ET 200MP的自动化系统

    SIMATIC S7-1500 PLC用户手册

    全新的S7-1500 带来了标准型,紧凑型,分布式以及开放式不同类型的CPU 模块。凭借快速的响应时间、集成的CPU 显示面板以及相应的调试和诊断机制,SIMATIC S7-1500 的CPU 极大
    发表于 10-27 10:26 124次下载

    S7-1500和ET200MP及ET200SP的计数测量和位置检测详细说明

    SIMATIC S7-1500 自动化系统、基于 SIMATIC S7-1500 的 CPU 1516pro-2 PN 和分布式 I/O 系
    发表于 09-25 08:00 3次下载
    <b class='flag-5'>S7-1500</b>和ET200MP及ET200SP的计数测量和位置检测详细说明

    SIMATIC S7-1500 T-CPU机器制造中的灵活高效

    SIMATIC S7-1500 T-CPU机器制造中的灵活高效
    发表于 01-20 09:37 1次下载

    西门子SIMATIC S7-1500控制器系列的安装接线图完整版

    在前面的基本步骤中,您将更清楚地了解新硬件。 同时还展示了如何组态和编程带有SIMATIC STEP 7 V13 (TIA Portal) 的 SIMATIC S7-1500。 通过连
    的头像 发表于 12-12 15:15 7692次阅读

    电工知识—SIMATIC S7-1500 PLC的常用模块

    SIMATIC S7-1500 PLC的硬件系统主要包括电源模块、CPU模块、信号模块、通信模块、工艺模块和分布式模块(如ET200SP和ET200MP)。SIMATIC S&-
    发表于 01-16 09:59 7058次阅读

    电工知识—紧凑型SIMATIC S7-1500 PLC的数字量端子的接线

    电工知识—紧凑型SIMATIC S7-1500 PLC的数字量端子的接线
    的头像 发表于 01-29 10:31 1.1w次阅读

    SIMATIC S7-1500 PLC信号模块(2

    数字量输出模块将SIMATIC S7-1500PLC 内部的信号转换成过程需要的电平信号输出,下面以输出模块(6ES7522-1BF00-0AB0)为例子。
    的头像 发表于 02-01 10:15 3769次阅读

    WinCC与 S7-1200/S7-1500 PLC之间的通信解析

    自WinCC V7.2版本起,软件新增加了 "SIMATIC S7-1200, S7-1500 Channel"通道,用于WinCC与 S7-1200/
    发表于 02-06 09:39 7811次阅读

    SIMATIC S7-1500的Profibus DP通讯

    SIMATIC S7-1500的Profibus DP通讯
    的头像 发表于 05-04 15:20 1767次阅读
    <b class='flag-5'>SIMATIC</b> <b class='flag-5'>S7-1500</b>的Profibus DP通讯

    西门子S7-1500 之间 S7 通信

    S7-1500 CPU server 发送数据区 DB2 块中的 10 个字节的数据读到 S7-1500
    的头像 发表于 05-29 14:04 5543次阅读
    西门子<b class='flag-5'>S7-1500</b> 之间 <b class='flag-5'>S7</b> 通信

    SIMATIC S7-1500 PLC之间的OUC通信

    OUC(开放式用户通信)适用于SIMATIC S7-1500/300/400PLC之间的通信、S7-PLC与S5-PLC之间的通信、PLC与个人计算机或第三方设备之间的通信
    的头像 发表于 11-15 09:36 881次阅读

    如何估算S7-1500 CPU的装载存储区在SIMATIC存储卡上的大小?

    S7-1500 CPU 的装载存储区在 SIMATIC 存储卡上。根据以下操作步骤可以确定用户程序所需要的存储区的大小以便确定所需存储卡的大小。
    的头像 发表于 01-29 10:00 865次阅读
    如何估算<b class='flag-5'>S7-1500</b> CPU的装载存储区在<b class='flag-5'>SIMATIC</b>存储卡上的大小?

    WinCC与S7-1500 PROFINET通信技术

    在“设备和网络”(Devices & Networks) 编辑器中通过 PROFINET 或以太网组态 HMI 设备与 SIMATIC S7-1500 Software Controller 之间的 HMI 连接。
    的头像 发表于 04-12 09:49 2015次阅读
    WinCC与<b class='flag-5'>S7-1500</b> PROFINET通信技术