Exemple #1
0
        /********************************************
         * 函数名称:run()
         * 功能:医疗服务器组件执行函数
         * 参数:无
         * 返回值:无
         * *****************************************/
        public void run()
        {
            while (true)
            {
                if (Form1.stop)
                {
                    this.EmptyingQueue();
                    return;
                }

                //-------------------医疗服务器input端口传输数据----------------//
                //若input端口不为空
                if (this.input_ports != null)
                {
                    foreach (Input_port input in this.input_ports)
                    {
                        PortDataTransfer(input); //input端口进行数据传输
                    }
                }

                //-------------------有线模块组件启动执行-------------------//
                WiredModule wiredM = (WiredModule)this.wiredModule;
                //step1、有线模块组件接收数据
                wiredM.ComponentDataReceive(wiredM);
                //step2、执行有线模块数据帧解封装功能
                wiredM.EthernetFrameDecapsulation();
                //step3、有线模块组件output端口传输数据
                wiredM.ComponentDataTransfer(wiredM);

                //--------------------缓冲区组件启动执行--------------------//
                MyBuffer buf = (MyBuffer)this.myBuffer;
                //step1、缓冲区组件接收数据
                buf.ComponentDataReceive(buf);
                //step2、执行缓冲区功能
                buf.MessageBuffering(null);
                //step3、缓冲区1组件output端口传输数据
                buf.ComponentDataTransfer(buf);

                //---------------网络数据处理模块组件启动执行--------------//
                DataProcessor dp = (DataProcessor)this.dataProcessor;
                //step1、网络数据处理模块接收数据
                dp.ComponentDataReceive(dp);
                //step2、执行网络数据处理模块功能
                dp.NetworkDataProcessing();
                //step3、网络数据处理模块output端口传输数据
                dp.ComponentDataTransfer(dp);

                //----------------信息分析控制模块启动执行------------------//
                DataAnalyzer da = (DataAnalyzer)this.dataAnalyzer;
                //step1、信息分析控制模块接收数据
                da.ComponentDataReceive(da);
                //step2、执行信息分析控制模块功能
                da.DataAnalysis();
                //step3、信息分析控制模块output端口传输数据
                da.ComponentDataTransfer(da);

                //----------------医疗服务器output端口传输数据--------------//
                //若output端口不为空
                if (this.output_ports != null)
                {
                    foreach (Output_port output in this.output_ports)
                    {
                        PortDataTransfer(output); //output端口进行数据传输
                    }
                }
            }
        }// public void run()
        /********************************************
         * 函数名称:run()
         * 功能:体温传感节点组件执行函数
         * 参数:无
         * 返回值:无
         * *****************************************/
        public void run()
        {
            while (true)
            {
                if (Form1.stop)
                {
                    this.EmptyingQueue();
                    return;
                }

                //-------------------体温传感器节点input端口传输数据-------------------//
                //若input端口不为空
                if (this.input_ports != null)
                {
                    //foreach(Input_port input in this.input_ports){
                    PortDataTransfer(this.input_ports[0]); //input端口进行数据传输
                    //}
                }

                //--------------------体温传感器组件启动执行---------------------------//
                TemperatureSensor ts = (TemperatureSensor)(this.TemperatureSensor);
                //step1、体温传感器组件接收数据
                ts.ComponentDataReceive(ts);

                //++++++++++++ Debug - 读取组件接收队列中的数据 +++++++++++//
                //Console.Write(ts.name + "组件接收队列内的数据(入队后):");
                //Console.WriteLine("组件接收队列长度:" + ts.Component_reveice_queue.Count);
                //foreach (TemperatureDataType arr in ts.Component_reveice_queue)
                //{
                //    Console.Write("[" +arr.Temperature+"] ");
                //}
                //Console.WriteLine("");
                ////Console.WriteLine("=========================");
                //+++++++++++++++++++++++++++++++++++++++++++++++++++++++++//

                //step2、执行体温传感器功能,即采样数据,并将采样数据传至发送队列
                ts.CollectTemperatureData();
                //step3、体温传感器组件output端口传输数据
                ts.ComponentDataTransfer(ts); //传输采样体温数据

                //--------------------微处理器组件启动执行---------------------------//
                MicroProcessor mp = (MicroProcessor)this.microProcessor;
                //step1、微处理器组件接收数据
                mp.ComponentDataReceive(mp);
                //step2、执行微处理器功能
                mp.MessageEncapsulation(x);
                //step3、微处理器组件output端口传输数据
                mp.ComponentDataTransfer(mp);

                //--------------------缓冲区组件启动执行---------------------------//
                MyBuffer buf = (MyBuffer)this.myBuffer;
                //step1、缓冲区组件接收数据
                buf.ComponentDataReceive(buf);
                //step2、执行缓冲区功能
                buf.MessageBuffering(y);
                //step3、缓冲区组件output端口传输数据
                buf.ComponentDataTransfer(buf);

                //------------------------无线模块--------------------------------//
                WirelessModule wm = (WirelessModule)this.wirelessModule;
                //step1、无线模块组件接收数据
                wm.ComponentDataReceive(wm);
                //step2、执行无线模块数据帧封装功能
                wm.FrameEncapsulation(y, dest_address);
                //step3、无线模块组件output端口传输数据
                wm.ComponentDataTransfer(wm);

                //-------------------体温传感器节点output端口传输数据-------------------//
                //若output端口不为空
                if (this.output_ports != null)
                {
                    foreach (Output_port output in this.output_ports)
                    {
                        PortDataTransfer(output); //output端口进行数据传输
                    }
                }
            }
        }// public void run()
