Jump to content

Вопросы по LADDER'у 18i-MA


Killerchik

Recommended Posts

Killerchik

Всем привет. Проблема проста и банальна - прикручиваю к станку электрический насос смазки вместо ручного. С электрической частью проблем нет, свободные выхода есть. А вот с ладдером есть некоторые трудности. Хочется сделать красиво - чтобы смазка шла по пробегу осей, как только любая ось проезжает, к примеру, километр, запускается цикл смазки. Кто-то может подсказать наиболее простой способ вытащить значение пробега? Как только оно будет, дальше для меня всё просто.

Если так сделать невозможно или супер сложно - ок, будет по таймеру. Сейчас раз в 50 часов работы станка (просто работы, по SERVO_ON) загорается сообщение "пойди и смажь, кожаный мешок".

И вопрос номер два - ориентация шпинделя. Сейчас шпиндель ориентируется в одну позицию по М19, позиция настраивается соответствующим параметром. Нужно ориентировать по команде вида М19 (или любая другая) С45.817 в нужный угол, нужно для многих задач. На ютубе было классное видео на эту тему, но я тогда не умел сливать программу ПЛК со станка, и потому оставил его на потом, а теперь оно недоступно. Попробую списаться с автором. Опять же, может быть кто-то пнёт в нужном направлении?

Link to post
Share on other sites


UnPinned posts
07.09.2021 в 19:39, gudstartup сказал:

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

В чем по вашему преимущество позиционирования объясните

Вы читали connection manual на 18 серию там написано следующее

image.png

И к тому же для 18i MA она не доступна а предлагается только для Т серии

image.png

Наименьший аргумент команды приращения все равно остается 0.088 

 

image.png

А вот вам для сравнения Cs

image.png

Разница в 88 раз а если установить измерительную систему IS-C тогда в 880 так что преимущество в точности явно на стороне Cs contour control.

Почему так рассчитываете? У меня на позиционировании по 0.001 перемещает

Link to post
Share on other sites
gudstartup
1 минуту назад, Soprin сказал:

Почему так рассчитываете? У меня на позиционировании по 0.001 перемещает

Потому что так в руководстве написано

Link to post
Share on other sites
  • 2 weeks later...
Killerchik

Коллеги, всем привет. Дошли руки покопаться с ориентацией шпинделя. Стал по строчке переносить то, что прислал @boomeeeer в свой ладдер и столкнулся с определёнными сложностями. Прикрепляю скриншот:

 

2021-09-18_21-44-15.png

Затык в команде GTW. Насколько я понял, это "Signed Binary Comparison" или "Подписанное двоичное сравнение". У меня такой команды нет. На мой взгляд, в моей стойке аналогичной является функция "COMPB". Верно ли это?

Дальше. В этой функции используется переменная "BCODE". Насколько я понял, это аргумент "B", считанный из команды М18 Bххх. У меня при вводе F30 в это поле (пробовал и F30.0) вылетает ошибка:

2021-09-18_21-53-56.png

 

Как это исправить? Вообще-то для проверки принципиальной работоспособности эту проверку величины угла, конечно, можно и убрать, но с ней разбираться всё равно придётся.

Edited by Killerchik
Link to post
Share on other sites
gudstartup
6 минут назад, Killerchik сказал:

"Подписанное двоичное сравнение".

Не подписанное а сравнение с учетом знака!

Напомните тип вашего контроллера PMC?

Link to post
Share on other sites
gudstartup

 

У вас неправильно указан тип данных в параметре 1 вам нужно указать 2 байтовый тип

image.png

image.png

32 минуты назад, Killerchik сказал:

У меня такой команды нет. На мой взгляд, в моей стойке аналогичной является функция "COMPB". Верно ли это?

Это разные команды COMPB сравнивает обычные двоичные данные бе учета знака а GTW сравнивает уже чс учетом знака и в ней сразу указано что сравнивается знаковое  слово 

Edited by gudstartup
Link to post
Share on other sites
gudstartup

@Killerchik

image.pngК тому же Результат COMPB помещается в R9000 и вам его надо анализировать чтобы определить результат сравнения.

 

  • Нравится 1
