Страница 1 из 2

Добавлено: 07 июн 2008, 17:38
Dino
Доступен для загрузки набор компонентов версии 3.0 для Delphi/С++Builder depComponentsPack-3.0.

В depComponentsPack 3.0 входит:
- Development OPC ARM Expert (эксперт среды программирования RAD Studio 2007 для разработки автоматизированных рабочих мест)
- Display SVG (отображение SVG. Компонент TdepSvgPanel).
- Work with archive data (Работа с архивными данными. Компоненты TdepArcStorage, TdepArcPeriodicAnalogViewRead,
TdepArcPeriodicCounterViewRead, TdepArcNoPeriodicAnalogViewRead, TdepArcNoPeriodicCounterViewRead, TdepArcEventViewRead, TdepArcLogBookOGViewRead, TdepArcViewX). Для их использования требуется установить дистрибутив "Работа с архивами" 6-ой версии.
- Custom Components (Специализированные компоненты: TdepWavePlayer)

Основные новые возможности (возможно не все):
- Поддержка SVG (сокращение от англ. Scalable Vector Graphics, масштабируемая векторная графика). Подробнее на SVG.
Для созданя SVG файлов рекомендуется использовать открытый графический редактор Inkscape (Inkscape). Компонент TdepSvgPanel работает с SVG-клонами как с отдельными объектами. OPC привязки для клона наследуются из оригинала, при динамизации в клоне можно только поменять OPC имя SVG-объекта и добавить новые привязки. Тем самым клоны можно рассматривать как подобие VCL-фреймов.
- Возможно создание OPC АРМ приложений как в среде C++Builder, так и в Delphi.
- Повысилось быстродействие работы и объем памяти, выделяемый разрабатываемым приложением, за счет изменения внутренней структуры объектов.
- Вся динамизация хранится в файлах xml формата.
- Группы динамизации, для более быстрого задания привязок к типовым элементам.
- Вызов редактора динамизации из приложения(возможность исправить OPC динамизацию без среды программирования).
- Возможно быстрое подключение/отключение OPC динамизации (в среде программирования меню depOPC Design->OPC Config).
- Для любого динамизированного компонента возможно задать OPC имя(подложку). Раньше для этого использовался в версии 2 использовался компонент TdepOPCPanel.
- Для выбора OPC имени привязки используется более усовершенствованный OPC проводник.
- Вызов редактора OPC динамизации по "горячим клавишам".

Обратите внимание:
Для данной версии требуется RAD Studio 2007, 2009 или 2010

Совместимость с предыдущей версией (2) не поддерживается и вряд-ли будет поддерживаться.

depComponentsPack 3.0 распространяется по принципу "как есть". При этом не предусматривается никаких гарантий, явных или подразумеваемых. Вы используете его на свой собственный риск. Автор не отвечает за потери данных, повреждения, потери прибыли или любые другие виды потерь, связанные с использованием (правильным или неправильным) этой программы.

Справка в процессе разработки. Общая идеология от версии OPC Components 2.2 сохранилась.

Данная версия проходит тестирование и доработку. Любые замечания и пожелания можно обсуждать в этой теме.

Вопрос Первый

Добавлено: 11 июн 2008, 04:27
Faster
И где TdepOPCDesigner ?????7

Как с опц сигналы читать !!!!!!!!!

Я чтото не вкурил ....

Пойду ман поисчю

OPCTech.chm

Добавлено: 11 июн 2008, 04:37
Faster
ГЫ не правельно сформирован , не работат

КАК ЧИТАТЬ ЗНАЧЕНИЯ ИЗ ДЕКОНТА?

Добавлено: 11 июн 2008, 06:19
Faster
НАрод я в шоке , так и не нашол как читать значения из OPC в новых компонентах ... ЭТО СРОЧНО !!!

Добавлено: 11 июн 2008, 15:21
Dino
Компонента TdepOPCDesigner нет в данной версии, т.к. изменился немного подход к OPC-динамизации.

Добавлено: 14 июн 2008, 06:28
Faster
Спасибо , эта часть вроде работает но вот с архивами ...

