這個圈里的是通訊過程中傳送的Asc碼,包含了PLc的站號地址、指令、起始符等內(nèi)容,具體要看你的PLc通訊協(xié)議。通訊與開關(guān)量是兩回事,你得補習下與通訊相關(guān)的內(nèi)容。
創(chuàng)新互聯(lián)建站是一家專注于成都網(wǎng)站制作、成都網(wǎng)站設(shè)計與策劃設(shè)計,富平網(wǎng)站建設(shè)哪家好?創(chuàng)新互聯(lián)建站做網(wǎng)站,專注于網(wǎng)站建設(shè)10多年,網(wǎng)設(shè)計領(lǐng)域的專業(yè)建站公司;建站業(yè)務(wù)涵蓋:富平等地區(qū)。富平做網(wǎng)站價格咨詢:13518219792
12601, 轉(zhuǎn)換成16進制是3139,16進制 ASC嗎31對應(yīng)字符1, 39對應(yīng)9。 后面的用這個思路去轉(zhuǎn)換就對上了。
0001 2569這兩個應(yīng)該是和格式相關(guān)的字符。0001一般就是開始的意思。
一個變量包含兩個字符,轉(zhuǎn)換算法如下。
1。 取高位字符,除以H100, H是VB中16進制表示法。 除以H100效果是右移8位。 位了保險起見,再和H00FF做與運算,保證取得的ASC碼是合法的。
2。取低位字符,與H00FF做與運算,去掉高位數(shù)據(jù),剩下的就是低位ASC碼。
3。將ASC碼轉(zhuǎn)換為字符,用CHR函數(shù)即可,然后連接所有的字符即可得String
讀取的是什么PLC? CCLINK一般做不到你提出的這個需求的。
VB.NET中是可以監(jiān)控PLC中的數(shù)據(jù)的,要知道PLC的通訊協(xié)議就可以監(jiān)控了。
a = (":010612000020C70D0A")'這里肯定有問題
括號必須在引號里面,不然編譯不過的
你的問題是沒有發(fā)送確認符,一般串口指令末尾都有換行確認符vbCr,下位機接收到vbCr后才認為是一條完整指令,改成下面的試驗
Dim a As String = ":010612000020C70D0A" vbCr