Я только что проверил проект Eclipse Milo (https://projects.eclipse.org/proposals/milo), который, кажется, отличный проект для «открытого» OPC UA Client/Server даже с реализованным стеком OPC. Проект github (https://github.com/eclipse/milo) содержит пример Hello World, в котором запускается OPC-сервер, и примерный узел отправляется и принимается от клиента. Все работает отлично!Конфигурация OPC UA Server (Milo)?
Но на следующем шаге я хотел проверить, правильно ли настроен сервер. Поэтому я установил Matrikon Explorer, но Explorer указывает «Нет OPC-серверов, установленных на этом компьютере» сразу после запуска (хотя пример приветствия с работающим OPC-сервером работает, конечно).
Также проверяется, если SAP Plant Connectivity является признание OPC-сервер (который является целью моего проекта) -> «не найдено ни одного OPC-сервера в вашей системе/локальный»
Где моя проблема, что мне должны ли они правильно установить и настроить сервер?
Вот пример Hello World:
public static void main(String[] args) throws Exception {
// Start server
int port = 12686;
String serverName = "test-server";
OpcUaServerConfig serverConfig = OpcUaServerConfig.builder()
.setBindPort(port)
.setCertificateManager(new DefaultCertificateManager())
.setCertificateValidator(new DefaultCertificateValidator(createTempDir()))
.setServerName(serverName)
.setUserTokenPolicies(singletonList(USER_TOKEN_POLICY_ANONYMOUS))
.build();
OpcUaServer server = new OpcUaServer(serverConfig);
server.getNamespaceManager().registerAndAdd(
"urn:eclipse:milo:opcua:test-namespace",
idx -> new HelloNamespace());
server.startup();
while(true){
System.out.println("server running");
}
}
Спасибо за очень быстрый и полезный ответ. Как вы можете заметить, я вроде как новичок @ OPC-архитектуры. Некоторые исследования OPC-COM/DA и OPC-UA теперь ... – Martin
... Моя текущая проблема: я настроил OPC-сервер как исходную систему в SAP Plannt Connectivity (он поддерживает общие операционные системы как источник системы). Я сконфигурировал конечную точку сервера как «opc.tcp: // localhost: 12686/test-server». Проверяя соединение, сервер, похоже, распознается, но он заявляет: «Сервер не возвратил EndpointDescription, который соответствовал тому, который использовался для создания защищенного канала». Является ли это проблемой с моей конфигурацией сервера Milo или является более вероятной проблемой на стороне SAP? Вы знаете такую ошибку или какие-либо предложения по ее устранению? – Martin
Ошибки, подобные этому, обычно можно фиксировать с обеих сторон. В принципе, вы установили свой пример для привязки к localhost, но SAP подключается через какой-то другой IP-адрес и замечает несоответствие. Иногда этого нельзя избежать, например, когда вы подключаетесь к удаленному серверу, на котором используется внешний IP-адрес, который вы не можете связать. В этом случае вы, вероятно, можете просто изменить конфигурацию Milo, чтобы включить дополнительные адреса для привязки. Вызывайте 'setBindAddresses' при создании конфигурации сервера. –