PDA

Просмотр полной версии : Преобразование работы таймера



sertol64
28.03.2018, 18:15
Здравствуйте, Уважаемые Волшебники! Помогите разобраться в проблеме, или подскажите как..? Вобщем есть программа (довольно большая), состоит из пять основных макросов - разные режимы работы стенда. Каждый из этих макросов работает с помощью мультиплекоров пошагово(по циклам). Шаги эти от 15 до 60 минут в разной последовательности, и этих шагов до 108 штук. Есть часы обратного отсчёта времени, которые выведены на экран, НО они считают общее(заданное ) время. Всё вроде бы нормально, всё работает как часики. И тут вдруг заказчику захотелось видеть на экране время каждого шага, или впрямую или в обратном отсчёте. И какие бы я таймеры и часы не брал - на вход уставки ставлю время шага, часы отсчитывают его и...всё. пока на вход таймера булевское вкл-выкл не подашь. А программа работает без остановки, только меняется время шага (уставки) , т.е. вкл-выклА нету. Возможно ли решение преобразовать таймер (хотя бы из онлайн базы) так чтобы он начинал отсчёт времени по изменению уставки? Т.е. надо сделать так чтоб он отсчитал первую уставку и без выключения начал считать следующую уставку?

Ревака Юрий
28.03.2018, 19:47
Здравствуйте, Уважаемые Волшебники! Помогите разобраться в проблеме, или подскажите как..? Вобщем есть программа (довольно большая), состоит из пять основных макросов - разные режимы работы стенда. Каждый из этих макросов работает с помощью мультиплекоров пошагово(по циклам). Шаги эти от 15 до 60 минут в разной последовательности, и этих шагов до 108 штук. Есть часы обратного отсчёта времени, которые выведены на экран, НО они считают общее(заданное ) время. Всё вроде бы нормально, всё работает как часики. И тут вдруг заказчику захотелось видеть на экране время каждого шага, или впрямую или в обратном отсчёте. И какие бы я таймеры и часы не брал - на вход уставки ставлю время шага, часы отсчитывают его и...всё. пока на вход таймера булевское вкл-выкл не подашь. А программа работает без остановки, только меняется время шага (уставки) , т.е. вкл-выклА нету. Возможно ли решение преобразовать таймер (хотя бы из онлайн базы) так чтобы он начинал отсчёт времени по изменению уставки? Т.е. надо сделать так чтоб он отсчитал первую уставку и без выключения начал считать следующую уставку?

"и без выключения начал считать следующую уставку?" можно как-то идентифицировать изменение уставки, и по этому признаку сбросить посчитанное время при переходе на другой шаг, или использовать еще какой-то признак смены режима, это если работать с Time U/D, мультиплексором кто-то же управляет, вот оттуда и взять сигналы.

sertol64
28.03.2018, 20:07
Спасибо, Юрий! ....Да пробовал я. Ни черта не получается. А может у меня просто "тяма" не срабатывает. Вот макрос, там ничего такого нет....
36268
эти "шаги" через блок W идут на TON1. Программа тикает (щёлкает) и ни одного булевского сигнала вкл-выкл, по смене шага нет.
По форуму не нашёл подобной темы. Разве такой вопрос не понимался в практике? - это чтоб Time U\D тикал не только от "булевской" вкл-выкл, а просто от смены уставки. Думаю это актуально.....Да ладно! Вобщем решения не вижу. Прошу помощи!

sertol64
28.03.2018, 20:17
Хочу добавить. Появляется булевский сигнал с блока (на рисунке) CTZRM1 по истечению 82 шага. Я его направил на СТОП(конец программе).

Ревака Юрий
28.03.2018, 20:28
Спасибо, Юрий! ....Да пробовал я. Ни черта не получается. А может у меня просто "тяма" не срабатывает. Вот макрос, там ничего такого нет....
36268
эти "шаги" через блок W идут на TON1. Программа тикает (щёлкает) и ни одного булевского сигнала вкл-выкл, по смене шага нет.
По форуму не нашёл подобной темы. Разве такой вопрос не понимался в практике? - это чтоб Time U\D тикал не только от "булевской" вкл-выкл, а просто от смены уставки. Думаю это актуально.....Да ладно! Вобщем решения не вижу. Прошу помощи!

Переменная "Шаг" разве не меняется?, разложить ее на биты и через детектор фронта на сброс, думаю двух младших бит будет достаточно.

sertol64
28.03.2018, 21:15
Юрий. Я сдерживаю улыбку. Я вам глубоко признателен и, казалось бы что мне должно быть приятно, что Вы со мной общаетесь как с "закадычным" программистом. Но OL мне знаком месяца как 2-3. Короче я ничерта не понял изь Вашего предложения. Просто спинным мозгом чувствую, что если я каждый шаг буду раскладывать по-битно и....прочее умное слово (а их только тутА 82, в других макросах более ста) то никакой памяти не хватит. Да и себестоимость всей этой "горы" возрастёт неимоверно. А может я и не прав?! приведите пример, чтоб так сказать "пощупать".... Я просто этого не понимаю - не изучил ещё.

sertol64
28.03.2018, 21:23
...простите, хочу добавить вопрос. А возможно в макросе самого таймера что-то там разложить по-битно, чтоб он считал каждую уставку без выключения?

Ревака Юрий
28.03.2018, 21:28
Юрий. Я сдерживаю улыбку. Я вам глубоко признателен и, казалось бы что мне должно быть приятно, что Вы со мной общаетесь как с "закадычным" программистом. Но OL мне знаком месяца как 2-3. Короче я ничерта не понял изь Вашего предложения. Просто спинным мозгом чувствую, что если я каждый шаг буду раскладывать по-битно и....прочее умное слово (а их только тутА 82, в других макросах более ста) то никакой памяти не хватит. Да и себестоимость всей этой "горы" возрастёт неимоверно. А может я и не прав?! приведите пример, чтоб так сказать "пощупать".... Я просто этого не понимаю - не изучил ещё.

:) После блока CTZRM1, подозреваю что это и есть счетчик 82 шагов, появляется переменная Шаг, не меняя схему берете эту переменную и ставите на вход макроса INT_to_BOOL из онлайн базы, на выходе получаете значение шага разложенное на биты, берете выходы битов [0] и [1] через RTRIG оба, на или и на R Time U/D, по идее, если я ничего не напутал, при каждом изменении номера шага будут меняться последние 2 бита и этим сбрасывать посчитанное время на каждом шаге, надо проверить в симуляции.

sertol64
28.03.2018, 21:35
Хорошо, Юрий. Завтра попробую - доложу. Сейчас уже поздно, боюсь что эти биты приснятся ночью. Попробую - переварю, напишу!

Ревака Юрий
28.03.2018, 21:40
Примерно так, если шаг меняется +-1 то достаточно 2 бит, если может перескакивать на большее значение взять необходимое кол-во бит.

melky
28.03.2018, 21:41
будет достаточно сравнения еомера шага и подачи импульса

Ревака Юрий
28.03.2018, 21:55
будет достаточно сравнения еомера шага и подачи импульса

Да, можно наверное до 1 блока сократить.

melky
28.03.2018, 21:59
До 2-х, если 0 ничего не делать, не начата программа, закончилась программа

Сергей0308
29.03.2018, 06:39
Тогда и поставьте вместо TONа этот таймер и будет у Вас полная энергонезависимость, если сделаете энергонезависимым 32 разрядный счётчик из этого макроса(поставите галочку энергонезависимости переменной), я вроде об этом уже писал! А задержка включения-выключения после подачи команды(если секундные импульсы от часов реального времени) максимум на 1 секунду у вас допустимо, насколько я понял!

