麻豆一区区三三四区产品麻豆-麻豆影视国产TV在线观看-麻豆影视国产在线观看-麻豆影视在线-麻豆影视在线观看av-麻豆影院

pjf
級別: 家園常客
精華主題: 0
發帖數量: 641 個
工控威望: 714 點
下載積分: 2049 分
在線時間: 290(小時)
注冊時間: 2007-01-11
最后登錄: 2024-11-08
查看pjf的 主題 / 回貼
樓主  發表于: 2008-04-10 20:42
各位老師格雷碼和二進制有什么區別,怎么轉換.
cvlsam
富士低壓,POD(觸摸屏),PLC專賣
級別: VIP會員

精華主題: 3 篇
發帖數量: 6775 個
工控威望: 38376 點
下載積分: 3982 分
在線時間: 9528(小時)
注冊時間: 2006-09-13
最后登錄: 2024-12-16
查看cvlsam的 主題 / 回貼
1樓  發表于: 2008-04-10 21:25
我使用富士的SPH系列編輯的程式,因爲富士的SPH符合IEC61131-3編程規範,因此依據如此改爲其它品牌的PLC也十分之方便。
在精確定位控制系統中,為了提高控制精度,準確測量控制對象的位置是十分重要的。目前,測量位置的方法主要有2種,其一是使用位置傳感器,此方法精度高,但是在多路,長距離位置監控系統中,由于成本昂貴且安裝困難,因此并不實用。其二是采用光電軸角編碼器進行精確位置控制,光電軸角編碼器根據其刻度方法及信號輸出形式,可分為增量式、絕對式以及混合式三種。而絕對式編碼器是直接輸出數字量的傳感器,它是利用自然二進制或循環二進制(格雷碼)方式進行光電轉換的,編碼的設計一般是采用自然二進制碼、循環二進制碼、二
進制補碼等。特點是不要計數器,在轉軸的任意位置都可讀出一個固定的與位置相對應的數字碼;抗干擾能力強,沒用累積誤差;電源切斷后位置信息不會丟失,但分辨率是由二進制的位數決定的,根據不同的精度要求,可以選擇不同的分辨率即位數。目前有10 位、11 位、12 位、13 位、14 位或更高位等多種。其中采用循環二進制編碼(即格雷碼)的絕對式編碼器,其輸出信號是一種數字排序,不是權重碼,每一位沒有確定的大小,不能直接進行比較大小和算術運算,也不能直接轉換成其他信號,要經過一次碼變換,變成自然二進制碼,在由上位機讀取以實現相應的控制。而在碼制變換中有不同的處理方式,本文著重介紹富士SX系列中使用編程的方法對二進制格雷碼與自然二進制碼的互換。

一、格雷碼(又叫循環二進制碼或反射二進制碼)介紹
在數字系統中只能識別0 和1,各種數據要轉換為二進制代碼才能進行處理,格雷碼是一種無權碼,采用絕對編碼方式,典型格雷碼是一種具有反射特性和循環特性的單步自補碼,它的循環、單步特性消除了隨機取數時出現重大誤差的可能,它的反射、自補特性使得求反非常方便。格雷碼屬于可靠性編碼,是一種錯誤最小化的編碼方式,因為,自然二進制碼可以直接由數/模轉換器轉換成模擬信號,但某些情況,例如從十進制的3 轉換成4 時二進制碼的每一位都要變,使數字電路產生很大的尖峰電流脈沖。而格雷碼則沒有這一缺點,它是一種數字排序系統,其中的所有相鄰整數在它們的數字表示中只有一個數字不同。它在任意兩個相鄰的數之間轉換時,只有一個數位發生變化。它大大地減少了由一個狀態到下一個狀態時邏輯的混淆。另外由于最大數與最小數之間也僅一個數不同,故通常又叫格雷反射碼或循環碼。下表為幾種自然二進制碼與格雷碼的對照表:

十進制數
自然二進制
格雷碼
十進制
自然二進制
格雷碼
0
0000
0000
8
1000
1100
1
0001
0001
9
1001
1101
2
0010
0011
10
1010
1111
3
0011
0010
11
1011
1110
4
0100
0110
12
1100
1010
5
0101
0111
13
1101
1011
6
0110
0101
14
1110
1001
7
0111
0100
15
1111
1000

二、二進制格雷碼與自然二進制碼的互換

