Программируемый логический контроллер и способ его событийно-управляемого программирования

Иллюстрации

Показать все

Изобретение относится к программируемому логическому контроллеру, в частности к событийно-управляемому программируемому логическому контроллеру. Технический результат заключается в повышении скорости отклика на программное событие. Технический результат достигается за счет регистрации события, сохранения программной секции обработки события, соответствующей событию, обнаружения возникновения события, добавления события в очередь событий, извлечения события из очереди событий и исполнения программной секции обработки события, соответствующей извлеченному событию, причем регистрация события включает в себя регистрацию события, выбранного из предопределенного события пользователем, и регистрацию настраиваемого пользователем события, вводимого пользователем, а регистрация настраиваемого пользователем события включает в себя регистрацию логической комбинации множества предопределенных событий, включая упомянутое предопределенное событие. 2 н. и 12 з.п. ф-лы, 4 ил.

Реферат

УРОВЕНЬ ТЕХНИКИ

Настоящее изобретение относится к программируемому логическому контроллеру и более конкретно относится к событийно-управляемому программируемому логическому контроллеру и способу событийно-управляемого программирования такового.

Программируемый логический контроллер (PLC) играет важную роль в области управления производством в связи с его гибкостью в программируемости пользователем. Способы программирования существующего программируемого логического контроллера и соответствующие пользовательские прикладные программы основываются на цикле сканирования. Цикл сканирования имеет несколько этапов, включающих в себя: актуализацию входного значения, исполнение пользовательского приложения и обновление выходного значения.

Однако способы программирования в соответствии с циклом сканирования имеют следующие недостатки:

Медленный отклик на событие. Пользователю необходимо обнаружить входное событие в прикладной программе, и отклик не может быть выведенным до окончания цикла сканирования.

Сложные пользовательские приложения, которые нелегко написать. Для программируемых логических контроллеров в соответствии с циклом сканирования пользовательское приложение отвечает за обнаружение и обработку событий.

Слабая читабельность пользовательского приложения, что делает его трудным для поддержки. Для программируемого логического контроллера в соответствии с циклом сканирования пользователю необходимо интегрировать процедуру обработки разных событий, таких как входное/выходное событие, диагностическое событие, системное событие и так далее, в одной программе, вследствие чего это пользовательское приложение является плохоструктурированным.

СУЩНОСТЬ ИЗОБРЕТЕНИЯ

Настоящее изобретение предоставляет событийно-управляемый программируемый логический контроллер и способ событийно-управляемого программирования такового применительно к вышеприведенным недостаткам существующего программируемого логического контроллера в соответствии с циклом сканирования и способом программирования такового.

В соответствии с некоторым аспектом данного изобретения предоставлен способ событийно-управляемого программирования программируемого логического контроллера, в котором: регистрируют по меньшей мере одно подлежащее обнаружению событие; сохраняют по меньшей мере одну программную секцию обработки события, соответствующую по меньшей мере одному подлежащему обнаружению событию соответственно; обнаруживают возникновение по меньшей мере одного подлежащего обнаружению события; добавляют обнаруженное событие в очередь событий; извлекают событие из очереди событий; исполняют программную секцию обработки события, соответствующую извлеченному событию.

В соответствии вариантом осуществления настоящего изобретение это по меньшей мере одно подлежащее обнаружению событие может включать в себя событие, выбранное из по меньшей мере одного события, предопределенного пользователем.

В соответствии вариантом осуществления настоящего изобретения это по меньшей мере одно подлежащее обнаружению событие может включать в себя вводимое пользователем событие, настраиваемое пользователем.

В соответствии с вариантом осуществления настоящего изобретения это событие, настраиваемое пользователем, может включать в себя логическую комбинацию предопределенных событий.

В соответствии с вариантом осуществления настоящего изобретения, предопределенное событие может включать в себя событие ввода/вывода, событие передачи данных, диагностическое событие, событие системной ошибки, событие бездействия системы.

В соответствии с вариантом осуществления настоящего изобретения эта по меньшей мере одна программная секция обработки события может включать в себя программную секцию обработки предопределенного события.

В соответствии с вариантом осуществления настоящего изобретения эта по меньшей мере одна программная секция обработки события может включать в себя вводимую пользователем программную секцию обработки настраиваемого пользователем события.

Данный способ может дополнительно включать в себя замену соответствующей программной секции обработки предопределенного события программной секцией обработки настраиваемого пользователем события.

