您现在的位置 : 首页  技术文章 > 超声波明渠流量计

超声波明渠流量计

LMC型超声波明渠流量计监控系统通信软件的开发

 

城市污水处理地域跨度大,测控点分散,各测控点往往处于无人值守状态。区域内、区域与区域之间,需要传输、汇总和分析的数据量很大。因此,区域内和跨区域的网络化通信成为现代城市污水处理厂监控系统的重要标志。

 

       1 LMC型超声波明渠流量计通信网络

 

       LMC型超声波明渠流量计设有RS-232CRS-422串行通信端口,通过一根蕞长达1200m的通信电缆,可直接与计算机的连接。在计算机中安装LMC监控软件,即可随时在计算机中监控瞬时流量、总流量。换算的日流量、月流量和年流量等参数,以及曲线显示、报表打印等,系统构成如图1所示。若在15m之内通信则可直接用一根通信电缆将流量计接到计算机。流量计的信息也可以通过电话线网络传输,但系统需配置专用通信器和MODEM卡。

 

       2 监控系统通信软件设计

 

       我们设计了一个超声波明渠流量计城市网络监控系统,实现了上位微机与8051单片机的串行通信。监控系统通信软件主要包括专线方式(通过RS232C连接)及网络自动拨号方式两大功能。限于篇幅,文中只给出部分程序流程图和程序清单。

 

       实现串行通信一般分为3个步骤:

 

       (1)初始化通信端口:具体工作为向操作系统申请通信端口资源,设置通信波特率和配置通信格式(如起始位个数、数据位个数、停止位个数、奇偶校验方式等)。

       (2)串行通信的读写操作:用计算机发送和接受数据。

       (3)关闭通信端口:在完成所有的串行通情操作后,将串行通信端口资源还给操作系统。

 

       2.1  MSCOMM 控件的主要属性     

 

       MSCOMM 控件是由Microsoft开发的,用于计算机间通信的Active X控件。利用它能方便地实现串行通信。用MSCOMM控件实现串行通信主要使用以下的一些属性:

 

      ()用于初始化串行通信端口的属性CommPort,设置并返回要用于串行通信的端口号;

 

       PortOPen,初始化时置为True以打开通信端口;

 

       Setting,以字符串形式设置并返回波特率、奇偶检验位、数据位、停止位;

 

       InputMode,置0以本格式接收数据,置1以二进制格式接收数据。

 

       (2)用于串行通信端口读写操作的属性

 

       Input,从接收缓冲区返回并删除数据;

 

       Output,向发送缓冲区写数据。

 

       (3)用于关闭通信端口的属性

 

       PortOpen,关闭端口时置为False以关闭通信端口。

 

       2.2 串行通信协议说明

 

      上位机与下位机均采用查询发送、中断接收的通信方式。

 

       帧格式为7位数据位,无检验位,1位停止位,波特率为W,编码为ASCll码。每次上位机向单片机发数据时,上位机先向单片机发握手信号“02”,单片机收到握手信号则发应答信号“03”至上位机上位机收到应答信号后即发数据。同样,当单片机要向上位机发数据时,也先向上位机发握手信号“ 04”,上位机收到握手信号后发应答信号“05”,单片机收到应答信号后则发数据。

 

       2.3 上位机(PC)通信程序设计

 

       利用VC++6.0对设计上位机通信程序。主要步骤如下;

 

       (1)先进人Visual C++6.0集成开发环境;

       (2)创建一个单文档控制界面;

       (3)添加控制菜单、控制对话框、控制按钮与编辑框;

       (4)在控制对话框中添加ActiveX控件中的MSCOMM控件;

       (5)设置MSCOMM控件属性: 

 

       Setting9600,n,7,1InputLen:2Rthreshold:2;其它按缺省值。

 

       通信程序主要部分如下:

 

       Void CROTOTEDlg::OnButtom1() //通信初始化消息处理函数

 

       {

 

       DataORShaking=1; //握手信号或数据标志

 

       Commsuce=0;//握手成功标志

 

       receiveNo=3;//数据区标志

 

       if!m_RototeCom_dlg.GetPortOpen())

 

          !m_RototeCom_dlg.GetPortOpenTRUE;//打开串行口

 

       m_RototeCom_dlg.SetOutputColeVariant(“02”));//发握手信号

      

 

       m_RototeCom_dlg.SetInputMode0;//读取串口缓冲区全部数据

 

       MessageBox(“START”);

 

       forint i=0;i<=10000;i++;//延时

 

       MessageBox (“通信失败,请检查通信硬件”);//握手失败显示

 

       }

 

       Void CROTOTEDlg::OnOnCommMscomml(); //Mscomm控件消息处理函数

 

       {

 

       VARIANT varii;

 

       varii= m_RototeCom_dlg.GetPortOpen();//读入数据赋给VARIANT变量

 

       CString ll;

 

       ll= varii,bstrVal;

 

       UpdateData();//将文本值从控件传给相应的变量

 

       ifDataORShaking==0//如果握手完毕,则开始接收数据

 

       {

 

       ifreceiveNo==4) DataORShaking=1;

 

       ifreceiveNo==3;

 

       { m_edit3=ll;//接收实际年流量信号

 

         receiveNo==4}

 

       else

 

       m_edit4=ll;

 

       }

 

        ifll==03”)&&( DataORShaking==1//接收单片机应答信号

 

       { m_RototeCom_dlg.SetOutputColeVariantm_edit1));//发给年流量

 

       n_RototeCom_dlg.SetOutputColeVariantm_edit2));//发给年流量

 

       commsuce=1;//握手成功

 

       }

 

       ifll==04”)&& ( DataORShaking==1// 接收单片机握手信号

 

       {n_RototeCom_dlg.SetOutputColeVariant(“05”));//发应答信号

 

       DataORShaking=0;// 握手成功

 

       }UpdateDataFALSE;//将控件变量内容送回其对应控件

 

       }

 

       2.4 下位机(8051)通信程序设计

 

       发应答信号及数据时,8051单片机工作于查询方式;当接收握手信号及数据时,8051工作于中断方式,中断入口地址为0023H。当5051接收到来自上位机的握手信号“02”并核查确认后,则给上位机发应答信号,同时准备接收数据。中断服务程序先区分是握手信号还是数据,如是握手信号就发应答信号,如是数据就转换数据格式再送人内存。当8051需要发数据时,先向上位机发握手信号“04”,等收到上位机的应答信号“05”,即可发数据。程序框图如图2所示,中断服务程序如图3所示。

 

       3 经济效往分析

 

       就上海而言,需进行污水排放计量的工矿企业达4000多家。根据上海市环保局要求,这些企业都将按要求安装检测污水排放的仪器。目前本市尚无同类产品。如选用国外产品,以美国的伊思柯(ISCO)公司为例,同类型的超声波明渠流量计的价格为71300元。本成果转化为产品后,基本价格为17000左右,低于国外产品约5.4万元左右。仍以全市4000家企业计,可以节约资金2亿元。

