呵呵,很有意思的问题,我来帮你一下。。十进制,二进制,还有16进制,都有一个转换规律的。。我来简单说一下。。能不能理解就要看个人了。新人都这个理解起来要比较麻烦一点。。
从简单点说,叫做8421原则。下面来举例说明:
十进制:这个进制我们最好理解,先从这里说起,在三菱PLC中我们所说的常数K,就是十进制。这个我们只提一下。。那么k10 传送到plc中,我们怎么来判断呢?加入,我们这么来写【MOV K10 K1Y000】,这里牵扯到K1Y0, k1y0到底是什么呢?也就是说从y0开始数一个4位,这4位我们是这样来定义的
如果从10进制来说,我们的Y点谁该亮呢?两数的和就行了。。这里当然是Y1和y3,同时得电
从上面我们可以看出,从y0到y3,都是以2的倍数来递增,如果k2y0,也就是说有2个4位,分别是y0,y1,y2,y3,y4,y5,y6,y7.这8个点,也就是说有2组,他们分别也是用8421来表示。
y0=1
y1=2
y2=4
y3=8
y4=1=16
y5=2=32
y6=4=64
y7=8=128
记住,他们分别是以2的倍数来递增,那么y4应该是16,这个16是怎么来的呢,我们算一下,8421的和正好等于15,那么这里是不是有什么规律了呢?(自己考虑下,不明白可以问我),如果【MOV K85 K2Y000】在这里,我们先算一下这里的数值,K85=k64=k16=4=k1那么,分别应该是y0,y2,y4,y6得电,应该明白10进制了吧。那么,我们继续说下去
二进制,我们同样用8421来表示。
刚才说了,【MOV K85 K2Y000】y0--y7之间使用时用2的倍数来递增的,表示起来分别是
y0=1
y1=2
y2=4
y3=8
y4=1=16
y5=2=32
y6=4=64
y7=8=128
假如说我们随便一个二进制数值就如01101101这个数值吧。我们来看
---------------------------------------------------------------------
y7 | y6 | y5 | y4 | y3 | y2 | y1 | y0 |
---------------------------------------------------------------------
8 | 4 | 2 | 1 | 8 | 4 | 2 | 1 |
上图当表格来用
二进制数我们应该怎么来填入呢,例如01101101,我们直接从零位填入上图就可以了
---------------------------------------------------------------------
y7 | y6 | y5 | y4 | y3 | y2 | y1 | y0 | 输出点
---------------------------------------------------------------------
8 | 4 | 2 | 1 | 8 | 4 | 2 | 1 | 十进制表示
---------------------------------------------------------------------
0 | 1 | 1 | 0 | 1 | 1 | 0 | 1 | 二进制表示(把01101101数值带入)
那么,输出点都是1,也就是2的倍数,那么分别应该输出Y0,Y2,Y3,Y5,Y6. 通过这里,二进制应该也能自己换算了吧。。。
剩下的16进制了
十六进制,,十进制,是逢10进1,二进制是逢2进1,那么16进制是不是逢16进一呢?
8421的和为15,那么,下一次是不是就是16了呢?呵呵,跟你像的一样。16进制是这样的,1,2,3,4,5,6,7,8,9,A,B,C,D,E,F.分别代表了1-15,呵呵,在plc中我们用h来表示16进制,那么,如果h0005,我们怎么来判断呢,很简单8421原则,如果是h000a,那么,也是8421,我们分析一下,a=10,那么,传送H000A相当传送k10,那么,你会算了么,,
不会可以告诉我哦
你只需要使用十进制或十六进制它自己都会转换成二进制进行计算的
- -,要这么复杂吗?一大段一大段的,发个手册第几页告诉LZ不就可以了!
你还是描述一下,你想实现一个什么样的功能啊