donderdag, 16 juli, 2020

  •   +31 180 695 777 (NL) +32 3 297 70 07 (BE) ----------Lasal Latest Version: 0079_0----------
  •   

hans vanzijpIn Lasal Class volgfout instellen in een systeem met een DiasDrive?
Let dan goed op, want er kunnen 2 volgfout bewakingen actief zijn.

In elk servo systeem is er sprake van een volgfout, dat is het verschil tussen de gewenste- en de actuele positie. 
Bij het instellen van de volgfout in een systeem met een DiasDrive moet je met een aantal zaken rekening houden.
Er kunnen twee volgfout bewakingen actief zijn;  
1: in de drive, instelbaar met de drive parameters en 
2: in het Lasal Class project, instelbaar op de DrivePosController

Voor de instelling in de drive zijn de parameters P-PSCALE en P-PEMAX van belang.
P-PSCALE bepaalt het aantal counts per motoromwenteling. Standaard staat P-PSCALE op 16, dan zijn er 2^16 = 65536 counts per motoromwenteling. Bij absoluut encoders staat P-PSCALE vaak op 12 en zijn er 2^20 counts = 1048576 per motoromwenteling.
P-PEMAX geeft aan bij hoeveel counts de drive in Contouring Error gaat. Bij P-PSCALE op 16 en P-PEMAX op 65536 is dat één motoromwenteling. Als de actuele volgfout groter is dan P-PEMAX gaat de drive in error, bit 15 van I-STATUS (Contouring Error) wordt gezet.

Voor de bewaking in Lasal Class kan op de _DrivePosController ingesteld worden hoe de volgfout gemeten wordt, en wat de grens is:

volgfout01

Met cDragLimit wordt de grens ingesteld, in applicatie units. Op de server XW wordt de actuele volgfout weergeven in interne units, dat zijn de applicatie units, zonder inachtneming van de resolutie factor.

Met het tweede bitje van SetConf is in te stellen hoe de volgfout berekend wordt:

volgfout02

0: De volgfout die de drive heeft gemeten wordt omgerekend naar applicatie units
1: De SetPosition en ActPosition van de LMC (of CNC) as worden vergeleken.

Bij de default instelling moet de volgfout in het cyclische Varan telegram geconfigureerd zijn.

In default motorfiles is dit de configuratie:

volgfout03

De volgfout wordt dan gecombineerd met het 16 bits statuswoord. Dat houd in dat er maar 16 bits voor de volgfout beschikbaar zijn. Bij P-PSCALE op 16 is dat een hele motoromwenteling, vaak genoeg, maar bij P-PSCALE op 12 of bij gebruik van een grote reductie kan dat te weinig zijn. In dat geval is het beter om het zogenaamde extended telegram te gebruiken.
De instelling kan dan zo worden:

volgfout04

Wel moet in dan de client AxisExtend op het _DriveAxis object op 1 gezet worden:

volgfout05

Er worden dan 16 bits gebruikt voor de actuele stroom (is genoeg) en hebben we voor de volgfout 32 bits ter beschikking (+/- 2^31).
Nadeel van het gebruik van het extended telegram is wel dat de drive telegrammen op de Varan-bus langer zijn, dit zou in een systeem met veel servo-assen of een volle Varan-bus ertoe kunnen leiden dat de Varan tijd eerder vergroot moet worden.

Ons advies is om de volgfout bewaking op de _DrivePosController het krapst te zetten. Bij een overschrijding van de grens gaat de LMC as in storing en geeft dan de status Contouring Error.
De volgfout bewaking in de drive wordt dan b.v. anderhalf maal zo groot gezet (wel omrekenen naar drive counts) zodat die in principe nooit zal optreden maar als extra vangnet gebruikt wordt.
Als de drive eerder in error gaat als de LMC-as krijgt de as de status Hardware-Error en moet in de drive-status gekeken worden wat er aan de hand is. Ook moet de drive dan apart gereset worden.