若你我之间有缘,关注作者又何妨?

两情若是久长时,又岂在朝朝暮暮。

大家好!我是江郎,一个脚踏实地的#数控#维修工。

在学习FANUC PMC的时候,经常会接触到位、字节、字、双字这些数字基础知识,若没有理解它们的含义就很难更深层次的去研究,最后可能会一头雾水。

fanucpmc如何写宏变量(PMC仅仅只处理两种形式的数据)(1)

我们FANUC PMC处理数据是以二进制和BCD码两种形式,要想真的理解它,首先我们需要学习一些数字电路基础知识,这些知识可能看一遍两遍无法理解清楚,那么你就看十遍二十遍,总会有恍然大悟的一天,这就是:“书读百遍其义自见”。

数字基础知识

市场上的PLC有很多品牌,琳琅满目,但是基本的数字知识差异不大,为了方便我们理解,我们以西门子PLC来进行举例说明:

1、二进制

一般在计算机中广泛应用的一种码制,它的特点就是“逢二进一”。

2、位

fanucpmc如何写宏变量(PMC仅仅只处理两种形式的数据)(2)

常称为BOOL(布尔型),只有两个值:0或1。如:I0.0,Q0.1,M0.0,V0.1等。

3、字节

一个字节(Byte)等于8位(Bit),其中0位为最低位,7位为最高位。

fanucpmc如何写宏变量(PMC仅仅只处理两种形式的数据)(3)

如:IB0(包括I0.0~I0.7位),QB0(包括Q0.0~Q0.7位),MB0,VB0等。范围:00~FF(十进制的0~255)。

4、字

相邻的两字节(Byte)组成一个字(Word),来表示一个无符号数,因此,为16位。

fanucpmc如何写宏变量(PMC仅仅只处理两种形式的数据)(4)

如:IW0由IB0和IB1组成的,其中I是区域标志符,W表示字,0是字的起始字节需要注意的是,字的起始字节(如上例中的“0”)都必须是偶数。

字的范围为十六进制的0000~FFFF(即十进制的0~65536)。在编程时要注意,如果已经用了IW0,如再用IB0或IB1要特别加以小心。

5、双字

相邻的两个字(Word)组成一个双字,来表示一个无符号数。因此,双字为32位。

fanucpmc如何写宏变量(PMC仅仅只处理两种形式的数据)(5)

如:MD100是由MW100和MW102组成的,其中M是区域标志符,D表示双字,100是双字的起始字节。需要注意的是,双字的起始字节(如上例中的“100”)和字一样,必须是偶数。

双字的范围为十六进制的0000~FFFFFFFF(即十进制的0~4294967295)。在编程时要注意,如果已经用了MD100,如再用MW100或MW102要特别加以小心。

FANUC-PMC处理数据的形式

我们FANUC小黄鸡PMC处理数据分为二进制和BCD码两种形式来处理,例如很多梯形图功能指令,有二进制的、有BCD码的,例如DEC和DECB译码指令,如下图

fanucpmc如何写宏变量(PMC仅仅只处理两种形式的数据)(6)

DEC是对2位BCD码进行译码,而DECB是对1、2、4字节长度的二进制形式的代码数据进行译码。

在梯形图中一般指定数据的起始地址和数据长度,如下图R100为首的4个字节的数据:

fanucpmc如何写宏变量(PMC仅仅只处理两种形式的数据)(7)

那么,1个字节、2个字节、4个字节可表示的数据范围有多大?如下图:

fanucpmc如何写宏变量(PMC仅仅只处理两种形式的数据)(8)

BCD码:二进码、十进数,是一种二进制的数字编码形式,用二进制编码的十进制代码,这种编码形式利用了四个位元素储存一个十进制的数码,使二进制和十进制之间的转换以快捷进行。

fanucpmc如何写宏变量(PMC仅仅只处理两种形式的数据)(9)

BCD码简单可以这样理解:就是用四位二进制数来表示10进制数的各位。BCD码也叫8421码,就是将十进制的数以8421的形式展开成二进制……

小结

通过上述内容,我们可以学习到一些数字基础知识以及在FANUC PMC中仅仅处理两种数据(二进制和BCD码),这些枯燥无味的概念性知识,其实很无趣。

江郎在学习的路上有个习惯,不理解的东西会多读几次,几十次,甚至是几百次,为什么?就是为了抓住大脑中的一次“顿悟”!这其实就是愚公移山的精神吧!

(感谢阅读!喜欢的朋友记得转发、点赞哦!拜托拜托!)

——END——

预知更多内容,【关注作者】,且听下回分解!

声明:文中观点仅代表作者本身;图片来源于网络,侵权必删!

,