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