Segnetics

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

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

Ответ
 
Опции темы Поиск в этой теме Опции просмотра
Старый 28.04.2017, 09:26   #1
aabogomolov
Новичок
 
Регистрация: Apr 2017
Сообщения: 13
Благодарил(а): 0 раз(а)
Поблагодарили: 0 раз(а) в 0 сообщениях
По умолчанию Запись в Modbus-переменную по изменению

Возможно этот вопрос уже очень много раз поднимался, но все же.
Допустим у меня на экране Trim5 есть кнопка типа "слайдер", есть Modbus-переменная, в которую я хочу писать состояние этой кнопки строго по его изменению. Как это реализовать, и желательно как можно проще?
Я уже понял, что связав выход кнопки с входом Modbus-переменной мы получим постоянную запись состояния в эту переменную, если ее период опроса больше 0 (логично, не поспоришь). Вангую, что нужно использовать переменную с периодом опроса равным 0, но тогда нужно определить факт изменения состояния кнопки.
aabogomolov вне форума   Ответить с цитированием
Старый 28.04.2017, 09:34   #2
Gromov
Уволен из Сегнетикс
 
Регистрация: Nov 2015
Адрес: CПб/ВЛГ
Сообщения: 0
Благодарил(а): 0 раз(а)
Поблагодарили: 1 раз в 1 сообщении
По умолчанию Ответ: Запись в Modbus-переменную по изменению

Это очень легко. Библиотека разработчика содержит в себе макрос Fronts(int), который выдаёт признак изменения.


p.s. Если хорошо подумать - вам нужно делать запись не по изменению, а по окончанию редактирования. + проверку по готовности modbus тоже использовать.

p.p.s. Либо я затупил и у слайдера двоичное состояние. Тогда из блоков "логика" надо ставить fronts и после него or - объединить оба выхода в один.


__________________
В сегнетиксе не работаю с самого начала 2019 года.
Gromov вне форума   Ответить с цитированием
Старый 28.04.2017, 09:56   #3
aabogomolov
Новичок
 
Регистрация: Apr 2017
Сообщения: 13
Благодарил(а): 0 раз(а)
Поблагодарили: 0 раз(а) в 0 сообщениях
По умолчанию Ответ: Запись в Modbus-переменную по изменению

Спасибо, работает. Про "Must_have" не знал. Кстати, в нем есть fronts, который реализует через OR то, что вы сказали.
Кстати говоря, раз уж пошел такой маленький ликбез, как окончание редактирования отловить (в т.ч. аналоговых значений)?
aabogomolov вне форума   Ответить с цитированием
Старый 28.04.2017, 10:03   #4
Gromov
Уволен из Сегнетикс
 
Регистрация: Nov 2015
Адрес: CПб/ВЛГ
Сообщения: 0
Благодарил(а): 0 раз(а)
Поблагодарили: 1 раз в 1 сообщении
По умолчанию Ответ: Запись в Modbus-переменную по изменению

В зависимости от органа управления. Если говорить про трим и слайдер типа "ползунок" с множеством положений, к примеру 0-100, тут окончанием редактирования будет отпускание этого самого слайдера.

Для большого списка параметров на отдельном экране удобно использовать либо отдельную кнопку "сохранить" либо записывать по выходу из экрана.


__________________
В сегнетиксе не работаю с самого начала 2019 года.
Gromov вне форума   Ответить с цитированием
Старый 28.04.2017, 19:02   #5
LordN
Senior Member
 
Регистрация: Dec 2007
Адрес: Томск
Сообщения: 4 126
Благодарил(а): 239 раз(а)
Поблагодарили: 161 раз(а) в 153 сообщениях
По умолчанию Ответ: Запись в Modbus-переменную по изменению

Цитата:
Сообщение от Gromov Посмотреть сообщение
Это очень легко. Библиотека разработчика содержит в себе макрос Fronts(int), который выдаёт признак изменения.


p.s. Если хорошо подумать - вам нужно делать запись не по изменению, а по окончанию редактирования. + проверку по готовности modbus тоже использовать.

p.p.s. Либо я затупил и у слайдера двоичное состояние. Тогда из блоков "логика" надо ставить fronts и после него or - объединить оба выхода в один.
нужен еще один такой fronts для проверки различия записанного и прочитанного значения.


__________________
C уважением, LordN
LordN вне форума   Ответить с цитированием
Старый 03.05.2017, 09:15   #6
LordN
Senior Member
 
Регистрация: Dec 2007
Адрес: Томск
Сообщения: 4 126
Благодарил(а): 239 раз(а)
Поблагодарили: 161 раз(а) в 153 сообщениях
По умолчанию Ответ: Запись в Modbus-переменную по изменению

Цитата:
Сообщение от LordN Посмотреть сообщение
нужен еще один такой fronts для проверки различия записанного и прочитанного значения.
кактотак
Миниатюры
Нажмите на картинку для увеличения

Название:  2017-05-03 12-13-12 SMLogix - [single 04.04.2017 9-05 ТП осушение склада v17.psl].png
Просмотров: 131
Размер:  7.4 Кбайт   Нажмите на картинку для увеличения

Название:  2017-05-03 12-14-04 SMLogix - [Mac].png
Просмотров: 110
Размер:  15.6 Кбайт  


__________________
C уважением, LordN
LordN вне форума   Ответить с цитированием
Ответ

Опции темы Поиск в этой теме
Поиск в этой теме:

Расширенный поиск
Опции просмотра

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

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


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Не работает запись в переменную из сишной программы. Чтение работает. (нет проблемы) maks Вопросы о программировании 3 07.01.2020 08:33
Honeywell MVC80-DH10M LordN Связь с внешним миром 30 28.11.2016 14:21
Конвертер карты памяти в файл конфигурации Modbus Universal MasterOPC Server 32 Arsie Библиотека макросов 0 25.04.2016 13:38
Чтение и запись ModBus-переменных через RS485 (Modbus RTU) adal Вопросы о SMH2010 3 24.04.2016 20:35
Запись числа в EEPROM по изменению vladun Вопросы о программировании 3 03.02.2016 10:13


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


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