Rapport - Hekta.org
Transcription
Rapport - Hekta.org
2015 Miniprosjekt Gruppe 3 2EA 20.03.2015 1 Innhold 2 Forord [HBR] .................................................................................................................................... 1 3 Sammendrag [HBR] ......................................................................................................................... 2 4 Prosjektoppgave [HBR].................................................................................................................... 3 4.1 Kommunikasjonsoversikt [GMS] ............................................................................................. 3 5 Forklaringer [NY]............................................................................................................................ 4 6 Informasjon om Hardware og Software [NY] .................................................................................. 7 6.1 Komponentliste ....................................................................................................................... 7 6.2 Software - Dataprogram som er brukt .................................................................................... 8 6.3 Hardware beskrivelse .............................................................................................................. 9 6.3.1 PLS Programmerbar logisk styring................................................................................... 9 6.3.2 PROFIBUS......................................................................................................................... 9 6.3.3 iX-Panel .......................................................................................................................... 10 6.3.4 Ruter .............................................................................................................................. 10 6.4 Software beskrivelse ............................................................................................................. 11 6.4.1 InTouch .......................................................................................................................... 11 6.4.2 OPCLink.......................................................................................................................... 11 6.4.3 iX-Developer .................................................................................................................. 11 6.4.4 GX Works 2 .................................................................................................................... 11 GX Configurator-DP ....................................................................................................................... 12 6.4.5 6.5 7 Protokoll beskrivelser ............................................................................................................ 12 6.5.1 TCP/IP ............................................................................................................................ 12 6.5.2 Ethernet ......................................................................................................................... 13 6.5.3 Trådløs kommunikasjon ................................................................................................ 13 PLS Program [GMS] ....................................................................................................................... 14 7.1 Programmering av Master [GMS] ......................................................................................... 14 7.1.1 7.2 Oversikt over spesialminneceller som er brukt: ............................................................ 15 Programmering av Slavene [GMS] ........................................................................................ 16 7.2.1 8 OPC ................................................................................................................................ 12 Oversikt over spesialminneceller som er brukt: ............................................................ 17 7.3 Kommunikasjon mellom slave og moduler [GMS] ................................................................ 18 7.4 TO- / FROM-instruksjonene [GMS] ....................................................................................... 19 7.5 For AD/DA-omformeren (FX0N-3A) [GMS] ........................................................................... 20 7.6 For Profibus-modulen (32NT-DP) [GMS] ............................................................................... 22 Kommunikasjon mellom HMI og QPLS [EAH] ................................................................................ 24 8.1 Beijer OPC Server mot InTouch ............................................................................................. 24 1 8.2 Oppsett av Beijer OPC Server ................................................................................................ 25 8.3 Oppsett av OPCLink ............................................................................................................... 28 8.4 Oppsett av InTouch og OPC Tag Creator ............................................................................... 30 9 PC HMI [JA] .................................................................................................................................... 32 9.1.1 Spesifikasjon .................................................................................................................. 32 9.1.2 Planlegging .................................................................................................................... 32 9.1.3 Systemanalyse og design ............................................................................................... 33 10 Touchpanel [JA] ......................................................................................................................... 37 10.1 Spesifikasjon og planlegging .................................................................................................. 37 10.2 Oppsett av iX Developer ........................................................................................................ 37 11 Nettside [JK] .............................................................................................................................. 39 11.1 Software ................................................................................................................................ 39 11.2 Oppsett .................................................................................................................................. 40 11.3 Nettsidens funksjoner ........................................................................................................... 40 11.4 Referanser ............................................................................................................................. 43 2 2 Forord [HBR] Med denne rapporten oppsummerer vi et miniprosjekt som er en del av et større prosjekt som blir kjørt i forbindelse med faget «Styresystemer og reguleringsteknikk». Prosjektet blir gitt hvert vårsemester ved andre klasse Automatiseringsteknikk ved Høgskolen i SørTrøndelag, HiST. Prosjektet omhandler prosesstyring av en tankrigg utdelt av Høgskolen. Denne delen av prosjektet tar sikte på å lære studentene hvordan forskjellige anleggskomponenter kan koples sammen for å danne et komplett system i forbindelse med styring og regulering av industrielle prosesser. Miniprosjektet hadde som mål å sette opp kommunikasjon mellom de forskjellige enhetene som skal brukes videre i prosjektet. Rapporten vil beskrive detaljert hvordan kommunikasjonen ble opprettet med vekt på strukturen av programmeringskodene. Gruppe 3 består av 6 medlemmer som sammen må løse oppgaven på en fornuftig og god måte. Oppgaven består av å opprette kommunikasjon mellom de tekniske enhetene, men kommunikasjon mellom de menneskelige partene har vært minst like viktig. Både kommunikasjon og samarbeidsvilje har vært et stort fokus for oss slik at vi kan ende opp med et gjennomtenkt og godt resultat. 1 3 Sammendrag [HBR] Dette markerer rapporten som dokumenterer miniprosjektet utført av studenter på Automatiseringsteknikk på Høgskolen i Sør-Trøndelag, HiST. Utførelsen i denne rapporten består av kommunikasjon mellom InTouch, operatørpanel og begge PLSene, samt at nettverkene er satt opp rett. Dette for å unngå at videre utvikling blir gjennomført før man er sikker på at man har en stabil og gjennomtenkt kommunikasjonsløsning mellom de forskjellige enheter og programmer. Under miniprosjektrapporten vil en kunne finne vedlegg og forklaring på hva vi har gjort så langt i prosjektet. 2 4 Prosjektoppgave [HBR] Oppgaven, hentet fra oppgaveteksten er som følger: “Alle grupper skal lage et miniprosjekt først som demonstrerer at nettverkene er satt opp rett og at det går å sende data mellom InTouch, operatørpanel og begge PLSene. De nødvendige programmene skal presenteres for veilederne og den konkrete dataoverføringa skal demonstreres og godkjennes. Miniprosjektet skal dokumenteres i en rapport” 4.1 Kommunikasjonsoversikt [GMS] Figur 1 Figur 1 viser et komplett oversiktsbilde over kommunikasjonsnettverket til prosessriggen. «Grønt nett» tilsvarer all kommunikasjon som går over Ethernet (altså riggens lokale nett), mens lilla representerer profibusnettverket som PLSene bruker til å kommunisere seg i mellom. Ruteren er videre koblet til internett via skolens studentnett. Alle DP-adresser samt. IP-adresser er gitt i figuren. 3 5 Forklaringer [NY] • AD/DA: Konverterer et analogt signal til et digitalt signal, og motsatt. • PLS: Programmerbar logisk styring (engelsk; PLC) – Er en programmerbar prosessorenhet som kan behandle innganger og styre utganger gitt av instruksjoner i konstruert program. • SlavePLS: En PLS som får inn sine verdier fra Master PLS. • MasterPLS: En PLS som styrer overordnet prosess. • Figure2 Figur 5.1-1 1 PLS-modul: En tilleggsenhet som er tilkoblet PLSen. F.eks. profibusmodulen (32NTDP) • BUS: Kommunikasjonskabel som knytter CPUen sammen med bufferminnene i tilleggsmodulene til PLSen. • I/O: Input/Output (Inngang/Utgang) – Refererer til Inn- og Utganger til PLS. • PROFIBUS: Process Field Bus – En utbredt kommunikasjonsbuss som brukes til å opprette kommunikasjon mellom flere CPUer og/eller I/O-blokker. • BFM #xx: Bufferminne som ligger i tilleggsmodul til PLS. xx byttes ut med en tallverdi som representerer hvilket bufferminne det er snakk om. • Dataregister: En 16-bits bitstrøm (også kalt et ord) som kan lagre en bitkombinasjon opptil 16 bit. (Det er også mulig med en 32-bits bitstrøm, men det er da verdt å merke seg at 2 dataregister blir tatt i bruk. Altså dersom man ønsker en 32-bits bitstrøm i D0 blir også D1 «tatt i bruk», D0 brukes videre i programmeringen. 4 • Scan: Ett scan er fra PLSen «leser» gjennom instruksjonene i programmet til utgangene blir satt. Så begynner PLSen på ny å «lese» gjennom instruksjonene med nye verdier satt av utgangene (dette er 2. scan). • HMI: Human Machine Interface – Brukergrensesnitt mellom menneske og maskin. I dette prosjektet er InTouch-vinduet på PC samt. Operatørpanelet typiske eksempler på slike grensesnitt • LAN: Local Area Network. • OPC: Object linking and embeding for Process Controll. • WAN: Wide Area Network. • FTPS: File Transfer Protocol Secure. Krypterer og sikrer overføring av data fra et usikkert nettverk til hekta.org • WinSCP: Windows Secure CoPy er en fri FTPS-klient for Microsoft windows. • WLAN: Wireless Local Area Network. • BeijerOPCserver: En server som sikrer kommunikasjon mellom innretninger fra ulike deler av industrien. • Ethernet: Mye brukt teknologi innen lokalnett. • GXConfigurator-DP: Program for konfigurasjon av PROFIBUS. • GXWorks2: Programvare. Brukes for å lage programmer som overføres til PLS. • InTouch: Program som lager brukergrensesnitt på PC (HMI). • iX-Developer: Program som lager brukergrensesnitt for touchpanel. • iX-PanelTA100: Operatørpanel med farge- og berøringsfølsom skjerm. • Nettverk: Et sammenkoplet system av komponenter/ledninger/trådløstsom gir mulighet for kommunikasjon. • PID-regulator: Proporsjonal-, Integral- og Derivat-regulator. • Rigg: Der labutstyr / komponenter er plassert. Riggen skal være oversiktlig. 5 • Ruter: En maskin som videresender nettverkspakker til riktig mottakernettverk. • Tag: Et element som viser til en bestemt verdi. • Wonderware InTouch: Programserien som laget HMI til PC. • WonderwareOPCTagCreator: Program som setter opp brukergrensesnitt mellom innretninger fra ulike produsenter. Figure3 Figur 5.1-2 2 6 6 Informasjon om Hardware og Software [NY] 6.1 Komponentliste Hva Fullt navn Antall (stk) Master PLS MELSEC Q61P-A2 Q00CPU 1 Profibusmodul QPLS MELSEC QJ71PB92D 1 Ethernetsmodul QJ71E71-100 1 Slave PLS FX1N-40MR 2 Profibus-modul FX FX0N-32NT-DP 2 AD/DA-omformer FX0N-3A 2 Operatørpanel Beijer - iX T150 1 PC DELL OPTIPLEX 990 1 Trådløs Ruter D-Link DI-624+ 1 Nivåføler Tecsis – Type 3276.063.001 2 Flowmåler Flow-Teknikk 1 Reguleringsventil Bürkert 3010-PAA002 1 Magnetventil Watson Smith 01A 03875 1 Pumpe Grundfos UPS 25-50 180 1 Profibus-kabel Skjermet feltbuskabel for Profibus 7m 3076ENH Profibus-kontakt Mitshubitshi No. 140008 4 Strømforsyning Mean Well S-60-24 1 7 6.2 Software - Dataprogram som er brukt Hva Versjon PLS programmeringsprogram Melsoft GX Works 2 Version 1.98C Konfigureringsprogram for Melsoft GX configurator-DP 7.00A version 7.0.0.0 (Build QPLS 7.0.0.0) Program for brukergrensesnitt Beijer iX Developer versjon 1.31.93.0 for operatørskjerm Program for brukergrensesnitt Wonderware InTouch versjon 10.1.300 for PCskjerm Kommunikasjonsserverprogram Beijer OPC Server versjon 1.20A Build 184 for kommunikasjon mellom PC og PLS Kommunikasjonsprogram for Wonderware OPCLink versjon 8,0,0,0 kommunikasjon mellom InTouch og OPC Server Figur 4 5.2-1 8 6.3 Hardware beskrivelse 6.3.1 PLS Programmerbar logisk styring PLS brukes for å automatisere oppgaver som produksjon og kontroll av nivå i for eksempel en tank. PLS kan benyttes til å løse alle slags automatiseringsoppgaver, alt fra styring av varmeovner i hus til styring av avanserte oljeinstallasjoner. 6.3.2 PROFIBUS (Process Field Bus) er en mye brukt feltbuss/datanettforbindelse for kommunikasjon mellom instrumenter og utstyr innenfor automatikk. Bus-kommunikasjon har den store fordelen at all informasjon over nettverket er tilgjengelig, og kan behandles alle steder på bus-sløyfen. Bus-signal er med det veldig brukervennlig med tanke på endringer og utvidelser av et anlegg. Det finnes et stort utvalg av typer bus-signal, PROFIBUS er blant de mest brukte innen industri. En feltbuss er en digital kommunikasjonslinje som forbinder feltinstrumenter med styring og reguleringssystemet. Denne kommunikasjonslinja er toveis så den kan både sende og motta data. En buss er et antall ledere som kan brukes til overføring av digitale signaler. En feltbuss består av to ledere. Det digitale signalet kan overføres på tre måter: • Spenningsforskjellen mellom ledere • Strømverdier • Optisk fiber Profibus benytter IEC 1158-2, RS-485 eller fiberoptikk som overføringsteknologi. 9 6.3.3 iX-Panel iX Panel T150 er et HMI basert panel. Panelet er konstruert i lettvektig aluminium, og er utstyrt med flere tilkoblingsmuligheter som gjør det mulig å kommunisere via både Ethernet og seriekabel. Brukerprogrammet i panelet lages i Beijers eget software kalt iX-Developer. Spesifikasjoner: 10.4grafisk touchpanel, 1.1GHz prosessor, inngang for ethernet, USB, RS232, RS422, Profibus DP slave, MPI, CAN-J1939 Figur 5 6.3.4 Ruter Denne enheten sørger for pakkeswitching mellom enhetene på det lokale nettverket i styreskapet, samtidig som den fungerer bindeledd ut mot skolenettet. 10 6.4 Software beskrivelse 6.4.1 InTouch InTouch er et HMI (Human Machine Interface) program levert av Wonderware, og brukes til å lage brukergrensesnitt. InTouch er dagens mest brukte HMI program blant bedrifter. Programmet er svært brukervennlig og innovativt. 6.4.2 OPCLink OPCLink er et program som kobler sammen OPC-serveren med InTouch programmet. Før man i HMI programmet kan bruke et sett definerte verdier må disse importeres fra OPCserveren og kobles sammen slik at HMI programmet (InTouch) forstår hvilke adresser som skal brukes som tags. 6.4.3 iX-Developer iX-Developer er et software levert av Beijer Electronics, og brukes til å lage brukerprogrammer for deres mange paneler. Dette er et brukervennlig program som gjør det mulig for brukeren å utvikle brukerprogrammer slik de selv ønsker det. Det følger med et bredt bibliotek som inneholder blant annet inntastingsfelt, avlesningsfelt og diverse indikatorer. Det er også mulighet for å opprette innloggingsmulighet for å begrense tilgangen til de forskjellige brukerne i brukerprogrammet. 6.4.4 GX Works 2 GX Works er en software levert av Mitsubishi Electric Corporation, og er programmet man må bruke for å konfigurere en Misubishi PLS. Dette programmet inneholder et veldig stort bibliotek av symboler/funksjoner, og er derfor veldig fleksibelt. Man har mulighet til å programmere PLSen i ladder, instruksjonsliste eller strukturert tekst. I vårt anlegg har vi stort sett brukt ladder, da dette er et intuitivt programmeringsspråk og det har mulighet for monitoring som gjør feilsøking enklere. 11 GX Configurator-DP Gx developer er MITSUBISHIs eget software for konfigurering av PROFIBUS grensesnitt i deres PLSer. Programmet gjør det mulig å definere PROFIBUS-nettverk, for så å laste det opp mot de ønskede PLSene. I Gx developer er de viktigste funksjonene lett Figur 6 5.4-1 tilgjengelig for brukeren. 6.4.5 OPC OPC står for OLE for Process Control. OLE igjen i sin tur står for Open Linking and Embedding og er en protokoll i applikasjonslaget for kommunikasjon mellom styringsenheter. Den fungerer ved at hver enhet har en OPClink programvare som oversetter språket til kontrolleren til OPC språk. Denne OPClinken snakker i sin tur med OPC serveren og kan med dette lese og skrive data til kontrolleren som kan være alt fra PLS til en HMI løsning. OPC strukturen er altså basert på et Server/Tjener forhold mellom enhetene. I vårt prosjekt så vil OPC fungere som et mellomledd mellom HMI løsningen vår i InTouch og Master PLS. 6.5 Protokoll beskrivelser 6.5.1 TCP/IP TCP/IP står for Transmission Control Protocol/Internet Protocol som er den mest brukte protokollen i transportlaget. TCP/IP består egentlig av flere protokoller men det er TCP og IP protokollen som er de viktigste og derav navnet. Denne sikrer sikker overføring uten datatap. Det er også denne protokollen vi benytter oss av for all kommunikasjon mellom MasterPLS og operatørpanel og InTouch løsningene, samt direkte konfigurering av MasterPLSen. 12 6.5.2 Ethernet Dette er den mest vanlige protokollen for kommunikasjon på det fysiske laget i lokale nettverk og er spesifisert i standarden IEEE 802.3. Ethernet Navnet ethernet kommer fra en lokalnettstandard. Ethernet virker på den måten at alle som er koplet til nettverket står fritt til å sende og motta informasjon. Derimot kan kun en bruker sende informasjon av gangen. Derfor ”lytter” maskinene på nettverket først for å se om det er ledig. Er nettet ledig, sender maskinen ut informasjonen den skal sende. Det som ofte hender er at flere maskiner lytter samtidig og da kan de oppfatte at nettet er ledig. Når de to sender informasjon over nettverket samtidig kolliderer dataene på nettet sammen og maskinene må begynne på nytt igjen med å lytte etter ledig plass med en tilfeldig tidsforsinkelse. Denne aksessmetoden kalles Carrier Sense MultipleAccess with Collision Detection. Desto flere maskiner det er på nettet desto flere kollisjoner får en og en dobling av antall maskiner i nettverket fører til fire ganger så mange kollisjoner. 6.5.3 Trådløs kommunikasjon Trådløs kommunikasjon bruker atmosfæren som medium. I forbindelse med prosjektet blir det benyttet en ruter for trådløs kommunikasjon. Ruterens oppgave er å vise ruten datapakker skal sendes til. Hvis mottakeren er på det samme lokalnettet som ruteren kan datapakken sendes direkte. Er mottakeren på et annet nettverk må den sendes videre til neste ruter som deretter sender pakken videre, osv. En svitsj kan gjøre den samme jobben som ruteren, men dersom vi ønsker en bedre sikkerhet og kontroll bør vi bruke en ruter. Den ekstra informasjonen som datapakkene blir utstyrt med varierer litt alt etter hva slags nett det er snakk om. For internett er det en såkalt IP header. 13 7 PLS Program [GMS] 7.1 Programmering av Master [GMS] I master er følgende programmert: • Kommunikasjon mellom master og slave 1 • Kommunikasjon mellom master og slave 2 • Oppsett av Profibusnet • Oppsett av Ethernet Kommunikasjon med slave 1, og kommunikasjon med slave 2 har fått hver sin POU for å bedre oversikten. Det samme har Profibus POUen som vi har konfigurert i GX ConfiguratorDP hvor en «Instruct List»-kode ble generert. Her ligger hvilke adresser slavene er tildelt på profibusnettet, samt. hvilke dataregister master skal bruke til å sende og motta til hver av slavene. D100 – D135 for slave 1, og D200 – D235 for slave 2. Oversikt over POUene illustreres på figur 7. Figur 7 Videre er det programmert to alarmer som skal varsle dersom brudd med hhv. Slave 1 og slave 2. Master mottar et 50ms pulstog fra f.eks. slave 1 som aktiverer 2 timere. Dersom minnecella som inneholde pulstoget er høy eller lav i mer enn 80ms oppstår timeout, og alarmen for kommunikasjonsbrudd med slave 1 går høy (se figur 8). Denne alarmen hentes i InTouch og i operatørpanelt for å varsle operatøren(e). 14 Figur 8 7.1.1 Oversikt over spesialminneceller som er brukt: Navn Forklaring SM400 Alltid høy (1) når PLS er i RUN. Går lav (0) når PLS går i STOP 15 7.2 Programmering av Slavene [GMS] I slavene er følgende programmert: • Kommunikasjon mellom slave-PLS og AD/DA-omformer • Kommunikasjon mellom slave-PLS, profibus-modul og videre til QPLS • Alarm ved kommunikasjonsbrudd, dvs. master får ikke kontakt med slavens profibusmodul • Den fysiske utgangen Y0 til slaven settes høy dersom dette betjenes fra operatørpanel og/eller InTouch-vindu på PC. For å ha en systematisk programoversikt har vi valgt å dele inn disse 4 punktene i 4 forskjellige POUer (se figur 9). På denne måten blir et stort PLS-program straks mye mer oversiktlig. Figur 9 Kommunikasjonen mellom slave-PLS og AD/DA-omformer betyr at analog inngang kanal 0 og kanal 1 skal startes, og et strømsignal i området 4-20mA skal omformes til desimalverdier i området 0-250, som igjen flyttes til dataregister som ligger i slaven. I tillegg skal analog utgang programmeres slik at den mottar en digital verdi som operatøren taster inn i InTouch-vinduet og/eller operatørskjermen, og dermed omformer denne til et fysisk strømsignal i området 4-20mA. Kommunikasjonen med profibusnettverket skjer ved at hver slave blir gitt hver sin DPadresse slik at forbindelsen med master blir opprettet. Når så har skjedd skal 16 dataregister 16 sendes og mottas mellom slave og master. Dette skjer vha. TO- og FROM-instruksjoner til BFM #0 – BFM #15, se avsnitt XXXX og vedlegg XXXX. Alle dataregister som tilhører slave 1 og som skal sendes til master ligger i området D100 – D115. De som mottas fra master ligger i området D120 – D135. Tilsvarende er gjort for slave 2; de som skal sendes til master ligger i området D200 – D215. De som mottas fra master ligger i området D220 – D235. Vi har gjort det så enkelt at dersom master f.eks. sender fra sitt dataregister D220, så skal dette dataregistre mottas i dataregister D220 i slave 2. Se figur 10. Figur 10 7.2.1 Oversikt over spesialminneceller som er brukt: Navn Forklaring M8000 Alltid høy (1) når PLS er i RUN. Går lav (0) når PLS går i STOP M8002 Initieringspuls – Høy (1) kun første scan etter at PLS går i RUN M8011 Pulstog – 5ms høy (1), 5ms lav (0) når PLS er i RUN M8012 Pulstog – 50ms høy (1), 50ms lav (0) når PLS er i RUN 17 7.3 Kommunikasjon mellom slave og moduler [GMS] Dette avsnittet tar for seg hvordan slave-PLSene kommuniserer med dems tilkoblede moduler, og hvordan kommunikasjonen kan programmeres for å oppnå ønsket funksjon gitt av oppgaven. Det er verdt å merke seg at vi bruker slave 1 PLSen til eksempler i avsnittet, men det samme gjelder for slave 2 bare at andre dataregister og verdier blir brukt. Se komplett PLS-program i vedlegg 1. Figur 11 Figur 11 viser modul-oppsettet for hvordan slave 1 og 2 er koblet opp mot sine respektive moduler. Slave PLSen er av typen FX1N-xxxxxx. Modulene er koblet sammen via PLSens utvidelses-BUS, hvor AD/DA-omformeren kommer først på modulplass nr. 0, mens BUSkabelen videre er koblet til Profibusenheten som opptar modulplass nr. 1. PLSen kommuniserer med hver enkelt modul ved å sende og motta data til modulenes bufferminner. For at kommunikasjonen skal settes opp korrekt, må denne programmeres i PLSene (slavene), dette gjøres vha. TO- og FROM-instruksjoner i GX Works2 (se neste side for forklaring). Det er da nødvendig å gjøre seg kjent med modulenes bufferminner, og hva hvert enkelt bufferminne representerer i dens enkelte modul. En slik oversikt finner vi i modulenes dokumentasjon. 18 7.4 TO- / FROM-instruksjonene [GMS] Alle bufferminnene består av et 16-bits ord. Disse bufferminnene i hver enkelt modul kan leses fra og/eller skrives til. Det er på denne måten PLSen klarer å kommunisere med modulene. For å kunne gjøre dette må TO- / FROM-instruksjoner tas i bruk. Kort forklart brukes TO-instruksjonen dersom man ønsker å skrive en verdi til et bufferminne i modulen, mens FROM-instruksjonen brukes dersom man ønsker å lese av / hente verdien til et bestemt bufferminne. I figur 12 er det en oversikt over hva tilkoblingspunktene til blokkene representerer. Figur 12 Eksempler på bruk av instruksjonsblokkene er vist i figur 12. Hvor TO-blokka skriver verdi 4 til BFM #17 i modul 0 (AD/DA-omformeren), og den overfører ett 16-bits ord. Dette er en instruks fra PLSen til AD/DA-omformeren som sier start D/A-omforming (analog utgang). FROM-blokka henter verdien som ligger i BFM #29 i modul 1 (Profibus-modul), og legger avlest verdi i dataregister D10. Her hentes det også ett 16-bits ord. BFM #29 representerer feilstatus til Profibus-modulen. Figur 13 19 7.5 For AD/DA-omformeren (FX0N-3A) [GMS] Figur 14 Figur 14 viser en tabell over hvilke bufferminner som brukes i AD/DA-omformeren, og hva disse representerer. Til eksempel; vi ønsker å starte en analog til digital omforming på omformerens kanal 0, slik at vi videre kan legge avlest verdi i dataregister D0 i PLSen. For å klare dette må BFM #17 få en verdi som sier A/D start kanal 0. Ut i fra figur 14 ser vi at bitnr. 0 i BFM #17 velger hvilken kanal som skal brukes. Denne må gis verdi 0 ettersom vi ønsker kanal 0. Verdien 0 må dermed skrives til BFM #17 vha. en TO-instruksjon. Videre ønsker vi å starte A/D-omformingen, da må bitnr. 1 i BFM #17 gis verdi 1. Dette gjøres på samme måte. Til slutt må den omformet verdien som ligger i BFM #0 hentes og legges i D0 i PLSen. Dette gjøres vha. en FROM-instruksjon. Se programeksempel i figur 15 nedenfor. Figur 15 20 De analoge signalene (både inn- og ut-signal) kommer i 4-20mA, disse konverteres til 0-250 bit hvor bitverdi 0 tilsvarer 4mA, mens bitverdi 250 tilsvarer 20mA. Det vil si at vi har en skalering på 0.064mA per bit. Se figur 16 og figur 17. Figur 16 Figur 17 21 I PLSprogrammet må det i tillegg tas hensyn til at AD/DA-omformeren har 2 analoge innganger som ikke kan avleses samtidig. Dermed er det verdt å merke seg «Processing time», altså hvor lang tid AD/DA-omformeren bruker på å lese/skrive verdier til hhv. Analoge innganger og analog utgang. På analog inngang tar prosessen: (2 ∙ 𝑇𝑇𝑇𝑇𝑇𝑇𝑇𝑇𝑇𝑇𝑇𝑇𝑇𝑇𝑇𝑇𝑇𝑇𝑇𝑇𝑇𝑇𝑇𝑇𝑇𝑇𝑇𝑇𝑇𝑇𝑇𝑇 𝑡𝑡𝑡𝑡𝑑𝑑) + 𝐹𝐹𝐹𝐹𝐹𝐹𝐹𝐹𝐹𝐹𝐹𝐹𝐹𝐹𝐹𝐹𝐹𝐹𝐹𝐹𝐹𝐹𝐹𝐹𝐹𝐹𝐹𝐹𝐹𝐹𝐹𝐹𝐹𝐹𝐹𝐹 𝑡𝑡𝑡𝑡𝑡𝑡. I og med at kanal 0 og kanal 1 ikke kan avleses samtidig må disse instruksjonene vekselsvis være aktivert, og minnecella som aktiverer instruksjonene må dermed være aktivert lengre enn prosesseringstiden, men samtidig så kort som mulig for å oppnå en raskest mulig regulator. 7.6 For Profibus-modulen (32NT-DP) [GMS] Figur 18 Figur 18 viser en tabell over hvilke bufferminner som brukes i Profibus-modulen, og hva disse representerer. Til eksempel; vi ønsker å gi modulen slaveadresse 1 slik at master-PLSen kan finne slaven på Profibus-nettverket (gitt at slaven er konfigurert med adresse 1 i Profibus-nettverket som ligger i master-PLSen, se avsnitt XXX Master PLS-program). 22 M8002 er en initieringspuls som går høy i ett scan i det øyeblikket slaven går fra STOP til RUN. I første scan når denne er høy flyttes verdien 1 til BFM #17, og Profibus-modulen har dermed fått sin slaveadresse. Se figur 19. Figur 19 Videre kan man se at BFM #0 – BFM #19 brukes til å sende og motta dataregister i mellom slaven og master. Her er det kun BFM #0 – BFM #15 som er tatt i bruk. For komplett oversikt over hvilke dataregister som overføres dem i mellom, se vedlegg 2 for slave 1 og vedlegg 3 for slave 2. Disse bufferminnene (#0 – #19) er «delt i to», dvs. at det både ligger et dataord som skal sendes ut på profibusnettverket, samtidig som det ligger et dataord som skal hentes fra profibusnettverket og sendes videre til slaven. Dette er illustrert i figur 20. Det er ikke nødvendig å ta hensyn til dette på noen annen måte enn å ha kontroll på bruk av TO- / FROM-instruksjonene ved programmering. Det er disse instruksjonene som tar høyde for om dataordet skal sendes ut heller hentes inn. Figur 20 23 8 Kommunikasjon mellom HMI og QPLS [EAH] Før vi begynner å lage programmet til HMI´en må vi sett opp kommunikasjonen, slik at InTouch og QPLS´en klarer å prate sammen. Det gjøres ved hjelp av en Beijer OPC server, som er et software program som ligger lokalt på PC´en. Denne inneholder i tillegg til serveren en innebygget klient som er laget for Mitsubishi PLS´er. PC´en må og vær tilkoplet samme nettverk som QPLS´en. Se figur 21 for hierarkisk oppbygging av OPC kommunikasjonen. Figur 21 8.1 Beijer OPC Server mot InTouch InTouch kommuniserer med OPCLink som oversetter all dataen til OPC protokoll. Dette sendes til OPC serveren som videresender dataene til OPC klienten for Mitsubishi PLS. OPC klienten gjør om dataene til et format som PLS´en kan lese og sender dette ned til Q-PLS´en via serieporten COM1. For at kommunikasjonen skal fungere må vi start med å konfigurere alle de forskjellige programmene, som ”Beijer OPC Server”, ”OPCLink”, ”OPC Tag Creator” og ”InTouch”. 24 8.2 Oppsett av Beijer OPC Server Etter vi har åpnet Beijer OPC Server må vi legge til en ny kontroller, det gjøres ved å gå på verktøylinjen og velg: Insert -> New Controller. Da kommer bildet under opp og vi fyller ut dataen slik det står i bildet. Figur 22 Deretter må innstillingene for den nye kontrolleren settes opp, ved å klikke på ”Settings”. Her skriver vi inn IP adressen og Port adressen til QPLS´en, samt huker av for UDP protokoll. Figur 23 25 Da er det klart for å definere tagger. En ny tag lages ved å trykk Insert -> New Tag, da kommer bilder under opp (Figur 24). Det må lages en tag for hver verdi som skal overføres fra QPLS´en. Figur 24 26 Figur 25 Etter alle taggene er definert vil oversiktsbilde se slikt ut: 27 8.3 Oppsett av OPCLink For at InTouch skal klar å lese/skrive til taggene må de importeres fra OPC Server, ved hjelp av OPC Tag Creator i InTouch. For at dette skal gå må OPC Link konfigureres og være startet før InTouch startes. OPC Link er OPC klienten som knytter InTouch til OPC serveren. Det er veldig viktig at OPC serveren ligger oppe og kjører når konfigurasjon av OPC Link gjennomføres. Starter med å åpne OPC Link og går inn på Configure -> OPCLink Settings hvor vi definerer hvor katalogen for konfigurasjonsfilen ligger. Dette er nødvendig da OPCLink starter automatisk når InTouch trenger det. Figur 26 28 Så velger man Configure -> Topic Definition og får opp vinduet under. Figur 27 Første gangen man åpner denne er den tom og man velger da New. Man får da opp vinduet under. Her må vi velge Topic Name, som må vær det samme navnet vi valgte i OPC serveren. Figur 28 Node Name lar man være tom hvis serveren er på samme PC som OPCLink, noe som er tilfellet vårt. Det viktigste her er at konfigurasjonsfilen man skal bruke er den som var sist åpnet i OPCLink, fordi denne blir brukt når OPCLink startes automatisk fra InTouch 29 8.4 Oppsett av InTouch og OPC Tag Creator Nå er det klart for å hente inn taggene fra OPC serveren og definere disse i InTouch. Til det bruker vi OPC Tag Creator, som ligger nederst til venstre i InTouch (Se figur 29). Tag Creatoren kobler seg opp til OPC serveren via OPCLink, slik at taggene vi skal bruke i InTouch refererer til taggene som er definert i serverne. Etter å ha åpnet Tag Creator kommer man til vinduet i figur 30 hvor man får opp navnet man brukte i OPCLink. Figur 29 Figur 30 30 Siden OPCLink ligger i Windwos´Path kommer alt av data man skal skrive inn etter man har trykket seg inn på ”Create” automatisk fra OPCLink Da er det klart for å lage tagger. I figur 31 ser vi vinduet man lager tagger i. Vi ser ”Miniprosjekt” ligger her allerede og de taggene vi opprettet i OPC serveren, slik at vi nå kan generere taggene automatisk ved å trykke på ”Autogen..” Figur 31 Da er alt av kommunikasjon konfigurert, så da gjenstår bare å lage selve brukergrensesnittet i InTouch. 31 9 PC HMI [JA] 9.1.1 Spesifikasjon Operatørgrensesnittet på PC skal vise kommunikasjonen mellom alle enhetene beskrevet i miniprosjektet. Vi vil demonstrere forbindelsen på følgene måte: • Skal ha mulighet til å sette en utgang på hver av slave PLSene høy eller lav. • Skal kunne sende inn en bitverdi mellom 0 og 255 til AD/DA-omformeren i hver av slave PLSene og måle verdien som blir lest av. • Skal prøve å gjøre skjermbildet intuitivt og oversiktlig. 9.1.2 Planlegging Vi bruker programmet Wonderware InTouch til å lage brukergrensesnittet på PCen. Det vil bli laget et skjermbilde der vi skal legge til de funksjonene som er spesifisert for HMI. Det blir laget et skjermbilde som vil bestå av to deler, en for hver slave. Hver del skal ha to knapper som kan sette en utgang på slaven høy eller lav (Av eller På). I tillegg blir det lagt inn et statusfelt som forteller om tilstanden til utgangen. Sending av bitverdien vil styres av en «slider» som går fra 0 til 255. Det skal også være mulig å skrive inn verdien manuelt. For å lese av det som sendes og det som mottas brukes et sanntidsvindu. Her tegnes verdiene som sendes i blått, og det som mottas i rødt. Tag-ene som brukes er lages med Tag Creator i InTouch. Vi vil bruke mest mulig intuitive navn på tag-ene slik at det skal bli enklest mulig å lage skjermbildene, i tillegg til å gjøre det enklere å foreta endringer i programmet i etterkant. 32 9.1.3 Systemanalyse og design For å lage brukergrensesnittet brukte vi det vi har lært av HMI PC-øvingene og treningsmanualen levert av Wonderware (Sett inn virkelig navn). Vedlegg x viser en oversikt over tagene som er brukt i programmet. Vedlegg x viser det ferdige operatørpanelet. Når man åpner programmet InTouch er det første vi må gjøre å lage en ny applikasjon, etter det opprettes et nytt vindu. Deretter lages to sanntidsvinduer med «Real-time Trend» som Figur 32 ligger i verktøylinjen. Figur 32 viser hvordan disse er satt opp. I sanntidsvinduet velges det hvilken tag som skal tegnes opp, hvilke farger de skal tegnes opp med, og maksimum- og minimumsverdi på vinduet. I tillegg velger man hvor lenge vinduet skal huske de gamle verdiene. Slideren er en ferdig blokk som ligger i InTouch. Oppsettet av slideren vises i figur 33. 33 Figur 33 I innstillingsvinduet må det settes inn hvilket tag som skal benyttes. Deretter velges skaleringen (0-255) og hvordan slideren nummereres. Av- og på-knappene lages ved å opprette en «button». Dobbeltklikk på knappen og velg Touch Links/User Inputs/Discrete for å legge inn hvilken tag som skal endres på når knappen trykkes. Teksten på knappen endres ved å markere knappen og deretter trykke CTRL+L og skriver inn f.eks. «På». Avknappen lages på samme måte. Oppsettet vises i figur 34 og 35. 34 Figur 34 Figur 35 35 Figur 36 Statusfeltet lages ved å velge text-verktøyet og skrive inn «#»-tegnet (figur 36). Så kan man dobbelttrykke på teksten og velge Value Display/Discrete. Der kan du legge inn hvilket tag den skal vise statusen til, og velge den teksten som skal komme opp når statusen endres. 36 10 Touchpanel [JA] 10.1 Spesifikasjon og planlegging Vi bruker programmet iX Developer for å lage brukergrensesnittet til Touchpanelet. Panelet og tilhørende programvare er utviklet for å kommunisere med PLS i industrianlegg, derfor er det veldig enkelt å koble sammen minneceller til tager i programmet. Touchpanelet skal i likhet med HMI på PCen vise kommunikasjonen mellom alle enhetene som er beskrevet i miniprosjektet. Vi vil prøve å utvikle brukergrensesnittet på en måte som gjør det enkelt for operatøren å benytte seg av programmet. Vi lager utseende til touchpanelet relativt likt programmet i InTouch. På den måten blir overgangen for operatøren enklest mulig. På samme måte som i InTouch deles skjermen inn i to deler, en for hver slave PLS. Brukeren skal ha mulighet til å skru av og på utgangen Y0 på både Slave PLS 1 og Slave PLS 2. Dette gjøres ved å ha to trykknapper for hver slave PLS. Statusen til utgangen Y0 vil bli vist med en lampe. For å utføre sendingen av bitverdier mellom 0 og 255 skal vi ta i bruk en slider. Verdien som sendes og mottas skal vises i et trend-vindu. 10.2 Oppsett av iX Developer I vårt prosjekt skulle vi egentlig bruke et panel av typen iX TA 100, men grunnet feil på panelet fikk vi tildelt et nytt panel (iX T150). Dette medførte at vi måtte nedgradere versjonen av programmet vårt. Det første man gjør er å trykke på Create New Project, så velges den aktuelle skjermen for prosjektet. Velger Melsec og MC Protocol under Controllers-fanen. Deretter navngis prosjektet og trykker Finish. Tagene legges inn ved å trykke på Tags under Functions-fanen. Her velges Controllers-fanen, marker Controller1 og trykk på Settings. Her settes innstillingene for MC-protokollen. I vinduet som dukker opp velges Stasjons-fanen, IP-en for kontrolleren og portnummeret som brukes skrives inn. 37 Figur 38 Trykk på Add/Add Tag. Under Name navngis tagene, det er dette navnet som brukes internt i iX Developer. Velger de datatypene som passer vår bruk, og definerer adressen denne tagen til masterenheten. Når tagene er definert kan man legge inn knappene, sliderene og trendvinduene, disse finner man under Objects-fanen. Så markerer man objektet man vil endre tagen til å går i fanen Tag/Security og velger en tag fra drop-down-listen. Dobbeltklikker man på objektene har man muligheten til å legge inn f.eks. minimums- og maksimumsverdi på slideren. 38 11 Nettside [JK] Et av målene under miniprosjektet er å komme i gang med en nettside som skal gi innblikk i prosjektets omfang og dets status. Nettsiden vil også kunne gi en oversikt over prosjektgruppens medlemmer og deres personlige opplysninger. Selv om nettstedet ikke skal være komplett i løpet av dette prosjektet, skal den midlertidige siden være lastet opp til domenet http://hekta.org og prosjektets gruppeside skal finnes i sub-domenet http://hekta.org/~p2ea3. 11.1 Software I utviklingen av nettstedet ble det brukt følgende programvare: Programvare Versjon WinSCP 5.6.5 Sublime Text 3 Beta Bootstrap 3.3.4 JQuery 2.1.3 WinSCP ble valgt på grunn av den prisvinnende SFTP-klienten og dets brukervennlige grensesnitt. Programmet er gratis å laste ned og programkoden er av typen «Open Source Software», noe som tillater alle til å bidra i å modifisere og forbedre programkoden. Dette gjør programmet både ressurseffektivt og sikkert. Samtidig brukes programmet i de fleste eksempler på oppsett av nettsider. Det er et massivt mangfold av tekstredigeringsprogram for programkode (populært kalt IDE, Integrert utviklingsmiljø) tilgjengelig, og Sublime ble valgt i denne omgang. Det er ikke mye som skiller hver enkelt av de forskjellige utviklingsmiljøene, men Sublime kommer med en håndfull nyttige snarveier som gjør selve skrivingen av koden mye raskere. Bootstrap er et ressurssterkt kode-bibliotek som kan importeres i din HTML-kode. Biblioteket gir deg tilgang til flere forskjellige knapper, fonter og layouter. Bootstrap tar i 39 bruk de vanligste programmeringsspråkene brukt i nettside-utvikling, CSS (Cascading Style Sheets) og JavaScript. De grafiske komponentene er blitt fordelt i klasser med tilhørende funksjoner som kan brukes til å modifisere og tilpasse komponentene til ens bruk. 11.2 Oppsett Da nettsidens funksjon og hovedmeny ble valgt, startet prosessen med å lage et skjellet for både forsiden og menyen. For hvert mulige valg på navigeringsmenyen ble det laget en egen HTML-fil. Felles for alle HTML-filer var layoutet og navigeringsmenyen, mens alle sider var gitt en annen fargetone på tilhørende valg i menyen. Dette for å få en jevn overgang mellom vinduene og en enkel oversikt over hvor en befinner seg på nettsiden. Da det var noen håndfaste filer å bruke, ble disse lastet opp på http://hekta.org via tjenerklienten WinSCP. Oppstarts-filen index.html ble lagt i tjenermappen public_html, sammen med alle de tilhørende meny-valgene. Nettsidens bilder ble lagt i public_html/images. Tilhørende bibliotek ble importert helt nederst i HTML-koden for raskere lasting av nettsiden. Disse ble importert med følgende linjer: <script src="dist/js/bootstrap.min.js"></script> <script src="https://ajax.googleapis.com/ajax/libs/jquery/1.11.2/jquery.min.js"></script> 11.3 Nettsidens funksjoner Øverst på nettsiden ligger en horisontal meny som hjelp til å navigere brukeren omkring på siden. Når en først besøker nettstedet kommer en til valgmuligheten Hjem på denne navigeringsbaren. Derifra kan en henholdsvis velge seg til Om prosjektet, Om gruppen og Arkiv. 40 Figur 39 Navigasjonsbaren er av klassen navbar og valgalternativet Arkiv er av underklassen dropdown. Figur 40 Nettstedets Hjem-side ble prydet med en bilde-slider som viser de forskjellige prosjektene etter hvert som de blir gjennomført. Slideren rullerer gjennom bildene automatisk og kan også bli manuelt styrt ved å trykke på høyre eller venstre side av bildet. En kan også velge hvilken slide en vil se på helt nederst på bildet. Bilde-slideren ble lagd ved hjelp av bootstrapklassen carousel og JavaScript. 41 Figur 41 Videre er det ønskelig å kunne legge ut oppdateringer på prosjektenes fremgang på Hjemsiden og finne en effektiv måte for hele gruppen å kunne skrive disse uten å logge inn via WinSCP. Figur 42 42 11.4 Referanser http://getbootstrap.com/ Her ble bootstrap-biblioteket lastet ned- og under de forskjellige kategoriene «CSS, Components, JavaScript» ble malene for de forskjellige grafiske komponentene hentet fra. Under «Getting started» stod det gode beskrivelser av hvordan en kommer i gang med bootstrap og hvordan en laster ned og importerer biblioteket på rett vis. http://jquery.com/ Her kan en laste ned et JavaScript bibliotek kalt «JQuery». Ved å laste ned og importere biblioteket, kan en bruke ferdiglagde JavaScript-kommandoer direkte i ens HTML-kode. Dette biblioteket sammen med bootstrap ble brukt til å lage bildekarusellen i prosjektgruppens index fil (startside). https://www.youtube.com/playlist?list=PLMLdiraLeES3nKeVED3H9LTGJ2IZ1_1An I denne lenken ligger en video-spilleliste som ble brukt som en introduksjon til bootstrap. Spillelisten består av 25 videoer som stegvis lærer deg å bruke bootstrap-biblioteket. http://www.sublimetext.com/ Fra denne lenken ble en trial-versjon av «Sublime Text 3» lastet ned. Dette er en sofistikert teksteditor for kode, «markup» og annen prosa. http://winscp.net/eng/index.php Herifra kan en laste ned SFTP-klienten «WinSCP». Dette programmet ble brukt til overføringen av nettsidens prosjektfiler til domenet http://hekta.org sin nett-tjener. 43