Segnetics

Вернуться   Segnetics > Общий

Ответ
 
Опции темы Поиск в этой теме Опции просмотра
Старый 15.04.2014, 18:40   #31
ujin
Senior Member
 
Регистрация: May 2010
Адрес: Novosibirsk
Сообщения: 387
По умолчанию Ответ: Обмениваемся макросами

Цитата:
Сообщение от Arsie Посмотреть сообщение
Зачем журнал-то стирать при этом? Появляется надпись "* сброс аварии" и затем список активных аварий.

При ПНР история не актуальна. А при эксплуатации это единичные аварии.
Вы говорите о своей эксплуатации и пусконаладке я о своей.
Последнее время не всегда пусконаладка имеет исходные программы. А эксплуатация не всегда стремится все подробно рассказать, что случилось.


__________________
В жизни 2 правила успеха:
1 Не говори всего что знаешь
2 ...
ujin вне форума   Ответить с цитированием
Старый 15.04.2014, 21:20   #32
Arsie
Сотрудник Segnetics
 
Аватара для Arsie
 
Регистрация: Jan 2006
Адрес: Russia, SPb
Сообщения: 8 821
По умолчанию Ответ: Обмениваемся макросами

Цитата:
Сообщение от ujin Посмотреть сообщение
Вы говорите о своей эксплуатации и пусконаладке я о своей.
Последнее время не всегда пусконаладка имеет исходные программы. А эксплуатация не всегда стремится все подробно рассказать, что случилось.
Именно о такой и говорю.

Хотя и не буду спорить, что полноценный журнал всегда круче


__________________
Добро всегда побеждает зло. Кто победил - тот и добрый.
Arsie вне форума   Ответить с цитированием
Старый 16.04.2014, 01:00   #33
младшой
Senior Member
 
Регистрация: May 2010
Сообщения: 235
По умолчанию Ответ: Обмениваемся макросами

Макрос для удобного (если надо изменить на несколько единиц или десятые доли) изменения числовых уставок.
Выкладываю сразу в программе-примере. Редактор.psl
Нажимаем на кнопку Enter (OK) уставка переводится в режим редактирования, что отображается миганием.
Нажимаем на кнопки Up или Down значение уставки начинает увеличиваться или уменьшаться.
Если нажимать кратковременно, уставка меняется на 0.1 (макрос меняет значение на 1, но в данном примере на входе и выходе производятся преобразования real*10 -> int -> real/10).
Если удерживать, значение меняется с нарастающей скоростью.
После установления нужного значения жмем Enter (OK), что-бы сохранить значение в память.
Если мы хотим выйти из режима редактирования без сохранения, жмем Esc.
В примере только одна уставка, но макрос создавался с расчетом на возможность мультиплексирования.

Видео демонстрации: http://youtu.be/Q3s1LxdL1GE
младшой вне форума   Ответить с цитированием
Старый 15.05.2014, 21:08   #34
ujin
Senior Member
 
Регистрация: May 2010
Адрес: Novosibirsk
Сообщения: 387
По умолчанию Ответ: Обмениваемся макросами

Наброски по текущим авариям.
32 Аварии. Состояния 1 Tripped Alarm (ON), 2 Reset Alarm (OFF), 3 Acknowledged Alarm. Подтверждение кнопкой Enter.
Есть наработки по отображению времени появления, сброса.
Так же есть подходы по увеличению количества. Пока времени на это нет.
Вложения
Тип файла: psl Аварии_текущие_работает.psl (433.8 Кбайт, 125 просмотров)


__________________
В жизни 2 правила успеха:
1 Не говори всего что знаешь
2 ...
ujin вне форума   Ответить с цитированием
Старый 01.09.2014, 15:57   #35
ailcat
Senior Member
 
Аватара для ailcat
 
Регистрация: Oct 2010
Адрес: Москва и МО
Сообщения: 110
По умолчанию Ответ: Обмениваемся своими макросами

Очередная версия "таймштампа".
Не имеет ничего общего с Unix-Time: макрос просто сохраняет полученные от GetData и GetRealTime данный в одну переменную (long) - соответственно, для вычислений формат непригоден, но блок CMP(long) работает с ним абсолютно корректно.

