加入收藏 在線留言 聯系我們
        關注微信
        手機掃一掃 立刻聯系商家
        全國服務熱線17838383235
        公司新聞
        學西門子PLC時,BCD碼和十六進制要分清
        發布時間: 2024-06-11 09:54 更新時間: 2024-10-30 14:14

        BCD碼與十六進制

        BCD碼與十六進制是數字編碼中的兩種常見形式,它們在數字表示和轉換方面有著特定的應用。BCD碼(Binary-Coded Decimal)是一種二進制編碼形式,每個十進制數用4位二進制數表示。BCD碼的數值范圍是0到9,而不包括十六進制的A到F。相鄰的BCD位相加時,逢十進一。高位二進制數表示符號,1代表負數,0代表正數。舉例來說,16位BCD碼的范圍是從-999到+999。

        在數字轉換方面,撥碼開關可以將數字轉換為4位二進制數。例如,PLC系統通過12個數字量輸入點讀取3位BCD碼,轉換為十六進制數16#829。

        雖然BCD碼和十六進制在表示方式上有所區別,但它們經常被混淆,因為BCD碼常以十六進制形式表示。

        對于程序中的數字,如何確定它們是BCD碼還是十六進制數呢?

        首先,要觀察數據的來源和用途。BCD碼通常用于輸入和輸出數據,比如來自撥碼開關的數據或者送給顯示電梯樓層的譯碼器芯片的數據。其次,可以查閱手冊來確認數據類型。例如,日期和時間值通常是BCD碼,在手冊中有明確規定。另外,對于計數器的預設值和當前計數值,通常也會使用BCD碼表示。

        如何監視和輸入BCD碼呢?

        在監視BCD碼時,可以使用十六進制格式,在變量表和程序狀態監控中進行觀察。而在輸入BCD碼時,需要注意高位(符號位)為16#F,而低3位各位只能是0到9,如果超出范圍會導致錯誤。例如,對于計數器的預設值,可以使用格式為C#的常數來表示,而不是直接輸入十進制數。

        此外,使用MOVE指令傳送數據時,應確保數據格式正確,否則可能導致錯誤。因此,在輸入BCD碼時,需要注意格式和范圍,以確保系統正常運行。

        FC和FB的需要注意的區別

        FC和FB具有輸入(IN)、輸出(OUT)和輸入/輸出(IN_OUT)三種參數類型。IN參數用于數據輸入,OUT參數用于輸出結果,而IN_OUT參數既可以作為數據輸入,也可以作為數據輸出。

        在FC和FB中都可以使用臨時(TEMP)變量。這些臨時變量存儲在系統的本地數據堆(LocalDataStack)中,在FC或FB調用結束后會被釋放,因此臨時變量僅在調用期間有效。

        不同的是,FB還具有靜態(STAT)變量類型,而FC沒有。靜態變量存儲在FB的背景DB中,在FB調用結束后仍然有效。

        另外,FC具有返回值變量(RET_VAL),用于返回調用結果。而使用OUT或者IN_OUT類型的參數可以輸出多個變量,因此比RET_VAL更靈活。

        背景DB和共享DB是兩種不同類型的數據庫。

        如之前所述,背景DB與FB相關聯,因此在創建背景DB時,必須指定其所屬的FB,并且該FB必須已存在。在調用FB時,也必須指定對應的背景DB。

        需要注意的是,背景DB與共享DB在本質上沒有區別,它們的數據可以被任何一個OBBC成FB讀寫。它們之間的主要區別在于使用目的:背景DB的目的是為某個FB提供數據,因此其數據格式必須與該FB的變量聲明一致;而共享DB的主要目的是為用戶程序提供一個可保存的數據區,其數據結構不依賴于特定的程序塊。

        尋址介紹表


        聯系方式

        • 電  話:17838383235
        • 經理:徐嘉泉
        • 手  機:17838383235
        • 微  信:17838383235