Обмен данными между регистрами
Переносить данные из одного регистра в другой - стандартная задача, возникающая при разработке практически любого проекта. Сегодня мы расскажем о способах обмена данными между регистрами.
1. Передача данных.
Расположение: вкладка "Объект", пункт "Передача данных".
![](https://weintek.pro//ndnqlezvzhzd/71a8c770-9479-11ee-a228-f5e8aa14ce03/11.jpeg)
Стандартный способ обмена данными. В настройках выбирается адрес источника, адрес приёмника. При выборе опции "Глобальный" настраивается передача данных по временному интервалу, происходящая постоянно при работе панели, либо только в одном конкретном окне. При выборе опции "Окно" нужно выбрать триггер передачи данных - по кнопке или по внешнему триггеру, которым является переход состояния битового регистра.
Недостатком такого способа является отсутствие возможности настроить передачу данных в некоторых случаях. Из-за некоторых программных ограничений не всегда можно настроить, например, передачу данных из одного ПЛК в другой.
Скриншот 1 показывает настройку глобальной передачи данных из регистра LW0 в регистр LW1 с интервалом в 3 секунды.
2. Триггер действия (только для серии cMT).
Расположение: вкладка "Объект", пункт "Связанные действия" -> "Триггер действия".
![](https://weintek.pro//ndnqlezvzhzd/769c0f76-9479-11ee-9480-e16d987cbbed/12.jpeg)
Данная опция аналогична предыдущей, но позволяет производить передачу данных внутри триггера, что позволяет объединить данную операцию с другими.
Скриншот 2 показывает настройку передачи данных из регистра LW0 в регистр LW1 как часть триггера, который выполняется при переходе состояния бита LB0 из ON в OFF.
3. Макрос.
Расположение: вкладка "Проект", пункт "Макрос".
![](https://weintek.pro//ndnqlezvzhzd/7b439ac6-9479-11ee-97f3-f9d3e7c912a0/13.jpeg)
В макросе можно настроить передачу данных из одного регистра в другой с помощью функций GetData (чтение значение из регистра) и SetData (запись значения в регистр). Макрос может выполняться периодически или по триггеру (с помощью Управления ПЛК или Триггера Действия). Подробно про функции макросов вы можете прочитать в главе 18 мануала по EasyBuilder Pro.
Недостатком является необходимость умения писать макросы, что для некоторых разработчиков может являться трудностью. Зато есть очевидные плюсы, особенно в некоторых случаях: вы можете передавать данные между любыми регистрами, а также обрабатывать их между - менять типы данных и проводить математические операции (в том числе битовые).
Скриншот 3 показывает макрос, который считывает значение регистра LW0, добавляет к нему число 100 и записывает результат в регистр LW1.
Если у вас остались вопросы - пишите к нам на почту, где специалисты техподдержки готовы оперативно заняться вашим вопросом! Наш адрес: support@weintek.pro.