|
Вопросы о программировании Вопросы, касающиеся программирования на FBD |
|
Опции темы | Поиск в этой теме |
06.08.2020, 04:28 | #1 |
Member
Регистрация: May 2019
Сообщения: 50
Благодарил(а): 2 раз(а)
Поблагодарили:
1 раз в 1 сообщении
|
Как правильно работать с "двунаправленными" элементами SMArt
В смарте можно создать переменные, которые могут и читаться из программы и записываться.
При этом в лоджике они видятся, как 2 разных объекта: отдельно для чтения, и отдельно для записи. Возникла у меня потребность использования такой переменной: надо получить некий параметр, который будет доступен для редактирования персоналом, и при необходимости, может быть изменен из программы. Как правильно сделать обвязку данного объекта? Ведь вхоящая переменная каждый цикл передает свое значение по связи, а исходящая - каждый цикл получает свое значение из связи. Как сделать, чтобы связь работала не каждый цикл, а по команде? Кто работал с "двухголовыми" переменными, покажите пример реализации, плиз! |
06.08.2020, 11:09 | #2 |
Сотрудник Segnetics
Регистрация: Jan 2006
Адрес: Russia, SPb
Сообщения: 18 131
Благодарил(а): 15 раз(а)
Поблагодарили:
663 раз(а) в 606 сообщениях
|
Ответ: Как правильно работать с "двунаправленными" переменными
Можете описать задачу в терминах лоджика? А лучше попробуйте что-нибудь сделать и приложите к вопросу, станет хоть понятно, что за переменная у вас связывается по связи, работающей каждый цикл.
__________________ Программа делает то что написал программист, а не то что он хотел. Добро всегда побеждает зло. Кто победил - тот и добрый. Последний раз редактировалось Arsie, 06.08.2020 в 11:35 |
06.08.2020, 11:22 | #3 |
Сотрудник Сегнетикс
Регистрация: Mar 2016
Адрес: SPb
Сообщения: 4 341
Благодарил(а): 0 раз(а)
Поблагодарили:
255 раз(а) в 251 сообщениях
|
Ответ: Как правильно работать с "двунаправленными" переменными
И о каком конкретно элементе смарта идет речь?
__________________ Если ничто другое не помогает, прочтите, наконец, инструкцию |
06.08.2020, 11:24 | #4 | |
Сотрудник Segnetics
Регистрация: Jan 2006
Адрес: Russia, SPb
Сообщения: 18 131
Благодарил(а): 15 раз(а)
Поблагодарили:
663 раз(а) в 606 сообщениях
|
Ответ: Как правильно работать с "двунаправленными" переменными
Цитата:
Безымянный.png Видите, там есть название. "Ввод числа". Использование названий элементов делает ваши вопросы более конкретными. __________________ Программа делает то что написал программист, а не то что он хотел. Добро всегда побеждает зло. Кто победил - тот и добрый. |
|
07.08.2020, 00:57 | #5 |
Senior Member
Регистрация: Jun 2015
Сообщения: 566
Благодарил(а): 25 раз(а)
Поблагодарили:
9 раз(а) в 9 сообщениях
|
Ответ: Как правильно работать с "двунаправленными" элементами SMArt
как то так делаю, предварительно проверяя на тестовом контролере
|
07.08.2020, 04:40 | #6 |
Member
Регистрация: May 2019
Сообщения: 50
Благодарил(а): 2 раз(а)
Поблагодарили:
1 раз в 1 сообщении
|
Ответ: Как правильно работать с "двунаправленными" элементами SMArt
Вот быстро нарисовал тестовый проект, в котором обозначил непонятное.
И у меня переменная из смарта выглядит, как 2 различные - одна для чтения и одна для записи. Но это одна и та же переменная. |
07.08.2020, 11:38 | #7 | |
Сотрудник Сегнетикс
Регистрация: Mar 2016
Адрес: SPb
Сообщения: 4 341
Благодарил(а): 0 раз(а)
Поблагодарили:
255 раз(а) в 251 сообщениях
|
Ответ: Как правильно работать с "двунаправленными" элементами SMArt
Цитата:
__________________ Если ничто другое не помогает, прочтите, наконец, инструкцию |
|
07.08.2020, 11:51 | #8 | |
Сотрудник Segnetics
Регистрация: Jan 2006
Адрес: Russia, SPb
Сообщения: 18 131
Благодарил(а): 15 раз(а)
Поблагодарили:
663 раз(а) в 606 сообщениях
|
Ответ: Как правильно работать с "двунаправленными" элементами SMArt
Цитата:
Безымянный1.png Это делается так. Но у вас сам подход к алгоритму "не очень" - вы почём зря изнашиваете память контроллера. Надо делать хотя бы так: Безымянный2.png А лучше подумать над возможностью вообще исключения записи дефолта в память, т.е. продумать изменение уставки времени, чтобы заданное оператором вообще в постоянную память не попадало. __________________ Программа делает то что написал программист, а не то что он хотел. Добро всегда побеждает зло. Кто победил - тот и добрый. |
|