• No results found

I projektet framkommer både för och nackdelar med PLC modellen TM221CE16R. En fördel är Machine Expert Basic programmet som gör inställning och programmering relativt enkelt jämfört med program som CODESYS. Då Machine Expert Basic i sin enkelhet begränsar möjligheterna att exempelvis tilldela datatyper till minnesobjekten behöver användaren endast i stort förstå hur %MW och %MD länkas samman och gränsvärdena för olika storlekar på signed integer.

Det framgick av resultatet att hämtning endast kan ske till minnesobjekt %MW och %SW. Då %SW främst används till fördefinierade funktioner är det säkrast att använda %MW ifall det kommer uppdatering till PLC:n som använder dessa minnesobjekt.

En annan fördel med denna PLC modell är att den är relativt billig på grund av sin begränsade kapacitet att lagra och skicka data. Det gör den fördelaktig för tillfällig loggning av data exempelvis vid diagnostisering av system där det finns misstanke att solpanelerna åldrats och det kanske saknas solinstrålningsgivare. PLC:n kan kopplas samman med en tillfällig solinstrålningsgivare då den har både matning till givaren och analog ingång alternativ Modbus RTU ingång för signalen samtidigt som ström, spänning, effekt med mera kan loggas från växelriktaren.

Nackdelen med PLC:n är att om loggad data har stora värden kan det kräva en del hantering av de loggade delregistren. Detta kan ske om växelriktaren varit i bruk länge och hunnit ackumulera stora värden på den totala effekten. En annan nackdel är att det inte går att skapa en säker uppkoppling mot internet utan någon extra apparat exempelvis en VPN router och även om detta görs går det inte att hämta loggad data från SD kort. Det betyder att loggning till SD kort inte är ett alternativ om syftet med att använda PLC:n är att skicka vidare loggad data. DATALOGblockens restriktioner för storleken på den totala loggningen till SD kortet blir också kraftigt begränsat speciellt om det ska ske kontinuerlig loggning under en längre tid.

I resultatet nämndes att den booleska variabeln BAK möjlighet att inte skriva över .BAK filer i SD kortet. Om booleska variabeln BAK används som villkor för att förhindra fortsatt loggning kommer ingen ny .csv fil loggas för det datablocket. Detta innebär att om alla fyra DATALOGblock används på detta sätt kommer bara max 2MB kunna lagras. Ett alternativ för att kringgå detta är om antalet loggningar i .BAK filen är känd. Då går det göra villkor tillsammans med den booleska variabeln BAK för att skapa både en någorlunda fylld .csv fil och en fylld .BAK fil.

Vid användning av VPN router finns även möjlighet att logga data direkt från växelriktaren, med eller utan PLC, på annan plats. Det vill säga Embriq kan använda vilken hårdvara och mjukvara de vill, som använder Modbus, från sitt kontor för att logga data från växelriktaren och/eller PLC.

Om det finns behov av att ha en PLC på plats finns det möjlighet att använda andra PLC modeller och märken med inbyggda funktioner som säkerställer säker överföring. Schneiders modell TM251MESE har funktioner för säker överföring via Ethernet (har ej WiFi). Den är ca 700kr dyrare (listpris när denna rapport skrevs) än TM221CE16R och har inbyggd webbserver, brandvägg och använder även protokollet OPC UA som är ett väl etablerat protokoll inom industrin för säker överföring av data. Modellen TM251MESE kan inte programmeras i Machine expert basic. Schneider erbjuder istället programmet Machine expert (ej basic) som liknar programmet CODESYS och innehåller fler möjligheter för inställning och programmering. Länk till nedladdning av Machine expert finns i bilaga B.

30

Med PLC på plats vid kommunikation med flera växelriktare i en större solcellspark, som dessutom kan ha olika märken på växelriktarna, går det att minska antalet överföringar över internet till Embriq. När en PLC används på plats kan denna samla in och sammanställa data från samtliga växelriktare som Embriq sedan kan hämta. Detta minskar datatrafiken över internet och det sänker kostnaden om VPN router används med abonnemang som debiterar varje överföring.

En fördel vid projektering av större solcellsparker är att välja växelriktare som använder sig av SunSpecs standardisering. SunSpecs standardisering av registren gör dem överskådliga och skalfaktorn sunssf gör det enkelt att hantera stora tal med färre minnesobjekt och hantera decimaltal utan att behöva använda datatypen float.

