已閱讀5頁,還剩4頁未讀, 繼續(xù)免費(fèi)閱讀
版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡介
東莞圖冠智能科技有限公司,陳安標(biāo)交流QQ:458362670,PC與三菱PLC之間的RS232通訊協(xié)議,一、VC與PLC的串口通訊主要操作:1、對(duì)位元件和字元件狀態(tài)讀操作;操作對(duì)象元件:PLC內(nèi)部的X、Y、M、S、T、C、D元件命令通用格式:STXCMD0ADDLENEXTCHK意義:起始符讀命令元件起始位個(gè)數(shù)停止符校驗(yàn)碼數(shù)字代碼格式:0X020X300X030 x30是讀操作指令;ADD是讀位元件或字元件的4位起始地址,高位先發(fā),低位后發(fā),以ASCII碼的格式發(fā)送;LEN是一次讀取位元件或字元件的個(gè)數(shù),最多可以讀取0 xff個(gè)字節(jié)的元件,也是以ASCII碼的形式發(fā)送;CHK是兩位和校驗(yàn),將CMD0,ADD,LEN,EXT三項(xiàng)進(jìn)行和累計(jì),將和累計(jì)的最低兩位轉(zhuǎn)化成ASCII,高位先發(fā),低位后發(fā)。在發(fā)完上述命令格式代碼后,就可以直接讀取PLC響應(yīng)返回的信息,響應(yīng)信息格式:STXDATAEXTCHK意義:起始符接收的數(shù)據(jù)停止符校驗(yàn)碼數(shù)字代碼格式:0 x020 x03DATA為我們需要讀取的數(shù)據(jù);需要注意的是:讀取DATA數(shù)據(jù)時(shí)遵循低位先發(fā),高位后發(fā)的原則,所以我們解析數(shù)據(jù)的時(shí)候需要注意高低位的轉(zhuǎn)換。CHK則為DATA,EXT兩項(xiàng)的和累計(jì)的最后兩位轉(zhuǎn)化為ASCII。,2、位元件和字元件狀態(tài)寫操作;操作對(duì)象元件:PLC內(nèi)部的XYMSTCU元件命令通用格式:STXCMD1ADDLENDATAEXTCHK意義:起始符讀命令元件起始位個(gè)數(shù)寫入的數(shù)據(jù)停止符校驗(yàn)碼數(shù)字代碼格式:0X020X310X030 x031是寫操作指令;DATA是待寫入PLC緩沖區(qū)的數(shù)據(jù),低位先發(fā),高位后發(fā),以ASCII碼的形式發(fā)送;其他和讀指令一樣,此處不再重復(fù);發(fā)送后返回值為06,表示寫入成功;返回值為15,表示寫入失?。?二、IPC讀取PLC內(nèi)部數(shù)據(jù)時(shí):首先將需要讀取的PLC內(nèi)部元件的地址找到,主要內(nèi)部元件地址如下:D:m_address*2+1000H;T:m_address+00C0H;C:m_address*2+01C0H;S:m_address*3;M:m_address*2+0100H;Y:m_address+00A0H;X:m_address+0080H;(只能讀不能寫,輸入寄存器必須由外部信號(hào)驅(qū)動(dòng))m_address元件是指最低位開始后的第N個(gè)元件的位置。數(shù)據(jù)通訊舉例:例1:讀D0的值D0的內(nèi)部地址為1000H=31H30H30H30HLEN表示我們需要讀字節(jié)的個(gè)數(shù),0-7為一個(gè)字節(jié),D0占兩個(gè)字節(jié),所以LEN=30H32H.計(jì)算CHK校驗(yàn)碼=CMD0+ADD+LEN+EXT=30H+31H+30H+31H+30H+30H+32H+03H=157H所以校驗(yàn)碼為35H37H.得到完整的數(shù)字命令格式為:02H30H31H30H30H30H30H32H03H35H37H將這段數(shù)字代碼發(fā)送給PLC,返回代碼:02H30H30H30H30H03H43H33H得到數(shù)據(jù)段DATA為30H,31H,30H,30H=0001B(低位先發(fā),高位后發(fā))=1D至此得到D0=1.完成IPC讀取PLC內(nèi)部數(shù)據(jù)的全部過程。,IO通訊舉例:例2:讀取Y1的值Y1的內(nèi)部地址是00A0=30H30H41H30H,表示的意思是Y7-Y0的地址,Y1只是其中的一個(gè)位。LEN因?yàn)?0A0只有一個(gè)字節(jié),所以可以去LEN=01D=30H31H;計(jì)算CHK校驗(yàn)碼=36H35H;得到完成的數(shù)字代碼為:02H30H30H30H41H30H30H31H03H36H35H;返回代碼:02H30H32H03H36H35H數(shù)據(jù)段為:30H32H=02D=0010B從Y7-Y0低往高排列可以知,Y1現(xiàn)在是狀態(tài)值為1;如果這里取LEN=2D=30H32H發(fā)送代碼:02H30H30H30H41H30H30H32H03H36H36H;返回代碼:02H30H32H30H30H03H43H35H數(shù)據(jù)段為:30H32H30H30H=0002B(低位先發(fā),高位后發(fā))=2D從Y7-Y0低往高排列可以知,Y1現(xiàn)在是狀態(tài)值為1;注意:全部過程中,PLC內(nèi)部程序不需要做任何程序編寫。,三、PLC讀取IPC數(shù)據(jù)時(shí):數(shù)據(jù)通訊舉例:例1:PLC讀取IPC內(nèi)部參數(shù)X的值。思路:1、先將X的值轉(zhuǎn)化成數(shù)字代碼形式。2、再講X的值發(fā)送寫入PLC內(nèi)部數(shù)據(jù)寄存器中;3、然后PLC直接讀取這個(gè)數(shù)據(jù)寄存器的數(shù)據(jù)。設(shè):X=2;數(shù)據(jù)寫入PLC內(nèi)部數(shù)據(jù)寄存器D0中則DATA=X=2=0010H=31H30H30H30H(低位先發(fā),高位后發(fā));ADD=31H30H30H30H;LEN=02D=30H32H.;(D為10進(jìn)制;H為16進(jìn)制)CHK=CMD1+ADD+LEN+DATA+EXT;=31H+31H+30H+30H+30H+30H+32H+31H+30H+30H+30H+03H=218H則校驗(yàn)碼為:31H38H完整的數(shù)字代碼為:02H31H31H30H30H30H30H32H31H30H30H30H03H31H38H返回值為06表示寫入成功,PLC直接讀取D0里面的數(shù)據(jù)即可。完成PLC讀取IPC數(shù)據(jù)。當(dāng)然這只是即時(shí)的讀取,如果需要可控性的話,需要增加自定義讀取和發(fā)送標(biāo)志位,多加個(gè)數(shù)據(jù)用來表示控制字節(jié)用。,IO通訊舉例:例2:IPC置位PLC內(nèi)部位元件Y1思路:1、確定Y1地址(讀操作已說明);2、就于寫入的原理,需要先讀取00A0的值;3、將讀取的值與0010進(jìn)行寫入數(shù)據(jù):00A0表示的是Y7-Y08個(gè)位,需要Y1為1,寫入00000010B=02H,但是LEN為2,表示2個(gè)字節(jié),所以需要寫入0002H轉(zhuǎn)化為30H32H30H30H(低位先發(fā),高位后發(fā));完整代碼:02H31H30H30H41H30H30H32H30H32H30H30H03H32H39H返回:06寫入成功。,四、數(shù)據(jù)通訊VC代碼編寫分析實(shí)例:例1:將IPC端3個(gè)數(shù)據(jù):X=1003.5;Y=-4500;Z=-3.1456寫入PLC中代碼編寫步驟:1、將XYZ分別轉(zhuǎn)化成整數(shù),然后保存其小數(shù)位數(shù),這里將XYZ分別都乘以10的N次方,直到其不在-32767-32767范圍后分別保存乘以10的個(gè)數(shù)在N1,N2,N3中;從而得到X=10035;N1=1;Y=-4500;N2=0;Z=31456;N3=4;2、將X、Y、Z、N1、N2、N3分別轉(zhuǎn)換成16進(jìn)制;3、再轉(zhuǎn)化為16進(jìn)制ASCII碼;4、將得到的16進(jìn)制ASCII碼按照X、N1、Y、N2、Z、N3的順序排列進(jìn)counts35數(shù)組中;5、計(jì)算校驗(yàn)碼;6、將數(shù)據(jù)counts35每個(gè)數(shù)轉(zhuǎn)化為對(duì)應(yīng)的兩個(gè)ASCII碼值保存于counts_ascii70中;例如:“35”轉(zhuǎn)化為“3”和“5”;7、將ASCII碼轉(zhuǎn)化為字符串代碼保存于a270,累加排列輸出;例如:“3”的字符串代碼為48+3=51;8、返回值06,表示寫入成功。,例2:讀取PLC內(nèi)部數(shù)據(jù)X、Y、Z的值(讀取D0-D5的數(shù)據(jù))代碼編寫步驟:(思路與上例一樣)1、將固定讀取的數(shù)字代碼發(fā)送給PLC,固定讀取D0-D5的數(shù)字代碼為:02H30H31H30H30H30H30H43H03H36H37H2、發(fā)送成功后,則有數(shù)據(jù)信息反饋;不成功則返回15;3、將返回的窗口輸出字符串依次保存在字符串?dāng)?shù)組chars184中;4、將數(shù)組s1轉(zhuǎn)化為數(shù)字保存在數(shù)據(jù)b中;類似:字符串?dāng)?shù)字51=“3”;5、將數(shù)組b轉(zhuǎn)為16進(jìn)制ASCII,再轉(zhuǎn)化為10進(jìn)制保存在數(shù)組c中;例如:“3”“5”=3*10+5=35;再如:35H=5D;6、將數(shù)組c轉(zhuǎn)為2進(jìn)制,方便判斷正負(fù)數(shù)和后期運(yùn)算,保存在數(shù)值c2中;7、判斷正負(fù)數(shù),設(shè)立
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 2025年度出口企業(yè)出口貨物報(bào)關(guān)單據(jù)與憑證管理合同3篇
- 二零二五年餐飲項(xiàng)目合伙經(jīng)營合同范本3篇
- 2025年度智能化工廠租賃合同涉及土地使用權(quán)及配套設(shè)施4篇
- 二零二四年臨時(shí)工勞動(dòng)保障與勞動(dòng)法實(shí)施合同3篇
- 專屬2024版企業(yè)人力外包協(xié)議樣本版B版
- 2024鋁合金門窗生產(chǎn)與安裝一體化工程合同3篇
- 2025年度企業(yè)級(jí)“師帶徒”人才孵化項(xiàng)目合同3篇
- 專業(yè)勞務(wù)派遣協(xié)議樣本2024版B版
- 街道黨工委知識(shí)培訓(xùn)課件
- 2025年度商務(wù)辦公空間租賃安全合同文本4篇
- 專題6.8 一次函數(shù)章末測試卷(拔尖卷)(學(xué)生版)八年級(jí)數(shù)學(xué)上冊(cè)舉一反三系列(蘇科版)
- GB/T 4167-2024砝碼
- 老年人視覺障礙護(hù)理
- 《腦梗塞的健康教育》課件
- 《請(qǐng)柬及邀請(qǐng)函》課件
- 中小銀行上云趨勢(shì)研究分析報(bào)告
- 遼寧省普通高中2024-2025學(xué)年高一上學(xué)期12月聯(lián)合考試語文試題(含答案)
- 青海原子城的課程設(shè)計(jì)
- 常州大學(xué)《新媒體文案創(chuàng)作與傳播》2023-2024學(xué)年第一學(xué)期期末試卷
- 麻醉蘇醒期躁動(dòng)患者護(hù)理
- 英語雅思8000詞匯表
評(píng)論
0/150
提交評(píng)論