Современные технологии автоматизации» («СТА») —  журнал для квалифицированных специалистов по промышленной автоматизации Форум СТА — современные технологии автоматизации Домашняя страница
Домашняя страница форума CTA Домашняя страница форума CTA > II. АСУТП и SCADA > ПЛК и микроконтроллеры
  Активные темы Активные темы
  FAQ FAQ  Искать в форуме   Зарегистрироваться Зарегистрироваться  Вход в систему Вход в систему

ADAM 5510 & LabVIEW8.2 DSC

 Ответить Ответить Страница  123>
Автор
Сообщение
_mrv Смотреть выпадающим
Новичок
Новичок
Аватар

Присоединился: 15 Октябрь 2007
Категория: Russian Federation
Online Status: Offline
Публикации: 18
Свойства публикации Свойства публикации   Ответить, цитируя автора - _mrv Ответить, цитируя автора -  ОтветитьОтвет Прямая ссылка на эту публикацию Тема сообщения: ADAM 5510 & LabVIEW8.2 DSC
    Опубликовано: 16 Октябрь 2007 20:49
Здравствуйте!

Реализуем АСУТП: нижний уровень на ADAM-5510-A2 (15 штук, сеть PLCNET на RS485), верхний на LabVIEW 8.2 DSC (далее LV). В сети при скорости 57600 и 115200 б/с порядка 500 тегов типа Int16 обмениваются очень медленно (до 10 сек). Такое ощущение, что многопотоковость тормозит OPC server. Поэтому хотим
перейти на MODBUS rtu.

Вопросы:
1. Почему при настройке Modbus OPC server в LV нет возможности указать адрес контроллера? Может LV соединяется только к одному контроллеру по RS232?

2. Если кто-то писал обмен с 5510 через RS485 киньте
пример проги на Turbo C, пожалуйста.

3. Смотрел осциллограммы на RS485 от OPC server и не могу понять, почему столько много служебных посылок?
Вроде как, OPC сервер перебирает адреса контроллеров.


Заранее спасибо!


С уважением, mrv
Наверх
Vel_ Смотреть выпадающим
Действительный член
Действительный член


Присоединился: 25 Апрель 2006
Категория: Russian Federation
Online Status: Offline
Публикации: 116
Свойства публикации Свойства публикации   Ответить, цитируя автора - Vel_ Ответить, цитируя автора -  ОтветитьОтвет Прямая ссылка на эту публикацию Опубликовано: 17 Октябрь 2007 05:14

> В сети при скорости 57600 и 115200 б/с порядка 500 тегов типа Int16 обмениваются очень медленно (до 10 сек). Такое ощущение, что многопотоковость тормозит OPC server. <

Интересно, у вас что, две скорости в одной сети или сети разные?

Насчет скорости передачи в сети PLCNET почитай на http://asutpseta.narod.ru/plcdll/plcdll.htm

Тамже пример на VB6 и Delphi4 для связи с контроллером.

Vel
Наверх
Vald Смотреть выпадающим
Действительный член
Действительный член
Аватар

Присоединился: 02 Октябрь 2007
Категория: Russian Federation
Online Status: Offline
Публикации: 427
Свойства публикации Свойства публикации   Ответить, цитируя автора - Vald Ответить, цитируя автора -  ОтветитьОтвет Прямая ссылка на эту публикацию Опубликовано: 17 Октябрь 2007 11:37
Приведенное вами время 10 секунд - очень хороший результат. Проблема не в том что используется символьный или несимвольный протокол обмена, а в том, что значения получаются поодному, не пакетом-сразу все измеренные значения на контроллер за одну команду.
При экспериментах ни один чайник не пострадал

-----------
Плохому системному интегратору всегда OPC сервер мешает.
______________
Пишу на C++ за еду
Наверх
_mrv Смотреть выпадающим
Новичок
Новичок
Аватар

Присоединился: 15 Октябрь 2007
Категория: Russian Federation
Online Status: Offline
Публикации: 18
Свойства публикации Свойства публикации   Ответить, цитируя автора - _mrv Ответить, цитируя автора -  ОтветитьОтвет Прямая ссылка на эту публикацию Опубликовано: 17 Октябрь 2007 22:27
Пробовали на разных скоростях, последовательно.
Сначала на одной, затем на другой.

Приведенную ссылку видел, порадовался за автора, но
поскольку dll без исходника, пользоваться не рискнул.
С уважением, mrv
Наверх
_mrv Смотреть выпадающим
Новичок
Новичок
Аватар

Присоединился: 15 Октябрь 2007
Категория: Russian Federation
Online Status: Offline
Публикации: 18
Свойства публикации Свойства публикации   Ответить, цитируя автора - _mrv Ответить, цитируя автора -  ОтветитьОтвет Прямая ссылка на эту публикацию Опубликовано: 17 Октябрь 2007 22:45
Первоначально опубликовано Vald

Приведенное вами время 10 секунд - очень хороший результат. Проблема не в том что используется символьный или несимвольный протокол обмена, а в том, что значения получаются поодному, не пакетом-сразу все измеренные значения на контроллер за одну команду.


