1 сентября 2011 г.

Управление моментом AX5000

Есть два пути по организации задачи управления моментом сервоусилителя серии AX5000. Первый способ — добавление с помощью TwinCAT System Manager параметра Bipolar torque limit value в таблицу MDT привода с последующей линковкой к нему программной переменной типаINT. В этом случае изменять момент можно из ПЛК-программы присваивая значение залинкованной переменной в диапазоне 0..1024.


Второй вариант — это решение "в лоб", а именно — обращение к Bipolar torque limit value с помощью функционального блока fb_SoEWrite из программной библиотеки TcEthercat.lib. Обращение к параметру осуществляется по адресу S-0-0092. В этом случае задание момента возможно в диапазоне 0..1000 (что соответствует масштабу 0..100%). Пример работы с таким блоком описан ниже.

(*Объявление функциональных блоков и переменных*)
PROGRAM MAIN
VAR
   Axis1: axis_ref;
   fbWriteTorque: FB_SoEWrite;
   iBipolarTorque: INT := 50;
END_VAR

(*Задание момента, обращение к S-0-0092*)
fbWriteTorque(
   NetId := ,
   Idn := S_0_IDN + 92,
   Element := 16#40,
   pSrcBuf := ADR(iBipolarTorque),
   BufLen := SIZEOF(iBipolarTorque),
   Execute := TRUE,
   Timeout := DEFAULT_ADS_TIMEOUT,
   Password := ,
   Axis := Axis1);
      IF NOT(fbWriteTorque.Busy) THEN
         fbWriteTorque(Axis := Axis1, Execute := FALSE);
      END_IF;


В обоих изложенных случаях, прежде чем запустить ПЛК-программу, настоятельно рекомендую деактивировать параметр Position lag monitoring привода (см. рисунок ниже) во избежание вываливания оси в ошибку при рассогласовании по позиции. А вот значение параметра Kv, отвечающего за жёсткость привода, можно менять по вкусу исходя из поставленной цели. Доступ и к тому, и к другому можно получить не только через конфигуратор, но и из ПЛК-программы. Достаточно знать адрес.

Комментариев нет:

Отправить комментарий