[ New messages · Members · Forum rules · Search · RSS ]
Forum moderator: Alexor  
Forum » Process Simulator » Russian » Обсуждение идей
Обсуждение идей
temmkaDate: Wednesday, 10.02.2016, 14:08 | Message # 31
Private
Group: Users
Messages: 2
Reputation: 0
Status: Offline
Добрый день! 

Спасибо за симулятор, очень интересный продукт!  
Скажите возможно ли выложить исходник обьекта Pipeline.Pump. Хочется написать обьект под свои нужды но по выложеному Example до конца разобраться в принципе работы не могу. 
Спасибо!
 
AlexorDate: Wednesday, 10.02.2016, 22:32 | Message # 32
Major general
Group: Administrators
Messages: 311
Reputation: 1
Status: Offline
Здравствуйте,

В принципе уже давно хотел выложить какую-то часть исходников. Нахожусь на ПНР, поэтому скорее всего не раньше выходных.
 
temmkaDate: Thursday, 11.02.2016, 14:06 | Message # 33
Private
Group: Users
Messages: 2
Reputation: 0
Status: Offline
Спасибо! Удачного запуска!)
 
AlexorDate: Saturday, 13.02.2016, 20:47 | Message # 34
Major general
Group: Administrators
Messages: 311
Reputation: 1
Status: Offline
Выложил часть исходников на github. Если будут вопросы по ним, создавайте новые треды
на форуме.
 
denzhigDate: Tuesday, 12.04.2016, 17:12 | Message # 35
Lieutenant
Group: Users
Messages: 46
Reputation: 0
Status: Offline
Было бы неплохо в Trend добавить возможность сохранения данных с метками времени в файл.
 
AlexorDate: Friday, 15.04.2016, 18:23 | Message # 36
Major general
Group: Administrators
Messages: 311
Reputation: 1
Status: Offline
Думаю, перегружать пенель Trend этой функцией не целесообразно. Можно сделать отдельный объект, который будет этим заниматься.
 
AlexorDate: Sunday, 15.05.2016, 20:24 | Message # 37
Major general
Group: Administrators
Messages: 311
Reputation: 1
Status: Offline
В последней версии есть новый объект Item.WriteToFile. Пишет значения одного или нескольких элементов данных в CSV файл. Включать и отключать запись можно через входную Boolean переменную или через панель объекта.
 
denzhigDate: Thursday, 15.12.2016, 12:38 | Message # 38
Lieutenant
Group: Users
Messages: 46
Reputation: 0
Status: Offline
Есть идея - новый Item для чтения из контроллера: адрес формируется из базы+смещение, базу адреса можно связать с внутренней переменной в симуляторе.
Объясню принцип: есть ~7000 переменных, но одномоментно ты наблюдаешь только за, например, 250. Т.е. остальные переменные нет смысла вычитывать. При этом изменяя базу адреса можно просто переключаться между блоками вычитываемых переменных.
Возможно-ли такое реализовать?


Message edited by denzhig - Thursday, 15.12.2016, 12:39
 
AlexorDate: Friday, 16.12.2016, 10:29 | Message # 39
Major general
Group: Administrators
Messages: 311
Reputation: 1
Status: Offline
В текущей версии такое реализовать невозможно. Для этого нужны изменения в API.
Проблема со временем считывания 7000 переменных или просто хотите разгрузить коммуникации?
Можно читать массивом.
 
denzhigDate: Friday, 16.12.2016, 20:33 | Message # 40
Lieutenant
Group: Users
Messages: 46
Reputation: 0
Status: Offline
Да, хотелось бы разгрузить коммуникации.
А вот если массивом из DB-шки вычитать - как потом отдельные переменные привязать к, например, BAR-ам?
Вот и приходится "ручками" писать отдельные переменные - благо XML можно в Excel-е править и с автоинкрементом адресов нет проблем.

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


Message edited by denzhig - Friday, 16.12.2016, 20:41
 
AlexorDate: Sunday, 18.12.2016, 12:37 | Message # 41
Major general
Group: Administrators
Messages: 311
Reputation: 1
Status: Offline
К сожалению API не позволяет реализовать эти функции. Очень похоже, что для вашей задачи лучше использовать
какую-нибудь SCADA систему. Насколько я знаю, например, WinCC может не опрашивать переменные с ПЛК, если экран на котором они подвязаны, не активен.
Для PS могу предложить сделать несколько соединений с разным Slowdown параметром и распределить переменные между ними. Получится, что одни будут считываться максимально быстро (Slowdown = 0), другие менее активно в зависимости от установленного замедления.
 
denzhigDate: Sunday, 18.12.2016, 14:40 | Message # 42
Lieutenant
Group: Users
Messages: 46
Reputation: 0
Status: Offline
А из C#-скрипта можно управлять активностью соединений?
 
AlexorDate: Sunday, 18.12.2016, 16:46 | Message # 43
Major general
Group: Administrators
Messages: 311
Reputation: 1
Status: Offline
Нет. Такой возможности нет.
 
denzhigDate: Monday, 16.01.2017, 10:07 | Message # 44
Lieutenant
Group: Users
Messages: 46
Reputation: 0
Status: Offline
День добрый.

 Было бы неплохо добавить в меню "About" пункт "Об открытом проекте", где в текстовом виде можно было бы описать что за симуляция загружена. И сохранять это описание в том же XML-файле проекта.
Понятно что можно вести какой-то отдельный список, но может всякое случиться, что-то теряется... а так всё в одном файле: что симулируем, когда, какая HW-конфигурация, и т.п..
 Просто обычно для отработки алгоритмов собираем стенд из подручных материалов и по окончании он расходится по другим проектам. В итоге даже имея проект симулятора уже не вспомнишь что и как было собрано, нюансы HW-реализации, а так, прочитав аннотацию, можно было бы восстановить всё.


Message edited by denzhig - Monday, 16.01.2017, 10:11
 
AlexorDate: Monday, 16.01.2017, 22:44 | Message # 45
Major general
Group: Administrators
Messages: 311
Reputation: 1
Status: Offline
Здравствуйте,

Идею понял. Посмотрю что можно сделать.
 
Forum » Process Simulator » Russian » Обсуждение идей
Search: