![]() |
![]() ![]() |
|
SMLogix Вопросы о работе в среде SMLogix и о FBD-программировании |
![]() |
|
Опции темы | Поиск в этой теме | Опции просмотра |
![]() |
#271 |
Senior Member
Регистрация: Dec 2018
Сообщения: 248
Благодарил(а): 3 раз(а)
Поблагодарили:
3 раз(а) в 3 сообщениях
|
![]() У меня опыта программирования сегнетикс около 3-х месяцев. Поэтому при написании программы я заложил как фундамент задание времени во всех задержках переменной int (макрос ваш заводской). И была уверенность что контроллер потянет цикл 10мс следовательно везде выставил время с учетом данной константы. Но при готовности программы и залитии ее в ПЛК выяснилось что он тянет только 13мс и поэтому пришлось спокойно с калькулятором сидеть и пересчитовать. После этих небольших грабель я буду закладывать уже свои модифицированные макросы с автоматическим пересчетом этого времени в независимости от времени цикла системы. Поэтому я предложил Вам сделать данное улучшение, для того чтобы другие не повторяли моих ошибок. |
![]() |
![]() |
![]() |
#272 |
Сотрудник Segnetics
Регистрация: Jan 2006
Адрес: Russia, SPb
Сообщения: 13 394
Благодарил(а): 4 раз(а)
Поблагодарили:
248 раз(а) в 225 сообщениях
|
![]() Сам же корень вашей проблемы хотя бы в том, что все действия, зависимые от времени цикла, нужно рассчитывать в конце. Причина проста: вы не знаете истинного времени цикла. В итоге вы дважды посчитали: в начале реализации, когда время цикла было неизвестным и в конце реализации, когда оно стало известным. Добавлено через 1 минуту Я понимаю суть вашего предложения и объяснил его неоднозначность. Да и проблема у вас не в долях. Доли - это лишь способ решить вашу проблему, причём косвенный способ, по которому даже поговорка народная есть. Настоящее решение - это воспитание в себе привычки не делать ту работу, которую невозможно выполнить правильно в настоящий момент времени. Сейчас вы просто посидели с калькулятором, потом в другой задаче может неделя пропасть зря. __________________ Добро всегда побеждает зло. Кто победил - тот и добрый. |
![]() |
![]() |
![]() |
#273 |
Senior Member
Регистрация: Dec 2018
Сообщения: 248
Благодарил(а): 3 раз(а)
Поблагодарили:
3 раз(а) в 3 сообщениях
|
![]() Значения задержек формировались во время написания программы, т.е. я смотрю очень селективно на выполнение определенного алгоритма поэтому наиболее правильно и верно получается определить точное время задержки которое требуется. Короче не знаю может быть это только в моем случае такие выводы получаются... |
![]() |
![]() |
![]() |
#274 |
Сотрудник Segnetics
Регистрация: Jan 2006
Адрес: Russia, SPb
Сообщения: 13 394
Благодарил(а): 4 раз(а)
Поблагодарили:
248 раз(а) в 225 сообщениях
|
![]() __________________ Добро всегда побеждает зло. Кто победил - тот и добрый. |
![]() |
![]() |
![]() |
#275 |
Senior Member
Регистрация: Dec 2018
Сообщения: 248
Благодарил(а): 3 раз(а)
Поблагодарили:
3 раз(а) в 3 сообщениях
|
![]() Есть еще один нюанс, это те случаи когда программа написана, со временем все ясно, но: А дайка я еще что нибудь напишу, а давай тут вот это прибавлю и понеслась) И время цикла будет постоянно увеличиваться и пересчитовать придется постоянно и... Из этого следует - сделайте блок time to tick в милисекундах (без real) чтобы он был базовым. Последний раз редактировалось RomanIst, 24.07.2019 в 15:23 |
![]() |
![]() |
![]() |
#276 |
Сотрудник Segnetics
Регистрация: Jan 2006
Адрес: Russia, SPb
Сообщения: 13 394
Благодарил(а): 4 раз(а)
Поблагодарили:
248 раз(а) в 225 сообщениях
|
![]() А если задаче нужен цикл 10 мсек, то вы не сможете раздуть алгоритм выше 10 мсек, т.к. задача станет невыполнима. В общем, пример из разряда "Назло маме уши отморожу" ![]() __________________ Добро всегда побеждает зло. Кто победил - тот и добрый. |
![]() |
![]() |
![]() |
#277 |
Senior Member
Регистрация: Dec 2018
Сообщения: 248
Благодарил(а): 3 раз(а)
Поблагодарили:
3 раз(а) в 3 сообщениях
|
![]() Даже лучше было бы заменить блок секундный на милисекундный. |
![]() |
![]() |
![]() |
#278 |
Senior Member
Регистрация: May 2010
Адрес: Novosibirsk
Сообщения: 545
Благодарил(а): 0 раз(а)
Поблагодарили:
4 раз(а) в 4 сообщениях
|
![]() Я бы проголосовал за Ваше предложение принять за базу миллисекунды Еще несколько предложений: 1. Тип int 64, uint 64 2. Цикл FOR (foreach) - вывести из недокументированной возможности 3. Переменные типа массив (разных типов). __________________ В жизни 2 правила успеха: 1 Не говори всего что знаешь 2 ... |
![]() |
![]() |
![]() |
#279 |
Сотрудник Segnetics
Регистрация: Jan 2006
Адрес: Russia, SPb
Сообщения: 13 394
Благодарил(а): 4 раз(а)
Поблагодарили:
248 раз(а) в 225 сообщениях
|
![]() __________________ Добро всегда побеждает зло. Кто победил - тот и добрый. |
![]() |
![]() |
![]() |
#280 |
Новичок
Регистрация: Oct 2015
Сообщения: 25
Благодарил(а): 1 раз(а)
Поблагодарили:
0 раз(а) в 0 сообщениях
|
![]() |
![]() |
![]() |
![]() |
#281 |
Member
Регистрация: Sep 2019
Адрес: SPb
Сообщения: 55
Благодарил(а): 8 раз(а)
Поблагодарили:
1 раз в 1 сообщении
|
![]()
Добавлю и я тоже не большую хотелку.
Хотелось бы чтобы вид связи переключался автоматически. Например при нажатии на именованную связь (которая уже существует), вид переключался тоже, а то сейчас приходится каждый раз в ручную. |
![]() |
![]() |
![]() |
#282 |
Сотрудник Segnetics
Регистрация: Jan 2006
Адрес: Russia, SPb
Сообщения: 13 394
Благодарил(а): 4 раз(а)
Поблагодарили:
248 раз(а) в 225 сообщениях
|
![]() ![]() __________________ Добро всегда побеждает зло. Кто победил - тот и добрый. |
![]() |
![]() |
![]() |
#283 |
Member
Регистрация: Sep 2019
Адрес: SPb
Сообщения: 55
Благодарил(а): 8 раз(а)
Поблагодарили:
1 раз в 1 сообщении
|
![]()
Ну это же лишнее нажатие клавиши
![]() Поэтому и хотелочка чтобы автоматически при нажатии на связь ![]() UPD: А как это работает? что то у меня не получилось через альт? |
![]() |
![]() |
![]() |
#284 |
Сотрудник Segnetics
Регистрация: Jan 2006
Адрес: Russia, SPb
Сообщения: 13 394
Благодарил(а): 4 раз(а)
Поблагодарили:
248 раз(а) в 225 сообщениях
|
![]() PS. Я поддерживаю вашу хотелку, тоже хочу этого несколько лет уже) __________________ Добро всегда побеждает зло. Кто победил - тот и добрый. |
![]() |
![]() |
![]() |
#286 |
Сотрудник Segnetics
Регистрация: Jan 2006
Адрес: Russia, SPb
Сообщения: 13 394
Благодарил(а): 4 раз(а)
Поблагодарили:
248 раз(а) в 225 сообщениях
|
![]() __________________ Добро всегда побеждает зло. Кто победил - тот и добрый. |
![]() |
![]() |
![]() |
#287 |
Senior Member
Регистрация: Dec 2007
Адрес: Томск
Сообщения: 2 661
Благодарил(а): 116 раз(а)
Поблагодарили:
57 раз(а) в 50 сообщениях
|
![]() |
![]() |
![]() |
![]() |
#288 |
Сотрудник Segnetics
Регистрация: Jan 2006
Адрес: Russia, SPb
Сообщения: 13 394
Благодарил(а): 4 раз(а)
Поблагодарили:
248 раз(а) в 225 сообщениях
|
![]() __________________ Добро всегда побеждает зло. Кто победил - тот и добрый. |
![]() |
![]() |
Благодарность от: |
![]() |
#289 |
Member
Регистрация: May 2019
Сообщения: 39
Благодарил(а): 2 раз(а)
Поблагодарили:
1 раз в 1 сообщении
|
![]()
Озвучу свою хотелку.
Возможно ли сделать привязку блоков к сетке, чтоб они сами "прилипали" к узлам? А то выравнивать напрягает. И еще совсем маленькая хотелка. А возможно ли в лоджике изменять масштаб отображения? Иногда было бы очень удобно. |
![]() |
![]() |
![]() |
#290 |
Senior Member
Регистрация: Dec 2015
Сообщения: 121
Благодарил(а): 24 раз(а)
Поблагодарили:
4 раз(а) в 4 сообщениях
|
![]()
Хотелось бы иметь поиск по проекту в дополнение к ctrl+F и проводнику,
Что то вроде строки поиска на панели инструментов, с выпадающим списком после ввода. |
![]() |
![]() |
![]() |
#291 |
Сотрудник Сегнетикс
Регистрация: Mar 2016
Адрес: SPb
Сообщения: 1 953
Благодарил(а): 0 раз(а)
Поблагодарили:
125 раз(а) в 123 сообщениях
|
![]() Добавлено через 59 секунд Последний раз редактировалось Ilya J., 25.10.2019 в 11:35 |
![]() |
![]() |
![]() |
#292 |
Senior Member
Регистрация: Dec 2015
Сообщения: 121
Благодарил(а): 24 раз(а)
Поблагодарили:
4 раз(а) в 4 сообщениях
|
![]()
Еще хотелка, что бы в смарте, тип enum принимал не только int, но и bool.
Основной посыл, что бы не ставить постоянно boolToInt |
![]() |
![]() |
![]() |
#293 |
Senior Member
Регистрация: Dec 2015
Сообщения: 121
Благодарил(а): 24 раз(а)
Поблагодарили:
4 раз(а) в 4 сообщениях
|
![]() Можно ли "допилить" редактор переменных modbus ? Что бы можно было работать не с ячейками, а со всем текстом сразу? Или что бы 10(например) строк названиями вставить из блокнота, Какие то групповые операции с адресами.. нужно бывает сместить все адреса . Хотя проблема и именем переменной связана в общем с переименованием переменных/входов выходов макросов Тоже хотелось бы каких то групповых операций с переменными Копирование макросов по ctrl ? Дублирование FBD - ПКМ на FBD дублировать цать раз - ок |
![]() |
![]() |
![]() |
#294 |
Сотрудник Сегнетикс
Регистрация: Mar 2016
Адрес: SPb
Сообщения: 1 953
Благодарил(а): 0 раз(а)
Поблагодарили:
125 раз(а) в 123 сообщениях
|
![]() |
![]() |
![]() |
![]() |
#295 |
Senior Member
Регистрация: Dec 2015
Сообщения: 121
Благодарил(а): 24 раз(а)
Поблагодарили:
4 раз(а) в 4 сообщениях
|
![]() Там программу или функцию кидаю в библиотеку, и где нужно вставляю экземпляры, соответственно когда редактирую в библиотеке, все изменения вносятся дальше. Проблем не возникало со случайными заменами. Но тут надо ковырять имена самих переменных на поляне fbd, что тоже не удобно Выбрал FBD , зажал ctrl , перетаскиваю копию (как выделенный текст в word, или блоки в visio) |
![]() |
![]() |
![]() |
#296 |
Сотрудник Сегнетикс
Регистрация: Mar 2016
Адрес: SPb
Сообщения: 1 953
Благодарил(а): 0 раз(а)
Поблагодарили:
125 раз(а) в 123 сообщениях
|
![]() |
![]() |
![]() |
![]() |
#297 |
Senior Member
Регистрация: Dec 2015
Сообщения: 121
Благодарил(а): 24 раз(а)
Поблагодарили:
4 раз(а) в 4 сообщениях
|
![]() А выравнивание в любом случае делать надо, с этим проблем нет. Опять же, эти "Вход'ы" придется вручную переименовывать, по кусочкам. Если бы можно было их редактировать в текстовом виде было бы намного удобнее. Понятное дело что займет это каких то 10 минут.. В том же Sublime Text за один раз во всех строчках поменял и все, а затем скопировал куда надо |
![]() |
![]() |
![]() |
#298 |
Senior Member
Регистрация: Dec 2007
Адрес: Томск
Сообщения: 2 661
Благодарил(а): 116 раз(а)
Поблагодарили:
57 раз(а) в 50 сообщениях
|
![]()
я тоже об этом уже давно говорю. нужно какое-то облако "отлаженных макросов" пусть свое, пусть общее, вот овены же смогли для ПРок такое сделать, отчего сегнетики не могут?
|
![]() |
![]() |
![]() |
#299 |
Senior Member
Регистрация: Nov 2017
Сообщения: 238
Благодарил(а): 0 раз(а)
Поблагодарили:
10 раз(а) в 9 сообщениях
|
![]() ![]() |
![]() |
![]() |
![]() |
#300 |
Senior Member
Регистрация: May 2010
Сообщения: 490
Благодарил(а): 3 раз(а)
Поблагодарили:
36 раз(а) в 30 сообщениях
|
![]()
но все шишки на сегнетикс
![]() |
![]() |
![]() |
![]() |
Опции темы | Поиск в этой теме |
Опции просмотра | |
|
|
![]() |
||||
Тема | Автор | Раздел | Ответов | Последнее сообщение |
Обмениваемся своими макросами | Arsie | Вопросы о программировании | 112 | 03.12.2020 20:42 |
Как показать прохождение запроса | 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 |