西門子smart變量表 在S7-200smart子程序中創(chuàng)建一個帶參數(shù)的子程序,為什么變量表中的符號正常的,程序中就變非法的?
在S7-200smart子程序中創(chuàng)建一個帶參數(shù)的子程序,為什么變量表中的符號正常的,程序中就變非法的?進入子例程后,系統(tǒng)為臨時變量分配存儲地址。子例程被調用后,系統(tǒng)不會清除這些分配的地址,而是直接將它
在S7-200smart子程序中創(chuàng)建一個帶參數(shù)的子程序,為什么變量表中的符號正常的,程序中就變非法的?
進入子例程后,系統(tǒng)為臨時變量分配存儲地址。子例程被調用后,系統(tǒng)不會清除這些分配的地址,而是直接將它們交給下一個子例程。一般來說,就像客房一樣,系統(tǒng)不會為下一個租戶清理,所以如果下一個租戶直接使用系統(tǒng)會出現(xiàn)問題。因此,程序員需要遵循同樣的原則:臨時變量:先賦值,然后使用它們。
200smart符號表和變量表區(qū)別?
采用西門子S7-200智能符號表作為主程序,對程序中的符號進行解釋。變量表主要用于子程序中。
西門子PLC如何在主程序,寫入調用子程序的命令?
既然你說的主程序和子程序,通常是指西門子200 PLC,我就用micro/win軟件操作來解釋。
創(chuàng)建子例程時,子例程會出現(xiàn)在“調用子例程”樹目錄中,如我紅框出的sbr0是系統(tǒng)默認值,打開軟件會自動存在一個子例程!SBR1是我昨天使用向導設置的一個PID指令子例程。
還應強調的是,在西門子200 PLC中,許多指令不能直接連接到左側的總線。必須有聯(lián)系指示。我在這里使用的sm0.0是一個聯(lián)系指令,它總是在我啟動時就連接起來。如果,這里不使用聯(lián)系指令,那么編譯時將報告一個錯誤
!許多命令需要一個contact命令才能連接到左側總線,但有幾個命令是不需要的,這在我的一些文章中可能會提到。編譯時會有提示,所以不要太在意
!僅此而已。我希望它能幫助你。謝謝您
s7-200如何建立一個帶參數(shù)的子程序?
S7-200子程序的參數(shù)包括輸入?yún)?shù)、輸出參數(shù)和輸入/輸出參數(shù)。例如,如果我將VD100傳輸?shù)阶映绦蛑械膮^(qū)域內變量LD0,則此LD0為輸入?yún)?shù);如果我將子程序中的區(qū)域外變量LD8傳輸?shù)絭d200,則此LD8為輸出參數(shù);如果vd300與子程序中的區(qū)域內變量LD0相關聯(lián),則此ld4為輸出參數(shù),vd300和ld4可以同時更改。也就是說,如果子程序中l(wèi)d4的值發(fā)生變化,vd300也會發(fā)生變化。這里的“傳輸”和“關聯(lián)”指的是主程序中的子程序調用,而不是上圖中的MOV和其他傳輸指令。所有帶參數(shù)的子程序在子程序調用中都有輸入或輸出或輸入/輸出參數(shù)。無參數(shù)是指沒有上述參數(shù)。一般來說,它是一個帶有參數(shù)的程序,就像圖中的程序一樣。我建議不要這樣用。在子程序中引用全局變量不是很標準
首先,在“編輯”菜單下,插入一個新的子程序并切換到該子程序。此時,局部變量參數(shù)的編輯區(qū)將出現(xiàn)在子程序上方,用in、out等填寫變量名稱并選擇相應的數(shù)據(jù)類型。寫一個好的子程序。如果將子例程拖到編輯區(qū)域中,您將找到需要在子例程調用指令中填充參數(shù)的區(qū)域。輸入:外部輸入數(shù)據(jù)。輸出:子程序計算后發(fā)送給外界的數(shù)據(jù)。輸入輸出:先從外部輸入數(shù)據(jù),子程序計算后返回原地址。Temp:子程序的局部變量,不與外界交換數(shù)據(jù)。
s7-200如何建立一個帶參數(shù)的子程序?
感謝您的邀請!PLC編程中變量太多。如何規(guī)劃地址并使其易于記憶?首先,讓我們看一下PLC中表示變量的軟組件,主要包括輸入x、輸出y、輔助繼電器m、定時器T、計數(shù)器C、狀態(tài)s、數(shù)據(jù)寄存器D、XY。一般來說,有40點和60點的小型可編程邏輯控制器很少。這可以根據(jù)輸入輸出的類型來規(guī)劃,主要是區(qū)分高速輸入、高速輸出、普通不占。
輔助繼電器m有兩種類型,普通繼電器和斷電繼電器??筛鶕?jù)需要選擇。在規(guī)劃地址時,程序或功能塊使用連續(xù)的m,從數(shù)字0、10、20等開始,中間有一部分作為補充。例如,本節(jié)使用M206,下一節(jié)從M210或M220開始。對于并行輸出,LD M72或M82或M92輸出Y1,這樣編號的最終統(tǒng)一內存也方便我們在最終調試時查看。
計時器有不同的時間單位,如1ms、10ms、100ms,還有常用類型和累積類型。也可根據(jù)需要選擇。與m一樣,它可以根據(jù)使用地點規(guī)劃地址號碼。計數(shù)器可分為普通計數(shù)器和高速計數(shù)器、16位計數(shù)器和32位計數(shù)器。也可根據(jù)需要確定。一般來說,高速計數(shù)器的使用是固定的,而相應的輸入端有一個固定的計數(shù)器。
此外,為了方便記憶,我們還可以使用標簽來標記軟件變量,而不需要注釋。例如,x0的標簽是開始,Y0的標簽是指示燈。以后我們可以直接用“LD origin out indicator light”來表示LD x0 out Y0,比較方便。PLC中的每個變量都可以用標簽聲明。