Høgskolen i Buskerud: Fag SESM3401 Styring av mekatroniske systemerSemesteroppgave:PLS-programmeringHva oppgaven handler omI denne oppgaven skal PLS'en Mitsubishi FX2N benyttes for PID-regulering av en likestrømsmotor. PLS'en har da tilkoplet en tilleggsmodul for analog I/O. PLS'en skal også brukes til å starte og stoppe motoren. Utstyr
Informasjon om AI- og AO-funksjoner og om PID-funksjonenDere må lese igjennom denne informasjonen før dere begynner å arbeide med oppgavene nedenfor. Informasjon om AI (analog inn) og AO (analog ut) med FX0N-3A i GX IEX Developer I
denne brukerveiledningen står det at man skal bruke funksjonene RD3A_M (RD =
read) for AI-operasjoner og WR3A_M (WR = write) for AI-operasjoner. Problemet
er imidlertid at disse funksjonene ikke virker på alle FX2N-versjoner!
Mitsubishi har imidlertid laget en funksjonsblokk kalt FX0N_3A som
sikkert virker. Den er tilgjengelig som én av funksjonsblokkene i et User
Library kalt AnalogFX, som er tilgjengelig som en selvutpakkende exe-fil
med navn AnalogFX.exe. Dere kan laste ned filen fra
http://www.beijer.no (søk der etter f.eks.
"analog fx", og den aktuelle treffteksten er Når du bruker FX0N_3A-funksjonen i en POU, må du først opprette en instans ("kopi") av funksjonen i POU'ens header. Dette gjøres ved å deklarere i headeren en lokal variabel med fritt valgt navn, f.eks. AI_AO_FX0N_3A med datatype (Type) FX0N_3A. Figur 1 viser headeren i et eksempel på en POU. Datatypen velges ved å klikke seg fram til FX0N_3A-funksjonen via knappen med tre prikker i figur 1. Figur 1 viser også hvordan funksjonen kan tas i bruk i en POU. D0, D1 og D2 dataceller (som brukeren fritt kan ta i bruk fritt). M0 er en boolsk datacelle, som her gir staturinformasjon. I eksempelet skrives verdien 100 (integer = heltall) til enhetens AO-kanal, og det avleses verdier fra enhetens to AI-kanaler. Både AO og AI utføres her med én og samme funksjon. (Datacellene kan benyttes i tilknytninger til funksjoner andre steder i PLS-programmet.) Både AI- og AO-verdiene representeres som heltall i området 0 - 255, tilsvarende 0 - 10V (evt. 4 - 20mA for strømsignal). Du kan endre verdien av D0-cellen ved å dobbelklikke på D0 mens programmet kjører (du får da opp et vindu der du kan angi verdien, og deretter får du spørsmål om du vil overføre den nye verdien til PLS'en).
Figur 1: FX0N_3A-funksjonen Det er nødvendig å definere minneceller el.l. til alle terminalene AnalogOutput, AnalogInputCh1 og AnalogInputCh2, selv om du faktisk ikke bruker alle disse terminalene i funksjonskallet. Informasjon om PID-funksjonen PidFX i GX IEX DeveloperMitsubishi har laget en funksjonsblokk kalt PidFX, som er tilgjengelig i et User Library kalt PidFX, som er tilgjengelig som en selvutpakkende exe-fil med navn PidFx.exe. Dere kan laste ned exe-filen fra http://www.beijer.no (søk etter f.eks. "pid fx2n"). Den selvutpakkende filen inneholder også hjelp-filen PidFX.chm. Installering og bruk av et nedlastet (og utpakket) User Library (funksjonsblokker og hjelp-fil) er beskrevet i kap. 4.6 i Manual for GX IEC Developer. Når du bruker PIDFx-funksjonen i en POU, må du først opprette en instans av funksjonen i POU'ens header. Dette gjøres helt tilsvarende som for FX0N_3A-funksjonen, jf. beskrivelsen ovenfor. Hjelp-filen PidFX.chm gir informasjon om hvilke verdier som kan angis på de enkelte inngangene på PidFX-blokken, men for å komme litt raskere i mål, gjengir jeg her konfigurering av blokken slik en studentgruppe ved HiBu gjorde det i en laboppgave høsten 2005:
Figur 2: PidFX-funksjonen Oppgaver
Oppdatert 23.10.06 av Finn Haugen, faglærer. E-postadresse: finn@techteach.no). |