TIA博图边沿指令总结


最近在研究博图功能指令时,发现对于边沿指令,既可以通过功能指令实现,也可手动编写程序实现。

边沿指令的机制为比对同一信号两个扫描周期内的变化,由1变为0则为下降沿指令,由0变为1则为上升沿指令。扫描周期即PLC的运行周期

对于边沿功能指令,可以创建FC型和FB型功能函数,FC型函数和FB型函数只在数据存储和接口参数上有区别,其功能实现逻辑并无差别。

上升沿

FC型

接口参数

参数数据类型声明描述
SingleBoolInput触发信号
TempSingleBoolInOut暂存信号
RisingEdgeDatectionReturnBool边沿检测结果

功能代码

REGION RisingEdgeDatection
    //上升沿指令
    //通过IF语句判断#Single是否产生01的变化
    IF #Single AND NOT #TempSingle THEN
        #RisingEdgeDatection := TRUE;
    ELSE
        #RisingEdgeDatection := FALSE;
    END_IF;
    //将#single信号复制给边沿存储位#TempSingle
    #TempSingle := #Single;
    
END_REGION

在这里插入图片描述
图片中GlobalData".DataBool.Bool1和"GlobalData".DataBool.Bool2GlobalData".DataBool.Bool3为创建的全局DB变量,仅作测试。

当"GlobalData".DataBool.Bool1信号由0变为1,则边沿检测结果"GlobalData".DataBool.Bool3信号为1."GlobalData".DataBool.Bool2作为"GlobalData".DataBool.Bool1的暂存指令

使用此FC型功能时,建议创建一定长度的全局DB变量,作为此接口参数的实参

FB型

对于FB型,可以直接调用功能指令,并创建背景DB,另外也可直接编写SCL语句来实现。具体方式如下:

功能指令

在这里插入图片描述

SCL编写

在进行项目开发时,有时候需要在某一情况进行数据初始化或者复位某信号,但直接调用功能指令又比较麻烦,此时可以通过下面的方式实现。
接口参数

参数数据类型声明描述
startBoolInput启动信号
P1BoolTemp临时变量(启动变量暂存)
NumberStaticInt生产数值

程序代码

IF #start AND NOT #P1 THEN
    #Number := 0;
END_IF;

#P1 := #start;

start信号启动时,将****数值清零

下降沿

对于下降沿,其程序结构和上升沿基本一样,唯一区别的地方为其程序代码需要稍作调整。

FC型

接口参数名称稍作调整,另外注意IF判断的条件。

REGION FailingEdgeDetection
    //通过IF语句判断#Single是否产生10的变化
    IF NOT #Single  AND #TempSingle THEN
        #FailingEdgeDetection := TRUE;
    ELSE
        #FailingEdgeDetection := FALSE;
    END_IF;
    //将#single信号复制给边沿存储位#TempSingle
    #TempSingle := #Single;
    
END_REGION

FB型

直接调用时,注意调用F_TRIG,当使用SCL编写时,代码如下:

IF NOT #start AND #P1 THEN
    #Number := 0;
END_IF;

#P1 := #start;

注意IF后面的条件判断。
在这里插入图片描述

在后续程序开发过程中,可根据实际情况,选择不同的方法,并不需要拘泥于一种,这也是程序开发的魅力。

  • 1
    点赞
  • 5
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
西门子TIA积分指令是一种在TIA Portal编程软件中使用的功能块,用于对某个变量进行累积求和运算。它可以在运行时持续地累加所选变量的值,并将结果保存在指定的输出变量中。 积分指令主要包含三个参数:输入变量、输出变量和采样时间。输入变量是需要进行积分运算的变量,可以是一个模拟变量、一个数字变量或是其他复杂类型的变量。输出变量是用于保存累积求和结果的变量,通常也是一个模拟或数字变量。采样时间定义了积分指令进行累加运算的时间间隔,可以根据需要进行调整。 当TIA积分指令被执行时,它会根据设定的采样时间不断读取输入变量的值,然后将这些值相加,并累积存储到输出变量中。每个采样周期都会进行一次累加操作,这样就实现了对输入变量的积分运算。通过对输出变量进行监视,我们可以实时地观察积分结果的变化情况。 TIA积分指令在工程控制和自动化领域有着广泛的应用。它可以用于对传感器信号、运动参数、温度等进行实时的积分计算,实现对过程变量的累积求和。通过积分运算,我们可以更加全面地了解和分析系统的实时状态,为后续的控制和决策提供支持。 总之,西门子TIA积分指令是一种强大而灵活的功能块,通过对指定变量的累积求和,实现对系统运行过程的积分运算。它可以应用于各种不同的自动化环境,为工程控制和决策提供有价值的信息和支持。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

yue008

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值