• No results found

5.2 Fysisk konstruktion

6.3.3 Slutgiltiga tester

De tester som utförts på produkten var: kabeldragkraft, fallhöjd, dammresistans, cpu temperatur under drift och öppningstid. Metodologin var mycket enkel och testerna utfördes endast en gång på den slutgiltiga produkten. Kabeldragning, se kapitel 5.3, utfördes genom att fästa metallskrot av känd massa och sedan lyfta upp lådan så vikten hängde rakt ned, se fig 35. Denna metodik möjliggjorde ett snabbt och enkelt prov av kabelgenomföringens avlastningsförmåga. Dock finns det vissa tillkortakommanden med detta test. Tiden som de olika vikterna hölls upp var inte helt konsistent då räkningen inte utfördes med något tidtagningsur utan endast manuellt. Vid själva lyftet av vikten från bordet skapas en impuls som kan få kabeln att släppa även om den inte skulle det vid statisk belastning, detta bekämpades något genom att utför lyftet långsamt. Lådan och därmed förseglingens vinkel kan även den påverka resultatet,

Datalogger för sintringsugn Nygårds, E., Oliw, M.

även om det försökt avhjälpas genom att hålla lådan så lodrät som möjligt. Trots dessa metodologiska brister anses att testet duger för projektet, att kabeln blir lastad är inte något som förväntas vara vanligt då produkten är avsedd för fast montage.

Testet för fallhöjd var avsett att testa skalets stöttålighet, vilket även skulle informera om stöttå- lighet av den slutgiltiga monterade produkten. Då det endast fanns en Raspberry pi och skärm kunde inte dessa äventyras under testet, därför sattes kraven högre och endast skalet testades. Produktens avsedda position och miljö kräver inte särskilt hög fysisk tålighet så detta ansågs vara ett tillräckligt bra test. Ett problem med testet var att det utfördes med metallskrot för att simulera vikten av den elektronik som inte var ombord under testet. Detta metallskrot var inte fastspänt utan kunde skramla runt fritt i skalet, när skalet träffar marken kan dessa lösa metallbitar komma farande i väldig fart, detta ger upphov till en overklig belastning på skalet. Trots detta klarade skalet två meters fallhöjd vilket uppfyllde det marginella kravet och lite till.

Dammresistanstestet, eller pulvertestet, var som ett stresstest för tätningen. Testet kan antas simu- lera mer än 10 års bruk värt av dammexponering. Själva testet gick inte utan problem. Först hade tätningspluggarna glömts sättas i innan testet startade. Därav kom mycket damm och pulver in i lådan. En del pulver fastnade då på undersidan av tejpbitarna som täppte till monteringshålen. Monteringshålen blir vid montage täta på grund av skruv och bricka, därav tätningen i detta test. Efter städning av lådan satt lite pulver kvar på tejpen. När lådan testades igen kan en del av pulvret lossat från tejpen och vart löst i lådan. Även utan det problemet var resultatet bra. Med problemet i åtanke var det riktigt bra. Speciellt eftersom testet är mycket extremt, jämfört den normala dammnivån lådan kommer utsättas för under bruk.

Temperaturtestet genomfördes för att kontrollera att CPU enheten inte skulle överhettas, Raspber- ryn är endast designad för CPU temperaturer på under 85 grader Celsius[30]. Vid drift över dessa temperaturer kan livslängden av enheten förkortas. Temperaturen togs genom det inbyggda CPU temperaturverktyget på Raspberryn och lades in i den vanliga dagsloggen. Ett problem med detta är att de dagar som mätningen utfördes under inte var de varmaste möjliga och att produkten inte användes särskilt flitigt för jobbloggning. Alltså var testet endast representativt av ett omärkvärdigt lastfall istället för ett extremfall. Därav behövs testet repeteras under någon varmare, mer aktiv dag på sommaren. Resultatet av mätningen är dock ett tecken på att lådan troligtvis ej kräver kylning.

6.4 Viktmätning

Huvudkonceptet som valts ut, koncept 8 se kapitel 5.4, är det enda av de tre utvalda koncepten som mäter vikten medan skeppet rör sig. Detta gör att det kan uppstå problem vid implementationen, problem som inte de andra koncepten har. Om tiden för viktmätningen är för kort kan det bli omöjligt att få fram en representativ vikt på skeppet. Det kan dessutom uppstå stora signalskillnader från lastcellerna då skeppet hamnar närmare eller längre ifrån dem. Dessutom kan friktionen vara ojämn vilket tillsammans med lutning kan leda till fler kraftvariationer. Dessa problem kan tillsammans göra det omöjligt att räkna ut en någorlunda noggrann vikt, även med efterbehandling av datan. Om det uppdagas att det blir problem med koncept 8 kan något av reservkoncepten användas.

