SCL语言基本语法规则:表达式

SCL:Structured Control Language,结构化控制语言。

SCL是一种类似于计算机高级语言的编程方式,只是这种语言编写的程序,可以在PLC中运行。如果学过C语言或者VB语言,就会很容易上手SCL。当然没有基础依然可以从零开始学习。

在PLC中有了SCL这种编程语言,就可以方便的把计算机高级语言,编写的算法移植到PLC中。

西门子以下系列的PLC都支持SCL语言编程:

  • S7-300

  • S7-400

  • S7-1200

  • S7-1500

  • WinAC

SCL能实现复杂的运算功能,特别是有大量数据要处理的时候。相对与梯形图SCL在运算、函数、过程优化方面有天然的优势。

在博途软件中已经集成SCL语言包,可以直接使用SCL进行进行编程。在传统的STEP7 中需要单独的安装 S7-SCL 软件包。

因为SCL是一种高级编程语言,所以就包含表达式运算符、程序控制语句等语言元素。

1、表达式

SCL中有三种表达式:

  • 算术表达式

  • 关系表达式

  • 逻辑表达式

一个完整的表达式是由操作数和与之搭配的操作符组成。通过表达式的特定顺序进行运算,并返回一个值。

操作数:常数、变量、函数调用(在PLC编程中可以理解为地址)。

操作符:+、- 、*、/ (加减乘除),and、or、not(与或非)等。

操作符有时也叫运算符,SCL支持的运算符有算术运算符、比较运算符、逻辑运算符、赋值运算符。

算术运算符:主要是我们常用的加(+)、减(-)、乘(*)、除(/),以及数学上常用的取正、取负、求余数、整除、求余(%)。

比较运算符:用于数值的比较,主要有大于、小于、等于、不等于。

逻辑运算符:用于布尔型值的运算,常用的逻辑运算符除了与、或、非之外,还有异或。

赋值运算符:通过赋值运算,可以将一个表达式的值赋给一个变量。赋值运算符左侧为变量,右侧为表达式的值。 赋值运算的计算按照从右到左的顺序。

1.1、算术表达式

算术运算符:+、-、*、/、DIV、MOD、**。

算术表达式通常由常量、变量、函数、圆括号、运算符等组成。算术表达式也叫数学表达式,是三种表达式中最简单的,几乎可以等同于数学运算。

西门子PLC的算术表达式,支持各种数据类型。一个算术表达式的两个操作数,如果分别属于不同的数据类型,依然可以运算。运算结果的数据类型,如下图所示:

虽然不同的数据类型可以算术运算,还是建议大家先进行数据格式转换,然后进行运算。防止出现运算后,不知道数据格式,导致数据错误。

1.2、关系表达式

关系运算符:<、<=、>、>=、==、<>。

关系表达式是利用关系运算符,将两个操作数或数据类型进行比较,然后得到一个布尔值(BOOL)型的逻辑结果。如果比较结果为真,则结果为1(TRUE),否则为0 (FALSE)。

所以关系表达式的值只能是逻辑值真或假(1或者0)。

关系表达式有时候也称作比较表达式

西门子PLC的关系表达式,支持各种数据类型,结果的数据类型只能是布尔型。

以下数据类型,只能比较相同类型的变量:

  • TIME

  • 日期和时间

  • UDT

1.3、逻辑表达式

逻辑运算符:AND(&)、OR、NOT、XOR。

西门子PLC的逻辑表达式,支持各种数据类型。但是在运算中会出现两种情况。

一是,两个操作数都是布尔(BOOL)数据类型,则逻辑运算的结果也为布尔数据类型。

另一种情况,如果两个操作数中至少有一个是位序列,则结果也为位序列。结果由最高操作数的数据类型决定。例如,当两个操作数分别是字节(Byte) 类型和字(Word)类型时,结果为字(Word)类型。

逻辑表达式中一个操作数为布尔(BOOL)类型而另一个为位序列时,必须先将 布尔(BOOL)类型的操作数显式转换为位序列类型。

位序列:一组由0和1组成的序列。

上手PLC

抛弃学习PLC的概念,想想怎么快速「上手」用PLC
57篇原创内容
公众号
(0)

相关推荐

  • C/C++编程笔记:运算符—所有编程语言的基础!一文带你搞懂它

    运算符是任何编程语言的基础.因此,如果不使用运算符,则C / C ++编程语言的功能是不完整的.我们可以将运算符定义为符号,以帮助我们对操作数执行特定的数学和逻辑计算.换句话说,我们可以说运算符对运算 ...

  • day05_运算符入门

    2020-11-19 21:31:42  阅读:6  来源: 互联网 运算符概述 运算符是指对操作数的运算方式.组成表达式的 Java 操作符有很多种(什么是操作数和操作符,例如 1+2,其中 1 和 ...

  • 了解Verilog HDL语法规则吗,看完这篇就知道了

    本节介绍Verilog HDL语法规则,包括文字规则.数据对象及运算符的使用等. Verilog HDL文字规则 1.关键词与标识符 关键词是Verilog HDL中预先定义的单词,它们在程序中有特别 ...

  • SCL语言基本语法规则:变量、地址、寻址

    使用SCL语言编程方法简介 SCL语言基本语法规则:表达式 第一个SCL程序 关于SCL编程今天跟大家聊点基础知识: 变量与常量 地址与符号 寻址方式 以上是PLC技术学习的基础知识,但凡懂一点PLC ...

  • 小学英语中必背的名词单数变复数的语法规则,你都熟记了吗?

    英语中名词可分为可数名词和不可数名词.可数名词在应用时有单数和复数形式,表示一个用单数,表示两个或两个以上用复数.复数名词的构成分为规则变化和不规则变化.让我们来看看具体是怎么变化的吧! 名词单数变复 ...

  • 收藏!西门子SCL语言编程,常用指令介绍

    蓝字 '玩转PLC工业机器人" 关注我们哦! 玩转PLC工业机器人 垂直PLC领域,定期分享工业机器人.PLC.变频器.模拟量.定位控制.通信控制.HMI.行业资讯等工控技术,为广大工控人提 ...

  • 超全名词单数变复数的语法规则,你绝对会用得上!

    英语中名词可分为可数名词和不可数名词.可数名词在应用时有单数和复数形式,表示一个用单数,表示两个或两个以上用复数. 名词单数变复数的规则变化 1. 一般在名词词尾加'-s' map-maps地图 bi ...

  • 西门子官网SCL语言概述

    来源:机器人配视觉

  • 使用SCL语言编程方法简介

    SCL:Structured Contorl Language,结构化控制语言. 在TIA博途软件中,默认支持SCL语言,在建立程序块时可以直接选择SCL语言. SCL语言类似计算机高级语言,如果你有 ...

  • 西门子SCL语言编程,常用指令帮你总结好了

    指令SCL作为一种编程语言,可以实现LAD/FBD所有的功能,大多数的指令与LAD/FBD都是相同的,只是在编辑器中的外形不同.只有一些指令使用是不太一样的甚至LAD/FBD没有的,这里只介绍这些不同 ...

  • 英语学习语法规则讲解

    没有任何语法规则有足够的权威来控制住对一种语言的使用方式是牢固不变的.口语和写作中的既定习惯,是我们在确定语言和风格的争议时,最后才会采用的标准.--雨果布莱 Lesson2.什么是真正的英语 2.1 ...