private static void TestZProtocolProcess()
        {
            RS232 rs232 = new RS232("COM4", 115200);

            rs232.Open();
            ZProtocolProcess zProtocolProcess = new ZProtocolProcess(rs232);

            zProtocolProcess.Start();
            Console.WriteLine("Ready...");
            //while (true)
            //{
            //    Console.ReadLine();
            //    zProtocolProcess.WriteFrame(1, 2, 0);
            //    zProtocolProcess.AddPackage(0xc0, 0xff, new byte[12]);
            //    zProtocolProcess.Send();
            //    Console.WriteLine("Send");
            //}
            byte[] bs = new byte[12];
            for (int i = 0; i < 12; i++)
            {
                bs[i] = (byte)i;
            }
            Console.ReadLine();
            for (int i = 0; i < 100; i++)
            {
                zProtocolProcess.WriteFrame((byte)i, (byte)(i + 1), 0);
                zProtocolProcess.AddBlock((byte)(i + 100), 0xff, bs);
                zProtocolProcess.Send();
                Console.WriteLine("Send");
                Thread.Sleep(15);
            }
        }
Пример #2
0
 // RS-232 Open
 private void RS232_Open()
 {
     /* RS232 통신 */
     if (!RS232.IsOpen)
     {
         /* 통신 수동 설정
          * ConfigXML configXML = new ConfigXML(Application.StartupPath + "\\Config.xml");
          *
          * RS232.PortName = configXML.GetXmlData("USN_PRT_SYSTEM/CommSetting", "PortName");
          * RS232.BaudRate = int.Parse(configXML.GetXmlData("USN_PRT_SYSTEM/CommSetting", "BaudRate"));
          * RS232.DataBits = int.Parse(configXML.GetXmlData("USN_PRT_SYSTEM/CommSetting", "DataBits"));
          * RS232.Parity = Common.GetParity(configXML.GetXmlData("USN_PRT_SYSTEM/CommSetting", "Parity"));
          * RS232.StopBits = Common.GetStopBits(configXML.GetXmlData("USN_PRT_SYSTEM/CommSetting", "StopBits"));
          */
         try
         {
             RS232.Open();
             state.Text = "상태 : 포트 열림";
         }
         catch (Exception e)
         {
             MessageBox.Show("msg -> " + e.StackTrace);
         }
     }
 }
Пример #3
0
 public bool Open()
 {
     if (RS.Open())
     {
         return(RS.Query(Status) == StatusOK
                                 ? true
                                 : false);
     }
     return(false);
 }
Пример #4
0
 /// <summary>
 /// 포트 접속
 /// </summary>
 private void RS232_Open()
 {
     /* RS232 통신 */
     if (!RS232.IsOpen)
     {
         try
         {
             RS232.Encoding = System.Text.Encoding.GetEncoding(1252);
             RS232.Open();
         }
         catch (Exception e)
         {
             MessageBox.Show("msg -> " + e.StackTrace);
         }
     }
 }
Пример #5
0
 private void prepareUserEnvironment()
 {
     try
     {
         if (RS232.IsOpen)
         {
             RS232.Close();
         }
         RS232.NewLine  = "<EOM>";
         RS232.BaudRate = 19200;
         RS232.Open();
     }
     catch (Exception)
     {
         MessageBox.Show("Seri Port Açılamadı", "Hata", MessageBoxButtons.OK, MessageBoxIcon.Exclamation);
     }
 }
Пример #6
0
        /// <summary>
        /// Rozpoczęcie sczytywania stanów zbiorników przez COM
        /// </summary>
        public void Init()
        {
            _measurementBL = new MeasurementBL();
            _measurementBL.Init();

            _containerBL = new ContainerBL();
            _containerBL.Init();

            SystemConfigBL configBL = new SystemConfigBL();
            configBL.Init();
            configBL.FillRecord();

            _rs232 = new RS232();
            _rs232.ReadTimeOut = 1000;
            _rs232.DataReceivedEvent += new RS232.DataReceived(_rs232_DataReceivedEvent);
            _rs232.CanReadExisting = true;
            _rs232.Open(configBL.MainRow.ComName, 1200);
        }
