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

Форум

Ресурсы Rockwell

Product Directory

Essential Components

Literature Library

Knowledge Base

Electronic News&Magazines

Блог

Encompass Program

Product Certification

  


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



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



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

 Это я уже пробовал. Хотя в Help указано, что эта команда - аналог галки в Startup. oldDad, вы не подскажете, такая проблема не может проявиться из-за несовместимости ОС и RSView? Спрашиваю потому, что в процессе установки пакетов Rockwell, а именно: RSLinx, RSView, RSlogix5000 один раз прервалась загрузка windows. Загрузил последнюю работоспособную версию и все заработало, пока я не столкнулся вот с этой проблемой с алармами.

 Здравствуйте, уважаемые специалисты! В RSWiew32 v.7.0 Build 10 необходимо сделать следующее: При превышении определенного порога значением тега Analog, вывести аварийное сообщение на экран. 1. Создал это сообщение. 2. Создал макро-команду, запускающую этот экран. 3. В TagDatabase в свойствах этого тега поставил метку Alarm 4. В открывшемся меню установил порог срабатывания Alarm, зону нечувствительности, и в Advanced указал имя макро-команды, вызывающей аварийное сообщение. 5. В Startup поставил метку Alarming. При запуске проекта логи пишутся, теги меняются, но это сообщение не вызывается. В Help никаких возможных проблем не описано. Подскажите, пожалуйста, где я не прав, или где можно покопать?

 [quote:b48e53076c="oldDad"]Задача в терминах операционных систем реального времени - это вот что: [quote:b48e53076c]From Wikipedia, the free encyclopedia A task is "an execution path through address space". In other words, a set of program instructions that is loaded in memory. The address registers have been loaded with the initial address of the program. At the next clock cycle, the CPU will start execution, in accord with the program. The sense is that some part of 'a plan is being accomplished'. As long as the program remains in this part of the address space, the task can continue, in principle, indefinitely, unless the program instructions contain a halt, exit, or return. * In the computer field, "task" has the sense of a real-time application, as distinguished from process, which takes up space (memory), and execution time. See operating system. o Both "task" and "process" should be distinguished from event, which takes place at a specific time and place, and which can be planned for in a computer program. + In a computer graphical user interface (GUI), an event can be as simple as a mouse click. + In older text-based computer interfaces, an event might be a keystroke.[/quote:b48e53076c] К скану это не имеет никакого отношения.[/quote:b48e53076c] Тогда на моем примере получается что задача - это опрос всех входов и запись их в память? Правильно я понимаю или нет?

 Задача в терминах операционных систем реального времени - это вот что: [quote:a5acef1bef]From Wikipedia, the free encyclopedia A task is "an execution path through address space". In other words, a set of program instructions that is loaded in memory. The address registers have been loaded with the initial address of the program. At the next clock cycle, the CPU will start execution, in accord with the program. The sense is that some part of 'a plan is being accomplished'. As long as the program remains in this part of the address space, the task can continue, in principle, indefinitely, unless the program instructions contain a halt, exit, or return. * In the computer field, "task" has the sense of a real-time application, as distinguished from process, which takes up space (memory), and execution time. See operating system. o Both "task" and "process" should be distinguished from event, which takes place at a specific time and place, and which can be planned for in a computer program. + In a computer graphical user interface (GUI), an event can be as simple as a mouse click. + In older text-based computer interfaces, an event might be a keystroke.[/quote:a5acef1bef] К скану это не имеет никакого отношения.

 Не знаю, может дело и в CPR, всё может быть. У нас же работает :) По поводу update дело обстоит так: 1. Возможность update cроком на 1 год с момента покупки входит в цену ПО. 2. Если необходимо, этот срок можно продлить за небольшую дополнительную плату. Эта опция называется Support Reinstatement. 3. Предполагается, что приобретённое программное обеспечение зарегистрировано в Rockwell. Как я понимаю, у Вас один год уже прошёл.

 Попробовал мониторить состояние связи не через VBA и события тегов, а через встроенную функцию RSView [b:fe6cd228b2]comm_err(tagname).[/b:fe6cd228b2] При нарушении связи (тупо выдергиванием шнурка Ethernet или остановкой проекта на удаленной станции) значение [b:fe6cd228b2]comm_err(memory_тег)[/b:fe6cd228b2] переходит из 0 в 1. А когда связь появляется, состояние тега так и остается [i:fe6cd228b2]Error[/i:fe6cd228b2] и [b:fe6cd228b2]comm_err(memory_тег)[/b:fe6cd228b2] тоже как было равно 1, так и остается 1. То есть тут проблема не в событии _StatusCommErr, а вообще в механизме, которым RSView восстанавливает связь при ее потере.

 oldDad, Спасибо за советы и внимание. [quote:73cd452d6f]Начать с того, что три станции RSView32 работают в одном сегменте. Уж сколько раз твердили миру, что такие конфигурации не работают или работают медленно или плохо, однако...[/quote:73cd452d6f] Можно поподробнее, или ссылочку, а то первый раз о таком слышу :oops: Станции эти работают в одном домене, а насчет сегмента, - и не скажу точно, может и в разных. Я сейчас не на объекте, а на память не помню. [quote:73cd452d6f]Вы же не написали, какую операцонную систему Вы используете, с каким сервис-паком, и какие версии софта. Может причина кроется вообще в несовместимости версии СPR и версии Windows.[/quote:73cd452d6f] Система стоит на всех станциях Windows XP Pro RUS SP2 Что такое CPR? RSView как я писал выше - RSView32 7.20 на 5 тыс тегов [quote:73cd452d6f]Далее, мне никогда не приходило в голову передавать memory-тэги (!) из одной станции RSView в другую. (!). [/quote:73cd452d6f] В memory-тэги на каждой станции записывается режим работы насосов (строковая переменная) методом ручного ввода. Этти значения периодически скриптом сохраняются во временные переменные в качестве их значения по умолчанию. И в случае презагрузки проекта или компьютера восстанавливаются при старте проекта из этих значений по умолчанию. На объекте нет нормальных контроллеров как класса вообще. В целях экономии завод приобрел преобразователи 12-канальные цифровые (ПЦ-12р), каждый из которых собирает данные по 12 каналам, преобразует их и индицирует на своем экранчике. Еще предоставляет доступ к этим данным по RS-485 по протоколу MTM-MODBUS (урезанный MODBUS RTU). Возможно только считывание данных, записывать ничего нельзя. А вопрос я задавал в основном для того чтобы узнать, работал ли кто реально с событиями для тегов, в частности с _StatusCommErr? Работают ли (отлавливаются нормально) эти события и можно ли их использовать в скрипте VBA для контроля состояния связи?

 Используется RSView32 7.20. На объекте работают 3 равноправные операторские станции, связь по Ethernet. Проект на всех станциях работает один и тот же, только конфигурация Nod'ов в зависимости от конкретной станции меняется. А Нодов сконфигуривано везде 6: 3 Нода для каждой станции - (RSview OPC Tag Server, remote) и еще три нода для OPC-сервера собственного производства, который на каждой станции связывается с определенными девайсами, тоже remote. Потом на каждой станции (локальной) убирается галочка с Enable в Нодах для RSview OPC Tag Server и OPC-сервер для девайсов делается не remote, а local. По рсвьюшному OPC передаются некоторые внутренние теги (memory), ну а по второму - теги с девайсов. Проблема в том, что если на какой-то станции перезапускается RSView, или мой OPC-сервер, то на остальных станциях ее данные не подхватываются, они как бы "замораживаюся", (на экранах показыватся последнее значение, которое было до перезапуска). Я посмотрел в Tag Monitor'е, в момент, когда теряется связь с одной из удаленных станций, статус ее тегов становится "Error". Поэтому решил обработать эту ситуацию так. Через скрипт VBA регистрирую событие _StatusCommErr для коллекции тегов (пары внутренних тегов с каждой станции и еще пары тегов с девайсов) и по этому событию делаю нехитрую процедуру: деактивирую и тут же активирую соответствующий Node. И все. Я проверял: если вручную убрать и поставить галку Enable в Node Editor для Node той станции, которая перезапустилась и не подхватывается - через пару секунд значения начинают нормально передаваться. Даже кнопки такие поделал на одном экране с командами "NodeDisable Node1; NodeEnable Node1" как временную меру на случай потери связи. Теперь захотел сделать это в автомате через скрипт, но не выходит: при потере связи теги в Tag Monitor переходят в состояние "error", но процедура моя не активируется почему-то. Как будто не было события StatusCommErr. Текст процедуры привожу ниже: [code:1:67bf376e44] Private Sub tConn_Monitor_StatusCommErr(ByVal CommErrTags As RSView32.Tags) Dim ComErrTag As Tag For Each ComErrTag In CommErrTags If gNodes(ComErrTag.NodeName).Enabled = True Then gNodes(ComErrTag.NodeName).Enabled = False gNodes(ComErrTag.NodeName).WriteConfiguration End If gNodes(ComErrTag.NodeName).Enabled = True gNodes(ComErrTag.NodeName).WriteConfiguration Next End Sub [/code:1:67bf376e44] [i:67bf376e44]tConn_Monitor[/i:67bf376e44] - это коллекция тегов, для которых проверяется состояние связи. В макрос, который выполняется при запуске проекта, добавил строчку: [code:1:67bf376e44]VbaExec ConnMonitorInit[/code:1:67bf376e44] где ConnMonitorInit - процедура, в которой инициализируется коллекция тегов tConn_Monitor: [code:1:67bf376e44]Sub ConnMonitorInit() Dim Tgs As Variant Dim Tg As Variant Dim tTags As Tags Set tTags = New Tags Tgs = Array("NSMV1\PC_01\Ch_01", "NSMV2\PC_01\Ch_01","NSMV3\PC_01\Ch_01", _ "NSMV1\R_1", "NSMV2\R_1", "NSMV3\R_1") For Each Tg In Tgs tTags.Add gTagDb.GetTag(Tg) Next Set tConn_Monitor = tTags End Sub [/code:1:67bf376e44] Коллекция tConn_Monitor объявлена в разделе Declarations->General так: [code:1:67bf376e44]Private WithEvents tConn_Monitor As Tags[/code:1:67bf376e44] Что я делаю неправильно?

 RS Emulate 5000 бесплатно не качается и не раздаётся. Но RSTestStand Lite можно получить. Свяжитесь, пожалуйста, с одним из наших офисов в Тольятти, Самаре или Ярославле.

 нашел вот такую информацию, только где бы взять такой CD-ROM? RSTestStand Lite v1.00.04 is included on the RSEmulate 5000 CD-ROM может знает кто где можно скачать в нете RSTestStand Lite ? очень интересует его способности и возможность применения в учебном процессе..



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


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



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



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



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



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




  
RA & VDT GmbH


Облако тэгов
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 Fehlermeldungen Default

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

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