Vid användning av projektets PLC TM221CE16R kräver det en del hantering av de hämtade registren beroende på vilken datatyp och storlek de hämtade registren har. Vissa datatyper och storlekar kan hanteras direkt i PLC:s programmering exempelvis datatypen int16 eller uint32. Är storleken på registerobjektet 32-bit eller större och dessutom unsigned integer, kommer värdena behöva hanteras utanför PLC:n för att bli korrekta. Här är modellen TM251MESE ett bättre val då den inte har samma begränsningar på dess minnesobjekt när det gäller datatyp och storlek.

Till framtida implementering av resultaten i detta projekt är modellen TM221CE16R prisvärd att användas vid loggning av begränsad datamängd och när data inte ska skickas vidare samt om någon givare ska användas till implementeringen. Vid större datamängder som dessutom ska loggas innan de skickas vidare måste en annan PLC användas. Om vald PLC inte har möjlighet att skapa säker överföring av data tillkommer även VPN router eller liknande.

Ytterligare ett steg i framtida implementering är att använda innehållet i växelriktarens register och/eller möjligheten att styra olika parametrar i växelriktaren. En sådan styrning kan vara effektfaktorn. Växelriktaren i detta projekt har möjlighet att reglera effektfaktorn via Modbus TCP mellan 0,8 induktiv och 0,8 kapacitiv med en noggrannhet på 10−4.

Med tillgång till växelriktarens värden på exempelvis ström, spänning, effekt med mera på både AC och DC sidan finns det även möjlighet att göra analyser av systemet som växelriktaren befinner sig i exempelvis åldrandet av solpaneler som nämnts tidigare. I kombination med data från växelriktaren och annan data som exempelvis väder, effektförbrukning av det nät som växelriktaren är kopplad till, energilager som batteri och/eller vätgas går det med hjälp av maskininlärning göra statistiska analyser för att optimera både energiförbrukning och lagring i fastighet.

31

Referenser

[1] Simply Modbus. Frequently Asked Questions [Internet]. Simply Modbus; c2019 [citerad 2020-01-27]. Hämtad från: https://www.simplymodbus.ca/FAQ.htm#Modbus

[2] Mini T, McDonald J. Power System SCADA and Smart Grids. Broken Sound Parkway NW: Taylor & Francis Group; 2015.

[3] RealTimeAutomation. All You Need to Know About Modbus RTU [videofil]. 2010 [citerad 2020-01-28]. Hämtad från: https://www.youtube.com/watch?v=OvRD2UvrHjE&list=WL&index=9&t=0s

[4] ARC Electronics. RS-232 Data Interface a Tutorial on Data Interface and cables [Internet]. ARC Electronics; u.å. [citerad 2020-01-27]. Hämtad från: https://arcelect.com/rs232.htm

[5] Maxim integrated. RS-485 CABLE SPECIFICATION GUIDE [Internet]. Maxim integrated; c2001 [citerad 2020-01-27]. Hämtad från: https://www.maximintegrated.com/en/design/technical-documents/tutorials/7/763.html

[6] RealTimeAutomation. Serial Communication RS232 & RS485 [videofil]. 2012 [citerad 2020-01-28]. Hämtad från: https://www.youtube.com/watch?v=2DQdEHvnqvI&list=WL&index=6&t=0s

[7] OPTCORE. What is the difference between RS-232, RS-422, and RS-485? [Internet]. OPTOCORE; 2018 [citerad 2020-01-27]. Hämtad från: https://www.optcore.net/difference-between-rs-232-rs-422-and-rs-485/

[8] RE Smith. QUICK REFERENCE FOR RS485, RS422, RS232 AND RS423 [Internet]. RE Smith; u.å. [citerad 2020-01-27]. Hämtad från: http://www.rs485.com/rs485spec.html

[9] Windmill Software Ltd. RS485 Reference Guide [Internet]. Windmill Software Ltd; 2016 [citerad 2020-01-29]. Hämtad från: https://www.windmill.co.uk/rs485.html

[10] Molin B. Analog elektronik. 2. uppl. Lund: Studentlitteratur; 2009.

[11] Real Time Automation. Modbus [Internet]. Real Time Automation; u.å. [citerad 2020-01-29]. Hämtad från: https://www.rtautomation.com/technologies/modbus/

[12] Modbus. MODBUS over Serial Line Specification and Implementation Guide V1.02 [Internet]. Modbus; 2006 [citerad 2020-01-29]. Hämtad från:

http://www.modbus.org/docs/Modbus_over_serial_line_V1_02.pdf

[13] Modbus. MODBUS MESSAGING ON TCP/IP IMPLEMENTATION GUIDE V1.0b [Internet]. Modbus; 2006 [citerad 2020-01-29]. Hämtad från:

http://www.modbus.org/docs/Modbus_Messaging_Implementation_Guide_V1_0b.pdf

[14] Modbus. MODBUS APPLICATION PROTOCOL SPECIFICATION V1.1b3 [Internet]. Modbus; 2012 [citerad 2020-01-29]. Hämtad från:

http://www.modbus.org/docs/Modbus_Application_Protocol_V1_1b3.pdf

[15] Control Solutions Minesota. Modbus 101 – Introduction to Modbus [Internet]. Modbus; u.å. [citerad 2020-01-29]. Hämtad från: https://www.csimn.com/CSI_pages/Modbus101.html

[16] SunSpec. About the SunSpec alliance [Internet]. SunSpec; u.å. [citerad 2020-03-10]. Hämtad från: https://sunspec.org/about/

32

[17] SMA. SunSpec® Modbus Interface for SUNNY BOY / SUNNY TRIPOWER [Internet]. SMA; c2014-2015 [citerad 2020-03-10]. Hämtad från:

https://www.sma.de/fileadmin/content/landingpages/pl/FAQ/SunSpec_Modbus-TI-en-15.pdf

[18] Rinaldi S. J. Modbus The Everyman’s Guide to Modbus. Scotts Valley: Createspace Independent Publishing Platform; 2015.

[19] Hemert L. Digitala kretsar. 3. uppl. Lund: Studentlitteratur; 2001.

[20] SunSpec. SunSpec Information Model Specification [Internet]. SunSpec; c2015 [citerad 2020-03-10]. Hämtad från: https://sunspec.org/wp-content/uploads/2015/06/SunSpec-Information-Models-12041.pdf

[21] Schneider Electric. EcoStruxure Machine Expert – Basic Generic Functions Library Guide

[Internet]. Schneider Electric; c2018 [citerad 2020-03-11]. Hämtad från: https://download.schneider-electric.com/files?p_enDocType=User+guide&p_File_Name=EIO0000003289.00.pdf&p_Doc_Ref=EIO 0000003289

[22] Schneider Electric. Modicon M221 Logic Controller Hardware Guide [Internet]. Schneider Electric; c2018 [citerad 2020-03-11]. Hämtad från:

https://download.schneider-electric.com/files?p_enDocType=User+guide&p_File_Name=EIO0000003313.00.pdf&p_Doc_Ref=EIO 0000003313

[23] RealTimeAutomation. Modbus Data structure [videofil]. 2012 [citerad 2020-03-11]. Hämtad från:

https://www.youtube.com/watch?v=8FYFai21JPA

[24] OpenVPN. Site-To-Site VPN Routing Explained In Detail [Internet]. OpenVPN; u.å. [citerad 2020-06-02]. Hämtad från: https://openvpn.net/vpn-server-resources/site-to-site-routing-explained-in-detail/

33

36

Bilaga B

Utrustning

Teknisk information om PLC TM221CE16R - https://www.se.com/se/sv/product/download-pdf/TM221CE16R

Teknisk information om solcellerna - https://shop.solelgrossisten.se/Media/filarkiv/tsmc/tsmc-cigs-specifikationer_c2.pdf

Teknisk information om växelriktaren Sunny tripower 3.0 - https://files.sma.de/downloads/STP3-6-3AV-40-DS-en-20.pdf

Teknisk information om switchen NETGEAR GS105v5 -

https://www.netgear.com/images/datasheet/switches/GS105v5_GS108v4_DS.pdf

Teknisk information om router eWON cosy 131 - https://ewon.biz/docs/librariesprovider10/ewon-english/datasheets/datasheet_ewon-cosy-131.pdf

Teknisk information om spänningsaggregat Mean Well MD-60-24 - https://www.meanwell-web.com/content/files/pdfs/productPdfs/MW/Mdr-60/MDR-60-spec.pdf

Modbus och SunSpec i växelriktare

Teknisk information om Modbus och SunSpec i växelriktaren -

https://www.sma.de/fileadmin/content/landingpages/pl/FAQ/SunSpec_Modbus-TI-en-15.pdf

Mjukvara

EcoStruxure Machine Expert Basic

-https://www.se.com/ww/en/download/document/Machine_Expert_Basic/

EcoStruxure Machine Expert - https://www.se.com/ww/en/product-range/2226-ecostruxure-machine-expert/?filter=business-1-industrial-automation-and-control&parent-subcategory-id=5140

Wireshark - https://www.wireshark.org/

Modbus poll - https://www.modbustools.com/modbus_poll.html

Modbus Slave - https://www.modbustools.com/modbus_slave.html

