Recognition error 2001

Ошибка 2001 Ошибка доступа 2001 ошибки могут привести к зависанию или сбою компьютера, а также к возможному заражению вредоносным ПО. Выполните следующие простые действия, чтобы исправить Runtime Errors ошибки быстро и просто.

В этой статье представлена ошибка с номером Ошибка 2001, известная как Ошибка доступа 2001, описанная как Ошибка 2001: Возникла ошибка в приложении Microsoft Access. Приложение будет закрыто. Приносим свои извинения за неудобства.

О программе Runtime Ошибка 2001

Время выполнения Ошибка 2001 происходит, когда Microsoft Access дает сбой или падает во время запуска, отсюда и название. Это не обязательно означает, что код был каким-то образом поврежден, просто он не сработал во время выполнения. Такая ошибка появляется на экране в виде раздражающего уведомления, если ее не устранить. Вот симптомы, причины и способы устранения проблемы.

Определения (Бета)

Здесь мы приводим некоторые определения слов, содержащихся в вашей ошибке, в попытке помочь вам понять вашу проблему. Эта работа продолжается, поэтому иногда мы можем неправильно определить слово, так что не стесняйтесь пропустить этот раздел!

  • Access — НЕ ИСПОЛЬЗУЙТЕ этот тег для Microsoft Access, используйте вместо него [ms-access]
  • Access — Microsoft Access, также известная как Microsoft Office Access, это система управления базами данных от Microsoft, которая обычно сочетает в себе реляционный Microsoft JetACE Database Engine с графическим пользовательским интерфейсом и инструментами разработки программного обеспечения.
  • Microsoft Access — Microsoft Access, также известный как Microsoft Office Access, представляет собой систему управления базами данных от Microsoft, которая обычно сочетает в себе реляционное ядро ​​СУБД Microsoft JetACE с графическим пользовательским интерфейсом и инструментами разработки программного обеспечения.

Симптомы Ошибка 2001 — Ошибка доступа 2001

Ошибки времени выполнения происходят без предупреждения. Сообщение об ошибке может появиться на экране при любом запуске %программы%. Фактически, сообщение об ошибке или другое диалоговое окно может появляться снова и снова, если не принять меры на ранней стадии.

Возможны случаи удаления файлов или появления новых файлов. Хотя этот симптом в основном связан с заражением вирусом, его можно отнести к симптомам ошибки времени выполнения, поскольку заражение вирусом является одной из причин ошибки времени выполнения. Пользователь также может столкнуться с внезапным падением скорости интернет-соединения, но, опять же, это не всегда так.

Fix Ошибка доступа 2001 (Error Ошибка 2001)
(Только для примера)

Причины Ошибка доступа 2001 — Ошибка 2001

При разработке программного обеспечения программисты составляют код, предвидя возникновение ошибок. Однако идеальных проектов не бывает, поскольку ошибки можно ожидать даже при самом лучшем дизайне программы. Глюки могут произойти во время выполнения программы, если определенная ошибка не была обнаружена и устранена во время проектирования и тестирования.

Ошибки во время выполнения обычно вызваны несовместимостью программ, запущенных в одно и то же время. Они также могут возникать из-за проблем с памятью, плохого графического драйвера или заражения вирусом. Каким бы ни был случай, проблему необходимо решить немедленно, чтобы избежать дальнейших проблем. Ниже приведены способы устранения ошибки.

Методы исправления

Ошибки времени выполнения могут быть раздражающими и постоянными, но это не совсем безнадежно, существует возможность ремонта. Вот способы сделать это.

Если метод ремонта вам подошел, пожалуйста, нажмите кнопку upvote слева от ответа, это позволит другим пользователям узнать, какой метод ремонта на данный момент работает лучше всего.

Обратите внимание: ни ErrorVault.com, ни его авторы не несут ответственности за результаты действий, предпринятых при использовании любого из методов ремонта, перечисленных на этой странице — вы выполняете эти шаги на свой страх и риск.

Метод 1 — Закройте конфликтующие программы

Когда вы получаете ошибку во время выполнения, имейте в виду, что это происходит из-за программ, которые конфликтуют друг с другом. Первое, что вы можете сделать, чтобы решить проблему, — это остановить эти конфликтующие программы.

  • Откройте диспетчер задач, одновременно нажав Ctrl-Alt-Del. Это позволит вам увидеть список запущенных в данный момент программ.
  • Перейдите на вкладку «Процессы» и остановите программы одну за другой, выделив каждую программу и нажав кнопку «Завершить процесс».
  • Вам нужно будет следить за тем, будет ли сообщение об ошибке появляться каждый раз при остановке процесса.
  • Как только вы определите, какая программа вызывает ошибку, вы можете перейти к следующему этапу устранения неполадок, переустановив приложение.

Метод 2 — Обновите / переустановите конфликтующие программы

Использование панели управления

  • В Windows 7 нажмите кнопку «Пуск», затем нажмите «Панель управления», затем «Удалить программу».
  • В Windows 8 нажмите кнопку «Пуск», затем прокрутите вниз и нажмите «Дополнительные настройки», затем нажмите «Панель управления»> «Удалить программу».
  • Для Windows 10 просто введите «Панель управления» в поле поиска и щелкните результат, затем нажмите «Удалить программу».
  • В разделе «Программы и компоненты» щелкните проблемную программу и нажмите «Обновить» или «Удалить».
  • Если вы выбрали обновление, вам просто нужно будет следовать подсказке, чтобы завершить процесс, однако, если вы выбрали «Удалить», вы будете следовать подсказке, чтобы удалить, а затем повторно загрузить или использовать установочный диск приложения для переустановки. программа.

Использование других методов

  • В Windows 7 список всех установленных программ можно найти, нажав кнопку «Пуск» и наведя указатель мыши на список, отображаемый на вкладке. Вы можете увидеть в этом списке утилиту для удаления программы. Вы можете продолжить и удалить с помощью утилит, доступных на этой вкладке.
  • В Windows 10 вы можете нажать «Пуск», затем «Настройка», а затем — «Приложения».
  • Прокрутите вниз, чтобы увидеть список приложений и функций, установленных на вашем компьютере.
  • Щелкните программу, которая вызывает ошибку времени выполнения, затем вы можете удалить ее или щелкнуть Дополнительные параметры, чтобы сбросить приложение.

Метод 3 — Обновите программу защиты от вирусов или загрузите и установите последнюю версию Центра обновления Windows.

Заражение вирусом, вызывающее ошибку выполнения на вашем компьютере, необходимо немедленно предотвратить, поместить в карантин или удалить. Убедитесь, что вы обновили свою антивирусную программу и выполнили тщательное сканирование компьютера или запустите Центр обновления Windows, чтобы получить последние определения вирусов и исправить их.

Метод 4 — Переустановите библиотеки времени выполнения

Вы можете получить сообщение об ошибке из-за обновления, такого как пакет MS Visual C ++, который может быть установлен неправильно или полностью. Что вы можете сделать, так это удалить текущий пакет и установить новую копию.

  • Удалите пакет, выбрав «Программы и компоненты», найдите и выделите распространяемый пакет Microsoft Visual C ++.
  • Нажмите «Удалить» в верхней части списка и, когда это будет сделано, перезагрузите компьютер.
  • Загрузите последний распространяемый пакет от Microsoft и установите его.

Метод 5 — Запустить очистку диска

Вы также можете столкнуться с ошибкой выполнения из-за очень нехватки свободного места на вашем компьютере.

  • Вам следует подумать о резервном копировании файлов и освобождении места на жестком диске.
  • Вы также можете очистить кеш и перезагрузить компьютер.
  • Вы также можете запустить очистку диска, открыть окно проводника и щелкнуть правой кнопкой мыши по основному каталогу (обычно это C :)
  • Щелкните «Свойства», а затем — «Очистка диска».

Метод 6 — Переустановите графический драйвер

Если ошибка связана с плохим графическим драйвером, вы можете сделать следующее:

  • Откройте диспетчер устройств и найдите драйвер видеокарты.
  • Щелкните правой кнопкой мыши драйвер видеокарты, затем нажмите «Удалить», затем перезагрузите компьютер.

Метод 7 — Ошибка выполнения, связанная с IE

Если полученная ошибка связана с Internet Explorer, вы можете сделать следующее:

  1. Сбросьте настройки браузера.
    • В Windows 7 вы можете нажать «Пуск», перейти в «Панель управления» и нажать «Свойства обозревателя» слева. Затем вы можете перейти на вкладку «Дополнительно» и нажать кнопку «Сброс».
    • Для Windows 8 и 10 вы можете нажать «Поиск» и ввести «Свойства обозревателя», затем перейти на вкладку «Дополнительно» и нажать «Сброс».
  2. Отключить отладку скриптов и уведомления об ошибках.
    • В том же окне «Свойства обозревателя» можно перейти на вкладку «Дополнительно» и найти пункт «Отключить отладку сценария».
    • Установите флажок в переключателе.
    • Одновременно снимите флажок «Отображать уведомление о каждой ошибке сценария», затем нажмите «Применить» и «ОК», затем перезагрузите компьютер.

Если эти быстрые исправления не работают, вы всегда можете сделать резервную копию файлов и запустить восстановление на вашем компьютере. Однако вы можете сделать это позже, когда перечисленные здесь решения не сработают.

Другие языки:

How to fix Error 2001 (Access Error 2001) — Error 2001: Microsoft Access has encountered a problem and needs to close. We are sorry for the inconvenience.
Wie beheben Fehler 2001 (Zugriffsfehler 2001) — Fehler 2001: Microsoft Access hat ein Problem festgestellt und muss beendet werden. Wir entschuldigen uns für die Unannehmlichkeiten.
Come fissare Errore 2001 (Errore di accesso 2001) — Errore 2001: Microsoft Access ha riscontrato un problema e deve essere chiuso. Ci scusiamo per l’inconveniente.
Hoe maak je Fout 2001 (Toegangsfout 2001) — Fout 2001: Microsoft Access heeft een probleem ondervonden en moet worden afgesloten. Excuses voor het ongemak.
Comment réparer Erreur 2001 (Erreur d’accès 2001) — Erreur 2001 : Microsoft Access a rencontré un problème et doit se fermer. Nous sommes désolés du dérangement.
어떻게 고치는 지 오류 2001 (액세스 오류 2001) — 오류 2001: Microsoft Access에 문제가 발생해 닫아야 합니다. 불편을 끼쳐드려 죄송합니다.
Como corrigir o Erro 2001 (Erro de acesso 2001) — Erro 2001: O Microsoft Access encontrou um problema e precisa fechar. Lamentamos o inconveniente.
Hur man åtgärdar Fel 2001 (Åtkomstfel 2001) — Fel 2001: Microsoft Access har stött på ett problem och måste avslutas. Vi är ledsna för besväret.
Jak naprawić Błąd 2001 (Błąd dostępu 2001) — Błąd 2001: Microsoft Access napotkał problem i musi zostać zamknięty. Przepraszamy za niedogodności.
Cómo arreglar Error 2001 (Error de acceso 2001) — Error 2001: Microsoft Access ha detectado un problema y debe cerrarse. Lamentamos las molestias.

The Author Об авторе: Фил Харт является участником сообщества Microsoft с 2010 года. С текущим количеством баллов более 100 000 он внес более 3000 ответов на форумах Microsoft Support и создал почти 200 новых справочных статей в Technet Wiki.

Следуйте за нами: Facebook Youtube Twitter

Последнее обновление:

22/08/22 09:16 : Пользователь iPhone проголосовал за то, что метод восстановления 1 работает для него.

Рекомендуемый инструмент для ремонта:

Этот инструмент восстановления может устранить такие распространенные проблемы компьютера, как синие экраны, сбои и замораживание, отсутствующие DLL-файлы, а также устранить повреждения от вредоносных программ/вирусов и многое другое путем замены поврежденных и отсутствующих системных файлов.

ШАГ 1:

Нажмите здесь, чтобы скачать и установите средство восстановления Windows.

ШАГ 2:

Нажмите на Start Scan и позвольте ему проанализировать ваше устройство.

ШАГ 3:

Нажмите на Repair All, чтобы устранить все обнаруженные проблемы.

СКАЧАТЬ СЕЙЧАС

