2016-10-31 6 views
1

Я пытаюсь прочитать значения из ПЛК S7-1200 с использованием библиотеки s7.net plus. Когда я пытаюсь прочитать данные из блоков данных, он возвращает сообщение "WrongVarFormat". Мой код:Чтение из S7-1200 ПЛК с библиотекой s7.net plus

using (var plc = new Plc(CpuType.S71200, "192.168.1.17", 0, 0)) 
    { 
    //IP is responding 
    if (plc.IsAvailable) 
    { 
     ErrorCode connectionResult = plc.Open(); 
     //Connection successful 
     if (connectionResult.Equals(ErrorCode.NoError)) 
     { 
      //Get data 
      object b2 = plc.Read("DB1.DBD38");//This part always return "WrongVarFormat" 
     } 
    } 

Кроме того, я установил параметры PLC и я объявляю блок данных и значение, как это: S7-1200 DB1

ответ

0

Почти весь метод public object Read(string variable) обернут Try/улов и она всегда возвращает ERRORCODE .WrongVarFormat, когда удаляется любое исключение.

public object Read(string variable) 
    { 
     ... 
     try 
     { 
      ... 
     } 
     catch 
     { 
      lastErrorCode = ErrorCode.WrongVarFormat; 
      lastErrorString = "Die Variable '" + variable + "' konnte nicht entschlüsselt werden!"; 
      return lastErrorCode; 
     } 
    } 

Независимо от того, какая exeception брошено внутри примерки блока, код всегда возвращает ErrorCode.WrongVarFormat и информация об аварии теряется.

В качестве помощи в отладке, улов может быть изменен на:

catch (Exception ex) 
{ 
    Console.WriteLine("Got exception {0}\n", ex.ToString()); 
    ... 

код должен определить свой собственный класс исключения для условий ошибки WrongVarFormat. Вывод catch-catch должен улавливать только это исключение, а выражения throw в парсере адресов должны быть изменены, чтобы выбросить WrongVarFormat-Ecxeption.

Если вы не хотите изменять код библиотеки, вы можете использовать отладчик только для того, чтобы найти причину своей проблемы.

+0

Я сделал это и обнаружил, что основная ошибка "Wrong Number Received Bytes" ... – Dnate

0

Также на всякий случай проверьте конфигурацию ПЛК для разрешений. Если настройка не работает, ПЛК откажется от любых запросов.

https://www.youtube.com/watch?v=tYTjNG8YL-c