[ New messages · Members · Forum rules · Search · RSS ]
Forum moderator: Alexor  
Forum » Process Simulator » Russian » Обсуждение идей
Обсуждение идей
Vampir4a=)Date: Thursday, 24.04.2014, 12:52 | Message # 16
Private
Group: Users
Messages: 1
Reputation: 0
Status: Offline
Добрый день. Хотелось бы отметить, что ваш симулятор очень удобен и прост в использовании. 
Было бы неплохо увидеть что-то вроде graphicview для добавления рисунков, groupbox, а также добавление подписей(text) в новых версиях.
Спасибо за программу.
 
AlexorDate: Thursday, 24.04.2014, 13:52 | Message # 17
Major general
Group: Administrators
Messages: 311
Reputation: 1
Status: Offline
Добрый день,

Спасибо.

В ближайшее время выложу новую версию (V2), там уже сделан:
1) GroupBox
2) TextLabel
3) VectorImage

Остались разные мелочи, надеюсь закончить через 1-2 недели.
 
denzhigDate: Wednesday, 28.05.2014, 11:16 | Message # 18
Lieutenant
Group: Users
Messages: 46
Reputation: 0
Status: Offline
День добрый.
А нельзя-ли как-то ввести в переменные PLCSIM "массив", а то зависимость времени выполнения от количества переменных налицо: 25 байт прочитать из одного симулятора и записать в другой + 64 байта в обратку занимает 100 мс. Естественно данные побиты на DWORD-ы.
Попробовал изменить тип на байты (кол-во переменных то же) - всё равно 100 мс.
Конечно если это не ограничение библиотеки что читает из симулятора.

Время смотрел по Simulation Manager. Или там время выполнения самого скрипта и в него не входит время на получение данных?
С уважением.


Message edited by denzhig - Wednesday, 28.05.2014, 11:20
 
AlexorDate: Wednesday, 28.05.2014, 16:11 | Message # 19
Major general
Group: Administrators
Messages: 311
Reputation: 1
Status: Offline
Начну со второго вопроса.

Время которое пишется в окне Simulation Manager включает в себя:
1) Время исполнения всех симуляционных объектов. Если у вас просто один скрипт, то это время только этого скрипта.
2) Время на коммуникацию зависит от типа коннекции

Internal - так как данные ни куда наружу не идут, только время для передачи во все симуляционные объекты и панели привязанные к Item.

S7PLCSim - ставится пометка, что данные нужно записать в S7PLCSim. У каждой коннекции данного типа есть свой цикл в отдельном потоке, который проводит запись (при наличии пометки) и чтение. В вашем случае можно попробовать ускорить процесс, создав несколько коннекций до одного S7PLCSim.

OPC - если включена синхронная запись, то добавляется время записи.

Modbus - аналогично S7PLCSim.

По поводу массивов - подумаю. В принципе, технически проблем пока не вижу. Но только для I и Q. Для них есть функции для чтения и записи массивом.
 
denzhigDate: Friday, 30.05.2014, 13:55 | Message # 20
Lieutenant
Group: Users
Messages: 46
Reputation: 0
Status: Offline
Quote Alexor ()
Но только для I и Q. Для них есть функции для чтения и записи массивом.
собственно они и нужны: I и Q. Простейшая связь между 300-ми контроллерами конфигурится через виртуальные входа/выхода, но PLCSIM это не симулирует. тут как раз и пригодится PS.

Added (30.05.2014, 13:55)
---------------------------------------------
А возможно-ли в скрипте получить текущее время (вплоть до мс) ?
Просто если писать какую-нить модель и алгоритм запихивать в скрипт - необходимо иметь время исполнения цикла для расчёта.
Стандартными задержками не всегда получается обойтись.

 
AlexorDate: Friday, 30.05.2014, 15:22 | Message # 21
Major general
Group: Administrators
Messages: 311
Reputation: 1
Status: Offline
Если интересует именно текущее время:
'Connection1.Item1' = System.DateTime.Now;

Если время в мс с прошлого вызова скрипта:
'Connection1.Item2' = MSFromLastCall;

На всякий случай, может пригодится для отладки:
LogMessage(string aMessage) - вывести сообщение в лог
ReportError(string aMessage) - вывести ошибку в лог и
деактивировать объект

К сожалению, пока нет времени доделать полное описание на
сайте по V2.
 
AlexorDate: Saturday, 31.05.2014, 14:22 | Message # 22
Major general
Group: Administrators
Messages: 311
Reputation: 1
Status: Offline
В новой версии (2.0.5263) добавил чтение Q и запись I массивом.
 
denzhigDate: Thursday, 12.06.2014, 11:54 | Message # 23
Lieutenant
Group: Users
Messages: 46
Reputation: 0
Status: Offline
Вот теперь вообще шикарно: туда/обратно 25/64 байта за 3 мс.
А общий цикл, по тем же показаниям, раз в 10 быстрее стал.

Added (12.06.2014, 11:54)
---------------------------------------------
Сейчас по-создавал несколько моделей: не хватает визуального переключателя типа Knob, но с фиксированными положениями или выбора "один из многих" типа RadioButton (не только в сим.объектах, но и в локальных Items).

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

Ещё что-то не получилось у меня разобраться с GroupBox-ом - как в него напихать элементов, чтоб потом всё целиком двигать (или он не для этого?).


Message edited by denzhig - Thursday, 12.06.2014, 12:00
 
AlexorDate: Friday, 13.06.2014, 10:06 | Message # 24
Major general
Group: Administrators
Messages: 311
Reputation: 1
Status: Offline
GroupBox пока сделан как чисто визуальный компонент. Будет
время, подумаю, как сделать его контейнером.

По поводу read переменных и Slider/Knob я понял проблему. Может просто сделать
у них "readonly" checkbox в настройках?

Сам уже думал про RadioButton. Запишу в планы.
 
denzhigDate: Friday, 13.06.2014, 12:40 | Message # 25
Lieutenant
Group: Users
Messages: 46
Reputation: 0
Status: Offline
Quote Alexor ()
По поводу read переменных и Slider/Knob я понял проблему. Может просто сделать у них "readonly" checkbox в настройках?
Ну в общем да - чтобы не реагировала на мышь.
 
AlexorDate: Sunday, 15.06.2014, 13:27 | Message # 26
Major general
Group: Administrators
Messages: 311
Reputation: 1
Status: Offline
Добавил read only свойство для Knob и Slider, и перетаскивание панелей лежащих на GroupBox. Версия 2.0.5277.
 
denzhigDate: Thursday, 17.07.2014, 18:25 | Message # 27
Lieutenant
Group: Users
Messages: 46
Reputation: 0
Status: Offline
Alexor89
Quote
Версия 2.0.5311

Это теперь можно и к живому контроллеру симулятор прицепить?


Message edited by denzhig - Thursday, 17.07.2014, 18:26
 
AlexorDate: Thursday, 17.07.2014, 20:16 | Message # 28
Major general
Group: Administrators
Messages: 311
Reputation: 1
Status: Offline
И раньше можно было  smile - через OPC. Я так уже несколько лет работаю.
Теперь напрямую через IPшник. Пока проверял только на связке NetToPLCSim + S7PLCSim, но думаю на реальном ПЛК должно быть всё ок.
 
denzhigDate: Sunday, 31.08.2014, 10:29 | Message # 29
Lieutenant
Group: Users
Messages: 46
Reputation: 0
Status: Offline
День добрый.

А возможно прикрутить обмен с реальным контроллером не только по ethernet-у, но и через PC-Adapter ?
Просто столкнулся тут на тестах с необходимостью в течении 3-4 часов каждую минуту менять значение в контроллере, а связь только через PC-Adapter.Есть возможность подключиться через Ethernet, но как я понял роутинг в эмуляторе настроить не представляется возможным.
Спасибо.


Message edited by denzhig - Sunday, 31.08.2014, 10:31
 
AlexorDate: Monday, 01.09.2014, 09:57 | Message # 30
Major general
Group: Administrators
Messages: 311
Reputation: 1
Status: Offline
Добрый день,

К сожалению, пока ни чем помочь не могу. Библиотека Snap7, которую интегрировал
для подключения к ПЛК, не поддерживает PC адаптеры. Если честно, сам адаптер уже очень давно не
использовал, поэтому, когда выбирал между LibNoDave и Snap7, выбрал последний.
 
Forum » Process Simulator » Russian » Обсуждение идей
Search: