格雷码的编码规则:
格雷码母线位置检测单元包括地址发射单元、天线箱、地址检测单元、格雷码母线及安装辅件等部分。利用最简单的单匝线圈的感应原理,当天线箱线圈中通进交变电流时,在天线箱四周会产生交变磁场。
格雷码母线近似处在一个交变的、均匀分布的磁场中,每对格雷码母线芯线会产生感应电动势。发射单元地址信号通过电磁耦合方式传送到格雷码母线的感应环线上。
xor运算
的逆运算是它本身,也就是说两次异或同一个数最后结果不变,即(a xor b) xor b = a。xor运算可以用于简单的加密,比如我想对我MM说1314520,但怕别人知道,于是双方约定拿我的生日19880516作为密钥。1314520 xor 19880516 = 20665500,我就把20665500告诉MM。MM再次计算20665500 xor 19880516的值,得到1314520。
展开全部
以下是三菱plc常用的指令,还有不懂的可以问我一程序流程控制指令—FNC00~09
00CJ条件转移
01CALL子程序调用
02SRET子程序返回
03IRET中断返回
04EI开中断
05DI关中断
06FEND主程序结束
07WDT监控定时器刷新
08FOR循环开始
09NEXT循环结束
二传送、比较指令—FNC10~19BIN----二进制BCD----十进制
10CMP比较
11ZCP区间比较
12MOV传送
13SMOVBCD码移位传送
14CML取反传送
15BMOV数据块传送(n点→n点)
16FMOV多点传送(1点→n点)
17XCH数据交换,(D0)←→(D2)
18BCDBCD变换,BIN→BCD
19BINBIN变换,BCD→BIN
三算术、逻辑运算指令—FNC20~29BIN----二进制BCD----十进制
20ADDBIN加法
21SUBBIN减法
22MULBIN乘法
23DIVBIN除法
24INCBIN加一
25DECBIN减一
26WAND字与
27WOR字或
28WXOR字异或
29NEG求BIN补码
四循环、移位指令—FNC30~39
30ROR循环右移
31ROL循环左移
32RCR带进位循环右移
33RCL带进位循环左移
34SFTR位右移
35SFTL位左移
36WSFR字右移
37WSFL字左移
38SFWRFIFO写入
39SFRDFIFO读出
五数据处理指令—FNC40~49
40ZRST区间复位
41DECO解码
42ENCO编码
43SUM求置ON位总数
44BONON位判别
45MEAN求平均值
46ANS信号报警器标志置位
47ANR信号报警器标志复位
48SQRBIN平方根
49FLTBIN整数→BIN浮点数六高速处理指令—FNC50~59
50REF输入输出刷新
51REFF输入滤波时间常数调整
52MTR矩阵输入
53HSCS高速记数器比较置位
54HSCR高速记数器比较复位
55HSZ高速记数器区间比较
56SPD速度检测
57PLSY脉冲输出
58PWM脉冲宽度调制
59PLSR带加减速功能的脉冲输出
七方便指令—FNC60~69
60IST状态初始化
61SER数据搜索
62ABSD绝对值凸轮顺控
63INCD增量凸轮顺控
64TTMR示教定时器
65STMR专用定时器—可定义
66ALT交替输出
67RAMP斜坡输出
68ROTC旋转工作台控制
69SORT数据排序
八外部I/O设备指令—FNC70~79
70TKY10键输入
71HKY16键输入
72DSW拨码开关输入
73SEGD七段译码
74SEGL带锁存的七段码显示
75ARWS方向开关
76ASCASCII码转换
77PR打印输出
78FROM读特殊功能模块
79TO写特殊功能模块
九外围设备指令—FNC80~89
80RSRS-232C串行通讯
81PRUN并行运行
82ASCI十六进制→ASCII
83HEXASCII→十六进制
84CCD校验码
85VRRD电位器读入
86VRSC电位器设定
88PIDPID控制
十F2外部模块指令—FNC90~99
90MNETF-16N,Mini网
91ANRDF2-6A,模拟量输入
92ANW2-6,模拟量输出
93RMSTF2-32RM,启动RM
94RMWRF2-32RM,写RM
95RMRDF2-32RM,读RM
96RMMNF2-32RM,监控RM
97BLKF2-30GM,指定块
98MCDEF2-30GM,机器码十一浮点数运算指令—FNC110~132
110ECMPBIN浮点数比较
111EZCPBIN浮点数区间比较
118EBCDBIN浮点数→BCD浮点数
119EBINBCD浮点数→BIN浮点数
120EADDBIN浮点数加法
121ESUBBIN浮点数减法
122EMULBIN浮点数乘法
123EDIVBIN浮点数除法
127ESQRBIN浮点数开方
129INTBIN浮点数→BIN整数
130SINBIN浮点数正弦函数(SIN)
131COSBIN浮点数余弦函数(COS)
132TANBIN浮点数正切函数(TAN)
十二交换指令—FNC147
147SWAP高低字节交换
十三定位指令—FNC155~159
155ABS读当前绝对值位置
156ZRN返回原点
157PLSY变速脉冲输出
158DRVI增量式单速位置控制
159DRVA绝对式单速位置控制
十四时钟运算指令—FNC160~169
160TCMP时钟数据比较
161TZCP时钟数据区间比较
162TADD时钟数据加法
163TSUB时钟数据减法
166TRD时钟数据读出
167TWR时钟数据写入
169HOUR小时定时器
十五变换指令—FNC170~177
170GRY二进制数→格雷码
171GBIN格雷码→二进制数
176RD3A读FXon-3A模拟量模块
177WR3A写FXon-3A模拟量模块
十六触点比较指令—FNC224~246
224LD=(S1)=(S2)时运算开始之触点接通
225LD>(S1)>(S2)时运算开始之触点接通
226LD<(S1)<(S2)时运算开始之触点接通
228LD<>(S1)≠(S2)时运算开始之触点接通
229LD≤(S1)≤(S2)时运算开始之触点接通
230LD≥(S1)≥(S2)时运算开始之触点接通
232AND=(S1)=(S2)时串联触点接通
233AND>(S1)>(S2)时串联触点接通
234AND<(S1)<(S2)时串联触点接通
236AND<>(S1)≠(S2)时串联触点接通
237AND≤(S1)≤(S2)时串联触点接通
238AND≥(S1)≥(S2)时串联触点接通
240OR=(S1)=(S2)时并联触点接通
241OR>(S1)>(S2)时并联触点接通
242OR<(S1)<(S2)时并联触点接通
244OR<>(S1)≠(S2)时并联触点接通
245OR≤(S1)≤(S2)时并联触点接通
246OR≥(S1)≥(S2)时并联触点接通
以下是三菱plc常用的指令,还有不懂的可以问我一程序流程控制指令—FNC00~0900CJ条件转移01CALL子程序调用02SRET子程序返回03IRET中断返回04EI
来个高手二进制码转化为格雷码的法则:从最右边一位起,依次将每一位与左边一位异或(XOR),作为对应格雷码该位的值,最左边一位不变(相当于左边是0)看一下你举得例子01111异或:异或的两个值相同为假,不同为真从右至左分别取先写好二进制的数,比如二进制的0110,对应的四位格雷码就是:右数第一位的0和右数第二位的1作异或运算(相同为0,不同为1),这样得到1作为格雷码的第一位,依次类推,最高位的话保持与二进制一样(此处为0),这样就得到格雷码为0101。
格雷码母线位置检测单元包括地址发射单元、天线箱、地址检测单元、格雷码母线及安装辅件等部分。
利用最简单的单匝线圈的感应原理,当天线箱线圈中通进交变电流时,在天线箱四周会产生交变磁场。格雷码母线近似处在一个交变的、均匀分布的磁场中,每对格雷码母线芯线会产生感应电动势。发射单元地址信号通过电磁耦合方式传送到格雷码母线的感应环线上。
在一组数的编码中,若任意两个相邻的代码只有一位二进制数不同,则称这种编码为格雷码,另外由于最大数与最小数之间也仅一位数不同,即“首尾相连”,因此又称循环码或反射码。在数字系统中,常要求代码按一定顺序变化。
相关内容解释:
典型的二进制格雷码简称格雷码,因1953年公开的弗兰克·格雷(Frank Gray,18870913-19690523)专利“Pulse Code Communication”而得名,当初是为了通信,现在则常用于模拟-数字转换和位置-数字转换中。
法国电讯工程师波特(Jean-Maurice-Émile Baudot,18450911-19030328)在1880年曾用过的波特码相当于它的一种变形。1941年George Stibitz设计的一种8元二进制机械计数器正好符合格雷码计数器的计数规律。
将格雷码从左边第一位与0异或,得的结果与下一位异或,依次推类即可。举例。格雷码:1001
就要将它变为自然二进制:
0 与第一位 1 进行异或结果为 1
上面结果1与第二位0异或结果为 1
上面结果1与第三位0异或结果为 1
上面结果1与第四位1异或结果为 0格雷码运算研究
在数字系统中只能识别0和1,各种数据要转换为二进制代码才能进行处理,格雷码是一种无权码,采用绝对编码方式,典型格雷码是一种具有反射特性和循环特性的单步自补码,它的循环、单步特性消除了随机取数时出现重大误差的可能,它的反射、自补特性使得求反非常方便。格雷码属于可靠性编码,是一种错误最小化的编码方式,因为,自然二进制码可以直接由数/模转换器转换成模拟信号,但某些情况,例如从十进制的3转换成4时二进制码的每一位都要变,使数字电路产生很大的尖峰电流脉冲。而格雷码则没有这一缺点,它是一种数字排序系统,其中的所有相邻整数在它们的数字表示中只有一个数字不同。它在任意两个相邻的数之间转换时,只有一个数位发生变化。它大大地减少了由一个状态到下一个状态时逻辑的混淆。另外由于最大数与最小数之间也仅一个数不同,故通常又叫格雷反射码或循环码。下表为几种自然二进制码与格雷码的对照表:
一般的,普通二进制码与格雷码可以按以下方法互相转换:
二进制码->格雷码(编码):从最右边一位起,依次将每一位与左边一位异或(XOR),作为对应格雷码该位的值,最左边一位不变(相当于左边是0);
格雷码-〉二进制码(解码):从左边第二位起,将每位与左边一位解码后的值异或,作为该位解码后的值(最左边一位依然不变)
数学(计算机)描述:
原码:p[0~n];格雷码:c[0~n](n∈N);编码:c=G(p);解码:p=F(c);书写时从左向右标号依次减小
编码:c=p XOR p[i+1](i∈N,0≤i≤n-1),c[n]=p[n];
解码:p[n]=c[n],p=c XOR p[i+1](i∈N,0≤i≤n-1)
Gray Code是由贝尔实验室的Frank Gray在20世纪40年代提出的(是1880年由法国工程师Jean-Maurice-Emlle
Baudot发明的),用来在使用PCM(Pusle Code Modulation)方法传送讯号时避免出错,并于1953年3月17日取得美国专利。由定义可知,Gray Code的编码方式不是唯一的,这里讨论的是最常用的一种。
[color=#FF0000]格雷码是中国人的老祖先发现的[/color]
九连环与格雷码
分析解九连环的完全记法,由于每次只动一个环,故两步的表示也只有一个数字不同。下面以五个环为例分析。左边起第一列的五位数是5个环的状态,依次由第一环到第五环。第二列是把这个表示反转次序的五位数,似乎是二进制数,但是与第四列比较就可以看出这不是步数的二进制数表示。第三列是从初始状态到这个状态所用的步数。最右边一列才是步数的二进制表示。
00000-00000-0-00000
10000-00001-1-00001
11000-00011-2-00010
01000-00010-3-00011
01100-00110-4-00100
11100-00111-5-00101
10100-00101-6-00110
00100-00100-7-00111
00110-01100-8-01000
10110-01101-9-01001
11110-01111-10-01010
01110-01110-11-01011
01010-01010-12-01100
11010-01011-13-01101
10010-01001-14-01110
00010-01000-15-01111
00011-11000-16-10000
10011-11001-17-10001
11011-11011-18-10010
01011-11010-19-10011
01111-11110-20-10100
11111-11111-21-10101
我们发现,右边一列数恰好是十进制数0到21的二进制数的格雷码! 这当然需要21步。如果把5位二进制数依次写完,就是
10111-11101-22-10110
00111-11100-23-10111
00101-10100-24-11000
10101-10101-25-11001
11101-10111-26-11010
01101-10110-27-11011
01001-10010-28-11100
11001-10011-29-11101
10001-10001-30-11110
00001-10000-31-11111
这说明,对于只有5个环的五连环,从初始到状态11111用的不是并不是最多,到状态00001才是最多,用31步。类似,对于九连环,从初始到状态111111111用的不是并不是最多,到状态000000001才是最多,用511步。由于格雷码111111111表示二进制数101010101,表示十进制数341,故从初始状态到9个环全部上去用341步。 这就是九连环中蕴涵的数学内涵。
注 由二进制数转换为格雷码:从右到左检查,如果某一数字左边是0,该数字不变;如果是1,该数字改变(0变为1,1变为0)。例,二进制数11011的格雷码是10110。
由格雷码表示变为二进制数:从右到左检查,如果某一数字的左边数字和是偶数,该数字不变;如果是奇数,该数字改变。
例 格雷码11011表示为二进制数是10010。
以上可以用口诀帮助记忆: 2G一改零不改,G2奇变偶不变。
这样,我们不但可以知道从任何一个状态到另一个状态用完整解法需要多少步,用简单解法又需要多少步,而且可以知道下一步的动作是什么。(除去两个状态000000000和111111111,任何状态下都可以转变为两个状态,即有两个动作。)
例 设九连环的初始状态是 110100110 ,要求终止状态是 001001111 ,简单解法与完整解法各需要多少步第一步是什么动作
解 (1)初始状态 110100110 ,格雷码是011001011,转换为二进制数是010001101,相应十进制数是141。终止状态是001001111,格雷码是111100100,转换为二进制数是101000111,相应十进制数是327。二者差326-141=186,完整解法需要186步。
(2)由于初始状况141小于终止状况327,第一步应成为142,相应二进制是010001110,转换为格雷码是011001001,状态是100100110,与原状态比较,第一步应上第2环。
(3)简单解法步数,我们由141,327分别求相应的简单步数,
对于N=141,得到N0=103;对于 N=327,N0=242。二者差139,故简单步数139自然二进制数转换到格雷码
------------
设有 N 位二进制数 B(i),其中 0 <= i <= N - 1;它可以变换成为同样位数的格雷码 G(i)。
二进制数与格雷码的转换公式如下:
G(i) = B(i+1) XOR B(i) ; 0 <= i < N - 1
G(i) = B(i) ; i = N - 1
如果是通过编程计算进行变换,就需要使用这个公式逐位的计算;
如果是使用硬件电路进行变换,就可以使用做而论道前面在回答问题时给出的电路。
格雷码转换到自然二进制数
------------
设有 N 位格雷码 G(i),把它转换成自然二进制数的算法如下。
自然二进制码的最高位等于雷码的最高位;
自然二进制码的次高位为最高位自然二进制码与次高位格雷码相异或;
自然二进制码的其余各位与次高位自然二进制码的求法相类似。
转换公式如下:
B(i) = G(i) ; i = N - 1
B(i) = B(i+1) XOR G(i) ; 0 <= i < N - 1
转换电路可以参考做而论道以前写的博文:
>
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)