Segnetics

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

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

Ответ
 
Опции темы Поиск в этой теме
Старый 21.06.2017, 11:45   #1
Roll4Repairs
Member
 
Регистрация: Jun 2017
Сообщения: 56
Благодарил(а): 7 раз(а)
Поблагодарили: 0 раз(а) в 0 сообщениях
По умолчанию Вопрос по FBD

Добрый день.

Не подскажете новичку, как в FBD реализовать функционал схожий с IF? До этого прогал на ST и тяжело перестраиваться.

Проще говоря что хочу сделать:
При нажатии кнопки влево инкрементировать значение переменной на произвольное значение (допустим 0.1), а при нажатии вправо декрементировать на это же значение .

CTUD инкрементирует-декрементрирует на 1, поэтому мне не подходит.
Roll4Repairs вне форума   Ответить с цитированием
Старый 21.06.2017, 11:49   #2
Gromov
Уволен из Сегнетикс
 
Регистрация: Nov 2015
Адрес: CПб/ВЛГ
Сообщения: 0
Благодарил(а): 0 раз(а)
Поблагодарили: 1 раз в 1 сообщении
По умолчанию Ответ: Вопрос по FBD

Умножайте на 10, инкрементируйте, делите на 10 - один из вариантов.

Ещё лучше - использовать регистр для хранения значения и сумматор для инкремента/декремента.

Стало легче, или рисовать нужно?


__________________
В сегнетиксе не работаю с самого начала 2019 года.
Gromov вне форума   Ответить с цитированием
Старый 21.06.2017, 11:51   #3
Roll4Repairs
Member
 
Регистрация: Jun 2017
Сообщения: 56
Благодарил(а): 7 раз(а)
Поблагодарили: 0 раз(а) в 0 сообщениях
По умолчанию Ответ: Вопрос по FBD

Цитата:
Сообщение от Gromov Посмотреть сообщение
Умножайте на 10, инкрементируйте, делите на 10 - один из вариантов.

Ещё лучше - использовать регистр для хранения значения и сумматор для инкремента/декремента.

Стало легче, или рисовать нужно?
Было бы понятнее с рисунком. Меня что смущает - у блока ADD нет дискретного входа, поэтому я не очень понимаю как связать математические операции с дискретным сигналом нажатия кнопки
Roll4Repairs вне форума   Ответить с цитированием
Старый 21.06.2017, 11:54   #4
Roll4Repairs
Member
 
Регистрация: Jun 2017
Сообщения: 56
Благодарил(а): 7 раз(а)
Поблагодарили: 0 раз(а) в 0 сообщениях
По умолчанию Ответ: Вопрос по FBD

И если уж задавать дурацкие вопросы, то по полной - не подскажете как задавать переменные в SMLogix? Я работал немного в FBD на Codesys и помню что там можно было создавать блоки-произвольных переменных.
Roll4Repairs вне форума   Ответить с цитированием
Старый 21.06.2017, 11:56   #5
Gromov
Уволен из Сегнетикс
 
Регистрация: Nov 2015
Адрес: CПб/ВЛГ
Сообщения: 0
Благодарил(а): 0 раз(а)
Поблагодарили: 1 раз в 1 сообщении
По умолчанию Ответ: Вопрос по FBD




Отдельно надо будет поработать с загрузкой изначального числа, так как в примере будет от 0 начинаться.


__________________
В сегнетиксе не работаю с самого начала 2019 года.
Gromov вне форума   Ответить с цитированием
Старый 21.06.2017, 11:56   #6
Arsie
Сотрудник Segnetics
 
Аватара для Arsie
 
Регистрация: Jan 2006
Адрес: Russia, SPb
Сообщения: 18 117
Благодарил(а): 15 раз(а)
Поблагодарили: 660 раз(а) в 604 сообщениях
По умолчанию Ответ: Вопрос по FBD

Цитата:
Сообщение от Roll4Repairs Посмотреть сообщение
И если уж задавать дурацкие вопросы, то по полной - не подскажете как задавать переменные в SMLogix? Я работал немного в FBD на Codesys и помню что там можно было создавать блоки-произвольных переменных.
http://forum.segnetics.com/showthread.php?t=2215, если вопрос о сетевых переменных.

Если нужны "переменные" в теле программы, то используйте в их роли регистры (блоки REG()).


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

Добро всегда побеждает зло. Кто победил - тот и добрый.
Arsie вне форума   Ответить с цитированием
Старый 21.06.2017, 12:05   #7
Roll4Repairs
Member
 
Регистрация: Jun 2017
Сообщения: 56
Благодарил(а): 7 раз(а)
Поблагодарили: 0 раз(а) в 0 сообщениях
По умолчанию Ответ: Вопрос по FBD

Большое спасибо за оперативные ответы! Буду разбираться.

Честно говоря странно что в FBD нет какого-то блока а-ля IF и нужно делать это подобным образом через преобразования типов с мультиплексором
Roll4Repairs вне форума   Ответить с цитированием
Старый 21.06.2017, 12:14   #8
Gromov
Уволен из Сегнетикс
 
Регистрация: Nov 2015
Адрес: CПб/ВЛГ
Сообщения: 0
Благодарил(а): 0 раз(а)
Поблагодарили: 1 раз в 1 сообщении
По умолчанию Ответ: Вопрос по FBD

Не нужен никакой if в fbd. А на счёт преобразования типов и мультиплексора - обратите внимание на библиотеку макросов.


__________________
В сегнетиксе не работаю с самого начала 2019 года.
Gromov вне форума   Ответить с цитированием
Старый 21.06.2017, 13:42   #9
Roll4Repairs
Member
 
Регистрация: Jun 2017
Сообщения: 56
Благодарил(а): 7 раз(а)
Поблагодарили: 0 раз(а) в 0 сообщениях
По умолчанию Ответ: Вопрос по FBD

А подскажите, вот хочу сделать защиту через Min Max(real) от вылезания символов за экран при переполнении, ставлю максимум и минимум +9.9 и -9.9, а при загрузке на контроллер он почему-то округляет их до 10
Изображения
Тип файла: png MinMax.png (17.2 Кбайт, 71 просмотров)
Roll4Repairs вне форума   Ответить с цитированием
Старый 21.06.2017, 13:45   #10
Gromov
Уволен из Сегнетикс
 
Регистрация: Nov 2015
Адрес: CПб/ВЛГ
Сообщения: 0
Благодарил(а): 0 раз(а)
Поблагодарили: 1 раз в 1 сообщении
По умолчанию Ответ: Вопрос по FBD

От вылезания за экран - редактируйте формат вывода числа в блоке Screen(Real)


__________________
В сегнетиксе не работаю с самого начала 2019 года.
Gromov вне форума   Ответить с цитированием
Старый 21.06.2017, 14:08   #11
Arsie
Сотрудник Segnetics
 
Аватара для Arsie
 
Регистрация: Jan 2006
Адрес: Russia, SPb
Сообщения: 18 117
Благодарил(а): 15 раз(а)
Поблагодарили: 660 раз(а) в 604 сообщениях
По умолчанию Ответ: Вопрос по FBD

Цитата:
Сообщение от Roll4Repairs Посмотреть сообщение
А подскажите, вот хочу сделать защиту через Min Max(real) от вылезания символов за экран при переполнении, ставлю максимум и минимум +9.9 и -9.9, а при загрузке на контроллер он почему-то округляет их до 10
Не забывайте заглядывать в справку!


http://dl.segnetics.com/WebHelp/SMLo...reen_group.htm

http://dl.segnetics.com/WebHelp/SMLo...er_formats.htm


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

Добро всегда побеждает зло. Кто победил - тот и добрый.
Arsie вне форума   Ответить с цитированием
Старый 21.06.2017, 14:12   #12
Roll4Repairs
Member
 
Регистрация: Jun 2017
Сообщения: 56
Благодарил(а): 7 раз(а)
Поблагодарили: 0 раз(а) в 0 сообщениях
По умолчанию Ответ: Вопрос по FBD

Цитата:
Сообщение от Gromov Посмотреть сообщение
От вылезания за экран - редактируйте формат вывода числа в блоке Screen(Real)
Это я понимаю, в хелпе про форматы толково написано. Я выставил %4.1f чтобы хватило на минус, точку и два знака.

У меня почему-то при загрузке на контроллер выставлялись старые параметры в мультиплексоре и блоке мин-макс(как раз те самые злополучные 10 и -10 которые я поставил при первой загрузке, я и решил что это блок мин-макс округляет нецелочисленные значения);
Решилось перезагрузкой SMLogix, не знаю в чем причина.

Я так понимаю если задавать новичковые вопросы именно по FBD, то лучше задавать их сюда вместо того чтобы сыпать новыми темами?
http://forum-segneti.1gb.ru/showthread.php?t=202
Roll4Repairs вне форума   Ответить с цитированием
Старый 21.06.2017, 14:38   #13
Arsie
Сотрудник Segnetics
 
Аватара для Arsie
 
Регистрация: Jan 2006
Адрес: Russia, SPb
Сообщения: 18 117
Благодарил(а): 15 раз(а)
Поблагодарили: 660 раз(а) в 604 сообщениях
По умолчанию Ответ: Вопрос по FBD

Цитата:
Сообщение от Roll4Repairs Посмотреть сообщение
Это я понимаю, в хелпе про форматы толково написано. Я выставил %4.1f чтобы хватило на минус, точку и два знака.

У меня почему-то при загрузке на контроллер выставлялись старые параметры в мультиплексоре и блоке мин-макс(как раз те самые злополучные 10 и -10 которые я поставил при первой загрузке, я и решил что это блок мин-макс округляет нецелочисленные значения);
Решилось перезагрузкой SMLogix, не знаю в чем причина.

Я так понимаю если задавать новичковые вопросы именно по FBD, то лучше задавать их сюда вместо того чтобы сыпать новыми темами?
http://forum-segneti.1gb.ru/showthread.php?t=202
Лучше сюда, пока не приобретёте хотя бы базовые навыки.


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

Добро всегда побеждает зло. Кто победил - тот и добрый.
Arsie вне форума   Ответить с цитированием
Ответ


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

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



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


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