 | |
Предыдущие результаты
[quote:1d443fe39c]А была ли инсталляция действительно "девственно чистой"? Не ушла ли RSView-шная dll-ка, заменённая при инсталляции Visual Studio своей, при деинсталляции Visual Studio?[/quote:1d443fe39c]
Да, инсталляция была чистой. Я специально для этого новую систему поставил с нуля. Потом поставил SP4. Потом RSView. И все. Больше на машине ничего нет.
[quote:1d443fe39c]Всё замечательно вызывается и тикает, ничего не виснет.
И RSView-шный OPC/DDE сервер работает.
[/quote:1d443fe39c]
Классно, конечно, но непонятно почему у меня не работает :?
Я когда попробовал на этой "чистой" машине запустить проектик (с одной картинкой, на которой 2 тега берутся из OPC-сервера, а третий - внутренний деревянный, в который считается их сумма), все нормально заработало. Как только я добавил еще одну картинку с кнопкой и вызвал из нее старую - вылезла ошибка.
Кстати такой же эффект, если активировать RSView'шный OPC/DDE сервер. Тогда ошибка вылетает (даже если одна картинка в проекте)
в момент подключения другой станции к моей. (В момент отображения моего тега на другой станции). А если никакая другая станция не подключается к моей по OPC, у меня все нормально работает (даже если галочка OPC/DDE server в Startup'е включена).
[quote:1d443fe39c] Прислать проект?[/quote:1d443fe39c]
Да, если можно на ящик nipisau. Интересно посмотреть.
Скорее всего, действительно, проблема с установкой RSView.
Может потом попробую на чистую XP-шку поставить RSView и протестить. Она же новее 2000-й и может в ней стандартно идет dll-ка MSVCP60.dll, а не MSVCP50.dll, как в 2000-й плюс еще всякие обновления, SP2.
И кстати у меня ошибка точно вылетала, если режим отображения картикок "replace" - т.е. при нажатии на кнопку вместо одной каринки появляется другая (Поверх нее). А когда они обе на экране видны были, как у вас, у меня пару раз все нормально работало.
И какая у вас настройка в Derived Tags Setup: Continious или Periodic?
Попробуйте сделать Periodic. Может вылетит. :)
|
С ошибкой этой немного прояснилась ситуация.
Сегодня выяснил, что она вылазит только если картинка с деревянными и обычными тэгами
вызывается из другой картинки (даже из пустой, с одной кнопкой для вызова др. картинки)
Игорь, если у вас остался тот проект-проба в rsview 7.10, попробуйте добавить туда пустую картинку,
на которой будет только кнопка с Action "Display <экран_с_derived_tags>".
Дальше в в System->Startup поставить галочку Initial Graphic на эту пустую картинку и галочку
Derived Tags. В ран-тайме при переходе на картинку с тегами вылазит ошибка и все виснет.
Кстати, насчет установки RSView на "чистую" систему (Только Win2000+SP4). В конце установки она
мне выдала сообщение об ошибке:
"Не могу найти файл MSVCP60.dll в путях ... <дальше пути из пременной PATH>"
MSVCP60.dll - это dll'ка из Visual Studio 6.0. Называется "Microsoft Visual C++ Runtime Library"
Вместе с Windows 2000 идет dll'ка MSVCP50.dll.
|
[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
|
В принципе, в документации и в help всё описано. Что Вас конкретно интересует? Из чего во что? ME? SE StandAlone? SE Distributed?
|
[quote:0199e92271]Но работает как-то не очень надежно (через 1-2 дня перестают пересылаться значения - проект в 17.000 тегов, наверно много =) ).[/quote:0199e92271]
А не пробовали Watcom кэш увеличить? Там не менее 8192 должно быть.
Проверьте в HKEY_USERS\.DEFAULT\Software\ODBC\ODBC.INI\Имя_Проекта\Start, вдруг поможет.
|
[quote:818150be48]Несколько станций выбрано по причине "горячей замены". В предложенном Вами варианте, зависание основной машины приведет к тому, что оператор "ослепнет". [/quote:818150be48]
Вообще-то серверы в RSViewSE распределённые и резервируются, так что не ослепнет :) Просто RSView32 имеет свою нишу применения - 1-2 рабочие станции. Можно и больше. но будет медленнее. Об этом есть соответствующие документы.
[quote:818150be48]Вот уж не думал, что 3 компа это уже тяжело для ControlNet-a Crying or Very sad Надо было изернет для верхнего уровня брать. [/quote:818150be48]
Для собственно ControlNet и больше нетяжело, она прекрасно работает и в более тяжелых системах. Просто надо отчётливо представлять, как она работает, и соответственно этому строить систему :) Это всё опыт, сын ошибок трудных :)
[quote:818150be48]Надо было изернет для верхнего уровня брать[/quote:818150be48]
Да, в многопользовательских системах лучше связывать клиенты с (резервированными) серверами по Ethernet, он именно для этого и предназначен. А уж серверы должны в реальном времени сидеть на шине реального времени ControlNet. Это так было бы идеологически правильно.
[quote:818150be48]
Посчитал сейчас количество тегов, которые таскает 1 "машина" с контроллера 813.(Только как это делается я если честно так и не понял. unscheduled [/quote:818150be48]
Да, именно так. Рабочие станции сканируют тэги циклически и независимо друг от друга, ничего не подозревая о существовании "конкурента". Каждая из них конципирована, как Stand Alone System, а не мультиюзерная HMI, со всеми вытекающими из этого идеологическими последствиями. Для мультиюзерных применений есть ещё Active Display System.
Так что, о scheduled в Вашем случае говорить, увы, не приходится :)
[quote:818150be48]форум вроде на мамбе, да что-то нет такой возможности. [/quote:818150be48]
нет, не на мамбе, а возможность эта отключена из соображений безопасности :)
[quote:818150be48]Кинул Вам по почте пару картинок, писать долго. Если чего-то для полноты картины не хватает, напишите.
[/quote:818150be48]
Да, в принципе, достаточно классический случай. Всё в основном понятно. Я посмотрю, подумаю, как быть, возможно, задам вопрос.
[quote:818150be48]Я в аське на Вас нападать стесняюсь, если вдруг вам будет удобней мой ICQ KPY (256-735-319)[/quote:818150be48]
Спасибо, но мне удобнее так :)
|
[quote:21590e87a0="Freddy"]>> что установлена опция "восстанавливать при старте содержимое памяти из EEPROM".
А где эта обция устанавливается?[/quote:21590e87a0]
Посмотрите в Controller - Processor Status - вкладка справа Mem-Module:
S:1/10 Load Memory Module on Memory error
S:1/11 Load Memory Module Always
S:1/12 Load Memory Module Always and Run
Минимум один из этих битов у Вас, по-видимому, установлен в единицу.
|
[quote:d4ab2d1392="KPY"]Просто когда у меня в VBA вылетает ошибка, брекпоинт всегда указвает именно на строку с оператором [i:d4ab2d1392]Tank_is_Hot = Application.ActiveProject.TagDb.GetTag("Status\Tank_is_Hot")[/i:d4ab2d1392] вот я и захотел попробовать передавать значение тега.[/quote:d4ab2d1392]
А что за ошибка? Может быть для нее можно написать обработчик?!
|
[color=darkred:e59c15b497]Еще раз СПАСИБО господа, за участие![/color:e59c15b497][b:e59c15b497]
Даниил[/b:e59c15b497]
[i:e59c15b497]Уважаемый Павел, а чем Вас не устраивает имя тега [/i:e59c15b497]
Устраивает в принципе, на данный момент процедуры работают именно таким образом. Просто когда у меня в VBA вылетает ошибка, брекпоинт всегда указвает именно на строку с оператором [i:e59c15b497]Tank_is_Hot = Application.ActiveProject.TagDb.GetTag("Status\Tank_is_Hot")[/i:e59c15b497] вот я и захотел попробовать передавать значение тега. На нет и суда нет. Оставлю все как есть.
[b:e59c15b497]oldDad[/b:e59c15b497]
[i:e59c15b497]Вообще, VBAExec позволяет при вызове указывать параметры, количество и спецификации которых определяются процедурой. [/i:e59c15b497]
Целиком и полностью с Вами согласен, проблема в моем случае как раз не с VBA, а с RSView, потому как процедура вызывается из последней.(полагаю RSView женского рода :) )
Сегодня попробовал сделать управление Visible кнопок отдельным тегом не связанным с тегом контроллера. Все работает "мухой" как и мечталось, но тут появились другие "грабли". "Машин" с которых у меня может выполняться управление процессом несколько, соответственно нужна процедура синхронизации видимости кнопок, которая должна быть завязана на "глобальные" теги. Получилось с чем боролся на то и напоролся. :?
|
Параметр Length в SLC всегда указывает длину в [b:43af2ad0c0]словах[/b:43af2ad0c0].
[quote:43af2ad0c0][b:43af2ad0c0]Length[/b:43af2ad0c0] is the number of elements in the file you want to copy. A timer, for example, is a single element that uses 3 words - the control (status) word, the preset word, and the accumulator word. (If the destination file type is 1 word per element, you can specify a maximum length of 128 words. If the destination is a timer file (3 words per timer), you can specify a maximum length of 42 elements (3 x 42 = 126). In this case 2 words would remain unused.
[/quote:43af2ad0c0]
|
Предыдущие результаты
Ещё результаты |
|
| |
|