Link to post
Share on other sites
Killerchik
2 часа назад, gudstartup сказал:

в параметре 1 вам нужно указать 2 байтовый тип

 

1 час назад, gudstartup сказал:

должно быть примерно так а затем идет анализ R9000

Верхняя группа цифр, которая на Вашем скриншоте 0001 должна быть 0002 для двухбайтового типа, или нет?

Про R9000 понял. Вроде бы пока для меня не супер сложно :)

Link to post
Share on other sites
gudstartup
6 минут назад, Killerchik сказал:

Верхняя группа цифр, которая на Вашем скриншоте 0001 должна быть 0002 для двухбайтового типа, или нет?

Если сравнивать со значением которое занимает 1 байт то =1 если 2=2 так как  360 занимает 2 байта (000101101000) то должно быть 2.

 

Поэтому в исходнике у вас GTW а не GTB

  • Нравится 1
Link to post
Share on other sites
Killerchik
1 час назад, gudstartup сказал:

Поэтому в исходнике у вас GTW

Да, жаль у меня этой функции нету.

Link to post
Share on other sites

Не забывайте минуты с секундами переводить в десятые доли )) а то многие как видят так и пишут 1°30' пишут как 1,30° ,)))

Link to post
Share on other sites
  • 2 weeks later...
Killerchik

@gudstartup

Появилось время поработать с ориентацией. В документе 65280EN (мануал по параметрам привода шпинделя) по параметру INDXA написано следующее:

2021-10-06_21-11-01.png

То есть, сначала нужно установить ORCMA=1. Меня очень смутило, что INDXA нужно не включать, а выключать. Честно говоря, пока решил, что это опечатка. Я решил пока убрать из программы все проверки и вычисления, просто присваиваем SHA00 значение 1000 (тысяча) и пытаемся повернуть шпиндель на этот (какой-то) угол. Он будет явно отличаться от положения при смене ин-та, так что успех будет явно виден. Участок программы с ориентацией на угол сейчас имеет вот такой вид:

2021-10-06_21-15-06.png

Программа, которую выложил @boomeeeer имеет вот такой вид:

2021-10-06_21-17-43.png

2021-10-06_21-18-21.png

И сначала я попробовал точно скопировать её. Всё было совсем плохо, не работала ни одна цепь, и для упрощения я решил убрать все проверки и вычисления, связанные с значением угла. Далее появилась проблема с сигналами MF и BF (F7.0 и F7.7 соответственно) - я не знаю, что это и зачем, они были 0. Убрал их. Также добавил активацию параметра ORCMA. Таким образом программа приняла вид, отображённый на первом скриншоте.
Ну, значение SHA00 присваивается верно, с этим проблем нет. Но ORCMA упорно не хочет включаться! То есть М119.МЕ=1, а ORCMA=0. При этом, при выполнении команды М19 ORCMA очень даже себе прекрасно включается. Вот кусок исходной программы станка, который отвечает за ориентацию, я его не трогал:

2021-10-06_21-23-51.png

Почему в моей строке эта переменная не активируется - не могу понять :( Дальше, соответственно, ничего не происходит.

23.09.2021 в 17:55, Soprin сказал:

Не забывайте минуты с секундами переводить в десятые доли )) а то многие как видят так и пишут 1°30' пишут как 1,30° ,)))

Это наименьшая из проблем)))) на нашем старом Мазаке, ориентация задаётся от 0 до 3600. Здесь решил сделать также.

Link to post
Share on other sites
Viktor2004
18 минут назад, Killerchik сказал:

Почему в моей строке эта переменная не активируется - не могу понять :( Дальше, соответственно, ничего не происходит.

Что бы нам понять почему не ориентируется шпиндель, нужно видеть в момент подачи команды текущее состояние контактов цепочки G70.6

Так что фото с экрана будет информативнее скриншотов с компа.

И еще. В данных скриншотах нужно включать (сверху) отображение (Address & Symbol)

Ну а если Вы подключите Fanuc Ladder III к станку в режиме online будет вообще классно. На схеме отобразятся включенные и выключенные контакты.

Что бы сориентировать шпиндель достаточно подать 1 на G70.6 и все.

 

 

24 минуты назад, Killerchik сказал:

Далее появилась проблема с сигналами MF и BF (F7.0 и F7.7 соответственно) - я не знаю, что это и зачем, они были 0. Убрал их.

Слишком много вопросов, выделю только эти.

Сигнал MF (F7.0) подается в тот момент когда Вы выполняете любую М-команду на станке. Номер этой М-команды будет передан в PMC в двоичном виде в байтах F10 F11 F12 F13, и после следует короткий строб F7.0 По этому короткому импульсу ладдер должен прочитать F10 F11 F12 F13, декодировать их, преобразовать в десятичный вид и назначить этой команде конкретное реле которое она будет включать.

  • Нравится 1
Link to post
Share on other sites
Killerchik
22 минуты назад, Viktor2004 сказал:

Что бы нам понять почему не ориентируется шпиндель, нужно видеть в момент подачи команды текущее состояние контактов цепочки G70.6

Да, завтра сделаю, конечно. Но там всего 1 НО контакт, М199.МЕ Он активен. Это средняя строка в первом скрине. ORCMA, который я пытаюсь включить, это как раз G70.6

 

25 минут назад, Viktor2004 сказал:

По этому короткому импульсу ладдер должен прочитать F10 F11 F12 F13, декодировать их, преобразовать в десятичный вид и назначить этой команде конкретное реле которое она будет включать.

Хм. Идеология понятна. Я посмотрел нумерацию R-переменных в программе для разных М команд. По аналогии вычислил, какой R параметр отвечает за М119, и назначил его как адрес переменной "М119". В момент отработки строки с этой командой, эта переменная (R14.7, если быть точным) активируется на 1 цикл. Поэтому я добавил строку, в которой я этой переменной М119 включаю переменную М119.МЕ и потом уже работаю с ней.

Link to post
Share on other sites
Killerchik

@Viktor2004

Прикрепляю фотографии экрана станка.
И так, команда М119. Кусок моего авторства:

IMG_20211008_171309.jpg

Как видно, ORCMA = 0, несмотря на то, что слева сигнал есть. Далее кусок от команды М19, который изначально был. Никаких новых команд, просто пролистал вниз:

IMG_20211008_171322.jpg
Больше в схеме ORCMA как выход нигде не встречается, присваивать ей значение больше нечему (в ПЛК, конечно). У меня есть сумасшедшая идея - не может ли быть так, что если в строке, расположенной ниже (второе фото) выход не активен, то, несмотря на то, что в строке выше команда должна включаться, она не включается? Бред какой-то, но, пожалуй, надо попробовать это проверить.
 

 

 

Далее, команда М19. Мой кусок лестницы:

IMG_20211008_171558.jpg

Родной кусок:

IMG_20211008_171537.jpg

 

Link to post
Share on other sites
gudstartup
6 часов назад, Killerchik сказал:

У меня есть сумасшедшая идея - не может ли быть так, что если в строке, расположенной ниже (второе фото) выход не активен, то, несмотря на то, что в строке выше команда должна включаться, она не включается? Бред какой-то, но, пожалуй, надо попробовать это проверить.

И это правильное решение!

Link to post
Share on other sites
Viktor2004
2 часа назад, gudstartup сказал:

И это правильное решение!

Правильное решение было назвать это бредом

 

8 часов назад, Killerchik сказал:

Как видно, ORCMA = 0, несмотря на то, что слева сигнал есть.

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

1. Этим выходом управляет какая-то еще цепочка либо в PMC, либо в CEXE-файле и возникает конфликт выходов

2. Этот неисполняемый кусок кода является не полноценным членом области LEVEL2, а входит в подпрограмму, которая в данный момент отключена

3. Неисполняемый кусок отключен потому, что выше стоит оператор JMP который активирован на то, что бы этот кусок перепрыгнуть

 

Дайте нам посмотреть весь ладдер. Желательно в виде файла, а не скроллинга экрана

Edited by Viktor2004
Link to post
Share on other sites

ЕСЛИ ДЕЛO произходит в под-программе, уверены, что она вызивается?

 

Извинения, то был второй вопрос Виктора2004

Edited by bfi
Link to post
Share on other sites
gudstartup
5 часов назад, bfi сказал:

СЛИ ДЕЛO произходит в под-программе, уверены, что она вызивается?

Если вы сначала присваиваете значение одной логической операции одному выходному сигналу а затем второму то активным будет последнее значение RLO в цикле PLC

Вот вам пример программы в simatic c использованием duplicate coil.

@Killerchik

 

1.png

2.png

3.png

4.png

5.png

 

@Killerchik Как видите контроллер записывает в образ процесса последнее активное состояние RLO для Q0.0

  • Нравится 1
Link to post
Share on other sites
Killerchik
09.10.2021 в 10:52, Viktor2004 сказал:

Дайте нам посмотреть весь ладдер. Желательно в виде файла, а не скроллинга экрана

Конечно, прикрепляю.

@gudstartup

Спасибо, Вы оказались совершенно правы. Сегодня всё более-менее заработало.
И так, как оказалось, есть такой параметр, 3702. Его 2-ой бит отвечает за возможность ориентации с внешним заданием. Как оказалось, если его включить, то по команде ORCMA шпиндель ориентируется на значение заданное в SHA. Меня это не на шутку испугало))))) Залил я такой ладдэр, пробую сориентировать шпиндель по М119 - он ориентируется в какое-то положение, отличное от позиции смены ин-та. Потом пробую М19 - а он встаёт в какую-то другую позицию (видимо, по нулевой метке энкодера). Ладно, думаю, в энергонезависимую память я его не записывал, перезагружаюсь - тоже самое. Потом догадался выключить 3702.2 и всё заработало как раньше. Надо будет, видимо, вписать в ладдэер кусок, который будет по М19 отправлять в SHA00 значение, соответствующее позиции смены ин-та. В паспорте на привод есть вот такая ценная циклограмма:

2021-10-12_20-11-45.png

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

PMC_RB_7_a.LAD

Link to post
Share on other sites
boomeeeer
1 час назад, Killerchik сказал:

Надо будет, видимо, вписать в ладдэер кусок, который будет по М19 отправлять в SHA00 значение, соответствующее позиции смены ин-та. В паспорте на привод есть вот такая ценная циклограмма:

У меня есть информация, что если включить бит 0 (ORTs) в параметре 3729, то при задании команды в виде, например, М19S36, задание угла, равное 36 градусам, попадёт в SHA в преобразованном виде. Проверьте.

 

А вот и выдержка из мануала:

 

Цитата

Two methods of spindle orientation by a position coder are available: 
-  Orientation with the fixed stop position 
-  Orientation with the stop position set externally 
 
(1)  Orientation with the fixed stop position: Bit 0 (ORT) of parameter No.3729 = 0 
  By  inputting  the  spindle  orientation  command  signal,  the  spindle  can  always  be  stopped  at  an 
orientation stop position set beforehand with a parameter. 
(2)  Orientation with the stop position set externally: Bit 0 (ORT) of parameter No.3729 = 1 
  By externally setting the 12-bit orientation external stop position command signal and inputting the 
spindle orientation command signal, the spindle can always be stopped at an arbitrary orientation 
position within one spindle rotation. 

 

Edited by boomeeeer
  • Нравится 1
Link to post
Share on other sites
Killerchik
4 часа назад, boomeeeer сказал:

в параметре 3729

В моей СЧПУ 18i-MA нет такого параметра :(

Link to post
Share on other sites
boomeeeer
4 часа назад, Killerchik сказал:

В моей СЧПУ 18i-MA нет такого параметра :(

Совсем забыл, что у вас этот тип ЧПУ и написал для 0iF

Link to post
Share on other sites
boomeeeer

Вот для вашей ЧПУ нашёл следующий текст из которого видно, что также можно задавать позицию задания угла поворота из кадра, а не из логики

Цитата

Using a lathe’s orientation function with the stop position of the serial
spindle specified externally, specifying the S value as the angle of the stop
position for spindle orientation after the spindle positioning mode has
been selected
→ Use those gears that are not being used for the first spindle.
(In this application, gear 4 is used to calculate the spindle position.  Set
parameter No. 3744 to 360.)
Specify the M code used to set the spindle to positioning mode and
stop the spindle.  Enter gear 4 in GR1 and GR2.
Then, specify a spindle positioning angle with the S command.  (To
specify the position of 145 degrees, for example, specify S145;.)
Expression 145/360  4095 is calculated and the result is output to the
twelve  code  signals  corresponding  to  the  S  value  (output  signal).
Enter the data in external stop position commands SHA00 to SHA11
<G078, #0 to G079, #3> and perform the orientation.

 

Link to post
Share on other sites
Killerchik

@boomeeeer Кажется, это для токарной версии. У меня сходу М19 Sхх не работало ни в каком виде. Надеюсь, сегодня заработает :)

 

Link to post
Share on other sites
Killerchik

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

Теперь, господа, у меня такой вопрос - есть ли способ считать S аргумент из текущей строки? То есть, если я напишу М19 - нужно как-то узнать, что в этой строке нет S аргумента, тогда ориентировать шпиндель на фиксированный угол для смены. А если S аргумент в этой конкретной строке есть - ориентировать на него. Очевидно, что если просто прочитать, что там записано в S - будет последнее заданное значение, которое приведёт к неприятным последствиям. Да, можно, конечно, делать как задумывал изначально - М19 для смены и М119 для ориентации на угол, но очень уж хочется сделать единообразно с нашим старым Мазаком.

Link to post
Share on other sites
Viktor2004
5 часов назад, Killerchik сказал:

есть ли способ считать S аргумент из текущей

S аргумент считывается по стробу SF. F7.2 значение как и с М кодом будет там же, в F10-F13

Link to post
Share on other sites
Killerchik
4 часа назад, Viktor2004 сказал:

S аргумент считывается по стробу SF. F7.2

Верно ли я понимаю - если написать, к примеру, M19 S100, то на один цикл PMC включится F7.2? Тогда это отлично.

Ещё, не могли бы Вы объяснить, зачем усложнение с передачей кодированного значения через 

4 часа назад, Viktor2004 сказал:

F10-F13

когда значение и так будет без кодирования в F22?

Edited by Killerchik
Link to post
Share on other sites
Viktor2004

Я сам не проверял, но по логике так дрлжно работать.

Вопрос "зачем" Я себе уже давно не задаю, работая с японской аппаратурой

  • Нравится 1
Link to post
Share on other sites
Viktor2004
8 часов назад, Killerchik сказал:

когда значение и так будет без кодирования в F22

Я писал с телефона, документа под рукой не было. Щас посмотрел

Действительно, я ошибся. По стробу SF считывать данные надо не с F10-F13 , а с F22-F25

  • Нравится 1
Link to post
Share on other sites
Killerchik

И так, успехи за сегодня. Теперь значение S аргумента из MDI скармливается в PMC, и шпиндель ориентируется на любой угол. Без S кода в команде М119 - ничего не делает. После однократного ввода команды, меняет угол просто вводом нового значения S. По М19 встаёт в позицию смены. Считаю, это успех. Теперь задача убрать М119, чтобы всё происходило по М19. Это уже проще.
Ну и сделать пересчёт в градусы, пока вбиваемое число напрямую идёт в SHA00.

Может быть, завтра вернусь к задаче с подсчётом пробега осей и попробую предложенный способ с применением функции windr 28.

Link to post
Share on other sites
boomeeeer
32 минуты назад, Killerchik сказал:

Может быть, завтра вернусь к задаче с подсчётом пробега осей и попробую предложенный способ с применением функции windr 28.

Кстати только недавно разбирался с избыточным расходом смазки на станке под управлением простенькой стойки sinumerik 808d, так вот там подсчёт пути реализован в системе без всяких танцев с бубнами. В нужном параметре устанавливается значении пути при достижении которого в логику выдаётся бит, причём для каждой оси отдельно, который уже можно использовать по своему усмотрению, для запуска импульса смазки.

Link to post
Share on other sites
gudstartup
21 минуту назад, boomeeeer сказал:

В нужном параметре

Назовите аналогичный параметр у Фанука, который будет выполнять эту функцию и я сам дам себе в бубен...:biggrin:

Видимо это не параметры а счетчики которые устанавливают соответствующий флаг в памяти.

Link to post
Share on other sites
Killerchik
3 часа назад, boomeeeer сказал:

sinumerik 808d, так вот там подсчёт пути реализован в системе без всяких танцев с бубнами

Мда, и это на младшей модели..... Что ж, слюнями делу не поможешь, буду пробовать!

Link to post
Share on other sites
boomeeeer
7 часов назад, gudstartup сказал:

Видимо это не параметры а счетчики которые устанавливают соответствующий флаг в памяти.

В сименсе это просто число в параметре, который так и называется Lubrication distance. По какому алгоритму он там вычисляет я не знаю, но это удобно.

Link to post
Share on other sites
andrey2147
5 часов назад, Killerchik сказал:

Мда, и это на младшей модели..... Что ж, слюнями делу не поможешь, буду пробовать!

На 840D то же есть.

Link to post
Share on other sites

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.
Note: Your post will require moderator approval before it will be visible.

Guest
Reply to this topic...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

  • Recently Browsing   0 members

    No registered users viewing this page.



  • Сообщения

    • R2D2_
      Зажать Ctrl и потянуть нужную деталь из дерева или вьюпорта. Также можно добавить деталь в библиотеку проектирования. От туда детали вытягиваются как крепеж из туллбокса: будет вставлять копии, пока не нажмешь Esc.
    • Simlion
      Подскажите как вставить за раз в сборку несколько одинаковых компонентов, а то приходится сначала вставить один компонент, затем в дереве построения сделать ctrl+C этого компонента и уже в графическом поле сделать ctrl+v. Явно же есть простой способ вставки. Подскажите знающие люди. Заранее спасибо.
    • karachun
      В этом плане нестационарные расчеты в CFX раз и навсегда приучают к тому что надо сперва заказывать вывод нужных результатов а потом считать. Иногда приходят люди на cfd-online, в раздел по CFX и спрашивают: - Я считал нестационарную задачу трое суток и теперь нестационарных результатов не чувствую. Где они находятся? А местный модератор ghorrocks на это и отвечает: - Бубба, у тебя их нет.
    • Simlion
      В общем несколько дней назад перешел на Solidworks 2021 и всё бы хорошо, но вот после установки дополнения КБ2.0 стало происходить следующее: при создании новой сборки как обычно открывается новое графическое поле и сразу всплывает окно проводника, как если бы я пытался вставить в сборку деталь. До установки КБ2.0 при создании новой сборки ни каких окон не всплывало. Как отключить это?
    • Simlion
      Несколько дней назад на рабочем месте установили Solidworks2021 и тоже в сборках возникла проблема с прозрачностью рандомно у моделей в основном импортированных. Решилась на данный момент проблема отключением отображения исправленных моделей в разделе вид. 
    • BSV1
      Вот так уж точно в одно тело     
    • gudstartup
      И еще один минус  при работе с бумажными схемами кроме долгого поиска это еще и то  что необходимо потом все отсортировать и разложить как оно и было до начала раскопок!  
    • gudstartup
      Хотя бы один на бригаду можно у руководства выцыганить но  желательно с хорошей батареей...
    • BSV1
    • gudstartup
      Скорость поиска в бумажной и электронной документации невозможно сравнивать! Хорошо если схема организована со сквозной нумерацией обозначение элемента схемы = страница . столбец эл. схемы = метка элемента в оборудовании тогда все ищется быстро даже на бумаге, а вот у китайские и тайваньские товарищи этого стандарта не придерживаются на лицо очень большая сегментация и не рациональное обозначение частые ошибки в описании элемента и использование сокращений приводящих к трудностям перевода и это не европейские языки правда сейчас стало гораздо легче но это пока гугл работает! Генераторы например летят, реже серво но а что касается периферии то тут уже траблы случаются гораздо чаще! Работой они нас не обделяют. Да конечно большинство неисправностей случаются в следствии перепадов напряжения а UPS и входные стабилизаторы уже не первой свежести и никто их не хочет обновлять так как оборудование работает как говорится на износ и до полного морального устаревания.
×
×
  • Create New...