Страница 13 из 21

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

Добавлено: Сб апр 01, 2017 5:08 pm
uni
Можно исполнить Arduino Mega2560 + W5500 и вот в таком стиле.

Это китайская простенькая панель оператора OP320 с наклейкой ОВЕН. Тем не менее, экраны для неё формируются внешним конфигуратором (тоже китайской программой, только русифицированной) в виде полноценного проекта.

Ссылки:

1. Руководство на ИП320 (pdf).
2. Руководство на оригинальную китайскую панель OP320 (pdf).

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

Добавлено: Вс апр 02, 2017 11:34 am
uni
Собрал таки наконец-то сервер ftp. Проверил, работает с Total Commander'ом: вход с паролем, копирование, замена, удаление файлов, просмотр списка файлов, чтение файлов.

Тестовый пример требует следующие библиотеки: SPI, Ethernet, FatFs, FatLib, Streaming, SdFat, FtpServer.

Едем дальше.

П.С. По идее, сервер ftp должен быть составной частью AMS. У меня есть исходники ams 0.14, я их посмотрел, так просто вставить ftp сервер не получится. Нужно переписывать всю работу с sd-картой либо у ams, либо у ftp сервера, т.е. они не совместимы по используемой библиотеке работы с карточкой. Чем мне и не нравится Arduino Framework вообще и почему я стараюсь собирать код отдельно от него. Отдельные проекты разных товарищей используют разное окружение и собрать их вместе потом как правило невозможно. Слишком всё наворочено и взаимосвязано. Ещё у мня есть подозрение, что те, кто пишут библиотеки, имеют фирменный atmel'овский отладчик и специальное отладочное железо. Поэтому другим товарищам будет трудно что-то исправить.

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

C:/Arduino/hardware/tools/avr/bin/avr-size --mcu=atmega2560 -C --format=avr build-mega/FtpServer.elf
AVR Memory Usage
----------------
Device: atmega2560

Program:   42740 bytes (16.3% Full)
(.text + .data + .bootloader)

Data:       2878 bytes (35.1% Full)
(.data + .bss + .noinit) 
Ссылки:

1. Arduino-Ftp-Server .

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

Добавлено: Вс апр 02, 2017 7:13 pm
uni
Удалось добраться до чтения тестового скрипта с sd-карты. Пока picoc что-то не может найти функции main(), причину выясняю. К сожалению, железный отладчик с большим трудом бродит по коду, поэтому буду разбираться с проблемой в Proteus. Победа близка.
Если удастся запустить хотя бы какой-то скрипт, то дальше возьмусь за исследования доступных возможностей интерпретатора в текущей ограниченной конфигурации. Нужно будет добавить оболочку, которая запускала бы picoc из терминала с параметром в виде имени файла скрипта.

После можно будет ваять свою плату специально для такого решения.

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

Добавлено: Вт апр 04, 2017 11:12 am
uni
У кого есть желание поиграться с picoc я собрал его для Windows. Жаль сразу не обратил внимания на проект в Visual Studio, там смотреть как всё работает гораздо проще, чем под avr.

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

Добавлено: Вт апр 04, 2017 7:19 pm
uni
Ура, товарищи. Первый "Hello, world!" был исполнен. Как в Proteus, так и в реальном железе. Не думал, что смогу сделать это без внешней ОЗУ. Она, правда, всё равно нужна, но вполне реально, оказывается выполнить скрипт на Arduino Mega2560. Но не будем расслабляться. Не плохо бы замутить командную оболочку, которая бы понимала команду picoc файл аргументы.
В ближайшее время займусь обзором возможностей текущей сборки. Вряд ли они конечно обширны. Прежде всего меня интересует (де)фрагментация памяти. Желательно научиться запускать скрипт при одинаковых условиях, иначе вся память может улетучиться после нескольких запусков. Ещё можно думать о API, который будет представлять из себя периферию мк и будет доступен внутри скрипта.

Если получится исполнять хоть и мелкие, но вполне на си похожие скрипты, то можно будет сделать сборку для обучения программирования на Си при помощи Arduino без компиляции. Теоретически я могу включить стандартные функции Arduino Framework в такую прошивку. Было бы здорово, я думаю. Вот если бы удалось совместить код ещё с ftp сервером, то вообще была бы красота. Надо будет попробовать.

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

Добавлено: Ср апр 05, 2017 6:06 pm
Alex
Тестовая плата AMS Home поступила в лабораторию Hi-Lab.ru для испытаний и заселения Arduino Mega Server в новый дом.

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

Добавлено: Пт апр 07, 2017 9:32 am
uni
Немного видео о процессе отладки интерпретатора. Пытаюсь запустить его в Proteus с внешней SRAM. Пока не получается.

Работа picoc без внешней SRAM: Сборка и тестирование интерпретатора C .

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

Добавлено: Пт апр 07, 2017 7:03 pm
uni
Блин, оказывается всё уже сделано до нас:

Ссылки:

1. MegaD-2561 - новая ступень в развитии проекта MegaD .
2. Ардуино-совместимый ПЛК CONTROLLINO, часть 1 .

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

Добавлено: Пт апр 07, 2017 9:30 pm
Alex
Почитал я — интересно. Особенно понравилась самоидентификация MegaD, цитата: «Контроллер MegaD-2561 по своей сути является исполнителем указаний центральной управляющей системы (сервера).» Коротко и ясно.

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

Добавлено: Пт апр 07, 2017 10:35 pm
SolarW
Alex писал(а):«Контроллер MegaD-2561 по своей сути является исполнителем указаний центральной управляющей системы (сервера).»
Что не мешает ему и некоторые автономные сценарии исполнять - самостоятельно включить свет при нажатии на кнопку даже в случае недоступности управляющего сервера, термостат там и т.д.
И вообще - за шесть лет Андрей с помощью сообщества неплохой продукт сделал.