Exemple #3
0
        /********************************************
         * 函数名称:run()
         * 功能:物联网网关组件执行函数
         * 参数:无
         * 返回值:无
         * *****************************************/
        public void run()
        {
            while (true)
            {
                if (Form1.stop)
                {
                    this.EmptyingQueue();
                    return;
                }

                //-------------------IoT网关input端口传输数据----------------//
                //若input端口不为空
                if (this.input_ports != null)
                {
                    foreach (Input_port input in this.input_ports)
                    {
                        PortDataTransfer(input); //input端口进行数据传输
                    }
                }

                //-------------------无线模块1组件启动执行-------------------//
                WirelessModule wm1 = (WirelessModule)this.wirelessModule1;

                //step1、无线模块1组件接收数据
                wm1.ComponentDataReceive(wm1);
                //step2、执行无线模块1数据帧解封装功能
                wm1.FrameDecapsulation();
                //step3、无线模块1组件output端口传输数据
                wm1.ComponentDataTransfer(wm1);

                //-------------------无线模块2组件启动执行-------------------//
                WirelessModule wm2 = (WirelessModule)this.wirelessModule2;
                //step1、无线模块2组件接收数据
                wm2.ComponentDataReceive(wm2);
                //step2、执行无线模块2数据帧解封装功能
                wm2.FrameDecapsulation();
                //step3、无线模块2组件output端口传输数据
                wm2.ComponentDataTransfer(wm2);

                //-------------------无线模块3组件启动执行-------------------//
                WirelessModule wm3 = (WirelessModule)this.wirelessModule3;
                //step1、无线模块2组件接收数据
                wm3.ComponentDataReceive(wm3);
                //step2、执行无线模块2数据帧解封装功能
                wm3.FrameDecapsulation();
                //step3、无线模块2组件output端口传输数据
                wm3.ComponentDataTransfer(wm3);

                //-------------------缓冲区1组件启动执行-------------------//
                MyBuffer buf1 = (MyBuffer)this.myBuffer1;
                //step1、缓冲区1组件接收数据
                buf1.ComponentDataReceive(buf1);
                //step2、执行缓冲区功能
                buf1.MessageBuffering("frame802154");
                //step3、缓冲区1组件output端口传输数据
                buf1.ComponentDataTransfer(buf1);

                //-------------------缓冲区2组件启动执行-------------------//
                MyBuffer buf2 = (MyBuffer)this.myBuffer2;
                //step1、缓冲区2组件接收数据
                buf2.ComponentDataReceive(buf2);
                //step2、执行缓冲区2功能
                buf2.MessageBuffering("frame802154");
                //step3、缓冲区2组件output端口传输数据
                buf2.ComponentDataTransfer(buf2);

                //-------------------缓冲区3组件启动执行-------------------//
                MyBuffer buf3 = (MyBuffer)this.myBuffer3;
                //step1、缓冲区3组件接收数据
                buf3.ComponentDataReceive(buf3);
                //step2、执行缓冲区3功能
                buf3.MessageBuffering("frame802151");
                //step3、缓冲区3组件output端口传输数据
                buf3.ComponentDataTransfer(buf3);

                //----------------网络协议转换模块启动执行-----------------//
                ProtocolConverter pc = (ProtocolConverter)this.protocolConverter;
                //step1、网络协议转换模块接收数据
                pc.ComponentDataReceive(pc);
                //step2、执行网络协议转换模块功能
                pc.ProtocolConversion();
                //step3、网络协议转换模块output端口传输数据
                pc.ComponentDataTransfer(pc);

                //-------------------缓冲区4组件启动执行-------------------//
                MyBuffer buf4 = (MyBuffer)this.myBuffer4;
                //step1、缓冲区3组件接收数据
                buf4.ComponentDataReceive(buf4);
                //step2、执行缓冲区3功能
                buf4.MessageBuffering(null);
                //step3、缓冲区3组件output端口传输数据
                buf4.ComponentDataTransfer(buf4);

                //-------------------有线模块组件启动执行-------------------//
                WiredModule wiredM = (WiredModule)wiredModule;
                //step1、有线模块组件接收数据
                wiredM.ComponentDataReceive(wiredM);
                //step2、执行有线模块组件功能
                wiredM.EthernetFrameEncapsulation(dest_address);
                //step3、有线模块组件output端口传输数据
                wiredM.ComponentDataTransfer(wiredM);

                //----------------IoT网关output端口传输数据--------------//
                //若output端口不为空
                if (this.output_ports != null)
                {
                    foreach (Output_port output in this.output_ports)
                    {
                        PortDataTransfer(output); //output端口进行数据传输
                    }
                }
            }
        }// public void run()
