vas_s_al: (Default)
[personal profile] vas_s_al
Оригинал взят у [livejournal.com profile] 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 рублей/час с налогами) - получается, что стоимость совершенно ненужной работы по программированию нестандартного протокола - превышает стоимость вычислителя!

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

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

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

А издержки... издержки это у потребителя. Какое до них дело? Все равно заставят купить, куда ему деваться?
This account has disabled anonymous posting.
If you don't have an account you can create one now.
HTML doesn't work in the subject.
More info about formatting

April 2020

S M T W T F S
    12 3 4
567 8 910 11
1213 1415161718
19202122232425
2627282930  

Style Credit

Expand Cut Tags

No cut tags
Page generated Aug. 11th, 2025 03:57 pm
Powered by Dreamwidth Studios