優(yōu)秀的可編程邏輯控制器(PLC)程序員,在編寫代碼時(shí)應(yīng)始終為用戶著想,努力為其編寫最適合實(shí)際情況的代碼。
一個(gè)好的可編程邏輯控制器(PLC)程序員,心間應(yīng)始終想著最終用戶的需求,并編寫可理解和可復(fù)用的代碼。使用有效的方法和實(shí)踐將使程序員和用戶的生活更輕松。每個(gè)程序員都應(yīng)該知道這7個(gè)技巧,以充分利用PLC和控制系統(tǒng)。
01
實(shí)施模塊化系統(tǒng)
在模塊化的PLC系統(tǒng)中,可以使用幾個(gè)附加模塊來提供整體的靈活性。因?yàn)槟K易于更換,模塊化的PLC系統(tǒng)還具有可擴(kuò)展性,能夠容納更多的I/O設(shè)備,更容易排除故障,并且由于模塊可以很容易地被替換,所以系統(tǒng)總體上更快。
PLC程序應(yīng)以合理的方式組織,例如將每個(gè)設(shè)備分開,并使用可復(fù)用且易于理解的結(jié)構(gòu)。當(dāng)使用模塊化的結(jié)構(gòu)時(shí),程序員可以對(duì)同一類型的所有設(shè)備進(jìn)行修改,而不是對(duì)每個(gè)設(shè)備進(jìn)行修改。
保持代碼的模塊化,可以讓各方了解每一段代碼的功能。例如,如果有一個(gè)堆棧燈,則驅(qū)動(dòng)它的代碼來自堆棧燈結(jié)構(gòu),而不是模式塊。
02
按照客戶要求來組織代碼
程序員需要分析最終用戶的需求,并利用標(biāo)準(zhǔn)化的代碼來滿足用戶需求。這為維護(hù)團(tuán)隊(duì)和支持人員提供了標(biāo)準(zhǔn)的布局和結(jié)構(gòu),以便他們能夠方便地理解和支持日常設(shè)備。
最終用戶可以指定PLC的編程環(huán)境,以與設(shè)施中的設(shè)備類型保持一致,確保所有功能正常工作。在項(xiàng)目的開發(fā)階段,程序員應(yīng)復(fù)用為現(xiàn)有接口開發(fā)的任何標(biāo)準(zhǔn)代碼塊或其它代碼。盡管程序員可能需要更長的時(shí)間來熟悉并應(yīng)用這些代碼塊,但最終用戶對(duì)這些代碼已經(jīng)熟悉了,比起學(xué)習(xí)一個(gè)新的界面,他們可以更容易地支持它。
03
選擇最合適的語言
程序員并不總是能使用“最佳”的語言來實(shí)現(xiàn)應(yīng)用程序;他們必須滿足最終用戶的要求。如上所述,客戶團(tuán)隊(duì)需要每日處理工廠的設(shè)備,如果他們不熟悉所使用的編程語言,也就無法對(duì)其進(jìn)行有效的支持,那么當(dāng)設(shè)備出現(xiàn)故障時(shí),程序員很可能在凌晨兩點(diǎn)接到求助電話。
IEC 61131提供了可在生產(chǎn)環(huán)境中通用的編程語言。不同制造商的編程語言可能是專有的,但內(nèi)容大同小異。區(qū)別在于特定功能,例如搜索或排序例程。與諸如結(jié)構(gòu)化控制語言(SCL)之類的高級(jí)語言相比,帶有“for”或“while”循環(huán)的搜索或排序例程,在梯形邏輯中并沒有那么容易操作。同樣的功能,在SCL中代碼可能只需要幾行,但在梯形邏輯中可能需要10到15行。
04
了解數(shù)據(jù)處理需求
在控制器中需要處理哪些數(shù)據(jù)?如果系統(tǒng)需要一個(gè)制造執(zhí)行系統(tǒng)(MES),但實(shí)際上并沒有,這將給PLC存儲(chǔ)、保留和管理數(shù)據(jù)帶來巨大的負(fù)擔(dān)。這些功能應(yīng)由外部PC來承擔(dān)。
如果用戶有配方控制系統(tǒng),根據(jù)配方的大小,數(shù)據(jù)分析的主要工作應(yīng)由PC而不是PLC承擔(dān)。如果存在間歇性搜索例程或高負(fù)載例程,則需要增加掃描時(shí)間,這可能會(huì)導(dǎo)致錯(cuò)過傳感器數(shù)據(jù)。這些情況會(huì)對(duì)PLC的運(yùn)行方式產(chǎn)生重大影響。
05
確保對(duì)代碼進(jìn)行良好的注釋
確保對(duì)代碼進(jìn)行良好的注釋。顯然,程序員在編寫代碼時(shí)了解代碼的細(xì)節(jié)和復(fù)雜性,但數(shù)周或數(shù)月后在站點(diǎn)調(diào)用代碼進(jìn)行故障排除時(shí),用戶可能已經(jīng)不熟悉代碼了。如果代碼中有特殊、不常見的內(nèi)容,那么額外的注釋可以幫助下一位程序員理解:為什么代碼看起來不像預(yù)期的那樣。這可以防止未來的程序員為了 “修復(fù) ”代碼而進(jìn)行修改,從而可能會(huì)造成更糟糕的情況。
06
標(biāo)準(zhǔn)化故障消息
在對(duì)系統(tǒng)進(jìn)行編程時(shí),確保所有故障信息都是有針對(duì)性的,并且實(shí)現(xiàn)同類設(shè)備信息的標(biāo)準(zhǔn)化。如果傳感器可能以某種方式發(fā)生故障,請(qǐng)確保該系統(tǒng)中所有傳感器的故障配置方式都相同。類似地,攝像機(jī)或連接到PLC的任何類型的設(shè)備也有其特定的故障模式。詢問最終用戶他們遇到過哪些故障模式,并為這些可能的突發(fā)事件做好計(jì)劃。
07
使軟件環(huán)境與PLC品牌相匹配
為確保最大的穩(wěn)定性并避免任何意外問題,如果可能的話,請(qǐng)盡量使用PLC制造商推薦的運(yùn)行環(huán)境。這將使代碼和應(yīng)用體驗(yàn)盡可能無縫銜接。
在整個(gè)編程過程中始終為最終用戶著想,并遵循這些簡單的技巧,將獲得更高的效率、更好的穩(wěn)定性和用戶體驗(yàn)。
關(guān)鍵概念:
■當(dāng)使用模塊化的結(jié)構(gòu)時(shí),程序員可以對(duì)同一類型的所有設(shè)備進(jìn)行修改。
■PLC 程序員應(yīng)了解數(shù)據(jù)處理需求,并確保代碼有良好的注釋。
審核編輯:劉清
-
控制器
+關(guān)注
關(guān)注
112文章
16361瀏覽量
178069 -
plc
+關(guān)注
關(guān)注
5011文章
13297瀏覽量
463374 -
可編程邏輯
+關(guān)注
關(guān)注
7文章
515瀏覽量
44086 -
可編程邏輯控制器
+關(guān)注
關(guān)注
4文章
266瀏覽量
25941
原文標(biāo)題:一個(gè)優(yōu)秀的PLC程序員都應(yīng)知道的7個(gè)編程技巧
文章出處:【微信號(hào):控制工程中文版,微信公眾號(hào):控制工程中文版】歡迎添加關(guān)注!文章轉(zhuǎn)載請(qǐng)注明出處。
發(fā)布評(píng)論請(qǐng)先 登錄
相關(guān)推薦
評(píng)論