СПОСОБ И УСТРОЙСТВО ДЛЯ ФАЙЛОВОЙ СИСТЕМЫ НА ПРОГРАММИРУЕМОМ ЛОГИЧЕСКОМ КОНТРОЛЛЕРЕ
METHOD AND DEVICE FOR FILE SYSTEM ON PROGRAMMABLE LOGICAL CONTROLLER

Область техники, к которой относится изобретение
Настоящее изобретение в общем относится к программируемым логическим контроллерам, более конкретно, к файловой системе для манипулирования и доступа к данным на программируемых логических контроллерах.
Предшествующий уровень техники
Программируемые логические контроллеры (PLC) принимают и хранят данные в их локальной памяти. Однако данные являются в типовом случае исходными двоичными данными, полученными как электрические сигналы и/или данные процесса из приложения, управляемого посредством PLC. Обычно эти данные требуют проприетарного внешнего приложения, которое конкретно осведомлено о PLC, чтобы получать доступ и интерпретировать/преобразовывать сохраненные данные. Таким образом, для пользовательского приложения, чтобы извлекать данные из PLC, изготовитель PLC должен обеспечивать дополнительный механизм, который пользователь должен использовать, чтобы получить доступ к данным, относящимся к процессу. Имеется потребность в способах и устройстве, которые обеспечивают возможность доступа к сохраненным в PLC данным, не требуя дополнительных механизмов.
Сущность изобретения
Варианты осуществления настоящего изобретения в общем относятся к способам и устройству для реализации доступной для web-браузера файловой системы на программируемом логическом контроллере.
В некоторых вариантах осуществления настоящее изобретение обеспечивает способ доступа, преобразования, хранения и обеспечения доступа к двоичным данным процесса в стандартизованном формате. Этот формат может затем использоваться посредством web-браузера, чтобы представлять данные процесса внутренне стандартизованным способом.
В некоторых других вариантах осуществления настоящее изобретение обеспечивает программируемый логический контроллер (PLC). PLC включает в себя модуль контроллера; модуль файловой системы, связанный с модулем контроллера и адаптированный, чтобы постоянно хранить архивные файлы данных; модуль памяти, который хранит двоичные данные, связанные с модулем контроллера; и модуль пользовательской программы, который хранит инструкции, адаптированные для исполнения модулем контролера. Инструкции могут включать в себя создание архивного файла в формате пользовательского приложения в модуле файловой системы; хранение двоичных данных в модуле памяти; преобразование двоичных данных в формат пользовательского приложения архивного файла; и хранение преобразованных двоичных данных как записи в архивном файле в модуле файловой системы.
В еще других вариантах осуществления настоящее изобретение обеспечивает способ для программируемого логического контроллера. Способ включает в себя создание архивного файла в формате пользовательского приложения в модуле постоянной файловой системы программируемого логического контроллера; хранение двоичных данных в модуле памяти программируемого логического контроллера; преобразование двоичных данных в формат пользовательского приложения архивного файла; и хранение преобразованных двоичных данных как записи в архивном файле в модуле постоянной файловой системы. Способ может дополнительно включать в себя прием запроса на получение списка архивных файлов из приложения браузера и представление web-страницы со списком архивных файлов в ответ на запрос на получение списка архивных файлов.
В других вариантах осуществления настоящее изобретение обеспечивает дисплей (отображение) web-страницы, который включает в себя список архивных файлов, сохраненных в модуле постоянной файловой системы программируемого логического контроллера, причем архивные файлы генерируются путем преобразования двоичных данных, сохраненных в модуле памяти программируемого логического контроллера; и элементы управления, адаптированные для обеспечения возможности пользователю открывать включенные в список архивные файлы непосредственно в пользовательское приложение.
Эти и другие признаки и аспекты настоящего изобретения будут более понятны из последующего детального описания примерных вариантов осуществления, приложенной формулы изобретения и иллюстрирующих чертежей.
Краткое описание чертежей
Специалисту в данной области техники будет понятно, что чертежи, описанные ниже, приведены только для иллюстрации. Чертежи не предназначены для ограничения объема настоящего раскрытия никоим образом.
Фиг. 1 - блок-схема программируемого логического контроллера согласно некоторым вариантам осуществления настоящего изобретения.
Фиг. 2 - блок-схема последовательности операций, иллюстрирующая примерный способ работы программируемого логического контроллера согласно вариантам осуществления настоящего изобретения.
Фиг. 3 - блок-схема последовательности операций способа доступа к архивным файлам данных на программируемом логическом контроллере согласно некоторым вариантам осуществления настоящего изобретения.
Фиг. 4 - экранное изображение примерного варианта осуществления web-страницы, адаптированной для обеспечения доступа к системе архивных файлов данных согласно некоторым вариантам осуществления настоящего изобретения.
Детальное описание
В целях интерпретации настоящего описания, где уместно, термины, используемые в единственном числе, также включают в себя множественное число, и наоборот. Использование «или» предназначено, чтобы означать «и/или», если не указано иное. Использование единственного числа предназначено, чтобы означать «одно или более», если не указано иное, или если использование выражения «одно или более» явно является неподходящим. Использование терминов «содержать», «содержит», «содержащий», «включать», «включает», «включающий» является взаимозаменяемым и не подразумевает ограничения. Более того, если описание одного или более вариантов осуществления использует термин «содержащий», то специалистам в данной области техники должно быть понятно, что в некоторых конкретных случаях вариант или варианты осуществления могут альтернативно описываться с использованием терминологии «состоящий по существу из» и/или «состоящий из».
Хотя представленное раскрытие описано во взаимосвязи с различными вариантами осуществления, не подразумевается, что настоящее раскрытие должно быть ограничено такими вариантами осуществления. Напротив, настоящее раскрытие охватывает различные альтернативы, модификации и эквиваленты, как будет понятно специалистам в данной области техники.
Настоящее изобретение использует приложение web-браузера для доступа к данным, находящимся во внутренней файловой системе программируемого логического контроллера (PLC) таким путем, что браузер может исходно понимать формат сохраненных данных. Обычные PLC сохраняют данные в исходном двоичном формате в памяти и типично требуют настроенных механизмов для доступа к данным в PLC. Напротив, с использованием любого стандартного приложения web-браузера, система согласно настоящему изобретению позволяет хост-компьютеру (например, персональному компьютеру и Интернет-браузеру) получать доступ к файлам данных в памяти PLC. Файлы сохранены в файловой системе так, что пользователь, использующий адрес Интернет-протокола (IP) PLC, может просматривать директорию, перечисляющую сохраненные архивные файлы, отображаемые в приложении web-браузера. В дополнение, архивные файлы данных сами сохранены в PLC в стандартном файловом формате, таком как формат CSV (значения, разделенные запятыми), так что после доступа файлу данных через файловую систему, доступную посредством web-браузера, PC-хост может ассоциировать файл с инсталлированным приложением РС (например, программой электронных таблиц, такой как, например, Microsoft Excel от Microsoft Corporation). Таким образом, используя систему согласно настоящему изобретению, пользователь может выполнять просмотр до PLC и считывать данные в памяти PLC непосредственно в приложение, такое как, например, программа электронных таблиц, программа текстового процессора, приложение базы данных и т.п.
На фиг. 1 представлена примерная структура PLC 100 согласно вариантам осуществления настоящего изобретения. PLC 100 включает в себя модуль 102 контроллера, к которому может обращаться хост-компьютер (не показан) или другие устройства (такие как сенсоры (не показаны) через сеть (например, Ethernet 10x) и каналы ввода/вывода (I/O) 104. С модулем 102 контроллера связан модуль 105 программируемой логики, который используется, чтобы реализовать любую пользовательскую программу 106 с использованием хорошо известных способов. При работе пользовательская программа 106 загружается в PLC 100 и управляет модулем 102 контроллера, чтобы выполнять сбор и сохранение данных в модуле 108 памяти. Иными словами, модуль 102 контроллера адаптирован, чтобы иметь возможность доступа к модулю 108 памяти, который может использоваться, чтобы хранить двоичные данные, которые генерируются, захватываются или принимаются модулем 102 контроллера под управлением пользовательской программы 106. Модуль 102 контроллера также адаптирован для преобразования двоичных данных в модуле 108 памяти в файлы архива данных, которые сохраняются в модуле 110 постоянной файловой системы. Модуль 110 постоянной файловой системы, таким образом, связан с модулем 102 контроллера. Модуль 110 постоянной файловой системы включает в себя логику для реализации функций доступа к файлам и администрирования (например, считывания, записи, удаления, внесения в список и т.д.) для архивных файлов данных, сохраненных в постоянном запоминающем устройстве 112. Постоянное запоминающее устройство 112 может быть реализовано с использованием любого соответствующего устройства энергонезависимой памяти. PLC 100 согласно настоящему изобретению также включает в себя модуль 114 web-сервера, связанный с модулем 110 постоянной файловой системы. Модуль 114 web-сервера генерирует web-страницу доступа к архивной файловой системе в ответ на браузер на хост-компьютере, получающий доступ к IP-адресу и конкретной web-странице архива данных, сохраненной в модуле 110 постоянной файловой системы. Генерированная web-страница предоставляет возможность, позволяющую пользователю получать доступ к файлам, администрируемым модулем 110 файловой системы и сохраненным в постоянном запоминающем устройстве 112 в качестве архивных файлов данных. Фиг. 4, описанная ниже, иллюстрирует примерную реализацию web-страницы доступа к файловой системе, которая может быть предоставлена модулем 114 web-сервера.
На фиг. 2 представлена блок-схема последовательности операций, изображающая примерный способ 200 согласно вариантам осуществления настоящего изобретения. На этапе 202 пользовательская программа PLC инициирует создание архивного файла данных в стандартном формате пользовательского приложения, таком как, например, формат CSV типа MIME. Другие форматы также могут быть использованы. Например, файлы могут быть в ASCII текстовом, HTML или XML формате. В более общем виде, архивный файл данных является структурированным набором записей данных, которые сохранены в последовательном или циркулярном файле. Используемый формат является внутренне понимаемым стандартными web-браузерами. Любой такой формат может использоваться. Это позволяет приложению браузера автоматически использовать пользовательское приложение, ранее ассоциированное с типом файла.
На этапе 204 PLC начинает принимать и сохранять исходные двоичные данные в памяти PLC. Двоичные данные могут быть сохранены как наборы данных, где каждый набор данных представляет интерпретируемое значение для пользователя. Например, набор данных может включать в себя восемь байтов двоичных данных, которые представляют температуру, дату, скорость, давление и т.п. По мере того как пользовательская программа продолжает выполняться, PLC может продолжать принимать и сохранять исходные двоичные данные в памяти PLC. Иными словами, прием и сохранение двоичных данных могут продолжаться независимо, асинхронно и параллельно с остальными этапами этого способа и любыми другими процессами согласно настоящему изобретению.
На этапе 206 PLC начинает проверять, запустила ли пользовательская программа, находящаяся в PLC, операцию переноса. Операция переноса включает в себя преобразование и запись двоичных данных в постоянную файловую систему, как будет описано ниже. Условие запуска может быть любым определенным пользователем условием, которое используется для запуска этапов переноса. Например, условие запуска может состоять в том, что фиксированное количество двоичных данных принято посредством PLC; память 108 заполнена; прошел определенный интервал времени; или конкретное значение, комбинация или другое условие в двоичных данных распознано или произошло. Иными словами, любое конкретное условие запуска может быть использовано, чтобы инициировать перенос. Если условие запуска пользовательской программы удовлетворено (например, запуск (триггер) переключен), то процесс переходит к этапу 208. Иначе, система продолжает ожидать, когда возникнет условие запуска на этапе 206. В любом случае система продолжает сохранять двоичные данные в памяти PLC.
На этапе 208 PLC преобразует наборы двоичных данных в стандартный формат пользовательского приложения и продолжает делать это каждый раз, когда данные сохраняются в памяти PLC. На этапе 210 PLC сохраняет набор преобразованных данных как запись в архивном файле данных. Эти этапы повторяются каждый раз, когда пользовательская программа желает захватить экземпляр двоичных данных процесса. Отметим, что как часть преобразования наборов двоичных данных (этап 208), в течение операции записи преобразованных данных и/или в течение создания архивного файла (этап 202), информация, описывающая архив данных (например, имя, размер файла, формат файла и т.д.), может быть сохранена в архивном файле данных. На этапе 212 определяется, имеются ли еще наборы двоичных данных для преобразования и сохранения. Если это так, то процесс возвращается назад на этап 208, иначе, программа возвращается к этапу 206 для ожидания дополнительных двоичных данных.
Отметим, что описанные выше этапы и этапы примерных способов, описанных ниже, являются только иллюстративными. Многие дополнительные и альтернативные этапы могут быть реализованы. Аналогичным образом, многие из этапов могут включать в себя подэтапы или могут быть скомбинированы в составные этапы. Наконец, порядок этапов может быть изменен в любую практически реализуемую последовательную или параллельную конфигурацию.
На фиг. 3 представлен примерный способ доступа к архивированным файлам данных, сохраненным в постоянной файловой системе. На этапе 302 пользователь исполняет стандартное приложение web-браузера. На этапе 304 web-браузер управляется пользователем для обращения к IP адресу PLC. В ответ на этапе 306 модуль 114 web-сервера получает доступ к модулю 110 постоянной файловой системы и представляет браузеру HTML web-страницу со списком архивных файлов данных, сохраненных в постоянном запоминающем устройстве 112 PLC 100. На этапе 308 пользователь может импортировать архивный файл данных в прикладную программу путем выбора желательного файла из списка HTML web-страницы, предоставленного на этапе 306.
Более детальный и конкретный пример, связанный со способом согласно настоящему изобретению, описан ниже. Понятно, что пример предназначен только для иллюстрации и не должен толковаться как ограничивающий каким-либо образом. В применении настоящего изобретения пользователю может быть желательно архивировать две переменные (1) ТЕМПЕРАТУРА и (2) ДАВЛЕНИЕ в каждом цикле в циклически исполняемом блоке кода. Запись архивных данных определена, например, как два значения данных, представленных в записи с плавающей точкой. Данные для регистрации дискретизируются пользовательской программой 106, преобразуются в строки и перемещаются последовательно в модуль 110 постоянной файловой системы и в архивный файл данных. Этот процесс приводит в результате к записи информации, включающей в себя данные даты, времени, температуры и давления. Формат для преобразованных данных определен как CSV типа mime. В этом примере преобразование двоичных данных и сохранение преобразованных данных выполняется всякий раз, когда температура превышает установленный пользователем предел. Это пример запуска пользовательской программы для этапа 206 на фиг. 2. Результатом является CSV файл, который содержит пары значений для ТЕМПЕРАТУРЫ и ДАВЛЕНИЯ, которые могут быть просто отображены в Excel как кривые. Иными словами, архивный файл может быть перенесен на хост-РС, и значения переменных могут быть отображены как графики в программе, такой как Microsoft Excel.
На фиг. 4 представлен примерный вариант осуществления web-страницы 400 доступа к архивному файлу данных. Страница 400 доступа к архивным данным отвечает за отображение списка 402 всех доступных архивных файлов данных с датой и временем последнего обновления. Путем активирования соответствующей иконки/элемента управления графического пользовательского интерфейса пользователь может просматривать конфигурируемое число архивных файлов, загружать архив 404, загружать и очищать архив 406 и/или удалять архив 408. Операция 404 загрузки считывает все существующие записи из архивного файла данных в момент времени, когда был принят запрос. Отметим, что новые записи могут добавляться к архиву в процессе выполнения загрузки. Операция 406 загрузки и очистки может также считывать все существующие записи из архива в момент времени, когда запрос был принят, с новыми записями, добавленными к архиву в процессе загрузки. Как только загрузка успешно выполнена, все загруженные записи могут быть очищены или обозначены как очищенные. Записи могут очищаться, как только операция загрузки успешно завершена.
Если сделан выбор открыть архивный файл данных, пользовательский браузер отображает архивные данные с использованием зарегистрированного приложения, ассоциированного с типом архивного файла данных. Например, приложением по умолчанию для Internet Explorer 6.0 и Firefox 3.0.11, исполняющихся на Windows XP, получающем доступ к файлу типа CSV MIME, является Microsoft Excel.
Варианты осуществления раскрытия настоящего изобретения были описаны иллюстративным образом. Должно быть понятно, что использованная терминология подразумевается имеющей характер словесного описания, но не ограничения. Многие модификации и вариации вариантов осуществления возможны в свете приведенного выше раскрытия. Поэтому в пределах объема приложенной формулы изобретения варианты осуществления могут быть практически реализованы иным образом, чем конкретно описано.