Курс Си для WinCC 09.99
4-30
Руководство по конфигурации WinCC
C79000-G8276-C157-01
4.2.6 Пример 6 — Статические и вне шние переменные
Пример сконфигурирован для изображенной ниже кнопки Button6 в окне свойств
объекта в Event
Mouse Mouse Action (Событие → Мышь → Процедура
мыши).
Статические переменные
Переменная Си становится действительна только после ее описания. Она становится
недействительной после завершения исполнения функции. При последующем вызове
этой же функции переменная создается вновь. Тем не менее, ключевое слово static,
предваряющее имя переменной, по зволяет предотвратить уничтожение переменной
после завершения фу нкции. Таким образом, эта переменная сохранит свое значение
до последующего вызова функции. Однако, в слу чае процедур Си, это имеет место
только до тех пор, пока отображается текущая экранная форма WinCC. Статические
переменные становятся недействительны, как только экранная форма перестает
отображаться. При очередном открытии экранной формы статические переменные
будут созданы вновь во время первого исполнения процедуры Си.
Внешние переменные
Переменная Си может использоваться только внутри той функции, в ко торой она
была описана. Тем не менее, если переменная описывается вне функции, она
становится глобальной (внешней) переменной. Такая переменная может быть
объявлена в любой другой функции при помощи ключевого слова extern. После этого
к ней можно пол учить доступ.
Функция проекта CreateExternalTags()
• Функция CreateExternalTags() служит исключительно для описания и
инициализации внешней переменной типа int. В начале исполнения проекта
функция вызывается однократно (в Events (События)
Miscellaneous (Разное)
Open Picture (Открытие кадра) стартовой экранно й формы
cc_0_startpicture_00.PDL). Начиная с этого момента, переменная ext_iNumber
описана и может использоваться в любой процедуре Си или любой другой
функции.