示例#1
0
        /// <summary>
        /// 启动所有需要的设备通讯线程
        /// </summary>
        public void StartUse()
        {
            try
            {
                int i = 0;//打开20次,有时仪表一次会打不开
                if (UseMeter)
                {
                    i = 0;
                    m_CoolSerialForMeter = new CoolSerial(METERPARA);
                    m_CoolSerialForMeter.DeviceType = METERTYPE;//仪表类型,决定如何处理事务
                    m_CoolSerialForMeter.DeviceName = POINTNAME;

                    while (m_CoolSerialForMeter.StateInfo != "open" && i < 20)
                    {
                        m_CoolSerialForMeter.Open();
                        if (m_CoolSerialForMeter.StateInfo == "open")
                            m_CoolSerialForMeter.StartUse();
                        i++;
                    }

                }

                if (UseLED)
                {
                    m_CoolLed = new CoolLed(LEDPARA);
                    m_CoolLed.DeviceType = LEDTYPE;//LED类型,决定如何处理事务
                    m_CoolLed.DeviceName = POINTNAME;
                    if (m_CoolLed.Open())
                    {
                        //add code here
                    }
                }

                if (UseDisplay)
                {
                    m_CoolDisplay = new CoolDisplay(DISPLAYPARA);
                    m_CoolDisplay.DeviceType = DISPLAYTYPE;//液晶屏类型,决定如何处理事务
                    m_CoolDisplay.DeviceName = POINTNAME;
                    m_CoolDisplay.Open();
                }

                if (UseRtu)
                {
                    i = 0;
                    m_CoolRtu = new CoolRtu(RTUIP, Int32.Parse(RTUPORT));
                    m_CoolRtu.DeviceName = POINTNAME;
                    //if (m_CoolRtu.Connect2Server())
                    //{
                    //    m_CoolRtu.StartUse();
                    //}
                    while (m_CoolRtu.StateInfo != "open" && i < 10)
                    {
                        m_CoolRtu.Connect2Server();
                        if (m_CoolRtu.StateInfo == "open")
                            m_CoolRtu.StartUse();
                        i++;
                    }

                    i = 0;
                    m_CoolRtuForCommand = new CoolRtu(RTUIP, Int32.Parse(RTUPORT));
                    m_CoolRtuForCommand.DeviceName = POINTNAME;
                    while (m_CoolRtuForCommand.StateInfo != "open" && i < 10)
                    {
                        m_CoolRtuForCommand.Connect2Server();
                        i++;
                    }
                    //if (m_CoolRtuForCommand.Connect2Server())
                    //{
                    //}

                }

                m_bRunning = true;
                m_hThread = new System.Threading.Thread(new System.Threading.ThreadStart(DataCollectThread));
                m_hThread.Start();
            }
            catch (Exception e)
            {
                WriteLog("StartUse" + e.ToString());
            }
        }
示例#2
0
        /// <summary>
        /// 启动所有需要的设备通讯线程
        /// </summary>
        public void StartUse()
        {
            try
            {
                int i = 0;//打开20次,有时仪表一次会打不开
                if (UseMeter)
                {
                    i = 0;
                    m_CoolSerialForMeter            = new CoolSerial(METERPARA);
                    m_CoolSerialForMeter.DeviceType = METERTYPE;//仪表类型,决定如何处理事务
                    m_CoolSerialForMeter.DeviceName = POINTNAME;

                    while (m_CoolSerialForMeter.StateInfo != "open" && i < 20)
                    {
                        m_CoolSerialForMeter.Open();
                        if (m_CoolSerialForMeter.StateInfo == "open")
                        {
                            m_CoolSerialForMeter.StartUse();
                        }
                        i++;
                    }
                }

                if (UseLED)
                {
                    m_CoolLed            = new CoolLed(LEDPARA);
                    m_CoolLed.DeviceType = LEDTYPE;//LED类型,决定如何处理事务
                    m_CoolLed.DeviceName = POINTNAME;
                    if (m_CoolLed.Open())
                    {
                        //add code here
                    }
                }

                if (UseDisplay)
                {
                    m_CoolDisplay            = new CoolDisplay(DISPLAYPARA);
                    m_CoolDisplay.DeviceType = DISPLAYTYPE;//液晶屏类型,决定如何处理事务
                    m_CoolDisplay.DeviceName = POINTNAME;
                    m_CoolDisplay.Open();
                }

                if (UseRtu)
                {
                    i                    = 0;
                    m_CoolRtu            = new CoolRtu(RTUIP, Int32.Parse(RTUPORT));
                    m_CoolRtu.DeviceName = POINTNAME;
                    //if (m_CoolRtu.Connect2Server())
                    //{
                    //    m_CoolRtu.StartUse();
                    //}
                    while (m_CoolRtu.StateInfo != "open" && i < 10)
                    {
                        m_CoolRtu.Connect2Server();
                        if (m_CoolRtu.StateInfo == "open")
                        {
                            m_CoolRtu.StartUse();
                        }
                        i++;
                    }

                    i = 0;
                    m_CoolRtuForCommand            = new CoolRtu(RTUIP, Int32.Parse(RTUPORT));
                    m_CoolRtuForCommand.DeviceName = POINTNAME;
                    while (m_CoolRtuForCommand.StateInfo != "open" && i < 10)
                    {
                        m_CoolRtuForCommand.Connect2Server();
                        i++;
                    }
                    //if (m_CoolRtuForCommand.Connect2Server())
                    //{
                    //}
                }

                m_bRunning = true;
                m_hThread  = new System.Threading.Thread(new System.Threading.ThreadStart(DataCollectThread));
                m_hThread.Start();
            }
            catch (Exception e)
            {
                WriteLog("StartUse" + e.ToString());
            }
        }
