PDA

Просмотр полной версии : Не получается вывести значение переменной на СМИ2, помогите пожалуйста



alek4322
06.07.2016, 09:57
Доброе время суток, помогите пожалуйста вывести значение переменной. Приобрёл ПР200 и СМИ2, соединил, написал программу обратного отсчёта времени, в две целочисленные переменные записываю обратный отсчёт времени, МИН и СЕК соответственно. Настроил СМИ2 вот так 25276, 25277, 25278, 25279 и ПР200 вот так 25280, 25281 и сетевую переменную вот так 25282. Подскажите пожалуйста что я сделал не так. Заранее спасибо за любую подсказку.

Сергей0308
06.07.2016, 10:10
Назначили прибору(СМИ2) адрес "16", а опрашиваете прибор с адресом "15"! Могут возникнуть проблемы при переводе WORD(UINT) в INT!

alek4322
06.07.2016, 21:05
Перенастроил вот так 25308, и ничего не выштло. Помогите, подскажите пожалуйста как сделать так что бы на СМИ 2 высвечивалось значение сетевой переменной, тип инт

Сергей0308
06.07.2016, 22:39
Перенастроил вот так 25308, и ничего не выштло. Помогите, подскажите пожалуйста как сделать так что бы на СМИ 2 высвечивалось значение сетевой переменной, тип инт

Приблизительно как-то так: 25313
И почему 27 регистр, по-вашему должен быть 25, по-моему лучше 26!

alek4322
07.07.2016, 08:11
Спасибо за ответ, Перенастроил вот так25317, и ничего не вышло

Сергей0308
07.07.2016, 09:31
Можно СМИ2 мастером сделать, попроще будет, у меня так(по другому нельзя с ПР114), у Вас с ПР200 много вариантов!

alek4322
07.07.2016, 11:37
Всем спасибо за ответы, всё получилось, не правильно настраивал адреса. Теперь другой вопрос, если у меня в программе две переменные целочисленные, могу ли я вывести их на СМИ2 так чтобы две цифры СМИ2 отображали счёт минут. а другие две цифры отображали счёт секунд, или мне обязательно превращать как то эти две переменные в одну и какого типа должна быть эта переменная, целочисленная или вещественная. Заранее спасибо за любые ответы.

Сергей0308
07.07.2016, 12:30
Существует динамическая индикация, когда в любой момент времени высвечивается только 1 цифра, за счет быстроты смены, нам видится одновременно все 4 цифры, глаз запоминает на какое-то время, но боюсь здесь так не выйдет! Не хотите свести в одну переменную, через х100, ну куда проще, чем через переменную типа портрет(в тысячи раз сложнее)!!!

alek4322
07.07.2016, 12:46
Спасибо за ответ, сейчас буду воять потом напишу что получилось

alek4322
08.07.2016, 14:10
Ещё раз здравствуйте, кое как впихнул две целочисленные переменные секунд и минут в одну целочисленную времени, просто умножением на x100 не получается потому что обратный отсчёт секунд начинается с 60, вопрос такой, а через переменную типа портрет как выводить, в программе есть только три типа переменных, булевы, целочисленные и вещественные.

Сергей0308
08.07.2016, 14:32
Ещё раз здравствуйте, кое как впихнул две целочисленные переменные секунд и минут в одну целочисленную времени, просто умножением на x100 не получается потому что обратный отсчёт секунд начинается с 60, вопрос такой, а через переменную типа портрет как выводить, в программе есть только три типа переменных, булевы, целочисленные и вещественные.

Смотрите РЭ на СМИ2, там описание! А умножение на 100, чтобы секунды и минуты разнести по разным разрядам СМИ2, например секунды в двух правых разрядах, тогда минуты умножаем на 100 и они будут в двух левых разрядах СМИ2, а сумма - получится общая переменная передаваемая на СМИ2!
Примерно так:

25336

25337
Да забыл сказать, если вы там захотите между минутами и секундами клин вбить, ну тоесть точкой разделить, то так не получится, а вот с переменными типа "портрет" можно как угодно, но самим придётся всё заново создавать, это я про цифры, там переменная 4 байтная, каждый байт управляет своим разрядом, по-сегментно, возможности максимальные и "муки"!!! Ну если уж сделаете, не забывайте делитесь, я бы и сам это сделал, но считаю, что гораздо проще х100 и сложить, это как идти куда-то находящиеся в 100 метрах от тебя в противоположную сторону, через всю Землю, Земля же круглая!!!

alek4322
09.07.2016, 02:08
Спасибо за ответ и пример про умножение на сто, но у меня так не получится, дело в том что пишу программу для мойки самообслуживания, и у меня алгоритм такой, когда включается система счётчик установлен в ноль, когда падает жетон в жетоноприёмник, счётчик должен установится в уставку по минутам например в 3мин, что означает, что на СМИ2 должна высветится цифра 300, а отобразится 3.00, разделяющую точку установил в настройках конфигуратора на СМИ2, но обратный отсчёт начаться не должен, пока пользователь не нажмёт кнопку ПУСК/ПАУЗА, при нажатии кнопки ПУСК/ПАУЗА счётчик обратного счёта запускается, счёт должен начаться с цифры 260 и на СМИ2 отобразится 2.60 далее при при повторном нажатии той же кнопки ПУСК/ПАУЗА счёт должен остановится, то есть встать на пузу, при следующем нажатии кнопки ПУСК/ПАУЗА обратный счёт должен возобновиться и так далее пока не закончится счёт. После этого всё устанавливается в начальное положение. Ещё раз благодарю за ответы но я уже решил эту проблему. Теперь возникли другие проблемы, необходимо менять уставку времени в минутах с экрана ПР200, пока не разобрался, вывести переменные МИН и СЕК на экран получилось. Заранее благодарю за любые подсказки.

