예제 #1
0
        public void SetErrConfig(int _iNo, TPara _tErrConfig)
        {
            //if(_iNo < 0 || _iNo >= m_iMaxErr) Log.ShowMessageFunc(string.Format("ERR:{0} is not in between 0 and MaxErr:{1}",_iNo,m_iMaxErr));
            ////줄바꿈 치환
            //TPara Para = _tErrConfig;
            //String[] sSplit = Para.sAction.Split('\n');
            //Para.sAction = "";
            //foreach(var i in sSplit) {
            //    if(i.ToString() != "") Para.sAction += i.ToString().Trim() + "$";
            //}
            //
            //m_aErr[_iNo].Para = _tErrConfig;

            if (_iNo < 0 || _iNo >= m_iMaxErr)
            {
                Log.ShowMessageFunc(string.Format("ERR:{0} is not in between 0 and MaxErr:{1}", _iNo, m_iMaxErr));
            }
            //줄바꿈 치환
            TPara Para = _tErrConfig;

            String[] sSplit = Para.sAction.Split('\n');
            Para.sAction = "";
            foreach (var i in sSplit)
            {
                if (i.ToString() != "")
                {
                    Para.sAction += i.ToString().Trim() + "$";
                }
            }

            m_aErr[_iNo].Para = Para;
        }
예제 #2
0
        public TPara GetErrConfig(int _iNo)
        {
            //if(_iNo < 0 || _iNo >= m_iMaxErr) Log.ShowMessageFunc(string.Format("ERR:{0} is not in between 0 and MaxErr:{1}",_iNo,m_iMaxErr));
            ////줄바꿈 치환
            //TPara Para = m_aErr[_iNo].Para ;
            //String[] sSplit = Para.sAction.Split('$');
            //Para.sAction = "";
            //foreach(var i in sSplit) {
            //    if(i.ToString() != "")
            //    Para.sAction += i.ToString().Trim() + "\r\n";
            //}
            //
            //return m_aErr[_iNo].Para;

            if (_iNo < 0 || _iNo >= m_iMaxErr)
            {
                Log.ShowMessageFunc(string.Format("ERR:{0} is not in between 0 and MaxErr:{1}", _iNo, m_iMaxErr));
            }
            //줄바꿈 치환
            TPara Para = m_aErr[_iNo].Para;

            String[] sSplit = Para.sAction.Split('$');
            Para.sAction = "";
            foreach (var i in sSplit)
            {
                if (i.ToString() != "")
                {
                    Para.sAction += i.ToString().Trim() + "\r\n";
                }
            }

            return(Para);
        }
예제 #3
0
        public PortAdmin()
        {
            InitializeComponent();

            modelPort = visaORM.TPara.FirstOrDefault(p => p.FParaID == "paraPort");
            if (modelPort == null)
            {
                MessageBox.Show("端口参数丢失,请补充数据");
                return;
            }
            else
            {
                txtPort.Text = modelPort.FParaValue.ToString();
            }

            modelProtocol = visaORM.TPara.FirstOrDefault(p => p.FParaID == "paraProtocol");
            if (modelProtocol == null)
            {
                MessageBox.Show("协议参数丢失,请补充数据");
                return;
            }
            else
            {
                txtProtocol.Text = modelProtocol.FParaValue.ToString();
            }
        }
예제 #4
0
 public void SetTLampPara(TPara _tLampPara)
 {
     //m_aAdd[(int)_eStat] = _tLampPara;
     Para.iRedAdd = _tLampPara.iRedAdd;
     Para.iYelAdd = _tLampPara.iYelAdd;
     Para.iGrnAdd = _tLampPara.iGrnAdd;
     Para.iSndAdd = _tLampPara.iSndAdd;
 }
예제 #5
0
        public void SetErrConfig(int _iNo, TPara _tErrConfig)
        {
            if (_iNo < 0 || _iNo >= m_iMaxErr)
            {
                Log.ShowMessageFunc(string.Format("ERR:{0} is not in between 0 and MaxErr:{1}", _iNo, m_iMaxErr));
            }

            m_aErr[_iNo].Para = _tErrConfig;
        }
