![]() |
![]() ![]() |
|
SMLogix Вопросы о работе в среде SMLogix и о FBD-программировании |
![]() |
|
Опции темы | Поиск в этой теме | Опции просмотра |
![]() |
#91 |
Member
Регистрация: Jun 2012
Адрес: СПб
Сообщения: 77
Благодарил(а): 7 раз(а)
Поблагодарили:
0 раз(а) в 0 сообщениях
|
![]() Что-не так в подсчетах нового кода. При выставлении одинаковых битов старый и новый коды не совпадают. |
![]() |
![]() |
![]() |
#92 |
Новичок
Регистрация: Feb 2019
Адрес: SPb
Сообщения: 3
Благодарил(а): 2 раз(а)
Поблагодарили:
2 раз(а) в 2 сообщениях
|
![]()
Много полезного!!!
![]() |
![]() |
![]() |
![]() |
#93 |
Senior Member
Регистрация: Aug 2010
Сообщения: 718
Благодарил(а): 1 раз(а)
Поблагодарили:
15 раз(а) в 12 сообщениях
|
![]() **** UPD. Дошло.. Первая строка в файлике, пустая - лишняя затесалась. Удалить ее. Код CPU.zip P.S. Админы, если можно, замените вложение в этом сообщении - https://forum.segnetics.com/showthre...2143#post42143 Последний раз редактировалось ViS, 16.07.2019 в 07:55 |
![]() |
![]() |
![]() |
#94 |
Senior Member
Регистрация: Aug 2010
Сообщения: 718
Благодарил(а): 1 раз(а)
Поблагодарили:
15 раз(а) в 12 сообщениях
|
![]() |
![]() |
![]() |
![]() |
#95 |
Senior Member
Регистрация: May 2009
Сообщения: 1 033
Благодарил(а): 9 раз(а)
Поблагодарили:
22 раз(а) в 22 сообщениях
|
![]() __________________ RTFM |
![]() |
![]() |
![]() |
#96 |
Senior Member
Регистрация: May 2010
Адрес: Москва
Сообщения: 770
Благодарил(а): 3 раз(а)
Поблагодарили:
80 раз(а) в 62 сообщениях
|
![]()
Должен был, если бы его сохранили в 28-ом.
|
![]() |
![]() |
![]() |
#97 |
Senior Member
Регистрация: Aug 2010
Сообщения: 718
Благодарил(а): 1 раз(а)
Поблагодарили:
15 раз(а) в 12 сообщениях
|
![]() Последний раз редактировалось ViS, 17.03.2020 в 23:11 |
![]() |
![]() |
![]() |
#98 |
Senior Member
Регистрация: Aug 2010
Сообщения: 718
Благодарил(а): 1 раз(а)
Поблагодарили:
15 раз(а) в 12 сообщениях
|
![]() В 3.28 работает версия v1.1. Добавлен вход Mode: "0" на входе - при отключенном макросе на выход выводится результат последнего отработавшего сравнения. "1" на входе - при отключенном макросе на выход выводится Y Defalt. |
![]() |
![]() |
Благодарность от: |
![]() |
#99 |
Senior Member
Регистрация: May 2010
Адрес: Москва
Сообщения: 770
Благодарил(а): 3 раз(а)
Поблагодарили:
80 раз(а) в 62 сообщениях
|
![]()
Состряпал свою версию.
Блоков меньше (19 против 26). Но с добавлением Mode вдохновение меня покинуло и концовочка получилась какая-то "скомканная". Макрос может работать на всех контроллерах. Чем больше кол-во состояний, тем дольше обрабатывается. Следовательно, на SMH2010 и Пикселях следует быть осторожнее. Сохранялась в Лоджике 3.28 |
![]() |
![]() |
Благодарность от: |
![]() |
#100 |
Senior Member
Регистрация: Aug 2010
Сообщения: 718
Благодарил(а): 1 раз(а)
Поблагодарили:
15 раз(а) в 12 сообщениях
|
![]() Некорректно работает при старте программы - если на входе число, не дающее совпадения, то на выход выводится значение первой строки таблицы совпадений, а должен быть Default. Не вдавался, почему так происходит. Дальше не копал уже. Последний раз редактировалось ViS, 18.03.2020 в 05:25 |
![]() |
![]() |
Благодарность от: |
![]() |
#101 |
Senior Member
Регистрация: May 2010
Адрес: Москва
Сообщения: 770
Благодарил(а): 3 раз(а)
Поблагодарили:
80 раз(а) в 62 сообщениях
|
![]() Последнее замечание существенное. Переделал (стало 20 блоков, в цикл добавился один). |
![]() |
![]() |
![]() |
#102 |
Senior Member
Регистрация: Aug 2010
Сообщения: 718
Благодарил(а): 1 раз(а)
Поблагодарили:
15 раз(а) в 12 сообщениях
|
![]()
Воспользовался частично подходом Младшого, получилась v1.3.
20 блоков и работает побыстрее. UPD. Хе, ну практически одинаково в итоге и получилось ![]() ![]() Последний раз редактировалось ViS, 18.03.2020 в 09:14 |
![]() |
![]() |
![]() |
#103 |
Senior Member
Регистрация: Aug 2010
Сообщения: 718
Благодарил(а): 1 раз(а)
Поблагодарили:
15 раз(а) в 12 сообщениях
|
![]() Самый быстрый вариант - обрабатываются 2 состояния - 67мс. Самый долгий вариант - обрабатывается 32 состояния - 500мс. Долгий вариант в SMH4 - 4мс. |
![]() |
![]() |
![]() |
#105 |
Senior Member
Регистрация: Nov 2017
Адрес: Новосибирск
Сообщения: 196
Благодарил(а): 15 раз(а)
Поблагодарили:
9 раз(а) в 9 сообщениях
|
![]() Что-нибудь расскажете по результатам? Мысль довольно интересная, макрос хороший. Что показали испытания? __________________ Пуш зе темпо |
![]() |
![]() |
![]() |
#106 |
Сотрудник Segnetics
Регистрация: Jan 2006
Адрес: Russia, SPb
Сообщения: 17 384
Благодарил(а): 15 раз(а)
Поблагодарили:
610 раз(а) в 557 сообщениях
|
![]() Мой вариант был в принципе рабочий, но результат прям совсем не комильфо. Честный векторный регулятор гораздо стабильнее и быстрее. __________________ Программа делает то что написал программист, а не то что он хотел. Добро всегда побеждает зло. Кто победил - тот и добрый. |
![]() |
![]() |
![]() |
#107 |
Senior Member
Регистрация: Apr 2013
Сообщения: 116
Благодарил(а): 0 раз(а)
Поблагодарили:
0 раз(а) в 0 сообщениях
|
![]()
https://forum.segnetics.com/showthre...E6%E0%F2%E8%E5
А есть у кого аналоги, по ссылки модуль туго обрабатывает сигнал. При однократном нажатии, он еще пару сек думает, хотя DI = 500 |
![]() |
![]() |
![]() |
#108 |
Senior Member
Регистрация: Aug 2013
Сообщения: 3 285
Благодарил(а): 8 раз(а)
Поблагодарили:
164 раз(а) в 161 сообщениях
|
![]() |
![]() |
![]() |
![]() |
#109 |
Senior Member
Регистрация: Apr 2013
Сообщения: 116
Благодарил(а): 0 раз(а)
Поблагодарили:
0 раз(а) в 0 сообщениях
|
![]()
не правильно выразился, DI конечно 5 ставил
|
![]() |
![]() |
![]() |
#110 |
Сотрудник Segnetics
Регистрация: Jan 2006
Адрес: Russia, SPb
Сообщения: 17 384
Благодарил(а): 15 раз(а)
Поблагодарили:
610 раз(а) в 557 сообщениях
|
![]() __________________ Программа делает то что написал программист, а не то что он хотел. Добро всегда побеждает зло. Кто победил - тот и добрый. |
![]() |
![]() |
![]() |
#111 |
Member
Регистрация: Jun 2019
Адрес: Новосибирск
Сообщения: 76
Благодарил(а): 1 раз(а)
Поблагодарили:
1 раз в 1 сообщении
|
![]()
Вот вам макрос преобразования Long в 32-битный Real (он же Float).
Иногда возникает недопонимание при считывании чисел с плав. точкой из периферийных устройств. Вместо каких-то адекватных значений видим сумасшедший рандом. Это происходит из-за того, что сегнетикс и периферийное устройство могут хранить байты в разном порядке. Для решения вопроса приходится считывать число, как Long, переставлять байты в нужном порядке, и потом преобразовывать в Real. Сразу оговорюсь, что вот тут задача уже решена комплексно https://forum.segnetics.com/showthread.php?t=461 Но, как мне показалось , там не совсем рациональная реализация. В моём оптимизированном варианте все действия по возможности совершаются в "целом" виде, без умножений и делений (сдвигами и битовыми масками), и перевод в real делается на самых последних этапах. Итого, у меня как минимум, отсутствует деление с плав. точкой, и присутствует только одно возведение в степень вместо двух. П.С. Вопрос перестановки байтов вынесен за скобки, это задача, в которой оптимизировать нечего. |
![]() |
![]() |
Благодарность от: |
![]() |
#112 |
Senior Member
Регистрация: Aug 2010
Сообщения: 718
Благодарил(а): 1 раз(а)
Поблагодарили:
15 раз(а) в 12 сообщениях
|
![]()
Макрос Инверсии цифр в числе.
1234567 преобразуется в 7654321. Описание внутри. |
![]() |
![]() |
![]() |
#113 |
Senior Member
Регистрация: Apr 2016
Сообщения: 159
Благодарил(а): 0 раз(а)
Поблагодарили:
4 раз(а) в 2 сообщениях
|
![]()
Макрос для трех PID работающих последовательно.
Сделал макрос состоящий из трех PID. Каждый из них можно подключать в работу в любой момент. Для каждого возможно установить свои I,P. PIDы работают последовательно, один за другим. Предусмотрена мертвая зона (когда значение равно уставке +/- мертвая зона, регулирование останавливается). Данный макрос сделан по мотивам аналогичного из DESIGO. Им удобно пользоваться, когда в установке много контуров регулирования. Например нагреватель, охладитель, рекуператор, и еще доп нагреватель. Макрос погонял на реальных объектах. Вроде работает. Прошу не судить строго, если что. |
![]() |
![]() |
![]() |
Опции темы | Поиск в этой теме |
Опции просмотра | |
|
|
![]() |
||||
Тема | Автор | Раздел | Ответов | Последнее сообщение |
Можно ли применять пустые макросы (нельзя) | Gel | Вопросы о программировании | 35 | 08.04.2020 10:42 |
Размышления на тему групповых триггеров | boxmen77 | Вопросы о программировании | 19 | 15.01.2020 17:39 |
Фильтрация аналогового сигнала | СВМ | Вопросы о программировании | 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 |