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

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

3天内不再提示

详解SCL语句如何赋值

机器人及PLC自动化应用 来源:机器人及PLC自动化应用 作者:机器人及PLC自动化 2021-04-16 09:43 次阅读
加入交流群
微信小助手二维码

扫码添加小助手

加入工程师交流群

当一个值被指定,变量的当前值被通过表达式指定的新的值代替。此表达式也能够包含函数标识符,其被语句激活,然后返回相应的值(返回值)。

如下图所示,在赋值符右边的表达式被求值,且得到的值作为结果设定给其名字写在赋值符左边的变量。函数允许的变量如下图所示:

8bddf868-9e40-11eb-8b86-12bb97331649.png

能够将同类型的不同变量指定给基本数据类型的每个变量和每个表达式。

例子(Example)

FUNCTION_BLOCK FB12

VAR 声明变量类型

SWITCH_1 : INT ; 整数

SWITCH_2 : INT ;

SETPOINT_1 : REAL ;浮点数

SETPOINT_2 : REAL ;

QUERY_1 : BOOL ; 位

TIME_1 : S5TIME ;时间计时器

TIME_2 : TIME ;时间

DATE_1 : DATE ;日期

TIMEOFDAY_1 : TIME_OF_DAY ;时间和日期

END_VAR

BEGIN

// 给变量赋予常量值

SWITCH_1 := -17 ;

SETPOINT_1 := 100.1 ;

QUERY_1 := TRUE ;

TIME_1 := T#1H_20M_10S_30MS ;

TIME_2 := T#2D_1H_20M_10S_30MS ;

DATE_1 := D#1996-01-10 ;

// 给变量赋予变量值

SETPOINT_1 := SETPOINT_2 ;

SWITCH_2 := SWITCH_1 ;

// 给变量赋予表达式

SWITCH_2 := SWITCH_1 * 3 ;

END_FUNCTION_BLOCK

STRUCT和UDT类型变量的赋值

STRUCT和UDT类型变量是表示一个完整结构或一个结构元素的结构化变量。

下面是有效结构变量的例子:

Image //结构的标识符

Image.element //结构元素的标识符

Image.arr //在一个结构中的一维数组标识符

Image.arr[2,5] //在一个结构中的数组元素的标识符

赋值一个完整结构

一个完整结构只能赋值给另一个完整结构,两个结构内部的名称和数据类型应完全匹配。下面的赋值是有效的:

structname_1 := structname_2 ;

赋值结构元素

能够将一个同类型变量、同类型表达式或另一个结构部件赋值给任何结构元素。

能够通过说明结构的标识符来引用结构元素,结构元素的标识符用一个句点分开。下面的赋值是有效的:

structname_1.element1 := Value ;

structname_1.element1 := 20.0 ;

structname_1.element1 := structname_2.element1 ;

structname_1.arrname1 := structname_2.arrname2 ;

structname_1.arrname[10] := 100 ;

例子:

FUNCTION_BLOCK FB3

VAR

AUXVAR : REAL ;

MEASVAL : STRUCT //目标结构

VOLTAGE :REAL ;

RESISTANCE :REAL ;

SIMPLEARR : ARRAY [1..2, 1..2] OF INT ;

END_STRUCT ;

PROCVAL : STRUCT //源结构

VOLTAGE : REAL ;

RESISTANCE : REAL ;

SIMPLEARR : ARRAY [1..2, 1..2] OF INT ;

END_STRUCT ;

END_VAR

BEGIN

//赋值给一个完整结构

MEASVAL := PROCVAL ;

//赋值给地个结构元素

MEASVAL.VOLTAGE := PROCVAL.VOLTAGE ;

//将一个结构元素赋值给同类型变量

AUXVAR := PROCVAL.RESISTANCE ;

//将一个常量赋值给结构元素

MEASVAL.RESISTANCE := 4.5;

//将一个常量赋值给一维数组元素

MEASVAL.SIMPLEARR[1,2] := 4;

END_FUNCTION_BLOCK
编辑:lyn

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

    关注

    1

    文章

    244

    浏览量

    17934

原文标题:SCL 语句的赋值

文章出处:【微信号:gh_a8b121171b08,微信公众号:机器人及PLC自动化应用】欢迎添加关注!文章转载请注明出处。

收藏 人收藏
加入交流群
微信小助手二维码

扫码添加小助手