sertol64
29.03.2018, 09:21
Тогда и поставьте вместо TONа этот таймер и будет у Вас полная энергонезависимость, если сделаете энергонезависимым 32 разрядный счётчик из этого макроса(поставите галочку энергонезависимости переменной), я вроде об этом уже писал! А задержка включения-выключения после подачи команды(если секундные импульсы от часов реального времени) максимум на 1 секунду у вас допустимо, насколько я понял!

Здравствуйте Сергей Я не понял НИЧЕГО. В каком макросе какой 32 разр.счётчик? В этом чтоль?
36275 и где тут этот счётчик.
Попытался втулить вместо ТОНа этот таймер - вообще всё замерло 36276
Вообщем я полностью запутался..... Да и думаю не нужен этот таймер вместо ТОНа. Думаю отдельно его в программе поставить, да и выводить его значения на экран, вот только надо подумать как с минутами быть...?

Сергей0308
29.03.2018, 10:00
Здравствуйте Сергей Я не понял НИЧЕГО. В каком макросе какой 32 разр.счётчик? В этом чтоль?
36275 и где тут этот счётчик.
Попытался втулить вместо ТОНа этот таймер - вообще всё замерло 36276
Вообщем я полностью запутался..... Да и думаю не нужен этот таймер вместо ТОНа. Думаю отдельно его в программе поставить, да и выводить его значения на экран, вот только надо подумать как с минутами быть...?

Оставим пока энергонезависимость в покое, неоднократно выкладывал макрос таймера(TON) с индикацией обратного отсчёта времени, ставите его вместо стандартного TONа, что у Вас сейчас стоит и он вам будет показывать время до окончания каждого шага! Короче покажите таймер обратного отсчёта времени, что Вы ставили вместо тона и у вас всё встало, я его подправлю или ждите до вечера, вечером выложу TON с обратным отсчётом времени, сейчас нет под рукой!

sertol64
29.03.2018, 11:12
Сергей, я сейчас выложу всю ту программу над которой мы с Вами работали. Там есть и таймер обр.времени. Программа изменилась чуток - пожелания заказчика(работадателя). и вообщем всё работает, но вот втемяшилось ему в голову чтоб время каждого шага видеть и всё..., я его не убедил...

sertol64
29.03.2018, 11:17
Вот проект.

sertol64
29.03.2018, 11:23
Вот ТОН с обр.отсч.времени

sertol64
29.03.2018, 11:26
Это сам основной макрос...

Сергей0308
29.03.2018, 11:54
Вот проект.

Макрос в TON переделал:

36284

Только время надо задавать не в миллисекундах, как для TONа, а в секундах, или минутах или часах, смотря на какой вход!
Если Вам надо считать и пройденное время, поставьте второй счётчик и считайте в прямом направлении!

sertol64
29.03.2018, 16:42
О, Сергей. СПАСИБО. Разберусь, переварю -ДОЛОЖУ!

sertol64
29.03.2018, 18:14
Ну вот вроде как получилось, вроде как тикает. Экраны пока не трогал - думаю проблем не будет. 36301Остаются только некие вопросы (да нет - вопросики).
1. В разных шагах одинаковое время - таймер не "перещёлкивается". Ну тут думаю по минутке добавить или отнять можно...в шагах
2. Конечно бы желательно бы таймер прямого счёта времени - как переделать - не понял...

Сергей0308
29.03.2018, 19:01
Ну вот вроде как получилось, вроде как тикает. Экраны пока не трогал - думаю проблем не будет. 36301Остаются только некие вопросы (да нет - вопросики).
1. В разных шагах одинаковое время - таймер не "перещёлкивается". Ну тут думаю по минутке добавить или отнять можно...в шагах
2. Конечно бы желательно бы таймер прямого счёта времени - как переделать - не понял...

Вот Вам модернизированный TON с прямым и обратным отсчётом времени! И я думал Вы его поставите вместо TONа что в ОЛ(что у вас в программе стоит). Вы я вижу на индикацию дополнительный поставили, но это как Вам удобно, я бы конечно так не сделал!

36304

sertol64
29.03.2018, 20:10
..."информатийность, главное, информатийность.- так проверяющий воен.приём. сказал. "Раньше то что? Вели журнал каждый час, и всё понятно, какой режим, сколько времени прошло и осталось, А щаЗ что - роботы? И хрен его знает, что они делают, когда и на что расчитывать!?" Поэтому полный отчёт времени пусть остаётся + время каждого шага. Информатийность соблюдается.За макрос СПАСИБО. Думаю и на БУДУЩЕЕ пригодиться....

sertol64
29.03.2018, 20:12
Честно говоря я бы вообще все "будильники" убрал - заморочек много......

Сергей0308
29.03.2018, 21:12
..."информатийность, главное, информатийность.- так проверяющий воен.приём. сказал. "Раньше то что? Вели журнал каждый час, и всё понятно, какой режим, сколько времени прошло и осталось, А щаЗ что - роботы? И хрен его знает, что они делают, когда и на что расчитывать!?" Поэтому полный отчёт времени пусть остаётся + время каждого шага. Информатийность соблюдается.За макрос СПАСИБО. Думаю и на БУДУЩЕЕ пригодиться....


Честно говоря я бы вообще все "будильники" убрал - заморочек много......

Можно и так, как вариант с переключением индикации прямого или обратного отсчёта времени! Уставка и индикация в секундах, если надо минуты, часы делается вне макроса, может такой Вам более подойдёт?

36305

sertol64
29.03.2018, 21:26
Это конечно "попроще будет" Вы Сергей, настоящий Волшебник. Как же мне Вас не хватало во второй половине февраля (Вы исчезли), когда пошли новый обновления ОЛ, всё пошло к чертям. Благо, что программу восстановил по нашим перепискам в форуме. Да и на вопросы мои, спецы форума, больше умничали, - советами....36307

Сергей0308
29.03.2018, 21:46
Это конечно "попроще будет" Вы Сергей, настоящий Волшебник. Как же мне Вас не хватало во второй половине февраля (Вы исчезли), когда пошли новый обновления ОЛ, всё пошло к чертям. Благо, что программу восстановил по нашим перепискам в форуме. Да и на вопросы мои, спецы форума, больше умничали, - советами....36307

Так, для связи, могли зайти на мой сайт и написать в любой теме, я и обязательную для этого регистрацию снял, ссылка на сайт в моём профиле(Домашняя страничка)! Вот заодно пока не забыл, вы жаловались, что мой 32 стабильный триггер через чур избыточен и Вам достаточно 8 стабильного, вот урезал с 32 до 8 стабильного!

36309

И мне не очень понятно зачем для индикации ставить дополнительный таймер, придумывать как показывать время каждого шага, если таймер TON с индикацией времени поставить вместо стандартного TON он и так, безо всяких изощрений, должен показывать время каждого шага! Единственное, что бы вывести из макроса на индикацию надо отдельный выход, но можно и в макрос это не засовывать или отдельный выход прилепить, а для переключения прямого/обратного отсчёта времени ещё и дополнительный вход потребуется!

sertol64
30.03.2018, 12:06
И мне не очень понятно зачем для индикации ставить дополнительный таймер, придумывать как показывать время каждого шага, если таймер TON с индикацией времени поставить вместо стандартного TON он и так, безо всяких изощрений, должен показывать время каждого шага! Единственное, что бы вывести из макроса на индикацию надо отдельный выход, но можно и в макрос это не засовывать или отдельный выход прилепить, а для переключения прямого/обратного отсчёта времени ещё и дополнительный вход потребуется!
А эта мысль, Сергей очень интересная.и не надо гору городить, по-сути. вот только как это реализовать? С TON выходит булевский выход и всё....
36320 и как его счёт вывести на индикацию?

melky
30.03.2018, 12:19
sertol64 родной TON не подойдет, нужен аналог CDS, чтобы был вывод ET показывающий время, которое уже обрабатывать для вывода на экран

Посмотрите в базе макросов, кто-то делал аналоги таймеров из oscat, возможно они с выводом времени работы.

