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

Форум

Ресурсы Rockwell

Product Directory

Essential Components

Literature Library

Knowledge Base

Electronic News&Magazines

Блог

Encompass Program

Product Certification

  


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



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



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

 [quote="oldDad"] [quote:6b1224f9bd]Штучка эта больше всего напоминает не RSView-шную, а Window-ую.[/quote:6b1224f9bd] Есть такая папка в Program Files\Rockwell Software\RDM. И там в одной из dll'ок вызывается эта функция RDMHiddenWnd. RDM - это Realtime Data Manager, кажись, точно компонент RSView. [quote:6b1224f9bd]Можно ещё попробовать почитать E6231 и R103563095 в Knowledge Base - вдруг это Ваш случай?[/quote:6b1224f9bd] R103563095 - ставил, пробовал - не помогает. E6231 - попробую. [quote:6b1224f9bd]А не установлены ли на этой же машине после RSView какие-нибудь продукты Microsoft типа Microsoft Visual Basic или Visual Studio, или чего-то подобного плана? Если да, то я бы убрал и их, и RSView, прочистил бы registry, а потом начисто поставил RSView.[/quote:6b1224f9bd] Я пробовал удалять полностью RSView и потом его опять ставил на разных машинах c Visual Studio и без, на Win2k (en+rus mui+sp4+rollup) и на WinXP (en,rus+sp2). Везде вылетает эта ошибка. Такое впечатление, что это внутренний общий баг RSView, и баг серьезный, ведь я не могу использовать Derived Tags. Неужели никто до сих пор с подобным не сталкивался? Или просто нико не использовал OPC+Derived Tags?

 Нет, в МЕ импортируются только проекты PanelBuilder.

 [quote:acb65c85d3]RDMHiddenWnd: CMEOPC32.exe функция по адресу 0x405f9c обратилась к памяти по адресу 0x0. Память не может быть"read" [/quote:acb65c85d3] Штучка эта больше всего напоминает не RSView-шную, а Window-ую. А не установлены ли на этой же машине после RSView какие-нибудь продукты Microsoft типа Microsoft Visual Basic или Visual Studio, или чего-то подобного плана? Если да, то я бы убрал и их, и RSView, прочистил бы registry, а потом начисто поставил RSView. Можно ещё попробовать почитать E6231 и R103563095 в Knowledge Base - вдруг это Ваш случай? Ещё вот это попробуйте: http://www.microsoft.com/ntworkstation/downloads/Recommended/ServicePacks/MFCLibrary.asp

 Дело в том, что Вас в силу Ваших специфических концептуальных особенностей не устраивает готовый механизм. Значит, его нужно писать самостоятельно, реализуя ту логику работы, которую Вам заказал заказчик системы. [quote:b65ae02d66]Насчёт собственного обработчика алармов в VBA есть существенный минус - невозможность асинхронного вызова процедур VBA... допустим в ситуации когда отрабатывается одна длинная процедура (например связанная с вызовом внешнего приложения и передачей туда данных) и приодит запрос на выполнение какой то другой процедуры - VBA затыкается. Ежели приходят и приходят ещё новые запросы - не только VBA, но и сам RSView впадают в кататонический ступор. [/quote:b65ae02d66] :) А почему бы Вам не построить процедуру VBA таким образом, чтобы она не была такой уж длинной? Ведь Вы можете написать не одну, а 2, 3 и т.п. процедуры, из которых первая была бы "диспетчером"? Всё в Ваших руках :) Или сделайте диспетчер на Event Detector'е, а по разным Eventam звпускайте разные (более которткие) процедуры :) Понимаете, то, что вы пишете, предполагает многозадачность, а это можно реализовать либо используя врождённые механизмы мультизадачности RSView (см.выше), либо там, где естественно и натурально реализовывать логику - в логческом контроллере. [quote:b65ae02d66] Реализовать нужную логику обслуживания обобщённого тэга не в RSView, а в контроллере - решение в моём понимании несколько странноватое по изначальному замыслу: обычно в контроллерах закладываются задачи сбора сигналов и их цыклической обработки с выдачей управляющих воздействий на механизмы и.т.д., в т.ч. и формирование сигналов аварии,но формирование же логики системы алармов к традиционным задачам для контроллеров не относится... Или может у меня устаревшие представления? [/quote:b65ae02d66] Я, как раз, ровно ничего странного в таком решении не вижу :) Логику следует реализоваывать там, где ей надлежит быть реализованной и где для реализаии логики есть все необходимые средства и механизмы - в [i:b65ae02d66]логическом[/i:b65ae02d66] контроллере, например. В нём для этого есть всякие битовые и не только инструкции, и именно он как нельзя лучше подходит для решения логических задач, не правда ли? :) Или Вам кто-то или что-то мешает или запрещает писать эту логику удобно и просто в том месте, где ей самое место (простите за тавтологию)? [quote:b65ae02d66]Как правило при проектировании крупных систем автоматизации написание программы контроллеров и проэктов RSView занимаются разные люди, а часто и разные организации,представителям которых вряд ли понравиться идея, что работники смежной фирмы будут ставить программные эксперименты по созданию логики алармов в их контроллерах Smile)))))[/quote:b65ae02d66] Ну, так это у Вас специфические организационные сложности, уверяю Вас. Это как раз не правило, уж поверьте :) Правилом и наиболее распространённой практикой является, по моему опыту, ситуация, когда систему в целом разрабатывает одна и та же команда, под одним и тем же проектным менеджментом и в рамках единой системной концепции. При этом система получается стройной и красивой, эффективной, и без излишеств и попыток достать левой рукой правое ухо в силу межведомственных распрей и организационного хаоса :) Мы, во всяком случае, работаем именно так :)

 Здравствуйте, ув. знатоки. У меня проблемы с деревянными тэгами (derived tags) в rsview32 7.10. Когда я пытаюсь отобразить поля вывода для деревянного тэга и для простого, от которого зависит этот деревянный (при этом не имеет значения на одном экране эти поля или на разных) rsview32 намертво виснет, выкидывая мне эту ошибку: [b:469e17d0c6]RDMHiddenWnd: CMEOPC32.exe функция по адресу 0x405f9c обратилась к памяти по адресу 0x0. Память не может быть"read"[/b:469e17d0c6] Такой же результат при попытке добавить в Tag Monitor какой-нибудь деревянный тэг. Источником данных для этих тэгов является OPC-сервер для одного девайса. Но проблема не в нем, так как я потом пытался то же проделать с разными OPC-серверами. И с тем же результатом. Может, кто-нибудь сталкивался с этим трабблом? Или может есть патч к rsview для этого бага?

 Так с самого начала уже 2-3 дня Дело происходит на объекте, и ко мне модули не попали. Я программу написал, проверил, а железки на объекте не собираются. =( Пробовал разобраться удаленно пришел к выше описанной ситуации: я понимаю что таблицы обмена в SDN и ADN несоответствуют. Я не понимаю почему по кнопке Reset Configuration and Upload Actual Device возвращаются только аналоговые модули. Опишу всю ситуацию и выскажу свои сомнения: 1. Конфигурируем через RS-232 CompactLogix-a (v13.33). 2. У нас в Map входов не оставлено первых 66 слов под служебные данные, но так сам NetWorks сделал - автоматом. И на выхода 2 слова не добавлено. 3. ADN и SDN похоже где-то раньше стояли,т.к. привезли их в течение 3 дней. Споткнулись на чем-то простом =( Вобщем, я скачал прошивки рекомендуемые для 13 версии CL: SDN 2.2 и ADN 2.5. Получится или нет - напишу.

 Тогда железо вроде ОК. Ошибка 89 на сканере - это т.н. ошибка ADR (Auto Device Replacement). Т.е. таблица ADR в сканнере не соответствует таблице ADR в адаптере. Нужно попытаться загрузить её ещё раз, или загрузить пустую таблицу, а потом, после рестарта снова загрузить правильную таблицу. ПОпробовать заменить модуль. Вопрос: а раньше было всё в порядке, а потом что-то произошло или это так есть с самого начала?

 Я бы начал с того, что сделал downgrade ADN До 1.11 и сконфигурил с ним. И попробовать поменять его на другой. Что будет?

 Сразу сознаюсь, что с DeviceNet серьезно не работал и помогаю удаленным товарищам, поэтому извиняюсь если что спрошу некорректно. Имеем железо 1769 в указанном порядке: L31,SDN,PA4,IQ16,IQ16,OW8,OW8,IQ6XOW4,ECR ADN,IQ16,IQ16,IQ16,PA4,OW8,OW8,OW8,IF4,OF2,OF2,IQ6XOW4,ECR В программе I/O без знаков вопроса, NetWorx написал все - Ok (в Actual List и Configured List все сорпало и горит черным). Но на SDN ошибка 89, на ADN не горит индикатор I/O. По всему видно, что не сконфигурирован ADN. В NetWorx на ADN жмем кнопку Reset Configuration and Upload Actual Device. И получаем как будто в удаленном шасси стоит: ADN,PA4,IF4,OF2,OF2,ECR Т.е. остались одни аналоговые модули. Помогите, pls. С уважением, Дмитрий.

 В процессе создания экранов аварийных сообщений столкнулся со следующими проблемами: 1я. Для вывода информации по алармам выбрал стандартную табличку Allarm Summary. Там возможно задавать набор кнопок для работы с сообщениями, в частности есть кнопки подверждения сообщений Ack Current, Ack All. Поскольку в проэкте предполагается что экраны операторов будут рускоязычными, то хотелось бы заменить вышеуказанные надписи на кнопках на "Подтвердить текущую" и "Подтвердить все". Но тут обнаружилось что кнопки не растягиваются под ширину надписи автоматически, и как их растянуть вручную тоже не понятно. Какие есть варианты решения такой проблемы? 2я. В проекте планируется создать нечто вроде иерархии алармов. Т.е. допустим общий дискретный тег аварии в подсистеме А формируется при наличии хотя бы одного из аварийных сигналов для подсистемы А, общий дискретный тег аварии в подсистеме Б формируется при наличии хотя бы одного из аварийных сигналов для подсистемы Б и.т.д.... При этом общие тэги аварий подсистем выводятся в сводную таблицу аварийных сообщений. Нажатие кнопки Identify для текущей строки сообщения об аварии в подсистеме Х вызывает экран с перечнем конкретных аварийных синалов по подсистеме. Проблема следующая: если все конкретные аварийные сообщения по подсистеме подтверждены, то и общее сообщение на основном экране аварий является подтверждённым. При возникновении нового аварийного сигнала в подсистеме, никакого изменения сообщения о аварии в подсистеме в целом не происходит, так как общий дискретный тэг неисправности состояния не меняет. Как можно сделать сообщение об аварии неподтверждённым опять или сгенерировать новое сообщение при неизменном состоянии тэга? Уже выяснено шо установка в 1цу Ack Bit для алармного тэга делает этот аларм подтверждённым, а вот сброс Ack Bit в 0 ничего не меняет, увы. Сгенерировать аларм по событию можно при помощи команды AlarmEvent, но AlarmEvent работает только для неалармных тэгов и соответственно для такого сообщения функция вызова пользовательской команды по Identify не работает. Как можно выкрутится из подобной ситуации?



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


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



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



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



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



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




  
RA & VDT GmbH


Облако тэгов
ProSoft Modbus Automation ControlLogix MVI56-MCM Allen-Bradley Logix Windows FactoryTalk PanelView VersaView ControlTower GuardLogix Compact Software Studio Designer 100-E 100-D SMC-50 Energy Saver 1756-RMS-SC Spectrum Encompass Level Ethernet Redundancy Stratix

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

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.167 секунды