скопировать не смогу: домашний комп сдох, с рабочего низ-зя - поэтому пока ссылкой:
http://forum.segnetics.com/showpost....9&postcount=19
Макрос быстрый, но жадный до памяти - на Pixel-12 применять с осторожностью...
ailcat вне форума   Ответить с цитированием
Старый 28.03.2015, 09:06   #36
tvf
Senior Member
 
Регистрация: Dec 2011
Сообщения: 545
По умолчанию Ответ: Обмениваемся своими макросами

ШИМ-модулятор.

Традиционные ШИМ-модуляторы имеют ряд врожденных особенностей:
1. Разрешающая способность ШИМ пропорциональна периоду ШИМ. При характерном времени цикла контроллера 0,1 с и разрешающей способности ШИМ 0,1% период ШИМ будет 100 с.
2. Реально в процессе модуляции участвует только одно значение переменной за весь период ШИМ. При разрешающей способности ШИМ 0,1% в процессе модуляции участвует 1 значение переменной из 1000.

Все это накладывает некоторые ограничения на область применения ШИМ: переменная не должна значительно меняться в течении периода ШИМ. Если ограничить изменение переменной в течении периода ШИМ 1%, то при разрешающей способности ШИМ 0,1% и характерном времени цикла контроллера 0,1 с характерное время процесса составит 10000 с или 2 ч 46 мин.
Попытка применить ШИМ для более быстротекущих процессов требует уменьшить разрешающую способность ШИМ или работать по среднему значению переменной за предыдущий период ШИМ. Первый вариант снижает точность регулирования, второй вносит задержку на период ШИМ. Но кардинально ни тот ни другой вариант ни чего не меняет.

Существует специальный вид ШИМ модуляторов, быстродействие которых ограничено только циклом работы контроллера. Это так называемый ШИМ Бразенхейма. В процессе модуляции участвуют все значения переменной. Минимальное характерное время процесса более 10-15 тиков контроллера. Пример такого модулятора во вложении. Входной сигнал 0-1000, разрешение - 8 бит или около 0,4%.
Вложения
Тип файла: msl Бразенхейм ШИМ v4_lite_8.msl (4.7 Кбайт, 128 просмотров)


__________________
Нет абсолютно бездарных людей. Каждый бездарен в своей области.
tvf сейчас на форуме   Ответить с цитированием
Старый 29.03.2015, 09:28   #37
LordN
Senior Member
 
Регистрация: Dec 2007
Адрес: Томск
Сообщения: 1 281
По умолчанию Ответ: Обмениваемся своими макросами

Цитата:
Сообщение от tvf Посмотреть сообщение
ШИМ-модулятор.

Традиционные ШИМ-модуляторы имеют ряд врожденных особенностей:
1. Разрешающая способность ШИМ пропорциональна периоду ШИМ. При характерном времени цикла контроллера 0,1 с и разрешающей способности ШИМ 0,1% период ШИМ будет 100 с.
2. Реально в процессе модуляции участвует только одно значение переменной за весь период ШИМ. При разрешающей способности ШИМ 0,1% в процессе модуляции участвует 1 значение переменной из 1000.

Все это накладывает некоторые ограничения на область применения ШИМ: переменная не должна значительно меняться в течении периода ШИМ. Если ограничить изменение переменной в течении периода ШИМ 1%, то при разрешающей способности ШИМ 0,1% и характерном времени цикла контроллера 0,1 с характерное время процесса составит 10000 с или 2 ч 46 мин.
Попытка применить ШИМ для более быстротекущих процессов требует уменьшить разрешающую способность ШИМ или работать по среднему значению переменной за предыдущий период ШИМ. Первый вариант снижает точность регулирования, второй вносит задержку на период ШИМ. Но кардинально ни тот ни другой вариант ни чего не меняет.

Существует специальный вид ШИМ модуляторов, быстродействие которых ограничено только циклом работы контроллера. Это так называемый ШИМ Бразенхейма. В процессе модуляции участвуют все значения переменной. Минимальное характерное время процесса более 10-15 тиков контроллера. Пример такого модулятора во вложении. Входной сигнал 0-1000, разрешение - 8 бит или около 0,4%.
Код:
	#ifdef BrezenhemEnable
	//****************	BEGIN тест Брезенхема	***************
	#define	CARRY_BIT 0b01000000 // выбор разрядности метода
			bitPeriod = !bitPeriod;
			if(bitPeriod)
			{
				static	unsigned char	accum;	//, tmp;
				accum += speedFan; // вход той же разрядности
				if(accum & CARRY_BIT)
					bitTriacEnable = 1;
				else
					bitTriacEnable = 0;
				accum &= ~CARRY_BIT;
				ccpVal = MaxCCP_Val;
			}
	//****************	END тест Брезенхема	***************
	#endif
		//		эта конструкция работает!!!!!!!!


__________________
C уважением, LordN
LordN вне форума   Ответить с цитированием
Старый 17.08.2015, 15:16   #38
serg-el
Senior Member
 
Регистрация: Aug 2013
Адрес: Москва
Сообщения: 602
По умолчанию Ответ: Обмениваемся своими макросами

Генератор импульсов. n импульсов за dt секунд.
Импульсы равномерно распределены по времени. Если запросить много импульсов за мало времени, то из-за округления деления dt/n может накапливаться ошибка, и тогда в конце цикла работы макроса будет период молчания (например - тик 100, n=40, dt=10 - 21 такт в конце молчание).
Наилучший вариант - когда dt/n без остатка.
Вложения
Тип файла: msl генератор импульсов.msl (25.6 Кбайт, 67 просмотров)
serg-el вне форума   Ответить с цитированием
Старый 27.09.2015, 15:30   #39
ViS
Senior Member
 
Регистрация: Aug 2010
Сообщения: 396
По умолчанию Ответ: Обмениваемся своими макросами

Легко масштабируемый по количеству контуров "График отопления" для замены такового из "Конструктора ИТП".
Собственно конструкторский и переделан. Функционал полностью соответствует конструкторскому.
Поправленный
Вложения
Тип файла: zip График отопления масштабируемый (Closed).zip (114.1 Кбайт, 132 просмотров)

Последний раз редактировалось Arsie, 28.09.2015 в 20:37
ViS вне форума   Ответить с цитированием
Старый 09.10.2015, 11:47   #40
oboldeus
Новичок
 
Регистрация: Mar 2015
Сообщения: 2
По умолчанию Ответ: Обмениваемся своими макросами

Может кому пригодится - макрос реализует альф-бета фильтр.
Макрос делался по этой статье : https://en.wikipedia.org/wiki/Alpha_beta_filter.
У фильтра есть некоторые недостатки - так называемый "звон", задержка сигнала на выходе.
Но фильтр рабочий - проверялся на датчиках давления в условиях очень сильных помех.
Вложения
Тип файла: zip alpha-beta.zip (3.0 Кбайт, 40 просмотров)
oboldeus вне форума   Ответить с цитированием
Старый 11.10.2015, 07:32   #41
tvf
Senior Member
 
Регистрация: Dec 2011
Сообщения: 545
По умолчанию Ответ: Обмениваемся своими макросами

Цитата:
Сообщение от oboldeus Посмотреть сообщение
Может кому пригодится - макрос реализует альф-бета фильтр.
1. За идею спасибо.
2. Реализация фильтра кривая. Почитал статью, посмотрел макрос, выложенный ATS в версии 3.25. Автор макроса не только не понял самой идеи альфа-бета фильтра, но очень свободно отнесся к синтаксису языка Си.
3. Идея альфа-бета фильтра заключается в том, что фильтруемому параметру соответствуют 2 переменные: значение параметра и скорость изменения параметра. На основании этих 2 переменных, вычисленных в предыдущем такте, делается прогноз состояния параметра в текущем такте:

xk = xk_1 + ( vk_1 * dt ), где

xk - прогнозируемое значение параметра в текущем такте
xk_1 - значение параметра в предыдущем такте
vk_1 - скорость изменения параметра в предыдущем такте
dt - длительность такта

Скорость изменения в текущем такте приравнивается к скорости изменения в предыдущем такте:

vk = vk_1, где

vk_1 - скорость изменения параметра в предыдущем такте
vk - скорость изменения параметра в текущем такте

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

rk = xm - xk;где

xk - прогнозируемое значение параметра в текущем такте
xm - значение параметра в текущем такте
rk - невязка

Далее прогнозируемые значения параметра и скорости параметра корректируются в соответствии со значениями a и b:

xk += a*rk что эквивалентно записи xk1= xk + a*rk
vk += (b*rk )/dt что эквивалентно записи vk1=vk + (b*rk )/dt, где

xk1 - уже значение на выходе фильтра
vk1 - значение скорости изменения

Далее вычисленные значения запоминаются, для использования в следующем такте:

xk_1 = xk1 и vk_1 = vk1

4. Если мы положим параметр b =0, то получим обычный RC-фильтр.
5. В принципе, альфа-бета фильтр может дать лучшие результаты, чем RC-фильтр. Но тут все зависит от правильности выбора альфа-бета от установленного тика контроллера, параметров самого сигнала и параметров наложенного на него шума. Вычисления оптимальных альфа-бета это отдельная тема и здесь не рассматривается.
6. При неоптимальных альфа-бета от фильтра больше вреда чем пользы: пульсации на переходной характеристике, дребезг в установившемся режиме, зависимость результатов от времени тика при неизменных альфа-бета. Так что в нашем случае обычный RC-фильтр предпочтительней. Если не хватает степени фильтрации - ставьте последовательно 2-3 RC-фильтра.
7. Что бы не быть голословным, сделал тестовый проект, где можно посмотреть поведение фильтров:

альфа-бета-фильтр (ATS)
альфа-бета-фильтр (TVF)
RC-фильтр

Смотрите, сравнивайте.
Вложения
Тип файла: psl alpha-beta_tvf.psl (51.4 Кбайт, 62 просмотров)


__________________
Нет абсолютно бездарных людей. Каждый бездарен в своей области.
tvf сейчас на форуме   Ответить с цитированием
Старый 30.11.2015, 19:15   #42
СВМ
Senior Member
 
Регистрация: Jan 2012
Адрес: Саратов
Сообщения: 124
По умолчанию

Ещё два фильтра:

Цитата:
Сообщение от СВМ Посмотреть сообщение
Ещё два фильтра:
Пример расчёта.
Вложения
Тип файла: msl Баттерворт.msl (12.1 Кбайт, 35 просмотров)
Тип файла: msl Бессель.msl (12.9 Кбайт, 24 просмотров)
Тип файла: doc Расчёт фильтра.doc (73.5 Кбайт, 28 просмотров)

Последний раз редактировалось Arsie, 04.12.2015 в 09:52
СВМ вне форума   Ответить с цитированием
Старый 03.12.2015, 22:15   #43
vlanaz
Member
 
Регистрация: Feb 2015
Адрес: Ufa
Сообщения: 31
По умолчанию Ответ: Обмениваемся своими макросами

Простой макрос вывода времени и даты для ленивых.
Описание есть в теле макроса.
Выводит дату и время в разные начальные координаты.
Можно выводить только время или дату. Можно убрать секунды.
Выводит лидирующий ноль в позиции секунд, минут, часов, даты и месяца.
Вложения
Тип файла: msl Time_Date_Screen.msl (27.3 Кбайт, 81 просмотров)

Последний раз редактировалось Arsie, 04.12.2015 в 09:44
vlanaz вне форума   Ответить с цитированием
Старый 07.12.2015, 17:38   #44
serg-el
Senior Member
 
Регистрация: Aug 2013
Адрес: Москва
Сообщения: 602
По умолчанию Ответ: Обмениваемся своими макросами

Макросы пересчета сопротивления в температуру согласно ГОСТ 6651-2009, и не только

