Перейти к содержанию

Реализация Графического Языка Программирования Для Avr Контроллеров.


Lihouzov

Рекомендуемые сообщения

Скорее, что-то типа такого, такого или такого, то есть законченные блоки, а не заготовки, не имеющие ни корпуса, ни нормальных разъемов. Между прочим, все три блока, ссылки на которые я привел, умеют взаимодействовать с Labview, то есть в них действительно применяется графическое конфигурирование.

Ругался на отсутствие форматирования исходного кода (включая отсутствие осмысленных комментариев и наличие неубранного после конфигуратора мусора) не менее 15 раз.

Часть моих наработок.

Ссылка на комментарий
Поделиться на другие сайты

Какой смысл приводить полуфабрикаты как "пример законченного устройства"? К ним же без паяльника не подцепить ничего.

Ругался на отсутствие форматирования исходного кода (включая отсутствие осмысленных комментариев и наличие неубранного после конфигуратора мусора) не менее 15 раз.

Часть моих наработок.

Ссылка на комментарий
Поделиться на другие сайты

Сравнительное тестирование аккумуляторов EVE Energy и Samsung типоразмера 18650

Инженеры КОМПЭЛ провели сравнительное тестирование аккумуляторов EVE и Samsung популярного для бытовых и индустриальных применений типоразмера 18650. 

Для теста были выбраны аккумуляторы литий-никельмарганцевой системы: по два образца одного наименования каждого производителя – и протестированы на двух значениях тока разряда: 0,5 А и 2,5 А. Испытания проводились в нормальных условиях на электронной нагрузке EBD-USB от ZKEtech, а зарядка осуществлялась от лабораторного источника питания в режиме CC+CV в соответствии с рекомендациями в даташите на определенную модель. Подробнее>>

Реклама: АО КОМПЭЛ, ИНН: 7713005406, ОГРН: 1027700032161

Всем привет!

Какой смысл приводить полуфабрикаты как "пример законченного устройства"? К ним же без паяльника не подцепить ничего.

Конечно, готовые устройства это здорово минимум различных проблем, все уже отлажено покупай и радуйся. Но вопрос в цене, для простого проекта купи пару измерительных модулей ввода вывода, контроллер, программу и с трудом уложишься в 40-50 тыс. руб. Для своих экспериментов я купил ATtiny по 40 рублей.

Изначально при разработке проекта я выбрал открытый исходный код, я надеюсь что у кого либо еще будет интерес к проекту и проект в дальнейшем будет развиваться, будут добавляться новые типы микроконтроллеров, будет пополнятся база FBD блоков. В свою очередь я постараюсь объяснить как это все работает и как добавлять новые блоки.

Ссылка на комментарий
Поделиться на другие сайты

Новый аккумулятор EVE серии PLM для GSM-трекеров, работающих в жёстких условиях (до -40°С)

Компания EVE выпустила новый аккумулятор серии PLM, сочетающий в себе высокую безопасность, длительный срок службы, широкий температурный диапазон и высокую токоотдачу даже при отрицательной температуре. 

Эти аккумуляторы поддерживают заряд при температуре от -40/-20°С (сниженным значением тока), безопасны (не воспламеняются и не взрываются) при механическом повреждении (протыкание и сдавливание), устойчивы к вибрации. Они могут применяться как для автотранспорта (трекеры, маячки, сигнализация), так и для промышленных устройств мониторинга, IoT-устройств. Подробнее параметры и результаты тестов новой серии PLM по ссылке.

Реклама: АО КОМПЭЛ, ИНН: 7713005406, ОГРН: 1027700032161

Как вариант можно придумать несколько "ствндартных" схем, разработать для них платы, компоненты и корпуса, выбрав наиболее распространенные. Чтобы те, кому надо, могли бездумно повторить железяку и пользоваться. Тем же, кому интереснее разрабатывать свои устройства, платы и т.п. самостоятельно, наличие "стандартного" варианта ничуть не помешает делать свои модификации. Другой вопрос, нужен ли им графический конфигуратор.

