Obsidean_VM/01-Documentation/Inverters/Lenze/Lenze i550 protec - Telegra...

4.7 KiB

Default IP: ==192.168.124.1== with the switch X1 in 1 and the X16 in 0

!Pasted image 20241106112808.png

Output:


_400B_1_AC_Drv_Ctrl_Word (Control Word):

Bit Función Descripción
0 Run forward (CW) 1 = Run forward, 0 = Stop
1 Run reverse (CCW) 1 = Run reverse, 0 = Stop
2 Reset error 0->1 edge: Reset error
3 Reserved -
4 Reserved -
5 Activate network control 1 = Network control, 0 = Local control
6 Activate network setpoint 1 = Network setpoint, 0 = Local setpoint
7 Reserved -
8 Reserved -
9 Reserved -
10 Reserved -
11 Reserved -
12 Disable inverter 1 = Disable inverter, 0 = Enable inverter
13 Activate quick stop 1 = Activate quick stop, 0 = Deactivate quick stop
14 Disable PID controlling 1 = Disable PID, 0 = Enable PID
15 Activate DC braking 1 = Activate DC braking, 0 = Deactivate DC braking

page 356: !Pasted image 20241021163812.png

Input:


_400C_1_AC_Drv_Stat_Word (Status Word):

Bit Función Descripción
0 Fault/Trip active 1 = Fault active, 0 = No fault
1 Warning active 1 = Warning active, 0 = No warning
2 Running forward 1 = Running forward, 0 = Not running forward
3 Running reverse 1 = Running reverse, 0 = Not running reverse
4 Ready 1 = Ready, 0 = Not ready
5 Network control active 1 = Network control active, 0 = Local control active
6 Network setpoint active 1 = Network setpoint active, 0 = Local setpoint active
7 At Reference 1 = At reference speed, 0 = Not at reference speed
8 Profile-State bit 0 Profile state (see note below)
9 Profile-State bit 1 Profile state (see note below)
10 Profile-State bit 2 Profile state (see note below)
11 Profile-State bit 3 Profile state (see note below)
12 Process controller active 1 = PID active, 0 = PID inactive
13 Torque mode active 1 = Torque mode active, 0 = Speed mode active
14 Current limit reached 1 = Current limit reached, 0 = Current below limit
15 DC braking active 1 = DC braking active, 0 = DC braking inactive

Nota sobre los bits de Profile-State (8-11): Estos bits codifican el estado del perfil del drive:

  • 0: Manufacturer-specific (reservado)
  • 1: Startup (inicialización del drive)
  • 2: Not_Ready (voltaje principal apagado)
  • 3: Ready (voltaje principal encendido)
  • 4: Enabled (drive ha recibido comando de marcha)
  • 5: Stopping (drive ha recibido comando de parada y está deteniéndose)
  • 6: Fault_Stop (drive está detenido debido a una falta)
  • 7: Faulted (han ocurrido faltas)

page 357: !Pasted image 20241021163838.png

Setup on Rockwell


!Pasted image 20241111140210.png

!Pasted image 20241111140305.png

!Pasted image 20241111140409.png

!Pasted image 20241111140129.png

AOI for Rockwell :



// 
// Motor Protocol for Lenze 550i protec - Firmware 7.xx - mav - v0.1 - 11.2024
//

// From Drive:
// *************************
// 400C.0 : Fault/Trip
// 400C.1 : Warning active
// 400C.2 : Running Fordward
// 400C.3 : Running reverse
// 400C.4 : Ready
// 400C.13 : Current limit reached
// 400C.14 : DC breaking active

// To Drive:
// ***************************
// 400B.0 : Run Fodrward
// 400B.1 : Run reverse
// 400B.2 : Reset
// 400B.5 : Activate network
// 400B.6 : Activate setpoint
// 400B.12 : Disable inverter
// 400B.13 : Activate quick stop
// 400B.15 : Activate DC breaking

//Plc->Drive: start command forward
IO_Drive.Telegram.Q._400B_1_AC_Drv_Ctrl_Word.0 := IO_Drive.Fw;

//Plc->Drive: start command reverse
IO_Drive.Telegram.Q._400B_1_AC_Drv_Ctrl_Word.1 := IO_Drive.Bw;

//Plc->Drive: reset fault command
IO_Drive.Telegram.Q._400B_1_AC_Drv_Ctrl_Word.2 := IO_Cycle.I.PbReset;
if IO_Cycle.I.PbReset then 
	IO_Drive.Alarm:=0;
end_if;

//Plc->Drive: activate network control
IO_Drive.Telegram.Q._400B_1_AC_Drv_Ctrl_Word.5 := IO_Drive.Fw or IO_Drive.Bw;

//Plc->Drive: activate network setpoint
IO_Drive.Telegram.Q._400B_1_AC_Drv_Ctrl_Word.6 := not IO_Drive.ExternalSpeed and (IO_Drive.Fw or IO_Drive.Bw);

//Plc->Drive: speed command value (converting Hz to RPM for the drive)
IO_Drive.VToInv := IO_Drive.VToDrive_Hz * 30; // Convert Hz to RPM (assuming 120Hz = 2436 RPM)
IO_Drive.Telegram.Q._400B_4_Net_Spd_Stpnt_RPM := IO_Drive.VToInv;

//Drive->Plc: drive fault
if not IO_Drive.Alarm then
	IO_Drive.Alarm := IO_Drive.Telegram.I._400C_1_AC_Drv_Stat_Word.0 OR IO_Drive.Telegram.I.ConnectionFaulted;
end_if;

//Drive->Plc: drive running
IO_Drive.Running := not IO_Drive.Telegram.I.ConnectionFaulted and (IO_Drive.Telegram.I._400C_1_AC_Drv_Stat_Word.2 OR IO_Drive.Telegram.I._400C_1_AC_Drv_Stat_Word.3);

//Drive->Plc: actual speed (converting RPM from drive to Hz)
IO_Drive.VFromInv := IO_Drive.Telegram.I._400C_4_Actual_Speed_RPM / 30; // Convert RPM to Hz