Av de två reservkoncepten, koncept 4 se fig 11 och koncept 9 se bilaga B.11, är koncept 9 att föredra. Detta på grund av att risken att något skepp missas att väga är mycket lägre än vad det är för koncept 4. Då koncept 4 innebär att en människa måste väga varje skepp innan de läggs upp på

Datalogger för sintringsugn Nygårds, E., Oliw, M.

påmatarbandet finns det en risk att något skepp inte vägs. Om ett skepp inte vägs blir omöjligt att veta den faktiska totalmassan i ugnen samt att korrelera vikter till skepp korrekt.

6.5 Framtida utveckling

Inför framtiden finns det mycket som kan göras. Först kan de nuvarande funktionerna av loggern förbättras. Koden kan göras robustare och mer modulär, en omskrivning av programmen skulle också kunna göras signifikant mer generaliserbara. En idé inom det området skulle vara att basera programmen runt en konfigurationsfil som kan användas för att specificera vilka noder som är av intresse, vilka noder som gäller för skeppsräkningen, om gasmätning ska användas, samplerate och i stort sett alla andra relevanta konstanter. För visualisering skulle ett program kunna skrivas som på ett snyggt, sökbart och lättillgängligt sätt kan visa de data som sparas i loggfilerna. Som en del av detta visualiseringsprogram skulle en databas för kontinuerlig loggning införas där ugnens status kan visas under långa tidsperioder. Om dessa funktioner kan göras webbaserade så att användare inte behöver ladda ner programvara för att visa datan vore det positivt. För tillfället är produkten endast kompatibel med PLC:er av typen S7 1500 eller nyare då de har en inbyggda OPCUA-server. Dock är många av maskinerna produkten kan tänkas implementeras på av en äldre modell. För att kommunicera med dessa skulle en utökning av loggerprogrammet behöva utvecklas.

Längre fram skulle loggning av PLCer från andra företag kunna implementeras. Även lösnings- förslagen för viktmätningen kan produceras och implementeras. Kanske skulle ett användarvänligt konfigurationsverktyg för att ställa in enheten för mätning på nya maskiner kunna tas fram.

6.6 Samhällelig diskussion

Produkten kommer på sikt möjliggöra en förbättrad processkontroll av sintringen vilket ger upphov till ett antal positiva konsekvenser. Det minskar svinnet då färre producerade komponenter hamnar utanför specifikationerna på grund av felaktig sintringsprocess. På sikt kan även den kontinuerliga mätningen av processparametrarna möjliggöra en effektivisering av serviceintervallen då det är möjligt att se trenden i exempelvis zontemperatur och förutse när ersättning av komponenter måste ske. Dessa punkter är positiva ur både ett miljö och ekonomiskt perspektiv.

Eftersom produkten består av en extra extern processorenhet utöver de redan existerande kontrol- lenheterna för ugnen kommer den ge upphov till extra energiförbrukning, något som är negativt för miljö och ekonomi. Dock är den valda processorenhten, Raspberry pi en mycket energisnål sådan vilket begränsar denna negativa aspekt. Produkten innehåller dessutom inga giftiga eller miljöfarliga ämnen då alla komponenter och material följer RoHS-direktivet [21].

Då enheten har en logg som måste startas manuellt krävs interagering med den. För att minska den fysiska påfrestningen av denna dagliga interagering valdes att montera enheten på en ergonomisk arbetshöjd. Därav minimeras den rygg-böjning och ansträngningen för ögonen vid start, och eventuellt stopp, av den manuella loggern. Detta kan förbättras ytterligare med implementering av en större skärm. Eftersom produkten inte direkt mäter på ugnen utan istället utnyttjar de redan existerande styren- heterna är riskerna om något skulle gå fel med produkten inte lika stora. Dock finns det vissa områden som kan ge upphov till säkerhetsrisker. Om något går mycket fel med programmet kan det skriva ett värde till PLC:n istället för att läsa. om detta värde är mycket fel borde detta fångas upp av PLC:n under nästa processorcykel och orsaka larm. Om det inte fångas av PLC:n kan det leda till felregrlerade temperaturer i ugnen. Detta kan vara farligt för ugnen om det skrivna värdet är mycket fel. För att åtgärda detta potentiella problem kan OPCUA servern på PLCn enkelt konfigureras så att den förbjuder