Бросаю архивный компонент Deparcstorage на форму пытаюсь открыть свойства и получаю :
Класс не зарегистрирован, ClassID:{2fdd66ba=5baf-9e55-bfdb069894ae}
Это что и с чем его есть ???? что же за бед то ?

РЕШЕН ПРОБЛЕМЫ

Добавлено: 14 июн 2008, 06:38
Faster
И ТАК ВОТГЛЮК ТО ГЛЮК !!!!
Я ставил сначала жжонуюлису деп и работу с архиваиа компоненты потом ...
Вылазиет этот глюк ...
После трёх часоф мучений был найден ответ ... сначала ставим весь деп в месте с компонентами , а уж после лиса и на него уже работу с архивами , тогда проблеммы нет !

видимо ваш компонент какимто чудом не чуствует стоявших до него прог :)

И ещё таварисчи ну надо реально проверять наличие компонентов прежде чем лукаться внмис .. а то аксес виалейшины в 0x0000004 это ну школьные уровень .... обвязку надо делать ... коль уже работаем на серьёзном уровне , ато ну тяжко так думать кто што и где ?

Как надоело ....

Добавлено: 14 июн 2008, 06:45
Faster
Вопрос ранее вы юзали depArcFreeStruct
теперь его нет и не чего похожего тоже нет ...
Чтоделать .. я так думаю что чистить то надо ?
или вы созрели до delete ???

