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

S7-1500——(一)西门子PLC编程从入门到精通3、基于TIA 博途结构化控制语言——SCL(一)

基于TIA 博途结构化控制语言——SCL

  • 一,SCL 概述与编程基础
    • 1,结构化控制语言 SCL概述
    • 2,TIA 博途 SCL编程基础
    • 3,TiA博述SCL编辑器设置
    • 4,监视SCL块
  • 二,SCL运算符、表达式与块调用
    • 1,SCL运算符
    • 2,SCL表达式
    • 3,块调用
  • 三,SCL程序控制语句
    • 1,SCL程序控制指令概述
    • 2,分支选择程序
    • 3,循环程序

一,SCL 概述与编程基础

1,结构化控制语言 SCL概述

SCL 结构化控制语言概述

SCL结构化控制语言是一种以计算机编程语言pascal为基础的plc高级编程语言,在语法结构上,属于pascal语言的子集,SCL语言符合IEC 61131-3的标准,在这个标准中,对可编程控制器的编程语言进行了标准化的定义,SCL语言符合标准中定义的结构化文本语言ST,另外SCL也满足应用于运动控制领域的plc open标准标准的初级水平的要求

SCL与其他PLC编程语言一样,可访问plc的所有元素,包括输入信号,输出信号,定时器,计数器,位存储器等;

SCL利用简单的指令编写程序语句,实现复杂的控制以及计算功能;语句结构上包括程序分支循环以及跳转等等;

SCL语言的另一个优势是,它是一种可以跨硬件平台使用的编程语言,全系列的S7控制器都支持SCL语言所编写的plc程序,因此,在涉及跨硬件平台的plc程序移植方面,SCL语言也具有独到的优势;根据SCL语言以上的特点,它特别适合数据处理复杂运算以及过程优化

数据处理
在数据处理过程中,SCL可以利用多种类型的指针对数据进行间接寻址, 因此与其他编程语言相比,SCL可以更加容易的实现诸如排序查找等等在数据处理过程中经常使用的控制功能。在这里插入图片描述

应用举例,当传送带生产线生产完一个零件后,将零件重量循环存储于数据块中定义的数组内,以供后续计算使用,分别使用三种编程语言进行编程,以实现零件重量循环存储的功能;经过简单对比,发现用SCL语言所编写的程序代码最为简洁,结构清晰,具有显著的优势;
在这里插入图片描述

复杂数学运算

在SCL中,可以直接利用各种算术运算符编写表达式,并实现复杂数学运算过程。相比其他编程语言,节省了大量的程序代码
如图所示的控制任务,在直角坐标系中已知三角形直角边以及斜边端点的坐标,需要计算得出两边夹角的度数,需要在程序代码中实现多个数学公式的计算过程;
同样使用三种不同的编程语言进行编程,发现用SCL语言编写的程序代码最为简洁,适合复杂算式表达过程;
在这里插入图片描述
在这里插入图片描述

SCL语言概述——过程优化

SCL语言也可以应用于系统工程,以实现控制过程的优化,SCL符合结构化编程的要求,同时也可以和其他编程语言混合使用,充分发挥每种编程语言的技术优势
例如,在具体应用中使用SCL语言编写不同自动化任务所需要的控制程序;最后,在主程序中对这些子程序进行调用;
这样的程序结构符合结构化编程的要求,同时可实现子程序的复用过程,节省程序代码工作量
在这里插入图片描述

2,TIA 博途 SCL编程基础

*方式一:添加 SCL 块
在已经创建的博途项目中,添加代码块时,可以选择SCL作为代码块儿的编程语言,代码块儿的类型包括组织块函数块以及函数

在这里插入图片描述

方式二:插入SCL网络段
也可在已添加的,并且已经选择其他编程语言的代码块中插入SCL代码段,并使用SCL语言进行编程,这样可以在代码块儿中更加灵活的使用编程语言(如下图)
在这里插入图片描述

