LINUX.ORG.RU
решено ФорумTalks

Костыли и подпорки. Везде костыли. Даже на швейцарской ж/д.

 , , , ,


0

2

Сабж

Швейцария известна своей точностью и безупречной работой железнодорожной системы, но даже там встречаются необычные технические ограничения. Одним из таких является строгий запрет на использование поездов, имеющих ровно 256 осей.

Казалось бы, такая мера выглядит странной, однако у неё есть весьма весомая причина — ошибки в системе подсчёта осей, которые могут привести к катастрофическим последствиям.

Швейцарские железные дороги используют специальные датчики, размещённые вдоль путей, для подсчёта количества осей проходящих поездов. Эти датчики выполняют важную функцию: они определяют, свободен ли тот или иной участок пути.

Однако проблема заключается в том, что система подсчёта использует 8-битную двоичную запись, а это означает, что максимально возможное число для записи составляет 255 (в двоичной системе это 11111111). Когда же поезд с 256 осями проходит по датчику, система пытается записать число 256 (100000000 в двоичном виде), но из-за ограничения в 8 битов оно сбрасывается на 00000000, что приводит к ошибке — поезд становится «невидимым» для системы.

Таким образом, если на путях окажется поезд с 256 осями, система не зафиксирует его присутствие, что создаёт потенциальную угрозу для безопасности.

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

Я ж не думаю, что там 8-битный контроллер 50-летней давности используется. Так что, могли бы код и поправить

★★★★★

Так что, могли бы код и поправить

Не всем нужно больше 8 бит.

MoldAndLimeHoney
()

Так что, могли бы код и поправить

Правка кода в эксплуатируемом софте - верный путь к сбоям и катастрофам

vaddd ★☆
()

Любопытства ради залез в цитируемый документ 2018 года. Поиск по документу не нашел ни 255, ни 256.

Неужели нас опять обманули?

vaddd ★☆
()

Полный бред написан, однако. Предположим что у вагона 4 оси (ога, две тележки по две оси) делаем не сложный расчёт и получаем 63 вагона, при максимальной весовой нагрузке в 70 тонн. Количество вагонов в составе ограничено еще и длинной станционных путей.

Так что, может и не нужно больше 255ти осей.

robot12 ★★★★★
()

Я ж не думаю, что там 8-битный контроллер 50-летней давности используется. Так что, могли бы код и поправить

Ну що ты не как админ? Работает - не трогай!

xwicked ★★☆
()
Последнее исправление: xwicked (всего исправлений: 1)
Ответ на: комментарий от robot12

Тоже самое хотел написать, но есть еще транзитные поезда и они могут быть как раз больше.

С другой стороны запрещенная конфигурация именно 256. Если поезд будет 258 осей, все будет отлично. Так что это невинная особенность, которую зачем-то выпятили как ужОс-ужОс.

yax123 ★★★★★
()
Ответ на: комментарий от yax123

С другой стороны запрещенная конфигурация именно 256

Кто найдет в документе по ссылке гисметео https://web.archive.org/web/20211129131041/https://www.hech.ch/wp-content/uploads/2018/07/I-30111_09122018_Anhoerung.pdf

цифры «256» - тому приз, слава и почет!

vaddd ★☆
()
Ответ на: комментарий от vaddd

4.7.44.8.4 Zugbildung Um das ungewollte Freimelden von Streckenabschnitten durch das Rückstellen der Achszähler auf null und dadurch Zugsgefährdungen zu vermeiden, darf die effektive Gesamtachszahl eines Zuges nicht 256 Achsen betragen

4.7.44.8.4 Формирование поезда Во избежание непреднамеренной очистки участков пути путем обнуления счетчиков осей и создания, таким образом, опасности для поездов, эффективное общее количество осей поезда не должно превышать 256 осей.

Ololo_Trololo
()
Последнее исправление: Ololo_Trololo (всего исправлений: 1)
Ответ на: комментарий от MoldAndLimeHoney

Нет, там же дальше написано, что счетчик именно восьмибитный и если больше – переполнение. 255 максимальное значение.

У них есть какой-то костыльный костыль для значений >256

tiinn ★★★★★
() автор топика
Ответ на: комментарий от yax123

У них там горная страна, я как-то сомневаюсь, что и локомотивам транзитных поездов там не станет плохо от составов такой длины

next_time ★★★★★
()
Ответ на: комментарий от MoldAndLimeHoney

что счетчик именно восьмибитный и если больше – переполнение. 255 максимальное значение.

Оно начнет считать с нуля дальше.

yax123 ★★★★★
()
Ответ на: комментарий от next_time

В целом согласен, про горы я в курсе, но обычно жд-пути стараются строить с минимальным перепадом высот. Так что допускаю наличие транзитных путей где перепады достаточные для протаскивания порожняка на сотню вагонов. С другой стороны эти немногочисленные транзитные пути могли модернизировать счетчиками на 16 бит.

Ну и если там перепады высот везде стабильно большие это дает естественное ограничение на длину составов. Так что для сферического поезда в вакууме ограничение на 8бит выглядит абсурдным, а для конкретной страны с конкретным размером и рельефом более чем достаточным.

yax123 ★★★★★
()

У них не бывает составов по 60 вагонов.

dmitry237 ★★★★
()

Скорее всего, им и не нужны такие длинные составы. Была бы необходимость или несли бы они от этого финансовые потери — исправили/модернизировали бы. А так: работает — не трогай. Всё правильно делают.

CrX ★★★★★
()
Ответ на: комментарий от Bfgeshka

Вряд ли, в Швейцарии требуется составы с более чем 62/63 вагонами.

Ololo_Trololo
()

Я ж не думаю, что там 8-битный контроллер 50-летней давности используется. Так что, могли бы код и поправить

Не знаю как в Швейцарии, а в Германии кое где ездят поезда с системами в которых DOS работает. Я работал с немцами над портированием этого всего добра на линукс. Но я уверен, что ещё не все системы заменили до сих пор. Там 2 года назад ещё куча работы оставалась.

Loki13 ★★★★★
()

используют специальные датчики, размещённые вдоль путей, для подсчёта количества осей проходящих поездов.

а зачем они вообще все оси считают?
1 ось - диагностически-монтажное оборудование, о таких работах знают зараннее
2 оси - это уже вакон или дрезина, звено пути занято
больше 2 осей - состав или локомотив, звено тоже занято

Kolins ★★★★★
()

безупречной работой железнодорожной систем

Поржал в голосину 😄

ergo ★★★
()
Ответ на: комментарий от robot12

биллинг считает какой длинны прошел состав чтобы счета выставить? ну тогда да, «все круто, но переделывай»)

Kolins ★★★★★
()
Ответ на: комментарий от Kolins

Если серьёзно, колёсные пары на РЖД считают на КТСМ-01Д или КТСМ-02 - номер пары нужен для определения номера вагона.

robot12 ★★★★★
()
Ответ на: комментарий от tiinn

DOS 16-разрядный. Там реально в коде byte/char на int поменять.

Ага, и в протоколе все структуры сдвинуть, да. Там полный трешак, работающий по COM-портам. И довольно сложный протокол для общения модулей друг с другом, чуть протокол поедет, всё отваливается. Я там говна полной ложкой поел. И это не упоминая того, что новые модули должны были уметь работать в связке со старыми, т.к. меняли кусками, а не всей системой.

Loki13 ★★★★★
()
Последнее исправление: Loki13 (всего исправлений: 1)
Ответ на: комментарий от Loki13

Ага, и в протоколе все структуры сдвинуть, да.

Да. Я о том, что проблема решается в коде. А на швейцарских ж/д - вот что-то я не уверен. Как-то у них топорно всё это

При этом ограничение касается именно 256 осей, но не распространяется на 257 (100000001 в двоичной системе) и более осей.

что навевает нехорошие мысли

tiinn ★★★★★
() автор топика
Ответ на: комментарий от tiinn

При этом ограничение касается именно 256 осей, но не распространяется на 257 (100000001 в двоичной системе) и более осей.

что навевает нехорошие мысли

Тут как раз всё просто. Ну посчитает система 257 осей как одну, главное чтобы не 0, чтобы поезд был видим для системы.

Loki13 ★★★★★
()
Ответ на: комментарий от Loki13

Тут как раз всё просто. Ну посчитает система 257 осей как одну, главное чтобы не 0, чтобы поезд был видим для системы.

Вообще, 8-битки флаг переполнения умеют выставлять. А швейцарская система не умеет, что навевает нехорошие мысли на то, что у них там древнющая электромеханическая система используется

tiinn ★★★★★
() автор топика

Ну, костыли и костыли. Непонятно, почему «даже». В Европе инфраструктура в целом набита легаси под завязку, где-то на 100%, где-то на 146%.

pekmop1024 ★★★★★
()
Ответ на: комментарий от tiinn

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

А кто-то пытливый нашел его в архивах. За что ему спасибо.

vaddd ★☆
()

им не нужно
им хватает
работает – не трожь

Вопрос-то не в этом. А в том, есть ли предупреждение и какая-нибудь блокировка, если это все же случится.

MoldAndLimeHoney
()
Ответ на: комментарий от vaddd

Страница 123:

4.8.4 Формирование поезда
Во избежание нежелательного освобождения участков пути из-за сброса счётчиков осей на ноль и, как следствие, угрозы безопасности движения поездов, фактическое общее количество осей в составе поезда не должно составлять 256.

