powered by simpleCommunicator - 2.0.61     © 2026 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / FoxPro, Visual FoxPro [игнор отключен] [закрыт для гостей] / VFP и OPC сервера
16 сообщений из 16, страница 1 из 1
VFP и OPC сервера
    #33099966
Mishanay
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Кто нибудь решал задачу , получить данные с OPC сервера в Лису,
а очень надо.
...
Рейтинг: 0 / 0
VFP и OPC сервера
    #33100024
strizh
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Друг, ты подробнее объясни, pls, что такое OPC-сервер ?
...
Рейтинг: 0 / 0
VFP и OPC сервера
    #33100034
piva
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Берешь драйвер ODBC для OPC сервера и цепляешься - осталость только узнать где этот драйвер лежит
...
Рейтинг: 0 / 0
VFP и OPC сервера
    #33106249
Mishanay
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Программа является сервером OPC для узлов сети ULTRANET, созданных с помощью системы программирования UltraLogik и объединенных через интерфейс RS-485 (PLCNET) либо через стандартную сеть Ethernet с помощью протокола IPX/SPX (IPXNET). Сервер позволяет осуществлять обмен данными между узлами сетей PLCNET и IPXNET и приложениями-клиентами OPC. Сервер реализован с использованием современных концепций программирования на основе спецификации OPC версии 2.0
...
Рейтинг: 0 / 0
VFP и OPC сервера
    #33106250
Mishanay
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Технология связывания и внедрения объектов для систем промышленной автоматизации OPC (OLE for Process Control) предназначена для обеспечения универсального механизма обмена данными между датчиками, исполнительными механизмами, контроллерами, устройствами связи с объектом и системами представления технологической информации, оперативного диспетчерского управления, а также системами управления базами данных. Производители аппаратных средств, пользуясь спецификацией OPC, имеют возможность разрабатывать единственный сервер OPC для обеспечения единственного и наиболее общего способа организации доступа к данным и передачи в адрес приложений-клиентов различных производителей программного обеспечения для промышленной автоматизации.

OPC основана на модели распределенных компонентных объектов Microsoft DCOM и устанавливает требования к классам объектов доступа к данным и их специализированным (custom) интерфейсам для использования разработчиками клиентских и серверных приложений. Для обмена данными с приложениями-клиентами, разработка которых ведется на языках типа MS Visual Basic, а также с популярными приложениями типа Excel, спецификация OPC содержит дополнительные (но необязательные для реализации) требования к интерфейсу OLE-автоматизации (OLE Automation). Текущая версия Fastwel PLCNET OPC сервера не поддерживает интерфейс OLE-автоматизации.

Структура взаимодействия между приложениями-клиентами и серверами OPC различных производителей показана ниже.

Опираясь на объектную технологию COM/DCOM, стандарт OPC фиксирует определенную модель взаимодействия между клиентом и сервером.
Базовым понятием этой модели является элемент данных (Item). Каждый элемент данных имеет значение, время последнего обновления (timestamp) и признак качества, определяющий степень достоверности значения. Значение может быть практически любого скалярного типа – булево, целое, с плавающей точкой и т.п. – или строкой (так называемый OLE VARIANT). Время представляется с 100-наносекундной точностью (FILETIME Win32 API). Реальная точность измерения времени обычно бывает хуже и, в общем случая, зависит от реализации сервера и аппаратуры. Качество – это код, содержащий в себе грубую оценку – UNCERTAIN, GOOD и BAD (неопределено, хорошее и плохое), а на случай плохой – еще и расшифровку, например QUAL_SENSOR_FAILURE – ошибка датчика.

Следующим вверх по иерархии является понятие группы элементов (OPC Group). Группа создается OPC-сервером по требованию клиента, который затем может добавлять в группу элементы (Items). Для группы клиентом задается частота обновления данных, и все данные в группе сервер старается обновлять и передавать клиенту с заданной частотой. Отдельно стоящих вне группы элементов быть не может. Клиент может создать для себя на сервере несколько групп, различающихся требуемой частотой обновления. Для каждого клиента всегда создается своя группа (кроме так называемых публичных групп), даже если состав элементов и частоты обновления совпадают. Отсоединение клиента приводит к уничтожению группы.