sertol64
30.03.2018, 12:20
Так, для связи, могли зайти на мой сайт и написать в любой теме, я и обязательную для этого регистрацию снял, ссылка на сайт в моём профиле(Домашняя страничка)! Вот заодно пока не забыл, вы жаловались, что мой 32 стабильный триггер через чур избыточен и Вам достаточно 8 стабильного, вот урезал с 32 до 8 стабильного!

36309

...и также, Сергей, хочу Вам покаяться. Я изменил чуток n-стабильлный триггер. После того как пошли первые обновления ОЛ на 1.10...и прочее, программа зависла и эту программу я вытащил на (как бы проверку), спецы указывали на какие то нестыковки в нём (я так понял). Да и честно говоря, программа как то сразу облегчилась, чтоли....(раздел среда программирования OL, тема Обсуждение OL 1.10,,начиная с поста №7)

Сергей0308
30.03.2018, 12:20
А эта мысль, Сергей очень интересная.и не надо гору городить, по-сути. вот только как это реализовать? С TON выходит булевский выход и всё....
36320 и как его счёт вывести на индикацию?

Я же Вам намалевал кучу TONов с индикацией времени, ставите вместо TONа что у Вас стоит и всё! Мне кажется всё будет работать, единственное множитель "1000" убрать, так как время уставки будет в секундах, а не миллисекундах, я вроде уже об этом писал! Хотите - пробуйте, если чё не так, в чём я сильно сомневаюсь, поправим!
Из макроса только через отдельный выход, через переменные не получится. Вне макроса - просто переменную выводите на экран!

sertol64
30.03.2018, 12:22
sertol64

Посмотрите в базе макросов, кто-то делал аналоги таймеров из oscat, возможно они с выводом времени работы.
Ок. А как он хоть называется, для моего "подготовленного" мозга этот поиск займёт не один день.....

sertol64
30.03.2018, 12:23
Я же Вам намалевал кучу TONов с индикацией времени, ставите вместо TONа что у Вас стоит и всё! Мне кажется всё будет работать, единственное множитель "1000" убрать, так как время уставки будет в секундах, а не миллисекундах, я вроде уже об этом писал! Хотите - пробуйте, если чё не так, в чём я сильно сомневаюсь, поправим!
Из макроса только через отдельный выход, через переменные не получится. Вне макроса - просто переменную выводите на экран!

Всё ясно. Попробую - доложу!

sertol64
30.03.2018, 13:59
Я же Вам намалевал кучу TONов с индикацией времени, ставите вместо TONа что у Вас стоит и всё! Мне кажется всё будет работать, единственное множитель "1000" убрать, так как время уставки будет в секундах, а не миллисекундах, я вроде уже об этом писал! Хотите - пробуйте, если чё не так, в чём я сильно сомневаюсь, поправим!
Из макроса только через отдельный выход, через переменные не получится. Вне макроса - просто переменную выводите на экран!

Начал типа делать и остановился... думаю не надо городить. Тут как бы уже есть один TON на все 5 макросов, а будет пять. Расточительно это. Пусть остаётся так - всё тикает и пукает, при случае на железе попробуем.....

Сергей0308
30.03.2018, 17:33
Начал типа делать и остановился... думаю не надо городить. Тут как бы уже есть один TON на все 5 макросов, а будет пять. Расточительно это. Пусть остаётся так - всё тикает и пукает, при случае на железе попробуем.....

Наверно не следовало в каждый макрос(вашу программу) отдельный TON запихивать, а всё общее для всех макросов(ваших программ) вынести за скобки, т. е. поставить один после объединения сигналов со всех макросов, подобно как для токов макрос "Авария"(как Вы сейчас пытаетесь сделать для индикации), тогда и вместо 5 TONов был один общий и проблем никаких не было! Ну это я так думаю, Вы вольны делать как Вы считаете лучше!

sertol64
30.03.2018, 20:38
Думаю, то что сделано пошло на пользу. Я на основе именно таких макросов сварганил другую программу (она ждёт железо, и даже всё оплачено). С аналогового выхода (тоже 0-10В) идёт но не на Частотник а на регулируемый блок питания (36В). получился эдакий КЛОН. так вот если бы TON был отдельно, то для меня не опытного, это было бы проблематично. Вот выкладываю, вдруг станет интересно...

Сергей0308
31.03.2018, 13:25
Думаю, то что сделано пошло на пользу. Я на основе именно таких макросов сварганил другую программу (она ждёт железо, и даже всё оплачено). С аналогового выхода (тоже 0-10В) идёт но не на Частотник а на регулируемый блок питания (36В). получился эдакий КЛОН. так вот если бы TON был отдельно, то для меня не опытного, это было бы проблематично. Вот выкладываю, вдруг станет интересно...

Вот ваши бы думки и на практике воплотили в соответствующую схему! Пока всё то же самое, что и раньше!
В макросе МГС8 сделайте "нормальную" паузу в том плане, чтобы при её нажатии(подаче), на выходе "Нагрузка" появлялся "0", тогда не нужно будет лепить ненужный макрос RSПауза! Я даже в проектах это показывал, как сделать!

36344

Она конечно и после этого будет ненормальная, но скажем так менее дурацкая! Нормальная это когда после её отмены всё продолжается с того же момента на котором остановилось!

Применяйте "исключающее или" там, где это необходимо, я понимаю что хочется влепить это "исключающее или" во все щели, даже туда, куда это мало подходит, но надо себя сдерживать!

Мультиплексоры поставьте все целочисленные, это меньше ресурсов отъедает!

И это далеко не всё! Короче можно перепечатывать мои посты из другой темы, так как ничего существенно не изменилось!

sertol64
31.03.2018, 17:16
Согласен, поменяю!
[QUOTE=Сергей0308;
Она конечно и после этого будет ненормальная, но скажем так менее дурацкая! Нормальная это когда после её отмены всё продолжается с того же момента на котором остановилось!
Это вообще больной вопрос. Взывал к помощи у спецов ответ не нашёлся. Надеялся что вы вмешаетесь, но вас не было. Пришлось разбить циклы на более мелкие, что бы при повторе их небыло так болезненно
[QUOTE=Сергей0308;Применяйте "исключающее или" там, где это необходимо, я понимаю что хочется влепить это "исключающее или" во все щели, даже туда, куда это мало подходит, но надо себя сдерживать![/QUOTE]
А тут ну прям не знаю. логика моя такая - логическая исключающая ИЛИ заменяет два логических знака И и НЕ. Так зачем лепить два, если можно один...

А остальное конечно переделаю, и Вы правы мультиплексоры нужно поставить целочисленными...

sertol64
31.03.2018, 17:23
Да....совсем забыл... Мультиплексоры НЕ целочисленные по причине того, что мне нужно на выходе такие напряжения как 24,3 29,7, из 36В т.е. присутствует запятая. Как это реализовать с помощью целочисленных значений - незнаю..

capzap
31.03.2018, 17:43
Да....совсем забыл... Мультиплексоры НЕ целочисленные по причине того, что мне нужно на выходе такие напряжения как 24,3 29,7, из 36В т.е. присутствует запятая. Как это реализовать с помощью целочисленных значений - незнаю..

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

sertol64
31.03.2018, 17:50
а поделить/умножить на десять и преобразовать в нужный тип не то?

Можно конечно и влезть в формулы, и начать умножать и делить. Но программа уже сделана. Экономия ресурсов в маленькой программке - не вижу смысла...

capzap
31.03.2018, 18:12
Можно конечно и влезть в формулы, и начать умножать и делить. Но программа уже сделана. Экономия ресурсов в маленькой программке - не вижу смысла...

Вы бы определились, Вы либо внемлите советам спецов, либо не видите смысла, потому что уже гуру

sertol64
31.03.2018, 18:21
Вы бы определились, Вы либо внемлите советам спецов, либо не видите смысла, потому что уже гуру

Уважаемый, я знаю что Вы спец с БОЛЬШОЙ БУКВЫ. Я просил помощи. но мне ВЫ ни разу не помогли, только по ушам тёрли и умничали.
Я бы хотел знать мнение Сергея, а не Вашего. У него есть (в отличии от Вас) аргументы и примеры.

capzap
31.03.2018, 18:23
а я про него и говорил, человек старался, тратил на Вас время, а Вы тут кидаетесь словами что не видите в этом смысла

sertol64
31.03.2018, 18:48
...так я и жду аргументов..!.это мне и в будущем пригодиться, чтоб учесть свои ошибки. Дело в том, что умножить и разделить в конце выхода сигнала я знал во время написания самой программы, но мне показалось проще сделать именно так...Я и хочу узнать - в чём я ошибаюсь. На подходе третий стенд, третья программа, хочу подойти к ней уже более подготовленным...А сейчас....сложности в релейной схеме этого стенда. И ...как бы эта самая программа на втором месте по приоритету. Я на данный момент разрабатываю не только сами программы, но и релейные схемы их воплощения. и само их изготовления. Поэтому простите меня, если смог Вас обидеть неосторожным словом. На данный момент сижу ломаю голову над другой проблемой - воплощение релейной схемы. Там непонятки по подключению аналоговых входов. Боюсь накосячить...

Сергей0308
01.04.2018, 11:56
Это на будущее, здесь, если у Вас всё работает, как задумано, можно не совершенствовать! Когда мы обсуждали преведущий проект, я думал, что будущее это следующий проект, т. е. этот, оказывается, как в мультике, будущее никогда не наступает, всегда настоящее!

Сергей0308
01.04.2018, 12:12
Это на будущее, здесь, если у Вас всё работает, как задумано, можно не совершенствовать! Когда мы обсуждали преведущий проект, я думал, что будущее это следующий проект, т. е. этот, оказывается, как в мультике, будущее никогда не наступает, всегда настоящее!

Помните Алексей Геннадьевич Вам советовал взять ПЗУ и туда все шаги записать, я тоже так думаю, что это бы было оптимально, всё остальное вне макроса, у меня есть ПЗУ до 257 шагов, я по-моему выкладывал в преведущей теме, в посте #135: http://www.owen.ru/forum/showthread.php?t=27872&page=14
У вас же меньше шагов и вам вполне хватит без расширения, в свойствах макроса вносите данные длительности шагов и все дела!
Все уставки можно упаковать в одну переменную через х10 в n-ой степени, чтобы разнести по разным разрядам! Это хуже упаковывается, чем через сдвиг влево-вправо, за то намного проще и все уставки навиду!
Вот посмотрел ваши уставки:
время шага(1-37), в минутах, достаточно 2 десятичных разряда при минимальной ступеньке в 1 минуту;
ток(0-130), в амперах, достаточно 3 десятичных разрядов при минимальной ступеньке в 0,1 А;
напряжение(0-297), в вольтах, достаточно 3 десятичных разрядов при минимальной ступеньке в 0,1 В.
Всего требуется 8 десятичных разрядов, остаётся почти 2 разряда, например можно ещё одну уставку поместить, типа времени шага или ещё как, если не надо изменять значение!

sertol64
01.04.2018, 19:52
Сергей, из всего вышенаписанного я понял то, что все эти мультиплексоры можно объеденить в один макрос, называемый ПЗУ. Но я сомневаюсь что я правильно понял вот изза этих Ваших строк.
36362
Тут я ничего не понял....
Я как бы начал вносить в ПЗУ данные временные , это так я понял?

Сергей0308
01.04.2018, 20:39
Сергей, из всего вышенаписанного я понял то, что все эти мультиплексоры можно объеденить в один макрос, называемый ПЗУ. Но я сомневаюсь что я правильно понял вот изза этих Ваших строк.
36362
Тут я ничего не понял....
Я как бы начал вносить в ПЗУ данные временные , это так я понял?

Как-то так, вот вам проект, там я показал, как легко можно извлечь нужную уставку из макроса ПЗУ, который более чем в 2 раза перекрывает ваши потребности:

36365

Вам только таймер с индикацией отсчёта времени надо с паузой, я первый попавшийся взял, вроде всякие таймеры выкладывал и с паузой и без паузы, заменить думаю не проблема и обвязку там разную, короче я показал что всё работает! В ПЗУ номер константы соответствует номеру шага в программе, уставки идут без разрывов слева направо: 2 разряда - время шага(максимальное значение-41), 3 разряда - ток, 3 разряда - напряжение, последние 2 разряда - резерв, можно любые цифры писать, пока не используется! Для демонстрации уменьшил время шагов и диапазон кольцевого счётчика!
Вот как выглядит установка уставок в ПЗУ:

36367

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

36374

Вот ещё немного пытался улучшить:

36375

Посмотрите, если чё не так, скажите, поправим!

sertol64
02.04.2018, 03:47
Для меня это вообще НОВО. Мне нужно время. Мне нужно это всё переварить. Спасибо Вам Сергей! Если что неДоварю - спрошу!

Сергей0308
02.04.2018, 06:36
Для меня это вообще НОВО. Мне нужно время. Мне нужно это всё переварить. Спасибо Вам Сергей! Если что неДоварю - спрошу!

Сейчас поставил для демонстрации два шага программы: время первого, 1 минута, ток 13 А, напряжение 29,7 В; время второго, 2 минуты, ток 12,9 А, напряжение 29,6 В, последние две цифры - резерв, пока не используются, кнопка стоп - нормально-замкнутая! Я вроде всегда так это и представлял, зачем много таймеров ставить, пусть один и считает и отображает! и проблем меньше с коммутацией!
Можете изменить количество шагов до 256, включительно, уставки, что бы понятно было, как это сделать!

sertol64
02.04.2018, 07:44
Сергей, ОЧЕНЬ интересно, очень! Я помню в старых постах советы по переходу к ПЗУ, но тогда мой мозг был не подготовленным, я бы все равно это бы не воспринял. Сейчас когда начал разбираться возникает много вопросов, некоторые решаются, на некоторых зацикливаюсь в непонятке...
1. не могу понять такую сложную систему включения на пуске. 36377Есть кнопка (с отпусканием) ПУСК, такая же ПАУЗА. А здесь? В чём идея?
2. Не могу понять зачем умножать на единицу 36378
3. Не могу найти шаги (действия) чтоб уменьшить цикл для симуляции. Т.е. чтоб не ждать 30 минут шага, а быстренько просмотреть все циклы....
Пока всё......
Продолжаем дальше изучать!!!

sertol64
02.04.2018, 09:12
Вот ещё. Можно ли и как меняется сама нумерация констант в ПЗУ? Вот вижу пропуски...
36381тут не хватает 16
36382тут нехватает 97
Дальше не смотрел...

Сергей0308
02.04.2018, 09:48
Вот ещё. Можно ли и как меняется сама нумерация констант в ПЗУ? Вот вижу пропуски...
36381тут не хватает 16
36382тут нехватает 97
Дальше не смотрел...

Как поменять нумерацию констант? Тогда всё попутается, для этого и нумеровал, что бы не попутать! Может Вы хотите чтобы они по порядку возрастания шли, тогда, если не ошибаюсь надо макрос переделывать, они похоже добавляются по мере добавления в свойства макроса и поменять их другим способом нельзя! Не знаю описано это где или нет!

sertol64
02.04.2018, 09:53
Понял. Будем думать дальше....

Сергей0308
02.04.2018, 10:50
Сергей, ОЧЕНЬ интересно, очень! Я помню в старых постах советы по переходу к ПЗУ, но тогда мой мозг был не подготовленным, я бы все равно это бы не воспринял. Сейчас когда начал разбираться возникает много вопросов, некоторые решаются, на некоторых зацикливаюсь в непонятке...
1. не могу понять такую сложную систему включения на пуске. 36377Есть кнопка (с отпусканием) ПУСК, такая же ПАУЗА. А здесь? В чём идея?
2. Не могу понять зачем умножать на единицу 36378
3. Не могу найти шаги (действия) чтоб уменьшить цикл для симуляции. Т.е. чтоб не ждать 30 минут шага, а быстренько просмотреть все циклы....
Пока всё......
Продолжаем дальше изучать!!!

Здесь обычная кнопка пуск с замыкающимся контактом и стоп с размыкающимся, если у вас стоп необычная(с замыкающимся контактом), как пуск и пауза, то уберите инвертор!
Помните Вы на паузу(в цепи тока) дополнительный макрос лепили, это заменит Ваш макрос.
Есть переменная начальный шаг, какой поставите, с такого и начнётся при пуске.

sertol64
02.04.2018, 17:15
Ну вот кое что наваял36395 Экраны не трогал, пока. И пароль на test не ставил, тоже пока. Кнопки на стенде все НОК нажимные, что ПУСК, что СТОП и т.д.

Сергей0308
02.04.2018, 23:24
Ну вот кое что наваял36395 Экраны не трогал, пока. И пароль на test не ставил, тоже пока. Кнопки на стенде все НОК нажимные, что ПУСК, что СТОП и т.д.

А зачем у Вас эта конструкция???

36400

Я так понимаю при изменении уставки напряжения(с изменением единиц вольт и более), например в следующем шаге, причём не важно в какую сторону(в сторону уменьшения или увеличения), произойдёт падение напряжения на выходе примерно на 20% за одну секунду?!
Это у Вас технология такая или чё не так пошло?
Насчёт макроса ПЗУ это мой косяк, видать нечаянно залез в макрос и что-то потрогал, у меня хоть константы подписаны(пронумерованы), помню у некоторых бывают и вовсе не пронумерованы, просто идут по порядку и я показывал "AI", что достаточно пошевелить константу, что бы всё сбилось, хорошо что вспомнил, мне кажется тут и овен мог помочь с их перемещением в списке свойств макроса! Короче, можете назначить уставку понятную для каждого шага, например соответствующую номеру шага и проверить соответствие номера константы номеру шага или под себя макрос переделайте, уменьшить можно в два раза, если занять себя нечем, я бы ограничился проверкой! Проверять можно(лучше) на последних двух цифрах(разрядах), которые не используются в программе.

sertol64
03.04.2018, 03:56
А зачем у Вас эта конструкция???

36400

Я так понимаю при изменении уставки напряжения(с изменением единиц вольт и более), например в следующем шаге, причём не важно в какую сторону(в сторону уменьшения или увеличения), произойдёт падение напряжения на выходе примерно на 20% за одну секунду?!
Это у Вас технология такая или чё не так пошло?

При уставке (к примеру) 36В процесс идет при значении переменной 27, когда переменная НАПРЯЖЕНИЕ меняется в меньшую сторону (к примеру 24,7) - на выходе ничего не меняется, тк. в макросе стоит блок сравнения в большую сторону....вот и пришлось выдумывать.....Жаль только что так тяма не срабатывает чтоб не отсекались десятые доли вольта. У Рег.Бл.Пит свой дисплей, и он показывает какое напряжение выдаёт "гад".
А про ПЗУ - нормально. Я к нему уже привык, можно сказать - ПОЛЮБИЛ!

Сергей0308
03.04.2018, 06:45
При уставке (к примеру) 36В процесс идет при значении переменной 27, когда переменная НАПРЯЖЕНИЕ меняется в меньшую сторону (к примеру 24,7) - на выходе ничего не меняется, тк. в макросе стоит блок сравнения в большую сторону....вот и пришлось выдумывать.....Жаль только что так тяма не срабатывает чтоб не отсекались десятые доли вольта. У Рег.Бл.Пит свой дисплей, и он показывает какое напряжение выдаёт "гад".
А про ПЗУ - нормально. Я к нему уже привык, можно сказать - ПОЛЮБИЛ!

Если Вам надо, что бы то же самое происходило при изменении напряжения и на десятые доли вольта, что мешает подать на сравнение целочисленное значение(в х10 виде), до преобразования типов и делении на 10?!

sertol64
03.04.2018, 07:24
Если Вам надо, что бы то же самое происходило при изменении напряжения и на десятые доли вольта, что мешает подать на сравнение целочисленное значение(в х10 виде), до преобразования типов и делении на 10?!

Сергей, вот "тяма" то и мешает;) Вот подсказали - буду думать. Пока ничего не понял - дойду, созрею...

sertol64
03.04.2018, 09:20
Если Вам надо, что бы то же самое происходило при изменении напряжения и на десятые доли вольта, что мешает подать на сравнение целочисленное значение(в х10 виде), до преобразования типов и делении на 10?!

...там в самом макросе "плавный пуск" после CTN уже округляется, я даже и не знаю как превратить в число с долями....

Василий Кашуба
03.04.2018, 09:57
...там в самом макросе "плавный пуск" после CTN уже округляется, я даже и не знаю как превратить в число с долями....

До CTN увеличить в 10 раз, а после макроса преобразовать во флоат и поделить на 10.

sertol64
03.04.2018, 11:15
До CTN увеличить в 10 раз, а после макроса преобразовать во флоат и поделить на 10.

Ок, попробуем.....А не будет этот счётчик CTN считать в 10 раз дольше?36407

Сергей0308
03.04.2018, 11:23
Ок, попробуем.....

Там уже есть нужная переменная называется "Напряжение", просто подать на функцию сравнения на равенство без преобразования типов!
Примерно как-то так:

36411

sertol64
03.04.2018, 12:00
Там уже есть нужная переменная называется "Напряжение", просто подать на функцию сравнения на равенство без преобразования типов!

Да, так оно и было. Но если переменная "напряжение" допустим 27,8 и потом 27,2, то на выходе переменная U не меняется....

Сергей0308
03.04.2018, 12:49
Да, так оно и было. Но если переменная "напряжение" допустим 27,8 и потом 27,2, то на выходе переменная U не меняется....

Этого не может быть, там значение целочисленное, это оно потом преобразуется во флоат и делится на 10!

Сергей0308
03.04.2018, 18:53
Там уже есть нужная переменная называется "Напряжение", просто подать на функцию сравнения на равенство без преобразования типов!
Примерно как-то так:

36411

Вот намалевал, напрямую подал на функцию сравнения на равенство, только я уже Вам писал напряжение на выходе будет проседать примерно на 20% за одну секунду как при уменьшении переменной "Напряжение", так и при её увеличении, не знаю что Вы хотели, но такая у Вас логика, если Вы хотели как-то по другому, есть макросы, называются примерно так "Вектор изменения параметра(переменной)", вот использую их можно назначить действие только при уменьшении или только при увеличении значения переменной, короче, Вы лучше объясните, что Вы хотите, лучше на диаграмме покажите, что бы сразу ясно стало, а то мне лично пока совсем это не понятно!

sertol64
03.04.2018, 20:27
Сергей, я не знаю как объяснить. Уже столько ....Попробуем так. Возьмите макрос ПлП1 из той программы которую Вы мне прислали в посте 67 и в симуляторе попробуйте; а) на вход I3 подать 36, на вход I2 подать 27,1, ну и соответственно на I4 подать 271. б) на I3 - 36, на I2 - 27,9, на I4 - 279. Вы увидите что на выходе Q1 значение не меняется в этих разных случаях. Вот именно это и есть вопрос(проблема)

sertol64
03.04.2018, 20:29
Простите, миниатюры как то сами приклеились, удалить не могу....

Сергей0308
03.04.2018, 21:00
Сергей, я не знаю как объяснить. Уже столько ....Попробуем так. Возьмите макрос ПлП1 из той программы которую Вы мне прислали в посте 67 и в симуляторе попробуйте; а) на вход I3 подать 36, на вход I2 подать 27,1, ну и соответственно на I4 подать 271. б) на I3 - 36, на I2 - 27,9, на I4 - 279. Вы увидите что на выходе Q1 значение не меняется в этих разных случаях. Вот именно это и есть вопрос(проблема)

Вы придумали логику, не знаю так было задумано или нет, я уже устал Вам повторять, что по вашей логике при изменении переменной "Напряжение" при указанных значениях произойдёт падение выходного напряжения примерно на 20% в течении последующей секунды времени, у вас так логика задумана, не знаю чего Вы ожидали, поэтому и спрашиваю как было задумано, я же не ясновидящий, ну не могу я ваши мысли читать, вот заставили меня сделать чистосердечное признание!

sertol64
03.04.2018, 21:23
Ладно. я не знаю. Я не понял. Я не вижу эти 20%, хотя это почти 6В. Думаю, что жизнь сама покажет. На симуляторе я не вижу падений напряжения. Я честно говоря устал. повторюсь жизнь научит. Я ничего не понимаю.....Столкнусь воочию - будем решать.....