В ГОСТ кстати, есть ошибки.
Вложения
Тип файла: msl Cu100 4260.msl (3.9 Кбайт, 53 просмотров)
Тип файла: msl Cu100 4280.msl (9.9 Кбайт, 44 просмотров)
Тип файла: msl Ni100 a=.00617.msl (8.9 Кбайт, 41 просмотров)
Тип файла: msl Ni1000 TK5000.msl (7.3 Кбайт, 44 просмотров)
Тип файла: msl Pt1000 3850.msl (11.3 Кбайт, 98 просмотров)
Тип файла: msl Вычисление t NTC.msl (8.1 Кбайт, 51 просмотров)
Тип файла: msl П1000 3910.msl (11.4 Кбайт, 39 просмотров)
Тип файла: msl Вычисление t NTC Steinhart-Hart для Pixel.msl (25.3 Кбайт, 44 просмотров)


__________________
Всё, что нельзя выразить в цифрах — это не наука, это — мнение.
serg-el вне форума   Ответить с цитированием
Старый 08.12.2015, 09:22   #45
Arsie
Сотрудник Segnetics
 
Аватара для Arsie
 
Регистрация: Jan 2006
Адрес: Russia, SPb
Сообщения: 8 821
По умолчанию Ответ: Обмениваемся своими макросами

Цитата:
Сообщение от serg-el Посмотреть сообщение
Макросы пересчета сопротивления в температуру согласно ГОСТ 6651-2009, и не только

В ГОСТ кстати, есть ошибки.
Неплохо бы использовать "гостовские" названия. Cu100 - это всё же перебор))


__________________
Добро всегда побеждает зло. Кто победил - тот и добрый.
Arsie вне форума   Ответить с цитированием
Старый 08.12.2015, 11:06   #46
serg-el
Senior Member
 
Регистрация: Aug 2013
Адрес: Москва
Сообщения: 602
По умолчанию Ответ: Обмениваемся своими макросами

Цитата:
Сообщение от Arsie Посмотреть сообщение
Неплохо бы использовать "гостовские" названия. Cu100 - это всё же перебор))
Ага, особенно мне понравилось на 22 стр. - "Б.2 Медные термопреобразователи сопротивления а= 0,00426 °C–1" для 100 М а= 0,00428 °C–1

И тут же ниже - "Б.3 Медные термопреобразователи сопротивления W100 = 1,426" для для 100 М а= 0,00426 °C–1

"Смешались в кучу кони, люди,"...


__________________
Всё, что нельзя выразить в цифрах — это не наука, это — мнение.
serg-el вне форума   Ответить с цитированием
Старый 08.12.2015, 11:18   #47
Arsie
Сотрудник Segnetics
 
Аватара для Arsie
 
Регистрация: Jan 2006
Адрес: Russia, SPb
Сообщения: 8 821
По умолчанию Ответ: Обмениваемся своими макросами

Цитата:
Сообщение от serg-el Посмотреть сообщение
Ага, особенно мне понравилось на 22 стр. - "Б.2 Медные термопреобразователи сопротивления а= 0,00426 °C–1" для 100 М а= 0,00428 °C–1

И тут же ниже - "Б.3 Медные термопреобразователи сопротивления W100 = 1,426" для для 100 М а= 0,00426 °C–1

"Смешались в кучу кони, люди,"...
Ну что делать, не боги же горшки обжигают


__________________
Добро всегда побеждает зло. Кто победил - тот и добрый.
Arsie вне форума   Ответить с цитированием
Старый 28.12.2015, 16:41   #48
serg-el
Senior Member
 
Регистрация: Aug 2013
Адрес: Москва
Сообщения: 602
По умолчанию Ответ: Обмениваемся своими макросами

ГОСТ 6651-2009 исправленный.
Вложения
Тип файла: zip ГОСТ 6651-2009 rev.2.zip (154.3 Кбайт, 73 просмотров)


__________________
Всё, что нельзя выразить в цифрах — это не наука, это — мнение.
serg-el вне форума   Ответить с цитированием
Старый 06.01.2016, 16:55   #49
LordN
Senior Member
 
Регистрация: Dec 2007
Адрес: Томск
Сообщения: 1 281
По умолчанию Ответ: Обмениваемся своими макросами