Exemple #4
0
        /********************************************
         * 函数名称:run()
         * 功能:IPv6路由器组件执行函数
         * 参数:无
         * 返回值:无
         * *****************************************/
        public void run()
        {
            while (true)
            {
                if (Form1.stop)
                {
                    this.EmptyingQueue();
                    return;
                }

                //-------------------IPv6路由器input端口传输数据----------------//
                //若input端口不为空
                if (this.input_ports != null)
                {
                    foreach (Input_port input in this.input_ports)
                    {
                        PortDataTransfer(input); //input端口进行数据传输
                    }
                }

                //-------------------有线模块1组件启动执行-------------------//
                WiredModule wiredM1 = (WiredModule)this.wiredModule1;
                //step1、有线模块1组件接收数据
                wiredM1.ComponentDataReceive(wiredM1);
                //step2、执行有线模块1数据帧解封装功能
                wiredM1.EthernetFrameDecapsulation();
                //step3、有线模块1组件output端口传输数据
                wiredM1.ComponentDataTransfer(wiredM1);

                //-------------------缓冲区1组件启动执行-------------------//
                MyBuffer buf1 = (MyBuffer)this.myBuffer1;
                //step1、缓冲区1组件接收数据
                buf1.ComponentDataReceive(buf1);
                //step2、执行缓冲区功能
                buf1.MessageBuffering(null);
                //step3、缓冲区1组件output端口传输数据
                buf1.ComponentDataTransfer(buf1);

                //-------------------路由模块组件启动执行-------------------//
                RouteModule rm = (RouteModule)this.routeModule;
                //step1、路由模块组件接收数据
                rm.ComponentDataReceive(rm);
                //step2、执行路由模块功能
                rm.Routing();
                //step3、路由模块组件output端口传输数据
                rm.ComponentDataTransfer(rm);

                //-------------------缓冲区2组件启动执行-------------------//
                MyBuffer buf2 = (MyBuffer)this.myBuffer2;
                //step1、缓冲区2组件接收数据
                buf2.ComponentDataReceive(buf2);
                //step2、执行缓冲区功能
                buf2.MessageBuffering(null);
                //step3、缓冲区2组件output端口传输数据
                buf2.ComponentDataTransfer(buf2);

                //-------------------有线模块2组件启动执行-------------------//
                WiredModule wiredM2 = (WiredModule)this.wiredModule2;
                //step1、有线模块2组件接收数据
                wiredM2.ComponentDataReceive(wiredM2);
                //step2、执行有线模块2数据帧封装功能
                wiredM2.EthernetFrameEncapsulation(dest_address);
                //step3、有线模块2组件output端口传输数据
                wiredM2.ComponentDataTransfer(wiredM2);


                //----------------IPv6路由器output端口传输数据--------------//
                //若output端口不为空
                if (this.output_ports != null)
                {
                    foreach (Output_port output in this.output_ports)
                    {
                        PortDataTransfer(output); //output端口进行数据传输
                    }
                }
            }
        } // public void run()
