2017-01-27 12 views
2

Я совершенно новый в среде TwinCAT 3 и .NET. Я пытаюсь просто создать HMI с помощью кнопки и связать ее с переменной в TwinCAT 3. Я контролирую TwinCAT 3 выходную карту Beckhoff (EL2014), поэтому я создал следующую переменную с именем «Out_1» и связал ее с одним выход карты:Как связать Beckhoff TwinCAT 3 с Visual Studio HMI, созданным на C#?

Variable configuration

Переменные свойства:

enter image description here

код этой кнопки:

private void button1_Click(object sender, EventArgs e) 
{ 
    TwinCAT.Ads.TcAdsClient tcAds = new TwinCAT.Ads.TcAdsClient(); 
    tcAds.Connect(301); 

    tcAds.WriteSymbol("TIRT.Task 2.Outputs.Out1", true, 
     reloadSymbolInfo: true); 
} 

Появляется следующее сообщение:

Дополнительная информация: Ads-Error 0x710: Symbol не найден.

Неправильное имя символа, используемое для доступа к переменной, и я действительно не знаю, как это записать.

Кто-нибудь знает, как я могу получить доступ к этой переменной?

спасибо.

ответ

4

Если вы оставите «TIRT», он будет работать, например, "Task 2.Outputs.Out1".

Убедитесь, что «Создание символов» проверяется при двойном щелчке на задаче: enter image description here

+0

Спасибо, это сработало! Как получить доступ непосредственно к регистрам конкретного терминала? В моей конфигурации он позволяет мне проверять «Создать символы» только для уровня «Устройство 5 (EtherCAT), но не для конкретных тем (например, Term 5 (EL2014)). Я хотел бы получить доступ к его регистрам и контролировать напрямую выходы без создания каких-либо переменных, связанных с этими выходами. Спасибо за ваше время! – Emm

+0

Я считаю, что это невозможно или, по крайней мере, не рекомендуется. Если вы не связываете переменные IO-устройства с задачей, TwinCAT будет жаловаться на активацию, для этого требуется мастер синхронизации (переменная IO, связанная с переменной задачи). Таким образом, должна быть промежуточная задача. Хотя я никогда раньше этого не делал, возможно, вы можете создать подключение ADS к порту 11 и использовать полное имя переменной IO, которую вы можете увидеть, дважды щелкнув по ней, например: 'TIID^Устройство 1 (EtherCAT)^Срок 1 (EK1100)^Срок 2 (EL2042)^Канал 1^Выход' (без TIID). Или используйте группу индексов и смещение. – stevenv

 Смежные вопросы

  • Нет связанных вопросов^_^