Состав пользовательской подпрограммы |
Типовые задачи Предыдущий Следующий |
Общие сведенияПользовательская программа в общем случае состоит из одной или нескольких строк. В проекте конфигурации не допускается наличие «пустых» пользовательских подпрограмм. Формат строки подпрограммыОбщий вид строки подпрограммы выглядит следующим образом: [[public] ЛогИмя = ] НазвАлгоблока([~]Вх1[; [~]Вх2; …; [~]ВхN]) Вся строка или ее окончание может содержать комментарии (см. одноименный подраздел). Логическое наименованиеЛогИмя — задаваемое пользователем логическое наименование (идентификатор) конкретного экземпляра стандартного алгоблока, которое после выполнения будет содержать рассчитанное значение/состояние. Его можно использовать во входах других алгоблоков. Если результат работы алгоблока в дальнейшем не используется, то наименование можно не указывать. В наименовании допустимо использовать латинские буквы, цифры и знак подчеркивания. Недопустимо повторение наименования в одной подпрограмме, а также полное совпадение с названием стандартного алгоблока. Логическое наименование алгоблока также должно начинаться с буквы.
Логические наименования являются регистронезависимыми, то есть b10 и B10 — это одинаковые наименования. Допустимо дублировать логические наименования в разных подпрограммах (только если перед ними не стоит префикс public — см. ниже). Префикс publicpublic — префикс, показывающий, что алгоблок будет доступен не только в текущей подпрограмме, но и во всех других подпрограммах (недопустимо повторение наименования ЛогИмя после префикса public в любой из подпрограмм). Наименование стандартного алгоблокаНазвАлгоблока — наименование стандартного алгоблока (полный перечень доступных стандартных алгоблоков с их описанием приведен в Приложении А). АргументыВх1, Вх2, …, ВхN — входы конкретного экземпляра стандартного алгоблока. В общем случае на входы алгоблоков можно подавать следующее: •значения аналоговых каналов (например, AI1.1, AI3.8, AO1.1, AO2.5 или их пользовательские идентификаторы, указанные при конфигурировании соответствующих каналов); •состояния дискретных каналов (например, DI1.1, DI5.2, DO2.2, DO3.10 или их идентификаторы, указанные при конфигурировании соответствующих каналов); •числовые константы (например, 0; 1; 45,2; 1e-5; 1e4); обеспечивается точность при значениях от ±1х10-5 до ±1х105; •проценты открытия клапанов контуров регулирования (например, REG1, REG12, REG100 или их идентификаторы, указанные при конфигурировании); •аналоговые и логические значения выходов других алгоблоков (например, B1, BLOCK5); •выражения, заключенные в квадратные скобки (описание выражений см. в одноименном подразделе). Признак инверсии~ — признак инверсии входа алгоблока. Дополнительные возможностиВ пользовательской подпрограмме можно дополнительно использовать: •до 200 ячеек памяти для хранения логических значений, например, состояний физических выходных каналов при сбоях питания (см. описание алгоблока MEMORY) и пр.; •до 215 пользовательских таблиц (в каждой таблице до 256 ячеек) для хранения аналоговых значений, например, для изменения значения уставок и пр. (таблицы кодируются специальными словами TBL1, TBL2, ..., TBL215 или их идентификаторами, указанными при конфигурировании соответствующих таблиц) — подробное описание см. в специальном подразделе; •до 100 контуров регулирования (контура кодируются специальными словами REG1, REG2, ..., REG100 или их идентификаторами, указанными при конфигурировании соответствующих контуров регулирования) — подробное описание см. в специальном разделе; •до 31 аргумента в вызываемой подпрограмме (аргументы кодируются специальными словами ARG1, ARG2, ..., ARG31). Группы алгоблоковСтандартные алгоблоки Контроллера можно разбить на следующие группы: •сложные логические алгоблоки; •алгоблоки для работы с таблицами; •алгоблоки для работы с таймерами, счетчиками и временем; •алгоблоки условных/безусловных переходов и вызовов подпрограмм; •алгоблоки для определения состояния системы; •алгоблоки для работы при резервировании; •алгоблоки для работы с контурами регулирования; •алгоблоки для вывода результатов. Детальное описание всех стандартных алгоблоков приведено в Приложении А. См. Также•Индекс стандартных алгоблоков (английский); •Индекс стандартных алгоблоков (русский).
|