СПОСОБ ФОРМИРОВАНИЯ ВЫХОДНОЙ ИНФОРМАЦИИ ПО СОСТОЯНИЮ МНОЖЕСТВА ВХОДНЫХ СИГНАЛОВ В СИСТЕМАХ СБОРА, ПРЕОБРАЗОВАНИЯ, ПЕРЕДАЧИ ДАННЫХ И УПРАВЛЕНИЯ
METHOD OF GENERATING OUTPUT INFORMATION FROM STATE OF SEVERAL INPUT SIGNALS IN SYSTEMS FOR COLLECTING, CONVERTING, TRANSFERRING DATA AND CONTROL

Область техники, к которой относится изобретение
Изобретение относится к области вычислительной, информационно-измерительной и телекоммуникационной техники и, более точно, к способам формирования выходной информации по состоянию множества входных сигналов в системах сбора, преобразования, передачи данных и управления устройствами. В этих системах передача данных используется для отправления сообщений к удаленным внешним объектам, то есть к объектам, не входящим в эти системы, и для приема сообщений от удаленных внешних объектов, например, по радиоканалам.
Изобретение может быть использовано в разнообразных системах мониторинга, контроля и управления, например, в системах, с использованием передачи информации по беспроводным каналам связи, в том числе, в программируемых логических контроллерах (ПЛК), особенно в телематических ПЛК, устанавливаемых на подвижных (наземных, речных, морских) объектах и на стационарных объектах, в том числе, на удаленных.
Термин «программируемый логический контроллер (ПЛК)» разъясняется в статье «Программируемые контроллеры, начальные сведения», опубликованной на сайте фирмы «Пролог» www.codesys.ru/tmpl.php?content=info1.htm и в статье «Programmable logic controller», опубликованной в энциклопедии «Wikipedia, the free encyklopedia» на сайте http://en.wikipedia.org/wiki/Programmable_logic_controller.
Под телемагическим ПЛК понимается такой ПЛК, в котором могут быть использованы телематические внешние устройства - навигационный приемник (например, навигационные приемники, выполненные на основе систем GPS-NAVSTAR, Galileo, ГЛОНАСС), связное устройство - модем (например, GSM/GPRS-модем, CDMA-модем или спутниковый модем, в частности Global Star, Irridium, VSAT).
Термин «телематический» происходит от термина «телематика» («telematics»), толкование которого приведено в патенте США № 7091903 от 2006 г. по классу США 701/213 на изобретение «Apparatus and method for processing of telematics terminal».
Термин «телематический» относится также к сообщениям, принимаемым и отправляемым телематическими внешними устройствами. Одни из этих устройств обеспечивают прием в ПЛК входных телематических сообщений от удаленных цифровых измерителей различных величин (например, от датчиков температуры, давления, уровня жидкости, расхода топлива, расхода электроэнергии и т.п.) и от удаленных телематических систем (например, от системы навигационных спутников, от системы базовых станций абонентской связи). Другие из этих устройств обеспечивают отправление выходных телематических сообщений к телематическим системам. Телематическое сообщение в общем случае содержит набор (кортеж) переменных величин и код, указывающий тип этого сообщения.
Уровень техники
В системах сбора, преобразования, передачи данных и управления используются различные способы формирования выходной информации по состоянию множества входных сигналов. Эта выходная информация может передаваться к различным ее получателям в виде управляющих воздействий или в виде сообщений, посылаемых адресатам по линиям связи. В этих способах производят периодический опрос источников входных сигналов и считывают набор текущих значений этих сигналов, определяющий текущее состояние множества входных сигналов.
К подобным способам относится способ периодической регистрации данных с использованием датчиков и/или электронных интерфейсов в качестве источников входных сигналов (см. патент США № 6532434 от 2003 г. по классу США 702/187 на изобретение «Modular data sensing and logging system»). В этом способе входные сигналы, полученные в результате опроса их источников, регистрируются и передаются в компьютер для последующего формирования выходной информации, а в остальном способ формирования в указанном патенте не раскрыт. Предполагается, что в компьютере может быть запрограммирован требуемый способ формирования выходной информации.
7
К аналогичным способам формирования выходной информации относятся также способы, которые могут быть реализованы в системе сбора данных, поступающих от датчиков первичной информации, преобразования этой информации, приема и отправления сообщений по радиоканалу стандарта GSM и подачи управляющих воздействий к исполнительным устройствам (см. патент РФ на полезную модель №RU 39548 от 2004 г. по классу МПК B60R 25/10, «Система для контроля состояния и управления транспортным средством»). Предполагается, что в микропроцессоре этой системы могут быть запрограммированы требуемые способы формирования выходной информации.
Недостаток подхода к формированию выходной информации, используемого в указанных выше патентных источниках и предусматривающего полную разработку программы формирования выходной информации для каждого применения, заключается в необходимости и трудоемкости программирования и отладки программ для каждой задачи сбора, преобразования, передачи данных и управления, а также значительный объем программирования при изменении задачи.
Известно множество способов формирования выходной информации, используемых в телематических устройствах (системах), рассчитанных на конкретные применения (см., например, патент США № 6347281 от 2002 г. по классу США 701/213 на изобретение «Remote global positioning device and method», патент США № 7024308 от 4 апреля 2006 г. по классам США 701/213, 701/209 на изобретение «Telematic method for real-time routing to stolen vehicles» и патент США № 7091903 от 15 августа 2006 г. по классу США 701/213 на изобретение «Apparatus and method for processing signal of telematics terminal»). Недостаток этих способов состоит в их специализации на решение частных задач и вследствие этого в невозможности их применения для других задач. Общий недостаток этих способов состоит также в том, что в них не предусмотрена возможность сбора и обработки нетелематических сигналов (то есть аналоговых, числовых и релейных сигналов, поступающих от нетелематических устройств). Такая возможность, как правило, не предусмотрена в телематических системах (см., например, патент США № 6957133 от 2005 г. по классам США 701/29, 701/36 на изобретение «Small-scale, integrated vehicle telematics device»).
7
Известен способ формирования выходной информации по состоянию множества входных сигналов в системах сбора, преобразования и передачи данных, состоящий в том, что производят периодический опрос источников входных сигналов и считывают набор текущих значений этих сигналов, определяющий текущее состояние множества входных сигналов (см., патент РФ на изобретение № 2079882 от 2004 г. по классу МПК G06F 17/40, «Система сбора, преобразования и передачи результатов измерения параметров физической среды»). В этом способе источниками входных сигналов являются аналоговые датчики физических величин. Опрос этих датчиков начинают, если хотя бы значение сигнала одного из них равно или превышает значение опорного сигнала, задаваемого компьютером. Далее считанные текущие значения входных сигналов сравнивают с пороговыми значениями, заданными для каждого датчика, и если текущее значение входного сигнала равно или больше порогового значения, соответствующего этому датчику, то формируют выходную информацию в виде сообщения, которое передают в линию связи.
Недостаток этого способа состоит в его специализации на конкретную задачу, в том числе, в использовании источников только аналоговых входных сигналов. Специализация этого способа на конкретную задачу обусловлена также тем, что опрос источников входных сигналов начинают в зависимости от их значений.
7
Прототипом предлагаемого способа является близкий к предыдущему способ формирования выходной информации по состоянию множества входных сигналов в системах сбора, преобразования и передачи данных, состоящий в том, что производят периодический опрос источников входных сигналов и считывают набор текущих значений этих сигналов, определяющий текущее состояние множества входных сигналов (см., патент РФ на изобретение № 2081452 от 2004 г. по классу МПК G06F 17/40, «Система для сбора, преобразования и передачи результатов измерения параметров физической среды»). В этом способе источниками входных сигналов также являются аналоговые датчики физических величин. Каждое из считанных текущих значений входных сигналов сравнивают с пороговыми значениями, заданными для каждого датчика, и если текущее значение входного сигнала равно или больше порогового значения, соответствующего этому датчику, то формируют выходную информацию в виде сообщения, которое передают в линию связи. В этом способе в отличие от предыдущего (по патенту РФ на изобретение № 2079882) периодический опрос источников входных сигналов производят вне зависимости от их значений.
Недостаток этого способа также состоит в его специализации на конкретную задачу, в том числе в использовании источников только аналоговых входных сигналов.
Раскрытие (сущность) изобретения
Задачей предлагаемого изобретения является разработка способа формирования выходной информации по состоянию множества входных сигналов в системах сбора, преобразования, передачи данных и управления, который по сравнению с аналогами и прототипом обеспечил бы технический результат в виде одновременного достижений следующих целей:
- упрощения и снижения трудоемкости создания различных систем сбора, преобразования, передачи данных и управления, в которых могут использоваться нетелематические (аналоговые, числовые и релейные) входные сигналы, поступающие от датчиков, входящих в эти системы, а также числовые или текстовые входные сообщения, поступающие от телематических устройств, например навигационных приемников и модемов;
- расширения круга решаемых задач.
Такой технический результат можно описать кратко как упрощение создания систем сбора, преобразования, передачи данных и управления для широкого круга решаемых задач или как расширение технических возможностей этих систем, увеличивающее множество решаемых ими задач.
Благодаря этому техническому результату предлагаемый способ и построенные на его основе системы могут применяться для решения многих практических задач в различных областях. В число этих задач входят, например, следующие:
- мониторинг транспортных средств с использованием навигационных данных, совмещенный с контролем различных величин (например, с контролем расхода топлива, электроэнергии, состояния окружающей среды и т.п.);
- контроль соответствия следования транспортного средства заданному маршруту и графику передвижения;
- охрана транспортных средств;
- контроль состояний механизмов транспортного средства и управление ими на расстоянии;
- управление устройствами, в том числе, расположенными на удаленных объектах;
- регистрация и передача данных в метеорологии;
- контроль экологической обстановки, мониторинг окружающей среды.
Этот технический результат достигается, во-первых, благодаря тому, что в способе формирования выходной информации по состоянию множества входных сигналов в системах сбора, преобразования, передачи данных и управления, при котором производят периодический опрос нетелематических источников входных сигналов, например аналого-цифровых преобразователей, числовых и релейных датчиков, и периодически считывают набор текущих значений этих сигналов, осуществляют следующее:
- в компьютерной памяти задают массив инструкций, каждая из которых содержит код первого условия проверки текущего значения одного из входных сигналов, код второго условия проверки текущего значения того же или другого входного сигнала и код задания выходной информации, формируемой при выполнении двух указанных условий;
- в компьютерной памяти задают список заготовок выходных телематических сообщений, список адресов получателей, к которым могут быть направлены эти сообщения, и список указателей величин и массивов, значения которых могут быть вставлены в эти сообщения;
- для нетелематических источников входных сигналов, например, в компьютерной памяти задают пороги абсолютной величины разности между текущим и предыдущим значениями;
- для нетелематических источников входных сигналов периодически сравнивают текущие значения входных сигналов соответственно со значениями одноименных входных сигналов, полученными в предыдущем периоде опроса, запоминают коды источников входных сигналов, изменившихся на величину, превысившую порог, заданный для каждого источника, и текущие значения этих сигналов, после чего подают запросы на обработку этих изменившихся сигналов, соответствующую массиву инструкций;
- при использовании телематических устройств, например навигационных приемников и модемов, для получения входных сигналов запоминают все принятое от них телематическое сообщение, содержащее кортеж переменных величин и код характеристики этого сообщения, определяющий указанный кортеж, после чего сигнал о завершении его принятия используют в качестве запроса на обработку этого сообщения, соответствующую массиву инструкций, и при этом каждую переменную величину, содержащуюся в принятом входном телематическом сообщении, выделяют из этого сообщения как телематический источник входного сигнала, а значение этой переменной величины интерпретируют как значение входного сигнала;
- по запросу на обработку каждого текущего значения входного сигнала, соответствующую массиву инструкций, просматривают весь этот массив и выполняют каждую инструкцию, для чего проверяют выполнение первых условий; затем в случае выполнения любого первого условия, заданного в любой из указанных инструкций, при заданном признаке необходимости проверки второго условия проверяют выполнение второго условия, заданного в той же инструкции, а в случае выполнения этого второго условия и в случае, когда не задан признак необходимости проверки второго условия, формируют выходную информацию, код задания которой указан в той же инструкции.
Во-вторых, технический результат достигается благодаря следующему представлению и интерпретации указанных кодов первых и вторых условий:
- каждый код первого условия задают в виде набора, содержащего код источника входного сигнала, константу сравнения и код операции сравнения, сравнивают на совпадение этот код источника с кодами нетелематических источников изменившихся входных сигналов и с кодами телематических источников входных сигналов и в случае совпадения этих кодов выдают сигнал о выполнении первого условия, если константа и код операции сравнения равны нулю, а если константа и код операции сравнения не равны нулю, то сравнивают указанную константу с соответствующим этому коду источника текущим значением входного сигнала в соответствии с указанной операцией сравнения, и если результат этой операции удовлетворяет условию этого сравнения, то выдают сигнал о выполнении первого условия;
- каждый код второго условия задают в виде набора, содержащего код источника входного сигнала, константу сравнения и код операции сравнения, сравнивают текущее значение входного сигнала, соответствующего коду его источника, с указанной константой в соответствии с указанной операцией сравнения и в случае, если результат этой операции удовлетворяет условию этого сравнения, то выдают сигнал о выполнении второго условия.
Получению технического результата способствуют следующие варианты задания указанных первых и вторых условий в предлагаемом способе:
- код нетелематического источника входного сигнала в первом условии задают в виде набора, содержащего код типа источника входного сигнала и код номера источника этого типа;
- код телематического источника входного сигнала в первом условии формируют как набор, содержащий код типа телематического устройства, номер устройства этого типа, код типа телематического сообщения, определяющий набор переменных величин в этом сообщении, и номер переменной величины в этом сообщении;
- в качестве операции сравнения в первых условиях используют любую необходимую арифметическую операцию сравнения;
- код нетелематического источника входного сигнала во втором условии задают в виде набора, содержащего код типа источника входного сигнала и код номера источника этого типа;
- код телематического источника входного сигнала во втором условии формируют как набор, содержащий код типа телематического устройства, номер устройства этого типа, код типа телематического сообщения, определяющий набор переменных величин в этом сообщении, и номер переменной величины в этом сообщении;
- в качестве операции сравнения во вторых условиях используют любую необходимую арифметическую операцию сравнения;
- коду второго условия придают признак, например, значение этого кода, равное нулю, указывающий, что второе условие не подлежит проверке и считается выполненным;
- в инструкциях указывают номера кодов вторых условий, а коды вторых условий хранят в списке, и при этом одним из этих номеров, например нулевым, указывают на то, что второе условие не подлежит проверке и считается выполненным.
Далее, технический результат достигается благодаря тому, что в предлагаемом способе используют следующее представление и интерпретацию кода задания выходной информации:
- код задания выходной информации задают в виде набора, содержащего код объекта, на который направлено управляющее воздействие, код вида воздействия и параметр воздействия, интерпретация которого зависит от кода объекта и кода вида воздействия;
- код объекта задают в виде набора, содержащего код типа объекта и номер объекта этого типа;
- код задания выходной информации задают в виде набора, содержащего код телематического устройства, передающего сообщение, номер заготовки сообщения в заданном списке заготовок выходных телематических сообщений и номер адреса получателя в заданном списке адресов;
- каждую заготовку сообщения в списке заготовок выходных телематических сообщений задают в виде последовательности фиксированных частей передаваемого текста и признаков переменных частей этого текста, каждый из которых указывает какую информацию вставлять на его место в соответствующую ему переменную часть передаваемого текста, причем формируют каждую переменную часть текста в соответствии с указанием, содержащимся в соответствующем ему признаке переменной части текста;
- признак переменной части передаваемого текста задают в виде набора, содержащего идентификатор этого признака и номер указателя той величины или того массива в заданном списке этих указателей, значения которых вставляют в эту переменную часть передаваемого текста;
- признак переменной части передаваемого текста задают в виде набора, содержащего идентификатор этого признака и код, служащий командой для формирования контрольной информации передаваемого сообщения, например контрольной суммы, которую вставляют в эту переменную часть передаваемого текста.
Предлагаемый способ формирования выходной информации по состоянию множества входных сигналов в системах сбора, преобразования, передачи данных и управления можно рассматривать как способ построения процессорного узла, ориентированного на применение в различных системах сбора, преобразования, передачи данных и управления, в частности, в разнообразных системах мониторинга, контроля, управления и учета, например, в системах с использованием передачи информации по беспроводным каналам связи, и особенно в телематических программируемых логических контроллерах, устанавливаемых на подвижных наземных объектах (например, легковых автомобилях, трейлерах), на подвижных речных и морских объектах и на стационарных объектах, например удаленных.
То что по запросу на обработку каждого текущего значения входного сигнала, соответствующую заданному массиву инструкций, просматривают весь этот массив и выполняют (интерпретируют) все содержащиеся в нем инструкции, обусловлено тем, что каждому источнику входного сигнала может соответствовать не одна, а множество инструкций в этом массиве. Это позволяет существенно расширить класс решаемых задач и обеспечить достаточно большие логические возможности, предоставляемые предлагаемым способом, по сравнению со случаем, в котором одному источнику входного сигнала соответствовала бы одна инструкция.
Предлагаемый способ позволяет одновременно решать несколько задач, благодаря тому, что массив инструкций по существу может содержать задания для решения нескольких задач.
Предлагаемый способ и построенный в соответствии с ним процессорный узел могут быть реализованы программно или программно-аппаратно.
Упрощение и снижение трудоемкости создания систем сбора, преобразования, передачи данных и управления для различных областей применения достигается благодаря тому, что предлагаемый способ обеспечивает построение и функционирование процессорного узла, ориентированного на решение широкого круга задач формирования выходной информации по состоянию множества входных сигналов.
Расширение круга решаемых технических задач достигается благодаря обладающей большими функциональными возможностями и ориентированной на множество решаемых задач структуре инструкций, схемы обработки массива этих инструкций, выделению обрабатываемых входных сигналов в результате сравнения их текущих и предыдущих значений и интерпретации телематических сообщений как набора значений источников входных сигналов.
Расширение технических возможностей по сравнению с аналогами и с прототипом достигается благодаря тому, что предлагаемый способ и структура построенного на его основе процессорного узла позволяет создать системы для решения технических задач, принадлежащих к множеству задач, которые могут быть востребованы в различных областях применения, и благодаря тому, что при этом предлагаемый способ может обеспечивать одновременное решение нескольких задач.
Краткое описание чертежей
На фиг.1 показан пример структурной схемы (или, иначе, блок-схемы) обобщенной телематической системы сбора, преобразования, передачи данных и управления,
на фиг.2 - пример структурной схемы обобщенного телематического программируемого логического контроллера (ПЛК),
на фиг.3 показана схема основных этапов предлагаемого способа формирования выходной информации в системах сбора, преобразования, передачи данных и управления,
на фиг.4 - схема основных этапов приема и начальной обработки входных сигналов,
на фиг.5 показан пример структурной схемы блока обработки входных данных в соответствии с массивом инструкций,
на фиг.6 - пример структурной схемы блока обработки пары <код источника входного сигнала, текущее значение этого сигнала> по одной инструкции.
Осуществление изобретения
Предлагаемый способ предназначен для применения в системах сбора, преобразования, передачи данных и управления, например, в телематических системах, обобщенный пример которых показан на фиг.1. В этих системах предлагаемый способ может быть осуществлен в телематическом программируемом логическом контроллере (телематическом ПЛК), обобщенный пример которого показан на фиг.2.
Телематическая система (фиг.1) содержит телематический ПЛК 1 с приемно-передающей антенной 2, навигационный приемник 3 с приемной антенной 4, релейные, или иначе, однобитовые датчики 5 (например, датчик состояния «дверь открыта»), числовые датчики 6 (например, цифровые измерители температуры, расхода топлива, уровня жидкости), аналоговые датчики 7, управляемые устройства 8, соединенные с управляющим выходом 9 ПЛК 1, базовая станция 10, входящая в GSM-сеть базовых станций (GSM-сеть на чертеже не показана), аппаратура 11 удаленных стационарных объектов, аппаратура 12 подвижных объектов. В состав базовой станции 10 входит компьютер (на чертеже не показан), который связан каналом Интернета с IP-сервером 13. ПЛК 1 через антенну 2 связан по радиоканалу с базовой станцией 10 GSM-сети, а через нее связан по радиоканалам с аппаратурой 11 удаленных стационарных объектов и аппаратурой 12 подвижных объектов. Подвижные объекты могут быть наземными (например, легковые автомобили, трейлеры), речными и морскими. В состав аппаратуры 11 и 12 может входить телематический ПЛК 1.
Управляемыми устройствами 8 могут быть, например, устройства световой и звуковой сигнализации, электромагнитные замки, электромагнитные газовые краны.
Навигационный приемник 3 соединен со входом 14 ПЛК 1, релейные датчики 5 соединены со входом 15 ПЛК 1, числовые датчики 6 - со входом 16 ПЛК 1, аналоговые датчики 7 - со входом 17 ПЛК 1.
Навигационный приемник 3 может быть выполнен различным образом, например, на основе американской GPS-системы NAVSTAR, либо европейской системы Galileo, либо российской системы ГЛОНАСС.
Навигационный приемник 3 через антенну 4 принимает от спутников навигационную информацию и передает в телематический ПЛК 1 входные навигационные сообщения (текстовые или числовые). Релейные датчики 5 подают в ПЛК 1 релейные, то есть однобитовые сигналы. Цифровые датчики 6 подают в ПЛК 1 числовые сигналы, каждый из которых представлен цифровым кодом числа. Аналоговые датчики 7 подают в ПЛК 1 аналоговые сигналы. Релейные датчики 5, числовые датчики 6 и аналоговые датчики 7 являются нетелематическими источниками входных сигналов, а навигационный приемник 3 является телематическим устройством. Информация, которой базовая станция 10 обменивается через антенну 2 с ПЛК 1, с аппаратурой 11 удаленных стационарных объектов и аппаратурой 12 подвижных объектов является телематической.
Телематический ПЛК 1 (фиг.2) содержит приемно-передающую антенну 2, микропроцессор 18, GSM/GPRS-модем 19, соединенный с антенной 2, энергетически независимую память 20, выполненную, например, как флэш-память, блок 21 сопряжения с управляемыми устройствами 8, блок 22 приема навигационных сообщений, блок 23 приема релейных сигналов, блок 24 приема числовых сигналов и блок 25 аналого-цифровых преобразователей (АЦП), принимающий аналоговые сигналы и преобразующие их в цифровые коды (числа). Микропроцессор 18 соединен с GSM/GPRS-модемом 19, с энергонезависиомой памятью 20, с блоком 21 сопряжения с управляемыми устройствами и с приемными блоками 22, 23, 24, 25. Линии связи микропроцессора 18 с блоком 22 и с GSM/GPRS-модемом 19 служат для передачи телематических сообщений, а блок 22 и GSM/GPRS-модем 19 являются телематическими устройствами. Блоки 23, 24, 25 являются для микропроцессора 18 нетелематическими источниками входных сигналов. В зависимости от конструктивных требований навигационный приемник 3 может быть включен в состав блока 22.
Описанные телематическая система (фиг.1) и входящий в нее телематический ПЛК 1 (фиг.2) могут применяться для решения многих практических задач в различных областях. В их число входят, например, следующие задачи:
- мониторинг транспортных средств с использованием навигационных данных, совмещенный с контролем различных величин (например, с контролем расхода топлива, электроэнергии, состояния окружающей среды и т.п.);
- контроль соответствия следования транспортного средства заданному маршруту и графику передвижения;
- охрана транспортных средств;
- контроль состояний механизмов транспортного средства и управление ими на расстоянии;
- управление устройствами, в том числе расположенными на удаленных объектах;
- регистрация и передача данных в области метеорологии;
- контроль экологической обстановки, мониторинг окружающей среды.
Предлагаемый способ может быть реализован в микропроцессоре 18 телематического ПЛК 1 программно или программно-аппаратно.
Этот способ содержит три основных этапа (фиг.3):
- настройка телематического ПЛК, представленная блоком 26 действий,
- прием входных нетелематических сигналов и телематических сообщений, представленный блоком 27 действий,
- обработка входных данных (нетелематических сигналов и телематических сообщений) в соответствии с массивом инструкций, заданным на этапе настройки; эта обработка представлена блоком 28 действий.
На этапе настройки (блок 26) в компьютерной памяти предварительно задают (например, записывают или прожигают):
- массив инструкций,
- список заготовок выходных телематических сообщений,
- список адресов получателей выходных телематических сообщений,
- список указателей величин и массивов, значения которых могут быть вставлены в выходные телематические сообщения,
- пороги абсолютной величины разности между текущим и предыдущим значениями входных сигналов.
Структура указанных инструкций, а также пороги абсолютной величины разности, заготовки выходных телематических сообщений, список адресатов и список указателей величин и массивов будут рассмотрены ниже. Все задаваемые в блоке 26 данные хранят в памяти микропроцессора 18 либо в энергонезависимой памяти 20.
Рассмотрим действия, выполняемые в блоке 26, более подробно и проиллюстрируем структуры инструкций, кодов и сообщений формальной записью наборов (кортежей) величин.
В блоке 26 задают массив инструкций, каждая из которых содержит код первого условия проверки текущего значения одного из входных сигналов, код второго условия проверки текущего значения того же самого или другого выходного сигнала и код задания выходной информации, формируемой при выполнении двух указанных условий. Каждую инструкцию I можно представить в виде набора (кортежа):
1
где С - код первого условия проверки;
2
С - код второго условия проверки;
А - код задания выходной информации.
1
2
2
Если выполняются условия, заданные кодами С и C, то производят действия, заданные кодом А. Ниже будет показано, что предусмотрены случаи, когда выполнение условия, заданного кодом C, не требуется.
1
Код С первого условия задают в виде набора, содержащего код источника входного сигнала, константу сравнения и код операции сравнения:
1
где S - код источника входного сигнала;
1
D - константа сравнения;
1
Op - код операции сравнения;
1
здесь нижним индексом  помечены величины, относящиеся к первому условию.
2
Код C второго условия задают в виде набора, содержащего код источника входного сигнала, константу сравнения и код операции сравнения:
2
где S - код источника входного сигнала;
2
D - константа сравнения;
2
Ор - код операции сравнения;
2
здесь нижним индексом  помечены величины, относящиеся ко второму условию.
В качестве операции сравнения в первом (2) и втором (3) условиях используют любые необходимые арифметические операции сравнения («больше», «больше или равно», «меньше», «меньше или равно», «равно», «не равно»).
Коду второго условия (3) придают признак z, например, значение этого кода, равное нулю, указывающий, что второе условие не подлежит проверке и считается выполненным.
Для более экономного представления массива инструкций в них вместо кодов вторых условий указывают номера кодов вторых условий, а соответствующие этим номерам коды вторых условий (3) хранят в списке в памяти микропроцессора 18 (фиг.2). В этом случае инструкцию представляют в виде:
где I - инструкция;
1
С - код первого условия проверки;
2
c - номер кода второго условия проверки;
А - код задания выходной информации.
2
При этом один из этих номеров с, например, равный нулю, служит признаком z, которым указывают на то, что второе условие не подлежит проверке и считается выполненным.
Для нетелематических источников входных сигналов (релейных датчиков 5, числовых датчиков 6, то есть цифровых измерителей, и аналого-цифровых преобразователей 7) код источника входного сигнала задают в виде пары, содержащей код типа источника входного сигнала и код номера источника этого типа (так как в общем случае могут использоваться несколько источников одного типа):
где S - код источника входного сигнала;
T(s) - код типа источника входного сигнала;
N(sT) - код номера источника типа T(s).
Предлагаемый способ позволяет использовать программно-реализованные цифровые измерители, например таймеры и счетчики. В этих случаях нетелематическими источниками выходного сигнала служат ячейки памяти, содержащие значения выходных сигналов этих измерителей. Код таких источников, как и код аппаратно реализованных нетелематических источников, задают в виде набора, содержащего код типа источника (например, код таймера) и код номера источника этого типа (например, код номера таймера).
Входные телематические сообщения содержат кортеж переменных величин и код характеристики этого сообщения, определяющий этот кортеж (то есть набор переменных величин и порядок их расположения в кортеже). Поэтому при использовании телематических устройств (навигационных приемников или модемов) каждую переменную величину, содержащуюся в поступающих от них входных телематических сообщениях, выделяют их этих сообщений как телематический источник входного сигнала, а значение этой переменной величины интерпретируют как значение входного сигнала. В этом случае код такого источника входного сигнала формируют как набор, содержащий код типа телематического устройства, номер телематического устройства этого типа, код типа входного телематического сообщения, определяющий набор переменных величин в этом сообщении, и номер переменной величины в этом телематическом сообщении:
где S - код телематического источника входного сигнала, выделенного из входного телематического сообщения;
T(d) - код типа телематического устройства;
N(dT) - номер телематического устройства типа T(d);
T(m) - код типа входного телематического сообщения;
N(ν) - номер переменной величины во входном телематическом сообщении.
Набор, содержащий код типа телематического устройства, номер телематического устройства этого типа и код типа входного телематического сообщения, является кодом характеристики этого сообщения.
Типы телематических сообщений, указываемые в формуле (6) их кодом Т(m), являются стандартными или дополнительно определены изготовителями телематических устройств.
Код А задания выходной информации задают в виде набора одного из двух типов. С помощью кода задания первого типа обеспечивают задание управляющих воздействий, а с помощью кода задания второго типа обеспечивают задание выходных телематических сообщений.
Код задания выходной информации первого типа задают в виде набора, содержащего код объекта, на который направлено управляющее воздействие, код вида воздействия и параметр воздействия, интерпретация которого зависит от кода объекта и кода вида воздействия. Этот набор первого типа имеет вид:
где А - код задания выходной информации первого типа;
Ob - код объекта, на который направлено управляющее воздействие;
K - код вида воздействия;
Р - параметр воздействия.
Код Оb объекта задают в виде набора, содержащего код типа объекта и номер объекта этого типа (так как в общем случае могут использоваться несколько объектов одного типа):
где T(Ob) - код типа объекта;
N(Ob) - номер объекта типа Т(Оb).
Объектами, на которые направлены управляющие воздействия, могут быть аппаратные блоки ПЛК, например, GSM/GPRS-модем 19, энергонезависимая память 20, блок 21 сопряжения с управляемыми устройствами 8 (фиг.2), программно реализованные блоки ПЛК 1, например, счетчики, таймеры, и внешние по отношению к ПЛК 1 устройства, например, навигационный приемник 3. К возможным видам управляющего воздействия относятся, например, сигналы на передачу сообщения через GSM/GPRS-модем 19, на запись данных в энергонезависимую память 20 и на чтение из нее, на изменение состояния программно реализованных счетчиков и сигналы управления, передаваемые через блок 21 сопряжения к управляемым устройствам 8. К параметрам Р воздействия относятся параметры команд воздействия, например, число записываемых или считываемых элементов энергонезависимой памяти 20, характеристики режима работы таймера.
Код задания выходной информации второго типа задают в виде набора, содержащего код телематического устройства, принимающего сообщение, номер заготовки сообщения в заданном списке заготовок выходных телематических сообщений и номер адреса в заданном списке адресов получателей:
где А - код задания выходной информации второго типа;
В - код телематического устройства, принимающего сообщение;
N(m) - номер заготовки сообщения в списке выходных телематических сообщений;
N(a) - номер адреса в заданном списке адресов получателей.
Код Оb в формуле (7) и код В в формуле (9) являются идентификаторами задания соответственно первого и второго типа, а именно задания управляющего воздействия и задания отправления выходного телематического сообщения.
Как указывалось выше, список заготовок выходных телематических сообщений и список адресов получателей задают в блоке 26. В общем случае эти заготовки являются «полуфабрикатами» или «полупродуктами» по отношению к передаваемым выходным телематическим сообщениям.
Каждую заготовку выходного телематического сообщения представляют в виде последовательности фиксированных частей передаваемого текста, признаков переменных частей этого текста, каждый из которых указывает, какую информацию вставлять на его место в соответствующую ему переменную часть передаваемого текста и признака конца сообщения. Каждую переменную часть текста формируют в соответствии с указанием, содержащимся в соответствующем ему признаке переменной части текста. Ниже показан пример заготовки М выходного телематического сообщения:
где Х - символы фиксированной части текста,
Y - признаки переменной части текста,
L - признак конца сообщения.
Признак переменной части текста представляют одним из двух типов кодов, указывающих соответственно на два типа этих признаков.
Признак переменной части первого типа задают в виде набора, содержащего идентификатор признака переменной части текста и номер указателя той величины или того массива в заданном списке этих указателей, значения которых должны быть вставлены в эту переменную часть передаваемого текста:
где Y(l) - признак переменной части первого типа;
Е - идентификатор признака переменной части текста;
N(p) - номер указателя величины или массива в списке их указателей.
В качестве идентификатора Е используют, например, символ %.
Как указывалось выше, список указателей величин и массивов задают в блоке 26.
Указатели величин и массивов в этом списке могут быть заданы различным образом, например, в виде идентификаторов величин и массивов. Этим идентификаторам могут соответствовать характеристики величин и массивов.
Признак переменной части второго типа задают в виде набора, содержащего индентификатор признака переменной части текста, код, по которому формируют контрольную информацию для передаваемого сообщения, например, контрольную сумму, которую и вставляют в переменную часть передаваемого текста:
где Y(2) - признак переменной части второго типа;
Е - идентификатор признака переменной части текста;
F - код, по которому формируют контрольную информацию для передаваемого выходного телематического сообщения.
Например, если в качестве идентификатора Е используют символ %, а в качестве кода F - латинские символы «cc», то признак переменной части второго типа примет вид:
В списке адресов получателей указывают адреса, представленные в одном из следующих видов:
- номер телефона абонента,
- телефонный номер модема,
- IP-адрес сервера и номер IP-порта,
- имя (адрес) сайта в Интернете.
Сообщения по этим адресам передают через GSM/GPRS-модем 19.
По номеру телефона абонента или модема, указанному в качестве адреса, посылают SMS-сообщения.
По IP-адресу сервера и номеру ЕР-порта или по имени сайта и номеру IP-порта, указанным в качестве адреса, передают сообщение на IP-сервер 13 сети Интернет.
В блоке 26 для нетелематических источников входных сигналов задают порог абсолютной величины разности между текущим и предыдущим значением. Значения этих порогов могут храниться в памяти микропроцессора. Для релейных датчиков этот порог задают по умолчанию равным нулю.
Этап приема входных нетелематических сигналов и телематических сообщений (блок 27), в свою очередь, содержит несколько этапов, представленных следующими блоками действий (фиг.4):
- периодический опрос нетелематических источников входных сигналов (блок 29),
- периодическое сравнение текущих значений входных сигналов с их значениями, полученными в предыдущем периоде опроса (блок 30),
- запоминание текущих значений входных сигналов, изменившихся на величину, превышающую заданный порог, и кодов источников этих сигналов (блок 31),
- прием и запоминание входных телематических сообщений (блок 32).
1
2
В блоках 31, 32 вырабатывают запросы q и q соответственно к блоку 28 на обработку входных данных в соответствии с массивом инструкций, заданным в блоке 26 (фиг.3).
Рассмотрим действия, выполняемые в блоках 29, 30, 31, 32.
В блоке 29 производят периодический опрос нетелематических источников входных сигналов, то есть сигналов, вырабатываемых релейными датчиками 5, числовыми датчиками 6 и аналоговыми датчиками 7 (см. фиг.1 и 2) и периодически считывают набор текущих значений этих сигналов. Период опроса может быть задан для каждого типа нетелематического источника входного сигнала.
В блоке 30 для нетелематических источников периодически сравнивают текущие значения входных сигналов соответственно со значениями одноименных входных сигналов, полученными в предыдущем периоде опроса. Для каждого такого источника производят проверку условия сравнения:
i
где х - текущее значение входного сигнала в i-й период опроса источника,
i-1
x - значение входного сигнала в предыдущий, (i-l)-й, период опроса того же источника,
t - заданный порог абсолютной величины разности между текущим и предыдущим значениями.
Для релейных датчиков по умолчанию принимают t=0.
Если условие сравнения (14) выполняется, то в блоке 31 запоминают текущее значение х, входного сигнала и код этого источника. Таким образом, в блоке 31 запоминают текущие значения входных сигналов, изменившихся на величину, превышающую порог, заданный для каждого источника, и соответствующие им коды источников этих сигналов.
1
Блок 31 вырабатывает запрос q на обработку запомненных пар <источник входного сигнала, текущее значение этого сигнала> в блоке 28.
1
Запросы q вырабатывают либо после запоминания очередной указанной пары, либо после запоминания группы таких пар, либо после запоминания всех указанных пар, полученных в очередном периоде опроса. В рассматриваемом ниже примере (фиг.5) принято, что эти запросы вырабатывают после запоминания всех указанных пар.
2
При использовании телематических устройств, например, навигационных приемников или модемов, для получения входных сигналов, в блоке 32 запоминают все принятое телепатическое сообщение, а сигнал о завершении его принятия подают в качестве запроса q на обработку этого сообщения в блоке 28.
k
Если поступило несколько запросов на обработку в блоке 28, то их выполняют в порядке поступления или в каком-либо другом заданном порядке, например, в соответствии с их заданными приоритетами. В блоке 33 (фиг.5) производят чтение очередного запроса q, где k - тип запроса: если k=1, то это запрос на обработку изменившихся нетелематических входных сигналов, полученных в некотором периоде опроса, а если k=2, то это запрос на обработку входного телематического сообщения.
Далее обработку входных данных в блоке 28 производят согласно примеру структурной схемы на фиг.5.
В элементе 34 проверяют значение типа k очередного запроса.
1
Если k=1, то в элементе 35 величине - счетчику p присваивают число n входных сигналов, изменившихся в некотором периоде опроса, и их нетелематических источников.
При k=1 в блоке 36 производят чтение очередной пары <код нетелематического источника, текущее значение изменившегося нетелематического входного сигнала>. Код этого источника формируют в виде пары, содержащей код типа источника входного сигнала и код номера источника этого типа.
2
Если k=2, то в элементе 37 счетчику р присваивают число n переменных величин в телематическом сообщении, которые интерпретируют как источники входных сигналов.
При k=2 в блоке 38 выделяют из принятого телематического сообщения очередную переменную величину как телематический источник входного сигнала, а значение этой переменной интерпретируют как значение входного сигнала. Для этого формируют очередную пару <код источника переменной величины в телематическом сообщении, значение этой переменной> и производят чтение этой пары. Код этого источника формируют как набор, содержащий код типа телематического устройства, номер устройства этого типа, код типа телематического сообщения, определяющий набор переменных величин в этом сообщении, и номер переменной величины в этом сообщении.
Далее обработку пары <код источника, текущее значение входного сигнала> производят одинаково для случаев k=1 и k=2.
В элементе 39 величине - счетчику r присваивают число h инструкций в заданном массиве инструкций. В элементе 40 осуществляют чтение очередной инструкции, в блоке 41 осуществляют обработку пары <код источника входного сигнала, текущее значение этого сигнала> по одной, очередной, инструкции. Пример структурной схемы обработки в блоке 41 показан на фиг.6 и будет рассмотрен ниже.
k
k
k
В элементе 42 уменьшают значение счетчика r на единицу. В элементе 43 проверяют равенство нулю значения счетчика r. Если r не равно нулю, то снова переходят к чтению следующей инструкции в элементе 40. Если r равно нулю, то в элементе 44 уменьшают значение счетчика р на единицу и затем в элементе 45 проверяют равенство нулю значения счетчика р. Если р не равно нулю, то продолжают обработку запроса q, для чего в элементе 46 проверяют, какой тип запроса выполняется k=1 или k=2, и в соответствии с этим переходят к выполнению действий в блоках 36 или 38. Если значение р равно нулю, то это означает, что обработка очередного запроса qзакончена. В этом случае переходят к чтению очередного запроса qв блоке 33.
Таким образом, по запросу на обработку каждого текущего значения входного сигнала, соответствующую заданному массиву инструкций, просматривают весь этот массив и выполняют (то есть интерпретируют) каждую инструкцию.
1
2
2
Обработку входного сигнала по одной инструкции I, определенной формулой (1), производят в блоке 41 в соответствии с примером структурной схемы на фиг.6 следующим образом. В элементе 47 проверяют выполнение первого условия С. Если это условие не выполняется («нет»), то заканчивают обработку. Если это условие выполняется («да»), то в элементе 48 проверяют, есть ли необходимость проверять выполнение второго условия С, то есть задан ли признак Z, указывающий, что второе условие не подлежит проверке и считается выполненным. Об этом признаке сказано в пояснениях к формулам (3) и (4). Примем, что этот признак z задан («да»), если z=0. В этом случае нет необходимости проверки второго условия и переходят к выполнению действий блока 50, в котором формируют и отправляют выходную информацию в соответствии с кодом А задания. Если признак z не задан («нет»), то есть, если z не равно 0, то проверка второго условия необходима. В этом случае в блоке 49 осуществляют проверку второго условия С. Если второе условие не выполняется («нет»), то заканчивают обработку входного сигнала. Если второе условие выполняется («да»), то переходят к выполнению указанных выше действий в блоке 50. Проверку первого и второго условий и формирование выходной информации осуществляют в соответствии с указанными выше формулами (2) - (13).
Таким образом, при выполнении (то есть при интерпретации) каждой инструкции проверяют выполнение первых условий; затем в случае выполнения любого первого условия, заданного в любой из указанных инструкций, при заданном признаке необходимости проверки второго условия, проверяют выполнение второго условия, заданного в той же инструкции, а в случае выполнения этого второго условия и в случае, когда не задан признак необходимости проверки второго условия, формируют выходную информацию, код задания которой указан в той же инструкции.