西門子與三菱PLC報文比較


1.西門子和三菱的幾個區別(上位只關心的通訊層面):
1. 西門子PLC通訊端口固定102,但是可以連接多個PC端(客戶端),三菱PLC通訊端口可以自定義,最多好像8個,但是每個端口只能連接一個客戶端;
2. 兩者的讀寫指令類似,但是西門子在端口連接的時候,要做兩個初始化指令交互后,才能正常讀寫處理; 如果中途有錯誤格式的指令,可能導致端口連接斷開;
3. 三菱PLC主要是以字為單位讀寫的;西門子主要是以字節為單位讀寫; 所以三菱相鄰兩個地址相差16bit,西門子相鄰兩個地址相差8bit;
4.三菱PLC的數據塊,一般最小處理單位就是字,很少拆成bit處理(或者把整個字當作0,1布爾類型處理,但是這樣有點太浪費了),
而且上位PC端只能用字去讀寫,無法按位讀寫,如果真的要用bit處理,一般就用M點;
西門子這塊比較靈活,可以按bit或byte去讀寫;如果按byte,標識的樣子是 B10.B99 ;如果是bit,標識的樣子是 B10.X99.0~DB10.X99.7
5.三菱PLC的數據塊是固定的,比如D0~D6000; 西門子的數據塊是通過西門子的編程工具初始化的,也就是說,你可以把一片地址定義成DB10,也可以定義成DB50;
通俗的說:三菱PLC的數據庫偏硬; 西門子的偏軟,它的地址是映射的虛擬地址;
6. 三菱的數據位是從小到大的,比如某個雙字,低位在前,高位在后;這是針對數字類型,但是如果是ascii碼,因為一個字有兩個字節,這時候卻又是反的;
所以在三菱里面對數字和字符類型,要分兩種順序處理;
西門子是從大到小的;這兩種方法有什么區別呢; 簡單來說:從小到大主要是計算機思考的方式; 從大到小是人的思考方式;
比如655539,它等於65536+3,轉換成16進制是0x00010003 需要兩個字 , 如果在三菱里存儲的順序就是先低位3,再高位1,也就是 03 00 01 00;
在西門子里存儲的順序從高到低,也就是00 01 00 03;
就像oracle在的數據在windows系統里的數據存儲順序是從小到大,在liunx系統里又是從大到小;


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM