Да....совсем забыл... Мультиплексоры НЕ целочисленные по причине того, что мне нужно на выходе такие напряжения как 24,3 29,7, из 36В т.е. присутствует запятая. Как это реализовать с помощью целочисленных значений - незнаю..
Вид для печати
Да....совсем забыл... Мультиплексоры НЕ целочисленные по причине того, что мне нужно на выходе такие напряжения как 24,3 29,7, из 36В т.е. присутствует запятая. Как это реализовать с помощью целочисленных значений - незнаю..
а я про него и говорил, человек старался, тратил на Вас время, а Вы тут кидаетесь словами что не видите в этом смысла
...так я и жду аргументов..!.это мне и в будущем пригодиться, чтоб учесть свои ошибки. Дело в том, что умножить и разделить в конце выхода сигнала я знал во время написания самой программы, но мне показалось проще сделать именно так...Я и хочу узнать - в чём я ошибаюсь. На подходе третий стенд, третья программа, хочу подойти к ней уже более подготовленным...А сейчас....сложности в релейной схеме этого стенда. И ...как бы эта самая программа на втором месте по приоритету. Я на данный момент разрабатываю не только сами программы, но и релейные схемы их воплощения. и само их изготовления. Поэтому простите меня, если смог Вас обидеть неосторожным словом. На данный момент сижу ломаю голову над другой проблемой - воплощение релейной схемы. Там непонятки по подключению аналоговых входов. Боюсь накосячить...
Это на будущее, здесь, если у Вас всё работает, как задумано, можно не совершенствовать! Когда мы обсуждали преведущий проект, я думал, что будущее это следующий проект, т. е. этот, оказывается, как в мультике, будущее никогда не наступает, всегда настоящее!
Помните Алексей Геннадьевич Вам советовал взять ПЗУ и туда все шаги записать, я тоже так думаю, что это бы было оптимально, всё остальное вне макроса, у меня есть ПЗУ до 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 разряда, например можно ещё одну уставку поместить, типа времени шага или ещё как, если не надо изменять значение!
Сергей, из всего вышенаписанного я понял то, что все эти мультиплексоры можно объеденить в один макрос, называемый ПЗУ. Но я сомневаюсь что я правильно понял вот изза этих Ваших строк.
Вложение 36362
Тут я ничего не понял....
Я как бы начал вносить в ПЗУ данные временные , это так я понял?
Как-то так, вот вам проект, там я показал, как легко можно извлечь нужную уставку из макроса ПЗУ, который более чем в 2 раза перекрывает ваши потребности:
Вложение 36365
Вам только таймер с индикацией отсчёта времени надо с паузой, я первый попавшийся взял, вроде всякие таймеры выкладывал и с паузой и без паузы, заменить думаю не проблема и обвязку там разную, короче я показал что всё работает! В ПЗУ номер константы соответствует номеру шага в программе, уставки идут без разрывов слева направо: 2 разряда - время шага(максимальное значение-41), 3 разряда - ток, 3 разряда - напряжение, последние 2 разряда - резерв, можно любые цифры писать, пока не используется! Для демонстрации уменьшил время шагов и диапазон кольцевого счётчика!
Вот как выглядит установка уставок в ПЗУ:
Вложение 36367
Вот и таймер поставил с паузой, практически готовый проект, для демонстрации переменные сделал энергонезависимыми, когда на экран индикация добавится, энергонезависимость нужно будет убрать и без неё всё будет симулироваться!
Вложение 36374
Вот ещё немного пытался улучшить:
Вложение 36375
Посмотрите, если чё не так, скажите, поправим!
Для меня это вообще НОВО. Мне нужно время. Мне нужно это всё переварить. Спасибо Вам Сергей! Если что неДоварю - спрошу!
Сейчас поставил для демонстрации два шага программы: время первого, 1 минута, ток 13 А, напряжение 29,7 В; время второго, 2 минуты, ток 12,9 А, напряжение 29,6 В, последние две цифры - резерв, пока не используются, кнопка стоп - нормально-замкнутая! Я вроде всегда так это и представлял, зачем много таймеров ставить, пусть один и считает и отображает! и проблем меньше с коммутацией!
Можете изменить количество шагов до 256, включительно, уставки, что бы понятно было, как это сделать!
Сергей, ОЧЕНЬ интересно, очень! Я помню в старых постах советы по переходу к ПЗУ, но тогда мой мозг был не подготовленным, я бы все равно это бы не воспринял. Сейчас когда начал разбираться возникает много вопросов, некоторые решаются, на некоторых зацикливаюсь в непонятке...
1. не могу понять такую сложную систему включения на пуске. Вложение 36377Есть кнопка (с отпусканием) ПУСК, такая же ПАУЗА. А здесь? В чём идея?
2. Не могу понять зачем умножать на единицу Вложение 36378
3. Не могу найти шаги (действия) чтоб уменьшить цикл для симуляции. Т.е. чтоб не ждать 30 минут шага, а быстренько просмотреть все циклы....
Пока всё......
Продолжаем дальше изучать!!!
Вот ещё. Можно ли и как меняется сама нумерация констант в ПЗУ? Вот вижу пропуски...
Вложение 36381тут не хватает 16
Вложение 36382тут нехватает 97
Дальше не смотрел...
Как поменять нумерацию констант? Тогда всё попутается, для этого и нумеровал, что бы не попутать! Может Вы хотите чтобы они по порядку возрастания шли, тогда, если не ошибаюсь надо макрос переделывать, они похоже добавляются по мере добавления в свойства макроса и поменять их другим способом нельзя! Не знаю описано это где или нет!
Понял. Будем думать дальше....
Здесь обычная кнопка пуск с замыкающимся контактом и стоп с размыкающимся, если у вас стоп необычная(с замыкающимся контактом), как пуск и пауза, то уберите инвертор!
Помните Вы на паузу(в цепи тока) дополнительный макрос лепили, это заменит Ваш макрос.
Есть переменная начальный шаг, какой поставите, с такого и начнётся при пуске.
Ну вот кое что наваялВложение 36395 Экраны не трогал, пока. И пароль на test не ставил, тоже пока. Кнопки на стенде все НОК нажимные, что ПУСК, что СТОП и т.д.
А зачем у Вас эта конструкция???
Вложение 36400
Я так понимаю при изменении уставки напряжения(с изменением единиц вольт и более), например в следующем шаге, причём не важно в какую сторону(в сторону уменьшения или увеличения), произойдёт падение напряжения на выходе примерно на 20% за одну секунду?!
Это у Вас технология такая или чё не так пошло?
Насчёт макроса ПЗУ это мой косяк, видать нечаянно залез в макрос и что-то потрогал, у меня хоть константы подписаны(пронумерованы), помню у некоторых бывают и вовсе не пронумерованы, просто идут по порядку и я показывал "AI", что достаточно пошевелить константу, что бы всё сбилось, хорошо что вспомнил, мне кажется тут и овен мог помочь с их перемещением в списке свойств макроса! Короче, можете назначить уставку понятную для каждого шага, например соответствующую номеру шага и проверить соответствие номера константы номеру шага или под себя макрос переделайте, уменьшить можно в два раза, если занять себя нечем, я бы ограничился проверкой! Проверять можно(лучше) на последних двух цифрах(разрядах), которые не используются в программе.
При уставке (к примеру) 36В процесс идет при значении переменной 27, когда переменная НАПРЯЖЕНИЕ меняется в меньшую сторону (к примеру 24,7) - на выходе ничего не меняется, тк. в макросе стоит блок сравнения в большую сторону....вот и пришлось выдумывать.....Жаль только что так тяма не срабатывает чтоб не отсекались десятые доли вольта. У Рег.Бл.Пит свой дисплей, и он показывает какое напряжение выдаёт "гад".
А про ПЗУ - нормально. Я к нему уже привык, можно сказать - ПОЛЮБИЛ!
Ок, попробуем.....А не будет этот счётчик CTN считать в 10 раз дольше?Вложение 36407
Там уже есть нужная переменная называется "Напряжение", просто подать на функцию сравнения на равенство без преобразования типов!
Примерно как-то так:
Вложение 36411
Вот намалевал, напрямую подал на функцию сравнения на равенство, только я уже Вам писал напряжение на выходе будет проседать примерно на 20% за одну секунду как при уменьшении переменной "Напряжение", так и при её увеличении, не знаю что Вы хотели, но такая у Вас логика, если Вы хотели как-то по другому, есть макросы, называются примерно так "Вектор изменения параметра(переменной)", вот использую их можно назначить действие только при уменьшении или только при увеличении значения переменной, короче, Вы лучше объясните, что Вы хотите, лучше на диаграмме покажите, что бы сразу ясно стало, а то мне лично пока совсем это не понятно!
Сергей, я не знаю как объяснить. Уже столько ....Попробуем так. Возьмите макрос ПлП1 из той программы которую Вы мне прислали в посте 67 и в симуляторе попробуйте; а) на вход I3 подать 36, на вход I2 подать 27,1, ну и соответственно на I4 подать 271. б) на I3 - 36, на I2 - 27,9, на I4 - 279. Вы увидите что на выходе Q1 значение не меняется в этих разных случаях. Вот именно это и есть вопрос(проблема)
Простите, миниатюры как то сами приклеились, удалить не могу....
Вы придумали логику, не знаю так было задумано или нет, я уже устал Вам повторять, что по вашей логике при изменении переменной "Напряжение" при указанных значениях произойдёт падение выходного напряжения примерно на 20% в течении последующей секунды времени, у вас так логика задумана, не знаю чего Вы ожидали, поэтому и спрашиваю как было задумано, я же не ясновидящий, ну не могу я ваши мысли читать, вот заставили меня сделать чистосердечное признание!
Ладно. я не знаю. Я не понял. Я не вижу эти 20%, хотя это почти 6В. Думаю, что жизнь сама покажет. На симуляторе я не вижу падений напряжения. Я честно говоря устал. повторюсь жизнь научит. Я ничего не понимаю.....Столкнусь воочию - будем решать.....
Вы же логику писали, после элемента сравнения на равенство, через элемент 2И у вас TON с уставкой 1 секунда, при изменении переменной идущей на элемент сравнения на равенство на выходе будет логический "0" на 1 цикл программы и на выходе TONа будет логический "0" в течении 1 секунды, времени уставки, за это время генератор импульсов успеет подать примерно 5 импульсов на уменьшение значения счётчика, что при указанных уставках составит примерно 20%, но в принципе на логику можно и не смотреть, всё в симуляторе замечательно видно, не знаю почему не видно Вам? Я так понимаю Вы пока не готовы объяснить, что хотите?
Да, Сергей. Я видимо не готов объяснить, что хочу. Легче убрать макрос Плавный пуск и всё сделать как в первом проекте. Значения аналогового сигнала подгонять уставкой 36 вольт, чтоб максимально приблизить совпадение заданной переменной по программе и то что покажет дисплей самого РБП. А за информацию по ПЗУ огромнейшее спасибо - удобная вещь.:)
Так никто Вас и не торопит, сначала надо всё хорошенько обдумать, мне кажется, что верная стратегия почти гарантирует успех, и не важно с какой скоростью двигаться, важно что бы в правильном направлении! Может Вам надо просто ограничить скорость изменения параметра и поддерживать параметр на заданном уровне?
Можно например в стек уставку писать каждую секунду и высчитывать среднее арифметическое значение в окне, а шириной окна будет определятся постоянная времени сглаживания! Для поддержания параметра на заданном уровне есть ПИД-регулятор, только надо знать текущее значение параметра, если этот параметр напряжение до 30 В, ставьте делитель напряжения 1:3 и подавайте на аналоговый вход, в основном всё, останется свободными руками утирать слёзы счастья! И не надо ничего мудрить!
Вот примерно как-то так:
Вложение 36515
Только стек конечно лучше сделать целочисленным, тем более что и уставки у Вас изначально в целочисленном виде!
Если при паузе вам надо чтобы напряжение плавно падало, а при отмене паузы плавно возрастало до уставки, поставьте такой же блок умножения, как на ток, что Вы спрашивали!
И совсем забыл разделить на 100 выход ПИД-регулятора! Разделите сами(там выход 0-100)!
Сергей, ЗДРАВСТВУЙТЕ! Со СвЕтлым праздником ПАСХИ Вас! Хочу с вами проконсультироваться!
Я тут долго думал и всё переосмысливал по поводу авиационного стенда. Проблема в релейной схеме не решается, решил координально менять программу.
Попытаюсь рассказать суть проблемы:
Она состоит в переводе из ручного в автоматический режим. Если в первом варианте при управлении Преобр.частоты(в программе, которую мы с Вами изваяли) проблем как бы нет, и легким движением тумблера переключаются управляющие сигналы - либо с резистора (в ручном), либо программно (в автоматич)Вложение 36513, т.к. внутренний источник питания ПЧ на 10В. То тут сложности т.к. внутренний источник питания РБП на 3В Вложение 36516. Пытался делитель сделать, но система неустойчива, нет ни точности ни линейности...Пришёл к выводу - надо на выходе AO1 выдавать не 10 В , а 3 вольта. Чтобы логическая единица соответствовало 3-м Вольтам Возможно ли это? Если были прецеденты, как это грамотно реализовать?
Кстати спасибо Вам на счёт стеков. Для меня это тоже НОВО. Надо поизучать, т.к. сразу ничего не понял, надо время осмыслить....