Сущность переменной может быть различной, но каждая пере- менная, прежде чем она будет применяться, должна быть опреде- лена, то есть должны быть объявлены ее имя и тип. На физическом уровне объявление переменной означает выделение ей определен- ного (постоянного или временного) места в памяти контроллера.
Имя переменной (ее идентификатор) выделяет каждую пере- менную среди других. Имя должно быть составлено из печатных символов и цифр. Существуют ограничения на выбор имен пере- менных.
Имя может быть однобуквенным (X, Z и т. д.), иметь цифровые индексы (XI, Х2 и т. п.), вписываемые без пробела. Если есть необ- ходимость в таком пробеле, например при написании двух или бо- лее слов, то в пробел ставится символ подчеркивания. Этот символ является значимым, то есть имена X_l, XI, _Х1 и _Х_1 восприни- маются программой как самостоятельные. Но цифру на первое ме- сто ставить нельзя: имена 1X, 2Х недопустимы.
Нельзя применять в качестве имен операторы языков, например операторы языка IL: LD, ST, S, R, AND, MUL и др., а с индексами, символами подчеркивания или другими буквами – можно, напри- мер: SI, RU, AND_, MULTI и т. д. Даже не зная весь список опера- торов, легко установить ошибку – в процессе присваивания имени переменной при создании программы в том или ином пакете за- прещенный идентификатор выделится (обычно цветом). Его необ- ходимо удалить и вписать другое имя.
Регистр букв не влияет на работу ПЛК. Так, имена SET и Set
воспринимаются одинаково.
В сложных программах трудно запомнить назначение того или иного элемента при упрощенной системе идентификации. Поэтому имя переменной (то есть идентификатор) можно записать в развер- нутом виде (к сожалению, не все системы программирования по- зволяют использовать буквы русского языка). Например, можно присвоить имена Dvigatel, pusk, BLOKIROVKA и т. д.
Области переменных и их адресация
Любая программа работает с определенным набором перемен- ных, отражающих значения тех или иных величин. В программе контроллера, кроме «обычных» текущих переменных, которые рас- считываются или определяются по ходу программы, а также пере- менных, значения которых определяются сигналами на его физических входах, есть переменные, которые своими значениями определяют значения сигналов на выходах. Желательно иметь в своем распоряжении переменные, являющиеся общими и для сис- темного, и для прикладного программного обеспечения для осуще- ствления иногда необходимой их взаимозависимой работы.
Все это отразилось на том, что область памяти переменных кон- троллера всегда представляют в виде набора следующих областей:
− область входов ПЛК – I-область;
− область выходов ПЛК – Q-область;
− область прямо адресуемой памяти – М-область.
− оперативная память пользователя (ОЗУ).
Наименования разделов объявления переменных могут содер- жать дополнительные ключевые слова, уточняющие способ при- менения.
Таблица 7
Ключевые слова, уточняющие способ применения переменной в памяти ЦПУ
Ключевое слово
|
Применение переменной
|
RETAIN
|
Переменная должна быть размещена
в энергонезависимой памяти. При выключении питания значение этой переменной сохраняется. (Такая память присутствует не во всех ПЛК)
|
CONSTANT
|
Константы, доступные только для чтения
|
Входы ПЛК – это переменные с адресами в области I. Они дос- тупны в прикладных программах только для чтения. ЦПУ опраши- вает физические входы контроллера в начале каждого рабочего цикла (см. рис. 2) непосредственно перед исполнением программы пользователя и записывает эти значения в образ процесса на вхо- дах, то есть в соответствующие биты и байты I-области. Обычно значения переменных из I-области памяти только считываются программой пользователя, так как физические входы получают свои значения непосредственно из подключенных к ним полевых устройств (датчиков), поэтому запись в эти входы запрещена.
Выходы ПЛК – это переменные с прямыми адресами в области Q, они доступны только для записи. ЦПУ копирует значения, хра- нящиеся в Q-области памяти, в физические выходы, то есть опера- ционная система ПЛК преобразует данные из Q-области в соответствующие электрические сигналы, которые подаются на дискретные или аналоговые выходные порты (клеммы) ПЛК. Физические выходы непосредственно управляют полевыми уст- ройствами, подключенными к этим выходам. К переменным Q-области разрешается доступ как на чтение, так и на запись.
В области М размещаются переменные, которые по каким-то при- чинам удобно разместить именно в области прямо адресуемых пе- ременных. Переменные в области М могут быть доступны и для чтения, и для записи. В эти ячейки информацию заносит система исполнения (системное программное обеспечение), а прикладная программа может пользоваться этой информацией.
Например, можно назначить один байт в битовой M-области памяти в качестве системной памяти (рис. 35). Байт системной па- мяти предоставляет в распоряжение следующие четыре бита, на которые пользователь может ссылаться в своей пользовательской программе:
− бит Always 0 (low) [Всегда 0 (сброшен)] всегда установлен на 0;
− бит Always 1 (high) [Всегда 1 (установлен)] всегда установлен на 1;
− бит Diagnostic graph changed [Диагностическая диаграмма из- менена] устанавливается на 1 на время одного цикла сканирования, после того как ЦПУ регистрирует диагностическое событие;
− бит First scan [Первый цикл] устанавливается на 1 на время первого цикла сканирования после завершения запуска. После ис- полнения первого цикла этот бит устанавливается в 0.
Рис. 35. Настройка байта системной памяти в М-области памяти: System memory bits – биты системной памяти;
Enable the use of system memory byte – разблокировать использование байта системной памяти; Location of system memory byte – адрес байта
системной памяти в М-области
Еще один полезный пример использования М-области памяти состоит в том, что пользователь может назначить один байт в бито- вой M-области памяти в качестве тактовых меркеров (рис. 36). Каждый бит этого байта, сконфигурированного в качестве тактово- го меркера, генерирует прямоугольный импульс. Байт тактовых меркеров предоставляет 8 различных частот, от 0,5 (медленно) до 10 Гц (быстро). Пользователь может использовать эти биты в каче- стве управляющих битов, особенно в соединении с командами об- работки фронтов, для циклического запуска действий в программе пользователя.
Рис. 36. Настройка байта тактовых битов памяти (меркеров) в М-области памяти: Clock memory bits – тактовые биты памяти; Enable the use of clock memory byte – разблокировать использование байта тактовых битов памяти;
Location of clock memory byte – адрес байта тактовых битов; 10 Hz clock – тактовые импульсы с частотой 10 Гц
Для обращения к биту в области памяти вы указываете адрес, который включает в себя идентификатор области памяти, адрес байта и номер бита. Рис. 37 дает пример обращения к биту (это на- зывается также адресацией байт.бит). В этом примере за областью памяти и адресом байта (I = вход (input), а 3 = байт 3) следует точка («.»), чтобы отделить адрес бита (бит 4).
Рис. 37. Обращение к биту данных в памяти ЦПУ (адресация байт.бит)
Используя байтовый формат адреса, можно обращаться к данным в различных областях памяти ЦПУ (I, Q, M) как к байтам, словам или двойным словам. Для доступа к байту, слову или двойному сло- ву в памяти ЦПУ нужно указать адрес, таким же способом, как и при указании адреса бита. Он включает идентификатор области (I-, Q-, M-область), обозначение размера данных и начальный байтовый ад- рес байта, слова или двойного слова, как это показано на рис. 38.
Рис. 38. Сравнение доступа к байту, слову и двойному слову по одному и тому же адресу
Для удобства работы с программой в пакетах программирования любой переменной можно дать символьное имя. Например, при создании программы для ПЛК компании Siemens это делается с помощью символьной таблицы переменных (тэгов). Такую адреса- цию называют тэговой.
Достарыңызбен бөлісу: |