FLProg
Вход на сайт
Логин:
Пароль:
Мы в VK
Поиск
Статистика


Яндекс.Метрика
Суббота, 03.12.2016, 07:39
Приветствую Вас Гость | RSS
Главная | Регистрация | Вход

Поиск по сайту


Форум
[ Новые сообщения · Участники · Правила форума · Поиск · RSS ]
Страница 6 из 6«123456
Модератор форума: support, Сергей 
Форум » Новый функционал » Новые » Путь развития программы.
Путь развития программы.
findeler Дата: Суббота, 13.08.2016, 22:00 | Сообщение # 76
Лейтенант
Группа: Проверенные
Сообщений: 76
Награды: 1
Репутация: 1
Статус: Offline
Цитата support ()
но при компиляции действительно многие блоки разворачиваются в циклы. просто это не заметно как говорится снаружи
Я знаю, я просматриваю скетч. Я наверное слишком предвзят. Но имхо это не правильно. Цикл не имеет чёткого времени исполнения. А это в управлении порой критично. Вот пример (не мой). Сложный блок питания в ракетостроении. Время отработки полного цикла программы 1 мс. То есть независимо от того что и как, полный цикл 1 мс не более. С циклами время очень сложно прогнозировать.
 
Слимпер Дата: Воскресенье, 14.08.2016, 03:54 | Сообщение # 77
Генерал-лейтенант
Группа: Проверенные
Сообщений: 659
Награды: 25
Репутация: 23
Статус: Offline
Цитата findeler ()
Я знаю, я просматриваю скетч. Я наверное слишком предвзят. Но имхо это не правильно. Цикл не имеет чёткого времени исполнения. А это в управлении порой критично. Вот пример (не мой). Сложный блок питания в ракетостроении. Время отработки полного цикла программы 1 мс. То есть независимо от того что и как, полный цикл 1 мс не более. С циклами время очень сложно прогнозировать.
Для таких задач нужны как раз уже дорогие пром контроллеры. Что бы не говорили, их цена в некоторых случаях обосновано.
А время исполнение в ардуино всегда будет плавающим, по другому не как.
Вот Время выполнения отдельных команд Arduino
Сейчас вывод на дисплей по I2C, занимает десятки мс, считывание с адресных датчиков тоже много времени ест.
 
А вот если есть, что то критичное по времени как раз его и надо исполнять по прерыванием (или по таймеру или по внешнему импульсу).
Или делить проект на несколько контроллеров, для разгрузки главного.
 
findeler Дата: Воскресенье, 14.08.2016, 07:30 | Сообщение # 78
Лейтенант
Группа: Проверенные
Сообщений: 76
Награды: 1
Репутация: 1
Статус: Offline
Цитата Слимпер ()
Для таких задач нужны как раз уже дорогие пром контроллеры. Что бы не говорили, их цена в некоторых случаях обосновано.
Как раз нет, пром контроллер ценен своим софтом, разберите его, таже ардуинка но обвязка получше. Чипы там обычные. А вот как раз отдавать на откуп чужому интерпретатору критично важное решение , нет и ещё раз нет. Этим кстати сильно подкупает flprog, можно посмотреть код, и если надо поправить. Да есть и множество других факторов, не дают использовать пром контроллеры. Начиная от надёжности, размера, функционала, .....
 
nalnik Дата: Воскресенье, 14.08.2016, 08:01 | Сообщение # 79
Лейтенант
Группа: Проверенные
Сообщений: 94
Награды: 2
Репутация: 0
Статус: Offline
Вот это - ПЛК150УЛ фирмы ОВЕН в "разрезе"
Это ПЛК состоит из трех плат


Я и их с 2008 по 2012 год понаставил полторы сотни штук, это сплошное мучение - взрываются блоки питания, отваливаются кварцы, не пропаяны разъемы, задолбали своими обновлениями (4 версии плат) за четыре года.
Спасибо FLProg
Это все я меняю на
LM7812, LM7805, Atmega 328p, ULN2003, MAX485.
Одна беда в FLProg я не могу менять порядок передачи байт FLOAT по Motbas - приходится править в IDE перед заливкой.


Сообщение отредактировал nalnik - Воскресенье, 14.08.2016, 08:28
 
support Дата: Воскресенье, 14.08.2016, 08:11 | Сообщение # 80
Автор программы
Группа: Администраторы
Сообщений: 579
Награды: 30
Репутация: 21
Статус: Offline
Цитата nalnik ()
Одна беда в FLProg я не могу менять порядок передачи байт FLOAT по Motbas - приходится править в IDE перед заливкой
А вот здесь поподробнее. Кокой должен быть порядок, да и вообще опишите стандартный способ передачи байт флоат через модбас. Я немного похоже затупил когда это делал. я так понял что каждый производитель делает как хочет. Сделаю настройку передачи для Овен. Ну и для других если инфу дадут.


Разработчик программы FLProg
 
nalnik Дата: Воскресенье, 14.08.2016, 09:04 | Сообщение # 81
Лейтенант
Группа: Проверенные
Сообщений: 94
Награды: 2
Репутация: 0
Статус: Offline
Я писал об этом.
Проблема в том что у меня с ПЛК работают сенсорные панели Brain Child и Delta.
ПЛК 10-15 штук и панель, в панелях я могу выбирать порядок чтения байт (старший/младший).
То есть если делаеш новый проект с панелью то можно поменять порядок и все нормально но вот если в сети уже стоит 12 плк и я меняю один на "дуньку" - тут и это и происходит.
У гОВНА порядок другой.
Сфоткаю - отправлю.

Да забыл -- тоже и с длинным интэйджером

Добавлено (14.08.2016, 08:43)
---------------------------------------------
В ПЛК Овен или Delta  нет выбора порядка - он и ненужен .
Простите если я не прав но он у Вас по моему идет не в том порядке - могу ошибаться.

Добавлено (14.08.2016, 09:04)
---------------------------------------------
Вот так в настройках панели стоит по умолчанию и работает с овном


Для работы с дунькой меняем.


Сообщение отредактировал nalnik - Воскресенье, 14.08.2016, 09:05
 
Rovki Дата: Воскресенье, 14.08.2016, 09:13 | Сообщение # 82
Генерал-лейтенант
Группа: Модераторы
Сообщений: 786
Награды: 14
Репутация: 11
Статус: Offline
А вот как в ОЛ задается порядок
Прикрепления: 0378272.jpg(98Kb)


Электронщик до мозга костей и не только
 
nalnik Дата: Воскресенье, 14.08.2016, 09:25 | Сообщение # 83
Лейтенант
Группа: Проверенные
Сообщений: 94
Награды: 2
Репутация: 0
Статус: Offline
В -  IDE

в функциях

struct  _savTWstr _saveUnsignedLongTypeToModbus( unsigned long value)
{ _savTWstr result;
for(byte i = 0; i < 16; i++) bitWrite(result.w2,i,bitRead(value, i));
for(byte i = 16; i < 32; i++) bitWrite(result.w1,(i-16),bitRead(value, i));
return result ;}
struct  _savTWstr _saveFloatToModbus( float value)
{ _savTWstr result;

byte b;
b=*(((byte*)&value) + 0 );
for(byte i = 0; i < 8; i++) bitWrite(result.w2,i,bitRead(b, i));
b=*(((byte*)&value) + 1 );
for(byte i = 0; i < 8; i++) bitWrite(result.w2,i+8, bitRead(b, i));
b=*(((byte*)&value) + 2 );
for(byte i = 0; i < 8; i++) bitWrite(result.w1,i,bitRead(b, i));
b=*(((byte*)&value) + 3 );
for(byte i = 0; i < 8; i++) bitWrite(result.w1,i+8,bitRead(b, i));
return result ;}

Меняем
W2 на W1
W1 на W2

Это надо смотреть и на прием если с панели идут такие данные

