Segnetics

Вернуться   Segnetics > Форум Segnetics > Песочница

Песочница Удалённые с форума темы

Ответ
 
Опции темы Поиск в этой теме
Старый 20.03.2019, 14:04   #1
LordN
Senior Member
 
Регистрация: Dec 2007
Адрес: Томск
Сообщения: 4 157
Благодарил(а): 240 раз(а)
Поблагодарили: 165 раз(а) в 157 сообщениях
По умолчанию Связной макрос вход-выход

Не могу найти тему, где это обсуждалось, помнится там было что-то про то, что пустые макросы, там где есть только связи вход-выход, делать почему-то или нельзя вообще или не рекомендуется если такой макрос сделал не конструктор.


а если делать вот так
https://yadi.sk/d/ubV-Yh8V3EfNBg (ехешник со скринвидео)
это тоже криминал чреватый чем-то в дальнейшем?


__________________
C уважением, LordN
LordN сейчас на форуме   Ответить с цитированием
Старый 20.03.2019, 14:08   #2
Arsie
Сотрудник Segnetics
 
Аватара для Arsie
 
Регистрация: Jan 2006
Адрес: Russia, SPb
Сообщения: 18 084
Благодарил(а): 15 раз(а)
Поблагодарили: 660 раз(а) в 604 сообщениях
По умолчанию Ответ: Связной макрос вход-выход

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


а если делать вот так
https://yadi.sk/d/ubV-Yh8V3EfNBg (ехешник со скринвидео)
это тоже криминал чреватый чем-то в дальнейшем?
Лоджик автоматом вставляет буфер при создании такой связи.

Но тут вы становитесь заложником версии лоджика. Если в будущем что-то поменяется (банально ошибка закрадётся или функционал изменится), то проект может стать неработоспособным в этой части. Копипаст вашей схемы точно будет некорректен.

Если делать связь через промежуточный блок, то это явное создание буфера в памяти. Разом снимает все возможные проблемы.


Учитывая, что проведение связи со входа на выход - запрещённая операция, за работоспособностью которой никто не следит, то рекомендовать её к применению я не могу.


__________________
Программа делает то что написал программист, а не то что он хотел.

Добро всегда побеждает зло. Кто победил - тот и добрый.
Arsie сейчас на форуме   Ответить с цитированием
Старый 20.03.2019, 14:13   #3
LordN
Senior Member
 
Регистрация: Dec 2007
Адрес: Томск
Сообщения: 4 157
Благодарил(а): 240 раз(а)
Поблагодарили: 165 раз(а) в 157 сообщениях
По умолчанию Ответ: Связной макрос вход-выход

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


__________________
C уважением, LordN
LordN сейчас на форуме   Ответить с цитированием
Старый 20.03.2019, 14:14   #4
Arsie
Сотрудник Segnetics
 
Аватара для Arsie
 
Регистрация: Jan 2006
Адрес: Russia, SPb
Сообщения: 18 084
Благодарил(а): 15 раз(а)
Поблагодарили: 660 раз(а) в 604 сообщениях
По умолчанию Ответ: Связной макрос вход-выход

Цитата:
Сообщение от LordN Посмотреть сообщение
все понимаю, кроме этой фразы. т.е. если я создал такой макрос и размножил его копипастом, то он однозначно будет ошибочен?
Не макрос, а modbus-переменные. У вас же переменные на видео.


__________________
Программа делает то что написал программист, а не то что он хотел.

Добро всегда побеждает зло. Кто победил - тот и добрый.
Arsie сейчас на форуме   Ответить с цитированием
Старый 20.03.2019, 14:15   #5
LordN
Senior Member
 
Регистрация: Dec 2007
Адрес: Томск
Сообщения: 4 157
Благодарил(а): 240 раз(а)
Поблагодарили: 165 раз(а) в 157 сообщениях
По умолчанию Ответ: Связной макрос вход-выход

и к такому макросу ни одного из лоджиков претензий точно никогда не возникнет?


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

Последний раз редактировалось Arsie, 03.12.2019 в 12:07
LordN сейчас на форуме   Ответить с цитированием
Старый 20.03.2019, 14:15   #6
LordN
Senior Member
 
Регистрация: Dec 2007
Адрес: Томск
Сообщения: 4 157
Благодарил(а): 240 раз(а)
Поблагодарили: 165 раз(а) в 157 сообщениях
По умолчанию Ответ: Связной макрос вход-выход

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


__________________
C уважением, LordN
LordN сейчас на форуме   Ответить с цитированием
Старый 20.03.2019, 14:16   #7
Arsie
Сотрудник Segnetics
 
Аватара для Arsie
 
Регистрация: Jan 2006
Адрес: Russia, SPb
Сообщения: 18 084
Благодарил(а): 15 раз(а)
Поблагодарили: 660 раз(а) в 604 сообщениях
По умолчанию Ответ: Связной макрос вход-выход