Складывается ощущение, что Вы прошли через эти проблемы. Не могли бы поделиться решениями? Может быть я неверно
использую Fastwel PLCNET OPC сервер? Сейчас контроллеры разбиты на подсети, которые через ADAM-4570 подключаются к компьютеру верхнего уровня. Совершенно очевидно, что пропускной способности RS485 на 115200 с избытком хватает на обслуживание группы по 3-4 контроллера. Однако, сеть тормозит. В Fastwel Opc server объявлены 4 сегмента сети, которые завязаны на виртуальные порты, создаваемые от ADAM 4570. Исключение из конфига OPC сервера подсети повышает быстродействие.
Грешу на OPC server.
С уважением, mrv
Наверх
Vel_ Смотреть выпадающим
Действительный член
Действительный член


Присоединился: 25 Апрель 2006
Категория: Russian Federation
Online Status: Offline
Публикации: 116
Свойства публикации Свойства публикации   Ответить, цитируя автора - Vel_ Ответить, цитируя автора -  ОтветитьОтвет Прямая ссылка на эту публикацию Опубликовано: 18 Октябрь 2007 05:24

Первоначально опубликовано Vald

Приведенное вами время 10 секунд - очень хороший результат. Проблема не в том что используется символьный или несимвольный протокол обмена, а в том, что значения получаются поодному, не пакетом-сразу все измеренные значения на контроллер за одну команду.

В корне не правильно!

Результат УЖАСНЫЙ, не в какие ворота!!!

Передача запроса (2 байта любой адрес):

360 * 11 / 57600 = 0,0687 (68.7 миллисекунд) для скорости 57600

360 * 11 / 115200 = 0,0343 (34.3 миллисекунды) для скорости 115200

Получение данных Int (2 байта):

211 * 11 / 57600 = 0,0403(40.3 миллисекунд) для скорости 57600 
211 * 11 / 115200 = 0,0202(20.2 миллисекунд) для скорости 115200

68.7 + 40.3 = 109 * 5 = 545 (500 тегов Int) миллисекунд для скорости 57600 
34.3 + 20.2 = 54,5 * 5 = 272,5 (500 тегов Int) миллисекунд для скорости 115200

Если реально, то увеличиваем на 20-30%. И ЧТО МЫ ПОЛУЧИЛИ, СРАВНИТЕ САМИ!!!

Vel
Наверх
Vel_ Смотреть выпадающим
Действительный член
Действительный член


Присоединился: 25 Апрель 2006
Категория: Russian Federation
Online Status: Offline
Публикации: 116
Свойства публикации Свойства публикации   Ответить, цитируя автора - Vel_ Ответить, цитируя автора -  ОтветитьОтвет Прямая ссылка на эту публикацию Опубликовано: 18 Октябрь 2007 05:51

Все данные в сети PLCNet передаются пакетами, до 512 байт информации в одном пакете + заголовок + контрольные суммы данных и заголовка. Это на один контроллер.

У нас есть проект в котором 15 контроллеров ADAM5510 и 1270 тегов (всяких типов) - скорость 115200, две независимых сети (на два ПК с разных портов контроллера), время полного цикла опроса ~1,2..1,5 сек. для каждого ПК.

В первую очередь откажитесь от разных скоростей, делайте единую на все! Переключение со скорости на скорость ужасно затормозит работу. И постарайтесь избавиться от подсетей, они мешают друг другу.

Проверьте сеть осциллографом на помехи и настойте сеть (методики есть в инете) с помощью терминаторов и предустановки 0 и 1. Это поможет избавиться от збоев пакетов и лишних перезапросов в сети, а заодно и перейти на скорость 115200 бод.

>Приведенную ссылку видел, порадовался за автора, но
поскольку dll без исходника, пользоваться не рискнул.<

Там есть описание функций dll и исходник примера клиента (тот же ОРС сервер по виду), а исходник dll вам зачем, Вы же не требуете исходника Fastwel PLCNET OPC сервер для работы с ним?

Vel
Наверх
_mrv Смотреть выпадающим
Новичок
Новичок
Аватар

Присоединился: 15 Октябрь 2007
Категория: Russian Federation
Online Status: Offline
Публикации: 18
Свойства публикации Свойства публикации   Ответить, цитируя автора - _mrv Ответить, цитируя автора -  ОтветитьОтвет Прямая ссылка на эту публикацию Опубликовано: 18 Октябрь 2007 21:02
Первоначально опубликовано Vel_

Все данные в сети PLCNet передаются пакетами, до 512 байт информации в одном пакете + заголовок + контрольные суммы данных и заголовка. Это на один контроллер.


У нас есть проект в котором 15 контроллеров ADAM5510 и 1270 тегов (всяких типов) - скорость 115200, две независимых сети (на два ПК с разных портов контроллера), время полного цикла опроса ~1,2..1,5 сек. для каждого ПК.


В первую очередь откажитесь от разных скоростей, делайте единую на все! Переключение со скорости на скорость ужасно затормозит работу. И постарайтесь избавиться от подсетей, они мешают друг другу.