Пример #7
0
        private static void OpenBatteryCommunicationChannel(int moduleID = 10)
        {
            strCurrentID = moduleID.ToString();
            moduleID     = moduleID - 1;

            checked
            {
                try
                {
                    boolFirstBalanceFlag = true;

                    if (paramcom.IsOpen)
                    {
                        paramcom.Close();
                    }
                    try
                    {
                        paramcom.Open(strCurrentCOM, 9600, 8, RS232.DataParity.Parity_Mark, RS232.DataStopBit.StopBit_1, 512);
                        paramcom.Write(paramBattery.Wakeup());
                        paramcom.Close();
                        paramcom.Open(strCurrentCOM, 115200, 8, RS232.DataParity.Parity_Mark, RS232.DataStopBit.StopBit_1, 512);
                    }
                    catch (Exception ex3)
                    {
                        WriteError("Incorrect com port selected!");
                        throw new Exception("Open communication port fail");
                    }
                    try
                    {
                        paramBattery.ADDRESS = moduleID;
                        paramcom.Write(paramBattery.ModelReadSend());
                        if (paramcom.Read(9) != -1 && paramBattery.ModelReadReturn(paramcom.InputStream))
                        {
                            strID = (int)Math.Round((double)strID + Convert.ToDouble((moduleID + 1).ToString()));
                            if (Convert.ToDouble(strCurrentID) == (double)strID)
                            {
                                m_model = paramBattery.MODEL;
                                paramcom.Close();
                            }
                            strID = 0;
                        }
                    }
                    catch (Exception ex5)
                    {
                        throw ex5;
                    }
                    switch (m_model)
                    {
                    case "U1-12XP Rev. 1":
                    case "U24-12XP Rev. 1":
                    case "U27-12XP Rev. 1":
                    case "U1-12XP Rev. 2":
                    case "U24-12XP Rev. 2":
                    case "U27-12XP Rev. 2":
                        strVoltNO = Convert.ToString(4);
                        break;

                    case "UEV-18XP Rev. 1":
                    case "UEV-18XP Rev. 2":
                        strVoltNO = Convert.ToString(6);
                        break;
                    }
                    paramBattery.MODE    = strVoltNO;
                    paramBattery.ADDRESS = moduleID;

                    if (paramBattery.HardwareRevision == 2)
                    {
                        try
                        {
                            paramcom.Open(strCurrentCOM, 9600, 8, RS232.DataParity.Parity_Mark, RS232.DataStopBit.StopBit_1, 512);
                        }
                        catch (Exception ex7)
                        {
                            throw new Exception("Open Communication Port Fail");
                        }
                    }
                    paramBattery.MODE = strVoltNO;
                    try
                    {
                        paramcom.Write(paramBattery.Wakeup());
                    }
                    catch (Exception ex)
                    {
                        //TODO log
                        throw new Exception("Wakeup Battery Fail");
                    }
                    paramcom.Close();
                    try
                    {
                        paramcom.Open(strCurrentCOM, 115200, 8, RS232.DataParity.Parity_Mark, RS232.DataStopBit.StopBit_1, 512);
                    }
                    catch (Exception ex11)
                    {
                        throw new Exception("Open communication port Fail");
                    }
                    try
                    {
                        Openbalancing(paramcom, paramBattery);
                    }
                    catch (Exception ex13)
                    {
                        throw new Exception("Pls check config:the Com port or ModuleID ");
                    }
                    paramcom.Write(paramBattery.ExitCalibrationMode());
                    paramBattery.MODE  = strVoltNO;
                    strErrorMessage    = "";
                    timer.Enabled      = true;
                    boolCommnucateflag = true;
                }
                catch (Exception ex15)
                {
                    paramcom.Close();
                    WriteError($"Exception: { ex15.Message }");
                }
                finally
                {
                }
            }
        }
 private static void TestZProtocolProcess()
 {
     RS232 rs232 = new RS232("COM4", 115200);
     rs232.Open();
     ZProtocolProcess zProtocolProcess = new ZProtocolProcess(rs232);
     zProtocolProcess.Start();
     Console.WriteLine("Ready...");
     //while (true)
     //{
     //    Console.ReadLine();
     //    zProtocolProcess.WriteFrame(1, 2, 0);
     //    zProtocolProcess.AddPackage(0xc0, 0xff, new byte[12]);
     //    zProtocolProcess.Send();
     //    Console.WriteLine("Send");
     //}
     byte[] bs = new byte[12];
     for (int i = 0; i < 12; i++)
     {
         bs[i] = (byte)i;
     }
     Console.ReadLine();
     for (int i = 0; i < 100; i++)
     {
         zProtocolProcess.WriteFrame((byte)i, (byte)(i + 1), 0);
         zProtocolProcess.AddBlock((byte)(i + 100), 0xff, bs);
         zProtocolProcess.Send();
         Console.WriteLine("Send");
         Thread.Sleep(15);
     }
 }
Пример #9
0
 public void TestInit()
 {
     _rs232 = new RS232();
     _rs232.ReadTimeOut = 1000;
     _rs232.DataReceivedEvent += new RS232.DataReceived(_rs232_DataReceivedEventTest);
     _rs232.CanReadExisting = true;
     _rs232.Open("COM1", 1200);
     _rs232.Start();
 }