Вот это уже интересней :
[BCC32 Warning] Main.cpp(388): W8004 'code_error' is assigned a value that is never used
[ILINK32 Error] Error: Unresolved external '_setFuncBeginCallQt@4' referenced from C:\PROGRAM FILES\DEP\COMPONENTS\DEPCOMPONENTSPACK 3.0\BDS2007\DEPSVGCORED11R.LIB|depSvg
[ILINK32 Error] Error: Unresolved external '_setFuncEndCallQt@4' referenced from C:\PROGRAM FILES\DEP\COMPONENTS\DEPCOMPONENTSPACK 3.0\BDS2007\DEPSVGCORED11R.LIB|depSvg
[ILINK32 Error] Error: Unresolved external '_getListProperties@8' referenced from C:\PROGRAM FILES\DEP\COMPONENTS\DEPCOMPONENTSPACK 3.0\BDS2007\DEPSVGCORED11R.LIB|depSvg
[ILINK32 Error] Error: Unresolved external '_getScale@4' referenced from C:\PROGRAM FILES\DEP\COMPONENTS\DEPCOMPONENTSPACK 3.0\BDS2007\DEPSVGCORED11R.LIB|depSvg
[ILINK32 Error] Error: Unresolved external '_setScale@8' referenced from C:\PROGRAM FILES\DEP\COMPONENTS\DEPCOMPONENTSPACK 3.0\BDS2007\DEPSVGCORED11R.LIB|depSvg
[ILINK32 Error] Error: Unresolved external '_getProportional@4' referenced from C:\PROGRAM FILES\DEP\COMPONENTS\DEPCOMPONENTSPACK 3.0\BDS2007\DEPSVGCORED11R.LIB|depSvg
[ILINK32 Error] Error: Unresolved external '_setProportional@8' referenced from C:\PROGRAM FILES\DEP\COMPONENTS\DEPCOMPONENTSPACK 3.0\BDS2007\DEPSVGCORED11R.LIB|depSvg
[ILINK32 Error] Error: Unresolved external '_getStretch@4' referenced from C:\PROGRAM FILES\DEP\COMPONENTS\DEPCOMPONENTSPACK 3.0\BDS2007\DEPSVGCORED11R.LIB|depSvg
[ILINK32 Error] Error: Unresolved external '_setStretch@8' referenced from C:\PROGRAM FILES\DEP\COMPONENTS\DEPCOMPONENTSPACK 3.0\BDS2007\DEPSVGCORED11R.LIB|depSvg
[ILINK32 Error] Error: Unresolved external '_getCenter@4' referenced from C:\PROGRAM FILES\DEP\COMPONENTS\DEPCOMPONENTSPACK 3.0\BDS2007\DEPSVGCORED11R.LIB|depSvg
[ILINK32 Error] Error: Unresolved external '_setCenter@8' referenced from C:\PROGRAM FILES\DEP\COMPONENTS\DEPCOMPONENTSPACK 3.0\BDS2007\DEPSVGCORED11R.LIB|depSvg
[ILINK32 Error] Error: Unresolved external '_getBackgroundColor@4' referenced from C:\PROGRAM FILES\DEP\COMPONENTS\DEPCOMPONENTSPACK 3.0\BDS2007\DEPSVGCORED11R.LIB|depSvg
[ILINK32 Error] Error: Unresolved external '_setBackgroundColor@8' referenced from C:\PROGRAM FILES\DEP\COMPONENTS\DEPCOMPONENTSPACK 3.0\BDS2007\DEPSVGCORED11R.LIB|depSvg
[ILINK32 Error] Error: Unresolved external '_destroyDepSvgPanel@4' referenced from C:\PROGRAM FILES\DEP\COMPONENTS\DEPCOMPONENTSPACK 3.0\BDS2007\DEPSVGCORED11R.LIB|depSvg
[ILINK32 Error] Error: Unresolved external '_createDepSvgPanel@4' referenced from C:\PROGRAM FILES\DEP\COMPONENTS\DEPCOMPONENTSPACK 3.0\BDS2007\DEPSVGCORED11R.LIB|depSvg
[ILINK32 Error] Error: Unresolved external '_setFuncSelectListNodes@8' referenced from C:\PROGRAM FILES\DEP\COMPONENTS\DEPCOMPONENTSPACK 3.0\BDS2007\DEPSVGCORED11R.LIB|depSvg
[ILINK32 Error] Error: Unresolved external '_setFuncEventListNodes@8' referenced from C:\PROGRAM FILES\DEP\COMPONENTS\DEPCOMPONENTSPACK 3.0\BDS2007\DEPSVGCORED11R.LIB|depSvg
[ILINK32 Error] Error: Unresolved external '_setDesign@8' referenced from C:\PROGRAM FILES\DEP\COMPONENTS\DEPCOMPONENTSPACK 3.0\BDS2007\DEPSVGCORED11R.LIB|depSvg
[ILINK32 Error] Error: Unresolved external '_setParentWnd@8' referenced from C:\PROGRAM FILES\DEP\COMPONENTS\DEPCOMPONENTSPACK 3.0\BDS2007\DEPSVGCORED11R.LIB|depSvg
[ILINK32 Error] Error: Unresolved external '_setSvgFileName@8' referenced from C:\PROGRAM FILES\DEP\COMPONENTS\DEPCOMPONENTSPACK 3.0\BDS2007\DEPSVGCORED11R.LIB|depSvg
[ILINK32 Error] Error: Unresolved external '_setSize@12' referenced from C:\PROGRAM FILES\DEP\COMPONENTS\DEPCOMPONENTSPACK 3.0\BDS2007\DEPSVGCORED11R.LIB|depSvg
[ILINK32 Error] Error: Unresolved external '_setSvgProperty@24' referenced from C:\PROGRAM FILES\DEP\COMPONENTS\DEPCOMPONENTSPACK 3.0\BDS2007\DEPSVGCORED11R.LIB|depSvg
[ILINK32 Error] Error: Unresolved external '_getParentNames@8' referenced from C:\PROGRAM FILES\DEP\COMPONENTS\DEPCOMPONENTSPACK 3.0\BDS2007\DEPSVGCORED11R.LIB|depSvg
[ILINK32 Error] Error: Unresolved external '_getSvgSructure@8' referenced from C:\PROGRAM FILES\DEP\COMPONENTS\DEPCOMPONENTSPACK 3.0\BDS2007\DEPSVGCORED11R.LIB|depSvg

Что с эти делать ?

Ура товарисчи, лезим на бронивиГ !!

ГЫ я в шоке тосиГ, бронивиг не плавает ????

Добавлено: 14 июн 2008, 06:50
Faster
Решение предыдущего поста в конфиге включить галку поддержка SVG графики ...

