Просмотр полной версии : разные вопросы новичка
Страницы :
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
[
20]
kondor3000
07.04.2026, 18:35
Когда давал ссылку, в WEB руководстве было по другому , теперь открываю, питание подавать надо. Вероятно исправили. Надо было сразу скрин сделать.
Реле то у вас, проверить было 2 минуты ещё в 14 часов. Подключить без питания и с питанием.
Traveller
07.04.2026, 18:45
Когда давал ссылку, в WEB руководстве было по другому , теперь открываю, питание подавать надо. Вероятно исправили. Надо было сразу скрин сделать.
Реле то у вас, проверить было 2 минуты ещё в 14 часов. Подключить без питания и с питанием.Не, ну питание я подаю, в смысле внешнее, оно вроде оживает, пишет что программа не загружена или что то вроде того и даже менюха там какая то настроечная есть, но комп ее абсолютно не видит, как будто ее нет!
kondor3000
07.04.2026, 18:47
Не, ну питание я подаю, в смысле внешнее, оно вроде оживает, пишет что программа не загружена или что то вроде того и даже менюха там какая то настроечная есть, но комп ее абсолютно не видит, как будто ее нет!
Смотреть надо не на ОЛ, а на определение подключения к компу. Когда появилось устройство, поставить драйвер, Потом всё остальное.
Шизофрения какая то, так нужно подавать питание или не нужно!?
Потом это:
Меня понимать буквально, я подсоединил питание к реле и подключил его по USB к компьютеру, как написано в инструкции на стр.18, как я это делаю, например с ПР200, что я делаю не так, где в руковдстве написано, что во время программирования питание на реле подавать не нужно!? Заскриньте и ткните меня носом в эту фразу! :)
Фразы нету, есть картинка
88761
З.Ы. еще, я знаю, что ПР100 прекрасно пришивается без внешнего питания, однако в руководстве к нему в разделе "Ввод в эксплуатацию" написано, что надо подключать питание
Возможно я задаю ну ооочень тупой вопрос! :) И тем не менее, как залить программу в новую ПР205, не через Ethernet? в общем подключаю ее по USB, но Owen Logic ее в упор не видит, даже в диспетчере устройств ничего не подключено, специально проверил на ПР100 и ПР200 все работает! Может чет доустановить нужно, просто я с этой релюхой первый раз взаимодействую :)
Сказать по правде, я уже успел забыть, что ПР205 можно прошивать через USB, т.к. Ethernet соединение несоизмеримо удобнее.
Сегодня подключался к ПР205:
- узнал IP своего компьютера
- с лицевой панели ПР205 зашёл в системное меню (нажать на 6 секунд кнопку Ok)
- в ПР205 установил IP, Mask и Gate, соответствующие сети
- в ПР205 выбрал пункт "Применить сейчас"
- в Owen Logic выбрал порт Ethernet и установил адрес ПР205
Домашний ноутбук уже многократно настраивался для работы с ПР, поэтому проблем с подключением быть не должно и воспроизвести проблему не смогу.
Помню, что по USB программировал ПР205 без включения внешнего питания. Как дела сейчас обстоят - не знаю, может быть что-то изменили.
Когда-то был случай, что не полностью вставлял разъём USB в ПР и связи не было.
Что посоветовать - переходите на Ethernet, не мучайтесь с USB.
Traveller
07.04.2026, 19:49
Смотреть надо не на ОЛ, а на определение подключения к компу. Когда появилось устройство, поставить драйвер, Потом всё остальное.Ну дык, опчемречь то, грю же, что комп вообще не видит устройства, т.е. даже в диспетчере устройств винды ничего нет, как будто ничего не подключено!
Фразы нету, есть картинка
88761Я такой картинки не видел и да, на картинке для меня ничего нового, это вы мне объяснили что вода мокрая, ну так я это и так знаю :)
З.Ы. еще, я знаю, что ПР100 прекрасно пришивается без внешнего питания, однако в руководстве к нему в разделе "Ввод в эксплуатацию" написано, что надо подключать питаниеИ про это я в курсе, и пользовался этим не раз и да, мне такой подход очень нравиться, нахрена вот это вот все, когда по USB уже питание есть, что бы программу залить, ладно там отладка, тут без внешнего ни как, а просто залить должно работать и от питания по USB, в этом плане ПР100, вне конкуренции... :)
Сказать по правде, я уже успел забыть, что ПР205 можно прошивать через USB, т.к. Ethernet соединение несоизмеримо удобнее.
Сегодня подключался к ПР205:
- узнал IP своего компьютера
- с лицевой панели ПР205 зашёл в системное меню (нажать на 6 секунд кнопку Ok)
- в ПР205 установил IP, Mask и Gate, соответствующие сети
- в ПР205 выбрал пункт "Применить сейчас"
- в Owen Logic выбрал порт Ethernet и установил адрес ПР205
Домашний ноутбук уже многократно настраивался для работы с ПР, поэтому проблем с подключением быть не должно и воспроизвести проблему не смогу.
Помню, что по USB программировал ПР205 без включения внешнего питания. Как дела сейчас обстоят - не знаю, может быть что-то изменили.
Когда-то был случай, что не полностью вставлял разъём USB в ПР и связи не было.
Что посоветовать - переходите на Ethernet, не мучайтесь с USB.Я тоже в курсе, что можно и так, но мне бы хотелось именно с этим разобраться, тем более что Ethernet-пачкорд "я дома забыл", а лепить его самому, лень в город в условный "Чип и Дип" за RJ-45 и витой парой, бежать :)
kondor3000
07.04.2026, 22:36
Бляха, 3 страницы исписали, проверьте кто может на ПР205 (225), будет связь по USB без подачи +24 В (220 В), это было написано, в старом руководстве. Или надо подавать питание +24 В (220 В), это уже в новом написано.
ТС за целый день, так и не проверил.
temenator
07.04.2026, 23:12
Бляха, 3 страницы исписали, проверьте кто может на ПР205 (225), будет связь по USB без подачи +24 В (220 В), это было написано, в старом руководстве. Или надо подавать питание +24 В (220 В), это уже в новом написано.
ТС за целый день, так и не проверил.
Сам в шоке. Но можно залить.
Может это с последним ПО. Помниться в прошлом году не смог залить.
temenator
07.04.2026, 23:19
Как бы не оказалось, что кабель банально зарядный без линий D+D-
Traveller
08.04.2026, 06:11
Бляха, 3 страницы исписали, проверьте кто может на ПР205 (225), будет связь по USB без подачи +24 В (220 В), это было написано, в старом руководстве. Или надо подавать питание +24 В (220 В), это уже в новом написано.
ТС за целый день, так и не проверил.Т.е. если с подключенным питанием комп не реагирует ни как на подключение, то без питания должен реагировать, вы сами то поняли что написали? :) Ну да, что бы два раза не вставать, что с питанием что без, комп реле не видит!
Как бы не оказалось, что кабель банально зарядный без линий D+D-А вы похоже вообще услышали звон, но не поняли где он и сразу тут интеллект демонстрировать :), пробежитесь глазами по тому что написано мной выше и поймите, что при помощи того же кабеля с ПР100 проблем нет, причем было проверенно на двух разных кабелях! :)
Грю же с релюхой что то не то...
В диспетчере устройств ничего не появляется с ! знаком ?
Оно там и по тихому может появляться.
Traveller
08.04.2026, 06:37
В диспетчере устройств ничего не появляется с ! знаком ?
Оно там и по тихому может появляться.Нет! Вообще ничего нет! Когда подключается что нибудь другое, появляется пункт "Порты COM и LPT", а при подключении ПР205 вообще ничего не происходит! Восклицательных знаков нигде нет! Что собственно и наводит на мысль, что с самой релюхой проблема. :)
Traveller
08.04.2026, 08:57
UPD
Сегодня утром подключаю, вылазит уведомление винды, что подключено неопознанное устройство, в диспетчере устройств появляется "устройство с восклицательным знаком", жму "Обновить драйвер", указываю где он лежит, а мне в ответ, что драйвер уже установлен, восклицательный знак ни куда не исчез, переподключаю, типа выдернул разъем, и воткнул снова, и опять ничего, т.е. вообще ничего не происходит, как будто ничего и нет, вот что это такое!? :D
А и еще, я сначала релюху подкдючил к USB и на ней несколько раз моргнул красный светодиодик, второй с верху (треугольник с восклицательным знаком), и после этого вылезло сообщение винды, после подачи питания сообщение исчезло и потом появилось вновь, короче хрень какая то.... :)
UPD-2
Пока писал этот текст, решил таки поменять шнурок, нашел где то в ящике стола какой то короткий от какой то старой гарнитуры с micro-USB, еле воткнул, шнурок очень короткий :) и таки да, комп увидел релюху! Кто бы мог подумать что ей не нравиться два шнурка, один из которых поставлялся Овеном в комплекте с АС-4М и через которые все кроме ПР205 работает без проблем, не, ну правда, я уже такое второй раз вижу, ПР200 такая же хрень была, когда подключал не через штатный шнурок, который был более длинный, но там было по другому, он то подключался, то отключался, а здесь вообще пустота и какоето невнятное сообщение о неопознанном устройстве, похоже у Овена какая то страсть к слишком коротким шнуркам... :D
kondor3000
08.04.2026, 09:16
Про кабель, написал в первом сообщении.
И у меня прекрасно работает фирменный шнур длиной в метр с ПР103. И не работает китайское дешёвое фуфло.
как и Овен, шнурки в нем тоже китайские :)
з.ы. дома есть шнур от фотика Canon, длиной 1 метр, на вид тонкий как и прочая, но никогда с ним не было проблем при подключениях ни с чем. В отличии от этих коротышей, которые вкладывает Овен в коробки.
Traveller
08.04.2026, 09:53
Про кабель, написал в первом сообщении.
И у меня прекрасно работает фирменный шнур длиной в метр с ПР103. И не работает китайское дешёвое фуфло.Ну дык, я ж тоже писал, что с этими двумя кабелями все остальное, кроме как оказалось, этой ПР205, все работало, вот буквально все ПР100, СМИ-2М, АС-4М, это то что из Овена, кроме этого еще он со старым смартом коннектился и еще с чем то я не помню уже, в общем рабочий был шнурок, да и сейчас он рабочий, это знаете, когда все идут не в ногу, один Овен ПР205 в ногу... :D
как и Овен, шнурки в нем тоже китайские :)
з.ы. дома есть шнур от фотика Canon, длиной 1 метр, на вид тонкий как и прочая, но никогда с ним не было проблем при подключениях ни с чем. В отличии от этих коротышей, которые вкладывает Овен в коробки.Вот вот, грю же вообще заработало с каким то коротким и даже весьма тонким, который шел в комплекте с гарнитурой именно для зарядки, правда вот сейчас тоже как то через раз подключается, но хоть подключается, в общем не все шнурки одинаково полезны... :)
В общем нужно адаптер прикупить USB-C на micro-USB, и шить через нормальные кабели, не понимаю, вроде реле нового поколения, а че туда этот говенный micro-USB запихали им чё жалко что ли!? :)
Traveller
08.04.2026, 10:28
Следующий вопрос, может что упустил, в общем как сделать так что бы при включении ПР205 включался нужный экран, а то сначала идет стартовый, а потом просто пустой?
Следующий вопрос, может что упустил, в общем как сделать так что бы при включении ПР205 включался нужный экран, а то сначала идет стартовый, а потом просто пустой?
Значит надо сделать пустой экран - нужным
Traveller
08.04.2026, 11:26
Значит надо сделать пустой экран - нужнымКак!? Его нет нигде в программе! :)
Ладно, я уже сам разобрался, просто нужно было поставить его на первое место в группе экранов, но почему то об этом ни где не упомянуто, что это имеет значение... :)
Добрый день!
Имеется задача написать программу для ПР на установку мойки КЕГ по заданной циклограмме (во вложении)
Сначала попробовал написать на основе логистических функций, но понял что будет очень громоздко.
Перерыл форум нашёл похожий проект https://owen.ru/forum/showthread.php?t=7023&p=106727&viewfull=1#post106727 , но к сожалению файлы уже не доступны и связи с авторами нет.
Суть работы установки: по нажатию кнопки "ПУСК" (I1) происходит запуск цикла из последовательных 40 шагов, у каждого шага своё время на которое должны открываются заданные клапана соответствующие выходам (Q1-Q8)
В теории понимаю, что нужно использовать макросы ПЗУ, так же нашёл на форуме https://owen.ru/forum/showthread.php?t=12691&p=322919&viewfull=1#post322919, но не хватает тяма адаптировать их под свой проект.
Буду очень признателен за помощь.
88872
In_Da_Cher_A
20.04.2026, 08:43
Добрый день!
Имеется задача написать программу для ПР на установку мойки КЕГ по заданной циклограмме (во вложении)
]то есть вы даже не потрудилсь таблицу перевести в нормальный вид и предлагаете разбирать в мятой бумажке?
Перерыл форум нашёл похожий проект https://owen.ru/forum/showthread.php...l=1#post106727 , но к сожалению файлы уже не доступны и связи с авторами нет.то есть вы для себя поставили задачу так - найти чьёто готовое, отрихтовать малось под себя и готово?
и установка по мойке кег - это коммерция, это даже не ленивый студент, который может встретить понимание
по нажатию кнопки "ПУСК" (I1) происходит запуск цикла из последовательных 40 шагов, у каждого шага своё время на которое должны открываются заданные клапана соответствующие выходам (Q1-Q8)и в чём проблема?
вы не сделали ни единого куска кода?
kondor3000
20.04.2026, 09:15
Добрый день!
Имеется задача написать программу для ПР на установку мойки КЕГ по заданной циклограмме (во вложении)
Сначала попробовал написать на основе логистических функций, но понял что будет очень громоздко.
Перерыл форум нашёл похожий проект https://owen.ru/forum/showthread.php?t=7023&p=106727&viewfull=1#post106727 , но к сожалению файлы уже не доступны и связи с авторами нет.
Суть работы установки: по нажатию кнопки "ПУСК" (I1) происходит запуск цикла из последовательных 40 шагов, у каждого шага своё время на которое должны открываются заданные клапана соответствующие выходам (Q1-Q8)
В теории понимаю, что нужно использовать макросы ПЗУ, так же нашёл на форуме https://owen.ru/forum/showthread.php?t=12691&p=322919&viewfull=1#post322919, но не хватает тяма адаптировать их под свой проект.
Буду очень признателен за помощь.
На 40 шагов, лучше использовать язык ST, тут пример на 6 режимов по 0+12 шагов, или Шаговик - можно сделать и 40 шагов.
И ещё помочь, это не значит сделать за вас, так что делайте сами и спрашивайте, что не понятно.
Простой шаговый автомат, новый TON с паузой_____ https://owen.ru/forum/showthread.php?t=38239&page=43#424
Прогр. управление 6 нагрузками 6 реж. 12 шагов _ФБ_фунции_____https://owen.ru/forum/showthread.php?t=38239&page=11#105
Добрый день!
Имеется задача...
Вот пример на 5 шагов
Рогов Алексей
21.04.2026, 07:39
Добрый день!
Можете использовать подобные конструкции :
FUNCTION_BLOCK STE_P
VAR_INPUT
U : BOOL; // Сигнал запуска / импульс
Res : BOOL; // Сброс
END_VAR
VAR_OUTPUT
Q : UDINT; // Текущее значение счётчика
I1, I2, I3, I4: BOOL; // Выходы таймеров
En_d : BOOL; // Флаг завершения (CounterValue = 5)
END_VAR
VAR
CounterValue : UDINT := 0;
// Фронты
FTrig, FTriga, FTrigb, FTrigc, FTrigd : BOOL;
// Таймеры
TP1, TP2, TP3, TP4 : SYS.TP;
FT1, FT2, FT3, FT4 : SYS.FTRIG;
END_VAR
// Сброс счётчика и состояний
IF Res THEN
CounterValue := 0;
FTrig := FALSE;
FTriga := FALSE;
FTrigb := FALSE;
FTrigc := FALSE;
FTrigd := FALSE;
En_d := FALSE;
END_IF;
// Шаг 1: Приход импульса U (фронт) — установка счётчика в 1
IF U AND NOT FTrig THEN
FTrig := TRUE;
IF NOT Res THEN
CounterValue := 1;
END_IF;
END_IF;
// Сброс фронта U после отпускания
IF NOT U THEN
FTrig := FALSE;
END_IF;
// Таймер TP1: активен при U и счётчике = 1
TP1(I := (CounterValue = 1), T := T#3s, Q => I1);
// Фиксируем завершение TP1
FT1(I := TP1.Q);
IF FT1.Q THEN
FTriga := TRUE; // Готов к шагу 2
END_IF;
// Шаг 2: после TP1.Q и если счётчик = 1 → увеличиваем до 2
IF FTriga AND (CounterValue = 1) THEN
CounterValue := 2;
FTriga := FALSE; // Сброс флага, чтобы не повторить
END_IF;
// Таймер TP2: активен при счётчике = 2
TP2(I := (CounterValue = 2), T := T#4s, Q => I2);
// Фиксируем завершение TP2
FT2(I := TP2.Q);
IF FT2.Q THEN
FTrigb := TRUE;
END_IF;
// Шаг 3: переход к 3
IF FTrigb AND (CounterValue = 2) THEN
CounterValue := 3;
FTrigb := FALSE;
END_IF;
// Таймер TP3: при счётчике = 3
TP3(I := (CounterValue = 3), T := T#5s, Q => I3);
FT3(I := TP3.Q);
IF FT3.Q THEN
FTrigc := TRUE;
END_IF;
// Шаг 4: переход к 4
IF FTrigc AND (CounterValue = 3) THEN
CounterValue := 4;
FTrigc := FALSE;
END_IF;
// Таймер TP4: при счётчике = 4
TP4(I := (CounterValue = 4), T := T#6s, Q => I4);
FT4(I := TP4.Q);
IF FT4.Q THEN
FTrigd := TRUE;
END_IF;
// Шаг 5: переход к 5
IF FTrigd AND (CounterValue = 4) THEN
CounterValue := 5;
FTrigd := FALSE;
END_IF;
// Выход Q — текущее значение счётчика
Q := CounterValue;
// Сигнал завершения
IF CounterValue = 5 THEN
En_d := TRUE;
ELSE
En_d := FALSE;
END_IF;
END_FUNCTION_BLOCK
А с выхода Q udint зная номер шага через CASE можно как угодно
Добрый день!
Можете использовать подобные конструкции :
Не очень
1. Если у нас таймеры не работают одновременно, то можно использовать только 1 таймер
2. Конструкция
// Шаг 1: Приход импульса U (фронт) — установка счётчика в 1
IF U AND NOT FTrig THEN
FTrig := TRUE;
IF NOT Res THEN
CounterValue := 1;
END_IF;
END_IF;
// Сброс фронта U после отпускания
IF NOT U THEN
FTrig := FALSE;
END_IF;
это вы реализовали в целом детектор переднего фронта (RTRIG)
да и эта часть масло маслено
// Фиксируем завершение TP1
FT1(I := TP1.Q);
IF FT1.Q THEN
FTriga := TRUE; // Готов к шагу 2
END_IF;
// Шаг 2: после TP1.Q и если счётчик = 1 → увеличиваем до 2
IF FTriga AND (CounterValue = 1) THEN
CounterValue := 2;
FTriga := FALSE; // Сброс флага, чтобы не повторить
END_IF;
3. После прихода сигнала сброс (RES), таймеры ТП продолжат отсчет и запустив алгоритм заново можно очень удивиться
В последнем Лоджике массивы завезли, так что можно так сделать
function_block Control
var_input
StepIn : udint; //текущий шаг (нужен для реализации энергонезависимости)
Start : bool; //кнопка запуска (НО)
Stop : bool; //кнопка останова (НЗ)
arTm : array[1..40] of udint; //массив уставок таймера
StepNum : udint := 40; //задание количества шагов
end_var
var_output
StepOut : udint; //текущий шаг
Inwork : bool; //флаг работы
Done : bool; //флаг окончания работы
end_var
var
TmConst : udint := 1000; //множитель для уставки таймера (1000 - сек, 60000 - мин)
TmStep : SYS.TON; //таймер
bTm : bool; //флаг окончания отсчета таймера
bSt : SYS.RTRIG; //защита от залипания кнопки Start (можно и без неe)
end_var
//проверка корректности задания StepNum
if StepNum > 40 then StepNum := 40; end_if
//обработка нажатия кнопки Start
bSt(I := Start and (StepNum > 0));
//остановка или запуск программы
if not Stop or (StepNum = 0) then
StepIn := 0;
Done := false;
elsif bSt.Q then
StepIn := 1;
Done := false;
end_if
//определение уставки таймера
if StepIn > 0 then TmStep.T := udint_to_time(arTm[StepIn] * TmConst); end_if
//управление таймером
TmStep(I := not bTm and (StepIn > 0), Q => bTm);
//управление шагами
if bTm then
StepIn := StepIn + 1;
if StepIn > StepNum then
StepIn := 0;
Done := true;
end_if
end_if
Inwork := StepIn > 0;
StepOut := StepIn;
end_function_block
Рогов Алексей
21.04.2026, 12:20
Не очень
1. Если у нас таймеры не работают одновременно, то можно использовать только 1 таймер
2. Конструкция
// Шаг 1: Приход импульса U (фронт) — установка счётчика в 1
IF U AND NOT FTrig THEN
FTrig := TRUE;
IF NOT Res THEN
CounterValue := 1;
END_IF;
END_IF;
// Сброс фронта U после отпускания
IF NOT U THEN
FTrig := FALSE;
END_IF;
это вы реализовали в целом детектор переднего фронта (RTRIG)
да и эта часть масло маслено
// Фиксируем завершение TP1
FT1(I := TP1.Q);
IF FT1.Q THEN
FTriga := TRUE; // Готов к шагу 2
END_IF;
// Шаг 2: после TP1.Q и если счётчик = 1 → увеличиваем до 2
IF FTriga AND (CounterValue = 1) THEN
CounterValue := 2;
FTriga := FALSE; // Сброс флага, чтобы не повторить
END_IF;
3. После прихода сигнала сброс (RES), таймеры ТП продолжат отсчет и запустив алгоритм заново можно очень удивиться
Это пример, я выше писал, как одно из решений, по поводу обнуления таймеров, согласен, но не совсем, повторный запуск отдельная тема - как конструктор решит и какие защиты от этого поставит. По поводу защёлок - если не ошибаюсь, нечто похожее на линию задержки, нет?
kondor3000
21.04.2026, 14:01
В последнем Лоджике массивы завезли, так что можно так сделать
Только из not Stop, not надо убрать, иначе он при включённом стопе работает.
Только из not Stop, not надо убрать, иначе он при включённом стопе работает.
В принципе, так и задумано было. Не удачно вход обозвал
А если запихнуть и уставки таймера и состояние выходов в массив?
function_block Washing
var_input
OnOff : bool; // Запуск/остановка программы
end_var
var_output
K1, K2, K3, K4, K5, K6, K7, K8 : bool; // Выхода
t1, t2 : udint; // Прошедшие минуты и секунды с момента старта
end_var
var
tb, i : udint; // Время старта и номер режима
rb : SYS.RTRIG; // Фиксатор старта
Mode : udint; // Текущий режим
// Упаковка биты 15-8 - состояние выходов Kx, 7-2 - секунда, 1-0 - минута
Modes : array [1..40] of udint :=
[256, 34600, 316, 34600, 356, 1400, 396, 160, 39080, 40136,
4316, 38913, 39977, 4157, 38993, 40037, 5241, 4237, 161, 34729,
477, 34562, 1322, 318, 82, 57434, 58490, 16546, 57526, 58590,
16407, 57387, 58451, 17511, 16507, 143, 33687, 34743, 1483, 479];
end_var
rb(I:=OnOff); // Фиксируем момента старта
if rb.Q then
tb := time_to_udint(get_time()) / 1000; // Старт программы
end_if
if OnOff then // Программа в работе
t2 := time_to_udint(get_time()) / 1000 - tb;// Прошло времени после старта
t1 := t2 / 60; t2 := t2 - (t1 * 60); // в минутах и секундах
if t1 < 4 then
for i := 1 to 40 do // Для каждой строчки
Mode := Modes[i]; // Извлекаем данные
if shr(shl(Mode, 30), 30) = t1 then // Сравним минуты
if shr(shl(Mode, 24), 26) = t2 then // Сравним секунды
// Выставим выхода в случае совпадения
K1 := Mode.8; K2 := Mode.9; K3 := Mode.10; K4 := Mode.11;
K5 := Mode.12; K6 := Mode.13; K7 := Mode.14; K8 := Mode.15;
exit;
end_if
end_if
end_for
end_if
else // Программа остановлена
K1 := false; K2 := false; K3 := false; K4 := false; K5 := false; K6 := false; K7 := false; K8 := false;
end_if
end_function_block
А если запихнуть и уставки таймера и состояние выходов в массив?
Для экономии памяти и трафика очень даже можно - 24 байта для уставки времени достаточно
А, вот, каждый раз пробегать по всему массиву - это не рационально
Добрый день! Всем большое спасибо за помощь!
Так же хотел извиниться если моё обращения показалось наглым, ей Богу не была умысла реализовать проект чужими руками, просто не мог понять с чего начать, как уже писал ранее есть только опыт написания простых проектов на основе логических функций, только только начинаю постигать азы программирования.
Вот пока за основу взял Ваш Dimensy пример https://owen.ru/forum/showthread.php?t=26216&p=482777&viewfull=1#post482777 расшарил макрос до 40 шагов, задал режимы и длительности импульсов, на симуляторе вроде отрабатывает:), но я так понимаю это наверное тоже не совсем правильно будет, пока смог разобраться только с этим.
По использовать языка ST пока не разобрался, буду изучать мат часть.
По рекомендации In_Da_Cher_A привёл циклограмму в более менее божеский вид :)
Рогов Алексей
22.04.2026, 09:06
Добрый день! Всем большое спасибо за помощь!
Так же хотел извиниться если моё обращения показалось наглым, ей Богу не была умысла реализовать проект чужими руками, просто не мог понять с чего начать, как уже писал ранее есть только опыт написания простых проектов на основе логических функций, только только начинаю постигать азы программирования.
Вот пока за основу взял Ваш Dimensy пример https://owen.ru/forum/showthread.php?t=26216&p=482777&viewfull=1#post482777 расшарил макрос до 40 шагов, задал режимы и длительности импульсов, на симуляторе вроде отрабатывает:), но я так понимаю это наверное тоже не совсем правильно будет, пока смог разобраться только с этим.
По использовать языка ST пока не разобрался, буду изучать мат часть.
По рекомендации In_Da_Cher_A привёл циклограмму в более менее божеский вид :)
ST очень интересная тема, простор для творчества неисчерпаемый
Добрый день! Всем большое спасибо за помощь!
Нужно еще прозондировать вопрос: что делать если в процессе работы свет моргнет - начинать сначала, продолжать с прерванного шага?
Думаю логично было бы продолжать с прерванного шага
Думаю логично было бы продолжать с прерванного шага
Тогда в программе отсюда https://owen.ru/forum/showthread.php?t=26216&p=482777&viewfull=1#post482777 нужно у счетчика CTN1 установить параметр "Сохранять состояние" в "ДА". В этом случае программа продолжиться с прерванного шага (с начала шага). Если еще надо и время запоминать (т.е. начинать не с начала шага, а с какого-то времени), тогда нужно свой таймер писать
Я смотрю, у вас там есть кнопка "Пауза" - тоже нужно определиться: пауза - это остановить и потом начать с начала прерванного шага (это просто делается) или после паузы продолжить именно с того времени когда была остановка (тогда свой таймер с паузой писать)
Добрый день! Поделитесь макросом чтобы INT раскидать в BOOL. У меня был один но он чтото не раскрываеться на ,,холлсте,, ПР205. Спасибо
kondor3000
22.04.2026, 17:50
А, все, нашелся.
На ST одна строка на 16 бит, через точку.
А на пред. странице готовые лежат, в примерах.
Доброе утро, подскажите пожалуста:
Каков алгоритм вывода ВООL переменной на экран ПР-205?
Доброе утро, подскажите пожалуста:
Каков алгоритм вывода ВООL переменной на экран ПР-205?
Смотря что хотите увидеть
Да задачи простые : отобразить состояние переменной которая отвечает ,например, за текущий статус насоса , изминить состояние переменной которая ,например, включит или выключит механизм, и зафиксировать состояние переменной в энергонезависимой памяти для ,,n,, алгоритма.
В ПР 200 это решалось просто, а вот тут не понимаю как.
В ПР 200 это решалось просто, а вот тут не понимаю как.
Вот самый простой вариант
88933
88934
Спасибо 1exan? только что догодался что тут реализована ,,графичиская ,, возможность реализации вывода статуса бита. Вот kondor3000 правильно сформулировал требование, сейчас попытаюсь ,,погрызть ,, этот орех по частям. С первым пунктом разобрался.
Спасибо 1exan? только что догодался что тут реализована ,,графичиская ,, возможность реализации вывода статуса бита. Вот kondor3000 правильно сформулировал требование, сейчас попытаюсь ,,погрызть ,, этот орех по частям. С первым пунктом разобрался.
А нужна какая возможность? Текст?
88935
Еще раз спасибо 1exan, ответил на все три свои вопроса и ваше дополнение тоже окажеться ,,кстати,,:rolleyes:
Андрей2612
26.04.2026, 12:10
Здравствуйте. Хочу на ПР103 по RS485 принять запрос от Мастера. Как в OwenLogic настроить переменную? Не могу найти где указать регистр 512.
Здравствуйте. Хочу на ПР103 по RS485 принять запрос от Мастера. Как в OwenLogic настроить переменную? Не могу найти где указать регистр 512.
У ПР103 область слейв начинается с адреса 16384 (512 не получится поставить)
А так, открываете таблицу переменных и там переходите на вкладку Сетевые, Slave
kondor3000
26.04.2026, 12:27
Поставьте сетевую переменную на холст, она и будет первая в слейве, адрес 16384.
Слейв с адреса 512 начинается у приборов 1 поколения, типа ПР200 и ПР102.
Traveller
28.04.2026, 08:30
В продолжение этого:
Ну дык, я ж тоже писал, что с этими двумя кабелями все остальное, кроме как оказалось, этой ПР205, все работало, вот буквально все ПР100, СМИ-2М, АС-4М, это то что из Овена, кроме этого еще он со старым смартом коннектился и еще с чем то я не помню уже, в общем рабочий был шнурок, да и сейчас он рабочий, это знаете, когда все идут не в ногу, один Овен ПР205 в ногу... :D
Вот вот, грю же вообще заработало с каким то коротким и даже весьма тонким, который шел в комплекте с гарнитурой именно для зарядки, правда вот сейчас тоже как то через раз подключается, но хоть подключается, в общем не все шнурки одинаково полезны... :)
В общем звонил вчера в поддержку по этому вопросу, разводят руками, грят что так быть не должно, присылайте по гарантии, будем разбираться... В общем не в шнурке дело!
volodimer
06.05.2026, 10:58
Здравствуйте, сижу туплю подскажите пожалуйста. Как правильно передавать данные в численной переменной на экран пр200 в с помощью элемента "динамический текст" ? Пробую упаковывать биты в переменную при помощи макроса но допустим при передаче двух битов сумма складывается и на выходе получается совсем не то что нужно. Допустим авария 1-бит 1, авария 2-бит2, авария 3 -бит3. При наступлении события 1+2(авария 1+авария2) получаем на экране сообщение авария3.8910889109
Ну так правильно, биты формируют число, а в динамическом тексте это не две аварии, как вам биты дают, а одна и другая.
Здравствуйте, сижу туплю подскажите пожалуйста. Как правильно передавать данные в численной переменной на экран пр200 в с помощью элемента "динамический текст" ? Пробую упаковывать биты в переменную при помощи макроса но допустим при передаче двух битов сумма складывается и на выходе получается совсем не то что нужно. Допустим авария 1-бит 1, авария 2-бит2, авария 3 -бит3. При наступлении события 1+2(авария 1+авария2) получаем на экране сообщение авария3.8910889109
В динамическом тексте нужно степени двойки использовать
биты 0, 1, 2, 3 это тексты 1, 2, 4, 8
Ну так правильно, биты формируют число, а в динамическом тексте это не две аварии, как вам биты дают, а одна и другая.
Могу предложить макрос который просматривает все биты Вашего числа по очереди
- если бит лог.0, то на выходе число 0
- если бит лог.1, то на выходе число соответствующее номеру бита
- задержка на 2с
- опрос следующего бита.
Выход макроса можно подключить к динамическому тексту
В дин.тексте список
0 - пусто
1 - Сработал вход 1
2 - Сработал вход 2
3 - Сработал вход 3
4 - Сработал вход 4
5 - Сработал вход 5
6 - Сработал вход 6
Таким образом на экране в дин.тексте будут отображаться по очереди ВСЕ сработавшие биты кода или пустая строка если ни один бит не сработал
https://owen.ru/forum/showthread.php?t=29865&p=294177&viewfull=1#post294177
Александр3228
06.05.2026, 11:56
Здравствуйте, есть несколько вопросов, только начал работать в столь замечательной программе просто. Буду проектировать систему приточной вентиляции на ПР205. Выбор пал на него, так как легко добавить блоки расширение и есть экран
Собственно вопросы
1. Если я настрою вход AI в самой программе, то он мне и выдаст сразу температуру без переводов? Ибо там можно выбрать тип датчика, сам буду делать на датчиках ПТ1000
2. У меня в системе есть приводы заслонок с плавным управлением 0-10В на подачу и обратные 2-10В (как я понял, показывает на сколько по факту открыта заслонка). То что аналоговые выходы Пр205 работаю от 0-1 , это я понял. Условно надо открыть на 50% заслонку, то на АО должно быть 0.5. А вот как быть с обратным сигналом? Там работает так же, что 0-1? И надо ли настраивать диапазон на аналоговом входе ПР205, когда идет сигнал 2-10В?
3. Так же интересно мнение. У меня стоят 3 электрических калорифера (каждый по 60кВт, которые имеют ступени 24+24+12). То есть всего 9 ступеней. Хочу сделать их через ПИД регулирование. Естественно подключать каждую ступень буду через твердотельное реле, но где-то в интернете прочитал, что дискретные выходы ПР нельзя часто вкл/выкл. Если это так, то какая переодичность разрешена и считается нормой?
volodimer
06.05.2026, 13:03
В динамическом тексте нужно степени двойки использовать
биты 0, 1, 2, 3 это тексты 1, 2, 4, 8
Была эта мысль, но не понял как заставить динамический текст читать в таком формате переменную ? номера строк ведь не прописываются.
volodimer
06.05.2026, 13:17
Могу предложить макрос который просматривает все биты Вашего числа по очереди
- если бит лог.0, то на выходе число 0
- если бит лог.1, то на выходе число соответствующее номеру бита
- задержка на 2с
- опрос следующего бита.
Выход макроса можно подключить к динамическому тексту
В дин.тексте список
0 - пусто
1 - Сработал вход 1
2 - Сработал вход 2
3 - Сработал вход 3
4 - Сработал вход 4
5 - Сработал вход 5
6 - Сработал вход 6
Таким образом на экране в дин.тексте будут отображаться по очереди ВСЕ сработавшие биты кода или пустая строка если ни один бит не сработал
https://owen.ru/forum/showthread.php?t=29865&p=294177&viewfull=1#post294177
Ну не совсем то решение, хотелось бы понять как правильно передавать данные в переменной для функции динамический текст..
Здравствуйте, сижу туплю подскажите пожалуйста. Как правильно передавать данные в численной переменной на экран пр200 в с помощью элемента "динамический текст" ?
Как вариант, если вы в конце функционального блока напишите следующее
N := cd32(N);
то на выходе будет номер старшего взведённого бита
а еще, можно так
Александр3228
каждую ступень буду через твердотельное реле, но где-то в интернете прочитал, что дискретные выходы ПР нельзя часто вкл/выкл.
Основная проблема такого включения - ограниченный ресурс механических реле. Ладно если она просто перестанет включаться, но если залипнет? Особенно они любят залипать, если управляют контактором напрямую, без принятия мер к подавлению обратного коммутационного импульса при размыкании. По опыту - с периодом ШИМ 5 сек при работе на ТТР чудеса начинались месяца через 2-3 непрерывной эксплуатации. Если бы работа была на контактор, то еще меньше.
Если прибор еще не приобрели, то следует брать модификацию с типом выхода К (КТ) - транзисторный. Преимущества очевидны - неограниченный ресурс, и можно ставить небольшой период ШИМ.
Ну и лично мое убеждение - "мозги" должны иметь питание 24В, от внешнего блока питания. Ибо БП есть самый ненадежный блок. В любых системах, независимо от бренда.
Александр3228
06.05.2026, 21:22
Александр3228
Основная проблема такого включения - ограниченный ресурс механических реле. Ладно если она просто перестанет включаться, но если залипнет? Особенно они любят залипать, если управляют контактором напрямую, без принятия мер к подавлению обратного коммутационного импульса при размыкании. По опыту - с периодом ШИМ 5 сек при работе на ТТР чудеса начинались месяца через 2-3 непрерывной эксплуатации. Если бы работа была на контактор, то еще меньше.
Если прибор еще не приобрели, то следует брать модификацию с типом выхода К (КТ) - транзисторный. Преимущества очевидны - неограниченный ресурс, и можно ставить небольшой период ШИМ.
Ну и лично мое убеждение - "мозги" должны иметь питание 24В, от внешнего блока питания. Ибо БП есть самый ненадежный блок. В любых системах, независимо от бренда.
Спасибо за совет. У них в линейке появились ПР205 с четырями выходами, его и возьму. Я так понимаю логику такую делать:
Отеденый БП 24В на само ПР205. Отдельный БП24 на питание ТТР через транзисторные выходы ПР
Спасибо за совет. У них в линейке появились ПР205 с четырями выходами, его и возьму. Я так понимаю логику такую делать:
Отеденый БП 24В на само ПР205. Отдельный БП24 на питание ТТР через транзисторные выходы ПР
Не обязательно. Хоть в РЭ и пишут, что питание реле должно быть отдельно, но Овен в своих примерах питает все от одного БП
https://owen.ru/uploads/301/lampa_signalizaczii_k.pdf
(это для ПР103, раздел со схемами для ПР205 у меня что-то не открывается)
Сергей0308
07.05.2026, 00:03
Убей не пойму зачем для ТТР отдельное питание, в смысле, они же рядом с ПР стоят и входы у них(ТТР) гальванически развязаны с выходом, там оптрон стоит, короче, бред сивой кобылы, мне так кажется!
volodimer
07.05.2026, 12:01
Как вариант, если вы в конце функционального блока напишите следующее
N := cd32(N);
то на выходе будет номер старшего взведённого бита
а еще, можно так
Теперь дошло, Спасибо !
Отдельный БП24 на питание ТТР
Не обязательно. У входов ТТР нагрузка никакая, 10-30 мА на 1 ТТР. Все в куче не более 120 мА, если каждую включать на свой канал. Если надо параллелить ТТР по управлению (например коммутация трехфазной нагрузки), то от 24В спокойно работают до трех ТТР, управление которых включено последовательно. Это снизит нагрузку на транзисторный выход ПР.
Yury_Popov
07.05.2026, 13:00
Здравствуйте! На экран ПР205 надо вывести цифровое значение которое меняется в диапазоне 750....1.00Е-8
Собственно вопрос как вывести число на экране в экспоненциальном виде представления чисел? Т.е 1,53Е-6, а не в виде 0,00000153.
Менять единицы измерения на микро, нано и пико прошу не советовать :)
Сергей0308
07.05.2026, 13:17
Здравствуйте! На экран ПР205 надо вывести цифровое значение которое меняется в диапазоне 750....1.00Е-8
Собственно вопрос как вывести число на экране в экспоненциальном виде представления чисел? Т.е 1,53Е-6, а не в виде 0,00000153.
Менять единицы измерения на микро, нано и пико прошу не советовать :)
Мне кажется надо значение, если оно менее единицы умножить на множитель 10 в степени х, до получения значения от 1 до 10, "х" добавить со знаком "-" для экспоненты, всё!
kondor3000
07.05.2026, 13:23
Здравствуйте! На экран ПР205 надо вывести цифровое значение которое меняется в диапазоне 750....1.00Е-8
Собственно вопрос как вывести число на экране в экспоненциальном виде представления чисел? Т.е 1,53Е-6, а не в виде 0,00000153.
Менять единицы измерения на микро, нано и пико прошу не советовать :)
На ПР205 этого сделать не выйдет, ОЛ вообще больше 6 знаков после запятой поставить не даёт, на СП3хх можно сделать в виде STRING.
Кроме того точность Float всего 7 знаков, -8 степень будет приблизительной с округлением
Здравствуйте! На экран ПР205 надо вывести цифровое значение которое меняется в диапазоне 750....1.00Е-8
Собственно вопрос как вывести число на экране в экспоненциальном виде представления чисел? Т.е 1,53Е-6, а не в виде 0,00000153.
Менять единицы измерения на микро, нано и пико прошу не советовать :)
Я делаю так:
89130
function_block vValue
var_input
inVal : real;
end_var
var_output
vOut : real;
eOut : real;
end_var
vOut := inVal; eOut := 0;
while vOut < 1 do
vOut := vOut * 10; eOut := eOut - 1;
end_while
while vOut >= 10 do
vOut := vOut / 10; eOut := eOut + 1;
end_while
end_function_block
Можно сделать и с учетом знака мантиссы.
starads2
22.05.2026, 20:11
Всех приветствую. Подскажите как реализовать идею. Один инкрементальный энкодер, одна пр103 с быстрыми входами.
Есть две уставки и 2 независимых выхода.
Как сделать обнуление на "работа 1" с последующим счётом с "0" и продолжением счёта без обнуления на "работа 2".
89311
Надеюсь не совсем путаница. Не понимаю, как по другому объяснить.
starads2
Если я правильно понял, вам надо два счетных регистра, работающих от одного физического энкодера. В таком случае можно запараллелить входа. Например энкодер подключен к FDI1-FDI2. Запараллелить FDI1 с FDI3, а FDI2 c FDI4. Настроить регистр аналогичным образом, но со своими переменными счета и сброса.
Всех приветствую. Подскажите как реализовать идею. Один инкрементальный энкодер, одна пр103 с быстрыми входами.
Есть две уставки и 2 независимых выхода.
Как сделать обнуление на "работа 1" с последующим счётом с "0" и продолжением счёта без обнуления на "работа 2".
89311
Надеюсь не совсем путаница. Не понимаю, как по другому объяснить.
Общий одометр и сбрасываемый одометр?
starads2
23.05.2026, 07:56
Да, суть такая. Но и общий одометр тоже должен сбрасываться не зависимо от другого
starads2
23.05.2026, 07:58
Да, всё так. Вы имеете ввиду физически разделить выходы энкодера? Или есть идеи как программно это сделать?
starads2
Нет, я предлагаю физически объединить входы ПР FDI1+FDI3 и FDI2+FDI4. Будет два счетных регистра, которые управляются своими переменными, но работают от одного энкодера.
Всех приветствую. Подскажите как реализовать идею. Один инкрементальный энкодер, одна пр103 с быстрыми входами.
Есть две уставки и 2 независимых выхода.
Как сделать обнуление на "работа 1" с последующим счётом с "0" и продолжением счёта без обнуления на "работа 2".
Надеюсь не совсем путаница. Не понимаю, как по другому объяснить.
так сбросить
89314
Здравствуйте. Как правильно организовать контроль связи ПР200 и СП307? Сделал переменную в панели раз в секунду прибавляет +1, в ПР раз в 2 секунды в переменную пишется 0. Через большой промежуток времени перестает писать. Включение запись и чтение через переменные.
Здравствуйте. Как правильно организовать контроль связи ПР200 и СП307? Сделал переменную в панели раз в секунду прибавляет +1, в ПР раз в 2 секунды в переменную пишется 0. Через большой промежуток времени перестает писать. Включение запись и чтение через переменные.
Кто из них мастер?
Здравствуйте. Как правильно организовать контроль связи ПР200 и СП307? Сделал переменную в панели раз в секунду прибавляет +1, в ПР раз в 2 секунды в переменную пишется 0. Через большой промежуток времени перестает писать. Включение запись и чтение через переменные.
Вот так
89325
kondor3000
25.05.2026, 08:26
Здравствуйте. Как правильно организовать контроль связи ПР200 и СП307? Сделал переменную в панели раз в секунду прибавляет +1, в ПР раз в 2 секунды в переменную пишется 0. Через большой промежуток времени перестает писать. Включение запись и чтение через переменные.
Не надо прибавлять и сбрасывать, просто передаёте секунды из панели, пока секунды меняются таймер сбрасывается,
при обрыве секунды не меняются, таймер отрабатывает до конца и показывает Обрыв связи.
Скрин выше.
Здравствуйте. Как правильно организовать контроль связи ПР200 и СП307? Сделал переменную в панели раз в секунду прибавляет +1, в ПР раз в 2 секунды в переменную пишется 0. Через большой промежуток времени перестает писать. Включение запись и чтение через переменные.
Мастер ПР200. Мне нужно на панели отобразить, что нет связи с ПР.
kondor3000
25.05.2026, 08:39
Мастер ПР200. Мне нужно на панели отобразить, что нет связи с ПР.
Тогда так, в панели ФО (функц. область) по биту PSB4 (передний фронт), каждую секунду взводит бит связи,
вторая ФО через 5 сек (Цикл, галку снять) по биту связи выводит окно "Нет связи". ПР должна бит связи сбрасывать, например через таймер TP 0.1 сек.
Если не сбросила, через 5 сек выводится окно.
Можно сделать и 3 ФО, чтобы по заднему фронту бита сзязи, окно закрывалось.
Andrey702www
25.05.2026, 09:42
Добрый день. Требуется управление обогревом кровли. Обогрев разделен на пять зон, нагрузка идет через контакторы. Зоны должны включаться поочередно с разными интервалами времени. Обогрев будет регулироваться только по температуре окружающей среды +5-15. Нужен регулятор, который будет этим управлять. Подскажите, какой выбрать и как настроить?
МихаилГл
25.05.2026, 09:58
Добрый день. Требуется управление обогревом кровли. Обогрев разделен на пять зон, нагрузка идет через контакторы. Зоны должны включаться поочередно с разными интервалами времени. Обогрев будет регулироваться только по температуре окружающей среды +5-15. Нужен регулятор, который будет этим управлять. Подскажите, какой выбрать и как настроить?
А у Овена что разве есть контроллеры для подключения термокабелей... Или вы ТЭНами собираетесь греть...
Что за крик отчаяния в разделе среды программирования!?
Andrey702www
Для вашей задачи уже ПР\ПЛК нужно. Нет штучных регуляторов, которые еще и с цветомузыкой на нагрузке.
Тогда так, в панели ФО (функц. область) по биту PSB4 (передний фронт), каждую секунду взводит бит связи,
вторая ФО через 5 сек (Цикл, галку снять) по биту связи выводит окно "Нет связи". ПР должна бит связи сбрасывать, например через таймер TP 0.1 сек.
Если не сбросила, через 5 сек выводится окно.
Можно сделать и 3 ФО, чтобы по заднему фронту бита сзязи, окно закрывалось.
Спасибо. Всё настроил.
Powered by vBulletin® Version 4.2.3 Copyright © 2026 vBulletin Solutions, Inc. All rights reserved. Перевод: zCarot