lcwlaile
級別: 探索解密
|
請問高手們,S7200中的各種類型數據直接具體是如何相互轉換的。比如BTI指令,將一個8位數據轉換成一個16位的數據。這兩個數據類型的長度是不一樣的,PLC 是如何實現轉換的。還有DTI,DTR,BCDI,等等。在編程的時候又是如何確定使用哪一種數據類型呢?本菜鳥水平有限,希望能講解的越詳細越好。謝謝~ |
---|---|
|
weisongyuan
永遠年輕
級別: 網絡英雄
|
西門子S7-200可以按:位、字節、字、雙字尋址,如V200.0 、VB200、 VW200、 VD200,還有4個累加器:AC0 AC1 AC2 AC3,AC0—AC3可以是字節、字、雙字。一定注意的是:西門子與三菱、歐姆龍等的雙字不同,三菱的一個雙字的四個字節高低位的順序是從右向左,即起始字節為低位,而西門子200的一個字、雙字的高低字節是從左向右如:VD20——VW20 VW22——VB20VB21VB22VB23,VB23是VD20的低位字節。當進行算術計算時數據類型必須相同,這樣就要進行數據轉換,200有轉換指令,打開編程軟件可以看見,西門子200編程軟件比較直觀,所有指令都在指令樹中: [attachment=131716] [attachment=131716] [attachment=131713] [attachment=131714] [attachment=131715] [ 此帖被weisongyuan在2015-01-26 09:11重新編輯 ] |
|
---|---|---|
本帖最近評分記錄:
|
lcwlaile
級別: 探索解密
|
謝謝你的回答,但是不是我要的答案,我主要是想問,PLC是如何把不同長度的數據相互轉換的。比如字轉換成雙字,雙字轉換成字,具體的轉換過程是什么樣的。并不是問轉換的指令。 |
---|---|
|
liuqiang1986
相互交流,相互學習,共同探討。
級別: 家園常客
|
這看你要16位還是32位的數據了, |
|
---|---|---|
|
weisongyuan
永遠年輕
級別: 網絡英雄
|
呵呵呵 我給你的就是你想要的,數據長度的轉換就是要用轉換指令解決,各種類型的數據都可以根據你自己的需要轉換,字節轉換為字,字轉換為雙字,雙字轉換為實數,反之亦然。我給你的截圖就是轉換用的指令,你根本沒看我給你的最后一個截圖,我在網絡都注釋了指令的用途。你點擊最下面的程序截圖使其放大,就看的仔細了。第1、2張截圖是一樣的,顯示200所有的功能,3、4是一樣的就是用于存儲器類型所有的轉換指令的展開圖,我想問你的是:你說的“PLC是如何把不同長度的數據相互轉換的。比如字轉換成雙字,雙字轉換成字,具體的轉換過程是什么樣的。并不是問轉換的指令。”我是真的不能理解,編程軟件中的轉換指令你不用,非要另外找一個途徑解決。我可以負責任的告訴你:在西門子200中如果不使用轉換指令 就想完成 字節、字、雙字、實數及字符串之間的轉換,除非你自己創建出200編程軟件 |
|
---|---|---|
|
liuhuaxing
LIUHUAXING
級別: 論壇先鋒
|
樓主的意思是問你:當你從甲站坐到乙站,公交車上的發動機是怎么運行的?而不是問你是從哪里坐來的 |
---|---|
|
lcwlaile
級別: 探索解密
|
6樓明白我的意思了。關于2進制,16進制,BCD碼我是了解的。比如一個常數十進制的9,我可以用4位2進制數表示它。一個字節有8位,表示一個4位2進制數足夠用,但是如果我想把這個字節的數據,轉換成字。那么一個字有16位,16位表示一個4位的2進制數只用了4位,其它12位是空著的嗎?這就是我想問的問題。我只是舉個例子。 |
---|---|
|
weisongyuan
永遠年輕
級別: 網絡英雄
|
謝謝您的執著,我原來也沒注意這個事情,想給你回答這個問題的時候才又找到教材查閱的。現在回答你的例子:如果是將字節轉換為字,數據的保存是由轉換后字的最低位依次向高位排列,未使用的位用0補充,如果是雙字轉換為字或者是字轉換為字節也是這樣,應該考慮的是轉換的數據長度,(字節:-128—+127或0—255;字:-32768—+32767或者0—65535;雙字:-2147483648—+2147483647或者0—4294966295,注意:S7200PLC使用的浮點數格式最多支持7個有效數字。嘗試顯示7個以上有效數字會顯示進位錯誤))如果超出轉換后的字或字節的最大數則超出的高位部分溢出,特殊輔助繼電器置位。如:西門子200,當雙字VD100 轉換為字VW120 或者VW0 轉換為VB 10,當轉換后的數據超出轉換后的VW120或者VB10的最大數值則只保留低位高位溢出,同時特殊繼電器SM1.1置位 [ 此帖被weisongyuan在2015-01-29 10:50重新編輯 ] |
|
---|---|---|
本帖最近評分記錄:
|