Я в шоке это как умелко софта, хотите установить MS Office ? ой а а для этого надо Kb9898976 который входит в MS Office, установите его первым ...


Зачем делать галку если без неё не компилиться ????????????

Добавлено: 17 июн 2008, 15:15
Dino
Faster писал(а):Бросаю архивный компонент Deparcstorage на форму пытаюсь открыть свойства и получаю :
Класс не зарегистрирован, ClassID:{2fdd66ba=5baf-9e55-bfdb069894ae}

Для корректной работы с архивными компонентами требуется установить дистрибутив "Работа с архивами" 6-ой версии.
Faster писал(а):Решение предыдущего поста в конфиге включить галку поддержка SVG графики ...

Вопрос ранее вы юзали depArcFreeStruct
теперь его нет и не чего похожего тоже нет ...

Проблемы исправлены в новой версии, доступной для загрузки.

Faster писал(а):И ещё таварисчи ну надо реально проверять наличие компонентов прежде чем лукаться внмис .. а то аксес виалейшины в 0x0000004 это ну школьные уровень .... обвязку надо делать ... коль уже работаем на серьёзном уровне , ато ну тяжко так думать кто што и где ?

Ничего не понятно. Выражайтесь более конкретно и по русски.

Добавлено: 23 июн 2008, 07:45
Faster
Непонятно :

Это значит что Сообщенние acess violation 0x0000004 это ошибка с++ уровня 7 класса школы ...


вот что это значит ...

Добавлено: 23 июн 2008, 10:29
Dino
Если Вы хотите, чтобы найденная Вами проблема была решена, то опишите возникающую ошибку более подробно(как и при каких условиях она возникает).

Добавлено: 01 июл 2008, 01:52
Faster
К перудыдущему посту ? куда подробней ???? ошибка была хаотичной !

компоненты .89

Добавлено: 01 июл 2008, 01:58
Faster
И так проблема , вот этот код не работает я уже просто замучился думать по чему ?

Код: Выделить всё

	//Читаем аналоги
	TdepArcPeriodicAnalogViewRead* view_values=new TdepArcPeriodicAnalogViewRead(this);
	view_values->Storage = ARC;
	view_values->NameViewGroup =DEP_ARC_NAME_GROUP_ALL_PAR;//DEP_ARC_NAME_GROUP_ALL_PAR;
	view_values->TypePeriod=1;


	view_values->Period=10;//Сам период
	view_values->ReadBetweenDateTime(DateBegin, DateEnd);
	int Readed=0;

	//Выборку сделали, начинаем читать
	for (int i = 0; i<view_values->Count; i++)
	{
		TdepArcPeriodicAnalogDataRow* data_row = view_values->Items[i];
		bool ToAdd=false;
		for (int j=0; j<view_values->ListViewGroupRefParRead->Count; j++)
		{
			TdepArcViewGroupRefParRead* ref_par =view_values->ListViewGroupRefParRead->Items[j];
			if (ref_par->IndexDataColumn != -1)
			{
				TdepArcPeriodicAnalogDataRecord* data_record = &data_row->DataRecord[ref_par->IndexDataColumn];
				if (data_record->HasData)
				{
					TdepArcPar* par;
					ARC->ListPar->FindById(ref_par->IdPar, par);
					if(par && !par->DeleteRecord)
					{
						ToAdd=true;
						Readed++;
					}
				}
			}
		}
		if(ToAdd)
		{
		.....
		}
//		depArcFreeStruct(data_row->DataRecord);
//		depArcFreeStruct(data_row);
//^^^^^^^^^^^^^^^^^^^^^^^^^^^^Чем это заменить, нет этих функций !!!!!!!!!!!!!!!!!

	}


смысл в том что я вижу что мне пришло 84 записи
но при отработке этого кода количество полученных записей равно нулю ... мне просто нужно вычитать все аналоги за период времени , раньше это срабатывало теперь нет ! в чём загвоздка , не как в толк взять не могу .... причём за период который я выставляю данные точно были [/code]