1、自然二進制碼轉換成二進制格雷碼
自然二進制碼轉換成二進制格雷碼,其法則是保留自然二進制碼的最高位作為格雷碼的最高位,而次高位格雷碼為二進制碼的高位與次高位相異或,而格雷碼其余各位與次高位的求法相類似。
例如:
自然二進制編碼如下:
1
0
0
1
那么轉換為格雷碼的方法是:保留最高位1,然后將第二位0與第一位1做異或操作,第三位的0與第二位的0做異或操作,第四位的1與第三位的0做異或操作,得到結果如下:
1  1  0  1  Gray


2、二進制格雷碼轉換成自然二進制碼
二進制格雷碼轉換成自然二進制碼,其法則是保留格雷碼的最高位作為自然二進制碼的最高位,而次高位自然二進制碼為高位自然二進制碼與次高位格雷碼相異或,而自然二進制碼的其余各位與次高位自然二進制碼的求法相類似。
例如將格雷碼1000轉換為自然二進制碼:

1
0
0
0
1
1
1
1
上排為格雷碼,下排為自然二進制,從左到右分別為1~4位
將上排的第一位高位作為自然二進制的最高位,因此在下排的第一位填入1,然后以上排第二位與下排第一位做異或操作,得到下排第二位結果為1,將上排第三位與下排第二位做異或操作,得到下排第三位的結果為1,同理,下排第四位的結果為1,因此,我們得到了轉換結果 如下:
1  1  1  1  Bin

三、自然二進制碼與格雷碼互換在富士SX系列PLC中的實現方法:

1. 自然二進制碼轉換為格雷碼:
根據自然二進制碼轉換為格雷碼的轉換規則,實際上就是將轉換數右移一位后與轉換數做異或操作。程序流程圖如下:

          保存輸入數 TEMP

將TEMP右移一位,保存SHILETEMP

將移位后的數據與原數據作異或

返回異或后的數據

功能塊中的程序如下:
INPUT  輸入變量類型為DWORD   
TEMP    局部變量類型為DWORD
SHILETEMP  局部變量類型為DWORD
BIN_TO_GRAY 功能塊返回變量返回類型為DWORD

