西门子博途使用常量的示例 |
您所在的位置:网站首页 › 博途系统常量 › 西门子博途使用常量的示例 |
常量的基本知识 定义 常量是具有固定值的数据,其值在程序运行期间不能更改。常量在程序执行期间可由各种程序元素读取,但不能被覆盖。不同的常量值通常会指定相应的表示方式,具体取决于数据类型和数据格式。类型与非类型表示方式不同。 无类型的常量 在无类型的表示法中,仅输入常量值即可,无需输入数据类型。对于无类型的常量,只有在首次算术运算和逻辑运算中使用后,才会获得数据类型。 以下示例为无类型的表示法: 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文章 10543浏览量 207632 程序 程序 +关注关注 114文章 3663浏览量 79855 SCL SCL +关注关注 1文章 239浏览量 16924 符号 符号 +关注关注 0文章 55浏览量 4239原文标题:西门子博途:使用常量的示例 文章出处:【微信号:gh_a8b121171b08,微信公众号:机器人及PLC自动化应用】欢迎添加关注!文章转载请注明出处。 收藏 人收藏扫一扫,分享给好友 复制链接分享 评论发布评论请先 登录 相关推荐 北京回收西门子博途组态软件 回收西门子变频器SINAMICS V10系列变频器回收西门子触摸屏回收西门子博途组态软件回收西门子 发表于 05-27 12:16 TIA博途S7-1200学习笔记 西门子S7-1200数据类型总结笔记,来源于博途帮助文档。 发表于 07-01 11:51 西门子博途1200码垛机程序应用 西门子博途1200码垛机、立体仓库程序(带注释),程序应用到变频器、触摸屏、步进电机、工业机器人、视觉相机。 发表于 09-03 07:42 西门子PCPPI图纸 提供了西门子PCPPI的详细图纸 发表于 02-11 15:19 •363次下载![]() ![]() ![]() |
CopyRight 2018-2019 办公设备维修网 版权所有 豫ICP备15022753号-3 |