| Предыдущая тема :: Следующая тема |
| Автор |
Сообщение |
Eraser Эксперт


Зарегистрирован: Oct 05, 2005 Сообщения: 106 Рейтинг: +8/-0 Откуда: Харьков
|
Добавлено: Пт 24 Мар, 2006 9:21:53 Заголовок сообщения: Visual Basic в RSViewSE |
|
|
При нажатии кнопки где прописана отработке процедур на Visual Basic, в серверном проекте, ГДЕ выполняется сама программка (процедура) - на сервере (и на клиент отсылаеться лишь резутьтат) или на клиенте, в его среде VB?
И второй вопросик. Есть контроллер, есть массив данных в его памяти, в RSView SE или RSView32 созданы несколько папок, где лежат тэги с разными именами, но указывающие на один и тот же массив в контроллере. Если вывести значения всех этих тэгов на один экран, каким образом будет выполняться запрос данных с контроллера? Будет ли это один запрос к массиву в памяти контроллера, а дальше все тэги получать свои значения, или это будут несколько запросов? (по колличеству привязок тэгов) |
|
| Вернуться к началу |
|
 |
oldDad Site Admin


Зарегистрирован: May 05, 2005 Сообщения: 2773 Рейтинг: +89/-5
|
Добавлено: Пт 24 Мар, 2006 9:30:13 Заголовок сообщения: |
|
|
В отличие от RSView32, в RSViewSE все VBA-скрипты выполняются на клиенте, т.к. VBA - это свойство экрана. _________________ Обращайтесь к профессионалам. |
|
| Вернуться к началу |
|
 |
Eraser Эксперт


Зарегистрирован: Oct 05, 2005 Сообщения: 106 Рейтинг: +8/-0 Откуда: Харьков
|
Добавлено: Пт 24 Мар, 2006 10:46:51 Заголовок сообщения: |
|
|
| спасибо. а второй вопросик? |
|
| Вернуться к началу |
|
 |
oldDad Site Admin


Зарегистрирован: May 05, 2005 Сообщения: 2773 Рейтинг: +89/-5
|
Добавлено: Пт 24 Мар, 2006 12:32:00 Заголовок сообщения: |
|
|
Второй вопрос немного непонятен. Что Вы имеете в виду?
Если речь идёт о величине пакета, то в зависимости от количества тэгов будет то ли иное количество пакетов. _________________ Обращайтесь к профессионалам. |
|
| Вернуться к началу |
|
 |
Eraser Эксперт


Зарегистрирован: Oct 05, 2005 Сообщения: 106 Рейтинг: +8/-0 Откуда: Харьков
|
Добавлено: Пн 27 Мар, 2006 9:19:08 Заголовок сообщения: |
|
|
ок. попробуем на примере.
есть контроллер у него в памяти 10 массивов по 10 элементов.
1 вариант: в системе визуализации есть папка, в ней забито 100 тэгов. Сколько запросов (пакетов, т.е. загруженность сети) будет нужно для считывания данных из контроллера?
2 вариант: в системе визуализации есть 10 папок, в каждой из них забито по 100 тэгов, причем многие из них ссылаются на одни и теж элементы массивов. Сколько запросов (пакетов, т.е. загруженность сети) будет нужно для считывания данных из контроллера? |
|
| Вернуться к началу |
|
 |
oldDad Site Admin


Зарегистрирован: May 05, 2005 Сообщения: 2773 Рейтинг: +89/-5
|
Добавлено: Пн 27 Мар, 2006 11:16:19 Заголовок сообщения: |
|
|
Ага, теперь понятно.
Данные делятся на пакеты по 256 байт.
Количество пакетов равно суммарному количеству байтов во всех Ваших тэгах, делённому на 256.
С точки зрения производительности контроллера, лучше использовать массивы, чем неструктурированные данные. При этом используется меньше ресурсов контроллера.
С точки зрения производительности сети, лучше группировать данные, т.е. вместо 32 тэгов типа BOOL лучше использовать один DINT. _________________ Обращайтесь к профессионалам.
Последний раз редактировалось: oldDad (Пн 27 Мар, 2006 13:50:58), всего редактировалось 1 раз |
|
| Вернуться к началу |
|
 |
Eraser Эксперт


Зарегистрирован: Oct 05, 2005 Сообщения: 106 Рейтинг: +8/-0 Откуда: Харьков
|
Добавлено: Пн 27 Мар, 2006 13:21:50 Заголовок сообщения: |
|
|
гм. так, попробуем еще проще.
есть контроллер, у него всего лишь 10 элементов в памяти.
В одном проекте визуализации есть 1 папка с 10 тэгами, который ссылаються на 10 элементов в памяти контроллера.
Во втором проекте есть 10 папок с 10 тэгами, которые ссылаються на одни и те же 10 элементов
Будет ли количество запросов к контроллеру одинаковым при работе этих проектов? Т.е. распространяеться ли значение запрошенных элементов на все тэги в проекте, если они находяться в разных папках, но ссылаютсья на одну и ту же область памяти?[/b] |
|
| Вернуться к началу |
|
 |