Exemple #5
0
        /********************************************
         * 函数名称:run()
         * 功能:心率传感节点组件执行函数
         * 参数:无
         * 返回值:无
         * *****************************************/
        public void run()
        {
            while (true)
            {
                if (Form1.stop)
                {
                    this.EmptyingQueue();
                    return;
                }

                //-------------------心率传感器节点input端口传输数据-------------------//
                //若input端口不为空
                if (this.input_ports != null)
                {
                    //foreach(Input_port input in this.input_ports){
                    PortDataTransfer(this.input_ports[0]); //input端口进行数据传输
                    //}
                }

                //--------------------心率传感器组件启动执行---------------------------//
                HeartRateSensor hrs = (HeartRateSensor)(this.HeartRateSensor);
                //step1、心率传感器组件接收数据
                hrs.ComponentDataReceive(hrs);
                //step2、执行心率传感器功能,即采样数据,并将采样数据传至发送队列
                hrs.CollectHeartRateData();
                //step3、心率传感器组件output端口传输数据
                hrs.ComponentDataTransfer(hrs); //传输采样心率数据

                //--------------------微处理器组件启动执行---------------------------//
                MicroProcessor mp = (MicroProcessor)this.microProcessor;
                //step1、微处理器组件接收数据
                mp.ComponentDataReceive(mp);
                //step2、执行微处理器功能
                mp.MessageEncapsulation(x);
                //step3、微处理器组件output端口传输数据
                mp.ComponentDataTransfer(mp);

                //--------------------缓冲区组件启动执行---------------------------//
                MyBuffer buf = (MyBuffer)this.myBuffer;
                //step1、缓冲区组件接收数据
                buf.ComponentDataReceive(buf);
                //step2、执行缓冲区功能
                buf.MessageBuffering(y);
                //step3、缓冲区组件output端口传输数据
                buf.ComponentDataTransfer(buf);

                //------------------------无线模块--------------------------------//
                WirelessModule wm = (WirelessModule)this.wirelessModule;
                //step1、无线模块组件接收数据
                wm.ComponentDataReceive(wm);
                //step2、执行无线模块数据帧封装功能
                wm.FrameEncapsulation(y, access_address);
                //step3、无线模块组件output端口传输数据
                wm.ComponentDataTransfer(wm);

                //-------------------心率传感器节点output端口传输数据-------------------//
                //若output端口不为空
                if (this.output_ports != null)
                {
                    foreach (Output_port output in this.output_ports)
                    {
                        PortDataTransfer(output); //output端口进行数据传输
                    }
                }
            }
        } // public void run()