AstraRegul
Руководство системного интегратора
×

5.16. САМОСТОЯТЕЛЬНОЕ ПРАКТИЧЕСКОЕ ЗАДАНИЕ 5.1

Задание. Познакомиться с компонентами папки "1_Программирование и привязка" демо-проекта.
 
Порядок выполнения.
  • Скачайте архив "BasicsProgramming.projectarchive" по ссылке.
  • Запустите среду разработки 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", не описанные в текущем самостоятельном практическом задании, по своему усмотрению.