西門子plc子程序局部變量介紹
西門子plc的程序結構是構成PLC程序的各種網絡(網絡)或“功能塊”的組織和管理形式。 西門子plc無論plc控制系統有多復雜,西門子plc程序編輯量基本編程指令的集合。 設計者可以根據控制對象的各個部分的不同要求,通過使用基本指令,創建相應的程序網絡(網絡)或由多個網絡組成的簡單“功能塊”。在此基礎上,只要這些程序網絡或功能塊按照S7程序指定的格式按照plc控制系統的動作要求進行排列和組合,就可以形成完整的PLC程序。
1、西門子plc的程序結構S7-200 過程映像輸入/輸出(I/Q),可變存儲器V,內部存儲器位M,定時器T,計數器C等是全局變量,S7-200的程序組織單元(POU)包括主程序,子程序和中斷程序。相反,全局變量可用于每個POU。
以下是子例程可以使用的局部變量:
1)TEMP(臨時變量)是臨時存儲在本地數據區域中的變量。僅在執行POU時,才使用定義的臨時變量。執行POU后,不再保存臨時變量的值。
2)IN是調用子程序提供的輸入參數。
3)OUT是返回給調用的輸出參數。
4)IN_OUT是一個input_output參數,其初始值由調用它的POU傳送到子程序,并將子程序的執行結果返回給使用相同變量調用它的POU。臨時變量temp通常用于中斷程序的局部變量。這些制造商的程序員為設備的每個組件或過程函數編寫了大量通用子程序。通過程序之間的通話,這就像使用數字集成電路芯片來形成復雜的數字電路。 如果子例程中沒有局部變量,則它只能通過調用它的程序與全局變量交換數據。只能在子程序中使用全局變量。
將子例程和中斷移植到其他項目時,需要重新排列它們使用的全局變量,以確保沒有地址沖突。當程序點數非常多時,子程序和中斷程序重新分配地址的工作量非常大。 如果子例程和中斷例程具有局部變量,并且它們僅在內部使用局部變量,則它們不使用全局變量。由于與其他POU沒有地址沖突,因此您可以將子例程遷移到其他項目而不進行任何更改。
臨時變量temp通常用于中斷程序的局部變量。具有輸入、輸出參數和局部變量的子程序實現結構化編程,這些制造商的程序員為設備的每個組件或過程函數編寫了大量通用子程序。調用的子程序即使你不知道子程序的源程序,但要知道程序的功能和輸入輸出參數的含義,你就可以快速“捕獲”滿足不同用戶需求的控制程序。它們沒有專用的內存區域,臨時變量中的數據是根據函數執行結束而定的。
西門子plc全局變量可用于保存函數執行完畢后需要保存的數據,但會影響函數的可移植性,功能塊是由用戶用其自己的專用存儲區域(即,背景數據塊)寫入的程序塊。功能塊的輸入,輸出參數和靜態變量存儲在指定的實例數據塊中,臨時變量存儲在本地數據堆棧中,后臺數據塊中的數據不會丟失,但本地數據堆棧中的數據不會丟失保存,功能塊采用C ++的概念 - 就像封裝一樣,它封裝了程序和數據,非常便于攜帶。
- 上一篇:西門子plc控制器在企業工廠生產線的應用
- 下一篇:英威騰變頻器在污水處理方面的應用
標題:西門子plc子程序局部變量介紹 地址:http://www.511997.cn/hangye/3377.html