Спасибо, попутно еще пара вопросов:
1. #define внутри неглобального макроса относится только к этому макросу?
2. Чем нехорошим может "икнуться" использование "параллельного" режима макросов (циклических вычислений вроде не планируется)?
Вид для печати
Спасибо, попутно еще пара вопросов:
1. #define внутри неглобального макроса относится только к этому макросу?
2. Чем нехорошим может "икнуться" использование "параллельного" режима макросов (циклических вычислений вроде не планируется)?
Евгений, немного уточню и расширю вопросы VaBo.
1. Все-таки можно ли вызвать из Пользовательского макроса другой Пользовательский макрос и как это сделать?
2. Можно-ли в Глобальном макросе написать программку (не функцию) и вызывать Пользовательский макрос? И как это сделать?
Применение для 2.:
Сейчас так: Глобальная Функциональная область каждую секунду вызывает Пользовательский макрос.
Но хотелось бы так: В Глобальном макросе проверяется секундный бит (PSB4) и вызывается Пользовательский макрос (то есть без создания Глобальной Функциональной области).
Глобальный макрос сам по себе не работает.
По этому без ф.области не обойтись. А в ф.облсти можно вызывать только обычный макрос.
ЗЫ.
Нельзя.Цитата:
можно ли вызвать из Пользовательского макроса другой Пользовательский макрос и как это сделать
Но если нужные функции написать в глобальном макросе, то их можно вызывать в любом пользовательском макросе
Например
Глобальный макрос
Вложение 35006
содержит три функции
Имеется два пользовательских макроса
Макрос Таймер
Измеряет продолжительность включенного состояния бита PSB300 в секундах (дискретность 0,1 сек)
Вложение 35007
Макрос генерации случайных чисел в диапазоне от А до В
Вложение 35008
1. Да. Прикладываю пример.
Вложение 35005
2. Нет.
Евгений и Петр, спасибо за подробные разъяснения.
Получается, что имеет право на существование следующая модель:
Создаем Пользовательский макрос, например с именем Main, вызываемый непрерывно Глобальной Функциональной областью.
В Main по необходимым условиям вызываем другие Пользовательские макросы.
Остаётся только вопрос с "режимом выполнения" - параллельный или последовательный. Как он в описанном случае устанавливается?
Правильно ли я понимаю, что "режим выполнения" имеет значение только для нескольких макросов в одной Функциональной области, т.е. определяет как им выполняться либо поочередно, либо одновременно?
Нет.
Если макрос выполняется последовательно - на на время его работы останавливаются все остальные процессы (отрисовка визуализации, обмен через элементы и т.д.).
Если параллельно - то остановки не происходит, каждой из задач достается сколько-то квантов времени.
Разумный пример использования параллельного режима - работа с файлами или другие ресурсоемкие операции.
Подскажите пожалуйста как из панели передать текстовую строку в ПЛК110. панель master, плк slave. требуется передача до 20 символов
Подскажите пожалуйста, существует ли возможность в панели СП310Р работать со структурами через глобальный макрос. Встроенный компилятор вроде как понимает написанный код через typedef struct, а вот объявить переменную с этой структурой уже не позволяет, ругается.
Вложение 35103
Вложение 35104