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)); }