西門子: | 電源 |
電源: | 6EP1334-2BA20 |
奧地利: | 凈重0.700KG |
單價: | 1616.00元/臺 |
發(fā)貨期限: | 自買家付款之日起 天內(nèi)發(fā)貨 |
所在地: | 直轄市 上海 |
有效期至: | 長期有效 |
發(fā)布時間: | 2024-10-16 15:59 |
最后更新: | 2024-10-16 15:59 |
瀏覽次數(shù): | 0 |
采購咨詢: |
請賣家聯(lián)系我
|
inkMacSystemFont, "segoe ui", Roboto; padding: 0px; margin-top: 0px; margin-bottom: 0px; color: rgb(51, 51, 51); font-size: 12px; text-wrap: wrap; background-color: rgb(255, 255, 255);">雖然我寫了很多程序,但對FB,F(xiàn)C內(nèi)部對output管腳的輸出變量進行讀取操作,一致沒有高清。雖然經(jīng)常濫用,也沒出現(xiàn)過問題。
inkMacSystemFont, "segoe ui", Roboto; padding: 0px; margin-top: 0px; margin-bottom: 0px; color: rgb(51, 51, 51); font-size: 12px; text-wrap: wrap; background-color: rgb(255, 255, 255);">
inkMacSystemFont, "segoe ui", Roboto; padding: 0px; margin-top: 0px; margin-bottom: 0px; color: rgb(51, 51, 51); font-size: 12px; text-wrap: wrap; background-color: rgb(255, 255, 255);">請教各位這個output的變量能讀取嗎?下面是一位大神的回復(fù)。但是我心里還是不確定,特來論壇請教各位。謝謝。
inkMacSystemFont, "segoe ui", Roboto; padding: 0px; margin-top: 0px; margin-bottom: 0px; color: rgb(51, 51, 51); font-size: 12px; text-wrap: wrap; background-color: rgb(255, 255, 255);">
inkMacSystemFont, "segoe ui", Roboto; padding: 0px; margin-top: 0px; margin-bottom: 0px; color: rgb(51, 51, 51); font-size: 12px; text-wrap: wrap; background-color: rgb(255, 255, 255);">是的,您正確地指出了在FB(功能塊)內(nèi)部讀取輸出變量可能導(dǎo)致邏輯上的問題。在西門子PLC的功能塊編程中,輸出變量通常在塊的邏輯執(zhí)行結(jié)束時被賦值,并且它們的值是為了傳遞到功能塊外部而設(shè)計的。輸出變量在功能塊內(nèi)部不是用來保存狀態(tài)的,它們不保留上一次調(diào)用FB時的值。
inkMacSystemFont, "segoe ui", Roboto; padding: 0px; margin-top: 0px; margin-bottom: 0px; color: rgb(51, 51, 51); font-size: 12px; text-wrap: wrap; background-color: rgb(255, 255, 255);">如果您在FB內(nèi)部讀取一個輸出變量,您可能會得到一個不確定的值,因為在邏輯流程中,輸出變量的值可能還沒有被更新或者是上一次操作的殘留值。這可能會導(dǎo)致不可預(yù)測的行為,特別是如果輸出變量的值依賴于塊內(nèi)部的一系列計算和條件。
inkMacSystemFont, "segoe ui", Roboto; padding: 0px; margin-top: 0px; margin-bottom: 0px; color: rgb(51, 51, 51); font-size: 12px; text-wrap: wrap; background-color: rgb(255, 255, 255);">因此,佳實踐是在FB內(nèi)部使用局部變量或靜態(tài)變量來進行計算和保存狀態(tài)。局部變量僅在FB的當前調(diào)用中有效,而靜態(tài)變量則在FB的調(diào)用之間保持它們的值。這樣,您可以確保您在FB內(nèi)部使用的值是可控和可預(yù)測的。
inkMacSystemFont, "segoe ui", Roboto; padding: 0px; margin-top: 0px; margin-bottom: 0px; color: rgb(51, 51, 51); font-size: 12px; text-wrap: wrap; background-color: rgb(255, 255, 255);">總的來說,為了避免邏輯錯誤和不確定性,應(yīng)避免在功能塊內(nèi)部讀取輸出變量。相反,應(yīng)該使用其他類型的變量來處理內(nèi)部邏輯,并在邏輯處理完成后,將終結(jié)果賦值給輸出變量。這樣做可以確保功能塊的行為是清晰和一致的。