Элементы в группе, таким образом, – это своего рода клиентские ссылки на некие реальные переменные (теги), находящиеся на сервере или в физическом устройстве. Понятие тега спецификацией OPC не определяется, но подразумеваятся неявно. Элементы в группу клиент добавляет по имени, и эти имена являются именами соответствующих тегов. Клиент может либо знать нужные имена заранее, либо запросить список имен тегов у сервера. Дя запроса имен тегов служит интерфейс IOPCBrowseServerAddressSpace, с помощью которого сервер описывает клиенту свое "пространство имен", организованное в общем случае иерархически. Пример полного имени тега: Устройство1. Модуль5. АналоговыйВход3. При добавлении элемента в группу клиент всегда указывает это полное имя. Заметим, что группы, создаваемые клиентом, не обязаны совпадать (и, как правило, не совпадают) с подразделами пространства имен сервера, элементы в группу добавляются "в разнобой". Единственное, что их объединяет – это общая частота обновления и синхронность отправки клиенту.

Наконец, на верхней ступеньке иерархии понятий находится сам OPC-сервер. Из всех перечисленных (OPC-группа, OPC-элемент) он единственный является COM-объектом, все остальные объекты доступны через его интерфейсы, которые он предоставляет клиенту. Взаимосвязь групп и элементов OPC показана ниже.

На Basice c Access делается так:


Sub Main()

' ********************************************************************************************
' Предварительные действия для работы данной программы
' Настройка источника данных ODBC
' 1. Нажать кнопку "Пуск" на рабочем столе
' 2. Далее: Настройка ---> Администрирование ---> Источники данных ODBC,
' откроется панель ODBC Data Source Adminictrator
' 3. Выбрать опцию добавить (ADD)
' 4. Выбрать драйвер Microsoft Access Driver(*.mdb) и нажмите кнопку Готово
' 5. В появившейся панели нажмите кнопку Выбрать
' 6. Найдите базу DC1_Skl.mdb в папке D:\DC1_OPC\BazaAcc и нажмите кнопку OK
'
' После этих действий источник данных настроен
'
' ********************************************************************************************
'Программа сохранения данных с OPC сервера
' Имя проекта - PDt_DC1.bas
' Имя исходного модуля - Dt_DC1.bas
' Имя загрузочного модуля - Dt_DC1.exe
'
'Назначение программы - сохранение данных полученных С OPC сервера в таблице DTH и запись
' вычисленных значений объемов руды в таблицу Vm3_Dc1 базы DC1_Skl.mdb
'
'**********************************************************************************************
'Подключаемые библиотеки : - Visual Basic For Application
' - Visual Basic runtime objects and procedures
' - Visual Basic objects and procedures
' - OLE Automation
' - Microsoft ActiveX Data Objects 2.6/2.7 Library
' - Microsoft ActiveX Data Objects Recordset 2.5/2.7 Library
' - OPC Automation 2.0
'
'Меню для подключения - Project ------> Referens далее выбор библиотек
'*********************************************************************************************
'Данные по показаниям датчиков сохраняются в таблицы базы данных DC1_Skl.mdb
' таблицы : - DtH значения высот считанных с датчиков
' - Vm3_Dc1 расчитанный объем руды на складе
'
' Программа должна быть запущена в работу по времени планировщиком заданий или
' периодичность работы должна быть организована объектом TIMER
'*************************************************************************************************
' MsgBox "GGGGGGGGGGGGGGGG"
'Запись состояния оборудования в базу DC1_Skl.mdb
'********* База данных DC1_Skl.mdb
Dim dc1 As New ADODB.Connection

Dim dth As ADODB.Recordset ' таблица dth (показания датчиков)
' Dim vm3 As ADODB.Recordset ' таблица vm3 (объем склада)
' Dim knv As ADODB.Recordset ' таблица Konv (конвеера)
' Dim ms1 As ADODB.Recordset ' таблица Mel_St1 (мельницы первой стадии)
' Dim ms2 As ADODB.Recordset ' таблица Mel_St2 (мельницы второй стадии)
' Dim ms3 As ADODB.Recordset ' таблица Mel_St3 (мельницы третьей стадии)
' Dim nkp As ADODB.Recordset ' таблица N_K_P_D (нагнетатели, компрессоры,пульпонасосная)
' Dim dh2 As ADODB.Recordset ' таблица D_H2O (давление воды)
' Dim svs As ADODB.Recordset ' таблица SG_VF_SB (сгустители, вакумм-фильтры, сушильные барабаны)
'*************************************************
dc1.Open "DSN=DC1_Skl" 'открыть базу данных DC1_Skl.mdb