예제 #6
0
파일: SML.cs 프로젝트: zoro-008/Works
        public static void Init(TPara _tPara)
        {
            ERR = new CErrMan();
            ERR.Init(_tPara.eLanSel,
                     _tPara.sParaFolderPath,
                     _tPara.Err.eErr,
                     _tPara.Err.bUseErrPic);

            DIO = new CDioMan();
            DIO.Init(_tPara.eLanSel,
                     _tPara.sParaFolderPath,
                     _tPara.Dio.eDioSel,
                     _tPara.Dio.eX,
                     _tPara.Dio.eY);

            AIO = new CAioMan();
            AIO.Init(_tPara.eLanSel,
                     _tPara.sParaFolderPath,
                     _tPara.Aio.eAioSel,
                     _tPara.Aio.eX,
                     _tPara.Aio.eY,
                     _tPara.Aio.iRangeAMin,
                     _tPara.Aio.iRangeAMax);

            CYL = new CCylinderMan();
            CYL.Init(_tPara.eLanSel,
                     _tPara.sParaFolderPath,
                     _tPara.Cyl.eCyl,
                     DIO);

            MTR = new CMotrMan();
            MTR.Init(_tPara.eLanSel,
                     _tPara.sParaFolderPath,
                     _tPara.Mtr.eMtrSel,
                     _tPara.Mtr.eMtr,
                     DIO);

            TWL = new CTowerLampMan();
            TWL.Init(_tPara.eLanSel,
                     _tPara.sParaFolderPath,
                     DIO);

            FrmLogOn   = new FormLogOn();
            FrmDllMain = new FormDllMain(_tPara.iWidth, _tPara.iHeight, _tPara.eLanSel, _tPara.bTabHides);

            Log.StartLogMan();
        }
예제 #7
0
        public static void Init(TPara _tPara)
        {
            ER = new CErrMan();
            ER.Init(_tPara.eLanSel,
                    _tPara.sParaFolderPath,
                    _tPara.iCntErr,
                    _tPara.bUseErrPic);

            IO = new CDioMan();
            IO.Init(_tPara.eLanSel,
                    _tPara.sParaFolderPath,
                    _tPara.iCntDIn,
                    _tPara.iCntDOut,
                    _tPara.eDio);

            AIO = new CAioMan();
            AIO.Init(_tPara.eLanSel,
                     _tPara.sParaFolderPath,
                     _tPara.iCntAIn,
                     _tPara.iCntAOut,
                     _tPara.iRangeAMin,
                     _tPara.iRangeAMax,
                     _tPara.eAio);

            CL = new CCylinderMan();
            CL.Init(_tPara.eLanSel,
                    _tPara.sParaFolderPath,
                    _tPara.iCntCylinder,
                    IO);

            MT = new CMotrMan();
            MT.Init(_tPara.eLanSel,
                    _tPara.sParaFolderPath,
                    _tPara.iCntMotr,
                    _tPara.eMotors,
                    IO);

            TL = new CTowerLampMan();
            TL.Init(_tPara.sParaFolderPath,
                    IO);

            FrmLogOn   = new FormLogOn();
            FrmDllMain = new FormDllMain(_tPara.iWidth, _tPara.iHeight, _tPara.bTabHides);

            Log.StartLogMan();
        }
예제 #8
0
        //bool     bManMode ;

        public void Init(ref TPara _tPara)
        {
            Para = _tPara;

            //c:\\Control\\VisnRB_JobChange.dat
            string        sPath = Para.sVisnFolder; //Dir value to save
            DirectoryInfo di    = new DirectoryInfo(sPath);

            if (!di.Exists)
            {
                di.Create();
            }

            for (int i = 0; i < (int)vs.MAX_VISN_SEND; i++)
            {
                VisnCycle[i].tmCycle = new CDelayTimer();
                VisnCycle[i].tmStep  = new CDelayTimer();
                VisnCycle[i].tmDelay = new CDelayTimer();
            }
        }
