8255842
級(jí)別: 探索解密
精華主題: 0
發(fā)帖數(shù)量: 3 個(gè)
工控威望: 122 點(diǎn)
下載積分: 497 分
在線時(shí)間: 19(小時(shí))
注冊(cè)時(shí)間: 2013-01-20
最后登錄: 2024-04-29
查看8255842的 主題 / 回貼
樓主  發(fā)表于: 2013-04-10 20:51
關(guān)于VB的MSComm串口接收兩次,Time事件 10分



如下:(1)和(2)單獨(dú)用按鈕命令可以正常執(zhí)行..用Timer1執(zhí)行1和Timer2執(zhí)行2,收回來(lái)的數(shù)據(jù)就很亂..把(1)(2)都寫到Timer1下面下,收回來(lái)的數(shù)據(jù)也亂..是不是輸入輸出緩沖區(qū)兩個(gè)混亂

Private Sub Timer1_Timer() '時(shí)鐘事件,間隔設(shè)定Interval毫秒就執(zhí)行一次

(1)DIM SENTDATA AS STRING,,Dim getdata
MSComm1.InBufferCount = 0 '清空接收緩沖區(qū)
MSComm1.OutBufferCount = 0 '清空發(fā)送緩沖區(qū)
MSComm1.Output = 讀取數(shù)據(jù)指令
Do
DoEvents
Loop Until MSComm1.InBufferCount >= 20 'PLC應(yīng)該返回8個(gè)字符 固定的4+2*N
'一個(gè)起始符+一個(gè)寄存器(有兩個(gè)字節(jié))(每個(gè)字節(jié)=2字符)+一個(gè)結(jié)束符+兩個(gè)校驗(yàn)和
getdata = MSComm1.Input
Text1.Text = getdata ''返回的低字節(jié)在前,高在后

(2)Dim sendat As String,,Dim getdat
MSComm1.InBufferCount = 0
MSComm1.OutBufferCount = 0
MSComm1.Output =讀取數(shù)據(jù)指令
Do
DoEvents
Loop Until MSComm1.InBufferCount >= 8
getdat = MSComm1.Input
Text4.Text = getdat ''返回的低字節(jié)在前,高在后
liuqiang2012
慎言慎行,三思而后行!
級(jí)別: 家園常客
精華主題: 0
發(fā)帖數(shù)量: 304 個(gè)
工控威望: 505 點(diǎn)
下載積分: 967 分
在線時(shí)間: 549(小時(shí))
注冊(cè)時(shí)間: 2012-06-08
最后登錄: 2024-10-30
查看liuqiang2012的 主題 / 回貼
1樓  發(fā)表于: 2013-04-12 08:53
我做過(guò)一個(gè)讀三菱的PLC的VB程序,用時(shí)間同樣出這樣的問(wèn)題,問(wèn)別人原因說(shuō)是用TIMER事件接收與發(fā)送的時(shí)候產(chǎn)生了沖突.....
搞工控不自學(xué)不行,因?yàn)槟阋惶觳粚W(xué)你就落后了,這就是這個(gè)行業(yè)的特點(diǎn)
oyiwiw
級(jí)別: 略有小成
精華主題: 0
發(fā)帖數(shù)量: 113 個(gè)
工控威望: 267 點(diǎn)
下載積分: 555 分
在線時(shí)間: 81(小時(shí))
注冊(cè)時(shí)間: 2007-10-21
最后登錄: 2024-06-03
查看oyiwiw的 主題 / 回貼
2樓  發(fā)表于: 2013-04-14 15:57
在電腦上裝上三菱的MX C0MPEMT軟件,在VB中找到相應(yīng)的控件來(lái)做通訊非常方便,可以批量讀取PLC的M、X、Y的狀態(tài),也可以直接將數(shù)值寫入到PLC的數(shù)據(jù)寄存器里。
poorwer
級(jí)別: 略有小成
精華主題: 0
發(fā)帖數(shù)量: 277 個(gè)
工控威望: 485 點(diǎn)
下載積分: 1387 分
在線時(shí)間: 225(小時(shí))
注冊(cè)時(shí)間: 2008-07-26
最后登錄: 2021-01-19
查看poorwer的 主題 / 回貼
3樓  發(fā)表于: 2013-04-14 21:11
你發(fā)送什么命令?校驗(yàn)碼那些對(duì)不對(duì)?亂那些又是返回那些信息?
manjialin
專業(yè)工業(yè)控制軟件開(kāi)發(fā)!
級(jí)別: 略有小成
精華主題: 0
發(fā)帖數(shù)量: 144 個(gè)
工控威望: 334 點(diǎn)
下載積分: 718 分
在線時(shí)間: 110(小時(shí))
注冊(cè)時(shí)間: 2008-11-28
最后登錄: 2020-08-26
查看manjialin的 主題 / 回貼
4樓  發(fā)表于: 2013-04-14 22:38
直接把X轉(zhuǎn)成M然后讀,不就可以解決了么?