西門(mén)子PLC如何編程
閱讀:1064 發(fā)布時(shí)間:2022-12-8
當(dāng)用戶(hù)了解了西門(mén)子plc程序的結(jié)構(gòu)后,就可以針對(duì)不同的控制對(duì)象與所選擇的PLC型號(hào),根據(jù)實(shí)際情況選擇PLC程序的結(jié)構(gòu)框架,并著手進(jìn)行西門(mén)子plc程序的設(shè)計(jì)工作。
程序設(shè)計(jì)與系統(tǒng)硬件設(shè)計(jì)、系統(tǒng)調(diào)試密切相關(guān)。軟件設(shè)計(jì)階段所需要的控制要求、操作界面、PLC型號(hào)、I/O地址等都必須在硬件設(shè)計(jì)階段已經(jīng)完成;而程序的輸入與編輯、程序檢查、程序調(diào)試等工作需要在程序編輯與系統(tǒng)調(diào)試階段完成。
對(duì)于簡(jiǎn)單的PLC程序,也可以直接通過(guò)PLC的編輯軟件,在編輯軟件上同時(shí)完成程序的設(shè)計(jì)與輸入過(guò)程。
1.選擇程序結(jié)構(gòu)
作為西門(mén)子plc編程軟件設(shè)計(jì)的第一步,首先需要確定的是PLC程序的基本結(jié)構(gòu)體系。程序結(jié)構(gòu)體系由如下兩方面因素決定:
?、偎褂玫腜LC型號(hào)。PLC型號(hào)從客觀上規(guī)定了可以采用程序結(jié)構(gòu),如:當(dāng)PLC選擇為S7-200時(shí),只能選擇線性化結(jié)構(gòu)或主一子程序的結(jié)構(gòu)形式:當(dāng)選擇的PLC為S7-300/400時(shí)可以采用線性化結(jié)構(gòu)、調(diào)用式結(jié)構(gòu)或結(jié)構(gòu)化編程。
?、诳刂葡到y(tǒng)的要求。如果控制系統(tǒng)的要求較簡(jiǎn)單,PLC程序的長(zhǎng)度不大,出于簡(jiǎn)化調(diào)試、減少程序設(shè)計(jì)工作量等方面的考慮,采用線性化結(jié)構(gòu)可以省略編寫(xiě)程序塊、功能塊、數(shù)據(jù)塊、局部變量等工作,提高編程的速度。如果控制系統(tǒng)較復(fù)雜,程序所占的容量較大,為了使得程序便于分段閱讀與調(diào)試,可以考慮采用調(diào)用式結(jié)構(gòu)( S7-300/400)與主一子程序結(jié)構(gòu)(S7-200);如果控制系統(tǒng)十分龐大,程序異常復(fù)雜,或是系統(tǒng)相類(lèi)似的控制要求較多,在S7-300/400上可以?xún)?yōu)先考慮采用結(jié)構(gòu)化編程。
2.建立程序文件
建立程序文件包括編寫(xiě)I/O地址表、定義符號(hào)地址、編寫(xiě)程序說(shuō)明等內(nèi)容,其目的是為程序設(shè)計(jì)提供方便。
在S7中,一般是直接利用編程軟件,通過(guò)編程軟件的“符號(hào)表編輯器”對(duì)“符號(hào)地址表(SymbolTable)”的編寫(xiě),一次性完成I/O地址、符號(hào)地址、數(shù)據(jù)格式、注釋等全部工作。
3.編輯邏輯塊
在選定了程序的基本結(jié)構(gòu)體系與完成符號(hào)表的編輯后,即可著手進(jìn)行PLC程序中各類(lèi)邏輯塊的編輯。
邏輯塊的編輯包括了編寫(xiě)邏輯控制程序與定義程序變量?jī)刹糠謨?nèi)容。
邏輯控制程序可以通過(guò)梯形圖、功能塊圖,指令表等方法編寫(xiě):程序變量應(yīng)通過(guò)“變量聲明表”建立與明確(內(nèi)容見(jiàn)本節(jié)后述),對(duì)于線性結(jié)構(gòu)的PLC程序也可以不使用變量與變量表。
如果采用的是線性結(jié)構(gòu),只需要直接編寫(xiě)組織塊OBl;如果選擇的是分塊式結(jié)構(gòu),則應(yīng)首*行FC、FB等基本邏輯塊的編制,最后才能編寫(xiě)組織塊。通過(guò)編程軟件輸入程序時(shí),同樣應(yīng)該遵守這一原則,因?yàn)?,如果基本邏輯塊未編制完成,在OB1中將無(wú)法確定邏輯塊所需要的賦值參數(shù),在輸入邏輯塊調(diào)用指令時(shí)將引起出錯(cuò)。