альтернативный подход: Предпосылкой является установка поставщика PI OLEDB.
Затем перейдите к http://phplens.com/adodb/index.html и установите библиотеку ADODB для php, как указано. Также есть некоторая вводная информация о библиотеке.
Следующим шагом было сгенерировать UDL (сохранить пустой текстовый файл с расширением '.udl'), а затем дважды щелкнуть по нему, чтобы открыть диалоговое окно Свойства канала передачи данных. На вкладке «Поставщик» выберите «Поставщик PI OLE DB». В разделе «Тип подключения» введите имя вашего сервера pi в текстовом поле «Источник данных». Вам также необходимо настроить информацию для входа в систему, уникальную для вашего сервера. Для этой разработки я использовал «piarchive» как мой «исходный каталог для использования». После успешного [Тестовое соединение] вы можете нажать [OK].
Затем щелкните правой кнопкой мыши по UDL и откройте его с помощью блокнота или любого текстового редактора. Выберите и скопируйте строку подключения (например, «Provider = PIOLEDB.1 ;. и т. Д.»).
Далее приведен код, который я использовал для создания небольшой таблицы значений для тега CDT158 и соответствующего массив. в моей версии развития я поместил этот код между тегами.
<?php
include("adodb/adodb.inc.php");
$connection = new COM("ADODB.Connection") or die("Cannot start ADO");
// PI OLEDB (UDL) connection string.
$connection->Open("Provider=PIOLEDB.1;Initial Catalog=piarchive;
Data Source=yourPIServerNameHere;Persist Security Info=False");
$result_set = $connection->Execute("
SELECT tag, TIME, value
FROM picomp
WHERE TIME >= '*-90m' AND tag = 'cdt158'
");
$result_count = 0;
$labels = array();
while (!$result_set->EOF)
{ print $result_set->fields[0].' | '.$result_set->fields[1].' | '.$result_set->fields[2].'<br />';
array_push($labels, "{$result_set->fields[1]}");
$result_count = $result_count +1;
$result_set->MoveNext();
}
echo "<br />The number of records retrieved is: ".$result_count."<br /><br />";
echo "<pre>";
print_r($labels); // this displays the array generated.
echo "</pre>";
$result_set->Close(); // optional
$connection->Close(); // optional
?>
вы пытались добавить доверие на вашем PI сервере? Открытый метод без параметров подключается с помощью доверенной или окна аутентификации. – codea