В соответствии с вариантом осуществления настоящего изобретения очередь событий может включать в себя множество очередей событий с разными уровнями приоритета, регистрация этого по меньшей мере одного подлежащего обнаружению события может дополнительно включать в себя регистрацию уровня приоритета подлежащего обнаружению события, добавление обнаруженного события в эту очередь событий может включать в себя добавление обнаруживаемого события в соответствующую очередь событий в соответствии с уровнем приоритета данного события, извлечение события из очереди событий может включать в себя преимущественное извлечение события из очереди событий с высоким уровнем приоритета.

В соответствии с вариантом осуществления настоящего изобретения добавление обнаруженного события в очередь событий может включать в себя отбрасывание обнаруженного события, если это событие уже имеется в этой очереди событий.

В соответствии с другим аспектом данного изобретения предоставлен программируемый логический контроллер, содержащий: очередь событий для сохранения подлежащее обработке событий; детектор событий для регистрации по меньшей мере одного подлежащего обнаружению события, обнаружения возникновения по меньшей мере одного подлежащего обнаружению события, и добавления обнаруженного события в очередь событий; программную память для хранения по меньшей мере одной программной секции обработки события, соответствующей по меньшей мере одному подлежащему обнаружению событию соответственно; диспетчер событий для извлечения событий из очереди событий; и обработчик событий для исполнения программной секции обработки события, соответствующей извлеченному событию.

В соответствии с вариантом осуществления настоящего изобретения это по меньшей мере одно подлежащее обнаружению событие может включать в себя событие, выбираемое пользователем из по меньшей мере одного предопределенного события.

В соответствии вариантом осуществления настоящего изобретения это по меньшей мере одно подлежащее обнаружению событие может включать в себя вводимое пользователем событие, настраиваемое пользователем.

В соответствии вариантом осуществления настоящего изобретения это событие, настраиваемое пользователем, может включать в себя логическую комбинацию предопределенных событий.

В соответствии с вариантом осуществления настоящего изобретения предопределенное событие может включать в себя событие ввода/вывода, событие передачи данных, диагностическое событие, событие системной ошибки, событие бездействия системы.

В соответствии с вариантом осуществления настоящего изобретения эта по меньшей мере одна программная секция обработки события может включать в себя программную секцию обработки предопределенного события.

В соответствии с вариантом осуществления настоящего изобретения эта по меньшей мере одна программная секция обработки события может включать в себя вводимую пользователем программную секцию обработки настраиваемого пользователем события.

В соответствии с вариантом осуществления настоящего изобретения соответствующая программная секция обработки предопределенного события может быть заменена программной секцией обработки, настраиваемого пользователем события в программной памяти.

В соответствии с вариантом осуществления настоящего изобретения очередь событий может включать в себя множество очередей событий с разными уровнями приоритета, детектор событий может регистрировать уровень приоритета подлежащего обнаружению события, и добавлять обнаруженное событие в соответствующую очередь событий в соответствии уровнем приоритета события, детектор событий может преимущественно извлекать событие из очереди событий с высоким уровнем приоритета.

В соответствии с вариантом осуществления настоящего изобретения детектор событий может отбрасывать обнаруженное событие, если это событие уже имеется в этой очереди событий.

В соответствии с данным изобретением способ программирования в соответствии с циклом сканирования заменен способом событийно-управляемого программирования в программируемом логическом контроллере, пользовательское приложение разделено на программные секции обработки событий с единичной функцией, сложность программирования пользовательского приложения и вероятность ошибки снижена, что приводит к хорошо структурированному пользовательскому приложению с легкой поддержкой. В то же время, поскольку обработка может быть выполнена своевременно относительно определенных событий, скорость отклика и производительность системы улучшаются.

КРАТКОЕ ОПИСАНИЕ ЧЕРТЕЖЕЙ

Для более полного понимания настоящего изобретения здесь сделана ссылка на подробное описание примерного варианта осуществления во взаимосвязи с прилагаемыми чертежами. Следует ясно понимать, что примерный вариант осуществления является только описанным с целью иллюстрации и примера, в то время как настоящее изобретение не ограничивается этим. Сущность и объем настоящего изобретения ограничены конкретным содержанием прилагаемой формулы изобретения. Далее описано краткое описание чертежей, включающих в себя:

Фигура 1 является структурной схемой, иллюстрирующей способ событийно-управляемого программирования программируемого логического контроллера в соответствии с вариантом осуществления настоящего изобретения;

Фигура 2 является структурной схемой, иллюстрирующей способ событийно-управляемого программирования программируемого логического контроллера в соответствии с другим вариантом осуществления настоящего изобретения;

Фигура 3 является функциональной схемой, иллюстрирующей программируемый логический контроллер в соответствии с вариантом осуществления настоящего изобретения; и

Фигура 4 является функциональной схемой, иллюстрирующей программируемый логический контроллер в соответствии с другим вариантом осуществления настоящего изобретения.

ПОДРОБНОЕ ОПИСАНИЕ

Фигура 1 является структурной схемой, иллюстрирующей способ событийно-управляемого программирования программируемого логического контроллера в соответствии с вариантом осуществления настоящего изобретения.

Со ссылкой на Фигуру 1, на этапе S101, по меньшей мере одно обнаруживаемое событие регистрируют в программируемом логическом контроллере. В соответствии с вариантом осуществления, множество предопределенных событий, таких как событие ввода/вывода, событие передачи данных, диагностическое событие, событие системной ошибки, событие бездействия системы, и так далее, могут быть предопределены, таким образом, интересующее событие может быть выбрано в качестве подлежащего обнаружению события из этих предопределенных событий. Кроме того, в качестве дополнения к предопределенным событиям пользователь может также ввести событие, настраиваемое пользователем, в качестве подлежащего обнаружению события. Событие, настраиваемое пользователем, может быть логической комбинацией предопределенных событий. К примеру, при условии, что предопределенные события содержат: (E1) канал 1 ввода принимает данные; (E2) сетевой порт принимает сообщение; и (E3) система бездействует, то тогда следующие события, настраиваемые пользователем, могут быть заданы: E1 AND E3, а именно канал 1 ввода принимает данные и система бездействует; или E2 OR E3, а именно сетевой порт принимает сообщение или система бездействует. Однако настраиваемое пользователем событие по настоящему изобретению не ограничивается логической комбинацией предопределенных событий, оно может также быть задано пользователем в соответствии с реальными потребностями.

На этапе S103 соответствующую программную секцию обработки события сохраняют для каждого подлежащего обнаружению события в программируемом логическом контроллере. В соответствии вариантом осуществления несколько программных секций обработки предопределенного событий могут быть предопределены для обработки событий по умолчанию. Однако когда событие не имеет соответствующей программной секции обработки предопределенного события или требует специальной обработки, настраиваемая пользователем программная секция обработки события может быть введена. Когда пользователь вводит настраиваемую пользователем программную секцию обработки события для подлежащего обнаружению события, если соответствующая программная секция обработки предопределенного события существует, то тогда программная секция обработки предопределенного события может быть заменена введенной настраиваемой пользователем программной секцией обработки события.

На этапе S105 возникновение подлежащих обнаружению событий обнаруживают в программируемом логическом контроллере.

На этапе S107 обнаруженное событие добавляют в очередь событий программируемого логического контроллера. В соответствии с вариантом осуществления, если обнаруженное событие уже имеется в данной очереди событий, то тогда это событие может быть отброшено. Однако настоящее изобретение не ограничивается этим. В ином случае дублирующее событие также может быть записано в очередь событий.

На этапе S109 событие извлекают из очереди событий.

На этапе S111 исполняют программную секцию обработки события, соответствующую извлеченному событию, которая хранится в программируемом логическом контроллере.

Фигура 2 является структурной схемой, иллюстрирующей способ событийно-управляемого программирования программируемого логического контроллера в соответствии с другим вариантом осуществления настоящего изобретения. Разница между данным вариантом осуществления и вариантом осуществления на Фигуре 1 в основном состоит в том, что множество очередей событий с разными уровнями приоритета используются для управления очередью.

Ссылаясь на Фигуру 2, на этапе 201, по меньшей мере одно подлежащее обнаружению событие и его уровень приоритета регистрируют в программируемом логическом контроллере.

На этапе S203, соответствующую программную секцию обработки события для каждого обнаруживаемого события сохраняют в программируемом логическом контроллере.

На этапе S205, возникновение подлежащих обнаружению событий обнаруживают в программируемом логическом контроллере.

На этапе S207 обнаруженное событие добавляют в очередь событий в соответствии с его уровнем приоритета.

