自動化行業(yè)越來越偏向于軟件行業(yè)。
隨著智能制造的發(fā)展,上位機(jī)在自動化領(lǐng)域的占有率越來越高,同時,很多企業(yè)對上位機(jī)的需求和要求也越來越高。
我們可以看到很多行業(yè)的細(xì)分市場,不同廠商的差異化主要是軟件的差異,很多廠家使用同樣的硬件,但是開發(fā)不同的軟件功能,形成不同的產(chǎn)品,這類的軟件可以統(tǒng)稱為上位機(jī)。
那么上位機(jī)開發(fā)的核心是什么?
這個問題一些自控同行曾探討過,有很多人說是C#編程或通信協(xié)議,但是昌暉儀表不這么認(rèn)為。昌暉儀表覺得上位機(jī)開發(fā)的核心是工藝和業(yè)務(wù)。大家如果做過一些中大型的上位機(jī),你會發(fā)現(xiàn)更多的精力主要是集中在定制功能、工藝要求、流程梳理和用戶體驗(yàn)上,而通信只是一個敲門磚而已。
并不是通信不重要,只是通信不是核心,核心是業(yè)務(wù)。
很多時候我們的上位機(jī)是需要對接很多設(shè)備的,比如PLC對接、I/O設(shè)備對接、掃碼追溯、相機(jī)采集、MES對接、第三方軟件對接等等,如何將這些設(shè)備聯(lián)合起來,實(shí)現(xiàn)我們的自動化流程,這是上位機(jī)軟件的核心。
通信的重要性在于通信相當(dāng)于基礎(chǔ)建設(shè),沒有基礎(chǔ)建設(shè),談何空中閣樓?
為什么說通信不是核心呢?因?yàn)橥ㄐ攀枪袒?,只要學(xué)會了,就可以一直重復(fù)使用,并且逐步形成框架。唯有變化的東西,才是核心的東西。
通信
但是我們在學(xué)習(xí)通信之前,需要先學(xué)習(xí)編程語言,編程語言相當(dāng)于工具,當(dāng)你有了工具,你就可以去干活了。
有了編程語言,有了通信協(xié)議,我們就可以去開發(fā)通信驅(qū)動,實(shí)現(xiàn)與各種下位機(jī)之間的通信,才可以拿到下位機(jī)中的一些數(shù)據(jù)。
有了這些數(shù)據(jù),我們就可以利用這些數(shù)據(jù)做文章,根據(jù)用戶的需求,開發(fā)出讓客戶滿意的上位機(jī)軟件。
通信應(yīng)該如何去學(xué)習(xí)?
現(xiàn)在自控領(lǐng)域的通信協(xié)議種類繁多,導(dǎo)致很多人一下子慌了神,不知道從何學(xué)起,大家都知道語言之間是相通的,其實(shí)各種通信協(xié)議之間也是有相似之處的,選擇其中一種協(xié)議,認(rèn)真去研究,深度去剖析,這樣即可觸類旁通。
應(yīng)用
上位機(jī)通信會分兩個層次,一種叫通信測試,一種叫通信應(yīng)用。
所謂通信測試,就是我們可以通過代碼讀取到變量數(shù)據(jù),可以寫入變量數(shù)據(jù),驗(yàn)證通信的可行性。
所謂通信應(yīng)用,就是如何集成到項(xiàng)目中進(jìn)行開發(fā)應(yīng)用,如何結(jié)合多線程及數(shù)據(jù)類型轉(zhuǎn)換,實(shí)現(xiàn)項(xiàng)目級開發(fā)。
前者是通信庫的功能,后者在實(shí)際項(xiàng)目開發(fā)中才會有所體現(xiàn)。
當(dāng)通信應(yīng)用到一定層面后,必然會形成框架。所謂框架,就是對固化和重復(fù)的代碼進(jìn)行封裝,基于框架開發(fā),會大大提高開發(fā)效率,同時降低出錯的概率。
共有訪客發(fā)表了評論
網(wǎng)友評論