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

Изобретение относится к системам программного управления. Технический результат заключается в автоматическом обеспечении пользовательского интерфейса на основании информации о том, выполняет ли программируемый логический контроллер управляющую программу. Система для автоматического конфигурирования пользовательского интерфейса в программируемый логический контроллер содержит рендерер пользовательских интерфейсов, приспособленный, чтобы вызывать воспроизведение множества отдельных пользовательских интерфейсов. Каждый пользовательский интерфейс приспособлен, чтобы конфигурировать соответствующее приложение программного обеспечения. Рендерер пользовательских интерфейсов приспособлен, чтобы автоматически обеспечивать первый пользовательский интерфейс, если упомянутый PLC исполняет управляющую программу, и второй пользовательский интерфейс, если упомянутый PLC не исполняет упомянутую управляющую программу. Первый пользовательский интерфейс приспособлен, чтобы облегчать отладку выбранного приложения программного обеспечения, и для приема ввода отладки от пользователя. Второй пользовательский интерфейс приспособлен, чтобы обеспечивать текущий набор параметров конфигурации, и для приема ввода конфигурации от пользователя. В ответ на ввод конфигурации второй пользовательский интерфейс приспособлен, чтобы изменять параметры конфигурации из текущего набора параметров конфигурации. 4 н. и 19 з.п. ф-лы, 20 ил., 16 табл.

 

Перекрестные ссылки на связанные заявки

