[三菱] 初学者必学!SCL高级语言语法结构

[复制链接]
查看261 | 回复0 | 2024-9-25 13:53:08 | 显示全部楼层 |阅读模式
>

文末有55个实战案例资料

导读:对于初学者来说,没有任何的高级语言基础的话还是要先了解SCL语言的基本语法结构,否则编程的时候容易报错。那么有哪些基本的编程语法结构是我们需要掌握的呢?我们一起来聊一聊!

1. 西门子的结构化控制语言SCLStructured Control Language)编程环境(界面)的组成部分。

1)新建FC4程序块,选择编程语言为SCL语言

2)如下图,是SCL语言编程界面

为侧 边栏,可以用来设置书签和断点;

为行号,显示程序代码所处在哪一行;

是轮廓视图,在轮廓视图中将突出显示相应的代码部分,例如图中显示注释部分范围、IF语句的范围等;

是代码区,可使用SCL语言编写 程序。在使用SCL语言编写程序时,要 求每一条语句的后面必须有“;”。如果没有“;”,会以红色的波浪号 进行提示。

2.赋值与逻辑运算

1) 定义:通过赋值运算,可以将一个表达式的值分配给一个变量。赋值表达式的左侧为变量,右侧为表达式的值。

函数名称也可以作为表达式。赋值运算将调用该函数,并返回其函数值,赋给左侧的变量;赋值运算的数据类型取决于左边变量的数据类型。右边表达式的数据类型必须与该数据类型一致;赋值运算的计算按照从右到左的顺序进行。

可通过以下方式编程赋值运算:

单赋值运算:执行单赋值运算时,仅将一个表达式或变量分配给单个变量:

示例:a := b;

程序示例

  • 多赋值运算:执行多赋值运算时,一个指令中可执行多个赋值运算。   

示例:a := b :=c;此时,将执行以下操作:b := c; a := b;

程序示例

  • 组合赋值运算:执行组合赋值运算时,可在赋值运算中组合使用操作符"+""-""*""/"

示例:a += b;此时,将执行以下操作:a := a + b;

程序示例

也可多次组合赋值运算:

a += b += c *= d;

此时,将按以下顺序执行赋值运算:

c := c * d;

b := b + c;

a := a + b;

3. 逻辑表达式

逻辑运算的表达式由两个操作数和逻辑运算符(ANDORXOR)组成或取反运算符(NOT)和一个操作数组成。

(1)位逻辑运算NOT

NOT就是“取反”的意思,在梯形图中常把常开触点作为正常状态,常闭触点作为反状态。梯形图中的常闭触点搭建的程序与SCL对比如图

(2)位逻辑运算AND 逻辑“与”(AND)就是 “并且”的意思,即当两个条件都满足时逻辑运算结果才为真。梯形图中触点的串联就是逻辑“与”关系

(3)位逻辑运算OR

位逻辑“或”(OR)就是“或者”的意思, 即当两个条件中的任意一个满足时逻辑结果为 真。

(4)位逻辑运算XOR

位逻辑“异或”(XOR)就是当两个条件相异时逻辑结果为TRUE,相同时结果为 FALSE。实现逻辑“异或”控制的梯形图如图所示,当变量xStart和xStart1都为FALSE 或者都为TRUE时,xMotor的值为FALSE;当这两个变量中的一个为TRUE,另一个为 FALSE时,xMotor的值为TRUE。

也可以直接用异或指令

最近有很多小伙伴说要案例书籍,说是手机上看文章不是很方便,我抽时间把55个实战案例全部整理出来,案例都是比较典型的,其中包括气缸控制程序、报警程序、程序框架、运动控制程序封装、模拟量控制变频器、通信等实战案例。需要的可以加我微信:biao467524527,如果加不上可以私信我


免责声明:如果侵犯了您的权益,请联系站长,我们会及时删除侵权内容,谢谢合作!

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有账号?注册哦

x
您需要登录后才可以回帖 登录 | 注册哦

本版积分规则