from 01.01.2004 to 01.01.2023
kaluga, Russian Federation
Kaluga, Russian Federation
Russian Federation
The issue of developing an algorithm for operating the hardware module of the departmental petrol station automa-tion system is considered. The paper gives the development features related to the system hardware implementation, which accounts and controls fuel consumption, analyses fuel level in the tank, provides service only to the authorised users, and also allows controlling the system remotely. The hardware part is implemented as a control terminal. The authors present the main stages of the algorithm development, including the system structure examination, the criteria development, the control scheme determination, the algorithm for operating the petrol station terminal, regulated by the operating mode cycle, taking into account the functional state of the system parameters. When developing the al-gorithm, the structural implementation features of the hardware module are taken into account, the parameters for using the GSM network, the freeRTOS operating system are determined, and the online payment card structure in the MIFARE card format is developed. A development peculiarity is that the developed algorithm for the terminal opera-tion can be adapted to the structure of any automated filling system without modifications.
automation, filling stations, autonomy, access restriction, control, MIFARE cards, GSM networks, freeRTOS
Введение
В настоящее время автоматизированные системы мониторинга, контроля доступа и управления оборудованием необходимы практически в любой сфере.
На многих коммерческих заправочных станциях вопросы автоматизации решены в полной мере: отсутствие оператора, контроль отпуска топлива, онлайн оплата и т.п. Это позволяет повысить эффективность таких систем, экономить значительные ресурсы.
С другой стороны существуют ведомственные заправочные станции, которые находятся на территории предприятия, либо передвижные, которые обслуживают выездной транспорт (трактора, комбайны, работающие на поле), т.е., обслуживают исключительно транспорт, принадлежащий организации. Такие ведомственные заправочные станции автоматизированы достаточно плохо, зачастую это какая-либо цистерна, к которой подключён насос. К каждой станции прикреплён рабочий, заправляющий транспорт. Недостатки данного решения очевидны: отсутствие контроля расхода топлива, выдаваемого в системе; несоответствие фактического остатка топлива в цистерне с объёмом по документам; отсутствие контроля над действиями работника.
Автоматизация ведомственных заправок – актуальная проблема. Решение данной задачи позволит обеспечить предприятию эффективную, безубыточную работу за счет установления всеобщего контроля над расходом горюче-смазочных материалов (ГСМ) и экономии материальных ресурсов, а также улучшить качество обслуживания и безопасность работы. [1]
Поставленная задача – это разработка алгоритма функционирования ведомственной АЗС. Организация процесса осуществляется с помощью специального ПО. Данные об объеме отпускаемых ГСМ и времени осуществления операции поступают в систему и диспетчер может просматривать всю информацию по заправкам в режиме реального времени. При использовании данной системы можно: сократить расходы на зарплату обслуживающему персоналу; снизить цену горючего за счет уменьшения эксплуатационных затрат; оптимизировать расходы на обслуживание и содержание АЗС; вести четкий учет объемов отпускаемого топлива; заметно сократить потери, связанные с воровством ГСМ недобросовестными сотрудниками автозаправки.
Современные автоматические АЗС – это простой, надежный и действенный способ обеспечить предприятию стабильную, высокодоходную работу. [1]
Автоматизированные системы заправки представляют комплекс программного обеспечения и аппаратного обеспечения. В рамках статьи рассматривается алгоритм функционирования аппаратной части системы, основой которой является терминал.
Этапы разработки алгоритма функционирования включают следующую последовательность:
– исследование структуры и схем управления системы;
– разработка модели терминала управления и контроля топливораздаточной колонкой;
– определение критериев к разработке алгоритма функционирования;
– разработка структуры карты обслуживания и определение режимов работы системы;
– разработка алгоритма функционирования терминала с использование операционной системы freeRTOS[7].
Общая схема системы представлена на рис. 1.
Рис. 1. Общая схема системы управления автономной заправочной станцией
Fig. 1. General scheme of the autonomous filling station control system
Система управления автономной заправочной станцией включает следующие элементы:
– заправочная станция, оборудованная стандартным устройством топливораздаточной колонки (ТРК), с подключённым к нему терминалом управления и контроля, который с одной стороны обеспечивает отправку команд на ТРК, контроль за её состоянием, а с другой стороны через сеть GSM получает команды от управляющего сервера, отправляет ему отчёты и выполненные транзакции;
– сервер с программным обеспечением для приёма, хранения, обработки и анализа данных;
– компьютер пользователя или диспетчера, ведущего мониторинг.
Программное обеспечение на сервере и компьютере пользователя можно отнести к программной части системы. Терминал управления и контроля с его внутренним программным обеспечением относится к аппаратной части [2].
Разработка модели терминала управления и контроля топливораздаточной колонкой
В процессе разработки алгоритма функционирования было проведено сравнение различных систем управления автономной заправочной станцией. В результате анализа установлено, что все устройства используют в качестве способа идентификации карту или RFID метку, на которой записан только уникальный номер, что позволяет только идентифицировать клиента, а далее устройство проверяет наличие данной карты в памяти своей системы. Там же хранятся и балансы кошельков, что является недостатком в случае отсутствия связи на устройстве. Если произошла транзакция, все другие терминалы не смогут синхронизировать информацию о балансе данной карты. И может произойти ситуация, когда клиент сможет заправиться по карте, на которой уже исчерпан лимит. Некоторые устройства не имеют возможности отслеживать своё местоположение, что затрудняет контроль в случае его использования на передвижных АЗС или бензовозах.
На основании анализа были разработаны требования к разрабатываемой системе:
- Основное назначение разрабатываемого терминала – обеспечение контролируемого доступа к нефтепродуктам на ведомственных ТРК с возможностью идентификации и ограничения, сбор данных с подключённых датчиков, сохранение местоположения и отправка этих данных на сервер по сети GSM.
- Терминал должен иметь интерфейс для связи с ТРК (RS-485) для обеспечения управления и контроля расхода нефтепродуктов [3, 8].
- Интерфейс для подключения датчика уровня топлива (RS-485) для контроля несанкционированного слива нефтепродуктов [3, 9].
- Устройство должно иметь модуль передачи данных по сети GSM для обеспечения передачи информации о совершённых на устройстве транзакциях и отправки сообщений о произошедших событиях.
- Для обеспечения определения местоположения устройства, в случае если устройство используется не на стационарных АЗС, а на передвижных, необходимо наличие GPS, GLONASS модуля.
- Нельзя хранить информацию о балансе пользователя на каждом терминале, чтобы не допустить ошибки в данных о балансе. Единственным местом хранения достоверной информации о балансе должен быть идентификатор, который хранится у пользователя. Информация на сервере просто обновляется в соответствии с данными на идентификаторе.
- Также для обеспечения работоспособности системы в случае временного или полного отсутствия связи необходимо предусмотреть запоминающее устройство, которое будет накапливать информацию о транзакциях до момента появления связи или ручного скачивания накопленных транзакций.
На основании данных требований была разработана структура терминала (рис. 2).
Рис. 2. Структура терминала
Fig. 2. Terminal structure
В качестве основного места хранения информации о балансах был выбран идентификатор в виде карты с носителем уникального кода разного формата (MIFARE-карты).
В статье приводится разработанная структура карты, предназначенная для хранения данных о балансе и доступных объёмах (рис. 3).
Рис. 3. Структура карты, предназначенной для хранения данных балансе и доступных объёмах пользователя
Fig. 3. The structure of the card intended for storing data on the balance and available volumes of the user
В каждой карте записана следующая информация: номер карты; ID организации; ПИН-код; 4 блока информации о кошельках.
Каждый блок информации о кошельке содержит:
– баланс (объём в литрах, доступный для списания);
– текущее значение месячного лимита (значение лимита с учётом списаний);
– заданное значение месячного лимита (значение лимита, которое нужно устанавливать в начале каждого срока лимита);
– номер месяца;
– текущее значение недельного лимита (значение лимита с учётом списаний);
– заданное значение недельного лимита (значение лимита, которое нужно устанавливать в начале каждого срока лимита);
– номер недели, текущее значение дневного лимита (значение лимита с учётом списаний);
– заданное значение дневного лимита (значение лимита, которое нужно устанавливать в начале каждого срока лимита);
– номер дня, текущее значение лимита операций (значение лимита с учётом списаний);
– заданное значение лимита операций (значение лимита, которое нужно устанавливать в начале каждого срока лимита);
– номер дня.
Для обновления лимитов по карте, введены: поле номера месяца, номера недели и номера дня.
Например, если на карточке записан номер дня 9, а при прикладывании карточки в системе стоит номер дня 11, то необходимо обновить текущее значение дневного лимита до заданного значения дневного лимита. Если заданное значение лимита равно 0, это означает, что соответствующий лимит не задан.
Режимы работы системы
Аппаратная часть системы может работать в нескольких режимах: без доступа к сети интернет и с доступом к сети.
В первом случае все транзакции по картам записываются во внутреннюю память терминала и переносятся в систему ручным способом: оператор должен подъехать к каждому терминалу и по Bluetooth или через USB скопировать файл с транзакциями к себе на телефон и далее загрузить его в систему.
Пополнение карт происходит на специальном терминале, расположенном в офисе или в каком-либо другом месте, где есть связь с сетью Интернет.
В случае если устройство имеет доступ к сети, то пользователь сам отправляет транзакции на сервер, в случае каких-либо проблем с сетью все транзакции сохраняются во внутреннюю память и при появлении доступа к сети автоматически отправляются.
Пополнение карт происходит также на терминале. При каждом прикладывании пользовательской карточки, терминал формирует запрос на проверку наличия команд для данной карты, в случае их наличия сервер отправляет эти команды на терминал и пользователю предлагается обновить данные на карте повторным прикладыванием.
Алгоритм функционирования аппаратной части (терминала)
При запуске терминал проверяет свою внутреннюю память на наличие неотправленных транзакций, далее определяются адреса памяти, с которых нужно сохранять новые и отправлять старые транзакции. После установления связи с сетью, терминал регистрируется в системе, и он готов к работе.
При обнаружении новой карты она полностью считывается, отправляется запрос на сервер (если терминал работает в режиме с доступом к сети), проверяется, может ли организация, которой принадлежит карта, обслуживаться на этом терминале или карта находится в чёрном списке. Если проверки проходят успешно пользователю предлагается ввести пароль.
В случае совпадения пароля, введённого пользователем и того, что записан на карте, терминал разрешает пользователю продолжить работу.
Если от сервера пришёл ответ с какими-либо командами для карты, пользователю предлагается приложить карту ещё раз для выполнения этих команд. Если в пакете команд присутствовала команда пополнения какого-либо кошелька, после её выполнения формируется транзакция пополнения, которая отправляется на сервер или записывается в память (в зависимости от режима работы терминала).
Далее в зависимости от того, кошельки с каким типом топлива записаны на карте и наличие этого топлива на ТРК пользователю предлагается выбрать тип нефтепродукта.
Также проверяются лимиты на данный тип топлива, если все лимиты исчерпаны, или закончился баланс на этом кошельке, пользователю отказывается в заправке. В ином случае выбирается самый наименьший лимит, и пользователь может выбрать объём не больше, чем этот лимит.
После выбора объёма пользователю предлагается приложить карту для списания. В этот момент формируется транзакция списания, которая состоит из полей: ID-кошелька; время начала транзакции; ID-карты; запрошенный объём топлива; ID-продукта; номер ТРК.
После проверки всех параметров, отправляется команда задания объема и стоимости на ТРК и пользователь заправляется.
После окончания заправки транзакция списания дополняется полями о фактически вылитом объёме топлива, времени окончания транзакции и отправляется на сервер или записывается в память (в зависимости от режима работы терминала) (рис. 4).
Для управления работой программы и распределения процессорного времени между задачами необходимо применить операционную систему. В качестве операционной системы выбрана freeRTOS [4, 7].
В работе данного устройства выделено три основные задачи: задача обработки данных и работа с пользователем; задача взаимодействия с сервером; задача работы с ТРК.
Рис. 4. Пример структуры транзакции и заполненная транзакция после отпуска топлива
Fig. 4. An example of a transaction structure and a completed transaction after fuel release
Такое решение обусловлено сложностью работы с модемом, а именно:
– приём и передача данных из/в модуль занимает достаточно много времени. В этот момент датчики не опрашиваются, и информация не сохраняется. При использовании операционной системы время, которое тратится на отправку и таймаут ожидания от модуля, будет потрачено на другую задачу;
– данное устройство должно обрабатывать большое количество информации, а также необходимо постоянно поддерживать связь с модемом, который передаёт данные, принятые от сервера.
Общий алгоритм работы устройства представлен на рис. 5.
Рис. 5. Общий алгоритм работы программы
Fig. 5. The general algorithm of the program
При функционировании данной программы возможно возникновение следующей ситуации: если система ждет ответа от модема, и в этот момент пользователь прикладывает карточку с запросом, то при использовании операционной системы эти действия будут выполняться параллельно. В случае отсутствия операционной системы, пользователь должен ждать ответа от модема.
Первая задача производит получение данных с карточки, содержит всю логику пользовательского интерфейса, производит вывод информации на дисплей, обрабатывает нажатие кнопок управления и действий, связанных с ними, отправляет сообщения задаче работы ТРК с командами для управления ТРК, считывает информацию с внешних датчиков.
Задача обмена информацией с сервером – постоянно поддерживать с ним связь, в случае поступления команды от сервера сразу же отправлять её первой задаче. Если от сервера поступили конфигурационные данные, то происходит подготовка устройства к настройке и установка новых параметров.
Если пришла команда на установку «Чёрного списка карт», то эта информация записывается во внутреннюю память системы.
Также возможно дистанционное обновление программного обеспечения. В этом случае программа постепенно скачивает новую прошивку в специальную область памяти, после завершения этой процедуры производится проверка на целостность принятых данных и если информация не повреждена, то устройство перезагружается и запускается уже с новой прошивкой [5].
Представленный подход к разработке автоматизированной системы можно считать оптимальным, учитывающим все этапы проектирования. Разработанный алгоритм функционирования терминала легко адаптировать в автоматизированную систему любой АЗС без доработки. Авторами приведен алгоритм функционирования аппаратной части автоматизированной системы с определением режимов работы системы. Указаны возможные нештатные ситуации и предложены пути их решения. Представлена структура транзакций, которая является основой контроля в системе. Разработанная структура карты доступа и порядок хранения информации о балансе является достаточно информативной, удовлетворяющей требования к обслуживанию системы.
Предложенный алгоритм функционирования, позволит сократить расходы на обслуживание АЗС и контролировать её работу дистанционно, тем самым повысит эффективность работы предприятия.
1. Golovkova E.O., Sofiev A.E. Complex Automation of Petrol Stations. Izvestiya MSTU [Internet]. 2012 [cited 2023 Feb 19];2. Available from: https://cyberleninka.ru/article/n/kompleksnaya-avtomatizatsiya-avtozapravochnyh-stantsiy.
2. Tanatkanova A.K., Zhambaeva A.K. Building Client-Server Applications. Science and Education Today [Internet]. 2019 [cited 2023 Feb 20];6-2(41). Available from: https://cyberleninka.ru/article/n/postroenie-klient-servernyh-prilozheniy.
3. Bulatov V.N. Khudorozhkov O.V. Micro-Processor Technology. Circuitry and Programming. Orenburg: Orenburg State University [Internet]. 2016 [cited 2023 Feb 19]. Available from: http://artlib.osu.ru/web/books/content_all/8807.pdf.
4. Kurnits A. FreeRTOS - Operating System for Microcontrollers. Components and Technologies [Internet]. 2011 [cited 2023 Feb 21];9(122). Available from: https://cyberleninka.ru/article/n/freertos-operatsionnaya-sistema-dlya-mikrokontrollerov-4.
5. Mitarova Dzh. M. Microcontroller Programming. Achievements of Science and Education [Internet]. 2018 [cited 2023 Feb 19];6(28). Available from: https://cyberleninka.ru/article/n/programmirovanie-mikrokontrollera.
6. Onufrieva T.A., Golubev A.S., Razumov V.A. Development of an Automated Storage System. Original Research. 2021;11(11):197-206.
7. Realtime Core [Internet]. Available from: http://sourceforge.net/projects/freertos/files/FreeRTOS/
8. Borsuk NA, Boyarovskaya AV. Analysis of the Need for Implementation and Transition to New Information Systems. In: Proceedings of the All-Russian National Scientific Conference: Fundamental and Applied Research. Actual Problems and Achievements; Saint Petersburg: 2021. p. 24-26.
9. Priemyshev A.V., Krutov V.N., Treyal V.A., Korshakov O.A. Technologies for Creating Smart Devices Connected to the Internet. 2nd ed. Saint Petersburg: Lan [Internet]. 2018 [cited 2023 Feb 22]. Available from: https://e.lanbook.com/book/103911
10. Klyuchev A.O., Kovyazina D.R., Petrov E.V., Platunov A.E. Peripheral Device Interfaces. Saint Petersburg: St. Petersburg State University ITMO; 2010.