Datalogger för sintringsugn Nygårds, E., Oliw, M.

skrivning.

Då luften innehåller ledande damm finns en risk att det hamnar vid strömuttaget och ger upphov till läckström eller ljusbågar. Detta kan leda till bränder eller att vanligtvis ej strömsatta saker blir strömförande. Risken för detta är dock extremt låg och eftersom det redan finns enheter som använder strömuttag ökar risken för detta inte speciellt mycket vid implementeringen av loggern.

Datalogger för sintringsugn Nygårds, E., Oliw, M.

7

Slutsatser

I detta kapitel ges svar på frågeställningarna ställda i kapitel 1.6 Frågeställningar. • Hur kan produkten göras lämpad för den industriella miljön?

Genom att tätt försegla mot intrång av ledande damm, avlasta kablage och vara stöttålig görs produkten så lämpad som möjligt för den industriella miljön, se kapitel 4.7.1. Då dammhalten i luften inte är extremt hög krävs inte en gastät förslutning. Det räcker därför med en tätning lik den i fig 21 som endast använder PETG:s förmåga till elastisk deformation istället för t.ex. gummi. Hade dammhalten i luften vart högre hade en tätning baserat på gummi varit en attraktiv lösning. • Hur kan datan lagras för att vara lättillgänglig samt lätt att visualisera?

Datan lagras i form av loggfiler i en mapp på Höganäs Onedrive moln där den lätt kan kommas åt av alla som har tillgång till mappen. Loggfilerna kan öppnas i Microsoft Excel eller dylikt där grafer lätt kan skapas för att visualisera förändringen av parametrarna över tid. Loggfilerna får au- tomatiskt olika namn på grund att de alltid börjar med datum och tid, oavsett dags- eller jobblogg. Jobbloggar får dessutom ett manuellt angivet namn efter datumet vilket gör att specifika jobb lätt kan hittas. Dessutom gör den inledande datum-indexeringen att filerna automatiskt sorteras i en kronologisk ordning, vilket underlättar sökning bland filerna.

• Kan produkten generaliseras för användning på olika maskiner?

Produkten kan användas på andra maskiner med mindre förändringar av programmet såtillvida de maskinerna kan driva en OPCUA server eller kommunicera seriellt via RS232. För att anpassas till en annan maskin måste dock alla förändringar göras i programmet istället för exempelvis en konfigurationsfil eller konfigurationsinterface, något som försvårar inkoppling av andra enheter. Dess fysiska konstruktion kan användas vid alla tänkbara maskiner och medger användning av Raspberryns alla usb och ethernet portar. Produktens generalisering begränsas även av kabelge- nomföringens dimensioner. Endast kablar med dimensioner likt de som används för inkopplingen i BU-92 passar i genomföringen utan modifiering på lådan.

• Hur kan viktmätning av pulverprodukter implementeras?

Viktmätningen kan implementeras på många olika sätt. Då färdiga produkter oftast är avsedda för produktionsindustri är de kraftigt överdimensionerade för detta projekts avseende. Därav kan det implementeras med antingen en färdigköpt våg, likt en köksvåg placerad innan påmatningsbandet, där skeppen vägs manuellt av en operatör, eller en egengjord automatisk lösning. En egen lösning kan göras med hjälp av lastceller. De mäter vikt med bra precision och kan köpas i små dimensio- ner, de är även billiga. Lastcellerna kan monteras förslagsvis under på- och avrampen för snabb vägning. De kan även sättas under påmatarbandet för att mäta vikten då skeppen står och väntar på att bli påmatade. Dock passar inte denna positionering särskilt bra för avmatarbandet.

• Hur kan produkten säkerställa exakta och konsistenta mätvärden över längre tid?

Produkten hämtar sina mätvärden i andra hand från redan existerande mätenheter, så länge dessa är kalibrerade och visar korrekta värden kommer produkten läsa av någorlunda korrekta värden. Specifikt för gasmätningen har loggern en kontroll som känner av ifall den läser daggpunkt eller kolmonoxid.

För viktmätningen skulle kalibrering och tester behövas. Om det väljs att vidareutveckla det framtagna huvukonceptet, se fig 12, behövs även en kontrollvåg. Skeppen vägs först på kon- trollvågen för att sedan läggas på påmatarbandet för att simulera en vanlig produktionsprocess. Därefter kalibreras lastcellerna för att ge så lika vikt som på kontrollvågen som möjligt.

