第二课,常数的数据进制转换

我们要学习西门子SCL语言,必须要搞清楚PLC的基础知识,这节课也是基础内容,详细的讲解了PLC的进制,以及进制的转换方法。

一,进制的介绍

1, 什么是进制

进制又叫计数制,是展现统计数据的方式。我们通常使用的数据表达方式是十进制,十进制是全世界通用的默认数据表达方式。除了十进制,进制种类还有很多,举几个例子说明:

时间上有60秒进1分,60分进1时,24时进1天,365天进1年。这的60,24,365都是属于进制,是一种数据的表现方式。

周易的八卦里面的卦象的爻都是由阴阳组成,阴阳就是2进制。周易的每一卦都是8进制。天干是10进制,地支是12进制,生肖是12进制。

我们生活中所使用的进制,除了这些还有很多,举这么多例子只是为了说明进制只是一种表示数据的方式。在我们计算机和PLC里面常用的进制有2进制,8进制,10进制,16进制。

2,编程常用的数据表达方式

1) 二进制

2) 八进制

3) 十进制

4) 十六进制

3,什么是二进制?

所谓二进制就是逢二进一,数据内容只有0和1 ,是电子电路最基础的底层逻辑。

为什么电脑的底层逻辑是二进制?

我们都知道二进制是由0和1组成,任何形式的计算机都是由电子电路组成,电子电路永远只有两种状态:接通和断开。电路的两种状态刚好与二进制的0和1对应。我们把接通表示为1,断开表示为0。

PLC的输入,输出都是一个BOOL量,任何一个BOOL量都是只有接通和断开两种状态,所以任何一个BOOL量都是一位二进制,都有0和1两种状态。

二进制的表示方法举例:

0,1,10,11,100,101,110,111,1000,1001,1010

4,什么是八进制?

所谓八进制就是逢八进一,数据内容有0,1,2,3,4,5,6,7

八进制是PLC使用非常多的一种表示数据表示方式,绝大部分的PLC输入和输出都是采用八进制,比如西门子的输入和输出。

输入:

I0.0 I0.1 I0.2 I0.3 I0.4 I0.5 I0.6 I0.7

I1.0 I1.1 I1.2 I1.3 I1.4 I1.5 I1.6 I1.7

输出:

Q0.0 Q0.1 Q0.2 Q0.3 Q0.4 Q0.5 Q0.6 Q0.7

Q1.0 Q1.1 Q1.2 Q1.3 Q1.4 Q1.5 Q1.6 Q1.7

5,什么是十进制?

所谓十进制就是逢十进一,数据内容有0,1,2,3,4,5,6,7,8,9 十进制是我们生活中使用的数据表示方式。

全世界默认的通用数据表示方法都是十进制,据说人类全部采用十进制,可能跟人类有十根手指有关,好记又方便理解。

十进制数的表示方法举例:

0, 1, 2, 3, 4, 5, 6, 7, 8, 9

10,11,12,13,14,15,16,17,18,19

6, 什么是十六进制?

所谓十六进制就是逢G进一,数据内容有0,1,2,3,4,5,6,7,8,9,A,B,C,D,E,F 十六进制是PLC和很多电子产品对于数据的表示方式。

十六进制数的表示方法举例:

0, 1, 2, 3, 4, 5, 6, 7, 8, 9, A, B, C, D, E, F

10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 1A, 1B, 1C, 1D, 1E, 1F

20, 21 ………… 2F

二, 进制的转换

1,二进制转换成十进制

方法规律:将多位二进制数依次展开,分别用每个二进制数乘以2递增幂次方。递增规律为个位上的数字的次数是0,十位上的数字的次数是1,......,依次递增。

例如:1011:=1*2³ 0*2² 1*2¹ 1*2º :=11

2, 十进制转换二进制

十进制转换二进制是采用除2取余逆序排列法。

具体做法是:用2整除十进制整数,可以得到一个商和余数;再用2去除商,又会得到一个商和余数,如此进行,直到商为小于1时为止,然后把先得到的余数作为二进制数的低位有效位,后得到的余数作为二进制数的高位有效位,依次排列起来 。

例如:207:=11001111

算法如下:

207÷2= 103(余1)

103÷2= 51(余1)

51÷2= 25(余1)

25÷2= 12 (余1)

12÷2=6 (余0)

6÷2= 3 (余0)

3÷2= 1 (余1)

1÷2=0 (余1)

3, 二进制,八进制,十进制,十六进制的转换对比

西门子怎么转换成scl(西门子SCL编程手册连载)(1)

4, 二进制转换十六进制

二进制转换十六进制采用四合一法,即四位二进制合成一位16进制。

例如如:10 1101 0101 1100 := 2D5C

西门子怎么转换成scl(西门子SCL编程手册连载)(2)

5, 所有进制的转换方法

PLC编程常用的进制有二进制,八进制,十进制,十六进制,相互之间都可以转换,都有自己的转换规则,前面的案例只是为了方便大家理解转换规则。

在实际编程的时候为了节省时间提高工作效率,通常情况下可以用计算器进行计算,所以我个人的建议是进制的转换规则了解一下就可以了,当然有兴趣者也可以自己细细研究。

,