ПЛК (Arduino Mega 2560 + W5100)

Модератор: Alex

cg_shura
Сообщения: 110
Зарегистрирован: Пт авг 14, 2015 11:24 am
Благодарил (а): 3 раза
Поблагодарили: 6 раз

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

Сообщение cg_shura » Пн сен 11, 2017 4:11 pm

uni писал(а):Мне нужна дешёвая платформа для автоматизации, т.к. я хочу десятками использовать эти модули и мне не хочется платить по 15-60 т.р. за одну штуку. Мы вот на работе продаём минимальный ПЛК за 30 т.р. примерно. Китайских аналогов не видел пока, так бы их взял. Пробовал Wecon LX3V, но функционал его не стоит его денег, если сравнить с моей поделкой.
Можете озвучить трабования к такой платформе? И максимальную стоимость.
Аватара пользователя
uni
Сообщения: 191
Зарегистрирован: Вс июл 26, 2015 9:21 pm
Откуда: Екатеринбург
Благодарил (а): 4 раза
Поблагодарили: 7 раз
Контактная информация:

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

Сообщение uni » Пн сен 11, 2017 4:15 pm

Можно взять любой линуксовый, но его нужно обслуживать (знать линукс и прочее) и грузится он неопределённое время. Если я захочу программу на C/C++ написать, то виртуальная машина понадобится, размером от 15 Гб и выше (либо ПК с линуксом). У меня на работе всё это есть и мне не хочется с этим всем связываться.
За это сообщение автора uni поблагодарил:
SolarW (Пн сен 11, 2017 9:54 pm)
Рейтинг: 1.16%
Россия навсегда!
Аватара пользователя
uni
Сообщения: 191
Зарегистрирован: Вс июл 26, 2015 9:21 pm
Откуда: Екатеринбург
Благодарил (а): 4 раза
Поблагодарили: 7 раз
Контактная информация:

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

Сообщение uni » Пн сен 11, 2017 4:19 pm

Можете озвучить трабования к такой платформе? И максимальную стоимость.
Я уже где-то писал, что хочу ПЛК, которые стоят и выглядят похожими на серию ПЛК NLcon от RealLab. Но софт у них убогий и вообще они не реализовывают потенциал ATmega никак, мол - пишите сами.
Там, кстати, видна разница между ценами на ПЛК.

П.С. Причём, не обязательно на avr это делать. Я пишу на C++ для мк и стараюсь это делать так, чтобы потом можно было перенести код на arm.
Россия навсегда!
alexsis_76
Сообщения: 791
Зарегистрирован: Пт янв 22, 2016 10:08 am
Благодарил (а): 6 раз
Поблагодарили: 63 раза

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

Сообщение alexsis_76 » Пн сен 11, 2017 4:21 pm

Если я захочу программу на C/C++ написать, то виртуальная машина понадобится
понадобится только си компилятор,кстати си там настоящий а не урезанный с поддежкой многопоточности
грузится он неопределённое время
ну секунд 30.
но его нужно обслуживать (знать линукс и прочее)
тут не поспоришь.
cg_shura
Сообщения: 110
Зарегистрирован: Пт авг 14, 2015 11:24 am
Благодарил (а): 3 раза
Поблагодарили: 6 раз

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

Сообщение cg_shura » Пн сен 11, 2017 4:23 pm

uni писал(а):
Можете озвучить трабования к такой платформе? И максимальную стоимость.
Я уже где-то писал, что хочу ПЛК, которые стоят и выглядят похожими на серию ПЛК NLcon от RealLab. Но софт у них убогий и вообще они не реализовывают потенциал ATmega никак, мол - пишите сами.
А разве ваш девайс будет поддерживать языки МЭК? Или как он будет программироваться?
alexsis_76
Сообщения: 791
Зарегистрирован: Пт янв 22, 2016 10:08 am
Благодарил (а): 6 раз
Поблагодарили: 63 раза

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

Сообщение alexsis_76 » Пн сен 11, 2017 4:31 pm

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

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

Сообщение uni » Пн сен 11, 2017 4:33 pm

