![]() |
![]() ![]() |
|
SMLogix Вопросы о работе в среде SMLogix и о FBD-программировании |
![]() |
|
Опции темы | Поиск в этой теме | Опции просмотра |
![]() |
#181 |
Senior Member
Регистрация: Nov 2017
Сообщения: 556
Благодарил(а): 2 раз(а)
Поблагодарили:
35 раз(а) в 28 сообщениях
|
![]() Почему я не стану делать правку в СМАрт (например, при перебросе входа с MR на MC)? Потому что СМАрт -- это уровень пользовательского интерфейса, это другая зона ответственности. Не должна она зависеть от физических значений сигналов. Здесь я применяю принцип разделения ответственности. Если бы я не использовал это принцип, без проблем смешал бы в СМАрт все, и мух, и котлеты. Если строить стандартный набор блоков исходя из минимализма (или базиса), то из SMLogix нужно выкинуть и все AND/OR/NOT/NOR/XOR/..., оставить только NAND, а остальные операции делать макросами. Или, можно выкинуть SUB, MUL, оставив ADD и DIV. Можно выкинуть типы bool и int, оставить только long и real. И т.п. Выкинуть возможность задания числа входов. Понятно ведь, что стандартный набор блоков строится не из минимализма, а из баланса удобства и полноты. Я ни в коем случае не настаиваю в реализации этих хотелок, я высказываю свое мнение, столкнувшись на практике с SMLogix, основанное на своем многолетнем опыте разработки. |
![]() |
![]() |
![]() |
#182 |
Сотрудник Segnetics
Регистрация: Jan 2006
Адрес: Russia, SPb
Сообщения: 17 382
Благодарил(а): 15 раз(а)
Поблагодарили:
610 раз(а) в 557 сообщениях
|
![]() Чтобы был набор базовых быстро работающих блоков, а остальное - библиотека макросов. Тут и ваша хотелка реализовалась бы легко и просто. Нужен блок - хоп, пять минут и изменения в библиотечке готовы. Совместимость со старым софтом 100%. Ладно ещё Пиксели, там достаточно всё просто. А SMH2010? Поэтому мало когда в моей душе будет отклик на, быть может, изредка удобные, но однозначно второстепенные функции. Тема-то изначально про лоджик и его интерфейс. Блоки - это уже не лоджик. Это системный софт. __________________ Программа делает то что написал программист, а не то что он хотел. Добро всегда побеждает зло. Кто победил - тот и добрый. |
![]() |
![]() |
![]() |
#183 |
Senior Member
Регистрация: Nov 2017
Сообщения: 556
Благодарил(а): 2 раз(а)
Поблагодарили:
35 раз(а) в 28 сообщениях
|
![]() Поэтому, я вполне бы удовлетворился ответом: "Да, идеи классные, XOR только с двумя входами -- это мы с свое время не додумали. Но доработки стоят дорого, поэтому делать не будем...". |
![]() |
![]() |
![]() |
#184 |
Senior Member
Регистрация: Dec 2015
Сообщения: 119
Благодарил(а): 23 раз(а)
Поблагодарили:
4 раз(а) в 4 сообщениях
|
![]()
Очень хочется, что бы при копировании блока(макроса) у которого есть связи, что бы они переходили к новому блоку(макросу). А то скопируешь mux на 32 , и распихивай заново связи.
Или допустим выделил 10 одинаковых блоков, и от одного источника можно сразу на все блоки назначить связь. Например, выделил 10 mux, нажал пкм на "вход" далее "mux" далее in0, и связи сразу добавились к 10 блокам. |
![]() |
![]() |
![]() |
#185 |
Senior Member
Регистрация: Apr 2017
Адрес: MSK
Сообщения: 123
Благодарил(а): 0 раз(а)
Поблагодарили:
5 раз(а) в 5 сообщениях
|
![]()
Поддерживаю. Бывает создал макрос, 20 входов одинаковые,а 1-2 отличаются. И при копировании макроса было бы классно копировать одноименные связи.
|
![]() |
![]() |
![]() |
#186 |
Senior Member
Регистрация: Aug 2018
Адрес: Екатеринбург
Сообщения: 106
Благодарил(а): 0 раз(а)
Поблагодарили:
1 раз в 1 сообщении
|
![]()
А можно сделать как в автокаде "панорамирование"? В нем можно и по контекстному меню при нажатии правой кнопкой мыши выбрать панорамирование, либо просто нажатием на колесико плавно передвигать экран.
Shift и колесико мыши тоже приемлемо работает, но не всегда удобно тем, что клавиатура нужна. А так можно было бы одной мышью обходиться. |
![]() |
![]() |
![]() |
#187 |
Сотрудник Segnetics
Регистрация: Jan 2006
Адрес: Russia, SPb
Сообщения: 17 382
Благодарил(а): 15 раз(а)
Поблагодарили:
610 раз(а) в 557 сообщениях
|
![]() Используйте навигатор. __________________ Программа делает то что написал программист, а не то что он хотел. Добро всегда побеждает зло. Кто победил - тот и добрый. |
![]() |
![]() |
![]() |
#188 |
Senior Member
Регистрация: Dec 2007
Адрес: Томск
Сообщения: 3 860
Благодарил(а): 225 раз(а)
Поблагодарили:
141 раз(а) в 133 сообщениях
|
![]() заранее благодарен. ![]() p.s. а еще и по этому, см.прицеп, если что - это последний 152й лоджик Последний раз редактировалось Arsie, 15.05.2020 в 16:46 Причина: Удалил вложения за ненужностью |
![]() |
![]() |
![]() |
#189 |
Сотрудник Segnetics
Регистрация: Jan 2006
Адрес: Russia, SPb
Сообщения: 17 382
Благодарил(а): 15 раз(а)
Поблагодарили:
610 раз(а) в 557 сообщениях
|
![]() __________________ Программа делает то что написал программист, а не то что он хотел. Добро всегда побеждает зло. Кто победил - тот и добрый. |
![]() |
![]() |
![]() |
#190 |
Senior Member
Регистрация: Dec 2007
Адрес: Томск
Сообщения: 3 860
Благодарил(а): 225 раз(а)
Поблагодарили:
141 раз(а) в 133 сообщениях
|
![]() |
![]() |
![]() |
![]() |
#191 |
Сотрудник Segnetics
Регистрация: Jan 2006
Адрес: Russia, SPb
Сообщения: 17 382
Благодарил(а): 15 раз(а)
Поблагодарили:
610 раз(а) в 557 сообщениях
|
![]() __________________ Программа делает то что написал программист, а не то что он хотел. Добро всегда побеждает зло. Кто победил - тот и добрый. |
![]() |
![]() |
![]() |
#192 |
Senior Member
Регистрация: Dec 2007
Адрес: Томск
Сообщения: 3 860
Благодарил(а): 225 раз(а)
Поблагодарили:
141 раз(а) в 133 сообщениях
|
![]() |
![]() |
![]() |
![]() |
#193 |
Сотрудник Segnetics
Регистрация: Jan 2006
Адрес: Russia, SPb
Сообщения: 17 382
Благодарил(а): 15 раз(а)
Поблагодарили:
610 раз(а) в 557 сообщениях
|
![]() __________________ Программа делает то что написал программист, а не то что он хотел. Добро всегда побеждает зло. Кто победил - тот и добрый. |
![]() |
![]() |
![]() |
#194 |
Member
Регистрация: Mar 2012
Сообщения: 63
Благодарил(а): 1 раз(а)
Поблагодарили:
0 раз(а) в 0 сообщениях
|
![]() ![]() ![]() ![]() ![]() В SMH 2Gi/SMH 4G памяти же супер дохренище, Реализуйте доп.сохранение .psl файла в отдельной папочке в момент заливки проекта. Чтобы его потом можно было вытащить например через FTP или красивым танцем с бубном. возможность вытащить проект с ПЛК это "must have" для любого приличного ПЛК. __________________ Ковчег был построен любителем, Профессионалы же построили Титаник |
![]() |
![]() |
![]() |
#195 |
Senior Member
Регистрация: May 2010
Адрес: Москва
Сообщения: 770
Благодарил(а): 3 раз(а)
Поблагодарили:
79 раз(а) в 62 сообщениях
|
![]()
Дак можно же по тому же ФТП закачать файлик.
|
![]() |
![]() |
![]() |
#197 |
Сотрудник Segnetics
Регистрация: Jan 2006
Адрес: Russia, SPb
Сообщения: 17 382
Благодарил(а): 15 раз(а)
Поблагодарили:
610 раз(а) в 557 сообщениях
|
![]()
Таким образом я всегда знаю, что загружено на контроллер и вижу историю изменений. Заодно это спасает, если вдруг последняя версия умирает, но этого уже лет 15 как нет, т.к. версии сохраняются пофункционально. Например, добавил функцию стирки носков - версия. Отладил функцию стирки носков - версия. Если нужно добавить 10 функций, то будет 10-20 версий. Одновременно с этим версия поднимается раз в полдня. Полдня прошло - не важно, доделал иди нет, формируется следующая версия. Это позволяет не зависеть от того, есть контроль версий в технике или нет его. Использую этот подход для всех языков программирования и всего оборудования, которое было в моих руках. __________________ Программа делает то что написал программист, а не то что он хотел. Добро всегда побеждает зло. Кто победил - тот и добрый. |
![]() |
![]() |
![]() |
#198 |
Сотрудник Segnetics
Регистрация: Jan 2006
Адрес: Russia, SPb
Сообщения: 17 382
Благодарил(а): 15 раз(а)
Поблагодарили:
610 раз(а) в 557 сообщениях
|
![]() Либо исходник был заблокирован паролем - это в тех "приличных", где без исходника в контроллере никак. __________________ Программа делает то что написал программист, а не то что он хотел. Добро всегда побеждает зло. Кто победил - тот и добрый. |
![]() |
![]() |
![]() |
#199 |
Senior Member
Регистрация: Dec 2007
Адрес: Томск
Сообщения: 3 860
Благодарил(а): 225 раз(а)
Поблагодарили:
141 раз(а) в 133 сообщениях
|
![]() слишком много рутины и нет страховки от вынужденных ошибок. |
![]() |
![]() |
![]() |
#200 |
Сотрудник Segnetics
Регистрация: Jan 2006
Адрес: Russia, SPb
Сообщения: 17 382
Благодарил(а): 15 раз(а)
Поблагодарили:
610 раз(а) в 557 сообщениях
|
![]() Программерам на обычных языках проще, у них есть стандартный инструмент SVN - но он годится только для текстовых файлов. Показывает, что на что и когда поменялось. Нам это не подойдёт, т.к. простое открывание файла он отметит как изменение. __________________ Программа делает то что написал программист, а не то что он хотел. Добро всегда побеждает зло. Кто победил - тот и добрый. |
![]() |
![]() |
![]() |
#201 |
Senior Member
Регистрация: Dec 2007
Адрес: Томск
Сообщения: 3 860
Благодарил(а): 225 раз(а)
Поблагодарили:
141 раз(а) в 133 сообщениях
|
![]() если бы в проекте был какой-то автоматический идентификатор структуры и состава не зависящий от открыть/закрыть и т.п., нам всем было бы намного проще жить.. |
![]() |
![]() |
![]() |
#202 |
Сотрудник Segnetics
Регистрация: Jan 2006
Адрес: Russia, SPb
Сообщения: 17 382
Благодарил(а): 15 раз(а)
Поблагодарили:
610 раз(а) в 557 сообщениях
|
![]() На картинке пример. Красненькое - это то, что удалено из файла, зелёненьким - что добавлено. Удобно - не то слово. Но годится только для текста. __________________ Программа делает то что написал программист, а не то что он хотел. Добро всегда побеждает зло. Кто победил - тот и добрый. Последний раз редактировалось Arsie, 15.11.2018 в 18:43 |
![]() |
![]() |
![]() |
#203 |
Senior Member
Регистрация: Nov 2017
Сообщения: 556
Благодарил(а): 2 раз(а)
Поблагодарили:
35 раз(а) в 28 сообщениях
|
![]() Или, хотя бы экспорт в текст (набор текстовых файлов)? |
![]() |
![]() |
![]() |
#204 |
Senior Member
Регистрация: Jun 2015
Сообщения: 521
Благодарил(а): 23 раз(а)
Поблагодарили:
9 раз(а) в 9 сообщениях
|
![]()
поддерживаю хотелку по автоматическому сохранению копии проекта в памяти контроллера при заливке. Где - нибудь на панельке инструментов галочку - есть галочка, проект заливается, нет - на нет и суда нет.
а так очень удачная фича была бы, хранить на контроллере проект, с которого можно было бы подключится в режиме отладки со 100% вероятностью. |
![]() |
![]() |
![]() |
#205 |
Сотрудник Segnetics
Регистрация: Jan 2006
Адрес: Russia, SPb
Сообщения: 17 382
Благодарил(а): 15 раз(а)
Поблагодарили:
610 раз(а) в 557 сообщениях
|
![]() Добавлено через 9 минут Сохранять в памяти контроллера и дистрибутив лоджика?) __________________ Программа делает то что написал программист, а не то что он хотел. Добро всегда побеждает зло. Кто победил - тот и добрый. |
![]() |
![]() |
![]() |
#206 |
Senior Member
Регистрация: Oct 2010
Адрес: Москва
Сообщения: 404
Благодарил(а): 29 раз(а)
Поблагодарили:
2 раз(а) в 2 сообщениях
|
![]() В разработке особо не поможет - зато всегда можно определить соответствие версии программы в лоджике и залитой. Так что, может, хранить дистрибутив в контроллере - не самая плохая идея ![]() |
![]() |
![]() |
![]() |
#207 |
Senior Member
Регистрация: Nov 2017
Сообщения: 556
Благодарил(а): 2 раз(а)
Поблагодарили:
35 раз(а) в 28 сообщениях
|
![]() Т.к. "бинарное представление" изоморфно "текстовому представлению", то нет каких-то принципиальных ограничений для представления проекта в текстовой форме, которую хорошо будет обрабатывать diff и другие современные инструменты (типа GitLab). Я сейчас делаю редактор и эмулятор FBD-программ, как веб-приложение, и там все прекрасно храниться в "текстовом представлении". Например, вот текст до правки: Вот текст после правки: А вот, как мы видим правку в обычной системе контроля версий: |
![]() |
![]() |
![]() |
#208 |
Сотрудник Segnetics
Регистрация: Jan 2006
Адрес: Russia, SPb
Сообщения: 17 382
Благодарил(а): 15 раз(а)
Поблагодарили:
610 раз(а) в 557 сообщениях
|
![]() Или даже лучше, напишите этот текст в ворде 97, затем такой же в ворде 2016 и сравните оба XML между собой. Добавлено через 1 минуту ![]() __________________ Программа делает то что написал программист, а не то что он хотел. Добро всегда побеждает зло. Кто победил - тот и добрый. |
![]() |
![]() |
![]() |
#209 |
Senior Member
Регистрация: Jun 2015
Сообщения: 521
Благодарил(а): 23 раз(а)
Поблагодарили:
9 раз(а) в 9 сообщениях
|
![]() ![]() И эх, гулять-так гулять, туда же , в специально созданную папочку, отдельными файлами отчет о проекте, карту памяти , настройки СМКонфига и все остальное, относящееся к этому проекту... |
![]() |
![]() |
![]() |
#210 |
Senior Member
Регистрация: Nov 2017
Сообщения: 556
Благодарил(а): 2 раз(а)
Поблагодарили:
35 раз(а) в 28 сообщениях
|
![]() Добавлено через 3 минуты Так там вообще все версии зафиксированы: и системы сборки Gradle, и Android-специфичных плагинов сборки, и библиотек! Прямо в проектных файлах сборки! |
![]() |
![]() |
![]() |
Опции темы | Поиск в этой теме |
Опции просмотра | |
|
|
![]() |
||||
Тема | Автор | Раздел | Ответов | Последнее сообщение |
Обмениваемся своими макросами | Arsie | SMLogix | 112 | 10.12.2021 09:01 |
Как показать прохождение запроса | LordN | Примеры работы по Modbus | 7 | 07.11.2019 19:55 |
Отсутствует связь SMH2010 <--> SMLogix | Serge_sg | Вопросы о SMH2010 | 19 | 07.10.2019 18:44 |
SMH4 не видится в SMLogix (решено) | marat | Вопросы о SMH4 | 2 | 04.04.2019 19:52 |
Небольшие дефекты в SMLogix | Gel | SMLogix | 20 | 22.08.2018 14:22 |