В качестве интерфейсов логично выбрать BNC для аналоговых сигналов (АЦП/ЦАП, компаратор), клеммник/D-SUB для цифровых входов/выходов (в ряде случаев можно и для аналоговых, но это неудобно) и, хотя бы, COM-порт для связи с компьютером или исполнительными устойствами. Что с более редкими интерфейсами (SPI, I2C) делать не знаю. Вроде, каждый производитель придумывает им свои разъемы. Кстати, для конфигурирования контроллера (прошивки, если хотите) удобнее использовать самозагрузчик а не ISP-разъем.

Ругался на отсутствие форматирования исходного кода (включая отсутствие осмысленных комментариев и наличие неубранного после конфигуратора мусора) не менее 15 раз.

Часть моих наработок.

Ссылка на комментарий
Поделиться на другие сайты

Литиевые батарейки и аккумуляторы от мирового лидера  EVE в Компэл

Компания Компэл, официальный дистрибьютор EVE Energy, бренда №1 по производству химических источников тока (ХИТ) в мире, предлагает продукцию EVE как со склада, так и под заказ. Компания EVE широко известна в странах Европы, Америки и Юго-Восточной Азии уже более 20 лет. Недавно EVE была объявлена поставщиком новых аккумуляторных элементов круглого формата для электрических моделей «нового класса» компании BMW.

Продукция EVE предназначена для самого широкого спектра применений – от бытового до промышленного. Подробнее>>

Реклама: АО КОМПЭЛ, ИНН: 7713005406, ОГРН: 1027700032161

Какой смысл приводить полуфабрикаты как "пример законченного устройства"? К ним же без паяльника не подцепить ничего.

Это не законченное устройство, а пример возможной основы. Вычислительной базы, или "материнки", если хотите...

Ссылка на комментарий
Поделиться на другие сайты

Хорошая штука. Ее бы допилить под большее число контроллеров. Есть англоязычный форум. С помощью LadderLogic даже дисплей 1602 прицепить умудрились. Когда надо написать какой либо релейный автомат - само то! Исходный код открытый.

Все можно наладить, если вертеть в руках достаточно долго!

Если ничто другое не помогает, прочтите, наконец, инструкцию!

Ссылка на комментарий
Поделиться на другие сайты

Можно было бы добавить PIC12F675. А то маленьких корпусов с таким функционалом в списке нет. А ваш проект заслуживает внимания. Подобие сименсовского Микростеп. Но без привязки к определенной конфигурации.

Все можно наладить, если вертеть в руках достаточно долго!

Если ничто другое не помогает, прочтите, наконец, инструкцию!

Ссылка на комментарий
Поделиться на другие сайты

Да штука хорошая! А будет ли добавлена возможность использовать EEPROM?

Если есть желание, давайте добавим, я обязательно помогу.

Доработал программу, а именно библиотеку сборки проектов для AVR контроллеров "EvAVRbuilder.dll". При сборки проекта создаются всего два файла это ассемблерный файл полученной программы и непосредственна сама прошивка.

Ссылка на комментарий
Поделиться на другие сайты

Чуть оформил сайт:

http://horizontautom...e/AVR/index.php

К примеру нужно чтобы триггер и счётчик сохранял своё состояние.

Вероятно для работы с EEPROM можно сделать множество разнообразных блоков. Чтобы сэкономить на памяти можно отдельно создать библиотеку для чтения и записи данных в EEPROM, а в FBD блоках по необходимости ее подключать.

Наброски:

/*
*  library of EEPROM version 1.1
*
*  Created: 30.06.2015
*  Author: Lihouzov Evgeny
*/

#ifdef _lib_EEPROM_rd_wr_byte_
#message define Include library for EEPROM in __FILE__

//*********************************************************************
EEPROM_read_byte:            //Z-указатель A данные
  sbic EECR,  EEWE
  rjmp EEPROM_read_byte     //Wait for completion of previous write

