1.有一台三菱ROBOT之前用DOS系統CPU p133傳還蠻順 用CPU PIII 1G
傳送或接收一直出問題 因為DOS畫面會出亂碼 因此想該成用VB寫
可是資料超過15行左右就會出問題 好像PLC與PC傳輸也有這樣的問題
2.把RS232的2.3腳短路由txtSend.text傳 txtReceive.text收
資料較多時後面資料部分無法收到 應該是MSComm1 buffer 的問題
不知各位前輩如何解決 thanks 1,2問題程式如下:
Private Sub CmdSend_Click()
Comm1.Output = Trim(UCase(txtSend.Text)) & vbCr
TimeDelay 2000
txtReceive.Text = Comm1.Input
End Sub
Private Sub Form_Load()
Dim buf$
Comm1.PortOpen = True
Comm1.RTSEnable = True
TimeDelay 1000
End Sub
傳送或接收一直出問題 因為DOS畫面會出亂碼 因此想該成用VB寫
可是資料超過15行左右就會出問題 好像PLC與PC傳輸也有這樣的問題
2.把RS232的2.3腳短路由txtSend.text傳 txtReceive.text收
資料較多時後面資料部分無法收到 應該是MSComm1 buffer 的問題
不知各位前輩如何解決 thanks 1,2問題程式如下:
Private Sub CmdSend_Click()
Comm1.Output = Trim(UCase(txtSend.Text)) & vbCr
TimeDelay 2000
txtReceive.Text = Comm1.Input
End Sub
Private Sub Form_Load()
Dim buf$
Comm1.PortOpen = True
Comm1.RTSEnable = True
TimeDelay 1000
End Sub
文章標籤
全站熱搜

此問題我也有遇過,問題是出在副程式TimeDelay的問題,想必此副程式中也是使用了Do Doevents Loop,但我個人發現此副程式的啟動時和真實的時間有誤差,以人的角度看來是沒有,但以機台的角度看來就有了很大的誤差,因程式是指令送出後才計算時間,但是機台一收到指令後就回送訊號,所以會有時間的誤差,以上是個人在實務中得到的感想,提供一下有誤請指正
真正的問題是收的問題 改用ms_oncom的方式收就不會出現了
使用ms_oncom是沒錯,但還要加密和解密的時間會影響,因PLC是被動的,它是一問一答的方式,在加上加解密計算程式又無法多工會有這樣的問題,所以我的作法為寫一個dll檔專給它使用
我的做法是預先計算好接收資料時間,然後用ms_oncom的方式來接收並判斷資料格式的正確性。以這種方式來避免接收時間過長或資料錯誤的問題。 提供一下實做感想,有錯誤請指正。