加入工程师交流群

    评论

    相关推荐
    热点推荐

    模拟I2C通信失败,出现SCL、SDA line low错误怎么解决?

    使用模拟I2C读写电量芯片时出现SCL SDA Line low err.7位从设备地址确定没有设置错
    发表于 09-26 07:58

    Unicore标准NEMA语句GSA及说明

    本文介绍和芯星通的NEMA语句说明。
    的头像 发表于 07-16 11:39 485次阅读
    Unicore标准NEMA<b class='flag-5'>语句</b>GSA及说明

    matlab appdesigner 表格组件赋值问题,求助

    如上图所示,我在用matlab2021Ra APP模块进行编程的时候,想在表格中调入自己编写的结构数组,我从网上AI了一个程序语句,看着没问题,但是就是给表格赋值不了,还请各位大神帮忙看一下这个是怎么回事,我是初学者,请各位帮忙看看
    发表于 07-12 11:45

    基础篇3:掌握Python中的条件语句与循环

    在Python编程语言中,条件语句和循环是构成复杂逻辑和数据处理的基石。本篇基础教程将帮助您深入了解Python中的条件语句和循环结构,让您能够更好地控制程序流程。 条件语句 条件语句
    发表于 07-03 16:13

    SSH常用命令详解

    SSH常用命令详解
    的头像 发表于 06-04 11:30 1723次阅读

    详解TIA Portal SCL编程语言中的IF语句

    IF 语句是编程中最基本和最重要的控制结构之一,它的主要作用是根据条件决定程序的执行路径,IF 语句是编程中实现逻辑判断和决策的基础。
    的头像 发表于 05-24 15:01 1440次阅读
    <b class='flag-5'>详解</b>TIA Portal <b class='flag-5'>SCL</b>编程语言中的IF<b class='flag-5'>语句</b>

    芯片新关税涉及的品牌/标签/产地—详解

    芯片新关税涉及的品牌/标签/产地—详解
    的头像 发表于 04-16 17:44 844次阅读
    芯片新关税涉及的品牌/标签/产地—<b class='flag-5'>详解</b>

    在testbench中如何使用阻塞赋值和非阻塞赋值

    本文详细阐述了在一个testbench中,应该如何使用阻塞赋值与非阻塞赋值。首先说结论,建议在testbench中,对时钟信号(包括分频时钟)使用阻塞赋值,对其他同步信号使用非阻塞赋值
    的头像 发表于 04-15 09:34 1005次阅读
    在testbench中如何使用阻塞<b class='flag-5'>赋值</b>和非阻塞<b class='flag-5'>赋值</b>

    电力电子中的坐标变换详解

    电力电子中的坐标变换详解 clark变换&park变换
    发表于 02-17 15:28 1次下载

    Kubernetes Pod常用管理命令详解

    Kubernetes Pod常用管理命令详解
    的头像 发表于 02-17 14:06 990次阅读
    Kubernetes Pod常用管理命令<b class='flag-5'>详解</b>

    精密空调操作使用方法详解

    精密空调操作使用方法详解
    的头像 发表于 02-10 14:44 1890次阅读
    精密空调操作使用方法<b class='flag-5'>详解</b>

    使用SCL编写FIFO功能块

    找到相关的指令。    其实要实现这个功能可直接使用SCL的编程方法编写一个这样的功能块就可以了,(在文章的结尾会为大家提供参考示例程序和SCL相关的学习资料,供有需要的朋友下载学习)。 二、FIFO功能的条件分析  1)设置一个堆栈的缓存区,大小可自由指定,如指定大小为
    的头像 发表于 02-09 10:27 1141次阅读
    使用<b class='flag-5'>SCL</b>编写FIFO功能块

    I2C总线数据包结构详解

    。以下是I2C总线数据包结构的详解: 一、I2C总线数据包的基本组成 I2C总线上的数据传输以数据包为单位进行,每个数据包包含起始信号、设备地址、数据传输方向位、数据字节以及应答信号(ACK/NACK)等部分。 起始信号(S) : 起始信号标志着数据传输的开始。当SCL
    的头像 发表于 01-17 15:46 1391次阅读

    使用TLV5625在主函数里面的FOR循环中对两通道赋值,一个通道不能更新数据是怎么回事?

    问题:我在使用TLV5625时出现如下问题,在主函数里面的FOR循环中对两通道赋值,2通道DA可以正常更新输出,但是同样的语句放到定时器中断中,只有一个通道正常,另一个通道不能更新数据,请指教
    发表于 01-08 08:23

    ADS1115接线是只需要接SCL与SDA吗?ADDR与ALERT/RDY需要接线吗?

    ADS1115接线是只需要接SCL与SDA吗?ADDR与ALERT/RDY需要接线吗? 差分输入与单输入有什么区别,怎样配置两种模式?
    发表于 12-31 06:27