|
Вопросы о Matrix Работа и применение контроллеров Matrix. |
|
Опции темы | Поиск в этой теме |
31.10.2019, 21:53 | #121 | ||
Senior Member
Регистрация: May 2010
Адрес: Novosibirsk
Сообщения: 761
Благодарил(а): 1 раз(а)
Поблагодарили:
10 раз(а) в 10 сообщениях
|
Ответ: Функционал
Цитата:
Под ожиданием я подразумеваю не ожидание ответа на TCP запрос, а ожидание квитанции на фреймы. Подробно долго было расписывать. Вам, как специалистам режет глаз. Плюс такие параметры даже простого промышленного свича вроде IEEE 802.3x flow control, back pressure flow control говорят(?) о том, что поток свичем контролируется. Далее у нас часто повторяется ситуация - отключаются модули (снимаются вместе с частью оборудования). При этом если продолжать отправлять запросы по MODBUS TCP при подключении модуля и попытке с ним сделать еще одно соединение модуль не отвечает. Что логично так как для этого мак адреса (или вообще) буфер забит. Физическое соединение компа со свичем не нарушаем. Как только подаем запрос закрыть ТСP соединение с этим модулем, с этого же компьютера или с другого а затем подаем запрос на новое ТСР соединение, оно всегда выполняется и данные начинают поступать на запросы. Из чего у меня получается только один вывод Свич чуть умнее, и контролирует уже часть 3 уровня. Попытки разобраться заводят в конкретные дебри. А managed свичи уже прямо пишут Typically the switch detects and recovers from a copper link failure within approximately 20 ms – for the majority of applications a seamless process. Modbus/TCP, Modbus/RTU and OPC supported. При этом считают свичем 2 уровня. Упрощенное представление в итоге ответ не дает. Но способ работает. даже единичные сбои полностью прекратились после реконнекта при любой ошибке и использования поля Transaction ID в MODBUS TCP. Вы предлагаете такой же способ. Все должно быть нормально, если ненормально реконнект. В этом пункте я с Вами заранее был согласен. Но не все так делают. Много текста, если прореживать, становится непонятно. Добавлено через 12 минут Цитата:
__________________ В жизни 2 правила успеха: 1 Не говори всего что знаешь 2 ... |
||
31.10.2019, 23:19 | #122 | |||||||
Senior Member
Регистрация: Nov 2017
Сообщения: 561
Благодарил(а): 3 раз(а)
Поблагодарили:
38 раз(а) в 30 сообщениях
|
Ответ: Функционал
Цитата:
Данные при использовании TCP разбиваются на пакеты (если надо) TCP/IP стеком отправителя, обратно собираются TCP/IP стеком получателя. Между отправителем и получателем в локальной сети данные ходят в виде Ehernet-фреймов, которые имеют MAC-адрес отправителя, MAC-адрес получателя, что-то и контрольную сумму этого чего-то. Все, задача свитча взять MAC-адрес получателя и отправить в его сторону пакет или выбросить. В "что-то" свитч не лезет от слова совсем. На уровне Ehernet-фреймов никаких квитков нет и отправитель Ehernet-фрейма не в курсе, получил его кто-то или нет. Буферов у свитча два типа: 1) для хранения базы MAC-адресов; 2) для очереди отправки пакетов. На эту очередь отправки плохая связь не влияет, потому что свитчу (как и сетевой карте) все равно, получил ли кто-то переданный пакет или нет. Цитата:
Цитата:
Цитата:
Цитата:
Цитата:
Так если модуль отключен, с чего вдруг с ним будет соединение? Если, на самом деле, с модулем нельзя установить два соединения, то это особенность реализации TCP/IP стэка этого модуля. Вот такая простая реализация, что поддерживает только одно соединение. Возможно, устройство содержит "аппаратную реализацию" TCP/IP, например, в виде микросхемы W5500, которая имеет ограничение по количеству подключений. Никакого отношения это к свитчу не имеет. Цитата:
"Modbus/TCP, Modbus/RTU and OPC supported." -- это что, про настройку свитча? Какое разница, как настраивается свитч? |
|||||||
01.11.2019, 00:46 | #123 | |
Senior Member
Регистрация: May 2010
Адрес: Novosibirsk
Сообщения: 761
Благодарил(а): 1 раз(а)
Поблагодарили:
10 раз(а) в 10 сообщениях
|
Ответ: Функционал
Когда разбирался ссылка была на книгу Методы передачи данных канального уровня. Получается общие примеры
Цитата:
Повторное соединение устанавливается. В нормальном режиме устанавливается не менее десяти TCP соединений с разных компьютеров, и не менее 3х с одного. Один запрос на закрытие TCP соединения волшебным образом все сбрасывает и это мне непонятно как если не анализировать пакеты. Так же если подождать примерно 3 минуты без обмена (не передавая запрос на закрытие TCP соединения так же все сбрасывается. И опять можно соединяться. Можно объяснить TTL или ?. Перепутывание пакетов. Ответ на первый TCP запрос приходит вторым. Это можно объяснить потерей пакета и повторной передачей в то время как второй пакет прошел без задержки. Придется еще раз перепроверять. __________________ В жизни 2 правила успеха: 1 Не говори всего что знаешь 2 ... |
|
01.11.2019, 08:56 | #124 | |||
Senior Member
Регистрация: Nov 2017
Сообщения: 561
Благодарил(а): 3 раз(а)
Поблагодарили:
38 раз(а) в 30 сообщениях
|
Ответ: Функционал
Цитата:
Цитата:
Или вы что-то важное не договариваете, или в реальности такого просто нет. Цитата:
Я вижу, что вы в тех местах, где что-то не поняли, много себе нафантазировали. |
|||
01.11.2019, 10:28 | #125 | |||
Senior Member
Регистрация: May 2010
Адрес: Novosibirsk
Сообщения: 761
Благодарил(а): 1 раз(а)
Поблагодарили:
10 раз(а) в 10 сообщениях
|
Ответ: Функционал
Цитата:
Проверил современные источники "...Канальный уровень (англ. data link layer) предназначен для обеспечения взаимодействия сетей на физическом уровне и контроля ошибок, которые могут возникнуть. Полученные с физического уровня данные, представленные в битах, он упаковывает в кадры, проверяет их на целостность и, если нужно, исправляет ошибки (формирует повторный запрос повреждённого кадра) и отправляет на сетевой уровень. Канальный уровень может взаимодействовать с одним или несколькими физическими уровнями, контролируя и управляя этим взаимодействием... На этом уровне работают коммутаторы, мосты и другие устройства. Эти устройства используют адресацию второго уровня (по номеру уровня в модели OSI). ..." Трудно интерпретировать иначе как на этом уровне есть подтверждение получения https://ru.wikipedia.org/wiki/Сетевая_модель_OSI "...Буфер памяти может использовать два метода хранения и отправки фреймов: буферизация по портам и буферизация с общей памятью. При буферизации по портам пакеты хранятся в очередях (queue), которые связаны с отдельными входными портами. Пакет передаётся на выходной порт только тогда, когда все фреймы, находившиеся впереди него в очереди, были успешно переданы. ..." https://ru.wikipedia.org/wiki/Сетевой_коммутатор На мой взгляд подтверждает правильность моего вольного изложения. Ваше описание более упрощенное. В нем не просматривается возможность ошибок. Цитата:
Цитата:
Кстати Вы упоминали про дуракоустойчивость. На этом форуме не припомню, чтобы обсуждалось как обжать RJ-45. А как подключить RS-485 много раз. __________________ В жизни 2 правила успеха: 1 Не говори всего что знаешь 2 ... |
|||
01.11.2019, 11:30 | #126 | |
Senior Member
Регистрация: Nov 2017
Сообщения: 561
Благодарил(а): 3 раз(а)
Поблагодарили:
38 раз(а) в 30 сообщениях
|
Ответ: Религиозные споры про то и про сё
Цитата:
В свитче может использоваться очередь отправки, когда количество входящих пакетов оказалось больше, чем физически можно отправить. Понятно, что данные в очереди расходуются со скоростью отправки данных, т.е. для сети 100 мегабит это будет примерно от 8000 тыс. до 100 тысяч пакетов в секунду, в зависимости от их размера. Это совсем не то, что "свитч держит пакет в памяти, пока не убедится, что его принял получатель". Ничего подобного в свитче нет. |
|
05.11.2019, 00:06 | #127 |
Уволен из Сегнетикс
Регистрация: Nov 2015
Адрес: CПб/ВЛГ
Сообщения: 0
Благодарил(а): 0 раз(а)
Поблагодарили:
1 раз в 1 сообщении
|
Ответ: Религиозные споры про то и про сё
ОМГ Вот это жирную тему я пропустил! =)
Вообще, не буду, конечно, тыкать пальцами, и кого-то в чём-то обвинять. В моих словах каждый найдёт что-нибудь про себя. За исключением людей, кого я назову по именам. Не понимаю предъяв в сторону Арсения и идеологии/вектора развития лоджика или ещё чего-то. Я с ним работал достаточно, чтобы понимать, когда он спрашивает вас "зачем вам это нужно" - это не подразумевает "вам это не нужно". Я уверен, за этими вопросам где-нибудь ещё теплится надежда, что может быть хотя бы в этот раз будет действительно веская причина. Но в миллионный раз оказывается, что это не так уж и нужно. Более того, я видел несколько случаев, за время работы в техподдержке, когда клиент объяснял, зачем ему это нужно, и это делали. Либо внедряли в функционал, либо делали специально для него что-то. Это редкие случаи, потому что большинству людей нечего ответить на вопрос "зачем?". Читал про лабвью, и думал "наверное, солидный софт, много хорошего.". Потом увидел видео, пошел - посмотрел ещё, и теперь думаю "ну и дер....". Как будто школьники делали. И за это ещё деньги просят. Поразительно. В сфере промышленной автоматизации не хватает новых технологий. Лабвью застрял в 98ом году. Моё мнение, конечно. Что касается протягивания связей. Ну а как вы хотите построить большую систему? Вы рассуждаете тут про считывание сигналов с миллиона квадриллионов датчиков и какое-то там логгирование. А кто все эти датчики подключать будет? А кто их купит? А кто дуодециллион проводов обожмёт? Так неужели вам сложно тыщу раз ткнуть мышкой? А, я забыл "время программиста дороже времени <кого угодно>". Время разработки и так далее. Да-да. Не надо переоценивать свою важность. Программировать может каждый. А провода подключать нет. Вот недавно я собеседовал одного человечка. Он программист и хотел стать программистом контроллеров, в надежде перейти в новую сферу. Он был расстроен, что ему, вообще-то, придётся изучать метрологию, гидравлику, термодинамику, электрику, теорию управления и разбираться в куче профильного оборудования. Я ему так и сказал, что в данной сфере любой инженер станет программистом контроллеров в кратчайшие сроки, но даже самый квалифицированный программист по биг дата или пусть нейронным сетям, не сможет вот так же втянуться в автоматизацию. Человек даже обиделся, как мне показалось, что я считаю программистский навык таким доступным. Он ведь этому учился.... Протянуть тысячу связей - не проблема. Наливается чай, включается музыка, 20 минут медитации и готово. За это время можно как следует подумать, всё ли у вас хорошо в архитектуре, если приходится протягивать такое количество связей. Потому что если не хорошо - придётся удалить и протянуть другую тысячу. Циклы, массивы, строки... Циклы, де факто, есть. Де юре, конечно, нету, но посмотрите в макросы конструктора хвак и увидите их. Это запрещённые технологии. Кому они нужны - тот знает как их достать. Если человек знает, как их достать, я считаю, он достоин их использовать. Т.е. он не "пьёт из лужи" и ногу себе не отстрелит этими циклами. Может быть. Если нет понимания, как их заполучить - то и применять их рано. Простой фильтр, но работает. За время работы в техподдержке я видел огромную кучу "инженеров-программистов", которым лучше бы вообще держаться по дальше от компьютеров. Но они, к сожалению, вынуждены программировать контроллеры. Если в их руках окажутся циклы, то живые позавидуют мёртвым. Массивы - сложнее. В том виде, в котором о них говорится (множество связей в одну) они точно не нужны. В некотором ничё так виде - они есть в smhistory ну или просто в array. Со строками - соглашусь. С развитием экранов и сенсорного ввода, лично мне, уже довольно часто приходится делать программы с видимым ограничением, выраженном в отсутствии динамических строк. В рамках местечковой автоматизации (автоматизация конкретной установки) - можно и без этого обойтись, можно просто заготовить сотню-другую строк на любой вкус и вкидывать нужную. Но в рамках адаптивных проектов, где желательно поменять название того или иного элемента, потому что объект может быть один или другой, или где надо вводить имя пользователя, или вести учёт пользователей с именами собственными - приходится уходить от лоджика или от сегнетикса. А жаль, ведь трим, так-то, может и с этим справиться. Ну и особенно меня повеселили фразы типа "тогда покажите, как в лоджике/матриксе сделать вот так и вот так!". Во-первых, многое из этого реально можно сделать на матриксе, вопрос всё тот же - зачем? Во-вторых, тут уже говорили об этом, для всего есть свои инструменты. У матрикса свои задачи и он с объявленными цифрами справится (скорее всего). А подход "я собрал из блоков, пока работает" - очень опасный. Ракета Ариан 5 взорвалась при взлёте из-за того, что программисты собрали программу из готовых блоков, где "чему тут ломаться?". Блоки от ракеты ариан 4. Но в какой-то момент использовали преобразование double в int, а этот int переполнился и горизонтальная скорость ракеты стала отрицательной. Блок инерциальной системы ориентирования решил срочно маневрировать и на 37ой секунде полёта вывел ракету на запредельную траекторию. Корпус попал под воздействие чрезвычайных аэродинамических нагрузок и стал разрушаться. На 40 секунде произошло самоуничтожение ракеты. Это был первый запуск Ариан-5. Это событие названо одной из крупнейших компьютерных ошибок в истории. Только материальные потери составили около $500 млн. И это в 1996ом году. На современные деньги будет ещё печальнее. __________________ В сегнетиксе не работаю с самого начала 2019 года. Последний раз редактировалось Arsie, 03.12.2020 в 12:59 |
05.11.2019, 08:29 | #128 | |
Senior Member
Регистрация: Dec 2015
Сообщения: 119
Благодарил(а): 22 раз(а)
Поблагодарили:
4 раз(а) в 4 сообщениях
|
Ответ: Религиозные споры про то и про сё
Цитата:
1000 связей же откуда то выходят и куда то входят, а дальше надо эти 1000 еше куда то вывести. То есть есть вероятность что количество связей только увеличится В конфигураторе FMR например можно выбрать все AIN и сразу для всех задать нужный режим, время фильтрации, тип датчика. С такой идеологией можно было бы убрать групповые операции и оставить только конфигурацию по одному. Сравнивать с подключением этих самых проводов некорректно, так как такие объемы монтажа делает не один человек, да и делается это один раз. Тоже самое и с покупкой, в запросе на счет указывают количество, хотя можно конечно и по одному датчику запрашивать счет |
|
05.11.2019, 11:01 | #129 |
Сотрудник Сегнетикс
Регистрация: Mar 2016
Адрес: SPb
Сообщения: 4 341
Благодарил(а): 0 раз(а)
Поблагодарили:
255 раз(а) в 251 сообщениях
|
Ответ: Религиозные споры про то и про сё
Предлагаю не разбавлять эту тему водой, оставив ее более сильным игрокам.
__________________ Если ничто другое не помогает, прочтите, наконец, инструкцию |
05.11.2019, 15:32 | #130 | |
Senior Member
Регистрация: May 2010
Адрес: Novosibirsk
Сообщения: 761
Благодарил(а): 1 раз(а)
Поблагодарили:
10 раз(а) в 10 сообщениях
|
Ответ: Религиозные споры про то и про сё
Цитата:
Разделил циклы записи запроса MODBUS TCP (такт 100 мс) и чтения ответа (такт 50 мс) При отключении кабеля от модуля ввода вывода данные сразу перестают поступать. Запись продолжается еще примерно 20 с. Далее запись в порт прекращается. Если в течении 15 с подключить кабель, передача данных восстанавливается. При отключении чтения ответов запись запросов идет еще некоторое время (минуты). Примерно через 1,5 минуты происходит сбой обмена по 2 параллельному каналу. Чтение по этому каналу не отключалось. Примерно через 3 минуты происходит сбой и по 1 каналу. Если не доводить до сбоя, то при включении чтения данные приходят старые, пока не вычитать все данные из буфера. Фокус в том, что если данные читать симметрично с запросами они всегда будут старые. Вывод все-равно остается тот-же. Сбои обмена возможны. Свич так же может задержать данные по причине неуспешности доставки. Это точно либо потеря несущей либо ошибка в CRC пакета. Плюс сетевая карта модуля (согласно описания) может запросить повтор пакета от свича при ошибке CRC это как раз функции 2 уровня. Буфер свича в данном случае ни при чем. Задержку дает скорее всего буфер сетевой карты или драйвера. Старые данные приходить могут. Данные перепутываться могут. Задержка накапливаться может. Transaction ID запроса контролировать нужно. Способ закрыть TCP соединение открыть снова при любом сбое, ошибке таймаута и несовпадении Transaction ID правильный. Не смог повторить сбой повторного соединения. Видимо в заводском OPC сервере при неустановлении TCP соединения не производится посылка закрытия TCP соединения (несмотря на неуспешность). В этом случае возможно (учитывая буфер) полностью заблокировать модуль ввода вывода. Неправильно определен источник в виде свича. И неправильно думал, что на 2 уровне есть квитанции на подтверждение получения пакета. В этом описании ошибки больше не вижу. Инструмент под рукой, можно еще потестировать. __________________ В жизни 2 правила успеха: 1 Не говори всего что знаешь 2 ... |
|
05.11.2019, 16:46 | #131 |
Senior Member
Регистрация: Nov 2017
Сообщения: 561
Благодарил(а): 3 раз(а)
Поблагодарили:
38 раз(а) в 30 сообщениях
|
Ответ: Религиозные споры про то и про сё
Если бы мне пришлось что-то делать интенсивное и критичное ко времени с использованием MODBUS поверх Ethernet, то я бы в первую очередь сделал реализацию на MODBUS/UDP.
Это, с точки зрения логики алгоритма, получается гораздо проще: 1. Нет никаких коннектов. 2. Два основных случая: либо мы получаем ответ максимально быстро, либо совсем не получаем. 3. Если какой-то процент данных не будет доходить, то этим можно не заморачиваться (все равно идет интенсивный опрос). В случае ошибки, приведшей к повторной передаче данных с использованием TCP (и без поддержки штампа времени со стороны устройства) все равно не определить, а какому-же они моменту времени соответствуют. Поэтому подумайте. Возможно, с использованием MODBUS/UDP у вас система будет намного-намного проще и предсказуемее. Последний раз редактировалось Gel, 05.11.2019 в 17:01 |
05.11.2019, 16:51 | #132 | |
Senior Member
Регистрация: May 2010
Адрес: Novosibirsk
Сообщения: 761
Благодарил(а): 1 раз(а)
Поблагодарили:
10 раз(а) в 10 сообщениях
|
Ответ: Религиозные споры про то и про сё
Цитата:
2. Возможно стоит ввести тип string 3. Не стоит внедрять мои предложения так как это никому не нужно и, более того, опасно. Извините, но это вся полезная информация. Никто скорее всего и не собирается ничего внедрять. Так пустая болтовня не первый раз. Польза похоже только для меня: много хорошей критики, выявлены ошибки, недостатки в знаниях. Несколько новых идей. Ваше представление о Labview точно ошибочно. Думаю стоит уделить ознакомлению по форумам и на сайте NI хотя бы пару дней. Много новых идей. Не призываю использовать, это как источник некоторых полезных идей для ускорения внедрения новых нестандартных изделий. А это фактически все, что не охватывается конструктором. __________________ В жизни 2 правила успеха: 1 Не говори всего что знаешь 2 ... |
|
06.11.2019, 05:49 | #133 | ||
Senior Member
Регистрация: May 2010
Адрес: Novosibirsk
Сообщения: 761
Благодарил(а): 1 раз(а)
Поблагодарили:
10 раз(а) в 10 сообщениях
|
Ответ: Религиозные споры про то и про сё
Цитата:
И какую либо функцию повторить 1000 раз копипастом. С заменой названия переменной. Кроме Майка Науменко с его "Ежели у вас чагой-то там не так, То медитация уж враз поможет вам" на ум больше ничего не приходит. Осталось попробовать такие цифры несколько раз на реальном объекте. Вот тут философия закончится. И начнут западать кнопки Ctrl, c, v. Цитата:
при отрицательном числе -2147483648 Вертикальное ускорение в кочегарке останется в норме (0). Я Вам про приточки, ИТП, максимум котельные. SIL0 __________________ В жизни 2 правила успеха: 1 Не говори всего что знаешь 2 ... |
||
06.11.2019, 16:22 | #134 | |
Уволен из Сегнетикс
Регистрация: Nov 2015
Адрес: CПб/ВЛГ
Сообщения: 0
Благодарил(а): 0 раз(а)
Поблагодарили:
1 раз в 1 сообщении
|
Ответ: Религиозные споры про то и про сё
Цитата:
Я сейчас делаю программу, в которой 10 фмров используется, с каскадом, т.е. по сути, 20. Выходит 16 входов и 8 +24 выхода, итого 48 на блок. 480 входов/выходов. И да, эти связи надо протягивать. Более того, в моей программе каждый вход и каждый выход может иметь назначаемую функцию с экрана трима. Так что связей ещё несколько больше. Ну а что поделать? Модули-то настоящие. У вас int 32-разрядный, а у них было преобразование в 16-разрядный int, который не может принять значение в 2 миллиарда. максимум 65535 для беззнакового и 32767 для знакового. __________________ В сегнетиксе не работаю с самого начала 2019 года. |
|
14.11.2019, 10:00 | #135 |
Senior Member
Регистрация: Sep 2019
Адрес: SPb
Сообщения: 178
Благодарил(а): 12 раз(а)
Поблагодарили:
18 раз(а) в 18 сообщениях
|
Ответ: Религиозные споры про то и про сё
Это конец моего любимого сериала или затишье перед бурей?
|
14.11.2019, 11:09 | #136 |
Сотрудник Сегнетикс
Регистрация: Mar 2016
Адрес: SPb
Сообщения: 4 341
Благодарил(а): 0 раз(а)
Поблагодарили:
255 раз(а) в 251 сообщениях
|
Ответ: Религиозные споры про то и про сё
Это конец первого акта)
__________________ Если ничто другое не помогает, прочтите, наконец, инструкцию |
21.03.2020, 12:26 | #137 | |
Senior Member
Регистрация: May 2010
Адрес: Novosibirsk
Сообщения: 761
Благодарил(а): 1 раз(а)
Поблагодарили:
10 раз(а) в 10 сообщениях
|
Ответ: Религиозные споры про то и про сё
Цитата:
Хорошая новость для Вас: https://learn.ni.com/training/resources In response to COVID-19, all online courses are available for free to all NI customers until the end of April. Вы можете 1. Бесплатно познакомиться с передовыми способами графического программирования при помощи курсов от производителя. 19 курсов каждый из которых отдельно стоит по 549$. Полугодовая подписка на 1 специалиста около 6000$ 2. Бесплатно освоить инструмент для быстрого тестирования решений для графических языков например FBD и SMLogix. Не секрет, что в SMLogix пока нет отладки и пошагового выполнения и не у всех есть под рукой контроллер. Даже если есть контроллер все равно нет пошаговой отладки. Есть альтернатива - Ваше решение быстро накидать в LabVIEW, отладить, затем просто перенабить в SMLogix. 3. Сотрудникам Сегнетикс поможет в развитии SMLogix. 4. Всем пользователям поможет повысить свой профессиональный уровень и предлагать заказчику лучшее решение. Как специалист, имеющий сертификат Certified LabVIEW Associate Developer (CLAD) всем очень рекомендую. Как минимум пригодится в программировании на SMLogix. Это не альтернатива контроллерам от Segnetics и ПО SMLogix. Это помощь в Вашем профессиональном развитии. Есть мегаспециалисты, которые думают, что и так достигли всех возможных вершин в программировании. Для них эти курсы будут особенно полезны. __________________ В жизни 2 правила успеха: 1 Не говори всего что знаешь 2 ... |
|
26.03.2020, 02:12 | #138 | |
Member
Регистрация: Feb 2009
Сообщения: 50
Благодарил(а): 0 раз(а)
Поблагодарили:
9 раз(а) в 5 сообщениях
|
Ответ: Религиозные споры про то и про сё
Цитата:
Но есть куда более простая прога от Бауманцев для моделирования процессов. Прямого отношения к ПЛК она не имеет, но для понимания ТАУ очень даже... жаль что давно не развивается, но работает даже на Windows 10. Вот ссылки: https://yadi.sk/d/1Mh_NJprGKZlog https://yadi.sk/d/w_Dibss7QY-Q5w |
|
Благодарность от: |
26.03.2020, 02:14 | #139 |
Senior Member
Регистрация: May 2010
Адрес: Москва
Сообщения: 865
Благодарил(а): 4 раз(а)
Поблагодарили:
87 раз(а) в 68 сообщениях
|
Ответ: Религиозные споры про то и про сё
(чет ссылки не работали)
|
26.03.2020, 02:51 | #140 |
Senior Member
Регистрация: Dec 2007
Адрес: Томск
Сообщения: 4 174
Благодарил(а): 242 раз(а)
Поблагодарили:
166 раз(а) в 158 сообщениях
|
Ответ: Религиозные споры про то и про сё
|