На этапе S209 событие извлекают из очереди событий в соответствии с уровнем приоритета, когда очередь событий с более высоким уровнем приоритета не пуста, событие преимущественно извлекают из очереди событий с более высоким уровнем приоритета. То есть очередь событий с наивысшим уровнем приоритета обрабатывается первой, затем обрабатываются события со вторым после наивысшего уровня приоритета, и так далее.

На этапе S211 программную секцию обработки события, хранящуюся в программируемом логическом контроллере, соответствующую извлеченному событию, исполняют.

Фигура 3 является функциональной схемой программируемого логического контроллера 100, основанного на варианте осуществления настоящего изобретения.

Со ссылкой на Фигуру 3, программируемый логический контроллер 100 содержит детектор 101 событий, программную память 103, диспетчер 105 событий, обработчик 107 событий и очередь событий, используемую для хранения обрабатываемых событий.

Детектор 101 событий регистрирует, по меньшей мере одно подлежащее обнаружению событие, обнаруживает возникновение подлежащего обнаружению события и добавляет обнаруженное событие в очередь событий. В соответствии вариантом осуществления событие, существующее в очереди событий, может быть отброшено или записано в двух экземплярах. В соответствии с вариантом осуществления обнаруживаемые события могут содержать предопределенные события и настраиваемые пользователем события, вводимые пользователем. Настраиваемое пользователем событие может быть логической комбинацией предопределенных событий или может быть задано самим пользователем в соответствии с фактическими потребностями.

Программная память 103 сохраняет программные секции обработки событий, соответствующие подлежащим обнаружению событиям соответственно. В соответствии с вариантом осуществления программные секции обработки событий могут содержать программные секции обработки предопределенных событий и программную секцию обработки настраиваемого пользователем события, а соответствующая программная секция обработки предопределенного события может быть заменена программной секцией обработки настраиваемого пользователем события.

Диспетчер 105 событий извлекает событие из очереди событий и отправляет это событие обработчику 107 событий.

Обработчик 107 событий принимает событие, отправленное диспетчером 105 событий, и исполняет программную секцию обработки события, хранящуюся в программной памяти 103, соответствующую этому событию.

Фигура 4 является функциональной схемой программируемого логического контроллера 200, основанного на другом варианте осуществления настоящего изобретения. Разница между этим вариантом осуществления и вариантом осуществления на Фигуре 3 состоит в том, что множество очередей событий с разными уровнями приоритета используются для управления очередью.

Ссылаясь на Фигуру 4, программируемый логический контроллер 200 содержит детектор 201 событий, программную память 203, диспетчер 205 событий, обработчик 207 событий, и множество очередей событий с неодинаковыми уровнями приоритета, используемых для хранения подлежащего обработке события (к примеру, очередь событий 1 уровня приоритета, очередь событий 2 уровня приоритета, и очередь событий 3 уровня приоритета).

Детектор 201 событий регистрирует, по меньшей мере одно событие и его уровень приоритета обнаруживает возникновение подлежащего обнаружению события и добавляет обнаруженное событие в очередь событий в соответствии с уровнем приоритета данного события.

Программная память 203 сохраняет программные секции обработки событий, соответствующие обнаруживаемым событиям соответственно.

Диспетчер 205 событий извлекает событие из очереди событий в соответствии с уровнем приоритета и отправляет это событие обработчику 207 событий, когда очередь событий с более высоким приоритетом не пуста, событие преимущественно извлекают из очереди событий с более высоким уровнем приоритета. А именно очередь событий с наивысшим уровнем приоритета обрабатывается первой, затем обрабатывается событие со вторым наивысшим уровнем приоритета, и так далее.

Обработчик 207 событий принимает событие, отправленное диспетчером 205 событий, и исполняет программную секцию обработки события, хранящуюся в программной памяти 203, соответствующую данному событию.

Хотя данное изобретение было показано и описано со ссылкой на определенные варианты его осуществления, специалистам в данной области техники будет понятно, что различные изменения и модификации могут быть сделаны в нем, не покидая фактический объем изобретения.

1. Способ событийно-управляемого программирования программируемого логического контроллера, содержащий:

регистрацию по меньшей мере одного события;

сохранение по меньшей мере одной программной секции обработки события, соответствующей по меньшей мере одному событию;

обнаружение возникновения по меньшей мере одного события;

добавление по меньшей мере одного события в очередь событий;

извлечение события из очереди событий; и

