|
13 / 13 / 0
Регистрация: 07.12.2012
Сообщений: 29
|
|
Разрабатываю SCADA (аналог Trace Mode). Нужны советы20.12.2012, 11:10. Показов 15018. Ответов 46
Метки нет (Все метки)
День добрый,
Возможно кому-то я уже известен своей разработкой по другим ресурсам и своим статьям на Хабре. Смотрю, здесь часто бывает народ который работает с ТМ, поэтому хочу создать данную тему для обсуждения тех или иных моментов, которые пользователям ТМ: а) нравятся, и почему б) не нравятся, тоже - почему в) хотели бы добавить что-то в систему Вкратце о себе и своей разработке: Сам с ТМ проработал около 12 лет, еще с 5-й версии (9 лет из них работал в самой Адастре). Примерно два года назад, вдоволь накувыркавшись с "особенностями" и "глюками" данной скады, решил, что, если Адастра не хочет вести диалог с конечными пользователями, то можно попробовать сделать аналогичную по архитектуре систему самому, но с более "человеческим" отношением к разработчику проектов и ее пользователям. Вроде даже неплохо получается, вот уже год как полноценно работаю на своей разработке, кроме меня на ней уже пробуют работать некоторые бывшие пользователи ТМ. Сейчас уже есть примеры реальных проектов от 32-х точек и до 5500 точек ввода/вывода со всеми серьезными требованиями к распределенным многоуровневым системам. В системе я специально предусмотрел некоторые специальные фишки для удобного перевода проектов с ТМ на свою систему. И все они уже опробованы в реальных применениях. Сейчас начал работу над прототипами компонентов новой версии своей скады, поэтому хотел бы обсудить с теми, кто разрабатывает проекты, а также пользуется конечными системами на базе ТМ, вопросы, связанные с работой в данной скаде с целью выяснить: что необходимо народу в разработке, пусконаладке и пользовании данной системы, что хотелось бы улучшить или доработать. В общем - предлагаю начать дискуссию... По ходу обсуждения я буду писать что сделано из обсуждаемого у меня и как оно реализовано.P.S.. Если кому интересны материалы и статьи по моей разработке с видеоматериалами и демонстрациями ее работы - пишите в ЛС, к сожалению, согласно правил форума, не могу публиковать эти ссылки в открытом виде в теме.
3
|
|
| 20.12.2012, 11:10 | |
|
Ответы с готовыми решениями:
46
Можно ли установить на mTron ПО SCADA Trace Mode? [Trace Mode 6] Подключить контроллер М251 (ТМ251MESE) к SCADA
|
|
Модератор
3410 / 2182 / 354
Регистрация: 13.01.2012
Сообщений: 8,469
|
|||
| 21.12.2012, 23:01 | |||
?--- странно читать про такую зрелую скаду на хабре - страницу бы хоть такому солидному проекту завели раз уж пошли реализации с тысячами каналов... --- список функционала скады в виде modbus, opc и мыльниц i-7000... я не преуменьшаю ваших достижений но такая скада есть почти у каждого. дарю демо-обрубок vcs14ru.rar. коды для мыльниц написанные под S7 SCL и с легкостью втыкаемые в C++ в столе валяются рядом с проектом OPC DA сервера, просто в том проекте не пригодились. а где вашу дему скачать то?
0
|
|||
|
13 / 13 / 0
Регистрация: 07.12.2012
Сообщений: 29
|
||||
| 22.12.2012, 12:36 [ТС] | ||||
|
Добавлено через 2 минуты Добавлено через 1 минуту
0
|
||||
|
14 / 11 / 1
Регистрация: 01.11.2010
Сообщений: 25
|
|
| 26.12.2012, 21:02 | |
|
Мы тоже сейчас заняты разработкой скады на C#. Наблюдения:
-Самое главное, это конечно Copy/Paste. Скопировал шкалу, или группу шкал из экрана, относящегося к объекту №1 в объект №2, а оно всё само перелинковалось. Аналогично с экранами, групповыми элементами итд. Бьёмся с этим не на жизнь а на смерть, но это того стоит. -я не представляю как вы делаете это на Windows Forms. Мы для этого используем WPF. Рисовать даёт сполна. И ещё интересно: Делали, и если делали то как, подключения экранов к серверу?
0
|
|
|
13 / 13 / 0
Регистрация: 07.12.2012
Сообщений: 29
|
|
| 27.12.2012, 07:24 [ТС] | |
|
Да уж, когда WPF начал изучать, понял, что многое могло бы быть сделано лучше.
Насчет экранов к серверу - не совсем понял про что именно вопрос?
0
|
|
|
Модератор
3410 / 2182 / 354
Регистрация: 13.01.2012
Сообщений: 8,469
|
||
| 27.12.2012, 12:11 | ||
|
0
|
||
|
14 / 11 / 1
Регистрация: 01.11.2010
Сообщений: 25
|
|
| 28.12.2012, 02:17 | |
|
vxg, не спеши кидать помидоры. Это про юзабилити. Я не сомневаюсь, что копипэйст есть. Однако он не всегда развязывает руки, как хотелось бы. Я, к сожалению, с трейсмодом мало общался, и может действительно обрисую ситуацию, которая давно решена элегантно и красиво:
Есть шкала. Шкала имеет линковку на теги значения/мин-макса/уставок/скользящих средних, итд. Теперь мы скопировали шкалу и перекинули её на другой сигнал - что нужно редактировать, помимо надписи? Далее. Есть три шкалы и четыре надписи-значений, описывающих узел. Мы перекинули их на другой, аналогичный узел - что нужно конфигурировать? Есть конфигурация сигналов опрашиваемого модуля (например по модбас). Скопипастить на другой модуль? А если протокол иной? А часть сигналов? Все эти драгндропы-копипейсты, вызывают дрожь сознания моего даже в WPF. Romer, я правильно понимаю - система состоит из сервера, который опрашивает, думает и запоминает, а также клиентского приложения, который берёт данные с сервера, и с бантиками выводит их на экран? Если да, то каким образом вы обеспечиваете передачу этих данных, конфигураций экранов?
0
|
|
|
Модератор
3410 / 2182 / 354
Регистрация: 13.01.2012
Сообщений: 8,469
|
||||
| 28.12.2012, 09:37 | ||||
|
0
|
||||
|
13 / 13 / 0
Регистрация: 07.12.2012
Сообщений: 29
|
|
| 28.12.2012, 11:43 [ТС] | |
|
2tm-team: Нет не совсем правильно, у меня нет разделения продукта на функциональные службы, такие как подсистема сетевого обмена, подсистема обмена с оборудованием, архивирование, журналирование, мат.обработка, интерфейсный вывод на экран оператору. В моем продукте рантайм - это единое приложение, которое включает абсолютно весь спектр этих сервисов в одном ЕХЕ-шнике. Поэтому у меня нет такого понятия, как интерфейс между сервером сбора данных и графическими экранами. Между собой рантаймы в рамках проекта взаимодействуют или по моему внутреннему сетевому протоколу по TCP/IP, или я даю разработчику возможность выполнять это же самое через штатный протокол ModBusTCP/IP, который поддерживается моими рантаймами во всех режимах (и Мастер и Слейв).
2vxg: Кажется я понимаю о чем ведется речь - дело в том, что разрабатывая прикладные проекты АСУТП постоянно оперируешь некими готовыми комплексными объектами системы, которые содержат: графический объект, его динамизацию, алгоритмическую обработку, внутренние и внешние связи. Поэтому вопрос с тиражированием как раз возникает не рамках простого копирования, а именно тиражирования новых эксземпляров с многоиерархическими его модификациями, чтобы в результате получать готовый и работающий новый экземпляр, чтобы не приходилось выполнять много рутинных ручных операций по его персонализации после копирования, чтобы он мог сразу же быть готов к работе. Как пример - когдя я копирую на экране графический индикатор состояния некоторого дискретного бита - ведь после каждого копирования мне зачастую во многих системах надо делать его ручную привязку к новому тэгу, а грамотная система копи-паста сделает эту работу за разработчика. Например, в своем графическом редакторе я для таких целей сделал групповой редактор, который умеет анализировать сложные структуры элементов с целью их быстрой перепривязки к другим зависимостям при быстром тиражировании. Как пример:
1
|
|
|
Модератор
3410 / 2182 / 354
Регистрация: 13.01.2012
Сообщений: 8,469
|
|||
| 28.12.2012, 14:50 | |||
|
0
|
|||
|
13 / 13 / 0
Регистрация: 07.12.2012
Сообщений: 29
|
|||
| 28.12.2012, 16:37 [ТС] | |||
|
1
|
|||
|
Модератор
3410 / 2182 / 354
Регистрация: 13.01.2012
Сообщений: 8,469
|
||
| 29.12.2012, 00:47 | ||
|
0
|
||
|
13 / 13 / 0
Регистрация: 07.12.2012
Сообщений: 29
|
|
| 29.12.2012, 14:33 [ТС] | |
|
Я же уже выше написал, что абсолютно все функции закладывает в своих узлах разработчик проекта в скаде, а не я. Рантайм - все равно что швейцарский перочинный нож, я, как его пользователь, могу лезвие достать, чтобы резать, а могу открывашку, чтобы банки открывать, но могу и оба инструмента задействовать одновременно - все определяет разработчик. Уж поверьте, за 12 лет работы в этой сфере я понимаю как должны строиться изнутри грамотные системы, вот только я задолбался по каждому функциональному "чиху" бежать за новым модулем от производителя, а если что-то добавил новое в проект - снова бежать покупать новый, потому как на каждую функцию - свой рантайм (или модуль) у большинства скада-систем. А так - я буду знать, что на любой каприз или модификацию - конфигурация исполнительных модулей всегда будет одна и та же, не зависимо от уровня, или назначения узла проекта. Открою Вам секрет, так как раньше работал в компании-разработчике скада-системы, многообразие исполнительных модулей - это не структурные прихоти, или забота о конечном пользователе, это всего навсего дополнительная уловка, чтобы вытягивать бабло у конечного пользователя этих систем, ведь за любой "чих" - вынь да полож денежку за специальный модуль под этот "чих"
Банальная забота о своем доходе, а не условности в виде структурного подхода, функционального удобства, или боже упаси заботы о конечном пользователе продукта. И если я говорю, что у меня нет таких градаций в виде портянок прайсов и спецификаций, еще не значит, что Вы не сможете строить конечную систему, где есть сервер, есть клиенты, есть сервера архивирования, потоки внутри проекта настроены на оптимальное взаимодействия всего этого между собой. Просто я стараюсь все это делать на базе одного единственного рантайма, а не десятков модулей или служб.
0
|
|
|
14 / 11 / 1
Регистрация: 01.11.2010
Сообщений: 25
|
|
| 29.12.2012, 15:14 | |
|
Romer, мы идём по тойже дороге. Один и тотже Exe, в папку с которым кидаются библиотеки протоколов, обработчиков и индикаторов. В режиме конфигурирования меняй чего хочешь, в режиме работы - всё фиксированно. Будем считать это "ТРУ" XD
0
|
|
|
Модератор
3410 / 2182 / 354
Регистрация: 13.01.2012
Сообщений: 8,469
|
||||
| 30.12.2012, 13:48 | ||||
|
- если первое, то для систем общего назначения подобный подход как правило не применяется. такая децентрализация увеличивает нагрузку на каждый из узлов, сеть и является причиной мегреней у разработчиков. да, система получается сверх-надежной, сверх-масштабируемой и просто завораживающе совершенной. видел что-то подобное на QNX. актуально для управления космическими крейсерами но, простите меня, я думаю это не ваш уровень.- если второе, то реализация всех функций в одном приложении нерациональна. деление системы на несколько взаимодействующих приложений не искусственная прихоть. каждое из них выполняет специфические задачи и должно быть под них оптимизировано. кроме того такое разделение системы изолирует разработку частей снижая сложность проекта. решение "все в одном" лично для меня говорит о том, что передо мной "песочница" - проект который пока еще не вырос до такого размера когда начинают чувствоваться "кочки". не услышал ни одного рационального довода в пользу реализации всех функций в одном приложении кроме "так нам удобнее".
0
|
||||
|
14 / 11 / 1
Регистрация: 01.11.2010
Сообщений: 25
|
|
| 30.12.2012, 15:39 | |
|
vxg, странно слышать такое от взрослых людей
0
|
|
|
Модератор
3410 / 2182 / 354
Регистрация: 13.01.2012
Сообщений: 8,469
|
|
| 30.12.2012, 15:57 | |
|
0
|
|
|
13 / 13 / 0
Регистрация: 07.12.2012
Сообщений: 29
|
|
| 30.12.2012, 18:07 [ТС] | |
|
2vxg: Я имел ввиду Ваше второе описание.
Наличие функции в рантайме ни коем образом не влияет на его функциональные характеристики с точки зрения работоспособности рантайма, если пользователь эту функцию не использует. И давайте не будем также бросаться громкими сравнениями между одним колесом и космическими ценами: ценовой политики вроде я пока не озвучивал, чтобы вести такие дискуссии, к тому же - те функции, что сейчас поддерживаю в своем рантайме - считаю именно базовыми, а без этого - это телега с одним колесом. Никогда не поверю, что конечный пользователь знает, что конкретно ему нужно! Обычно среди пользователей скады таких единицы и они получаются только после разработки не одного десятка проектов на этой скаде. Не питайте ложных иллюзий, что деля на подсистемы Вы облегчаете жизнь конечному пользователю - я и сам не раз бывал на его месте, поверьте, сидеть и складывать пазл конечной системы с десятком кусочков мозаики из модулей - тот еще геморрой, грамотно сделать его может только спец от разработчика, и почти всегда такая консультация - платна, как и сами модули, и любая ошибка конечного пользователя - это попадание на деньги. Я в этом бизнесе 9 лет отработал, я все это видел и знаю. Деление у большинства серьезных проектов систем на модули обусловлено работой над этим продуктом команды, в которой каждый разработчик сугубо специализирован на свою область и разрабатывает именно свой модуль, а не потому что так будет удобнее конечному пользователю. Не путайте теплое с мягким, почти все производители маскируют это ложной заботой о пользователе. Для действительно крупных систем, я согласен с Вашими доводами, но, простите меня за моей имхо, скаду я к действительно крупным системам не отношу, все что до сегодняшнего дня преподносится брендами и корпорациями - не более чем надувание щек. ![]() Довод "так нам удобнее" - это заявление с точки зрения конечного пользователя, а не разработчика. У меня команды нет, которой надо семьи кормить, а о своей семье я пока и без разработанной скады вполне могу заботиться, пока еще это не основной вид моей деятельности. Предлагаю сильно не углубляться в полемику, ставим по данной теме предварительную точку, и подведем итог Вашей фразой "с точки зрения архитектуры деление есть, но все задачи реализуются одним приложением и каждый узел может быть сконфигурирован для выполнения необходимых функций" разработчиком. Пусть выгоды и их отсутствие уже будет оценивать конечный пользователь после того как реально с этим поработает. Уйти от этого в текущей архитектуре моей системы в сторону модульности - не проблема, внутри архитектура исходника у меня очень хорошо структурирована и вполне позволит перейти на такую модель при необходимости.
0
|
|
|
Модератор
3410 / 2182 / 354
Регистрация: 13.01.2012
Сообщений: 8,469
|
|||
| 30.12.2012, 18:14 | |||
0
|
|||
|
Модератор
3410 / 2182 / 354
Регистрация: 13.01.2012
Сообщений: 8,469
|
||
| 20.05.2013, 17:27 | ||
|
0
|
||
|
13 / 13 / 0
Регистрация: 07.12.2012
Сообщений: 29
|
|
| 20.05.2013, 17:35 [ТС] | |
|
Чисто теоретически - теперь я могу официально заключать лицензионные соглашения и договора с конечными клиентами и пользователями. А вообще, с точки зрения прав, бумага и бумага. Но теперь, когда я заключаю договор, где указано, что я являюсь автором - я могу документально подтвердить, что я и правда автор и имею право подписать такой договор от своего имени на свою систему.
Кстати, по названию - в интернет гуляет реальный случай, один из наших соотечественников, чтобы показать некоторую несостоятельность системы авторских прав получил точно такое же свидетельство на систему Windows. Если поискать - можно найти про это.
0
|
|
| 20.05.2013, 17:35 | |
|
Trace Mode Trace mode 6 Таймер в Trace Mode Trace Mode: управление жалюзи Trace Mode. Скрытые особенности Искать еще темы с ответами Или воспользуйтесь поиском по форуму: |
|
Новые блоги и статьи
|
|||
|
Нейтральные знания ..., ... чистая наука. Пока что-то проходит модерацию на Хабре, стоит развить мысль ...
Hrethgir 20.07.2026
К таким радикальным взглядам я конечно в той публикации не приходил, но чтобы скоротать вечер, решил углубиться немного.
1. Почему показания термометра заряжены целью?
Цель заложена в самом. . .
|
Установка нескольких штампов электронной подписи в строго определенных местах файла docx
ВладимирСамохин 19.07.2026
(В!) Работа с Электронной подписью - это неотъемлемая часть современного документооборота. Но что делать, если нужно поставить несколько штампов электронной подписи в строго определенных местах. . .
|
сукцессия 35. Научная статья о проделанной работе
anaschu 19.07.2026
Написал в формате латекс и пдф
|
Вангую, что это не пройдёт модерацию, и на неделе я запущу свой сервер.
Hrethgir 19.07.2026
Эта публикация сейчас в песочнице и ждёт приглашения.
https:/ / habr. com/ ru/ sandbox/ 295048/
По ссылке 403. Не очень информативно такую ссылку постить.
Запись от Usaga размещена Сегодня в 06:46 . . .
|
|
сукцессия 33. открытые вопросы от клауде
anaschu 19.07.2026
"Что накопилось за эту часть А — тринадцать правок, из которых шесть пришли из ваших вопросов и каждая оказалась реальной ошибкой, а не калибровкой: односторонний симбиоз, отсутствующий листопад,. . .
|
32 сукцессия
anaschu 19.07.2026
сукцессия 28‑мерное ядро стабилизировано
Коллеги, фиксирую разбор инженерных правок и их изоморфную проекцию на экономику, меметику и половой отбор. Модель теперь не «подкручивает» сходимость —. . .
|
сукцессия 31: модель микоризы - это модель ещё нескольких явлений, социальных и экономических
anaschu 18.07.2026
Теория «Всего»: апдейт v1. 1. 2 — 28‑мерное ядро стабилизировано
Коллеги, фиксирую разбор инженерных правок и их изоморфную проекцию на экономику, меметику и половой отбор. Модель теперь не. . .
|
сукцессия 30. Массив проверяющих друг друга моделей
anaschu 18.07.2026
Архитектура сети взаимопроверяющих моделей микоризной сукцессии (v2. 0)
Развитие тензорного ОДУ-ядра и создание кросс-платформенного калибровочного полигона
Уважаемые коллеги!
В продолжение. . .
|