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