fixik_papus (fixik_papus) wrote,
fixik_papus
fixik_papus

Почти-стандартизация

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

Типовая и постоянно встречающаяся задачка: организовать передачу данных между двумя приборчиками.
В нашем случае - контроллер и тепловычислитель.
Смотрим ТТХ. Вычислитель имеет интерфейс Modbus RTU на "физике" RS-485. Докупаем блочок к контроллеру с поддержкой RS-485, убеждаемся в наличии в среде разработки поддержки Modbus RTU, параметрируем стандартную функцию общения на основании мануала на вычислитель. Все.
Если и то, и другое находится в одном шкафу - дел часа на три, включая монтаж.

Это как должно быть в некоей идеальной стране эльфов и порхающих розовых пони.
А мы возвращаемся в суровую зимнюю российскую действительнсть. В котельную, где нужно состыковать
контроллер Siemens S7-1214 и вычислитель Теплоком ВКТ-7.
Проделав вышеозначенные манипуляции - убеждаемся: связи между приборами нету.
(проделать их достаточно в уме, прочитав мануалы. Чтобы зря время не тратить, и поменьше на объекте работающем ковыряться).

Почему? Вот кусочек мануала на протокол обмена данными с ВКТ-7 (оригинал, pdf)

vkt.gif

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

Чтобы выяснить, кто из нас тупой - "я" или "они" - поинтересуемся опытом других спецов на профильных форумах.
Видим хорошие новости - тупой не я. И плохие - объем работ несколько больше, чем кажется.

А именно:
- забываем про стандартные библиотеки, работаем с портом контроллера в режиме PtP (спасибо Сименсу, что не убрали такую возможность в новом семействе)
- ручками пишем на SCL нестандартный драйвер устройства, парсер пакетов и секвенсор обмена данными
- отлаживаем это на стенде (потому что контроллер работающей котельной посреди зимы - несколько неподходящее место для экспериментов с протоколами). Хорошо, если у нас под рукой завалялся контроллер для стенда. А если нет?
- оцениваем затраты времени (чтобы выставить счет заказчику). Я оценил в 20 часов; по факту получилось быстрее.

Для тех, кто не является спецом по промышленным стандартам коммуникации:
Протокол Modbus разработан компанией Modicon - изобретателем ПЛК (ныне подразделение Шнайдера). В далеком 1979 году. Протокол открытый и свободно доступный. По нынешним понятиям - простой до безобразия (вспомните, какие были вычислительные мощности дешевых однокристальных процессоров в 1979).
Свободно доступные библиотеки для Modbus имеются практически для всех семейств микропроцессоров.

Внимание, вопрос: почему в 21 веке нельзя было реализовать стандартный протокол Modbus RTU? Микроконтроллеры ныне стоят смешные копейки (не нужно на цены Чип-и-Дипа смотреть, смотрите на алиэкспрессе хотя бы), и их ресурсов для целей учета тепла + простенький древний интерфейс - хватает и остается с запасом.
Не умеете - давайте я вам сделаю за малую денежку, опыт программирования Modbus Master и Slave на 6 семействах от x51 до S7-300 - имеется.

Больше того, для ВКТ-7 есть плата Ethernet, но.... но там сделан вообще свой недокументированный протокол, и общаться плата может только с теплокомовской же программой, что делает ее для целей системной интеграции - бесполезной. Зачем так делать?
Есть OPC-сервер.... который является примером, как НЕ нужно документировать OPC-серверы (попробуйте по его мануалу поразбираться, какая переменная там за что отвечает).

Самое смешное - предыдущая модель того же производителя, ВКТ-5 - имела вполне себе стандартный протокол! Так что мы вместо развития - наблюдаем шаг назад.

К чему я на все это жалуюсь?
К тому, что есть такое правило: все, что технически сложно - экономически дорого. При любых расчетах - нужно не забывать про стоимость рабочего времени. Даже если взять абсолютно смешную по мировым понятиям цифру для РФ (порядка 500 рублей/час с налогами) - получается, что стоимость совершенно ненужной работы по программированию нестандартного протокола - превышает стоимость вычислителя!

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

Однако в нашем не-идеальном мире - все, что касается учета ресурсов, особенно обязательного - является хорошей кормушкой. Применение тех или иных приборов учета - определается не их ТТХ, стоимостью, качеством техподдержки и прочая, а хотелками местных чиновников, имеющих, видимо, гешефт от производителя. И от заказчика мягко-ненавязчиво требуют поставить "вот этот прибор", и пофих, чего там спецы на эту тему говорят.

И пока эту систему не сломать - у производителей нет никакого стимула делать "как лучше". Ведь сделать по принципу "и так сойдет", прописать в закон и объявить сакральное импортозамещение - оно куда проще, и мозги включать не нужно.

А издержки... издержки это у потребителя. Какое до них дело? Все равно заставят купить, куда ему деваться?
Tags: Байки наладчика, Импортозамещение. Неудачно.
Subscribe

Posts from This Journal “Байки наладчика” Tag

  • Явление машин

    От переводчика. Меня, то бишь. Этот рассказ - не мой, но ссылку на первоисточник я дам только послезавтра (а может,и завтра найду время). Почему?…

  • Эта музыка нихрена не будет вечной!

    Сперва - минутка ностальгии. Конец 80х. Времена абсолютно безбашенной юности. Когда мы сбегали из дома в Москву на концерты в…

  • Трое из ларца, (почти) одинаковы с лица

    Как выглядит эта нумерация на электросхеме - мне неизвестно, по причине отсутствия таковой. P.S. практически все картинки в блоге - на Google…

Buy for 10 tokens
Buy promo for minimal price.
  • Post a new comment

    Error

    Anonymous comments are disabled in this journal

    default userpic

    Your reply will be screened

    Your IP address will be recorded 

  • 178 comments
Previous
← Ctrl ← Alt
Next
Ctrl → Alt →
Previous
← Ctrl ← Alt
Next
Ctrl → Alt →