Segnetics

Вернуться   Segnetics > Форум Segnetics > SMLogix

SMLogix Вопросы о работе в среде SMLogix и о FBD-программировании

Ответ
 
Опции темы Поиск в этой теме Опции просмотра
Старый 22.03.2021, 22:34   #1
alexey5801@yandex.ru
Новичок
 
Регистрация: Mar 2021
Сообщения: 19
Благодарил(а): 0 раз(а)
Поблагодарили: 0 раз(а) в 0 сообщениях
Unhappy Лоджик и макросы. Мои личные хотелки (нет проблемы)

Добрый вечер.
Вопросы к разработчикам Лоджика по работе с макросами.
- Макрос, помещённый на поляну, по смыслу перестаёт быть макросом, а превращается в какой-то именованный элемент, не относящийся к библиотеке в обычном понимании этого слова.
- Два одинаковых макроса на поляне - это не две ссылки на один макрос, а два разных макроса, которые одинаково называются.
Если внести изменения в библиотечный макрос, то никаких изменений в макросах на поляне не будет. Или надо удалить все макросы и накидать новых, или вносить изменения в накиданные. Кнопки освежить макросы нет (не нашёл). То же самое относится и к изменениям макросов на поляне. Изменения в одном из них никак не отражаются на другом.
- При раскрытии макроса открывается отдельное окно. Если у вас блоки пронумерованы, окна пронумеровать никак нельзя? Когда одинаковых макросов много и их надо править, то над ними теряется контроль.
- Почему нельзя закрыть окно раскрытого макроса, как форму в делфях или вижуал студии с сохранением изменений?
- Почему нет признака наличия несохранённых изменений в окне?
- Почему нет режима автосохранения?
- Почему нет типа String? Это до кучи.
Миниатюры
Нажмите на картинку для увеличения

Название:  Макросы.png
Просмотров: 51
Размер:  27.0 Кбайт  


__________________
Alexey5801
alexey5801@yandex.ru вне форума   Ответить с цитированием
Старый 22.03.2021, 23:23   #2
alexey5801@yandex.ru
Новичок
 
Регистрация: Mar 2021
Сообщения: 19
Благодарил(а): 0 раз(а)
Поблагодарили: 0 раз(а) в 0 сообщениях
По умолчанию Ответ: Лоджик и макросы. Или ну кто так делает?

Добрый вечер.
Вопросы к разработчикам Лоджика по работе с макросами.
- Макрос, помещённый на поляну, по смыслу перестаёт быть макросом, а превращается в какой-то именованный элемент, не относящийся к библиотеке в обычном понимании этого слова.
- Два одинаковых макроса на поляне - это не две ссылки на один макрос, а два разных макроса, которые одинаково называются.
Если внести изменения в библиотечный макрос, то никаких изменений в макросах на поляне не будет. Или надо удалить все макросы и накидать новых, или вносить изменения в накиданные. Кнопки освежить макросы нет (не нашёл). То же самое относится и к изменениям макросов на поляне. Изменения в одном из них никак не отражаются на другом.
- При раскрытии макроса открывается отдельное окно. Если у вас блоки пронумерованы, окна пронумеровать никак нельзя? Когда одинаковых макросов много и их надо править, то над ними теряется контроль.
Цитата
Сообщение от alexey5801@yandex.ru Посмотреть сообщение
- Почему нельзя закрыть окно раскрытого макроса, как форму в делфях или вижуал студии с сохранением изменений?
- Почему нет признака наличия несохранённых изменений в окне?
- Почему нет режима автосохранения?
- Почему нет типа String? Это до кучи.

Нашёл! Одной проблемой меньше.
Миниатюры
Нажмите на картинку для увеличения

Название:  ЗакрытьМакрос.png
Просмотров: 46
Размер:  48.1 Кбайт  


__________________
Alexey5801
alexey5801@yandex.ru вне форума   Ответить с цитированием
Старый 23.03.2021, 00:02   #3
ATS
Senior Member
 
Регистрация: Aug 2013
Сообщения: 3 738
Благодарил(а): 12 раз(а)
Поблагодарили: 192 раз(а) в 188 сообщениях
По умолчанию Ответ: Лоджик и макросы. Или ну кто так делает?

Так много почему...


Цитата
Сообщение от alexey5801@yandex.ru Посмотреть сообщение
.
- Макрос, помещённый на поляну, по смыслу перестаёт быть макросом, а превращается в какой-то именованный элемент, не относящийся к библиотеке в обычном понимании этого слова.
Ну тут Вы и дали ответ почти на все остальные вопросы. Именно именованный набор FBD блоков со связями. Абсолютно не имеющий никаких родственных связей с другими. Не функция и не процедура.

Цитата - Два одинаковых макроса на поляне - это не две ссылки на один макрос, а два разных макроса, которые одинаково называются.
Именно так и следует из сказанного выше. Переименовать никто не мешает. Добавить комментарий тоже.

