|
|
|
Как работать с IOPCHDA_Server из проекта opcdelphi
|
|||
|---|---|---|---|
|
#18+
АААА и еще добавлю. Код: pascal 1. Этоа функция работает так. Переменная vt это количество считываемых елементов от выбраной даты. Тоесть если ваш тег заархивирован почасово, то чтобы получить данные за целые сутки вам надо считать 24 элемента. Все данные я запихиваю в стринглисты, тоесть сами данные и таймштамп. Потом их из стринглиста можна куда хочешь запихнуть. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 25.01.2012, 11:07:41 |
|
||
|
Как работать с IOPCHDA_Server из проекта opcdelphi
|
|||
|---|---|---|---|
|
#18+
GrozaUmnikam aka tarasdj, Спасибо тебе огромное товарищ!!!!!! вот код поиска ОРС серверов на машинах: Код: pascal 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. 16. 17. 18. 19. 20. 21. 22. 23. 24. 25. вот как то так) да и ещё приведу: Код: pascal 1. 2. 3. 4. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 25.01.2012, 14:00:27 |
|
||
|
Как работать с IOPCHDA_Server из проекта opcdelphi
|
|||
|---|---|---|---|
|
#18+
GrozaUmnikam aka tarasdj, я извиняюсь а как vt находили? и что за функция такая - EncodeDateTime, сами написали? я на Делфи ХЕ пишу, такого нет есть просто EncodeDate и EncodeTime. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 25.01.2012, 14:42:37 |
|
||
|
Как работать с IOPCHDA_Server из проекта opcdelphi
|
|||
|---|---|---|---|
|
#18+
for_kav, Код: pascal 1. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 25.01.2012, 15:04:13 |
|
||
|
Как работать с IOPCHDA_Server из проекта opcdelphi
|
|||
|---|---|---|---|
|
#18+
GrozaUmnikam aka tarasdj, Res:=GetItemServerHandle(HDASyncRead ,'TagNAme',iServerH); - тут передаёте 3 переменные а в функции 4 (function GetItemServerHandle(ServerIf: IUnknown; sItem: string; iClient: DWORD; var iServer: DWORD): HRESULT;) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 25.01.2012, 15:04:32 |
|
||
|
Как работать с IOPCHDA_Server из проекта opcdelphi
|
|||
|---|---|---|---|
|
#18+
Сорри: Код: pascal 1. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 25.01.2012, 15:05:22 |
|
||
|
Как работать с IOPCHDA_Server из проекта opcdelphi
|
|||
|---|---|---|---|
|
#18+
Сорри: Код: pascal 1. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 25.01.2012, 15:07:20 |
|
||
|
Как работать с IOPCHDA_Server из проекта opcdelphi
|
|||
|---|---|---|---|
|
#18+
GrozaUmnikam aka tarasdjСорри: Код: pascal 1. это понял я, но вот почему-то на чтении в ret ASM уходит? что-то не правильно ввожу походу ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 25.01.2012, 15:26:14 |
|
||
|
Как работать с IOPCHDA_Server из проекта opcdelphi
|
|||
|---|---|---|---|
|
#18+
for_kav, Покажите что Вы прописываете в ReadRaw? Меня инетересует vt. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 25.01.2012, 15:35:56 |
|
||
|
Как работать с IOPCHDA_Server из проекта opcdelphi
|
|||
|---|---|---|---|
|
#18+
GrozaUmnikam aka tarasdjfor_kav, Покажите что Вы прописываете в ReadRaw? Меня инетересует vt. Код: pascal 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. 16. 17. 18. 19. 20. 21. 22. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 25.01.2012, 15:40:54 |
|
||
|
Как работать с IOPCHDA_Server из проекта opcdelphi
|
|||
|---|---|---|---|
|
#18+
for_kavGrozaUmnikam aka tarasdj, OPCServerList := TOPCServerList.Create(Edit1.Text, false, CATIDs); Тут Edit1.Text это имя компьютера? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 25.01.2012, 15:41:58 |
|
||
|
Как работать с IOPCHDA_Server из проекта opcdelphi
|
|||
|---|---|---|---|
|
#18+
for_kavGrozaUmnikam aka tarasdjfor_kav, Покажите что Вы прописываете в ReadRaw? Меня инетересует vt. Код: pascal 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. 16. 17. 18. 19. 20. 21. 22. Этот ОРС клиент я отлажывал с ОРС Сервером Логики, и у м еня все работало. А вот когда я попытался полуть данные с WinCC, то у меня тоже вылетало в АСМ на том самом месте. А вот почему так я не разобрался. Как называется ваш ОРС сервер??? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 25.01.2012, 15:47:48 |
|
||
|
Как работать с IOPCHDA_Server из проекта opcdelphi
|
|||
|---|---|---|---|
|
#18+
Вы можете OPCEnum файл скинуть мне на почту. Пожалуйста. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 25.01.2012, 15:50:22 |
|
||
|
Как работать с IOPCHDA_Server из проекта opcdelphi
|
|||
|---|---|---|---|
|
#18+
GrozaUmnikam aka tarasdjfor_kavGrozaUmnikam aka tarasdj, OPCServerList := TOPCServerList.Create(Edit1.Text, false, CATIDs); Тут Edit1.Text это имя компьютера? да тут IP адрес ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 25.01.2012, 15:54:10 |
|
||
|
Как работать с IOPCHDA_Server из проекта opcdelphi
|
|||
|---|---|---|---|
|
#18+
GrozaUmnikam aka tarasdjfor_kavпропущено... Код: pascal 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. 16. 17. 18. 19. 20. 21. 22. Этот ОРС клиент я отлажывал с ОРС Сервером Логики, и у м еня все работало. А вот когда я попытался полуть данные с WinCC, то у меня тоже вылетало в АСМ на том самом месте. А вот почему так я не разобрался. Как называется ваш ОРС сервер??? InSAT.OPC.Teplocom_Hda ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 25.01.2012, 15:55:33 |
|
||
|
Как работать с IOPCHDA_Server из проекта opcdelphi
|
|||
|---|---|---|---|
|
#18+
GrozaUmnikam aka tarasdjВы можете OPCEnum файл скинуть мне на почту. Пожалуйста. http://opcdelphi.googlecode.com/files/delphiopcenum_2011-04-04.zip ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 25.01.2012, 15:58:41 |
|
||
|
Как работать с IOPCHDA_Server из проекта opcdelphi
|
|||
|---|---|---|---|
|
#18+
ОРС сервера есть разных категорий. Есть OPC HDA.1, OPC HDA.2. Так вот они чемто различаються. И все что я могуВам подзказать это то что у Вас ОРС HDA.1 , а этот код работает, почему то только с OPC HDA.2. Почему так я не знаю. Проблема в том что функция GetItemServerHandle не может получить хэндл итема. ТОчно такая же ситуация у меня с WinCC. И до сих пор я не выяснил почему. Сервер на котором я отлаживал прогу: Logika.HDA.2 - работает, а с PCS.OPCHDAServer.1 не работает. Разница в том что логиковский ОРС второй категории, а wincc - первой. Вот и б тоже очень хотел выяснить в чем проблема, но не могу, нет возможности!!!! ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 25.01.2012, 16:04:31 |
|
||
|
Как работать с IOPCHDA_Server из проекта opcdelphi
|
|||
|---|---|---|---|
|
#18+
А OPCServerList есть Код: pascal 1. ???????????? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 25.01.2012, 16:20:08 |
|
||
|
Как работать с IOPCHDA_Server из проекта opcdelphi
|
|||
|---|---|---|---|
|
#18+
GrozaUmnikam aka tarasdjА OPCServerList есть Код: pascal 1. ???????????? OPCServerList: TOPCServerList; да кстате может проще по агенту общаться? или jabber? icq? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 25.01.2012, 16:28:29 |
|
||
|
Как работать с IOPCHDA_Server из проекта opcdelphi
|
|||
|---|---|---|---|
|
#18+
кстате могу сказать что: htStartTime.bString := false; htStartTime.ftTime := DateTimeToFileTime(EncodeDateTime(2012, 01, 25, 8, 0, 0, 0)); htEndTime.bString := false; htEndTime.ftTime := DateTimeToFileTime(EncodeDateTime(2012, 01, 25, 10, 0, 0, 0)); arrClient[0] := 1; phClient := @arrClient; Res := OPCServ.GetItemHandles(1, @pszItemID, phClient, pphServer, ppErrors); Res := ReadRawVal.ReadRaw(htStartTime, htEndTime, 50, false, 1, pphServer, ppItemValues, ppErrors); работает, т.к. наблюдаю в логе обмена данными ОРС сервера и прибора запросы идут и ответы есть но в какой-то момент времени выпадает в ret ASM........................................ печаль настала((( такое ощущение что-то с типами данных. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 25.01.2012, 16:38:21 |
|
||
|
Как работать с IOPCHDA_Server из проекта opcdelphi
|
|||
|---|---|---|---|
|
#18+
Я сейчас на работе. А там где я работаю нет ни айсикью не других торололо общалок. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 25.01.2012, 16:48:18 |
|
||
|
Как работать с IOPCHDA_Server из проекта opcdelphi
|
|||
|---|---|---|---|
|
#18+
for_kavкстате могу сказать что: htStartTime.bString := false; htStartTime.ftTime := DateTimeToFileTime(EncodeDateTime(2012, 01, 25, 8, 0, 0, 0)); htEndTime.bString := false; htEndTime.ftTime := DateTimeToFileTime(EncodeDateTime(2012, 01, 25, 10, 0, 0, 0)); arrClient[0] := 1; phClient := @arrClient; Res := OPCServ.GetItemHandles(1, @pszItemID, phClient, pphServer, ppErrors); Res := ReadRawVal.ReadRaw(htStartTime, htEndTime, 50, false, 1, pphServer, ppItemValues, ppErrors); работает, т.к. наблюдаю в логе обмена данными ОРС сервера и прибора запросы идут и ответы есть но в какой-то момент времени выпадает в ret ASM........................................ печаль настала((( такое ощущение что-то с типами данных. к стате если запускать без дебаггера то данные считываются и выпадает ошибка: --------------------------- Debugger Exception Notification --------------------------- Project OPCHDAclient.exe raised exception class EVariantBadVarTypeError with message 'Invalid variant type'. --------------------------- Break Continue Help --------------------------- ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 25.01.2012, 16:55:22 |
|
||
|
Как работать с IOPCHDA_Server из проекта opcdelphi
|
|||
|---|---|---|---|
|
#18+
GrozaUmnikam aka tarasdj, есть какие-нибудь мысли по этому поводу? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 25.01.2012, 16:56:54 |
|
||
|
Как работать с IOPCHDA_Server из проекта opcdelphi
|
|||
|---|---|---|---|
|
#18+
for_kav, в трай я прописал Код: pascal 1. 2. 3. 4. 5. 6. 7. 8. И ексцепт дает ошибку по спецификации ClassName Код: pascal 1. Спомощю гугла установил что мол программа пытается получить доступ до области памяти которая не существует. А что конкретно пока не знаю!!! Тоже думаю что можна было бы попробовать))) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 25.01.2012, 17:02:08 |
|
||
|
Как работать с IOPCHDA_Server из проекта opcdelphi
|
|||
|---|---|---|---|
|
#18+
GrozaUmnikam aka tarasdjfor_kav, в трай я прописал Код: pascal 1. 2. 3. 4. 5. 6. 7. 8. И ексцепт дает ошибку по спецификации ClassName Код: pascal 1. Спомощю гугла установил что мол программа пытается получить доступ до области памяти которая не существует. А что конкретно пока не знаю!!! Тоже думаю что можна было бы попробовать))) методом научного тыка определил, что необходимо каждый раз запускать с новой датой (видно этот массив сервер хранит), тогда прога запускается и работает, дальше можно выбрать любой параметр и считать с него любый данные за любое время. значит необходимо как то проверять переменные на тип. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 25.01.2012, 18:01:41 |
|
||
|
|

start [/forum/topic.php?fid=58&msg=37631063&tid=2041873]: |
0ms |
get settings: |
6ms |
get forum list: |
18ms |
check forum access: |
3ms |
check topic access: |
3ms |
track hit: |
192ms |
get topic data: |
9ms |
get forum data: |
2ms |
get page messages: |
43ms |
get tp. blocked users: |
1ms |
| others: | 189ms |
| total: | 466ms |

| 0 / 0 |