Я понимаю что это наверно по колхозному но
После этого дунька работает в одной сети с Овном

Я повторюсь
В ПЛК Овен или Delta  нет выбора порядка - он и ненужен . Выбор есть в панелях.
- не надо делать в FLProg выбор последовательности -- надо разобраться в "стандарте"
иначе потом ваще будут непонятки.
Уважаемый support посмотрите пожалуйста.

А и где пропали Грамотные советчики?


Сообщение отредактировал nalnik - Воскресенье, 14.08.2016, 10:36
 
dekorator Дата: Воскресенье, 14.08.2016, 12:45 | Сообщение # 84
Подполковник
Группа: Проверенные
Сообщений: 219
Награды: 10
Репутация: 1
Статус: Offline
Цитата nalnik ()
- не надо делать в FLProg выбор последовательности -- надо разобраться в "стандарте"

Почему ннпонятки. Если грамотно оформить то никто не запутается.
В slave modbus может оно и не к чему а в мастере надо сделать.
Даже в программных симуляторах modbus, есть выбор последовательности.

Добавлено (14.08.2016, 12:45)
---------------------------------------------

Цитата support ()
Сделаю настройку передачи для Овен. Ну и для других если инфу дадут.

Да там всего 4 стандартных варианта:
BE 4,3,2,1
BE 3,4,1,2
LE 1,2,3,4
LE 2,1,4,3


Сообщение отредактировал dekorator - Воскресенье, 14.08.2016, 12:33
 
Max Дата: Понедельник, 15.08.2016, 07:35 | Сообщение # 85
Гуру
Группа: Проверенные
Сообщений: 482
Награды: 14
Репутация: 4
Статус: Offline
Раз уж Сергей тут отвечает и читает эту тему, то напишу так же и я.
Ужа ранее обсуждалось не раз и наверно сейчас отражу мнение многих.

FLProg - в первую очередь, как программа-букварь, для меня она стала как окно в Европу, которое прорубил Петр 1 в свое время. Эта программа, своего рода парты, где можно создавать, ломать, переделывать....
Для шлифовки программы еще много времени надо потратить и думаю, что датчики и др. периферию (по возможности Автора-Сергея) добавлять в базовый набор надо. Тем более, еще ох как много всего интересного есть...

Особенно, считаю, надо добавить возможность шифрования радиоканалов, возможность создания защищенного Интернета на базе FLProg (с паролями, логинами и т.д.) вообще поддержку шифрования по максимуму. Т.к. за этим будущее и по большому счету ни у кого этого нет. Да и для рядовых пользователей при собственной реализации эта тема (шифрование и защита) сложна и непосильна.

Тем, кому интересно писать свои блоки, пусть пишет, может Сергей потом сможет взять их за основу (улучшить, огранить, так сказать, как алмаз) и включить в базовый набор. Кстати, этим уменьшается трудоемкость и затраты времени самого Автора. Это как раз некое подобие Open source...
Те, кто уже считает себя профессионалом, может пойти дальше и программировать в кодах и пользоваться платными СКАДА... А вот для народа - FLProg.

Да, в заключении еще хочется сказать, что проект Ардуино не стоит на месте и уже появились мощные платы. Хотелось бы и их увидеть в программе.


Максим (VK - Максим Дунаевский)

Сообщение отредактировал Max - Понедельник, 15.08.2016, 07:43
 
findeler Дата: Понедельник, 15.08.2016, 08:41 | Сообщение # 86
Лейтенант
Группа: Проверенные
Сообщений: 76
Награды: 1
Репутация: 1
Статус: Offline
Цитата Max ()
Ужа ранее обсуждалось не раз и наверно сейчас отражу мнение многих.


Да вы отражаете мнение многих. Но программа имеет значительно больший потенциал. Ведь по сути получается язык объединяющий в себе и объёмное (FBD) и линейное (блоки на С) программирование. Без всяких искусственных ограничений и привязки к оборудованию. (Ведь формально arduino ide, прокладка, замени его на C и весь мир микроконтроллеров доступен.)