Добавлено: 01 июл 2008, 11:30
Dino
В приведенном Вами коде ошибок не найдено. Readed должно равняться колличеству вычитанных значений.
Сделайте такую же выборку программой "Просмотр архивов" и посмотрите результат. Возможно таже, что все параметры, являющиеся периодичными аналогами, помечены к удалению(par->DeleteRecord == true).

Добавлено: 02 июл 2008, 02:31
Faster
Я же писал.. что в программе выбора архивов , явно видно что вычитывается 84 записи ...

я не ка кне могу понять эуту проблему в предыдущий версии компонентов всё работало ... .83 .. сейчас опять нет !!!

Добавлено: 02 июл 2008, 12:44
Dino
В текущей версии 3.0.89 по сравнению с версией 3.0.83 архивные компоненты не менялись. В нашем тестовом проекте работает все хорошо. Тяжело понять в чем у Вас дело. Для разрешения проблемы Вам нужно выслать нам свой проект(для C++ Builder), можно даже какой-нибуть тестовый с чтением данных из хранилища. Нужно также само хранилище и опишите что и за какой промежуток времени Вы пытаетесь вычитать.

Решение проблем.

Добавлено: 07 июл 2008, 03:00
Faster
И так, глюк был явно гдето в вашей писанине, я устал пытаться чтот изменить и вот что япытался сделать:
-Переустановка ПО архивов, компонентов деконта, жарптицы
-изменение настроек архивов , обновления и прочее
-смену хранилища, созданиенового и прочее

всё это не превело не к какому результатау ...

решил проблему так убил всё по, жар птыцу не трогал, вычистил весь шлак депа с реестра, убил хранилище, поставил по создал хранилище , сконфигурировал архивы и всё .... всё заработало ...

Теперь просто назривает вопрос , что этобыло ...
хранлище я вам вслал , думайте . просто если это повториться в живой базе ипридётся терять архивы это будеточень печальная история ....[/list]

Добавлено: 15 фев 2010, 15:49
Wisdom
У меня Embarcadero® C++Builder® 2010.
Можно как нибудь использовать эти компоненты в нем?

Это же вроди как RAD 2010 - следующая версия. Она должна поддерживать компоненты для 2009 версии, так?

Добавлено: 01 мар 2010, 13:35
Dino
Добавлена поддержка для Embarcadero RAD Studio 2010.

Дистрибутив можно загрузить на странице загрузки http://www.dep.ru/page/updating_software/

Добавлено: 01 мар 2010, 16:09
Wisdom
Компонента TdepOPCDesigner нет в данной версии, т.к. изменился немного подход к OPC-динамизации.

А где можно почитать как теперь это делать?

Добавлено: 01 мар 2010, 16:28
Dino
В файле помощи depComponentsPack3.chm, устанавливается вместе с компонентами или можно загрузить по ссылке http://www.dep.ru/downloads/pub/tmp/dep ... sPack3.chm.

Добавлено: 09 дек 2010, 10:52
^Guffi^
Впервые закачал, установил и даже скомпелировал приложение с пустой формой и единственной надписью с динамическим цветом и Caption

у меня вопрос: можно ли оформить всю эту хрень в виде 1-го невизуального компонента с настройкой подключения к ОРС-серверу, списком тегов (свойство типа TList или TObjectList) и событием OnChange на изменение значения в ОРС-сервере? т.к. динамизация мне вопщемто ненужна...

Добавлено: 09 дек 2010, 13:41
Dino
^Guffi^ писал(а):у меня вопрос: можно ли оформить всю эту хрень в виде 1-го невизуального компонента с настройкой подключения к ОРС-серверу, списком тегов (свойство типа TList или TObjectList) и событием OnChange на изменение значения в ОРС-сервере? т.к. динамизация мне вопщемто ненужна...

Можно, читаем depComponentsPack3.chm -> Программный доступ для расширенных возможностей ->(Асинхронное чтение и запись значений в тэги(элементы) OPC сервера(пользовательские привязки)) или Синхронное чтение и запись значений в тэги(элементы) OPC сервера.

Добавлено: 09 дек 2010, 19:33
^Guffi^
Спасибо!
1. gOpcApplication можно считать таким компонентом
2. DefaultAlias подключение к ОРС-серверу
3. CreateItemTag сосдает обьект с нужным мне событием OpcItemChange

