ПЛК (Arduino Mega 2560 + W5100)
Модератор: Alex
- uni
- Сообщения: 191
- Зарегистрирован: Вс июл 26, 2015 9:21 pm
- Откуда: Екатеринбург
- Благодарил (а): 4 раза
- Поблагодарили: 7 раз
- Контактная информация:
Re: ПЛК (Arduino Mega 2560 + W5100)
Да, Alex, там человек двигался в том же направлении, но где-то застрял по пути. Статья старая. Он там обещался на Arduino перевести, но, видимо, руки не дошли.
Я написал свой простой командный интерпретатор, но с удовольствием заменил бы его на более продвинутый, если смогу его вставить в свой код.
Я написал свой простой командный интерпретатор, но с удовольствием заменил бы его на более продвинутый, если смогу его вставить в свой код.
Россия навсегда!
- uni
- Сообщения: 191
- Зарегистрирован: Вс июл 26, 2015 9:21 pm
- Откуда: Екатеринбург
- Благодарил (а): 4 раза
- Поблагодарили: 7 раз
- Контактная информация:
Re: ПЛК (Arduino Mega 2560 + W5100)
Подцепил microrl к своему проекту. Со скрипом, но работает. Не так просто оказалось внедрить сишные исходники в C++ проект. Мусор в telnet клиенте всё ещё присутствует и не даёт нормально вывод делать. Пожалуй, буду использовать эту библиотеку в качестве парсера командной строки. Историю и автодополнение до ума не доводил, т.к. это требует отдельного исследования. Я так до сих пор и не могу понять на счёт того какие соглашения по кодам клавиш и их сочетаний используется в telnet протоколе.
Уже жить стало веселей. Я могу удалённо исполнять команды, пользуясь любым telnet клиентом (пробовал зайти с линуксовой машины). Надо только с мусором разобраться.
Уже жить стало веселей. Я могу удалённо исполнять команды, пользуясь любым telnet клиентом (пробовал зайти с линуксовой машины). Надо только с мусором разобраться.
Россия навсегда!
- uni
- Сообщения: 191
- Зарегистрирован: Вс июл 26, 2015 9:21 pm
- Откуда: Екатеринбург
- Благодарил (а): 4 раза
- Поблагодарили: 7 раз
- Контактная информация:
Re: ПЛК (Arduino Mega 2560 + W5100)
Ещё один простой интерпретатор: Basic и Arduino.
Но мне больше по душе переделка picoc для исполнения программы с SD-карты напрямую. Судя по отзывам (я ещё не смотрел толком), picoc загружает текст программы в ОЗУ целиком, что для avr бессмысленно (нет столько памяти). Но вот если бы сделать "файлы, отображаемые в память", то можно было бы держать в ОЗУ только буфер с небольшой частью кода и менять его при необходимости. В этом случае в ОЗУ можно будет хранить только служебные данные, переменные программы и область стека. Сам же размер программы может быть неограниченным. Такой бы интерпретатор вполне подошёл бы для моих задач.
Но мне больше по душе переделка picoc для исполнения программы с SD-карты напрямую. Судя по отзывам (я ещё не смотрел толком), picoc загружает текст программы в ОЗУ целиком, что для avr бессмысленно (нет столько памяти). Но вот если бы сделать "файлы, отображаемые в память", то можно было бы держать в ОЗУ только буфер с небольшой частью кода и менять его при необходимости. В этом случае в ОЗУ можно будет хранить только служебные данные, переменные программы и область стека. Сам же размер программы может быть неограниченным. Такой бы интерпретатор вполне подошёл бы для моих задач.
Россия навсегда!
-
- Сообщения: 791
- Зарегистрирован: Пт янв 22, 2016 10:08 am
- Благодарил (а): 6 раз
- Поблагодарили: 63 раза
Re: ПЛК (Arduino Mega 2560 + W5100)
это слишком медленно для avr,взять хотя бы отсутствие dmaНо вот если бы сделать "файлы, отображаемые в память", то можно было бы держать в ОЗУ только буфер с небольшой частью кода и менять его при необходимости. В этом случае в ОЗУ можно будет хранить только служебные данные, переменные программы и область стека. Сам же размер программы может быть неограниченным. Такой бы интерпретатор вполне подошёл бы для моих задач.
может быть лучше использовать байт код
- uni
- Сообщения: 191
- Зарегистрирован: Вс июл 26, 2015 9:21 pm
- Откуда: Екатеринбург
- Благодарил (а): 4 раза
- Поблагодарили: 7 раз
- Контактная информация:
Re: ПЛК (Arduino Mega 2560 + W5100)
Если взять буфер чтения 512 байт и больше, то можно читать со скоростью от 300 Кб/сек (см. статистику тут). Т.е. задержка будет при переключении страницы порядка нескольких миллисекунд (и меньше). В среднем задержка будет ещё меньше, т.к. страницы будут переключаться не каждую команду.
Россия навсегда!
-
- Сообщения: 791
- Зарегистрирован: Пт янв 22, 2016 10:08 am
- Благодарил (а): 6 раз
- Поблагодарили: 63 раза
Re: ПЛК (Arduino Mega 2560 + W5100)
это сбтатистика елм чена,в ардуине поменьше будет,вообщем пробовать надо.Если взять буфер чтения 512 байт и больше, то можно читать со скоростью от 300 Кб/сек (см. статистику тут)
- uni
- Сообщения: 191
- Зарегистрирован: Вс июл 26, 2015 9:21 pm
- Откуда: Екатеринбург
- Благодарил (а): 4 раза
- Поблагодарили: 7 раз
- Контактная информация:
Re: ПЛК (Arduino Mega 2560 + W5100)
Я не привязан к Arduino Framework и буду использовать его драйвер файловой системы (FatFs). Я пробовал PetitFs и скорость была хорошая (несколько лет назад писал панельный файловый менеджер на ATmega16 @ 16 МГц), но она слишком урезанная. Я обернул исходники PetitFS в C++ код, т.к. иначе пользоваться ими неудобно. Может быть временно пока буду PetitFS использовать, а потом и до FatFs дойдут руки.
П.С. Вспомнил мои эксперименты с PetitFS. Для буфера 512 байт получал скорость 326 Кб/сек (ATmega16 @ 16 МГц), что не плохо.
П.С. Вспомнил мои эксперименты с PetitFS. Для буфера 512 байт получал скорость 326 Кб/сек (ATmega16 @ 16 МГц), что не плохо.
Россия навсегда!
-
- Сообщения: 791
- Зарегистрирован: Пт янв 22, 2016 10:08 am
- Благодарил (а): 6 раз
- Поблагодарили: 63 раза
Re: ПЛК (Arduino Mega 2560 + W5100)
PetitFs я тоже пробовал,очень даже не плохо,но все равно будет медленно,нет аппаратной поддежки,но если требования по скорости не слишком жесткие то можно и так,а может быть рассмотреть подключение внешней SRAM,у вашего контроллера есть паралельный порт.
- uni
- Сообщения: 191
- Зарегистрирован: Вс июл 26, 2015 9:21 pm
- Откуда: Екатеринбург
- Благодарил (а): 4 раза
- Поблагодарили: 7 раз
- Контактная информация:
Re: ПЛК (Arduino Mega 2560 + W5100)
Да, есть shield с внешней SRAM аж до 512 Кб (банки можно переключать по-разному), но совместимость со всей остальной обвязкой (см ниже) под вопросом.
Я ещё хочу заказать:
- кнопки (3х4);
- индикатор (пока 1602);
- планку с 8 реле;
- несколько транзисторных ключей;
- драйверы RS-485;
Должен получиться процессорный модуль с небольшим количеством дискретных входов/выходов, индикатором, кнопочным полем, 3-мя RS-485, 1 - RS-232. Тогда уже интересней на picoc всем этим хозяйством управлять.
Я ещё хочу заказать:
- кнопки (3х4);
- индикатор (пока 1602);
- планку с 8 реле;
- несколько транзисторных ключей;
- драйверы RS-485;
Должен получиться процессорный модуль с небольшим количеством дискретных входов/выходов, индикатором, кнопочным полем, 3-мя RS-485, 1 - RS-232. Тогда уже интересней на picoc всем этим хозяйством управлять.
Россия навсегда!
-
- Сообщения: 791
- Зарегистрирован: Пт янв 22, 2016 10:08 am
- Благодарил (а): 6 раз
- Поблагодарили: 63 раза
Re: ПЛК (Arduino Mega 2560 + W5100)
а память spi или паралельная,лучше конечно паралельную,быстродействие выше но сложней схемотехнически