Сергей0308
03.04.2018, 21:48
Ладно. я не знаю. Я не понял. Я не вижу эти 20%, хотя это почти 6В. Думаю, что жизнь сама покажет. На симуляторе я не вижу падений напряжения. Я честно говоря устал. повторюсь жизнь научит. Я ничего не понимаю.....Столкнусь воочию - будем решать.....

Вы же логику писали, после элемента сравнения на равенство, через элемент 2И у вас TON с уставкой 1 секунда, при изменении переменной идущей на элемент сравнения на равенство на выходе будет логический "0" на 1 цикл программы и на выходе TONа будет логический "0" в течении 1 секунды, времени уставки, за это время генератор импульсов успеет подать примерно 5 импульсов на уменьшение значения счётчика, что при указанных уставках составит примерно 20%, но в принципе на логику можно и не смотреть, всё в симуляторе замечательно видно, не знаю почему не видно Вам? Я так понимаю Вы пока не готовы объяснить, что хотите?

sertol64
04.04.2018, 04:20
Да, Сергей. Я видимо не готов объяснить, что хочу. Легче убрать макрос Плавный пуск и всё сделать как в первом проекте. Значения аналогового сигнала подгонять уставкой 36 вольт, чтоб максимально приблизить совпадение заданной переменной по программе и то что покажет дисплей самого РБП. А за информацию по ПЗУ огромнейшее спасибо - удобная вещь.:)

Сергей0308
04.04.2018, 22:19
Да, Сергей. Я видимо не готов объяснить, что хочу. Легче убрать макрос Плавный пуск и всё сделать как в первом проекте. Значения аналогового сигнала подгонять уставкой 36 вольт, чтоб максимально приблизить совпадение заданной переменной по программе и то что покажет дисплей самого РБП. А за информацию по ПЗУ огромнейшее спасибо - удобная вещь.:)

Так никто Вас и не торопит, сначала надо всё хорошенько обдумать, мне кажется, что верная стратегия почти гарантирует успех, и не важно с какой скоростью двигаться, важно что бы в правильном направлении! Может Вам надо просто ограничить скорость изменения параметра и поддерживать параметр на заданном уровне?

Можно например в стек уставку писать каждую секунду и высчитывать среднее арифметическое значение в окне, а шириной окна будет определятся постоянная времени сглаживания! Для поддержания параметра на заданном уровне есть ПИД-регулятор, только надо знать текущее значение параметра, если этот параметр напряжение до 30 В, ставьте делитель напряжения 1:3 и подавайте на аналоговый вход, в основном всё, останется свободными руками утирать слёзы счастья! И не надо ничего мудрить!

Сергей0308
07.04.2018, 20:42
Так никто Вас и не торопит, сначала надо всё хорошенько обдумать, мне кажется, что верная стратегия почти гарантирует успех, и не важно с какой скоростью двигаться, важно что бы в правильном направлении! Может Вам надо просто ограничить скорость изменения параметра и поддерживать параметр на заданном уровне?

Можно например в стек уставку писать каждую секунду и высчитывать среднее арифметическое значение в окне, а шириной окна будет определятся постоянная времени сглаживания! Для поддержания параметра на заданном уровне есть ПИД-регулятор, только надо знать текущее значение параметра, если этот параметр напряжение до 30 В, ставьте делитель напряжения 1:3 и подавайте на аналоговый вход, в основном всё, останется свободными руками утирать слёзы счастья! И не надо ничего мудрить!

Вот примерно как-то так:

36515

Только стек конечно лучше сделать целочисленным, тем более что и уставки у Вас изначально в целочисленном виде!
Если при паузе вам надо чтобы напряжение плавно падало, а при отмене паузы плавно возрастало до уставки, поставьте такой же блок умножения, как на ток, что Вы спрашивали!
И совсем забыл разделить на 100 выход ПИД-регулятора! Разделите сами(там выход 0-100)!

sertol64
07.04.2018, 21:58
Сергей, ЗДРАВСТВУЙТЕ! Со СвЕтлым праздником ПАСХИ Вас! Хочу с вами проконсультироваться!
Я тут долго думал и всё переосмысливал по поводу авиационного стенда. Проблема в релейной схеме не решается, решил координально менять программу.
Попытаюсь рассказать суть проблемы:
Она состоит в переводе из ручного в автоматический режим. Если в первом варианте при управлении Преобр.частоты(в программе, которую мы с Вами изваяли) проблем как бы нет, и легким движением тумблера переключаются управляющие сигналы - либо с резистора (в ручном), либо программно (в автоматич)36513, т.к. внутренний источник питания ПЧ на 10В. То тут сложности т.к. внутренний источник питания РБП на 3В 36516. Пытался делитель сделать, но система неустойчива, нет ни точности ни линейности...Пришёл к выводу - надо на выходе AO1 выдавать не 10 В , а 3 вольта. Чтобы логическая единица соответствовало 3-м Вольтам Возможно ли это? Если были прецеденты, как это грамотно реализовать?

sertol64
07.04.2018, 22:00
Кстати спасибо Вам на счёт стеков. Для меня это тоже НОВО. Надо поизучать, т.к. сразу ничего не понял, надо время осмыслить....

sertol64
07.04.2018, 22:16
Может как то так? Это не будет топорно -примитивно?36520

Сергей0308
07.04.2018, 22:23
Сергей, ЗДРАВСТВУЙТЕ! Со СвЕтлым праздником ПАСХИ Вас! Хочу с вами проконсультироваться!
Я тут долго думал и всё переосмысливал по поводу авиационного стенда. Проблема в релейной схеме не решается, решил координально менять программу.
Попытаюсь рассказать суть проблемы:
Она состоит в переводе из ручного в автоматический режим. Если в первом варианте при управлении Преобр.частоты(в программе, которую мы с Вами изваяли) проблем как бы нет, и легким движением тумблера переключаются управляющие сигналы - либо с резистора (в ручном), либо программно (в автоматич)36513, т.к. внутренний источник питания ПЧ на 10В. То тут сложности т.к. внутренний источник питания РБП на 3В 36516. Пытался делитель сделать, но система неустойчива, нет ни точности ни линейности...Пришёл к выводу - надо на выходе AO1 выдавать не 10 В , а 3 вольта. Чтобы логическая единица соответствовало 3-м Вольтам Возможно ли это? Если были прецеденты, как это грамотно реализовать?

Так здесь никаких проблем я не вижу, подавайте из программы на выход не 1, а 0,3 и будет вам 3 вольта на выходе, хотя мне кажется с делителем должно быть лучше, но так проще в том плане, что и делителя не надо!