Совместимость

Требования

1 Ghz CPU, 512 MB RAM, 40 GB HDD
Эта загрузка предлагает неограниченное бесплатное сканирование ПК с Windows. Полное восстановление системы начинается от $19,95.

ID статьи: ACX01733RU

Применяется к: Windows 10, Windows 8.1, Windows 7, Windows Vista, Windows XP, Windows 2000

Совет по увеличению скорости #40

Использование утилит настройки RAM, GPU и CPU:

Если вы опытный пользователь, вы можете использовать различные бесплатные утилиты настройки для оптимизации вашей оперативной памяти, видеокарты и процессора. Настройте параметры, скорость и синхронизацию этих важных компонентов вашего компьютера, чтобы получить лучшую скорость и максимальную производительность. Некоторые из этих полезных инструментов включают MSI Afterburner, CPUID, Intel XTU и AMD Catalyst.

Нажмите здесь, чтобы узнать о другом способе ускорения работы ПК под управлением Windows

Icon Ex Номер ошибки: Ошибка 2001
Название ошибки: Itunes Error 2001
Описание ошибки: Ошибка 2001: Возникла ошибка в приложении iTunes. Приложение будет закрыто. Приносим извинения за неудобства.
Разработчик: Apple Inc.
Программное обеспечение: iTunes
Относится к: Windows XP, Vista, 7, 8, 10, 11

Сводка «Itunes Error 2001

«Itunes Error 2001» — это стандартная ошибка времени выполнения. Разработчики программного обеспечения пытаются обеспечить, чтобы программное обеспечение было свободным от этих сбоев, пока оно не будет публично выпущено. Ошибки, такие как ошибка 2001, иногда удаляются из отчетов, оставляя проблему остается нерешенной в программном обеспечении.

Ошибка 2001 также отображается как «Itunes Error 2001». Это распространенная ошибка, которая может возникнуть после установки программного обеспечения. Во время возникновения ошибки 2001 конечный пользователь может сообщить о проблеме в Apple Inc.. Затем они исправляют дефектные области кода и сделают обновление доступным для загрузки. Таким образом, когда ваш компьютер выполняет обновления, как это, это, как правило, чтобы исправить проблемы ошибки 2001 и другие ошибки внутри iTunes.

Что вызывает ошибку 2001 во время выполнения?

Сбой устройства или iTunes обычно может проявляться с «Itunes Error 2001» в качестве проблемы во время выполнения. Мы можем определить происхождение ошибок ошибки 2001 во время выполнения следующим образом:

Ошибка 2001 Crash — это типичная ошибка «Itunes Error 2001», которая приводит к полному завершению работы программы. Когда iTunes не может обеспечить достаточный вывод для данного ввода или действительно не знает, что выводить, он часто путает систему таким образом.

Утечка памяти «Itunes Error 2001» — ошибка 2001 приводит к постоянной утечке памяти iTunes. Потребление памяти напрямую пропорционально загрузке ЦП. Это может быть вызвано неправильной конфигурацией программного обеспечения Apple Inc. или когда одна команда запускает цикл, который не может быть завершен.

Error 2001 Logic Error — Ошибка программной логики возникает, когда, несмотря на точный ввод от пользователя, производится неверный вывод. Это видно, когда исходный код Apple Inc. включает дефект в анализе входных данных.

Apple Inc. проблемы с Itunes Error 2001 чаще всего связаны с повреждением или отсутствием файла iTunes. Большую часть проблем, связанных с данными файлами, можно решить посредством скачивания и установки последней версии файла Apple Inc.. Мы также рекомендуем выполнить сканирование реестра, чтобы очистить все недействительные ссылки на Itunes Error 2001, которые могут являться причиной ошибки.

Распространенные проблемы Itunes Error 2001

Частичный список ошибок Itunes Error 2001 iTunes:

  • «Ошибка в приложении: Itunes Error 2001»
  • «Недопустимая программа Win32: Itunes Error 2001»
  • «Извините за неудобства — Itunes Error 2001 имеет проблему. «
  • «Файл Itunes Error 2001 не найден.»
  • «Отсутствует файл Itunes Error 2001.»
  • «Проблема при запуске приложения: Itunes Error 2001. «
  • «Не удается запустить Itunes Error 2001. «
  • «Ошибка Itunes Error 2001. «
  • «Itunes Error 2001: путь приложения является ошибкой. «

Ошибки Itunes Error 2001 EXE возникают во время установки iTunes, при запуске приложений, связанных с Itunes Error 2001 (iTunes), во время запуска или завершения работы или во время установки ОС Windows. При появлении ошибки Itunes Error 2001 запишите вхождения для устранения неполадок iTunes и чтобы HelpApple Inc. найти причину.

Источники проблем Itunes Error 2001

Эти проблемы Itunes Error 2001 создаются отсутствующими или поврежденными файлами Itunes Error 2001, недопустимыми записями реестра iTunes или вредоносным программным обеспечением.

В частности, проблемы Itunes Error 2001 возникают через:

  • Поврежденная или недопустимая запись реестра Itunes Error 2001.
  • Вирус или вредоносное ПО, повреждающее Itunes Error 2001.
  • Itunes Error 2001 злонамеренно удален (или ошибочно) другим изгоем или действительной программой.
  • Другая программа, конфликтующая с Itunes Error 2001 или другой общей ссылкой iTunes.
  • Поврежденная загрузка или неполная установка программного обеспечения iTunes.

Продукт Solvusoft

Загрузка
WinThruster 2022 — Проверьте свой компьютер на наличие ошибок.

Совместима с Windows 2000, XP, Vista, 7, 8, 10 и 11

Установить необязательные продукты — WinThruster (Solvusoft) | Лицензия | Политика защиты личных сведений | Условия | Удаление

Как говорят, «или крест снимите, или трусы наденьте». И учите понятие «единица компиляции».
По какой схеме устроен ваш проект? «Одна единица компиляции» или «много единиц компиляции»?

Си недалеко ушёл от ассемблеров. А в ассемблерах программа компилировалась по частям и собиралась воедино линкером (компоновщиком, редактором связей) — в те времена кода было много, а данных мало. Многие из ошибок невозможно было определить, не запустив линкер. Си++ пользуется многими из архитектурных особенностей ассемблеров и Си — по крайней мере ни одно из модульных решений не стало рекомендацией (кроме костыля extern template class).

Но как говорить «переменная/функция есть, такого-то типа и в другой единице компиляции»? Для этого есть прототипы функций и extern-определения переменных. Их обычно вносят в заголовочные файлы с таким требованием: ничего, что находится в заголовочном файле, не должно производить кода. А код производят…
• Глобальные переменные (без typedef, extern).
• Нешаблонные функции (кроме inline).
• Полностью специализированные шаблонные функции (кроме inline).
• Команда «специализировать шаблон» (template class).

При этом…
• Функции в теле struct/class автоматически inline и кода не производят.
• Для неявной специализации шаблонов существуют обходы — код генерируется дважды, но ошибки не выдаёт.
• «Свой» хедер обычно включают первым, чтобы убедиться, что в нём нет недостающих зависимостей.

В системе «одна единица компиляции» всё просто: есть ровно один файл, подлежащий компиляции. Тогда в хедерных файлах вполне могут быть конструкции, производящие код.

Системы «одна единица компиляции» и «много единиц компиляции» можно комбинировать, но надо знать:
• Все хедеры, которые производят код, должны подключаться из одной-единственной единицы компиляции. Надо чётко осознавать, из какой, и не подключать из чужих.
• У библиотеки всё равно должен быть хедер-фасад, не производящий кода и предназначенный для стыковки с другими единицами компиляции.
Такая конструкция ускоряет полную перекомпиляцию и часто применяется для библиотек, но надо знать: огромные библиотеки вроде SqLite, в 5 мегабайт препроцессированного кода, мешают распараллеливанию компиляции (ибо пока откомпилируется SqLite, остальные процессоры вполне себе соберут остальную программу).

// В схеме «одна единица компиляции»: ничего не делать.
// В схеме «много единиц компиляции»: лишняя зависимость; унести в unit1.cpp
#include <cstdlib>

// В схеме «одна единица компиляции»: убрать extern.
// В схеме «много единиц компиляции»: завести unit1.cpp, там сделать MyType x;
extern MyType X;

// В схеме «одна единица компиляции»: ничего не делать.
// В схеме «много единиц компиляции»: перенести функцию в unit1.cpp, оставив в .h только прототип.
void XReset() {}

Когда я пытаюсь создать объект, я получаю ошибку LNK2001 в Visual Studio, это проблема с конструктором, я думаю, так как изменение конструктора изменяет ошибку.

Customer bob("Bob", "25 Bob Lane", "01bob82", "M", "bob/bob/bob");

Эта строка дает эту ошибку:

Error   1   error LNK2001: unresolved external symbol "public: __thiscall
Customer::Customer(class std::basic_string<char,struct std::char_traits<char>,class
std::allocator<char> >,class std::basic_string<char,struct std::char_traits<char>,class
std::allocator<char> >,class std::basic_string<char,struct std::char_traits<char>,class
std::allocator<char> >,class std::basic_string<char,struct std::char_traits<char>,class
std::allocator<char> >,class std::basic_string<char,struct std::char_traits<char>,class
std::allocator<char> >)" (??0Customer@@QAE@V?$basic_string@DU?$char_traits@D@std@@V?
$allocator@D@2@@std@@0000@Z)    D:DropboxWorkC++C++ AssignmentC++
Assignmentdriver.obj

Класс клиента, который содержит конструктор:

#pragma once
#include "l_list.h"#include "Account.h"#include <string>

using namespace std;

class Customer
{
private:
l_list<Account> accounts;
string name;
string address;
string telNo;
string sex;
string dob;

public:
Customer(string name, string address, string telNo, string sex, string dob)
{
Customer::name = name;
Customer::address = address;
Customer::telNo = telNo;
Customer::sex = sex;
Customer::dob = dob;
}

void createAccount()
{
cout << "What type of account?";

}

};

6

Решение

Если у вас есть ошибка компоновки, то синтаксически ваш код в порядке, иначе вы получите ошибки компилятора.

То, что вы должны проверить (или добавить), это путь в свойстве Dependencies проекта, который использует класс Customer. В VS вы можете найти его «Свойства проекта-> Свойства конфигурации-> Линкер-> Ввод-> Дополнительные зависимости». Кажется, что компоновщик не может найти внешнюю библиотеку с реализацией Customer. Вы можете успешно скомпилировать свой проект, потому что все #include верны, но на этапе компоновки вы терпите неудачу только из-за зависимостей.

8

Другие решения

То, что там выглядит хорошо для меня. Проверьте другие вещи, например, убедитесь, что ваши пространства имен правильные, или нет другого / противоречивого определения «Заказчик» и т. Д. Попробуйте закомментировать большие разделы кода или сократить ваш код до небольшого контрольного примера.

2

Я столкнулся с точно такой же проблемой. Вот как я исправил:

использование #include<string> вместо #include "string.h" в файле вызова Customer конструктор.

1

У меня была такая же ошибка. Оказалось, что одна необходимая функция была закомментирована. Когда я раскомментировал эту функцию, ошибка исчезла.

1

  • error 2001


  • Ответить в тему

  • Создать тему

  • Назад
  • 1
  • 2
  • Вперёд
  • Страница 1 из 2  

Рекомендованные сообщения


kirya.tex

kirya.tex

5


    • Жалоба
    • Рассказать

Добрый день.

Запускали DMU 35M, б/у купленный в Германии. При первом включении вылезла ошибка PLC. 

Номер ошибки не записали. Так как станок долго стоял на складе, решили заменить батарейку.

До замены батарейки станок как положено показывал 5 осей.

X Y Z B C

После замены батарейки отображает 4 оси. X Y Z A

И пишет ошибку 2001. PLC has not started up.

Если возможно, опишите более подробно. Документация только на немецком.

Сам работаю с Fanuk. 

Спасибо.

  • Цитата
Ссылка на сообщение
Поделиться на других сайтах


Anat2015

Anat2015

283


    • Жалоба
    • Рассказать

Ищите архив PLC(файл PLC.arc) для этого станка, или полный архив пусконаладки. С батарейкой вы очень сильно погорячились, создали из небольшой проблемки очень большую.

  • Цитата
