Esempio n. 1
0
        void CLEAR_MEMORY()
        {
            GLOBERR = 0;

            byte ct    = 1;
            bool ZAVIS = false;

            byte cc = data.cod_clear_memory;

            while (ct < 200)
            {
                if (!data.connOK)
                {
                    pFORM.AddText("-Отмена ОЧИСТКИ -  нет связи\n"); return;
                }

                if (!data.TABLOERROR1 && !data.TABLOERROR2)
                {
                    if (ct == 50 || ct == 99 || ct == 150 || ct == 25)
                    {
                        времяВтабло(); Thread.Sleep(1000);
                    }
                }
                //  if (ct > data.t.s1 && ct < data.t.e5) continue;//пропускаем то что будем писать
                int cterr = 0;
                if (!data.TABLOERROR1 && !data.TABLOERROR2)
                {
                    ZAVIS = false;
                }


                while ((data.TABLOERROR1 || data.TABLOERROR2) && ZAVIS)//уже рестарт зависание
                {
                    Thread.Sleep(100);
                }


                while (data.TABLOERROR1 || data.TABLOERROR2)
                {
                    if (!data.TABLOERROR1 && !data.TABLOERROR2)
                    {
                        ZAVIS = false;
                    }
                    while ((data.TABLOERROR1 || data.TABLOERROR2) && ZAVIS)//уже рестарт зависание
                    {
                        Thread.Sleep(100);
                    }


                    Thread.Sleep(100);   //ждем пока нет ошибок
                    cterr++;



                    if (cterr > 50)
                    {
                        pFORM.AddTextCONT(" рест;"); if (ct > 1)
                        {
                            ct--;
                        }
                        ZAVIS = true; cterr = 0;
                        SEND2(0x38A, 8, ct, 0x16, cc, cc, cc, cc, cc, cc, ""); continue;
                    }
                }



                if (data.pauseWRITE)
                {
                    pFORM.AddText("\n ПАУЗА ..");
                    while (data.pauseWRITE)
                    {
                        Thread.Sleep(100);
                    }
                    pFORM.AddText(" продолжаем\n");
                }


                if (!ZAVIS)
                {
                    for (int e = 0; e < 9; e++)
                    {
                        if (data.TABLOERROR1 || data.TABLOERROR2)
                        {
                            if (ct > 1)
                            {
                                ct--;
                            }
                            break;
                        }  //сбой возврат на пред строку


                        SEND2(0x38A, 8, ct, 0x06, cc, cc, cc, cc, cc, cc, "");
                    }

                    if (data.TABLOERROR1 || data.TABLOERROR2)
                    {
                        continue;
                    }

                    SEND2(0x38A, 8, ct, 0x16, cc, cc, cc, cc, cc, cc, "");
                    pFORM.AddTextCONT(String.Format("{0};", ct));
                    ct++;
                }
            }

            pFORM.AddTextCONT("\n");
            pFORM.AddText(String.Format("ОЧИСТКА ВЫПОЛНЕНА Ошибок " + String.Format("{0}.\n", GLOBERR)));



            времяВтабло(); Thread.Sleep(1000);

            pFORM.AddTextCONT("\nИдет запись 1 сообщения ...\n");
            if (!WRITE(data.str1, data.t.s1, data.t.e1))
            {
                pFORM.AddText(String.Format("\nОШИБКА\n")); return;
            }

            времяВтабло(); Thread.Sleep(1000);

            pFORM.AddTextCONT("\nИдет запись 2 сообщения ...\n");
            if (!WRITE(data.str2, data.t.s2, data.t.e2))
            {
                pFORM.AddText(String.Format("\nОШИБКА\n")); return;
            }

            времяВтабло(); Thread.Sleep(1000);

            pFORM.AddTextCONT("\nИдет запись 3 сообщения ...\n");
            if (!WRITE(data.str3, data.t.s3, data.t.e3))
            {
                pFORM.AddText(String.Format("\nОШИБКА\n")); return;
            }

            времяВтабло(); Thread.Sleep(1000);

            pFORM.AddTextCONT("\nИдет запись 4 сообщения ...\n");
            if (!WRITE(data.str4, data.t.s4, data.t.e4))
            {
                pFORM.AddText(String.Format("\nОШИБКА\n")); return;
            }

            времяВтабло(); Thread.Sleep(1000);

            pFORM.AddTextCONT("\nИдет запись 5 сообщения ...\n");
            if (!WRITE(data.str5, data.t.s5, data.t.e5))
            {
                pFORM.AddText(String.Format("\nОШИБКА\n")); return;
            }



            pFORM.AddTextCONT("\nВОССТАНОВЛЕНИЕ ТАБЛО ВЫПОЛНЕНО. Ошибок " + String.Format("{0}.\n", GLOBERR));
        }