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

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

 , , , ,


0

2

Сабж

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

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

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

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

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

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

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

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

а в чём смысл тогда? получается, 258-осный поезд не создаст проблем, потому что система так или иначе зафиксирует его присутствие, пусть и с неверным подсчётом осей. в таком случае нам нужен не счётчик осей, нам нужен bool.

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

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

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

Думаю у них 255 это максимально что может быть в составе, точный подсчет нужен потому, что были случаи когда на перегоне отцеплялся вагон и оставался, поэтому считать надо точно. Хз есть у них там рельсовые цепи как в России.

irton ★★★★★
()

Швейцария известна своей точностью и безупречной работой железнодорожной системы

Масштаб этой системы игрушечный. В Швейцарии примерно 5 тыщ километров ЖД путей. В России примерно 120 тысяч километров.

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

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

KivApple ★★★★★
()

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

А в «странах первого мира» развитие постепенное. А при постепенном развитии legacy копится ого-го как, ведь избавляться от него надо всё переделывать, а на это сложно решиться, когда в каждый момент времени есть возможность отделаться малыми изменениями.

KivApple ★★★★★
()

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

Там вообще может быть двоичный счётчик на какой-нибудь CD4520B (561ИЕ10) или там 74393/74590 с последовательным сдвиговым регистром в качестве передатчика для шины данных.

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

Но при этом у России и Швейцарии одинаковые объёмы экспорта товаров. Из-за чего, Швейцарские ж/д гораздо сильнее нагружены: 5т км перевозят те же кол-ва, что и 120т км российских.

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

Потому, что перевозка по ж/д идёт экпортируемых товаров (типа угля, мазута, етс) в основном, в случае РФ. Может, я не прав. Ну и расстояния-то большие, но они мало используются.

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

Флаг переполнения - результат математических операций. Обычный mov никакие флаги не выставляет.


# include <stdio.h>

    int a;
    unsigned char b;


void main (void)
{
    scanf("%d", &a);
    b = a;
    printf ("%d %d\n", a, b);
}

  401144:       88 05 f6 2e 00 00       mov    %al,0x2ef6(%rip)        # 404040 <b>
  40114a:       0f b6 05 ef 2e 00 00    movzbl 0x2eef(%rip),%eax        # 404040 <b>
  401151:       0f b6 d0                movzbl %al,%edx
      


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

Так, там не mov, а инкремент по идее должен быть

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

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

При чём тут битность контролера? Ты думаешь, что на 8-битном процессоре нельзя работать с числами больше 8 битов? Это не так.

Просто не хотят ничего дорабатывать.

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

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

«Счетчики осей имеют ограниченную пропускную способность. Это зависит от того, идет ли речь о счетчике двигателя или электронном счетчике, и, кроме того, различается у фирм-производителей Siemens и Lorenz. В настоящее время в Deutsche Bahn действуют: Счетчики двигателей фирмы Siemens с мощностью 255 осей; они постепенно заменяются электронными счетчиками фирмы Lorenz с мощностью 511 осей с мощностью 384 осей электронные счетные установки фирмы Siemens мощностью 619 осей Кроме того, электронные счетные установки, частично работающие на вычислительной основе, мощностью 1024 оси находятся в стадии разработки или уже используются. Если указанные числа осей превышены, то происходит на 256-й, 385-й, 512-й или 620-й осях. Ось включает баланс счетчиков; в этот момент участок отображается как свободный, даже если он фактически занят. Дальнейшие подсчеты - то есть, например, 257, 385 и более осей - снова приводят к неравенству счетных машин и, следовательно, к Индикатор занятости. Однако на практике это происходит только с поездами с пределом пропускной способности 255 осей, поскольку не достигается значительно большее количество осей»

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

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

Две страницы детских фантазий на тему

Это ж ЛОР.

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

речь идет о вообще древних счетчиках без какого-либо софта и без процессоров

Декатроны © могли бы спасти ихнюю ЖД :)

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

Отнюдь. Один декатрон до 10 считает, и на 255 осей пришлось бы городить аж три декатрона.

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

на 255 осей пришлось бы городить аж три декатрона.

Последовательное соединение 3 проводочками проще, чем городить ненужные дешифраторы (2>>> 10).

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

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

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

Согласующий тиратрон тоже проще дешифратора. Итого: 5 «ламповых лампочек» + 5 проводочков :)

quickquest ★★★★★
()

Пичалька может случиться когда будет 257 осей, но на одной датчик сбойнет.

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

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

Для грузоперевозок 63 вагона - это не много, бывает и сильно больше. Во всяком случае в России, не знаю как там в Швейцарии.

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

Для грузоперевозок 63 вагона - это не много, бывает и сильно больше. Во всяком случае в России, не знаю как там в Швейцарии.

Поэтому в России всегда поблизости была стрелочница в будке, которая не только перекидывала стрелку, но и орала в трубку дурным голосом «Але, диспетчер, остановите 348-й, я же сказала - на перегоне застрял товарный!» и потом выбегала махать красным флажком.

Заодно на корню решалась проблема 16, 32, 64, 128, 256, 512 осей.

vaddd ★☆
()

Швейцария известна своей точностью и безупречной работой железнодорожной системы

Ха. Ха. Искренне желаю всем кто в это верит попробовать добраться по женеве утром на поезде, особенно со стороны шен-бура.

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

Объёмы те же, а объёмы помноженные на километры?

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

Но всё равно, объём впечатляет.

Camel ★★★★★
()

...могли бы код и поправить

Тебя ждут. 😁

...известна своей точностью...

Кому известна-то? Там такие же люди, как и везде.

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