This is topic Глобальные переменные и значение при старте? in forum Микро Мониторы Реального Времени / Micro Real Time Monitors at Форум TRACE MODE: техническая поддержка.
А можно ли глобальные переменные инициализировать начальными значениями при старте МикроМРВ? Или же первое прочитанное значение всегда будет 0? А если я хочу использовать эту переменную для хранения внутреннего состояния автомата и при старте она должна быть не нулевой, а указывать на начальное состояние?
Posted by AdAstra Technical Support (Участник № / Member № 4) on :
Все глобальные переменные имеют связь с файлами (см. описание языка ТехноIL) - чтение/запись. Организуйте программно считывание файла при запуске узла и тем самым задайте начальные значения глобальных переменных.
Posted by sldk_buf (Участник № / Member № 2898) on :
В хелпе сказанно(Связь переменных IL-программы с атрибутами каналов):Если указать разные имена каналов или атрибутов переменным разных типов с одинаковым номером, то в обоих случаях будет использоваться последняя по списку настройка. Объясните на примере, что это означает? Ни как не могу понять, о чем речь.
Posted by sldk_buf (Участник № / Member № 2898) on :
quote:Отправитель / Originally posted by AdAstra Technical Support: Все глобальные переменные имеют связь с файлами (см. описание языка ТехноIL) - чтение/запись. Организуйте программно считывание файла при запуске узла и тем самым задайте начальные значения глобальных переменных.
Прочитал хелп, такм написанно в разделе Отличие серверов, что в МикроМРВ не поддерживает чтние переменных из файла. Т.е. я не могу считать из файла значения глобальных переменных. Это так?
Posted by AdAstra Technical Support (Участник № / Member № 4) on :
1. Если Вы в разделе опреджеления переменных IL-программы запишете, например, Q1 DO_-lm02-0002 In ... I1 DO_-lm02-0002 R
то в программе обе переменные Q1 и I1 будут привязаны к атрибуту DO_-lm02-0002 R.
Поэтому, в частности нет необходимости задавать в описании переменных одновременно Ik и Qk. Достаточно задать одну из них, а в тексте программы можно использовать Ik для считывания атрибута, а Qk - для его изменения.
2. Прошу прощения, я невнимательно прочитал Ваш вопрос. В МикроМРВ файловые операции с глобальными переменными не поддерживаются. Поэтому задать им произвольные значения при старте Вы не можете. А если Вы используете МикроМРВ для Лагуны, то восстановление стартовых значений любых переменных и атрибутов каналов, отличных от заданных в проекте, невозможно.