' открыть набор записей (таблицу DTH) (показания датчиков)
Set dth = New ADODB.Recordset
' оптимистическая блокировка
dth.CursorType = adOpenKeyset
dth.LockType = adLockOptimistic
dth.Source = "Dth" ' имя источника данных таблица Drob_KC
dth.ActiveConnection = dc1
dth.Open
dth.MoveLast

'***************************************************************************************************************************************
'***************************************************************************************************************************************
'***** ОРС сервер **********
Dim isready As Boolean 'Признак готовности к переходу в режим Исполнение
Dim bserverStarted As Boolean 'Признак наличия соединения с ОРС-группой

'Объекты доступа ОРС Automation 2.0
Dim opcserverObj As OPCServer 'OPC-сервер
Dim GroupsCollectionObj As OPCGroups 'коллекция ОРС-групп
Dim OpcGroupObj As OPCGroup 'отдельная ОРС-группа
Dim itemsCollectionObj As OPCItems 'коллекция элементов данных

'массив идентификаторов клиента
Dim ClientHandles(58) As Long
'массив идентификаторов сервера
Dim ServerHandles() As Long
'массив ошибок, заполняемый в процессе работы с объектами доступа
Dim Errors() As Long
'Массив ,в котором будут находится считанные значения ОРС-элементов данных
Dim Readvalue() As Variant
'Массив начальных значений ОРС-элементов данных
'которые определяют начальные условия процесса
' Dim WriteValues(171) As Variant
'Признак необходимости установки правильных начальных условий
' Dim WriteRequired As Boolean
'Массив признаков качества сигналов (ОРС Quality)
Dim pQuality As Variant
'Массив меток времени сигналов (OPC timestamp)
Dim pTimeStamp As Variant
'Массив имен элементов данных
Dim ItemIDs(58) As String
'Массив путей доступа к элементам данных
Dim AccessPaths(58) As String
'Массив флагов активности элементов данных
Dim Active(58) As Boolean
'Количество элементов данных
Dim ItemCount As Integer
'счётчик, просто счётчик
Dim i As Integer
'Количество элементов данных
Dim maxItems As Integer
'Признак отсутствия каких-либо элементов данных
Dim bInvalidItems As Boolean

'Сброс признака готовности к запуску
isready = False
maxItems = 58

'Создание объекта доступа к серверам ОРС
Set opcserverObj = New OPCServer

'Установление соединения с ОРС-сервером
opcserverObj.Connect ("Fastwel.PLCNETOPC")

'Проверка успешности соединения с сервером ОРС
If TypeName(opcserverObj) = TypeName(Nothing) Then Return

' Создание группы на сервере

'Получение коллекции ОРС-групп
Set GroupsCollectionObj = opcserverObj.OPCGroups

'Добавление элемента в коллекцию ОРС-групп
Set OpcGroupObj = GroupsCollectionObj.Add("Group one")

'Получение коллекции элементов данных в добавлениной группе
Set itemsCollectionObj = OpcGroupObj.OPCItems


ItemCount = 0 ' счетчик
'Подготовка массивов,используемых при добавлении элементов данных в группу
For i = 1 To maxItems
Active(i) = True
ItemCount = ItemCount + 1
ClientHandles(ItemCount) = i
AccessPaths(ItemCount) = ""
Next i
'********************* база DC1_Skl.mdb *********************
' запись значений в таблицу DTH

'*****подготовка массива ItemIDs(48) с именами тегов OPC *****
' имена тегов для таблицы DTH
ItemIDs(1) = "dispn.01.AI100" ' dt1 - датчик 1
ItemIDs(2) = "dispn.01.AI101" ' dt2 - датчик 2
ItemIDs(3) = "dispn.01.AI102" ' dt3 - датчик 3
ItemIDs(4) = "dispn.01.AI103" ' dt4 - датчик 4
ItemIDs(5) = "dispn.01.AI104" ' dt5 - датчик 5
ItemIDs(6) = "dispn.01.AI105" ' dt6 - датчик 6
ItemIDs(7) = "dispn.01.AI106" ' dt7 - датчик 7
ItemIDs(8) = "dispn.01.AI107" ' dt8 - датчик 8
ItemIDs(9) = "dispn.01.AI108" ' dt9 - датчик 9
ItemIDs(10) = "dispn.01.AI109" ' dt10 - датчик 10
ItemIDs(11) = "dispn.01.AI110" ' dt11 - датчик 11
ItemIDs(12) = "dispn.01.AI111" ' dt12 - датчик 12
ItemIDs(13) = "dispn.01.AI112" ' dt13 - датчик 13
ItemIDs(14) = "dispn.01.AI113" ' dt14 - датчик 14
ItemIDs(15) = "dispn.01.AI114" ' dt15 - датчик 15
ItemIDs(16) = "dispn.01.AI115" ' dt16 - датчик 16
ItemIDs(17) = "dispn.01.AI116" ' dt17 - датчик 17
ItemIDs(18) = "dispn.01.AI117" ' dt18 - датчик 18
ItemIDs(19) = "dispn.01.AI118" ' dt19 - датчик 19
ItemIDs(20) = "dispn.01.AI119" ' dt20 - датчик 20
ItemIDs(21) = "dispn.01.AI120" ' dt21 - датчик 21
ItemIDs(22) = "dispn.01.AI121" ' dt22 - датчик 22
ItemIDs(23) = "dispn.01.AI122" ' dt23 - датчик 23
ItemIDs(24) = "dispn.01.AI123" ' dt24 - датчик 24

