Компонент OPCClient
Модератор: Модераторы
??? Вы откуда это взяли? CoDeSys OPC-Server V2.0 - бесплатный (на сколько я понял).
mig-31 писал(а):Ваш OPC, как вы пишете только под Windows, а Lazarus и FreePascal кросплатфоменные.
Если добавлять OPC, так уже в реализации OPC-UA, которая для всех платформ.OPC-UA поддерживает например OpenScada.
Во многих случаях можно обойтись и без OPC сервера. MODBUS TCP поддерживают практически все устройства автоматизации и можно с помощью PascalScada запилить сервер, который будет сохранять данные в базу данных, визуализировать и делать отчеты.
Обычно ОРС-клиенты используются в виду того, что с некой системой автоматизации идет именно ОРС-сервер (у пользователя обычно нет возможности повлиять на производителя), и если этот сервер идет на COM/DCOM (т.е. под виндой), то использование в качестве клиента OPC-UA или MODBUS TCP будет бессмысленным (работать не будет). В том числе будет бессмысленным кроссплатформенная реализация именно классического ОРС-клиента основанного на COM/DCOM.
Поэтому критика автора нового компонента с этой стороны немного некорректная.
-
eastorwest
- новенький
- Сообщения: 57
- Зарегистрирован: 23.07.2009 20:21:46
- Откуда: Н-ск
Не так давно пересобирал на основе тех же исходников OPC-клиент. В консоли подключился к серверу, получил данные и на том успокоился. В том или ином виде готовый компонент интересен.
eastorwest
Имеется в виду мой OPCClient? (а то их вообще-то ещё есть...)
Данные он получает (проверал, на нескольких серверах)(тут вроде нормально) А вот интересно-бы сделать на его основе приложение и опробовать его в реальной работе, да ещё непрерывной. Вот тут что-то может и вылезет...
Имеется в виду мой OPCClient? (а то их вообще-то ещё есть...)
Данные он получает (проверал, на нескольких серверах)(тут вроде нормально) А вот интересно-бы сделать на его основе приложение и опробовать его в реальной работе, да ещё непрерывной. Вот тут что-то может и вылезет...
-
eastorwest
- новенький
- Сообщения: 57
- Зарегистрирован: 23.07.2009 20:21:46
- Откуда: Н-ск
vvvch
Модули OPC_AE.pas, OPCCOMN.pas, OPCDA.pas, OPCerror.pas, OPCHDA.pas, OPCSEC.pas, OPCtypes.pas ("Delphi OPC Programming") брал на http://www.opcconnect.com/ и собирал "Simple Delphi OPC Client" в Lazarus. В консоли подключился к серверу Fastwel (демо версия)... Данные обновлялись как на сервере в окне симуляции, так и в консоли...
Развивать дальше поленился, показалось делом долгим, да и целей конкретных не было, кроме как посмотреть, работает ли это все в Lazarus или нет.
Для проверки в реальных условиях нужно реальное железо и реальные ТП.
Ну а если интересует непрерывность работы, то можно запустить симулятор и клиент и не останавливать несколько суток.
Вылезть что-нибудь может в любом случае... Вряд ли результат работы подойдет для промышленного применения, но вот для тестов по моему подходяще. Например, тест того же OPC-сервера. Для подобных целей и пригодятся готовые компоненты.
Самые необходимые функции для тестов.
Модули OPC_AE.pas, OPCCOMN.pas, OPCDA.pas, OPCerror.pas, OPCHDA.pas, OPCSEC.pas, OPCtypes.pas ("Delphi OPC Programming") брал на http://www.opcconnect.com/ и собирал "Simple Delphi OPC Client" в Lazarus. В консоли подключился к серверу Fastwel (демо версия)... Данные обновлялись как на сервере в окне симуляции, так и в консоли...
Развивать дальше поленился, показалось делом долгим, да и целей конкретных не было, кроме как посмотреть, работает ли это все в Lazarus или нет.
Для проверки в реальных условиях нужно реальное железо и реальные ТП.
Ну а если интересует непрерывность работы, то можно запустить симулятор и клиент и не останавливать несколько суток.
Вылезть что-нибудь может в любом случае... Вряд ли результат работы подойдет для промышленного применения, но вот для тестов по моему подходяще. Например, тест того же OPC-сервера. Для подобных целей и пригодятся готовые компоненты.
сервер, который будет сохранять данные в базу данных, визуализировать и делать отчеты
Самые необходимые функции для тестов.
eastorwest
Извините, я пропустил
Извините, я пропустил
это значит вы не использовали мой компонент. (конечно, его тоже, наверно, можно использовать в консольном приложении - но неудобно) Для работы с данными я тоже использовал модули Delphi OPC Programming. Но работать с ними (на мой взгляд) неудобно. Вот я и написал компонент, при этом используются модули Delphi OPC Programming (тут ничего не изменено), но написана "обёртка". Я думал, что это улучшит удобство использования. Но, скорее всего, этим ни кто не пользуется. Ненужно. Увы-увы.eastorwest писал(а):В консоли подключился к серверу
-
eastorwest
- новенький
- Сообщения: 57
- Зарегистрирован: 23.07.2009 20:21:46
- Откуда: Н-ск
vvvch
Как писал выше, если бы использование модулей было проще, это снижало бы порог вхождения для непрограммистов. Ожидаю, что ваше решение позволит упростить работу с OPC в Lazarus.
Для сравнения по удобству скачал и установил OPCClient.
Первое замечание. Бросилось в глаза, что не все страницы справки (OPCClient.chm) открываются на WinXP. Похоже, это особенность старой версии движка IE 6.0, но и ее можно обойти. Могу рассказать подробнее в личных сообщениях.
Второе замечание. После размещения на форме OPCClient1 настраиваю свойство ServerName и Lazarus выдает ошибку и завершается
текст ошибки не виден. Причина может быть в том, что в системе не установлены OPC-серверы, но вот так завершать работу Lazarus вряд ли целесообразно. Пользователь явно не поймет и не оценит
Как писал выше, если бы использование модулей было проще, это снижало бы порог вхождения для непрограммистов. Ожидаю, что ваше решение позволит упростить работу с OPC в Lazarus.
Для сравнения по удобству скачал и установил OPCClient.
Первое замечание. Бросилось в глаза, что не все страницы справки (OPCClient.chm) открываются на WinXP. Похоже, это особенность старой версии движка IE 6.0, но и ее можно обойти. Могу рассказать подробнее в личных сообщениях.
Второе замечание. После размещения на форме OPCClient1 настраиваю свойство ServerName и Lazarus выдает ошибку и завершается

текст ошибки не виден. Причина может быть в том, что в системе не установлены OPC-серверы, но вот так завершать работу Lazarus вряд ли целесообразно. Пользователь явно не поймет и не оценит
Немного изменил OPCClient на https://sourceforge.net/projects/myopcclient/files/
-
ShkondinRI
- незнакомец
- Сообщения: 1
- Зарегистрирован: 28.12.2022 17:48:33
Решил попробовать использовать этот компонент, мне он понравился. С чтением тэгов проблем нет, но не могу произвести запись тега, прибор не реагирует на команды.
пробовал всяко:
var x: Word;
x:=1;
OPCClient1.TagList.GroopList[0].ItList[1].Value.SetVT_UI2(x);
и так:
OPCClient1.TagList.GroopList[0].ItList[1].Value.SetVT_UI2(1);
и так:
OPCClient1.TagList.GroopList[0].ItList[1].Value.SetValue(1);
Такое ощущение, что запись значения не происходит.
Помогите.
пробовал всяко:
var x: Word;
x:=1;
OPCClient1.TagList.GroopList[0].ItList[1].Value.SetVT_UI2(x);
и так:
OPCClient1.TagList.GroopList[0].ItList[1].Value.SetVT_UI2(1);
и так:
OPCClient1.TagList.GroopList[0].ItList[1].Value.SetValue(1);
Такое ощущение, что запись значения не происходит.
Помогите.
