//CPstnMan PstnCnt; public FormDeviceSet(Panel _pnBase) { InitializeComponent(); InitNodePosView(pnLvBase); this.Width = 1272; this.Height = 866; this.TopLevel = false; this.Parent = _pnBase; tbUserUnit.Text = 0.01.ToString(); PstnDisp(); //모터 축에 대한 포지션 디스플레이 PM.SetWindow(pnMotrPos0, (int)mi.IDX_XCUT); PM.SetWindow(pnMotrPos1, (int)mi.IDX_XOUT); PM.SetWindow(pnMotrPos2, (int)mi.IDX_TTRN); PM.SetGetCmdPos((int)mi.IDX_XCUT, SML.MT.GetCmdPos); PM.SetGetCmdPos((int)mi.IDX_XOUT, SML.MT.GetCmdPos); PM.SetGetCmdPos((int)mi.IDX_TTRN, SML.MT.GetCmdPos); OM.LoadLastInfo(); PM.Load(OM.GetCrntDev().ToString()); PM.UpdatePstn(true); UpdateDevInfo(true); UpdateDevOptn(true); FraMotr = new FraMotr [(int)mi.MAX_MOTR]; FraCylinder = new FraCylOneBt[(int)ci.MAX_ACTR]; //FraOutput = new FraOutput [SM.IO._iMaxOut ]; //모터 축 수에 맞춰 FrameMotr 생성 for (int m = 0; m < (int)mi.MAX_MOTR; m++) { Control[] Ctrl = tcDeviceSet.Controls.Find("pnMotrJog" + m.ToString(), true); MOTION_DIR eDir = SM.MT_GetDirType((mi)m); FraMotr[m] = new FraMotr(); FraMotr[m].SetIdType((mi)m, eDir); FraMotr[m].TopLevel = false; FraMotr[m].Parent = Ctrl[0]; FraMotr[m].Show(); FraMotr[m].SetUnit(EN_UNIT_TYPE.utJog, 0); } //실린더 수에 맞춰 FrameCylinder 생성 for (int i = 0; i < (int)ci.MAX_ACTR; i++) { Control[] Ctrl = tcDeviceSet.Controls.Find("pnAtcr" + i.ToString(), true); FraCylinder[i] = new FraCylOneBt(); FraCylinder[i].TopLevel = false; switch (i) { default: break; case (int)ci.IDX_Hold1UpDn: FraCylinder[i].SetConfig((ci)i, SML.CL.GetName(i).ToString(), SML.CL.GetDirType(i), Ctrl[0]); break; case (int)ci.IDX_CutLtFwBw: FraCylinder[i].SetConfig((ci)i, SML.CL.GetName(i).ToString(), SML.CL.GetDirType(i), Ctrl[0]); break; case (int)ci.IDX_CutRtFwBw: FraCylinder[i].SetConfig((ci)i, SML.CL.GetName(i).ToString(), SML.CL.GetDirType(i), Ctrl[0]); break; case (int)ci.IDX_TwstLtDnUp: FraCylinder[i].SetConfig((ci)i, SML.CL.GetName(i).ToString(), SML.CL.GetDirType(i), Ctrl[0]); break; case (int)ci.IDX_TwstRtDnUp: FraCylinder[i].SetConfig((ci)i, SML.CL.GetName(i).ToString(), SML.CL.GetDirType(i), Ctrl[0]); break; case (int)ci.IDX_Hold2UpDn: FraCylinder[i].SetConfig((ci)i, SML.CL.GetName(i).ToString(), SML.CL.GetDirType(i), Ctrl[0]); break; case (int)ci.IDX_CutBaseUpDn: FraCylinder[i].SetConfig((ci)i, SML.CL.GetName(i).ToString(), SML.CL.GetDirType(i), Ctrl[0]); break; case (int)ci.IDX_OutDnUp: FraCylinder[i].SetConfig((ci)i, SML.CL.GetName(i).ToString(), SML.CL.GetDirType(i), Ctrl[0]); break; case (int)ci.IDX_CutterDnUp: FraCylinder[i].SetConfig((ci)i, SML.CL.GetName(i).ToString(), SML.CL.GetDirType(i), Ctrl[0]); break; } FraCylinder[i].Show(); } //Output 버튼 생성 const int iOutputBtnCnt = 3; FraOutput = new FraOutput[iOutputBtnCnt]; for (int i = 0; i < iOutputBtnCnt; i++) { FraOutput[i] = new FraOutput(); FraOutput[i].TopLevel = false; switch (i) { default: break; // case (int)yi.ySLD_Soldering : FraOutput[i].SetConfig(yi.ySLD_Soldering , SM.IO.GetYName((int)yi.ySLD_Soldering ) , pnIO0); break; // case (int)yi.ySLD_AirCleanOnOff: FraOutput[i].SetConfig(yi.ySLD_AirCleanOnOff, SM.IO.GetYName((int)yi.ySLD_AirCleanOnOff), pnIO1); break; } FraOutput[i].Show(); } UpdateNodePos(true); pbLine.Refresh(); }
static public void PM_SetGetCmdPos(mi _eMotrNo) { PM.SetGetCmdPos((uint)_eMotrNo, SML.MT.GetCmdPos); }