Мой проект касается написания OPC UA-клиента для чтения и записи переменных на OPC UA-сервере Siemens PLC.Я использую Visual Studio 2017 Enterprise и установил Quick OPC Toolkit из OPClabs, чтобы начать работу и попытаться подключиться.Для программирования клиента я использую Windows Forms и C #.Соединение с сервером и чтение переменных работает просто отлично, но написание их вызывает у меня головную боль:
1.) Прежде чем приступить к программированию самостоятельно, я скачал образец клиента OPC UA из OPC Foundation (есликому-то нужна ссылка для скачивания, просто спросите, загрузку найти сложно).Я подключился к серверу и мог просматривать переменные, но функция записи была серой / недоступной.
2.) Я начал программировать очень простой клиент, но также не смог записать переменные.Чтение через Live Binding (http://opclabs.doc -that.com / files / onlinedocs / QuickOpc / 2018.2 / Пользователь% 27s% 20Guide% 20and% 20Reference-QuickOPC / webframe.html # Создание% 20a% 20first% 20OPC% 20UA%20application% 20using% 20Live% 20Binding.html ) работает, также читает их с помощью easyUAClient.Read ().Я пытался написать переменную с этим кодом:
namespace ErsteOPCUAVerbindung{
public partial class Form1 : Form
{
public Form1()
{
InitializeComponent();
}
private void button1_Click(object sender, EventArgs e)
{
var easyUAClient = new EasyUAClient();
easyUAClient.WriteValue("opc.tcp://OpcUaClient:password@192.168.216.1:4840/", "nsu=SinumerikVarProvider;ns=2;s=/NC/_N_NC_TEA_ACX/$MN_PLC_CYCLIC_TIMEOUT", 1);
}
}}
, но получаю исключение:
OpcLabs.EasyOpc.UA.OperationModel.UAException: «Ошибка операции OPC-UA спроизошел код ошибки -2144010240 (0x80350000), происходящий из «OpcLabs.EasyOpcUA». Внутренняя исключительная ситуация службы OPC-UA с результатом службы «BadAttributeIdInvalid» содержит сведения о проблеме. "
{" Результат службы OPC-UA- Произошла ошибка, специфичная для службы OPC-UA. \ R \ n ---- РЕЗУЛЬТАТ СЕРВИСА ---- \ r \ nStatusCode: {BadAttributeIdInvalid} = 0x80350000 (2150957056) \ r \ n "}
Я понятия не имею, что вызывает это.Я подозревал, что, возможно, причиной является какое-то ограничение доступа, но я не могу найти никаких намеков на это в документации, и, кроме того, я вошел в систему как администратор.
У кого-нибудь есть идея?Спасибо.