|
SMLogix Вопросы о работе в среде SMLogix и о FBD-программировании |
|
Опции темы | Поиск в этой теме |
10.07.2019, 00:58 | #91 | |
Member
Регистрация: Jun 2012
Адрес: СПб
Сообщения: 77
Благодарил(а): 7 раз(а)
Поблагодарили:
0 раз(а) в 0 сообщениях
|
Ответ: Обмениваемся своими макросами
Цитата:
Что-не так в подсчетах нового кода. При выставлении одинаковых битов старый и новый коды не совпадают. |
|
11.07.2019, 08:55 | #92 |
Новичок
Регистрация: Feb 2019
Адрес: SPb
Сообщения: 3
Благодарил(а): 2 раз(а)
Поблагодарили:
2 раз(а) в 2 сообщениях
|
Ответ: Обмениваемся своими макросами
Много полезного!!!
|
16.07.2019, 07:36 | #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 |
|
17.03.2020, 02:45 | #94 |
Senior Member
Регистрация: Aug 2010
Сообщения: 718
Благодарил(а): 1 раз(а)
Поблагодарили:
15 раз(а) в 12 сообщениях
|
Ответ: Небольшие хотелки в SMLogix
|
17.03.2020, 20:32 | #95 |
Senior Member
Регистрация: May 2009
Сообщения: 1 034
Благодарил(а): 9 раз(а)
Поблагодарили:
22 раз(а) в 22 сообщениях
|
Ответ: Небольшие хотелки в SMLogix
__________________ RTFM |
17.03.2020, 22:41 | #96 |
Senior Member
Регистрация: May 2010
Адрес: Москва
Сообщения: 865
Благодарил(а): 4 раз(а)
Поблагодарили:
87 раз(а) в 68 сообщениях
|
Ответ: Обмениваемся своими макросами
Должен был, если бы его сохранили в 28-ом.
|
17.03.2020, 22:48 | #97 |
Senior Member
Регистрация: Aug 2010
Сообщения: 718
Благодарил(а): 1 раз(а)
Поблагодарили:
15 раз(а) в 12 сообщениях
|
Ответ: Небольшие хотелки в SMLogix
Последний раз редактировалось ViS, 17.03.2020 в 23:11 |
17.03.2020, 23:34 | #98 |
Senior Member
Регистрация: Aug 2010
Сообщения: 718
Благодарил(а): 1 раз(а)
Поблагодарили:
15 раз(а) в 12 сообщениях
|
Ответ: Небольшие хотелки в SMLogix
Упс. Ошибочка вышла. Тот только в 3.30, да.
В 3.28 работает версия v1.1. Добавлен вход Mode: "0" на входе - при отключенном макросе на выход выводится результат последнего отработавшего сравнения. "1" на входе - при отключенном макросе на выход выводится Y Defalt. |
Благодарность от: |
18.03.2020, 01:01 | #99 |
Senior Member
Регистрация: May 2010
Адрес: Москва
Сообщения: 865
Благодарил(а): 4 раз(а)
Поблагодарили:
87 раз(а) в 68 сообщениях
|
Ответ: Обмениваемся своими макросами
Состряпал свою версию.
Блоков меньше (19 против 26). Но с добавлением Mode вдохновение меня покинуло и концовочка получилась какая-то "скомканная". Макрос может работать на всех контроллерах. Чем больше кол-во состояний, тем дольше обрабатывается. Следовательно, на SMH2010 и Пикселях следует быть осторожнее. Сохранялась в Лоджике 3.28 |
Благодарность от: |
18.03.2020, 04:59 | #100 | |
Senior Member
Регистрация: Aug 2010
Сообщения: 718
Благодарил(а): 1 раз(а)
Поблагодарили:
15 раз(а) в 12 сообщениях
|
Ответ: Обмениваемся своими макросами
Цитата:
Некорректно работает при старте программы - если на входе число, не дающее совпадения, то на выход выводится значение первой строки таблицы совпадений, а должен быть Default. Не вдавался, почему так происходит. Дальше не копал уже. Последний раз редактировалось ViS, 18.03.2020 в 05:25 |
|
Благодарность от: |
18.03.2020, 08:11 | #101 | |
Senior Member
Регистрация: May 2010
Адрес: Москва
Сообщения: 865
Благодарил(а): 4 раз(а)
Поблагодарили:
87 раз(а) в 68 сообщениях
|
Ответ: Обмениваемся своими макросами
Цитата:
Последнее замечание существенное. Переделал (стало 20 блоков, в цикл добавился один). |
|
18.03.2020, 08:46 | #102 |
Senior Member
Регистрация: Aug 2010
Сообщения: 718
Благодарил(а): 1 раз(а)
Поблагодарили:
15 раз(а) в 12 сообщениях
|
Ответ: Обмениваемся своими макросами
Воспользовался частично подходом Младшого, получилась v1.3.
20 блоков и работает побыстрее. UPD. Хе, ну практически одинаково в итоге и получилось Почти Последний раз редактировалось ViS, 18.03.2020 в 09:14 |
18.03.2020, 13:19 | #103 |
Senior Member
Регистрация: Aug 2010
Сообщения: 718
Благодарил(а): 1 раз(а)
Поблагодарили:
15 раз(а) в 12 сообщениях
|
Ответ: Обмениваемся своими макросами
|
09.04.2020, 08:58 | #104 | |
Senior Member
Регистрация: Dec 2007
Адрес: Томск
Сообщения: 4 173
Благодарил(а): 242 раз(а)
Поблагодарили:
166 раз(а) в 158 сообщениях
|
Ответ: Обмениваемся своими макросами
Цитата:
|
|
10.09.2020, 08:29 | #105 | ||
Senior Member
Регистрация: Nov 2017
Адрес: Новосибирск
Сообщения: 196
Благодарил(а): 15 раз(а)
Поблагодарили:
9 раз(а) в 9 сообщениях
|
Ответ: Обмениваемся своими макросами
Цитата:
Цитата:
Что-нибудь расскажете по результатам? Мысль довольно интересная, макрос хороший. Что показали испытания? __________________ Пуш зе темпо |
||
10.09.2020, 10:31 | #106 | |
Сотрудник Segnetics
Регистрация: Jan 2006
Адрес: Russia, SPb
Сообщения: 18 160
Благодарил(а): 15 раз(а)
Поблагодарили:
665 раз(а) в 607 сообщениях
|
Ответ: Обмениваемся своими макросами
Цитата:
Мой вариант был в принципе рабочий, но результат прям совсем не комильфо. Честный векторный регулятор гораздо стабильнее и быстрее. __________________ Программа делает то что написал программист, а не то что он хотел. Добро всегда побеждает зло. Кто победил - тот и добрый. |
|
30.10.2020, 23:25 | #107 |
Senior Member
Регистрация: Apr 2013
Сообщения: 117
Благодарил(а): 0 раз(а)
Поблагодарили:
0 раз(а) в 0 сообщениях
|
Ответ: Обмениваемся своими макросами
https://forum.segnetics.com/showthre...E6%E0%F2%E8%E5
А есть у кого аналоги, по ссылки модуль туго обрабатывает сигнал. При однократном нажатии, он еще пару сек думает, хотя DI = 500 |
31.10.2020, 00:41 | #108 |
Senior Member
Регистрация: Aug 2013
Сообщения: 3 791
Благодарил(а): 12 раз(а)
Поблагодарили:
194 раз(а) в 190 сообщениях
|
Ответ: Обмениваемся своими макросами
|
23.11.2020, 00:57 | #109 |
Senior Member
Регистрация: Apr 2013
Сообщения: 117
Благодарил(а): 0 раз(а)
Поблагодарили:
0 раз(а) в 0 сообщениях
|
Ответ: Обмениваемся своими макросами
не правильно выразился, DI конечно 5 ставил
|
23.11.2020, 11:39 | #110 |
Сотрудник Segnetics
Регистрация: Jan 2006
Адрес: Russia, SPb
Сообщения: 18 160
Благодарил(а): 15 раз(а)
Поблагодарили:
665 раз(а) в 607 сообщениях
|
Ответ: Обмениваемся своими макросами
Он ждёт даблклик отведённое вами время. Эту операцию невозможно ускорить, не в нашёй вселенной. Если число, установленное на входе, не совпадает с вашими ожиданиями (2 сек при установленных 500 мсек), это повод проверить, что у вас происходит с временем цикла.
__________________ Программа делает то что написал программист, а не то что он хотел. Добро всегда побеждает зло. Кто победил - тот и добрый. |
30.11.2020, 20:12 | #111 |
Member
Регистрация: Jun 2019
Адрес: Новосибирск
Сообщения: 76
Благодарил(а): 1 раз(а)
Поблагодарили:
1 раз в 1 сообщении
|
Ответ: Обмениваемся своими макросами
Вот вам макрос преобразования Long в 32-битный Real (он же Float).
Иногда возникает недопонимание при считывании чисел с плав. точкой из периферийных устройств. Вместо каких-то адекватных значений видим сумасшедший рандом. Это происходит из-за того, что сегнетикс и периферийное устройство могут хранить байты в разном порядке. Для решения вопроса приходится считывать число, как Long, переставлять байты в нужном порядке, и потом преобразовывать в Real. Сразу оговорюсь, что вот тут задача уже решена комплексно https://forum.segnetics.com/showthread.php?t=461 Но, как мне показалось , там не совсем рациональная реализация. В моём оптимизированном варианте все действия по возможности совершаются в "целом" виде, без умножений и делений (сдвигами и битовыми масками), и перевод в real делается на самых последних этапах. Итого, у меня как минимум, отсутствует деление с плав. точкой, и присутствует только одно возведение в степень вместо двух. П.С. Вопрос перестановки байтов вынесен за скобки, это задача, в которой оптимизировать нечего. |
Благодарность от: |
03.12.2020, 20:42 | #112 |
Senior Member
Регистрация: Aug 2010
Сообщения: 718
Благодарил(а): 1 раз(а)
Поблагодарили:
15 раз(а) в 12 сообщениях
|
Ответ: Обмениваемся своими макросами
Макрос Инверсии цифр в числе.
1234567 преобразуется в 7654321. Описание внутри. |
10.12.2021, 09:01 | #113 |
Senior Member
Регистрация: Apr 2016
Сообщения: 162
Благодарил(а): 0 раз(а)
Поблагодарили:
4 раз(а) в 2 сообщениях
|
Макрос из 3 PID
Макрос для трех PID работающих последовательно.
Сделал макрос состоящий из трех PID. Каждый из них можно подключать в работу в любой момент. Для каждого возможно установить свои I,P. PIDы работают последовательно, один за другим. Предусмотрена мертвая зона (когда значение равно уставке +/- мертвая зона, регулирование останавливается). Данный макрос сделан по мотивам аналогичного из DESIGO. Им удобно пользоваться, когда в установке много контуров регулирования. Например нагреватель, охладитель, рекуператор, и еще доп нагреватель. Макрос погонял на реальных объектах. Вроде работает. Прошу не судить строго, если что. |