ItemIDs(25) = "dispn.01.AI200" ' dt25 - датчик 25
ItemIDs(26) = "dispn.01.AI201" ' dt26 - датчик 26
ItemIDs(27) = "dispn.01.AI202" ' dt27 - датчик 27
ItemIDs(28) = "dispn.01.AI203" ' dt28 - датчик 28
ItemIDs(29) = "dispn.01.AI204" ' dt29 - датчик 29
ItemIDs(30) = "dispn.01.AI205" ' dt30 - датчик 30
ItemIDs(31) = "dispn.01.AI206" ' dt31 - датчик 31
ItemIDs(32) = "dispn.01.AI207" ' dt32 - датчик 32
ItemIDs(33) = "dispn.01.AI208" ' dt33 - датчик 33
ItemIDs(34) = "dispn.01.AI209" ' dt34 - датчик 34
ItemIDs(35) = "dispn.01.AI210" ' dt35 - датчик 35
ItemIDs(36) = "dispn.01.AI211" ' dt36 - датчик 36
ItemIDs(37) = "dispn.01.AI212" ' dt37 - датчик 37
ItemIDs(38) = "dispn.01.AI213" ' dt38 - датчик 38
ItemIDs(39) = "dispn.01.AI214" ' dt39 - датчик 39
ItemIDs(40) = "dispn.01.AI215" ' dt40 - датчик 40
ItemIDs(41) = "dispn.01.AI216" ' dt41 - датчик 41
ItemIDs(42) = "dispn.01.AI217" ' dt42 - датчик 42
ItemIDs(43) = "dispn.01.AI218" ' dt43 - датчик 43
ItemIDs(44) = "dispn.01.AI219" ' dt44 - датчик 44
ItemIDs(45) = "dispn.01.AI220" ' dt45 - датчик 45
ItemIDs(46) = "dispn.01.AI221" ' dt46 - датчик 46
ItemIDs(47) = "dispn.01.AI222" ' dt47 - датчик 47
ItemIDs(48) = "dispn.01.AI223" ' dt48 - датчик 48
ItemIDs(49) = "dispn.01.DI300" ' sk1 - сост.конв.
ItemIDs(50) = "dispn.01.DI301" ' sk2 - сост.конв.
ItemIDs(51) = "dispn.01.DI302" ' sk3 - сост.конв.
ItemIDs(52) = "dispn.01.DI303" ' sk4 - сост.конв.
ItemIDs(53) = "dispn.01.DI304" ' sk5 - сост.конв.
ItemIDs(54) = "dispn.01.DI305" ' sk6 - сост.конв.
ItemIDs(55) = "dispn.01.DI306" ' sk7 - сост.конв. 7
ItemIDs(56) = "dispn.01.DI307" ' sk8 - сост.конв. 9
ItemIDs(57) = "dispn.01.DI308" ' sk9 - сост.конв. 6
ItemIDs(58) = "dispn.01.DI309" ' sk10 - сост.конв. 8


'Добавление элементов данных в группу
itemsCollectionObj.AddItems ItemCount, ItemIDs, ClientHandles, ServerHandles, Errors, pQuality, pTimeStamp

'Проверка конфигурации сервера
For i = LBound(Errors) To UBound(Errors)
If Errors(i) <> 0 Then
bInvalidItems = True
Exit For
Else
bInvalidItems = False
End If
Next i

bserverStarted = True
' WriteRequired = False

