Codesys (824048), страница 25
Текст из файла (страница 25)
Вы можете выбрать один из элементов и нажатькнопку 'Return' для вставки его после точки либо вставить элемент двойным щелчком мышки.• При вводе имени экземпляра функционального блока или структуры за точкой, селектор содержитимена входных и выходных переменных или элементов структуры.
Вы вставляете нужный элементкнопкой 'Return' или двойным щелчком мышки.Пример:Вводим "struvar." -> для соответствующей структуры struct1 будет предложено:• Если при вводе любой строки вы нажмете <Ctrl> + <Space Bar>, то появится диалог выбора POU иглобальных переменных, доступных в проекте. Для вставки выбранного элемента в текущую позициюнажмите клавишу <Enter>.Offline подсказки для идентификаторовВо всех редакторах в режиме offline, если курсор помещается на доступный для редактирования идентификатор, то во всплывающем окне подсказки будет указано имя и класс переменной (например,VAR_GLOBAL), тип данных, атрибуты переменной (например, RETAIN), адрес и комментарий.CoDeSys V2.35-2Редакторы CoDeSys5.2 Редактор раздела объявлений5.2.1 Работа в редакторе объявленийРедактор объявлений используется для объявления переменных POU, глобальных переменных, описания типов данных, а также в Менеджере рецептов.
Он позволяет использовать основные функции редактирования Windows и при наличии соответствующего драйвера поддерживает мышку со скроллингом.Переключаться между режимом вставки и замены можно с помощью клавиши <Ins>.В режиме заменыв строке статуса надпись “OV” изображается черным цветом.В разделе объявлений зарезервированные слова, типы данных и сами переменные выделяются разнымицветами.Наиболее важные команды можно найти в контекстном меню, которое появляется при нажатии правойкнопки мыши или сочетанием клавиш <Ctrl>+<F10>.Раздел объявленийЛокальные переменные POU объявляются в разделе объявлений редактора программного компонента.Такими переменными могут быть входные и выходные переменные, переменные, одновременно являющиеся входными и выходными, локальные переменные, сохраняемые переменные и константы.Обратите внимание на возможность создания шаблонов для глобальных переменных, типов данных, функций,функциональных блоков и программ.Синтаксис, используемый при объявлении переменных, соответствует стандарту МЭК61131-3.
Вотпример правильного объявления переменных в редакторе.Редактор раздела объявленийВходные переменныеВходные переменные POU объявляются между ключевыми словами VAR_INPUT и END_VAR. Значения этих переменных передаются в POU, при его вызове.Пример:VAR_INPUTin1:INTCoDeSys V2.3(*Входная переменная*)5-3Редакторы CoDeSysEND_VARВыходные переменныеВыходные переменные POU объявляются между ключевыми словами VAR_OUTPUT и END_VAR.Через эти переменные POU передает данные в вызывающий его блок, который может читать их, дажене вызывая POU.Пример:VAR_OUTPUTout1:INTEND_VAR(* Выходная переменная*)Входные и выходные переменныеОбъявляются между ключевыми словами VAR_IN_OUT и END_VAR.
Эти переменные можно использовать как входные и как выходные.Внимание: В отличие от ранее описанных переменных эти переменные передаются по ссылке, а не по значению.Поэтому такая переменная не должна быть константой и не допускает прямого обращения: <имя экземпляра >.<in/out имя>.Пример:VAR_IN_OUTinout1:INT; (* Входная и выходная переменная *)END_VARЛокальные переменныеОбъявляются между ключевыми словами VAR и END_VAR.
Их можно использовать только в томPOU, в котором они объявлены. При выходе из POU значения этих переменных пропадают и не доступны извне.Пример:VARloc1:INT; (* Локальная переменная*)END_VARРеманентные переменныеТакие переменные сохраняют свои значения при определенных сбоях в системе. Они бывают сохраняемые и постоянные.Сохраняемые переменные обозначаются ключевым словом RETAIN.
Эти переменные сохраняют своизначения, даже если произошла авария питания (выключение и включение) контроллера, что равносильно команде сброс (''Online' 'Reset''). Значения RETAIN переменных сохраняются в энергонезависимой памяти.Сохраняемые (Retain) переменные будут инициализированы заново при 'Online' 'Reset (cold)' и 'Online''Reset (original), а также при загрузке программы в отличие от постоянных (Persistent) переменных.Постоянные переменные обозначаются ключевым словом PERSISTENT.
В отличие от сохраняемых переменных эти переменные сохраняют свои значения только при загрузке кода новой программы, но непри выключении питания или любом сбросе. Значения постоянных переменных размещаются внеэнергонезависимого ОЗУ.Переменные PERSISTENT можно включить в RETAIN объявления.CoDeSys V2.35-4Редакторы CoDeSys- = переменная переинициализируется, x = значение сохраняетсяOnline командаVARVAR RETAINVAR PERSISTENTVAR RETAIN PERSISTENTVAR PERSISTENTRETAINReset-X-xReset cold----Reset origin----Download--xxOnline ChangexXxxПример:VAR RETAINrem1:INT;END_VAR(* Сохраняемая переменная*)Внимание:• Если локальная переменная объявлена как VAR RETAIN, то она будет размещена в энергонезависимой области как глобальная.• Если локальная переменная функционального блока объявлена VAR RETAIN, то все его данные целикомпомещаются в энергонезависимую область памяти, но обслуживаться как VAR RETAIN будет только даннаяпеременная.• Если локальная переменная функции объявлена VAR RETAIN, то это не дает никакого эффекта.
Переменнаяне будет помещена в энергонезависимую область памяти! Аналогичное объявление PERSISTENT также не даетжелаемого эффекта!Константы, типизированные литерыКонстанты обозначаются ключевым словом CONSTANT. Их можно объявлять локально и глобально.Синтаксис:VAR CONSTANT<Идентификатор>:<Тип>:=<начальное значение>END_VARПример:VAR CONSTANTcon1:INT:=12; (* Константа*)END_VARПравила создания констант и использования типизированных литер можно найти в приложении B.CoDeSys V2.35-5Редакторы CoDeSysВнешние переменныеГлобальные переменные, которые должны быть импортированы в POU, объявляются с помощью ключевого слова EXTERNAL.
Такая переменная появляется в окне просмотра переменных в режиме Online.Если описания внешней переменная в POU и в разделе глобальных переменных не совпадают, то прикомпиляции появляется ошибка "Declaration of '<var>' does not match global declaration!"Если внешняя переменная не описана в разделе глобальных переменных, то при компиляции появляется ошибка "Unkown global variable: '<var>'!"Пример:VAR_EXTERNALvar_ext1:INT:=12;END_VAR(* Внешняя переменная *)Зарезервированные словаВсе зарезервированные слова записываются заглавными буквами. Их нельзя использовать в качествеимен переменных.
Например: VAR, VAR_CONSTANT, IF, NOT, INT.Объявление переменныхПеременные объявляются следующим образом:<Идентификатор> {AT <Адрес>}:<Тип> {:=<начальное значение>};Части, заключенные в фигурных скобках, не обязательны.Имена переменных не должны содержать пробелов и специальных символов, должны объявлятьсятолько один раз и не должны совпадать с зарезервированными словами. Регистр букв в имени переменной не имеет значения, т.е. переменные Var1, VAR1 и var1 не различаются. В именах переменныхдопустим знак подчеркивания. Переменные A_BCD и AB_CD считаются разными. Идентификатор недолжен содержать подряд более одного символа подчеркивания. Длина индентификатора не ограничена, все символы являются значимыми.Все переменные и типы данных можно инициализировать.
Для этого используется оператор “:=”. Переменные простейших типов инициализируются константами. По умолчанию все переменные инициализируются нулем.Пример:var1:INT:=12; (* Переменная типа INT, инициализируемая числом 12*)Если вы хотите поместить переменную по определенному адресу, то нужно объявить ее с ключевымсловом AT.Для быстрого объявления переменных используйте режим быстрого ввода.В функциональных блоках можно объявлять переменные, используя неполный адрес. Чтобы использовать такую переменную в экземпляре функционального блока, она должна быть описана в разделе Variable configuration.Обратите внимание на возможность использования автоматического объявления переменных.CoDeSys V2.35-6Редакторы CoDeSysКлючевое слово ATЕсли вы хотите поместить переменную по определенному адресу, то нужно объявить ее с ключевымсловом AT. Преимущество такого объявления состоит в том, что можно дать значащее имя любому адресу и изменять значение по этому адресу где угодно (например, в разделе объявлений).Заметьте, что переменная, описывающая вход, не доступна для записи.
Кроме того, объявление AT допустимо лишь для глобальных и локальных переменных, но не для входных или выходных переменныхPOU.Пример:counter_heat7 AT %QX0.0: BOOL;lightcabinetimpulse AT %IX7.2: BOOL;download AT %MX2.2: BOOL;Если логическая переменная имеет адрес типа Byte, Word или Dword, она занимает целый байт, а не один бит!“Insert” ”Declaration keywords”Вы можете использовать эту команду для получения списка и быстрого ввода ключевых слов, допускаемых в разделе объявлений POU.