СПОСОБ РАБОТЫ ПРОГРАММИРУЕМОГО ЛОГИЧЕСКОГО КОНТРОЛЛЕРА
METHOD OF PROGRAMMABLE LOGIC CONTROLLER OPERATION

ОБЛАСТЬ ТЕХНИКИ
Настоящее техническое решение относится к области вычислительной техники, в частности, к способу работы программируемого логического контроллера (далее - ПЛК).
УРОВЕНЬ ТЕХНИКИ
Из уровня техники известен источник информации US 5,179,670 A, 12.01.1993, который раскрывает автоматическое назначение адресов модулям. Блок интерфейса шины для использования в системе обработки данных, в которой несколько таких блоков подключены к шине, содержащей: определение входа, называемого входом BusLeft, определение выхода, называемого выходом BusRight, входа, называемого входом BusRight, и выхода, называемого выходом BusLeft; первое средство, реагирующее на прием первого числа импульсов на входе BusLeft, для подачи первого измененного количества импульсов на выход BusRight; а также второе средство, реагирующее на прием второго числа импульсов на входе BusRight, для возбуждения второго модифицированного количества импульсов на выходе BusLeft; а также средство, отвечающее указанным первым и вторым числам, для определения относительного положения на основе упомянутых первого и второго чисел.
В предлагаемом решение не отсылают импульсы по шине назначения адреса, а направляют пакет данных с установкой логического уровня в виде логической “1” соседнему модулю (следующему по порядку) о том, что текущий модуль сформировал пакет данных и отсылает его на шину и в этом пакете данных содержится адрес, соседний модуль понимает, что данный пакет для него и адрес в данном пакете данных также предназначен для него, сохраняет передаваемый адрес себе в память и повторяет процедуру для последующего модуля.
В качестве наиболее близкого аналога выбран программируемый логический контроллер FASTWEL I/O (https://www.cta.ru/cms/f/352126.pdf), в котором используется стандарт физического уровня для асинхронного интерфейса RS485. Данный стандарт предполагает только работу по запросу. Подчинённое устройство не может начать передавать данные запросившему устройству. Таким образом на указанной шине всегда есть устройство-master и ряд подчинённый (slave) устройств. Master запрашивает, slave отвечает.
В предлагаемом решении возможны 2 варианта: ответ модуля по запросу и когда любое устройство может начать передавать данные в шину обмена данными.
В случае использования RS485 для получения данных устройство - master должно регулярно (например, 1 раз в секунду) запрашивать данные у подчинённого (slave) устройства данные. Этот механизм приводит к перегрузке шины обмена данными.
В предлагаемом решении устройство-вычислитель не запрашивает данные у модулей на шине, к которому подключены какие-либо датчики. Если изменились входные параметры у модуля, к которому подключены датчики, то модуль сам инициирует передачу данных на шину обмена данных и приёмником данного сообщения не обязательно будет устройство-вычислитель. Это значительно снижает информационную нагрузку на шину обмена данными, так как не происходит ежесекундный опрос данных, которые по сути не изменились.
В FastwelI/O при назначении адреса модулям ввода-вывода информационный пакет данных для назначения адреса формирует master-устройство.
В предлагаемом решении благодаря применению шины UART только первый пакет формирует модуль-вычислитель. Первое устройство приняло пакет, записало адрес, увеличило счётчик, отправило пакет на шину соседнему модулю.
СУЩНОСТЬ ИЗОБРЕТЕНИЯ
Технической проблемой, на решение которой направлено заявленное решение, является создание способа работы программируемого логического контроллера, которое охарактеризовано в независимом пункте формулы. Дополнительные варианты реализации настоящего изобретения представлены в зависимых пунктах изобретения.
Технический результат заключается в повышении надежности и эффективности работы контроллера.
Заявленный результат достигается за счет осуществления способа работы программируемого логического контроллера, содержащий этапы, на которых:
по меньшей мере два модуля подключают по шине назначения адреса с последовательным подключением и к шине обмена данными с параллельным подключением;
осуществляют обмен данными по шине назначения адреса, в случае выхода из строя шины обмена данными;
автоматически присваивают адрес по меньшей мере одному модулю по шине, причем пакет данных формирует модуль-вычислитель и передает этот пакет на по меньшей мере один модуль, первый модуль принял пакет данных и записывает значение счетчика как адрес на шине, прибавляет к значению счетчика значение единицы и передает пакет по меньшей мере следующему модулю, в котором операция повторяется;
обмен рабочими данными осуществляют по запросу модуля-вычислителя либо по запросу по меньшей мере одного модуля, либо осуществляют широковещательный запрос;
осуществляют отслеживание работоспособности по меньшей мере одного модуля, проверяя время принятия пакета по шине обмена данными подключенной последовательно;
осуществляют замену по меньшей мере одного модуля в случае неработоспособности, настройка нового модуля осуществляется в автоматическом режиме.
В частном варианте реализации предлагаемого способа, на шине обмена данными используют CAN-интерфейс.
В другом частном варианте реализации предлагаемого способа, на шине назначения адреса используется UART- интерфейс.
В другом частном варианте реализации предлагаемого способа, при последовательном подключении к шине обмена данными по меньшей мере два модуля объединяются в петлю.
В другом частном варианте реализации предлагаемого способа, предусмотрена возможность подключения до 128 модулей.
В другом частном варианте реализации предлагаемого способа, пользователь может взаимодействовать с контроллером через web-интерфейс.
ОПИСАНИЕ ЧЕРТЕЖЕЙ
Реализация изобретения будет описана в дальнейшем в соответствии с прилагаемыми чертежами, которые представлены для пояснения сути изобретения и никоим образом не ограничивают область изобретения. К заявке прилагаются следующие чертежи:
Фиг.1. иллюстрирует способ подключения модулей к шинам данных.
ДЕТАЛЬНОЕ ОПИСАНИЕ ИЗОБРЕТЕНИЯ
В приведенном ниже подробном описании реализации изобретения приведены многочисленные детали реализации, призванные обеспечить отчетливое понимание настоящего изобретения. Однако, квалифицированному в предметной области специалисту, будет очевидно каким образом можно использовать настоящее изобретение, как с данными деталями реализации, так и без них. В других случаях хорошо известные методы, процедуры и компоненты не были описаны подробно, чтобы не затруднять излишне понимание особенностей настоящего изобретения.
Кроме того, из приведенного изложения будет ясно, что изобретение не ограничивается приведенной реализацией. Многочисленные возможные модификации, изменения, вариации и замены, сохраняющие суть и форму настоящего изобретения, будут очевидными для квалифицированных в предметной области специалистов.
Настоящее изобретение направлено на обеспечение способа работы ПЛК и может быть использовано в автоматизированной системе управления технологическими процессами (далее - АСУ ТП). Также решение может применяться в любых областях, где нужно автоматизировать ручной человеческий труд (теплицы, коровники, нефте или горнодобывающая отрасль).
Система, осуществляющая работу предлагаемого способа, состоит из вычислителя, который включает в себя по меньшей мере, но не ограничиваясь, центральный процессор, ОЗУ, NAND-flash память, часы реального времени, порты ввода вывода (RS232, RS485, CAN, Ethernet, UART), система также состоит из по меньшей мере одного модуля ввода-вывода, а также двух шин обмена данными с интерфейсами UART и CAN. Данная система является программируемым логическим контроллером (ПЛК). Программа для функционирования ПЛК записывается в вычислитель, который управляет всеми модулями вывода, считывает информацию с модулей ввода, находящимися на шине обмена данными.
Заявленный способ работы ПЛК, осуществляется посредством, представленной на фиг.1, схеме подключения модулей ввода-вывода информации к шинам обмена данными.
Первая шина - это последовательная UART шина передачи данных, соединённая в петлю. Эта шина имеет один последовательный приемник и один последовательный передатчик. Приемник и передатчик находятся в вычислителе. Все модули по этой шине подключаются тоже последовательно, то есть передатчик вычислителя подключается к приемнику первого модуля, передатчик первого модуля подключается к приемнику второго модуля, и так далее, передатчик последнего модуля подключается к приемнику вычислителя. Таким образом образуется петля. По данной шине осуществляется автоматическое назначение адреса модулям ввода-вывода, а также обмен данными между модулями и вычислителем.
В дополнительном варианте реализации возможно подключение модулей ввода-вывода информации без соединения в петлю.
Вторая шина - это также последовательная шина, но с параллельным подключением модулей к ней, по данной шине осуществляют обмен данными между модулями и вычислителем.
В случае неисправности CAN-шины, весь функционал неисправной шины ложится на оставшуюся, работоспособную шину назначения адреса UART. Через шину назначения адреса в полудуплексном режиме можно получить данные из модулей ввода-вывода. То есть модуль-вычислитель может инициировать обмен данными по однопроводной, полудуплексной, последовательной шине назначения адреса (это аварийная нештатная ситуация и предназначена для резервирования шины обмена данными).
Работа ПЛК осуществляется посредством программных алгоритмов, которые описаны ниже.
При первом подключении модулей к шинам передачи данных, каждому модулю автоматически назначается адрес, предусмотрено подключение до 128 модулей. По UART шине, по которой модули подключены последовательно, из вычислителя посылается пакет данных, в котором одно из полей является инкрементным счетчиком. Первый (ближний к вычислителю) модуль получает этот пакет первым, берет значение из счетчика, и устанавливает это значение как адрес на шине назначения адреса, по которой модули подключены параллельно, далее прибавляет к счетчику логическую единицу, и передает пакет следующему модулю. В следующих модулях операция повторяется.
Таким образом модули автоматически получают уникальные, последовательные адреса на шине (адрес соответствует физической позиции модуля), по которой модули подключены последовательно. От последнего модуля пакет передается вычислителю, для контрольной проверки целостности всего ПЛК.
После того, как каждому модулю ввода-вывода назначили адрес, начинается обмен рабочими данными.
Рабочие данные - это информация для контроля и управления объектом АСУ ТП. Информация делится на два типа: входная и выходная. Входная информация - это информация, по которой через модули ввода-вывода в программу ПЛК передаются физические величины, соответствующие измеряемым данным при помощи сенсоров, подключенным к модулям. Выходная информация- это информация, которая передается из вычислителя в модули ввода-вывода, выходами которых управляется объект АСУТП.
Обмен информацией делится на 3 типа: транзакция, прерывание, широковещательный запрос.
Транзакция - это запрос от вычислителя к модулю и ответ от него (транзакция происходит по инициативе вычислителя).
Прерывание - это передача от модуля к вычислителю (по инициативе модуля).
Широковещательный запрос - это запрос в котором участвует вычислитель и несколько модулей, начинается с запроса со стороны вычислителя и необязательным (зависит от типа запроса) ответом от нескольких модулей.
Обмен данными, количество и порядок модулей, какой тип передачи выбрать, сколько байт передавать, с какой частотой опрашивать модули и прочее определяется на стадии написания программы для ПЛК.
Например, если изменились входные параметры у модуля, к которому подключены датчики, то модуль сам инициирует передачу данных на шину обмена данными, приёмником данного сообщения не обязательно будет модуль-вычислитель. Это значительно снижает информационную нагрузку на шину обмена данными, так как не происходит ежесекундный опрос данных, которые по сути не изменились.
Для обеспечения надежности работы программируемого контроллера отслеживают работоспособность модулей ввода-вывода, а также при неисправности модуля осуществляют «горячую замену» модулей.
Отслеживание работоспособности модулей ввода-вывода заключается в проверке времени после последнего принятого пакета по CAN шине, по которой модули подключены параллельно. Если время превышает определённую величину (эта величина задаётся при написании программы для ПЛК), то связь с модулем считается потерянной. При потере связи, вычислитель будет продолжать попытки установить связь с отсутствующим модулем. При успешной попытке (успех определяется наличием ответа от модуля при запросе к нему) модуль вновь настраивается, путем записи в него настроек, и включается, а работу.
В случае выхода из строя модуля или его отключения продолжается штанная работа с оставшимися модулями.
Под «горячей заменой» модуля понимается отключение или подключение электронного оборудования в системе во время её работы без выключения питания и остановки работы, а также замену (переподключение) блока в целом.
Если происходит “горячая” замена модуля, то модуль, появившийся на CAN шине сам передаёт в CAN шину информацию о том, что он появился. Далее модуль-вычислитель получает информацию о том, что на CAN шине в определённой позиции появился новый безадресный модуль или модуль с не верным адресом. Информация появится в web-интерфейсе модуля-вычислителя. Пользователь сможет взять компьютер, подключиться к прибору, открыть любой браузер, зайти на web-интерфейс прибора и увидеть таблицу модулей контроллера. Номер по порядку в web-интерфейсе будет соответствовать номеру позиции на шине. Далее пользователь сможет увидеть новый модуль в позиции, которой был установлен модуль. Данный модуль либо не имеет адреса, либо имеет не верный адрес. Пользователь сможет с помощью web-интерфейса установить необходимый адрес модуля или нажать кнопку “Поиск” и произойдёт автоматическая адресация модулей на шине. Таким образом автоматически присвоится адрес на вновь установленный модуль.
Таким образом при замене модуля можно принудительно назначить установленному модулю адрес. Прикладная программа в вычислителе совершенно спокойно отработает отсутствие модуля (будет работать с оставшимися модулями) и также спокойно начнёт работать с появившимся модулем на шине обмена. Какие-либо перезапуски программы вычислителя или перепрограммирования не потребуется. Всё произойдёт без остановки технологической программы.
В настоящих материалах заявки было представлено предпочтительное раскрытие осуществление заявленного технического решения, которое не должно использоваться как ограничивающее иные, частные воплощения его реализации, которые не выходят за рамки испрашиваемого объема правовой охраны и являются очевидными для специалистов в соответствующей области техники.