PDA

Просмотр полной версии : OPC & Windows 7



TPEHEP
04.03.2013, 12:26
Добрый день.

Столкнулся с проблемой невозможности работать с сервером ОРС.
На данный момент склоняюсь к тому, что ОРС не работает под управлением Виндовс 7, т.к. полтора года назад писал под Виндовс-ХР и всё работало на ура.

Люди добрые, подскажите пожалуйста, есть ли какие заморочки, либо отдельные дистрибутивы под Виндовс 7 ???

Заранее спасибо.

Olegis
04.03.2013, 13:44
Добрый день.

Столкнулся с проблемой невозможности работать с сервером ОРС.
На данный момент склоняюсь к тому, что ОРС не работает под управлением Виндовс 7, т.к. полтора года назад писал под Виндовс-ХР и всё работало на ура.

Вы работаете с каким OPC? Если это Codesys OPC, то ставьте самую последнюю версию пакета Codesys(сейчас можно скачать 2.3.9.37(или 38)), в старой надо все удалить полностью, все элементы. Работают у меня две скады на Codesys OPC под Win 7 нормально. Да и может потребоваться настройка Win 7 для работы с OPC, по умолчанию там может у вас не быть прав.

TPEHEP
04.03.2013, 14:44
Переустановил... тщетно :(

При запуске проекта вылетает с ошибкой...

http://clip2net.com/s/2U2wF

Может есть ещё какие невидимые для меня причины ?

Olegis
04.03.2013, 15:44
Переустановил... тщетно :(

При запуске проекта вылетает с ошибкой...

http://clip2net.com/s/2U2wF

Может есть ещё какие невидимые для меня причины ?

У нас работают WinCC и MаsterSCADA через Codesys OPC с Win 7 без проблем. У вас своя программа(наверное Delphi?), может новые библиотеки нужны специально под Win 7, либо как-то возможно адаптировать. Не видя проект трудно что-то сказать. Попробуйте выложить проект. На форуме есть хлопцы, которые на делфях пишут свои простые скады. Может кто поделится опытом решения подобных проблем.

Olegis
04.03.2013, 15:49
Кстати, при работе с WinCC 7.0 были проблемы с дистрибутивом Win 7. Пробовали разные пока не решили проблему. Как ни странно нормально заработала более ранняя версия Win 7.

TPEHEP
04.03.2013, 15:58
Выложить проект не проблема, только это мало чего даст.
Написан он действительно на дельфях, и полтора года назад работал на ура! Но как это обычно бывает, проект отложился до лучших времен, и теперь, когда эти самые времена наступили, работать ну никак не хочет.

Насколько я помню, ничего дополнительного на дельфи не ставил... устанавливался только кодесис с ОРС сервером и всё работало.

На всяк случай приведу часть проекта, если кто реально сталкивался с дельфями и ОРС, могу скинуть весь проект... :

uses
Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
Dialogs, ComCtrls, StdCtrls, ComObj;

.....................................

var
RoomInfo: array [4..11, 1..10, 1..9] of Room;
RoomPLC: array [4..11, 1..10] of string[2];
MainForm: TMainForm;
OPC: variant;

...............................................

OPC:=CreateOleObject('OPC.Automation');
OPC.Connect('CodeSys.OPC.02');


З.Ы. насколько я понимаю, ошибка вылетает в момент создания OLE объекта.
плиз хелп ми.

TPEHEP
04.03.2013, 17:16
На крайний случай, подскажите пожалуйста, как ещё можно читать/писать входы/выходы ПЛК.

Проект предусматривает просмотр состояния входов ПЛК по требованию пользователя, а также запись по выходам (вкл/выкл) ПЛК, по требованию пользователя. Т.е. совсем необязательно даже он-лайн.

Может что из СКАД подскажите попроще, для человека который ни разу там ничего не творил...

Olegis
04.03.2013, 17:33
На крайний случай, подскажите пожалуйста, как ещё можно читать/писать входы/выходы ПЛК.

Проект предусматривает просмотр состояния входов ПЛК по требованию пользователя, а также запись по выходам (вкл/выкл) ПЛК, по требованию пользователя. Т.е. совсем необязательно даже он-лайн.

Может что из СКАД подскажите попроще, для человека который ни разу там ничего не творил...

Вы можете использовать встроенную визуализацию Codesys HMI.Работоспособный проект делается за считанные минуты. У меня работает уже шестой год в онлайне вместо SCADA для управления водозабором. Из нее можно управлять всеми переменными и входами-выходами контроллера и модулей RS-485/. Можно попробовать Lectus Modbus OPC(лучше Modbus TCP использовать), работает все без использования Codesys OPC хорошо. Для Win 7 можно начать с MiniSCADA, посмотрите MasterSCADA(32 точки бесплатна), там все просто делается.Если есть много времени, то можно разобраться с бесплатной SCADA OpenSCADA(Украина), правда она пока только под Linux.

YuriBel
04.03.2013, 18:21
Может есть ещё какие невидимые для меня причины ?
Я бы в вашей ситуации первым делом потренировался на кошках, с целью отделить мух от котлет.
Попробуйте взять какой-либо другой OPC сервер, например Лектус или Мастер OPC, и промоделируйте ситуацию еще раз. Если ошибка с вызовом OLE объекта будет повторяться, то это один вид проблемы, если не будет - то другой. Ну и Реестр поковыряйте, может там что увидите, что наведет на мысли...

YuriBel
04.03.2013, 19:09
Вдогонку.
Быстренько промоделировал на ноуте с win7 64bit

Вот этот код работает, не вызывая ошибок. пустое окно по событию On_Create вызывает OPC и он появляется в трее.

TPEHEP
07.03.2013, 11:07
хм... странно...

вы ведь ничего не устанавливали в систему дополнительно кроме ОРС сервера Кодесиса?

У меня всё работало полтора года назад...

З.Ы. спасибо за помощь.

YuriBel
07.03.2013, 11:46
Я тем временем запускал этот EXE файл ни домашнем и на рабочем десктопах, оба под XP. На одном пошло, на другом -нет. Ошибка практически такая же, как у вас (только сообщение на русском). Думаю, что ответ можно найти, внимательно изучив реестр - какие объекты под какими именами зарегистрированы, какие при этом вызываются exe или DLL и так далее. В выходные может поковыряюсь еще, по результатам отпишусь.

TPEHEP
18.03.2013, 10:00
Всё заработало! Что было, не понял... просто всё по новой аккуратно поставил...

YuriBel
18.03.2013, 10:58
Ну а мне тем временем стало понятно, почему у меня на домашнем компьютере не заработало. Там оказывается OPC сервер не установлен, поэтому и запускаться было нечему.