PDA

Просмотр полной версии : разные вопросы новичка



Страницы : 1 2 3 4 5 6 7 8 9 10 [11] 12 13 14 15

sergkhar
30.08.2022, 18:00
Выходная переменная - SpeedVentD должна иметь свойство "Запись в конце цикла"

Судя по желтой связи на выходе макроса, у Вас это свойство не включено

Каюсь. Не доглядел. Спасибо.
Дисплей только мигает изредка.
Теперь вот думаю, что придется попозже делать управление из Owen Cloud.

игорь68
05.09.2022, 19:22
Petera подскажите а где что поставить что бы появилась как в Ваше примере Расширенные настройки для переменной tSetd из вашего примера. Это будет работать с INT

petera
05.09.2022, 19:52
Petera подскажите а где что поставить что бы появилась как в Ваше примере Расширенные настройки для переменной tSetd из вашего примера. Это будет работать с INT

Если переменная, например, tSetd присутствует на экране ПР, то появляется такая настройка.
Для INT будет работать аналогично, макросы преобразования dec_float_dec в этом случае не нужны

игорь68
06.09.2022, 06:19
petera спасибо. Подсказка из ерии век жив век учиь. Овен неплохо бы это описать в Helpe.

Сергей0308
06.09.2022, 12:13
petera спасибо. Подсказка из ерии век жив век учиь. Овен неплохо бы это описать в Helpe.

Так Овен и так прекрасно знает, что существуют знаковые целочисленные типы данных! И зачем их описывать, если ОЛ и ПР их не поддерживает?

J1250
09.09.2022, 05:16
Здравствуйте!
Пытаюсь настроить передачу данных по Modbus, ПР200 в режиме Master.
У сетевой переменной выбираю "запись по изменению". ПР200 подключено к ПК, в терминале вижу, что пакет с командой на запись приходит не по изменению переменной, а циклически, с частотой интервала между запросами.
Как правильно настроить прибор, чтобы пакет отправлялся только по изменению переменной?

EFrol
09.09.2022, 07:26
Хорошо бы на сам проект взглянуть.
Переменная случайно не типа "с плавающей запятой"?

AlexBut
09.09.2022, 08:42
Не могу подключиться к ПР200.После установки драйвера PR-XXX_UsbCDCDrv_3.4.exe и подключения прибора штатным USB-кабелем,
появляется в диспетчере устройств 12-й com-порт но с воскл. знаком жёлтым и таким сообщением:
"Не удается проверить цифровую подпись драйверов, необходимых для данного устройства. При последнем изменении оборудования или
программного обеспечения могла быть произведена установка неправильно подписанного или поврежденного файла либо вредоносной программы неизвестного происхождения. (Код 52)"
(У мен 64-разр W10Pro)

AlexBut
09.09.2022, 08:44
И на другом комп-ре с таким же W10Pro то же, что не так, подскажите

J1250
09.09.2022, 08:47
Хорошо бы на сам проект взглянуть.
Переменная случайно не типа "с плавающей запятой"?

Нет, целочисленная. Проект во вложении.

AlexBut
09.09.2022, 09:04
Извините, разобрался- надо было отключить проверку цифровой подписи в W10

EFrol
09.09.2022, 10:45
Нет, целочисленная. Проект во вложении.

Есть подозрение, что Вы наблюдаете запрос на чтение.
Попробуйте отключить функцию чтения:
62537

J1250
09.09.2022, 11:48
Есть подозрение, что Вы наблюдаете запрос на чтение.
Попробуйте отключить функцию чтения:
62537

Нет, в пакете функция 0x06, вид пакета, например, 0x01060001400929CC
Во вложенном проекте, если что, ошибка, должно быть 16393, а не 13393.

EFrol
09.09.2022, 11:56
А пакета с 0x03 нет вообще?

Вот Вы говорите, что подключили терминал, т.е. нашему Мастеру никто не отвечает.
Теперь давайте ответим на два вопроса:
1. Должен ли Мастер считать, что запись произведена успешно, если ведомый не ответил? И не повторять больше своих попыток?
2. После чтения значения из ведомого, которое не совпадает с текущим - считается ли это "изменением" переменной?

Denis_K
10.09.2022, 13:13
Здравствуйте. Подскажите как сделать такую запись в ОЛ - if(N>100){N=100};? Именно в переменную N нужно перезаписать, а не в другую...

melky
10.09.2022, 13:22
в ту же самую у вас не получится, иначе она всегда станет 100

Сергей0308
10.09.2022, 13:27
Есть же макросы одностороннего ограничения, не понятно, в чём проблема?!

Denis_K
10.09.2022, 13:53
melky, так мне и нужно, что бы при уставке значения после 100 оно оставалось 100.
Сергей0308, не видел макросов таких... пропустил наверное. Сделать такой макрос не проблема... проблема в том, что ОЛ ругается на две одинаковые входные переменные... Получилось только с записью двух переменных в одну по последней измененной. А с этой же переменной ОЛ не хочет работать. Вот думал может какой простой вариант реализации этой строки на СИ имеется.

melky
10.09.2022, 14:00
Denis_K само определение ЕСЛИ подразумевает то, что до этого самого ЕСЛИ переменная должна изменяться. По этому у вас должно быть сравнение входной переменной всегда И ЕСЛИ она превышает 100 то должна стать 100 для дальнейшей работы в программе или иметь входное значение N если оно меньше 100.

SEL + сравнение эту задачу решает без всяких макросов.

А вот если вы сделаете комбинацию перезаписи, то однажды переменная станет 100 и никуда не вернется, так и останется 100.

Denis_K
10.09.2022, 14:07
SEL + сравнение эту задачу решает без всяких макросов - да это конечно понятно, но если переменная уже назначена, то ОЛ ругается на вторую одинаковую, поэтому пришлось переназначать и ограничивать входную переменную, а потом делать такой блок записи. Такой огород получается, хотя в СИ это одна строчка...

melky
10.09.2022, 14:19
Denis_K тут вам не Си :) а FBD входная переменная, если подвержена изменениям становится другой переменной.

Если проще, на входе N на выходе N100, которая либо копия N, либо 100

Вы хотите как в языках использовать rezult = rezult + 100; (примитив) но по сути в том же языке rezult уже не является первоначальным видом, потому что ему добавили 100, и где-то в начале на очередном витке вы можете сделать опять rezult = 0 и так далее.

Denis_K
10.09.2022, 14:42
melky, да верно, я привык, что в си могу каждый шаг переназначать значение переменной. А FBD входная переменная, если подвержена изменениям становится другой переменной - теперь понял, спасибо.

Сергей0308
10.09.2022, 14:49
Развели демагогию, там всё элементарно можно разрешить:

62554

62555

melky
10.09.2022, 15:26
Сергей0308 ну да, вы А закольцевали, а теперь запишите в А еще разок с аналогового входа и получите то, что говорит Denis_K. ОЛ - "ой, нельзя писать в одну и ту же переменную"

Подобные примитивы как раз и вносят сумятицу в понимание... на выходе должна быть B, чтобы это работало правильно везде и всегда...

capzap
10.09.2022, 15:40
я привык, что в си могу

а в Си Вы не привыкли для подобного рода задач использовать функцию нахождения минимума, решение бы заиграло новыми красками и не пришлось бы спрашивать у сообщества

Denis_K
10.09.2022, 17:04
capzap, Вы читали посты выше? Думаю нет. Все давно решено... melky все верно изложил.

capzap
10.09.2022, 18:45
capzap, Вы читали посты выше? Думаю нет. Все давно решено... melky все верно изложил.

цитату пожалуйста, где мелкий все верно изложил. Он даже код ни какой не прикладывал, только ересь какую то в сторону Сергея ляпнул.
А вот по поводу выложенного по вопросу кода в картинке
62554
сравните с сишным, один в один же с учетом реализации
#define MIN(a,b) (((a)<(b))?(a) : (b))

melky
10.09.2022, 18:53
capzap ересь в том, что ОЛ не позволяет делать запись переменной более одного раза. Замените выходную переменную на B, а сигнал подавайте на A и все будет работать.

Два раза записать на холсте ОЛ в A не позволяет сам ОЛ и это не только в Овен ОЛ но у на других программируемых реле разных производителей в FBD. Это вам не CodeSys

з.ы. речь же не шла об экранных или сетевых переменных

А вот что реально бесит в Овен так это вот это.... сейчас на ПК версия 1.23.300.0 Когда уже Овен наймет нормального программиста, чтобы смена версии ОЛ требовалась только при добавлении новой платформы, а не на каждый чих...

capzap
10.09.2022, 19:14
з.ы. речь же не шла об экранных или сетевых переменных

если мы работаем в ОЛ, то переменные это вторично, на линиях такие проблемы есть, как ни как графический язык? Суть вопроса как ограничить до ста некое значение, как там записываются перезаписываются должно стоять отдельным вопросом, хотя ответов на форуме полно


А вот что реально бесит в Овен так это вот это.... сейчас на ПК версия 1.23.300.0 Когда уже Овен наймет нормального программиста, чтобы смена версии ОЛ требовалась только при добавлении новой платформы, а не на каждый чих... у каждой вышедшей версии есть описание что изменилось, почитайте на досуге, как бы глупо ждать выхода нового релиза, когда ошибки устранены и люди испытывают проблемы, ну кроме Вас возможно

melky
10.09.2022, 19:49
capzap в очередной версии я вижу вот эти изменения.

Релиз 1.23.301
Обновления
Обновлена версия встроенного ПО для модулей ПРМ-X.3 до 1.10:
Исправлена проблема при работе с термопарами.

Я с трудом себе представляю, что Сергей0308, рисуя пример и выкладывая файл подключил к проекту этот самый ПРМ-X.3 на котором исправлена ошибка работы с термопарами. И это приводит к данной ошибке при открытии файла в версии на одну [тут матерное слово] единичку меньше...
Откровенно не представляю что творится в умах работников умственного труда компании Овен :)

ASo
10.09.2022, 20:11
Вообще говоря, в КДС3 тоже самое. И?

capzap
10.09.2022, 20:13
capzap в очередной версии я вижу вот эти изменения.

и что, открывая ОЛ Вам предлагается поставить 301 версию?
Вам бы продержаться, промолчать, чтоб хоть для новичков остаться каким не каким авторитетом

melky
10.09.2022, 20:26
capzap да, открывая проект Сергея ОЛ своей ошибкой (скрин привел) таки говорит, поставь очередную поделку ОЛ, так как мы исправили что-то относящееся к ПРМ и в версии 1.23.300.0 я это открывать не буду.... НЕ слово в слово конечно :)

capzap
10.09.2022, 21:11
НЕ слово в слово конечно

да ладно, слишком большой разброс получается. Одно дело своей старой версией ОЛ открыть проект созданный в новой версии и просто открыть приложение которое просит обновиться. Ну как оказалось, предлагает загрузить всё же 300 версию, а не 301 о которой есть запись в истории версий, т.е разработчики предлагают загружать не каждый чих, а все же критически важные изменения, значит в очередной раз Вы высказали свою не приязнь к ОВЕН, только что Вы тогда тут делаете

melky
10.09.2022, 21:54
capzap читайте внимательнее. у меня 300-я, ошибка говорит, что нужна 301 - изменения = исправления относительно ПРМ. Если в проекте Сергея НЕТ добавленного ПРМ, то почему я должен устанавливать ПО, которое должно ( в связи с отсутствием в проекте ПРМ-X.3, а полагаю для показухи Сергей не добавлял в проект ПРМ) и так было открыть проект ?

У программеров полное отсутствие мозгов, и на месте руководства выгнал бы их к чертям.... это мое ИМХО, нравится оно кому-то или нет...

capzap
10.09.2022, 22:22
У программеров полное отсутствие мозгов

ну так это и про Вас можно сказать, Вы в порыве высказать свое фи, даже на международные стандарты (https://ru.wikipedia.org/wiki/UUID#%D0%A4%D0%BE%D1%80%D0%BC%D0%B0%D1%82) наезжаете, от большого ума что ли

melky
11.09.2022, 08:34
Да неужели :) а кто-то заставляет придерживаться стандартов для сокращения файла проекта в размерах? или zip это единственный доступный способ ? :)

з.ы. не поверю, что ОЛ полностью подконтрольное детище Российским программистам. Попробуйте доказать обратное... Потому что наш народ, написавший Тетрис, не может писать такой ужас....

Хотя если МастерСкаду припомнить, то наверное может :)

ASo
11.09.2022, 08:52
Я еще раз повторяю - к сожалению, это давно общемировая практика. Никто не хочет лишней работы ради... нищебродов.
Сравните подход КДС2 и КДС3, как пример.

AlexBut
13.09.2022, 11:56
Здравствуйте!
Как сбросить с задержкой переменную bool(включение насоса),которую устанавливают с экрана?
Задержку вставляю разными способами- либо эта переменная скачет всё время, либо вообще не работает.
Наверняка есть решение давным давно.
Спасибо.

melky
13.09.2022, 12:25
AlexBut если вы установили bool и всегда нужен сброс с задержкой, то просто подайте этот bool на таймер TP

1exan
13.09.2022, 12:30
Здравствуйте!
Как сбросить с задержкой переменную bool(включение насоса),которую устанавливают с экрана?
Задержку вставляю разными способами- либо эта переменная скачет всё время, либо вообще не работает.
Наверняка есть решение давным давно.
Спасибо.

Попробуйте установить в свойствах записываемой переменной в "Расширенных настройках" -> "Запись в конце цикла" -> "Да"

AlexBut
13.09.2022, 13:04
AlexBut если вы установили bool и всегда нужен сброс с задержкой, то просто подайте этот bool на таймер TP

Да это всё хорошо, но мне надо чтобы на дисплее этот бит сбросился (вручную установить/сбросить с клавиш нет проблем)
а если я ему начинаю что-то присваивать в программе то получается то что я спрашивал.
Т.е. 2 присвоения если с дисплея назначено и в проге, то не получается

AlexBut
13.09.2022, 13:05
Попробуйте установить в свойствах записываемой переменной в "Расширенных настройках" -> "Запись в конце цикла" -> "Да"

Да,спасибо, попробую

melky
13.09.2022, 13:06
А с TP вернуть запись в эту переменную ? вы полную схему покажите, народ быстрее подскажет.

EFrol
13.09.2022, 13:42
Пробуйте так:
62608

AlexBut
14.09.2022, 12:38
А с TP вернуть запись в эту переменную ? вы полную схему покажите, народ быстрее подскажет.

Схема можно сказать нет-напрямую включаю насос(с встроенным ПЧ) от ПР200- в ручном режиме от кнопок ПР200 формирую бит включить и по фронту в программе
включаю насос от вых реле ПР200 -этот бит(не привязан к вых реле напрямую) до этого отображается как "Включить-Нет" на дисплее а потом как "Включить-Да" . И вот хотелось бы чтобы он сам сбрасывался с задержкой(и снова отображался как "Включить-Нет"),но пока не получается

AlexBut
14.09.2022, 12:44
Ещё одна проблема- нет записи в FB PID1 хотя блоки записи всех переменных PID1 есть.
Когда в программе вручную вбиваю в свойствах PID1 параметры -работает ,но новые параметры от write FB
не принимает. Такое впечатление, что write FB и read FB требуют какой-то спец процедуры чтобы работать?

vadilen
14.09.2022, 19:19
Схема можно сказать нет-напрямую включаю насос(с встроенным ПЧ) от ПР200- в ручном режиме от кнопок ПР200 формирую бит включить и по фронту в программе
включаю насос от вых реле ПР200 -этот бит(не привязан к вых реле напрямую) до этого отображается как "Включить-Нет" на дисплее а потом как "Включить-Да" . И вот хотелось бы чтобы он сам сбрасывался с задержкой(и снова отображался как "Включить-Нет"),но пока не получается

на сколько я понял вам нужно сбрасывать надпись вкл на выкл на дисплее. так присваиваете ей некую переменную и при ее отключении через FTrig сбрасываете триггер. Сумбурно описал, но может додумаете, а если нет, то могу прислать проектик, но не сразу.

EFrol
15.09.2022, 07:52
Ещё одна проблема- нет записи в FB PID1 хотя блоки записи всех переменных PID1 есть.
Когда в программе вручную вбиваю в свойствах PID1 параметры -работает ,но новые параметры от write FB
не принимает. Такое впечатление, что write FB и read FB требуют какой-то спец процедуры чтобы работать?

Проект в студию.
Однако верно. Запись возможна только при старте ПРки.

AlexBut
16.09.2022, 06:16
Проект в студию.
Однако верно. Запись возможна только при старте ПРки.

-1. Я думал если я в write FB поменяю параметры PID1 то и в свойствах в режиме исполнения они поменяются
но поэксперементировав понял , что нет-похоже в свойствах PID1 начальные значения при прошивке
-2. поведение PID1 меняется если я в режиме исполнения с кнопок ПР200 задам другие параметры-
например уменьшу интегральный с 6 до 1 то выход PID1 сильно быстрее начинает меняться.

т.е. всё таки запись работает но молча

Dimensy
16.09.2022, 09:39
-1. Я думал если я в write FB поменяю параметры PID1 то и в свойствах в режиме исполнения они поменяются
но поэксперементировав понял , что нет-похоже в свойствах PID1 начальные значения при прошивке
-2. поведение PID1 меняется если я в режиме исполнения с кнопок ПР200 задам другие параметры-
например уменьшу интегральный с 6 до 1 то выход PID1 сильно быстрее начинает меняться.

т.е. всё таки запись работает но молча

может здесь, что полезное будет https://www.youtube.com/watch?v=db_b8KkGC8g

vitek101
16.09.2022, 09:44
Поиском не нашел ответ, так что тут попробую спросить: можно ли как-то автоматически перенумеровать адреса сетевых переменных.

Поясню - есть большой список сетевых переменных, которые собираюсь читать из ПР103 по модбасу. И случилось так, что вверху списка пришлось изменить тип переменной с целочисленного на плавающий, а это уже не один регистр, а два - поэтому все нижележащие переменные нужно сместить. Только руками адреса переписывать или есть где-то волшебна кнопка?

kondor3000
16.09.2022, 09:59
Поиском не нашел ответ, так что тут попробую спросить: можно ли как-то автоматически перенумеровать адреса сетевых переменных.

Поясню - есть большой список сетевых переменных, которые собираюсь читать из ПР103 по модбасу. И случилось так, что вверху списка пришлось изменить тип переменной с целочисленного на плавающий, а это уже не один регистр, а два - поэтому все нижележащие переменные нужно сместить. Только руками адреса переписывать или есть где-то волшебна кнопка?

Такой кнопки нет, только вручную.
Непонятно зачем вверху вставлять, а в конце добавить никак? И переписывать не надо будет.

vitek101
16.09.2022, 11:18
Спасибо.
Я имел в виду, что не вставляю новую переменную в начало списка, а изменяю тип уже существующей переменной из начала списка.
Но, раз кнопки нет, то легче добавить в конец списка новую переменную, а старую (из начала списка) оставить как мусор...

AlexBut
19.09.2022, 04:16
В общем непонятно а параметр Pmin PID1 в режиме исполнения не меняется хотя в FB (запись этого параметра)
меняется но на выход не влияет(если выход был 27 допустим то и остаётся 27,изначально Pmin=25,Pmax=50
а задаю Pmin=48 в режиме исполнения)
и после сброса PID1 устанавливается 25-начальное значение заданное при
прошивке в свойствах? А изменение интегрального в исполнении меняет поведение?
Эксперимент показал что по крайней мере параметры PID1 Pmin,Pmax меняются только
при сбросе по питанию

AlexBut
20.09.2022, 10:52
Попробуйте установить в свойствах записываемой переменной в "Расширенных настройках" -> "Запись в конце цикла" -> "Да"

Да спасибо получилось

игорь68
26.09.2022, 09:51
Добрый день. В архиве нашёл макрос ГСЧ. Скачал вот от сюда https://owen.ru/forum/showthread.php?t=25068
Нужно сделать генерацию по запросу. Вывел вход от блока NOT на вход макроса. Задал верхний предел 150. Нижний предел 0. В результате на выходе одно и тоже число. PS Файл расширение owle не возможно загрузить на форум!!!!

Dimensy
26.09.2022, 19:25
Добрый день. В архиве нашёл макрос ГСЧ. Скачал вот от сюда https://owen.ru/forum/showthread.php?t=25068
Нужно сделать генерацию по запросу. Вывел вход от блока NOT на вход макроса. Задал верхний предел 150. Нижний предел 0. В результате на выходе одно и тоже число. PS Файл расширение owle не возможно загрузить на форум!!!!
вот так сделайте
62793

игорь68
26.09.2022, 20:06
Спасибо пробуем. Dimensy спасибо. Работает как нужно.

товарищ
05.10.2022, 20:08
Здравствуйте. Может кто подсказать как сделать выходную переменную энергонезависимой.
Требуется создать автоматический подбор коэффициентов К и В отопительного графика (уравнение прямой у=кх+в). Сейчас надо сделать управление системой отопления и есть задумка под это дело попробовать сделать автоматический подбор наклона и сдвига отопительного графика. Программой предусмотрено поддержание температуры отопления по отопительному графику и поддержание комнатной температуры. При фиксации температуры нар.воздуха х=0, соответственно к*х=0, буду фиксировать температуру в системе отопления У, которая в этот момент будет численно равна коэф.В и при получении следующего значения У при Х=0 считать среднее арифметическое из полученных значений, чтобы снизить погрешность. После получения среднего значения В таким же образом определить К (например, фиксируя данные о температуре отопления при прохождении Х=-10°С и вычисляя К = (У-В)/Х). Таким образом подставляя в текущую программу полученное средние значения коэффициентов, получим отопительный график соответствующий теплопотерям отапливаемого дома.
Вопрос: как можно сохранить значение усредненных коэффициентов, а соответственно и смоделированный отопительный график, при отключении питания?

Dimensy
05.10.2022, 20:54
как можно сохранить значение усредненных коэффициентов, а соответственно и смоделированный отопительный график, при отключении питания?

Для начала галочку поставить при создании переменной
62984

товарищ
05.10.2022, 20:57
уже пробовал, не помогает. Это самое легкое с чего начал. По моему галочка работает только для входных переменных.
Проверить было несложно:
При повторном включении контроллера ЙЙ = 0

Dimensy
05.10.2022, 21:14
уже пробовал, не помогает. Это самое легкое с чего начал. По моему галочка работает только для входных переменных.
Проверить было несложно:

Ну, почему, вот пример энергонезависимого счетчика
62986

Но может проще будет воспользоваться просто кривой отсюда https://owen.ru/forum/showthread.php?t=28420&p=275277&viewfull=1#post275277 без всяких автоматических коэффициентов
А если у вас просто котел и некоторая усредненная температура по помещениям, то думаю, надо смотреть в сторону ПИД регулятора

Сергей0308
05.10.2022, 23:27
уже пробовал, не помогает. Это самое легкое с чего начал. По моему галочка работает только для входных переменных.
Проверить было несложно:
При повторном включении контроллера ЙЙ = 0

Никто не запрещает посмотреть в свойства универсального счётчика!

1exan
06.10.2022, 05:23
уже пробовал, не помогает. Это самое легкое с чего начал. По моему галочка работает только для входных переменных.
Проверить было несложно:
При повторном включении контроллера ЙЙ = 0

Запись значения в переменную без постоянной привязки к источнику:
62992

товарищ
06.10.2022, 11:00
Никто не запрещает посмотреть в свойства универсального счётчика!

Я об этом знаю, но переменная будет не на выходе счетчика.

товарищ
06.10.2022, 11:02
Чего-то всё равно не получается. При перестарте пр200 ЙЙ=0, а не накопленному значению.

Dimensy
06.10.2022, 11:11
Чего-то всё равно не получается. При перестарте пр200 ЙЙ=0, а не накопленному значению.

вот так сделайте
63000

в вашем случае, я думаю, надо сделать как-то так
63002

товарищ
06.10.2022, 11:42
вот так сделайте
63000

в вашем случае, я думаю, надо сделать как-то так
63002

Спасибо, так действительно, работает. И за вторую картинку спасибо, поставлю в программу для подстраховки.

товарищ
07.10.2022, 09:04
вот что получается.

Сергей0308
07.10.2022, 12:04
вот что получается.

Можно нескромный вопрос: зачем переменной энергонезависимость, если каждую секунду она обновляется значением из вне, тем более, насколько я понял, в относительно инерционном процессе?

товарищ
10.10.2022, 10:13
Можно нескромный вопрос: зачем переменной энергонезависимость, если каждую секунду она обновляется значением из вне, тем более, насколько я понял, в относительно инерционном процессе?

Если Вы про "Тот", то ей энергонезависимость дана только для того, чтобы ОЛ не подсвечивал красным эту переменную при симуляции. Если про "Вср", то для того, чтобы накопленное значение не сбросилось при отключении питания, чтобы в дальнейшем не ждать температуру наружного воздуха = 0 град. цельсия, ибо согласно уравнения прямой (отопительного графика) при этом условии коэф.В численно равен температуре в системе отопления. А так как программа пишется под систему отопления с твердотопливным котлом, работающим в режиме старт/стоп температура в системе отопления тоже будет плавать, поэтому требуется получить усредненное значение за достаточно длительный период измерений.

1exan
10.10.2022, 11:58
Если Вы про "Тот", то ей энергонезависимость дана только для того, чтобы ОЛ не подсвечивал красным эту переменную при симуляции. Если про "Вср", то для того, чтобы накопленное значение не сбросилось при отключении питания, чтобы в дальнейшем не ждать температуру наружного воздуха = 0 град. цельсия, ибо согласно уравнения прямой (отопительного графика) при этом условии коэф.В численно равен температуре в системе отопления. А так как программа пишется под систему отопления с твердотопливным котлом, работающим в режиме старт/стоп температура в системе отопления тоже будет плавать, поэтому требуется получить усредненное значение за достаточно длительный период измерений.

Система отопления имеет отдельный контур с регулятором, или регулируется непосредственно котлом?

товарищ
10.10.2022, 12:38
Система отопления имеет отдельный контур с регулятором, или регулируется непосредственно котлом?

система отопления состоит из пеллетного котла, самостоятельно поддерживающего температуру в своем внутреннем контуре до гидрострелки, контура теплых полов с термостатическим регулятором, бойлера косвенного нагрева ГВС, контура радиаторного отопления. Основной вид отопления: теплый пол на 1 этаже, радиаторы на 2 этаже. Основное условие регулирования - поддержание постоянной температуры в помещении. Требуется увязать между собой работу всех 4 контуров. Отключать систему отопления остановкой циркуляционного насоса СО не хочу, правильным считаю регулировать с помощью трехходового клапана. У котла нет функции изменять уставку (повышать температуру) при включении подогрева ГВС.
Можно, конечно, сделать регулирование температуры радиаторов без учета температуры наружного воздуха только на рассогласовании уставки комнатной температуры с текущей комнатной температурой, но это должно быть о-о-о-очень медленное движение трехходового клапана. По моему правильно будет увязать температуру в радиаторах к температуре наружного воздуха и сделать незначительные корректировки по комнатной температуре.

1exan
10.10.2022, 13:34
система отопления состоит из пеллетного котла, самостоятельно поддерживающего температуру в своем внутреннем контуре до гидрострелки, контура теплых полов с термостатическим регулятором, бойлера косвенного нагрева ГВС, контура радиаторного отопления. Основной вид отопления: теплый пол на 1 этаже, радиаторы на 2 этаже. Основное условие регулирования - поддержание постоянной температуры в помещении. Требуется увязать между собой работу всех 4 контуров. Отключать систему отопления остановкой циркуляционного насоса СО не хочу, правильным считаю регулировать с помощью трехходового клапана. У котла нет функции изменять уставку (повышать температуру) при включении подогрева ГВС.
Можно, конечно, сделать регулирование температуры радиаторов без учета температуры наружного воздуха только на рассогласовании уставки комнатной температуры с текущей комнатной температурой, но это должно быть о-о-о-очень медленное движение трехходового клапана. По моему правильно будет увязать температуру в радиаторах к температуре наружного воздуха и сделать незначительные корректировки по комнатной температуре.

У меня практически такая-же система, забиты 3 отдельных графика: на котёл (внутренний контур), подачу ТП 1 этаж (смеситель на термоголовке) и подачу радиаторы 2 этаж (смесительный трёхходовой с электроприводом). Все графики по наружной Т. Коррекции по температуре в помещениях нет, но наверное было бы неплохо. Только есть некоторый вопрос с местом измерения температур в помещении, репрезентативностью этих значений и алгоритмом коррекции.

IVM
10.10.2022, 14:12
У меня практически такая-же система, забиты 3 отдельных графика: на котёл (внутренний контур), подачу ТП 1 этаж (смеситель на термоголовке) и подачу радиаторы 2 этаж (смесительный трёхходовой с электроприводом). Все графики по наружной Т. Коррекции по температуре в помещениях нет, но наверное было бы неплохо. Только есть некоторый вопрос с местом измерения температур в помещении, репрезентативностью этих значений и алгоритмом коррекции.

А зачем все графики по наружной Т ? Почему не сделать термостатирование помещений ? Задается уставка температуры в помещении и пусть система ее поддерживает при всех возмущающих воздействиях (температура наружного воздуха, работа бытовой техники, и т.д.). В многоквартирном доме это сделать невозможно, а в частном доме это легко сделать.

1exan
10.10.2022, 14:58
А зачем все графики по наружной Т ? Почему не сделать термостатирование помещений ? Задается уставка температуры в помещении и пусть система ее поддерживает при всех возмущающих воздействиях (температура наружного воздуха, работа бытовой техники, и т.д.). В многоквартирном доме это сделать невозможно, а в частном доме это легко сделать.

Возможно в каркасниках с воздушным отоплением это будет хорошо работать, но "каменный" дом, да ещё с системой ТП - система очень инерционная. Сначала у меня было сделано поконтурное (покомнатное) регулирование контуров ТП термоголовками (вкл/выкл по комнатным термостатам, со снижением уставки на ночь и т.д.), но в итоге для ТП убрал все это (для радиаторов - снижение уставки на ночь есть). Для возмущающих воздействий я бы добавил коррекцию уставки отопления по температуре в помещении - скажем считать таймер и по нему делать коррекцию уставки отопления (фиксированного значения или в зависимости от отклонения в помещении). У виссманов в контроллерах есть что-то подобное.

IVM
10.10.2022, 15:53
Возможно в каркасниках с воздушным отоплением это будет хорошо работать, но "каменный" дом, да ещё с системой ТП - система очень инерционная. Сначала у меня было сделано поконтурное (покомнатное) регулирование контуров ТП термоголовками (вкл/выкл по комнатным термостатам, со снижением уставки на ночь и т.д.), но в итоге для ТП убрал все это (для радиаторов - снижение уставки на ночь есть). Для возмущающих воздействий я бы добавил коррекцию уставки отопления по температуре в помещении - скажем считать таймер и по нему делать коррекцию уставки отопления (фиксированного значения или в зависимости от отклонения в помещении). У виссманов в контроллерах есть что-то подобное.

Дались вам эти теплые полы, лучше радиаторов отопления ничего нет. Ставите на каждый контур отопления регулируемую задвижку (больше/меньше), ПИД-регуляторы будет ими управлять и поддерживать заданную уставку. В каждом помещении надо установить датчик температуры.

1exan
10.10.2022, 17:50
Дались вам эти теплые полы, лучше радиаторов отопления ничего нет. Ставите на каждый контур отопления регулируемую задвижку (больше/меньше), ПИД-регуляторы будет ими управлять и поддерживать заданную уставку. В каждом помещении надо установить датчик температуры.

Везде есть свои плюсы и минусы.
И что потом делать с температурой в каждом помещении - вычислять "среднее по больнице"?

товарищ
10.10.2022, 18:04
Дались вам эти теплые полы, лучше радиаторов отопления ничего нет. Ставите на каждый контур отопления регулируемую задвижку (больше/меньше), ПИД-регуляторы будет ими управлять и поддерживать заданную уставку. В каждом помещении надо установить датчик температуры.

В моем случае система отопления уже смонтирована и смонтирована довольно грамотно. Теплые полы в отличие от радиаторов отопления существенно добавляют комфорт, поэтому на мой взгляд мой заказчик реализовал возможности отопления дома правильно. У меня параллельно идет другой объект и на нем лично я расчертил и смонтировал ТП и радиаторное отопление. На сегодня по времянке запущены только ТП. В подаче ТП 28 град., в помещении 24 град., на улице, правда +10.
Это я к тому, что, похоже, пока не будет сильных морозов ТП в одиночку, без включения радиаторов справится с отоплением этого здания. При этом шаг раскладки труб ТП 150 мм.
Возвращаясь к текущему проекту, поговорил со знакомым который в собственном доме переделал радиаторное отопление на 1 этаже на ТП(по совпадению теперь у него также - 1 этаж только ТП, 2 этаж только радиаторы). У него ранее стоял датчик температуры помещения на 1 этаже. Он его удалил, говорит за ненадобностью, теперь радиаторы работают по температурному графику, а ТП на постоянной температуре. В установке датчика комнатной температуры он смысла не видит, потому что в коридоре 2 этажа на него будет оказывать влияние поднимающийся теплый воздух, а в отдельно взятой комнате могут открыть окно. Поэтому он установил термоголовки на каждый радиатор. Возможно это действительно правильное решение.

IVM
10.10.2022, 18:20
И что потом делать с температурой в каждом помещении - вычислять "среднее по больнице"?

Странный вопрос. В каждом помещении будет поддерживаться своя заданная температура.

1exan
11.10.2022, 04:55
В моем случае система отопления уже смонтирована и смонтирована довольно грамотно. Теплые полы в отличие от радиаторов отопления существенно добавляют комфорт, поэтому на мой взгляд мой заказчик реализовал возможности отопления дома правильно. У меня параллельно идет другой объект и на нем лично я расчертил и смонтировал ТП и радиаторное отопление. На сегодня по времянке запущены только ТП. В подаче ТП 28 град., в помещении 24 град., на улице, правда +10.
Это я к тому, что, похоже, пока не будет сильных морозов ТП в одиночку, без включения радиаторов справится с отоплением этого здания. При этом шаг раскладки труб ТП 150 мм.
Возвращаясь к текущему проекту, поговорил со знакомым который в собственном доме переделал радиаторное отопление на 1 этаже на ТП(по совпадению теперь у него также - 1 этаж только ТП, 2 этаж только радиаторы). У него ранее стоял датчик температуры помещения на 1 этаже. Он его удалил, говорит за ненадобностью, теперь радиаторы работают по температурному графику, а ТП на постоянной температуре. В установке датчика комнатной температуры он смысла не видит, потому что в коридоре 2 этажа на него будет оказывать влияние поднимающийся теплый воздух, а в отдельно взятой комнате могут открыть окно. Поэтому он установил термоголовки на каждый радиатор. Возможно это действительно правильное решение.

ТП на постоянной температуре подачи - не очень хорошо, разве что это имеется в виду постоянная температура в обратном коллекторе. А термоголовки на радиаторы это неплохо, если гидравлика системы позволяет - я поставил на некоторые радиаторы.

товарищ
12.10.2022, 18:10
закончил блок программы по автоматическому определению коэффициентов в уравнении прямой. До сохранения все работало нормально, после сохранения получилось вот что:

товарищ
12.10.2022, 18:24
Точнее было даже не сохранение, а только хотел переименовать файл через "сохранить как" но вспомнил, что захотелось добавить обнуление накопленных значений и вышел из окна "сохранить как", нажав отмена. До этого действия программа работала нормально, после - некорректно. Выяснил, что стала по другому работать та часть. которая отмечена стрелками на первом скрине, пришлось обычную связь менять на линию задержки. Так как программа состоит из двух почти одинаковых частей, логично было бы предположить, что во второй части будет то же самое, но это не так. В режиме онлайн отладки тоже появились проблемы. Работал в последней версии ОЛ, теперь уже снял галочку проверка обновлений. Кто-нибудь сталкивался с подобным? Чего-то разонравилось быть тестером, когда часть наработанных макросов сменило расширение и теперь придется их вручную перерисовывать? Причем проблема повторилась за вечер два раза. первый раз был когда сохранял макрос.
До последнего обновления ОЛ не работал с ним наверно более полугода, подскажите, какая из более ранних версий работала стабильно и всех устраивала.

Вольд
17.10.2022, 08:26
Добрый день.
На СПК107М01 после отключения перестали сохранятся уставки переменных в энергонезависимой памяти. Батарейку в СПК первым делом меняли.
СПК 2019 года выпуска. Что может быть? Котельная очень далеко.

На ответственных объектах надо ИБП ставить.

1exan
17.10.2022, 08:26
Продублируйте вопрос в раздел с нужным СПК - может там быстрее ответят

petera
17.10.2022, 11:42
закончил блок программы по автоматическому определению коэффициентов в уравнении прямой. До сохранения все работало нормально, после сохранения получилось вот что:


В онлайн отладке есть ограничение на количество отображаемых переменных, если их на экране "много", то вместо части из них будут белые квадраты
Увеличить масштаб отображения в настройках рабочего поля ОЛ!
63175

SanSannch
19.10.2022, 11:24
Добрый день.

Подскажите, можно как-то избавиться от циклической связи - заменить на обычную, которую ОЛ подставляет автоматически (выделяет желтым цветом и формирует задержку на один такт)? Замена данной линии на линию задержки не решает проблему, задержка в один такт остается и нарушает работу программы.

Пример 1. Пытался реализовать алгоритм циклического регистра сдвига (бегущая волна) на D-Тригерах. Пока цикл не замкнут - все работает четко, выходы переключаются по очереди, без задержек и через равные интервалы. Но стоит замкнуть цикл (подключить выход последнего триггера на вход первого, 63211 обозначено красной линией) появляется сообщение о циклической связи, начинаются сбои в интервалах между включениями выходов. Проект ОЛ: ПР100_Бег_волна.owle.

Пример 2. Реализовал алгоритм циклического регистра сдвига (бегущая волна) на счетчиках, получилось громоздко и плохо масштабируемо, но зато работает четко. Проект ОЛ: ПР100_Бег_волна_2.owle. Решил немного оптимизировать программу - остановить стартовый генератор после завершения установки начальных состояний счетчиков (снижение вычислительной нагрузки), добавил обратную связь (63214 обозначено красной линией) появилась циклическая связь (обозначено желтой линией) и нарушила работу алгоритма.