вот только в проседуру
procedure OpcItemChange(aOpcItemTag: TdepOpcItemTag; const aValue: Variant; const aQuality: TdepOpcQuality);
передается aOpcItemTag: TdepOpcItemTag, а нельзя ли узнать его индекс, я вообще не нашел списка обьектов создаваемых CreateItemTag
и поскольку он обязан существовать прошу ткнуть меня носом...

Добавлено: 09 дек 2010, 20:04
Dino
^Guffi^ писал(а):
вот только в проседуру
procedure OpcItemChange(aOpcItemTag: TdepOpcItemTag; const aValue: Variant; const aQuality: TdepOpcQuality);
передается aOpcItemTag: TdepOpcItemTag, а нельзя ли узнать его индекс, я вообще не нашел списка обьектов создаваемых CreateItemTag
и поскольку он обязан существовать прошу ткнуть меня носом...

CreateItemTag не создает никакого списка, а создает объект класса TdepOpcItemTag(довольно простой класс и в описании вроде не нуждается, рассматривайте его просто как TObject) и возвращает на него указатель, который Вы сами и можете поместить в свой список.

Добавлено: 09 дек 2010, 22:20
^Guffi^
Я и сказал что это обьект какогото списка, покрайней мере добавляется в fDefaultOpcGroup: TdepOpcGroup;
собственно я могу организовать и свой список, НО я говорил о передаче индекса в событие OpcItemChange
типа
procedure OpcItemChange(aOpcIndexTag: Integer; const aValue: Variant; const aQuality: TdepOpcQuality);
возможно ли это?
согласитесь
тратата.Items[aOpcIndexTag] будет работать быстрее чем
тратата.IndexOf(aOpcItemTag)
особенно когда OpcItemChange будет срабатывать для нескольких тысяч ОРС-тегов

Добавлено: 10 дек 2010, 12:34
Dino
^Guffi^ писал(а):Я и сказал что это обьект какогото списка, покрайней мере добавляется в fDefaultOpcGroup: TdepOpcGroup;
собственно я могу организовать и свой список, НО я говорил о передаче индекса в событие OpcItemChange
типа
procedure OpcItemChange(aOpcIndexTag: Integer; const aValue: Variant; const aQuality: TdepOpcQuality);
возможно ли это?
согласитесь
тратата.Items[aOpcIndexTag] будет работать быстрее чем
тратата.IndexOf(aOpcItemTag)
особенно когда OpcItemChange будет срабатывать для нескольких тысяч ОРС-тегов

В данной реализации это невозможно.
Есть пара вопросов:
Зачем Вам индекс объекта в списке и сам список, созданный не Вами, если Вам и так в событии OpcItemChange возвращается указатель на TdepOpcItemTag(искать вроде ничего не надо)?
Возможно Вам нужна возможность пронаследоваться от класса TdepOpcItemTag, чтобы добавить свою логику?

Добавлено: 10 дек 2010, 13:35
^Guffi^
Вопрос можно бы снять, еслиб у TdepOpcItemTag был хотябы преславутый Tag в свойствах, вот там и можно было бы хранить индекс уже моего списка

Добавлено: 10 дек 2010, 14:52
^Guffi^
Зачем Вам индекс объекта в списке и сам список, созданный не Вами

Прошу прощения, мне не нужен доступ к этому списку - это навеяно использованием других компонентов ОРС-клиент.
Возможно Вам нужна возможность пронаследоваться от класса TdepOpcItemTag, чтобы добавить свою логику?

дело в том что уже 8 лет мы используем свои програмные решения и за это время наша самописная СКАДА значительно разрослась (обзавелась функционалом) писать с нуля нет смысла (времени и желания), решено было перейти с Delphi 7 на Delphi 2010, но ОРС-компонент подходящий пока не найден. Впринципе без глобальных переделок уже прикрутили ваш компонент добавив как раз преславутый Tag в ваш код, надеюсь и впредь компоненты будут распространятся в исходниках, чтоб была возможность добавить 2 строчки в ваш код ))