5.16. САМОСТОЯТЕЛЬНОЕ ПРАКТИЧЕСКОЕ ЗАДАНИЕ 5.1
Задание. Познакомиться с компонентами папки "1_Программирование и привязка" демо-проекта.
Порядок выполнения.
-
Запустите среду разработки Astra.IDE.
-
Распакуйте архив проекта.
-
Запустите виртуальный ПЛК. В сканере сети среды разработки Astra.IDE выполните поиск виртуального ПЛК и назначьте одному из его коммуникационных интерфейсов IP адрес в подсети сетевой карты компьютера.
-
Выполните компиляцию проекта и убедитесь, что в окне "Сообщения" присутствуют ошибки.
-
Для устранения ошибок в "Менеджер библиотек" проекта необходимо добавить библиотеки "Standard" и "Standard64".
-
Сохраните и скомпилируйте проект.
-
Выполните "Логин" к виртуальному ПЛК и загрузите в него приложение. Запустите приложение на контроллере кнопкой "Старт" панели инструментов.
-
Откройте программу "PLC_PRG". Найдите часть кода, который представлен ниже:Оценивайте значением переменных: "tm_var" - отображается время, прошедшее с момента запуска ПЛК. "dt_delta" - отображается разность значений переменных "dt_var" и "dt_var1". Изменяйте значение переменных "dt_var" и/или "dt_var1", записывайте их в ПЛК комбинацией кнопок CTRL+F7 и наблюдайте за изменением значения переменной "dt_delta". "dint_var" - выполняется перевод значения переменной "dt_delta" из типа TIME в DINT.
-
Нажмите на кнопку "Стоп". После нажатия кнопки стоп отключитесь от ПЛК нажав кнопку "Отключение".
-
Перейдите к части кода, представленного ниже:
-
Закомментируйте строку 41, раскомментируйте строку 43 и внесите изменения в строку 44 кода программы в области программного кода, согласно рисунка ниже. Сохраните, скомпилируйте проект и выполните "Логин" к ПЛК с загрузкой приложения. Запустите приложение и наблюдайте за изменением переменной AO1. Обратите внимание, что переменная AO1 изменяется с учетом значений, заданных при описании экземпляра sinx1 (вариант с конструктором FB_Init):
-
Внесите изменения в код программы, согласно рисунка ниже. Удалите в дерева устройств проекта из функционального блока "FB_SIN_X" метод "FB_Init". Сохраните, скомпилируйте проект и выполните "Логин" к ПЛК с загрузкой приложения. Запустите приложение и наблюдайте за изменением переменной AO1. Обратите внимание, что переменная AO1 изменяется в соответствии с значениями, заданными при использовании экземпляра sinx1 в коде программы (вариант без конструктора FB_Init):
-
Измените строку 44 кода программы, согласно рисунка ниже. Сохраните, скомпилируйте проект и выполните "Логин" к ПЛК с загрузкой приложения. Выполните сброс приложения ПЛК для инициализации переменных (Онлайн -> Сброс). Запустите приложение и наблюдайте за изменением переменной AO1. Обратите внимание, что переменная AO1 изменяется в соответствии с начальными значениями, заданными в функциональном блоке FB_SIN_X.
-
Перейдите к части кода, представленного ниже. Удалите комментарии строк кода цикла FOR.
-
В таблице GVL удалите абсолютный адрес, назначенный массиву "Data_AI_16_081":
-
Сохраните, скомпилируйте проект и выполните "Логин" к ПЛК с загрузкой приложения. В таблице "GVL" переменным типа REAL массива "Data_AI_16_081" задайте произвольные подготовленные значения и запишите их в ПЛК комбинацией клавиш CTRL+F7:
-
Наблюдайте, что записанные значения в элементы массива "Data_AI_16_081" были переданы в массив "ai" программы "PLC_PRG":
-
Перейдите к части кода, представленного ниже:
-
Изменяйте значение переменной "step" и оценивайте значение, записываемое в переменную "dword_var":
-
Найдите в списке локальных переменных программы "PLC_PRG" переменные "ret1" и "ret2". Задайте переменной "ret1" подготовленное значение 2, а переменной "ret2" подготовленное значение 3. Запишите значения в ПЛК комбинацией клавиш "Ctrl+F7".
-
Откройте таблицу переменных "PersistentVars" и добавьте в неё все пути экземпляров через правую кнопку мыши по пустому полю. В результате должна добавится переменная "PLC_PRG.ret2". Сохраните, скомпилируйте проект и выполните "Логин" к ПЛК с загрузкой приложения.
-
Выполните "Сброс" приложения в ПЛК. Для этого выберите в панели инструментов "Онлайн -> Сброс". Убедитесь, что значения всех переменных сбросились на исходные, кроме "ret1" и "ret2".
-
Выполните "Сброс холодный" приложения в ПЛК. Для этого выберите в панели инструментов "Онлайн -> Сброс холодный". Убедитесь, что значения всех переменных сбросились на исходные, кроме "ret2".
-
Выполните "Сброс заводской" приложения ПЛК. Для этого выберите в панели инструментов "Онлайн -> Сброс заводской". Убедитесь, что было удалено приложение с ПЛК (при выполнении "Логин" к ПЛК выводится информационное окно об отсутствии приложения на ПЛК).После загрузки приложения в ПЛК все переменные первоначально примут начальные значения.
-
Загрузите приложение в ПЛК и выполните действия. В списке локальных переменных программы "PLC_PRG" переменные "ret1" и "ret2" задайте переменной "ret1" подготовленное значение 5, а переменной "ret2" подготовленное значение 10. Запишите значения в ПЛК комбинацией клавиш "Ctrl+F7".
-
Выполните отключение от ПЛК кнопкой "Отключение" на панели инструментов. Откройте задачу "TASK_PLC_PRG" и измените интервал вызова задачи.
-
Сохраните, скомпилируйте проект и выполните "Логин" к ПЛК с загрузкой приложения. Обратите внимание, что после внесения такого изменения редактор предлагает заменить приложение в ПЛК. Нажмите кнопку "Да".
-
После загрузки ПЛК будет в состоянии СТОП. Запустите приложение на ПЛК кнопкой "СТАРТ" на панели инструментов. Убедитесь, что в программе "PLC_PRG" значение переменной "ret1" сброшено на начальное, а значение переменной "ret2" - сохранилось.
Также вы можете оценивать, изменять код и значения переменных программы "PLC_PRG", не описанные в текущем самостоятельном практическом задании, по своему усмотрению.