Сергей0308
09.07.2016, 18:09
Спасибо за ответ и пример про умножение на сто, но у меня так не получится, дело в том что пишу программу для мойки самообслуживания, и у меня алгоритм такой, когда включается система счётчик установлен в ноль, когда падает жетон в жетоноприёмник, счётчик должен установится в уставку по минутам например в 3мин, что означает, что на СМИ2 должна высветится цифра 300, а отобразится 3.00, разделяющую точку установил в настройках конфигуратора на СМИ2, но обратный отсчёт начаться не должен, пока пользователь не нажмёт кнопку ПУСК/ПАУЗА, при нажатии кнопки ПУСК/ПАУЗА счётчик обратного счёта запускается, счёт должен начаться с цифры 260 и на СМИ2 отобразится 2.60 далее при при повторном нажатии той же кнопки ПУСК/ПАУЗА счёт должен остановится, то есть встать на пузу, при следующем нажатии кнопки ПУСК/ПАУЗА обратный счёт должен возобновиться и так далее пока не закончится счёт. После этого всё устанавливается в начальное положение. Ещё раз благодарю за ответы но я уже решил эту проблему. Теперь возникли другие проблемы, необходимо менять уставку времени в минутах с экрана ПР200, пока не разобрался, вывести переменные МИН и СЕК на экран получилось. Заранее благодарю за любые подсказки.

Насчёт точки каюсь , был не прав, тогда вообще получается в данном конкретном случае полнейшее отсутствие преимущества переменной типа портрет над описанным мною способам, но и с вами позвольте не согласиться, приборам до лампочки какие значения показывать, лишь бы они не выходили за пределы двух разрядов, тоесть значения 0-99(для секунд и минут) он свободно покажет! Почему вы считаете что он "60" не покажет не знаю и отсутствуют всякие версии, а по мне 60 секунд - это 1 минута и должна единичка добавиться в разряды минут, а в секундах быть "0" Вот посмотрите я раньше выкладывал таймер с обратным отсчётом времени, он с минимальной переделкой должен вам подойти : https://owen.ru/forum/showthread.php?t=9398&page=210

25341

Юрий Котов
26.04.2021, 15:09
Насчёт точки каюсь , был не прав, тогда вообще получается в данном конкретном случае полнейшее отсутствие преимущества переменной типа портрет над описанным мною способам, но и с вами позвольте не согласиться, приборам до лампочки какие значения показывать, лишь бы они не выходили за пределы двух разрядов, тоесть значения 0-99(для секунд и минут) он свободно покажет! Почему вы считаете что он "60" не покажет не знаю и отсутствуют всякие версии, а по мне 60 секунд - это 1 минута и должна единичка добавиться в разряды минут, а в секундах быть "0" Вот посмотрите я раньше выкладывал таймер с обратным отсчётом времени, он с минимальной переделкой должен вам подойти : http://www.owen.ru/forum/showthread.php?t=9398&page=216

25341[/QUOTE]
По указанной Вами ссылке нет информации по Вашему таймеру с обратным отсчётом, если не трудно сбросьте правильную ссылку, заранее благодарен Юрий Котов

Евений
02.08.2021, 18:14
Приветствую всех! Вот нашёл подходящую тему выложить свой вариант ПР100 и СМИ2, хотя отладку производил на ПР200.
2-х канальный таймер с обратным отсчётом и выводом на СМИ2, делал под свою задачу.
Выношу на обсуждение, может кто предложит упростить в части вывод отображения на СМИ2
Принцип работы: Основной режим кнопка "№/больше" выбор канала на отображение СМИ2 1-й или 2-й.(Чтобы не запутаться 2-й канал обозначается точкой в последнем разряде.) Кнопка "прог./меньше" удержание 2 сек. вход в режим изменение уставки текущего канала (Вход в режим изменение уставки обозначается миганием СМИ2.) В режиме изменение уставки кнопки "№/больше" и "прог./меньше", увеличивают или уменьшают уставку на СМИ2. Краткое нажатие кнопок увеличивает или уменьшает на одну единицу уставку. Удержание увеличивает или уменьшает уставку с нарастанием скорости. Выход из режима изменения уставки происходит автоматически, по истечении 5 сек. бездействия на кнопки.
Настройки СМИ2 Коснусь только основных, остальные можно посмотреть в проекте: скорость, адрес и т.д.
Сетевой тайм-аут - 1 сек
Протокол - RTU
Задержка ответа прибора - 5 мс
Тип переменной - портрет
Положение десятичной точки - 0
Период мигания индикатора - 500 мс
Сам проект: отредактирован в части отображения на СМИ2. Теперь одна сетевая переменная 4 байта

Сергей0308
02.08.2021, 22:50
Насчёт точки каюсь , был не прав, тогда вообще получается в данном конкретном случае полнейшее отсутствие преимущества переменной типа портрет над описанным мною способам, но и с вами позвольте не согласиться, приборам до лампочки какие значения показывать, лишь бы они не выходили за пределы двух разрядов, тоесть значения 0-99(для секунд и минут) он свободно покажет! Почему вы считаете что он "60" не покажет не знаю и отсутствуют всякие версии, а по мне 60 секунд - это 1 минута и должна единичка добавиться в разряды минут, а в секундах быть "0" Вот посмотрите я раньше выкладывал таймер с обратным отсчётом времени, он с минимальной переделкой должен вам подойти : http://www.owen.ru/forum/showthread.php?t=9398&page=216

25341
По указанной Вами ссылке нет информации по Вашему таймеру с обратным отсчётом, если не трудно сбросьте правильную ссылку, заранее благодарен Юрий Котов[/QUOTE]

Здесь найдёте подобный таймер: https://owen.ru/forum/showthread.php?t=33720&page=17