Ссылка на сообщение
Поделиться на других сайтах


andrey2147

andrey2147

115


    • Жалоба
    • Рассказать

18 часов назад, Anat2015 сказал:

Ищите архив PLC(файл PLC.arc)

Ну и NCK заодно что б 2 раза не ходить
 

18 часов назад, Anat2015 сказал:

из небольшой проблемки очень большую

Да ладно для специалиста не очень.
 

  • Цитата
Ссылка на сообщение
Поделиться на других сайтах


Anat2015

Anat2015

283


    • Жалоба
    • Рассказать

По всем признакам батарейку меняли при отключеном станке, как говорится «не зная броду…», соответственно PLC потерялось и ЧПУ загрузило умолчательный шаблон, без пятой оси.

По поводу документации — на ваше ЧПУ она есть в инете, даже на русском языке.


Изменено 17 марта 2017 пользователем Anat2015

  • Цитата
Ссылка на сообщение
Поделиться на других сайтах


kirya.tex

kirya.tex

5


  • Автор
    • Жалоба
    • Рассказать

Благодарю за ответы.

С документацией пришла дискета 3/5. Скорее всего данные файлы там.

Подскажите пожалуйста, как отправить эти файлы в станок?

Нужна ли специальная программа, или что -то еще?

Если возможно, в общих чертах.

Спасибо.

  • Цитата
Ссылка на сообщение
Поделиться на других сайтах
  • 4 недели спустя…


kirya.tex

kirya.tex

5


  • Автор
    • Жалоба
    • Рассказать

Всем доброго времени суток.

Собрал кой какую информацию по перезапуску PLC.

Хотелось бы с вашей помощью разобраться в этом вопросе окончательно.

В воскресенье поеду настраивать станок и имею огромное желание сделать все за 1 день. (Хотя как повезет))

Процессор

ModelCHPUp_8629019_25868330.png

Что потребуется:

Ноутбук, кабель COM + RS232, загрузочные файлы, программа SINUCOM для windows 7.

Следующее фото не могу загрузить, придется несколькими сообщениями писать.

  • Цитата
Ссылка на сообщение
Поделиться на других сайтах


kirya.tex

kirya.tex

5


  • Автор
    • Жалоба
    • Рассказать

Сам процесс:

1) Обнуление реестра

Obnulenier_9349993_25868353.png

2)Подключение к ПК.

3)

81011png_2188252_25868457.png

Рис1

81012png_6335396_25868466.png

Рис 2

81013png_2921912_25868475.png

Рис 3

81014png_8544044_25868497.png

Рис 5

81015png_1553011_25868525.png

  • Цитата
Ссылка на сообщение
Поделиться на других сайтах


kirya.tex

kirya.tex

5


  • Автор
    • Жалоба
    • Рассказать

Вопросы:

1) RS232. Есть изображение но не совсем понятно по нему.

Raspinovka_9966301_25868598.png

2) В описании программы SINUCOM есть такая строчка » SINUMERIK 810D от ПО 3.3 или SINUMERIK 840Di от ПО 1 или SINUMERIK 840D от ПО 5.3 »

Имеет ли эта надпись отношение к

ModelCHPUk_2250405_25868723.png

3)Какие еще файлы понадобятся с дискеты.

iifififipn_6984151_25868755.png

4)В каком положении должно быть ключи?

original12_9032622_25868796.jpg

Постараюсь еще просмотреть все. Может что то упустил.

Посмотрите пожалуйста может чего упустил?

Спасибо.

  • Цитата
Ссылка на сообщение
Поделиться на других сайтах


andrey2147

andrey2147

115


    • Жалоба
    • Рассказать

Распаку кабеля можно найти в DOConCD.

 Грузи NCK потом PLC остальное по обстоятельствам .


Изменено 14 апреля 2017 пользователем andrey2147

  • Цитата
Ссылка на сообщение
Поделиться на других сайтах


andrey2147

andrey2147

115


    • Жалоба
    • Рассказать

Если архивы есть на станке тогда не надо ни кабель ни ноут.прямо отдуда и грузи.ничего не сбрасывая.
 

  • Цитата
Ссылка на сообщение
Поделиться на других сайтах


kirya.tex

kirya.tex

5


  • Автор
    • Жалоба
    • Рассказать

Благодарю за ответы.

Архивы находятся на карте PCMCIA?

  • Цитата
Ссылка на сообщение
Поделиться на других сайтах


Anat2015

Anat2015

283


    • Жалоба
    • Рассказать

12 минуты назад, kirya.tex сказал:

Архивы находятся на карте PCMCIA?

Теоретически, да. Нормальные станкостроители всегда оставляют на карте свежие архивы, чтобы не возиться с ноутбуками. При процедуре загрузки архивов пусконаладки  ЧПУ предложит на выбор в качестве источника карту.

  • Цитата
Ссылка на сообщение
Поделиться на других сайтах


kirya.tex

kirya.tex

5


  • Автор
    • Жалоба
    • Рассказать

К сожалению слот пустой.

А распайка RS 232 от Fanuc подойдет?

Уже 3-й том качаю а распайку не могу найти.

  • Цитата
Ссылка на сообщение
Поделиться на других сайтах


andrey2147

andrey2147

115


    • Жалоба
    • Рассказать

2 часа назад, kirya.tex сказал:

Уже 3-й том качаю а распайку не могу найти.

«Войну и мир» ? Там нету точно.
 

  • Цитата
Ссылка на сообщение
Поделиться на других сайтах


andrey2147

andrey2147

115


    • Жалоба
    • Рассказать

3 часа назад, kirya.tex сказал:

К сожалению слот пустой.

Тогда вообще не надо никуда ехать.Без карты ниакак.
 

  • Цитата
Ссылка на сообщение
Поделиться на других сайтах


kirya.tex

kirya.tex

5


  • Автор
    • Жалоба
    • Рассказать

Цитата

Тогда вообще не надо никуда ехать.Без карты ниакак.

Это как так?

У меня же есть файлы PLC и NCK.

Или мы про разные карты говорим?

  • Цитата
Ссылка на сообщение
Поделиться на других сайтах


Anat2015

Anat2015

283


    • Жалоба
    • Рассказать

Так все таки что имеете: слот пустой (физическое отсутствие карты памяти), или на карте соответствующих файлов нет? Пока непонятно…

  • Цитата
Ссылка на сообщение
Поделиться на других сайтах


kirya.tex

kirya.tex

5


  • Автор
    • Жалоба
    • Рассказать

Вы имеете в виду эту карту?

Это фото со станка.

2017040410_1493155_25881043.jpg

  • Цитата
Ссылка на сообщение
Поделиться на других сайтах


kirya.tex

kirya.tex

5


  • Автор
    • Жалоба
    • Рассказать

Доброго времени суток.

Нашел такую распиновку:

Raspinovka_1976325_25910339.png

9-ти пиновый подключается к ноутбуку и не меняется.

25-ти пиновый перепаивается как во 2-й колонке.

Вроде так.

Не совсем понял в предыдущих сообщениях про PCMCIA карту.

Ведь станок включали без карты.

Спасибо.

  • Цитата
Ссылка на сообщение
Поделиться на других сайтах


Anat2015

Anat2015

283


    • Жалоба
    • Рассказать

Так все таки что имеете: слот пустой (физическое отсутствие карты памяти), или на карте соответствующих файлов нет? Пока непонятно…

В 810 Синумерике в этом слоте нет карты, в 840D там стоит карта с математикой, на которой остается свободное место для записи архивов пусконаладки. С 810 имел мало дел, поэтому конкретно сказать не могу, попробуйте выйти в режим загрузки архивов пусконаладки (через пароль изготовителя) и посмотрите, что стойка предлагает.

  • Цитата
Ссылка на сообщение
Поделиться на других сайтах
  • Назад
  • 1
  • 2
  • Вперёд
  • Страница 1 из 2  

Присоединяйтесь к обсуждению

Вы можете опубликовать сообщение сейчас, а зарегистрироваться позже.

Если у вас есть аккаунт, войдите в него для написания от своего имени.

Примечание: вашему сообщению потребуется утверждение модератора, прежде чем оно станет доступным.

  • Сейчас на странице

      0 пользователей

    Нет пользователей, просматривающих эту страницу.

  • Сообщения


    • Maik812

      Автор:

      Maik812 · Опубликовано: 1 час назад

      8 месяцев спустя !  ХМ.. однако мужской коллектив.. отправил девушку в декрет наверно


    • Maik812

      Автор:

      Maik812 · Опубликовано: 1 час назад

      Ни хрена не понятно.. Вы бы пример прикрепили бы.. что куда заносится теряешь на 3тьем пункте..

      Название где ? в Имени файла? В Имени «Обозначение » ?


    • Shvg

      Автор:

      Shvg · Опубликовано: 3 часа назад

      1. Формат ХХ.ХХ — это буквы, цифры и точка? Больше никаких символов не используется?

      3. Разделитель  _  (знак подчеркивания) используется только один раз в названии файла?

      4. Название конфигурации, например, 100, содержащее 00 не бывает?

      Какой SW используется? Сборка полностью решенная?


    • gudstartup


    • maxx2000


    • Nikk24

      Автор:

      Nikk24 · Опубликовано: 5 часов назад

      Разобрался, насколько это возможно. Элементарная работа внешних сил берется полностью, элементарная работа внутренних — с множителем 1/2. Из этого уже получается ожидаемый результат.
      Цитаты из Даркова-Шпиро

      — для работы внешних сил

      — внутренних

       

      И вот это мне  не понятно, так как и внутренние и внешние силы приложены статически — 1/2 должна быть и там и там. У Даркова этот вопрос не объяснен. Чего-то я не понимаю. Предполагаю, что так сделано из-за разницы в выражении элементарного перемещения: для работы внешних сил оно определяется через силу и после интегрирования вся работа будет с множителем 1/2, для работы внутренних сил перемещение определяется от х и после интегрирования 1/2 не будет. 


    • Ветерок


    • lamerok555


    • KAMALOV

      Автор:

      KAMALOV · Опубликовано: 6 часов назад

      дак тут даже и заходить не надо, у нас электрики, элементарно включив мозги полезут смотреть концевики, датчики на шпинделе, это элементарные вещи, которые решаются на производстве на раз два, если честно мы здесь сидим обсуждаем такие вещи, что мне как то не по себе становиться, если специалист хотябы с 2х летним стажем на любом станке ковырялся, он эту задачу буквально за час должен решать…

      тут человеку помочь пытаешься, от него отдачи вообще никакой, лимон 2010 сверху написал что примерно смотреть надо с чего начинать, так он просто сидит игнорит все это, собственно вопрос, для чего он сюда вообще пришел?


    • Anat2015

#pragma once
#include «filt1.h»
//#include «filt_gen.h»

//extern void cf(double *h,int hsize,double fs, double f0, double sf, double ef, double *rcf, double *icf);
//extern int filt_gen(double lf,double hf,double* resp);
//extern int differ_gen(double lf,double* resp);

using namespace System;
using namespace System::ComponentModel;
using namespace System::Collections;
using namespace System::Windows::Forms;
using namespace System::Data;
using namespace System::Drawing;
using namespace ZedGraph;
//static int click;
//static double coordY[4][64], coordX[4][64];

extern double coordY[4][64], coordX[4][64];
extern bool canalOpen[5];
static double l1,l2[5],l3,t;
static short * pbf;
static int per, Canal;
extern int set_generator(int phase,int amplityde, int canal);
extern int set_amp(int att, int gain, int canal);
extern int set_frequency(double frequency, int freq_unit, int canal);
extern int set_compensator(int phase,int amplityde, int canal);
extern int get_amp1();
extern int balance(int canal);