в конструкторском расписании на базе Таймер v2.31 заменил
старт/стоп на
стоп/мин/норм/макс на выход идет 0/1/2/3
0 = стоп, 1/2/3 = пуск

в расписании появилась не только уставка по Т, но и по расходу.

отладка была только "на столе", поэтому внимательней плз, вдруг чего накосячил
Вложения
Тип файла: msl Расписание+расход.msl (297.8 Кбайт, 63 просмотров)


__________________
C уважением, LordN
LordN вне форума   Ответить с цитированием
Старый 09.02.2016, 20:01   #50
serg-el
Senior Member
 
Регистрация: Aug 2013
Адрес: Москва
Сообщения: 602
По умолчанию Ответ: Обмениваемся своими макросами

Вычисление влажности на основании температуры сухого и влажного термометра.
На основании этого документа.
Скорость потока воздуха = 0, иначе (при 2м/с) - ,795 заменить на 0,662.
Вложения
Тип файла: msl Вычисление влажности.msl (19.8 Кбайт, 71 просмотров)


__________________
Всё, что нельзя выразить в цифрах — это не наука, это — мнение.
serg-el вне форума   Ответить с цитированием
Старый 28.03.2016, 17:36   #51
serg-el
Senior Member
 
Регистрация: Aug 2013
Адрес: Москва
Сообщения: 602
По умолчанию Ответ: Обмениваемся своими макросами

Цитата:
Сообщение от Arsie Посмотреть сообщение
Как их отличить друг от друга?
А никак Закопипастился
Удалите пожалуйста предыдущее



Тип датчика:
REGIN серий TG-xxxx (не Pt)


00 - TG-xxxx -30...30°C
01 - TG-xxxx 0...30°C
02 - TG-xxxx 0...60°C
03 - TG-xxxx 20...50°C
04 - TG-xxxx 40...70°C
05 - TG-xxxx 60...90°C
06 - TG-xxxx 60...120°C


Для контроллеров и модулей с диапазоном от 10 кОм до 15 кОм.

Данные отсюда.
Вложения
Тип файла: msl Thermosensor_REGIN.msl (36.6 Кбайт, 37 просмотров)


__________________
Всё, что нельзя выразить в цифрах — это не наука, это — мнение.
serg-el вне форума   Ответить с цитированием
Старый 26.10.2016, 18:16   #52
andre
Senior Member
 
Регистрация: Jun 2015
Сообщения: 118
По умолчанию Ответ: Обмениваемся своими макросами

Покритикуйте счетчик моточасов.

как я понял, у стандартных есть большие погрешности, если контролируемые периоды включения меньше рекомендуемых (450 сек)

в моем отсчет минут ведется с блока реального времени, запись в EEPROM - по отключению механизма, либо раз в час.
Вложения
Тип файла: msl счетчик наработки.msl (20.2 Кбайт, 60 просмотров)
andre вне форума   Ответить с цитированием
Старый 26.10.2016, 18:26   #53
Gromov
Сотрудник Segnetics
 
Аватара для Gromov
 
Регистрация: Nov 2015
Адрес: CПб/ВЛГ
Сообщения: 1 059
По умолчанию Ответ: Обмениваемся своими макросами

Не запускал, но судя по всему, экспоненциально будет расти насчитанное количество минут...


__________________
Si vis pacem
Para bellum
Gromov вне форума   Ответить с цитированием
Старый 27.10.2016, 09:09   #54
andre
Senior Member
 
Регистрация: Jun 2015
Сообщения: 118
По умолчанию Ответ: Обмениваемся своими макросами

вчера вечером в дополнение к обычным счетчикам прикрутил пару этих,
програмно с имитировал включение\отключение 2 механизмов, с периодом около 6 минут

результаты:
Т1 - (стандартный) = 7.388ч
Т1 ( мой макрос) = 7.366ч
Т2 - (стандартный) = 12ч
Т2 ( мой макрос) = 12,3ч

Последний раз редактировалось andre, 27.10.2016 в 09:29
andre вне форума   Ответить с цитированием
Старый 18.02.2017, 14:09   #55
vlanaz
Member
 
