ПЛК (Arduino Mega 2560 + W5100)

Модератор: Alex

Аватара пользователя
uni
Сообщения: 191
Зарегистрирован: Вс июл 26, 2015 9:21 pm
Откуда: Екатеринбург
Благодарил (а): 4 раза
Поблагодарили: 7 раз
Контактная информация:

Re: ПЛК (Arduino Mega 2560 + W5100)

Сообщение uni » Ср окт 25, 2017 11:15 am

Я немного ошибался с dbf форматом. На самом деле в версии dBase Level 7 есть нужные мне форматы полей, только конверторов, которые реально могут такой файл прочитать, почти нет. Ни Access не понимает, ни ODBC драйверов к нему нет, не говоря уже про Excel. Нашёл только один онлайн конвертер, который реально его "проглотил". Написать самому такую утилиту не проблема и её можно приложить на флешке, как и описание формата.

А messagepack пока оставим. Там тоже проблемы есть, к примеру, я так точно и не понял как там сохраняются некоторые значения. Вроде бы действует правило, согласно которому тип поля зависит от значения, т.е. данные хранятся в максимально компактном виде. Получается, что двигаться вдоль такого файла можно только вычитывая его содержимое и просматривая, что для мк не практично и бессмысленно. Т.е. сохранить может и можно, но вот считать конкретный интервал данных может быть проблемой.
Россия навсегда!
Аватара пользователя
uni
Сообщения: 191
Зарегистрирован: Вс июл 26, 2015 9:21 pm
Откуда: Екатеринбург
Благодарил (а): 4 раза
Поблагодарили: 7 раз
Контактная информация:

Re: ПЛК (Arduino Mega 2560 + W5100)

Сообщение uni » Сб окт 28, 2017 12:07 pm

Новости. Адаптация Beremiz к мк AVR.

С помощью разработчиков Beremiz мне удалось настроить сборку с моим makefile. Теперь я могу собирать проект в прошивку для мк. Хочется скорее попробовать помигать светодиодом, используя программу на языке ST (язык МЭК, похожий на паскаль). В идеале мне хотелось бы реализовать что-нибудь посложнее, типа ПИД регулятора, управляющего задвижкой.

Есть и проблемы, касающиеся типов данных. Они не вполне пока будут соответствовать МЭКовским. Это касается int и double.

Если получится собрать среду Beremiz для программирования на Arduino, то я выложу её для экспериментов.
Россия навсегда!
Аватара пользователя
uni
Сообщения: 191
Зарегистрирован: Вс июл 26, 2015 9:21 pm
Откуда: Екатеринбург
Благодарил (а): 4 раза
Поблагодарили: 7 раз
Контактная информация:

Re: ПЛК (Arduino Mega 2560 + W5100)

Сообщение uni » Вс окт 29, 2017 8:02 pm

Новости. Адаптация Beremiz для мк AVR mega.

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

Простая программа на ST такого вида:

Код: Выделить всё

t1( in := not t1.q, pt := t#1s );

if t1.q then out0 := not out0; end_if; 
с одной внешней переменной, управляющей дискретным выходом (DO), требует следующие ресурсы:

Код: Выделить всё

AVR Memory Usage
----------------
Device: atmega2560

Program:    2952 bytes (1.1% Full)
(.text + .data + .bootloader)

Data:        115 bytes (1.4% Full)
(.data + .bss + .noinit) 
Так что туда можно запихнуть не только ПИД регулятор, но ещё и другую разную логику, и реализацию modbus, и ещё место останется.

Для чего это надо вообще. Можно оформить мк с обвязкой в виде ПЛК и писать для него программы в IDE Beremiz на МЭК языках для тех, кто связан с автоматикой и не хочет сильно вдаваться в ЯВУ C/C++.

Из минусов текущей мой экспериментальной реализации:
- отладчик пока отключен, т.к. я не знаю как он устроен и насколько требователен к ресурсам;
- отключено логирование, т.к. кушает ОЗУ.

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

Буду тестировать доступный функционал.
Вложения
picture_20171029_02.pdf
(12.66 КБ) 385 скачиваний
picture_20171029_01.pdf
(12.65 КБ) 316 скачиваний
Россия навсегда!
svetozar161
Сообщения: 72
Зарегистрирован: Пт янв 13, 2017 11:48 pm
Благодарил (а): 6 раз
Поблагодарили: 3 раза

Re: ПЛК (Arduino Mega 2560 + W5100)

Сообщение svetozar161 » Чт ноя 01, 2018 11:09 pm

Прикольно! Я так понял вы все-таки вернулись к st хотя в первых постах его поносИли)) Из всего текста я понял, что на мегу заливается своего рода бутлодырь с системой типа RTOS на st? И все это крутится? ХАЧУ!!!!))))
Ответить