Вот вам нужно шифрование радиоканалов, мне кстати тоже, мне gprs передача данных. Но это всё вторично. Взваливать на одного человека написание всех хотелок, коих миллион, ну не правильно что ли. А поменяются версии плат, или ещё что. И что каждую новую версию отслеживать, изменения в перефирии ? (пример часы 1307 и 32231) На текущий момент для проекта гораздо важнее расширение комунити. А это в первую очередь, хорошая документация, уроки, и правильный базовый функционал, там ещё много что надо доработать.

А внешние блоки... Будет много людей, найдётся тот кто бесплатно или за денюжку малую сделает вам и радиошифрование, и прочее и прочее. (пример 1с)

Не соглашусь, не надо для народа flprog. Надо flprog для всех, кому бесплатно и попроще, кому платно и со всеми плюсами.
 
Naladchik Дата: Понедельник, 15.08.2016, 18:35 | Сообщение # 87
Лейтенант
Группа: Проверенные
Сообщений: 115
Награды: 0
Репутация: 0
Статус: Offline
Цитата Max ()
FLProg - в первую очередь, как программа-букварь, для меня она стала как окно в Европу, которое прорубил Петр 1 в свое время. Эта программа, своего рода парты, где можно создавать, ломать, переделывать....
Однозначно согласен, именно благодаря FLProg, разбирая работающие скетчи, и начал вникать в С, что позволило уже самому начать что то ваять. В данный момент ковыряю ESPшку+ArduinoID и тут FLProg очень помогает. Накидал по быстрому блоков, посмотрел код и адаптируй под себя как хочется.


Предпочитаю Portable версию.
 
Слимпер Дата: Понедельник, 05.09.2016, 11:31 | Сообщение # 88
Генерал-лейтенант
Группа: Проверенные
Сообщений: 659
Награды: 25
Репутация: 23
Статус: Offline
Я тут подумал, если так и не получится победить подтормаживание программы. 
Может стоит тогда переделать принцип работы.

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

По прикидкам может быть два варианта.

Вариант 1:

Может в Рабочей зоне оставить только перечень плат с названиями плат.
А для плат сделать отдельный редактор по аналогии с редакторами пользовательских блоков на FBD и LAD.

Открыл проект, ткнул на нужную плату, отредактировал, закрыл.

Вариант 2: 

Перенести перечень плат в дерево проекта.
А при выборе платы в дереве в Рабочей зоне будет покрываться только выбранная плата.

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

П.С. Это только мое мнение и чисто идея, ни на чем не настаиваю biggrin   

Добавлено (05.09.2016, 11:31)
---------------------------------------------

Цитата support ()
4. Эта идея уже давно витает в воздухе. Я пока думаю как реализовать просто галочку в свойствах переменной "Хранить в EEProm". Тогда от специальных переменных можно будет отказаться и дать возможность сохранять в EEProm любую переменную.
Случайно наткнулся на, то что с EEPROM можно работать функциями put и get.
Работа со встроенной EEPROM в микроконтроллерах на Arduino

А вот тут обсуждение Запись и чтение EEPROM

Не знаю может, в это и так знали, а может это облегчит работу по этому пункту.
 
Naladchik Дата: Суббота, 10.09.2016, 18:09 | Сообщение # 89
Лейтенант
Группа: Проверенные
Сообщений: 115
Награды: 0
Репутация: 0
Статус: Offline
Цитата Слимпер ()
Вариант 2: Перенести перечень плат в дерево проекта.
А при выборе платы в дереве в Рабочей зоне будет открываться только выбранная плата.
По моему наиболее логичный и удобный вариант. Если приплюсовать и перенос переменных туда же, то будет масимально полно использоваться рабочее пространство


Предпочитаю Portable версию.


Сообщение отредактировал Naladchik - Суббота, 10.09.2016, 18:10
 
Форум » Новый функционал » Новые » Путь развития программы.
Страница 6 из 6«123456
Поиск:

FLProg © 2016
Яндекс.Метрика