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