重庆分公司,新征程启航
为企业提供网站建设、域名注册、服务器等服务
串口数据采集并报警的话呢,主要可能就是,我们一旦发现这个串口数据采集的话呢,首先呢,我们呢,就可以直接拨打那个报警电话,要么的话,那我们就可以跟那种专门的那种串口数据采集,换了报纸电话给蒋云就可以了。
成都创新互联公司-专业网站定制、快速模板网站建设、高性价比市南网站开发、企业建站全套包干低至880元,成熟完善的模板库,直接使用。一站式市南网站制作公司更省心,省钱,快速模板网站建设找我们,业务覆盖市南地区。费用合理售后完善,十载实体公司更值得信赖。
//创建一个串口通讯
SerialPort CurrentPort = null;
CurrentPort = new SerialPort();
CurrentPort.ReadBufferSize = 128;
CurrentPort.PortName = comName; //端口号
CurrentPort.BaudRate = bandRate; //比特率
CurrentPort.Parity =parity;//奇偶校验
CurrentPort.StopBits = stop;//停止位
CurrentPort.DataBits = databit;//数据位
CurrentPort.ReadTimeout = 1000; //读超时,即在1000内未读到数据就引起超时异常
//绑定数据接收事件,因为发送是被动的,所以你无法主动去获取别人发送的代码,只能通过这个事件来处理
CurrentPort.DataReceived += Sp_DataReceived;
CurrentPort.Open();
定义一个变量 byte[] receiveStr;
//绑定的事件处理函数
private static void Sp_DataReceived(object sender, System.IO.Ports.SerialDataReceivedEventArgs e)
{
SerialPort sp = sender as SerialPort;
if (sp == null)
return;
byte[] readBuffer = new byte[sp.ReadBufferSize];
sp.Read(readBuffer, 0, readBuffer.Length);
//赋值
receiveStr=readBuffer;//当然你可以通过转换将byte[]转换为字符串。
}
//你要求的按钮事件可以这么写
private void button1_Click(object sender, EventArgs e)
{
if(receiveStr!=null)
{
变量 xxx=receiveStr;
}
}
把从串口采集到的数据分开显示和储存方法:
需要严密的数据帧格式约定。
需要采取字符串切割或者字节值获取处理。
使用MsComm控件实现实时接收。
使用ADO数据对象及数据表控件等实现数据实时储存和显示。
数据帧(Data frame),它包括三部分:帧头,数据部分,帧尾。其中,帧头和帧尾包含一些必要的控制信息。
依据以上原则编写符合通信协议的程序代码。
串口收到的数据,用笨的方法可以连接一个采集卡读卡器。然后用采集卡采集数据,然后用采集卡读卡器软件读出来。也可以用COM转USB,USB能连接的东西就比较多了。
串口服务器的串口要设置波特率,要与设备串口发送数据的波特率相同,看一下设备说明书,它串口发送数据的协议是什么,包括波特率,数据位数(有7位的),停止位位数等,另外串口服务器要通过网线连接到交换机上,电脑也连接的交换机,设置网络配置等,才能收到串口服务器发上来的数据。