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

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

3天内不再提示

西门子博途使用常量的示例

机器人及PLC自动化应用 来源:机器人及PLC自动化应用 2023-09-11 10:24 次阅读

常量的基本知识

定义

常量是具有固定值的数据,其值在程序运行期间不能更改。常量在程序执行期间可由各种程序元素读取,但不能被覆盖。不同的常量值通常会指定相应的表示方式,具体取决于数据类型和数据格式。类型与非类型表示方式不同。

无类型的常量

在无类型的表示法中,仅输入常量值即可,无需输入数据类型。对于无类型的常量,只有在首次算术运算和逻辑运算中使用后,才会获得数据类型。

以下示例为无类型的表示法:

SCL
#My_Int1 := #My_Int2 + 12345 (*常量“12345”的数据类型
取决于加数 My_Int。2.此时,“12345”的数据类型为 INT。*)
#My_Real1 := #My_Real2 + 12345 (*常量“12345”的数据类型取决于加数 My_Real2。此时,“12345”的数据类型为 REAL。*)

带有数据类型的常量

在有类型的表示法中,除指定常量值外还指定数据类型。

以下示例为有类型的表示法:

SCL
#My_Int1 := INT#12345 (*The data type of the constant is always INT.*)
说明
LAD/FBD 中的 BOOL 型常量
仅 S7-1200 系列 CPU(固件 V4.0 或更高版本)和 S7-1500 系列 CPU(固件 V1.8 或更高版本),LAD / FBD 中的指令输入才能使用 BOOL 型常量。
在较早的固件版本中,BOOL 型常量仅适用于系统内部函数块 (FB) 的指令。如果在程序段中插入该指令时“调用选项”(Call options) 对话框打开,则表示使用这些指令。对于其它指令,均不得将布尔型常量用作输入。
在 S7-300/400 中,不允许使用布尔型常量。

符号常量名称的声明

符号常量

可以选择声明常量符号名,从而使程序中名称下的常量值可用。这使得在更改常量值时,程序更具有可读性并且更易于维护。

符号常量由以下元素组成:

名称

数据类型

符号常量始终有数据类型;无类型表示法不适用于符号常量。

常量值

可以选择指定数据类型值范围内的任意值作为常量值。有关值范围的信息,请参见“数据类型”一章。

常量声明

可以定义具有不同适用范围的常量:

全局常量适用于 CPU 的所有区域

局部常量仅在块内适用

下表显示常量类型之间的区别:

全局常量 局部常量
适用范围 在整个 CPU 中有效。
该名称在 CPU 中唯一。
仅在声明它们的块中有效。
该名称在块中唯一。
允许的字符 常量名称允许使用的字符包括字母、数字和特殊字符。 常量名称允许使用的字符包括字母、数字和特殊字符。
定义位置 PLC 变量表的“常量”(Constants) 选项卡 接口
表示法 括在引号中,例如:
"Glob_Const"
带有数字符号前缀,例如:
#Loc_Const

如果声明的局部常量和全局常量具有相同的符号名称,并将此重复指定的名称用作变量的默认值,则会发生名称冲突。此时,系统将自动使用局部常量。

常量的数据类型

允许的数据类型

对于常量,允许使用所有基本数据类型和所有衍生数据类型:

二进制数

位字符串

整数

浮点数

定时器

日期和时间

字符串

所有显式和隐式类型转换的通用规则均适用。

无类型常量的数据类型

无类型常量不显式指定数据类型。只有在首次算术运算和逻辑运算中使用后,才会获得数据类型。

以下示例说明如何使用无类型常量:

SCL
#My_Int1 := #My_Int2 + 12345 (*常量“12345”的数据类型
取决于加数 My_Int。2.此时,“12345”的数据类型为 INT。*)
#My_Real1 := #My_Real2 + 12345 (*常量“12345”的数据类型取决于加数 My_Real2。此时,“12345”的数据类型为 REAL。*)
使用常量的示例

在指令、赋值语句和表达式中使用

在指令或赋值语句中,常量可代替变量使用。也可以在 SCL 的表达式中使用常量。但是,由于常量无法写入,常量只能用作输入。

以下示例说明常量可能的用途:

SCL
#My_Int := 3;
#My_Real1 := #My_Real2 * 3;
#My_Real1 := #My_Real2 * #My_local_const;
#My_Real1 := #My_Real2 * "My_global_const";

用作默认值

可以将常量用作变量的默认值。为此,在块接口的“默认值”(Default value) 列中输入常量的值或常量的符号名称。常量的数据类型必须与变量的数据类型相匹配,或能够根据带有 IEC 检查的隐式转换进行转换。

用作最大 STRING 长度

数据类型为 UINT、UDINT、ULINT、SINT、INT、DINT、LINT 的局部或全局常量,可用作最大 STRING 长度。

以下示例说明了如何将常量作为最大 STRING 长度:

