請教關于串口通訊的數據處理的問題,謝謝(100分)

K

kpcbk

Unregistered / Unconfirmed
GUEST, unregistred user!
高手們,請教一下關于串口數據采集上來如何顯示和保存的問題啊,情況是這樣的,比如我上位機發送16進制指令下去下位機,下位機回來了16進制的數據,比如是:01 02 03 ,代表地址是1的設備,返回來2號寄存器的內容,內容是3,我一直往下位機發送一些指令,我用SPCOMM控件做的,那么SPCOMM的那個接受事件就會有數據啊,想請問下,這么多的設備發回來不同寄存器的數據,我想有實時顯示和定時保存的這樣2個功能啊,我看了一些文章把這些數據先放在一個數組里面來暫時保存,又看到有些直接放在一個數據庫的表中,作為實時數據表,想請問下,這樣的數據一般處理起來的方法和步驟是怎樣啊?(一個設備有多個寄存器的數據,有多個這樣的設備),是不是這些判斷都是在SPCOMM的那個接收事件里面來判斷區分啊啊?請高手指教指教,無限感激。
 
本人菜鳥一個,還請高手們能詳細詳細回答,無限感激,謝謝,謝謝
 
頂一下,繼續請教。。
 
采用轮询方式吧,发送一个指令,处理一个接受,然后再访问下一个
 
你好,謝謝你的回答,小弟不才,可否詳細說說處理的方法啊,或者貼段代碼也可以,謝謝
 
如果采集的速度不快,可以开个采集线程,采集一次数据,显示及保存,然后采集下一次。。。
如果采集速度快,来不及保存,可以用FIFO结构,开两个线程,一个线程采集,一个线程显示及保存。保存数据的线程不断检索FIFO,有数据就处理。
一点浅见,仅供参考
 
你好,謝謝回答,還是很模糊啊,好像SPCOMM的串口發送跟接收都是兩個不同的線程了吧,FIFO先進先出的話,不知道DELPHI是如何實現啊,還請高手能貼段代碼詳細說說啊,小弟不才,謝謝
 
最好是用个单片机做一个通讯桥接器与下位机的通讯总线连在一起,让通讯桥替你发轮循,PC通过桥接器去发特殊指令,接收到的指令可以不经过桥接器直接送PC
 
实时现实,定时保存,数据分析出来了保存,现实还不容易吗,
还有放DB Table还是文件现实,或者直接memo都不是无关紧要啊
 
555555555555555555,还是看不明白啊,可否介绍得详细一点啊,无限感激[:(]
 
线程肯定是要用的
如果你是用多串口卡,那么一个串口就要开一个线程,如果你是用485的话,只好轮询了
最好不要用SPComm,自己用API函数写
 

Similar threads

顶部