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

Форум

Ресурсы Rockwell

Product Directory

Essential Components

Literature Library

Knowledge Base

Electronic News&Magazines

Блог

Encompass Program

Product Certification

  


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



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



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

 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 для контроля состояния связи?

 Подскажите плиз, как сделать парольный вход в проект. в system\user accounts логин и пароль завёл. есть две формы: 1)formLogin 2)formMain Можно повесить комманду logins на какое либо события. тогда откроется диалоговое окно где предлагается забить логин и пароль(данные эти сверяются с system\user accounts. но не знаю как обработать кнопку cansel и не правильно заведённый пароль в этом окне:( Пробовал второй вариант: открываем форму formLogin, кидаем туда два инпутбокса(для логина и пароля) и кидаем кнопку. опять не могу придумать как значения инпутбоксов связать с tag-ами и уже потом их сравнить со значениями system\user account. Подскажите, как можно решить столь простую задачу.

 Используется 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] Что я делаю неправильно?

 [quote:abad81789c="Dvoeglazov"]Не сочтите за рекламу. http://www.natahaus.ru/2005/11/01/cifrovye_sistemy_upravleniya_.html Сам скачал почитать, а вдруг чго-нибудь новенькое узнаю.[/quote:abad81789c] Спасибо за ссылочку - посмотрю, может что либо и придумаю.. =)

 [quote:d7c3343a7a="terminator2204"]мне нужно ActiveX объекту передать дату типа string YYYY/MM/DD[/quote:d7c3343a7a] Если ActiveX делается на VB, тогда все достаточно просто: - в ActiveX передаем "system\DateAndTimeInteger" - запрашиваем у Windows информацию о времени ("GetTimeZoneInformation") - используем в VB функцию "DateAdd", помня что "system\DateAndTimeInteger" количество секунд от 1 января 1970 года по Гринвичу. Все! ActiveX имеет дату в формате VB, т.е. "Date", применимо и к тегам времени в управлении нативными трендами.

 мне нужно ActiveX объекту передать дату типа string YYYY/MM/DD

 [quote:4bba8c349f]Вообще мне нужно взять текущую дату в формате строки YYYY/MM/DD.[/quote:4bba8c349f] Покажите на экране аналоговые тэги system\Year, system\Month, system\Day через слэш.

 Не сочтите за рекламу. http://www.natahaus.ru/2005/11/01/cifrovye_sistemy_upravleniya_.html Сам скачал почитать, а вдруг чго-нибудь новенькое узнаю.

 [quote:c724eaf736]какие функции для сложения строк существуют[/quote:c724eaf736] Просто сложите в поле Expression оба string-тэга знаком [size=24:c724eaf736]+[/size:c724eaf736]

 [quote:dd8e7ad7e5]На RSView32 V6.30.16 под NT 4.0 записывать в "system\Hour" и "system\Minute не позволялось, а через слайдеры прошибало... Обнаружилось случайно, вместо горизонтальной позиции поставил слайдер... [/quote:dd8e7ad7e5] Сейчас спокойно в твоём проекте HiHi изменил системное время простым вводом в numeric input. Прислать? :)



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


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



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



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



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



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




  
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 Stan

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

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