Настоящая заявка испрашивает приоритет предварительной патентной заявки США № 60/839879 (дело поверенного № 2006P17472US (1009-204), поданной 24 августа 2006 года, которая включена в настоящий документ посредством ссылки во всей своей полноте.

Предшествующий уровень техники

Системы управления могут использоваться для того, чтобы контролировать параметры и/или управлять устройствами. В системах управления один или более датчиков могут быть коммуникативно связаны с программируемым логическим контроллером (PLC) через один или более модулей ввода/вывода (I/O). Через I/O модуль PLC может управлять одним или более устройствами, такими как реостат, выключатель, контроллер последовательности (секвенсор), контроллер шагового двигателя, контроллер сервомотора, контроллер исполнительного элемента, привод шагового двигателя, привод сервомотора, шаговый двигатель, серводвигатель, линейный двигатель, двигатель, привод с шариковой винтовой парой, сервоклапан, гидравлический исполнительный элемент и/или пневматический клапан и т.д. Конфигурирование PLC, компонентов системы и/или программно-аппаратных средств или программного обеспечения, связанных с ними, может быть важными действиями относительно контроля датчиков и/или управления устройствами.

Сущность изобретения

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

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

Краткое описание чертежей

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

фиг.1 является блок-схемой образцового варианта осуществления системы 1000;

фиг.2 - примерный пользовательский интерфейс;

фиг.3 - примерный пользовательский интерфейс;

фиг.4 - примерный пользовательский интерфейс;

фиг.5 - примерный набор пользовательских интерфейсов 5000;

фиг.6 - примерный пользовательский интерфейс;

фиг.7 - примерный пользовательский интерфейс;

фиг.8 - примерный пользовательский интерфейс;

фиг.9 - примерный набор пользовательских интерфейсов 9000;

фиг.10 - примерный пользовательский интерфейс;

фиг.11 - примерный пользовательский интерфейс;

фиг.12 - примерный пользовательский интерфейс;

фиг.13 - примерный пользовательский интерфейс;

фиг.14 - примерный пользовательский интерфейс;

фиг.15 - блок-схема примерной системы 15000;

фиг.16 - примерный пользовательский интерфейс;

фиг.17 - примерный пользовательский интерфейс;

фиг.18 - блок-схема примерной системы 18000;

фиг.19 - блок-схема примерного варианта осуществления способа 19000; и

фиг.20 - блок-схема примерного варианта осуществления информационного устройства 20000.

Детальное описание

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

На фиг.1 показана блок-схема примерного варианта осуществления системы 1000, которая может включать в себя PLC 1100. PLC 1100 может содержать схему 1120. Схема 1120 может быть приспособлена, чтобы автоматически выполнять любой метод или действие, описанные здесь. Например, схема 1120 может быть приспособлена, чтобы коммуникативно связывать PLC 1100 с первой цепочкой модулей 1040, которая может включать в себя первый модуль 1200, второй модуль 1300 и третий модуль 1400. Первый модуль 1200, второй модуль 1300 и третий модуль 1400 могут быть коммуникативно связаны в последовательной конфигурации. Каждая смежная пара первой цепочки модулей 1040, таких как первый модуль 1200 и второй модуль 1300, может быть коммуникативно связана последовательно. Каждый из первого модуля 1200, второго модуля 1300 и третьего модуля 1400 может быть и/или может упоминаться как модуль ввода/вывода (I/O) и/или модуль расширения (I/O), каждый из которых может быть коммуникативно связан с соответствующим множеством датчиков, таких как первый датчик 1240, второй датчик 1340 и третий датчик 1440. Каждый из первого модуля 1200, второго модуля 1300 и третьего модуля 1400 может быть коммуникативно связан с соответствующим множеством исполнительных элементов, таких как первый исполнительный элемент 1280, второй исполнительный элемент 1380 и третий исполнительный элемент 1480. Каждый из первого модуля 1200, второго модуля 1300 и/или третьего модуля 1400 может быть приспособлен для осуществления связи с PLC 1100 в жестком реальном времени.

PLC 1100 может быть коммуникативно связан с второй цепочкой модулей 1080, которая может включать в себя четвертый модуль 1500, пятый модуль 1600 и шестой модуль 1700, которые могут быть коммуникативно связаны в последовательной конфигурации. Каждая смежная пара второй цепочки модулей 1080, таких как четвертый модуль 1500 и пятый модуль 1600, может быть коммуникативно связана последовательно. Четвертый модуль 1500, пятый модуль 1600 и шестой модуль 1700 могут быть и/или могут упоминаться как модули коммуникаций и/или буферные модули, каждый из которых может быть коммуникативно связан с множеством информационных устройств, таких как информационное устройство 1540 (проиллюстрированное как коммуникативно связанное с четвертым модулем 1500).

Программируемые логические контроллеры могут использоваться для того, чтобы контролировать параметры и/или управлять устройствами. Определенные примерные системы могут включать в себя один или более датчиков, таких как первый датчик 1240, второй датчик 1340 и третий датчик 1440, которые могут быть коммуникативно связаны с PLC 1100. Определенные примерные системы могут включать в себя устройства, управляемые PLC, такие как первый исполнительный элемент 1280, второй исполнительный элемент 1380 и третий исполнительный элемент 1480. В некоторых примерных вариантах осуществления PLC 1100 может осуществлять связь с датчиками и/или управляемыми устройствами через одну или более шин ввода/вывода (I/O).

В определенных примерных вариантах осуществления система 1000 и/или устройство, коммуникативно связанное с ней, может включать в себя схему 1120 и/или рендерер 1140 пользовательских интерфейсов. Схема 1120 и/или рендерер 1140 пользовательских интерфейсов может быть приспособлен, чтобы вызывать представление множества отдельных пользовательских интерфейсов. Каждый пользовательский интерфейс из множества отдельных пользовательских интерфейсов может быть приспособлен, чтобы конфигурировать соответствующее приложение программного обеспечения из множества приложений программного обеспечения, связанных с управлением и/или работой программируемого логического контроллера (PLC). Рендерер 1140 пользовательских интерфейсов может быть приспособлен для изменения, по меньшей мере, одно из множества различных пользовательских интерфейсов в ответ на автоматическое обнаружение прав доступа, связанных с пользователем. По меньшей мере, один из множества различных пользовательских интерфейсов может быть приспособлен, чтобы вызвать автоматическое сравнение, по меньшей мере, одного значения принятого ввода конфигурирования с предопределенным значением и/или предопределенным диапазоном значений. Рендерер 1140 пользовательских интерфейсов может быть приспособлен, чтобы первоначально воспроизводить один из множества пользовательских интерфейсов в ответ на помещение соответствующей иконки иерархически организованного дерева инструкций вблизи от и/или в редакторе и/или воспроизведенной иконки редактора. Рендерер 1140 пользовательских интерфейсов может быть приспособлен, чтобы обеспечить последующее воспроизведение пользовательского интерфейса, который содержит значения, модифицированные посредством ввода конфигурирования.

По меньшей мере, один из множества отдельных пользовательских интерфейсов может быть приспособлен, чтобы вызвать автоматическую генерацию пропорциональной/ интегральной/производной (PID) процедуры управления. Пропорциональная/интегральная/производная (PID) процедура управления может быть приспособлена для исполнения посредством PLC 1100. По меньшей мере, один из множества отдельных пользовательских интерфейсов может быть приспособлен, чтобы вызвать автоматическую генерацию быстродействующей процедуры подсчета и/или быстродействующей процедуры управления. Быстродействующая процедура подсчета и/или быстродействующая процедура управления могут быть приспособлены для исполнения посредством PLC 1100. По меньшей мере, один из множества отдельных пользовательских интерфейсов может быть приспособлен для того, чтобы вызывать автоматическое конфигурирование одного или более не-PLC устройств, таких как первый модуль 1200, второй модуль 1300, третий модуль 1400, четвертый модуль 1500, пятый модуль 1600 и шестой модуль 1700, один или более из которых могут быть коммуникативно связаны с PLC 1100. Один или более из первого модуля 1200, второго модуля 1300, третьего модуля 1400, четвертого модуля 1500, пятого модуля 1600 и шестого модуля 1700 могут быть модулем коммуникации. По меньшей мере, один из множества различных пользовательских интерфейсов может быть приспособлен, чтобы вызвать автоматическую генерацию сообщения, указывающего на автоматически определяемые различия между первой версией управляющей программы и второй версией управляющей программы PLC.

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

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

В некоторых примерных вариантах осуществлениях один или более из первого модуля 1200, второго модуля 1300, третьего модуля 1400, четвертого модуля 1500, пятого модуля 1600 и шестого модуля 1700 могут быть приспособлены, чтобы конфигурироваться через один из множества отдельных пользовательских интерфейсов.

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

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

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

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

Некоторые примерные варианты осуществления могут быть приспособлены для осуществления связи с одним или более не-PLC устройствами, используемыми для поддержки связанных задач автоматизации. Некоторые примерные варианты осуществления могут поддерживать специализированные протоколы связи. Например, каждый из автоматических измерителей веса, передатчиков температуры, дифференциальных передатчиков, струйных принтеров и/или систем наблюдения может осуществлять связь с использованием определенного специализированного протокола связи. Для того чтобы осуществлять связь с устройствами этого типа, PLC может быть приспособлен для осуществления связи с использованием каждого специализированного протокола. Некоторые примерные варианты осуществления могут поддерживать передачи протокола Freeport. С использованием Freeport передач приложение PLC клиента может быть разработано для управления передачами Универсального асинхронного приемника-передатчика (UART). В некоторых примерных вариантах осуществлениях UART может конфигурироваться и/или управляться совместимым образом со специализированным протоколом связи уникального устройства.

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

Прикладные управляющие программы, созданные потребителем, могут быть относительно сложными. Настройка конфигурации в PLC может быть относительно сложной. Программное обеспечение станции инженерной разработки (ES), такое как Step-7 или Step-7 Microwin и/или рендерер пользовательских интерфейсов, может быть приспособлено для обеспечения представления и интерфейса потребителю в PLC. Программное обеспечение ES может быть адаптировано для пользователя, чтобы конфигурировать PLC и/или создавать специализированную прикладную программу.

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

Для некоторых задач управления потребитель может конфигурировать определенные переменные, такие как показанные ниже в табл.1, определенным образом посредством кода приложения. Как только конфигурирование завершено, потребитель может вставить программные инструкции в код приложения, чтобы начать одну или более желательных операций. Для Freeport инструкции могут быть названы как XMT (передать) и RCV (принять).

Таблица 1
Ячейка
памяти
Поле формат тип Описание
SMB1 Биты статуса
Freeport
Биты Выход Индикаторы потенциальных
ошибок Freeport
SMB2 Принятый
Символ
Байт Выход Содержит каждый символ, принятый с Порта 0 или Порта 1 при Freeport коммуникации
SM3.0 Бит четности
Freeport
Бит Выход Обнаружена ошибка четности
с Порта 0 или Порта 1
SM4.0 Бит
переполнения
Бит Выход Этот бит разрешен при переполнении очереди прерывания коммуникаций
SMB30 Регистр
управления
Биты Вход Регистры управления
Freeport для Порта 0
SMB86 Принять
статус
сообщения
Биты Выход Принять статус сообщения
SMB87 Принять
управление
сообщения
Биты Вход Принять управление сообщения
SMB88 Начальный
Символ
Байт Вход Начало символа сообщения
SMB89 Конечный
Символ
Байт Вход Конец символа сообщения
SMW90 Время свободной
Линии
Слово Вход Время свободной линии в мс.
Первый символ, принятый после истечения времени свободной линии, есть начало
нового сообщения.
SMW92 Межсимвольное
Время
Слово Вход Значение таймаута в мс межсимвольного/временного таймера. Если период таймера истек, принятое сообщение завершено.
SMW94 Максимум
символов
Слово Вход Максимальное число символов, подлежащих приему. Этот диапазон должен быть установлен на ожидаемый размер буфера.
SMB130 Регистр
управления
Биты Вход Регистры управления
Freeport для Порта 0
SMB186 Принять
статус
сообщения
Биты Выход Принять статус сообщения
SMB187 Принять
управление
сообщения
Биты Вход Принять управление сообщения
SMB188 Начальный
Символ
Байт Вход Начало символа сообщения
SMB189 Конечный
Символ
Байт Вход Конец символа сообщения
SMW190 Время свободной
Линии
Слово Вход Время свободной линии в мс.
Первый символ, принятый после истечения времени свободной линии, есть начало
нового сообщения.
SMW192 Межсимвольное
Время
Слово Вход Значение таймаута в мс межсимвольного/временного таймера. Если период таймера истек, принятое сообщение завершено.
SMW194 Максимум
символов
Слово Вход Максимальное число символов, подлежащих приему. Этот диапазон должен быть установлен на ожидаемый размер буфера.

Для других задач управления способности конфигурирования могут быть предоставлены в форме мастеров (то есть графических пользовательских интерфейсов). Мастера могут быть приспособлены, чтобы помогать потребителю конфигурировать приложение. Например, часть PID мастера проиллюстрирована на фиг.2 и фиг.3.

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

На фиг.4 показан примерный пользовательский интерфейс, который может включать в себя дерево 3100 инструкций. В результате, когда инструкция сброшена из ES дерева инструкции в выбранный редактор, такой как редактор 3200, конфигурация может быть невидимой. Конфигурация может быть доступной отдельно из мастера.

В некоторых примерных вариантах осуществления прикладное программирование и конфигурирование сложных прикладных задач могут быть упрощены в относительных членах. Сложные прикладные задачи могут реализовываться и конфигурироваться через Smart-Clients («интеллектуальные клиенты»), и конфигурация может быть реализована через инструкции.

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

На фиг.5 показан примерный набор пользовательских интерфейсов 5000, который может включать в себя дерево 5100 инструкций и редактор 5200. Через дерево 5100 инструкций и/или редактор 5200 предопределенный набор различных пользовательских интерфейсов, таких как первый пользовательский интерфейс 5300, второй пользовательский интерфейс 5400 и третий пользовательский интерфейс 5500, может быть предоставлен и/или воспроизведен пользователю. Открытие экземпляра инструкции может быть контекстно-зависимым. Когда выполняется двойной щелчок мышью на инструкции, при выполнении редактирования программы контекст конфигурации может быть активизирован, как проиллюстрировано на фиг.5. В ответ на пользовательские вводы, предоставленные через первый пользовательский интерфейс 5300, второй пользовательский интерфейс 5400 и третий пользовательский интерфейс 5500, контекст дерева инструкций может изменяться, что может привести к одному или более видимым или невидимым изменениям дерева 5100 инструкций.

На фиг.6 показан примерный пользовательский интерфейс, который соответствует первому пользовательскому интерфейсу 5300 по фиг.5. На фиг.7 показан примерный пользовательский интерфейс, который соответствует первому пользовательскому интерфейсу 5400 по фиг.5. На фиг.8 показан примерный пользовательский интерфейс, который соответствует первому пользовательскому интерфейсу 5500 по фиг.5.

На фиг.9 показан примерный набор пользовательских интерфейсов 9000, который может включать в себя первый пользовательский интерфейс 9000 и второй пользовательский интерфейс 9200. Пользовательский интерфейс 9000 может включать в себя иконку 9100 инструкции. В некоторых примерных вариантах осуществлениях, при двойном щелчке на иконке 9100 инструкции, при выполнении отладки программы, отображаемый контекст может отличаться от того, когда не выполняется отладка. На фиг.10 показан примерный пользовательский интерфейс, который соответствует пользовательскому интерфейсу 9100 по фиг.9, который может иллюстрировать пользовательский интерфейс, предоставленный во время отладки. Пользовательский интерфейс 9100 может включать в себя диаграмму тренда, указывающую на выполнение одной или более прикладных программ, относящихся к отладке.

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

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

Smart-Client настройка может определить средство для настройки одной или более стандартных функциональных возможностей путем добавления так называемых Smart-Client (интеллектуальных клиентов) к системе. С точки зрения пользователя эти Smart-Clients могут быть квалифицированы любым из следующего: Smart-Clients могут быть объектами, которые увеличивают стандартные функциональные возможности, предоставленные Step 7+; и/или Smart-Clients могут быть объектами, которые предоставляют упрощенный пользовательский интерфейс потребителю.

С точки зрения системы Smart-Clients могут быть расширениями стандартных Step 7+ объектов, которые обеспечивают дополнительные функциональные возможности. Smart-Client настройка может определить коллекцию правил и/или рекомендаций, которые могут быть приспособлены, чтобы позволить разработчику добавить дополнительные функциональные возможности системы. Примеры таких дополнительных функциональных возможностей могут включать в себя следующее:

группировка специализированных последовательностей конфигурации, таких как PID контроллеры, высокоскоростные счетчики или модули аппаратных средств;

улучшенное воспроизведение и представление, такое как графическое отображение настроек контроллера вместо представления таблицы DB значений реализации; и/или

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

В языковых редакторах Smart-Clients могут использоваться в ступенчатом или сетевом программировании. Некоторые примерные варианты осуществления могут использовать вызов в блок, который содержит функциональные возможности Smart-Client. Эти случаи могут использовать:

реализацию нового экземпляра Smart-Client;

модификацию экземпляра конфигурации Smart-Client; и/или

визуализацию экземпляра онлайнового состояния Smart-Client и т.д.

Реализация таких Smart-Clients может включать в себя:

перетаскивание Smart-Client из списка инструкций или карты задач в ступень или сеть; и/или

заполнение в любой конфигурации или параметризации страницы свойств и т.д.

Это может привести к вызову (или встроенному коду) и дальнейшим данным или объектам (блокам), содержащим примерную операцию для этого экземпляра Smart-Clients. Следующая фигура иллюстрирует примерный вариант осуществления процедуры, PID контроллер, обеспеченный как таковой, может выполнять Smart-Client, будучи реализованным.

Модификация экземпляра Smart-Client может включать в себя один или более следующих шагов:

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

вместо запуска редактора блока Smart-Client может быть вызван для повторного выполнения конфигурирования и т.д.

Это может привести к модификации на вызове или других данных или объектах, представляющих экземпляр по фиг.5.

Визуализация экземпляра Smart-Client может включать в себя один или больше следующих шагов:

рассматриваемый экземпляр может быть открыт для визуализации (соответствующим действием); и/или

вместо запуска редактора блока Smart-Client может выполнить визуализацию своего конкретного экземпляра и т.д.

Это может привести к конкретной функциональной возможности визуализации Smart-Client, выполняемой, как проиллюстрировано на фиг.9.

Будет ли конкретный экземпляр открыт для онлайновой или офлайновой визуализации, может быть определено текущим состоянием редактора. Если редактор находится в онлайновом состоянии при открытии экземпляра для визуализации, Smart-Client может запрашиваться для проведения онлайновой визуализации. Если редактор находится в офлайновом состоянии, может инициироваться офлайновая визуализация.

В редакторах конфигурирования аппаратных средств Smart-Clients могут использоваться, чтобы конфигурировать функции встроенного центрального процессора (CPU), такие как конфигурация высокоскоростного счетчика или внешние модули аппаратных средств, такие как Интернет-модули. Некоторые примерные варианты осуществления могут конфигурировать модули аппаратных средств, которые могли бы быть слишком сложными, чтобы поддерживаться в соответствии с описанием(ями) ведущего устройства (MDD) или только конфигурациями описания типовой станции (GSD). Описание(я) ведущего устройства и описание типовой станции могут описывать способности индивидуального устройства аппаратных средств.

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

Smart-Client может предложить программную поддержку разработчику. Некоторые примерные варианты осуществления могут использовать одно или более из следующего:

создание экземпляра;

модификация экземпляра и/или

визуализация экземпляра (онлайн) и т.д.

Создание экземпляра Smart-Client может выполняться перетаскиванием из списка модулей (карта задачи, показывающая доступные модули) в панель конфигурации аппаратных средств. Некоторые примерные варианты осуществления могут включать в себя страницы свойств, приспособленные для определения параметризации модуля. Некоторые примерные варианты осуществления могут обеспечить параметризацию устройства для конкретного устройства или модуля.

Модификация экземпляров Smart-Client может включать в себя один или более следующих шагов:

экземпляр модуля может быть открыт (двойным щелчком, или контекстным меню, или соответствующим действием); и/или

Smart-Client может быть вызван для повторного запуска конфигурирования модуля/параметризации и т.д.

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

рассматриваемый экземпляр может быть открыт (двойным щелчком, или контекстным меню, или соответствующим действием) и/или

Smart-Client может быть вызван для выполнения визуализации его конкретного модуля и т.д.

Некоторые примерные варианты осуществления могут обеспечить определенные функциональные возможности визуализации Smart-Client.

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

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

Некоторые примерные варианты осуществления могут быть объединены в платформу дополнением ввода главного меню под названием "Инструменты" или "Мастера". В некоторых примерных вариантах осуществления меню может включать в себя список в текущее время инсталлированных Smart-Clients. После активации некоторые примерные Smart-Clients могут определять свой операционный контекст.

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

Объекты доступа и доступ к сервисам для сервисов, относящихся к Step+ проекту.

Эти сервисы могут включать в себя одно или более из следующего:

способность программно создавать определенные типы блоков (OB, DB, системный блок данных (SDB), FC, функциональный блок (FB);

способность программно удалять определенные типы блоков (OB, DB, SDB, FC, FB);

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

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

способность программно генерировать и управлять таблицей переменных; и/или

определенные типы объекта, представленные в объектном фрейме, могут быть доступными и т.д.

Относительно специализированных клиентских объектов может быть желательным, чтобы связанные с языком Smart-Clients имели сходное представление и вели себя подобно типичным блочным инструкциям как в дереве инструкций, так и в редакторе.

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

Относительно кодирования инструкции и генерации кода может быть желательно, чтобы связанные с языком Smart-Clients вели себя как унаследованные блочные инструкции. Однако код, который генерируется для этих инструкций, может быть встроенным кодом и/или кодом, содержащимся в FC или FB. Например, PID Smart инструкция может создать циклическое выполнение ОВ, которое может исполнить фактическую PID инструкцию. Дополнительный код планирования может быть добавлен, чтобы отделить исполнение различных PID инструкций по различным PLC просмотрам.

Smart-Clients могут быть в состоянии постоянно хранить информацию, формируемую потребителем. Настроенные объекты могут объединяться с другими стандартными сервисами, такими как перекрестная ссылка, печать, отмена, выполнить повторно, найти/заменить и т.д. Настроенные клиенты могут быть способными выполнять офлайновые и онлайновые считывания и записи элементов DB и IDB. В настоящее время в STEP 7 названия символа для определенных потребителем функций (FB, FC) могут быть уникальными. Это также включает блоки данных (DB). В некоторых примерных вариантах осуществлениях символические ссылки на FC/FB и DB могут иметь то же самое имя. Это может позволить любым DB, используемым внутренним образом в пределах FC или FB, быть визуально ассоциированными, так как символическая ссылка может быть точно той же самой. Связанные с языком Smart Clients могут появляться в дереве инструкций точно так же, как «родные» (собственные) инструкции. Однако перетаскивание этих инструкций может привести к тому, что FC или FB реализуются в проект. Когда используются FC или FB, перетаскивание инструкции может создать уникальное имя экземпляра. Дополнительно, проектировщик Smart Client может быть адаптирован для потребителя, чтобы определять настроенное имя.

Выгрузка может повторно создавать объекты Smart Clients. После выгрузки в новый проект Smart Clients могут повторно конфигурироваться посредством их ассоциированных страниц свойств. Экспортирование и последующее импортирование может также повторно создавать все объекты Smart Clients. После импортирования в новый проект Smart Clients могут повторно конфигурироваться посредством их ассоциированных страниц свойств. В некоторых примерных вариантах осуществления визуальное представление связанных с языком Smart Clients может отобразить информацию, конфигурируемую посредством страниц свойств. Некоторая важная информация может быть отображена без необходимости создания реализации страниц свойств. Некоторые примерные варианты осуществления могут включать в себя информацию внутри блочной инструкции или внутри контекстного окна указателя (тултипа) специализированного типа. Smart Client может дополнить платформу и/или другие контекстные меню редактора.

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

Smart Clients могут поддерживать операции вырезать/копировать/вставить (CCP). Когда эти операции выполняются на Smart Clients, определенными связанными проектными компонентами Smart Clients можно управлять. Проектные компоненты могут изменяться в зависимости от Smart Clients. Они могут быть встроенным кодом, FC или FB. Операции «вырезать» могут удалить Smart Client и его ассоциированные компоненты. Однако может быть более одного экземпляра Smart Client, который также имеет ссылки на существующие компоненты. Операции «копировать» и «вставить» могут изменяться в зависимости от Smart Client. Внутритекстовый код может копироваться. FC и FB могут копировать вызов в блок. Smart Clients могут поддерживать операции «отменить» и «повторно выполнить». Когда эти операции выполняются на связанных с языком Smart Clients, ассоциированные проектные компоненты могут быть добавлены и/или удалены. Операции «отменить» и «повторно выполнить» могут поддерживаться как результат модификаций существующей конфигурации Smart Client. Модификации экземпляра могут быть отменяемыми событиями. Smart Clients могут поддерживать интернационализацию для релевантных компонентов пользовательского интерфейса (диалоги, сообщения, помощь...). Некоторые примерные варианты осуществления могут расширить интерфейс программного обеспечения для удовлетворения будущих потребностей. Совместимость с существующими клиентами может поддерживаться.

На фиг.13 показан примерный пользовательский интерфейс, который может включать в себя редактора 13100 программы с картой задачи, включающей в себя дерево 13200 инструкций редактора. Карта задачи редактора может включать в себя поддерживаемые объекты. Инструкции могут быть упорядочены и распределены независимо от того, как инструкции реализованы. Инструкции, осуществленные как встроенные инструкции MC7, FC, FB, SFC, SFC и/или Smart Clients, могут представляться как нормальные инструкции. Smart Clients могут быть визуально отличными. Такое различие может быть использовано, чтобы визуально идентифицировать инструкции как в дереве, так и в редакторе, который мог бы использовать дополнительное конфигурирование, выполняемое посредством некоторого типа специального метода "направляемого конфигурирования".

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

Объект карты задачи Smart Client может быть создан при создании карты задачи. Эти объекты карты задачи Smart Client могут включать в себя метаданные, которые описывают характеристики инструкции. Некоторые примерные варианты осуществления могут не использовать инструкции, добавленные в течение времени выполнения.

Связанные с языком Smart Clients могут предоставить следующую информацию для редактора (или любую другую бизнес-логику размещения) (см. табл.2):

Таблица 2
Элемент Описание
Тип Может идентифицировать ввод как Smart Client
Подтип Может идентифицировать тип Smart Client (PID,
HSC, Edge,…)
Блочный
Тип
Может идентифицировать тип «блока» (для связанных
с языком Smart Clients)
Узел Может идентифицировать пространство имен узла, который будет ответственным за создание Smart Client (то есть ассоциированный изготовитель Smart Client)
Иконка карты задачи Путь к иконке инструкции для представления в папке карты задачи
Иконка
инструкции
Путь к иконке инструкции для представления экземпляра в редакторе
Иконка
инструкции
онлайн
Путь к иконке инструкции для онлайнового представления в редакторе (если имеется)

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

Однако методология, используемая для создания нового Smart Client, может быть абстрагированной от редактора. Редактор может не иметь никакого явного знания или привязки относительно типа Smart Client. Это знание может только быть известным классом или подклассом, который имеет ассоциацию с Smart Client.

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

Шаблоны создания изготовителя могут абстрагировать создание объектов на интерфейс или подкласс, который понимает класс, который может быть создан. Некоторые примерные варианты осуществления могут позволять редактору вызывать единственный метод изготовителя, который может быть ответственным за создание экземпляров различных типов Smart Clients.

На фиг.14 показан примерный пользовательский интерфейс, который может включать в себя дерево 14100 инструкций. Иконка, такая как иконка PID 14200, может перетаскиваться в пользовательском интерфейсе пользователем в редактор 14300, который может вызвать генерацию одного или более пользовательских интерфейсов, связанных с конфигурированием управления PID.

Вставка Smart Client в редактор может произойти множеством способов. После помещения в редактора редактор может создать "новый" экземпляр Smart Client с использованием заводской поставки. Некоторые примерные варианты осуществления могут вызывать соответствующий заводской поставке метод Createlnstance (создать экземпляр). Соответствующий заводской поставке метод Createlnstance может быть адаптирован для вызова метода Createlnstance конкретного Smart Client, чтобы создать новый экземпляр.

Экземпляр Smart Clients может быть реализован без редактора, имеющего любое явное знание создаваемого экземпляра Smart Client. Примерный псевдокод проиллюстрирован ниже.

SmartClientFactory SCFactory = новый SCFactoryO;

//ISmartClient был ранее объявлен как интерфейс

ISmartClient MySCInstance;

SCFactory.CreateInstance (MyDev, Type, SubType, MySCInstance);

Редактор программы может быть связан с реализованными экземплярами Smart Clients.

Однако редактор может не иметь никакого реального знания способностей и поведений Smart Client. Всякий раз, когда происходит одно из действий, на которые ссылаются в интерфейсе ISmartClient, редактор может вызвать соответствующую реализацию, предоставляемую данным Smart Client. Например, если потребитель наводит указатель над вышеупомянутыи реализованным экземпляром Smart Client, редактор может вызвать следующий метод ToolTip:

MySCInstance. ToolTip (Block2Call, ToolTipStream);

Система может быть приспособлена для отображения контекстного окна указателя (тултипа) с возвращенным
потоком "ToolTipStream". Smart Clients могут быть дополнениями программного обеспечения, которые обеспечивают новые функциональные возможности вне стандартной среды платформы. Некоторые примерные участвующие редакторы (конфигурация программы и аппаратных средств) используют отображаемые интерфейсы, чтобы обеспечить управление для реализаций Smart Client. Smart Clients могут предоставить функциональные возможности, связанные с задачей, для обеспечения которой они разработаны.

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

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

Редактор может вызвать методы в пределах этого интерфейса, чтобы вызвать дополнительные функциональные возможности, предоставленные Smart Clients. Например, чтобы реализовать новый Smart Client, объект может вызвать метод "Createlnstance", и отредактировать конфигурацию, и затем вызвать метод "Editlnstance". Примерный псевдокод следующий:

Public interface ISmartClient

{

int Createlnstance ([in] IScriptObject IHomeBase,

[in] int Type,

[in] int SubType,

[out] ISmartClient Mylnstance);

int Editlnstance ([in] IScriptObject IHomeBase);

int EditType ([in] IScriptObject IHomeBase);

int VisualizelnstanceOffline ([in] IScriptObject IHomeBase);

int VisualizelnstanceOnline ([in] IScriptObject IHomeBase);

int RunWizard ([in] IScriptObject IHomeBase );

int CheckConsistency ([in] IScriptObject IHomeBase);

int Delete ([in] IScriptObject IHomeBase);

int Copy ([in] IScriptObject IHomeBase);

int Paste ([in] IScriptObject IHomeBase);

int Help ([in] IScriptObject IHomeBase);

int Print ([in] IScriptObject IHomeBase,

[in, out] Stream DataStream);

int ToolTip ([in] IScriptObject IHomeBase,

[in, out] Stream DataStream);

}

Определенные примерные Smart Clients могут быть связаны с редакторами программы. Эти связанные с языком Smart Clients могут быть приспособлены, чтобы выполнять операции, совместимые с существующими языковыми редакторами.

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

Определенные примерные Smart Clients могут использовать метод "направляемого конфигурирования". Открытие экземпляра Smart Client может инициировать "направляемое конфигурирование". Тип и сложность конфигурирования могут изменяться в зависимости от клиента.

После завершения конфигурирования клиента различные компоненты и/или значения могут быть вставлены в программу. Эти компоненты программы могут представить характеристики исполнения успешно конфигурированного Smart Client. Эти компоненты могут быть любой комбинацией блоков объектов (OB), (блоков данных экземпляра) IDB, вызовов функций (FC), функциональных блоков (FB), вызовов системных функций (SFC) и/или системных функциональных блоков (SFB) и т.д. Исполняемый код может содержаться в отдельных, уникальных блоках или может генерироваться встроенным образом.

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

Тип и организация этих компонентов могут быть ответственностью проектировщика Smart Client. Определенные примерные варианты осуществления могут быть доступными для проектировщика Smart Client.

Редактор может запросить от Smart Client, был ли он конфигурирован успешно. В некоторых примерных вариантах осуществления Smart Client может знать, завершил ли потребитель некоторое примерное конфигурирование. Проверка непротиворечивости может также разрешить Smart Clients выполнять определенные проверки специализированных компонентов, которые могли бы выполняться во время компиляции или перед загрузкой.

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

Вызов RunWizard (мастер выполнения) является потенциальным обратным вызовом, который не мог бы быть предоставлен редактором. В некоторых примерных вариантах осуществления RunWizard может инициировать бесконтекстную операцию Smart Clients. Рабочее место может быть расширено, чтобы обеспечить вызов, встроенный в интерфейс, приспособленный к использованию пользователем. Некоторые примерные варианты осуществления могут включать в себя дополнительное меню "RunSmartClient", которое может быть приспособлено, чтобы показывать определенные установленные Smart Clients. После выбора выбранный Smart Client может быть реализован и может принимать обратный вызов RunWizard.

Операция "удалить" может быть приспособлена, чтобы удалять экземпляр инструкции редактора и/или связанные компоненты. Метод «удалить» может быть вызван, когда удален экземпляр Smart Client. Операция «удалить» может осуществляться многими различными способами (например, удалить инструкцию, удалить цикл и т.д.). В некоторых примерных вариантах осуществления вызов «удалить» может исполняться независимо от того, как инструкция была удалена.

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

Для блоков, используемых совместно более чем одним Smart Client, одной опцией вместо использования подсчета ссылок могла бы быть проверка числа сетей в пределах блока. Когда число достигает 0, блок мог бы быть удален.

Операция «копировать» может скопировать основной объект и помещает основной объект в буфер обмена. Этот тип объекта может быть стандартным типом модели объекта и может управляться во время будущих операций вставки.

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

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

Smart Clients могут оказать поддержку для настроенной пользовательской помощи путем предоставления тем настроенной помощи. Предоставление помощи Smart Client могло бы быть отдельным, не объединенным с помощью редактора. На этот запрос Smart Client может получить текущие настройки интернационализации, затем показать информацию помощи на этом языке (или перейти к языку по умолчанию) и в конечном счете возвратить управление назад редактору.

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

Формат конфигурации может быть предоставлен разработчиком Smart Client. Этот формат мог бы изменяться в зависимости от каждого Smart Client. Некоторые примерные варианты осуществления могут соответствовать стандартным используемым стилям печати. В некоторых примерных вариантах осуществления редакторы сначала печатают свою собственную информацию и затем прилагают дополнительные страницы печати любых Smart Clients.

Smart Clients могут быть приспособлены для генерации настроенного отформатированного тултипа. Этот тултип может использоваться для отображения различной информации Smart Client. Информация может включать в себя одно или более из следующего:

название инструкции;

сокращенное полезное описание инструкции;

набор желательных параметров конфигурации вместе с их значениями;

распечатка прототипов инструкций IN, OUT и IN/OUT параметров; и/или

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

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

Поддержка интернационализации может быть обеспечена.

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

Smart Client может показывать текущие значения конфигурируемых элементов. Эти значения могут быть определены с использованием считываний данных.

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

Считывание, маркированное как считывание опроса, может немедленно возвращаться с указанием, были ли данные доступны и, следовательно, могли быть предоставлены или нет. Если считывание не обеспечило данных, то Smart Client может ждать предопределенный отрезок времени, прежде чем повторить попытку считывания. Чтобы избежать чрезмерной нагрузки системы, интервал ожидания может составить, по меньшей мере, 50 мс. Могут использоваться и более длинные интервалы.

Отдельная опция VisualizelnstanceOffline (визуализировать экземпляр офлайн) может быть предоставлена для Smart Client, которая может быть приспособлена, чтобы включать в себя отображение значения экземпляра и возможную настройку для офлайновой стороны. Такие настроенные значения экземпляра могут быть сохранены в офлайновой базе данных (DB) и могут быть впоследствии загружены.

В редакторах может иметься адресуемая пользователем функция "Visualizelnstance" (визуализировать экземпляр). Если редактор находится в онлайновом режиме в то время, когда пользователь выбирает эту функцию, Smart Client может вызываться через VisualizelnstanceOnline (визуализировать экземпляр онлайн). Если редактор находится в офлайновом режиме, Smart Client может вызываться через VisualizelnstanceOffline. Поддержка интернационализации может быть обеспечена для обеих функций.

Интерфейс IScriptObject может быть предоставлен, чтобы получить доступ к услугам платформы, предоставленным моделью объекта написания сценариев. IScriptObject может быть интерфейсом для абстрагированного объекта “Object Frame” (объектный фрейм). Этот интерфейс может быть приведен к любым специализациям, полученным из "Object Frame". Эти специализации могут быть определены в модели объекта некоторых примерных вариантов осуществления.

В некоторых примерных вариантах осуществления Smart Client может понимать тип объекта(ов) для примерной реализации. После активации некоторых примерных методов каждый Smart Client может быть приспособлен для приведения и проверки, что предоставленный интерфейс совместим с реализацией. Далее приведен пример псевдокода для Smart Client, чтобы выполнить приведение к Deviceltem:

device Deviceltem = (IHomeBase as Deviceltem);

if (device = NULL)

return false;

Если приведение успешно, объект может использоваться как желательно. Метод может быть приспособлен для возврата, если приведение безуспешно. Если данный SmartClient - программируемый тип объекта, то IHomeBase может быть одним из следующего:

для Smart Clients, которые представлены блоком, IHomeBase будет этим блоком; или

для Smart Clients, которые представлены другими средствами, такими как встроенный код, IHomeBase будет целевым объектом редактора.

Для Smart Clients, которые представляют объекты конфигурации аппаратных средств, их IHomeBase, может быть одним из следующего:

для Smart Clients, которые представлены посредством Deviceltem, IHomeBase будет этим Deviceltem; или

для Smart Clients, которые представлены другими средствами, IHomeBase будет соответствующим Deviceltem (например, стойка).

Параметры, использующие типы потоковых данных, могут быть объявлены, используя тип декларации ввода/вывода. Хотя некоторые из потоков могут использоваться как тип вывода, таковой может быть объявлен как типы ввода/вывода, чтобы подвергнуть распределения памяти процедуре «сборки мусора» (очистки).

В некоторых примерных вариантах осуществления Smart Clients могут использовать стандартную платформу для поддержки операций «отменить» и «выполнить заново». В некоторых примерных вариантах осуществления могут быть использованы основные объекты и Smart Clients могут не использовать поддержку вне стандартных типов объектных фреймов.

В некоторых примерных вариантах осуществления Smart Client может не иметь состояний. В некоторых примерных вариантах осуществления, после завершения деятельности по конфигурированию, редакторы могут обновить внутреннее представление объектов Smart Client в атрибуты объектов. Некоторые примерные варианты осуществления могут быть приспособлены для поддержки для "общих сервисов", содержащихся в Платформе.

В некоторых примерных вариантах осуществления Smart Clients могут генерировать конфигурации, которые представлены многими различными типами объектов. Каждый объект может генерироваться или модифицироваться в одной сессии конфигурирования. Операции «отменить» и «выполнить заново» могут идентифицировать и управлять определенными объектами в пределах одной сессии конфигурирования как единая транзакция операций «отменить» и «выполнить заново».

В некоторых примерных вариантах осуществления вызывающая программа (редактор или рабочее место) может допустить транзакцию «отменить», прежде чем Smart Client будет фактически вызван. Определенные отменяемые операции, выполняемые Smart Client, прежде чем управление будет возвращено вызывающей программе, могут быть записаны в пределах такой единственной транзакции. Как только Smart Client оставляет управление вызывающей программе, транзакция может быть закрыта. Таким способом все отменяемые действия могут быть записаны в пределах индивидуальной транзакции.

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

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

Как ранее отмечено, Smart Clients могут включать в себя много различных компонентов программы (например, OB, FC/FB, IDB и т.д.). Использование компонентов перекрестных ссылок может использовать "генерированный" маркер, чтобы определить соответствующую видимость клиенту. Структура вызова может показать вызовы высокого уровня для блоков, представляющих Smart Client. Определенные вызовы внутри Smart Client могут быть невидимыми.

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

Определенные компоненты программы могут сравниваться между источником и местом назначения. Источник и место назначения могут изменяться между офлайновыми проектами, содержащимися на диске, и онлайновым проектом, выполняемым в пределах PLC. Однако Food & Drug Association (FDA) может обеспечить одну или более инструкций относительно операции сравнения, чтобы определить, что исполнение приложения в пределах PLC является точно тем же приложением, что и сохраненное в офлайновом состоянии.

Совместимые с инструкциями FDA, компоненты и конфигурации Smart Client могут также сравниваться. Методология, используемая для выполнения этих сравнений, может быть различной в зависимости от решений, принимаемых в пределах архитектуры относительно видимости генерируемых компонентов.

Определенные примерные варианты осуществления могут расширить меню редактора посредством Smart Client. Определенные примерные Smart Clients могут осуществить стандартизированные интерфейсы, которые реализуют один или более обычных методов. Примерный редактор, который поддерживает Smart Clients, может быть приспособлен, чтобы взаимодействовать с этими интерфейсами. Для меню редактор может получать этот интерфейс и предоставлять определенные элементы контекстных меню для предопределенного Smart Client, при получении фокуса (активного состояния).

В некоторых примерных вариантах осуществления рассматриваемый интерфейс может быть интерфейсом поздней привязки. Механизм ранней привязки может быть ограничен заранее подготовленным набором элементов интерфейса (например, методы, атрибуты и/или итератор и т.д.). Конструктор может пропустить любой из них, но не может добавить метод, который не был предусмотрен в интерфейсе. Некоторые примерные варианты осуществления могут добавить вещи, которые не делались прежде. В некоторых примерных вариантах осуществления Smart Client может быть уникальной новой попыткой, которая может иметь новую спецификацию.

Рассматриваемый интерфейс может быть осуществлен определенным примерным Smart Client и может использоваться (вызваться) редактором, который использует Smart Client. Интерфейс может включать в себя два метода:

один для запроса внешним образом для Smart Clients доступных функций; и/или

другой для вызова одной из этих функций.

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

Публичный интерфейс ISmartClientMenu

{

// вызывается редактором, чтобы узнать определенные функциональные возможности Smart Client

//(например, чтобы настроить контекстное меню, показывающее эти пункты)

int GetAvailableVerbs ([out] string [] Available Verbs);

// вызывается редактором, чтобы вызвать одну из специфических функциональных возможностей Smart Client

int DoVerb ([in] string VerbName, [in] DeviceItem Dev);

}

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

string[]AvailableVerbsOfSmartClient = this.GetAvailableVerbs ();

В некоторых примерных вариантах осуществления пункты меню можно показать как контекстное меню экземпляра Smart Client, не в главном меню. После выбора пользователем редактор может вызвать метод DoVerb, чтобы выполнить выбранное действие. Следующий псевдокод - примерное воплощение метода DoVerb:

String VerbToPerform = "Configure";

if!(this.DoVerb (VerbToPerform, Device) )

// everything is alright

else

// raise exception

Public interface ISmartDeviceConfig

{

}

Такой псевдокод описывает, какие сервисы могли бы быть предоставлены методами и свойствами, сделанными доступными системой (Платформа проектирования и объекты области). В некоторых примерных вариантах осуществления Smart Clients могут быть приспособлены, чтобы взаимодействовать с системой. В некоторых примерных вариантах осуществления Smart Clients могут быть расширены ассоциированными способностями внешней модели, показываемыми подсистемой написания сценариев. В некоторых примерных вариантах осуществления такие способности, как «получить» и «установить», могут быть отражены на язык написания сценариев непосредственно как свойства. Например, сеть «получить» и «установить» может быть реализована в рамках языка написания сценариев следующим образом:

Block[My_OB].CodeSection.Network[Network_Number]

Способности, описанные ниже, не предназначены, чтобы представлять все возможные сервисы. В некоторых примерных вариантах осуществления могут быть предоставлены другие сервисы. В некоторых примерных вариантах осуществления Smart Clients могут включать в себя один или более функциональных признаков, обозначенных в табл.3-15.

Таблица 3
Каталог
Способность Описание
Получить записи каталога Может быть использовано для получения информации каталога для определения конкретных типов модулей. Они могут использоваться посредством Smart Client для заполнения элементов устройства в контейнере элементов устройства. Идентификации и описания модулей могут исходить из MDD или GSD описаний устройств. Конкретный Smart Client может получить информацию либо из офлайнового каталога, либо из фактически реализованной конфигурации аппаратных средств.
Таблица 4
Проект
Способность Описание
Получить контейнер
элемента устройства
Может использоваться для получения ссылки
на реализованный контейнер устройства
Получить имя проекта Может использоваться для получения имени
существующего проекта
Получить путь проекта Может использоваться для получения
пути существующего проекта
Получить дату/время
Создания
Может использоваться для получения времени
и даты существующего проекта
Получить доступные
Ресурсы
Может использоваться для получения
Таблица 5
Контейнер элемента устройства
Способность Описание
Получить итератор
Устройства
Может использоваться для получения
коллекции определенных устройств
в контейнере аппаратных средств, т.е.
конфигурацию аппаратных средств
Получить устройство Может использоваться для выбора одного
устройства из коллекции устройств
Добавить устройство Может использоваться для добавления
нового устройства. Например, добавление
нового устройства в конфигурацию
аппаратных средств, например стойка и
слот.
Удалить устройство Может использоваться для удаления
существующего устройства
Таблица 6
Элемент устройства
Способность Описание
Получить тип устройства Может использоваться для определения
действительного типа объекта
Получить пределы
Устройства
Может использоваться для определения
действительных пределов
поддержек объекта. Например, число
высокоскоростных считчиков,
уровни вложения, сетевые порты, размеры
памяти, встроенные I/O, типы данных
и т.д.
Получить свойства
Устройства
Может использоваться для считывания
характеристик устройства, таких как имя, изготовитель, MLFB и т.д.
Получить/установить
конфигурацию устройства
Может использоваться для получения и/или
установки полной конфигурации устройства
Получить контейнер
программного объекта
Может использоваться для получения ссылки
на контейнер реализованного
программного объекта
Получить контейнер папки
программного объекта
Может использоваться для получения ссылки
на контейнер папки реализованного
программного объекта
Получить итератор
программного объекта
Может использоваться для итерации по всем
программным объектам, содержащимся
в устройстве
Получить итератор папки
программного объекта
Может использоваться для итерации по всем
объектам папок, содержащимся
в устройстве
Таблица 7
Конфигурация объекта
Способность Описание
Получить/установить
Параметр
Может использоваться для получения и/или установки параметров индивидуального
Устройства
Получить итератор
Параметра
Может использоваться для итерации по всем параметрам конфигурации объекта
Таблица 8
Контейнер папки программного объекта и контейнер программного объекта
Способность Описание
Получить/установить
Программные объекты
Может использоваться для получения
(считывания) и/или установки
(добавления) программных объектов
и/или объектов папок
Удалить программные
объекты
Может использоваться удаления
программных объектов
и/или объектов папок
Получить итератор
программных объектов
Может использоваться для итерации по
всем папкам и объектам
Получить итератор тега Может использоваться для итерации по
Всем тегам. См. описание «тега» ниже для других операций
Таблица 9
Теги
Способность Описание
Получить/установить
свойства атрибутов
Может использоваться для получения и установки конкретных свойств атрибутов. Например, имя, адрес, тип данных, комментарий.
Таблица 10
Программные объекты
Способность Описание
Получить/установить
Свойства блока
Может использоваться для получения и установки конкретных свойств блока. Например, имя, номер, тип блока, тип ОВ, автор, ноу-хау-защита/пароль, время/дата
модификации/создания, язык и т.д. Параметр типа ОВ может определять тип поведения ОВ. Это может быть.
циклическое, прерывание, первый просмотр и/или временная задержка и т.д. Smart Client может использовать конкретные экземпляры этих типов ОВ, которые могут быть скрыты от потребителя.
Получить/установить
Интерфейс
Может использоваться для получения и установки контентов интерфейса декларации
программного объекта. Это работает на полном интерфейсе.
Получить/установить
секцию кода
Может использоваться для получения и установки контентов кода программного объекта, который работает над полной секцией кода.
Получить
онлайновый объект
Может использоваться для получения доступа к онлайновому представлению программного объекта, который может позволить другому блоку, связанному с сервисами, работать над онлайновым представлением вместо ES
представления. Набор онлайновых сервисов, который может поддерживаться, может содержать «получить программный объект» (DB и FB), «получить секцию интерфейса», «получить атрибут» и «установить атрибут». Для плавного выполнения онлайнового графического представления или повторного отображения значений могут быть доступными способности асинхронного считывания данных. Если написание сценария не может обеспечить это, то может использоваться считывание опроса. Такое считывание опроса может указать, были данные доступными или нет.
Таблица 11
Секция интерфейса
Способность Описание
Получить/установить
итератор декларации
Может использоваться для итерации по декларации программного объекта
Получить/установить
Декларацию
Может использоваться для получения и установки конкретной декларации интерфейса
Удалить декларацию Может использоваться для удаления индивидуальной декларации интерфейса
Таблица 12
Декларация
Способность Описание
Получить/установить
свойства атрибута
Может использоваться для получения и установки свойств конкретного атрибута. Например, имя, тип секции, начальное значение и/или комментарий и т.д.
Таблица 13
Секция кода
Способность Описание
Получить/установить
итератор сети
Может использоваться для итерации по контентам кода с использованием разрешения сети. Smart Client может быть приспособлен для использования общих, индивидуальных программных объектов по множеству различных экземпляров Smart Client. Например, один общий ОВ первого
просмотра может использоваться многими различными Smart Client. Каждый Smart Client может включать дополнительный код без оказания влияния на определенный существующий код.
Получить/установить
Сеть
Может использоваться для получения и установки контентов исходного кода с использованием разрешения сети
Удалить сеть Может использоваться для удаления индивидуальной сети
Таблица 14
Общие сервисы
Способность Описание
Сервисы обратной связи Может использоваться для обнаружения доступа к различным управлениям пользовательского интерфейса, предоставляемым платформой
Таблица 15
Интернационализация
Способность Описание
Получить текущую
настройку мнемоники
Может использоваться для определения текущей настройки мнемоники для платформы. Может использоваться посредством Smart Client для обнаружения информации мнемоники согласно текущим настройкам платформы.
Получить текущую установку языка Может использоваться для определения текущих настроек языка для платформы. Может использоваться посредством Smart Client для отображения информации при тех же установках языка.

Каждый экземпляр Smart Client может привести к объекту экземпляра, созданному изготовителем. Как ранее установлено, изготовитель мог бы обеспечить интерфейс для доступа к этому реализованному объекту для редактора.

На фиг.17 показан примерный набор пользовательских интерфейсов 17000, который может включать в себя пользовательский интерфейс 17100 дерева инструкций, иконку 17300 редактора и пользовательский интерфейс 17400 структур данных. В наборе пользовательских интерфейсов 17000 объект экземпляра может представлять конкретный экземпляр Smart Client. Информация состояния Smart Client может быть сделана постоянной. Некоторые примерные варианты осуществления могут использовать существующие объекты редактора и расширять их таким способом, чтобы обеспечивалось хранение.

Для Smart Clients, которые представлены блоком, хранение может быть зарезервировано в блоке. Для Smart Clients, которые представлены другими средствами, такими как встроенный код, хранение может быть зарезервировано в целевом объекте редактора. В некоторых примерных вариантах осуществления редактор может быть приспособлен, чтобы различить хранение для множества экземпляров Smart Client (множество признаков expando, каждый с уникальной ссылкой на конкретный экземпляр Smart Client).

В некоторых примерных вариантах осуществления Smart Client может быть визуально представлен вызовом. Фактический код может генерироваться фактический вызов или вставленным образом, если только прагма (псевдокомментарий) “inline” доступна.

Для Smart Clients, которые представлены блоком, предоставленный "IHomeBase" может быть этим блоком. Для Smart Clients, которые представлены другими средствами, предоставленный "IHomeBase" может быть целевым блоком редактора. "Smart Client" может быть приспособлен, чтобы использовать "IHomeBase" для просмотра модели объекта, чтобы обнаружить подходящие объекты. В некоторых примерных вариантах осуществления "IHomeBase" может использоваться, чтобы найти контейнер блока для создания новых блоков.

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

Объект экземпляра Smart Client может включать в себя определенные данные конфигурации, которые не хранятся в других местоположениях (например, экземплярах DB). Например, может использоваться флаг "конфигурация завершена", который может указать, был ли Smart Client сконфигурирован успешно. Успешная конфигурация может быть обнаружена и/или определена во время компиляции программы. Типизированный OB может допускать множество экземпляров того же самого ОВ типа, такие как циклический, с прерываниями по времени и/или первый просмотр и т.д.

Smart Clients могут использовать свои собственные конкретные экземпляры типизированного OB. Типизированные OB могут быть независимыми и отличными от типизированных OB, конкретно вставленных в проект потребителем. ОВ Smart Client могут быть маркированы как "генерированные" и поэтому могут быть отфильтрованы, чтобы быть невидимыми потребителю. Некоторые примерные варианты осуществления могут поддерживать типизированные OB.

Редактор может быть приспособлен, чтобы отмечать флагом конкретный признак expando, поддерживающий внутренний для Smart Client объект как "компонент, подлежащий загрузке", что может привести к тому, что эти части объектов (блоки) загружаются и выгружаются так, как секция кода. После выгрузки внутренние объекты могут выглядеть так, как перед загрузкой, и таким образом могут быть доступными для дальнейшей операции.

Другая информация, определенная последовательностью конфигурации, может храниться как части других объектов (например, фактические значения экземпляров в DB). Эти части могут быть загружены и/или выгружены вместе с объектами и, следовательно, также доступны. Определенные примерные варианты осуществления могут быть приспособлены, чтобы поддерживать не только выгрузку, но также и импорт и экспорт данных Smart Client.

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

Выполнение компонентов невидимыми может иметь последствия для архитектуры. Операции, такие как сравнение, удаление и копирование, могут быть связаны с Smart Client. Smart Client, например, мог бы знать, какие компоненты должны быть удалены и когда они должны быть удалены. Кроме того, Smart Client мог бы знать, какие компоненты могли бы сравниваться, чтобы определить равенство.

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

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

Навигатор проекта может использовать этот "сгенерированный" флаг, чтобы организовать или фильтровать эти компоненты различным способом. Например, генерированная(ые) дополнительной системой папка(ки) могла(и) бы добавляться к дереву, и определенные "сгенерированные" компоненты включаться в папку(и). Некоторые примерные варианты осуществления могут способствовать минимизации воздействия на потребителя при выполнении требований FDA.

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

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

В некоторых примерных вариантах осуществления языковые редакторы могут поддерживать связанные с языком Smart Clients посредством использования блоков. В некоторых примерных вариантах осуществлениях могут поддерживаться макровозможности (встроенный код). Например, пользовательское представление может появляться как блок, но может быть реализовано как макрос.

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

операнд тултип (контекстное окно указателя);

операнд онлайновый статус;

соединители потока мощности (EN/ENO);

установленные по умолчанию и динамические прототипы, как описано ниже; и/или

текстовая языковая интеграция и т.д.

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

Следующие функциональные возможности для настройки Smart Client могут быть реализованы как общие функциональные возможности:

специальные иконки для вызовов, а не стандартные иконки вызова могут использоваться в многозвенных экземплярах;

флаг для определения, что компонент может быть "генерирован" посредством Smart Client;

флаг, который может ассоциировать узел Smart Client с нормальным вызовом блока, что может позволить платформе запустить Smart Client, а не типичный редактор, когда пользователь выполняет действие на блоке (визуальный экземпляр офлайн и онлайн); и/или

генерировать встроенный код вместо направления вызова посредством использования встроенной «прагма»-директивы; и т.д.

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

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

Разработчик(и) Smart Clients может(гут) определить различные модели наследования и агрегирования, ассоциированные с этими инструкциями. Хотя различные модели наследования и агрегирования могут не быть частью рассмотрений SPH, ниже представлен пример для дальнейшего разъяснения (см. табл.16).

Таблица 16
Имя класса/
Переменной
Тип Описание
ISmartClient Интерфейс Определение интерфейса SmartClient.
Этот интерфейс может быть определен и предоставлен всем разработчикам SmartClient.
SmartClientBase Объект SmartClientBase является базовым классом, который содержит общие поведения для других Smart Clients. Этот базовый класс может быть определен и предоставлен всем разработчикам SmartClient.
SmartClientBase.
Container
Коллекция Контейнер всех объектов SmartClient, которые могут быть использованы другими управлениями ES, которые могут выполнять итерацию по объектам. Примерами могут быть визуализации карты задачи или предварительный просмотр Smart Clients перед печатью.
PIDBase Smart
Client
Base
PIDBase - базовый класс, который может содержать общие поведения для некоторых PID Smart Clients. Например, PIDBase может использоваться для поддержки общих поведений по различным типам PID инструкций.
PIDBase.Icon пиктограмма Иконка для PID инструкций
PIDBase.
Container
Коллекция Контейнер для некоторых PID объектов. Этот контейнер может использоваться PID панелью управления для выполнения итерации по всем экземплярам PID.
PIDController PIDBase Индивидуальный PID объект
PIDController.
Name
Строка Видимое имя экземпляра инструкции PID
PIDController.
Properties
Коллекция Свойства каждого экземпляра PID инструкции
PIDController.
Blocks
Коллекция Блоки, ассоциированные с каждым экземпляром PID инструкции

Интерфейс "ISmartClient" может определить набор поведений, которые могут быть реализованы объектом SmartClient. В дополнение к интерфейсу "ISmartClient" класс "SmartClientBase" может быть сделан доступным. Этот базовый класс может выводиться из интерфейса "ISmartClient" и обеспечивать основные поведения для необходимого интерфейса. Обеспечение интерфейса и базового класса может позволить клиенту наследовать из любого определения, зависимость от которого обеспечивает наибольшее значение для конкретного клиента.

Некоторые конкретные типы Smart Clients могут дополнительно обеспечить свои собственные основные поведения. Например, различные типы PID инструкций могут быть приспособлены, чтобы обеспечивать стандартные PID поведения в пределах общей базы. Такая PID база может включать в себя контейнер для PID инструкций, которые могли бы обеспечить путь для других PID-связанных объектов, таких как PID панель управления настройкой, для перечисления или выполнения итерации через различные экземпляры PID.

На фиг.18 показана блок-схема примерной системы 18000, которая может включать в себя, Ismartclient объект 18100, Smartclientbase объект 18200, SCCollection объект 18300, PIDBase объект 18400, PIDCollection объект 18500, PIDContinuous объект 18600, PIDStepControIler объект 18700 и NextSmartClient объект 18800.

Некоторые примерные варианты осуществления обеспечивают интерфейс "ISmartClient", который может быть унаследован определенными Smart Clients. Каждый Smart Client может быть приспособлен, чтобы обеспечивать конкретную реализацию для своего собственного поведения, как упомянуто выше. Осуществление псевдокода может быть следующим:

public class ContinuousPID: PIDBase or

public class ContinuousPID: SmartClientBase or

public class ContinuousPID: ISmartClient

{

// implementation of a Smart Client can go here

int Createlnstance (IScriptObject IHomeBase,...){...}

int Editbistance (IScriptObject IHomeBase) {...}

int Tooltip (IScriptObject IHomeBase) {...}

...

}

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

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

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

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

В некоторых примерных вариантах осуществления Smart Clients могут не подвергаться влиянию будущими пересмотрами платформы. Новые версии платформы могут не вызывать изменений программного обеспечения для существующих Smart Clients.

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

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

В некоторых примерных вариантах осуществления каждый индивидуальный SmartClient может установить уровни совместимости для последовательных версий SmartClient. В некоторых примерных вариантах осуществления Smart Clients могут обеспечить подобный уровень совместимости, как платформа. Например, конкретная версия Smart Client может понять предыдущие версии.

В некоторых примерных вариантах осуществления индивидуальные компоненты проекта (например, OB, DB, FB и/или FC и т.д.) могут стать видимыми клиенту. Такие решения могут быть приняты индивидуально при разработке каждого Smart Client. В некоторых примерных вариантах осуществления Smart Clients могут быть развернуты в дополнительных пакетах, таких как "Пакеты поддержки аппаратных средств" или "Дополнительные пакеты". Каждый дополнительный пакет может быть индивидуально инсталлирован на данном контроллере программируемой логики (PLC). В некоторых примерных вариантах осуществления конкретный SmartClient может быть сохранен для проекта с проектом, предоставляемым другому PLC, который не имеет тех же самых инсталлированных дополнительных пакетов.

В некоторых примерных вариантах осуществления потребители могут приобрести и инсталлировать дополнительные пакеты, чтобы быть в состоянии управлять Smart Clients. В некоторых примерных вариантах осуществления Smart Clients могут быть загружены в PLC и/или могут исполняться. В некоторых примерных вариантах осуществления дополнительные редактирования конфигураций Smart Client могут не поддерживаться, если только дополнительные пакеты не будут инсталлированы.

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

На фиг.19 показана блок-схема примерного варианта осуществления способа 19000. Каждое действие способа 19000 может быть осуществлено вручную и/или автоматически. Каждое действие способа 19000 может быть закодировано и/или воплощено в машиноисполняемых инструкциях, сохранено на машиночитаемом носителе. Машинные инструкции могут быть приспособлены, чтобы выполнять любое действие или подмножество действий способа 19000. При действии 19100 может быть определено иерархическое дерево. Иерархическое дерево может быть логическим деревом, которое включает ветви и/или листья. Каждая ветвь и/или лист иерархического дерева могут представлять доступное подмножество машинных инструкций, которые могут быть приспособлены, чтобы конфигурировать компонент системы PLC и/или автоматически генерировать другие машинные инструкции, такие как управляющая программа PLC.

При действии 19200 может быть определен редактор. Редактор может быть приспособлен, чтобы конфигурировать одно или более приложений, связанных с управляющей программой PLC. Редактор может быть приспособлен, чтобы принимать инструкции на языке программирования, определенном в IEC 61131-3.

При действии 19300 может быть предоставлен рендерер пользовательских интерфейсов, который может быть приспособлен, чтобы автоматически вызывать представление множества отдельных пользовательских интерфейсов. Каждый пользовательский интерфейс из множества различных пользовательских интерфейсов может быть приспособлен, чтобы конфигурировать соответствующее приложение программного обеспечения из множества приложений программного обеспечения, связанных с работой контроллера программируемой логики (PLC). Для выбранного приложения программного обеспечения из множества приложений программного обеспечения рендерер пользовательских интерфейсов может быть приспособлен, чтобы автоматически обеспечивать первый пользовательский интерфейс, если PLC выполняет управляющую программу, и второй пользовательский интерфейс, если PLC не выполняет управляющую программу.

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

При действии 19500 устройство и/или приложение могут конфигурироваться. Устройство и/или приложение могут автоматически конфигурироваться на основе ввода конфигурации. В некоторых примерных вариантах осуществления в ответ на ввод конфигурации пользователем приложение может автоматически генерироваться и может использоваться как часть управляющей программы PLC.

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

На фиг.20 показана блок-схема примерного варианта осуществления информационного устройства 20000, который в определенных оперативных вариантах осуществления может включать в себя, например, информационное устройство 1540 по фиг.1. Информационное устройство 20000 может включать в себя любой из многочисленных компонентов, например один или более сетевых интерфейсов 20100, один или более процессоров 20200, одну или более памятей 20300, содержащих инструкции 20400, одно или более устройств 20500 ввода/вывода (I/O) и/или один или более пользовательских интерфейсов 20600, связанных с устройством ввода/вывода 20500, и т.д.

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

Определения

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

Неопределенный артикль “a” (англ.) - по меньшей мере, один.

Способность - качество того, что является способным, чтобы выполнить.

Допускать - принимать.

Доступ, иметь доступ - (сущ.) разрешение, свобода, право, механизм или способность вступить, приблизиться, осуществлять связь с и/или через, использовать, и/или пройти к и/или от места, вещи и/или человека, (гл.) войти, приблизиться, осуществлять связь, общается с и/или через, использовать и/или пройти к и/или от.

Соответственно - согласно с.

Деятельность - действие, акт, поступок, функция, шаг и/или процесс и/или часть этого.

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

Приспособленный к - подходящий, пригодный и/или способный к выполнению указанной функции.

И/или - либо во взаимосвязи с чем-либо, либо альтернативно к чему-либо.

Другой - дополнительный.

Устройство - аппарат или прибор для конкретной цели.

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

Ассоциированный с - связанный с чем-либо.

По меньшей мере - не меньше чем.

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

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

Доступный - существующий и/или готовый для использования.

Между - в разделительном интервале и/или в промежуточном положении к чему-либо.

Может - способен к чему-либо, по меньшей мере, в некоторых вариантах осуществления.

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

Изменять, изменение - (гл.) обусловить различие; (сущ.) акт, процесс, и/или результат изменения или модификации.

Схема - электрически проводящая дорожка, содержащая одно или более действующих электрических устройств.

Команда - сигнал, который инициирует операцию, определенную инструкцией.

Осуществлять связь - обмениваться информацией.

Коммуникация - передача и/или обмен информацией.

Сравнение - действие проверки подобий и/или различий.

Компонент - составной элемент и/или часть.

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

Составленный - включенный.

Конфигурация - физическое, логическое и/или логистическое упорядочение элементов.

Параметр конфигурации - значение, которое приспособлено для использования в коммуникативном связывании, вычислении, фильтрации, дискретизации, интерпретации, форматировании, контроле и/или управлении компонентом системы PLC, датчиком, и/или исполнительным элементом; и/или данными, относящимися к этому.

Конфигурировать - проектировать, упорядочивать, настраивать, формировать и/или делать подходящим и/или пригодным в определенной цели.

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

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

Счет, считать - (сущ.) число, достигнутое путем отсчитывания, и/или определенное количество; (гл.) придавать приращение, типично по одному и начиная с нуля.

Связывать - присоединиться, соединять и/или связывать две вещи вместе.

Текущий - одновременный к настоящему времени.

Данные - информация, представленная в форме, подходящей для обработки информационным устройством.

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

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

Отладить - обнаружить и удалить ошибки из машинных инструкций.

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

Задержка - истекшее время между двумя состояниями и/или событиями.

Обнаружение - действие ощущения или восприятия.

Определить - узнать или прийти к решению об исследовании, обосновании или вычислении.

Прибор - машина, изделие и/или совокупность этого.

Различие - пункт непохожести и/или несходства.

Отличный - отдельный и/или легко различимый от всех других.

Загрузить - перенести данные их устройства памяти.

Каждый - каждая один из группы, рассматриваемый индивидуально.

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

Исполнять - выполнять компьютерную программу и/или одну или более инструкций.

Существовать - иметь фактическое существование.

Модуль расширения - модуль ввода/вывода, в корпусе, отличном от корпуса программируемого логического контроллера (PLC), который приспособлен, чтобы быть коммуникативно связанным с PLC.

Потерпеть неудачу - быть безуспешным.

Первый - начальный элемент ряда.

Управление по контролю за продуктами и лекарствами - регулирующее агентство федерального правительства Соединенных Штатов.

Для - с целью.

Формат - упорядочение данных для хранения и/или отображения.

Из - используется для указания источника.

Далее - в дополнение.

Генерировать - создавать, производить, воспроизводить, дать начало и/или привести в существование.

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

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

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

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

Высокоскоростной - со скоростью, по меньшей мере, в каждые 5 микросекунд.

Иконка - в графическом пользовательском интерфейсе (GUI), графическое экранное представление объекта, такого как файл, программа, папка или дисковод.

Если - в случае, если.

Показательный - служащий для указания.

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

Информационное устройство - любое устройство, на котором находится конечный автомат, способный к осуществлению, по меньшей мере, части способа, структуры и/или или графического пользовательского интерфейса, описанного здесь. Информационное устройство может включать в себя хорошо известные коммуникативно связанные компоненты, такие как один или более сетевых интерфейсов, один или более процессоров, одна или более памятей, содержащих инструкции, одно или более устройств ввода/вывода и/или один или более пользовательских интерфейсов (например, связанных с устройством ввода/вывода), через который информация может быть воспроизведена, чтобы осуществить одну или более функций, описанных здесь. Например, информационное устройство может быть любым компьютером общего назначения и/или специализированным компьютером, таким как персональный компьютер, видео игровая система (например, PlayStation, Nintendo Gameboy, X-Box и т.д.), автоматизированное рабочее место, сервер, мини-компьютер, универсальная ЭВМ, суперкомпьютер, компьютерный терминал, ноутбук, переносной компьютер и/или персональный цифровой помощник (PDA), iPod, мобильный терминал, устройство Bluetooth, коммуникатор, смартфон (такой как Treo-подобное устройство), услуга передачи сообщений (например, Blackberry), приемник, пейджер, факсимильный аппарат, сотовый телефон, традиционный телефон, телефонное устройство, программируемый микропроцессор или микроконтроллер и/или периферийные элементы на интегральных схемах, процессор цифрового сигнала, ASIC или другая интегральная схема, электронная логическая схема аппаратных средств, такая как схема на дискретных элементах, и/или программируемое логическое устройство, такое как PLD, PLA, FPGA, PAL и т.д.

Первоначально - в начале.

Ввод - сигнал, данные и/или информация, предоставленная в процессор, устройство и/или систему.

Устройство ввода/вывода (I/O) - устройство ввода/вывода информационного устройства может быть любым сенсорно ориентированным устройством ввода и/или вывода, таким как аудио-, визуально-, осязательно-, обонятельно-ориентированное и/или ориентированное на вкус устройство, включая, например, монитор, дисплей, проектор, головной дисплей, клавиатура, клавишная панель, мышь, трекбол, джойстик, игровая панель, колесико, сенсорная панель, сенсорный экран, указательное устройство, микрофон, динамик, видео камера, камеру, сканер, принтер, осязательное устройство, вибратор, тактильный имитатор и/или сенсорную панель, потенциально включая порт, к которому может быть присоединено устройство ввода/вывода или с которым оно может быть связано.

Модуль ввода/вывода - устройство и/или система, приспособленная, чтобы принимать и/или отсылать информацию между программируемым логическим контроллером (PLC) и предопределенным набором датчиков и/или исполнительных элементов.

Дерево инструкций - иерархически организованный набор машинных инструкций.

Языковой редактор - рендеринг, приспособленный для приема кода программирования согласно языку программирования, определенному в IEC 61131-3, а именно FBD (диаграмма функциональных блоков), LD (ступенчатая диаграмма), ST (структурированный текст, язык типа Паскаля), IL (список инструкций) и/или SFC (последовательная карта функций).

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

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

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

Сделанный - произведенный.

Может - позволено и/или разрешено, по меньшей мере, в некоторых вариантах осуществления.

Память - устройство, способное хранить аналоговую или цифровую информацию, например энергонезависимая память, энергозависимая память, память произвольного доступа (RAM), память только для чтения (ROM), флэш-память, магнитные носители, жесткий диск, дискета, магнитная лента, оптические носители, оптический диск, компакт-диск (CD), цифровой универсальный диск (DVD) и/или дисковый массив с избыточностью и т.д. Память может быть связана с процессором и может хранить инструкции, приспособленные для исполнения процессором согласно варианту осуществления, раскрытому здесь.

Метаданные - информация о данных.

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

Модифицировать - изменять, вызвать изменение, отредактировать, изменить, заменить, удалить и/или исправить.

Модуль - устройство, приспособленное, чтобы быть коммуникативно связанным с предопределенным набором информационных устройств, устройств ввода/вывода, датчиков и/или исполнительных элементов.

Более - дополнительно.

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

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

Не-PLC - устройство иное, чем программируемый логический контроллер.

Не - отрицание чего-либо.

Получать - принимать, доставать, получать во владение, добывать, приобретать, рассчитать, определить и/или вычислить.

Один - единственный элемент.

Организованный - привести порядок и/или упорядочить.

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

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

Помещать - располагать в конкретном месте или положении.

Помещение - действие расположения.

Множество - состояние множественности и/или более одного.

Предопределенный - установленный заранее.

Предшествующий - более ранний по времени.

Процессор - устройство и/или набор машиночитаемых инструкций для выполнения одной или более предопределенных задач. Процессор может включать в себя любое одно или комбинацию аппаратных средств, программируемого оборудования и/или программного обеспечения. Процессор может использовать механические, пневматические, гидравлические, электрические, магнитные, оптические, информационные, химические и/или биологические принципы, сигналы и/или вводы, чтобы выполнять задачу(и). В некоторых вариантах осуществления процессор может действовать на информацию, манипулируя, анализируя, изменяя, преобразовывая, передавая информацию для использования исполняемой процедурой и/или информационным устройством и/или направляя информацию на устройство вывода. Процессор может функционировать как центральный процессор, локальный контроллер, удаленный контроллер, параллельный контроллер и/или распределенный контроллер и т.д. Если не определено иначе, процессор может быть устройством общего назначения, таким как микроконтроллер и/или микропроцессор, такой Pentium IV серии микропроцессоров, производимых компанией Intel Corporation, Санта-Клара, Калифорния. В некоторых вариантах осуществления процессор может быть специализированным устройством, таким как специализированная интегральная схема (ASIC) или программируемая пользователем вентильная матрица (FPGA), которое было спроектировано для реализации в его аппаратных средствах и/или программируемом оборудовании, по меньшей мере, части варианта осуществления, раскрытого здесь.

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

Программируемый логический контроллер (PLC) - твердотельная, основанная на микропроцессоре вычислительная система жесткого реального времени, которая используется через сеть, чтобы автоматически контролировать статус соединенных в условиях эксплуатации входов датчика и автоматически управлять коммуникативно связанными устройствами управляемой промышленной системы (например, исполнительными элементами, соленоидами, реле, выключателями, стартерами двигателей, скоростными приводами (например, приводами переменной частоты, тринисторами и т.д.), сигнальными лампочками, поджигающими электродами, лентопротяжными механизмами, динамиками, принтерами, мониторами, дисплеями и т.д.) согласно созданному пользователем набору значений и созданной пользователем логике и/или инструкциям, сохраненным в памяти. Входы датчиков отражают измерения и/или информацию статуса, относящуюся к управляемой промышленной системе. PLC обеспечивает любое из следующего: автоматизированное управление вводом/выводом; переключение; подсчет; арифметические операции; комплексная манипуляция данными; логика; синхронизация; упорядочивание; коммуникация; манипуляция файлами данных; генерация сообщения; управление; управление реле; управление движением; управление производственным процессом; распределенное управление; и/или контроль процессов, производственного оборудования, и/или другая автоматизация управляемой промышленной системы. Ввиду его точной синхронизации в жестком реальном времени и способностей установления последовательностей PLC запрограммирован, используя многоступенчатую логику или некоторую форму структурированного языка программирования, определенного в IEC 61131-3, а именно FBD (диаграмма функциональных блоков), LD (многоступенчатая диаграмма), ST (структурированный текст, язык типа Паскаля), IL (список инструкции) и/или SFC (последовательная функциональная диаграмма). Ввиду его точной синхронизации в жестком реальном времени и способностей установления последовательностей PLC может заменить до тысяч реле и кулачковых таймеров. Аппаратные средства PLC часто имеют хорошую избыточность и способности обхода отказа. PLC может использовать человеко-машинный интерфейс (HMI) для взаимодействия с пользователями для конфигурирования, уведомления о тревогах и/или управления.

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

Обеспечивать - предоставлять, поставлять, давать, передать, послать и/или сделать доступным.

Диапазон - мера протяженности набора значений, и/или величины, и/или степени изменения.

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

Прием - действие принятия.

Принимать - собирать, брать, приобретать, получать, акцептовать, добиваться быть пожалованным.

Упоминаемый в качестве ссылки - состояние отношения или соотнесения.

Относительно - относящееся к чему-либо.

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

Сообщение - представление информации в предопределенном формате.

Представление - аппроксимация, эквивалент, математическая характеристика, рендеринг, изображение и/или подобное для чего-либо.

Запрос, запрашивать - (гл.) выражать потребность и/или желательность чего-либо; спрашивать и/или просить (сущ.) то, что передает выражение желательности и/или того, что испрашивалось.

Требование - потребность.

Отзываться - отвечать.

Ответ - отклик и/или ответная реакция.

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

В ответ на - реагируя на влияние и/или стимул.

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

Второй - элемент, который следует непосредственно за начальным элементом ряда.

Выбранный - отобранный элемент.

Отправить - переправить, послать и/или передать.

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

Набор, устанавливать - (сущ.) связанное множество предопределенных элементов; и/или один или более отдельных элементов, имеющих определенное общее свойство или свойства, (гл.) устанавливать значение.

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

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

Мягкое реальное время относится к компьютерным системам, которые проявляют подход «максимальных усилий» и минимизируют время ожидания от события до отклика в максимально возможной степени, при поддержании пропускной способности для внешних событий в целом. Такие системы не будут переносить критический отказ, если временные ограничения будут нарушены. Например, системы реального аудио - видео обычно являются системами мягкого реального времени; нарушение временных ограничений может привести к ухудшенному качеству, но система может продолжать работать. Другой пример - сетевой сервер, который является системой, для которой желателен быстрый ответ, но для которого нет никакого срока завершения. Если сетевой сервер высоко загружен, его время отклика может замедлиться без отказа в обслуживании. Это контрастирует с антиблокировочной тормозной системой, где замедление в отклике, вероятно, вызвало бы отказ системы, возможно даже катастрофический отказ.

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

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

Определить - описать, охарактеризовать, указать и/или сформулировать явно и/или в деталях.

Сохранить - поместить в устройство памяти.

Структура - то, что сложно построено, такое как сооружение и/или дополнение к сооружению; иерархия и/или размещение объектов в документе; и/или способ, которым компоненты организованы и/или формируют целое.

Последующий - следующий по времени.

Существенно - в значительной, широкой и/или большой, но не обязательно в целом и/или полностью, мере и/или степени.

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

Передать - предоставить, обеспечить, поставлять, послать как сигнал и/или переслать (например, силу, энергию и/или информацию) от одного места и/или вещи к другому.

Неподдержанный - не сохраненный и/или определенный.

Пока (не) - до времени, когда.

Используемый - применяемый при выполнении чего-либо.

Пользователь - человек, организация, процесс, устройство, программа, протокол и/или система, которая использует устройство, систему, процесс и/или сервис.

Пользовательский интерфейс - устройство и/или программа для воспроизведения информацию пользователю и/или запрашивания информации от пользователя. Пользовательский интерфейс может включать в себя, по меньшей мере, одно из текстовых, графических, аудио, видео, анимационных и/или осязательных элементов. Текстовый элемент может быть предоставлен, например, принтером, монитором, дисплеем, проектором и т.д. Графический элемент может быть предоставлен, например, через монитор, дисплей, проектор и/или устройство визуальной индикации, такой как свет, флаг, маяк и т.д. Аудиоэлемент может быть предоставлен, например, через динамик, микрофон и/или другое устройство, генерирующее и/или принимающее звук. Видеоэлемент или анимационный элемент могут быть предоставлены, например, через монитор, дисплей, проектор и/или другое визуальное устройство. Осязательный элемент может быть предоставлен, например, через очень низкочастотный динамик, вибратор, тактильный имитатор, тактильный планшет, имитатор, клавиатура, клавишная панель, мышь, трекбол, джойстик, игровой планшет (геймпад), колесико, сенсорный планшет, сенсорная панель, указательное устройство и/или другое осязательное устройство и т.д. Пользовательский интерфейс может включать в себя один или более текстовых элементов, таких как, например, одну или более букв, чисел, символов и т.д. Пользовательский интерфейс может включать в себя один или более графических элементов, таких как, например, изображение, фотография, рисунок, иконка, окно, строка заголовка, панель, лист, закладка, секция, матрица, таблица, форма, календарь, контурное визуальное представление, кадр, диалоговое окно, статический текст, текстовое окно, список, список выбора, всплывающий список, выпадающий список, меню, панель инструментов, док, флажок, селективная кнопка, гиперссылка, браузер, кнопка, контроль, палитра, панель предварительного просмотра, цветовой круг, круговая шкала, ползунок, полоса прокрутки, курсор, строка состояния, степпер и/или индикатор продвижения и т.д. Текстовый и/или графический элемент может использоваться для того, чтобы выбрать, программировать, регулировать, изменить, определить и т.д. появление, цвет фона, стиль фона, стиль границы, толщину границы, цвет переднего плана, шрифт, стиль шрифта, размер шрифта, выравнивание, межстрочный интервал, отступ, максимальную длину данных, проверку правильности, вопрос, тип курсора, тип указателя, автоматическое масштабирование, положение и/или измерение и т.д. Пользовательский интерфейс может включать один или более аудиоэлементов, таких как, например, регулировка громкости, управление основным тоном, управление скоростью, селектор голоса и/или один или более элементов для управления аудиовоспроизведением, скоростью, паузой, ускоренной перемоткой вперед, реверсированием и т.д. Пользовательский интерфейс может включать в себя один или более видеоэлементов, таких как, например, элементы, управляющие видеовоспроизведением, скоростью, паузой, ускоренной перемоткой вперед, реверсированием, увеличением масштаба, уменьшением масштаба поворотом и/или наклоном и т.д. Пользовательский интерфейс может включать в себя один или более анимационных элементов, такой как, например, элементы, управляющие анимационным воспроизведением, паузой, ускоренной перемоткой вперед, реверсированием, увеличением масштаба, уменьшением масштаба, поворотом, наклоном, цветом, интенсивностью, скоростью, частотой, внешним видом и т.д. Пользовательский интерфейс может включать в себя один или более осязательных элементов, таких как, например, элементы, использующие тактильные стимулы, силу, давление, вибрацию, движение, смещение, температуру и т.д.

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

Употреблять - использовать и/или поместить в обслуживание.

Значение - измеренное, назначенное, определенное и/или вычисленное количество или качество для переменной и/или параметра.

Через - посредством и/или с использованием.

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

Когда - во время.

В котором - по отношению к которому; и; и/или в дополнение к.

Примечание

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

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

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

любые элементы могут быть объединены, разделены и/или дублированы;

любое действие может быть повторено, выполнено множеством сущностей и/или выполнено во множестве юрисдикций; и

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

Кроме того, когда любое число или диапазон описываются здесь, если ясно не заявлено иначе, это число или диапазон приблизительны. Когда любой диапазон описывается здесь, если ясно не заявлено иначе, этот диапазон включает все значения в нем и все поддиапазоны в нем. Например, если описан диапазон 1-10, этот диапазон включает все значения между ними, такие как, например, 1.1, 2.5, 3.335, 5, 6.179, 8.9999 и т.д., и включает все поддиапазоны между ними, такие как, например, от 1 до 3.65, от 2.8 до 8.14, от 1.93 до 9 и т.д.

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

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

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

2. Система по п.1, дополнительно содержащая:
упомянутый PLC.

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

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

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

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

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

8. Система по п.1, в которой упомянутый рендерер пользовательских интерфейсов не использует языковый редактор PLC, чтобы конфигурировать упомянутое выбранное приложение программного обеспечения.

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

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

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

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

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

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

15. Система по п.1, в которой, по меньшей мере, один из упомянутого множества отдельных пользовательских интерфейсов приспособлен, чтобы вызвать автоматическую генерацию пропорциональной/интегральной/производной (PID) процедуры управления, причем упомянутая пропорциональная/интегральная/производная (PID) процедура управления приспособлена для исполнения упомянутым PLC.

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

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

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

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

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

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

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

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



 

Похожие патенты:

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

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

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

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

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

Изобретение относится к средствам автоматизации машинного оборудования

Изобретение относится к системе управления и/или передачи данных

Изобретение относится к способу замены структурных компонентов системы автоматизации и может быть использовано для автоматизации производственных установок

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

Изобретение относится к области электрометаллургии
Наверх