Skriv din egen Modbus-enhetsintegration för SmartgridOne. En praktisk guide för att skapa drivrutiner, med video, mätvärdesmappning, styrlogik och testning.
Den här guiden riktar sig till installatörer och integratörer som vill skriva en egen enhetsintegration utifrån en tillverkares Modbus-registerkarta. Den omfattar att skapa en drivrutin, mappa mätvärden, implementera styrkommandon och validera resultatet.
och din sol gjorde för dig.Anpassade Modbus-drivrutiner-modulen kan du själv integrera en Modbus-enhet med SmartgridOne utan att behöva en Eniris-programmerare för att bygga integrationen. I en controllers driftsättningsgränssnitt beskriver du hur enheten identifieras, hur dess mätvärden läses och hur den styrs. Den här guiden använder ett praktiskt exempel: den inbyggda Playground-hybridväxelriktaren.
Se den fullständiga genomgången ovan: cirka 30 minuter, med nederländsk berättarröst och kapitel. Den följer driftsättningsgränssnittet från att skapa en drivrutin till att testa, spara och återanvända den.
I SmartgridX, öppna SmartgridOne-vyn, gå till Inställningar, välj din controller och öppna Controllerkonfiguration. Se Att komma åt driftsättningsgränssnittet för fullständiga åtkomstinstruktioner.
Välj följande i driftsättningsgränssnittet: Enheter → Anpassade Modbus-drivrutiner → Hantera anpassade drivrutiner.
Kontrollera först om det finns en lämplig befintlig drivrutin. Om du vill bygga en egen behöver du tillverkarens Modbus-handbok eller registerkarta för exakt modell och firmware. Den måste beskriva registeradresser, datatyper, enheter, skalning och tillåtna läs-/skrivåtgärder. För styrning behöver du även den sekvens som krävs för att aktivera extern styrning, skriva börvärden och återgå till automatisk drift.
Du behöver enhetens anslutningsuppgifter: en IP-adress, TCP-port och Modbus-adress, eller controllerns RS485-port och enhetens seriella inställningar. Med Playground kan du lära dig arbetsflödet innan du ansluter fysisk utrustning.
Klicka på Ny drivrutin, ge den ett tydligt namn, välj varumärke och välj exemplet Playground-hybridväxelriktare. Då får du en fungerande drivrutin att utforska. Du kan också börja med en tom typ av enhet som stöds när du bygger en egen integration.
Öppna Test som den externa signaldatorn och klicka på Playground-hybridväxelriktare under Anslutning att testa på, och klicka på Anslut. Kontrollera Identifiering, granska sedan mätvärdena och den simulerade installationen. Registerlista öppnar exempelprogrammets registerkarta bredvid redigeraren.
Playground simulerar en 10 kW trefasväxelriktare med 8 kW solceller, ett 10 kWh-batteri, en nätmätare och en backuputgång. Solljus och belastningar ändras så att du kan observera mätvärden och styrbeteende. Detta är simulerade enheter i controllern; exempelprogrammets adresser och inställningar gäller specifikt för dem.
Redigeraren är organiserad enligt följande:
| Flik | Det här gör du här |
|---|---|
| Drivrutin | Beskriv drivrutinen, dokumentationen, standardvärden för anslutning och installatörsfrågor. |
| Enhetsstruktur | Definiera enheten och dess komponenter, mätvärden, identifiering och styralternativ. |
| Kommandologik | Översätt kommandon till de registeråtgärder som enheten kräver. |
| Test | Testa den aktuella drivrutinen och granska dess avläsningar och kommandon. |
| Live | Följ enheter som redan använder drivrutinen. |
| Historik | Jämför och hämta sparade versioner. |
I Drivrutin, ange information om modeller som stöds och dokumentera vilket protokoll dokumentet drivrutinen följer. Ett tydligt namn, en modellista och en dokumentversion hjälper en annan installatör att avgöra om drivrutinen passar utrustningen.
Ange tillverkarens standardvärden för anslutningen. För Modbus TCP ska nätverksporten skiljas från Modbus-adressen, som även kallas enhets-ID. För RS485 måste baudrate, paritet, databitar och stoppbitar matcha enheten. Ytterligare sökinställningar kan hjälpa till att hitta utrustning med andra konfigurationer, men fler kombinationer gör sökningen långsammare.
Indata för drivrutinsanvändare låter installatören besvara frågor när en enhet läggs till. Playground frågar till exempel om växelriktarens nätmätare är ansluten och om batteriet får laddas från nätet. Använd dessa indata när en drivrutin ska stödja flera installationsvarianter.
I Enhetsstruktur, skapa de komponenter som enheten faktiskt tillhandahåller. En hybridväxelriktare kan innehålla en totalsumma för solceller, MPPT-ingångar, strängar, en batteritotal och individuella batterier. Lägg till en nätmätare eller backuputgång när enheten tillhandahåller dessa mätvärden.
Välj en komponent och koppla dess register. Varje rad identifierar vad som mäts, adressen, registertypen, datatypen, skalningsfaktorn och enheten. För effekt och ström ska du även ange vad ett positivt registervärde betyder. Placera batterimätningar på batteriet och solcellsmätningar på lämplig solcellskomponent.
Börja med identifiering och några mätvärden som du kan kontrollera. För exempelväxelriktaren ger spänning L1-N och frekvens rimliga identifieringsvärden. Lägg sedan till effekt, batteriets laddningsnivå, energiräknare och andra användbara värden. Styrda komponenter behöver motsvarande effektmätningar, antingen direkt eller härledda från lämpliga avläsningar.
Håll identifiering och märkdata åtskilda från aktuella mätvärden. Tillverkare, modell, serienummer och nominell effekt beskriver enheten; mätvärden visar dess aktuella drift. Koppla statusvärden som Kör eller Standby separat från larmkoder eller bitar. Ge larm tydlig text och rätt allvarlighetsgrad så att installatören kan förstå problemet.
Välj det styralternativ som motsvarar registren i tillverkarens protokoll. Detta avgör vilka börvärden och gränser SmartgridOne tillhandahåller till kommandologiken.
Playground använder Batteribörvärde och solcellsgräns. SmartgridOne kan begära en laddnings- eller urladdningseffekt för batteriet och oberoende begränsa solcellsproduktionen. Andra enheter kanske endast stöder ett batteribörvärde, endast en solcellsgräns, ett AC-börvärde för växelriktaren eller övervakning utan styrning.
Ett börvärde begär ett mål; en gräns anger ett maximum. Om solcellsproduktionen begränsas till 4 kW produceras inte 4 kW när solljuset är otillräckligt. Skilj också växelriktarens AC-anslutningar från anläggningens nätanslutningspunkt: ett register som styr den ena styr inte automatiskt den andra.
Konfigurera watchdog enligt protokollet. Den gör att utrustningen kan återgå till sin egen drift om kommandon slutar komma. Playground-exemplet skriver 300 sekunder till nedräkningsregister 1005 och upprepar kommandon var 20:e sekund. Andra enheter kräver en räknare som ändras, växlande värden eller en bitväxling. Återställningen av watchdog och inställningen för dess timeout kan vara separata register.
I Kommandologik, följ de heldragna grå ledningarna mellan triangulära portar för att se åtgärdernas ordningsföljd. Färgade prickade ledningar mellan runda portar överför värden. Dessa två anslutningar förklarar både vad som händer och vilket värde som används.
Playground visar följande omvandlingar:
| Åtgärd | Exempel på implementering |
|---|---|
| Aktivera fjärrstyrning | Skriv 1 till register 1000, ett 16-bitars osignerat värde, med funktion 6. |
| Skriv batteriets börvärde | Vänd tecknet med Negera, och skriv sedan ett 32-bitars signerat värde som börjar vid 1001, med funktion 16 för dess två register. |
| Skriv solcellsgränsen | Omvandla den begärda effekten till en procentandel av exempelprogrammets solcellskapacitet på 8 kW och skriv sedan procentandelen till 1003. |
| Frigör enheten | I Frigöringslogik, skriv 0 på 1000 för att återställa automatisk egenförbrukning. |
SmartgridOne använder positiv batterieffekt för laddning. Exempelenheten använder positiv effekt för urladdning. En slutlig begäran om laddning med +3 000 W blir därför −3 000 i dess register. Det fullständiga exemplet begränsar dessutom ändringar till 2 kW per efterföljande kommando, så mellanvärden kan avvika medan den rör sig mot den begärda effekten.
För solceller ger 4 kW dividerat med 8 kW 50 %. Använd rätt referens: exempelprogrammets solcellskapacitet är 8 kW, medan växelriktarens nominella AC-effekt är 10 kW. En verklig enhet kan använda en annan referens eller skalning.
Kontrollera felhantering såväl som det normala flödet. Om aktivering av fjärrstyrning misslyckas kan det till exempel vara olämpligt att därefter skriva börvärdet. Utgången Vid undantag kan hantera en misslyckad åtgärd; utan en ansluten fortsättning stoppar undantaget kommandot. Avsluta normala flöden med Återvänd från kommando.
Den Test-fliken kör drivrutinen som för närvarande visas i redigeraren, inklusive osparade ändringar. Börja med Playground och upprepa sedan kontrollerna på den avsedda utrustningen.
På en fysisk enhet får testkommandon och manuella skrivningar verkliga effekter. Välj utrustning som får styras under testet. Gränssnittet identifierar även anslutningar som inte kan användas samtidigt med en installerad enhet.
För felsökning, använd manuella registerläsningar och Råa ramar. Illegal function anger en åtgärd som inte stöds; illegal data address anger ett ogiltigt eller otillgängligt register; illegal data value betyder att det begärda värdet inte accepteras. Kontrollera detta mot protokollet innan du ändrar drivrutinen.
Åtgärda problemen i problemlistan och verifiera testresultaten. Klicka sedan på Spara. Ett utkast med blockerande problem kan sparas, men kan inte användas för att lägga till en ny enhet. En befintlig senast giltig drivrutinsversion fortsätter att köras när den är tillgänglig.
Lägg till en enhet öppnar den vanliga guiden med denna drivrutin vald. Den använder den sparade versionen, så spara först. Välj den verkliga anslutningen och besvara installatörsfrågorna. När du har lagt till enheten kontrollerar du dess identifiering, mätvärden och funktion igen. Att spara en drivrutinsdefinition och att lägga till utrustning i installationen är separata steg.
Använd Live för att inspektera installerade enheter, deras mätvärden och de senaste kommandona. Drivrutiner som redan används av enheter öppnas skrivskyddade. Efter Lås upp redigering kan ändringar påverka dessa enheter. Att tillfälligt tillämpa kommandologik på en enhet skiljer sig från Spara, vilket uppdaterar den sparade drivrutin som används av alla dess enheter. Följ meddelandena i redigeraren när en strukturell ändring eller en ändring av identifieringen kräver ytterligare åtgärder.
Historik gör det möjligt att jämföra versioner och fästa en namngiven ögonblicksbild. Återgå till den här versionen återställer den som osparade ändringar; spara för att fortsätta från den. Export laddar ned den sparade drivrutinen som JSON, utan osparade redigeringar. Använd Importera en drivrutin på en annan controller för att återanvända den. Kontrollera om du importerar en separat kopia eller ersätter en befintlig drivrutin. En drivrutin som kräver en nyare motor behöver kompatibel controllersoftware. Distribution via drivrutinsarkivet är separat från att spara på denna controller.
Använd den nollbaserade adress som överförs på bussen. Om en manual använder hållregisternotation av typen 40001 motsvarar 40101 adress 100; subtrahera inte denna bas när manualen redan anger bussadresser.
Matcha datatyp, skalning, enhet samt ordningsföljd för ord och byte. För ett register i steg om 0.1 V betyder råvärdet 2301 230.1 V. Signerade värden kan vara negativa; osignerade värden kan inte vara det. Konfigurera Inget värde när endast för specialkoder som dokumenteras av tillverkaren.
Beräknade mätvärden kan summera fasernas effekter eller multiplicera likspänning med likström. För växelström ger spänning multiplicerat med ström skenbar effekt, inte automatiskt aktiv effekt. Matematik- och logikblock anpassar kommandon med omvandlingar, villkor, begränsningar eller tidsstyrning. Variabler behåller värden mellan kommandon; deras uppdateringar blir tillgängliga för nästa kommando och återställs efter en omstart av controllern. Funktioner grupperar logik som du vill återanvända.
Använd (?)-knapparna för förklaringar av fält och block samt Hjälp → Självstudie för ett guidat exempel. Hjälp mig att skriva en ny drivrutin med AI kan hjälpa till att förbereda en drivrutin från manualen med Ask Niri. Kontrollera de resulterande adresserna, omvandlingarna och styrsekvensen mot tillverkarens dokumentation och dina testresultat.