Я подумываю на счёт МЭК из проекта Beremiz. Там используется специальный преобразователь кода с МЭК языков на c. Поэтому теоретически, думается, можно будет писать на МЭК простые программы даже на ST. Я сильно не смотрел на листинги получающегося с-кода, но почему бы ему не войти в 250 Кб? По-моему должен.

Я предполагаю несколько вариантов использования:

- программирование в: Arduino, AVR | Atmel Studio, Bascom AVR, и пр. подобные;
- с внешней SRAM использование интерпретатора picoc;
- программирование при помощи системы Beremiz на МЭК языках;
- без использования программирования, а только конфигурирование, т.е. создаётся каталог программ прошивок для типичных целей автоматизации: управление насосами с ротацией, модуль ввода/вывода и пр.

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

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

Сообщение uni » Вт сен 12, 2017 8:03 pm

Разобрался с загрузчиками. Оказывается не всё так просто. Прошивать можно только находясь в boot секции, из пользовательского кода этого сделать нельзя (так устроен мк avr). Поэтому вернулся к первоначальному варианту: 4 Кб - мой загрузчик и 0-4 Кб - загрузчик, считываемый с sd-карты. Пишу второй выше своего. Итого занято всё возможное место boot секции.

Так что вариант с web загрузкой нужно делать с сохранением на карту памяти и при этом мой загрузчик нужен чуть изменённый. Можно вообще встроить обновление просто в код программы, а для перешивки пользователь должен перейти в загрузку. Так будет даже лучше - останется один вариант загрузчика.

Баловался с обрезанным наполовину arduino-загрузчиком (без монитора). Вроде работает. Также с этим загрузчиком работает встроенная в AVR Studio утилита прошивки (не AVRPROG, а другая, не знаю как называется).

Пока с загрузчиками всё. Буду тестировать, потом выложу окончательный вариант, исходя из удобства использования. Нужно ещё доку написать сопроводительную, где пояснить фокус со вторым загрузчиком. Нигде раньше такого не видел метода. Люблю uniверсальность.

Теперь займусь сокетами. Давно откладываю, но теперь я могу загружать программу без JTAG'а
Россия навсегда!
alexsis_76
Сообщения: 791
Зарегистрирован: Пт янв 22, 2016 10:08 am
Благодарил (а): 6 раз
Поблагодарили: 63 раза

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

Сообщение alexsis_76 » Ср сен 13, 2017 1:32 am

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

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

Сообщение uni » Ср сен 13, 2017 9:33 am

Вы только сейчас это открыли?
Я раньше самопрограммированием никогда не занимался и ещё ввёл в заблуждение флаг запрета прошивки из пользовательского пространства (есть такой lock bit: BLB0: LPM and SPM prohibited in Application Section). Не совсем понятно пока как его понимать. Он у меня не установлен, но писать я не могу.
основной boot оставляете в boot секции,пишите второй загрузчик и говорите линкеру поместить его где то в конце памяти программ,ну и пишите контролируя сколько написали чтобы не затереть самого себя.
Я так и делаю:
Пишу второй выше своего. Итого занято всё возможное место boot секции.
а в качестве сетевого адаптера что используете?
Пока Ethernet Shield W5100, т.к. он есть в наличии. Хочу перейти на W5500, но пока аналогичных плат ещё не смотрел на али. У меня будет много сокетов (httpd, ftpd, telnetd, modbus tcp slave) и 4-х на W5100 уже не достаточно (если они будут работать одновременно). Если я ещё захочу, к примеру, modbus tcp master и опрашивать МВВ, то придётся как-то их включать/отключать по очереди.
Хотелось бы плату, на которой уже есть avr и w5500. У меня в планах не написано, но мне уже пора давно разводить свою плату. Я пока этого не делаю, т.к. нужно сначала разные конфигурации протестировать (экран, кнопки, rtc, rs-485, sram, ...) чтобы определиться с тем как универсально подключать всю периферию. Нужно ещё отделить модуль CPU от остального, чтобы я потом мог безболезненно перейти на arm, заменив плату CPU.
Россия навсегда!
Ответить