7.14. САМОСТОЯТЕЛЬНОЕ ПРАКТИЧЕСКОЕ ЗАДНИЕ 7.1
Задание. Настройка обмена данными по протоколу Modbus TCP между двумя виртуальными контроллерами REGUL R500.
Необходимо в среде разработки Astra.IDE создать проект, в который добавить два контроллера с модулем CU 00 071W. Один контроллер будет выступать в роли Мастера в сети Modbus, а второй - в роли Слэйва. Настроить обмен данными согласно структурной схеме 1.

Структурная схема 1
Порядок выполнения.
-
Запустите два виртуальных ПЛК. Один из которых будет являться Мастером в сети Modbus TCP, а второй - Слэйвом.
-
Запустите среду разработки Astra.IDE. В сканере сети среды разработки Astra.IDE выполните поиск виртуальных ПЛК и назначьте, согласно таблице ниже:- IP адреса коммуникационным интерфейсам.- Имена контроллерам.Так же назначьте IP адрес виртуальному адаптеру "VirtualBox Host-Only Ethernet Adapter" компьютера.УстройстваIP адресИмяКомпьютер (VirtualBox Host-Only Ethernet Adapter)192.168.1.100-Виртуальный ПЛК (Master)192.168.1.10R500_MasterВиртуальный ПЛК (Slave)192.168.1.11R500_Slave
-
В среде разработки Astra.IDE создайте новый проект. Используя "Мастер конфигурации Regul" добавьте ПЛК - REGUL_R500_Master.

-
Используя "Мастер конфигурации Regul" добавьте в этот же проект второй ПЛК - REGUL_R500_Slave.

-
Добавьте контроллеру "REGUL_R500_Slave" компонент "Modbus_TCP_Slave_OS".

-
В приложении контроллера "REGUL_R500_Slave" переименуйте автоматически созданную программу "PLC_PRG" в "Slave".

-
В программе "Slave" напишите код, представленный ниже.

-
Откройте окно "Modbus_TCP_Slave_OS" и во вкладке "Modbus TCP Slave OS Области данных" добавьте области данных, согласно картинке ниже.

-
Добавьте контроллеру "REGUL_R500_Master" компонент "Modbus_TCP_Master_OS".

-
Добавьте контроллеру "REGUL_R500_Master" компонент "Modbus_TCP_Outer_Slave_OS".

-
Откройте окно "Modbus_TCP_Outer_Slave_OS" и во вкладке"Modbus TCP Outer Slave OS Настройка" назначьте IP адрес Slave-устройства.

-
В приложении контроллера "REGUL_R500_Master" переименуйте автоматически созданную программу "PLC_PRG" в "Master".

-
В программе "Master" напишите код, представленный ниже.

-
Откройте окно "Modbus_TCP_Outer_Slave" и во вкладке "Modbus TCP Outer Slave OS Каналы" добавьте каналы, согласно картинке ниже.

-
Перейдите во вкладку "Modbus TCP Outer Slave OS Соотнесение входов/выходов" и соотнесите переменные, согласно картинке ниже.

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

-
Измените интервал вызова задачи "TASK_PLC_PRG" приложение контроллера "REGUL_R500_Master" на 1000 мс.

-
Сохраните и скомпилируйте проект.
-
Откройте в окне "REGUL_R500_Master" вкладку "Установки соединения" и выберите сетевой путь к контроллеру "R500_Master".

-
Выполните логин к виртуальному ПЛК и загрузите в него приложение. Запустите приложение кнопкой "Старт".

-
Установите активное приложение контроллера "REGUL_R500_Slave".

-
Откройте в окне "REGUL_R500_Slave" вкладку "Установки соединения" и выберите сетевой путь к контроллеру "R500_Slave".

-
Выполните логин к виртуальному ПЛК и загрузите в него приложение. Запустите приложение кнопкой "Старт".

-
Проверьте что значение переменной "my_var_M" передается из контроллера "REGUL_R500_Master" в переменную "my_var_S" контроллера "REGUL_R500_Slave".

-
В программе "Master" задайте подготовленное значение TRUE переменной "active" и запишите значение в контроллер комбинацией клавиш Ctrl+F7. Убедитесь, что из программы "Slave" данные массива "data_S" были переданы в массив "data_M" программы "Master".
