ПЛК (Arduino Mega 2560 + W5100)

Модератор: Alex

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

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

Сообщение uni » Чт сен 14, 2017 4:11 pm

Случайно узнал, что в примерах использования библиотеки LUFA есть Webserver на базе usb и драйвера RNDIS. Если эта штука действительно работает, то для ПЛК и прочих устройств можно обойтись только одним USB разъёмом, чтобы конфигурировать его через web-интерфейс. Т.е. не нужен Ethernet Shield. Буквально нужен мк, несколько деталек и USB разъём.
Если на основе этого примера сделать загрузчик, то никаких других больше может не понадобится. Конечно, вряд ли он поместится в 8 Кб, но у меня есть идея как сделать загрузчик произвольного размера.
Таким образом, если программе не нужен Ethernet, то можно наполовину удешевить устройство, а конфигурировать его всё равно через web, а файлы сливать через ftp. Пожалуй надо проверить работу этого примера.
Россия навсегда!
cg_shura
Сообщения: 110
Зарегистрирован: Пт авг 14, 2015 11:24 am
Благодарил (а): 3 раза
Поблагодарили: 6 раз

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

Сообщение cg_shura » Чт сен 14, 2017 5:41 pm

uni писал(а):Случайно узнал, что в примерах использования библиотеки LUFA есть Webserver на базе usb и драйвера RNDIS. Если эта штука действительно работает, то для ПЛК и прочих устройств можно обойтись только одним USB разъёмом, чтобы конфигурировать его через web-интерфейс.
Это еще и драйвер надо будет ставить? Лучше уж HID.
Аватара пользователя
uni
Сообщения: 191
Зарегистрирован: Вс июл 26, 2015 9:21 pm
Откуда: Екатеринбург
Благодарил (а): 4 раза
Поблагодарили: 7 раз
Контактная информация:

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

Сообщение uni » Чт сен 14, 2017 6:08 pm

В Windows 7 этот драйвер встроен, но устройство может не опознаться, поэтому сетевую карту нужно назначить вручную. Либо, видимо, использовать приложенный в проекте inf файл. Там связь видимо и прописана, не проверял.
Россия навсегда!
cg_shura
Сообщения: 110
Зарегистрирован: Пт авг 14, 2015 11:24 am
Благодарил (а): 3 раза
Поблагодарили: 6 раз

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

Сообщение cg_shura » Чт сен 14, 2017 6:11 pm

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

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

Сообщение uni » Чт сен 14, 2017 6:13 pm

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

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

Сообщение uni » Чт сен 14, 2017 9:35 pm

Если я правильно всё подставил для iar'а, то он сократил мне код на ~540 байт. Проверить работоспособность не могу, так как не знаю как в iar сказать компоновщику переместить код в секцию загрузчика.
Исходик обновил в svn.
Россия навсегда!
alexsis_76
Сообщения: 791
Зарегистрирован: Пт янв 22, 2016 10:08 am
Благодарил (а): 6 раз
Поблагодарили: 63 раза

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

Сообщение alexsis_76 » Пт сен 15, 2017 1:32 am

Случайно узнал, что в примерах использования библиотеки LUFA есть Webserver на базе usb и драйвера RNDIS. Если эта штука действительно работает, то для ПЛК и прочих устройств можно обойтись только одним USB
а вы в макефайл заглядывали
MCU = at90usb1287
ARCH = AVR8
BOARD = USBKEY
F_CPU = 8000000
там аппаратный usb,максимум что вы можете получить на avr это низкоскоростной девайс.
если хотите usb то попробуйте pic-24,он дешев,имеет аппаратный usb(host,device)имеет кучу готового кода который работает,есть загрузчик который умеет загружаться с флешки.
Аватара пользователя
uni
Сообщения: 191
Зарегистрирован: Вс июл 26, 2015 9:21 pm
Откуда: Екатеринбург
Благодарил (а): 4 раза
Поблагодарили: 7 раз
Контактная информация:

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

Сообщение uni » Пт сен 15, 2017 7:34 am

Да, я заглядывал, но это меня вряд ли остановит :)
Для конфигурирования устройства 15-24 Кб/сек вполне достаточно, также как и для его прошивки. Главное, чтобы собралось это всё. Пока поставлю себе на заметку, т.к. и на arm'е это вполне можно использовать. Будет время, займусь исследованием. V-USB я как-то пробовал, вроде работало. Прошивку через web можно было бы сделать стандартным загрузчиком, пожертвовав при этом некоторым пространством во флеш.

Что касается uniboot. Я не написал, но подразумевается, что вторые загрузчики собраны так, что располагаются с адреса 0x3F000. Это значение константы BOOT2_ADR. Т.е. нельзя просто взять бинарик загрузчика и зашить выше моего. Работать вряд ли будет, т.к. код может зависеть от расположения в памяти.
Россия навсегда!
cg_shura
Сообщения: 110
Зарегистрирован: Пт авг 14, 2015 11:24 am
Благодарил (а): 3 раза
Поблагодарили: 6 раз

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

Сообщение cg_shura » Пт сен 15, 2017 8:30 am

uni писал(а):В наших ПЛК это один из стандартных способов работы с CoDeSys.
Означает ли это что для подключения ваших ПЛК не надо привлекать админа?
alexsis_76
Сообщения: 791
Зарегистрирован: Пт янв 22, 2016 10:08 am
Благодарил (а): 6 раз
Поблагодарили: 63 раза

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

Сообщение alexsis_76 » Пт сен 15, 2017 11:22 am

Да, я заглядывал, но это меня вряд ли остановит
так он на avr не будет работать
Ответить