Просмотр полной версии : разные вопросы новичка
Страницы :
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
[
19]
Радригез
22.12.2025, 11:00
а как и куда это можно прописать?подскажите,пожалуйста?
МихаилГл
22.12.2025, 11:05
а как и куда это можно прописать?подскажите,пожалуйста?
Непонятно, как вы собираетесь диаметр или радиус считать, это не возможно! Т.к. датчик движется не через центр колеса, а так как диаметры разные, то и центр на разной высоте.
PS Для определения места, куда выдвигать блокиратор, вам нужно определить, что колесо началось, и закончилось. Это делается по триггерам без таймеров. Ну один таймер можно использовать, для определения окончания колеса. Чтобы блокиратор зашёл в пустое место.
Тут алгоритм на 15 минут работы. Не понятны в чем ваши сложности...
Радригез
22.12.2025, 11:11
ну вам то это легко сказать..у меня не получилось победить
МихаилГл
22.12.2025, 11:13
Вы, для начала определитесь с ориентацией оптической оси датчика относительно блокиратора и колеса
87337
Ещё как вариант по диагонали светить, чтобы точно края именно по диаметру определять, но это хороший датчик нужен, с определением расстояния.
Плюс за схему... Пришлось видео смотреть, чтобы понять что и как) А ТС поленился
МихаилГл
22.12.2025, 11:16
ну вам то это легко сказать..у меня не получилось победить
Начинаете двигать штангу, как только датчик увидел что есть колесо, взвел бит. Двигаемся дальше. Как только датчик увидел что колесо пропало, останавливаем штангу. Если датчик чуть смещён, то и таймера не надо, остановится в том месте, где блокиратор заходит в пустое место. Выдвигаем блокиратор. Обратное движение если нужно, то тут сами придумайте, это нюансы.
Вот и весь алгоритм.
Радригез
22.12.2025, 11:20
с выдвижением цилиндра у меня нет проблем,чисто сработку на колесо не могу прописать..
МихаилГл
22.12.2025, 11:23
с выдвижением цилиндра у меня нет проблем,чисто сработку на колесо не могу прописать..
Оптический датчик какого принципа? Меряет расстояние до объекта, или как работает?
Радригез
22.12.2025, 11:26
Датчик KIPPRIBOR OK50-DI0100R4.U6.K НА 24В,с переключающими контактами
МихаилГл
22.12.2025, 11:56
Датчик KIPPRIBOR OK50-DI0100R4.U6.K НА 24В,с переключающими контактами
На 1 метр... Тут главное что бы он видел именно колесо при переходе через шину и диск, и не переключал в такие моменты. Для такого важно место установки относительно колёса будет. Но если он точно не дёргается в момент перехода луча по колесу от захода до схода, то нормально всё будет. Логика простая, я писал выше. Нарисовать не могу, в поезде еду с телефоном.
Радригез
22.12.2025, 11:59
Можете, пожалуйста, по возможности отписаться, буду ждать вашего ответа. Пока пробую другие варианты
МихаилГл
22.12.2025, 13:18
Можете, пожалуйста, по возможности отписаться, буду ждать вашего ответа. Пока пробую другие варианты
Неделю ждать придётся... 4 тыс километров ехать)
Сергей0308
22.12.2025, 14:08
Что-то мне не верится что это такая уникальная установка, что и подсмотреть нигде нельзя как она работает, в смысле, ранее может кто уже решал подобные задачи!
Радригез
22.12.2025, 16:34
не нужно,я решил проблему,спасибо большое
Да человек не может ответить на несколько простых вопросов.
Уже ведь известно, что используется 2 гидроцилиндра (основной и вспомогательный), где вспомогательный установлен на штоке главного под прямым углом.
У каждого есть концевые выключатели (исходное положение и полностью выдвинутое).
На штоке основного (на уровне вспомогательного) имеется оптический датчик, который видит колеса авто при выдвижении главного.
Выдвинутый вспомогательный подпирает колесо при возврате основного в исходное (т.е. достать до концевика не даёт колесо).
На каждый цилиндр соответственно по два клапана (выдвигающий и задвигающий) + общий гидронасос.
От сюда вопросы:
1. Как определить подпёрто ли колесо? По датчику избыточного давления в гидросистеме? Он установлен?
2. Сколько кнопок? Должно быть: Аварийный грибок и переключатель "Блокировка/Разблокировка".
3. Как все элементы системы обозначены? Чтобы имена можно было использовать в проекте OL.
Уже давно бы всё сделали!!!
Да человек не может ответить на несколько простых вопросов.
Уже ведь известно, что используется 2 гидроцилиндра (основной и вспомогательный), где вспомогательный установлен на штоке главного под прямым углом.
У каждого есть концевые выключатели (исходное положение и полностью выдвинутое).
На штоке основного (на уровне вспомогательного) имеется оптический датчик, который видит колеса авто при выдвижении главного.
Выдвинутый вспомогательный подпирает колесо при возврате основного в исходное (т.е. достать до концевика не даёт колесо).
На каждый цилиндр соответственно по два клапана (выдвигающий и задвигающий) + общий гидронасос.
От сюда вопросы:
1. Как определить подпёрто ли колесо? По датчику избыточного давления в гидросистеме? Он установлен?
2. Сколько кнопок? Должно быть: Аварийный грибок и переключатель "Блокировка/Разблокировка".
3. Как все элементы системы обозначены? Чтобы имена можно было использовать в проекте OL.
Уже давно бы всё сделали!!!
Так было уже месяц назад, но воз по прежнему на месте
https://owen.ru/forum/showthread.php?t=26216&p=475120&viewfull=1#post475120
Saint999
23.12.2025, 18:03
День добрый, столкнулся с проблемой нехватки системного ОЗУ, у меня ПР205 и weintek панель оператора
несколько таких экранов с настройками цен:
87361
по модбас tcp/ip панель с пр205 общается, по modbus rtu с исполнительными устройствами.
с панели поменяли заначение передали на устройство, устройств 18
Цена обычно это 5 знаков, 3до запятой и 2 после. Можно ли как то передавать несколько цен в одной переменной? Пример может есть?
Спасибо
kondor3000
23.12.2025, 18:42
День добрый, столкнулся с проблемой нехватки системного ОЗУ, у меня ПР205 и weintek панель оператора
несколько таких экранов с настройками цен:
по модбас tcp/ip панель с пр205 общается, по modbus rtu с исполнительными устройствами.
с панели поменяли заначение передали на устройство, устройств 18
Цена обычно это 5 знаков, 3до запятой и 2 после. Можно ли как то передавать несколько цен в одной переменной? Пример может есть?
Спасибо
Что значит нехватка системного ОЗУ и где? 18 устройсв это какие?
Начать надо с количества передаваемых регистров в ПР205 и максимально возможной цены.
Saint999
23.12.2025, 18:53
Что значит нехватка системного ОЗУ и где? 18 устройсв это какие?
Начать надо с количества передаваемых регистров в ПР205 и максимально возможной цены.
Вот этой памяти, до сегодняшнего дня я и не знал о такой
87363
Временно удалил из программы 10 устройств, иначе память была 99% заполнена
Собственной разработки платы с modbus rtu, с ними тоже не все так гладко, пр в мастере не может все сразу опросить, это был бы второй вопрос как это победить, просто думал поставить преобразователь rtu - tcp, а сегодня в другую память уперся.
8*11 + 8*11 + 2*11 = 176 регистров, на данный момент цена ограничена 65535 копеек (просто в панели так ввел), у нас вроде как не скоро до такого дойдет, у Вас можно если что будет от копеек отказаться (пока не думал над этим).
А зачем цену передавать в ПР-ку?
Алексей Шевченко
24.12.2025, 10:54
Всем добрый день!
Подскажите знающие люди новичку в решении проблемы. как привязать управление таймерами на схеме с помощью экранов. 87379на пр200
Всем добрый день!
Подскажите знающие люди новичку в решении проблемы. как привязать управление таймерами на схеме с помощью экранов. 87379на пр200
В стандартных блоках это сделать нельзя
Для новичка лучше использовать макрос из менеджера компонентов: ClockWeek_ (из раздела Таймеры и счетчики) или Clock_Week (из раздела Дата и Время)
Ну, или, разберитесь с функциональным блоком SYS.CLOCKWEEK на ST
Saint999
24.12.2025, 11:29
Раз такие достаточно высокие требования по сетевым возможностям - откажитесь от ПР и берите ПЛК или что-то более приспособленное для сетевого обмена данными.
Мне кажется, что есть специализированные контроллеры - сбора и передачи данных, которые имеют ничтожное количество входов-выходов, но несколько различных портов и интерфейсов.
Я не программист, да и в Минске как то туго в последнее время с программистами у нас, плк так и не освоил, потому и мучаю пр.
Saint999
24.12.2025, 11:31
А зачем цену передавать в ПР-ку?
основной обмен со всеми устройствами через пр происходит, тоесть если делать прямую связь weintek и конечное устройство, нужен будет мультисервер модбас, а это насколько мне известно не просто
основной обмен со всеми устройствами через пр происходит, тоесть если делать прямую связь weintek и конечное устройство, нужен будет мультисервер модбас, а это насколько мне известно не просто
А что, панелька так далеко находится, что нельзя напрямую устройства по Modbus RTU подключить?
А еще, вместо ПРки можно это использовать https://owen.ru/product/mkon
https://owen.ru/uploads/296/mkon_primer2.svg
Saint999
24.12.2025, 11:57
А что, панелька так далеко находится, что нельзя напрямую устройства по Modbus RTU подключить?
А еще, вместо ПРки можно это использовать https://owen.ru/product/mkon
https://owen.ru/uploads/296/mkon_primer2.svg
Так я смогу сделать задание цены с панели на конечное устройство, но не только цены пр передает на них, у них постоянный обмен, состояние, статистика и прочее.
Вообще по предложенной схеме я думал обойти ограничение на количество мастер переменных, но уперся в системное озу, тоесть по факту нет решения кроме костылей, если упаковать две цены в один регистр на пр я еще представляю как (но ен проверял)), то как распаковать на weintek вообще не представляю.
kondor3000
24.12.2025, 13:27
Так я смогу сделать задание цены с панели на конечное устройство, но не только цены пр передает на них, у них постоянный обмен, состояние, статистика и прочее.
Вообще по предложенной схеме я думал обойти ограничение на количество мастер переменных, но уперся в системное озу, тоесть по факту нет решения кроме костылей, если упаковать две цены в один регистр на пр я еще представляю как (но ен проверял)), то как распаковать на weintek вообще не представляю.
Float занимает 2 регистра, если передавать 2 цены целым числом (1 регистр), то максимально может быть 65535 или 6553.5 или 655.35 или 65.535
(смещение точки должно быть одинаковым везде, в ПР просто делите на 100, в панели указываете 2 знака после запятой) вопрос в Маскимальной цене, я уже задавал. Если предел 65535 вас не устроит, тогда надо менять ПР205 на ПЛК.
12 бит без всяких множителей дадут 4095р - у вас там сколько мойка стоит? явно меньше, значит и бит можно использовать меньше.
на копейки если не делать по копейке а по 10-ть, то 4- оставшихся битов хватит. Вот вам всего один регистр.
а есть еще хитрые способы математики, где можно запихнуть и больше цифры (надо посчитать) попадался пример, когда в 4 байта без секунд можно запихнуть дату на 999 лет вперед, вот по аналогии можно и с ценой поиграться.
В панелях weintek наверняка есть скрипты, которые разложат регистр на две виртуальных переменных.
Алексей Шевченко
24.12.2025, 13:50
спасибо за подсказку
Так я смогу сделать задание цены с панели на конечное устройство, но не только цены пр передает на них, у них постоянный обмен, состояние, статистика и прочее.
Вообще по предложенной схеме я думал обойти ограничение на количество мастер переменных, но уперся в системное озу, тоесть по факту нет решения кроме костылей, если упаковать две цены в один регистр на пр я еще представляю как (но ен проверял)), то как распаковать на weintek вообще не представляю.
Почему нельзя панель подключить к устройствам по RS-485?
Saint999
24.12.2025, 16:47
Почему нельзя панель подключить к устройствам по RS-485?
Как пр опрашивать устройства если пр мастер и панель будет мастер?
Saint999
24.12.2025, 16:50
мойка стоит 0,75 до 2,70 на сегодняшний день, я думаю когда дойдем до 99,99 рублей копейки будут не актуальны, можно будет задавать без них, тоесть уже 999,9 или 9999
это у вас за минуту типа стоимость?
Здравствуйте. Подключил к аналоговому входу ПР200 трехпроводный датчик ТСМ 50М. Настроил сигнал датчика для входа на 4000 Ом. Подключил макрос из библиотеки макросов Овен для преобразования сопротивления в температуру - 50М. Очень быстро меняются показания на выходе макроса в формате с плавающей точкой. Поставил постоянную времени фильтра для входа 40 сек, замедлило, но не сильно. Подскажите, пожалуйста, может быть есть макрос, который замедляет показания в таком случае
kondor3000
25.12.2025, 07:40
Здравствуйте. Подключил к аналоговому входу ПР200 трехпроводный датчик ТСМ 50М. Настроил сигнал датчика для входа на 4000 Ом. Подключил макрос из библиотеки макросов Овен для преобразования сопротивления в температуру - 50М. Очень быстро меняются показания на выходе макроса в формате с плавающей точкой. Поставил постоянную времени фильтра для входа 40 сек, замедлило, но не сильно. Подскажите, пожалуйста, может быть есть макрос, который замедляет показания в таком случае
У датчика 50М, по 2-х проводной схеме, будет огромная погрешность, рекомендуется датчик Pt1000.
Или использование модулей ПРМ-3 или нормирующих преобразователей.
Алексей Шевченко
25.12.2025, 10:19
всем добоый день! 87396Подскажите почему в программе выскакивает данная ошибка
kondor3000
25.12.2025, 10:54
всем добоый день! 87396Подскажите почему в программе выскакивает данная ошибка
Это не ошибка, Лоджик предупреждает, что где жёлтая линия, переменная будет присвоена в следующем цикле.
Если хотите, в макросе можете заменить жёлтые линии на линию задержки. Работать будет одинаково, только без предупреждения.
Добрый день! Подскажите пожалустак , в режиме эмуляции хочу попробовать дыухпозиционный регулятор из менеджера компонентов но не могу проверить какая температура поступает на его вход пеосле аналогового преогбразования. Как её трансформировать в обычный десятичный формат?8739787398
Добрый день! Подскажите пожалустак , в режиме эмуляции хочу попробовать дыухпозиционный регулятор из менеджера компонентов но не могу проверить какая температура поступает на его вход пеосле аналогового преогбразования. Как её трансформировать в обычный десятичный формат?8739787398
Вот здесь можно посмотреть https://kipia.xyz/resistance_thermometer_calculate/table/50m/10
Но использовать датчик 50М для ПКки не очень удачная идея
Добрый день! Подскажите пожалустак , в режиме эмуляции хочу попробовать дыухпозиционный регулятор из менеджера компонентов но не могу проверить какая температура поступает на его вход пеосле аналогового преогбразования. Как её трансформировать в обычный десятичный формат?8739787398
У тебя температура отрицательная.;) Поставь 55 вместо 5.
Но использовать датчик 50М для ПКки не очень удачная идея
Не не очень удачная, а очень плохая.
Алексей Шевченко
25.12.2025, 12:25
Спасибо большое.
kondor3000
25.12.2025, 13:10
А какая лучше?
Предыдущая страница https://owen.ru/forum/showthread.php?t=26216&p=477604&viewfull=1#post477604
У датчика 50М, по 2-х проводной схеме, будет огромная погрешность, рекомендуется датчик Pt1000.
Или использование модулей ПРМ-3 или нормирующих преобразователей.
Спасибо за подсказку
Saint999
27.12.2025, 13:22
это у вас за минуту типа стоимость?
Да, за минуту
Сергей0308
28.12.2025, 00:45
Добрый день! Подскажите пожалустак , в режиме эмуляции хочу попробовать дыухпозиционный регулятор из менеджера компонентов но не могу проверить какая температура поступает на его вход пеосле аналогового преогбразования. Как её трансформировать в обычный десятичный формат?8739787398
Могу предложить свой вариант двухпозиционного регулятора, вот здесь выкладывал:
https://owen.ru/forum/showthread.php?t=26216&page=340&p=424807&viewfull=1#post424807
Мне кажется он удобней по причине прямого назначения уставок переключения.
Режим работы(нагреватель или холодильник) назначается в свойствах макроса.
Не знаю, здесь можно задавать подобные вопросы или нет.
Можно ли на ПР реализовать отбраковку продукции? Например, через 20 тактов машины происходит сброс. Проблема в том, что если следом идёт ещё брак, его тоже надо скинуть. Спасибо.
Сергей0308
29.12.2025, 01:16
Не знаю, здесь можно задавать подобные вопросы или нет.
Можно ли на ПР реализовать отбраковку продукции? Например, через 20 тактов машины происходит сброс. Проблема в том, что если следом идёт ещё брак, его тоже надо скинуть. Спасибо.
Проблема то в чём? Делайте задержку на 20 тактов например с помощью регистра сдвига, можно организовать сдвиг бит внутри целочисленной переменной, короче, много раз подобное обсуждалось на просторах форума!
meta11ist87
19.01.2026, 17:37
Что делают верхняя граница измерения и нижняя граница измерения, если аналог.вход описан как определённый датчик тепературы?
87592
Сергей0308
19.01.2026, 18:27
Что делают верхняя граница измерения и нижняя граница измерения, если аналог.вход описан как определённый датчик тепературы?
87592
Разве это может быть непонятным, в смысле, вход дружит и с токовым сигналом(4-20 мА) и сигналом напряжения(0-10 В)!
meta11ist87
20.01.2026, 12:07
Разве это может быть непонятным, в смысле, вход дружит и с токовым сигналом(4-20 мА) и сигналом напряжения(0-10 В)!
Вопрос был задан однозначно, если не придираться к тому что "определённый датчик температуры" может быть и 4-20/0-10.
Как работают эти границы и работают ли они вообще при описании входа как термосопротивления?
Сергей0308
20.01.2026, 12:54
Вопрос был задан однозначно, если не придираться к тому что "определённый датчик температуры" может быть и 4-20/0-10.
Как работают эти границы и работают ли они вообще при описании входа как термосопротивления?
Понятное дело, если Вы настроили вход на работу с ТС эти настройки действовать не будут! Там же имеются и настройки работы аналогового входа в дискретном режиме, они тоже действовать не будут, короче, там все настройки для аналогового входа. Которые не действуют в данный момент можно не настраивать, скажу больше, нет смысла их настраивать! Как всё запущено!
Овен не скрывает настройки, которые не действуют в данный момент, это минус в его карму и народ теряется!
qqqq qqqq
21.01.2026, 13:46
Здравствуйте!
* * Помогите, пожалуйста, разобраться. (см. приложение) Задача: обнулить значение переменной Wt по команде с экрана путем установки значения Reset в TRUE, затем из программы вернуть Reset в FALSE.**
Спасибо!
Переменная ORes внутри ФБ WT1 никогда не принимает значения TRUE, нет условий.
Попробуйте
if Sec and IsOn then OTime:=ITime+1; end_if
if Res then OTime:=0; end_if
if OTime = 0 then ORes:=true; else ORes:=false; end_if;
qqqq qqqq
21.01.2026, 14:28
Я расчитывал, что Reset:=TRUE, введенный через экран, продержится достаточно, чтобы обнулить Wt внутри ФБ WT1, и уже после этого снова примет значение FALSE. В чём ошибка? (Кажется мне, всё дело где-то в порядке выполнения)
Сигнал ORes - это сигнал, что сброс выполнен. Осталось только прикрутить его к сбросу Reset, может быть через таймер. То есть сброс ресета производить по истечении какого-либо времени. В других средах есть операторы SET\RST, но тут с этим проблемы.
Я расчитывал, что Reset:=TRUE, введенный через экран, продержится достаточно, чтобы обнулить Wt внутри ФБ WT1, и уже после этого снова примет значение FALSE. В чём ошибка? (Кажется мне, всё дело где-то в порядке выполнения)
Поставьте для переменной Reset свойство "Запись в конце цикла"
87614
qqqq qqqq
21.01.2026, 15:06
Всё дело в том, что, похоже, после присвоения Reset:=TRUE с экрана происходит присвоение Reset:=ORes, и только потом Res:=Reset при инициализации ФБ WT1, то есть, именно в порядке исполнения. Таймеры тут не помогают ровно по той же причине - Reset становится FALSE непосредственно после ввода, а, скорее всего, и в процессе ввода - программа-то фоном крутится.
qqqq qqqq
21.01.2026, 15:13
Большое спасибо! Заработало.
Prosto tak
23.01.2026, 07:47
Здравствуйте! Подскажите пожалуйста: в чем отличие макросов от функциональных блоков в OwenLogik?
kondor3000
23.01.2026, 07:49
Здравствуйте! Подскажите пожалуйста: в чем разница макросов от функциональных блоков в OwenLogik?
В Лоджике есть справка, вызывается по F1
Макросы на языке FBD (схема квадратиками), а ФБ на языке ST (текстовый язык), примеры на ST ниже
https://owen.ru/forum/showthread.php?t=37203&page=9&p=429061#81
Здравствуйте! Подскажите пожалуйста: в чем отличие макросов от функциональных блоков в OwenLogik?
Вот библиотечный ФБ
87633
Вот пользовательский ФБ на языке ST
87634
Вот макрос
87635
А, вот справка Лоджика
87636
Prosto tak лучше посмотрите справку CodeSys - собственно разница между макросом и FB кратко можно описать так - для первого выделяется память для каждого блока, для второго нет, так как он выполняет только вычисления (пришли данные, обработал, выкинул результат, забыл про данные и так по кругу), первый же может сохранить промежуточные данные, так как ПО для него выделяет память, часто незаметно для вас.
kondor3000
23.01.2026, 09:09
Prosto tak лучше посмотрите справку CodeSys - собственно разница между макросом и FB кратко можно описать так - для первого выделяется память для каждого блока, для второго нет, так как он выполняет только вычисления (пришли данные, обработал, выкинул результат, забыл про данные и так по кругу), первый же может сохранить промежуточные данные, так как ПО для него выделяет память, часто незаметно для вас.
melky, опять в лужу пёрнул. Это касается функций, а не ФБ и макросов.
kondor3000 TON по вашему что? уж точно не функция
Внутри макросов вы можете использовать энергонезависимые переменные - но вот тут ОЛ будет в заднице, потому что вы не сможете делать копии своих макросов.
А на ST вроде тут только функции, потому что иначе ОЛ с ними не умеет работать.
А человеку, я думаю, надо понять принцип, а не что и на чем в этом чуде ОЛ можно делать, думаю дальше он сам разберется.
kondor3000
23.01.2026, 09:37
kondor3000 TON по вашему что? уж точно не функция
Внутри макросов вы можете использовать энергонезависимые переменные - но вот тут ОЛ будет в заднице, потому что вы не сможете делать копии своих макросов.
А на ST вроде тут только функции, потому что иначе ОЛ с ними не умеет работать.
А человеку, я думаю, надо понять принцип, а не что и на чем в этом чуде ОЛ можно делать, думаю дальше он сам разберется.
Зачем чушь писать? Если не знаете, то не пишите ничего, за умного сойдёте. Вам самому справку пора перечитать.
kondor3000 перечитаю, когда что-то не будет получаться, не переживайте так. Лучше правильно донесите человеку разницу между тем и тем и нюансами в ОЛ. Потому что это во всех ПО подобного рода практически одинаково.
kondor3000 TON по вашему что? уж точно не функцияМакрос это. Или функциональный блок :)
Cs-Cs ну так я о чем? под Функциональный Блок ПО "должно" выделять память для их переменных. Правда не в ОЛ, тут все чуточку шатко :) но в целом это и есть отличие блоков от функций. и вот эти принципы нужно донести человеку, с указанием нюансов ОЛ. Тогда он сможет разобраться с любым ПО.
хорошо быть дебилом, ни какой ответственности, про функцию ни кто не упоминал, но нужно "топить" за неё что она отличается от других элементов
Макрос это. Или функциональный блок :)
Вот это функциональный блок
87643
А это уже макрос
87644
Карбофос
23.01.2026, 16:40
Добрый день.
Можно ли как-то получить значение оставшегося времени из Blink? Хоть в самом ОЛ, хоть в SYS.BLINK в ST, любой вариант подойдет. Панель ИПП120.
Добрый день.
Можно ли как-то получить значение оставшегося времени из Blink? Хоть в самом ОЛ, хоть в SYS.BLINK в ST, любой вариант подойдет. Панель ИПП120.
Только свой Blink нарисовать
function_block Blink
var_input
I : bool;
Tl, Th : udint;
end_var
var_output
Q : bool;
T : udint;
end_var
var
stamp : udint := 0;
end_var
T := time_to_udint(get_time()) - stamp;
if Not I Or T >= Tl + Th Then
stamp := time_to_udint(get_time()); T := 0;
end_if
Q := T >= Tl; T := Tl + Th - T;
end_function_block
.
87653
Карбофос
23.01.2026, 18:22
Спасибо, использую!
melky Так он не про то спрашивал.
Сергей0308
24.01.2026, 12:15
Мне это всё анекдот напоминает когда студент ответы на один билет выучил, про блох, а ему попался билет про рыб, вот он начинает: если бы у рыб была бы шерсть, у них завелись бы блохи и давай всё про блох толкать!
хороший анекдот :) у нас на проекте сейчас тоже анекдот, как в 9 МВт запихнуть 12 :), соответственно все мозги там....
Newcomer
25.01.2026, 12:33
Добрый день
В макросе используется таймер TOF. На холсте стоят несколько экземпляров этого макроса. Как в экземплярах макроса задать разные уставки таймера TOF, или это невозможно сделать.
Добрый день
В макросе используется таймер TOF. На холсте стоят несколько экземпляров этого макроса. Как в экземплярах макроса задать разные уставки таймера TOF, или это невозможно сделать.
Хм, вот это должно помочь
87667
Добрый день
В макросе используется таймер TOF. На холсте стоят несколько экземпляров этого макроса. Как в экземплярах макроса задать разные уставки таймера TOF, или это невозможно сделать.
Меню - Справка - Базовые сведения - Разработка программы - Блок чтения/записи в ФБ
Сергей0308
25.01.2026, 13:23
Добрый день
В макросе используется таймер TOF. На холсте стоят несколько экземпляров этого макроса. Как в экземплярах макроса задать разные уставки таймера TOF, или это невозможно сделать.
Опять какой то бред, в смысле, в любом случае(и в свойствах ФБ и с помощью блока записи в ФБ) уставка таймера задается(в мс) отдельно для каждого экземпляра ФБ!
Добрый день
В макросе используется таймер TOF. На холсте стоят несколько экземпляров этого макроса. Как в экземплярах макроса задать разные уставки таймера TOF, или это невозможно сделать.
Только через входные переменные.
87668
Тогда:
87669
Сергей0308
25.01.2026, 16:29
Только через входные переменные.
Здесь Вы ошибаетесь, можно в свойства макроса вынести уставки, только не забыть их подписать по разному, чтобы отличать:
87670
87671
Здесь Вы ошибаетесь, можно в свойства макроса вынести уставки, только не забыть их подписать по разному, чтобы отличать:
87670
Спасибо. Не знал. Про этот момент и спрашивали, видимо?
У меня возникло впечатление неудобности такого способа - главный недостаток в настройке только на этапе программирования, а не исполнения. Пример - аналоговый ПИД из компонентов имеет параметр "период пересчёта", который невозможно изменить при настройке - только угадать при создании.
Т.е. это не сильно хорошая особенность макросов - на мой взгляд.
А для UserTOF уже не доступна Write to FB? Странно?
Получается, что это возможность просто не плодить константы.
Запись из переменных доступна через "Write to FB" только для системных ФБ.
Получается создание входной переменной - универсальный подход?
И если пользовательский макрос будет вложен в новый макрос, то такая способность теряется?
Сергей0308
25.01.2026, 17:45
Спасибо. Не знал. Про этот момент и спрашивали, видимо?
Кстати, уставки в свойства макроса можно и другим способом добавить, в смысле, через энергонезависимую переменную и блок записи в ФБ:
87673
87672
Т.е. локальная энергонезависимая переменная может быть объявлена как свойство пользовательского ФБ.
Однако "Write to FB" всё равно не работает?
Хотя, наверное, какой смысл рисовать отдельно "Write to FB", если всё равно значение переменной передаёшь в свой ФБ.
Пусть передаётся через входную переменную, чтобы не искать этот "Write to FB" по всему огороду (холсту).
Для больших и сложных макросов, где много именно констант на этапе проектирования - пойдет!
Сергей0308
25.01.2026, 18:24
Т.е. локальная энергонезависимая переменная может быть объявлена как свойство пользовательского ФБ.
Однако "Write to FB" всё равно не работает?
Хотя, наверное, какой смысл рисовать отдельно "Write to FB", если всё равно значение переменной передаёшь в свой ФБ.
Пусть передаётся через входную переменную, чтобы не искать этот "Write to FB" по всему огороду (холсту).
Для больших и сложных макросов, где много именно констант на этапе проектирования - пойдет!
В смысле, не работает, у меня как раз второй вариант так сделан, в смысле, через энергонезависимую переменную и блок записи в ФБ, всё прекрасно работает!
Newcomer
25.01.2026, 18:30
Сделал простенький проект. Пытаюсь проверить работу макроса в симуляторе. Щелкаю по переменной _1, а она не хочет переключаться в 1. Значения на входах и выходах макроса при запуске симуляции почему-то не отображаются. В чем причина ?
Компилятор выкинул неиспользуемый код
Newcomer
25.01.2026, 18:47
Компилятор выкинул неиспользуемый код
Не понял. Поясните.
В смысле, не работает, у меня как раз второй вариант так сделан, в смысле, через энергонезависимую переменную и блок записи в ФБ, всё прекрасно работает!
Я не смог найти ФБ "Макрос11"?
87679
Newcomer
25.01.2026, 18:59
Я не смог найти ФБ "Макрос11"?
87679
А в моем проекте в чем ошибка ? Может вы его поправите.
Не понял. Поясните.
Подключите "_3" временно к любому выходу Q. Компилятор считает, что если результат никому не нужен, то и получать его не нужно.
Newcomer
25.01.2026, 19:20
Подключите "_3" временно к любому выходу Q. Компилятор считает, что если результат никому не нужен, то и получать его не нужно.
Как через вход макроса задать уставку TON мне так и не понятно.
Как через вход макроса задать уставку TON мне так и не понятно.
Специально для Вас я нашёл в справке объяснение, как задавать уставку.
В принципе, в Вашем макросе правильно реализовано.
Но тестовая программа не работает, т.к. компилятор выбросил код, который не воздействует на выходы/сетевые переменные/энергонезависимые переменные.
Решение - переменную _B связать с физическим выходом ПР.
Или _B сделать энергонезависимой.
И ещё, при записи через write to FB единицы измерения не секунды, а милисекунды.
Для секунд - внутри макроса перед write умножайте на 1000
Как через вход макроса задать уставку TON мне так и не понятно.
Когда в макрос вставляется системный ФБ, то у него есть свойство "Переименование переменных", где можно его свойствам дать другие имена.
87681
Далее при добавлении уже своего макроса на холст, в его свойствах они станут доступными.
87683
Когда в макрос вставляется системный ФБ, то у него есть свойство "Переименование переменных", где можно его свойствам дать другие имена.
Далее при добавлении уже своего макроса на холст, в его свойствах они станут доступными.
Спасибо! Не знал. Хотя свойство видел, но не понимал назначение и без нужды не трогал.
Сам сторонник того, чтобы все настройки были видны без изучения свойств каждого объекта на холсте.
Но сейчас на Степике прохожу курс CODESYS 3.5 - вижу реализацию VAR_INPUT CONSTANT - тоже часть параметров скрыта, но само их существование индицируется на внешнем виде ФБ. Эта индикация - единственное отличие от Owen Logic.
Newcomer
25.01.2026, 23:33
Столкнулся с таким моментом. В макросе есть таймер TOF с уставкой 10 сек. Если открыть макрос и запустит симуляцию, то уставка таймера отрабатывается верно. Если же смотреть работу макроса в симуляции на холсте, то уставка таймера отрабатывается не верно. Вместо 10 сек. таймер отрабатывает только 5 сек.
Сергей0308
25.01.2026, 23:44
Столкнулся с таким моментом. В макросе есть таймер TOF с уставкой 10 сек. Если открыть макрос и запустит симуляцию, то уставка таймера отрабатывается верно. Если же смотреть работу макроса в симуляции на холсте, то уставка таймера отрабатывается не верно. Вместо 10 сек. таймер отрабатывает только 5 сек.
Вроде только что обсуждали как назначать уставки в свойствах макроса, хочу добавить, что при открытии макроса для редактирования они не действуют, там действуют уставки назначенные в макросе, они могут отличатся!
Сергей0308
26.01.2026, 00:47
Ничего не понял. Как правильно задать уставку таймера TOF в макросе ? В элементарном проекте можете показать ?
Так я выложил два проекта, но повторю ещё раз, если Вам не понятно, когда Вы открываете макрос для редактирования, эти уставки(в свойствах макроса) не действуют, там(в макросе открытом для редактирования) действуют уставки, назначенные в "кишках" макроса(на холсте макроса), всё!
Newcomer
26.01.2026, 01:03
Когда в макрос вставляется системный ФБ, то у него есть свойство "Переименование переменных", где можно его свойствам дать другие имена.
87681
Далее при добавлении уже своего макроса на холст, в его свойствах они станут доступными.
87683
Заработало. Спасибо.
Сергей0308
26.01.2026, 05:36
Заработало. Спасибо.
Да, уж, не прошло и полгода!, в смысле, что мешает проект посмотреть и сделать аналогично?
temenator
27.01.2026, 22:16
Подскажите пожалуйста есть ли какие то встроенные механизмы контроля состояния аналогового входа для датчиков PT1000 и подобных ?
Или только включать режим 0-300кОм и использовать компонент из библиотеки ?
Сергей0308
28.01.2026, 01:51
Подскажите пожалуйста есть ли какие то встроенные механизмы контроля состояния аналогового входа для датчиков PT1000 и подобных ?
Или только включать режим 0-300кОм и использовать компонент из библиотеки ?
И, какое у Вас ПР? Мне кажется если входной диапазон(сопротивление) выйдет из допустимого диапазона, то из допустимого диапазона выйдет и выходной диапазон(температура), если специально его не ограничивать!
Такое впечатление, что Вы подключили датчик и тут же забыли для чего он, в смысле, память отшибло напрочь!
Подскажите пожалуйста есть ли какие то встроенные механизмы контроля состояния аналогового входа для датчиков PT1000 и подобных ?
Или только включать режим 0-300кОм и использовать компонент из библиотеки ?
ПР100, ПР102 и ПР200 - режим 0-4кОм и макрос
ПР200-х8, ПР103, ПР205, ПР225, ПРМ-2, ПРМ-3 - напрямую
temenator
28.01.2026, 13:15
А напрямую в 205 наппример там где-то есть переменная обрыв или только через показания ?
temenator
28.01.2026, 13:20
Вопрос в понимании значение настоящее или нет.
В некоторых HVAC встречал импульсное измерение величины и если величина скачет то выдает ошибку.
В автоклавах на сименс чаще вижу измерение двумя датчиками и ошибка по выходу за разность показаний.
kondor3000
28.01.2026, 14:46
А напрямую в 205 наппример там где-то есть переменная обрыв или только через показания ?
Для новых ПР, под входами есть состояние аналоговых входов, привяжите переменную и увидите код статуса канала 87717
ОК, обрыв или другое
Newcomer
30.01.2026, 11:39
Добрый день.
Ко входу ПР100 подключен оптический датчик с выходом n-p-n. В проекте есть 8 ПЧ. При запуске программы в онлайне наблюдается странная картина. На дискретных входах ПР100 вместо цифр видны белые квадратики. При сработанном датчике (транзистор на выходе датчика открыт) на дискретном входе ПР100 напряжение около 17В, а должно быть 0В. Я подозреваю, что имеет место быть жуткие наводки. Возможно ли такое ?
Добрый день.
Ко входу ПР100 подключен оптический датчик с выходом n-p-n. В проекте есть 8 ПЧ. При запуске программы в онлайне наблюдается странная картина. На дискретных входах ПР100 вместо цифр видны белые квадратики. При сработанном датчике (транзистор на выходе датчика открыт) на дискретном входе ПР100 напряжение около 17В, а должно быть 0В. Я подозреваю, что имеет место быть жуткие наводки. Возможно ли такое ?
Увеличьте масштаб отображения - цифры должны появиться
Newcomer
30.01.2026, 11:41
Где увеличить масштаб ?
Добрый день.
Ко входу ПР100 подключен оптический датчик с выходом n-p-n. В проекте есть 8 ПЧ. При запуске программы в онлайне наблюдается странная картина. На дискретных входах ПР100 вместо цифр видны белые квадратики. При сработанном датчике (транзистор на выходе датчика открыт) на дискретном входе ПР100 напряжение около 17В, а должно быть 0В. Я подозреваю, что имеет место быть жуткие наводки. Возможно ли такое ?
А ПР100 разве поддерживает подключение датчиков с n-p-n выходом?
Newcomer
30.01.2026, 11:59
А ПР100 разве поддерживает подключение датчиков с n-p-n выходом?
Окольным путем можно подключить датчик n-p-n типа. На схеме это сделано правильно.
Назаров Александр
30.01.2026, 14:37
Коллеги, подскажите, перестал понимать ...
Сетевые переменные, тип: Целочисленный. Выделяемые адреса идут подряд, т.е 512, 513, 514, и т.д
Из инструкции: Переменная целочисленного типа может принимать значение целого числа в диапазоне от 0 до 4294967295. Т.е два регистра. Соответственно адреса переменных должны выделятся как 512, 514, и т.д.
Переменные в modbus карте адресуются регистрами. Где подвох?
Коллеги, подскажите, перестал понимать ...
Сетевые переменные, тип: Целочисленный. Выделяемые адреса идут подряд, т.е 512, 513, 514, и т.д
Из инструкции: Переменная целочисленного типа может принимать значение целого числа в диапазоне от 0 до 4294967295. Т.е два регистра. Соответственно адреса переменных должны выделятся как 512, 514, и т.д.
Переменные в modbus карте адресуются регистрами. Где подвох?
Целочисленные переменные slave занимают один регистр (16 бит, от 0 до 65535)
Назаров Александр
30.01.2026, 16:25
Целочисленные переменные slave занимают один регистр (16 бит, от 0 до 65535)
Все равно не понял.
Пример в приложении. Какие значения должна получить HMI по адресам 512 и 513?
kondor3000
30.01.2026, 16:41
Коллеги, подскажите, перестал понимать ...
Сетевые переменные, тип: Целочисленный. Выделяемые адреса идут подряд, т.е 512, 513, 514, и т.д
Из инструкции: Переменная целочисленного типа может принимать значение целого числа в диапазоне от 0 до 4294967295. Т.е два регистра. Соответственно адреса переменных должны выделятся как 512, 514, и т.д.
Переменные в modbus карте адресуются регистрами. Где подвох?
Выделяете 1 регистр WORD, получаете значение до 65535, выделяете 2 регистра DWORD получаете до 4294967295. 87802
В мастере можно явно указать 2 регистра, в слейве вы сами должны выделить 2 регистра и положить DWORD разделив на 2 WORD подряд (например 512 и 513 регистр).
Как разложить на 2 WORD и собрать DWORD, на скрине.
Все равно не понял.
Пример в приложении. Какие значения должна получить HMI по адресам 512 и 513?
по адресу 512 будет число 34464, по адресу 513 - 34465.
т.е. передастся только младший байт числа
если надо в слейве 32 битные целочисленные переменные, то в менеджере компонентов есть макрос UDINT_TO_2UINT_
Назаров Александр
30.01.2026, 17:07
по адресу 512 будет число 34464, по адресу 513 - 34465.
т.е. передастся только младший байт числа
если надо в слейве 32 битные целочисленные переменные, то в менеджере компонентов есть макрос UDINT_TO_2UINT_
Т.е "Целочислиное" в теле программы имеет тип DWORD, а в сетевых переменных - WORD. ?!!!
И 512 и 513 регистры это все же соседние ячейки памяти, но запись в них возможна только через .... обрезание?!
Ну да. Но как вы планировали 100тыс пихнуть в 1 регистр который 16 бит?
Если числа уложатся в 16 бит, то и проблем не будет. Если нет, делов то немного
Назаров Александр
30.01.2026, 20:36
Ну да. Но как вы планировали 100тыс пихнуть в 1 регистр который 16 бит?
Если числа уложатся в 16 бит, то и проблем не будет. Если нет, делов то немного
Да никак не собирался. Просто нельзя называть одинаковым словом разные типы данных. Это не красит разработчика и вводит в заблуждение пользователя.
Всем спасибо за разъяснения!
Здравствуйте.
А есть макрос или может файл, что бы организовать плавное заполнение строки экрана ПР200, к примеру черными кубиками или знаками > |||?
Смысл такой. Запустилось выполнение процесса и строка плавно заполняется, заполнилась опять стала заполняться. и так по кругу.
Здравствуйте.
А есть макрос или может файл, что бы организовать плавное заполнение строки экрана ПР200, к примеру черными кубиками или знаками > |||?
Смысл такой. Запустилось выполнение процесса и строка плавно заполняется, заполнилась опять стала заполняться. и так по кругу.
Возьмите динамический текст, заполните его символами для каждой стадии, а после пуска процесса меняйте целочисленную переменную раз в секунду (blink + rtrig + bool_to_int + add с обратной связью) ну и ограничение добавьте (можете попробовать приспособить готовый счётчик).
kondor3000
31.01.2026, 11:12
Здравствуйте.
А есть макрос или может файл, что бы организовать плавное заполнение строки экрана ПР200, к примеру черными кубиками или знаками > |||?
Смысл такой. Запустилось выполнение процесса и строка плавно заполняется, заполнилась опять стала заполняться. и так по кругу.
Пример шкалы уровня (2 варианта) заполнение шкалы от переменной Val заками #, от 0 до 100, с задачей максимума,
второй вариант с задачей минимума и максимума, просто подайте изменяемую переменную или со счётчика от 0 до 100.
Алексей4692
05.02.2026, 08:30
Доброго времени суток! мастера и гении owen logic, помогите пожалуйста, может у кого-то есть уже готовое решение. хочу попробовать собрать блок управления на пр200 для сервопривода, может быть задача и не выполнима, но хотелось бы узнать у гуру. Сам я пока только начинаю ознакамливаться с этим девайсом.
Исходные данные. есть пр200 с 4 аналоговыми входами, и 8 дискретных выходов, есть сигнал управления 0-10В, есть привод с резистором обратной связи 4,7кОм, в самом приводе есть концевые крайних положений. Вопрос: можно ли на пр200 собрать управление сервоприводом и позиционирования его исходя из входящего сигнала ( условно подаём 1В открыто на 10%, 1,5В на 15% и так далее).
может кто-то собирал подобное, если не жалко то поделитесь опытом буду очень признателен.
Как-то собирал преобразование 0-10 В с датчиком 4-20 мА в позицию клапана больше/меньше.
Но сейчас вижу, что программу следует дополнить проверками:
- обрыв или короткое замыкание линии связи с датчиком положения 4-20 мА
- отсутствие изменений положения после управляющих импульсов - т.к. реле ПР изнашиваются за несколько лет
- перевод в безопасное положение при диагностируемых неисправностях
Вечером поищу и поделюсь, но ей нужно 100% устранять эти недочёты.
------------------------
Там всё просто
- сначала масштабирование входов задания и указателя положения - что 0, а что 100%
- подгон сначала сплошным импульсом до некоторой дельты от требуемого положения - чтобы "переезда" за него не было
- короткие импульсы доводки до входа в зону нечувствительности (настройками доводил до 2-3 шт.)
Доброго времени суток! мастера и гении owen logic, помогите пожалуйста, может у кого-то есть уже готовое решение. хочу попробовать собрать блок управления на пр200 для сервопривода, может быть задача и не выполнима, но хотелось бы узнать у гуру. Сам я пока только начинаю ознакамливаться с этим девайсом.
Исходные данные. есть пр200 с 4 аналоговыми входами, и 8 дискретных выходов, есть сигнал управления 0-10В, есть привод с резистором обратной связи 4,7кОм, в самом приводе есть концевые крайних положений. Вопрос: можно ли на пр200 собрать управление сервоприводом и позиционирования его исходя из входящего сигнала ( условно подаём 1В открыто на 10%, 1,5В на 15% и так далее).
может кто-то собирал подобное, если не жалко то поделитесь опытом буду очень признателен.
А что за сервопривод ?
Алексей4692
05.02.2026, 11:33
Привод "Fancom" LM.60i, если это конечно что-то сказало Вам, просто родная плата управления ушла в небытие после заливки её водой... новый привод стоит 1200-1500 евро и срок поставки от 3х месяцев, санкции. Прошлый раз заказывал ждал около 9 месяцев.
Алексей4692
05.02.2026, 11:36
Спасибо за ответ, если Вас не затруднит скиньте, буду ждать.
Ещё раз повторю - эту программу нужно доработать:
- добавить контроль исправности датчиков и линий связи
- добавить контроль управляемости - что после управляющего импульса произошло перемещение
- использовать транзисторные выходы ПР (если такие есть)
Т.е. это только пример, хотя и рабочий.
Идея позиционирования:
1. Вводятся две зоны нечувствительности: по одной останов позиционирования (fDeadBandStop), по второй позиционирование происходит короткими импульсами доводки (fDeadBandTuning).
2. Трёхпозиционный регулятор с зоной нечувствительности (формирует сигналы открытия или закрытия).
3. Вычисляются две переменные, указывающие вхождение положения привода в границы зон нечувствительности (bMoveEnable, bTuneEnable).
4. В зависимости от bMoveEnable и bTuneEnable вычисляется значения, которые должны быть на выходе генератора импульсов и на входе вентилей от трёхпозиционного регулятора (bMoveMode)
87893
3. Очевидно, что достаточно реализовать две ветки с bMoveEnable=TRUE и просуммировать их на элементе OR.
fDeadBandStop - Зона нечувствительности для остановки перемещения
fDeadBandTuning - Зона нечувствительности начала доводки импульсами
fMinPosition - Значение минимального положения КЗР
fMaxPosition - Значение положения полностью открытого КЗР
fMinSetPoint - Значение минимальной уставки
fMaxSetPoint - Значение максимальной уставки
fSetPointPosition - Заданное значение позиции КЗР
uiTimeTuneOff_ms - Время отключения при доводке
uiTimeTuneOn_ms - Время включения при доводке
Алексей4692
06.02.2026, 07:31
Спасибо за ответ. буду пробовать. посмотрю,что получится.
Рогов Алексей
06.02.2026, 08:33
Да, я делал позиционирование на ПР 200 и это было и есть всё аналоговое. Аналоговый обучаемый энкодер, только управлял не клапаном, а магнитом тормоза бабины с этикеткой. Внутри ПР ПИД регулятор штатный, теоретически мог и на ТРМ 10 сделать. Логика только небольшая для станка потребовалась.
Алексей4692
06.02.2026, 15:43
Я дико извиняюсь, может я не так понял, а как Вы собирались на ТРМ10 позиционирование выполнить ? если я не ошибаюсь там один универсальный вход, а нужен задающий сигнал и сигнал обратной связи.
Рогов Алексей
09.02.2026, 07:27
Добрый день!
Дело в том, я про это не сказал: у меня был исправен силовой модуль управления магнитом с универсальным входом 0,,,10 В.
Теперь про сигналы для ПИД регулятора: Сигнал обратной связи берём с энкодера, а уставка либо вручную на панели ТРМ 10, либо через Модбас, в моём случае уставка фиксированная 50%.
Чем хорош аналоговый энкодер: выставляем механизм в 0, нажимаем кнопку. Выставляем в 100% ещё раз. Сигнал 4-20 будет отмасштабирован в зависимости от положения механизма.
В 0 механики 4 мА , в 100% 20 мА
Сергей1238
09.02.2026, 23:20
Добрый вечер нужен макрос таймера по переднему и заднему фронту с регулировкой времени. С уважением сергей
Добрый вечер нужен макрос таймера по переднему и заднему фронту с регулировкой времени. С уважением сергей
Это как? Не вкурил.
kondor3000
10.02.2026, 07:52
Добрый вечер нужен макрос таймера по переднему и заднему фронту с регулировкой времени. С уважением сергей
Здесь таймер TP, на ST (по импульсу) с задачей и выходом времени ЕТ, если надо по заднему фронту, добавьте F_TRIG на вход.
https://owen.ru/forum/showthread.php?t=26216&page=430&p=470730&viewfull=1#post470730
По переднему, TON_P c ET и паузой, на ST____https://owen.ru/forum/showthread.php?t=38239&page=42#420
По заднему, TOF и TOF_P с выходом ET и паузой, на ST_____ https://owen.ru/forum/showthread.php?t=26216&page=358#3577
Здесь универсальный таймер, прямой и обратный отсчёт, задача времени, память наработки.
https://owen.ru/forum/showthread.php?t=36900&page=4&p=461025&viewfull=1#post461025
Сергей1238
10.02.2026, 11:15
Спасибо большое
Сергей0308
10.02.2026, 12:56
Спасибо большое
Штатные таймеры из ОЛ чем не устраивают?
Добрый день.
Подскажите! Имеется возможность прямого чтения часов реального времени? К примеру мне нужна переменная которая считывает минуты, или секунды непосредственно в функции ST.
Прежде я создавал входную переменную типа Udint и загонял в нее часы. но мне кажется это как-то коряво. Особенно тестировать написанный код не удобно, это мягко сказано.
Добрый день.
Подскажите! Имеется возможность прямого чтения часов реального времени? К примеру мне нужна переменная которая считывает минуты, или секунды непосредственно в функции ST.
Прежде я создавал входную переменную типа Udint и загонял в нее часы. но мне кажется это как-то коряво. Особенно тестировать написанный код не удобно, это мягко сказано.
На приборах новой платформы:
88432
Что значит новая платформа? ПР в неё не входит?
У меня ПР200 28 220
Но в принципе я понял, на ПР возможности нет.:(
Спасибо за ответ
kondor3000
10.03.2026, 18:08
Что значит новая платформа? ПР в неё не входит?
У меня ПР200 28 220
Но в принципе я понял, на ПР возможности нет.:(
Спасибо за ответ
На всех ПР, есть возможность получения времени в ФБ на ST ,
получение времени, ФБ простой https://owen.ru/forum/showthread.php?t=38721#8
Даты и времени https://owen.ru/forum/showthread.php?t=40116#4
Спасибо понял, я читал про эту функцию, но видимо не разобрался. Теперь разобрался.
Подскажите как реализовать на пр 200 так называемый режим экономии(как на трм 1032)?Одну уставку температуры днём, ночью другую ,в выходные третью и т.д.
Подскажите как реализовать на пр 200 так называемый режим экономии(как на трм 1032)?Одну уставку температуры днём, ночью другую ,в выходные третью и т.д.
Как ни странно, определить в программе переменные IsDay, IsNight, IsWeekend типа bool, а потом вычислить их значения.
Для выходных - по какой-либо формуле "вечного календаря".
День и ночь - сравнением текущего времени с двумя заданными.
Что именно вызывает сложность?
kondor3000
11.03.2026, 23:23
Подскажите как реализовать на пр 200 так называемый режим экономии(как на трм 1032)?Одну уставку температуры днём, ночью другую ,в выходные третью и т.д.
Берёте дату, время и день недели отсюда, https://owen.ru/forum/showthread.php?t=40116#4
сравниваете и через SEL меняете уставки
Сергей0308
12.03.2026, 00:08
Подскажите как реализовать на пр 200 так называемый режим экономии(как на трм 1032)?Одну уставку температуры днём, ночью другую ,в выходные третью и т.д.
Вот когда-то кому-то на форуме помогал регулятору ночной режим приделывали:
88442
Кстати смена уставки плавная, чтобы регулятор не колбасило!
Короче, берёте мультиплексор и меняете хоть сто уставок, условия смены уставки сами придумаете какие захотите, всё!
Вы бы хоть написали в чём проблема, типа: ничего не слышал о существовании мультиплексора!
Здесь мультиплексоры выкладывал:
https://owen.ru/forum/showthread.php?t=12691&page=30&p=253197&viewfull=1#post253197
Если по времени менять, здесь выкладывал командоаппарат реального времени:
https://owen.ru/forum/showthread.php?t=23201&page=16&p=318521&viewfull=1#post318521
CoollFox
14.03.2026, 11:12
Добрый, подскажите, может у кого есть макрос записи отключения и включения электроэнергии? Когда какого числа и в какое временя прибор ПР был обесточен и было вновь подано напряжение?
kondor3000
14.03.2026, 11:37
Добрый, подскажите, может у кого есть макрос записи отключения и включения электроэнергии? Когда какого числа и в какое временя прибор ПР был обесточен и было вновь подано напряжение?
Был проект вывод 8 (до 24) аварий на ПР205, вам нужен только один вход, будет записывать дату и время, включения и выключения. Переход по авариям, стрелками вверх и вниз.
Можно сделать и на ПР200, вывод Даты и Времени надо разделить.
Тут пример разделения Даты и времени, последний https://owen.ru/forum/showthread.php?t=40116&p=444236&viewfull=1#post444236
Добрый, подскажите, может у кого есть макрос записи отключения и включения электроэнергии? Когда какого числа и в какое временя прибор ПР был обесточен и было вновь подано напряжение?
Вот так можно.
88493
Powered by vBulletin® Version 4.2.3 Copyright © 2026 vBulletin Solutions, Inc. All rights reserved. Перевод: zCarot