書香伴侶
級別: 略有小成
![]() |
用C#開發(fā)的232串口通訊與PLC進行讀寫,每隔200MS讀一次,讀完之后休眠200MS ,在休眠過程中寫入數(shù)據(jù)是可以的,但是在讀取的時候?qū)懭霐?shù)據(jù)就會報錯,請大神指教。 |
---|---|
|
tudou0117
級別: 略有小成
![]() |
寫入讀的指令,延時100ms再寫入寫一個指令,串口有一個響應(yīng)時間的。 |
|
---|---|---|
|
不小心遇見你
自動項目、PLC、視覺、通訊等工控軟件開發(fā)QQ3515716
級別: 工控俠客
![]() ![]() |
肯定了 串口就是讀的時候不能寫 寫的時候不能讀 就像單行道一樣 ![]() 樓主留言:單行道也行,我可以在讀取休眠時間去寫啊,但是鑒于寫入是隨機的,就會引發(fā)報錯啊 |
|
---|---|---|
|
linmaker
優(yōu)質(zhì)的視覺檢測產(chǎn)品,源于用心,止于至善
級別: 家園常客
![]() |
在我們的智能相機與PLC鏈接,包含不斷讀取寄存器,讀取心跳,發(fā)送結(jié)果等一系列交互,都是在上層并行,串口層在不停地處理各類指令。200ms的間隙?那肯定搞不定這樣的交互。 以上處理過程使用Qt來做,應(yīng)用了Qt的signal & slot機制,因此不存在寫的同時又讀。接收數(shù)據(jù)到了,自動對應(yīng)slot處理。類似回調(diào)函數(shù),C#也有類似的機制,就是事件。樓主可以再看看。 |
|
---|---|---|
|