Datalogger för sintringsugn Nygårds, E., Oliw, M.

REFERENSER

[1] Höganäs AB. Production of Sintered Components Höganäs Handbook for Sintered Components. 0675HOG. Höganäs AB, Höganäs, Sverige, 2013.

[2] Meijer, B, Leche, V, Nyström, JF, Warburg, K, Westrin, Th. Nordisk familjebok; Konversationslexikon och realencyk- lopedi, pp. 161–162. Iduns Kungl. Hofboktryckeri, Stockholm, 1904. http://runeberg.org/nfba/0093.html.

[3] Capillary action. https://science.jrank.org/pages/1182/Capillary-Action.html. Använd 2021.

[4] Trent D. Strain gauge load cell basics. https://www.800loadcel.com/ load-cell-and-strain-gauge-basics.html. Använd 2021.

[5] European Powder Metallurgy association. Epma intro to press and sinter. https://www.epma.com/ epma-free-publications/product/introduction-to-powder-metallurgy, 2019.

[6] https://www.hoganas.com/sv/. Använd 2021.

[7] Krb19. Sintering diagram. By Krb19 - Own work CC BY-SA 4.0 https://commons.wikimedia.org/w/index. php?curid=97430403, 2021.

[8] Raspberry Pi foundation. Raspberry pi. https://www.raspberrypi.org/. Använd 2021.

[9] Unipi technology. Unipi 1.1. https://www.unipi.technology/products/unipi-1-1-1-1-lite-19? categoryId=1&categorySlug=unipi-1-1. Använd 2021.

[10] Monarco hat. https://www.monarco.io/, 2021.

[11] Waywand B. What is a plc? https://www.mroelectric.com/blog/what-is-a-plc/. Använd 2021.

[12] Mixabest. Siemens simatic s7-416-3. By Mixabest - Own work, Public domain https://commons.wikimedia. org/wiki/File:Siemens_Simatic_S7-416-3.jpg. Använd 2021.

[13] OPC foundation. Unified architecture. https://opcfoundation.org/about/opc-technologies/opc-ua/. An- vänd 2021.

[14] Siemens. Siemens s7-1500 2019-05 the plc is digitalization ready. https://assets. new.siemens.com/siemens/assets/api/uuid:2bc20b1c-daf6-4354-8d93-9ee1ef6cf485/

Titelstory-Siemens-SIMATIC-S7-1500-EN-052019-V2.pdf. Använd 2021.

[15] FMS technology. Bmgz021 – robust measuring roller for flat conveyor belts. https://www.fms-technology.com/ en/productfinder/detail/measuring-roller/BMGZ021.

[16] KERN. Roller conveyor yro. https://www.kern-sohn.com/shop/en/ measurement-technology-components/platforms/YRO/.

[17] Loadstar Sensors. iweigh 8"x 8åeigh module. https://www.loadstarsensors.com/weighmodule.html.

[18] WIPOTEC OCS. Ec-nsw. https://www.wipotec-ocs.com/en/checkweighers/ec-nsw/.

[19] PCE Instruments. Portable industrial scale pce-pb 60n. https://www. pce-instruments.com/english/weighing-equipment/scales-and-balances/

industrial-scales-pce-instruments-portable-industrial-scale-pce-pb-60n-det_385869.htm.

[20] Ulrich, KT, Eppinger SD, Yang, MC. Product Design and Development. 5th ed. McGraw-Hill, New York, 2012.

[21] Restriction of hazardous substances in electrical and electronic equipment (rohs). https://ec.europa.eu/ environment/topics/waste-and-recycling/rohs-directive_sv. Använd 2021.

[22] Autodesk fusion 360. https://www.autodesk.com/products/fusion-360/overview?term=1-YEAR. Använd 2021.

[23] Onedrive. https://www.microsoft.com/en-ww/microsoft-365/onedrive/online-cloud-storage. An- vänd 2021.

[24] O’Connell J. Pla’s & petg’s glass transition temperatures explained. https://all3dp.com/2/ pla-petg-glass-transition-temperature-3d-printing/. Använd 2021.

[25] 2441 - tft+pekskärm för raspberry pi, adafruit. https://www.elfa.se/sv/ tft-pekskaerm-foer-raspberry-pi-adafruit-2441/p/30091183. Använd 2021.

[26] OPC foundation. Opc foundation sample graphical client. http://opcfoundation.github.io/UA-. NETStandard/help/ua_sample_client.htm. Använd 2021.