.if EEPROMEND>=256
  out  EEARL, ZL            //Set address in address register
  out  EEARH, ZH            //Set address in address register
.else
  out  EEARL, ZL            //Set address in address register
.endif   
  sbi  EECR,  EERE          //Start eeprom read by writing EERE
  in   A,     EEDR          //Read data from data register
 ret                        //выходим
//*********************************************************************
EEPROM_write_byte:           //Z-указатель A данные
  sbic EECR,  EEWE
  rjmp EEPROM_write_byte    //Wait for completion of previous write
.if EEPROMEND>=256
  out  EEARH, ZH            //Set address in address register
  out  EEARL, ZL            //Set address in address register
.else
  out  EEAR,  ZL            //Set address in address register
.endif   
  out EEDR,   A             //Write data (r16) to data register
  sbi EECR,   EEMWE         //Write logical one to EEMPE
  sbi EECR,   EEWE          //Start eeprom write by setting EEPE
 ret                        //выходим
//*********************************************************************
#endif

Изменено пользователем Lihouzov
Ссылка на комментарий
Поделиться на другие сайты

  • 4 недели спустя...

Привет!

По работе столкнулся с задачей, для решения которой нужно что-то очень похожее на предмет обсуждения. Не буду дискутировать на тему необходимости такого способа программирования. Для моей задачи нужен. Если понадобится, то при случае поясню, почему нужен.

Для себя определил такие подходы для решения своей задачи:

1) среда исполнения - интерпретатор байт-кода. Мне нужны мобильность программ (пользовательской и среды исполнения) и возможность удалённой пошаговой отладки;

2) входной язык - IL подобный. Все прочие, LD, FBD и, возможно, ST, транслируются в IL;

3) строгое отделение логики пользовательской программы от аппаратного окружения. Например, есть логическая переменная, а откуда она берётся, с ножка кристалла или содержится в ответе модуля удалённого ввода-вывода, опредляется на этапе привязки пользовательского алгоритма к конкретному "железу";

4) среда разработки - платформонезависимая. У потенциально заказчика настоящий зоопарк компьютеров, работающих под Linux и Windows;

5) целевое "железо" - STM32F3 и F4.

Я так понимаю, что Конфигуратор может генерировать код функциональных блоков (ФБ) на любом языке. Посему замена вызова ассемблера для АВР на вызов ассемблера для моей виртуальной машины не должна представлять сложности.

Чего не хватает для моего проекта:

6) реализация GUI на кросплатформенной библиотеке;

7) конфигуратор для привязки к моему "железу";

8) отладчик для среды разработки.

В Вашем проекте вижу очень много из того, что нужно мне для решения моей прикладной задачи, но многого не хватает. Не хочу тратить время на повторение того, что уже хорошо сделано Вами. Может, обсудим условия сотрудничества? Моя почта tonyk_av@mail.ru

Ссылка на комментарий
Поделиться на другие сайты

  • 1 месяц спустя...

Lihouzov

Спасибо за Ваш продукт, Совершенно поддерживаю, то, что Вы делаете, именно в том виде как сделано. Я сам связан с системами управления двигателями и дистанционным управлением. В основном это пуско-наладка, и иногда требуется к стандартным функциям добавить эксклюзивные, именно под конкретный Заказ (задержки включения, управление доп устройствами и т.п.), и Ваша среда реально помогает не вникая глубоко программирование решить небольшие (пока) но реальные задачи. Я и не планирую изучать языки программирования контроллеров, т.к. это не будет являться моей основной работой, а иметь возможность на простых логических блоках собрать работающее устройство помогает мне в работе над проектами.

Огромное Вам спасибо!

Ждём развития проекта.

Ссылка на комментарий
Поделиться на другие сайты

  • 1 месяц спустя...

Очень интересный продукт ! А как будет выглядеть в вашей программе вот такой генератор на AD9850 ?

http://sxem.org/2-vse-stati/24-izmereniya/11-tsifrovoj-generator-ot-1hz-do-40-mnz

Мне бы хотелось , чтобы у генератора была опция внутренней АМ с частотой 1000 Гц .

