コード例 #1
0
 static public int Close()
 {
     if (smodel != null)
     {
         smodel.Dispose();
         smodel = null;
     }
     if (smmanager != null)
     {
         smmanager.Abort();
         smmanager = null;
     }
     if (pmodel != null)
     {
         pmodel.LadderMode = LadderMode.Edit;
         SimuBrpoWindow bpwindow = pmodel.IFacade.BPWindow;
         bpwindow.Unroute(pmodel);
         bpwindow.SModel   = null;
         bpwindow.SManager = null;
         pmodel            = null;
     }
     return(CLOSE_OK);
 }
コード例 #2
0
        static public int Simulate(ProjectModel _pmodel)
        {
            pmodel    = _pmodel;
            smodel    = new SimulateModel();
            smmanager = new SimulateMonitorManager(_pmodel.MMonitorManager.MMWindow, smodel);
            Setup(pmodel.MainRoutine);
            foreach (LadderDiagramViewModel lvdmodel in pmodel.SubRoutines)
            {
                Setup(lvdmodel);
            }
            int ret = GenerateHelper.GenerateSimu(pmodel);

            switch (ret)
            {
            case SimulateDllModel.LOADDLL_OK:
                smodel.ShowWindow();
                pmodel.LadderMode = LadderMode.Simulate;
                smmanager.Initialize();
                SimuBrpoWindow bpwindow = pmodel.IFacade.BPWindow;
                bpwindow.Route(pmodel);
                bpwindow.SModel   = smodel;
                bpwindow.SManager = smodel.SManager;
                smodel.Initialize();
                break;

            case SimulateDllModel.LOADDLL_CANNOT_FOUND_DLLFILE:
                LocalizedMessageBox.Show("Error : 找不到生成的dll文件\r\n", LocalizedMessageIcon.Error);
                break;

            case SimulateDllModel.LOADDLL_CANNOT_FOUND_GETBIT:
                LocalizedMessageBox.Show("Error : 找不到入口GetBit\r\n", LocalizedMessageIcon.Error);
                break;

            case SimulateDllModel.LOADDLL_CANNOT_FOUND_GETWORD:
                LocalizedMessageBox.Show("Error : 找不到入口GetWord\r\n", LocalizedMessageIcon.Error);
                break;

            case SimulateDllModel.LOADDLL_CANNOT_FOUND_GETDWORD:
                LocalizedMessageBox.Show("Error : 找不到入口GetDWord\r\n", LocalizedMessageIcon.Error);
                break;

            case SimulateDllModel.LOADDLL_CANNOT_FOUND_GETFLOAT:
                LocalizedMessageBox.Show("Error : 找不到入口GetFloat\r\n", LocalizedMessageIcon.Error);
                break;

            case SimulateDllModel.LOADDLL_CANNOT_FOUND_GETFEQ:
                LocalizedMessageBox.Show("Error : 找不到入口GetFeq\r\n", LocalizedMessageIcon.Error);
                break;

            case SimulateDllModel.LOADDLL_CANNOT_FOUND_SETBIT:
                LocalizedMessageBox.Show("Error : 找不到入口SetBit\r\n", LocalizedMessageIcon.Error);
                break;

            case SimulateDllModel.LOADDLL_CANNOT_FOUND_SETWORD:
                LocalizedMessageBox.Show("Error : 找不到入口SetWord\r\n", LocalizedMessageIcon.Error);
                break;

            case SimulateDllModel.LOADDLL_CANNOT_FOUND_SETDWORD:
                LocalizedMessageBox.Show("Error : 找不到入口SetDWord\r\n", LocalizedMessageIcon.Error);
                break;

            case SimulateDllModel.LOADDLL_CANNOT_FOUND_SETFLOAT:
                LocalizedMessageBox.Show("Error : 找不到入口SetFloat\r\n", LocalizedMessageIcon.Error);
                break;

            case SimulateDllModel.LOADDLL_CANNOT_FOUND_SETFEQ:
                LocalizedMessageBox.Show("Error : 找不到入口SetFeq\r\n", LocalizedMessageIcon.Error);
                break;

            case SimulateDllModel.LOADDLL_CANNOT_FOUND_BEFORERUNLADDER:
                LocalizedMessageBox.Show("Error : 找不到入口BeforeRunLadder\r\n", LocalizedMessageIcon.Error);
                break;

            case SimulateDllModel.LOADDLL_CANNOT_FOUND_AFTERRUNLADDER:
                LocalizedMessageBox.Show("Error : 找不到入口AfterRunLadder\r\n", LocalizedMessageIcon.Error);
                break;

            case SimulateDllModel.LOADDLL_CANNOT_FOUND_INITRUNLADDER:
                LocalizedMessageBox.Show("Error : 找不到入口InitRunLadder\r\n", LocalizedMessageIcon.Error);
                break;

            case SimulateDllModel.LOADDLL_CANNNT_FOUND_GETCLOCK:
                LocalizedMessageBox.Show("Error : 找不到入口GetClock\r\n", LocalizedMessageIcon.Error);
                break;

            case SimulateDllModel.LOADDLL_CANNOT_FOUND_INITCLOCK:
                LocalizedMessageBox.Show("Error : 找不到入口InitClock\r\n", LocalizedMessageIcon.Error);
                break;

            case SimulateDllModel.LOADDLL_CANNOT_FOUND_SETCLOCKRATE:
                LocalizedMessageBox.Show("Error : 找不到入口SetClockRate\r\n", LocalizedMessageIcon.Error);
                break;

            default:
                LocalizedMessageBox.Show("Error : 发生未知错误\r\n", LocalizedMessageIcon.Error);
                break;
            }
            return(ret);
        }