Цитата Если внести изменения в библиотечный макрос, то никаких изменений в макросах на поляне не будет. Или надо удалить все макросы и накидать новых, или вносить изменения в накиданные. Кнопки освежить макросы нет (не нашёл). То же самое относится и к изменениям макросов на поляне. Изменения в одном из них никак не отражаются на другом.
Опять следует из сказанного выше. Изменится только редактируемый на поляне. При желании можете сохранить измененный и потом заменить им все нужные Вам на поляне. Но расположение и типы входов должны при замене совпадать иначе прорвете внешние связи.


Цитата - При раскрытии макроса открывается отдельное окно. Если у вас блоки пронумерованы, окна пронумеровать никак нельзя? Когда одинаковых макросов много и их надо править, то над ними теряется контроль.
Ну нумерация автоматическая по порядку выполнения.
И открывать кучу для правки нет смысла. Проще сохранить один и заменить остальные.


Цитата - Почему нельзя закрыть окно раскрытого макроса, как форму в делфях или вижуал студии с сохранением изменений?
Раскрытый в окне сохраняет выполненные изменения при закрытии его окна.

Цитата - Почему нет признака наличия несохранённых изменений в окне?
Вот это точно к авторам!

Цитата - Почему нет режима автосохранения?
На самом деле он есть.

Цитата - Почему нет типа String? Это до кучи.
А он точно нужен?

Последний раз редактировалось ATS, 23.03.2021 в 00:16
ATS сейчас на форуме   Ответить с цитированием
Старый 23.03.2021, 09:20   #4
voltel
Senior Member
 
Регистрация: Aug 2018
Адрес: Екатеринбург
Сообщения: 106
Благодарил(а): 0 раз(а)
Поблагодарили: 1 раз в 1 сообщении
По умолчанию Ответ: Лоджик и макросы. Или ну кто так делает?

В одном и том же проекте 10 одинаковых макросов могут быть немного изменены в зависимости от проекта. И нужно было бы в библиотеке держать все версии макросов для всех версий проектов и их ещё как то подписать.

Чтобы изменить все макросы достаточно сохранить один, выделить его ЛКМ в дереве макросов, щелкнуть на поляне нужный ПКМ и выбрать "заменить". Если входы-выходы не менялись, то связи останутся прежними.
voltel вне форума   Ответить с цитированием
Старый 23.03.2021, 11:33   #5
Ilya J.
Сотрудник Сегнетикс
 
Аватара для Ilya J.
 
Регистрация: Mar 2016
Адрес: SPb
Сообщения: 4 302
Благодарил(а): 0 раз(а)
Поблагодарили: 254 раз(а) в 250 сообщениях
По умолчанию Ответ: Лоджик и макросы. Или ну кто так делает?

Из какой среды программирования вы пришли?


__________________
Если ничто другое не помогает, прочтите, наконец, инструкцию
Ilya J. сейчас на форуме   Ответить с цитированием
Старый 23.03.2021, 11:53   #6
Arsie
Сотрудник Segnetics
 
Аватара для Arsie
 
Регистрация: Jan 2006
Адрес: Russia, SPb
Сообщения: 18 018
Благодарил(а): 15 раз(а)
Поблагодарили: 655 раз(а) в 599 сообщениях
По умолчанию Ответ: Лоджик и макросы. Или ну кто так делает?

Цитата
Сообщение от alexey5801@yandex.ru Посмотреть сообщение
- Макрос, помещённый на поляну, по смыслу перестаёт быть макросом
Макрос у нас это именно макроподстановка на уровне design time, а не подпрограмма или макроподстановка на уровне компиляции, выполняющаяся в дельфи или VS.


Добавлено через 4 минуты


Цитата
Сообщение от voltel Посмотреть сообщение
В одном и том же проекте 10 одинаковых макросов могут быть немного изменены в зависимости от проекта
Почему законченный программный компонент у вас требует постоянных правок? Это либо вы включили в макрос функциональность с излишней вариативностью, либо наоборот, включили в макрос недоделанную функцию.

Будь макрос процедурой, вас бы ожидали большие трудности. Лоджик наоборот, помогает вам в вашем стиле программирования


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

Добро всегда побеждает зло. Кто победил - тот и добрый.
Arsie сейчас на форуме   Ответить с цитированием
Старый 24.03.2021, 01:12   #7
alexey5801@yandex.ru
Новичок
 
Регистрация: Mar 2021
Сообщения: 19
Благодарил(а): 0 раз(а)
Поблагодарили: 0 раз(а) в 0 сообщениях
По умолчанию Ответ: Лоджик и макросы. Или ну кто так делает?

