Segnetics

Вернуться   Segnetics > Форум Segnetics > Вопросы о программировании

Вопросы о программировании Вопросы, касающиеся программирования на FBD

Ответ
 
Опции темы Поиск в этой теме
Старый 11.03.2021, 20:17   #1
UserS
Новичок
 
Регистрация: Oct 2020
Сообщения: 10
Благодарил(а): 1 раз(а)
Поблагодарили: 0 раз(а) в 0 сообщениях
По умолчанию Промежуточные переменные

Добрый день! В SMLogix есть возможность использования временных переменных для хранения результата промежуточных расчетов?
UserS вне форума   Ответить с цитированием
Старый 11.03.2021, 20:22   #2
младшой
Senior Member
 
Регистрация: May 2010
Адрес: Москва
Сообщения: 862
Благодарил(а): 4 раз(а)
Поблагодарили: 86 раз(а) в 67 сообщениях
По умолчанию Ответ: Промежуточные переменные

Конечно


Изображения
Тип файла: png Безымянный.png (6.5 Кбайт, 204 просмотров)
младшой вне форума   Ответить с цитированием
Старый 12.03.2021, 07:21   #3
UserS
Новичок
 
Регистрация: Oct 2020
Сообщения: 10
Благодарил(а): 1 раз(а)
Поблагодарили: 0 раз(а) в 0 сообщениях
По умолчанию Ответ: Промежуточные переменные

Цитата:
Сообщение от младшой Посмотреть сообщение
Конечно


Я спрашивал про возможность использования переменных.
Например если на входе функции не константы. Мне нужно сохранить результат 10 таких сложений через определенный интервал времени, а потом сравнить эти результаты или посчитать среднее.
UserS вне форума   Ответить с цитированием
Старый 12.03.2021, 07:38   #4
Pushin
Senior Member
 
Аватара для Pushin
 
Регистрация: Nov 2017
Адрес: Новосибирск
Сообщения: 196
Благодарил(а): 15 раз(а)
Поблагодарили: 9 раз(а) в 9 сообщениях
По умолчанию Ответ: Промежуточные переменные

Почитайте про блок Spdelay

И в справке поищите "Усредняющий фильтр", мне кажется вам подойдёт.


__________________
Пуш зе темпо
Pushin вне форума   Ответить с цитированием
Старый 12.03.2021, 10:24   #5
младшой
Senior Member
 
Регистрация: May 2010
Адрес: Москва
Сообщения: 862
Благодарил(а): 4 раз(а)
Поблагодарили: 86 раз(а) в 67 сообщениях
По умолчанию Ответ: Промежуточные переменные

Цитата:
Сообщение от UserS Посмотреть сообщение
Я спрашивал про возможность использования переменных.
Например если на входе функции не константы. Мне нужно сохранить результат 10 таких сложений через определенный интервал времени, а потом сравнить эти результаты или посчитать среднее.
Я вам ответил. На "промежуточном" выходе - переменная. На входы можете подавать переменные из других источников.
Задачу то надо формулировать точнее. Телепатов тут нет.

Вот Pushin предлагает использовать Spdelay. Но это сработает, если значения идут непрерывно, и отсутствует необходимость сохранять "промежуточные" значения в EEPROM, например. Для аналогового фильтра ОК, а для вашей задачи может быть не очень.
младшой вне форума   Ответить с цитированием
Старый 12.03.2021, 10:42   #6
Ilya J.
Сотрудник Сегнетикс
 
Аватара для Ilya J.
 
Регистрация: Mar 2016
Адрес: SPb
Сообщения: 4 331
Благодарил(а): 0 раз(а)
Поблагодарили: 255 раз(а) в 251 сообщениях
По умолчанию Ответ: Промежуточные переменные

Цитата:
Сообщение от UserS Посмотреть сообщение
Добрый день! В SMLogix есть возможность использования временных переменных для хранения результата промежуточных расчетов?
Можете полностью вашу задачу описать?