示例#3
0
        private decimal m_ZEROVALUE; //复位值

        #endregion Fields

        #region Constructors

        public ProductPoundRoom()
        {
            m_POINTID = "";//计量点编码
            m_POINTNAME = "";//计量点名称
            m_POINTTYPE = "";//计量点称重类型

            m_VIEDOIP = "";//硬盘录像机IP
            m_VIEDOPORT = "";//硬盘录像机端口
            m_VIEDOUSER = "";//硬盘录像机用户名
            m_VIEDOPWD = "";//硬盘录像机密码

            m_MOXAIP = "";//MOXA卡IP

            m_METERTYPE = "";//仪表类型
            m_METERPARA = "";//仪表参数
            m_MOXAPORT = "";//计量仪表MOXA卡端口
            m_MeterPreData = 0;//仪表前一次重量
            m_nMeterStabTimes = 0;//仪表稳定次数

            m_RTUIP = "";//RTUIP
            m_RTUPORT = "";//RTU端口

            m_PRINTERIP = "";//打印服务器IP
            m_PRINTERNAME = "";//打印机名称
            m_PRINTTYPECODE = "";//打印机类型代码
            m_USEDPAPER = 0;//已用纸张量
            m_TOTALPAPAR = 0;//打印纸总数量
            m_STATUS = "";//计量点状态
            m_ACCEPTTERMINAL = "";//接管的终端IP

            m_LEDPORT = "";//电子屏MOXA卡端口
            m_LEDPARA = "";//电子屏MOXA卡参数
            m_LEDTYPE = "";//电子屏类型

            m_READERPORT = "";//读卡器MOXA卡端口
            m_READERPARA = "";//读卡器MOXA卡参数
            m_READERTYPE = "";//读卡器类型

            m_DISPLAYPORT = "";//液晶屏MOXA卡端口
            m_DISPLAYPARA = "";//液晶屏MOXA卡参数
            m_DISPLAYTYPE = "";//液晶屏类型

            //使用何种设备标志
            m_bUseMeter = false;//采集仪表数据
            m_bUseLED = false;//使用LED
            m_bUseReader = false;//使用读卡器
            m_bUseDisplay = false;//使用液晶屏
            m_bUseRtu = false;//使用rtu

            //MOXA
            m_CoolSerialForMeter = null;//仪表
            m_CoolLed = null;//LED
            m_CoolDisplay = null;//液晶屏

            //rtu
            m_CoolRtu = null;//rtu data collect
            m_CoolRtuForCommand = null;//rtu command send

            //线程
            m_hThread = null;//线程
            m_bRunning = false;//线程运行开关

            //数据
            m_szMeterData = "";//仪表采集数据
            m_szReaderGUID = "";//读卡器全球唯一号
            m_szReaderCardNo = "";//读卡器卡号
            m_szRtuData = null;//rtu data

            //接管
            m_bSigned = false;

            //播放声音
            m_SoundPlayer = null;

            //硬盘录像机
            m_VideoRecord = null;
            m_VideoHandle = 0;
            m_Channel1 = 0;//通道1句柄
            m_Channel2 = 0;//通道2句柄
            m_Channel3 = 0;//通道3句柄
            m_Channel4 = 0;//通道4句柄
            m_Channel5 = 0;//通道5句柄
            m_Channel6 = 0;//通道6句柄
            m_bTalk = false;//是否正在对讲
            m_TalkID = 0;//对讲句柄
            m_AudioNum = 1; //可使用音频数

            m_bSaved = false;
            m_PreState = false;
            m_CurState = false;
        }