Регистрация: Feb 2015
Адрес: Ufa
Сообщения: 31
По умолчанию Графика - 3 цифры на весь экран Pixel

Простой макрос вывода на весь экран 3-х цифр, точки и одного символа.
Используется для индикации управляющего напряжения для ПЧ.
Для производства вольты, для эксплуатации - проценты.
Выводятся вольты x.xxV и проценты xx.x%.
На вход приходит 3-х значное число в формате Int.
Оно раскладывается на 3 цифры - сотни, десятки, единицы. В зависимости от варианта точка ставится либо после первой, либо после второй цифры и меняется знак вольты на проценты. Последний символ "короткий" пробел шириной в 2 пиксела, для затирания остатка в хвосте экрана.
Прилагаю файлы с цифрами, точкой и 2 символа - V или % сделанные из TTF шрифта Consolas в формате BMP. Размер цифр подогнан под высоту экрана Pixel.
Может есть и более красивое решение, но надо было быстро и без SMART.
Вложения
Тип файла: msl LOCKSCREEN.msl (34.8 Кбайт, 23 просмотров)
Тип файла: rar Digits.rar (2.1 Кбайт, 20 просмотров)
vlanaz вне форума   Ответить с цитированием
Старый 19.05.2017, 19:43   #56
LordN
Senior Member
 
Регистрация: Dec 2007
Адрес: Томск
Сообщения: 1 281
По умолчанию Объект с запаздыванием для эмуляции, например, калорифера.

Объект с запаздыванием для эмуляции, например, калорифера.

самый простой пример применения:
на вход макроса подается выход сигнала, например, ВоКал.
с выхода макроса получаем температуру за калорифером.

более сложный пример:
используем два макроса последовательно(см.картинки)
на вход первого подаем выход ВоКал, с его выхода снимаем значение Тобратки и подаем её на вход второго макроса объекта.
с выхода второго получаем сигнал температуры воздуха в канале.

можно еще усложнить:
берем предыдущий пример, с выхода второго макроса получаем значение температуры воздуха за калорифером и по формуле центр масс получаем смесь с наружной температурой в некоторой пропорции, которую формирует ВоОхл. и уже результат этой "смеси" используем как Тканала.
см.тут и картинки в прицепе

в этом примере Тобр.мин = 35, Т.прогрев = 40, а также предполагается, что максимальная смесь = половина на половину.
Миниатюры
Нажмите на картинку для увеличения

Название:  2017-05-19 22-30-34 SMLogix - [single 19.05.2017 11-01 тест мясокомбинат пар v0.psl].png
Просмотров: 56
Размер:  39.5 Кбайт   Нажмите на картинку для увеличения

Название:  2017-05-19 22-26-35 SMLogix - [Mac].png
Просмотров: 50
Размер:  32.4 Кбайт   Нажмите на картинку для увеличения

Название:  2017-05-19 22-25-52 SMLogix - [single 19.05.2017 11-01 тест мясокомбинат пар v0.psl].png
Просмотров: 55
Размер:  74.1 Кбайт  
Вложения
Тип файла: msl Объкт с запаздыванием v2.msl (22.3 Кбайт, 8 просмотров)
Тип файла: msl Эмулятор смесителя v0.msl (5.5 Кбайт, 8 просмотров)


__________________
C уважением, LordN

Последний раз редактировалось LordN, 19.05.2017 в 20:05
LordN вне форума   Ответить с цитированием
Старый 03.07.2017, 16:49   #57
LordN
Senior Member
 
Регистрация: Dec 2007
Адрес: Томск
Сообщения: 1 281
По умолчанию Ответ: Обмениваемся макросами

