|
SMLogix Вопросы о работе в среде SMLogix и о FBD-программировании |
|
Опции темы | Поиск в этой теме |
04.02.2024, 01:49 | #1 |
Senior Member
Регистрация: Feb 2023
Адрес: Московская область
Сообщения: 110
Благодарил(а): 2 раз(а)
Поблагодарили:
8 раз(а) в 8 сообщениях
|
Ошибка при сохранении макроса
Еще раз здравствйте!,
Расскажите мне пожалуйста почему у меня возникает ошибка при сохранении проекта с макросом с 2209 переменными на входе и 23 переменными на выходе. Макрос прикрепил... __________________ Жизнь - игра: задумана хреново, но графика обалденная! |
05.02.2024, 03:16 | #2 |
Senior Member
Регистрация: Feb 2023
Адрес: Московская область
Сообщения: 110
Благодарил(а): 2 раз(а)
Поблагодарили:
8 раз(а) в 8 сообщениях
|
Ответ: Ошибка при сохранении макроса
В общем я опять уперся в ограничения походу... на входе в макрос нельзя делать больше 2000 переменных... Разработчики, если вы не пишите это в инструкциях, можно создать отдельный хелп по ограничениям?
Представте себе в ручную линковать 2000 переменных в макросе, потом на вход макроса подать еще 2000 переменных, трата времени впустую... вручную каждую переменную переименовывать..., глобального переименования нет, множественного переназначения нет (если кто подскажет буду благодарен) . жесть... __________________ Жизнь - игра: задумана хреново, но графика обалденная! |
05.02.2024, 08:44 | #3 | |
Senior Member
Регистрация: Dec 2007
Адрес: Томск
Сообщения: 4 173
Благодарил(а): 242 раз(а)
Поблагодарили:
166 раз(а) в 158 сообщениях
|
Ответ: Ошибка при сохранении макроса
Цитата:
если один раз их сделал, то копипаст и алга но восстанавливать связи, тут да, это жоппа. |
|
05.02.2024, 12:42 | #4 | |
Senior Member
Регистрация: Aug 2013
Сообщения: 3 791
Благодарил(а): 12 раз(а)
Поблагодарили:
194 раз(а) в 190 сообщениях
|
Ответ: Ошибка при сохранении макроса
Цитата:
Тем более тратить время на названия переменных внутри макроса. __________________ Не являюсь сотрудником Segnetics !!! |
|
05.02.2024, 13:17 | #5 | |
Senior Member
Регистрация: Feb 2023
Адрес: Московская область
Сообщения: 110
Благодарил(а): 2 раз(а)
Поблагодарили:
8 раз(а) в 8 сообщениях
|
Ответ: Ошибка при сохранении макроса
Цитата:
Напомню, с датчиков получается 2208 переменных, если делать кучу отдельных экранов то мы тупо положим SMart, да еще и упремся в ограничение в 800 переменных. Так что, еслиб у вас была бы такая задача, вы бы это сделали ), именование переменных чтоб не запутаться, когда кликаешь по 1 переменной туда сюда ). __________________ Жизнь - игра: задумана хреново, но графика обалденная! |
|
05.02.2024, 13:37 | #6 |
Сотрудник Segnetics
Регистрация: Jan 2006
Адрес: Russia, SPb
Сообщения: 18 170
Благодарил(а): 15 раз(а)
Поблагодарили:
665 раз(а) в 607 сообщениях
|
Ответ: Ошибка при сохранении макроса
Ну, макрос настолько жирный я бы точно не собирал.
Скорее всего сделал бы единственный макрос на 10 сигналов, 11 макросов выберут 100 датчиков. Адрес сигнала 42 разбирал бы на 4 и 2. По 2 выбирал бы входы №2 первичных макросов, а по 4 выбирал бы нужный сигнал с одного из первичников. Безымянный.png PS. Баг этот мы запишем чисто для расширения возможностей лоджика. Но, что-то мне кажется, что это никому особо и не пригодится. Разве что СМАрту и Конструкторам. __________________ Программа делает то что написал программист, а не то что он хотел. Добро всегда побеждает зло. Кто победил - тот и добрый. Последний раз редактировалось Arsie, 05.02.2024 в 13:48 |
05.02.2024, 13:46 | #7 | |
Senior Member
Регистрация: Feb 2023
Адрес: Московская область
Сообщения: 110
Благодарил(а): 2 раз(а)
Поблагодарили:
8 раз(а) в 8 сообщениях
|
Ответ: Ошибка при сохранении макроса
Цитата:
Расскажите как это оптимизировать (ускорить)? я трачу время не на разработку программы, а на посик ограничений, багов, и перетаскивания связей... __________________ Жизнь - игра: задумана хреново, но графика обалденная! |
|
05.02.2024, 13:49 | #8 |
Сотрудник Segnetics
Регистрация: Jan 2006
Адрес: Russia, SPb
Сообщения: 18 170
Благодарил(а): 15 раз(а)
Поблагодарили:
665 раз(а) в 607 сообщениях
|
Ответ: Ошибка при сохранении макроса
Что именно? Я не понял особо.
Красиво выравнивать умеет магнит к сетке и кнопки выравнивания, например. Можно было на это времени не тратить. Связи быстро протягивать умеет выделение нужного макроса и ПКМ на источнике (выходе). Называть связи умеет автоименование, достаточно один раз дать хорошее название выходу. Автосборка макроса вообще всё удобно именует по кругу. Вам нужен честный ответ или политкорректный (красиво соврать т.е., как делают в других службах техподдержки)? __________________ Программа делает то что написал программист, а не то что он хотел. Добро всегда побеждает зло. Кто победил - тот и добрый. |
05.02.2024, 14:20 | #9 | |
Senior Member
Регистрация: Aug 2013
Сообщения: 3 791
Благодарил(а): 12 раз(а)
Поблагодарили:
194 раз(а) в 190 сообщениях
|
Ответ: Ошибка при сохранении макроса
Зачем все упаковывать в один макрос? Сделайте один на 4 переменных и размножайте.
Цитата:
Но даже если хочется сначала рисуйте без макроса 4 мукса подводите именованные переменные а дальше собирайте в макрос. __________________ Не являюсь сотрудником Segnetics !!! Последний раз редактировалось ATS, 05.02.2024 в 14:31 |
|
05.02.2024, 14:35 | #10 |
Сотрудник Segnetics
Регистрация: Apr 2008
Сообщения: 146
Благодарил(а): 13 раз(а)
Поблагодарили:
21 раз(а) в 20 сообщениях
|
Ответ: Ошибка при сохранении макроса
Элементы SMArt "Вывод числа" на 96 переменных не подходят?
__________________ Инженер "Сегнетикс" |
05.02.2024, 14:43 | #11 |
Senior Member
Регистрация: Aug 2013
Сообщения: 3 791
Благодарил(а): 12 раз(а)
Поблагодарили:
194 раз(а) в 190 сообщениях
|
Ответ: Ошибка при сохранении макроса
Зачем? Там всего 23 параметра но от 96 датчиков.
__________________ Не являюсь сотрудником Segnetics !!! |
05.02.2024, 14:57 | #12 |
Сотрудник Segnetics
Регистрация: Apr 2008
Сообщения: 146
Благодарил(а): 13 раз(а)
Поблагодарили:
21 раз(а) в 20 сообщениях
|
Ответ: Ошибка при сохранении макроса
Для вывода 23-х параметров с 96 датчиков на одном экране.
Делаете один вывод числа на 96 переменных. Копипастите его 22 раза. В лоджике для управления выводимой переменной изменяете значения на входах "Селектор". __________________ Инженер "Сегнетикс" |
05.02.2024, 14:59 | #13 | ||||
Senior Member
Регистрация: Feb 2023
Адрес: Московская область
Сообщения: 110
Благодарил(а): 2 раз(а)
Поблагодарили:
8 раз(а) в 8 сообщениях
|
Ответ: Ошибка при сохранении макроса
Цитата:
Например если я выделяю 30 переменных, нажимаю выровнить по левому краю, то часть бывает не выравнивается, точнее выравнивается но остается отступ приходится жать еще раз. Либо если нажать выровнить на одинаковое расстояние по вертикали, это выравнивание иногда сдвигает крайние точки, в моем понимании крайние точки должны оставаться не тронутыми. Так поудобнее и понятнее, в одном из проектов время не тратил, да и когда в проекте конструктора забирался, тоже заметил что разработчики не особо уделяют этому внимание в макросах, и чтоб понять что там за переменная на выходе out68 например приходится пройти не один макрос к источнику. Цитата:
Цитата:
а что если я действую например так: разрабатываю алгоритм на 1 элемент, если он повторяется то начинаю множить входы у макроса, а не заново разбирая и собирая его для автоматического именования переменных. Можно сделать Поиск и замену по проекту, или по выделенным макросам, переменным? как например это реализовано везде. Все относительно, вот попытался я все удобно сделать, попался на ограничение с ошибкой сохранения проекта. Цитата:
Именно мне все остальные производители отвечали корректно, по делу, проверяли найденные мною недочеты, баги, или объясняли что они известны или то что я что то делаю не так. Так же благодарили за помощь в нахождении ошибки, и описывали в каждой версии ПО по разработке какие ошибки были исправлены. Добавлено через 5 минут Что то я не понял, я разве не так сделал с макросом, только все что вы описали находится в этом макросе, 23 блока которые с 96 переменных выдают один параметр в соответствии со входом MUX. а дальше отображаю на 1 экране. __________________ Жизнь - игра: задумана хреново, но графика обалденная! |
||||
05.02.2024, 15:09 | #14 | |
Сотрудник Segnetics
Регистрация: Jan 2006
Адрес: Russia, SPb
Сообщения: 18 170
Благодарил(а): 15 раз(а)
Поблагодарили:
665 раз(а) в 607 сообщениях
|
Ответ: Ошибка при сохранении макроса
Цитата:
Что касается вашего изначального бага, я уже написал, что мы возьмём его в работу. Безымянный.png Странно, что вы находите оскорбительными мои попытки помочь вам обойти ограничения лоджика. Хорошо, следующий раз я вам напишу "Спасибо что сообщили, ваш звонок был важен для нас" и максимально вежливо брошу вас разбираться в вашей беде самостоятельно Мне, кстати, очень и очень часто попадается ТП с таким вот отношением к делу. Я это называю "вежливо послать нахрен". Да, они благодарят, обещают. Но никогда не предлагают обходного способа если он сложнее одного движения мышкой. Вам же было предложено несколько способов решить вашу проблему проблему не дожидаясь исправлений в лоджике. Ладно вы мне не верите, но неужели ATS тоже написал вам свой вариант без должного уважения? __________________ Программа делает то что написал программист, а не то что он хотел. Добро всегда побеждает зло. Кто победил - тот и добрый. Последний раз редактировалось Arsie, 05.02.2024 в 15:24 |
|
05.02.2024, 15:41 | #15 | ||
Senior Member
Регистрация: Feb 2023
Адрес: Московская область
Сообщения: 110
Благодарил(а): 2 раз(а)
Поблагодарили:
8 раз(а) в 8 сообщениях
|
Ответ: Ошибка при сохранении макроса
Цитата:
Цитата:
Вы программировали когда нибудь в стандарте МЭК 61131-3 ?. например в CodeSys... расскажите как быстро там все это реализовывается!?. например там есть классы, экземпляры объектов, поиск и переименование... Понимаю что в вашем языке программирования пока так... вам есть куда стремиться, и нужно реализовывать не то чтоб хотелки, а стандарты, или писать свои, но для более удобной разработки. Чем быстрее разработка тем превлекательней ваш продукт. Как разработчик наверное вхожу в процентов 20 кто сам пытается разработать приложение под ваш контроллер для нестандартных систем, остальные пользуются конструктарами. Именно мне приходится чувствую все +/- на себе, и мне есть с чем сравнить. __________________ Жизнь - игра: задумана хреново, но графика обалденная! |
||
05.02.2024, 15:46 | #16 | ||
Сотрудник Segnetics
Регистрация: Jan 2006
Адрес: Russia, SPb
Сообщения: 18 170
Благодарил(а): 15 раз(а)
Поблагодарили:
665 раз(а) в 607 сообщениях
|
Ответ: Ошибка при сохранении макроса
Цитата:
Хотя понятно, что 61131-3 писали со степа 5, а не кодесиса. На мой взгляд степ, хоть и замудрёный очень, но всё равно удобнее кодесиса. PS. Класс в визуальном языке - это макрос. То, что кодесис/степ тянут за собой множество барахла, чтобы выполнять трансформации IL<>SFC<>FBD не делает им чести. Если программировать на чистом FBD многое просто становится не нужным. Те же блоки MOVE. Те же внутренние переменные. Много чего. А вот насчёт поиска это замечание очень верное. Я сам без него страдаю. Добавлено через 12 минут Цитата:
2) Я не помню, но это значит только одно - другие пользователи смогли донести до нас суть ошибки. Либо как её повторить. Если мы не можем повторить ошибку, то мы не можем её и исправить. Как только мы добиваемся повторения, мы сразу же исправляем, а не включаем в лист исправлений на будущий год. Даже сейчас. Невозможность сделать 2000 входов это ошибка? Несомненно. Важная ли это ошибка, если за 20 лет существования лоджика вы первый достигли ограничения, причём сделали это максимально сложным для программиста способом? Ну вот тут я реально не уверен. Думаю и вы не будете утверждать, что исправление этой ошибки должно быть немедленным в ту же секунду. __________________ Программа делает то что написал программист, а не то что он хотел. Добро всегда побеждает зло. Кто победил - тот и добрый. |
||
05.02.2024, 16:01 | #17 | ||
Senior Member
Регистрация: Aug 2013
Сообщения: 3 791
Благодарил(а): 12 раз(а)
Поблагодарили:
194 раз(а) в 190 сообщениях
|
Ответ: Ошибка при сохранении макроса
А зачем тогда вообще макросы? Там один мукс остается.
Цитата:
Цитата:
__________________ Не являюсь сотрудником Segnetics !!! |
||
05.02.2024, 16:20 | #18 |
Senior Member
Регистрация: Feb 2023
Адрес: Московская область
Сообщения: 110
Благодарил(а): 2 раз(а)
Поблагодарили:
8 раз(а) в 8 сообщениях
|
Ответ: Ошибка при сохранении макроса
Частично согласен, т.к. классы всетаки это описание объектов, но они ничего не делают, в макросе наоборот происходят вычисления.
В Codesys можно целые классы отправлять модбас, MOVE кстати тоже очень полезная штука, особенно в связке EN причем если я неошибаюсь то там не выполнаются лишние ненужные действия, например если переменные на входе в блок(макрос) не изменились то результат будет темже, при условии если в нем не используются счетчики, таймеры... есть RETURN. В общем оптимизация на уровне, позволяющая получить файл проекта который весит на много порядков меньше чем SMlogix. т.к. SMlogix не имеет прерываний выполнения ненужных операций, макросы он все разворачивает и все равно выполняет пересчет... За счет этого выростают требования к ресурсам ЦП, памяти, и т.д. Хотелось бы сократить время создание проектов в SMlogix... и расширить функционал, как SMlogix так и самого контроллера в будущем, например добавление новых интерфейсов связи, чтоб контроллер без всяких дополнительных преобразователей мог общаться с разным оборудованием, это бы расширило его применение. В общем тему можно закрывать, ограничение найдено и записано на исправление... я как пользователь за это наказан и мучаюсь переделываю ). Все так как и должно быть. Добавлено через 15 минут В некоторых макросвх могут быть изменения с добавлением дополнительных операций, мне проще сделать так. даже еслиб это были просто MUX. представьте это количесто переменных. а если учесть что мне еще и на скаду их вытащить нужно, то кликаеье мышкой на 1/3 больше будет. это самом лучшем случае, если не промахиваться и не ошибаться. Вы не оценили всей прелести... Я бы не сказал что тут проще, тут свои особенности. ну не прям мне одному... как одному из пользователей ). Прошу прощение этот проект разрабатываю уже год (не каждый день, задействован в других проектах) и каждый раз натыкаюсь на какие то ограничения. и меня просто из себя выводит что приходится опять линковать 2000 переменных. Еслиб я это знал, так бы действительно не поступал, но как я мог узнать если это не описано?, только на своем опыте. т.к. я первый за 20 лет (как сказал Arse) уже второй раз натыкаюсь на ограничения, сначало уставкой в 800 параметров, теперь в макросе. С модбасом у меня еще проблемы были, точнее в отключении опроса из программы - датчиков. В общем приходится придумывать другие способы. __________________ Жизнь - игра: задумана хреново, но графика обалденная! |
05.02.2024, 16:40 | #19 | ||
Senior Member
Регистрация: Aug 2013
Сообщения: 3 791
Благодарил(а): 12 раз(а)
Поблагодарили:
194 раз(а) в 190 сообщениях
|
Ответ: Ошибка при сохранении макроса
Цитата:
Цитата:
__________________ Не являюсь сотрудником Segnetics !!! |
||
05.02.2024, 16:42 | #20 | |
Сотрудник Segnetics
Регистрация: Jan 2006
Адрес: Russia, SPb
Сообщения: 18 170
Благодарил(а): 15 раз(а)
Поблагодарили:
665 раз(а) в 607 сообщениях
|
Ответ: Ошибка при сохранении макроса
Цитата:
Но как бы то ни было, наши контроллеры перемалывают 200k+ блоков в цикле 50 мсек. Т.е. отключение у нас хоть и есть, но оно как бы и не нужно. Было когда-то принято решение его не давать в массы, чтобы не плодить проблемы при программировании. __________________ Программа делает то что написал программист, а не то что он хотел. Добро всегда побеждает зло. Кто победил - тот и добрый. |
|
05.02.2024, 16:53 | #21 | |
Senior Member
Регистрация: Aug 2013
Сообщения: 3 791
Благодарил(а): 12 раз(а)
Поблагодарили:
194 раз(а) в 190 сообщениях
|
Ответ: Ошибка при сохранении макроса
Цитата:
800 параметров даже листать устанешь. А найти нужный вообще проблема. __________________ Не являюсь сотрудником Segnetics !!! |
|
05.02.2024, 17:08 | #22 | |
Senior Member
Регистрация: Feb 2023
Адрес: Московская область
Сообщения: 110
Благодарил(а): 2 раз(а)
Поблагодарили:
8 раз(а) в 8 сообщениях
|
Ответ: Ошибка при сохранении макроса
Цитата:
Добавлено через 20 минут Не классы, а структуры, точнее имел ввиду структуры отправлять куда либо ). немного ошибся __________________ Жизнь - игра: задумана хреново, но графика обалденная! Последний раз редактировалось alf999, 05.02.2024 в 17:30 |
|
05.02.2024, 17:30 | #23 | |
Сотрудник Segnetics
Регистрация: Jan 2006
Адрес: Russia, SPb
Сообщения: 18 170
Благодарил(а): 15 раз(а)
Поблагодарили:
665 раз(а) в 607 сообщениях
|
Ответ: Ошибка при сохранении макроса
Цитата:
Добавлено через 3 минуты Ну, исторически классы - это дальнейшее развитие структур) У нас макрос, если не поставлен на поляну, тоже всего лишь описание структуры данных и функций. Вполне можно ограниченно применить понятие класса, даже "наследование" есть в том или ином виде. Просто сама суть FBD делает макросы неким подобием классов. __________________ Программа делает то что написал программист, а не то что он хотел. Добро всегда побеждает зло. Кто победил - тот и добрый. |
|