Как решить проблемы с отсутствующими драйверами IoT на ПЛК - PullRequest
0 голосов
/ 04 июня 2019

Я написал фрагмент кода для настройки связи MQTT, очень похожий на https://infosys.beckhoff.com/english.php?content=../content/1033/tf6701_tc3_iot_communication_mqtt/54043198920281355.html&id=, и протестировал его с помощью виртуального ПЛК. Работает отлично. Сейчас я пытаюсь запустить тот же код на ПЛК Beckhoff (CX5010). На этом ПЛК работает Windows Embedded CE 6.0.

Первая проблема, с которой я столкнулся, заключалась в том, что, когда я активировал конфигурацию и перезапустил TwinCAT в режиме работы, он все еще находился в режиме конфигурации. Я раскомментировал свою программу MQTT в основной программе, и после этого она запустилась в режиме запуска после активации конфигурации. Когда комментируется программа MQTT, у меня есть только главный счетчик (чтобы проверить, работает ли ПЛК).

Итак, следующее, что я попробовал, - это перезапуск ПЛК в режиме работы, когда была прокомментирована программа MQTT. Когда ПЛК был перезапущен в режиме работы, я раскомментировал программу MQTT в основном и вошел в систему с загрузкой, я получил ошибку «TcSysSrv (10000): Ошибка запуска сервера TCIOTDRIVERSW32.dll. Ошибка Win32 (0x0000007e).». Код моей программы MQTT показан ниже.

PROGRAM PrgMqtt
VAR
    fbMqttClient    : FB_IotMqttClient; // MQTT client
    bSetParameter   : BOOL := TRUE; // set parameters once at start up
    bConnect        : BOOL := TRUE; // if TRUE it will trigger MQTT client cyclically
END_VAR

// set parameters once when connecting to the mqtt broker
IF bSetParameter THEN
    bSetParameter               := FALSE;
    fbMqttClient.sHostName      := '172.16.1.51';
    fbMqttClient.nHostPort      := 1883;
    fbMqttClient.sTopicPrefix   := ''; 
    fbMqttClient.ipMessageQueue := fbMessageQueue;
END_IF

// MQTT client must be triggered cyclically
fbMqttClient.Execute(bConnect);

Самым странным является то, что код фактически запускается после входа в систему (он не подключается к брокеру MQTT, но все еще выполняется). Я очень смущен прямо сейчас. Как обновить драйверы IoT?

1 Ответ

0 голосов
/ 04 июня 2019

Я решил проблему, обновив встроенные Windows и TwinCAT 3.

...