Automation Laboration: Överföring över PROFIBUS Inledning Sedan slutet av 80-talet har kommunikationssystemet PROFIBUS utvecklats och ökat i användning inom industrin. PROFIBUS utgör ett exempel på ett system av fältbusstyp och består egentligen av flera olika varianter. Den version som ska användas i denna laboration är PROFIBUS-DP (DP = Decentral Periferi). Denna baseras på tvåtrådsöverföring enligt RS485-standarden. På länklagernivå (nivå 2 i OSI-modellen) används i första hand master-slave-metoden som bussaccessmetod. Utrustning I laborationen används en mastermodul, Melsec FX3U-64-DP, till vilken en PLC av typ Melsec FX3U-16MR är kopplad. Slavenheten består av en modul av typ Melsec FX0N-32NT-DP kopplad ihop med en PLC av typ FX1N-24MR. Master och slav är ihopkopplade med en RS485-kabel med terminering inbyggd i kontakterna. Förberedelse Repetera det som genomgåtts om PROFIBUS på föreläsning. Genomförande Det minimala profibusnätet som beskrivits under avsnittet Utrustning skall användas för några enkla test på överföring mellan de två PLC-systemen. Förutom programmet GX IEC Developer (som använts i kursen i styr- och reglerteknik) används GX Configurator DP för konfigurering av profibusnätet. Koppla in master-plc:n till datorns 1:a COM-port (COM-A) och slav-plc:n till den 2:a (COM-B), Se till så att profibus-slavenheten har separat 24V-matning. Två gröna lysdioder ska lysa ( Power och DC ) på slavenheten för att den skall fungera ordentligt. Koppla ihop mastermodulen och slavmodulen med RS485-kabeln (lila färg). Starta programmet GX Configurator DP och skapa nytt projekt. Ange FX3U-64DP-M som modultyp. Följande vy dyker då upp: Masterns adress sätts till 0 (en masteradress bör vara 0, 1 eller 2). Kontrollera masterparametrarna genom att dubbelklicka på masterikonen.
Högerklicka någonstans i bilden och välj "Insert DP-slave". Välj från "Slave Device Group" typen PLC och välj sen FX0N-32NT-DP ur menyn "Slave Devices". Klicka OK ett par gånger. Detta ger vyn Slaven får automatiskt FDL-adressen 125 (en slavadress kan vara från 3 till 125). Dubbelklicka på slavikonen så att följande fönster dyker upp:
Dubbelklicka på "Select Modules" och välj formatet på in- och utdata till slavenheten: Här har 16-ords datamoduler valts både för in- och utdata. Efter detta val kan adressområden väljas för datamodulerna. Välj D100 för indata och D120 för utdata.
Högerklicka ute i grafen och välj "Actions -> Create POU". Detta skapar en textfil (.asc) som kan importeras till ett projekt i GX IEC Developer. Starta en instans av GX IEC Developer skapa ett projekt av typ FX / FX3U. Välj tomt projekt ("Empty Project") och gå in i "Project -> Other -> Import". Importera den.asc-fil som skapades ovan in till projektet, Välj COM-porten till 1 ("Online -> Transfer Setup -> Ports"). I projektet ingår dels en POU på IL-form (inte MELSEC IL) och dels en på ladderform. IL-POU:n innehåller kod för att hantera in- och utdata enligt konfigurationen ovan. Ladderdiagrammet innehåller däremot inget utan måste konstrueras. Uppgift 1: Lägg in ett 16-bitarsvärde på D120 (t.ex. 1234) i ladderdiagrammet. Starta upp en andra instans av GX IEC Developer avsedd för slav-plc:n. Skapa ett projekt på ladderform med COM-porten satt till COM-2. Om det bara finns en COM-port får man använda samma COM-port för både master- och slave. Detta innebär förstås att man måste växla RS422-anslutning mellan PLC:erna när så behövs (när respektive projekt uppdaterats och därför måste laddas ner till PLC). Slavadressen sattes till 125 i mastermodulens konfiguration. Nu måste samma adress sättas i slavenheten själv. För att åstadkomma detta kan "TO_M" utnyttjas:
Minnescellen M8002 får en kort puls varje gång PLC:n startas (sätts i RUN-läge). Uppgift 2: Lägg in detta som första laddersteg i slavprogrammet. För att slavenheten ska kunna fånga upp de data som av masterenheten skickats ut på bussen måste ett "FROM_M"-funktionsblock utnyttjas. Uppgift 3: Lägg in ett laddersteg som läser in de 16 bytes som ligger först i profibusbufferten till 16-bitarsminnet D100 (i slav-plc:n). Som enable kan M8000 nyttjas eftersom den aktiveras vid RUN. Observera att varje 16-bitars-ord fyller upp ett D-register i slaven på detta sätt så att 16-bitars-minnena D100-D115 fylls upp med värden över profibussen. Uppgift 4: Överför PLC-programmen till respektive PLC. Högerklicka sen i Configurator-bilden och gör "Actions -> Access Master Module". Efter kontakt med mastern etablerats gör en "Download.". Detta ger upphov till en förfrågan efter namn på förbindelsen. Sätt vad som helst t.ex. "a". Välj FX-typ vid förfrågan om typ. Starta därefter DP-trafiken (samma meny: "Start/Stop DP"). Välj slavenhetens ladderdiagramfönster och aktivera "Monitor"-funktionen i detta. Kontrollera om slavenhetens D100 får rätt värde över profibusförbindelsen. När väl ett vanligt 16-bitarsvärde klarat sig helskinnat från master till slav. kan ytterligare tester genomföras. Uppgift 5: Lägg i slavens ladderdiagram till grenar som implementerar den pulsgenerator som användes i en av laborationerna i styrteknik (den som utnyttjade 2 tidskretsar). Sätt enable-signalen till TRUE och använd K5 som parameter för båda tillslagsfördröjarna. Kompilera, överför och testkör programmet på slav-plc:n. Uppgift 6: Utgå nu från föregående uppgift och modifiera fördröjningen så att den tar in fördröjningen från ett register så att D101 ger parametervärdet till den första fördröjingskretsen och D102 till den andra. För att slippa reläklapprande väljs D-värdet bara om det överstiger 5 enheter (tiondelar av en sekund). Använd funktionsblock av typ "MAX" för detta ändamål.
Ladda över programmet till slav-plc:n och går över till master-plc:ns ladderdiagram. Lägg in ett par olika värden (> 5) till masterns båda D-minnen D101 och D102. Överför till mastern och kör igång plcprogrammet. Gå sen tillbaka till slavprogammet och kör igång det. Kolla så att pulsgeneratorn ändrar takten. För bekvämlighets skull visas här ladderdiagrammet för pulsgeneratorn: