Вход на форум 
В начало e-Mail

Форум

Ресурсы Rockwell

Product Directory

Essential Components

Literature Library

Knowledge Base

Electronic News&Magazines

Блог

Encompass Program

Product Certification

  


Предыдущие результаты



Предыдущие результаты



Предыдущие результаты

 [quote:e2c0fc6010="chameleon"]Пять рабочих станций с проектами RSView32 (примерно 5 тыс аналоговых и 1 тыс дискретных тэгов) прописаны "локально" (т.е. на каждом компьютере свой OPC сервер) на один из двух контроллеров-концентраторов, расположенных в отдельных шасси, и полностью дублирующих себя по функциям. [/quote:e2c0fc6010] Как я уже говорил, каждая станция с RSLinx формирует до 4-х (по умолчанию) коннектов, итого 5*4=20. Вам можно попробовать настроить на одной или 2-х рабочих станциях RSLinx Gateway и подключать остальные станции по OPC через их Remote OPC Server. [quote:e2c0fc6010="chameleon"]Активным может быть только один из концентраторов.В каждом шасси расположено по 2 модуля ENBT (через первый прописаны топики на рабочих станциях, а через второй - топики для сервисных станций: загрузка проектов Logix, проектов RSView32, и др.). Также в каждом шасси присутствуют по 5 CNBR-ов для связи с другими подсетями ControlNet. Из них самым загруженным является тот, который я уже описывал выше, т.е. через него количество коннектов может возрастать до критичных значений (55-60). Теперь опишу сеть, одним из узлов которой является данный загруженный CNBR. Причем стоит отметить, что у этого узла наименьший адрес - скорее всего он является и кипером. [/quote:e2c0fc6010] Вы организуете резервирование процессорных модулей с помощью 1757-SRM? Если да, то необходимо учитывать, что активные киперы по умолчанию (CNBR-ы с наименьшим адресом) нельзя размещать в резервированных шасси, т.к. переключение с основной на резервную корзину нарушит работу сети. Какая версия прошивок процессорных модулей и CNBR? ПО возможности, следует обновлять прошивки последними версиями. По поводу организации межпроцессорного обмена, могу повторить то что говорил ранее: от MSG по возможности желательно отказаться, всю порцию данных от одного проц. модуля желательно "упаковывать" в один боьшой массив и планировать этот массив в расписание сети, чтобы остальные проц. модуля его потребляли оптимальным образом. Также обратите внимание, что для межпроцессорного обмена необходимо устанавливать у удаленных CNBR-ов режим соединения "None" - и не в коем случае не "Rack Optimisation"!!!

 Vad, Спасибо за ответ. Всю сеть со всеми подробностями мне будет трудно описать по памяти, но я опишу её глобально. Пять рабочих станций с проектами RSView32 (примерно 5 тыс аналоговых и 1 тыс дискретных тэгов) прописаны "локально" (т.е. на каждом компьютере свой OPC сервер) на один из двух контроллеров-концентраторов, расположенных в отдельных шасси, и полностью дублирующих себя по функциям. Активным может быть только один из концентраторов. В каждом шасси расположено по 2 модуля ENBT (через первый прописаны топики на рабочих станциях, а через второй - топики для сервисных станций: загрузка проектов Logix, проектов RSView32, и др.). Также в каждом шасси присутствуют по 5 CNBR-ов для связи с другими подсетями ControlNet. Из них самым загруженным является тот, который я уже описывал выше, т.е. через него количество коннектов может возрастать до критичных значений (55-60). Теперь опишу сеть, одним из узлов которой является данный загруженный CNBR. Причем стоит отметить, что у этого узла наименьший адрес - скорее всего он является и кипером. В сети 12 узлов, расположенных в разных шасси. Каждый узел служит для связи с другим контроллером. Теперь о проблемах. 1. Периодически возникали ситуации, когда не возможно было связаться с контроллерами-концентраторами через Logix. Выдавалось сообщение о превышении количества коннектов. Здесь причина понятна, просто на тот момент не было достаточных средств диагностики. В данный момент уже сделал контроль состояния загрузки CPU модулей ENBT и CNBR, и коннектов через CNBR. 2. Иногда возникали ситуации, когда один из модулей CNBR в шасси-концентраторов светил загрузку центрального процессора 100%. Т.е. фактически "зависал" и лечилось это только передергиванием модуля. Но вот интересно, сказывалось ли это на работе других модулей в шасси, а особенно на ENBT. 3. Недавно, несколько дней подряд, возникала ситуация, когда загрузка центрального процессора под 100% светилась на одном из модулей ENBT. Продолжалось это примерно 4 минуты (время оставалось одинаковым для всех случаев). А в одной из таких ситуаций загрузка процессоров в районе 90-100 % светилась на всех 4-х модулях ENBT в двух корзинах-концентраторах. После всех этих проблем необходимо было анализировать откуда они возникают. По двум последним ответ не был найден, а в первой проблеме основным было выяснить откуда берутся коннекты на загруженном CNBR-е. Около 35 коннектов дает запланированный обмен (я считал по потребляемым тегам в других проектах Logix). Остальные, около 20, образуются от MSG, причем некоторые из них не кэшируются, поэтому значение может меняться. Коннектов от модулей ввода-вывода нет, т.к. в I/O проектов концентраторов прописаны только L-55. А дают ли они дополнительное соединение мне не известно. По проблеме с модулями ENBT, возможно, необходимо применить программу RSNetworx for Ethernet? Но с ней я никогда не работал и её функции мне не известны.

 Можно ли как либо контролировать присутствие в сети ControlNet - PanelView550? Панель подключена как Unscheduled. Процессор - ControLogix, диагностика на RSView.

 Приветствую всех! Интересует вопрос диагностики сетевых соединений устройств, висящих на ControlNet из SCADA-системы RSView32. Хотелось бы видеть на экране мнемосхему всей сети ControlNet, причем не только контроллеров, но и других станций. Из набора системных тегов RSView32 понятно, что можно диагностировать OPC-соединение с сервером OPC: system\ComErrorStringOPC (string) system\ComErrorValueOPC (analog) system\ComStatusStringOPC (string) system\ComStatusValueOPC (analog) Честно говоря, этот путь не очень устраивает, так как фактически мы диагностируем связь с RSLinx. Как можно решить такую задачу? Что можно(нужно) дописать в контроллере для реализации задачи? Может можно как-нибудь обратиться к Linx, чтобы взять конфигурации сети? Заранее благодарен, Vitaliy D. Burtsev

 Большое спасибо! Четко и понятно - приятно работать :) Тогда следующий вопрос: [quote:bcfdd18122]4. Если не хотите или не можете использовать RSViewSE, а компьютеров с HMI должно одновременно работать более. чем 2, то применяйте хотя бы RSLinx Gateway на одном (или двух компьютерах, если нужен резерв), а остальные компьютеры "вешайте" на Ethernet у тому. на котором работает RSLinx Gateway. [/quote:bcfdd18122] Допустим, что две станции ST1 и ST2 подключены к ControlNet, на них установлен RSLinxGateway (одна из станций ST2 - резервный RSLinx Remote OPC Server). На третьей станции ST3 конфигурируем узел, который ссылается на первую станцию ST1 - например OPC_ST1, формируем базу данных тэгов, в имени которых фигурирует название узла OPC_ST1. Переход на резервный RSLinx Remote OPC Server вижу таким образом: на станции ST3 конфигурирую узел, который ссылается на станцию ST2 - например OPC_ST2. В базе данных тэгов данного проекта имя этого узла не встречается. В случае выхода из строя станции ST1, на станции ST3 переименовываю узел OPC_ST1 в OPC_ST1res, а OPC_ST2 в OPC_ST1 соответственно. Т.о. базу данных тэгов перелопачивать не надо - ограничиваемся только переименованием узла. Является ли правильным данный подход, или это можно делать как-то автоматически, или можно системными средствами переименовывать узлы, а не вручную? Заранее спасибо! :)

 Начну с конца - с траффика ControlNet. С его точки зрения совершенно безразлично, сколько и каких задач будет "крутиться" в процессоре. Что ему небезразлично - так это сколько рабочих станций будут одновременно запрашивать одни и те же тэги. Самой распространённой ошибкой является решение задачи "в лоб" простым распараллеливанием рабочих станций, что есть неправильно и неминуемо ведёт к проблемам с производительностью системы. Но это - другая тема. Слава, простите, но обоснования, которые Вам приводят в качестве аргументов, я вряд ли могу назвать состоятельными. [quote:4c5775b220]1. не будет риска повторного запуска задачи до того, как она завершится. [/quote:4c5775b220] Такого риск в мультизадачных системах реального времени исключен по определению. Чкловек, утверждающий, что такой риск есть, попросту не вполне разбирается в предмете. Пусть он Вам объяснит, что он слышал об очередях задач и о реентерабельности исполняемого кода :). [quote:4c5775b220] 2. обслуживание основных технологических задач должно осуществляться в фоновом режиме. [/quote:4c5775b220] Почему вдруг именно "должно", а не "могло бы"? Совершенно это, знаете ли, неочевидно и нелогично. Если уж основные функции системы должны выполняться в фоновом режиме, то какие же тогда функции должны выполняться на переднем плане?! Смотрите: основная задача системы - это наиболее динамичная своевременная реакция на события во внешней среде. Поэтому-то мы и называем такие системы системами реального времени, что в них мы имеем возможность реагировать на события не тогда, когда сможем, а тогда, когда надо, совершенно точно зная, когда именно событие будет обслужено и точно планируя приоритетность процессов обслуживания. Основные принципы таковы: - если во внешней по отношению к системе среде происходят события различной степени важности и с различной критичностью ко времени обслуживания, то каждому такому событию (или классу событий) должна быть поставлена в соответствие задача, обслуживающая данное событие / класс событий. для этого в контроллере существует многозадачность. - если события во внешней среде обладают различным приоритетом, то и задачи, обслуживающие данное событие, также должны иметь не одинаковый, а различный приоритетю. Так, формирование массива данных индикации, скажем, имеет более низкий приоритет, чем ПИД-регулирование, а оно - более низкий приоритет, чем обслуживание аварийных блокировок. Не так ли? Для этого в е контроллере ControlLogix и существует 15 уровней приоритета. - если во внешней среде возникает ссобытие, которое должно быть обслужено немедленно, не дожидаясь, когда до обслуживающего его кода дойдёт "лестница" строчек (а кто сказал, кстати, что это время ожидания обслуживания в однозадачной систем всегда будет одно и то же?), то многозадачная система гарантирует возможность немедленного обслуживания такого события. - я уж не говорю о том, что многозадачную систему легче писать, олаживать и сопровождать, т.к. куда легче иметь дело с относительно короткими обозримыми кусками кода, чем с одной очень длинной процедурой. Планирование вычислительного процесса тоже получается легче, проще и прияьнее. - знаете, есть такое утверждение: любую логическую схему можно построить с помощью элементов 2И-НЕ. Действаительно, можно. Но зачем? Зачем строить триггер, а потом из них строить счётчики и сдвиговые регистры, когда естьготовые микросхемы? Так и тут - зачем думать о последовательности выполнения задач, писать какие-то диспетчеры заданий или задач, вызывая их "руками" в нужный момент из одной в другую, когда такие вещи уже созданы в операционной системе? А как Вы поступите с задачами, имеющими различную важность, например, с аварийными блокировками и расчётами расхода с коррекцией по температуре и давлению - что, все в очередь? Ещё одно: как Вы добьётесь хорошего качества ПИД-Регулирования, если расчёт управляющего воздействия будет выполняться нерегулярно, а в зависимости от текущего времени скана, которое варьируется в некоторых пределах, а если задача одна и большая - то и в довольно широких преедлах может? Не проще ли посадить ПИД-инструкции в отдельную задачу, запускаемую в строго отмеренные интервалы времени? [quote:4c5775b220]3. объем заложенной логики выполняется (в отсутствие других задач) достаточно быстро [/quote:4c5775b220] Я вижу здесь противоречие. Простая арифметика показывает, что если задача будет одна, то её время скана будет в несколько раз больше, чем у одной из более коротких задач. А в многозадачной систем время выполнения каждой из задач значительно меньше, чем если их все "слепить" воедино. Если же речь идёт о "накладных расходах", связанных с диспетчеризацией задач, то они: - перенебрежимо малы - аппаратно выполняются всё равно быстрее, чем реализованный программно некий самодельный диспетчер. [quote:4c5775b220]фоновая задача - она и есть фоновая, её приносят в жертву всему остальному.[/quote:4c5775b220] Слава, Вы абсолютно правы. Она именно поэтому так и называется. Многозадачности бы не было придумано и реализовано, если бы она не была нужна. ControlLogix - это на сегодняшний день самое совершенное творение контроллеростроения, результат многолетнего опыта разработки и эксплуатации, квинтэссенция знаний и передовых технологий. И если мировой лидер в этой отрасли ушёл от однозадачности и реализовал в контроллере многозадачную среду реального времени с детерминизмом и распараллеливанием потоков, то это о чём-то всё-таки говорит. [quote:4c5775b220]Как бы нам не поиметь проблем с учетом дальнейшего развития системы[/quote:4c5775b220] Я думаю, что есть соединить все функции системы в одну задачу, то как раз тогда Вы проблемы и можете поиметь. Простой вопрос: какую систему проще сопровождать: состоящую из одной необозримо длинной задачи или из разумного количества более коротких задач, имеющих вполне определённые функции? В какую из этих систем проще в процессе добавлять функции - в качестве заплаток в одну длинную задачу там и сям, долго и нудно вылавливая нестыковки и перекрёстные ссылки, или добавить одну в достаточной степени автономную задачу? Проще, надёжнее и приятнее - в многозадачную.

 Здравствуйте, коллеги! Здравствуйте, Игорь Аркадьевич! У нас возник принципиальный спор о программных способах реализации поставленных перед нами задач на базе RSLogix5000. Есть непрерывный технологический процесс, несколько десятков управляемых электрозадвижек. Нам предлагают поместить всё (сбор информации, управление, обслуживание SCADA) в циклическую задачу, обосновывая это тем, что: 1. не будет риска повторного запуска задачи до того, как она завершится. 2. обслуживание основных технологических задач должно осуществляться в фоновом режиме. 3. объем заложенной логики выполняется (в отсутствие других задач) достаточно быстро Выскажите, пожалуйста свое мнение, поделитесь личным опытом построения систем, т.к. мне кажется, что фоновая задача - она и есть фоновая, её приносят в жертву всему остальному. Как бы нам не поиметь проблем с учетом дальнейшего развития системы (появлении периодических задач, которые будут прерывать фоновую, и т.д.). Да и иметь такой функционал, как у RSLogix5000, и не использовать его :? как то неправильно. На сколько я знаю такой подход может плохо отразиться на трафике ControlNet, т.е. в SCADA возможны тормоза - правильно ли я думаю?

 :) Я рад, что Вам удалось в основном решить эту задчу. Эти характерные затыки обычно бывают не с ОРС и ControlNet, а с процессором, когда ему не дают достаточно времени на то, чтобы он занимался оптимизацией своей мультизадачности и оптимизацией коммуникаций. Периодическая задача как раз даёт процессору такую возможность, оставляет ему время для занятий собой. Что касается помаргивания - это, скорее всего, с пропусной способностью канала не связано. Известны аппликации с куда бОльшим траффиком, и там ничего не моргает. Тут нужно проанализировать более детально. Что именно моргает и как именно построено это отображение? Что откуда и когда приходит?

 [quote:22dd915957]Вы не знаете где можно почитать про расположение тегов в памяти(может на примере SLC) и механизмам передачи данных по СontrolNet-у? . [/quote:22dd915957] В SLC совершенно другой принцип организации памяти, там ничего оптимизировать не надо, там ведь статическое распределние памяти. А в ControlLogix - динамическое. О принципах оптимизации много написано. Посмотрите, например, вот эти документы, там много полезных советов: http://www.software.rockwell.com/download/comms/rslinx/controllogix%20data%20collection%20with%20rslinx.ppt http://www.software.rockwell.com/download/comms/rslinx/clx_perf.zip http://www.opcwebclient.com/Support/Documents/Performance___Optimization/performance___optimization.html http://helpdesk.ingeardrivers.com/supportsuite/index.php?_m=knowledgebase&_a=viewarticle&kbarticleid=38 http://www.software.rockwell.com/download/comms/rslinx/controllogix%20data%20collection%20troubleshooting%20guide.doc [quote:22dd915957]Сел, покопался, так пока и не нашел как эти классы к моим тегам прикрутить. [/quote:22dd915957] Что можно попробовать, так это создать в RSLinx несколько топиков с разными тэгами по группам, а для каждого топика определить настолько болшой интервал сканирования, насколько возможно (для каждого топика в Data Collection определить различные интервалы Polled Messages. Это как бы разные классы сканирования. [quote:22dd915957]Пока стараюсь настроить RSLinx Gateway, может вытащу одну машину из сегмента ControlNet.[/quote:22dd915957] Это хорошее решение. У Вас сеть забита в основном unscheduled-тэгами. Надо что-то делать. (Я включил пока возможность загрузки картинок на этот сервер, смотрите в меню в разделе "Новая информация" - "Добавить картинку")

 [quote:f5f0ad613e]Тогда нужно радикальное решение, "хирургия". Я думаю, что Вам нужно "отцепить" рабочие станции от шины ControlNet и посадить на отдельный сегмент сети (Ethernet достаточно, но можно и ControlNet). А для этого нужно вставить соответствующие модули в каждое из шасси контроллеров.[/quote:f5f0ad613e] Хотелось бы радикальные решения пока не применять. :( Вы как то обмолвились, что успешно работают и более сложные системы, дело в правильности конфигурации. Раз у меня не работает, значит что-то не так. Будем искать. :) [quote:f5f0ad613e]Если Вы уже оптимизировали расположение тэгов в памяти контроллера[/quote:f5f0ad613e] Вы не знаете где можно почитать про расположение тегов в памяти(может на примере SLC) и механизмам передачи данных по СontrolNet-у? . Вопросик в тему. У меня есть сотня датчиков температуры. Я определил тип данных TE_Sensor в котором два поля СV-Real(текущее значение в физ. величине); Limit-Real (верхний предел измерения датчика). Стоит ли создавать массив элементов типа TE_Sensor, а в программах работать с алиасами, или можно просто создать сотню тегов? [quote:f5f0ad613e]поигрались со скан-классами в RSView32[/quote:f5f0ad613e] нет не поигрался. у меня нет такой возможности. При выборе в редакторе тегов RSView32 в качестве узла локального сервера RSLinx, у меня пропадает список выбора скан-класса. :!: Сел, покопался, так пока и не нашел как эти классы к моим тегам прикрутить. [quote:f5f0ad613e]поигрались с NUT (а если его увелисить до 15? или больще[/quote:f5f0ad613e] Уж с кем я наигрался так это с NUT-ом. :D Максимально увеличивал до 40. Видимых изменений так и не получил. Пока стараюсь настроить RSLinx Gateway, может вытащу одну машину из сегмента ControlNet.



Предыдущие результаты


Ещё результаты



Предыдущие результаты



Предыдущие результаты



Предыдущие результаты



Предыдущие результаты




  
RA & VDT GmbH


Облако тэгов
Fatal Error RSLogix ControlLogix sound FTView Control Logix MVI56-104S 1734-AENTR Altivar Add-on Instruction MVI46MCM Ethernet PLC-5 SLC-500 1757-SRM Firmware ComactLogixL32E 1756-L75 1756-RM2 Controlnet cable Promass Client Memory 1769-L32E execution minutes seconds Windows Build 00000d5c Unspecified terminate geehrter automatisch keine globalen

Яндекс цитирования

Smart Solutions VDT GmbH | Friedrich-List-Allee 38, D-41844 Wegberg-Wildenrath, Germany
Tel.: +49 2432 933 57 83 | e-Mail: office@vdt-solutions.de
Все товарные знаки и торговые марки являются собственностью их владельцев.
При использовании материалов сайта ссылка на данный сайт обязательна.
Открытие страницы: 0.125 секунды