[27] Komplett. Raspberry pi 3 model b+. https://www.komplett.se/product/992021/datorutrustning/ datorkomponenter/moderkort/integrerad-cpu/raspberry-pi-3-model-b. Använd 2021.

[28] Aten. Uc232a. https://www.aten.com/se/sv/products/usb-&-thunderbolt/usb-converters/uc232a/. Använd 2021.

[29] CAS DataLoggers. Versalog vl-p. https://www.dataloggerinc.com/product/vl-p-pulse-data-logger/.

Datalogger för sintringsugn Nygårds, E., Oliw, M.

Använd 2021.

[30] Raspberry Pi foundation. Raspberry pi cpu management documentation. https://www.raspberrypi.org/ documentation/hardware/raspberrypi/frequency-management.md. Använd 2021.

Bilagor

Bilagsförteckning

B.1 Fysisk konstruktion . . . I

B.2 Dator . . . II

B.3 Koncept 1, se fig 11 . . . III

B.4 Koncept 2, se fig 11 . . . III

B.5 Koncept 3, se fig 11 . . . IV

B.6 Koncept 4, se fig 11 . . . IV

B.7 Koncept 5, viktplatta under påmatarbandet. . . V

B.8 Koncept 6, mätrulle på påmatarrampen . . . V

B.9 Koncept 7, avbrott i påmatarbandet för att göra plats åt drivna mätrullar. . . VI

B.10 Koncept 8, se fig 12 . . . VI

B.11 Koncept 9, se fig 13 . . . VII B.12 Koncept 10, se fig 13 . . . VII B.13 Koncept 11, se fig 14 . . . VII B.14 Dagsloggskod . . . VIII B.15 Jobbloggskod . . . XII

Datalogger för sintringsugn Nygårds, E., Oli w , M.

Figure B.1: Fysisk konstruktion

Datalogger för sintringsugn Nygårds, E., Oli w , M. Figure B.2: Dator II

Datalogger för sintringsugn Nygårds, E., Oliw, M.

Figure B.3: Koncept 1, se fig 11

Figure B.4: Koncept 2, se fig 11

Datalogger för sintringsugn Nygårds, E., Oliw, M.

Figure B.5: Koncept 3, se fig 11

Figure B.6: Koncept 4, se fig 11

Datalogger för sintringsugn Nygårds, E., Oliw, M.

Figure B.7: Koncept 5, viktplatta under påmatarbandet.

Figure B.8: Koncept 6, mätrulle på påmatarrampen

Datalogger för sintringsugn Nygårds, E., Oliw, M.

Figure B.9: Koncept 7, avbrott i påmatarbandet för att göra plats åt drivna mätrullar.

Figure B.10: Koncept 8, se fig 12

Datalogger för sintringsugn Nygårds, E., Oliw, M.

Figure B.11: Koncept 9, se fig 13

Figure B.12: Koncept 10, se fig 13

Figure B.13: Koncept 11, se fig 14

Datalogger för sintringsugn Nygårds, E., Oliw, M. Programkod Daglogger Figure B.14: Dagsloggskod #!/usr/bin/python3 import sys import os import time import datetime import serial import zc.lockfile

from datetime import date

from opcua import Client

from opcua import ua k1 = 0.0507962 m1 = 6.30911 k2 = 0.0506366 m2 = 0 try: startlock_dag=zc.lockfile.LockFile("startlock_dag") except zc.lockfile.LockError:

print("another instance of dagslogg is already running!") sys.exit()

print("we are the one and only")

if __name__ == "__main__":

client = Client("opc.tcp://192.168.0.1:4840") #defines the client object, input is server address, whatever the servers address is on the network it goes here

ser=serial.Serial("/dev/ttyUSB0", 9600, timeout=1)

try:

client.connect() #connects to server on plc

tempzon1 = client.get_node(’ns=3;s="50683ZON1_K171PV"’) #defines all the nodes and variables for the zones, This needs the NodeID for the tempzones, get them using a GUI client

tempzon2 = client.get_node(’ns=3;s="50683ZON2_K172PV"’) tempzon3 = client.get_node(’ns=3;s="50683ZON3_K173PV"’) tempzon4 = client.get_node(’ns=3;s="50683ZON4_K174PV"’) tempzon5 = client.get_node(’ns=3;s="50683ZON5_K175PV"’) tempzon6 = client.get_node(’ns=3;s="50683ZON6_K176PV"’)

tempzon1SP = client.get_node(’ns=3;s="50683ZON1_K171SP"’) #defines all the nodes and variables for the zones setpoint values, This needs the NodeID for the tempzones, get them using a GUI client

