Просмотр полной версии : ПР200 -> ТРМ251. Пуск/Стоп по сети.
Приветствую, коллеги.
Имеем вполне рабочий проект с несколькими ТРМ-251 (slave, выполнение тех. процесса в соответствии с программами технолога) и ПР-200 (master, мониторинг, сигнализация, управление доп. исполнительными устройствами и т.д.).
Решил попробовать организовать дистанционный Пуск/Стоп ТРМ-ок по сети (протокол Modbus RTU). Вот цитаты из мануала по ТРМ-251:
51431
Во-первых какое-то разночтение:
Команда Пуск/Останов программы технолога имеет ф-цию на запись 0х05. Т.е. д.б. булевская переменная.
С другой стороны:
51432
фигурирует тип INT16.
Заранее скажу, что вариант с созданием выходной сетевой переменной с типом INT16 и значением 0xFF00h (65280 DEC), с т.з. реализации команду Пуск, к у спеху не привел.
По сути, мне нужно реализовать выходную сетевую переменную, тип BOOLEAN, ф-ция на чтение НЕТ, ф-ция на запись 0х05, адрес регистра 80, адрес бита(ов) 65280 (0хFF00h).
Но, адрес бита(ов) имеет диапазон 0-15.
51433
И вот тут у меня вопрос - либо в ПР-200 (в функционале ОЛ) это нельзя реализовать, либо я чего-то ..... , "либо лыжи не едут"(С)
Может у кого-то была подобная реализация?
Любые мысли, идеи приветствуются.
С Уважением.
Нннууу.. не имел дела с Трм251, однако ни в 80м, ни в каком-либо другом регистре не может быть бита с номером 65280. В каждом регистре строго по 16 бит. Как запустить программу по модбас, чесно, не разобрался, однако увидел в мануале, что в настройках ТРМ251 есть параметр nEt.S, разрешающий пуск программы по модбасу. И по умолчанию он запрещён. Вы его устанавливали?
Ревака Юрий
19.10.2020, 15:00
Приветствую, коллеги.
Имеем вполне рабочий проект с несколькими ТРМ-251 (slave, выполнение тех. процесса в соответствии с программами технолога) и ПР-200 (master, мониторинг, сигнализация, управление доп. исполнительными устройствами и т.д.).
Решил попробовать организовать дистанционный Пуск/Стоп ТРМ-ок по сети (протокол Modbus RTU). Вот цитаты из мануала по ТРМ-251:
51431
Во-первых какое-то разночтение:
Команда Пуск/Останов программы технолога имеет ф-цию на запись 0х05. Т.е. д.б. булевская переменная.
С другой стороны:
51432
фигурирует тип INT16.
Заранее скажу, что вариант с созданием выходной сетевой переменной с типом INT16 и значением 0xFF00h (65280 DEC), с т.з. реализации команду Пуск, к у спеху не привел.
По сути, мне нужно реализовать выходную сетевую переменную, тип BOOLEAN, ф-ция на чтение НЕТ, ф-ция на запись 0х05, адрес регистра 80, адрес бита(ов) 65280 (0хFF00h).
Но, адрес бита(ов) имеет диапазон 0-15.
51433
И вот тут у меня вопрос - либо в ПР-200 (в функционале ОЛ) это нельзя реализовать, либо я чего-то ..... , "либо лыжи не едут"(С)
Может у кого-то была подобная реализация?
Любые мысли, идеи приветствуются.
С Уважением.
Для битовой команды необходимо пересчитать адрес, об этом есть информация в Help OwenLogic.
Для битовой команды необходимо пересчитать адрес, об этом есть информация в Help OwenLogic.
ОНО?
51444
Ревака Юрий
19.10.2020, 15:39
ОНО?
51444
Да, об этом речь.
Ревака Юрий
19.10.2020, 15:40
возможно документация криво написана, судя потому что управление программами технолога располагается в кодах ошибок. Конкретного булевого адреса в документации нет, поэтому просто в 80 регистр надо посылать 0хFF00 или 0xFF, все зависит от порядка расположения байт принимаемых слейвом в регистре
По логике 5 команда именно так и будет отправлять, но при этом это бит для пользователя.
возможно документация криво написана, судя потому что управление программами технолога располагается в кодах ошибок. Конкретного булевого адреса в документации нет, поэтому просто в 80 регистр надо посылать 0хFF00 или 0xFF, все зависит от порядка расположения байт принимаемых слейвом в регистре
Так он же пишет, что это ни к чему не привело. И потом, при чём тут тогда функция 0х05? Записать регистр можно либо с помощью 0х06 либо с помощью 0х10 (кстати нужно попробовать и ту, и другую). Управление программами технолога располагается в кодах ошибок, но это в новом руководстве. В предыдущей версии такого нет. В общем, чем думать и гадать, лучше обратиться к специалисту, который занимается конкретно ТРМами, не всё ж Юрию за всю техподдержку отдуваться.
Так он же пишет, что это ни к чему не привело. И потом, при чём тут тогда функция 0х05? Записать регистр можно либо с помощью 0х06 либо с помощью 0х10 (кстати нужно попробовать и ту, и другую). Управление программами технолога располагается в кодах ошибок, но это в новом руководстве. В предыдущей версии такого нет. В общем, чем думать и гадать, лучше обратиться к специалисту, который занимается конкретно ТРМами, не всё ж Юрию за всю техподдержку отдуваться.
В ОЛ жестко контролируется тип переменной и код ф-ции чтения/записи. Для переменной INT доступна ф-ция записи 0х06. С данной переменной был эксперимент (со значением 65280 (DEC)). Безрезультатно. А при выборе булевской переиенной, только ф-ции записи 0х05 и 0х0F.
Экспериментировал с ф-цией 0х05 и с полем "Адрес бита(ов)" от 0 до 15. Аналогично безрезультатно.
По логике 5 команда именно так и будет отправлять, но при этом это бит для пользователя.
Вот за "... это бит для пользователя". По идее мне нужно 8 бит прописывать в "1" в старшем байте (0xFF00h)
И "Для битовой команды необходимо пересчитать адрес". Раз указан адрес регистра (80 dec), то обратные действия?
80*16=1280 стартовый байт 80-го регистра. 1295 - конечный.Как-то не выходит пересчитать новый адрес для записи FF в биты с 1287 по 1295.
:(
В ОЛ жестко контролируется тип переменной и код ф-ции чтения/записи. Для переменной INT доступна ф-ция записи 0х06. С данной переменной был эксперимент (со значением 65280 (DEC)
Почему? 0х10 тоже доступна.
Почему? 0х10 тоже доступна.
Да, конечно и 0х10.
С ней тоже экспериментировал. "Нихт вобла"(С). :(
Да, конечно и 0х10.
С ней тоже экспериментировал. "Нихт вобла"(С). :(
Это досадно. Сам щас пытаюсь подружить ПР200 с АВВшным частотником. С тем же результатом.
...., поэтому просто в 80 регистр надо посылать 0хFF00 или 0xFF, все зависит от порядка расположения байт принимаемых слейвом в регистре
Именно так. В 80-й регистр нужно заслать булевую переменную с БАЙТОВЫМ значением 0хFF00. Но функционал ОЛ, судя по всему, оперирует БИТОВЫМИ операциями.
Ревака Юрий
20.10.2020, 08:04
Да не должно быть никаких 6 и 16 функций, для запуска в ТРМ указана 5 команда, это булевый тип, или 0 или 1, но в OwenLogic для адреса 80, это будет 80/16=5, 5 регистр 0 бит, а самой посылке будет передаваться или 0x0000 или 0xFF00.
Да не должно быть никаких 6 и 16 функций, для запуска в ТРМ указана 5 команда, это булевый тип, или 0 или 1, но в OwenLogic для адреса 80, это будет 80/16=5, 5 регистр 0 бит, а самой посылке будет передаваться или 0x0000 или 0xFF00.
ШАЙТААА--а-а-а-н!!!!
Заработало:
51454
51455
Именно с регистром 80/16=5. Даже не взирая на то, что в проекте задействованы "штатный" регистр 4 (Signed Int32) - "Результат измерения на Входе 1 в формате числа с плавающей запятой". Т.е. регистры 4 и 5.
В жизни бы не догадался проводить преобразование регистра.
Блин, Юрий, огромное человечещее спасибо за оказанную помощь.
Не могу не выразить признательность и всем остальным участникам данной темы. Все-таки коллективный разум работает :)
Именно с регистром 80/16=5. Даже не взирая на то, что в проекте задействованы "штатный" регистр 4 (Signed Int32) - "Результат измерения на Входе 1 в формате числа с плавающей запятой". Т.е. регистры 4 и 5.
Ну, в модбасе предусмотрено 4 области памяти со своей нумерацией. 5й регистр койлсов -- не одно и то же, что 5й регистр хранения. Хотя в некоторых девайсах области и пересекаются.
Ревака Юрий
20.10.2020, 09:39
ШАЙТААА--а-а-а-н!!!!
Заработало:
51454
51455
Именно с регистром 80/16=5. Даже не взирая на то, что в проекте задействованы "штатный" регистр 4 (Signed Int32) - "Результат измерения на Входе 1 в формате числа с плавающей запятой". Т.е. регистры 4 и 5.
В жизни бы не догадался проводить преобразование регистра.
Блин, Юрий, огромное человечещее спасибо за оказанную помощь.
Не могу не выразить признательность и всем остальным участникам данной темы. Все-таки коллективный разум работает :)
То, что адреса могут быть одинаковые или пересекаться, это нормально если функции доступа разные, 4 регистр для 3 команды и 4 регистр для 5 команды это два разных пространства в памяти, то что иногда в приборах возможен доступ к одной и той же ячейки памяти и 3 и 4 функцией скорее для удобства, когда регистров мало и можно упростить все.
так а документацию на трм то будет кто то исправлять?
Фразамне лично не понятна уже теперь не только для трм но и для лоджика. В плк 80 коилс нужно искать в 16битном пятом регистре, там общая память и 5 это регистр слова, а адрес флага так и остается 80. Как тогда в лоджике посылать запись например в 82 коилс?
Регистр 5, бит 2. В чём проблема-то? А вот инструкцию и правда треба исправить. Написали бы там "80й бит", вопросов бы не возникло.
den75, Ревака Юрий
"Век живи - век учись"(С) + "Опыт, сын ошибок, трудный"(С) здесь трудно не согласиться.
Просто я вчера, исходя из
51457
пол-ночи занимался битовыми преобразованиями :(
А нужно было работать именно с адресом регистра. Чессссслово, даже не предполагал в своих умозаключениях.
"А вон оно чО"(С)
..... Написали бы там "80й бит", вопросов бы не возникло.
Блин, а я за шО? :)
Ревака Юрий
20.10.2020, 10:41
так а документацию на трм то будет кто то исправлять?
Я не сильно в теме, что сейчас в документации на ТРМ, года три назад там все было корректно.
Фразамне лично не понятна уже теперь не только для трм но и для лоджика. В плк 80 коилс нужно искать в 16битном пятом регистре, там общая память и 5 это регистр слова, а адрес флага так и остается 80. Как тогда в лоджике посылать запись например в 82 коилс?
Да, это особенность реализации представления в OwenLogic, я когда первый раз с этим столкнулся, тоже долго думал, потом смирился.:) В том же Modbus Poll, когда я перехожу на 5 функцию я указываю сразу 80 адрес и все работает, в лоджике, видимо что бы не переделывать интерфейс для 6, 15 и 16 функции, сделали так.
Ревака Юрий
20.10.2020, 10:50
Как в чем, Вы овенлоджику используя 5 функцию словами будете говорить: "запиши в регистр 5, бит 2 то-то"?
Так об этом есть информация https://owen.ru/forum/attachment.php?attachmentid=51444&d=1603110179, вчера я сразу на нее и сослался.
Александр Ч.
01.04.2021, 08:05
Тут ещё проблема возникает. Пытаюсь подружить ТРМ251 с СПК. Установки ПРГ/ШАГ и ПУСК/СТОП идут. А вот как его перезапустить после окончания программы (End на индикаторе). Прибор тупо ждет нажатия кнопки "Пуск/Выход" и не двигается с места. Хоть тяни провода от кнопки, плюс модуль релейный с RS485
Ревака Юрий
01.04.2021, 09:48
Тут ещё проблема возникает. Пытаюсь подружить ТРМ251 с СПК. Установки ПРГ/ШАГ и ПУСК/СТОП идут. А вот как его перезапустить после окончания программы (End на индикаторе). Прибор тупо ждет нажатия кнопки "Пуск/Выход" и не двигается с места. Хоть тяни провода от кнопки, плюс модуль релейный с RS485
Добрый день, т.е команда по сети на Пуск не снимает с режима "End"?
Наиль Биктагиров
27.02.2022, 17:46
Тут ещё проблема возникает. Пытаюсь подружить ТРМ251 с СПК. Установки ПРГ/ШАГ и ПУСК/СТОП идут. А вот как его перезапустить после окончания программы (End на индикаторе). Прибор тупо ждет нажатия кнопки "Пуск/Выход" и не двигается с места. Хоть тяни провода от кнопки, плюс модуль релейный с RS485
Доброго времени суток. Столкнулся с такой же проблемой ТРМ251, протокол ModBus-RTU. После окончания программы ТРМ251 требует манипуляций кнопками на приборе (перевод в СТОП и переход на шаг 1.) и только после этого можно запустить исполнение программы. ПУСК/СТОП по сети работает корректно только до момента окончания программы. Прошивка прибора V1.10. Есть ли решение проблемы? Поможет ли перепрошивка ТРМ251 на версию V2_10.
Прошить новую прошивку пока не могу т.к. не получается сохранить образ EEPROM через конфигуратор, постоянно считывается с ошибками. Проблема со связью ТРМ251 и конфигуратора поднималась уже здесь на форуме, но решения её я не увидел.
alek-epapu
30.08.2022, 17:54
Прошить новую прошивку пока не могу т.к. не получается сохранить образ EEPROM через конфигуратор, постоянно считывается с ошибками. Проблема со связью ТРМ251 и конфигуратора поднималась уже здесь на форуме, но решения её я не увидел.
решение в старой доброй WinXP. У меня всё получилось при установке максимальной скорости обмена. На низких скоростях тоже были ошибки.
Вроде бы хороший приборчик ТРМ251, цены ему не было бы , если был бы с клемм управления дистанционный запуск программы технолога и выход 3 с выборов этого выхода под аварию или под сигнализацию об окончании программы технолога. Столько лет муссируется данный вопрос, но разрабы не внемлют просьбам потребителей. и не было бы тогда этих танцев с бубном с данным прибором. А мне еще предстоят эти танцы, так как тоже хочу реализовать данную функцию дистанционного запуска программы технолога. В ПР200 я даже не нашел шаблон сетевых настроек ТРМ251. А у меня таких ТРМ251 стоит две штуки. Чтобы запустить программу, надо нажимать ПУСК сразу на два прибора. Это очень не удобно
Сергей0308
06.03.2025, 10:20
Вроде бы хороший приборчик ТРМ251, цены ему не было бы , если был бы с клемм управления дистанционный запуск программы технолога и выход 3 с выборов этого выхода под аварию или под сигнализацию об окончании программы технолога. Столько лет муссируется данный вопрос, но разрабы не внемлют просьбам потребителей. и не было бы тогда этих танцев с бубном с данным прибором. А мне еще предстоят эти танцы, так как тоже хочу реализовать данную функцию дистанционного запуска программы технолога. В ПР200 я даже не нашел шаблон сетевых настроек ТРМ251. А у меня таких ТРМ251 стоит две штуки. Чтобы запустить программу, надо нажимать ПУСК сразу на два прибора. Это очень не удобно
Вот здесь подобный вопрос рассматривали: https://owen.ru/forum/showthread.php?t=34853&p=363896&viewfull=1#post363896
В смысле, чем такое не устраивает? Судя по всему, тогда и ТРМ251 вам не нужен будет(ПР200 у вас уже есть), датчики регулируемого параметра можно повесить на ТРМ200(сейчас - 2ТРМ0), чтобы данные ПР получало по сети и людям смотреть!
Как раз в наличии у меня только ТРМ251, который как программатор, имеющий уже готовый функционал с программами технолога меня вполне устраивает, т.к. я не считаю себя гуру в области самостоятельного программирования, заменив ТРМ251 на ПР200. Вопрос в другом, что тема о дистанционном запуске с клемм прибора и подаче сигнала об окончании программы технолога муссировалась с момента выпуска данного прибора. Но разрабы до сих пор не пошли на встречу потребителю по решению этих проблем. Единственное что они сделали за столько лет, это создали прошивку, в которой теперь есть сигнализация об окончании программы технолога
Прошу гуру программирования посмотреть на данный проектик. Я правильно сделал? Будет ли запускаться программа технолога на ТРМ251 при управлении с ПР100 через RS-485 по Модбас RTU, т.к. ПР100 еще нет в наличии? Прошу сильно не материть :rolleyes:
На прессе установлены два цилиндра. Первый ТРМ251 подключен через датчик давления ПД100 к первому цилиндру, а второй ТРМ251 подключен ко второму цилиндру. Каждый цилиндр имеет свой клапан управления, подключенный к первому релейному выходу своей ТРМки251. Команда на запуск насоса высокого давления, подключенная к первому дискретному входу I1 ПР100 в данном варианте должна запустить программу технолога сразу на двух ТРМ251, а третий релейный выход ТРМ 251, запрограммированный на его срабатывание после окончания программы технолога, даст команду на вход I2 ПР100 об окончании программы и переключит состояние ТРМ251 в режим СТОП.
Запускать программу прессования, одновременно нажимая на кнопочки запуска двух ТРМ251, крайне не удобно. В данном варианте ПР100, как мастер сети, даст команду сразу на две ТРМки.
Раньше на прессе для управления давлением прессования стояли электроконтактные манометры и реле времени, но всё со временем износилось до предела да и в этом варианте было не удобно, оператору пресса приходилось вручную за один цикл прессования несколько раз изменять уставки на ЭКМах
В данной теме вообще ни кого нет или все в отпусках на Канарах?
In_Da_Cher_A
08.04.2025, 08:39
привет.
так здесь больше проблема не в формировании "выхода" на ПР, а в программировании ТРМ на изменение своих настроек и уставок по сети
поэтому начать наверное надо с правильности соотнесения регистров в ПР и в ТРМ
вот это и спрашивай
а с ТРМ мало кто работает, чтобы сходу будет это работать или нет, надо погружаться в тему досконально
День добрый! Это естественно, что сетевые настройки ТРМ и ПР должны быть одинаковые, тут даже речи не может быть и в самой ТРМке должно быть выставлено разрешение управление по сети. Вопрос в другом, что на форуме муссировался вопрос о том, что из-за несоответствия регистров не запускалась программа технолога, а если и запускалась, то после окончания программы технолога она снова не запускалась, пока вручную не нажмешь кнопочку, чтобы перевести ТРМ в режим СТОП. Так как ПРки у меня до сих пор нет в наличии, поэтому пока нет возможности поэкспериментировать
а прибору однозначно нужен дискретный вход для запуска программы технолога
А я бы в техподдержку написал, ибо мне непонятно
Вот, согласно этой табличке, команда пуск/стоп - дискретная
83001
А согласно этой - целочисленная
83002
И чему тогда верить?
Скачал прогу ModbusPoll, но с ней надо еще разобраться как работать. Это сложно для меня, также как и писать на Python/Delphi/C/C++. Информатика у нас была тогда, когда вместо ПК были машинные залы и биты с байтами на тот момент вообще ни чего не говорили. Темный лес. На данный момент освоены языки программирования LD, FBD и CFC, на большее не хватает знаний
а если скачать базовую версию Скада и уже с нее через переходник USB-RS485 попробовать подключиться к ТРМ251?
Наконец то прибыло ко мне программируемое реле ПР100. Забил в него новые настройки и программу. Сразу все законнектилось и заработало. В этом варианте ТРМ251 по сети Модбас RTU RS-485 с ПР100 стартует и останавливается программа технолога. Остался не решенным один косяк, после завершения программы технолога ТРМ переходит в режим СТОП,выдает на дисплее надпись END, загорается индикатор пятого шага выполненной программы и всё. Прибор далее не реагирует на команду Пуск по сети, пока в ручную на ТРМ не выставишь первый шаг программы технолога
А по сети шаг нельзя изменить? Нет там переменных для этого?
Petrovi4
22.04.2025, 08:57
А в оперативных параметрах регистры 0xF 0x10 не работают?
А как сделать, чтобы запускалась программа технолога по сети ТРМ без махинаций с кнопками с выходом из режима END на самой ТРМке?
по сети как я понял можно можно только посмотреть номер шага и номер программы. Есть в руководстве конкретные регистры для записи уставок программ технолога, а переключение шагов программы и номера программы я не нашел в руководстве
написал в тех.поддрежку. Посмотрим что они ответят
даже если и получится выставить по сети номер шага, то сначала надо сам ТРМ вывести из состояния END в режим СТОП. Такого регистра даже нет в руководстве
In_Da_Cher_A
22.04.2025, 11:29
Такого регистра даже нет в руководствепро это и говорили
сам ТРМ вывести из состояния END в режим СТОП.включи и выключи его питанием удалённо
сейчас попробую симитировать этот вариант через отключение питания.
данный эксперимент не дал результата, ТРМка при повторной подаче на нее питания так и осталась в состоянии END, хотя в настройках ТРМ выставлен параметр перевести его в режим СТОП после возобновления питания
In_Da_Cher_A
23.04.2025, 21:48
данный эксперимент не дал результата, ТРМка при повторной подаче на нее питания так и осталась в состоянии END, хотя в настройках ТРМ выставлен параметр перевести его в режим СТОП после возобновления питаниясмайлик с руками в сторону - добро пожаловать в ОВЕН!
данный эксперимент не дал результата, ТРМка при повторной подаче на нее питания так и осталась в состоянии END, хотя в настройках ТРМ выставлен параметр перевести его в режим СТОП после возобновления питания
Ну, вы же добились их запуска. А то что в боевую готовность ручками приводить, ну, такова реальность
а что нужно, чтобы нажать кнопку ? или сколько там надо сделать нажатий для возврата на первый шаг ?
для возврата ТРМ251 в исходное состояние, чтобы снова пошла команда Пуск по сети, надо нажать кнопочку ПУСК/ВЫХОД, а затем номер первого шага выбранной программы. В принципе не так и много действий приходится делать, данные махинации для разового цикла я еще понимаю, можно и нажать кнопочки, а на производстве это уже проблема, когда на линии стоит по две ТРМки, каждую отдельно надо сбросить. Один цикл программы технолога завершился, за ним наступает следующий. Через несколько месяцев данные продавленные кнопочки придется менять.
Я к тому, что кнопки физические или там надо в меню лезть?
Я просто к пульту котла, прямо к кнопкам припаивался и управлял. Может и тут можно так? Китайских релюшек с modbus вагон и тележка за копейки, подобрать по питанию и параметрам связи и параллельно трм подвесить.
Ну что ещё с Овен взять то?
Кароче тех.поддержка разводит руками, они сами не знают как сбросить ТРМ в состояние СТОП, ссылаясь на то, что данный прибор заточен для печей, в которых процесс занимает от нескольких часов до нескольких суток. И подойти оператору к ТРМке после освобождения печи, нажать кнопочки не составляет большого труда. Так что увы, танцы с бубном не увенчались успехом
Зачем нужен ТРМ251 если используется ПР200?
Все что нужно - написать в программе ПР200 и не заморачиваться более.
не ПР200, а ПР100 без аналоговых входов. Есть в наличии ПР100 с аналоговым входом, но оно без порта RS-485. Если управление делать на ПР100, то к нему надо будет цеплять панель оператора, чтобы была возможность в режиме реального времени изменять параметры программы технолога. В дальнейшем я только планирую перевести все на ПЛК, но пока использую то что есть в наличии
Кароче тех.поддержка разводит руками, они сами не знают как сбросить ТРМ в состояние СТОП, ссылаясь на то, что данный прибор заточен для печей, в которых процесс занимает от нескольких часов до нескольких суток. И подойти оператору к ТРМке после освобождения печи, нажать кнопочки не составляет большого труда. Так что увы, танцы с бубном не увенчались успехом
Старый добрый трюк. Берем паяльник, подпаеваемся к кнопке пуск/выход и имитируем ее работу через реле пр100.
Надежно. Добротно. Красиво)))) Но......
Предлагаю провести еще один эксперимент.
Для начала разрешим на ТРМ251 запуск запуск программ технолога:
83740
Выставим скорость 9600 и адрес 16 и подключим его к ПР100 с вот такой прошивкой.
Идея проста: При нажатии на I1 ПР100 выставит биты с 15 по 8 в регистре 80, а при I2 выставит 0 на тех же битах.
Будет ли ТРМ251 реагировать на эти команды?
В регистре 80 ТРМка вообще не реагирует на команды с ПР100. Команда на запуск программы технолога проходит в 5 регистре, а переключение шага в 16 регистре
Powered by vBulletin® Version 4.2.3 Copyright © 2025 vBulletin Solutions, Inc. All rights reserved. Перевод: zCarot