当前位置: 首页 > news >正文

博图SCL基础知识-寻址调用及新建SCL

 一、寻址与调用

寻址

SCL寻址分为符号寻址与地址寻址。

  • 符号寻址
    • DB块变量:"DB块名称"(."变量名称")
    • PLC变量:变量名称
    • 局部变量:#变量名称
  • 地址寻址
    • DB块变量:%DB块号(.变量地址),TIA PORTAL软件会判断该地址有没有对应符号名称,如果有则立即转换为符号名称,没有则保留绝对地址
    • PLC变量:%变量地址,TIA PORTAL软件会判断该地址有没有对应符号名称,如果有则立即转换为符号名称,没有则新建符号名称
    • Temp变量:SCL支持非优化FC/FB的Temp变量的地址寻址

举例:

符号名说明
符号寻址DB块变量"MyDB".Variable.Static_1
"MyDB".Array[0]访问数组元素
"MyDB"DB块名作为参数
PLC变量"Start"
局部变量#Input_1
#Temp_1.x0变量名片段访问
地址寻址DB块变量%DB2.DBB1
%DB2DB块名作为参数,会立刻转换为DB块名
PLC变量%M100.0会立刻转换为"符号名"
%Q1.0:P会立刻转换为"符号名":P

调用

程序调用分为以下几类:

  1. FC调用
  2. FB调用
  3. FB多重背景调用

调用可以从指令列表或者项目树程序块中拖拽入程序编辑区域,也可以直接输入。

FC调用

FC调用的格式是

  1. "FC块名称"(输入形参:=实参,输出形参=>实参,输入输出形参:=实参...)
  2. 返回值:=“FC块名称”(输入形参:=实参,输出形参=>实参,输入输出形参:=实参...)

FC调用需要确保所有形参都有对应实参。如果没有参数的FC也需要有括号。

如图所示的例子;

图1 FC调用

FB调用

FB调用的格式是

"背景数据块名称"(输入形参:=实参,输出形参=>实参,输入输出形参:=实参...)

一般情况下,FB的简单数据类型形参可以没有对应实参,复杂数据类型的输入、输出也可以没有对应实参,所以FB可以隐藏或不隐藏不出现的形参。如果没有参数的FB也需要有括号。

如图2所示,显示了一些FB调用的例子。

图2 FB调用

如图3所示,当FB的参数全部显示,在背景数据块右键可以激活"仅显示分配的参数";当FB的参数只显示了分配的参数时,在背景数据块右键可以激活"显示所有参数"。

图3 显示分配/所有参数

FB多重背景调用

FB多重背景调用的格式是

  1. #多重背景(输入形参:=实参,输出形参=>实参,输入输出形参:=实参...)
  2. #多重背景[索引](输入形参:=实参,输出形参=>实参,输入输出形参:=实参...)

一般情况下,FB的简单数据类型形参可以没有对应实参,复杂数据类型的输入、输出也可以没有对应实参,所以FB可以隐藏或不隐藏不出现的形参。如果只有Static的FB也需要有括号。

如图4所示,显示了一些FB多重背景调用的例子。

图4 FB多重背景调用

注意:

对于定时器和计数器的SCL调用,有特殊的格式,请参考链接:定时器、计数器。

二、新建SCL

有两种方式新建SCL:

第一种是在新建块,选择OB/FC/FB后,设置语言为SCL,如图5所示。

第二种是在LAD、FBD中直接插入SCL语言段,这需要TIA PORTAL V14及其以上的版本,如图6所示。

图5 新建SCL块

①在项目树中,找到PLC,然后展开程序块,点击"添加新块"

②在弹出对话框中,选择块类型,可以是OB/FB/FC,

③选择语言为SCL

图6 在LAD中插入SCL段

三、区域与注释

和LAD/FBD不同,LAD/FBD在程序编辑器是一段一段的,编辑器可以插入新的网络段,每一个网络段可以有各自的注释。而SCL是文本语言,不分网络段(LAD/FBD语言内增加SCL除外),需要用其他的方法来解决。

区间

从TIA PORTAL V14以后,增加区间功能,使用指令:

REGION 区间名称

程序文本

END_REGION

可以在指令中间增加需要编写的程序还不影响程序逻辑,并且支持嵌套。此外还可以像网络段一样收折叠来,如图7所示。

图7 区域

其中左边为区间总览,可以看出整体的结构

①使得程序或总览全部展开

②使得程序或总览全部折叠

③全部展开/折叠是针对总览与程序还是只针对总览,图中为针对总览与程序

④独立展开/折叠程序

注释

编辑器的空行,或者调用块的右侧均可以增加注释,如图8所示有两种方式注释:

第一种是: //注释内容

第二种是:(/*注释内容*/)

可以在工具栏中利用按钮整段注释或取消注释。此外从TIA PORTAL V16开始支持多语言注释,使用指令(*多语言注释内容*)。

图8 注释

①注释掉选中段落

②对注释掉的段落取消注释

相关文章:

  • 【Linux网络篇】:简单的TCP网络程序编写以及相关内容的扩展
  • Web攻防-SQL注入增删改查HTTP头UAXFFRefererCookie无回显报错
  • 光谱相机在生态修复监测中的应用
  • 虚幻GamePlay框架
  • 本地部署RAGFlow
  • Vue 3.0 状态管理Pinia详解
  • 服务器上用脚本跑python深度学习的注意事项(ubantu系统)
  • MongoDB选择理由
  • 2025/5/28 考试 和答疑。
  • 软件工程期末速成--附带几道题
  • 实测!横屏影视素材转竖屏 无损转换 +参数可调 抖音 快手竖屏视频一键适配
  • 【Qt、C/C++】Qt、C++ 、C来PK
  • 从零实现富文本编辑器#4-浏览器选区模型核心交互策略
  • 【第2章 绘制】2.15 剪辑区
  • 影刀RPA-操作网站基础信息
  • 3D Tiles高级样式设置与条件渲染(4)
  • 创建型设计模式之Prototype(原型)
  • 「Python教案」通用序列操作
  • Spring Boot 读取.env文件获取配置
  • Java设计模式之解释器模式详解
  • 化妆品网站建设策划书/网站设计公司模板
  • 网站的分析/360推广和百度推广哪个好
  • 做营销型网站公司/站长之家工具
  • 门户网站制作全包/深圳网站建设三把火科技
  • 网站开发和网页设计的区别/百度网站大全旧版
  • 竞价网站做seo/铜川网络推广