Там есть описание функций dll и исходник примера клиента (тот же ОРС сервер по виду), а исходник dll вам зачем, Вы же не требуете исходника Fastwel PLCNET OPC сервер для работы с ним?



1. Времени анализировать сеть нет, откуда взяли информацию? Киньте ссылку или по пейджеру.

2. Как может Fastwel OPC Server обеспечивать пакетный режим обмена, если у него нет типов данных array[]? Если есть, подскажите как создать его в сервере и в контроллере. В контроллере программа написана на смеси UltraLogik32 и Turbo C?

3. Во-первых, чем Вы пользуетесь? Если Fastwel OPC server, то, простите, я не верю, так как не получаю этого на практике и не понимаю как сделать пакетный режим. Во-вторых, если библиотекой PLC_DLL, то по Вашей ссылке указано, что доступная демо-версия поддерживает 200 тегов. Мне этого недостаточно. Может Вы подскажете где взять не демо-версию?

4. ??? Вы не поняли. Речь идет о том, что сначала обмен
попробовали на 57600, затем перешли на 115200, естественно перепрограммировав все контроллеры. Осциллографом сеть смотрел, терминаторы ставил, сеть чистая и без них, так как не является протяженной.
Все компактно, длина шлейфа витой пары не более 1,5 м.

С уважением, mrv
Наверх
Vel_ Смотреть выпадающим
Действительный член
Действительный член


Присоединился: 25 Апрель 2006
Категория: Russian Federation
Online Status: Offline
Публикации: 116
Свойства публикации Свойства публикации   Ответить, цитируя автора - Vel_ Ответить, цитируя автора -  ОтветитьОтвет Прямая ссылка на эту публикацию Опубликовано: 19 Октябрь 2007 06:13

1. Воспользуйтесь поисковиком, сейчас человек который скачивал информацию в отпуске, а у меня ссылок нет.

2. Сеть PLCNet (Структура пакета из описания протокола):

Каждый передаваемый пакет обязательно содержит преамбулу, заголовок пакета и контрольную сумму заголовка пакета, дополнительно пакет может содержать передаваемые данные и контрольную сумму передаваемых данных.

Так как я и есть разработчик PLC_DLL, то уж поверьте что данные передаются пакетами, а не по одному! И Fastwel OPC Server обеспечивает пакетный режим обмена. Это так не только для протокола PLCNet, а и для всех других протоколов обмена.

3. 1270 тегов (1 сегмент сети) на Fastwel OPC server и это реальность! И этот проект работает уже 4 года.

И немного о конфигурировании Fastwel OPC server: Перед созданием новой конфигурации ВСЕГДА удаляйте старую конфигурацию! Иначе все старые теги останутся в новой конфигурации, хотя их и не видно. config.acf это снимок памяти ОРС сервера для получаемых данных и если на удалена старая конфигурация, то к ней добавляется новая и ОРС сервер страшно тормозит. Както у нас был такой случай и в итоге скорость опроса ~300 тегов составила 15...20 сек.

4. Да действительно я недопонял. На таких коротких линиях даже без согласования сети скорость 115200 работает без проблем. У нас на 1 линии 850 м (под эстакадой с силовыми кабелями) скрость 57600, но только после согласования сети.

P.S. моя dll сделана под UltraLogik16 (всех версий), под UltraLogik32 не адаптирована, небыло неоходимости. Полная версия платная.

Vel
Наверх
_mrv Смотреть выпадающим
Новичок
Новичок
Аватар

Присоединился: 15 Октябрь 2007
Категория: Russian Federation
Online Status: Offline
Публикации: 18
Свойства публикации Свойства публикации   Ответить, цитируя автора - _mrv Ответить, цитируя автора -  ОтветитьОтвет Прямая ссылка на эту публикацию Опубликовано: 21 Октябрь 2007 16:42
1. Документация на PLCNET в сети отсутствует. Во всяком случае не лежит на поверхности.

2. То же самое в первом приближении можно сказать и про Modbus. Но в MODBUS предусмотрены функции запроса и передачи группы регистров, а в PLCNET нигде явно об этом не говорится. Уточню: я столкнулся впервые с PLCNET только в связке Ultralogik32 Fastwel PLCNET server. Как я понимаю, ни в описании к UL32, ни к фаствелу не указана возможность передачи массива данных. Что касается UL32 массивы в нем и не поддерживаются (явно).
Судя по тому, что написал vel_ насчет 1270 тегов и двух портов, реализация сети делается им как-то нестандартно, например, своей прогой, слинкованной через TLink.

Словом "пакет" я неудачно обозначил передачу массива данных, а не то, что vel_.


3. Итак, на контроллерах АDAM5510 закрытая реализация PLCNET клиента, на ПК --- закрытый FASTWEL OPC SERVER.
Как повысить скорость обмена по сети? Как уже говорил, рассматриваю переход на Modbus. Какие есть мысли?

С уважением, mrv
Наверх
 Ответить Ответить Страница  123>

Переход на форум Права доступа на форуме Смотреть выпадающим

Bulletin Board Software by Web Wiz Forums® version 9.64
Powered by Web Wiz Forums Free Express Edition
Copyright ©2001-2009 Web Wiz