Modbus tester - https://www.se.com/us/en/faqs/FA180037/

Sunny explorer - https://www.sma.de/en/products/monitoring-control/sunny-explorer.html

37

Bilaga C

Program i Machine expert basic

Samtliga nätverksobjekt som används har konfigurerats i Channel assistant. Se Figur 14 och Figur 15. Alla kanaler är inställda att hämta register med funktionskod 0x03. Koden är skriven med formatet instruction list och kan kopieras in i Machine expert basic som sedan kan konverteras om till formatet ladderdiagram. Samtliga inställningar i räknaren och DATALOGblocket kan inte göras med formatet instruction list.

Inställning för räknarens värde måste göras i formatet ladderdiagram. Genom att dubbelklicka på räknaren när det visas i formatet ladderdiagram kommer fönstret under ladderdiagramet få rubriken Counter properties där en lista med samtliga räknare visas. Under rubriken Preset väljs det värde som vald räknare ska räkna till.

Inställningarna för vilka minnesobjekt som ska loggas, om tidsstämpel ska loggas samt storleken på .scv filen väljs genom att dubbelklicka på DATALOGblocket när det visas i formatet ladderdiagram. Fönstret under ladderdiagramet kommer få rubriken Data logging properties där en lista med samtliga DATALOGblock visas. Där används knappen under rubriken Configuration till det DATALOGblock som används för att öppna upp det fönster där DATALOGblocket kan konfigureras.

Rung Kod Förklaring

Rung 0 LD [ %IWNS300 <> 2 ] ST %M1

%IWNS300 innehåller siffra med diagnos för uppkopplingen med Modbus. Mindre än 2 är kommunikation OK annars sätter en logisk etta i %M1. Om det skulle bli något fel på kommunikationen måste den återställas med en logisk etta i %M1.

Rung 1 LD 1

[ %MW10 := %IWN300.0.0 ] [ %MW11 := %IWN300.0.1 ]

Hämtning av datatyp uint32. Från registerblocket på 32-bit hämtas 2st 16-bit delregister. Rung 2 LD 1

[ %MD10 := CONCATW ( %MW11 , %MW10 ) ]

Hämtning från uint32 har sparats till %MW. CONCATW() används för att lägga delregistren i rätt ordning i %MD Rung 3 LD 1 [ %MW20 := %IWN300.1.0 ] [ %MW21 := %IWN300.1.1 ] [ %MD0 := CONCATW ( %MW21 , %MW20 ) ]

Hämtar datatypen string från två register i växelriktare.

Rung 4 LD 1

[ %MW30 := %IWN300.2.0 ]

38 Rung 5 LD %MW30:X1

ST %M2

Extraherar bit ur det hämtade värdet från datatypen bifield i rung 4. Måste göras i egen rung.

Rung 6 LD 1

[ %MW40 := %IWN300.3.0 ]

Hämtar datatyp enum16. Rung 7 LD 1

[ %MW50 := %IWN300.4.0 ]

Hämtar datatypen sunssf. Rung 8 BLK %C0 LD %M7 R LD SB_TB1S CU OUT_BLK LD D ST %M7 END_BLK

Räknare som används för att logga värden var 5:e sekund. Minnesbiten %M7 används för att återställa räknaren när den uppnått sitt inställda värde som är 5 och för att ge logisk etta till DATALOGblocket för att exekvera loggning. Systembit SB_TB1S är inbyggd funktion som ger logisk etta 0,5 sekunder och logisk nolla 0,5 sekunder. Den används för att räkna upp ett steg varje sekund. Rung 9 BLK %DATALOG0 LDR %M7 ANDN %M2 EXECUTE OUT_BLK LD BAK ST %M2 END_BLK DATALOGblock nummer 0. DATALOGblocket exekverar loggning när minnesbit %M7 tilldelas logisk etta av räknaren. Minnesbit %2M används som exempel för att förhindra loggning när .BAK fil är skapad av DATALOGblocket.

39 Pythonkod för att ändra datumformat i .csv fil

##################################################################################

import pandas as pd

#Läs .csv fil. Byt till rätt namn på .csv filen i raden under! Exempelvis datalog0 eller datalog1.

vxl = pd.read_csv('NAMN.csv', sep=';')

#Gör om datumformatet till yyyy-MM-dd.

vxl['Timestamp'] = pd.to_datetime(vxl['Timestamp'],

dayfirst=True)

#Sparar till ny csv med namnet Ny_Timestamp.

vxl.to_csv('Ny_Timestamp.csv', sep=';', index = False)

Related documents