Ссылка на комментарий
Поделиться на другие сайты

  • 3 недели спустя...

Странно, везде написано, что исходники открыты, но не где их не видно. Я не про блоки, а про саму систему...

Или сама система закрыта?

Будут-ли добавляться новые блоки? И где их посмотреть-скачать?

Зачем компилится машина которая исполняет конфигурацию? Непроще, сразу схему транслировать в код, и уже его копилить?

Если выложить сорцы ВСЕЙ системы (я про конфигуратор), то работа пойдёт быстрее...

Ссылка на комментарий
Поделиться на другие сайты

  • 4 недели спустя...

Странно, везде написано, что исходники открыты, но не где их не видно. Я не про блоки, а про саму систему...

Или сама система закрыта?

Что вы подразумеваете под словом система? Исходный код графической оболочки?

Будут-ли добавляться новые блоки? И где их посмотреть-скачать?

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

Зачем компилится машина которая исполняет конфигурацию? Непроще, сразу схему транслировать в код, и уже его копилить?

Графическая оболочка собирает ассемблерный код, а потом его компилирует.

Если выложить сорцы ВСЕЙ системы (я про конфигуратор), то работа пойдёт быстрее...

Для добавление новых FBD блоков, а также новых типов контроллеров исходный код графической оболочки не нужен.

Ссылка на комментарий
Поделиться на другие сайты

  • 2 недели спустя...

Интересно, что алгоритм программы хранится в самой системе и какие-либо текстовые документы описания программы отсутствуют. В такой ситуации разработчик программы всё берёт на себя, заказчик должен занять место в зрительном зале для зрителей и использовать предлагаемый разработчиком без анализа и контроля со стороны заказчика.

Должно быть, если следовать правилам этики и логики, наоборот - сначала разрабатывается текстовое описание программы, которое профессионалы называют алгоритмом. Для разработки которого совсем не требуется "графическая оболочка"...

Ссылка на комментарий
Поделиться на другие сайты

Интересно, что алгоритм программы хранится в самой системе и какие-либо текстовые документы описания программы отсутствуют. В такой ситуации разработчик программы всё берёт на себя, заказчик должен занять место в зрительном зале для зрителей и использовать предлагаемый разработчиком без анализа и контроля со стороны заказчика.

Программа очень открыта. В программе содержится код всех блоков, для удобства он даже доступен через подменю над блоком. Программа лишь вставляет кода используемых блоков в итоговый текст программы и запускает компилятор. Кстати сам итоговый текст также доступен для просмотра.

Должно быть, если следовать правилам этики и логики, наоборот - сначала разрабатывается текстовое описание программы, которое профессионалы называют алгоритмом. Для разработки которого совсем не требуется "графическая оболочка"...

Я программу не продаю, программа как есть, кто то пользуется и рад, кто то критикует.

Вопрос к специалистам.

Можно ли использовать команды чтения и записи оперативной памяти для доступа к портам ввода вывода?

Ссылка на комментарий
Поделиться на другие сайты

Присоединяйтесь к обсуждению

Вы можете написать сейчас и зарегистрироваться позже. Если у вас есть аккаунт, авторизуйтесь, чтобы опубликовать от имени своего аккаунта.
Примечание: Ваш пост будет проверен модератором, прежде чем станет видимым.

Гость
Unfortunately, your content contains terms that we do not allow. Please edit your content to remove the highlighted words below.
Ответить в этой теме...

×   Вставлено с форматированием.   Восстановить форматирование

  Разрешено использовать не более 75 эмодзи.

×   Ваша ссылка была автоматически встроена.   Отображать как обычную ссылку

×   Ваш предыдущий контент был восстановлен.   Очистить редактор

×   Вы не можете вставлять изображения напрямую. Загружайте или вставляйте изображения по ссылке.

Загрузка...
  • Последние посетители   0 пользователей онлайн

    • Ни одного зарегистрированного пользователя не просматривает данную страницу

×
×
  • Создать...