Сергей0308
07.04.2018, 22:30
Может как то так? Это не будет топорно -примитивно?36520

Всё правильно, если у вас до этого шло из программы на выход 0-1 В, то есть на выходе было 0-10 В, то разделив на 3,33 получаем примерно 0-3 В, а Вы как иначе хотели, были другие варианты?

sertol64
07.04.2018, 22:58
Про делитель я писал, имея ввиду делитель напряжения из резисторов.. А так...видимо мои мысли идут в правильном направлении - надо fделитель поставить на выходе и всё...

sertol64
07.04.2018, 23:00
Всё правильно, если у вас до этого шло их программы на выход 0-1 В, то есть на выходе было 0-10 В, то разделив на 3,33 получаем примерно 0-3 В, а Вы как иначе хотели, были другие варианты?

Да и вариантов то по-началу не было, я зациклился на переменной Уст36 (мол её делить). Потом "допетрил" на выходе делить, и....засомневался...

Сергей0308
07.04.2018, 23:19
Да и вариантов то по-началу не было, я зациклился на переменной Уст36 (мол её делить). Потом "допетрил" на выходе делить, и....засомневался...

Я так понимаю у вас блок питания с регулируемым напряжением на выходе, вы задаёте необходимое напряжение! Получается нечто похожее что ранее вы задавали выходную частоту ПЧ(обороты двигателя), к чему я веду, чтобы определить обороты двигателя нужен датчик как минимум, здесь же у вас напряжение регулируется, никакого датчика не надо, делитель поставил и всё, так я никак не могу понять, что Вас всё останавливает сделать по-человечески, вечно Вы как-то экспериментально то обороты подстраиваете, то теперь напряжение, я например вашу эту уставку "Уст36" так и не смог никуда приспособить, она просто не нужна, задал напряжение, например 27 В, 27 В и поддерживается на выходе, нечего там подстраивать!

sertol64
07.04.2018, 23:49
Я улыбаюсь, Сергей! Всё это конечно правильно, и решение очень простое - ОЧЕНЬ (В ИДЕАЛЕ) НО я ещё никогда в жизни не встречал блоков питания (любых, хоть импортных, хоть отечественных) которые позиционируют из себя конкретные вольты. На проверку оказывается вольты совершенно другие. Например: У нас в институте, в моём отделе ТРИ одинаковых РБП (одного производителя - компания "Звезда" из Чебоксар). Один на 12В, другой на 36В, третий на 48В. У первого на максимуме 14В, у второго на максимуме 35,2В, у третьего от 47 до 50В в зависимости от нагрузки. И если я в программу зашью конкретные цифры, а нагрузку генератора (или преобразователя) я не знаю, то и наступит страшное слово "погрешность". Можно решить вопрос обратной связью, но....опять НО. Я связываю себе руки.....Не знаю, поймёте ли Вы меня....Иногда нужно вести процесс в более щадящем режиме, чем оно предполагает по ГОСТу (ну например летом, когда жарко, или зимой в мороз, когда критично холодно - когда внешние условия сильно влияют на результат, и мы знаем что этот результат НЕобъективен из-за этих же самых условий). Я как то уже писал об этом. Я должен контролировать процесс, вести его на 26В, а аппаратура будет показывать, что я веду его на 27-миВ. Ну вот так как то, поймёте ли Вы меня не знаю.....

Сергей0308
08.04.2018, 10:38
Я улыбаюсь, Сергей! Всё это конечно правильно, и решение очень простое - ОЧЕНЬ (В ИДЕАЛЕ) НО я ещё никогда в жизни не встречал блоков питания (любых, хоть импортных, хоть отечественных) которые позиционируют из себя конкретные вольты. На проверку оказывается вольты совершенно другие. Например: У нас в институте, в моём отделе ТРИ одинаковых РБП (одного производителя - компания "Звезда" из Чебоксар). Один на 12В, другой на 36В, третий на 48В. У первого на максимуме 14В, у второго на максимуме 35,2В, у третьего от 47 до 50В в зависимости от нагрузки. И если я в программу зашью конкретные цифры, а нагрузку генератора (или преобразователя) я не знаю, то и наступит страшное слово "погрешность". Можно решить вопрос обратной связью, но....опять НО. Я связываю себе руки.....Не знаю, поймёте ли Вы меня....Иногда нужно вести процесс в более щадящем режиме, чем оно предполагает по ГОСТу (ну например летом, когда жарко, или зимой в мороз, когда критично холодно - когда внешние условия сильно влияют на результат, и мы знаем что этот результат НЕобъективен из-за этих же самых условий). Я как то уже писал об этом. Я должен контролировать процесс, вести его на 26В, а аппаратура будет показывать, что я веду его на 27-миВ. Ну вот так как то, поймёте ли Вы меня не знаю.....

И при чём здесь диапазон выходного напряжения РБП и возможность коррекции выходного напряжения? Я так подозреваю Вы поставили производство ваших стендов на поток и Вам тяжело переписывать уставки для РБП на разные выходные напряжения и Вы изменяете свою уставку(Уст36) в энное количество раз? Вот наверняка у Вас есть какой-нибудь ТРМ, посмотрите там есть такая уставка? Вот зачем придумывать непонятные никому(даже Вы путаетесь) уставки, в ТРМ есть всем понятные уставки сдвиг и наклон характеристики, так почему не пойти по хорошо проверенному пути! Можно и включаемый режим создать с коррекцией выходного напряжения, это когда эти уставки задействуются или сделать их постоянно действующими, как в ТРМ!

sertol64
08.04.2018, 18:05
Сергей! Уважаемый мною Сергей! Я высоко и ценю Ваше мнение и прислушиваюсь к нему. Но Вы меня не поняли, Вы не поняли то, что я делаю и мою мысль (логику), видимо сам виноват со своими объяснениями. Примите мою мысль такой, какая она есть. Поверьте. я не сделаю ошибки. Параметр "УСТ36" я прогоню и подберу непосредственно перед запуском 1 раз, с помощью команды "test" и уставки в ПЗУ не буду трогать. ТРМов у нас нет. Если Вы имеете ввиду температурный регулятор, то мы от них отказались в пользу Термодат. И честно, ...я не вижу связи того что я выдумываю(сочиняю, применяю) с ТРМ. (или какой ТРМ Вы имели ввиду?) Так же с гордостью хочу заявить, что стендов у нас три, два из них модернизируются, третий в перспективе. Также с великим удовольствием хочу сообщить что "УСТ36"устанавливается 1 раз и всё....потом когда необходимо (а это редко). Также я исключил все макросы плавного пуска из программы, поменял экраны, добавил туда же новую программу с "Уст48", где РБП36 будет работать как обм.возбуждения на 27В, а РБП48 - обмотка якоря на 50В. Согласен на то, что можно сделать всякие коррекции, сдвиги, но для меня это уже сложно, да и не к чему усложнять решение для простой задачи (моё мнение). Сейчас всё утрясётся, приработается - будем модернезировать. Я думаю пора закрывать тему. Главное,что Вы мне помогли, и я бесконечно признателен Вам, в конкретной задаче, а на остальное махните рукой - я разберусь. А если что - спрошу!

