Страница 7 из 21
Re: ПЛК (Arduino Mega 2560 + W5100)
Добавлено: Пн окт 24, 2016 12:15 pm
uni
Я пишу примерно те же вещи с использованием uClinux (ARM LPC2468) на C++. И что с того? Да, некоторые вещи стали проще, а вот сопровождение всего этого хозяйства гораздо, гораздо сложнее. Не говоря уже о том, что чем "больше" ОС, тем дольше она загружается. Я не хочу ждать минуту, пока моё устройство загрузится. Для одних решений это не принципиально, но мне лично хочется, чтобы моё устройство стартовало с задержкой порядка нескольких секунд. С линуксом это сделать практически невозможно (нужно быть очень большим гуру, чтобы отключить всё ненужное при старте).
Это только кажется, что большие и мощные камни дадут вам подавляющее преимущество. Вы попробуйте отладить всё это дело или сделать так, чтобы сопровождение было несложным. За всё надо платить.
Меня вполне устроит реализация на avr, т.к. с ней просто проще работать, если не требовать чего-то действительно невозможного.
Re: ПЛК (Arduino Mega 2560 + W5100)
Добавлено: Пн окт 24, 2016 12:22 pm
alexsis_76
Это только кажется, что большие и мощные камни дадут вам подавляющее преимущество
это точно,если что то пойдет не так(а оно так и бывает)на отладке можно повеситься.
я вот сейчас пытаюсь(еще не начал)подключить usb камеру к микроконтроллеру.
Re: ПЛК (Arduino Mega 2560 + W5100)
Добавлено: Пн окт 24, 2016 2:03 pm
nightwind
alexsis_76 писал(а):Это только кажется, что большие и мощные камни дадут вам подавляющее преимущество
это точно,если что то пойдет не так(а оно так и бывает)на отладке можно повеситься.
на чем там вешаться?? наоборот хоть пошагово ходи, хоть брэйки любые ставь. это на аврках приходилось тупо в уарт писать, а если вис, то капец. проще там конечно все и разжевано давно, это да. а на "больших камнях" там только инициализация весит больше, чем памяти в меге) но это только поначалу страшно)
Re: ПЛК (Arduino Mega 2560 + W5100)
Добавлено: Пн окт 24, 2016 2:11 pm
uni
Хороший репозиторий с freemodbus. Я пробовал только демку с LinuxTCP (tcp slave). Работает.
Давно искал нечто похожее, чтобы шлюз сделать на Arduino Mega 2560 (tcp <-> modbus rtu). Теперь, похоже, будет гораздо легче это сделать.
1.
freemodbus .
Re: ПЛК (Arduino Mega 2560 + W5100)
Добавлено: Ср окт 26, 2016 3:10 pm
uni
Кстати, modbus можно использовать в качестве отладчика. Как-то не пришло раньше в голову, ведь у меня операционка и я могу один процесс задействовать под modbus pull. В регистры загнать все интересующие меня состояния и читать специальной программой (ibaPDA). Таким образом можно следить за изменениями с точностью n*10 мс (посмотрю по факту).
Выглядеть это будет так:

Re: ПЛК (Arduino Mega 2560 + W5100)
Добавлено: Ср окт 26, 2016 11:34 pm
alexsis_76
Кстати, modbus можно использовать в качестве отладчика
обычно uart используют,а еще лучше полноценный отладчик
Re: ПЛК (Arduino Mega 2560 + W5100)
Добавлено: Чт ноя 10, 2016 8:03 am
uni
Похоже, что мне есть у кого подсмотреть идеи:
OpenPLC . Если можно их код запустить на Arduino Mega, то можно пока использовать их технологию. Там есть редактор и можно писать код на ST.
Re: ПЛК (Arduino Mega 2560 + W5100)
Добавлено: Ср ноя 23, 2016 12:28 pm
uni
Новости. Мне удалось собрать picoc для AVR. Первая черновая сборка требует следующие ресурсы:
Код: Выделить всё
AVR Memory Usage
----------------
Device: atmega2560
Program: 72236 bytes (27.6% Full)
(.text + .data + .bootloader)
Data: 8679 bytes (105.9% Full)
(.data + .bss + .noinit)
Я выбросил части кода, которые требуют для себя реализацию работы с файловой системой. Также выкинул код, для которого нет функций в библиотеках для avr мк. Практически я теперь могу промоделировать работу интерпретатора в Proteus, нужно только пересобрать код с поддержкой внешнего ОЗУ. Постепенно, просматривая код в отладчике можно уменьшить требования к ОЗУ, перенеся все строки во флеш. Не оценивал ещё сколько это освободит памяти. Далее нужно разобраться каким образом происходит интерпретация. Я не могу исходник загрузить в ОЗУ целиком, поэтому нужно будет переписать ту часть кода, которая работает с исходником как с целым, если это так на самом деле.
Re: ПЛК (Arduino Mega 2560 + W5100)
Добавлено: Вс мар 26, 2017 7:36 pm
uni
Давно меня не было. Занимался адаптацией modbus-rtu, petitfs и scmRTOS. Очень тяжело сводить всё в одно. Пока могу доложить, что выпилил часть строк из ОЗУ, но места свободного всё равно мало. Буду пробовать исполнять простейшие Си-программы из нескольких команд. Petitfs завёлся с моим сборочным окружением, так что буду исполнять программы прямо с SD-карты, в виде файлов исходников.
Далее нужно поднять простейший web-сервер с поддержкой ajax post-запросов на сокетах, чтобы компактней было.
Тогда я получаю гибкое решение, где могу хоть и примитивно, но хранить всю логику во внешних си-файлах, а состояние системы я могу получать через ajax-запросы, считывая значения глобальных переменных из контекста интерпретатора.
В общем, к чему всё и шло: загружаем сценарии прямо в ПЛК и он автономно их исполняет. Можно по аналогии со старшими системами называть скрипты задачами и где-то прописать их цикличность. Останется только развести плату с внешней ОЗУ.
Что касается логики работы парсера. Его придётся немного переделать с учётом того, что он работает с файлом, считанным в ОЗУ полностью. Ясно, что это не вариант для мк и я переделаю его под работу с файлом определённой длины. Все операции чтения из ОЗУ превратятся в чтение файла с карточки с буфером в 512 байт.
Re: ПЛК (Arduino Mega 2560 + W5100)
Добавлено: Пн мар 27, 2017 2:27 am
alexsis_76
Да,титанический труд,а зачем си код если он будет храниться в виде исходников,с таким же успехом можно использовать любой другой язык.
Тогда я получаю гибкое решение, где могу хоть и примитивно
в том то и дело что примитивно, возможности будут сильно ограничены, ну и скорость?
может лучше посмотреть в сторону LINUX на малине или апельсине,там и памяти вагон и частота высокая и интерпретаторы готовые, сервер настоящий?