__________________
Если ничто другое не помогает, прочтите, наконец, инструкцию
Ilya J. вне форума   Ответить с цитированием
Старый 12.03.2021, 11:24   #7
UserS
Новичок
 
Регистрация: Oct 2020
Сообщения: 10
Благодарил(а): 1 раз(а)
Поблагодарили: 0 раз(а) в 0 сообщениях
По умолчанию Ответ: Промежуточные переменные

Цитата:
Сообщение от младшой Посмотреть сообщение
Задачу то надо формулировать точнее.
Я не знаю как объяснить точнее) я же написал есть ли возможность использовать переменные.
Как например на языках высокого уровня объявил переменную определенного типа и храни в ней значение хоть в течение всего цикла работы программы. Или как на ассемблере записать значения в регистры и там хранить.
То есть в определенный момент времени сохранить значения расчетов в переменную и в любой момент времени использовать именно это сохраненное значение. Но не через пзу)
UserS вне форума   Ответить с цитированием
Старый 12.03.2021, 11:52   #8
Ilya J.
Сотрудник Сегнетикс
 
Аватара для Ilya J.
 
Регистрация: Mar 2016
Адрес: SPb
Сообщения: 4 331
Благодарил(а): 0 раз(а)
Поблагодарили: 255 раз(а) в 251 сообщениях
По умолчанию Ответ: Промежуточные переменные

Для чего вам это нужно? Опишите полностью задачу, для понимания этой части.


__________________
Если ничто другое не помогает, прочтите, наконец, инструкцию
Ilya J. вне форума   Ответить с цитированием
Старый 12.03.2021, 12:39   #9
младшой
Senior Member
 
Регистрация: May 2010
Адрес: Москва
Сообщения: 862
Благодарил(а): 4 раз(а)
Поблагодарили: 86 раз(а) в 67 сообщениях
По умолчанию Ответ: Промежуточные переменные

Цитата:
Сообщение от UserS Посмотреть сообщение
Или как на ассемблере записать значения в регистры и там хранить.
используйте блоки REG
младшой вне форума   Ответить с цитированием
Старый 12.03.2021, 13:08   #10
UserS
Новичок
 
Регистрация: Oct 2020
Сообщения: 10
Благодарил(а): 1 раз(а)
Поблагодарили: 0 раз(а) в 0 сообщениях
По умолчанию Ответ: Промежуточные переменные

Цитата:
Сообщение от Ilya J. Посмотреть сообщение
Для чего вам это нужно? Опишите полностью задачу, для понимания этой части.
на установке на механизме перемещения установлен абсолютный однооборотный энкодер. по факту при перемещении от начальной до конечной точки энкодер делает несколько оборотов. я хочу в программе выполнить подсчет оборотов энкодера, т.е. мне нужно определять переход с 360 градусов в 0 градусов и обратно с 0 на 360 при реверсе. понятно, что нужно выбирать многооборотный для таких целей, но сейчас есть только однооборотный. Вот и вся задача)
UserS вне форума   Ответить с цитированием
Старый 12.03.2021, 13:38   #11
Arsie
Сотрудник Segnetics
 
Аватара для Arsie
 
Регистрация: Jan 2006
Адрес: Russia, SPb
Сообщения: 18 086
Благодарил(а): 15 раз(а)
Поблагодарили: 660 раз(а) в 604 сообщениях
По умолчанию Ответ: Промежуточные переменные

Цитата:
Сообщение от UserS Посмотреть сообщение
на установке на механизме перемещения установлен абсолютный однооборотный энкодер. по факту при перемещении от начальной до конечной точки энкодер делает несколько оборотов. я хочу в программе выполнить подсчет оборотов энкодера, т.е. мне нужно определять переход с 360 градусов в 0 градусов и обратно с 0 на 360 при реверсе. понятно, что нужно выбирать многооборотный для таких целей, но сейчас есть только однооборотный. Вот и вся задача)
Делите содержимое счётчика количества импульсов на 360. Если деление дало целый результат, значит энкодер на нулевом градусе.


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

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


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

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



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


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