Цитата:
Сообщение от LordN Посмотреть сообщение
и к такому макросу ни одного из лоджиков претензий точно никогда не возникнет?
Если завести его вход на его же выход, то возникнет. Иначе - нет.


__________________
Программа делает то что написал программист, а не то что он хотел.

Добро всегда побеждает зло. Кто победил - тот и добрый.
Arsie сейчас на форуме   Ответить с цитированием
Старый 20.03.2019, 14:18   #8
LordN
Senior Member
 
Регистрация: Dec 2007
Адрес: Томск
Сообщения: 4 157
Благодарил(а): 240 раз(а)
Поблагодарили: 165 раз(а) в 157 сообщениях
По умолчанию Ответ: Связной макрос вход-выход

Цитата:
Сообщение от Arsie Посмотреть сообщение
Если завести его вход на его же выход, то возникнет. Иначе - нет.
т.е. вот так - это уже криминал и так делать нельзя, если не хочешь проблем?


это тот же самый макрос что и на предыдущем скриншоте, верхние четыре выхода замкнуты на свои входы


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

Последний раз редактировалось Arsie, 03.12.2019 в 12:07
LordN сейчас на форуме   Ответить с цитированием
Старый 20.03.2019, 14:29   #9
Arsie
Сотрудник Segnetics
 
Аватара для Arsie
 
Регистрация: Jan 2006
Адрес: Russia, SPb
Сообщения: 18 084
Благодарил(а): 15 раз(а)
Поблагодарили: 660 раз(а) в 604 сообщениях
По умолчанию Ответ: Связной макрос вход-выход

Цитата:
Сообщение от LordN Посмотреть сообщение
т.е. вот так - это уже криминал и так делать нельзя, если не хочешь проблем?


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

Соответственно, мысленно разворачивая макрос, вы должны получить подключения вида выход блока -> вход блока. Если это правило выполнено, проблем нет и не предвидится.

---------

Тут функциональность вступает в противоречие с удобством. Раньше входы и выходы теряли свой тип сразу при обрывании связи от них и связи от входа в выходу протянуть было невозможно. Но это создавало большущее неудобство как при редактировании макросов, так и при создании слейва. Правила были изменены и теперь удобство гораздо лучше, но появилась возможность "отстрелить себе ногу".

Не пользуйтесь этой возможностью.


__________________
Программа делает то что написал программист, а не то что он хотел.

Добро всегда побеждает зло. Кто победил - тот и добрый.
Arsie сейчас на форуме   Ответить с цитированием
Старый 20.03.2019, 19:25   #10
LordN
Senior Member
 
Регистрация: Dec 2007
Адрес: Томск
Сообщения: 4 157
Благодарил(а): 240 раз(а)
Поблагодарили: 165 раз(а) в 157 сообщениях
По умолчанию Ответ: Связной макрос вход-выход

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

Соответственно, мысленно разворачивая макрос, вы должны получить подключения вида выход блока -> вход блока. Если это правило выполнено, проблем нет и не предвидится.

---------

Тут функциональность вступает в противоречие с удобством. Раньше входы и выходы теряли свой тип сразу при обрывании связи от них и связи от входа в выходу протянуть было невозможно. Но это создавало большущее неудобство как при редактировании макросов, так и при создании слейва. Правила были изменены и теперь удобство гораздо лучше, но появилась возможность "отстрелить себе ногу".

Не пользуйтесь этой возможностью.
вы меня опять запутали.

давайте еще раз.

http://forum.segnetics.com/attachmen...1&d=1553076872
с таким макросом проблем не будет, если не замыкать вход и выход, т.е. не создавать неопределённость, которую компилятор может соптимизировать так, что черт ногу сломит.
всё верно?
если всё более-менее так, то этого мне вполне достаточно.


__________________
C уважением, LordN
LordN сейчас на форуме   Ответить с цитированием
Старый 21.03.2019, 11:01   #11
Arsie
Сотрудник Segnetics
 
Аватара для Arsie
 
Регистрация: Jan 2006
Адрес: Russia, SPb
Сообщения: 18 084
Благодарил(а): 15 раз(а)
Поблагодарили: 660 раз(а) в 604 сообщениях
По умолчанию Ответ: Связной макрос вход-выход

Цитата:
Сообщение от LordN Посмотреть сообщение
всё верно?
если всё более-менее так, то этого мне вполне достаточно.
Да, верно.


__________________
Программа делает то что написал программист, а не то что он хотел.

Добро всегда побеждает зло. Кто победил - тот и добрый.
Arsie сейчас на форуме   Ответить с цитированием
Ответ

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

Расширенный поиск

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

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



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


Версия vBulletin: 3.8.7
Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
Segnetics 2005 - 2024