If bInvalidItems = False Then
' Синхронное чтение значений элементов данных в группе
OpcGroupObj.SyncRead OPCCache, ItemCount, ServerHandles, Readvalue, Errors
isready = True
End If

' запись значений в таблицу Dth
' дробилки крупного дробления
dth.Fields("dt1") = Readvalue(1)
dth.Fields("dt2") = Readvalue(2)
dth.Fields("dt3") = Readvalue(3)
dth.Fields("dt4") = Readvalue(4)
dth.Fields("dt5") = Readvalue(5)
dth.Fields("dt6") = Readvalue(6)
dth.Fields("dt7") = Readvalue(7)
dth.Fields("dt8") = Readvalue(8)
dth.Fields("dt9") = Readvalue(9)
dth.Fields("dt10") = Readvalue(10)
dth.Fields("dt11") = Readvalue(11)
dth.Fields("dt12") = Readvalue(12)
dth.Fields("dt13") = Readvalue(13)
dth.Fields("dt14") = Readvalue(14)
dth.Fields("dt15") = Readvalue(15)
dth.Fields("dt16") = Readvalue(16)
dth.Fields("dt17") = Readvalue(17)
dth.Fields("dt18") = Readvalue(18)
dth.Fields("dt19") = Readvalue(19)
dth.Fields("dt20") = Readvalue(20)
dth.Fields("dt21") = Readvalue(21)
dth.Fields("dt22") = Readvalue(22)
dth.Fields("dt23") = Readvalue(23)
dth.Fields("dt24") = Readvalue(24)
dth.Fields("dt25") = Readvalue(25)
dth.Fields("dt26") = Readvalue(26)
dth.Fields("dt27") = Readvalue(27)
dth.Fields("dt28") = Readvalue(28)
dth.Fields("dt29") = Readvalue(29)
dth.Fields("dt30") = Readvalue(30)
dth.Fields("dt31") = Readvalue(31)
dth.Fields("dt32") = Readvalue(32)
dth.Fields("dt33") = Readvalue(33)
dth.Fields("dt34") = Readvalue(34)
dth.Fields("dt35") = Readvalue(35)
dth.Fields("dt36") = Readvalue(36)
dth.Fields("dt37") = Readvalue(37)
dth.Fields("dt38") = Readvalue(38)
dth.Fields("dt39") = Readvalue(39)
dth.Fields("dt40") = Readvalue(40)
dth.Fields("dt41") = Readvalue(41)
dth.Fields("dt42") = Readvalue(42)
dth.Fields("dt43") = Readvalue(43)
dth.Fields("dt44") = Readvalue(44)
dth.Fields("dt45") = Readvalue(45)
dth.Fields("dt46") = Readvalue(46)
dth.Fields("dt47") = Readvalue(47)
dth.Fields("dt48") = Readvalue(48)
dth.Fields("sk1") = Readvalue(49)
dth.Fields("sk2") = Readvalue(50)
dth.Fields("sk3") = Readvalue(51)
dth.Fields("sk4") = Readvalue(52)
dth.Fields("sk5") = Readvalue(53)
dth.Fields("sk6") = Readvalue(54)
dth.Fields("sk7") = Readvalue(55)
dth.Fields("sk8") = Readvalue(56)
dth.Fields("sk9") = Readvalue(57)
dth.Fields("sk10") = Readvalue(58)
dth.Update ' записать
dth.Close


' ************
If TypeName(opcserverObj) <> TypeName(Nothing) Then
'Удаление всех добавленных ОРС-групп из коллекции
GroupsCollectionObj.RemoveAll
'отсоединение от сервера
opcserverObj.Disconnect
bserverStarted = False
End If

'закрыть базу данных DC1_Skl.mdb
dc1.Close

' освободить область памяти
Set dth = Nothing
'
Set dc1 = Nothing

'освобождение объектов
Set opcserverObj = Nothing
Set GroupsCollectionObj = Nothing
Set OpcGroupObj = Nothing

Beep
Beep
Beep

If Not isready Then
MsgBox "Ошибка в конфигурации сервера или сервер не установлен"
'Переключение Экранной формы в режимРазработка
'ThisDisplay.ToggleRuntime
End If

End Sub



А надо напрямую с Лиса.
...
Рейтинг: 0 / 0
VFP и OPC сервера
    #33108459
qwertyqwerty
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Прога на VFP не сильно будет отличаться от VB.
VFP так же как и VB умеет работать с объектами, в том числе и с COM.

Не понял, какая здесь проблема???!!!
...
Рейтинг: 0 / 0
VFP и OPC сервера
    #33108680
leaf
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
лежит пьяный в умат мужик мордой в луже носом пузыри пускает
Подходит дочка.
- Папа, папа почини куклу
Мужик так морду из лужи приподнял и говорит
- Ну да счас усё брошу пойду фигней заниматься

Уважаемый тока без обид, но на вашу задачку дня угробить мало. Тем более что таковой сервер у Вас имеется, а у нас вряд ли у кого оно есть
Задачка дюже экзотическая хотя может повезет найдется опытный, но вероятность мала?
А вообще пример у Вас есть, эт без разницы что на другом языке, что Вам еще надо?
...
Рейтинг: 0 / 0
VFP и OPC сервера
    #33108718
leaf
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Вы бы посидели и подумали выжали тему и прислали более конкретный вопрос тогда когда трудности возникнут конкретные
...
Рейтинг: 0 / 0
Период между сообщениями больше года.
VFP и OPC сервера
    #34019732
Worman
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Получал.
Работал с Rockwell'овским RSLinx и Siemens'овским OPC.SimaticNet.
Сформулируй вопрос конкретнее - постараюсь помочь.
...
Рейтинг: 0 / 0
VFP и OPC сервера
    #34019749
PaulWist
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
WormanПолучал.
Работал с Rockwell'овским RSLinx и Siemens'овским OPC.SimaticNet.
Сформулируй вопрос конкретнее - постараюсь помочь.

Друг, ты на дату топика посмотри.
...
Рейтинг: 0 / 0
VFP и OPC сервера
    #34019963
Worman
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Упс =)
...
Рейтинг: 0 / 0
VFP и OPC сервера
    #34020568
2006
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
За окном 2006 год, а народ занимается "онанизмзм".. до сих пор. Я с этим боролся сперва, потом бросил. БЕСПОЛЕЗНО!
Удачи.
P.S почитай посты Сергея Ch на тему Web- сервисов.
P.S2: На фоксе их не пиши, пиши на ASP.NET+C#.. хотя это дело вкуса.
...
Рейтинг: 0 / 0
VFP и OPC сервера
    #34020847
археологи :)
...
Рейтинг: 0 / 0
VFP и OPC сервера
    #34023532
localhost
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
2006
Я с этим боролся сперва

а почему, собственно?
Вы думаете VFP как OPC-клиент, в чём-либо уступит WinCC или ProTool от Siemens?
В скорости разработки - VFP выиграет раз в 100!
Конечно, там где "без компромиссов" выбирают InTouch Wonderware - но это уже другая история...


Worman
Работал с Rockwell'овским RSLinx и Siemens'овским OPC.SimaticNet.

да? очень интересно!
а что делали - только читали значения тегов или управляющие воздействия передавали тоже?
какая задача ставилась: сделать человеко-машинный интерфейс SCADA системы,
или интегрировали данные АСУТП в управленческий учёт.
С какими проблемами пришлось столкнуться?
Честно говоря, интересны любые подробности.

Спасибо.
...
Рейтинг: 0 / 0
VFP и OPC сервера
    #34062839
localhost
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
up
...
Рейтинг: 0 / 0
VFP и OPC сервера
    #34153101
sn175
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
localhost

Worman
Работал с Rockwell'овским RSLinx и Siemens'овским OPC.SimaticNet.

да? очень интересно!
а что делали - только читали значения тегов или управляющие воздействия передавали тоже?
какая задача ставилась: сделать человеко-машинный интерфейс SCADA системы,
или интегрировали данные АСУТП в управленческий учёт.
С какими проблемами пришлось столкнуться?
Честно говоря, интересны любые подробности.


С RSLinx без проблем можно работать через DDE. А VFP легко работает с DDE. Видел код проги на VFP, которая через RSLinx читала-писала данные в Rockwell'овский контроллер. Единственная возможная проблема - 8 или 9 версия VFP (не помню точно) под WinXP иногда тормозит.
Вообще, обычно обрудование АСУТП и SCADA системы поддерживают работу через DDE.
Можно посмотреть в этом направлении. Примеры работы с оборудованием через DDE обычно идут в его поставке.
...
Рейтинг: 0 / 0
16 сообщений из 16, страница 1 из 1
Форумы / FoxPro, Visual FoxPro [игнор отключен] [закрыт для гостей] / VFP и OPC сервера
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]