技術(shù)頻道

娓娓工業(yè)
您現(xiàn)在的位置: 中國傳動網(wǎng) > 技術(shù)頻道 > 技術(shù)百科 > PLC串口自由協(xié)議通訊例程

PLC串口自由協(xié)議通訊例程

時間:2024-03-11 09:59:54來源:深圳市雷賽智能控制股份有限公司

導(dǎo)語:?自由協(xié)議通訊也稱無協(xié)議通訊,需要根據(jù)對方設(shè)備的通訊數(shù)據(jù)格式編寫一個臨時協(xié)議,雖然隨著標準協(xié)議(Modbus,USS等)的普及,自由協(xié)議通訊應(yīng)用越來越少

  自由協(xié)議通訊也稱無協(xié)議通訊,需要根據(jù)對方設(shè)備的通訊數(shù)據(jù)格式編寫一個臨時協(xié)議,雖然隨著標準協(xié)議(Modbus,USS等)的普及,自由協(xié)議通訊應(yīng)用越來越少,但是對于一些小的設(shè)備如掃碼槍、LCD顯示屏等,由于沒有集成標準通訊協(xié)議,所以只能選用自由協(xié)議通訊。以下例程是基于MC532(同平臺其它系列使用方法相同) PLC的RS232及RS485硬件端口與電腦串口調(diào)試助手(用于模擬串口設(shè)備)的自由協(xié)議通信例程說明。

  MC532 PLC端設(shè)置及程序編寫

  1、添加通訊功能庫

  左鍵雙擊【庫管理器】—左鍵單擊【添加庫】,搜索【Serial Communication】,單擊【確定】即可添加完成。

雷賽智能

雷賽智能

  2、創(chuàng)建如圖所示的變量

雷賽智能

  3、調(diào)用如圖所示的功能塊

雷賽智能

  4、編寫如圖所示程序 ①調(diào)用COM.Open,此功能塊為打開串口;變量usiListLength為變量pParameterList的數(shù)據(jù)長度(根據(jù)后續(xù)介紹可知,數(shù)據(jù)長度為7);變量pParameterList為指針變量,指針地址指向結(jié)構(gòu)體COM.PARAMETER的數(shù)組aParamsB115200,數(shù)組包含了udiPort,udiValue(波特率)、udiBaudrate,udiValue(端口號) 、 udiParity,udiValue(校驗) 、 udiStopBits,udiValue(停止位) 、udiTimeout,udiValue(超時時間) 、udiByteSize,udiValue(數(shù)據(jù)位)及udiBinary,udiValue(二進制參數(shù),啟用二進制模式)7種關(guān)于串口的參數(shù),相關(guān)的變量創(chuàng)建直接參照下列庫文件中的例程,再對參數(shù)進行設(shè)置;變量hCom為結(jié)構(gòu)體CAA.HANDLE數(shù)據(jù)類型,獲取通訊句柄;②udiPort,udiValue:波特率,此次例程設(shè)置波特率為115200;udiBaudrate,udiValue:端口號,2PLC的RS232端口為COM2,第一個RS485端口為COM0,第二個RS485端口為COM1,因此可根據(jù)使用不同硬件端口進行賦值;udiParity,udiValue:校驗類型(奇校驗、偶校驗或無校驗),此次例程設(shè)置偶校驗,賦值COM.PARITY.EVEN ;udiStopBits,udiValue:停止位( ONESTOPBIT/ONE5STOPBIT/TWOSTOPBIT ),此次例程設(shè)置為ONESTOPBIT;udiTimeout,udiValue:超時時間,此次例程設(shè)置成500ms;udiByteSize,udiValue:數(shù)據(jù)位,此次例程設(shè)置成8;udiBinary,udiValue:二進制參數(shù),采取默認值設(shè)置成1即可;設(shè)置完成后由于pParameterList為指針類型,則填入ADR(aParamsB115200)即可;

雷賽智能

雷賽智能