BIN_TO_GRAY:
TEMP:=INPUT;
SHILETEMP:=SHR_DWORD(TEMP,UNIT#1);
BIN_TO_GRAY:=SHILETEMP XOR INPUT;

2. 格雷碼轉換為自然二進制碼
根據格雷碼轉換為自然二進制碼的轉換規則,實際上就是不斷的將格雷碼與二進制數做異或操作,也就是說,不斷的和本身的不同位數做異或操作,如原數據為32位的A,那么先將A向右移動一位,與本身進行異或,然后保留值為B,那么繼續將A向右移動一位,與B進行異或,保留為C,依次類推,直到A=1為止。程序流程圖如下:

保存輸入數  TEMP,INPUT1

如果輸入數為0,那么直接返回數據0后退出

如果TEMP不等于1,那么循環,否則返回數據

        TEMP右移1位,與輸入值作不斷異或

功能塊中的程序如下:
INPUT  輸入變量類型為DWORD   
TEMP    局部變量類型為DWORD
INPUT1  局部變量類型為DWORD
GRAY_TO_BIN 功能塊返回變量返回類型為DWORD

GRAY_TO_BIN:

TEMP:=INPUT;
INPUT1:=INPUT;
IF TEMP=DWORD#0 THEN
      INPUT1:=DWORD#0;
      GRAY_TO_BIN:=INPUT1;
      RETURN;
END_IF;
WHILE TEMP<>DWORD#1 DO
  TEMP:=SHR_DWORD(TEMP,UINT#1);
  INPUT1:=TEMP XOR INPUT1;
END_WHILE;
GRAY_TO_BIN:=INPUT1;

上述代碼在富士的SX系列PLC中試驗沒有問題,由于富士的SX系列PLC完全支持ST代碼方式的編程,因此基本上可以不做修改的應用在西門子的S7系列的PLC中。
由于三菱的PLC中已經包含了自然二進制碼轉換為格雷碼指令GRY以及格雷碼轉換為自然二進制碼指令GBIN,因此上述代碼應用于三菱系列的PLC已經沒有意義,請使用三菱PLC本身附帶的指令,因為西門子以及富士的SX系列PLC并沒有附帶轉換指令,因此本人書寫了上述代碼用于補充SX系列的指令不足。
sjm213
有小知識,無大學問。
級別: 論壇版主

精華主題: 7 篇
發帖數量: 5205 個
工控威望: 7429 點
下載積分: 158907 分
在線時間: 3167(小時)
注冊時間: 2007-11-21
最后登錄: 2024-12-15
查看sjm213的 主題 / 回貼
2樓  發表于: 2008-04-11 09:33
很少見到,沒有注意過。
向樓上致敬,太詳細了。
wanghuhong
級別: 網絡英雄

精華主題: 2 篇
發帖數量: 1547 個
工控威望: 10487 點
下載積分: 10671 分
在線時間: 903(小時)
注冊時間: 2006-12-31
最后登錄: 2024-12-15
查看wanghuhong的 主題 / 回貼
3樓  發表于: 2008-04-11 10:56
[font=宋體]

[size=7頂了,沒看到過.
zhengyueyong
級別: *
精華主題: * 篇
發帖數量: * 個
工控威望: * 點
下載積分: * 分
在線時間: (小時)
注冊時間: *
最后登錄: *
查看zhengyueyong的 主題 / 回貼
4樓  發表于: 2008-04-11 11:08
引用
引用第2樓sjm213于2008-04-11 09:33發表的  :
很少見到,沒有注意過。
向樓上致敬,太詳細了。
雪花飄飄
級別: VIP會員

精華主題: 1 篇
發帖數量: 2620 個
工控威望: 2044 點
下載積分: 6757 分
在線時間: 3548(小時)
注冊時間: 2007-09-03
最后登錄: 2024-12-14
查看雪花飄飄的 主題 / 回貼
5樓  發表于: 2008-04-11 14:39
向一樓致敬。很好呀。
pjf
級別: 家園常客
精華主題: 0
發帖數量: 641 個
工控威望: 714 點
下載積分: 2049 分
在線時間: 290(小時)
注冊時間: 2007-01-11
最后登錄: 2024-11-08
查看pjf的 主題 / 回貼
6樓  發表于: 2008-04-11 20:01
謝謝這位cvlsam老師,向您致敬
大俠來也
級別: *
精華主題: * 篇
發帖數量: * 個
工控威望: * 點
下載積分: * 分
在線時間: (小時)
注冊時間: *
最后登錄: *
查看大俠來也的 主題 / 回貼
7樓  發表于: 2008-04-12 00:23
看看就好
542868779
級別: 略有小成
精華主題: 0
發帖數量: 184 個
工控威望: 276 點
下載積分: 444 分
在線時間: 302(小時)
注冊時間: 2008-03-01
最后登錄: 2024-12-14
查看542868779的 主題 / 回貼
8樓  發表于: 2008-04-16 16:59
引用
引用第7樓pjf于2008-04-11 20:01發表的  :
謝謝這位cvlsam老師,向您致敬
wanglong
級別: 略有小成
精華主題: 0
發帖數量: 307 個
工控威望: 414 點
下載積分: 1532 分
在線時間: 407(小時)
注冊時間: 2008-04-20
最后登錄: 2023-10-24
查看wanglong的 主題 / 回貼
9樓  發表于: 2008-04-21 21:18
高手。向你致敬

主站蜘蛛池模板: 日本不卡中文字幕| 亚洲日本在线播放| 亚洲国产精华液| 色七影院| 成人免费精品网站在线观看影片| 日韩a级毛片一区| 亚洲欧美一区二区久久| 无码人妻一区二区久久| 国产三級三級三級A片视频| 26uuu欧美日韩国产| 亚洲男人第一无码av网站| 日夜夜天天人人综合网| 女女同性一区二区三区四区| 精品一区二区| 国产伦精品一区三区视频| 成人片免费观看WWW| 免费人妻精品一区二区三区| 女人18毛片a级毛片一区二区 | 天天操猛猛操| 亚洲av福利永久看片| 欧美精品黄色视频网站| 精品久久久无码人妻中文字幕麻| 国产精品无码一二区不卡免费| 爱爱帝国亚洲一区二区三区| 亚洲精品高清国产麻豆专区| 日日夜夜国产| 夫妻性姿势真人做视频| 国产b站免费版视频| 亚洲精品久久无码一区二区大长腿 | 青青青青久久伊人国产| 精品无码无在线观看| 国产高清一区二区三区四区| 国产三级高清午夜羞羞视频| 成人亚洲A片V一区二区中出片| 亚洲国产欧美在线人成| 色偷拍自怕亚洲在线| 在线观看无码精品动漫| 日本不卡免费高清视频| 精品国产看高清国产毛片| 丰满人爽人妻A片二区| 国内揄拍国内精品对白86|