namespace vihretok {
    /// <summary>
    /// Сводка для Def
    ///
    /// Внимание! При изменении имени этого класса необходимо также изменить
    ///          свойство имени файла ресурсов («Resource File Name») для средства компиляции управляемого ресурса,
    ///          связанного со всеми файлами с расширением .resx, от которых зависит данный класс. В противном случае,
    ///          конструкторы не смогут правильно работать с локализованными
    ///          ресурсами, сопоставленными данной форме.
    /// </summary>
    public ref class Def : public System::Windows::Forms::Form
    {
                public: void Load_Graw (void)
                        {
                                // Получим панель для рисования
                                ZedGraph::GraphPane ^myPane1 = zedGraphControl1>GraphPane;
                                // Очистим список кривых на тот случай, если до этого сигналы уже были нарисованы
                                //myPane1->CurveList->Clear();
                                //myPane1->GraphObjList->Clear();
                                //Запрет на самосогласования и выход за установленные границы
                                myPane1>XAxis>Scale>MaxGrace=0;
                                myPane1>XAxis>Scale>MinGrace=0;
                                myPane1>YAxis>Scale>MaxGrace=0;
                                myPane1>YAxis>Scale>MinGrace=0;
                                // Подписи к графику и к осям
                                // Установим размеры шрифтов для подписей по осям
                                myPane1>XAxis>Title>FontSpec>Size = 16;
                                myPane1>YAxis>Title>FontSpec>Size = 16;
                                // Установим размеры шрифта для легенды
                                myPane1>Legend>FontSpec>Size = 12;
                                // Установим размеры шрифта для общего заголовка
                                myPane1>Title>FontSpec>Size = 17;
                                myPane1>Title>FontSpec>FontColor=System::Drawing::Color::Brown;
                                myPane1>Title>Text = «Отклонение по X»;
                                myPane1>XAxis>Title>Text = «Измерение»;
                                myPane1>YAxis>Title>Text = «Отклонение»;
                                //Установка фона панели графиков (не рабочая часть)
                                myPane1>Fill>Color=System::Drawing::Color::LightBlue;
                                //Установка фона панели отображения графиков
                                myPane1>Chart>Fill = gcnew Fill( Color::White, Color::Aqua, 90 );
                                //Установка границы вывода графиков
                                myPane1>Chart>Border>Color=System::Drawing::Color::Black;
                                // Устанавливаем интересующий нас интервал по оси X
                                myPane1>XAxis>Scale>Min = l2[Convert::ToInt32(lCanal>Text)]2*t;
                                myPane1>XAxis>Scale>Max = l2[Convert::ToInt32(lCanal>Text)]+2*t;
                                //Ручная установка шага оси Х —  1 В
                                //myPane1->XAxis->Scale->MinorStep = 0.1;
                                myPane1>XAxis>Scale>MajorStep = 25;
                                // Устанавливаем интересующий нас интервал по оси Y — значения в мА от -10 до 100 мА
                                myPane1>YAxis>Scale>Min = t;
                                myPane1>YAxis>Scale>Max = t;
                                //myPane1->YAxis->Scale->MinorStep = 0.1;
                                myPane1>YAxis>Scale>MajorStep = 25;
                                //Установка оси «Y» ровно по оси «Х» 0.0
                                myPane1>XAxis>Cross = 0.0;
                                //Устанавливаем метки только возле осей!
                                myPane1>XAxis>MajorTic>IsOpposite = false;
                                myPane1>XAxis>MinorTic>IsOpposite = false;
                                myPane1>YAxis>MajorTic>IsOpposite = false;
                                myPane1>YAxis>MinorTic>IsOpposite = false;
                                //Рисуем сетку по X
                                myPane1>XAxis>MajorGrid>IsVisible=true;
                                myPane1>XAxis>MajorGrid>DashOn=20;
                                myPane1>XAxis>MajorGrid>DashOff=20;
                                myPane1>XAxis>MajorGrid>Color=System::Drawing::Color::Gray;
                                myPane1>XAxis>Color=System::Drawing::Color::Gray;
                                //Рисуем сетку по Y
                                myPane1>YAxis>MajorGrid>IsVisible=true;
                                myPane1>YAxis>MajorGrid>DashOn=20;
                                myPane1>YAxis>MajorGrid>DashOff=20;
                                myPane1>YAxis>MajorGrid>Color=System::Drawing::Color::Gray;
                                myPane1>YAxis>Color=System::Drawing::Color::Gray;

                                // Получим панель для рисования
                                ZedGraph::GraphPane ^myPane3 = zedGraphControl3>GraphPane;
                                // Очистим список кривых на тот случай, если до этого сигналы уже были нарисованы
                                //myPane2->CurveList->Clear();
                                //myPane2->GraphObjList->Clear();
                                //Запрет на самосогласования и выход за установленные границы
                                myPane3>XAxis>Scale>MaxGrace=0;
                                myPane3>XAxis>Scale>MinGrace=0;
                                myPane3>YAxis>Scale>MaxGrace=0;
                                myPane3>YAxis>Scale>MinGrace=0;
                                // Подписи к графику и к осям
                                // Установим размеры шрифтов для подписей по осям
                                myPane3>XAxis>Title>FontSpec>Size = 16;
                                myPane3>YAxis>Title>FontSpec>Size = 16;
                                // Установим размеры шрифта для легенды
                                myPane3>Legend>FontSpec>Size = 12;
                                // Установим размеры шрифта для общего заголовка
                                myPane3>Title>FontSpec>Size = 17;
                                myPane3>Title>FontSpec>FontColor=System::Drawing::Color::Brown;
                                myPane3>Title>Text = «Отклонение по Z»;
                                myPane3>XAxis>Title>Text = «Отклонение по Х»;
                                myPane3>YAxis>Title>Text = «Отклонение по Y»;
                                //Установка фона панели графиков (не рабочая часть)
                                myPane3>Fill>Color=System::Drawing::Color::LightBlue;
                                //Установка фона панели отображения графиков
                                myPane3>Chart>Fill = gcnew Fill( Color::White, Color::Aqua, 90 );
                                //Установка границы вывода графиков
                                myPane3>Chart>Border>Color=System::Drawing::Color::Black;
                                // Устанавливаем интересующий нас интервал по оси X
                                myPane3>XAxis>Scale>Min = t;
                                myPane3>XAxis>Scale>Max = t;
                                //Ручная установка шага оси Х —  1 В
                                //myPane1->XAxis->Scale->MinorStep = 0.1;
                                myPane3>XAxis>Scale>MajorStep = 25;
                                // Устанавливаем интересующий нас интервал по оси Y — значения в мА от -10 до 100 мА
                                myPane3>YAxis>Scale>Min = t;
                                myPane3>YAxis>Scale>Max = t;
                                //myPane1->YAxis->Scale->MinorStep = 0.1;
                                myPane3>YAxis>Scale>MajorStep = 25;
                                //Установка оси «Y» ровно по оси «Х» 0.0
                                myPane3>XAxis>Cross = 0.0;
                                //Устанавливаем метки только возле осей!
                                myPane3>XAxis>MajorTic>IsOpposite = false;
                                myPane3>XAxis>MinorTic>IsOpposite = false;
                                myPane3>YAxis>MajorTic>IsOpposite = false;
                                myPane3>YAxis>MinorTic>IsOpposite = false;
                                //Рисуем сетку по X
                                myPane3>XAxis>MajorGrid>IsVisible=true;
                                myPane3>XAxis>MajorGrid>DashOn=20;
                                myPane3>XAxis>MajorGrid>DashOff=20;
                                myPane3>XAxis>MajorGrid>Color=System::Drawing::Color::Gray;
                                myPane3>XAxis>Color=System::Drawing::Color::Gray;
                                //Рисуем сетку по Y
                                myPane3>YAxis>MajorGrid>IsVisible=true;
                                myPane3>YAxis>MajorGrid>DashOn=20;
                                myPane3>YAxis>MajorGrid>DashOff=20;
                                myPane3>YAxis>MajorGrid>Color=System::Drawing::Color::Gray;
                                myPane3>YAxis>Color=System::Drawing::Color::Gray;

                                // Получим панель для рисования
                                ZedGraph::GraphPane ^myPane2 = zedGraphControl2>GraphPane;
                                // Очистим список кривых на тот случай, если до этого сигналы уже были нарисованы
                                //myPane2->CurveList->Clear();
                                //myPane2->GraphObjList->Clear();
                                //Запрет на самосогласования и выход за установленные границы
                                myPane2>XAxis>Scale>MaxGrace=0;
                                myPane2>XAxis>Scale>MinGrace=0;
                                myPane2>YAxis>Scale>MaxGrace=0;
                                myPane2>YAxis>Scale>MinGrace=0;
                                // Подписи к графику и к осям
                                // Установим размеры шрифтов для подписей по осям
                                myPane2>XAxis>Title>FontSpec>Size = 16;
                                myPane2>YAxis>Title>FontSpec>Size = 16;
                                // Установим размеры шрифта для легенды
                                myPane2>Legend>FontSpec>Size = 12;
                                // Установим размеры шрифта для общего заголовка
                                myPane2>Title>FontSpec>Size = 17;
                                myPane2>Title>FontSpec>FontColor=System::Drawing::Color::Brown;
                                myPane2>Title>Text = «Отклонение по Y»;
                                myPane2>XAxis>Title>Text = «Измерение»;
                                myPane2>YAxis>Title>Text = «Отклонение»;
                                //Установка фона панели графиков (не рабочая часть)
                                myPane2>Fill>Color=System::Drawing::Color::LightBlue;
                                //Установка фона панели отображения графиков
                                myPane2>Chart>Fill = gcnew Fill( Color::White, Color::Aqua, 90 );
                                //Установка границы вывода графиков
                                myPane2>Chart>Border>Color=System::Drawing::Color::Black;
                                // Устанавливаем интересующий нас интервал по оси X
                                myPane2>XAxis>Scale>Min = l2[Convert::ToInt32(lCanal>Text)]t*2;
                                myPane2>XAxis>Scale>Max = l2[Convert::ToInt32(lCanal>Text)]+t*2;
                                //Ручная установка шага оси Х —  1 В
                                //myPane1->XAxis->Scale->MinorStep = 0.1;
                                myPane2>XAxis>Scale>MajorStep = 25;
                                // Устанавливаем интересующий нас интервал по оси Y — значения в мА от -10 до 100 мА
                                myPane2>YAxis>Scale>Min = t;
                                myPane2>YAxis>Scale>Max = t;
                                //myPane1->YAxis->Scale->MinorStep = 0.1;
                                myPane2>YAxis>Scale>MajorStep = 25;
                                //Установка оси «Y» ровно по оси «Х» 0.0
                                myPane2>XAxis>Cross = 0.0;
                                //Устанавливаем метки только возле осей!
                                myPane2>XAxis>MajorTic>IsOpposite = false;
                                myPane2>XAxis>MinorTic>IsOpposite = false;
                                myPane2>YAxis>MajorTic>IsOpposite = false;
                                myPane2>YAxis>MinorTic>IsOpposite = false;
                                //Рисуем сетку по X
                                myPane2>XAxis>MajorGrid>IsVisible=true;
                                myPane2>XAxis>MajorGrid>DashOn=20;
                                myPane2>XAxis>MajorGrid>DashOff=20;
                                myPane2>XAxis>MajorGrid>Color=System::Drawing::Color::Gray;
                                myPane2>XAxis>Color=System::Drawing::Color::Gray;
                                //Рисуем сетку по Y
                                myPane2>YAxis>MajorGrid>IsVisible=true;
                                myPane2>YAxis>MajorGrid>DashOn=20;
                                myPane2>YAxis>MajorGrid>DashOff=20;
                                myPane2>YAxis>MajorGrid>Color=System::Drawing::Color::Gray;
                                myPane2>YAxis>Color=System::Drawing::Color::Gray;

                                //******************************************************************************
                                // Добавляем информацию по регистрам вывода точек
                                //******************************************************************************
                                RollingPointPairList ^list1 = gcnew RollingPointPairList (64);
                                RollingPointPairList ^list2 = gcnew RollingPointPairList (64);
                                RollingPointPairList ^list3 = gcnew RollingPointPairList (64);
                                // Выводим пустые линии графиков на экран
                                LineItem ^F1Curve = myPane1>AddCurve( «», list1, Color::Indigo, SymbolType::None);
                                LineItem ^F2Curve = myPane2>AddCurve( «», list2, Color::Blue, SymbolType::None);
                                LineItem ^F3Curve = myPane3>AddCurve( «», list3, Color::BlueViolet, SymbolType::None);
                                //Ширина линии в 1/72 дюйма!!!!!!!!!! Хорошо получается при 2!!!!!!!!!
                                F1Curve>Line>Width=2;
                                F2Curve>Line>Width=2;
                                F3Curve>Line>Width=1;
                                //Задаем что линии гладкии!!!!!!!
                                F1Curve>Line>IsSmooth=true;
                                F2Curve>Line>IsSmooth=true;
                                F3Curve>Line>IsSmooth=true;
                                // Вызываем метод AxisChange (), чтобы обновить данные об осях.
                                // В противном случае на рисунке будет показана только часть графика,
                                // которая умещается в интервалы по осям, установленные по умолчанию
                                zedGraphControl1>AxisChange ();
                                zedGraphControl2>AxisChange ();
                                zedGraphControl3>AxisChange ();
                                // Обновляем график
                                zedGraphControl1>Invalidate();
                                zedGraphControl2>Invalidate();
                                zedGraphControl3>Invalidate();

                        }
        //График для функций
        public: void Graw_Draw (void)
                        {
                                //Получаем линии от графиков
                                LineItem ^F1Curve=(LineItem ^)zedGraphControl1>GraphPane>CurveList[0];
                                LineItem ^F2Curve=(LineItem ^)zedGraphControl2>GraphPane>CurveList[0];
                                LineItem ^F3Curve=(LineItem ^)zedGraphControl3>GraphPane>CurveList[0];
                                IPointListEdit ^list1= (IPointListEdit ^) F1Curve>Points;
                                IPointListEdit ^list2= (IPointListEdit ^) F2Curve>Points;
                                IPointListEdit ^list3= (IPointListEdit ^) F3Curve>Points;
                                //for (unsigned int i=0; i<200; i++)
                                //{
                                //  int x;
                                //  x=(i-10)*(i-10);
                                        list1>Add(l2[Convert::ToInt32(lCanal>Text)], l1);
                                        list2>Add(l2[Convert::ToInt32(lCanal>Text)], l3);
                                        list3>Add(l1, l3);
                                //}
                                // Вызываем метод AxisChange (), чтобы обновить данные об осях.
                                // В противном случае на рисунке будет показана только часть графика,
                                // которая умещается в интервалы по осям, установленные по умолчанию
                                zedGraphControl1>AxisChange ();
                                zedGraphControl2>AxisChange ();
                                zedGraphControl3>AxisChange();

                               
                               
                                // Обновляем график
                                zedGraphControl1>Invalidate();
                                zedGraphControl2>Invalidate();
                                //************************
                }
    public:
        Def(void)
        {
                    l1=0;
                    //l2[Canal]=0;
                    l3=0;
                    t=5;

            InitializeComponent();
            //
            //TODO: добавьте код конструктора
            //
        }

    protected:
        /// <summary>
        /// Освободить все используемые ресурсы.
        /// </summary>
        ~Def()
        {
            if (components)
            {
                delete components;
            }
        }
    private: System::Windows::Forms::TextBox^  tObj;
    protected:
    private: int click;
    private: Devart::Data::MySql::MySqlDataReader^  MySqlDataReader1;
    private: System::Windows::Forms::Button^  bSizeMinus;
    private: System::Windows::Forms::Button^  bStart;
    private: System::Windows::Forms::Button^  bSizePlus;
    private: System::Windows::Forms::Label^  lOut;
    private: System::Windows::Forms::Label^  lIn;
    private: System::Windows::Forms::NumericUpDown^  attIn;
    private: System::Windows::Forms::Label^  lPhase;
    private: System::Windows::Forms::Timer^  timer1;
    private: System::Windows::Forms::Label^  lObj;
    private: System::Windows::Forms::NumericUpDown^  attOut;
    private: System::Windows::Forms::Label^  lf;
    private: System::Windows::Forms::Label^  lAmp;
    private: System::Windows::Forms::Button^  bResize;
    private: System::Windows::Forms::Label^  lSettings;
    private: System::Windows::Forms::TextBox^  tf1;
    private: System::Windows::Forms::TextBox^  tPhase1;
    private: System::Windows::Forms::TextBox^  tAmp1;
    private: System::Windows::Forms::TrackBar^  fBar1;
    private: System::Windows::Forms::TrackBar^  phaseBar1;
    private: System::Windows::Forms::SplitContainer^  splitContainer1;
    private: ZedGraph::ZedGraphControl^  zedGraphControl3;
    private: ZedGraph::ZedGraphControl^  zedGraphControl2;
    private: ZedGraph::ZedGraphControl^  zedGraphControl1;
private: System::Windows::Forms::Label^  lCanal;
private: Devart::Data::MySql::MySqlConnection^  mySqlConnection1;
private: Devart::Data::MySql::MySqlCommand^  mySqlCommand1;
private: System::Windows::Forms::Label^  label2;
private: System::Windows::Forms::TrackBar^  trackBar1;
private: System::Windows::Forms::Label^  lObject;
private: System::Windows::Forms::Label^  lBase;
private: System::Windows::Forms::Button^  bStop;
private: System::Windows::Forms::Button^  bBalance;
private: System::Windows::Forms::Button^  bFilt;

    private: System::ComponentModel::IContainer^  components;

    private:
        /// <summary>
        /// Требуется переменная конструктора.
        /// </summary>

#pragma region Windows Form Designer generated code
        /// <summary>
        /// Обязательный метод для поддержки конструктора — не изменяйте
        /// содержимое данного метода при помощи редактора кода.
        /// </summary>
        void InitializeComponent(void)
        {
            this>components = (gcnew System::ComponentModel::Container());
            System::ComponentModel::ComponentResourceManager^  resources = (gcnew System::ComponentModel::ComponentResourceManager(Def::typeid));
            this>tObj = (gcnew System::Windows::Forms::TextBox());
            this>bSizeMinus = (gcnew System::Windows::Forms::Button());
            this>bStart = (gcnew System::Windows::Forms::Button());
            this>bSizePlus = (gcnew System::Windows::Forms::Button());
            this>lOut = (gcnew System::Windows::Forms::Label());
            this>lIn = (gcnew System::Windows::Forms::Label());
            this>attIn = (gcnew System::Windows::Forms::NumericUpDown());
            this>lPhase = (gcnew System::Windows::Forms::Label());
            this>timer1 = (gcnew System::Windows::Forms::Timer(this>components));
            this>lObj = (gcnew System::Windows::Forms::Label());
            this>attOut = (gcnew System::Windows::Forms::NumericUpDown());
            this>lf = (gcnew System::Windows::Forms::Label());
            this>lAmp = (gcnew System::Windows::Forms::Label());
            this>bResize = (gcnew System::Windows::Forms::Button());
            this>lSettings = (gcnew System::Windows::Forms::Label());
            this>tf1 = (gcnew System::Windows::Forms::TextBox());
            this>tPhase1 = (gcnew System::Windows::Forms::TextBox());
            this>tAmp1 = (gcnew System::Windows::Forms::TextBox());
            this>fBar1 = (gcnew System::Windows::Forms::TrackBar());
            this>phaseBar1 = (gcnew System::Windows::Forms::TrackBar());
            this>splitContainer1 = (gcnew System::Windows::Forms::SplitContainer());
            this>bFilt = (gcnew System::Windows::Forms::Button());
            this>bBalance = (gcnew System::Windows::Forms::Button());
            this>bStop = (gcnew System::Windows::Forms::Button());
            this>lBase = (gcnew System::Windows::Forms::Label());
            this>trackBar1 = (gcnew System::Windows::Forms::TrackBar());
            this>label2 = (gcnew System::Windows::Forms::Label());
            this>lCanal = (gcnew System::Windows::Forms::Label());
            this>zedGraphControl3 = (gcnew ZedGraph::ZedGraphControl());
            this>zedGraphControl2 = (gcnew ZedGraph::ZedGraphControl());
            this>zedGraphControl1 = (gcnew ZedGraph::ZedGraphControl());
            this>lObject = (gcnew System::Windows::Forms::Label());
            this>mySqlConnection1 = (gcnew Devart::Data::MySql::MySqlConnection());
            this>mySqlCommand1 = (gcnew Devart::Data::MySql::MySqlCommand());
            (cli::safe_cast<System::ComponentModel::ISupportInitialize^  >(this>attIn))>BeginInit();
            (cli::safe_cast<System::ComponentModel::ISupportInitialize^  >(this>attOut))>BeginInit();
            (cli::safe_cast<System::ComponentModel::ISupportInitialize^  >(this>fBar1))>BeginInit();
            (cli::safe_cast<System::ComponentModel::ISupportInitialize^  >(this>phaseBar1))>BeginInit();
            this>splitContainer1>Panel1>SuspendLayout();
            this>splitContainer1>Panel2>SuspendLayout();
            this>splitContainer1>SuspendLayout();
            (cli::safe_cast<System::ComponentModel::ISupportInitialize^  >(this>trackBar1))>BeginInit();
            this>SuspendLayout();
            //
            // tObj
            //
            this>tObj>Location = System::Drawing::Point(537, 14);
            this>tObj>Name = L«tObj»;
            this>tObj>Size = System::Drawing::Size(201, 20);
            this>tObj>TabIndex = 33;
            //
            // bSizeMinus
            //
            this>bSizeMinus>Font = (gcnew System::Drawing::Font(L«Microsoft Sans Serif», 12, System::Drawing::FontStyle::Regular, System::Drawing::GraphicsUnit::Point,
                static_cast<System::Byte>(204)));
            this>bSizeMinus>Location = System::Drawing::Point(472, 95);
            this>bSizeMinus>Name = L«bSizeMinus»;
            this>bSizeMinus>Size = System::Drawing::Size(34, 34);
            this>bSizeMinus>TabIndex = 32;
            this>bSizeMinus>Text = L«-«;
            this>bSizeMinus>UseVisualStyleBackColor = true;
            this>bSizeMinus>Click += gcnew System::EventHandler(this, &Def::bSizeMinus_Click);
            //
            // bStart
            //
            this>bStart>BackColor = System::Drawing::SystemColors::ButtonHighlight;
            this>bStart>Location = System::Drawing::Point(432, 33);
            this>bStart>Name = L«bStart»;
            this>bStart>Size = System::Drawing::Size(74, 25);
            this>bStart>TabIndex = 30;
            this>bStart>Text = L«СТАРТ»;
            this>bStart>UseVisualStyleBackColor = true;
            this>bStart>Click += gcnew System::EventHandler(this, &Def::bStart_Click);
            //
            // bSizePlus
            //
            this>bSizePlus>Font = (gcnew System::Drawing::Font(L«Microsoft Sans Serif», 12, System::Drawing::FontStyle::Regular, System::Drawing::GraphicsUnit::Point,
                static_cast<System::Byte>(204)));
            this>bSizePlus>Location = System::Drawing::Point(432, 95);
            this>bSizePlus>Name = L«bSizePlus»;
            this>bSizePlus>Size = System::Drawing::Size(34, 34);
            this>bSizePlus>TabIndex = 31;
            this>bSizePlus>Text = L«+»;
            this>bSizePlus>UseVisualStyleBackColor = true;
            this>bSizePlus>Click += gcnew System::EventHandler(this, &Def::bSizePlus_Click);
            //
            // lOut
            //
            this>lOut>AutoSize = true;
            this>lOut>Location = System::Drawing::Point(32, 95);
            this>lOut>Name = L«lOut»;
            this>lOut>Size = System::Drawing::Size(39, 13);
            this>lOut>TabIndex = 33;
            this>lOut>Text = L«Выход»;
            //
            // lIn
            //
            this>lIn>AutoSize = true;
            this>lIn>Location = System::Drawing::Point(32, 56);
            this>lIn>Name = L«lIn»;
            this>lIn>Size = System::Drawing::Size(31, 13);
            this>lIn>TabIndex = 32;
            this>lIn>Text = L«Вход»;
            //
            // attIn
            //
            this>attIn>Increment = System::Decimal(gcnew cli::array< System::Int32 >(4) {3, 0, 0, 0});
            this>attIn>Location = System::Drawing::Point(29, 72);
            this>attIn>Maximum = System::Decimal(gcnew cli::array< System::Int32 >(4) {45, 0, 0, 0});
            this>attIn>Name = L«attIn»;
            this>attIn>Size = System::Drawing::Size(45, 20);
            this>attIn>TabIndex = 30;
            this>attIn>ValueChanged += gcnew System::EventHandler(this, &Def::attIn_ValueChanged);
            //
            // lPhase
            //
            this>lPhase>AutoSize = true;
            this>lPhase>Location = System::Drawing::Point(83, 17);
            this>lPhase>Name = L«lPhase»;
            this>lPhase>Size = System::Drawing::Size(36, 13);
            this>lPhase>TabIndex = 28;
            this>lPhase>Text = L«Фаза»;
            //
            // timer1
            //
            this>timer1>Interval = 1;
            this>timer1>Tick += gcnew System::EventHandler(this, &Def::timer1_Tick);
            //
            // lObj
            //
            this>lObj>AutoSize = true;
            this>lObj>Location = System::Drawing::Point(426, 5);
            this>lObj>Name = L«lObj»;
            this>lObj>Size = System::Drawing::Size(105, 26);
            this>lObj>TabIndex = 34;
            this>lObj>Text = L«Название объекта rnдефектоскопии:»;
            //
            // attOut
            //
            this>attOut>Increment = System::Decimal(gcnew cli::array< System::Int32 >(4) {3, 0, 0, 0});
            this>attOut>Location = System::Drawing::Point(29, 109);
            this>attOut>Maximum = System::Decimal(gcnew cli::array< System::Int32 >(4) {45, 0, 0, 0});
            this>attOut>Name = L«attOut»;
            this>attOut>Size = System::Drawing::Size(45, 20);
            this>attOut>TabIndex = 31;
            this>attOut>ValueChanged += gcnew System::EventHandler(this, &Def::attOut_ValueChanged);
            //
            // lf
            //
            this>lf>AutoSize = true;
            this>lf>Location = System::Drawing::Point(128, 17);
            this>lf>Name = L«lf»;
            this>lf>Size = System::Drawing::Size(49, 13);
            this>lf>TabIndex = 29;
            this>lf>Text = L«Частота»;
            //
            // lAmp
            //
            this>lAmp>AutoSize = true;
            this>lAmp>Location = System::Drawing::Point(26, 17);
            this>lAmp>Name = L«lAmp»;
            this>lAmp>Size = System::Drawing::Size(62, 13);
            this>lAmp>TabIndex = 27;
            this>lAmp>Text = L«Амплитуда»;
            //
            // bResize
            //
            this>bResize>Location = System::Drawing::Point(3, 3);
            this>bResize>Name = L«bResize»;
            this>bResize>Size = System::Drawing::Size(22, 22);
            this>bResize>TabIndex = 26;
            this>bResize>Text = L«>»;
            this>bResize>UseVisualStyleBackColor = true;
            this>bResize>Click += gcnew System::EventHandler(this, &Def::bResize_Click);
            //
            // lSettings
            //
            this>lSettings>AutoSize = true;
            this>lSettings>Location = System::Drawing::Point(3, 25);
            this>lSettings>Name = L«lSettings»;
            this>lSettings>Size = System::Drawing::Size(15, 117);
            this>lSettings>TabIndex = 25;
            this>lSettings>Text = L«НrnАrnСrnТrnРrnОrnЙrnКrnИ»;
            this>lSettings>TextAlign = System::Drawing::ContentAlignment::TopCenter;
            //
            // tf1
            //
            this>tf1>Location = System::Drawing::Point(131, 33);
            this>tf1>Name = L«tf1»;
            this>tf1>Size = System::Drawing::Size(45, 20);
            this>tf1>TabIndex = 24;
            this>tf1>Text = L«500»;
            this>tf1>TextChanged += gcnew System::EventHandler(this, &Def::tf1_TextChanged);
            //
            // tPhase1
            //
            this>tPhase1>Location = System::Drawing::Point(80, 33);
            this>tPhase1>Name = L«tPhase1»;
            this>tPhase1>Size = System::Drawing::Size(45, 20);
            this>tPhase1>TabIndex = 23;
            this>tPhase1>Text = L«0»;
            this>tPhase1>TextChanged += gcnew System::EventHandler(this, &Def::tPhase1_TextChanged);
            //
            // tAmp1
            //
            this>tAmp1>Location = System::Drawing::Point(29, 33);
            this>tAmp1>Name = L«tAmp1»;
            this>tAmp1>Size = System::Drawing::Size(45, 20);
            this>tAmp1>TabIndex = 22;
            this>tAmp1>Text = L«0»;
            this>tAmp1>TextChanged += gcnew System::EventHandler(this, &Def::tAmp1_TextChanged);
            //
            // fBar1
            //
            this>fBar1>Location = System::Drawing::Point(131, 60);
            this>fBar1>Maximum = 1000;
            this>fBar1>Minimum = 10;
            this>fBar1>Name = L«fBar1»;
            this>fBar1>Orientation = System::Windows::Forms::Orientation::Vertical;
            this>fBar1>Size = System::Drawing::Size(45, 260);
            this>fBar1>TabIndex = 21;
            this>fBar1>TickStyle = System::Windows::Forms::TickStyle::Both;
            this>fBar1>Value = 500;
            this>fBar1>Scroll += gcnew System::EventHandler(this, &Def::fBar1_Scroll);
            //
            // phaseBar1
            //
            this>phaseBar1>Location = System::Drawing::Point(80, 60);
            this>phaseBar1>Maximum = 3600;
            this>phaseBar1>Name = L«phaseBar1»;
            this>phaseBar1>Orientation = System::Windows::Forms::Orientation::Vertical;
            this>phaseBar1>Size = System::Drawing::Size(45, 260);
            this>phaseBar1>TabIndex = 20;
            this>phaseBar1>TickStyle = System::Windows::Forms::TickStyle::Both;
            this>phaseBar1>Scroll += gcnew System::EventHandler(this, &Def::phaseBar1_Scroll);
            //
            // splitContainer1
            //
            this>splitContainer1>Dock = System::Windows::Forms::DockStyle::Fill;
            this>splitContainer1>Location = System::Drawing::Point(0, 0);
            this>splitContainer1>Name = L«splitContainer1»;
            //
            // splitContainer1.Panel1
            //
            this>splitContainer1>Panel1>Controls>Add(this>lOut);
            this>splitContainer1>Panel1>Controls>Add(this>lIn);
            this>splitContainer1>Panel1>Controls>Add(this>attOut);
            this>splitContainer1>Panel1>Controls>Add(this>attIn);
            this>splitContainer1>Panel1>Controls>Add(this>lf);
            this>splitContainer1>Panel1>Controls>Add(this>lPhase);
            this>splitContainer1>Panel1>Controls>Add(this>lAmp);
            this>splitContainer1>Panel1>Controls>Add(this>bResize);
            this>splitContainer1>Panel1>Controls>Add(this>lSettings);
            this>splitContainer1>Panel1>Controls>Add(this>tf1);
            this>splitContainer1>Panel1>Controls>Add(this>tPhase1);
            this>splitContainer1>Panel1>Controls>Add(this>tAmp1);
            this>splitContainer1>Panel1>Controls>Add(this>fBar1);
            this>splitContainer1>Panel1>Controls>Add(this>phaseBar1);
            this>splitContainer1>Panel1MinSize = 28;
            //
            // splitContainer1.Panel2
            //
            this>splitContainer1>Panel2>BackColor = System::Drawing::Color::PaleTurquoise;
            this>splitContainer1>Panel2>Controls>Add(this>bFilt);
            this>splitContainer1>Panel2>Controls>Add(this>bBalance);
            this>splitContainer1>Panel2>Controls>Add(this>bStop);
            this>splitContainer1>Panel2>Controls>Add(this>lBase);
            this>splitContainer1>Panel2>Controls>Add(this>trackBar1);
            this>splitContainer1>Panel2>Controls>Add(this>label2);
            this>splitContainer1>Panel2>Controls>Add(this>lCanal);
            this>splitContainer1>Panel2>Controls>Add(this>zedGraphControl3);
            this>splitContainer1>Panel2>Controls>Add(this>zedGraphControl2);
            this>splitContainer1>Panel2>Controls>Add(this>zedGraphControl1);
            this>splitContainer1>Panel2>Controls>Add(this>lObj);
            this>splitContainer1>Panel2>Controls>Add(this>tObj);
            this>splitContainer1>Panel2>Controls>Add(this>bSizeMinus);
            this>splitContainer1>Panel2>Controls>Add(this>bSizePlus);
            this>splitContainer1>Panel2>Controls>Add(this>bStart);
            this>splitContainer1>Panel2>Controls>Add(this>lObject);
            this>splitContainer1>Size = System::Drawing::Size(924, 555);
            this>splitContainer1>SplitterDistance = 28;
            this>splitContainer1>TabIndex = 5;
            //
            // bFilt
            //
            this>bFilt>Location = System::Drawing::Point(432, 135);
            this>bFilt>Name = L«bFilt»;
            this>bFilt>Size = System::Drawing::Size(72, 23);
            this>bFilt>TabIndex = 45;
            this>bFilt>Text = L«Фильтр»;
            this>bFilt>UseVisualStyleBackColor = true;
            this>bFilt>Click += gcnew System::EventHandler(this, &Def::bFilt_Click);
            //
            // bBalance
            //
            this>bBalance>Location = System::Drawing::Point(432, 164);
            this>bBalance>Name = L«bBalance»;
            this>bBalance>Size = System::Drawing::Size(73, 23);
            this>bBalance>TabIndex = 44;
            this>bBalance>Text = L«Баланс»;
            this>bBalance>UseVisualStyleBackColor = true;
            this>bBalance>Click += gcnew System::EventHandler(this, &Def::bBalance_Click);
            //
            // bStop
            //
            this>bStop>BackColor = System::Drawing::SystemColors::ButtonHighlight;
            this>bStop>Location = System::Drawing::Point(432, 64);
            this>bStop>Name = L«bStop»;
            this>bStop>Size = System::Drawing::Size(74, 25);
            this>bStop>TabIndex = 43;
            this>bStop>Text = L«СТОП»;
            this>bStop>UseVisualStyleBackColor = true;
            this>bStop>Click += gcnew System::EventHandler(this, &Def::bStop_Click);
            //
            // lBase
            //
            this>lBase>AutoSize = true;
            this>lBase>Location = System::Drawing::Point(565, 99);
            this>lBase>Name = L«lBase»;
            this>lBase>Size = System::Drawing::Size(33, 13);
            this>lBase>TabIndex = 42;
            this>lBase>Text = L«lBase»;
            this>lBase>Visible = false;
            //
            // trackBar1
            //
            this>trackBar1>BackColor = System::Drawing::Color::PaleTurquoise;
            this>trackBar1>Location = System::Drawing::Point(3, 498);
            this>trackBar1>Name = L«trackBar1»;
            this>trackBar1>Size = System::Drawing::Size(666, 45);
            this>trackBar1>TabIndex = 40;
            this>trackBar1>TickStyle = System::Windows::Forms::TickStyle::None;
            this>trackBar1>Visible = false;
            this>trackBar1>Scroll += gcnew System::EventHandler(this, &Def::trackBar1_Scroll);
            //
            // label2
            //
            this>label2>AutoSize = true;
            this>label2>Location = System::Drawing::Point(564, 81);
            this>label2>Name = L«label2»;
            this>label2>Size = System::Drawing::Size(35, 13);
            this>label2>TabIndex = 39;
            this>label2>Text = L«label1»;
            this>label2>Visible = false;
            //
            // lCanal
            //
            this>lCanal>AutoSize = true;
            this>lCanal>Location = System::Drawing::Point(564, 62);
            this>lCanal>Name = L«lCanal»;
            this>lCanal>Size = System::Drawing::Size(35, 13);
            this>lCanal>TabIndex = 38;
            this>lCanal>Text = L«label1»;
            this>lCanal>Visible = false;
            //
            // zedGraphControl3
            //
            this>zedGraphControl3>Location = System::Drawing::Point(429, 246);
            this>zedGraphControl3>Name = L«zedGraphControl3»;
            this>zedGraphControl3>ScrollGrace = 0;
            this>zedGraphControl3>ScrollMaxX = 0;
            this>zedGraphControl3>ScrollMaxY = 0;
            this>zedGraphControl3>ScrollMaxY2 = 0;
            this>zedGraphControl3>ScrollMinX = 0;
            this>zedGraphControl3>ScrollMinY = 0;
            this>zedGraphControl3>ScrollMinY2 = 0;
            this>zedGraphControl3>Size = System::Drawing::Size(240, 240);
            this>zedGraphControl3>TabIndex = 37;
            //
            // zedGraphControl2
            //
            this>zedGraphControl2>Location = System::Drawing::Point(3, 246);
            this>zedGraphControl2>Name = L«zedGraphControl2»;
            this>zedGraphControl2>ScrollGrace = 0;
            this>zedGraphControl2>ScrollMaxX = 0;
            this>zedGraphControl2>ScrollMaxY = 0;
            this>zedGraphControl2>ScrollMaxY2 = 0;
            this>zedGraphControl2>ScrollMinX = 0;
            this>zedGraphControl2>ScrollMinY = 0;
            this>zedGraphControl2>ScrollMinY2 = 0;
            this>zedGraphControl2>Size = System::Drawing::Size(420, 240);
            this>zedGraphControl2>TabIndex = 36;
            //
            // zedGraphControl1
            //
            this>zedGraphControl1>Location = System::Drawing::Point(3, 5);
            this>zedGraphControl1>Name = L«zedGraphControl1»;
            this>zedGraphControl1>ScrollGrace = 0;
            this>zedGraphControl1>ScrollMaxX = 0;
            this>zedGraphControl1>ScrollMaxY = 0;
            this>zedGraphControl1>ScrollMaxY2 = 0;
            this>zedGraphControl1>ScrollMinX = 0;
            this>zedGraphControl1>ScrollMinY = 0;
            this>zedGraphControl1>ScrollMinY2 = 0;
            this>zedGraphControl1>Size = System::Drawing::Size(420, 240);
            this>zedGraphControl1>TabIndex = 35;
            //
            // lObject
            //
            this>lObject>AutoSize = true;
            this>lObject>Location = System::Drawing::Point(537, 18);
            this>lObject>Name = L«lObject»;
            this>lObject>Size = System::Drawing::Size(0, 13);
            this>lObject>TabIndex = 41;
            //
            // mySqlConnection1
            //
            this>mySqlConnection1>ConnectionString = L«User Id=root;Host=localhost;Database=fazus_db;»;
            this>mySqlConnection1>Name = L«mySqlConnection1»;
            //
            // mySqlCommand1
            //
            this>mySqlCommand1>Connection = this>mySqlConnection1;
            this>mySqlCommand1>Name = L«mySqlCommand1»;
            //
            // Def
            //
            this>AutoScaleDimensions = System::Drawing::SizeF(6, 13);
            this>AutoScaleMode = System::Windows::Forms::AutoScaleMode::Font;
            this>BackColor = System::Drawing::Color::PaleTurquoise;
            this>ClientSize = System::Drawing::Size(924, 555);
            this>Controls>Add(this>splitContainer1);
            this>Icon = (cli::safe_cast<System::Drawing::Icon^  >(resources>GetObject(L«$this.Icon»)));
            this>Name = L«Def»;
            this>Text = L«Def»;
            this>Load += gcnew System::EventHandler(this, &Def::Def_Load);
            this>VisibleChanged += gcnew System::EventHandler(this, &Def::Def_Load);
            this>FormClosing += gcnew System::Windows::Forms::FormClosingEventHandler(this, &Def::Def_FormClosing);
            (cli::safe_cast<System::ComponentModel::ISupportInitialize^  >(this>attIn))>EndInit();
            (cli::safe_cast<System::ComponentModel::ISupportInitialize^  >(this>attOut))>EndInit();
            (cli::safe_cast<System::ComponentModel::ISupportInitialize^  >(this>fBar1))>EndInit();
            (cli::safe_cast<System::ComponentModel::ISupportInitialize^  >(this>phaseBar1))>EndInit();
            this>splitContainer1>Panel1>ResumeLayout(false);
            this>splitContainer1>Panel1>PerformLayout();
            this>splitContainer1>Panel2>ResumeLayout(false);
            this>splitContainer1>Panel2>PerformLayout();
            this>splitContainer1>ResumeLayout(false);
            (cli::safe_cast<System::ComponentModel::ISupportInitialize^  >(this>trackBar1))>EndInit();
            this>ResumeLayout(false);

        }
#pragma endregion
    private: System::Void Def_Load(System::Object^  sender, System::EventArgs^  e) {
            tPhase1>Text=Convert::ToString((float)phaseBar1>Value/10);
            tf1>Text=Convert::ToString(fBar1>Value);
            click=0;
/*          fd_set soc_insp;
            timeval insp_time;
            soc_insp.fd_count = 1;
            soc_insp.fd_array[0] = m_sock;
            insp_time.tv_sec = 0;
            insp_time.tv_usec = 10000*2;*/

/*          init_program();
            init_instrument();
            select(0, &soc_insp, NULL, NULL, &insp_time);
            this->Name;*/

            if(this>Name==«Can0») {
                Canal=0;
                lCanal>Text=«0»;
                this>Text=«Дефектоскопия, канал 1»;
            }
            if(this>Name==«Can1») {
                Canal=1;
                lCanal>Text=«1»;
                this>Text=«Дефектоскопия, канал 2»;
            }
            if(this>Name==«Can2») {
                Canal=2;
                lCanal>Text=«2»;
                this>Text=«Дефектоскопия, канал 3»;
            }
            if(this>Name==«Can3») {
                Canal=3;
                lCanal>Text=«3»;
                this>Text=«Дефектоскопия, канал 4»;
            }
            if(this>Name!=«Can0»&&this>Name!=«Can1»&&this>Name!=«Can2»&&this>Name!=«Can3») {
                Canal=99;
                l2[4]=0;
                trackBar1>Value=(int)l2[4];
                lCanal>Text=«4»;
                bBalance>Visible=false;
                lBase>Text=this>Name;
                tObj>Visible=false;
                bResize>Visible=false;
                lSettings>Visible=false;
                bFilt>Visible=false;
                this>Text=«Дефектоскопия, архив»;
                trackBar1>Visible=true;

               
                mySqlCommand1>CommandText=«select X from`»+lBase>Text+«`;»;
                mySqlConnection1>Open();
                MySqlDataReader1 = mySqlCommand1>ExecuteReader();
                while(MySqlDataReader1>Read())
                {
                }
                trackBar1>Maximum=Convert::ToInt16(MySqlDataReader1>RecordCount::get());
                mySqlCommand1>CommandText=«select `obj` from`obj` where `database`='»+lBase>Text+«‘;»;
                MySqlDataReader1 = mySqlCommand1>ExecuteReader();
                    while(MySqlDataReader1>Read())
                    {
                    for (int i = 0; i < MySqlDataReader1>FieldCount; i++)
                    {
                    lObject>Text=MySqlDataReader1>GetValue(i)>ToString();
                    }
                }
                mySqlConnection1>Close();
            }
            canalOpen[Convert::ToInt32(lCanal>Text)]=false;
            this>Load_Graw();
             }
private: System::Void tAmp1_TextChanged(System::Object^  sender, System::EventArgs^  e) {
             set_generator(phaseBar1>Value,Convert::ToInt32(tAmp1>Text),Convert::ToInt32(lCanal>Text));
             set_compensator(phaseBar1>Value,Convert::ToInt32(tAmp1>Text),Convert::ToInt32(lCanal>Text));
             set_amp(Convert::ToInt32(attIn>Text)/3,Convert::ToInt32(attOut>Text)/3,Convert::ToInt32(lCanal>Text));
             set_frequency(fBar1>Value,1,Convert::ToInt32(lCanal>Text));
         }
private: System::Void tf1_TextChanged(System::Object^  sender, System::EventArgs^  e) {
             fBar1>Value=Convert::ToInt32(tf1>Text);
             set_frequency(fBar1>Value,1,Convert::ToInt32(lCanal>Text));

         }
private: System::Void tPhase1_TextChanged(System::Object^  sender, System::EventArgs^  e) {
             set_generator(phaseBar1>Value,Convert::ToInt32(tAmp1>Text),Convert::ToInt32(lCanal>Text));
             set_compensator(phaseBar1>Value,Convert::ToInt32(tAmp1>Text),Convert::ToInt32(lCanal>Text));
             set_amp(Convert::ToInt32(attIn>Text)/3,Convert::ToInt32(attOut>Text)/3,Convert::ToInt32(lCanal>Text));
             set_frequency(fBar1>Value,1,Convert::ToInt32(lCanal>Text));
         }
private: System::Void phaseBar1_Scroll(System::Object^  sender, System::EventArgs^  e) {
             tPhase1>Text=Convert::ToString((float)phaseBar1>Value/10);
         }
private: System::Void fBar1_Scroll(System::Object^  sender, System::EventArgs^  e) {
             tf1>Text=Convert::ToString(fBar1>Value);
         }

private: System::Void bResize_Click(System::Object^  sender, System::EventArgs^  e) {
                 click++;
                 if(click%2){
                     splitContainer1>SplitterDistance=tf1>Width+tf1>Left+3;
                     bResize>Text=«<«;
                 }
                 else{
                     splitContainer1>SplitterDistance=bResize>Width;
                     bResize>Text=«>»;
                 }

         }
private: System::Void attIn_ValueChanged(System::Object^  sender, System::EventArgs^  e) {
             tAmp1>Text=Convert::ToString(get_amp1());
             set_generator(phaseBar1>Value,Convert::ToInt32(tAmp1>Text),Convert::ToInt32(lCanal>Text));
             set_compensator(phaseBar1>Value,Convert::ToInt32(tAmp1>Text),Convert::ToInt32(lCanal>Text));
             set_amp(Convert::ToInt32(attIn>Text)/3,Convert::ToInt32(attOut>Text)/3,Convert::ToInt32(lCanal>Text));
         }
private: System::Void attOut_ValueChanged(System::Object^  sender, System::EventArgs^  e) {
             tAmp1>Text=Convert::ToString(get_amp1());
             set_generator(phaseBar1>Value,Convert::ToInt32(tAmp1>Text),Convert::ToInt32(lCanal>Text));
             set_compensator(phaseBar1>Value,Convert::ToInt32(tAmp1>Text),Convert::ToInt32(lCanal>Text));
             set_amp(Convert::ToInt32(attIn>Text)/3,Convert::ToInt32(attOut>Text)/3,Convert::ToInt32(lCanal>Text));
         }
private: System::Void timer1_Tick(System::Object^  sender, System::EventArgs^  e) {
             if(this>Name!=«Can0»&&this>Name!=«Can1»&&this>Name!=«Can2»&&this>Name!=«Can3»)
             {//алгоритм вывода из базы
                if(lObject>Text!=«»){
                int z;
                l2[4]=trackBar1>Value;
                if(trackBar1>Value<64){
                    z=0;
                }
                else{
                    z=trackBar1>Value64;
                }
                timer1>Interval=42;
                //timer1->Interval=65;
                //timer1->Interval=1;
                l2[4]=++l2[4];
                trackBar1>Value=Convert::ToInt32(l2[4]);
                if(l2[4]>trackBar1>Maximum2){
                            timer1>Enabled=false;
                        }      
                mySqlCommand1>CommandText = «select `X` from`»+lBase>Text+«` where `id`=»+trackBar1>Value+«;»;
                mySqlConnection1>Open();
                MySqlDataReader1 = mySqlCommand1>ExecuteReader();
                while(MySqlDataReader1>Read())
                {
                    for (int i = 0; i < MySqlDataReader1>FieldCount; i++)
                    {
                        l1=Convert::ToDouble(MySqlDataReader1>GetValue(i)>ToString());
                        if(l2[4]>trackBar1>Maximum2){
                            break;
                            timer1>Enabled=false;
                        }
                        per++;
                        if(per>=64){
                        per=0;};
                        if(l1>t) t=t+2.5;
                        if(l3>t) t=t+2.5;
                        if(l1<t) t=t+2.5;
                        if(l3<t) t=t+2.5;
                    }
                }
                mySqlCommand1>CommandText = «select `Y` from`»+lBase>Text+«` where `id`=»+trackBar1>Value+«;»;
                mySqlConnection1>Open();
                MySqlDataReader1 = mySqlCommand1>ExecuteReader();
                while(MySqlDataReader1>Read())
                {
                    for (int i = 0; i < MySqlDataReader1>FieldCount; i++)
                    {
                        l3=Convert::ToDouble(MySqlDataReader1>GetValue(i)>ToString());
                        if(l2[4]>trackBar1>Maximum2){
                            break;
                            timer1>Enabled=false;
                        }
                        per++;
                        if(per>=64){
                        per=0;};
                        if(l1>t) t=t+2.5;
                        if(l3>t) t=t+2.5;
                        if(l1<t) t=t+2.5;
                        if(l3<t) t=t+2.5;
                    }
                }
                Load_Graw();
                Graw_Draw();
                mySqlConnection1>Close();
             }
             }
             else
             {
                     l1=coordX[Convert::ToInt32(lCanal>Text)][per]/1000;
                     l3=coordY[Convert::ToInt32(lCanal>Text)][per]/1000;
                     this>Load_Graw();
                     this>Graw_Draw();
                     l2[Convert::ToInt32(lCanal>Text)]=++l2[Convert::ToInt32(lCanal>Text)];
                     mySqlCommand1>CommandText = «insert into `»+label2>Text+«`(`X`,`Y`) values (‘»+Convert::ToString(l1)+«‘,'»+Convert::ToString(l3)+«‘);»;
                     mySqlConnection1>Open();
                     mySqlCommand1>ExecuteNonQuery();
                     per++;
                     if(per>=64){
                     per=0;};
                     if(l1>t) t=t+2.5;
                     if(l3>t) t=t+2.5;
                     if(l1<t) t=t+2.5;
                     if(l3<t) t=t+2.5;
             }

           
           
         }
private: System::Void bStart_Click(System::Object^  sender, System::EventArgs^  e) {
            if((tObj>Text!=«»)&&(tObj>Text!=«Enter the name of the object inspection»)&&(this>Name==«Can0»||this>Name==«Can1»||this>Name==«Can2»||this>Name==«Can3»)){
                timer1>Interval=1;
            DateTime date1;
            date1=DateTime::Now;
            mySqlCommand1>CommandText = «create table `»+Convert::ToString(date1.Day)+«_»+Convert::ToString(date1.Month)+«_»+Convert::ToString(date1.Year)+«_»+Convert::ToString(date1.Hour)+«_»+Convert::ToString(date1.Minute)+«_»+Convert::ToString(date1.Second)+«`(`ID` int(10) AUTO_INCREMENT,`X` char(10),`Y` char(10), `step` int(10), PRIMARY KEY(`ID`));»;
            mySqlConnection1>Open();
            label2>Text=Convert::ToString(date1.Day)+«_»+Convert::ToString(date1.Month)+«_»+Convert::ToString(date1.Year)+«_»+Convert::ToString(date1.Hour)+«_»+Convert::ToString(date1.Minute)+«_»+Convert::ToString(date1.Second);
            mySqlCommand1>ExecuteNonQuery();
            mySqlCommand1>CommandText = «insert into `obj`(`OBJ`,`database`) values (‘»+tObj>Text+«‘,'»+label2>Text+«‘);»;
            mySqlCommand1>ExecuteNonQuery();
            timer1>Enabled=true;
            mySqlConnection1>Close();
            }
            else
            {
                tObj>Text=«Enter the name of the object inspection»;
            }
            if((lObject>Text!=«»)&&(trackBar1>Value<trackBar1>Maximum2)){
            timer1>Enabled=true;
            l2[4]=trackBar1>Value;
            }
/*          if(lObject->Text!=»»){
                int z;
                l2[4]=trackBar1->Value;
                if(trackBar1->Value<64){
                    z=0;
                }
                else{
                    z=trackBar1->Value-64;
                }
                mySqlCommand1->CommandText = «select `X` from`»+lBase->Text+»` where `id`<«+trackBar1->Value+» and `id`>=»+z+»;»;
                mySqlConnection1->Open();
                MySqlDataReader1 = mySqlCommand1->ExecuteReader();
                while(MySqlDataReader1->Read())
                {
                    for (int i = 0; i < MySqlDataReader1->FieldCount; i++)
                    {
                        l1=Convert::ToDouble(MySqlDataReader1->GetValue(i)->ToString());
                        l2[4]=++l2[4];
                        trackBar1->Value=Convert::ToInt32(l2[4]);
                        per++;
                        if(per>=64){
                        per=0;};
                        if(l1>t) t=t+2.5;
                        if(l3>t) t=t+2.5;
                        if(l1<-t) t=t+2.5;
                        if(l3<-t) t=t+2.5;
                    }
                }
            mySqlConnection1->Close();
            timer1->Enabled=true;*/

        //  }
         }
private: System::Void bSizePlus_Click(System::Object^  sender, System::EventArgs^  e) {
             t=t2.5;
         }
private: System::Void bSizeMinus_Click(System::Object^  sender, System::EventArgs^  e) {
             t=t+2.5;
         }
private: System::Void trackBar1_Scroll(System::Object^  sender, System::EventArgs^  e) {
             if(!timer1>Enabled){
                int z;
                l2[4]=trackBar1>Value;
                if(trackBar1>Value<64){
                    z=0;
                }
                else{
                    z=trackBar1>Value64;
                }
                l2[4]=++l2[4];
                mySqlCommand1>CommandText = «select `X` from`»+lBase>Text+«` where `id`<«+trackBar1>Value+» and `id`>»+z+«;»;
                mySqlConnection1>Open();
                MySqlDataReader1 = mySqlCommand1>ExecuteReader();
                while(MySqlDataReader1>Read())
                {
                    for (int i = 0; i < MySqlDataReader1>FieldCount; i++)
                    {
                        l1=Convert::ToDouble(MySqlDataReader1>GetValue(i)>ToString());
                        per++;
                        if(per>=64){
                        per=0;};
                        if(l1>t) t=t+2.5;
                        if(l3>t) t=t+2.5;
                        if(l1<t) t=t+2.5;
                        if(l3<t) t=t+2.5;
                    }
                }
                mySqlCommand1>CommandText = «select `Y` from`»+lBase>Text+«` where `id`=»+trackBar1>Value+«;»;
                mySqlConnection1>Open();
                MySqlDataReader1 = mySqlCommand1>ExecuteReader();
                while(MySqlDataReader1>Read())
                {
                    for (int i = 0; i < MySqlDataReader1>FieldCount; i++)
                    {
                        l3=Convert::ToDouble(MySqlDataReader1>GetValue(i)>ToString());
                        per++;
                        if(per>=64){
                        per=0;};
                        if(l1>t) t=t+2.5;
                        if(l3>t) t=t+2.5;
                        if(l1<t) t=t+2.5;
                        if(l3<t) t=t+2.5;
                    }
                }
                Load_Graw();
                Graw_Draw();
                mySqlConnection1>Close();
                }
         }
private: System::Void bStop_Click(System::Object^  sender, System::EventArgs^  e) {
             timer1>Enabled=false;
         }
private: System::Void bBalance_Click(System::Object^  sender, System::EventArgs^  e) {
                balance(Convert::ToInt32(lCanal>Text));
         }
private: System::Void bFilt_Click(System::Object^  sender, System::EventArgs^  e) {
             filt1^ gfilt = gcnew filt1;
             gfilt>Show();
         }
private: System::Void Def_FormClosing(System::Object^  sender, System::Windows::Forms::FormClosingEventArgs^  e) {
             canalOpen[Convert::ToInt32(lCanal>Text)]=true;
         }
};
}
//Convert::ToInt32(lCanal)
/*          mySqlInsertData->CommandText = «insert into `»+label2->Text+»`(`X`,`Y`, `step`) values (‘»+textBox1->Text+»‘,'»+textBox2->Text+»‘,'»+textBox3->Text+»‘);»;
            label1->Text=mySqlInsertData->CommandText;
            mySqlInsertData->ExecuteNonQuery();
*/

«My iPhone 7 won’t boot anymore and when I plug it in my MacBook, it goes to recovery mode (cable logo => iTunes logo). So I tried to restore it using iTunes but I keep getting iTunes error 2001 error. Any idea how to fix iTunes error code 2001?»

iPhone iTunes error 2001

iPod iTunes error 2001

The iTunes error 2001 is quite usual, especially when an attempt to update or restore the Apple device using iTunes is taken. During a software restore, unknown error 2001 could often turn up for unexpected reasons, which get quite annoying sometimes. In this regard, I hunt for the top 6 efficient solutions to help you fix unknown iTunes error 2001 while updating or restoring an iPhone/iPad/iPod in this tutorial.

  • Method 1. Update Current iTunes
  • Method 2. Check USB Connection
  • Method 3. Force Restart iOS Device
  • Method 4. With Free Tenorshare TunesCare
  • Method 5. With Tenorshare ReiBoot—Ultimate Solution
  • Method 6. Change Battery to Troubleshoot iTunes Error 2001

Method 1. Update Current iTunes

The older version of iTunes often causes software clash with iOS on iPhone, iPad or iPod Touch and then result in error 2001 to come about. Therefore, upgrading iTunes version is likely to be the first measure.

There are 2 ways to gain latest iTunes version:

Method 2. Check USB Connection

Do the USB ports work well? The USB ports are highly used on any computer and then ware out after a certain period of time. It is normally owing to the USB connection is interrupted. Thus, you need to try different ports or USB cables and unplug everything else from USB.

change USB port

Method 3. Force Restart iOS Device

Another option to fix this problem is to force reboot your Apple device (iPhone, iPad or iPod). This is going to make plenty of changes to your device and also make it better. The resetting is not so complicated.

  • For iPhone 7(Plus) users, just hold and press «Power + Volume Down» button both for about 15 seconds. Then the device will be rebooted.
  • For iPhone 6(Plus)/6s(Plus) owners, hold both «Power» button on the right side and «Home» button in the meantime until Apple logo appears on the screen.
  • For iPhone SE/5(s)/5c/4(s)/3GS customers, hold down «Power» button on the top right of the device and hold «Home» button together until it forcibly reboots.
  • force restart iPhone

Method 4. Repair iTunes Error 2001 with Free Tenorshare TunesCare

As a totally free all-in-one iTunes repair tool to fix all iTunes sync problems and iTunes errors, The free Tenorshare TunesCare software is no doubt to be a professional program. To mention it, you are able to use it to deal with slow performance in iTunes as well.

Now let’s see how to use this application:

1. You need to download it from official website or other download center before using this tool.

windows download btn

mac download btn

2. Install and launch Tenorshare TunesCare from your PC. Tap on the dotted box with a blue lamp bulb, written «Fix All iTunes Issues».

Tenorshare TunesCare

3. Since your iTunes is abnormally. Try to fix it immediately by taping «Repair iTunes» button.

iTunes performs abnormally

4. Then it will download iTunes driver and fix your iTunes error 2001 until it is finished.

iTunes repair drivers

Video Guide on How to Fix iTunes Error 2001 via Tenorshare TunesCare

Method 5. Fix iTunes Restore Error 2001 with Tenorshare ReiBoot

If the issue persists on a known-good computer or Mac after trying above methods and the error issue is caused by your Apple device like system damage, corruption, etc., then you have to repair iOS system in the end. Apple lists restore error 9 as a security software issue while many other sites take it as software related error. If you’ve tried all the iPhone error 9 hardware solutions but failed, fix iPhone system with the professional iOS repairing tool Tenorshare ReiBoot.

windows download btn

mac download btn

Method 6. Change Battery to Troubleshoot iTunes Error 2001

A bad or disconnected battery seems to be capable of causing unknown error 2001 that others have reported. Even after trying all the above methods if issue still persists, you had better consult to Apple Genius. Most likely, it’s a battery problem. So don’t anxious and go to Apple Genius store to change battery and ask for help to fix this issue.

Wow! So these are the methods to fix iTunes error code 2001 while restoring iPhone, iPad or iPod using iTunes. All of the solutions are recognized to be effective as well as efficient by a multitude of users. Hope you like this post and in case of any enquiry regarding this, feel free to ask via comments.

Понравилась статья? Поделить с друзьями:
  • Reaper как изменить темп дорожки
  • Reaper как изменить голос
  • Reaper x error фанфики
  • Reaper wasapi error
  • Reaper sans x error sans