예제 #1
0
		/// <summary>
		/// UDP데이터 수신 이벤트
		/// </summary>
		/// <param name="obj"></param>
		/// <param name="args"></param>
		private void OnRecvUdpSocket(object obj, NCasUdpRecvEventArgs args){

			////Packet Parse
			//AddBizData(pase);


		}
예제 #2
0
        /// <summary>
        /// 지진해일 조작반 UDP 데이터 수신 이벤트
        /// </summary>
        /// <param name="sender"></param>
        /// <param name="e"></param>
        void recvUdpKey_ReceivedData(object sender, NCasUdpRecvEventArgs e)
        {
            byte[] tmpBuff = new byte[e.Len];
            System.Buffer.BlockCopy(e.Buff, 0, tmpBuff, 0, e.Len);

            if (tmpBuff[5] != 13)
            {
                return;
            }

            NCasProtocolBase       protoBase  = NCasProtocolFactory.ParseFrame(tmpBuff);
            NCasProtocolTc148Sub13 protoSub13 = protoBase as NCasProtocolTc148Sub13;
            OrderView19201080      orderView  = (OrderView19201080)this.dicViews[ViewKind.OrderView19201080];

            MethodInvoker invoker = delegate()
            {
                orderView.SetKeyPlc(protoSub13);
            };

            if (this.InvokeRequired)
            {
                this.Invoke(invoker);
            }
            else
            {
                invoker();
            }
        }
예제 #3
0
        /// <summary>
        /// 조작반 UDP 데이터 수신 이벤트
        /// </summary>
        /// <param name="sender"></param>
        /// <param name="e"></param>
        private void recvUdpKey_ReceivedData(object sender, NCasUdpRecvEventArgs e)
        {
            byte[] tmpBuff = new byte[e.Len];
            System.Buffer.BlockCopy(e.Buff, 0, tmpBuff, 0, e.Len);
            NCasPlcProtocolBase protoBase = NCasPlcProtocolFactory.ParseFrame(tmpBuff);

            if (protoBase.Command == NCasDefinePlcCommand.ReqStatusResponse)
            {
                NCasPlcProtocolReqStatusResponse protoStsResp = protoBase as NCasPlcProtocolReqStatusResponse;
                OrderView19201080 orderView = (OrderView19201080)this.dicViews[ViewKind.OrderView19201080];

                MethodInvoker invoker = delegate()
                {
                    orderView.SetKeyPlc(protoStsResp);
                };

                if (this.InvokeRequired)
                {
                    this.Invoke(invoker);
                }
                else
                {
                    invoker();
                }
            }
        }
예제 #4
0
        /// <summary>
        /// 중앙, 2중앙 발령 승계를 위한 데이터 수신
        /// </summary>
        /// <param name="sender"></param>
        /// <param name="e"></param>
        private void recvCenterAlarm_ReceivedData(object sender, NCasUdpRecvEventArgs e)
        {
            try
            {
                NCasProtocolBase protoBase = NCasProtocolFactory.ParseFrame(e.Buff);

                if (protoBase.TcCode == NCasDefineTcCode.TcAlarmOrder)
                {
                    NCasProtocolTc1 protoTc1 = protoBase as NCasProtocolTc1;

                    if (protoTc1.Source == NCasDefineOrderSource.CentCtrlRoom ||
                        protoTc1.Source == NCasDefineOrderSource.CentCtrlRoom2 ||
                        protoTc1.Source == NCasDefineOrderSource.CentCtrlRoom3)
                    {
                        if (protoTc1.AlarmKind == NCasDefineOrderKind.AlarmStandby)
                        {
                            OrderView19201080 orderView = (OrderView19201080)this.dicViews[ViewKind.OrderView19201080];

                            MethodInvoker invoker = delegate()
                            {
                                orderView.SetCenterAlarmOrder(true);
                            };

                            if (this.InvokeRequired)
                            {
                                this.Invoke(invoker);
                            }
                            else
                            {
                                invoker();
                            }
                        }
                        else if (protoTc1.AlarmKind == NCasDefineOrderKind.AlarmCancel)
                        {
                            OrderView19201080 orderView = (OrderView19201080)this.dicViews[ViewKind.OrderView19201080];

                            MethodInvoker invoker = delegate()
                            {
                                orderView.SetCenterAlarmOrder(false);
                            };

                            if (this.InvokeRequired)
                            {
                                this.Invoke(invoker);
                            }
                            else
                            {
                                invoker();
                            }
                        }
                    }
                }
            }
            catch (Exception ex)
            {
                NCasLoggingMng.ILogging.WriteLog("MainForm", "중앙, 2중앙 발령 승계를 위한 데이터 수신 Method Exception - " + ex.Message);
            }
        }
예제 #5
0
 /// <summary>
 /// GIS서버에서 수신받는 발령 데이터(TC 1)
 /// </summary>
 /// <param name="sender"></param>
 /// <param name="e"></param>
 private void recvUdpGis_ReceivedData(object sender, NCasUdpRecvEventArgs e)
 {
     try
     {
         NCasProtocolBase protoBase = NCasProtocolFactory.ParseFrame(e.Buff);
         NCasProtocolTc1  protoTc1  = protoBase as NCasProtocolTc1;
         this.mmfMng.WriteOrder(protoTc1);
     }
     catch (Exception ex)
     {
         NCasLoggingMng.ILogging.WriteLog("MainForm", "GIS서버에서 수신받는 Method Exception - " + ex.Message);
     }
 }
예제 #6
0
        /// <summary>
        /// 방송공유 UDP 데이터 수신 이벤트
        /// </summary>
        /// <param name="sender"></param>
        /// <param name="e"></param>
        private void recvUdpBroadShare_ReceivedData(object sender, NCasUdpRecvEventArgs e)
        {
            NCasKeyData keyData = new NCasKeyData(e.Buff);

            if (this.provInfo.IsBroadShareRequest == false)
            {
                return;
            }

            OrderView19201080 orderView = (OrderView19201080)this.dicViews[ViewKind.OrderView19201080];

            orderView.SetKeyBroadShare((keyData.KeyStatus == NCasKeyState.Check) ? true : false);
        }
예제 #7
0
        /// <summary>
        /// NCasLauncher에서 수신받는 프로그램 종료 데이터
        /// </summary>
        /// <param name="sender"></param>
        /// <param name="e"></param>
        void recvUdpLauncher_ReceivedData(object sender, NCasUdpRecvEventArgs e)
        {
            try
            {
                byte[] tmpBuff = new byte[e.Len];
                System.Buffer.BlockCopy(e.Buff, 0, tmpBuff, 0, e.Len);
                NCasLauncherCmdData launcherCmdData = new NCasLauncherCmdData(tmpBuff);

                if (launcherCmdData.Command == NCasLauncherCmd.CloseProcess)
                {
                    Application.Exit();
                }
            }
            catch (Exception ex)
            {
                NCasLoggingMng.ILogging.WriteLog("MainForm", "NCasLauncher에서 수신받는 Method Exception - " + ex.Message);
            }
        }
예제 #8
0
 /// <summary>
 /// CasMon UDP 데이터 수신 이벤트
 /// </summary>
 /// <param name="sender"></param>
 /// <param name="e"></param>
 void udpCasMon_ReceivedData(object sender, NCasUdpRecvEventArgs e)
 {
 }