VB與PLC通訊程序教學(xué)
為什么要學(xué)習(xí)編制VB與PLC通訊程序,學(xué)會編制VB與PLC通訊程序有什么用呢?
簡單地說:省成本!
小型的控制系統(tǒng)觸摸屏即可勝任,5.7寸的屏價(jià)格不一。便宜也就一千多點(diǎn),這個(gè)時(shí)候用VB做PLC的上位機(jī)控制系統(tǒng)當(dāng)然是不合算。當(dāng)控制系統(tǒng)要求上位機(jī)與PLC的通訊量很大時(shí),觸摸屏已經(jīng)不能勝任了,需要用到組態(tài)軟件。組態(tài)軟件確實(shí)是好東西,但是我們小家小業(yè)的,還是省著點(diǎn)好。
此時(shí)VB就派上用場,用VB在電腦上編制一套PLC通訊程序,如果我們的腦力勞動暫不計(jì)成本的話,一臺電腦幾千元基本就搞定了上位機(jī)與PLC的通訊。
怎么才能學(xué)會用VB編制PLC的上位機(jī)通訊程序呢?
1、買一個(gè)VB6.0中文企業(yè)版的軟件(VC,DELPHI,VB三合一的光盤也不過二十元左右)
2、買本VB入門基礎(chǔ)書,邊看邊練習(xí)做些小程序(別不舍得花錢,網(wǎng)上雖然可以下載,但是看起來并不方便,影響您的學(xué)習(xí)進(jìn)度)
3、VB看幾天就可以了,VB與PLC通訊只需要應(yīng)用幾個(gè)簡單的VB控件而已。如文本框用來讀、寫PLC寄存器的值,按鈕用來置、復(fù)位PLC位元件,文字標(biāo)簽用來顯示PLC位元件的ON、OFF狀態(tài),三個(gè)控件應(yīng)用就可以學(xué)會編制VB與PLC通訊程序了。您先學(xué)會了VB與PLC通訊方法,后期您再努力學(xué)好VB。(真正用到工程上,VB要學(xué)很長時(shí)間呢)
4、查找一些有關(guān)通訊方面的書籍翻翻,了解一下通訊格式是怎么回事。比如說波特率,停止位,開始位,校驗(yàn)位,數(shù)據(jù)位?床欢疀]關(guān)系,先記住這些概念,在學(xué)習(xí)編制VB與PLC通訊程序的過程中您會理解這些(實(shí)踐是最好的老師)
5、找一些別人做好的VB與PLC通訊程序看,別幻想您自己做出來,除非您基礎(chǔ)雄厚,時(shí)間也雄厚(時(shí)間是金錢,參考是捷徑。)
6、找一個(gè)朋友幫忙指導(dǎo),還是不要幻想自己看懂找到的VB與PLC通訊程序,除非您基礎(chǔ)雄厚,時(shí)間也雄厚(好學(xué)生也需要進(jìn)學(xué)校學(xué)習(xí),聽課比自學(xué)學(xué)得好又快是真理。)
7、學(xué)懂了VB與PLC通訊的原理與程序編制方法后,千萬別因滿足而停止,動手去編制自己的VB與PLC通訊程序。在編制過程中才會發(fā)現(xiàn)新的問題,解決問題的過程才是真正進(jìn)步的過程(學(xué)而不思則罔,思而不學(xué)則貽。手腦并用是老孔這句話的含義嗎?)
8、個(gè)人認(rèn)為初學(xué)編制VB與PLC通訊程序還是應(yīng)用MSCOMM32串行通訊控件比較好,雖然現(xiàn)在有很多專用通訊控件,在VB上應(yīng)用起來很方便,但是用得再熟悉也是熟練工而已(MSCOMM32串行通訊控件是需要您自己動手編制通訊程序的,根據(jù)相關(guān)的協(xié)議一條條編制,協(xié)議理解不透,就可能通訊不暢。)
9、也許您現(xiàn)在或是以后都不會用VB編制與PLC的通訊程序,感覺學(xué)習(xí)編制VB與PLC通訊程序沒什么用處。以我的體會是,學(xué)習(xí)V編制VB與PLC通訊程序目的是真正理解和掌握通訊的原理(您以后再聽到那些can總線、modbus通訊、PROFIBUS總線絕對不會再頭痛)。
10、學(xué)習(xí)編制VB與PLC通訊程序,在編制過程中還可以深入理解PLC的程序掃描周期(經(jīng)常有人問,在上位機(jī)對PLC某個(gè)位元件進(jìn)行置/復(fù)位操作,為什么有時(shí)候可以,有的時(shí)候不可以?)。
寫出以上十點(diǎn)的目的:廣告是也!您如果想學(xué)編制VB與PLC的通訊程序,又不想花太多的學(xué)費(fèi),用太多的時(shí)間。那么請來找我,俺本事不大,但是讓您短期速成還是沒問題。(此速成非拔苗助長也!沒有PLC應(yīng)用經(jīng)驗(yàn)的學(xué)生五六天也學(xué)會了,何況您!)
網(wǎng)上有很多開源的VB與PLC通訊程序,但是大多源碼都是側(cè)重講解通訊原理,并沒有注重講解如何才能編制出可靠、通訊速度快的程序!按照目前開源的PLC與VB通訊程序的方法,編制單純的置/復(fù)位、寫寄存器通訊或是單純的讀寄存器值(位元件狀態(tài))是沒問題的,但如果編制大量點(diǎn)數(shù)的通訊程序(實(shí)時(shí)讀取許多寄存器值,間或?qū)、?復(fù)位元件),則會出現(xiàn)通訊速度慢,偶爾通訊不正常(讀取的寄存器值亂變!存儲到數(shù)據(jù)庫的值突然大了許多或是小了許多,起不到數(shù)據(jù)分析作用。)等現(xiàn)象. (初學(xué)時(shí)深受其苦,用其方法編制程序經(jīng)常受到使用者的投訴,現(xiàn)在投訴沒有了!)