А, уже указали. Ну ладно. Кстати, текст переведен дикпиком дипсиком.

Puzan ★★★★★
()
Последнее исправление: Puzan (всего исправлений: 1)

Так что, могли бы код и поправить

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

Obezyan
()

знаменитое швейцарское качество закончилось на складных ножиках.

alysnix ★★★
()

Ну я в московском метро видел, что кассы продайжи билетов сделаны на DOS. Там синенькие такие окошки с TUI, наверно на турбпаскале написаны.

vbcnthfkmnth123 ★★★★★
()
Последнее исправление: vbcnthfkmnth123 (всего исправлений: 2)

Так что, могли бы код и поправить

А почему бы не считать только каждую вторую ось, ведь вагонов с 1 осью нету?
«Лёгким движением руки» максимум вагонов удваивается :)

quickquest ★★★★★
()
Ответ на: комментарий от quickquest

https://ru.wikipedia.org/wiki/%D0%92%D0%B0%D0%B3%D0%BE%D0%BD%D0%BD%D0%B0%D1%8F_%D1%82%D0%B5%D0%BB%D0%B5%D0%B6%D0%BA%D0%B0

Также встречаются и трёхосные тележки (6-осные вагоны), отличающиеся более сложной конструкцией рамы

Обрати внимание, я не стал прятать ссылку в точечку, чтобы тебе было сложнее её открыть.

sin_a ★★★★★
()
Ответ на: комментарий от sin_a

Также встречаются и трёхосные тележки (6-осные вагоны),

6 на 2 делится, так что здесь к товарищу претензий быть не может.

tiinn ★★★★★
() автор топика
Ответ на: комментарий от quickquest

А почему бы не считать только каждую вторую ось, ведь вагонов с 1 осью нету?

а нахрена их вообще считать? Надо количество вагонов считать, а не осей.

FishHook
()
Ответ на: комментарий от tiinn

Если начать фантазировать то можно представить себе элемент состава у которого одна тележка двух- а вторая трёхосная. Можно представить себе локомотив «с гармошкой» у которого крайние тележки двуосные а средняя (общая) - трёх-. Но суть в том, что возможна неопределённость. А такая лотерея не всем может понравиться.

sin_a ★★★★★
()
Ответ на: комментарий от FishHook

а нахрена их вообще считать? Надо количество вагонов считать, а не осей.

Ага, например SecurOS Transit ©, но видимо Швейцария – отсталая страна :)

quickquest ★★★★★
()
Ответ на: комментарий от FishHook

По осям считают и тепловозы и вагоны. У тепловоза 4 и больше осей. В жд сфере все системы считают по осям.

Также работают весы взвешивающие груз в составах, автоматизировал такие лет 20 назад. Идёт состав зерна или металла на выгрузку в порт. На определённом участке пути снижает скорость до 1 км в час. Механизм считывает количество осей исключая тепловоз, и взвешивает полные грузовые вагоны, после выгрузки пустой состав взвешивается ещё раз на выезде. Так рассчитывается количество доставленного груза.

Obezyan
()

Народ на швейцарском железнодорожном форуме тоже поржал, но похоже, разобрался в причинах и истории:

https://community.sbb.ch/d/13053-stimmt-es-dass-in-der-schweiz-keine-z%C3%BCge-mit-genau-256-achsen-verkehren-d%C3%BCrfen/7

Короче, какой-то английский математик выпустил в 2019 книгу с упоминанием всяких курьезов, связанных с цифровой техникой. Это вызвало всплеск обсуждений, примерно выяснили, что подобное ограничение было на древнем сименсовском счетчике осей (страшно предположить возраст счетчика, видимо годов 70-х и небось чисто аппаратный). Поскольку это ограничение было упрятано глубоко в документе, то про него забыли. А после выхода книги железнодорожный документ быстренько обновили и с версии от декабря 2019 этого ограничения там нет.

vaddd ★☆
()
Ответ на: комментарий от alysnix

Вы мне льстите :)

Я конечно был первым кто внедрил линукс на производстве улан-удинского тепловозоремонтного завода. Но и только, большего отношения к ЖД у меня нет.

yax123 ★★★★★
()

Я ж не думаю, что там 8-битный контроллер 50-летней давности используется. Так что, могли бы код и поправить

Почему же вы так думаете? Вполне возможно что они как раз и используются. И не факт что там вообще контролер возможно что логика датчика на каких нибудь аппаратных регистрах распаяна.

Rodegast ★★★★★
()
Последнее исправление: Rodegast (всего исправлений: 1)
Закрыто добавление комментариев для недавно зарегистрированных пользователей (со score < 50)