Обсуждение идей
|
|
Vampir4a=) | Date: Thursday, 24.04.2014, 12:52 | Message # 16 |
Private
Group: Users
Messages: 1
Status: Offline
| Добрый день. Хотелось бы отметить, что ваш симулятор очень удобен и прост в использовании. Было бы неплохо увидеть что-то вроде graphicview для добавления рисунков, groupbox, а также добавление подписей(text) в новых версиях. Спасибо за программу.
|
|
| |
Alexor | Date: Thursday, 24.04.2014, 13:52 | Message # 17 |
Major general
Group: Administrators
Messages: 311
Status: Offline
| Добрый день,
Спасибо.
В ближайшее время выложу новую версию (V2), там уже сделан: 1) GroupBox 2) TextLabel 3) VectorImage
Остались разные мелочи, надеюсь закончить через 1-2 недели.
|
|
| |
denzhig | Date: Wednesday, 28.05.2014, 11:16 | Message # 18 |
Lieutenant
Group: Users
Messages: 46
Status: Offline
| День добрый. А нельзя-ли как-то ввести в переменные PLCSIM "массив", а то зависимость времени выполнения от количества переменных налицо: 25 байт прочитать из одного симулятора и записать в другой + 64 байта в обратку занимает 100 мс. Естественно данные побиты на DWORD-ы. Попробовал изменить тип на байты (кол-во переменных то же) - всё равно 100 мс. Конечно если это не ограничение библиотеки что читает из симулятора.
Время смотрел по Simulation Manager. Или там время выполнения самого скрипта и в него не входит время на получение данных? С уважением.
Message edited by denzhig - Wednesday, 28.05.2014, 11:20 |
|
| |
Alexor | Date: Wednesday, 28.05.2014, 16:11 | Message # 19 |
Major general
Group: Administrators
Messages: 311
Status: Offline
| Начну со второго вопроса.
Время которое пишется в окне Simulation Manager включает в себя: 1) Время исполнения всех симуляционных объектов. Если у вас просто один скрипт, то это время только этого скрипта. 2) Время на коммуникацию зависит от типа коннекции
Internal - так как данные ни куда наружу не идут, только время для передачи во все симуляционные объекты и панели привязанные к Item.
S7PLCSim - ставится пометка, что данные нужно записать в S7PLCSim. У каждой коннекции данного типа есть свой цикл в отдельном потоке, который проводит запись (при наличии пометки) и чтение. В вашем случае можно попробовать ускорить процесс, создав несколько коннекций до одного S7PLCSim.
OPC - если включена синхронная запись, то добавляется время записи.
Modbus - аналогично S7PLCSim.
По поводу массивов - подумаю. В принципе, технически проблем пока не вижу. Но только для I и Q. Для них есть функции для чтения и записи массивом.
|
|
| |
denzhig | Date: Friday, 30.05.2014, 13:55 | Message # 20 |
Lieutenant
Group: Users
Messages: 46
Status: Offline
| Quote Alexor ( ) Но только для I и Q. Для них есть функции для чтения и записи массивом. собственно они и нужны: I и Q. Простейшая связь между 300-ми контроллерами конфигурится через виртуальные входа/выхода, но PLCSIM это не симулирует. тут как раз и пригодится PS.Added (30.05.2014, 13:55) --------------------------------------------- А возможно-ли в скрипте получить текущее время (вплоть до мс) ? Просто если писать какую-нить модель и алгоритм запихивать в скрипт - необходимо иметь время исполнения цикла для расчёта. Стандартными задержками не всегда получается обойтись.
|
|
| |
Alexor | Date: Friday, 30.05.2014, 15:22 | Message # 21 |
Major general
Group: Administrators
Messages: 311
Status: Offline
| Если интересует именно текущее время: 'Connection1.Item1' = System.DateTime.Now;
Если время в мс с прошлого вызова скрипта: 'Connection1.Item2' = MSFromLastCall;
На всякий случай, может пригодится для отладки: LogMessage(string aMessage) - вывести сообщение в лог ReportError(string aMessage) - вывести ошибку в лог и деактивировать объект
К сожалению, пока нет времени доделать полное описание на сайте по V2.
|
|
| |
Alexor | Date: Saturday, 31.05.2014, 14:22 | Message # 22 |
Major general
Group: Administrators
Messages: 311
Status: Offline
| В новой версии (2.0.5263) добавил чтение Q и запись I массивом.
|
|
| |
denzhig | Date: Thursday, 12.06.2014, 11:54 | Message # 23 |
Lieutenant
Group: Users
Messages: 46
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 |
|
| |
Alexor | Date: Friday, 13.06.2014, 10:06 | Message # 24 |
Major general
Group: Administrators
Messages: 311
Status: Offline
| GroupBox пока сделан как чисто визуальный компонент. Будет время, подумаю, как сделать его контейнером.
По поводу read переменных и Slider/Knob я понял проблему. Может просто сделать у них "readonly" checkbox в настройках?
Сам уже думал про RadioButton. Запишу в планы.
|
|
| |
denzhig | Date: Friday, 13.06.2014, 12:40 | Message # 25 |
Lieutenant
Group: Users
Messages: 46
Status: Offline
| Quote Alexor ( ) По поводу read переменных и Slider/Knob я понял проблему. Может просто сделать у них "readonly" checkbox в настройках? Ну в общем да - чтобы не реагировала на мышь.
|
|
| |
Alexor | Date: Sunday, 15.06.2014, 13:27 | Message # 26 |
Major general
Group: Administrators
Messages: 311
Status: Offline
| Добавил read only свойство для Knob и Slider, и перетаскивание панелей лежащих на GroupBox. Версия 2.0.5277.
|
|
| |
denzhig | Date: Thursday, 17.07.2014, 18:25 | Message # 27 |
Lieutenant
Group: Users
Messages: 46
Status: Offline
| Alexor89 Это теперь можно и к живому контроллеру симулятор прицепить?
Message edited by denzhig - Thursday, 17.07.2014, 18:26 |
|
| |
Alexor | Date: Thursday, 17.07.2014, 20:16 | Message # 28 |
Major general
Group: Administrators
Messages: 311
Status: Offline
| И раньше можно было - через OPC. Я так уже несколько лет работаю. Теперь напрямую через IPшник. Пока проверял только на связке NetToPLCSim + S7PLCSim, но думаю на реальном ПЛК должно быть всё ок.
|
|
| |
denzhig | Date: Sunday, 31.08.2014, 10:29 | Message # 29 |
Lieutenant
Group: Users
Messages: 46
Status: Offline
| День добрый.
А возможно прикрутить обмен с реальным контроллером не только по ethernet-у, но и через PC-Adapter ? Просто столкнулся тут на тестах с необходимостью в течении 3-4 часов каждую минуту менять значение в контроллере, а связь только через PC-Adapter.Есть возможность подключиться через Ethernet, но как я понял роутинг в эмуляторе настроить не представляется возможным. Спасибо.
Message edited by denzhig - Sunday, 31.08.2014, 10:31 |
|
| |
Alexor | Date: Monday, 01.09.2014, 09:57 | Message # 30 |
Major general
Group: Administrators
Messages: 311
Status: Offline
| Добрый день,
К сожалению, пока ни чем помочь не могу. Библиотека Snap7, которую интегрировал для подключения к ПЛК, не поддерживает PC адаптеры. Если честно, сам адаптер уже очень давно не использовал, поэтому, когда выбирал между LibNoDave и Snap7, выбрал последний.
|
|
| |