|
Вопросы о программировании Вопросы, касающиеся программирования на FBD |
|
Опции темы | Поиск в этой теме |
05.07.2016, 12:15 | #271 |
Сотрудник Segnetics
Регистрация: Jan 2006
Адрес: Russia, SPb
Сообщения: 18 160
Благодарил(а): 15 раз(а)
Поблагодарили:
665 раз(а) в 607 сообщениях
|
Ответ: FBD чайникам
Второй точно дольше - там два сравнения. В первом всего одно.
В библиотеке макросов есть эти функции __________________ Программа делает то что написал программист, а не то что он хотел. Добро всегда побеждает зло. Кто победил - тот и добрый. |
14.10.2016, 15:40 | #272 |
Новичок
Регистрация: Apr 2016
Сообщения: 27
Благодарил(а): 0 раз(а)
Поблагодарили:
0 раз(а) в 0 сообщениях
|
Ответ: FBD чайникам
Добрый день. Хочу реализовать задание уставки как из меню ПЛК (SMH 2G), так и из панели оператора (ОВЕН СП310). Пока что сделал как на прикрепленном скрине. Но в ПЛК заливать не рискнул, ибо переживаю за здоровье EEPROM. Нужно ли делать дополнительную проверку на то, как часто записывается уставка? Снятся кошмары о том, что на каждом тике приходит одно и то же значение и оно же перезаписывается в бедную память.
Вложение 3594 UPD: Ох, только что написал пост и вспомнил что в SMArt и так по умолчанию отмечен чекбокс "запись по изменению". Так что все должно быть ок. Последний раз редактировалось Arsie, 25.03.2022 в 16:01 |
14.10.2016, 15:51 | #273 |
Уволен из Сегнетикс
Регистрация: Nov 2015
Адрес: CПб/ВЛГ
Сообщения: 0
Благодарил(а): 0 раз(а)
Поблагодарили:
1 раз в 1 сообщении
|
Ответ: FBD чайникам
http://forum.segnetics.com/showthread.php?t=311
Вот отсюда качайте макрос, ему на вход подавайте модбас переменную. Дальше, думаю, вы понимаете что делать... Если нет - пишите, подскажу. __________________ В сегнетиксе не работаю с самого начала 2019 года. |
14.10.2016, 17:08 | #274 | |
Новичок
Регистрация: Apr 2016
Сообщения: 27
Благодарил(а): 0 раз(а)
Поблагодарили:
0 раз(а) в 0 сообщениях
|
Ответ: FBD чайникам
Цитата:
|
|
14.10.2016, 17:14 | #275 |
Уволен из Сегнетикс
Регистрация: Nov 2015
Адрес: CПб/ВЛГ
Сообщения: 0
Благодарил(а): 0 раз(а)
Поблагодарили:
1 раз в 1 сообщении
|
Ответ: FBD чайникам
К сожалению, в этом я не уверен. Вероятно, это знает Арсений, но сегодня он ответить не сможет. Наверное, только в понедельник ответит. Ну или на выходных, если у него будет энтузиазм зайти на форум! =)
__________________ В сегнетиксе не работаю с самого начала 2019 года. |
14.10.2016, 17:17 | #276 |
Новичок
Регистрация: Apr 2016
Сообщения: 27
Благодарил(а): 0 раз(а)
Поблагодарили:
0 раз(а) в 0 сообщениях
|
Ответ: FBD чайникам
Ой Ой, так это что же мне сейчас переделать на запись по сигналу из ФБД? Я уже прошил и собрался домой ехать.
|
17.10.2016, 10:45 | #277 |
Сотрудник Segnetics
Регистрация: Jan 2006
Адрес: Russia, SPb
Сообщения: 18 160
Благодарил(а): 15 раз(а)
Поблагодарили:
665 раз(а) в 607 сообщениях
|
Ответ: FBD чайникам
Да, всё ок будет, если галка стоит)
__________________ Программа делает то что написал программист, а не то что он хотел. Добро всегда побеждает зло. Кто победил - тот и добрый. |
26.10.2016, 10:18 | #278 |
Новичок
Регистрация: Apr 2016
Сообщения: 27
Благодарил(а): 0 раз(а)
Поблагодарили:
0 раз(а) в 0 сообщениях
|
Ответ: FBD чайникам
Снова здравствуйте! Сделал вот я несложный казалось бы счетчик нажатий (энергонезависимый). При тестировании на 2Gi все работало нормально, когда добавил в проект и загрузил в 2G то сначала тоже все было ок. Отлаживал я себе проект, изменял-загружал в ПЛК и тут заметил что на выходе счетчика что-то несуразное (скриншот). Причем число на выходе меняется при каждой новой загрузке проекта. Что могло стать причиной такого поведения макроса?
Вложение 3624 Вложение 3625 Последний раз редактировалось Arsie, 25.03.2022 в 16:02 |
26.10.2016, 11:58 | #279 | |
Senior Member
Регистрация: Jul 2007
Адрес: Калининград
Сообщения: 422
Благодарил(а): 0 раз(а)
Поблагодарили:
1 раз в 1 сообщении
|
Ответ: FBD чайникам
Цитата:
Есть вероятность, что память исчерпала свой ресурс и нужна ее замена. __________________ Автомат АК - самый распространенный преобразователь стека в очередь |
|
26.10.2016, 12:06 | #280 |
Новичок
Регистрация: Apr 2016
Сообщения: 27
Благодарил(а): 0 раз(а)
Поблагодарили:
0 раз(а) в 0 сообщениях
|
Ответ: FBD чайникам
Но как он мог насчитать это, если программа работала несколько минут, а включается счетчик по кнопке с панели. Причем там два таких макроса стоят рядом и на входе у них сигнал с одной и той же кнопки (первый считает общее кол-во циклов, а второй за день). На выходе одного из них 700000 а на выходе другого - 0. И это число постоянно меняется от загрузки к загрузке.
|
26.10.2016, 12:08 | #281 | |
Сотрудник Segnetics
Регистрация: Jan 2006
Адрес: Russia, SPb
Сообщения: 18 160
Благодарил(а): 15 раз(а)
Поблагодарили:
665 раз(а) в 607 сообщениях
|
Ответ: FBD чайникам
Цитата:
Подробности: http://dl.segnetics.com/WebHelp/SMLo...ock_eeprom.htm __________________ Программа делает то что написал программист, а не то что он хотел. Добро всегда побеждает зло. Кто победил - тот и добрый. |
|
26.10.2016, 12:17 | #282 | |
Новичок
Регистрация: Apr 2016
Сообщения: 27
Благодарил(а): 0 раз(а)
Поблагодарили:
0 раз(а) в 0 сообщениях
|
Ответ: FBD чайникам
Цитата:
И могут такие глюки вылезать если контроллер уже был с исчерпаным ресурсом? Сам этот экземпляр довольно старый. И его прошлое туманно. |
|
26.10.2016, 12:34 | #283 | |
Сотрудник Segnetics
Регистрация: Jan 2006
Адрес: Russia, SPb
Сообщения: 18 160
Благодарил(а): 15 раз(а)
Поблагодарили:
665 раз(а) в 607 сообщениях
|
Ответ: FBD чайникам
Цитата:
Остальное по аналогии, в том числе и про остаточную надёжность. __________________ Программа делает то что написал программист, а не то что он хотел. Добро всегда побеждает зло. Кто победил - тот и добрый. |
|
26.10.2016, 12:43 | #284 |
Новичок
Регистрация: Apr 2016
Сообщения: 27
Благодарил(а): 0 раз(а)
Поблагодарили:
0 раз(а) в 0 сообщениях
|
Ответ: FBD чайникам
Если не затруднит, объясните подробнее какие эффекты могут быть от убитой памяти. Про дом я немножко не понял аналогию. Были ли стена в квартире несущей? Сейчас с уверенностью можно сказать что повреждена только ячейка куда записывалась переменная long? Есть возможность как-то обойти эти 4 байта?
Этот счетчик привязан к переменной в HMI которая всегда на экране и ее трудно не заметить. Если бы она инкрементировалась в процессе работы это было бы видно. С этим контроллером были еще казусы, энергонезависимые триггеры самопроизвольно взводились (я списал это на программу и добавил еще проверку и сброс). Может это тоже уже было симптомом убитой памяти? Вообще, это уже конечно не по теме обсуждение. Если нужно я могу создать новую со своей проблемой, или ув. Арсений перенесет, как удобнее будет. |
26.10.2016, 12:48 | #285 | |
Сотрудник Segnetics
Регистрация: Jan 2006
Адрес: Russia, SPb
Сообщения: 18 160
Благодарил(а): 15 раз(а)
Поблагодарили:
665 раз(а) в 607 сообщениях
|
Ответ: FBD чайникам
Цитата:
Эффекты вы уже видите. Последствий может быть никаких. А может обвалится весь вертикальный пролёт. А может и весь дом ляжет. Эти события равновероятны. Обход прост - не используйте СМАрт, выделите слева-вверху большой блок памяти (Array(long) с длиной 4096). Это минимизирует риски. __________________ Программа делает то что написал программист, а не то что он хотел. Добро всегда побеждает зло. Кто победил - тот и добрый. |
|
26.10.2016, 13:02 | #286 |
Новичок
Регистрация: Apr 2016
Сообщения: 27
Благодарил(а): 0 раз(а)
Поблагодарили:
0 раз(а) в 0 сообщениях
|
Ответ: FBD чайникам
Спасибо, уже немного понятнее. Т.е. если допустить что я говорю правду и число на выходе блока появилось не в процессе работы программы, а сразу после загрузки, могло это быть следствием уже испорченной памяти? Потому что глюки с триггерами появились гораздо раньше, как только я стал использовать еепром на этом контроллере.
Я тут прикинул, если инкрементировать каждый тик (100мс), то чтобы насчитать 700К нужно 1000 минут непрерывной работы программы. Это уже точно нереально. Последний раз редактировалось M229, 26.10.2016 в 13:24 |
26.10.2016, 13:27 | #287 | |
Сотрудник Segnetics
Регистрация: Jan 2006
Адрес: Russia, SPb
Сообщения: 18 160
Благодарил(а): 15 раз(а)
Поблагодарили:
665 раз(а) в 607 сообщениях
|
Ответ: FBD чайникам
Цитата:
Сразу после загрузки "левые" значения появляются, если отказаться от загрузки уставок по умолчанию. В этом случае память не "переформатируется" под проект и все блоки содержат какие-то значения. __________________ Программа делает то что написал программист, а не то что он хотел. Добро всегда побеждает зло. Кто победил - тот и добрый. |
|
26.10.2016, 13:44 | #288 |
Новичок
Регистрация: Apr 2016
Сообщения: 27
Благодарил(а): 0 раз(а)
Поблагодарили:
0 раз(а) в 0 сообщениях
|
Ответ: FBD чайникам
Спасибо! В общем мб еще это просто память не инициализировалась и все мои истории с триггерами в самом деле были из-за действий программы а не из-за убитой еепром.
По теме ветки, раз на сам макрос никто не поругался, значит с ним все в порядке надо понимать? |
26.10.2016, 13:48 | #289 |
Новичок
Регистрация: Jun 2012
Сообщения: 12
Благодарил(а): 0 раз(а)
Поблагодарили:
0 раз(а) в 0 сообщениях
|
Ответ: FBD чайникам
M229, попробуйте сместить блок OR №7 правее блока MUX №8, мне кажется у Вас здесь "иголка", нет?
|
26.10.2016, 13:49 | #290 |
Уволен из Сегнетикс
Регистрация: Nov 2015
Адрес: CПб/ВЛГ
Сообщения: 0
Благодарил(а): 0 раз(а)
Поблагодарили:
1 раз в 1 сообщении
|
Ответ: FBD чайникам
Я бы не парился, и использовал это http://forum.segnetics.com/showthread.php?t=307
__________________ В сегнетиксе не работаю с самого начала 2019 года. |
26.10.2016, 14:06 | #291 | ||
Новичок
Регистрация: Apr 2016
Сообщения: 27
Благодарил(а): 0 раз(а)
Поблагодарили:
0 раз(а) в 0 сообщениях
|
Ответ: FBD чайникам
Цитата:
Цитата:
|
||
26.10.2016, 14:18 | #292 |
Уволен из Сегнетикс
Регистрация: Nov 2015
Адрес: CПб/ВЛГ
Сообщения: 0
Благодарил(а): 0 раз(а)
Поблагодарили:
1 раз в 1 сообщении
|
Ответ: FBD чайникам
http://forum.segnetics.com/showthread.php?t=321 тогда отсюда, тут есть регистратор срабатываний
__________________ В сегнетиксе не работаю с самого начала 2019 года. |
26.10.2016, 14:37 | #293 | |
Новичок
Регистрация: Apr 2016
Сообщения: 27
Благодарил(а): 0 раз(а)
Поблагодарили:
0 раз(а) в 0 сообщениях
|
Ответ: FBD чайникам
Цитата:
|
|
26.10.2016, 15:14 | #294 |
Новичок
Регистрация: Apr 2016
Сообщения: 27
Благодарил(а): 0 раз(а)
Поблагодарили:
0 раз(а) в 0 сообщениях
|
Ответ: FBD чайникам
Еще есть проблема обнуления уставки на частотнике. Уставка эта задается с панели оператора. Т.е. имеем 2 сети: Панель(master) — ПЛК и ПЛК(master) — ПЧ. Возможность смены уставки из других мест, кроме панели не важно. Суть проблемы в том, что уставка на ПЧ обнуляется если "дернуть" питание на ПЧ или самом ПЛК.
На данный момент придумал два варианта (на сриншотах). Первый вариант реализации подсмотрел у ув. razerface в этой теме: http://forum.segnetics.com/showthread.php?t=2580 2016-10-26_13-55-48.png Второй вариант подразумевает использование SMArt, который и хранит уставку в eeprom и разрешает ее записывать только по изменению. Наличие уставки в меню при этом является побочным эффектом. 2016-10-26_13-53-52.png Можно ли сказать что эти варианты будут работать или вообще есть другой способ получше? |
26.10.2016, 15:48 | #295 | |
Сотрудник Segnetics
Регистрация: Jan 2006
Адрес: Russia, SPb
Сообщения: 18 160
Благодарил(а): 15 раз(а)
Поблагодарили:
665 раз(а) в 607 сообщениях
|
Ответ: FBD чайникам
Цитата:
Будут работать. Первый вариант может быть попроще, но такой тоже норм. __________________ Программа делает то что написал программист, а не то что он хотел. Добро всегда побеждает зло. Кто победил - тот и добрый. |
|
26.10.2016, 16:02 | #296 |
Новичок
Регистрация: Apr 2016
Сообщения: 27
Благодарил(а): 0 раз(а)
Поблагодарили:
0 раз(а) в 0 сообщениях
|
Ответ: FBD чайникам
Спасибо!
|
15.03.2017, 12:08 | #298 |
Сотрудник Segnetics
Регистрация: Jan 2006
Адрес: Russia, SPb
Сообщения: 18 160
Благодарил(а): 15 раз(а)
Поблагодарили:
665 раз(а) в 607 сообщениях
|
Ответ: FBD чайникам
ASCII - это инт и есть. Точнее даже char, но такого типа данных нет у нас. Поэтому int.
Каков смысл вашего вопроса? ASCII - это обычное число, которое при выводе интерпретируется как графический знак. В хранении же это обычное число, ничем от других не отличающееся. __________________ Программа делает то что написал программист, а не то что он хотел. Добро всегда побеждает зло. Кто победил - тот и добрый. |
15.03.2017, 12:24 | #299 | |
Senior Member
Регистрация: Dec 2007
Адрес: Томск
Сообщения: 4 171
Благодарил(а): 241 раз(а)
Поблагодарили:
166 раз(а) в 158 сообщениях
|
Ответ: FBD чайникам
Цитата:
если можно - пример. |
|
15.03.2017, 12:42 | #300 | |
Senior Member
Регистрация: Aug 2013
Сообщения: 3 791
Благодарил(а): 12 раз(а)
Поблагодарили:
194 раз(а) в 190 сообщениях
|
Ответ: FBD чайникам
Цитата:
Тут примерчик |
|