方式三:外部源文件

博途项目还支持通过导入外部源文件的方式,将其他应用程序中所生成的SCL源文件,添加到博途项目中进一步通过对源文件的编译生成博途项目中的程序块;
通过这种方式, 可以由SCL源文件生成博途项目中的组织块,函数块,函数,数据块,plc数据类型
在这里插入图片描述

将外部源文件添加到项目后,通过右键上下文菜单启动从源文件生成块命令选项,将在项目中生成S7程序块,存储在程序块文件夹中。
在这里插入图片描述

以上是在博途项目中使用SCL编程语言添加程序块的操作演示;

3,TiA博述SCL编辑器设置

SCL 编辑器

打开博途项目中的SCL块,将在工作区中显示SCL编辑器,SCL编辑器窗口主要分为接口区代码区两个部分,也包括工具栏收藏栏
在这里插入图片描述

接口区缺省显示为表格区域,在接口区中可以定义代码块的局部变量,根据块类型的不同, 可以包括形态变量临时变量局部常量等对象;
使用范围是定义了这些对象的当前程序块中;
形参作为当前程序块与外部调用过程之间的接口进行使用,用于传递变量值
在这里插入图片描述

代码区显示为空白区域用于编写程序代码,在编程过程中,可以利用多种编辑功能对程序代码进行编辑,如拖放,插入代码模板,格式优化等等;
代码区也支持与其他WINDOWS应用程序进行直接复制,粘贴等交互功能,使代码编辑方式更加灵活;
在这里插入图片描述

变量处理

在SCL编辑器中,可以通过拖放操作为指令或者是函数的参数赋值变量,变量来源包括接口区中声明的局部变量,PLC变量表中声明的PLC变量,数据块中声明的数据块变量

http://www.dtcms.com/a/271657.html

相关文章:

  • 全连接神经网络(MLP)原理与PyTorch实现详解
  • 【freertos-kernel】MemMang
  • Deepseek搭建智能体个人知识库
  • LeetCode经典题解:1、两数之和(Two Sum)
  • Python Day8
  • 第九篇:信息化知识 --系统集成项目管理工程师 第3版专题知识点笔记
  • MySQL--函数
  • [Python 基础课程]关键字
  • 1068.产品销售分析Ⅰ
  • S7-1500——(一)从入门到精通1、基于TIA 博途解析PLC程序结构(三)
  • 2025年ATL宁德新能源Verify测评演绎推理数字计算SHL测评题库高分攻略分享
  • 10.9 大模型训练数据优化实战:3步让准确率从68%飙升至79%
  • Redis-哨兵机制doctor环境搭建
  • 虚拟机安装与使用vim编辑器简单使用
  • # 手机连接Wifi热点时如何设置手机的MAC地址绑定固定的静态IP地址?
  • 客户端与服务端数据加密方案及实现
  • TCP的可靠传输机制
  • Linux系统-----nfs存储,共享配置文件
  • LLM 在预测下一个词的时候是怎么计算向量的,说明详细过程
  • QT6 源(158)模型视图架构里的文件系统模型 QFileSystemModel 篇一:属性,成员函数,与信号函数
  • 练习:对象数组 5
  • 【隐藏谷歌原生Qsb,将Widget中的Qsb组件替换至原位(解决GMS包添加后默认Qsb搜索框无法操作的问题)】
  • QT事件处理机制详解:从原理到实战
  • 深入浅出二分法:从实际问题看“最小化最大值”问题的求解之道
  • 技术支持丨解决 ServBay 在 Windows 启动时反复提示安装 .NET 的问题
  • 数据治理全景能力图谱与路线图:构建企业级数据治理的全貌视角
  • React 19 概览:新特性与生态系统变革
  • 缺乏项目进度数据沉淀,如何做好进度复盘
  • linux-用户和组
  • GIS使用方法详解