Цитата:
Сообщение от ujin Посмотреть сообщение
Определяет текущий порядковый номер оборудования в зависимости от наработки, т.е. сортировка.
Оборудование с наибольшей наработкой получает наименьший текущий порядковый номер.
Из оборудования с одинаковой наработкой наименьший текущий порядковый номер получает оборудование с наименьшим станционным номером.
Сортировка пузырьковая. Реализация других методов сортировки на FBD при количестве менее 6 бессмысленна. Сортировка производится как правило не чаще 1 раза в сутки, поэтому время сортировки 10 или 40 циклов до выдачи результата не имеет значения. Напротив размер кода значение имеет.
Недостатки - при включении питания выдает неправильный результат и требуется первичная сортировка через время инициализации контроллера.
спасибо, добрый макрос!
сильно помог для создания процедуры блокировки работы ступени с наработкой на dN циклов больше, чем ступень с минимальной наработкой в группе из шести.
это для совместной работы с макросом типа Dev15...


__________________
C уважением, LordN
LordN вне форума   Ответить с цитированием
Старый 10.08.2017, 06:16   #58
ViS
Senior Member
 
Регистрация: Aug 2010
Сообщения: 396
По умолчанию Маленький макрос на МИН-МАКС до 32-х чисел

Макрос определяет минимальное и максимальное число из заданных на входах.
Сравнивает от 2 до 32 чисел. Весит всего 25 блоков.
Независимо от количества опрашиваемых входов, макрос выполняется в один тик основной программы, то есть данные на выходе обновляются в том же цикле основной программы, в котором изменяются входы.
При отключении полностью исключается из обработки программы, не расходуя вхолостую ресурс процессора.
Вложения
Тип файла: msl Мин-Макс х32 (Int).msl (68.8 Кбайт, 27 просмотров)
ViS вне форума   Ответить с цитированием
Старый 10.08.2017, 10:45   #59
Arsie
Сотрудник Segnetics
 
Аватара для Arsie
 
Регистрация: Jan 2006
Адрес: Russia, SPb
Сообщения: 8 821
По умолчанию Ответ: Маленький макрос на МИН-МАКС до 32-х чисел

Цитата:
Сообщение от ViS Посмотреть сообщение
Макрос определяет минимальное и максимальное число из заданных на входах.
Сравнивает от 2 до 32 чисел. Весит всего 25 блоков.
Независимо от количества опрашиваемых входов, макрос выполняется в один тик основной программы, то есть данные на выходе обновляются в том же цикле основной программы, в котором изменяются входы.
При отключении полностью исключается из обработки программы, не расходуя вхолостую ресурс процессора.
При сравнении 32 чисел затраты времени соответствуют выполнению 500 блоков. Нельзя такой макрос наобум использовать в контроллерах первого поколения.


__________________
Добро всегда побеждает зло. Кто победил - тот и добрый.
Arsie вне форума   Ответить с цитированием
Старый 10.08.2017, 12:26   #60
LordN
Senior Member
 
Регистрация: Dec 2007
Адрес: Томск
Сообщения: 1 281
По умолчанию Ответ: Маленький макрос на МИН-МАКС до 32-х чисел

Цитата:
Сообщение от Arsie Посмотреть сообщение
При сравнении 32 чисел затраты времени соответствуют выполнению 500 блоков. Нельзя такой макрос наобум использовать в контроллерах первого поколения.
да, я тоже не решаюсь циклы использовать не имеючи пошаговой эмуляции или отладки..


__________________
C уважением, LordN
LordN вне форума   Ответить с цитированием
Ответ

Опции темы Поиск в этой теме
Поиск в этой теме:

Расширенный поиск
Опции просмотра

Ваши права в разделе
Вы не можете создавать темы
Вы не можете отвечать на сообщения
Вы не можете прикреплять файлы
Вы не можете редактировать свои сообщения

BB code is Вкл.
[IMG] код Вкл.
HTML код Выкл.


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Фильтрация аналогового сигнала СВМ Вопросы о программировании 15 02.12.2015 20:28
Модуль Z-4RTD2 от SENECA serg-el Примеры работы по Modbus 3 04.06.2015 18:11
Ремонт Aout своими силами (решено) alexprophet Вопросы о Pixel 10 31.10.2013 13:23


Часовой пояс GMT +4, время: 08:08.


Версия vBulletin: 3.8.3
Copyright ©2000 - 2018, Jelsoft Enterprises Ltd.
Segnetics 2005 - 2016