SCL
STRING[#My_local_const1]
STRING["My_global_const1"]

用作 ARRAY 限值

数据类型为 UINT、UDINT、ULINT、SINT、INT、DINT、LINT 的局部或全局常量,可用作 ARRAY 限值。

以下示例展示将常量用作 ARRAY 限值:

SCL
Array[#My_local_const1..#My_local_const2] of REAL
Array["My_global_const1".."My_global_const1"] of REAL

审核编辑:汤梓红

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

    关注

    68

    文章

    10824

    浏览量

    211100
  • 程序
    +关注

    关注

    116

    文章

    3773

    浏览量

    80833
  • SCL
    SCL
    +关注

    关注

    1

    文章

    239

    浏览量

    17033
  • 符号
    +关注

    关注

    0

    文章

    55

    浏览量

    4313

原文标题:西门子博途:使用常量的示例

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

收藏 人收藏

    评论

    相关推荐

    北京回收西门子组态软件

    回收西门子变频器SINAMICS V10系列变频器回收西门子触摸屏回收西门子组态软件回收西门子
    发表于 05-27 12:16

    西门子1200码垛机程序应用

    西门子1200码垛机、立体仓库程序(带注释),程序应用到变频器、触摸屏、步进电机、工业机器人、视觉相机。
    发表于 09-03 07:42

    畅销西门子助听器价格表_西门子助听器价格大全

    畅销西门子助听器价格表_西门子助听器价格大全 1、西门子盒式助听器 AMIGA 176AO Pocket AMIGA 176AO 西门子助听器价格:441元
    发表于 08-23 12:19 1.4w次阅读
    畅销<b class='flag-5'>西门子</b>助听器价格表_<b class='flag-5'>西门子</b>助听器价格大全

    西门子大赛1200电梯参考程序

    西门子大赛1200电梯参考程序,V13文件.有需要的加油!
    发表于 06-22 15:56 183次下载

    博世和西门子哪个好_博世和西门子的关系

    本文开始阐述了博世和西门子的关系以及分析了西门子和博世哪个更好,其次分析了西门子和博世的冰箱哪个更好,最后介绍了博世和西门子家电集团在中国的发展。
    的头像 发表于 04-04 09:30 15.8w次阅读

    解析ABB机器人与西门子S7-1200 profinet通讯

    西门子软件中做PLC硬件组态,设置以太网连接。
    的头像 发表于 01-18 16:55 4.9w次阅读
    解析ABB机器人与<b class='flag-5'>西门子</b>S7-1200 profinet通讯

    详解编程实现S7300与西门子触摸屏通讯

    目前国内流行用昆仑通泰或者威纶通触摸屏做项目,一方面价格便宜,另一方面编程简单。但西门子屏也经常会被用到,所以不得不学。简单写一下会用图建立西门子触摸屏和S7300PLC的通讯。
    的头像 发表于 05-05 11:37 1.7w次阅读

    西门子PLC编程软件下载

    西门子PLC编程软件TIA V13 SP1 SIMATIC_WinCC_Runtime_Professional_SP1_for_V13---江西工控论坛有下载密码www.jx-gongkong.com
    发表于 03-01 11:04 60次下载

    Unity3D与西门子PLC通讯

    本文是做实体PLC和Unity的通讯,如果没有实体PLC可以参考我之前的文上位机与西门子TIA的PROFINET通讯仿真(虚拟通讯),这篇
    发表于 04-19 11:43 6次下载
    Unity3D与<b class='flag-5'>西门子</b>PLC通讯

    如何在平台调试西门子G120变频器

      随着工业自动化迈向智能化越来越近,科技工作者不断的突破,近年在传动领域,采用工业以太网(Profinet)和变频器通讯非常广泛,今天我们简单的介绍下在平台调试西门子G120变频器。
    的头像 发表于 04-25 10:17 2.8w次阅读
    如何在<b class='flag-5'>博</b><b class='flag-5'>途</b>平台调试<b class='flag-5'>西门子</b>G120变频器

    大型西门子PLC程序结构示例

    大型的西门子PLC程序结构示例
    的头像 发表于 07-06 10:34 1290次阅读

    西门子1200/1500PLC单按钮启停控制10种设计方法

    西门子1200/1500PLC单按钮启停控制10种设计方法
    的头像 发表于 08-31 09:14 7742次阅读
    <b class='flag-5'>西门子</b><b class='flag-5'>博</b><b class='flag-5'>途</b>1200/1500PLC单按钮启停控制10种设计方法

    西门子plc单按钮启停的十种方法(1200/1500PLC)

    西门子1200/1500PLC单按钮启停控制10种设计方法
    发表于 08-31 09:15 6252次阅读
    <b class='flag-5'>西门子</b>plc单按钮启停的十种方法(<b class='flag-5'>博</b><b class='flag-5'>途</b>1200/1500PLC)

    如何在平台调试西门子G120变频器

    随着工业自动化迈向智能化越来越近,科技工作者不断的突破,近年在传动领域,采用工业以太网(Profinet)和变频器通讯非常广泛,今天我们简单的介绍下在平台调试西门子G120变频器。
    发表于 09-07 12:50 4697次阅读
    如何在<b class='flag-5'>博</b><b class='flag-5'>途</b>平台调试<b class='flag-5'>西门子</b>G120变频器

    西门子:全局用户常量的规则

    常量值可以通过用户常量的帮助保存。通常,控制器中有 OB、FC 和 FB 的局部常量和整个用户程序的全局常量
    发表于 01-16 09:28 1820次阅读
    <b class='flag-5'>西门子</b><b class='flag-5'>博</b><b class='flag-5'>途</b>:全局用户<b class='flag-5'>常量</b>的规则