电竞比分网-中国电竞赛事及体育赛事平台

分享

西門子S7-200 SMART全局變量和局部變量,編寫帶參數(shù)子程序并調用

 hhx1975 2019-03-26

本篇我們來介紹西門子S7-200 SMART的全局變量和局部變量,以及如何在編程軟件STEP7-Micro/WIN SMART中編寫帶參數(shù)子程序并調用。我們先來介紹一下什么是全局變量和局部變量。符號表中定義的變量又稱為全局變量,在所有的POU中都有效,在變量表中定義的變量稱為局部變量,只在創(chuàng)建它的POU內部有效。

全局變量和局部變量

局部變量可以用作傳遞到子程序的參數(shù),增加子程序的通用性和可移植性。在變量表中定義局部變量的符號和數(shù)據(jù)類型。變量類型分為兩種,一種是形式參數(shù),用來在子程序和調用它的程序之間傳遞數(shù)據(jù),另一種是臨時變量,只用來在子程序執(zhí)行時暫存數(shù)據(jù)。

局部變量的符號和數(shù)據(jù)類型

形式參數(shù)IN是調用程序提供的輸入?yún)?shù),OUT是返回到調用程序的輸出參數(shù),IN_OUT該參數(shù)值由調用程序提供,由子程序修改然后再返回到調用程序,形式參數(shù)在調用子程序時被實際參數(shù)代替。局部變量的數(shù)據(jù)都存儲在L存儲器中,地址自動分配,所有POU共用64個字節(jié)的L存儲器,一個POU執(zhí)行完畢后釋放,其它POU執(zhí)行時重復使用。在程序中用符號尋址變量時,全局變量的符號直接顯示,局部變量的前面帶有#號以示區(qū)別。

局部變量的表示方法

編寫帶參數(shù)子程序并調用。以溫度轉換程序為例,將主程序中溫度轉換程序剪切到子程序中,或者直接在子程序中輸入溫度轉換程序,然后在變量表中定義局部變量,該子程序有兩個形式參數(shù),包括一個輸入?yún)?shù)和一個輸出參數(shù),有兩個臨時變量,也可以不定義臨時變量符號直接使用L存儲器絕對地址,將程序段中的全局地址改為局部變量增強其通用性,方便移植。

定義局部變量

可以看到局部變量符號前帶有#號,右鍵點擊子程序標簽,打開對話框,將其重命名為溫度轉換,也可以設置密碼保護,只允許調用,程序代碼不可見不可編輯,單擊確定按鈕,這樣帶參數(shù)的子程序就編寫完成了。

子程序重命名

回到主程序,展開指令樹的調用子例程文件夾,選擇溫度轉換拖放到編程區(qū)域,該子程序以指令塊的形式顯示,包含了變量表中定義的形式參數(shù),IN參數(shù)在左側,OUT參數(shù)在右側,對形式參數(shù)賦值相應的實際參數(shù),在AI_IN處輸入地址AIW20,在T_Value處輸入VD0,使能端插入一個常開觸點SM0.0作為子程序調用條件,這樣通過調用帶參數(shù)的子程序編寫的模擬量轉換程序就編寫完成了,最后保存項目。

調用帶參數(shù)子程序

下載并測試,將項目編譯下載到PLC,啟動程序狀態(tài)持續(xù)監(jiān)視,可以看到程序將AIW20中的數(shù)值轉換成了對應的溫度值。

下載并測試程序

    本站是提供個人知識管理的網(wǎng)絡存儲空間,所有內容均由用戶發(fā)布,不代表本站觀點。請注意甄別內容中的聯(lián)系方式、誘導購買等信息,謹防詐騙。如發(fā)現(xiàn)有害或侵權內容,請點擊一鍵舉報。
    轉藏 分享 獻花(0

    0條評論

    發(fā)表

    請遵守用戶 評論公約

    類似文章 更多