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

Форум

Ресурсы Rockwell

Product Directory

Essential Components

Literature Library

Knowledge Base

Electronic News&Magazines

Блог

Encompass Program

Product Certification

  


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



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



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

 Старая система, Windows NT 4 SP6, RSView32 6.30. Новая, Windows 2000 SP3, RSView32 6.30. Проблема: При переносе проекта с НТ на 2000 перестал работать нижеприведенный кусок кода VBA (а именно строка" Set m_Database = m_Workspace.OpenDatabase(m_DBFileName)"). Все предложения инженеров Rockwell Automftion Moscow по настройке ODBC выполнены, результат нулевой, т.е. по НТ все работает на ура, под 2000 - нет. Sub InitializeDB() On Error Resume Next ' specify path and name of Access database m_DBFileName = gProject.Path & "\Language.MDB" On Error GoTo DBErrorHandler ' Enable error trapping. 'Create workspace Set m_Workspace = Workspaces(0) 'Open database Set m_Database = m_Workspace.OpenDatabase(m_DBFileName) On Error GoTo DBTableErrorHandler 'Open table, and query for all records in Language table Set m_Language_Table = m_Database.OpenRecordset("LANGUAGE", dbOpenDynaset) Exit Sub 'Error handler for database open DBErrorHandler: MsgBox "Can't open database " & m_DBFileName, vbExclamation Exit Sub 'Error handler for table query DBTableErrorHandler: MsgBox "Can't open LANGUAGE table", vbExclamation Exit Sub End Sub

 Попробовал мониторить состояние связи не через 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 восстанавливает связь при ее потере.

 Используется 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:99c51288ed]А в RSView если связи нету то вид объектов не изменяется...[/quote:99c51288ed] Верно только для случая, когда к этому объекту не привязан тег устройства. [quote:99c51288ed]Для диагностики можно, например, назначить какие-нибудь действия (Event), основываясь на бите коммуникаций system\ComErrorValue1 или system\ComErrorValueOPC [/quote:99c51288ed] Не удачный совет, контроллеров может быть более одного... В RSView32 есть замечательная функция - "comm_err(TagName)". Еще RSLinx имеет "DDE/OPC predefined items", некоторые из них: [list:99c51288ed] - @Mode returns the current mode of the processor as a string (Run, Program, Remote Run, or Remote Program). - @Status returns the current status of the processor as a string (Ok or Faulted). - @StatusNumber returns the current status of the processor as a number. - @IsPresent allows you to check if your ControlLogix processor is available prior to performing reads or writes. [/list:u:99c51288ed]

 [color=blue:b38a344b21]system\ComErrorValue1 или system\ComErrorValueOPC где можно найти описание значений принимаемых тегами. Мне важно узнать когда отвалился контроллер, какое значение принимают теги?[/color:b38a344b21] Пробовал методом тыка, получается, что эти теги хранят последнее значение ошибки, произошедшей со связью. При пропадании связи в проекте, состоящем из одного экрана и одного тега, вываливается код ошибки 120 для system\ComErrorValueOPC, а сообщение system\ComErrorStringOPC '(RSLinx OPC Server) Server: Bad quality'. Восстанавливаю связь, эти значения так и висят. Если остановить RSLinx, то после его автостарта будет код 22 с сообщением '(RSLinx OPC Server) Client: OPC Server has unexpectedly disconnected'. Для канала не пробовал, но думаю мой метод сработает :) Может, конечно, я ничего нового не открыл, но просто сам я уже с этим махался, в итоге забил на эти коды. Нигде не встречал подробное описание этих тегов, хотелось бы его почитать. Пока тока помогает работа с полигоном. С уважением, Vitaliy D. Burtsev

 system\ComErrorValue1 или system\ComErrorValueOPC где можно найти описание значений принимаемых тегами. Мне важно узнать когда отвалился контроллер, какое значение принимают теги?

 Для контроля связи можно использовать следующие штатные средства RSView: [quote:8971ebbe40][b:8971ebbe40]Monitoring communications[/b:8971ebbe40] Use any of the following methods to monitor communications: - Activities—In the Activity Log Setup editor, ensure communication errors, warnings, and remarks are enabled and are set up to log to the log file and activity bar. At runtime, information appears in the log file and activity bar, indicating any problems. - Communication status—Ensure communication status is turned on, otherwise communication errors will not be logged to the activity log file or activity bar (even if they have been configured to do so in the Activity Log Setup editor). By default, communication status is turned off until you run the project. To turn communication status on, use the [b:8971ebbe40]ComStatusOn[/b:8971ebbe40] command. - Tag monitor—Use the tag monitor to check the communication status for a device tag. The states are: - Disabled if the node has been disabled in the Node editor or disabled using the NodeDisable command - Error if RSView32 has tried to acquire a value but could not because of some kind of communication error, such as a node not being available or a DDE server not running - Stale if the tag value has been acquired before but does not have an updated value - Uninitialized if the value has never been acquired - Valid if RSView32 has a valid value for the tag - None if there is a problem with the tag definition such as it is not a valid tag type or if the tag database has been accessed with a third–party tool such as Microsoft® Access. If the underlying tag type is valid, editing and saving the tag and then redisplaying the tag monitor will fix the problem. System\com tags—Use the system\com tags to receive a more detailed error message. If the tag monitor reports an error, move to an empty cell in the tag monitor, type system\com* and, when the dialog box appears, click Select All. For a complete list of system\com tags, see Appendix B, System tags. [/quote:8971ebbe40] Для диагностики можно, например, назначить какие-нибудь действия (Event), основываясь на бите коммуникаций system\ComErrorValue1 или system\ComErrorValueOPC и т.п. . [quote:8971ebbe40] Вот в WinCC при отсутствие связи все анимированые объкты заштриховываются (нет связи). А в RSView если связи нету то вид объектов не изменяется, как решить такую проблему?[/quote:8971ebbe40] В RSView Вам предоставляется возможность не просто заштриховать объект, а решить самостоятельно, что с ним делать, и вообще делать ли что-нибудь. Вы можете "надеть" на объект анимацию мигания или изменения цвета, или изменения штриховки на осовании выражения, которое Вы описываете в поле Expression. Хотите заштриховать - штрихуйте по тому или иному биту, нет проблем. А в WinCC Вы имеете такую же свободу действий?

 Здравствуйте! Да, это так. [quote:fa2d76d651] [b:fa2d76d651]E74966796 - Failed to load Data Server 'RSLinxEnterprise.OPCServer.1' on machine <PCName> (result = 0xc8650021)[/b:fa2d76d651] Problem Attempt to configure RSLinx Enterprise generates the following error : [b:fa2d76d651]Failed to load Data Server 'RSLinxEnterprise.OPCServer.1' on machine <PCName> (result = 0xc8650021)[/b:fa2d76d651] In Factory Talk Diagnostics, another error appears: [b:fa2d76d651]RSLinx Enterprise FactoryTalk server RNA://$Global/Test/RSLinx Enterprise was not created on <PCNAME> because no runtime license was found.[/b:fa2d76d651] Cause No RSLinx Enterprise activation is installed. Solution Purchase a RSLinx Enterprise activation or use an OPC server (possibly RSLinx) instead of RSLinx Enterprise. [/quote:fa2d76d651] Вот здесь таблица того, какие продукты поставлятся с какой активацией: [url=http://domino.automation.rockwell.com/applications%5Ckb%5CRAKB.nsf/0/C288C3F53EC0AE4F85256BA7005BBA65?OpenDocument] G7245725: List of activations that ship with RSViewSE[/url]

 Всего самого наилучшего бывшим гражданам бывшего СССР! Помогите осознать причины глюка инсталляции RSLogix5000 после переустановки виндов(XP SP1) на машинке.В ходе setup имеем сообщение Unable to access RSLogix5000 Module Profiles,завершение процесса установки и логфайл следующего содержания(привожу только последние строки): RSLogix 5000 Setup: Begin MSXML3 analysis RSLogix 5000 Setup: MSXML3 analysis ended successfully RSLogix 5000 Setup: Begin MSXML4 analysis RSLogix 5000 Setup: MSXML4 analysis ended successfully RSLogix 5000 Setup: Begin Module Directory analysis RSLogix 5000 Setup: ERROR: Module Directory instantiation failed: Reason: 80040154: Класс не зарегистрирован Может у кого есть мысли по этому поводу? Заранее благодарен.

 Работал контроллер и перестал видеть "заднюю шину". Перепрошил с 13 версии на 11 и обратно на 13, все заработало. Через некоторое вермя ситуация повторилась, но теперь перепрошить не могу, ругается на отсутствие связи после инициализации процедуры перепрошивки. Лог файл перепрошивки, связь через rs232 - 08/29/06 10:32:41 [SUCCESS] Load Driver: C:\PROGRA~1\CONTRO~1\AB_ASA.DLL 08/29/06 10:32:41 [SUCCESS] Initialize Driver: C:\PROGRA~1\CONTRO~1\AB_ASA.DLL 08/29/06 10:32:50 [SUCCESS] Device Identity: Path = RSLinx API!AB_DF1-1, Instance = 1, VID = 0x0001, PT = 0x000E, PC = 0x002C, Maj Rev = 13, Min Rev = 17, SN = 0x00234FAF 08/29/06 10:32:59 [SUCCESS] Load Script: C:\PROGRA~1\CONTRO~1\0001\000E\002C\99461502.nvs 08/29/06 10:32:59 [FAILURE] Validate: ERROR #1022: Catalog directory major revision downgrade validation error. VID=0x0001, PT=0x000E, PC=0x002C Maj Rev=13, Min Rev=17 08/29/06 10:33:00 [SUCCESS] Authorization: Bypass cookie used. Key: 99461502 08/29/06 10:33:03 [SUCCESS] Program: Catalog Number = 1769-L30, Serial Number = 00234FAF, Num Updates = 3, Size = 1391784 byte(s) 08/29/06 10:33:33 [FAILURE] Update: Error #11003: Unconnected Send timed out waiting for a response. GS=0x01, ES=0x0204 Выключаю питание, включаю, все как и было. В результате, у меня есть контроллер исправный, но не рабочий и ничего сделать с ним не могу. Может быть есть у кого-ть идеи по этому поводу?



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


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



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



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



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



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




  
RA & VDT GmbH


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

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

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