Может я что-то делаю не так - подскажите, как надо, или может есть другие варианты реализации циклического регистра сдвига (бегущая волна) с возможностью удобного масштабирования.
Видел на форуме интересный вариант: ссылка (https://owen.ru/forum/showthread.php?t=27724&page=2&p=262816&viewfull=1#post262816), автору спасибо.

P.S. Конкретной задачи при разработке данных алгоритмов нет, просто изучаю ОЛ, пробую реализовывать алгоритмы и схемы которые раньше собирал на логических микросхемах.

petera
19.10.2022, 11:52
Добрый день.

Подскажите, можно как-то избавиться от циклической связи - заменить на обычную, которую ОЛ подставляет автоматически (выделяет желтым цветом и формирует задержку на один такт)? Замена данной линии на линию задержки не решает проблему, задержка в один такт остается и нарушает работу программы.

Пример 1. Пытался реализовать алгоритм циклического регистра сдвига (бегущая волна) на D-Тригерах. Пока цикл не замкнут - все работает четко, выходы переключаются по очереди, без задержек и через равные интервалы. Но стоит замкнуть цикл (подключить выход последнего триггера на вход первого, 63211 обозначено красной линией) появляется сообщение о циклической связи, начинаются сбои в интервалах между включениями выходов. Проект ОЛ: ПР100_Бег_волна.owle.

Пример 2. Реализовал алгоритм циклического регистра сдвига (бегущая волна) на счетчиках, получилось громоздко и плохо масштабируемо, но зато работает четко. Проект ОЛ: ПР100_Бег_волна_2.owle. Решил немного оптимизировать программу - остановить стартовый генератор после завершения установки начальных состояний счетчиков (снижение вычислительной нагрузки), добавил обратную связь (63214 обозначено красной линией) появилась циклическая связь (обозначено желтой линией) и нарушила работу алгоритма.

Может я что-то делаю не так - подскажите, как надо, или может есть другие варианты реализации циклического регистра сдвига (бегущая волна) с возможностью удобного масштабирования.
Видел на форуме интересный вариант: ссылка (https://owen.ru/forum/showthread.php?t=27724&page=2&p=262816&viewfull=1#post262816), автору спасибо.

P.S. Конкретной задачи при разработке данных алгоритмов нет, просто изучаю ОЛ, пробую реализовывать алгоритмы и схемы которые раньше собирал на логических микросхемах.
Выделение желтым цветом не означает, что ОЛ "формирует задержку на один такт". Ни какой задержки автоматом нет!

Что значит "бегущая волна" ?

1exan
19.10.2022, 11:55
Добрый день.

Подскажите, можно как-то избавиться от циклической связи - заменить на обычную, которую ОЛ подставляет автоматически (выделяет желтым цветом и формирует задержку на один такт)? Замена данной линии на линию задержки не решает проблему, задержка в один такт остается и нарушает работу программы.
....


Не уверен, что у вас в программе проблема именно в обратных связях, но вообще Logic ВЫНУЖДЕН использовать хотя бы одну связь в качестве обратной, если вы соединили выход со входом в цепи взаимосвязанных элементов.
При этом программа сама выбирает какую из связей использовать в качестве обратной в этой цепи (только компилятор знает по какому принципу).
Однако вы можете сразу сами определить линию связи, которую назначите обратной - для этого и кнопочка специальная есть - "Линия задержки". Нажимаете её и рисуете обратную связь (ваши красные линии на рисунках).

Сергей0308
19.10.2022, 11:58
Добрый день.

Подскажите, можно как-то избавиться от циклической связи - заменить на обычную, которую ОЛ подставляет автоматически (выделяет желтым цветом и формирует задержку на один такт)? Замена данной линии на линию задержки не решает проблему, задержка в один такт остается и нарушает работу программы.

Пример 1. Пытался реализовать алгоритм циклического регистра сдвига (бегущая волна) на D-Тригерах. Пока цикл не замкнут - все работает четко, выходы переключаются по очереди, без задержек и через равные интервалы. Но стоит замкнуть цикл (подключить выход последнего триггера на вход первого, 63211 обозначено красной линией) появляется сообщение о циклической связи, начинаются сбои в интервалах между включениями выходов. Проект ОЛ: ПР100_Бег_волна.owle.

Пример 2. Реализовал алгоритм циклического регистра сдвига (бегущая волна) на счетчиках, получилось громоздко и плохо масштабируемо, но зато работает четко. Проект ОЛ: ПР100_Бег_волна_2.owle. Решил немного оптимизировать программу - остановить стартовый генератор после завершения установки начальных состояний счетчиков (снижение вычислительной нагрузки), добавил обратную связь (63214 обозначено красной линией) появилась циклическая связь (обозначено желтой линией) и нарушила работу алгоритма.

Может я что-то делаю не так - подскажите, как надо, или может есть другие варианты реализации циклического регистра сдвига (бегущая волна) с возможностью удобного масштабирования.
Видел на форуме интересный вариант: ссылка (https://owen.ru/forum/showthread.php?t=27724&page=2&p=262816&viewfull=1#post262816), автору спасибо.

P.S. Конкретной задачи при разработке данных алгоритмов нет, просто изучаю ОЛ, пробую реализовывать алгоритмы и схемы которые раньше собирал на логических микросхемах.

Если делать сдвиговый регистр на Д-триггерах, то для его нормальной работы как раз и нужна задержка на цикл!

63216

Зачем выдумывать какую-то свою "суперхренорезку", тем более, если она не работает?!

63217

EFrol
19.10.2022, 12:02
Не совсем понятно, что Вы хотите сделать?
Начнем с простого:
63215
I1 - данные, I2 - защелкивание и смещение

SanSannch
19.10.2022, 12:49
Выделение желтым цветом не означает, что ОЛ "формирует задержку на один такт". Ни какой задержки автоматом нет!

petera, а Вы пробовали запускать по шагам проект ПР100_Бег_волна.owle? Что вы наблюдали на 6 и 12 шагах между выходом Q DTRIG1 и входом I FTRIG2 (это участок выделен ОЛ как циклическая связь)?


Что значит "бегущая волна" ?

Это визуальный эффект, который создают световые индикаторы (лампочки) включаясь и выключаясь по очереди, друг за другом.

SanSannch
19.10.2022, 12:56
Не уверен, что у вас в программе проблема именно в обратных связях, но вообще Logic ВЫНУЖДЕН использовать хотя бы одну связь в качестве обратной, если вы соединили выход со входом в цепи взаимосвязанных элементов.
При этом программа сама выбирает какую из связей использовать в качестве обратной в этой цепи (только компилятор знает по какому принципу).
Однако вы можете сразу сами определить линию связи, которую назначите обратной - для этого и кнопочка специальная есть - "Линия задержки". Нажимаете её и рисуете обратную связь (ваши красные линии на рисунках).

В Примере 2 замена связи (красная линия) на линию задержки, согласно Вашему совету, помогла, спасибо, а для Примера 1 такая замена не дает результата.

1exan
19.10.2022, 13:35
В Примере 2 замена связи (красная линия) на линию задержки, согласно Вашему совету, помогла, спасибо, а для Примера 1 такая замена не дает результата.

Ну уже написали выше, что нужны задержки между каждым из триггеров, пробуйте

SanSannch
19.10.2022, 13:59
Сергей0308, EFrol, 1exan спасибо за комментарии, но при включении Линии задержки между каждым триггером переключение выходов выполняется не синхронно, появляются интервалы задержки между выключением предыдущего и включением следующего выхода (все выходы в какой-то момент становятся выключенными) - это и является проблемой, её и пытаюсь решить.

Сергей0308
19.10.2022, 14:34
Сергей0308, EFrol, 1exan спасибо за комментарии, но при включении Линии задержки между каждым триггером переключение выходов выполняется не синхронно, появляются интервалы задержки между выключением предыдущего и включением следующего выхода (все выходы в какой-то момент становятся выключенными) - это и является проблемой, её и пытаюсь решить.

Я же и проект выложил, короче, Д-триггеры не синхронно переключаться не могут в принципе, посмотреть то Вы хоть можете?!

1exan
19.10.2022, 14:53
Сергей0308, EFrol, 1exan спасибо за комментарии, но при включении Линии задержки между каждым триггером переключение выходов выполняется не синхронно, появляются интервалы задержки между выключением предыдущего и включением следующего выхода (все выходы в какой-то момент становятся выключенными) - это и является проблемой, её и пытаюсь решить.

Попробуйте такой вариант со сдвигом

SanSannch
19.10.2022, 15:51
Я же и проект выложил, короче, Д-триггеры не синхронно переключаться не могут в принципе, посмотреть то Вы хоть можете?!

Сергей0308, я смотрел Ваш проект, но не нашел в нем решения своей проблемы. С Д-триггерами понятно, мою задачу они не решают. Спасибо.

Сергей0308
19.10.2022, 15:53
И мой готовый вариант:

63220

63221

EFrol
19.10.2022, 15:55
Может наоборот Вам нужна задержка выключения, без задержки включения? Пока второй не разгорелся, первый должен продолжать гореть.

SanSannch
19.10.2022, 16:00
Попробуйте такой вариант со сдвигом

1exan, интересный вариант, спасибо. Не сразу разобрался с управлением, а работа функции SHIFT для меня пока чистой воды магия :confused:.

1exan
19.10.2022, 17:17
1exan, интересный вариант, спасибо. Не сразу разобрался с управлением, а работа функции SHIFT для меня пока чистой воды магия :confused:.

Это переделка oscat-овской функции (точнее там это ФБ) из кодесиса, нет там никакой магии - тупо копирование соседних битов 32-битного слова.

Dimensy
19.10.2022, 17:47
1exan, интересный вариант, спасибо. Не сразу разобрался с управлением, а работа функции SHIFT для меня пока чистой воды магия :confused:.

мой вариант

товарищ
19.10.2022, 20:36
В онлайн отладке есть ограничение на количество отображаемых переменных, если их на экране "много", то вместо части из них будут белые квадраты
Увеличить масштаб отображения в настройках рабочего поля ОЛ!
63175

Спасибо, именно так, как Вы сказали.

Сергей0308
19.10.2022, 23:09
Может наоборот Вам нужна задержка выключения, без задержки включения? Пока второй не разгорелся, первый должен продолжать гореть.


1exan, интересный вариант, спасибо. Не сразу разобрался с управлением, а работа функции SHIFT для меня пока чистой воды магия :confused:.

Так разберитесь в азах, элементарных вещах, кто же Вам запрещает!
Вот ещё один вариант сдвигового регистра с более удобной предустановкой:

63230

Нажимаем по одной кнопке(такие у меня ограничения для упрощения), я думаю это вполне разумно! Нажимаем по очереди на кнопки входов 1-8, предустанавливая соответствующие разряды регистра сдвига в логическое "1", затем для запуска сдвига нажимаем "Пуск", всё! Регистр закольцован, вроде всё как Вы хотели?!

63231

Чуть не забыл самое главное: регистр легко(я бы сказал очень легко) расширяется до 32 разрядов!

Такое впечатление, что на этой неделе по программе изучение сдвигового регистра сразу во всей галактике: https://owen.ru/forum/showthread.php?t=36812&page=2

SanSannch
20.10.2022, 12:34
мой вариант

Dimensy, хороший вариант, спасибо.

Сергей0308, Ваш вариант тоже заслуживает внимания, спасибо.

Pvalp
20.10.2022, 14:35
Так разберитесь в азах, элементарных вещах, кто же Вам запрещает!
Вот ещё один вариант сдвигового регистра с более удобной предустановкой:

63230

Нажимаем по одной кнопке(такие у меня ограничения для упрощения), я думаю это вполне разумно! Нажимаем по очереди на кнопки входов 1-8, предустанавливая соответствующие разряды регистра сдвига в логическое "1", затем для запуска сдвига нажимаем "Пуск", всё! Регистр закольцован, вроде всё как Вы хотели?!

63231

Чуть не забыл самое главное: регистр легко(я бы сказал очень легко) расширяется до 32 разрядов!

Такое впечатление, что на этой неделе по программе изучение сдвигового регистра сразу во всей галактике: https://owen.ru/forum/showthread.php?t=36812&page=2

Добрый день Сергей0308, скажите, что не так? У меня при симуляции вот, что получается:63254

kondor3000
20.10.2022, 14:42
Такое впечатление, что на этой неделе по программе изучение сдвигового регистра сразу во всей галактике
Тут тоже 4 день изучения управления сдвиговым регистром
https://owen.ru/forum/showthread.php?t=10555&page=908

Сергей0308
20.10.2022, 15:42
Добрый день Сергей0308, скажите, что не так? У меня при симуляции вот, что получается:63254

Настройки макросов(их всего два в моём проекте) тоже нужно перенести в свой проект, при копировании(вставке) макроса его настройки(находятся в свойствах макроса) принимают значения по умолчанию и не соответствуют настройкам в моём проекте!

63259

Pvalp
20.10.2022, 16:11
Извините, а что должно стоять в настройках макросов PUTBIT8 и EXTRACTBIT8? У меня стоят в параметрах значение констант 0..7
63260
63261

Сергей0308
20.10.2022, 16:26
Извините, а что должно стоять в настройках макросов PUTBIT8 и EXTRACTBIT8? У меня стоят в параметрах значение констант 0..7
63260
63261

В моём проекте 1-8, можно посмотреть, наверно так быстрее будет, Вы же проект как-то переносили(копировали)!

игорь68
20.10.2022, 16:57
Коллеги. Как сделать что бы счетчик считал от уставки в минус. Проект ниже . Версия 2.1.307

Dimensy
20.10.2022, 18:04
Коллеги. Как сделать что бы счетчик считал от уставки в минус. Проект ниже . Версия 2.1.307

вот так можно

Сергей0308
20.10.2022, 18:21
Коллеги. Как сделать что бы счетчик считал от уставки в минус. Проект ниже . Версия 2.1.307

Мне кажется, День сурка не кончается!

https://owen.ru/forum/showthread.php?t=36854

https://owen.ru/forum/showthread.php?t=9398&page=647

63266

игорь68
21.10.2022, 08:39
Сергей0308 , Dimensy спасибо. Будем посмотреть.

Pvalp
21.10.2022, 12:30
В моём проекте 1-8, можно посмотреть, наверно так быстрее будет, Вы же проект как-то переносили(копировали)!

Добрый день Сергей0308, я проект полностью по картинке набрал и сохранил с таким-же, как у Вас, названием, я использую еще OWEN Logic Версия 1.19.271.0.

И да, поменял, как у Вас, с 0-7 на 1-8, все пошло нормально, большое спасибо.

Сергей0308
22.10.2022, 19:59
Добрый день Сергей0308, я проект полностью по картинке набрал и сохранил с таким-же, как у Вас, названием, я использую еще OWEN Logic Версия 1.19.271.0.

И да, поменял, как у Вас, с 0-7 на 1-8, все пошло нормально, большое спасибо.

Слава Богу, ситуация благополучно разрешилась, наверно проще было бы сразу несколько версий ОЛ на ПК поставить, некоторые так и делают, во всяком случае писали об этом на форуме!

ProRus
23.10.2022, 16:33
Подскажите как использовать два, три и более макросов с чтением, записью переменных по сигналу в одну переменную?
Смысл следующий:
Через HMI вводим данные в сетевую переменную. нажимаем кнопку записать и она записывается в локальную переменную.
Далее через HMI вводим откуда считать переменную, нажимает кнопку считать, она залетает в сетевую переменную.
Если макрос использовать Save, то он перезаписывается нулем.
Читал, смотрел, пробовал, никак не получается реализовать. Пробовал через запись переменных саму в себя, тоже не очень выходит когда несколько макросов.
63311
63312

Sergej_
23.10.2022, 16:53
Подскажите как использовать два, три и более макросов с чтением, записью переменных по сигналу в одну переменную?
Смысл следующий:
Через HMI вводим данные в сетевую переменную. нажимаем кнопку записать и она записывается в локальную переменную.
Далее через HMI вводим откуда считать переменную, нажимает кнопку считать, она залетает в сетевую переменную.
Если макрос использовать Save, то он перезаписывается нулем.
Читал, смотрел, пробовал, никак не получается реализовать. Пробовал через запись переменных саму в себя, тоже не очень выходит когда несколько макросов.
63311
63312

Вы бы повнятней изложили, какая переменная, откуда берем, куда (в какой прибор) отправляем. Что получить хочем. HMI имеете ввиду Пр или панельку какую-то?

ProRus
23.10.2022, 17:31
Вроде как получилось реализовать так как мне нужно. Верно ли я сделал?
63314
63313

Сергей0308
23.10.2022, 19:27
Вроде как получилось реализовать так как мне нужно. Верно ли я сделал?
63314
63313

Это что за лабуда?
Куда Вы собрались писать по сети?
Если ПР200(ИПП120) мастер(инициатор сетевого обмена), там отдельные переменные можно назначить для записи и чтения, в смысле, ничего мудрить не надо!

Dimensy
23.10.2022, 19:34
Вроде как получилось реализовать так как мне нужно. Верно ли я сделал?


Так здесь у вас команды на запись идут с входов ПР, а вы говорили, что надо на кнопку HMI нажимать.

ProRus
24.10.2022, 08:42
Это что за лабуда?
Куда Вы собрались писать по сети?
Если ПР200(ИПП120) мастер(инициатор сетевого обмена), там отдельные переменные можно назначить для записи и чтения, в смысле, ничего мудрить не надо!

Все представленное мной является примером.
Для экспериментов я не прописывал конфигурацию контроллера.
Я понимаю, что существуют локальные и сетевые переменные для записи и чтения.
Вопрос был немного в другом.
Как заставить читать или записывать переменные по внешнему сигналу.
Но вроде как удалось реализовать макрос, который так делает.
63325
Смысл следующий:
---Чтение данных---
На HMI (Kinco GL070E) мы переходим в раздел определенного канала (например №1).
Опираясь на номер канала, передаем в Owen (переменная n_channel) номер канала и сигнал на чтение данных (переменная n_load) из определенной локальной переменной в сетевую.
На экран панели выводим из сетевой переменной необходимые данные. Таким образом получаем данные по определенному каналу на экран.
---Запись данных---
На HMI (Kinco GL070E) мы переходим в раздел определенного канала (например №1).
В переменные temp и hum (может быть больше переменный, у меня их планируется 24-ре на 8 каналов) с HMI (Kinco GL070E) мы заносим необходимые значения.
Далее нажимаем кнопку на панели HMI Сохранить и опираясь на номер канала, передаем в Owen номер канала (переменная n_channel) и сигнал на записи данных (переменная n_save, переменная n_load при этом изменяется на false) из сетевых переменных temp и hum в определённые локальные переменные.
Макрос можете посмотреть и сделать свои замечания скачав по ссылке ниже.
63329
Вроде как понятно описал.

ProRus
24.10.2022, 08:47
Вы бы повнятней изложили, какая переменная, откуда берем, куда (в какой прибор) отправляем. Что получить хочем. HMI имеете ввиду Пр или панельку какую-то?

Описал выше. (https://owen.ru/forum/showthread.php?t=26216&p=391478&viewfull=1#post391478)

ProRus
24.10.2022, 08:48
Это пример, для более простой отладки использовал входы.

1exan
24.10.2022, 09:09
Все представленное мной является примером.
Для экспериментов я не прописывал конфигурацию контроллера.
Я понимаю, что существуют локальные и сетевые переменные для записи и чтения.
Вопрос был немного в другом.
Как заставить читать или записывать переменные по внешнему сигналу.
Но вроде как удалось реализовать макрос, который так делает.
63325
Смысл следующий:
---Чтение данных---
На HMI (Kinco GL070E) мы переходим в раздел определенного канала (например №1).
Опираясь на номер канала, передаем в Owen (переменная n_channel) номер канала и сигнал на чтение данных (переменная n_load) из определенной локальной переменной в сетевую.
На экран панели выводим из сетевой переменной необходимые данные. Таким образом получаем данные по определенному каналу на экран.
---Запись данных---
На HMI (Kinco GL070E) мы переходим в раздел определенного канала (например №1).
В переменные temp и hum (может быть больше переменный, у меня их планируется 24-ре на 8 каналов) с HMI (Kinco GL070E) мы заносим необходимые значения.
Далее нажимаем кнопку на панели HMI Сохранить и опираясь на номер канала, передаем в Owen номер канала (переменная n_channel) и сигнал на записи данных (переменная n_save, переменная n_load при этом изменяется на false) из сетевых переменных temp и hum в определённые локальные переменные.
Макрос можете посмотреть и сделать свои замечания скачав по ссылке ниже.
63329
Вроде как понятно описал.

Вместо операций умножения и сложения для выбора текущего значения можно использовать 6 элементов SEL, включенных последовательно. На входе первого SEL можно оставить 0 или подать значение с выхода последнего SEL по линии задержки.

ProRus
24.10.2022, 10:17
Вместо операций умножения и сложения для выбора текущего значения можно использовать 6 элементов SEL, включенных последовательно. На входе первого SEL можно оставить 0 или подать значение с выхода последнего SEL по линии задержки.

Да, я знаю. Я с этого начинал, потом переделал по примеру макроса 7Sel, мне показалось более интересным решением.
Интересно по скорости исполнения сравнить, но не знаю как это сделать.
63330

Sergej_
24.10.2022, 10:26
Да, я знаю. Я с этого начинал, потом переделал по примеру макроса 7Sel, мне показалось более интересным решением.
Интересно по скорости исполнения сравнить, но не знаю как это сделать.
63330

Пока не загрузите в прибор, время цикла не узнаете.

ProRus
24.10.2022, 10:33
Пока не загрузите в прибор, время цикла не узнаете.
Буду очень благодарен если подскажете как правильно вычислить время необходимое на выполнение той или иной прошивки. Ведь они могут могут отличаться миллисекундами (хотя мне наверное, это не особо важно).
Может таймер какой засунуть в макрос?
Это наверное больше для любопытства.

Sergej_
24.10.2022, 10:48
В менеджер компонентов есть макрос. Это один путь .другой посмотреть на экране ПР200 для этого зайти в сист. Меню.

1exan
24.10.2022, 11:01
Да, я знаю. Я с этого начинал, потом переделал по примеру макроса 7Sel, мне показалось более интересным решением.
Интересно по скорости исполнения сравнить, но не знаю как это сделать.
63330

Сомневаюсь что в скорости будет заметна разница.
Разве что сравнивать сразу по несколько сотен копий каждого из макросов, тогда может и будет разница в цикле.

Если бы это был IF, то его использование было явно лучше арифметики, а вот какой код порождает блок SEL - это вопрос.

Sergej_
24.10.2022, 11:16
Конечно, заморачиваться с скоростью не нужно. Сделайте сперва чтоб работало, заодно поднаберетесь опыта, потом оптимизируйте . У меня их немного самая большая, если судить по ресурсам 60 примерно процентов занимает. И проект 12мбайт все это условно конечно время цикла ,если не ошибаюсь 36 м.с.

ProRus
24.10.2022, 11:32
В менеджер компонентов есть макрос. Это один путь .другой посмотреть на экране ПР200 для этого зайти в сист. Меню.
Спасибо! Посмотрю.

ProRus
24.10.2022, 11:33
Если бы это был IF, то его использование было явно лучше арифметики
Спасибо!
Заменил.

ProRus
24.10.2022, 11:34
И проект 12мбайт все это условно конечно время цикла ,если не ошибаюсь 36 м.с.
Круто, тогда не буду переживать по этому поводу. По крайней мере пока.

Flying Labrador
24.10.2022, 20:07
Добрый вечер, помогите разобраться, что значит предложение "совместно с номером индекса 8". Какой в какой регистр мне передавать значение? допустим параметр 3-41, регистр 3409
63343

Sergej_
25.10.2022, 03:14
Добрый вечер, помогите разобраться, что значит предложение "совместно с номером индекса 8". Какой в какой регистр мне передавать значение? допустим параметр 3-41, регистр 3409
63343

Будет неплохо, если Вы сообщите о чем речь.

Flying Labrador
25.10.2022, 07:13
В общем, я по rs-485 пробую записать данные в регистры ПЧВ с помощью сетевых переменных owen logic. В мануале к ПЧВ перед таблицей регистров указан данный пункт, и вот я не могу понять, что за регистр 8, и как его использовать для записи в ПЧ. Соответственно ПР200 - мастер, ПЧВ - слейв

Sergej_
25.10.2022, 07:18
В общем, я по rs-485 пробую записать данные в регистры ПЧВ с помощью сетевых переменных owen logic. В мануале к ПЧВ перед таблицей регистров указан данный пункт, и вот я не могу понять, что за регистр 8, и как его использовать для записи в ПЧ. Соответственно ПР200 - мастер, ПЧВ - слейв

Вы партизан :) дайте ссылку на мануал пч.

Flying Labrador
25.10.2022, 07:26
Да, конечно https://owen.ru/uploads/adresaciya_registrov_pchv12.pdf

Sergej_
25.10.2022, 07:30
Да, конечно https://owen.ru/uploads/adresaciya_registrov_pchv12.pdf

Еще вопрос, что конкретно Вы хотите, просто пуск, стоп, реверс или еще что-то .Задачу ПЧ вообщем.

Flying Labrador
25.10.2022, 07:36
Еще вопрос, что конкретно Вы хотите, просто пуск, стоп, реверс или еще что-то .Задачу ПЧ вообщем.

С параметрами которые касаются командного слова (типа: пуск, стоп, реверс и т.д.) проблем нет, так как существует замечательный макрос для ПЧ. Мне же нужно изменить параметр 3-41 (время разгона), напрямую записать в регистр не получается, вот я и ищу подвохи

Sergej_
25.10.2022, 07:42
С параметрами которые касаются командного слова (типа: пуск, стоп, реверс и т.д.) проблем нет, так как существует замечательный макрос для ПЧ. Мне же нужно изменить параметр 3-41 (время разгона), напрямую записать в регистр не получается, вот я и ищу подвохи

А как Вы пробовали писать? Выложите.там формат 32 разряда.
Овен как всегда чудит Uint32 0,05 -3600 3409

Flying Labrador
25.10.2022, 07:47
А как Вы пробовали писать? Выложите.там формат 32 разряда .[

Скорее всего я не понимаю каких-то базовых принципов. Но в общем вот, использую сетевую переменную, с соответствующим номером регистра и пытаюсь ее передать. Общая схема: СП307(мастер) - ПР200(слейв/мастер) - ПЧВ1 (слейв)
63345

Sergej_
25.10.2022, 07:51
Скорее всего я не понимаю каких-то базовых принципов. Но в общем вот, использую сетевую переменную, с соответствующим номером регистра и пытаюсь ее передать63345

Да, Вы разберитесь с форматами данных. А именно что такое регистр, что такое формат числа,.Если смотреть по мануалу там какая-то чушь формат Uint32 возможные значения 0,05 -3600 что противоречит формату.
Далее, сетевая пр-ки целочисленная 16 разрядов , 2 байта по 8 бит.И тут есть повох это чередование байт. Попробуйте для начала поменять их местами (байты). Скорей всего у Вас эта проблема.

Flying Labrador
25.10.2022, 08:05
Спасибо, что касается форматов данных, пока не понимаю, попытаюсь разобраться, но все же каким образом поменять байты местами? это вообще возможно сделать в OL?

Sergej_
25.10.2022, 08:08
Спасибо, что касается форматов данных, пока не понимаю, попытаюсь разобраться, но все же каким образом поменять байты местами? это вообще возможно сделать в OL?

Конечно. Изучайте справку , без туда не вынуть рыбку из пруда.:)

Sergej_
25.10.2022, 08:24
Меню прибор-настройки прибора-интерфейс-слот и т.д. увидите меню с сетевыми.

1exan
25.10.2022, 08:32
Да, Вы разберитесь с форматами данных. А именно что такое регистр, что такое формат числа,.Если смотреть по мануалу там какая-то чушь формат Uint32 возможные значения 0,05 -3600 что противоречит формату.
Далее, сетевая пр-ки целочисленная 16 разрядов , 2 байта по 8 бит.И тут есть повох это чередование байт. Попробуйте для начала поменять их местами (байты). Скорей всего у Вас эта проблема.

Там же написано над таблицей:
..
В некоторых параметрах по умолчанию смещено положение десятичной точки, для
того чтобы осуществлять передачу в формате регистра. Например значение регистра 16-13, равное 504, указывает на частоту привода 50,4 Гц.
..

Для этого параметра коэффициент 0.01 - значит значения будут в диапазоне 5...360000

Sergej_
25.10.2022, 08:36
Там же написано над таблицей:
..
В некоторых параметрах по умолчанию смещено положение десятичной точки, для
того чтобы осуществлять передачу в формате регистра. Например значение регистра 16-13, равное 504, указывает на частоту привода 50,4 Гц.
..

Для этого параметра коэффициент 0.01 - значит значения будут в диапазоне 5...360000
Верно не прочел. ПЧ овен не использовал , в других обычно коэффицент в скобках в каждой подобной ячейке.

1exan
25.10.2022, 08:42
Верно не прочел. ПЧ овен не использовал , в других обычно коэффицент в скобках в каждой подобной ячейке.

Так и есть, там в каждой строке с параметром свой коэффициент

Flying Labrador
25.10.2022, 08:52
Там же написано над таблицей:
..
В некоторых параметрах по умолчанию смещено положение десятичной точки, для
того чтобы осуществлять передачу в формате регистра. Например значение регистра 16-13, равное 504, указывает на частоту привода 50,4 Гц.
..

Для этого параметра коэффициент 0.01 - значит значения будут в диапазоне 5...360000

Подскажите тогда пожалуйста как записать значение в регистр

1exan
25.10.2022, 09:04
Подскажите тогда пожалуйста как записать значение в регистр

Практики использования ПР в качестве мастера у меня нет, но попробуйте:
Добавьте целочисленную переменную в свое устройство, адрес регистра укажите 3408, поставьте для этой переменной количество регистров - 2. Ну а потом подберете методом тыка последовательность байт при передаче для этого устройства.

Sergej_
25.10.2022, 10:06
Практики использования ПР в качестве мастера у меня нет, но попробуйте:
Добавьте целочисленную переменную в свое устройство, адрес регистра укажите 3408, поставьте для этой переменной количество регистров - 2. Ну а потом подберете методом тыка последовательность байт при передаче для этого устройства.

Если не выйдет попробуйте так же только с адреса 3409 и попробовать менять еще очередность регистров. Я делал на ПЧ ДЭ. но ноута с проектом нет. Не помню. UINT32 подразумевает 2 регистра .
У Вас заморочка в этих особенностях. очередность не стандартизована и может в разных приборах отличаться. Связь есть. пуск-стоп работает пробуйте в этом месте. в значении не забывайте про коэффициент.

Flying Labrador
25.10.2022, 10:08
Практики использования ПР в качестве мастера у меня нет, но попробуйте:
Добавьте целочисленную переменную в свое устройство, адрес регистра укажите 3408, поставьте для этой переменной количество регистров - 2. Ну а потом подберете методом тыка последовательность байт при передаче для этого устройства.

Так сделать? регистр 3508, потому что в командном слове изменение скорости 1. А последовательность байт в отмеченной области менять или как-то по другому?

63346

Sergej_
25.10.2022, 10:18
Так сделать? регистр 3508, потому что в командном слове изменение скорости 1. А последовательность байт в отмеченной области менять или как-то по другому?

63346

Внимательней с адресом. У вас близко не тот.

Flying Labrador
25.10.2022, 10:21
Внимательней с адресом. У вас близко не тот.

Это зависит от типа изменения скорости, у меня в командном слове указан второй

63347

1exan
25.10.2022, 10:24
Так сделать? регистр 3508, потому что в командном слове изменение скорости 1. А последовательность байт в отмеченной области менять или как-то по другому?

63346

Последовательность - методом тыка, в документации не описано (или я не увидел)

Sergej_
25.10.2022, 10:30
Это зависит от типа изменения скорости, у меня в командном слове указан второй

63347

Целиком прочту РЭ. могут же они намутить. все не по людски. У Вас что то получилось.? После перемен регистров.байт? Я помню что переставлял что-то из этих настроек. но года два прошло.

Flying Labrador
25.10.2022, 10:40
Целиком прочту РЭ. могут же они намутить. все не по людски. У Вас что то получилось.? После перемен регистров.байт? Я помню что переставлял что-то из этих настроек. но года два прошло.

Только что все возможные комбинации прогнал, выхлопа 0. Я же правильно понимаю, по принципу действия: я передаю значение в сетевую переменную с нужным регистром, и зависимое устройство должно изменить свое значение? Просто я попробовал по RS-485 напрямую через конфигуратор ПЧВ менять, и таким образом все получилось, но там нужно нажать отдельно нажать на кнопку записи. Возможно в программе тоже должен быть какой-нибудь "триггер" для записи?

Sergej_
25.10.2022, 10:48
Только что все возможные комбинации прогнал, выхлопа 0. Я же правильно понимаю, по принципу действия: я передаю значение в сетевую переменную с нужным регистром, и зависимое устройство должно изменить свое значение? Просто я попробовал по RS-485 напрямую через конфигуратор ПЧВ менять, и таким образом все получилось, но там нужно нажать отдельно нажать на кнопку записи. Возможно в программе тоже должен быть какой-нибудь "триггер" для записи?

Какое значение Вы пытались записать. Связь есть вообще? Из этого поста я понял что макрос Вы именно сейчас не использовали? На вкладке с настройками(там же где чередование) есть пунктик "статус" создайте там переменную булеву. и смотрите на нее если связь норм. она 1 если нет 0.


Возможно в программе тоже должен быть какой-нибудь "триггер" для записи В настройках" запись по изменению"

Sergej_
25.10.2022, 10:52
Настройки ПЧ не меняли. я о разрешении управления по сети и т.п.? И прочтите вступают ли эти изменения без перезагрузки ПЧ.?Попробуйте еще выставить этот параметр на морде и посмотреть меняется он или нет после записи с ПР. . Я еще до РЭ не добрался.

Flying Labrador
25.10.2022, 10:55
Какое значение Вы пытались записать. Связь есть вообще? Из этого поста я понял что макрос Вы именно сейчас не использовали? На вкладке с настройками(там же где чередование) есть пунктик "статус" создайте там переменную булеву. и смотрите на нее если связь норм. она 1 если нет 0.

В настройках" запись по изменению"

галочка "запись по изменению активна". Макрос не использую, сейчас задача просто изменить конкретный параметр в ПЧ. А связь очевидно должна же быть, так как остальные переменные, типо командного слова, слова состояния, задания частоты по интерфейсу — активны

Flying Labrador
25.10.2022, 10:59
Настройки ПЧ не меняли. я о разрешении управления по сети и т.п.? И прочтите вступают ли эти изменения без перезагрузки ПЧ.? Я еще до РЭ не добрался.

в ПЧ Выставлены такие параметры

63350

Sergej_
25.10.2022, 11:06
Какое значение писали . до какой скорости разгон. ?

Flying Labrador
25.10.2022, 11:08
Настройки ПЧ не меняли. я о разрешении управления по сети и т.п.? И прочтите вступают ли эти изменения без перезагрузки ПЧ.?Попробуйте еще выставить этот параметр на морде и посмотреть меняется он или нет. в этом я не уверен. Я еще до РЭ не добрался.

параметр меняется без перезагрузки, изменить я его могу и с "морды" и просто по RS-485. А вот с ПРкой связать пока не получается

Flying Labrador
25.10.2022, 11:10
Какое значение писали . до какой скорости разгон. ?

там время в секундах, я его высчитываю как заданные обороты (об/мин)/ускорение (об/(мин/с)). Ну допустим 10000 оборотов/мин с ускорением 1000, значит время разгона, 3-51 должно составить 10 сек

lagutin
25.10.2022, 11:14
Здравствуйте. Есть сетевая переменная - идет на слейв порт 485. Она является энергонезависимой, как тут говорили. Она же будет и уставкой. Редактируется с экрана и по RS. При уставке 0 - моя прога виснет. С экрана то я могу задать диапазон ввода, а по сети как назначить диапазон? Или запретить назначение уставки 0...
Вобщем то запретить действия при нулевой уставке не сложно одним элементом И, но как это грамотно решается? Может функцией, к примеру если уставка =0 то уставка =1 ???

Sergej_
25.10.2022, 11:14
там время в секундах, я его высчитываю как заданные обороты (об/мин)/ускорение (об/(мин/с)). Ну допустим 10000 оборотов/мин с ускорением 1000, значит время разгона, 3-51 должно составить 10 сек

В переменную что записываете . какую цифирь мож.некорректную.? Поробуйте в нее (в переменную)просто записать в лоб. только не в секундах пересчитайте в соответствии с коэфф.. Почитаю сейчас РЭ я овеновское кроме ПР ничего не использовал. Прочту неторопясь.

Sergej_
25.10.2022, 11:16
Здравствуйте. Есть сетевая переменная - идет на слейв порт 485. Она является энергонезависимой, как тут говорили. Она же будет и уставкой. Редактируется с экрана и по RS. При уставке 0 - моя прога виснет. С экрана то я могу задать диапазон ввода, а по сети как назначить диапазон? Или запретить назначение уставки 0...
Вобщем то запретить действия при нулевой уставке не сложно одним элементом И, но как это грамотно решается? Может функцией, к примеру если уставка =0 то уставка =1 ???

Вы про какой прибор . если ПР ка, то в ОЛ есть макросы ограничения см. менеджер компонентов.

Flying Labrador
27.10.2022, 08:13
Проблема с записью данных формата Uint32 в регистры ПЧВ по rs-485 решена. Ввод данных осуществляется через панель СП307, в связи с этим необходимо изменить тип значения при вводе данных на "DWORD". Плюс, как правильно подметили в ОЛ для переменной нужно указать 2 регистра, функцию записи 0х10 и изменить очередность регистров (старшим регистром вперед) (3,4,1,2). Так же нашел небольшое обсуждение на форуме https://forum.segnetics.com/showthread.php?t=2666. Может кому-то будет полезно. Спасибо Sergej_ и 1exan за помощь.

Сергей0308
27.10.2022, 21:46
Проблема с записью данных формата Uint32 в регистры ПЧВ по rs-485 решена. Ввод данных осуществляется через панель СП307, в связи с этим необходимо изменить тип значения при вводе данных на "DWORD". Плюс, как правильно подметили в ОЛ для переменной нужно указать 2 регистра, функцию записи 0х10 и изменить очередность регистров (старшим регистром вперед) (3,4,1,2). Так же нашел небольшое обсуждение на форуме https://forum.segnetics.com/showthread.php?t=2666. Может кому-то будет полезно. Спасибо Sergej_ и 1exan за помощь.

С Вами и не поспоришь, просто сам капитан очевидность, в смысле, 32-х битная переменная займёт два регистра по 16 бит!

ivydy
28.10.2022, 11:14
Здравствуйте. Прочитал, что сетевые int-овые переменные могут принимать значения только в диапазоне от 0...65535. А что делать, если мне нужно передать целое число не из этого диапазона, например 1000000 или -50 ? Как это проще реализовать?

petera
28.10.2022, 11:28
Здравствуйте. Прочитал, что сетевые int-овые переменные могут принимать значения только в диапазоне от 0...65535. А что делать, если мне нужно передать целое число не из этого диапазона, например 1000000 или -50 ? Как это проще реализовать?

1000000 нужно разбить на две части(15*65536 + 16960) - младшую и старшую и положить в две соседние сетевые переменные
63469

для -50 ничего делать ненужно, все получится автоматом, т.к. ОЛ запишет -50 в сетевую переменную в дополнительном коде, (4294967246 dec ==FFFFFFCE hex) из FFFFFFCE в сетевую перемнную попадет младшая часть FFCE
63467

ivydy
28.10.2022, 12:25
спасибо за ответ. А не подскажите почему может быть неактивна кнопка "Онлайн-отладка"? ПК соединен с ПР103 через Ethernet. Программа заливается нормально, а в онлайн-режим не заходит

1exan
28.10.2022, 12:30
спасибо за ответ. А не подскажите почему может быть неактивна кнопка "Онлайн-отладка"? ПК соединен с ПР103 через Ethernet. Программа заливается нормально, а в онлайн-режим не заходит

Не сделали ещё, ждём

Fox-spd
30.10.2022, 18:08
Всем добрый вечер, прошу в помощи разработки программы. Суть в следующем: необходимо включить две группы нагревателей по 10 минут на каждую но только тогда, когда температура воздуха буде ниже -5 градусов датчик пт 1000.

Dimensy
30.10.2022, 18:20
Всем добрый вечер, прошу в помощи разработки программы. Суть в следующем: необходимо включить две группы нагревателей по 10 минут на каждую но только тогда, когда температура воздуха буде ниже -5 градусов датчик пт 1000.

Обе группы включить на 10 минут? Или 10 мин работа, 10 мин пауза?

Fox-spd
30.10.2022, 20:56
Обе группы включить на 10 минут? Или 10 мин работа, 10 мин пауза?

10 мин работает одна, потом 10 мин работает другая, если температура поднимается выше -5 то работа прекращается

petera
30.10.2022, 21:14
10 мин работает одна, потом 10 мин работает другая, если температура поднимается выше -5 то работа прекращается

Например
63530

Fox-spd
30.10.2022, 21:25
Спасибо попробую

Fox-spd
30.10.2022, 22:37
Спасибо за помощь все получилось!!!

Сергей0308
31.10.2022, 03:05
Есть же в менеджере компонентов двухпозиционный регулятор с гистерезисом, в смысле, чтобы не "щёлкало" при температуре около -5°С.

RomanKk
01.11.2022, 22:01
Начал программировать ПР200 для вентиляции. По немного собираю комманды, но с некоторыми возникают сложности.
Например как реализовать следующее. Есть кнопка без фиксации, используется для подачи сигнала на DI1. Результатом должен быть запуск/остановка системы. Хотелось бы чтобы сигнал подавался с заддержкой, например 3 сек, чтобы не было ложных срабатываний. То есть, если случайно нажать кнопку, то ничего не произойдет, а если зажать на 3 сек, то сигнал будет подан. Соответственно первое нажатие запускает систему, повторное останавливает, и тд. Ну и можно чтобы текущее состояние хранилось в памяти, на случай отсутствия электричества, или чтобы было значение по умолчанию выключено, то есть нужно вручную перезапускать. Не знаю как лучше.
Кажется вроде мелочь, но не могу пока понять как это сделать. Если кто-то подскажет, буду благодарен.

Dimensy
01.11.2022, 22:19
Начал программировать ПР200 для вентиляции. По немного собираю комманды, но с некоторыми возникают сложности.
Например как реализовать следующее. Есть кнопка без фиксации, используется для подачи сигнала на DI1. Результатом должен быть запуск/остановка системы. Хотелось бы чтобы сигнал подавался с заддержкой, например 3 сек, чтобы не было ложных срабатываний. То есть, если случайно нажать кнопку, то ничего не произойдет, а если зажать на 3 сек, то сигнал будет подан. Соответственно первое нажатие запускает систему, повторное останавливает, и тд. Ну и можно чтобы текущее состояние хранилось в памяти, на случай отсутствия электричества, или чтобы было значение по умолчанию выключено, то есть нужно вручную перезапускать. Не знаю как лучше.
Кажется вроде мелочь, но не могу пока понять как это сделать. Если кто-то подскажет, буду благодарен.

Это элементарно делается

63571

RomanKk
02.11.2022, 00:01
Это элементарно делается

63571

Спасибо, пойду разбиратся.

spring
06.11.2022, 14:01
Приветствую Вас!
Пользователь форума я новый, только начинаю вникать в OWEN Logic.
Уж прошу не ругать за возможно глупый вопрос.
Столкнулся со следующим: создал проект в OWEN Logic и отправил его по почте на другой комп, где OWEN Logic тоже конечно же есть.
Так вот там, проект не открывается. На чем все и стало. При попытке открытия проекта из программы, прога его не видит. При попытке открытия самого проекта комп ругается. Картинку ругани прилагаю.
На "компе-родителе" проекта, все работает.

В связи с чем прошу пояснить, что не так и где? И что делать.
Желательно "для особо одаренных".

Сергей0308
06.11.2022, 15:18
Приветствую Вас!
Пользователь форума я новый, только начинаю вникать в OWEN Logic.
Уж прошу не ругать за возможно глупый вопрос.
Столкнулся со следующим: создал проект в OWEN Logic и отправил его по почте на другой комп, где OWEN Logic тоже конечно же есть.
Так вот там, проект не открывается. На чем все и стало. При попытке открытия проекта из программы, прога его не видит. При попытке открытия самого проекта комп ругается. Картинку ругани прилагаю.
На "компе-родителе" проекта, все работает.

В связи с чем прошу пояснить, что не так и где? И что делать.
Желательно "для особо одаренных".

Может обновить надо ОЛ, если там, где проект пытаетесь открыть, версия ОЛ более старая, разумеется проект не откроется, короче, какие версии ОЛ на каждом из ПК?

spring
06.11.2022, 17:16
Версии должны быть одинаковые. По идее.
Ибо, установлены с одного и того же файла скаченного с оф сайта Овен. вот с этого - Setup_OwenLogic_1.23.296.exe

spring
06.11.2022, 18:53
Вот блин!...
Наверное так оно есть! Версии разные! Яж саморучно на своем компе прогу обновил. И забыл об этом сразу...
А надругом компе, я точно ничего не обновлял. И очень неуверен, что "хозяин" компа это делал.

Всех благодарю!

Сергей0308
06.11.2022, 19:05
Так в чём проблема, хозяин не может кнопку обновить нажать? Как бы разумное существо при такой проблеме это бы сделало в первую очередь, без всяких подсказок, это я так думаю!

Alex_koltushi
07.11.2022, 09:45
Здравствуйте, нужна подсказка. Есть ПР102-24.2416.16 с двумя модулями ПРМ-24.2, надо подключить 4 датчика Pt100, в настройках входов нет варианта выбора Pt100. Пробовал через макрос (Pt100) завести и выбрав на AI сопротивление 0-300кОм, но температура комнатная прыгает от 22 до 27 градусов, хотя сопротивление датчика меняется незначительно. Как поступить в данной ситуации?
63680

Сергей0308
07.11.2022, 10:24
Здравствуйте, нужна подсказка. Есть ПР102-24.2416.16 с двумя модулями ПРМ-24.2, надо подключить 4 датчика Pt100, в настройках входов нет варианта выбора Pt100. Пробовал через макрос (Pt100) завести и выбрав на AI сопротивление 0-300кОм, но температура комнатная прыгает от 22 до 27 градусов, хотя сопротивление датчика меняется незначительно. Как поступить в данной ситуации?
63680

Мне кажется, такая приблуда должна помочь: МВ110-224.8А
При условии подключения по трёхпроводной схеме(с автоматической компенсацией сопротивления проводов)!
https://owen.ru/product/moduli_analogovogo_vvoda_s_universal_nimi_vhodami_ s_interfejsom_rs_485/specifications
При этом ПР должна иметь сетевой интерфейс для считывания показаний.

kondor3000
07.11.2022, 11:15
Здравствуйте, нужна подсказка. Есть ПР102-24.2416.16 с двумя модулями ПРМ-24.2, надо подключить 4 датчика Pt100, в настройках входов нет варианта выбора Pt100. Пробовал через макрос (Pt100) завести и выбрав на AI сопротивление 0-300кОм, но температура комнатная прыгает от 22 до 27 градусов, хотя сопротивление датчика меняется незначительно. Как поступить в данной ситуации?


Или ПРМ-24.3, немного дешевле МВ110-224.8А
https://owen.ru/forum/showthread.php?t=36968&p=392805#post392805

Сергей0308
07.11.2022, 11:23
Или ПРМ-3, немного дешевле МВ110-224.8А
https://owen.ru/forum/showthread.php?t=36968&p=392805#post392805

Вроде как можно не более двух подключить, в смысле, все места уже заняты, наверно выгодней применить ПР103 с большим количеством дискретных входов-выходов, тогда освободятся места для ПРМ-3 или ПРМ-3 и модули дискретного ввода по RS485, но это считать надо.
И МВ110-224.8А по-моему дешевле, это парадоксально, но это так, по цене на один вход!

Если товарищ два ПРМ-2 для подключения четырёх ПТ100 покупал, то это неправильно, надо было вместо двух ПРМ-2 - один ПРМ-3 купить!

RomanKk
10.11.2022, 17:31
Два простиых вопроса.
1. Подскажите как создать макрос по типу включение/выключение с заддержкой (TON/TOF), но чтобы время задавалось из меню ПР200, а не в прошивке. Время в секундах - 30с, 45с, 120с и тд.
2. Написал небольшой макрос для одной задачи внутри одного одного большого макроса. Суть, когда оба вентилятора включены - лампочка просто светит, когда один или оба вентилятора выдают ошибку - лампочка мигает.
Вроде просто, у меня получлось вот так, может есть более правильный вариант?
63767

И в добавку к миганию лампочки, на сколько безопасно для реле такое переключение? Например мигать 0.5/0.5 сек, это же два раза за секунду реле вкл/выкл. Не навредит это контактам? Может ограничивать время мигания?

Dimensy
10.11.2022, 19:03
Два простиых вопроса.
1. Подскажите как создать макрос по типу включение/выключение с заддержкой (TON/TOF), но чтобы время задавалось из меню ПР200, а не в прошивке. Время в секундах - 30с, 45с, 120с и тд.
2. Написал небольшой макрос для одной задачи внутри одного одного большого макроса. Суть, когда оба вентилятора включены - лампочка просто светит, когда один или оба вентилятора выдают ошибку - лампочка мигает.
Вроде просто, у меня получлось вот так, может есть более правильный вариант?
63767

И в добавку к миганию лампочки, на сколько безопасно для реле такое переключение? Например мигать 0.5/0.5 сек, это же два раза за секунду реле вкл/выкл. Не навредит это контактам? Может ограничивать время мигания?

1. Использовать вот это
63770
только помните, что время здесь надо задавать в миллисекундах
2. Если не долго, то не повредит. хотя можете подстраховаться и поставить 1/1 сек или вообще, вывести на другую лампочку. А если ПР200 и не нужны аналоговые выходы, то есть ПР200 с транзисторными выходами

RomanKk
10.11.2022, 19:29
Спасибо. На счет лампочки, а как вывод на другую лампочку спасет ситуацию, что изменится? Или просто не мигать, а светить постоянно? Вот и я подумал, что можно ограничить счетчиком количество миганий. Хотя после этого потеряется смысл мигания, так как его можно не увидеть, лампочка помигает какое-то время и перестанет. Конечно есть отдельная лампочка для аварий, можно вывести туда сигнал. Но в таком случае на эту лампочку будут выводится все аварии и понять какая авария можно только с экрана ПР200. Хотя может так и правильно.

Dimensy
10.11.2022, 19:57
Спасибо. На счет лампочки, а как вывод на другую лампочку спасет ситуацию, что изменится? Или просто не мигать, а светить постоянно? Вот и я подумал, что можно ограничить счетчиком количество миганий. Хотя после этого потеряется смысл мигания, так как его можно не увидеть, лампочка помигает какое-то время и перестанет. Конечно есть отдельная лампочка для аварий, можно вывести туда сигнал. Но в таком случае на эту лампочку будут выводится все аварии и понять какая авария можно только с экрана ПР200. Хотя может так и правильно.

Не встречал, чтобы выделяли на отдельную аварию сигнал. Поставьте вместо лампочки Авария индикатор СМИ-2М и выводите на него красным цветом код ошибки

RomanKk
10.11.2022, 20:38
Ну я же для себя делаю и в первый раз, поэтому подумал что можно использовать одну лампочку для работа/ошибка вентиляторов, а для всех аварий отдельную лампочку. Хотя точнее ошибка вентилятора тут подразумевается что он отключен, в то время когда система работает. А отключатся он может только в случае срабатывания реле перепада давления или в случае обмерзания рекуператора. В общем это не по теме, еще подумаю нужно ли это, или все таки на отдельную лампочку выводить.

Сергей0308
10.11.2022, 22:12
Если выходов хватает, можно, чтобы не мигать, использовать двухцветные лампы: https://meyertec.owen.ru/product/mt22_wd24#tech
Например: работа - зелёное, авария - красное свечение!
Если предлагают СМИ2-М использовать, то можно все аварии по очереди показывать, вот здесь решали подобную задачу: https://owen.ru/forum/showthread.php?t=31076&page=2

RomanKk
12.11.2022, 02:22
Отображение температуры при симуляции.
Написал небольшой кусок сценария, там задействованы показания с датчиков РТ1000, сравнение с уставками и дальше по сценарию. Но температуры отображаются вот так, при этом они не учитываются в алгоритмах. Как-то можно проверить на симуляторе или только на самом ПР200 в живую?
63793

Sergej_
12.11.2022, 04:34
Отображение температуры при симуляции.
Написал небольшой кусок сценария, там задействованы показания с датчиков РТ1000, сравнение с уставками и дальше по сценарию. Но температуры отображаются вот так, при этом они не учитываются в алгоритмах. Как-то можно проверить на симуляторе или только на самом ПР200 в живую?
63793

Что Вас смущает в отображении чисел? Это нормально, в ОЛ так .https://ru.wikipedia.org/wiki/%D0%AD%D0%BA%D1%81%D0%BF%D0%BE%D0%BD%D0%B5%D0%BD%D 1%86%D0%B8%D0%B0%D0%BB%D1%8C%D0%BD%D0%B0%D1%8F_%D0 %B7%D0%B0%D0%BF%D0%B8%D1%81%D1%8C

Сергей0308
12.11.2022, 09:53
Отображение температуры при симуляции.
Написал небольшой кусок сценария, там задействованы показания с датчиков РТ1000, сравнение с уставками и дальше по сценарию. Но температуры отображаются вот так, при этом они не учитываются в алгоритмах. Как-то можно проверить на симуляторе или только на самом ПР200 в живую?
63793

Это стандартный вид числа, неоднократно уже рассказывал на форуме, такое впечатление, что мало кто в школе учится, наверно в классе 5-6 это изучают, жаль не все!
Наверно скоро дойдёт и до такого: будут спрашивать что это и что это, будем объяснять: это цифра один, а это цифра два!
Короче, не зная школьной программы боюсь далеко не уедешь!
И, чтобы избавится от такого представления, можно значение округлить до нужного количества знаков после запятой, тоже много раз макрос выкладывал в разных темах!
Вот проект с макросом для округления:

63794

kondor3000
12.11.2022, 09:55
Отображение температуры при симуляции.
Написал небольшой кусок сценария, там задействованы показания с датчиков РТ1000, сравнение с уставками и дальше по сценарию. Но температуры отображаются вот так, при этом они не учитываются в алгоритмах. Как-то можно проверить на симуляторе или только на самом ПР200 в живую?


Для чисел с плавающей запятой (2 регистра) это нормально. Если вас смущает такое отображение 5.49е+01, переведите в целочисленное будет 54 градуса (потеряете число после запятой).
Или умножьте на 10 и переведите будет 549 ( вы должны помнить что при получении опять конвертировать и разделить на 10). Зато таким образом можно передать температуру через один регистр, что иногда очень помогает.

Dimensy
12.11.2022, 10:13
Отображение температуры при симуляции.
Написал небольшой кусок сценария, там задействованы показания с датчиков РТ1000, сравнение с уставками и дальше по сценарию. Но температуры отображаются вот так, при этом они не учитываются в алгоритмах. Как-то можно проверить на симуляторе или только на самом ПР200 в живую?


Так на экранчике ПР200 вы задаете как отображать температуры. А как они там внутри программы выглядят вообще без разницы

RomanKk
12.11.2022, 10:29
Так я понимаю что числа отображаются так. Вопрос был в том, что они не учитываются в симуляции. На экране ПР200 отображается нормально.

Dimensy
12.11.2022, 10:53
Так я понимаю что числа отображаются так. Вопрос был в том, что они не учитываются в симуляции. На экране ПР200 отображается нормально.

Объясните, пожалуйста, что конкретно не учитывается?
63795

RomanKk
12.11.2022, 19:15
Странно, проверил еще раз, вроде все работает. То есть по таблице подобрал показания датчика РТ1000 и проверил.

Дополнительный вопрос, если ли какие-то проекты в свободном доступе для ПР200 для вентиляции (с рекуператором)? В библиотеке есть пару макросов, но они кажется универсальные/типичные, конкретно для моего случая не подходят, или нуждаются в переработке чуть ли не полностью.

2s19
21.11.2022, 17:26
Извиняюсь не в ту тему написал

Filini
22.11.2022, 21:43
Странно, проверил еще раз, вроде все работает. То есть по таблице подобрал показания датчика РТ1000 и проверил.

Дополнительный вопрос, если ли какие-то проекты в свободном доступе для ПР200 для вентиляции (с рекуператором)? В библиотеке есть пару макросов, но они кажется универсальные/типичные, конкретно для моего случая не подходят, или нуждаются в переработке чуть ли не полностью.

так каждая схема вентустановки требует свой макрос.

товарищ
24.11.2022, 22:32
Здравствуйте. Несколько часов рою форум, но объяснения не нашел. В менеджере компонентов есть макрос для реализации бегущей строки TICKET. Как сделать так, чтобы бегущая строка, занимающая 8 знакомест экрана ПР200 не перекрывала остальные 8 мест, находящиеся в этой же строке экрана. Есть два моих проекта, в одном вся строка перекрывается бегущим текстом, в другом, как положено только отведенное ему количество знакомест, разницы между ними не вижу. Если надо проекты выложу, но думаю с этим встречались уже многие, подскажите что исправить?

Dimensy
25.11.2022, 08:24
Здравствуйте. Несколько часов рою форум, но объяснения не нашел. В менеджере компонентов есть макрос для реализации бегущей строки TICKET. Как сделать так, чтобы бегущая строка, занимающая 8 знакомест экрана ПР200 не перекрывала остальные 8 мест, находящиеся в этой же строке экрана. Есть два моих проекта, в одном вся строка перекрывается бегущим текстом, в другом, как положено только отведенное ему количество знакомест, разницы между ними не вижу. Если надо проекты выложу, но думаю с этим встречались уже многие, подскажите что исправить?

А он вообще рабочий?
64039

товарищ
25.11.2022, 09:07
Ну судя по тому, что внутри макроса, он защищен от переполнения. Как это получилось у Вас, для меня тоже загадка. В своих проектах я такого не видел. У меня, похоже, проблема в том, что каким-то образом несанкционированно увеличивается диапазон (количество) знакомест на двухстрочном дисплее, отведенных для бегущей строки и не важно, чем бегущая строка выполнена, текстовой меткой или, допустим, вводом/выводом переменной.

petera
25.11.2022, 10:50
Здравствуйте. Несколько часов рою форум, но объяснения не нашел. В менеджере компонентов есть макрос для реализации бегущей строки TICKET. Как сделать так, чтобы бегущая строка, занимающая 8 знакомест экрана ПР200 не перекрывала остальные 8 мест, находящиеся в этой же строке экрана. Есть два моих проекта, в одном вся строка перекрывается бегущим текстом, в другом, как положено только отведенное ему количество знакомест, разницы между ними не вижу. Если надо проекты выложу, но думаю с этим встречались уже многие, подскажите что исправить?

Делай из комбобокса (список строк) + СЧЕТЧИК

АБВГ 123
БВГ 1234
ВГ 12345
Г 12345
12345 А
12345 АБ
2345 АБВ
345 АБВГ
45 АБВГ
5 АБВГ 1
АБВГ 12

товарищ
28.11.2022, 19:53
А он вообще рабочий?
64039

Dimensy, извините, Вы были правы. Никогда не подумал бы, что макрос из менеджера компонентов может быть недоработанным. У меня тоже переполняется.

DkCat
05.12.2022, 12:28
Здравствуйте!

Подскажите пожалуйста, смогу ли я настроить OwenCloud для управления освещением в доме, имея следующие компоненты:
1. ПР102+ПРМ в режиме Master (1 этаж)
2. ПР102+ПРМ+ПРМ в режиме Slave (2 этаж)
3. ПЕ210 подключен к интернету и к OwenCloud соответственно
Все устройства соединены по RS-485 для взаимодействия между первым и вторым этажами.
Например: нажимной выключатель, подключённый к ПР102 на первом этаже управляет освещением лестницы, которое подключено к другому ПР102 на втором этаже.

Можно ли как-то "привязать" управление светом с обоих ПР102 к OwenCloud?

На сколько я понял, к OwenCloud можно подключать только устройства в режиме Slave, а в моём случаем не совсем так.

Спасибо!

AlexCrane
05.12.2022, 12:39
Если у мастера два интерфейса RS-485, то можно

melky
05.12.2022, 12:51
DkCat если коротко, то OwenCloud не может передавать данные от одного устройства другому. Если суть вопроса была в этом, то нет.
Тот ПР, что у вас Мастер, должен так же являться и Slave для OwenCloud и через мастера вы можете все данные передавать если вам хватит на это переменных.

DkCat
05.12.2022, 13:49
скажите, а ПЕ210 можно использовать в качестве Мастера для взаимодействия двух ПР102?

melky
05.12.2022, 13:52
DkCat Вы выше внимательно прочитали? два устройства в Облаке не умеют передавать данные друг другу через облако

DkCat
06.12.2022, 14:30
DkCat Вы выше внимательно прочитали? два устройства в Облаке не умеют передавать данные друг другу через облако

я в этих вопросах не очень разбираюсь, поэтому и задаю их в соответствующей теме

получается, если я поменяю один из моих ПР102 не имеющих второго порта RS-485 на такой же, но с двумя портами, то я смогу реализовать задуманное?

melky
06.12.2022, 16:38
DkCat у вас один мастер, второй slave в доме и управление идет всегда через мастер? То есть так понимаю переменных между ними хватает, чтобы управлять?
Тогда да, Мастеру добавляете второй интерфейс для шлюза и все переменные настраиваете в облаке.

Шлюз уже приобретен? если нет, может другие решения, например купить себе маршрутизатор Кинетик из последних, у них есть доступ через их облако. На Android только нужно стороннее решение для VPN
Есть еще решение для передачи данных между устройствами Овен облака, но тогда у обоих устройств должен быть slave и программы по возможности автономные в ПР, так как передача данных между ними будет через облако :) То есть скорость тут будет не алё...

Эдуард_Н
08.12.2022, 04:55
Почему если сделать переменные энергонезависимыми то начинается какое то перемаргивание?

1exan
08.12.2022, 06:08
Почему если сделать переменные энергонезависимыми то начинается какое то перемаргивание?

Очевидно изменяется порядок обработки блоков и присвоения переменных, из-за чего возникают нежелательные обратные связи.
Запустите в эмуляции с пошаговым выполнением и посмотрите что происходит.

Dimensy
08.12.2022, 07:59
Почему если сделать переменные энергонезависимыми то начинается какое то перемаргивание?

вот так надо делать

64396

А по поводу перемаргивания - энергонезависимые переменные записываются в конце цикла. У вас просто при изменении сетевой переменной она перезаписывается макросом BOOL_INT на входе которого еще "старые" значения

Эдуард_Н
08.12.2022, 13:48
вот так надо делать

64396

А по поводу перемаргивания - энергонезависимые переменные записываются в конце цикла. У вас просто при изменении сетевой переменной она перезаписывается макросом BOOL_INT на входе которого еще "старые" значения

Но так не работает, изменение переменных только по сети. А надо и с сети и с экрана ПР200.

petera
08.12.2022, 13:55
Но так не работает, изменение переменных только по сети. А надо и с сети и с экрана ПР200.

Потому, что нужно вот так п.3 https://owen.ru/forum/showthread.php?t=32194

64417

Dimensy
08.12.2022, 15:10
Но так не работает, изменение переменных только по сети. А надо и с сети и с экрана ПР200.

Все работает. Экранная переменная должна быть либо энергонезависимой, либо в ее свойствах выставить параметр "запись в конце цикла"

Эдуард_Н
08.12.2022, 17:25
Потому, что нужно вот так п.3 https://owen.ru/forum/showthread.php?t=32194

64417

Спасибо, а если мне больше 8 переменных нужно? И мне кажется, что мой вариант то же рабочий не такой конечно элегантный как у Вас.


Всё разобрался, что к чему. Спасибо.

jury_yamal
08.12.2022, 18:24
Добрый день.
Натолкните на мысль как это сделать (не получается 2 день).
Имеем шесть входов . Вход кнопки без фиксации Run, Вход (Float)с вакуумного манометра (-0,1 mPa ...1 mPa) Vacuum. Есть 2 входных переменных (OnTime и OffTime типа int) для уставки таймеров (у меня ТР и TOF). Один булев вход Reset для сброса триггеров. И 2 булевых выхода один Q управляет клапаном переключения (вакуумный насос/атмосфера), второй Fin сигнализирует о окончании продувки
Задача автоматизировать процесс откачки газа из и газа из баллона.
Как я это вижу при нажатии на кнопу включится выход Q и начнётся отсчет таймера ТР (время с запасом для откачки баллона) если сигнал от датчика сравнялся с -0,1 mPa то отключаем выход Q (при этом баллон соединится с атмосферой и давление на датчике будет падать до 0) одновременно с этим включаем таймер TOF (Время на стравливание баллона с запасом) если сигнал от датчика стал ~0 mPa подаем импульс на счетчик (один цикл прошел) и так повторяем то количество раз которое задано на счетчике. После последнего импульса счетчик сбрасывается и включается выход Fin. Если по какой-то причине таймер ТP отработал, а давление не упало - то отключаем все и включаем выход Alarm. Аналогично поступаем если TOF отработал, а давление не выросло до 0. Можно еще небольшой гистерезис прикрутить.
Основная проблема возникла с отслеживанием давления по датчику и отключением таймеров. То есть они продолжали работать. Нужно как то по другому включить не могу понять как.
С уважением ко Всем откликнувшимся Юрий.64425

Dimensy
08.12.2022, 18:41
Спасибо, а если мне больше 8 переменных нужно? И мне кажется, что мой вариант то же рабочий не такой конечно элегантный как у Вас.

Конечно рабочий с обычными переменными, но вы ведь просили с энергонезависимыми

Dimensy
08.12.2022, 20:22
Добрый день.
Натолкните на мысль как это сделать (не получается 2 день).
Имеем шесть входов . Вход кнопки без фиксации Run, Вход (Float)с вакуумного манометра (-0,1 mPa ...1 mPa) Vacuum. Есть 2 входных переменных (OnTime и OffTime типа int) для уставки таймеров (у меня ТР и TOF). Один булев вход Reset для сброса триггеров. И 2 булевых выхода один Q управляет клапаном переключения (вакуумный насос/атмосфера), второй Fin сигнализирует о окончании продувки
Задача автоматизировать процесс откачки газа из и газа из баллона.
Как я это вижу при нажатии на кнопу включится выход Q и начнётся отсчет таймера ТР (время с запасом для откачки баллона) если сигнал от датчика сравнялся с -0,1 mPa то отключаем выход Q (при этом баллон соединится с атмосферой и давление на датчике будет падать до 0) одновременно с этим включаем таймер TOF (Время на стравливание баллона с запасом) если сигнал от датчика стал ~0 mPa подаем импульс на счетчик (один цикл прошел) и так повторяем то количество раз которое задано на счетчике. После последнего импульса счетчик сбрасывается и включается выход Fin. Если по какой-то причине таймер ТP отработал, а давление не упало - то отключаем все и включаем выход Alarm. Аналогично поступаем если TOF отработал, а давление не выросло до 0. Можно еще небольшой гистерезис прикрутить.
Основная проблема возникла с отслеживанием давления по датчику и отключением таймеров. То есть они продолжали работать. Нужно как то по другому включить не могу понять как.
С уважением ко Всем откликнувшимся Юрий.
Вот, попробуйте

jury_yamal
08.12.2022, 21:44
Спасибо Dimensy! Скачал попробую завтра на работе.

Dimensy
08.12.2022, 22:20
Спасибо Dimensy! Скачал попробую завтра на работе.

Немного накосячил. Я протестировал алгоритм только на граничных показаниях манометра. А надо было и промежуточные показания учесть.
В общем, вот, исправил

Saint999
13.12.2022, 13:06
День добрый

Есть задача получить битовую маску (нажата одна из 6 кнопок на пр200 которая по модбасу подключена), изменить ее (закодировать что должно на модуле соответствовать кнопке) и передать маску на модуль 16р. Это работает.

Но есть необходимость когда после любого значения битовая маска становится 0, что бы один выход на 16р оставался включенным на заданное время. В мультиплексоре я это повесил на 7 канал 128 значение. И это тоже работает.

Но нужно что бы во время когда подставлено 128, а битовая маска изменилась с 0 на любое значение - это значение в мультиплексор передать, а у меня что то не получается так сделать.

6449664497

Буду благодарен за любую помощь.

Спасибо

petera
13.12.2022, 13:27
День добрый

Есть задача получить битовую маску (нажата одна из 6 кнопок на пр200 которая по модбасу подключена), изменить ее (закодировать что должно на модуле соответствовать кнопке) и передать маску на модуль 16р. Это работает.

Но есть необходимость когда после любого значения битовая маска становится 0, что бы один выход на 16р оставался включенным на заданное время. В мультиплексоре я это повесил на 7 канал 128 значение. И это тоже работает.

Но нужно что бы во время когда подставлено 128, а битовая маска изменилась с 0 на любое значение - это значение в мультиплексор передать, а у меня что то не получается так сделать.

6449664497

Буду благодарен за любую помощь.

Спасибо

Например так
64499

ЗЫ
не увидел требование "на заданное время"

Saint999
13.12.2022, 14:24
ЗЫ не увидел требование "на заданное время"

У меня 3 секунды стоит, задаваться будет с экрана и 60 сек в стандарте, просто для тестов выбрал 3.


Спасибо работает, а как сделать что бы при первом включении не подставляло, тоесть при старте сразу на время таймера вставляет это значение?

Dimensy
13.12.2022, 15:45
...а как сделать что бы при первом включении не подставляло, тоесть при старте сразу на время таймера вставляет это значение?
Вот так можно

64501

Saint999
13.12.2022, 16:15
Вот так можно

Спасибо, работает!

Viktor1981
20.12.2022, 13:58
Всех приветствую! Прошу помощи с разработкой алгоритма работы сушильной камеры для бумажных изделий, на пр200 и датчике влажности и температуры пвт100(подключен по rs485). Принцип работы такой- при запуске цикла- печь плавно набирает температуру до необходимой( изменяемая величина), к примеру 50 градусов, и работает необходимое количество часов(изменяемая величина)- затем, после выделения из изделия максимально количества влаги(по датчику), печь немного остывает -до 37-38 градусов, включается осушитель, а температура поддерживается далее, до перезапуска цикла. В идеале: хотелось бы ещё сделать ручное управление пускателями тэнов, вентиляторов и осушителя( для отладки и ремонта). Сейчас всё работает на овен 2трм1 с двумя выносными датчиками, но хочется как то оптимизировать данный процесс, в планах у руководства ещё поставить шлюз и контролировать и управлять процессом по сети.

АлександрН
24.12.2022, 16:01
Здравствуйте, коллеги.
Сломал голову с самодельным макросом. В эмуляторе битовую маску преобразует в набор номеров аварий корректно: при наборе аварий 0011 1110 (62 dec на вход) выдает коды аварий "23456", а на ПР200 отображает "23452". Далее при наборе аварий 0010 1110 (46 dec на вход) на ПР200 отображает "2343" (ожидалось "2346").
Не пойму где я ошибся, уже несколько раз макрос пересобирал.
64791
64792

1exan
24.12.2022, 16:15
Здравствуйте, коллеги.
Сломал голову с самодельным макросом. В эмуляторе битовую маску преобразует в набор номеров аварий корректно: при наборе аварий 0011 1110 (62 dec на вход) выдает коды аварий "23456", а на ПР200 отображает "23452". Далее при наборе аварий 0010 1110 (46 dec на вход) на ПР200 отображает "2343" (ожидалось "2346").
Не пойму где я ошибся, уже несколько раз макрос пересобирал.
64791
64792

Если у вас проблемы не с макросом, а с выводом на экран ПР200 - есть смысл прикреплять весь проект, а не макрос

АлександрН
24.12.2022, 16:24
Весь проект не могу выложить, заказчик не позволит. Этот макрос выходом подключен к переменной, выводимой на экран. В режиме онлайн отладки и в режиме эмуляции на вход приходит в обоих случаях одинаковое значение, а на выходе получаются разные. То есть алгоритм на ПР200 работает совсем не так, как в OL.

kondor3000
24.12.2022, 16:36
Весь проект не могу выложить, заказчик не позволит. Этот макрос выходом подключен к переменной, выводимой на экран. В режиме онлайн отладки и в режиме эмуляции на вход приходит в обоих случаях одинаковое значение, а на выходе получаются разные. То есть алгоритм на ПР200 работает совсем не так, как в OL.

Не можете выложить проект, выложите кусок с макросом и выводом на экран, где эту проблему можно повторить.
Кроме того если вбивать аварии 12345, всё норм, а если 54321, то они всё равно отображаются 12345, то есть не в том порядке.

1exan
24.12.2022, 18:24
Весь проект не могу выложить, заказчик не позволит. Этот макрос выходом подключен к переменной, выводимой на экран. В режиме онлайн отладки и в режиме эмуляции на вход приходит в обоих случаях одинаковое значение, а на выходе получаются разные. То есть алгоритм на ПР200 работает совсем не так, как в OL.

Сделайте сами проект только с этим макросом и только с выводом выхода макроса на экран. Может остальная часть программы на вывод влияет.

Валенок
24.12.2022, 18:31
Весь проект не могу выложить, заказчик не позволит.
1.Здесь всем на..рать на Вашего заказчика, тем более что решается Ваша проблема.
2.Какая-то дичь : целочисленные преобразуемые во флоаты, возведение в степени, флоаты обратно во целые. Там что угодно потеряете.

АлександрН
24.12.2022, 20:19
Изначально стояла задача вывести на экран номер аварии цифрой, соответственно, если несколько аварий включаются одновременно - на экран выводятся несколько цифр подряд. Сходу кроме пошагового умножения на степени 10 ничего не придумал.
Возможно стоит возводить в степень целые, а не флоаты. Тут согласен, попробую.
Кусок проекта во вложении, спасибо за помощь.

64795

Сергей0308
24.12.2022, 21:05
Изначально стояла задача вывести на экран номер аварии цифрой, соответственно, если несколько аварий включаются одновременно - на экран выводятся несколько цифр подряд. Сходу кроме пошагового умножения на степени 10 ничего не придумал.
Возможно стоит возводить в степень целые, а не флоаты. Тут согласен, попробую.
Кусок проекта во вложении, спасибо за помощь.

64795

Передавайте на ИПП120(по сети) битовой маской в панели уже преобразуете как надо!
Я бы писал сразу название аварии, например с помощью динамического текста, чтобы голову не морочить и если аварий больше одной выводил их по очереди, кстати было много подобных тем!
И хочу Вас поздравить, такое впечатление, что Вам не дают форум смотреть и даже саму программу ОЛ, в смысле, там уже есть функция вставки бит и многое другое, зачем что-то придумывать, их заменяющее, тем более у Вас это не получается, в смысле, на много сложней!
Посмотрите эти темы, может чего почерпнёте:
https://owen.ru/forum/showthread.php?t=31076&page=2
https://owen.ru/forum/showthread.php?t=31113&page=7
https://owen.ru/forum/showthread.php?t=29865&page=8

Короче, если решите по очереди аварии выводить, я и проект выкладывал(по верхней ссылке), то и битовую маску даже не придётся на биты обратно разбивать, в смысле, там такой алгоритм, он данные сразу из битовой маски берёт!

И, вот здесь выкладывал макрос поиска максимального значения из 16 и номера входа с максимальным значением:
https://owen.ru/forum/showthread.php?t=25067&page=70
Так если на нескольких входах максимальные значения, то все номера таких входов отображаются по очереди, начиная с самого маленького входа по числовому значению, короче, как у Вас в макросе, но он проще вашего на порядок при большей функциональности.

64798

Можно его использовать, в смысле, булевы сигналы преобразовать в целочисленные и подать на входа 1-10 макроса!

Вот, немного поправил старый проект(были небольшие косяки):

64803

Но все десять входов одновременно активировать нельзя, переменная переполнится, нужно ограничиваться девятью, в остальном вроде всё нормально работает:

64804