城市污水处理地域跨度大,测控点分散,各测控点往往处于无人值守状态。区域内、区域与区域之间,需要传输、汇总和分析的数据量很大。因此,区域内和跨区域的网络化通信成为现代城市污水处理厂监控系统的重要标志。

 

       1 LMC超声波明渠流量计通信网络

 

       LMC超声波明渠流量计设有RS-232CRS-422串行通信端口,通过一根蕞长达1200m的通信电缆,可直接与计算机的连接。在计算机中安装LMC监控软件,即可随时在计算机中监控瞬时流量、总流量。换算的日流量、月流量和年流量等参数,以及曲线显示、报表打印等,系统构成如图1所示。若在15m之内通信则可直接用一根通信电缆将流量计接到计算机。流量计的信息也可以通过电话线网络传输,但系统需配置专用通信器和MODEM卡。

 

       2 监控系统通信软件设计

 

       我们设计了一个超声波明渠流量计城市网络监控系统,实现了上位微机与8051单片机的串行通信。监控系统通信软件主要包括专线方式(通过RS232C连接)及网络自动拨号方式两大功能。限于篇幅,文中只给出部分程序流程图和程序清单。

 

       实现串行通信一般分为3个步骤:

 

       (1)初始化通信端口:具体工作为向操作系统申请通信端口资源,设置通信波特率和配置通信格式(如起始位个数、数据位个数、停止位个数、奇偶校验方式等)。

       (2)串行通信的读写操作:用计算机发送和接受数据。

       (3)关闭通信端口:在完成所有的串行通情操作后,将串行通信端口资源还给操作系统。

 

       2.1  MSCOMM 控件的主要属性     

 

       MSCOMM 控件是由Microsoft开发的,用于计算机间通信的Active X控件。利用它能方便地实现串行通信。用MSCOMM控件实现串行通信主要使用以下的一些属性:

 

      ()用于初始化串行通信端口的属性CommPort,设置并返回要用于串行通信的端口号;

 

       PortOPen,初始化时置为True以打开通信端口;

 

       Setting,以字符串形式设置并返回波特率、奇偶检验位、数据位、停止位;

 

       InputMode,置0以本格式接收数据,置1以二进制格式接收数据。

 

       (2)用于串行通信端口读写操作的属性

 

       Input,从接收缓冲区返回并删除数据;

 

       Output,向发送缓冲区写数据。

 

       (3)用于关闭通信端口的属性

 

       PortOpen,关闭端口时置为False以关闭通信端口。

 

       2.2 串行通信协议说明

 

      上位机与下位机均采用查询发送、中断接收的通信方式。

 

       帧格式为7位数据位,无检验位,1位停止位,波特率为W,编码为ASCll码。每次上位机向单片机发数据时,上位机先向单片机发握手信号“02”,单片机收到握手信号则发应答信号“03”至上位机上位机收到应答信号后即发数据。同样,当单片机要向上位机发数据时,也先向上位机发握手信号“ 04”,上位机收到握手信号后发应答信号“05”,单片机收到应答信号后则发数据。

 

       2.3 上位机(PC)通信程序设计

 

       利用VC++6.0对设计上位机通信程序。主要步骤如下;

 

       (1)先进人Visual C++6.0集成开发环境;

       (2)创建一个单文档控制界面;

       (3)添加控制菜单、控制对话框、控制按钮与编辑框;

       (4)在控制对话框中添加ActiveX控件中的MSCOMM控件;

       (5)设置MSCOMM控件属性: 

 

       Setting9600,n,7,1InputLen:2Rthreshold:2;其它按缺省值。

 

       通信程序主要部分如下:

 

       Void CROTOTEDlg::OnButtom1() //通信初始化消息处理函数

 

       {

 

       DataORShaking=1; //握手信号或数据标志

 

       Commsuce=0;//握手成功标志

 

       receiveNo=3;//数据区标志

 

       if!m_RototeCom_dlg.GetPortOpen())

 

          !m_RototeCom_dlg.GetPortOpenTRUE;//打开串行口

 

       m_RototeCom_dlg.SetOutputColeVariant(“02”));//发握手信号

      

 

       m_RototeCom_dlg.SetInputMode0;//读取串口缓冲区全部数据

 

       MessageBox(“START”);

 

       forint i=0;i<=10000;i++;//延时

 

       MessageBox (“通信失败,请检查通信硬件”);//握手失败显示

 

       }

 

       Void CROTOTEDlg::OnOnCommMscomml(); //Mscomm控件消息处理函数

 

       {

 

       VARIANT varii;

 

       varii= m_RototeCom_dlg.GetPortOpen();//读入数据赋给VARIANT变量

 

       CString ll;

 

       ll= varii,bstrVal;

 

       UpdateData();//将文本值从控件传给相应的变量

 

       ifDataORShaking==0//如果握手完毕,则开始接收数据

 

       {

 

       ifreceiveNo==4) DataORShaking=1;

 

       ifreceiveNo==3;

 

       { m_edit3=ll;//接收实际年流量信号

 

         receiveNo==4}

 

       else

 

       m_edit4=ll;

 

       }

 

        ifll==03”)&&( DataORShaking==1//接收单片机应答信号

 

       { m_RototeCom_dlg.SetOutputColeVariantm_edit1));//发给年流量

 

       n_RototeCom_dlg.SetOutputColeVariantm_edit2));//发给年流量

 

       commsuce=1;//握手成功

 

       }

 

       ifll==04”)&& ( DataORShaking==1// 接收单片机握手信号

 

       {n_RototeCom_dlg.SetOutputColeVariant(“05”));//发应答信号

 

       DataORShaking=0;// 握手成功

 

       }UpdateDataFALSE;//将控件变量内容送回其对应控件

 

       }

 

       2.4 下位机(8051)通信程序设计

 

       发应答信号及数据时,8051单片机工作于查询方式;当接收握手信号及数据时,8051工作于中断方式,中断入口地址为0023H。当5051接收到来自上位机的握手信号“02”并核查确认后,则给上位机发应答信号,同时准备接收数据。中断服务程序先区分是握手信号还是数据,如是握手信号就发应答信号,如是数据就转换数据格式再送人内存。当8051需要发数据时,先向上位机发握手信号“04”,等收到上位机的应答信号“05”,即可发数据。程序框图如图2所示,中断服务程序如图3所示。

 

       3 经济效往分析

 

       就上海而言,需进行污水排放计量的工矿企业达4000多家。根据上海市环保局要求,这些企业都将按要求安装检测污水排放的仪器。目前本市尚无同类产品。如选用国外产品,以美国的伊思柯(ISCO)公司为例,同类型的超声波明渠流量计的价格为71300元。本成果转化为产品后,基本价格为17000左右,低于国外产品约5.4万元左右。仍以全市4000家企业计,可以节约资金2亿元。

【温馨提示】 

苏州华陆仪器仪表有限公司是一支技术力量雄厚的高素质的开发群体,为广大用户提供高品质产品、完整的解决方案和优质的技术服务公司,主要产品有超声波明渠流量计,明渠流量计等,本企业坚持以诚信立业、以品质守业、以进取兴业的宗旨,以更坚定的步伐不断攀登新的高峰,为民族自动化行业作出贡献,欢迎新老顾客放心选购自己心仪的产品,我们将竭诚为您服务! 

 

公司地址:苏州市相城区澄阳路60号脱颖科技园3

联系电话:0512-66835259

       传真:0512-66835356

       网址:www.dianciliuliangji01.com

点击次数:  更新时间:2014-11-06  【打印此页】  【关闭

技术文章

联系方式

苏州华陆仪器仪表有限公司
电 话:0512-66835259
传 真:0512-66835356
邮 编:215131
地 址:苏州市相城区澄阳路60号脱颖科技园3区
在线交流 
咨询销售 MSN咨询销售
咨询技术 咨询技术
联系电话:0512-66835259