Цитата:
Сообщение от Ilya J. Посмотреть сообщение
Из какой среды программирования вы пришли?
Delphi, C# и MS SQL. Поэтому я принял макросы как библиотеку юзерских типов, на базе которых можно строить свои типы. Но быстро понял, что это не так, как только начал делать библиотеку визуальных компонентов (как в выше упомянутых средах). И в этой парадигме тип string помог бы мне закрыть макрос, оформив его как готовый визуальный компонент, где можно подавать на вход строки (заголовки, списки и т.д.), не ковыряя сложный макрос до места вывода текста на экран. Для Трим 5 сам Бог велел сделать windows подобный интерфейс, где есть возможность отлавливать прохождение пальца над компонентом и реагировать на это. Такой подход позволил бы ускорить разработку с приемлемым качеством визуальной части проекта. Поскольку я начинающий PLC программист и у меня нет ещё опыта правильной работы в среде Лоджика, отсюда и такой набор глупых вопросов. На рисунке моя первая версия экрана для матрикса. Сейчас у бочки нет шкалы, но вообще она есть и насосы действующие(всё крутится, наполняется и меняет цвет от режима). День рисования под микроскопом по пикселям привело меня к такому решению.
Миниатюры
Нажмите на картинку для увеличения

Название:  Screen_01.png
Просмотров: 52
Размер:  7.1 Кбайт  


__________________
Alexey5801
alexey5801@yandex.ru вне форума   Ответить с цитированием
Старый 24.03.2021, 11:25   #8
Arsie
Сотрудник Segnetics
 
Аватара для Arsie
 
Регистрация: Jan 2006
Адрес: Russia, SPb
Сообщения: 18 018
Благодарил(а): 15 раз(а)
Поблагодарили: 655 раз(а) в 599 сообщениях
По умолчанию Ответ: Лоджик и макросы. Или ну кто так делает?

Цитата
Сообщение от alexey5801@yandex.ru Посмотреть сообщение
И в этой парадигме тип string помог бы мне закрыть макрос, оформив его как готовый визуальный компонент.
Стринг для этого не нужен, макрос и так может быть готовым визуальным компонентом, если не использовать SMArt.


Добавлено через 1 минуту


Цитата
Сообщение от alexey5801@yandex.ru Посмотреть сообщение
Поскольку я начинающий PLC программист и у меня нет ещё опыта правильной работы в среде Лоджика, отсюда и такой набор глупых вопросов.
Давайте договоримся с вами, что вы сначала поднаберётесь опыта и потом уже будете высказывать свои суждения, что у нас правильно, а что нет.


Добавлено через 3 минуты


Цитата
Сообщение от alexey5801@yandex.ru Посмотреть сообщение
На рисунке моя первая версия экрана для матрикса. Сейчас у бочки нет шкалы, но вообще она есть и насосы действующие(всё крутится, наполняется и меняет цвет от режима). День рисования под микроскопом по пикселям привело меня к такому решению.
Для первого раза вполне хорошо


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

Добро всегда побеждает зло. Кто победил - тот и добрый.
Arsie сейчас на форуме   Ответить с цитированием
Старый 24.03.2021, 11:58   #9
Arsie
Сотрудник Segnetics
 
Аватара для Arsie
 
Регистрация: Jan 2006
Адрес: Russia, SPb
Сообщения: 18 018
Благодарил(а): 15 раз(а)
Поблагодарили: 655 раз(а) в 599 сообщениях
По умолчанию Ответ: Лоджик и макросы. Или ну кто так делает?

Цитата
Сообщение от alexey5801@yandex.ru Посмотреть сообщение
где есть возможность отлавливать прохождение пальца над компонентом и реагировать на это.
Блоки Touch к вашим услугам.


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

Добро всегда побеждает зло. Кто победил - тот и добрый.
Arsie сейчас на форуме   Ответить с цитированием
Старый 24.03.2021, 21:49   #10
voltel
Senior Member
 
Регистрация: Aug 2018
Адрес: Екатеринбург
Сообщения: 106
Благодарил(а): 0 раз(а)
Поблагодарили: 1 раз в 1 сообщении
По умолчанию Ответ: Лоджик и макросы. Или ну кто так делает?

Цитата:
Сообщение от Arsie Посмотреть сообщение
Добавлено через 4 минуты




Почему законченный программный компонент у вас требует постоянных правок?
Будь макрос процедурой, вас бы ожидали большие трудности. Лоджик наоборот, помогает вам в вашем стиле программирования
Я не жаловался, меня устраивает как сейчас организовано в лоджике. Я лишь высказался в теме, пытался объяснить почему так сделано и что может быть, если бы было по другому.
voltel вне форума   Ответить с цитированием
Ответ

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

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

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

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


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
SMH4 серийный номер до 600ххх и новый лоджик (нет проблемы) windy Вопросы о SMH4 33 02.02.2022 15:42
Макросы для внутренних датчиков (нет проблемы) Alexauto72 Вопросы о Trim5 4 12.01.2021 15:12
Неактивные макросы и трассировка (нет проблемы) Pushin Форум Segnetics 1 05.11.2020 12:59
Проблема зависание 2Gi/MC djaval Вопросы о SMH-2G(i) 108 20.09.2017 18:58


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


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