Тема / Topic: Глобальные переменные и значение при старте?
sldk_buf
Forum Member / Участник форума
Участник № / Member № 2898
отправлено / posted
А можно ли глобальные переменные инициализировать начальными значениями при старте МикроМРВ? Или же первое прочитанное значение всегда будет 0? А если я хочу использовать эту переменную для хранения внутреннего состояния автомата и при старте она должна быть не нулевой, а указывать на начальное состояние?
Сообщения / Posts 54 | Из / From: Россия
| IP / IP: IP адрес / IP address |
отправлено / posted
Все глобальные переменные имеют связь с файлами (см. описание языка ТехноIL) - чтение/запись. Организуйте программно считывание файла при запуске узла и тем самым задайте начальные значения глобальных переменных.
Сообщения / Posts 17316 | Из / From: Россия
| IP / IP: IP адрес / IP address |
sldk_buf
Forum Member / Участник форума
Участник № / Member № 2898
отправлено / posted
В хелпе сказанно(Связь переменных IL-программы с атрибутами каналов):Если указать разные имена каналов или атрибутов переменным разных типов с одинаковым номером, то в обоих случаях будет использоваться последняя по списку настройка. Объясните на примере, что это означает? Ни как не могу понять, о чем речь.
Сообщения / Posts 54 | Из / From: Россия
| IP / IP: IP адрес / IP address |
sldk_buf
Forum Member / Участник форума
Участник № / Member № 2898
отправлено / posted
quote:Отправитель / Originally posted by AdAstra Technical Support: Все глобальные переменные имеют связь с файлами (см. описание языка ТехноIL) - чтение/запись. Организуйте программно считывание файла при запуске узла и тем самым задайте начальные значения глобальных переменных.
Прочитал хелп, такм написанно в разделе Отличие серверов, что в МикроМРВ не поддерживает чтние переменных из файла. Т.е. я не могу считать из файла значения глобальных переменных. Это так?
Сообщения / Posts 54 | Из / From: Россия
| IP / IP: IP адрес / IP address |
отправлено / posted
1. Если Вы в разделе опреджеления переменных IL-программы запишете, например, Q1 DO_-lm02-0002 In ... I1 DO_-lm02-0002 R
то в программе обе переменные Q1 и I1 будут привязаны к атрибуту DO_-lm02-0002 R.
Поэтому, в частности нет необходимости задавать в описании переменных одновременно Ik и Qk. Достаточно задать одну из них, а в тексте программы можно использовать Ik для считывания атрибута, а Qk - для его изменения.
2. Прошу прощения, я невнимательно прочитал Ваш вопрос. В МикроМРВ файловые операции с глобальными переменными не поддерживаются. Поэтому задать им произвольные значения при старте Вы не можете. А если Вы используете МикроМРВ для Лагуны, то восстановление стартовых значений любых переменных и атрибутов каналов, отличных от заданных в проекте, невозможно.
Сообщения / Posts 17316 | Из / From: Россия
| IP / IP: IP адрес / IP address |