西门子scl语言编程手册_西门子SCL编程手册连载(9)西门子SCL使用规则

第十课,SCL语言的使用规则

一,变量声明

不管是PLC编程还是单片机或者其他高级语言编程,好的编程习惯都是在编程前先创建变量。在PLC编程中梯形图可以先编程后修改变量,而SCL语言则先有变量再在编程时调用变量。创建变量的方法有以下几种:

1, 变量表

变量表是我们最常用和最常见的,PLC输入和输出以及辅助继电器M,都放在变量表。

f1a11d739cb43aa2a5aac1d59e9676d1.png

2, 全局数据块和背景数据块

全局数据块是编程人员手动建立,内部数据可以由用户更改,变量数据可以供所有的程序使用。如下图所示:

11a7137f450c684aa934a3b74c71b099.png

背景数据块是调用FB时生成的用于存放FB内部运算数据,背景数据块的数据由FB块的程序结构决定,不可直接更改。如下图所示:

ee6e6306bdcb9cf76f61ee21294b2c7e.png

3, 局部变量

局部变量是程序块内部专用变量,局部变量只能在本程序内部使用,可用于程序块与外部连接的端口,也可用于内部数据的存储,局部变量是相对于全局变量而言。

02d21120ec40257747ed22c30ac2048e.png

二,赋值

1,赋值的表示方法:“:=”(英文冒号等于号)

2,语句结束必须是一个分号“;”(英文分号)

赋值语句在SCL语言中非常常用,表示后边的数据传送到前面的变量。用法如下图:

062102f80fdd2a085b7c7a9a06180ccf.png
426e920f497c7074e9d3479367551af2.png

以上都属于直接赋值,赋值语句可用来直接赋值,也可以加条件进行赋值。上面的两张图都是直接赋值,常用于数据初始化。下面的图是加条件赋值:

0b9b994167f3a3814c7478642927a655.png

IF语句我们后面会讲到,这是条件语句一种,当条件成立时开始赋值。

三,SCL语言的注释

1, 由于SCL语言属于PLC的高级语言,所以基础不好的编程员不一定能懂SCL语言,而且SCL语言不利于逻辑推理,所以大家在编程的时候要养成一个好习惯,对程序加注释,方便自己查阅,也方便别人维护。

2,注释的写法:“// ”后面写注释。如下图所示:

62801fd47e25cc800bd6a1d529c5ff89.png

一, SCL运算符

1,SCL语言的算术运算符:

所谓算术运算符常规的就是加减乘除(+ - * /), 这个在我们编程的时候经常用到。具体用法如下所示:

1>,加法运算 + (如: “A” := “B” + 1;)

2>,减法运算 - (如: "B" := "C" - 1;)

3>,乘法运算 * (如: "C" := "D" * 1;)

4>,除法运算 / (如: "D" := "E" / 1;)

上面的例子中,“B+1”,”C-1”,”D*1”,”E/1”都是属于算术运算符,用于表示两个或者以上的数据的数学运算。

1, SCL语言的关系运算符:

所谓关系运算符就是>,=,<=,<>,这个在我们程序中也经常使用到,具体用法如下所示:

1> 大于 > (当A>B时,C:=100;)

2> 小于<

3> 等于=

4> 大于或等于>=

5> 小于或等于<=

6> 不等于<>

关系运算符通常的用法是表示SCL语句的条件。

比如:当A>B时,C:=100;

这里的A>B就是条件,C:=100就是结果。当BOOL量作为运行条件的时候,通常可以将关系符省略。比如下图“复位按钮”和“设备已经停止”其实都是关系运算符,表达的真正用法是:“复位按钮”=TRUE AND “设备已经停止” = TRUE ,这里先不多说,后面的课程我会详细的讲。

2, SCL语言的逻辑运算符:

逻辑运算符常用于我们的逻辑电路,用我们梯形图来理解就是触点之间的逻辑关系。比如:串联,并联,等等。如下图所示:

12d303dd9474c51df3a1aaae805d6a7f.png

1>,非 NOT :NOT表示非,用于常闭触点。

2>,与 AND : AND表示与,用于用于触点或者运算符的串联 。

3>,或 OR : OR表示或;用于运算符的的并联。

4>,异或 XOR : XOR表示异或,由于不易理解,实际编程的时候尽量少用,运算方法可以理解成用不带进位的二进制加法,运用方法如下 (0⊕0=0,1⊕0=1,0⊕1=1,1⊕1=0)。


版权声明:本文为weixin_39530269原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接和本声明。