ПЛК (Arduino Mega 2560 + W5100)

Модератор: Alex

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

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

Сообщение uni » Ср сен 28, 2016 10:53 am

Да, Alex, там человек двигался в том же направлении, но где-то застрял по пути. Статья старая. Он там обещался на Arduino перевести, но, видимо, руки не дошли.

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

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

Сообщение uni » Ср сен 28, 2016 10:36 pm

Подцепил microrl к своему проекту. Со скрипом, но работает. Не так просто оказалось внедрить сишные исходники в C++ проект. Мусор в telnet клиенте всё ещё присутствует и не даёт нормально вывод делать. Пожалуй, буду использовать эту библиотеку в качестве парсера командной строки. Историю и автодополнение до ума не доводил, т.к. это требует отдельного исследования. Я так до сих пор и не могу понять на счёт того какие соглашения по кодам клавиш и их сочетаний используется в telnet протоколе.

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

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

Сообщение uni » Вт окт 04, 2016 12:37 pm

Ещё один простой интерпретатор: Basic и Arduino.

Но мне больше по душе переделка picoc для исполнения программы с SD-карты напрямую. Судя по отзывам (я ещё не смотрел толком), picoc загружает текст программы в ОЗУ целиком, что для avr бессмысленно (нет столько памяти). Но вот если бы сделать "файлы, отображаемые в память", то можно было бы держать в ОЗУ только буфер с небольшой частью кода и менять его при необходимости. В этом случае в ОЗУ можно будет хранить только служебные данные, переменные программы и область стека. Сам же размер программы может быть неограниченным. Такой бы интерпретатор вполне подошёл бы для моих задач.
Россия навсегда!
alexsis_76
Сообщения: 791
Зарегистрирован: Пт янв 22, 2016 10:08 am
Благодарил (а): 6 раз
Поблагодарили: 63 раза

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

Сообщение alexsis_76 » Пт окт 07, 2016 4:46 am

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

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

Сообщение uni » Пт окт 07, 2016 1:25 pm

Если взять буфер чтения 512 байт и больше, то можно читать со скоростью от 300 Кб/сек (см. статистику тут). Т.е. задержка будет при переключении страницы порядка нескольких миллисекунд (и меньше). В среднем задержка будет ещё меньше, т.к. страницы будут переключаться не каждую команду.
Россия навсегда!
alexsis_76
Сообщения: 791
Зарегистрирован: Пт янв 22, 2016 10:08 am
Благодарил (а): 6 раз
Поблагодарили: 63 раза

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

Сообщение alexsis_76 » Пт окт 07, 2016 2:08 pm

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

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

Сообщение uni » Пт окт 07, 2016 2:45 pm

Я не привязан к Arduino Framework и буду использовать его драйвер файловой системы (FatFs). Я пробовал PetitFs и скорость была хорошая (несколько лет назад писал панельный файловый менеджер на ATmega16 @ 16 МГц), но она слишком урезанная. Я обернул исходники PetitFS в C++ код, т.к. иначе пользоваться ими неудобно. Может быть временно пока буду PetitFS использовать, а потом и до FatFs дойдут руки.

П.С. Вспомнил мои эксперименты с PetitFS. Для буфера 512 байт получал скорость 326 Кб/сек (ATmega16 @ 16 МГц), что не плохо.
Россия навсегда!
alexsis_76
Сообщения: 791
Зарегистрирован: Пт янв 22, 2016 10:08 am
Благодарил (а): 6 раз
Поблагодарили: 63 раза

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

Сообщение alexsis_76 » Пт окт 07, 2016 3:17 pm

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

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

Сообщение uni » Пт окт 07, 2016 4:00 pm

Да, есть shield с внешней SRAM аж до 512 Кб (банки можно переключать по-разному), но совместимость со всей остальной обвязкой (см ниже) под вопросом.

Я ещё хочу заказать:
- кнопки (3х4);
- индикатор (пока 1602);
- планку с 8 реле;
- несколько транзисторных ключей;
- драйверы RS-485;

Должен получиться процессорный модуль с небольшим количеством дискретных входов/выходов, индикатором, кнопочным полем, 3-мя RS-485, 1 - RS-232. Тогда уже интересней на picoc всем этим хозяйством управлять.
Россия навсегда!
alexsis_76
Сообщения: 791
Зарегистрирован: Пт янв 22, 2016 10:08 am
Благодарил (а): 6 раз
Поблагодарили: 63 раза

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

Сообщение alexsis_76 » Пт окт 07, 2016 4:06 pm

а память spi или паралельная,лучше конечно паралельную,быстродействие выше но сложней схемотехнически
Ответить