Доброго дня! Начинаю изучать программирование в кодесус 2.3. Подскажите, пожалуйста, (желательно на примере) в чем разница между глобальной и локальной переменной и в каких случаях использовать те или иные.
Заранее благодарен.
- Обязательно представиться на русском языке кириллицей (заполнить поле "Имя").
- Фиктивные имена мы не приветствуем. Ивановых и Пупкиных здесь уже достаточно.
- Не надо писать свой вопрос в первую попавшуюся тему - всегда лучше создать новую тему.
- За поиск, предложение и обсуждение пиратского ПО и средств взлома - бан без предупреждения. Непонятно? - Читать здесь.
- Рекламу и частные объявления "куплю/продам/есть халтура" мы не размещаем ни на каких условиях.
- Перед тем как что-то написать - читать здесь, а затем здесь и здесь.
- Не надо писать в ЛС администраторам свои технические вопросы. Администраторы форума отлично знают как работает форум, а не все-все контроллеры, о которых тут пишут.
Codesys
Модераторы: Глоб.модераторы, специалисты по PLC
-
- специалист
- Сообщения: 642
- Зарегистрирован: 02 дек 2015, 06:57
- Имя: Огородников Сергей
- Страна: РФ
- Благодарил (а): 136 раз
- Поблагодарили: 111 раз
Codesys
Добрый день!
Если в общих чертах
Переменная глобальная доступна для чтения/записи во всех программных секциях (POU)
Например, вам нужна переменная "обобщённая авария", состояние которой проверяется в нескольких секциях
Или статус автоматического режима установки - так же может проверятся не в одном месте
В отличие от глобальных переменных, чтение/запись в которые доступны во всех программных секциях, локальные переменные имеют доступ только "внутри" POU (для секций и функциональных блоков).
Вне этого POU переменную нельзя прочитать и записать
Чаще всего это промежуточные переменные для вычислений, доступ к которым не нужен нигде, кроме данного POU - например, текущее время открытия задвижки, внутренний счётчик, промежуточные переменные для преобразования типов и т.д.
Условно говоря: в чём разница между общегражданским и загранпаспортом? ;-)
Общегражданский используется только внутри страны, загранпаспорт можно использовать по всему миру
Книга Петрова И.В. "Программируемые контроллеры. Практическое применение языков стандарта МЭК 61131-3" здесь не раз уже была упомянута - изучайте ))
Успехов!
Если в общих чертах
Переменная глобальная доступна для чтения/записи во всех программных секциях (POU)
Например, вам нужна переменная "обобщённая авария", состояние которой проверяется в нескольких секциях
Или статус автоматического режима установки - так же может проверятся не в одном месте
В отличие от глобальных переменных, чтение/запись в которые доступны во всех программных секциях, локальные переменные имеют доступ только "внутри" POU (для секций и функциональных блоков).
Вне этого POU переменную нельзя прочитать и записать
Чаще всего это промежуточные переменные для вычислений, доступ к которым не нужен нигде, кроме данного POU - например, текущее время открытия задвижки, внутренний счётчик, промежуточные переменные для преобразования типов и т.д.
Условно говоря: в чём разница между общегражданским и загранпаспортом? ;-)
Общегражданский используется только внутри страны, загранпаспорт можно использовать по всему миру
Книга Петрова И.В. "Программируемые контроллеры. Практическое применение языков стандарта МЭК 61131-3" здесь не раз уже была упомянута - изучайте ))
Успехов!
СВ