Бобровник Петр Петрович
   Главная  •  Контакты  •  Форум
E-mail: petr@bobrovnik.ru     
Электронные часы  


Бегущая строка   Табло валют
 
Настроен и включен Форум


 

 
 
 
 
 
 

  Главная  »  Промышленная автоматика

Серия проектов в области промышленной автоматики.

Я начал заниматься данным проектом, когда мне предложили "помочь исправить некоторые мелкие ошибки в ПО контроллера". Проект касался промышленной автоматики. Выяснилось, что ПО просто нет. А человек, сделавший сами контроллеры не имеет представления о современных наработках в области ПЛК. В любом случае, после некоторых трений, появился базовый варианта контроллера. Он и был применен в нескольких успешных проектах. Изначально контроллер применялся в системах, копирующих и развивающих уже существующие системы управления. Софт писался на С. Параллельно шла работа над созданием Control Runtime System для CoDeSys. На данный момент эта работа еще не завершена. Но контроллеры хорошо работают и с С-шным софтом. Пока потребность в применении языков IEC 61131-3 (МЭК 61131-3) не стоит остро.

Внешний вид контроллера:

Контроллер имеет 8 многорежимных входов (4-20мА, логический вход, измерение напряжения 0В-5В/0-24В, терморезисторы и т.д.), а также 10 только логических входов (оптроны). 16 выходов. Память, часы реального времени, 2шт. RS485. Гальваническая развязка модулей входов, выходов, RS485.
Также есть вспомогательный контроллер:

Имеет 2 модуля измерения параметров силовых вводов (напряжение каждой фазы, углы фаз, чередование), 4 выхода, интерфейс RS485.

ПО контроллера разделено на бутлоадер и исполняемую часть. Для управления и прошивки используется интерфейс RS485. Поддерживается протокол ModBus, но в основном используется собственный сетевой протокол. Протокол имеет пакетную структуру. Заголовки пакетов имеют поле адреса и типа пакета. Также поддерживается возможность маршрутизации пакетов всеми контроллерами, имеющими 2 и более интерфейса RS485. Это позволяет строить древовидную структуру сети контроллеров. При этом обеспечивается возможность обмена информацией между контроллерами при сохранении непрерывного контроля системы из управляющей утилиты. Бутлоадеры контроллеров также поддерживают данный сетевой протокол. Все контроллеры имеют уникальные сетевые адреса и уникальные серийные номера. Это позволяет производить различные операции в системе контроллеров независимо и одновременно. Например утилита управления может прошивать один контроллер сети и управлять другим.
Утилита управления поддерживает обмен с контроллерами как через стандартные порты COM, так и через TCP сокеты. Это позволяет использовать как покупные преобразователи Ethernet - RS485, так и собственные преобразователи.
Все рабочие программы имеют уникальные коды и утилита управления использует различные модули (окна) для управления различными целевыми программами.

Также для промышленных контроллеров было создано интересное устройство для снятия и хранения журналов событий в сети контроллеров. Устройство подключается на вершину "дерева" сети RS485 и непрерывно считывает события со всех контроллеров по мере их возникновения. События хранятся на SD карте в устройстве (архиваторе). Устройство имеет интерфейс USB Host и поддерживает спецификацию Mass Storage а также файловые системы FAT16/FAT32. При подключении любого устройства, поддерживающего данную спецификацию архиватор записывает журналы событий контроллеров в виде файлов в корневом каталоге диска 0 устройства. Это позволяет оперативно сохранять журналы событий на обычные флешки, съемные диски, мобильные телефони и т.д. Внешний вид архиватора. Данное устройство сделано на обычном 16-ти битном контроллере (PIC24FJ64GB002), имеющим модуль USB OTG. Софт написан на чистом С. Для поддержки Mass Storage я использовал примеры кода, а вот поддержка файловой системы написана с нуля. Устройство является вспомогательным, но потребовало для создания больших сил и времени.

Некоторые скриншоты утилиты управления:




Панель управления малым контроллером (АВР):



 
 
E-mail: petr@bobrovnik.ru