雷賽智能

  ③調(diào)用COM.Write,此功能塊為串口發(fā)送數(shù)據(jù);變量udiTimeout超時時間,此次例程設(shè)置為500ms;變量hCom為結(jié)構(gòu)體CAA.HANDLE數(shù)據(jù)類型,為通訊句柄,可從Com.Open中的輸出變量hCom獲取;pBuffer為指針類型,數(shù)據(jù)指向串口發(fā)送數(shù)據(jù)緩存的地址,本例程設(shè)置寫入數(shù)值變量為BYTE類型的byWriteData,因此本例程填入ADR(byWriteData);szSize 為寫入數(shù)據(jù)長度,此次例程設(shè)置為10個BYTE數(shù)據(jù)長度,因此填入10;④調(diào)用COM.Read,此功能塊為串口讀取數(shù)據(jù);變量udiTimeout超時時間,此次例程設(shè)置為500ms;變量hCom為結(jié)構(gòu)體CAA.HANDLE數(shù)據(jù)類型,為通訊句柄,可從Com.Open 中的輸出變量 hCom獲取;pBuffer為指針類型,數(shù)據(jù)指向串口讀取數(shù)據(jù)緩存的地址,本例程設(shè)置寫入數(shù)值變量為BYTE類型的byReadData,因此本例程填入ADR(byReadData);szBuffer為從串口緩存讀取數(shù)據(jù)的大小,此次例程設(shè)置為10個BYTE數(shù)據(jù)長度,因此填入10;⑤調(diào)用COM.Close,此功能塊為關(guān)閉串口;變量hCom為結(jié)構(gòu)體CAA.HANDLE數(shù)據(jù)類型,為通訊句柄,可從Com.Open中的輸出變量hCom獲取。

  打開串口助手,設(shè)置相關(guān)參數(shù)

  1、打開計算機管理,查看計算機串口端口號(本次例程使用USB轉(zhuǎn)串口,端口號為COM4)

雷賽智能

  2、打開串口助手軟件(大家可自行在網(wǎng)絡(luò)上搜索購買,使用方法基本類似)并設(shè)置相關(guān)參數(shù)

  【端口】COM4(計算機端口號);【波特率】115200;【數(shù)據(jù)位】8;【校驗位】E偶;【停止位】1;左鍵單擊選擇【輸入 HEX】及【顯示HEX】,設(shè)置以16進制數(shù)據(jù)類型進行寫入及顯示;左鍵單擊【打開串口】即可。

雷賽智能

  PLC與電腦端做數(shù)據(jù)發(fā)送及讀取

  1、PLC發(fā)送數(shù)據(jù),電腦端讀取數(shù)據(jù)

  觸發(fā)COM.Open打開串口端口,對byWriteData賦值十進制數(shù)65(16進制為0x41)后觸發(fā)COM.Write,可見電腦端可讀取PLC發(fā)送的數(shù)值。

雷賽智能

  2、電腦端發(fā)送數(shù)據(jù),PLC端讀取數(shù)據(jù)

  通過串口助手發(fā)送16進制數(shù)值0x86;觸發(fā)COM.Open打開串口端口,關(guān)閉串口數(shù)據(jù)寫入功能塊,觸發(fā)COM.Read 功能塊,可成功讀取16進制數(shù)值0x86(十進制為134)

雷賽智能

雷賽智能

雷賽智能

-END-

標簽: 雷賽智能

點贊

分享到:

上一篇:便攜儲能的新市場在汽柴油發(fā)...

下一篇:用了變頻器就節(jié)能了嗎?變頻...

中國傳動網(wǎng)版權(quán)與免責(zé)聲明:凡本網(wǎng)注明[來源:中國傳動網(wǎng)]的所有文字、圖片、音視和視頻文件,版權(quán)均為中國傳動網(wǎng)(m.u63ivq3.com)獨家所有。如需轉(zhuǎn)載請與0755-82949061聯(lián)系。任何媒體、網(wǎng)站或個人轉(zhuǎn)載使用時須注明來源“中國傳動網(wǎng)”,違反者本網(wǎng)將追究其法律責(zé)任。

本網(wǎng)轉(zhuǎn)載并注明其他來源的稿件,均來自互聯(lián)網(wǎng)或業(yè)內(nèi)投稿人士,版權(quán)屬于原版權(quán)人。轉(zhuǎn)載請保留稿件來源及作者,禁止擅自篡改,違者自負版權(quán)法律責(zé)任。

網(wǎng)站簡介|會員服務(wù)|聯(lián)系方式|幫助信息|版權(quán)信息|網(wǎng)站地圖|友情鏈接|法律支持|意見反饋|sitemap

傳動網(wǎng)-工業(yè)自動化與智能制造的全媒體“互聯(lián)網(wǎng)+”創(chuàng)新服務(wù)平臺

網(wǎng)站客服服務(wù)咨詢采購咨詢媒體合作

Chuandong.com Copyright ?2005 - 2024 ,All Rights Reserved 深圳市奧美大唐廣告有限公司 版權(quán)所有
粵ICP備 14004826號 | 營業(yè)執(zhí)照證書 | 不良信息舉報中心 | 粵公網(wǎng)安備 44030402000946號