oldDad Site Admin


Зарегистрирован: May 05, 2005 Сообщения: 2773 Рейтинг: +89/-5
|
Добавлено: Пн 27 Мар, 2006 13:50:08 Заголовок сообщения: |
|
|
Обращения к тэгам никто не оптимизирует. RSView не имеет никакого понятия и не разбирается с тем, есть ли в другой папке такой же тэг или нет. Linx'у это тоже безразлично. Оптимизировать траффик - это забота программиста
Вот втором случае траффик увеличится в 10 раз.
Честно говоря, не могу себе представить ситуацию, для чего это такое может понадобиться - 100 тэгов вместо 10. Я даже и не понял сперва  _________________ Обращайтесь к профессионалам. |
|
| Вернуться к началу |
|
 |
Pvl Частый гость


Зарегистрирован: Oct 20, 2005 Сообщения: 20 Рейтинг: +0/-0
|
Добавлено: Пн 27 Мар, 2006 14:02:06 Заголовок сообщения: |
|
|
Вопрос в тему:
Допустим в базе данных тэгов RSvew существуют 10 битовых тегов, ссылающихся на биты DINT-тэга tagName в контроллере Controller следующим образом:
[Controller]tagName.0
[Controller]tagName.1
[Controller]tagName.2
...............................................
[Controller]tagName.9
Для получения значений этих 10ти битовых тэгов произойдёт 10 запросов данных в контроллер или 1 запрос 32-разрядного тэга tagName , а остальная работа по вычислению значения конкретных битов будет выполнена Tag Serverом самого RSView??? |
|
| Вернуться к началу |
|
 |
oldDad Site Admin


Зарегистрирован: May 05, 2005 Сообщения: 2773 Рейтинг: +89/-5
|
Добавлено: Пн 27 Мар, 2006 14:07:41 Заголовок сообщения: |
|
|
Весь обмен идёт всё равно в 32-битном native-формате.
Если в контроллере этот тэг будет декларирован, как DINТ, то будет один запрос тэга DINT. _________________ Обращайтесь к профессионалам. |
|
| Вернуться к началу |
|
 |
Pvl Частый гость


Зарегистрирован: Oct 20, 2005 Сообщения: 20 Рейтинг: +0/-0
|
Добавлено: Пн 27 Мар, 2006 14:29:47 Заголовок сообщения: |
|
|
Гм... а где в RSView32 для digital типа данных выставляется тип данных по умолчанию???
Что то не нашол... Digital и всё |
|
| Вернуться к началу |
|
 |
oldDad Site Admin


Зарегистрирован: May 05, 2005 Сообщения: 2773 Рейтинг: +89/-5
|
Добавлено: Пн 27 Мар, 2006 14:40:27 Заголовок сообщения: |
|
|
Ну да, Digital, но можно объявить его Analog  _________________ Обращайтесь к профессионалам. |
|
| Вернуться к началу |
|
 |
Pvl Частый гость


Зарегистрирован: Oct 20, 2005 Сообщения: 20 Рейтинг: +0/-0
|
Добавлено: Пн 27 Мар, 2006 14:52:28 Заголовок сообщения: |
|
|
| oldDad писал(а): | Ну да, Digital, но можно объявить его Analog  |
интересно зачем??? )))))) |
|
| Вернуться к началу |
|
 |
oldDad Site Admin


Зарегистрирован: May 05, 2005 Сообщения: 2773 Рейтинг: +89/-5
|
Добавлено: Пн 27 Мар, 2006 15:06:08 Заголовок сообщения: |
|
|
Мало ли...
Я открою страшную тайну: тэги всё равно обрабатываются, как аналоговые
Попробуйте надеть, например, на объект visibility с таким вот expression:
| Код: | | if system\BlinkSlow >= 0.5 then 1 else 0 |
 _________________ Обращайтесь к профессионалам. |
|
| Вернуться к началу |
|
 |
Dvoeglazov Эксперт


Зарегистрирован: Mar 06, 2006 Сообщения: 278 Рейтинг: +1/-0 Откуда: г.Киров-Чепецк
|
Добавлено: Чт 30 Мар, 2006 9:28:56 Заголовок сообщения: |
|
|
Чего вы человека мучаете?!
RSView тянет данные с RSLinx (OPC, DDE), а RSLinx с контроллера.
Таким образом RSLinx выступает в роли буфера. Можете с него хоть 1000 раз запросить один тег - с котроллера он стянется 1 раз. |
|
| Вернуться к началу |
|
 |
|