Стартовая страница › Форумы › Разработка и интеграция › Расширение функционала Коммуникатора
- В этой теме 9 ответов, 3 участника, последнее обновление 7 лет, 2 месяца назад сделано
Mikhail.
-
АвторЗаписи
-
05.06.2019 в 10:37 #12095
manjey73УчастникНекоторые моменты в функционале Коммуникатора не очень гибкие.
Очень не хватает
1. Возможности работать с линиями связи из окна настроек драйверов, либо из плагинов.
То есть в Коммуникаторе настраиваем линию связи например TCP Client или COM порт и можем с ними работать только в Session и SendCmd
Нужен какой-то механизм возможности работать с линиями из окна настроек драйвера и плагина, который будет запускаться из WEB.
2. Ну кроме SetCurData добавить похожее для передачи данных в окно настроек и плагин для обработки пункта 1.3. Не очень гибкая конструкция KPTags для формирования тегов.
Не предлагаю ее переделать, ибо много завязано на этот механизм. Предлагаю сделать параллельный механизм работы. з.ы. как ? не знаю.
Но из неудобств:
List<TagGroup> tagGroups = new List<TagGroup>();
TagGroup tagGroup;
tagGroup.KPTags.Add
tagGroups.Add
InitKPTagsТребуют строго последовательных действий. Скажем мы сформировали меню, сперва должны добавить все переменные этого меню, потом сформировать новое меню и в конце инициировать всю конструкцию…. При организации свободных шаблонов оказалось очень неудобным. Но не это самое не удобное, я так и не смог найти способ делать проверку в списках KPTags, например не смог искать индекс тега, зная номер или имя сигнала. Разве что способом в ЛОБ через перебор всех элементов, что не очень то красиво…
Вроде тот же LIST позволяет вставлять (делать Add) в произвольное место по индексу, смещая остальное вниз ?
В общем нужна гибкость в создании списка тегов, возможность удобного поиска для контроля. А уже потом давать команду инициализации, которая сформирует все окончательно, сохранив совместимость…з.ы. может коряво объяснил, но как смог…
Да, забыл добавить, если это связано с функционалом Коммуникатора. добавить настройку (галочку) для сброса таймаута ожидания ответа при наличии поступивших байт и образования тишины больше какой-то длительности. и не ждать все указанное в таймауте время. Не всегда известна длина ответа. Иногда ее можно рассчитать заранее, зная количество и тип переменных, иногда нет.
-
Тема изменена 7 лет, 2 месяца назад пользователем
manjey73.
05.06.2019 в 19:21 #12112
MikhailМодераторСпасибо. При развитии API драйверов нужно будет учесть, насколько это возможно.
05.06.2019 в 19:22 #12113
MikhailМодераторНужен какой-то механизм возможности работать с линиями из окна настроек драйвера и плагина, который будет запускаться из WEB.
Веб-интерфейс Администратора на данный момент не планируется, т.к. это слишком дорого в разработке и поддержке.
Насколько я знаю, пользователь kazam делал что-то такое. Здесь на форуме есть упоминание.
06.06.2019 в 09:31 #12120
manjey73УчастникНу не обязательно Web Администратора. Хотя бы механизм передачи данных вместо SetCurData не в сервер а в плагин И(ИЛИ) в окно настройки «Свойства» драйвера в самом Коммуникаторе.
Сейчас можно сделать финт ушами, в БД подключить сигналы текущих данных. Потом просто включить все настроечные параметры и используя сам Коммуникатор увидеть все данные (не привязанные к входным каналам БД) а так же используя вкладку «Команды» Коммуникатора изменить настройки прибора. Но это возможно только на Windows при доступе к Коммуникатору. На Linux нет графических интерфейсов. Ну и к тому же это нельзя сделать оператору, владеющему соответствующим уровнем доступа просто из Web…
Вот и нужен параллельный механизм в Коммуникаторе для передачи данных опроса в плагины и(или) в окно Свойств драйвера. На Windows можно в окне Свойств прочитать, настроить. Ну а для Linux или для Web делать всплывающее окно. Был бы шаблон готовый для web, связанный с подобным механизмом, было бы еще лучше.
06.06.2019 в 10:00 #12124
MikhailМодераторСлужба Коммуникатора не имеет связи в веб-приложеинем. Разве что конкретный драйвер откроет отдельный свой канал связи с пользовательским интерфейсом. Например, по технологии SignalR.
06.06.2019 в 10:14 #12128
manjey73УчастникНу а связать такую возможность с окном Свойств драйвера ?
Если служба Коммуникатора взаимодействует со службой Сервера, почему не научить взаимодействовать с Web ?
Ну есть Session и SendCmd, почему нельзя сделать по аналогии SessionWeb и SendCmdWeb
а в разделе OnAddedCommLine по аналогии не сделать формирование тегов, которые будет возможность прочитать и записать из плагина ?06.06.2019 в 10:36 #12133
MikhailМодераторИ Коммуникатор и Веб являются клиентами, которые подключаются к Серверу. Поэтому полной аналогии не получится.
Для связи Коммуникатора и Веб или любого другого интерфейса понадобится отдельный канал связи.
06.06.2019 в 11:09 #12138
manjey73УчастникНу вам виднее, просто реализация со стороны разработчика была бы более правильной.
з.ы. а вот из WEB же доступно возможность работать с БД ? если да, так давно была тема создать дополнительные БД с циклической перезаписью данных, и текстовых в том числе. Вот бы и прикрутилось одно с другим… в том числе и из окна Свойств драйвера в Коммуникаторе и из WEB.
Просто сколько сталкиваюсь с разными приборами, целая масса, где части данным ну не место в общей БД.
06.06.2019 в 14:25 #12145serg4
УчастникЗдравствуйте, на сегодняшний день имеется возможность управлять опросом (вкл/выкл) коммуникатора через Web интерфейс? Если нет, то планируется ли?
Спасибо.-
Ответ изменён 7 лет, 2 месяца назад пользователем
serg4.
06.06.2019 в 16:55 #12152
MikhailМодератора вот из WEB же доступно возможность работать с БД ? если да, так давно была тема создать дополнительные БД с циклической перезаписью данных, и текстовых в том числе.
Обмен с драйвером через БД — один из способов. Но придётся дополнительно устанавливать какую-либо СУБД.
имеется возможность управлять опросом (вкл/выкл) коммуникатора через Web интерфейс? Если нет, то планируется ли?
На данный момент не планируется, но всегда можно сделать на заказ.
-
Тема изменена 7 лет, 2 месяца назад пользователем
-
АвторЗаписи
- Для ответа в этой теме необходимо авторизоваться.