示例#4
0
        public ProductPoundRoom()
        {
            m_POINTID   = "";       //计量点编码
            m_POINTNAME = "";       //计量点名称
            m_POINTTYPE = "";       //计量点称重类型

            m_VIEDOIP   = "";       //硬盘录像机IP
            m_VIEDOPORT = "";       //硬盘录像机端口
            m_VIEDOUSER = "";       //硬盘录像机用户名
            m_VIEDOPWD  = "";       //硬盘录像机密码

            m_MOXAIP = "";          //MOXA卡IP

            m_METERTYPE       = ""; //仪表类型
            m_METERPARA       = ""; //仪表参数
            m_MOXAPORT        = ""; //计量仪表MOXA卡端口
            m_MeterPreData    = 0;  //仪表前一次重量
            m_nMeterStabTimes = 0;  //仪表稳定次数

            m_RTUIP   = "";         //RTUIP
            m_RTUPORT = "";         //RTU端口

            m_PRINTERIP      = "";  //打印服务器IP
            m_PRINTERNAME    = "";  //打印机名称
            m_PRINTTYPECODE  = "";  //打印机类型代码
            m_USEDPAPER      = 0;   //已用纸张量
            m_TOTALPAPAR     = 0;   //打印纸总数量
            m_STATUS         = "";  //计量点状态
            m_ACCEPTTERMINAL = "";  //接管的终端IP

            m_LEDPORT = "";         //电子屏MOXA卡端口
            m_LEDPARA = "";         //电子屏MOXA卡参数
            m_LEDTYPE = "";         //电子屏类型

            m_READERPORT = "";      //读卡器MOXA卡端口
            m_READERPARA = "";      //读卡器MOXA卡参数
            m_READERTYPE = "";      //读卡器类型

            m_DISPLAYPORT = "";     //液晶屏MOXA卡端口
            m_DISPLAYPARA = "";     //液晶屏MOXA卡参数
            m_DISPLAYTYPE = "";     //液晶屏类型

            //使用何种设备标志
            m_bUseMeter   = false; //采集仪表数据
            m_bUseLED     = false; //使用LED
            m_bUseReader  = false; //使用读卡器
            m_bUseDisplay = false; //使用液晶屏
            m_bUseRtu     = false; //使用rtu

            //MOXA
            m_CoolSerialForMeter = null; //仪表
            m_CoolLed            = null; //LED
            m_CoolDisplay        = null; //液晶屏

            //rtu
            m_CoolRtu           = null; //rtu data collect
            m_CoolRtuForCommand = null; //rtu command send

            //线程
            m_hThread  = null;  //线程
            m_bRunning = false; //线程运行开关

            //数据
            m_szMeterData    = "";   //仪表采集数据
            m_szReaderGUID   = "";   //读卡器全球唯一号
            m_szReaderCardNo = "";   //读卡器卡号
            m_szRtuData      = null; //rtu data

            //接管
            m_bSigned = false;

            //播放声音
            m_SoundPlayer = null;

            //硬盘录像机
            m_VideoRecord = null;
            m_VideoHandle = 0;
            m_Channel1    = 0;     //通道1句柄
            m_Channel2    = 0;     //通道2句柄
            m_Channel3    = 0;     //通道3句柄
            m_Channel4    = 0;     //通道4句柄
            m_Channel5    = 0;     //通道5句柄
            m_Channel6    = 0;     //通道6句柄
            m_bTalk       = false; //是否正在对讲
            m_TalkID      = 0;     //对讲句柄
            m_AudioNum    = 1;     //可使用音频数

            m_bSaved   = false;
            m_PreState = false;
            m_CurState = false;
        }