Сергей0308
10.04.2018, 00:50
Сергей! Уважаемый мною Сергей! Я высоко и ценю Ваше мнение и прислушиваюсь к нему. Но Вы меня не поняли, Вы не поняли то, что я делаю и мою мысль (логику), видимо сам виноват со своими объяснениями. Примите мою мысль такой, какая она есть. Поверьте. я не сделаю ошибки. Параметр "УСТ36" я прогоню и подберу непосредственно перед запуском 1 раз, с помощью команды "test" и уставки в ПЗУ не буду трогать. ТРМов у нас нет. Если Вы имеете ввиду температурный регулятор, то мы от них отказались в пользу Термодат. И честно, ...я не вижу связи того что я выдумываю(сочиняю, применяю) с ТРМ. (или какой ТРМ Вы имели ввиду?) Так же с гордостью хочу заявить, что стендов у нас три, два из них модернизируются, третий в перспективе. Также с великим удовольствием хочу сообщить что "УСТ36"устанавливается 1 раз и всё....потом когда необходимо (а это редко). Также я исключил все макросы плавного пуска из программы, поменял экраны, добавил туда же новую программу с "Уст48", где РБП36 будет работать как обм.возбуждения на 27В, а РБП48 - обмотка якоря на 50В. Согласен на то, что можно сделать всякие коррекции, сдвиги, но для меня это уже сложно, да и не к чему усложнять решение для простой задачи (моё мнение). Сейчас всё утрясётся, приработается - будем модернезировать. Я думаю пора закрывать тему. Главное,что Вы мне помогли, и я бесконечно признателен Вам, в конкретной задаче, а на остальное махните рукой - я разберусь. А если что - спрошу!

Вот, пока не поздно, добавил включаемый режим коррекции уставки ну и кое что поправил:

36529

И если Вам надо на выходе максимально 3 вольта, поставьте в знаменателе 333,333 вместо 100!

36531

И насчёт использования стека хотел пару слов ляпнуть: если нужна "плавность" только при включении-выключении, то конечно проще и достаточно использовать метод, что Вы применили, это когда уставка(переменная) умножается на плавно меняющийся коэффициент от 0 до 1, но при смене уставки это не действует, со стеком и при смене уставки происходит плавное изменение!

sertol64
11.04.2018, 14:21
Нет,Сергей. Не поздно. интересная вещь этот стек. Пока до конца не разобрался. Тут намедне закачал программу в ПР и чисто на проводочках подсоеденил к РБП. Поковырялся в настройках самого РБП и наткнулся на плавность достижения заданного напряжения - так что не зря из программы исключил плавный пуск. Вы правы если делить на 3,333 получается точнее. Вот только какая то нестабильность присутствует - на РБП десятые доли U колеблются. Но я не расстраиваюсь, возможно крепление не зятянул, моЖ в настройках самого РБП есть стабилизация U - всёЖ на коленке.....

Сергей0308
11.04.2018, 21:21
Нет,Сергей. Не поздно. интересная вещь этот стек. Пока до конца не разобрался. Тут намедне закачал программу в ПР и чисто на проводочках подсоеденил к РБП. Поковырялся в настройках самого РБП и наткнулся на плавность достижения заданного напряжения - так что не зря из программы исключил плавный пуск. Вы правы если делить на 3,333 получается точнее. Вот только какая то нестабильность присутствует - на РБП десятые доли U колеблются. Но я не расстраиваюсь, возможно крепление не зятянул, моЖ в настройках самого РБП есть стабилизация U - всёЖ на коленке.....

У Вас, если правильно понял, что-то типа того, что я намалевал, только без ПИД-регулятора??? Вы с помощью стека напряжение плавно поднимаете или как ещё? Если напряжение плавает на выходе, тем более ПИД-регулятор помог бы и разрулил ситуацию!

sertol64
12.04.2018, 16:25
Сергей, в программе я исключил плавный пуск и U и (0-3В) устанавливается сразу. Т.к. плавный пуск есть в самом РБП. Если при полностью реализации этого проекта в железе будет скакать U, то конечно попробую использовать ПИД. Сейчас стенд выглядит так:36580. Пока ещё что то недокуплено и я ещё "бъюсь" над релейной схемой её реализации, там есть свои непонятки 36581. А то что скачет U это я испытавал - просто проводочками подсоеденил к ПР. Это не серьёзно. Когда смонтирую окончательно тогда будем посмотреть....

Сергей0308
12.04.2018, 18:31
Сергей, в программе я исключил плавный пуск и U и (0-3В) устанавливается сразу. Т.к. плавный пуск есть в самом РБП. Если при полностью реализации этого проекта в железе будет скакать U, то конечно попробую использовать ПИД. Сейчас стенд выглядит так:36580. Пока ещё что то недокуплено и я ещё "бъюсь" над релейной схемой её реализации, там есть свои непонятки 36581. А то что скачет U это я испытавал - просто проводочками подсоеденил к ПР. Это не серьёзно. Когда смонтирую окончательно тогда будем посмотреть....

Мне кажется, для стенда напрашивается панельный ПК с виндой и Мастерскадой(или какой другой скадой), в крайнем случае, промышленный ПК и монитор не менее 24 дюйма и поражаете заказчиков графиками, мнемосхемами и всякими отчётами!

sertol64
12.04.2018, 20:07
Сергей, Вы единственный кто меня понимает..... Я им тоже это твержу, правда не так круто (панельный ПК) а вот панель оператора точно....Ну и 24 дюйма это прям ....ну в Японии я точно медаль получу. Кстати, Сергей, у Вас нет опыта по организации нагрузки на высокочастотное напряжение? Нужно сварганить нагрузку 13А на генератор 115В 400Гц (это на авиац.стенд), пробовал нихромовыми пружинами - нагреваются и перегорают, есть мысль подключить к пружинам катушки индуктивности, но знание формул на практике не могу применить, чтоб расчитать....(спросил на всякий случай, а вдруг......)

rovki
12.04.2018, 20:38
Ставьте планшет 10-12" с любой скадой (в зависимости от задач),можно даже с 2 ОС ,для стенда за глаза .Получите и пульт управления и визуализацию ...и связь с верхним уровнем (для перспективы)

sertol64
12.04.2018, 21:08
Ставьте планшет 10-12" с любой скадой (в зависимости от задач),можно даже с 2 ОС ,для стенда за глаза .Получите и пульт управления и визуализацию ...и связь с верхним уровнем (для перспективы)

СОГЛАСЕН!!! ...а что такое "планшет"? Хотя я всё равно согласен...

rovki
12.04.2018, 21:50
СОГЛАСЕН!!! ...а что такое "планшет"? Хотя я всё равно согласен...
Планшет ,в данном случае Андроид устройство ,как смартфон ,только большой ;).Будут вопросы и желание заходите в тему соответствующую :cool:.
http://www.owen.ru/forum/showthread.php?t=23045&page=122&p=275787#post275787

Сергей0308
13.04.2018, 02:03
Сергей, Вы единственный кто меня понимает..... Я им тоже это твержу, правда не так круто (панельный ПК) а вот панель оператора точно....Ну и 24 дюйма это прям ....ну в Японии я точно медаль получу. Кстати, Сергей, у Вас нет опыта по организации нагрузки на высокочастотное напряжение? Нужно сварганить нагрузку 13А на генератор 115В 400Гц (это на авиац.стенд), пробовал нихромовыми пружинами - нагреваются и перегорают, есть мысль подключить к пружинам катушки индуктивности, но знание формул на практике не могу применить, чтоб расчитать....(спросил на всякий случай, а вдруг......)

Разделите напряжение на ток, получается нагрузка сопротивлением примерно 8,846 Ом и мощностью рассеивания не менее 1500 Вт, возьмите немного с запасом по мощности рассеивания иначе конечно "пыхнет"!
Можно купить готовую регулируемую электронную нагрузку или пытаться сделать самому!
https://arlight.ru/catalog/do-2000-vt-866/elektronnaya-nagruzka-3751a-023367.html

sertol64
13.04.2018, 04:12
Разделите напряжение на ток, получается нагрузка сопротивлением примерно 8,846 Ом и мощностью рассеивания не менее 1500 Вт, возьмите немного с запасом по мощности рассеивания иначе конечно "пыхнет"!
Можно купить готовую регулируемую электронную нагрузку или пытаться сделать самому!

Да, эти злосчастные 8Ом..... Будем опытным путём - внедрять индуктивное сопротивление, частота то 400Гц, жаль что опытным. Ладно,будем дальше думать!:confused: