選擇合適的控制器及其相應(yīng)的編程軟件,有助于提高控制器的編程效率。先進(jìn)的控制器正越來越多地通過采用自上而下的方法和以設(shè)備為中心的概念來簡化編程。
可以基于應(yīng)用類型來選擇可編程邏輯控制器(PLC)或其它類型的控制器,但是在選擇時(shí),應(yīng)考慮到隨附的控制器編程軟件平臺(tái)的能力,因?yàn)檫@將對快速和高效的編碼有很大的影響。
打開軟件開發(fā)平臺(tái),創(chuàng)建新項(xiàng)目,利用控制器自帶的編程軟件包,從零開始編寫梯形代碼。這種方法要求進(jìn)行動(dòng)態(tài)配置,效率有時(shí)不如其它方法。但是,某些控制器編程軟件平臺(tái)能夠提供更高的效率。通過設(shè)計(jì),這些平臺(tái)引導(dǎo)開發(fā)人員,按照正確的步驟開發(fā)軟件,可以減少編程所需的工作量。
一種集成了兩方面優(yōu)勢的方法:自上而下的組態(tài)和以設(shè)備為中心的概念,可以實(shí)現(xiàn)更高效的編程(見圖1)。在配置PLC項(xiàng)目時(shí),自上而下的組態(tài)通過展示哪些是需要的,哪些是不需要的,為程序員提供了一個(gè)清晰的路徑,上述工作都是通過菜單驅(qū)動(dòng)的選擇。以設(shè)備為中心的概念使設(shè)備可以在“幕后”處理公共功能,從而解放執(zhí)行這些任務(wù)的編程人員。
自上而下的配置
對于某些控制器而言,使用自上而下的方法可以簡化配置(見表1)。在該表中,任務(wù)按優(yōu)先級排序,列表中的每一項(xiàng)取決于該項(xiàng)或其上各項(xiàng)。例如,CPU配置之下的所有內(nèi)容都取決于CPU的配置方式。串口和端口類型、以太網(wǎng)輸入/輸出(I/O)等主站選項(xiàng)和服務(wù)器選項(xiàng)(如Modbus/TCP和EtherNet/IP顯式報(bào)文等),通常是CPU配置期間可用的配置選項(xiàng)。這些選擇為CPU配置下的部分或全部項(xiàng)目添加必要的參數(shù)。
按照適當(dāng)?shù)捻樞騺砼渲每刂破?,有助于后續(xù)步驟的順利實(shí)施,簡化并實(shí)現(xiàn)軟件的自動(dòng)化開發(fā)。例如,將CPU配置為Modbus RTU客戶端,僅提供合適的參數(shù)來配置后續(xù)的項(xiàng)目,從而簡化后續(xù)步驟。
以設(shè)備為中心的概念
有序配置所實(shí)現(xiàn)的開發(fā)效率,直接導(dǎo)致以設(shè)備為中心的概念的出現(xiàn)。利用這些概念,梯形圖代碼可以與中間設(shè)備進(jìn)行通信,而不是直接與硬件本身通信(見圖2)。中間設(shè)備類似于PC上的打印機(jī)驅(qū)動(dòng)程序,其中驅(qū)動(dòng)程序(設(shè)備)處理所有底層細(xì)節(jié),因此程序員可以向打印機(jī)發(fā)送數(shù)據(jù),而不必?fù)?dān)心打印機(jī)的程序設(shè)計(jì)。
圖2:以設(shè)備為中心的方法,利用設(shè)備來處理硬件接口的底層細(xì)節(jié),可以簡化編程。
程序員可以將設(shè)備看作傳感器、編碼器、I/O模塊、變頻器、EtherNet / IP模塊、遠(yuǎn)程機(jī)架或類似的硬件部件。在以設(shè)備為中心的控制器中,這些設(shè)備就是程序和硬件之間的替代代碼。采用這個(gè)方法可以對設(shè)備進(jìn)行配置,并且處理控制器對硬件控制的細(xì)節(jié),例如建立通信協(xié)議、信號(hào)交換和定義存儲(chǔ)器要求。大部分硬件細(xì)節(jié)都是通過每個(gè)設(shè)備的配置來處理,而不是通過控制器編程來處理的。
配置完成之后
一旦配置完成,程序指令就會(huì)與設(shè)備進(jìn)行通信,而不是直接與硬件通信。該指令使用定義的內(nèi)存、信號(hào)交換和在設(shè)備配置期間創(chuàng)建的內(nèi)存標(biāo)志。指令還可以使用位和整數(shù)進(jìn)行邏輯決策直接與內(nèi)存“對話”。例如 ,該指令可以執(zhí)行數(shù)學(xué)功能,并將浮點(diǎn)數(shù)計(jì)算結(jié)果存儲(chǔ)在內(nèi)存中。
類似串行的設(shè)備,也可直接與存儲(chǔ)器通信。當(dāng)數(shù)據(jù)流入或流出串口時(shí),設(shè)備會(huì)處理內(nèi)存中的緩沖和狀態(tài)標(biāo)志。該裝置處理幕后細(xì)節(jié),使編程以設(shè)備為中心,所有其它一切都圍繞設(shè)備運(yùn)轉(zhuǎn)。
服務(wù)器也可以被認(rèn)為是一個(gè)設(shè)備。服務(wù)器在后臺(tái)運(yùn)行,直接與硬件通信,在硬件和內(nèi)存之間移動(dòng)數(shù)據(jù)。Modbus TCP就是服務(wù)器的一個(gè)實(shí)例。它執(zhí)行的功能,大多數(shù)情況下都在控制器程序之外,但控制器可以訪問服務(wù)器。
讓設(shè)備發(fā)揮效率
無論所選硬件的復(fù)雜程度如何,設(shè)備都應(yīng)該能在硬件和控制器程序之間提供簡潔、統(tǒng)一的界面。每個(gè)設(shè)備的設(shè)置方式都是相同的,例如Modbus / RTU或通用串行端口,方法是遵循自上而下的配置步驟。
一個(gè)典型的應(yīng)用程序,比如箱子轉(zhuǎn)向器,包含幾個(gè)必須控制的硬件。該應(yīng)用程序可以包括編碼器,以使分流門與不同的箱子長度同步,電機(jī)由變頻器控制,條碼閱讀器掃描被傳送的箱子以確定目的地。需要輸入和輸出來檢監(jiān)測傳感器、以定位箱子,并控制氣壓驅(qū)動(dòng)器,比如提升裝置。
正如箱子轉(zhuǎn)向器應(yīng)用程序所展示的,將幾個(gè)不同的自動(dòng)化硬件,通過硬件組件及其所需的定義設(shè)備,連接到同一個(gè)PLC上,這并不少見。然而,在這種情況下,一個(gè)具有自上而下配置和以設(shè)備為中心的概念的控制器,很快就可以完成配置工作,而且其中大部分工作都是自動(dòng)完成的。
如果控制器缺少板載高速輸入,則高速計(jì)數(shù)器模塊可用于編碼器正交脈沖信號(hào)的計(jì)數(shù)。此模塊不是CPU配置的一部分,但它在第二步即I/O配置中自動(dòng)出現(xiàn)。然后,第三步采用默認(rèn)值,為出現(xiàn)的模塊自動(dòng)填充所需的參數(shù)。任何配置編輯任務(wù)都可以在這一步實(shí)現(xiàn)。PLC將自動(dòng)處理新增模塊的I/O映射,并創(chuàng)建所需的映像寄存器地址。
控制器的以太網(wǎng)端口可以與變頻器通信。作為CPU配置步驟的一部分,從配置列表的頂部開始,啟用主以太網(wǎng)I/O。這需要在I/O配置中創(chuàng)建一個(gè)輸入,可以對其進(jìn)行IP配置和其它通信選項(xiàng)。由于其它參數(shù)(如I/O映射)都已經(jīng)自動(dòng)完成,因此正常情況下就不需要進(jìn)行更多配置。
控制器的串行端口,利用簡單的ASCII文本字符串與條形碼掃描儀進(jìn)行通信。在CPU配置期間,進(jìn)行通用串行總線的配置,可以識(shí)別該端口,包括諸如波特率和硬件協(xié)議(如RS-232)的設(shè)置。不需要I/O和模塊配置,只要提供預(yù)先配置的接口訪問系統(tǒng)資源,就可以自動(dòng)完成設(shè)備的配置。內(nèi)存配置步驟自動(dòng)為設(shè)備分配內(nèi)存。
可采用多點(diǎn)離散輸入、輸出模塊用于對傳感器和氣動(dòng)系統(tǒng)進(jìn)行監(jiān)測和控制。這些模塊的配置方法類似。這些設(shè)備中的某些選項(xiàng)很容易設(shè)置,而另外一些選項(xiàng)則比較復(fù)雜,但都使用相同的方法。配置從列表頂部開始,逐行向下,只填寫在現(xiàn)有步驟中未自動(dòng)定義的參數(shù)。
有效的指令
如圖2所示,可以快速配置自上而下和以設(shè)備為中心的控制器編程平臺(tái)。具有這類編程軟件的控制器通常還提供更有效的功能,如比例-積分-微分(PID)回路和運(yùn)動(dòng)控制模塊。
PID回路有成千上萬的用途,所以沒有一個(gè)普遍適用的解決方案。有些控制器選擇有限,但另一些控制器則改進(jìn)了PID指令,以通過獨(dú)立、模塊化、互換、實(shí)時(shí)的配置方法來提高效率,滿足應(yīng)用程序的需求。
效率提升,一部分得益于PID回路分解為較小模塊。不是將所有PID參數(shù),例如過濾器、縮放、斜坡表和報(bào)警處理器嵌入到同一個(gè)PID指令中,而是使用獨(dú)立的指令來訪問單個(gè)參數(shù),以簡化這些控制算法的定制。這些指令還包括用于顯示的趨勢圖,便于了解控制回路的響應(yīng)情況,并幫助進(jìn)行最初的調(diào)節(jié)和故障排除。
運(yùn)動(dòng)控制指令,可以遵循類似的方法,可根據(jù)指令的復(fù)雜程度,細(xì)分為不同的層次。簡單的運(yùn)動(dòng)指令,用最基本的運(yùn)動(dòng)命令,輔以少量配置,就可以快速完成應(yīng)用配置。中級運(yùn)動(dòng)指令,則需要提供更多的用戶定義參數(shù)。高級指令,則使選擇或創(chuàng)建客戶運(yùn)動(dòng)路徑成為可能,而這只需要一個(gè)簡單的配置過程。
先進(jìn)的控制器正越來越多地通過采用自上而下的配置方法和以設(shè)備為中心的概念來簡化編程。 通過適當(dāng)?shù)呐渲茫刂破鬈浖绦蚝陀布g的大部分設(shè)備接口可以自動(dòng)且高效地完成工作,而無需編寫代碼。 更快的配置導(dǎo)致快速的編程,而且隨著各種可用指令的增加,這一點(diǎn)得到了增強(qiáng)。
評論
查看更多