исполнение программной секции обработки события, соответствующей извлеченному событию,

причем регистрация по меньшей мере одного события включает в себя регистрацию события, выбранного из по меньшей мере одного предопределенного события пользователем, и регистрацию настраиваемого пользователем события, вводимого пользователем, и

причем регистрация настраиваемого пользователем события включает в себя регистрацию логической комбинации множества предопределенных событий, включая упомянутое по меньшей мере одно предопределенное событие.

2. Способ по п. 1, в котором регистрация по меньшей мере одного предопределенного события включает в себя регистрацию по меньшей мере одного из события ввода/вывода, события передачи данных, диагностического события, события системной ошибки, события бездействия системы.

3. Способ по п. 1, в котором сохранение по меньшей мере одной программной секции обработки события включает в себя сохранение программной секции обработки предопределенного события.

4. Способ по п. 3, в котором сохранение по меньшей мере одной программной секции обработки события включает в себя сохранение вводимой пользователем программной секции обработки настраиваемого пользователем события.

5. Способ по п. 4, дополнительно содержащий замену соответствующей программной секции обработки предопределенного события программной секцией обработки настраиваемого пользователем события.

6. Способ по п. 1, в котором регистрация по меньшей мере одного события включает в себя регистрацию по меньшей мере одного уровня приоритета по меньшей мере одного события, причем добавление по меньшей мере одного события в очередь событий включает в себя добавление по меньшей мере одного события в по меньшей мере одну из множества очередей событий на основании уровня приоритета события, и при этом извлечение события из очереди событий включает в себя извлечение события из очереди событий на основании очереди событий, имеющей более высокий уровень приоритета, чем другие заполненные очереди событий из множества очередей событий.

7. Способ по п. 1, в котором добавление обнаруженного события в очередь событий включает в себя отбрасывание обнаруженного события, если обнаруженное событие уже имеется в очереди событий.

8. Программируемый логический контроллер, содержащий:

очередь событий, выполненную с возможностью сохранения событий;

детектор событий, выполненный с возможностью:

регистрации по меньшей мере одного события;

обнаружения возникновения по меньшей мере одного события; и

добавления по меньшей мере одного события в очередь событий;

программную память, выполненную с возможностью сохранения по меньшей мере одной секции обработчика событий, соответствующей по меньшей мере одному событию;

диспетчер событий, выполненный с возможностью извлечения события из очереди событий; и

обработчик событий, выполненный с возможностью исполнения программной секции обработки события, соответствующей извлеченному событию,

причем по меньшей мере одно событие включает в себя событие, выбранное пользователем из по меньшей мере одного предопределенного события, и настраиваемое пользователем событие, вводимое пользователем, и

причем настраиваемое пользователем событие включает в себя логическую комбинацию множества предопределенных событий, включая упомянутое по меньшей мере одно предопределенное событие.

9. Программируемый логический контроллер по п. 8, в котором по меньшей мере одно предопределенное событие включает в себя по меньшей мере одно из события ввода/вывода, события передачи данных, диагностического события, события системной ошибки, события бездействия системы.

10. Программируемый логический контроллер по п. 8, в котором по меньшей мере одна программная секция обработки события включает в себя программную секцию обработки предопределенного события.

11. Программируемый логический контроллер по п. 10, в котором по меньшей мере одна программная секция обработки события включает в себя вводимую пользователем программную секцию обработки настраиваемого пользователем события.

12. Программируемый логический контроллер по п. 11, в котором соответствующая программная секция обработки предопределенного события заменяется программной секцией обработки настраиваемого пользователем события в программной памяти.

13. Программируемый логический контроллер по п. 8, в котором очередь событий включает в себя множество очередей событий, имеющих множество разных уровней приоритета, причем детектор событий выполнен с возможностью регистрировать по меньшей мере один уровень приоритета по меньшей мере одного события и добавлять по меньшей мере одно событие в по меньшей мере одну очередь событий из множества очередей событий на основании по меньшей мере одного уровня приоритета по меньшей мер, одного события, и при этом диспетчер событий выполнен с возможностью извлекать событие из очереди событий на основании очереди событий, имеющей более высокий уровень приоритета, чем другие очереди событий из множества очередей событий.

14. Программируемый логический контроллер по п. 8, в котором детектор событий дополнительно выполнен с возможностью отбрасывать по меньшей мере одно событие, если упомянутое по меньшей мере одно событие уже имеется в очереди событий.