예제 #9
0
 public void SetOutputPara(int _iNo, TPara _tPara)
 {
     m_aOut[_iNo].Para = _tPara;
 }
예제 #10
0
 public void SetInputPara(int _iNo, TPara _tPara)
 {
     m_aIn[_iNo].Para = _tPara;
 }
예제 #11
0
파일: VisnComm.cs 프로젝트: zoro-008/Works
 public VisnCom(TPara _tPara)
 {
     Para    = _tPara;
     sErrMsg = "";
 }
예제 #12
0
파일: ArrayPos.cs 프로젝트: zoro-008/Works
        public bool SetPara(TPara _tPara)
        {
            //if(_tPara.iWorkXCnt < 1)
            //{
            //    sError = "iWorkXCnt have to be bigger than 0" ;
            //    return false ;
            //}
            //if(_tPara.iWorkYCnt < 1)
            //{
            //    sError = "iWorkYCnt have to be bigger than 0" ;
            //    return false ;
            //}
            if (_tPara.iColCnt < 1)
            {
                sError = "iColCnt have to be bigger than 0";
                return(false);
            }
            if (_tPara.iRowCnt < 1)
            {
                sError = "iRowCnt have to be bigger than 0";
                return(false);
            }
            if (_tPara.iColGrCnt >= _tPara.iColCnt)
            {
                sError = "iColGrCnt have to be smaller than iColCnt";
                return(false);
            }
            if (_tPara.iRowGrCnt >= _tPara.iRowCnt)
            {
                sError = "iRowGrCnt have to be smaller than iRowCnt";
                return(false);
            }
            if (_tPara.iColSbGrCnt != 0 && _tPara.iColGrCnt == 0) //서브그룹카운트 설정전에 그룹카운트를 설정해야 함.
            {
                sError = "Set iColGrCnt first";
                return(false);
            }
            if (_tPara.iRowSbGrCnt != 0 && _tPara.iRowGrCnt == 0)
            {
                sError = "Set iRowGrCnt first";
                return(false);
            }

            //그룹카운트 체크.
            int iColCntInGroup = _tPara.iColCnt;

            if (_tPara.iColGrCnt != 0)
            {
                if (iColCntInGroup % _tPara.iColGrCnt != 0)
                {
                    sError = "iColCnt divided by iColGrCnt have to be integer";  //그룹카운트로 나눴을때 딱 떨어져야 함.
                    return(false);
                }
                iColCntInGroup = iColCntInGroup / _tPara.iColGrCnt;
            }
            if (_tPara.iColSbGrCnt != 0)
            {
                if (iColCntInGroup % _tPara.iColSbGrCnt != 0)
                {
                    sError = "iColCnt divided by iColGrCnt divided by iColCntInGroup have to be integer";  //서브그룹카운트로 나눴을때 딱 떨어져야 함.
                    return(false);
                }
            }

            //그룹카운트 체크.
            int iRowCntInGroup = _tPara.iRowCnt;

            if (_tPara.iRowGrCnt != 0)
            {
                if (iRowCntInGroup % _tPara.iRowGrCnt != 0)
                {
                    sError = "iRowCnt divided by iRowGrCnt have to be integer";  //그룹카운트로 나눴을때 딱 떨어져야 함.
                    return(false);
                }
                iRowCntInGroup = iRowCntInGroup / _tPara.iRowGrCnt;
            }
            if (_tPara.iRowSbGrCnt != 0)
            {
                if (iRowCntInGroup % _tPara.iRowSbGrCnt != 0)
                {
                    sError = "iRowCnt divided by iRowGrCnt divided by iRowCntInGroup have to be integer";  //서브그룹카운트로 나눴을때 딱 떨어져야 함.
                    return(false);
                }
            }

            Para = _tPara;
            return(true);
        }