Datalogger för sintringsugn Nygårds, E., Oliw, M.

tempzon2SP = client.get_node(’ns=3;s="50683ZON2_K172SP"’) tempzon3SP = client.get_node(’ns=3;s="50683ZON3_K173SP"’) tempzon4SP = client.get_node(’ns=3;s="50683ZON4_K174SP"’) tempzon5SP = client.get_node(’ns=3;s="50683ZON5_K175SP"’) tempzon6SP = client.get_node(’ns=3;s="50683ZON6_K176SP"’)

bandsp = client.get_node(’ns=3;s="DB14"."Speed_SP"’) #defines variables for the rest of the parameters

bandpv = client.get_node(’ns=3;s="DB14"."Speed_PV"’)

while True: #Main infinite loop, will run forever unless CtrlC is used or sometheing causes a crash

date1 = datetime.datetime.now() #Takes current date, sets it as filename and defines the startday as whichever day it currently is

datepart = date1.strftime("%Y%m%d%H%M%S")

logname = (str(datepart) + "_BU92_Slow" + ".csv") log = open("/home/pi/Documents/dag/" + logname, "w+") start_date = (date.today()).isoweekday() print(start_date) log.write("Timestamp,Beltspeed,SetBeltspeed,H2,O2 EMK,Dew,CO,zone1,zone2,zone3,zone4,zone5,zone6,SPzone1,SPzone2,SPzone3,SPzone4,SPzone5,SPzone6,CPU Temp"+"\n") log.write("system time,mm/min,mm/min,%,mV,Celsius,%,Celsius,Celsius,Celsius,Celsius,Celsius,Celsius,Celsius,Celsius,Celsius,Celsius,Celsius,Celsius,Celsius,\n")

while start_date == (date.today()).isoweekday(): #main datagathering loop, runs as long as the weekday is the same as when the log started

print((date.today()).isoweekday())

#data stuff goes here

tempvalzon1 = round((tempzon1.get_value()*0.0505689 - 2.02276), 2)

#actually gets the values from the PLC, targets the variables earlier defined Correcting factor from curve of SP values

tempvalzon2 = round((tempzon2.get_value()*0.0505908 - 1.26477), 2) tempvalzon3 = round((tempzon3.get_value()*0.0506366), 2)

tempvalzon4 = round((tempzon4.get_value()*0.0505835 - 1.51751), 2) tempvalzon5 = round((tempzon5.get_value()*0.0506366), 2)

tempvalzon6 = round((tempzon6.get_value()*0.0506146 - 3.54302), 2) tempvalzon1SP = round((tempzon1SP.get_value()*k2 - m2), 2)

tempvalzon2SP = round((tempzon2SP.get_value()*k2 - m2), 2) tempvalzon3SP = round((tempzon3SP.get_value()*k2 - m2), 2) tempvalzon4SP = round((tempzon4SP.get_value()*k2 - m2), 2) tempvalzon5SP = round((tempzon5SP.get_value()*k2 - m2), 2) tempvalzon6SP = round((tempzon6SP.get_value()*k2 - m2), 2) bandspval = float(bandsp.get_value())/10

bandpvval = float(bandpv.get_value())/10 M1 = 0

M2 = 0 M3 = 0 M31 =0

Datalogger för sintringsugn Nygårds, E., Oliw, M.

M32 =0 j=True

while j==True:

try:

serialcontrol = zc.lockfile.LockFile("serialcontrol")

print(ser.name) ser.write(b’VV\r’) VV=ser.readline() print(VV) ser.write(b’M1\r’) M1=ser.readline() M1 = float(M1[2:]) print(M1) ser.write(b’M2\r’) M2=ser.readline() M2 = float(M2[2:]) print(M2) #ser.write(b’M3\r’) #M3=ser.readline() #M3 = float(M3[2:]) #print(M3) serialcontrol.close() j=False except zc.lockfile.LockError:

print("Serial port is, busy sleeping for a sec") time.sleep(1)

date2 = datetime.datetime.now() #takes current date and time for system

timestamp = date2.strftime("%H:%M:%S")

CPUTemp = os.popen(’vcgencmd measure_temp’).readline() CPUTemp.replace("temp=","").replace("’C\n", "")

if M3 < 0: M31=M3 elif M3>50: M1=0 M2=0 M31=0 M32=0 else: M32=M3 print(timestamp) print(str(CPUTemp))

print(str(tempvalzon1)) #prints momentary values to terminal

Related documents