Low+Cost+Motion

toc Het project "Low Cost Motion" is een project wat ontstaan is door het feit doordat ieder bedrijf een eigen motion controller ontwikkelde op het moment dat een controller niet meer binnen de specificatie viel. Een alternatief, om een duurder een controller te kopen, was vaak geen optie. De controller moet een specifieke taak afhandelen, wat bij een duurdere controller er vaak voor zorgde dat een hoop functionaliteit niet werd gebruikt.



Hierdoor is het idee ontwikkeld om een universele motion controller te ontwikkelen die hergeprogrammeerd kan worden op hardware niveau. De motion controller die ontwikkelt is heeft als programmeerbare unit een FPGA. Bovendien kan de controller onderdeel uit maken van een gedistribueerd netwerk door het gebrek van een ethernet-veldbus, EtherCAT.



= =

=VHDL beschrijvingen= Het beschrijven van de hardware kan met een zogeheten hardware beschrijvingstaal. Hierin zijn verschillende varianten waarvan VHDL en Verilog de meest bekende en gebruikte zijn. Verilog wordt voornamelijk in de Verenigde Staten gebruikt en VHDL in Europa, al wordt dit verschil wel steeds kleiner. Voor het Low Cost Motion project is besloten enkel met VHDL te werken. Enerzijds omdat hier al reeds ervaring mee is en anderzijds omdat de deelnemende partijen ook van VHDL gebruik maken. VHDL is de afkorting voor **V**HSIC (very high speed integrated circuit) **H**ardware **D**escription **L**anguage. Met behulp van VHDL wordt het gewenste gedrag van de hardware beschreven en kan er software matig gesimuleerd worden, voordat de implementatie plaatsvindt. Met behulp van VHDL is het eenvoudig om zeer complexe systemen te maken, omdat alle deelblokken apart te beschrijven en te simuleren zijn en deze in een later stadium in een //top-level// ontwerp aan elkaar gekoppeld kunnen worden.

Ieder blok heeft een eigen beschrijving welke bestaat uit een //entity// en een //architecture.// In de entity wordt de naam van het blok vastgelegd en worden alle in- en uitgangen beschreven met een naam en het signaaltype. Het architecture gedeelte beschrijft het gedrag van het blok en maakt gebruik van de in- en uitgangen. In de architecture kunnen meerdere processen voor komen, elk aangeduid met //process//. Een process is een sequentiële beschrijving van een bepaalde functie. Elk process dat in de architecture voorkomt werkt parallel met de andere processes. Ook is het mogelijk combinatorische functies te beschrijven. Een combinatorische functie is onafhankelijk van een kloksignaal en dergelijke waardoor deze meteen aan de uitgang reageert op veranderingen aan de ingang.

Hieronder staat de VHDL beschrijving van een simpele 1 bit opteller.



=EtherCAT=

TwinCAT
TwinCAT is het software pakket wat door Beckhoff wordt geleverd. Met TwinCAT is het mogelijk om PLC-functionaliteit te beschrijven en om een configuratie aan te maken/ in te stellen voor EtherCAT. Ten tijde van het project is er gebruik gemaakt van TwinCAT versie 2.10. In de quick tutorial die hieronder te downloaden is, wordt in het kort uitgelegd hoe een EtherCAT configuratie aangemaakt kan worden in TwinCAT 2.10.

Download the Quick Start tutorial for Twincat version 2.10



Download informatie over EtherCAT (powerpoints Beckhoff)