В терминологии С 300 отдельные программные единицы называются блоками.
Вообще структурирование программ, в том числе разбиение их на блоки, неотъемлемый подход к разработкам современных ПО, в том числе ПЛК контроллеров
В С 300 выделяются организационный блоки (ОВ), где ОВ – зарезервированное имя. Организационные блоки условно разделяются на две части:
ОВ 1 – для “main” (главный)
ОВ 0, ОВ 2 … ОВ n – есть соответствующие функциональному назначению
Программные блоки {PB I, i=0…255} PB 0, PB 27 – это зарезервированные имена для отдельных программных модулей, без ориентации на что то, т.е. программист может для реализации программы выбирать себе любые имена, в любой последовательности. По аналогии РВ – это процедуры без предварительных параметров.
Функциональные блоки {FB, i=0…255} Здесь FB – это аналог процедур, но с возможностью передавать параметры, т.е. FB используется для написания некоторых часто употребляемых в своей программе и в других вычислительных процедур, в том числе с их помощью создаются стандартные библиотеки.
|
|
FB 106 – библиотечный блок чтения текущего значения даты
FB 124 – это библиотечный блок деления 32-х разрядных чисел
Программист может сам написать FB от 0 до 100.
Функциональные блоки пишутся в так называемых формальных параметров (абстрактные переменные), а при использовании при вызове их или передаче фактического значения
Блок назначения NB, в нем абсолютные адреса могут сопоставляться с мнемоническими именами VASIA = E 7.3 – это лирика для компилятора
Блоки данных DB 10 – 10-й блок данных по 256 б
DB 0 … DB 255 (в каждом по 255 W)
Пример некоторой структуры
Если программа очень маленькая (10 – команд) ее вид можно написать в OB 1, т.е. ей дать имя OB 1. Однако если программа сложная, то мы организовываем обращения и к другим блокам. Рекомендуется глубину (блоки) не более 8 делать.