今天要开始讲解SCL了,很多PLC编程员都害怕SCL,觉得是很难的东西。我前面说过拥有初中以上学历的人便可以学会,这不最近有个新闻,小学生要开始推广python编程了。各位,小学生都开始学python了啊,你一初中及以上学历的人好意思说自己不会SCL吗??
SCL适用的地方很多,套用一句话,有人的地方便有江湖,那么有程序的地方便有SCL。梯形图支持的,SCL基本都支持。SCL程序最常用的地方就是对数据进行处理,比如模拟量采样数据整理,通信数据收发的解析,会给你带来很大的便利性。
SCL全称为Structured Control Language(结构化控制语言),是一种类似Pascal或者Basic的语言。西门子的SCL编程语言针对PLC进行了特别的优化,使其不但具有高级语言的循环、分支、假设、数组和函数等功能,还具有PLC的典型元素(输入、输出、定时器、计时器等等)。学习SCL,首先要了解变量的类型定义,所以这一期主要讲解SCL支持的变量类型。
注:由于1200和1500的数据变量类型更为丰富,有些东西不适合300/400,详细内容见帮助;
基本数据类型:
Bool(布尔类型)
Bool类型是我们最常用的类型之一,比如输入信号I0.0,输出信号Q0.0,都是Bool类型。Bool类型变量只有两种状态,True 或者 False ,类似线圈输出的闭合和断开,是一样的概念;
Bool类型的赋值比较灵活,可以采用如下几种方式,有不明白的可以留言。

图1 Q0.0 状态赋值
Byte(字节类型)
Byte类型变量数值变量范围是0-255,我们常见的%IB0,%QB0,就是Byte类型。Byte类型占有8个二进制位,所以IB0,QB0,我们常常用来表示I0.0...I0.7,Q0.0...Q0.7的状态。换句话说,我们通过对QB0的状态进行赋值,可以改变Q0.0..Q0.7某一位的状态。
SCL适用的地方很多,套用一句话,有人的地方便有江湖,那么有程序的地方便有SCL。梯形图支持的,SCL基本都支持。SCL程序最常用的地方就是对数据进行处理,比如模拟量采样数据整理,通信数据收发的解析,会给你带来很大的便利性。
SCL全称为Structured Control Language(结构化控制语言),是一种类似Pascal或者Basic的语言。西门子的SCL编程语言针对PLC进行了特别的优化,使其不但具有高级语言的循环、分支、假设、数组和函数等功能,还具有PLC的典型元素(输入、输出、定时器、计时器等等)。学习SCL,首先要了解变量的类型定义,所以这一期主要讲解SCL支持的变量类型。
注:由于1200和1500的数据变量类型更为丰富,有些东西不适合300/400,详细内容见帮助;
基本数据类型:
Bool(布尔类型)
Bool类型是我们最常用的类型之一,比如输入信号I0.0,输出信号Q0.0,都是Bool类型。Bool类型变量只有两种状态,True 或者 False ,类似线圈输出的闭合和断开,是一样的概念;
Bool类型的赋值比较灵活,可以采用如下几种方式,有不明白的可以留言。

图1 Q0.0 状态赋值
Byte(字节类型)
Byte类型变量数值变量范围是0-255,我们常见的%IB0,%QB0,就是Byte类型。Byte类型占有8个二进制位,所以IB0,QB0,我们常常用来表示I0.0...I0.7,Q0.0...Q0.7的状态。换句话说,我们通过对QB0的状态进行赋值,可以改变Q0.0..Q0.7某一位的状态。





