Gå til innhold
  • Bli medlem
Støtt hjemmeautomasjon.no!

Modbus


Anbefalte innlegg

Jeg har i noen tid nå hatt en HA nummer 2 kjørende på en RPi Zero. Denne har jeg hatt et lite ønske om å terminere fordi HA ikke lenger er støttet på en så svak "dings". Jeg brukte den kun for å lese inn data fra ventilasjonsanlegget via modbus og publisere dette på MQTT og det har fungert rimelig greit.

Men så fikk esphome plutselig støtte for modbus den også og da ble det til at jeg tenkte enda mer alvorlig på dette. Esphome viste seg å være like lett å sette opp til å lese modbus som det meste annet som er enkelt med esphome. Kan varmt anbefales. Hardware kostet meg ca 100kr hos artigereliv.no
Det gjenstår å finne en egnet boks å ha kretskortene i.......

image.thumb.png.e068e0d44e021c4c7be86693ad203b51.png

K3C_7106.thumb.jpg.5260117e3d697fc906a273f72de865f7.jpg

 

esphome:
  name: ventilasjon
  platform: ESP32
  board: esp-wrover-kit

wifi:
  ssid: "HEIME5.ORG"
  password: !secret heime_wifi
  domain: .lan

preferences:
  flash_write_interval: 48h

  # Enable fallback hotspot (captive portal) in case wifi connection fails
  #ap:
  #  ssid: "Stue Co2 Fallback Hotspot"
  #  password: "ppHXTW3jIUEL"

#captive_portal:

# Enable logging
logger:
  level: DEBUG
  baud_rate: 0

# Enable Home Assistant API
api:

ota:

uart:
  id: mod_uart
  tx_pin: 17
  rx_pin: 16
  baud_rate: 9600
  stop_bits: 1

modbus:
  id: modbus1
  uart_id: mod_uart
  flow_control_pin: 5
  send_wait_time: 1000ms

modbus_controller:
  - id: heru
    ## the Modbus device addr
    address: 1
    modbus_id: modbus1
    command_throttle: 1000ms
    update_interval: 10s
    
switch:
  - platform: modbus_controller
    modbus_controller_id: heru
    register_type: coil
    address: 3
    name: "ventilation_away_mode"
  - platform: modbus_controller
    modbus_controller_id: heru
    register_type: coil
    address: 4
    name: "ventilation_alarm_reset"
  - platform: modbus_controller
    modbus_controller_id: heru
    register_type: coil
    address: 2
    name: "ventilation_boost_mode"
  - platform: modbus_controller
    modbus_controller_id: heru
    register_type: coil
    address: 1
    name: "ventilation_overpressure_mode"
  - platform: modbus_controller
    modbus_controller_id: heru
    register_type: coil
    address: 0
    name: "ventilation_unit_on"

select:
  - platform: modbus_controller
    name: "ventilation_boost_speed"
    address: 25
    value_type: U_WORD
    optionsmap:
      "Høy": 4
      "Lav": 3
  - platform: modbus_controller
    name: "ventilation_electric_heater_connected"
    address: 50
    value_type: U_WORD
    optionsmap:
      "Tilkoblet": 1
      "Frakoblet": 0

sensor:
  - platform: modbus_controller
    modbus_controller_id: heru
    name: "ventilation_outdoor_temperature"
    register_type: read
    address: 1
    value_type: S_WORD
    unit_of_measurement: "°C"
    device_class: temperature
    accuracy_decimals: 1
    filters:
      - multiply: 0.1
      - or:
        - throttle: 30min
        - delta: 2.0
  - platform: modbus_controller
    modbus_controller_id: heru
    name: "ventilation_supply_air_temperature"
    register_type: read
    address: 2
    value_type: S_WORD
    unit_of_measurement: "°C"
    device_class: temperature
    accuracy_decimals: 1
    filters:
      - multiply: 0.1
      - or:
        - throttle: 30min
        - delta: 2.0
  - platform: modbus_controller
    modbus_controller_id: heru
    name: "ventilation_exhaust_air_temperature"
    register_type: read
    address: 3
    value_type: S_WORD
    unit_of_measurement: "°C"
    device_class: temperature
    accuracy_decimals: 1
    filters:
      - multiply: 0.1
      - or:
        - throttle: 30min
        - delta: 2.0
  - platform: modbus_controller
    modbus_controller_id: heru
    name: "ventilation_waste_air_temperature"
    register_type: read
    address: 4
    value_type: S_WORD
    unit_of_measurement: "°C"
    device_class: temperature
    accuracy_decimals: 1
    filters:
      - multiply: 0.1
      - or:
        - throttle: 30min
        - delta: 2.0
  - platform: modbus_controller
    modbus_controller_id: heru
    name: "ventilation_heat_recovery_wheel_temperature"
    register_type: read
    address: 6
    value_type: S_WORD
    unit_of_measurement: "°C"
    device_class: temperature
    accuracy_decimals: 1
    filters:
      - multiply: 0.1
      - or:
        - throttle: 30min
        - delta: 2.0
  - platform: modbus_controller
    modbus_controller_id: heru
    name: "ventilation_current_supply_fan_speed"
    register_type: read
    address: 26
    value_type: S_WORD
    unit_of_measurement: "rpm"
    filters:
      - or:
        - throttle: 30min
        - delta: 50.0
  - platform: modbus_controller
    modbus_controller_id: heru
    name: "ventilation_current_exhaust_fan_speed"
    register_type: read
    address: 27
    value_type: S_WORD
    unit_of_measurement: "rpm"
    filters:
      - or:
        - throttle: 30min
        - delta: 50.0
  - platform: modbus_controller
    modbus_controller_id: heru
    name: "ventilation_current_heating_power"
    register_type: read
    address: 28
    value_type: S_WORD
    unit_of_measurement: "W"
    filters:
      - multiply: 6.6667
      - or:
        - throttle: 30min
        - delta: 5.0
  - platform: modbus_controller
    modbus_controller_id: heru
    name: "ventilation_current_heat_cold_recovery_power"
    register_type: read
    address: 29
    value_type: S_WORD
    unit_of_measurement: "%"
    filters:
      - multiply: 0.3921569
      - or:
        - throttle: 30min
        - delta: 5.0

number:
  - platform: modbus_controller
    modbus_controller_id: heru
    name: "ventilation_temperature_setpoint"
    register_type: holding
    address: 1
    value_type: S_WORD
    unit_of_measurement: "°C"
    min_value: 15
    max_value: 30
    
binary_sensor:
  - platform: modbus_controller
    modbus_controller_id: heru
    name: "ventilation_exhaust_fan_alarm"
    register_type: discrete_input
    address: 21
  - platform: modbus_controller
    modbus_controller_id: heru
    name: "ventilation_exhaust_filter_alarm"
    register_type: discrete_input
    address: 23
  - platform: modbus_controller
    modbus_controller_id: heru
    name: "ventilation_filter_timer_alarm"
    register_type: discrete_input
    address: 24
  - platform: modbus_controller
    modbus_controller_id: heru
    name: "ventilation_freeze_alarm"
    register_type: discrete_input
    address: 12
  - platform: modbus_controller
    modbus_controller_id: heru
    name: "ventilation_freeze_protection_a_level"
    register_type: discrete_input
    address: 26
  - platform: modbus_controller
    modbus_controller_id: heru
    name: "ventilation_freeze_protection_b_level"
    register_type: discrete_input
    address: 25
  - platform: modbus_controller
    modbus_controller_id: heru
    name: "ventilation_low_rotor_temperature_alarm"
    register_type: discrete_input
    address: 14
  - platform: modbus_controller
    modbus_controller_id: heru
    name: "ventilation_low_supply_alarm"
    register_type: discrete_input
    address: 13
  - platform: modbus_controller
    modbus_controller_id: heru
    name: "ventilation_supply_filter_alarm"
    register_type: discrete_input
    address: 22
  - platform: modbus_controller
    modbus_controller_id: heru
    name: "ventilation_pulser_alarm"
    register_type: discrete_input
    address: 19
  - platform: modbus_controller
    modbus_controller_id: heru
    name: "ventilation_rotor_alarm"
    register_type: discrete_input
    address: 10
  - platform: modbus_controller
    modbus_controller_id: heru
    name: "ventilation_startup_1st_phase"
    register_type: discrete_input
    address: 27
  - platform: modbus_controller
    modbus_controller_id: heru
    name: "ventilation_startup_2nd_phase"
    register_type: discrete_input
    address: 28
  - platform: modbus_controller
    modbus_controller_id: heru
    name: "ventilation_supply_fan_alarm"
    register_type: discrete_input
    address: 20
  - platform: modbus_controller
    modbus_controller_id: heru
    name: "ventilation_temp_sensor_open_circuit_alarm"
    register_type: discrete_input
    address: 17
  - platform: modbus_controller
    modbus_controller_id: heru
    name: "ventilation_temp_sensor_short_circuit_alarm"
    register_type: discrete_input
    address: 18

 

  • Like 6
  • Thanks 2
Lenke til kommentar
Del på andre sider

Takk for info!

 

Jeg har en Systemair VTR300, og har til nå brukt deres Internet Access Module som en Modbus TCP gateway, men det har bare fungert sånn passe fram til nå.

 

Hadde egentlig tenkt å prøve meg på gskjold sitt mqtt adapter, men da måtte jeg først ha satt meg inn i en del om PlatformIO som er nytt for meg. ESPHome er jo ganske plug & play, så det tok bare en time eller to å koble opp og flytte Modbus-konfigurasjon fra HA til en ESP32 med hjelp fra posten over.

 

Fin bonus å kunne bruke ESPHome sitt sensor filter for å unngå å spamme HA med repeterende verdier.

 

Ang. egnet boks så bruker jeg bare en liten koblingsboks fra Biltema til 30-40 kroner, med noen monteringsplater til strips for å feste elektronikken inni. På teknisk rom trenger det ikke være allverdens pent for min del.

Endret av RVM
  • Like 1
Lenke til kommentar
Del på andre sider

Ser veldig bra ut 👍Hvilket aggregat har du @stigvi ?
Har akkurat bestilt Systemair VSR 300 men både touch skjerm og Wifi/internett modul er det ikke levering før ut i muligens desember. Men Aggregatet har levering til uka så må ha noe å styre det med.

Kjøpte du også modbus adapteret du bruker mot ESP hos artigereliv.no? Link? så er jeg sikker på jeg kjøper riktig :D 

Lenke til kommentar
Del på andre sider

Dennis87 skrev (5 minutter siden):

Hvilket aggregat har du

Østberg Heru 160 T

 

Dennis87 skrev (5 minutter siden):

Kjøpte du også modbus adapteret du bruker mot ESP hos artigereliv.no?

Ja, et til rett over 20kr

Endret av stigvi
  • Like 1
Lenke til kommentar
Del på andre sider

Dennis87 skrev (22 minutter siden):

Kjøpte du også modbus adapteret du bruker mot ESP hos artigereliv.no? Link? så er jeg sikker på jeg kjøper riktig :D 

 

Mitt adapter er nesten helt likt som @stigvisitt, men jeg bestilte fra en tysk butikk gjennom Ebay for en stund siden. Kostet ikke mange kronene selv med frakt og moms, men hadde valgt norsk nettbutikk hvis jeg visste det var mulig å få kjøpt innenlands. Her er linken. De fleste ESP32-variantene er støttet av ESPHome, men det kan være verdt å sjekke før man bestiller. Jeg hadde tilfeldigvis en ESP32dev, og det var helt uproblematisk.

 

Bruker forresten throttle_average istedenfor throttle i de fleste sensor filtrene, det er en del målestøy på noen av temperatursensorene i mitt anlegg.

  • Thanks 1
Lenke til kommentar
Del på andre sider

  • 3 uker senere...

Fikler med modbus styring av Villavent VTR300 selv om dagene. Bruker en superbillig USB til RS485 adapter.

 

Slenger inn et relatert spørsmål jeg ikke helt finner utav:

Min VTR300 virker å være en litt eldre, enklere utgave hvor en bla. kun kan sette lav/normal/høy som viftemodus.

For å f.eks. sette modus høy tilluft og lav avtrekk må dette defineres som "digital inngang" DI1, DI2 og DI3.

Følgende informasjon finnes om styring av de digitale inngangene via modbus:

image.thumb.png.1c25dc83d07efa3316212c13a532261a.png

Her er det plutselig inkludert "bit" og "coil" og ble da straks litt mer avansert enn å skrive en verdi slik jeg har gjort tidligere.

 

En typisk skriving av ny verdi ser slik ut:

service: modbus.write_register
data:
  address: 100
  slave: 1
  value: 2
  hub: VTR300

 

Hvordan vil dette bli om jeg jeg f.eks. ønsker å aktivere DI1 som i følge tabellen over har Bit 0?

Lenke til kommentar
Del på andre sider

Så man kan altså skrive til en inngang som egentlig er dedikert til en fysisk digital input? Høres jo rart ut, så jeg måtte leite opp dokumentet du har et utklipp fra.

 

I kapittel 5 skriver de i alle fall at alle innganger og coils er tilgjengelige som registere med en formel for addressen: (Register Address * 16) – 15.

 

Jeg tipper at du kan lese register 701, og få en eller to bytes som du må dekode til bits iht. oversikten over. Og så kan du skrive til (701*16)-15 = 11201 for DI1 osv for å sette inngangene. Men det er nå bare et gjett, du får prøve deg fram.

 

Hvis du har satt opp modbus slik at du kan bruke modbus.write_register osv som postet over, kan du prøve:

service: modbus.write_coil
data:
  address: 11201
  slave: 1
  state: True
  hub: VTR300

 

Forutsetter selvfølgelig at du har definert modbus i configuration.yaml med hub VTR300. Usikker på om state må være 1 eller True.

  • Thanks 1
Lenke til kommentar
Del på andre sider

1 hour ago, RVM said:

Så man kan altså skrive til en inngang som egentlig er dedikert til en fysisk digital input? Høres jo rart ut, så jeg måtte leite opp dokumentet du har et utklipp fra.

 

I kapittel 5 skriver de i alle fall at alle innganger og coils er tilgjengelige som registere med en formel for addressen: (Register Address * 16) – 15.

 

Jeg tipper at du kan lese register 701, og få en eller to bytes som du må dekode til bits iht. oversikten over. Og så kan du skrive til (701*16)-15 = 11201 for DI1 osv for å sette inngangene. Men det er nå bare et gjett, du får prøve deg fram.

 

Hvis du har satt opp modbus slik at du kan bruke modbus.write_register osv som postet over, kan du prøve:

service: modbus.write_coil
data:
  address: 11201
  slave: 1
  state: True
  hub: VTR300

 

Forutsetter selvfølgelig at du har definert modbus i configuration.yaml med hub VTR300. Usikker på om state må være 1 eller True.

Dette er opprinnelig innganger som kan styres via eksterne potensialfrie brytere/relèer, men la merke til at modbus for disse var R/W.

Jeg testet write_coil tidligere, men da med register adresse og coil-verdi som state - det fungerte ikke.

 

Når jeg tester slik du foreslår fungerer det :) State skal være 1/0 for å slå på/av.

service: modbus.write_coil
data:
  state: 1
  address: 11201
  slave: 1
  hub: VTR300

 

Det eneste som er litt irriterende er at det blir krøll om man aktiverer en ny DI uten å slå av den forrige. Men det lar seg nok ordne med noen linjer ekstra med kode.

  • Like 1
Lenke til kommentar
Del på andre sider

I servicemenyen for ventilasjonsanlegget kan man justere viftehastigheten for de forskjellige brukertrinnene (lav/normal/høy), altså justeringer i veldig mye finere trinn. 
 

Det ser ut som dette også er tilgjengelig via modbus. 
Er det noen som har lekt med tanken om å sette opp en PID-kontroll og justere viftebehov helt nøyaktig basert på f.eks. RH og CO2 sensorer?

Endret av chrlod
Lenke til kommentar
Del på andre sider

chrlod skrev (2 minutter siden):

I servicemenyen for ventilasjonsanlegget kan man justere viftehastigheten for de forskjellige brukertrinnene (lav/normal/høy), altså justeringer i veldig mye finere trinn. 
 

Det ser ut som dette også er tilgjengelig via modbus. 
Er det noen som har lekt med tanken om å sette opp en PID-kontroll og justere viftebehov helt nøyaktig basert på f.eks. RH og CO2 sensorer?

Bare ha i baktankene at ventilasjonen skal være balansert. Vifteverdiene er innregulert i forhold til ditt kanalanlegg. Husk å notere ned hva vifteverdiene sto på før du endrer disse.

Lenke til kommentar
Del på andre sider

chrlod skrev (29 minutter siden):

Er det noen som har lekt med tanken om å sette opp en PID-kontroll og justere viftebehov helt nøyaktig basert på f.eks. RH og CO2 sensorer?

Ikke i det hele tatt. Som @MrE nevner, det er ikke nødvendigvis så lurt å endre på anleggets parametre. Jeg har også den muligheten på mitt, men jeg rører de ikke. Jeg setter anlegget i borte-modus når vi ikke er hjemme. Det gjør at viftene går ned til ca 1300rpm. I normal-modus går de på 1700rpm. Så kan jeg velge "boost" og "ekstra boost" som gir 2300 og 2800rpm. Disse 4 trinnene er mer enn godt nok til å styre ventilasjonen, synes jeg.

Men du vil regulere slik at fuktighet og co2 er konstant? Spørsmålet blir da hva hensikten med det skal være, bortsett fra at siden det går, så må jeg gjøre det?

Endret av stigvi
Lenke til kommentar
Del på andre sider

Hos meg er verdier for tilluft/avtrekk like for de forskjellige brukerhastighetene. Jeg har derimot et veldig godt dimmensjonert rørsystem (160mm hovednett og relativt korte 125mm avstikkere med maksimalt 3 ventiler per avstikker). Antar at pga. lite trykkfall i anlegget så er det lite behov for å korrigere balansen med viftehastighet for mitt anlegg. Romventilene er selvfølgelig justert spesifikt.

Forskjeller i viftehastigheter mellom tilluft/avtrekk er for å ta høyde for forskjellig friksjon i de forskjellige kanalstrekkene. Dersom dette er justert av montør for brukerprofilene skal disse verdiene enkelt kunne tilpasses andre viftehastigheter. Friksjonen er styrt av kvadratet av lufthastigheten. En eksponensiell tilpasning av 2 eller flere verdier skal bli korrekt for andre hastigheter. 

 

Tanken var en tilnærming til behovsstyrt ventilasjon.

Jeg har satt opp en modus for ventilasjonen ved matlaging (basert på strømtrekk fra platetopp).

Jeg har ikke RH-sensor i mitt anlegg, men har kjøpt meg en RH-sensor som skal plasseres på badet slik at ved en rask endring av luftfuktighet så skal ventilasjonen settes til høy hastighet.

 

Jeg har også kjøpt et par sensorer med CO2-måling som jeg tenkte å bruke til å bla. justere ventilasjonen.

Viftenivået for normalmodusen er jo satt til en tabulert verdi, mener det er basert på en luftmengde per time som tilsvarer halve husets luftvolum (altså teoretisk bytte ut all luft hver 2. time). Dette tar høyde for en rekke scenarier som tilsvarer normal bruk, men er sannsynligvis på den konservative siden store deler av tiden. Av det jeg kan finne vil behovsstyrt ventilasjon kunne mer enn halvere energiforbruket til ventilasjon, sammenliknet med konstant hastighet, uten at det går utover inneklimaet.

Nå kommer man jo et stykke på vei ved å ha hjemme/borte-modus men med mange sensorer i et smarthus har man jo straks mange flere muligheter enn det som er tatt høyde for når viftehastighetene for ventilasjonsanlegget er satt.

 

Så tanken var å:

- Justere hastighet for å holde anbefalte CO2-verdier basert på hvor mange som faktisk oppholder seg i mitt hus

- Energimessig ikke bytte ut mer luft enn nødvendig. Dette vil også hjelpe på å ikke få så lav luftfuktighet på vinterstid

Dersom en skal styre på slike parametre er det jo greit å slippe å hoppe mellom hastighetene lav/normal/høy som kan ha relativt store forskjeller i luftmengde. En ønsker jo i så fall å kunne ligge på en viftehastighet mest mulig konstant slik at en ikke får svingende verdier.

Endret av chrlod
Lenke til kommentar
Del på andre sider

Jeg har gjort dette med et Flexit uni 3 anlegg jeg har. Måler Co2 vha Netatmo sensorer på soverom og i stue. Så kjapt at med mindre anlegget stod på maks så stiger nivået og stabiliserer seg på 1500ppm i stue og på soverom. 

De originale verdiene var 50%, 75% og 100% så det jeg gjør er at anlegget alltid kjører i steg 2 og så justerer jeg innluft og utluft likt opp og ned ift Co2 målingene, i tillegg blir det automatisk 100% inn og ut basert ift fuktighet på bad og vaskerom. Laveste hastighet er 50% slik at det alltid er en viss utskiftning.

 

Sparer energi på det slik jeg kjører det, mest pga uten styring hadde jeg hatt det på 100% hele tiden da jeg aldri hadde giddet å justere og trykke på det lite repsonsive displayet som følger med.

Lenke til kommentar
Del på andre sider

On 28/09/2022 at 10:58, Christoffer said:

Jeg har gjort dette med et Flexit uni 3 anlegg jeg har. Måler Co2 vha Netatmo sensorer på soverom og i stue. Så kjapt at med mindre anlegget stod på maks så stiger nivået og stabiliserer seg på 1500ppm i stue og på soverom. 

De originale verdiene var 50%, 75% og 100% så det jeg gjør er at anlegget alltid kjører i steg 2 og så justerer jeg innluft og utluft likt opp og ned ift Co2 målingene, i tillegg blir det automatisk 100% inn og ut basert ift fuktighet på bad og vaskerom. Laveste hastighet er 50% slik at det alltid er en viss utskiftning.

 

Sparer energi på det slik jeg kjører det, mest pga uten styring hadde jeg hatt det på 100% hele tiden da jeg aldri hadde giddet å justere og trykke på det lite repsonsive displayet som følger med.

Hvordan har du løst styringen av viftehastighet basert på de to sensorene?

Lenke til kommentar
Del på andre sider

chrlod skrev (17 minutter siden):

Hvordan har du løst styringen av viftehastighet basert på de to sensorene?

Jeg har gjort det veldig simpelt ved at den med høyest nivå bestemmer.

 

Har ett settpunkt per rom og en hysterese på 100ppm slik at hvi ett av rommet er mer enn 100ppm over settpunktet så øker hastigheten med 10% per 10 minutt. Og så har jeg tilsvarende når alle verdiene er under grenseverdiene -100ppm. Ser i prinsippet at her i huset kunne jeg egentlig bare ha kjørt 50% og 100%, men det er for enkelt.
Har i tillegg fuktighetssensor på bad og vaskerom som overstyrer alt og setter 100%.

Lenke til kommentar
Del på andre sider

On 29/09/2022 at 22:47, Christoffer said:

Jeg har gjort det veldig simpelt ved at den med høyest nivå bestemmer.

 

Har ett settpunkt per rom og en hysterese på 100ppm slik at hvi ett av rommet er mer enn 100ppm over settpunktet så øker hastigheten med 10% per 10 minutt. Og så har jeg tilsvarende når alle verdiene er under grenseverdiene -100ppm. Ser i prinsippet at her i huset kunne jeg egentlig bare ha kjørt 50% og 100%, men det er for enkelt.
Har i tillegg fuktighetssensor på bad og vaskerom som overstyrer alt og setter 100%.

Høres ut som en fin løsning dette. 
Kunne du delt koden?

Lenke til kommentar
Del på andre sider

chrlod skrev (5 timer siden):

Høres ut som en fin løsning dette. 
Kunne du delt koden?

Har ikke noe komplett kode for dette da jeg bruker HomeSeer, så det er en blanding av Visual Basic og eventer.

 

Her er noen grafer som viser hvordan det er i drift. Pga hjemmekontor er det så og si alltid noen hjemme her nå.

image.thumb.png.3d8edc63e6f40ef73b85b457c4ac0b20.png

Lenke til kommentar
Del på andre sider

Eg må krype til korset å be om hjelp, har knota nokre dagar no med å prøve å kommunisere med Villavent. Det er heilt nytt, montert i år, heiter Save VTR 250/B. Det har eit "kontrollpanel" type simpelt så eg har ikkje mulighet til å endre på noko anna enn viftehastighet der.

 

Eg har eit RS485/Modbus TCP adapter, dette virkar for å fungere heilt fint, men eg får altså berre timeout uansett kva eg spør om. Eg veit ikkje baudrate, det står så mykje alt etter kva dokument eg les i, men har prøvd dei fleste. Ei heller veit eg slaveadressa til anlegget og når en då skal prøve seg fram vert det mange ulike kombinasjonar.


Nokre tips? Må eg investere i eit skikkeleg kontrollpanel for å kunne lese av/stille baudrate og adresse?

Lenke til kommentar
Del på andre sider

Det skal være notert ned i igangkjøringsprotokollen du skal ha fått overlevert for aggregatet. Hvis ikke ville jeg begynt med slaveadresse 1, baud 9600, og ingen paritet. Hvis ikke det fungerer ville jeg prøvd andre vanlige baudrater, og så begynt på ny med partalls paritet. Selv om det står at baudrate begynner på 9600 i parameterdokumentet, var 1200 en gyldig baudrate på min VTR300.

 

Kobler du til på A+/B- terminalene? I så fall, kan du ha byttet om på lederne? Eller brukt for lange (uflettede) ledere?

Lenke til kommentar
Del på andre sider

RVM skrev (40 minutter siden):

Det skal være notert ned i igangkjøringsprotokollen du skal ha fått overlevert for aggregatet. Hvis ikke ville jeg begynt med slaveadresse 1, baud 9600, og ingen paritet. Hvis ikke det fungerer ville jeg prøvd andre vanlige baudrater, og så begynt på ny med partalls paritet. Selv om det står at baudrate begynner på 9600 i parameterdokumentet, var 1200 en gyldig baudrate på min VTR300.

 

Kobler du til på A+/B- terminalene? I så fall, kan du ha byttet om på lederne? Eller brukt for lange (uflettede) ledere?

Eg er nok den einaste som har åpna igangkøyringsprotokollen.. Den er ikkje fylt ut.

A og B ja, har målt med multimeter at det er riktig kobla. Er og spenning på terminalane på aggregatet (2-3v hugsa ikkje eksakt). Differansen er rett under 0.4v. Er snakk om ein CAT6 kabel på 40cm ca..

 

Har fått hand om eit usb interface eg skal prøve med, men trur ikkje feilen ligg der for koblar til og pollar, men får timeout. Brukar CAS modbus scanner. Har prøvd discover på det meste som finst av baudrates uten anna enn timeout og.

Lenke til kommentar
Del på andre sider

TurboJens skrev (44 minutter siden):

Eg er nok den einaste som har åpna igangkøyringsprotokollen.. Den er ikkje fylt ut.

A og B ja, har målt med multimeter at det er riktig kobla. Er og spenning på terminalane på aggregatet (2-3v hugsa ikkje eksakt). Differansen er rett under 0.4v. Er snakk om ein CAT6 kabel på 40cm ca..

 

Har fått hand om eit usb interface eg skal prøve med, men trur ikkje feilen ligg der for koblar til og pollar, men får timeout. Brukar CAS modbus scanner. Har prøvd discover på det meste som finst av baudrates uten anna enn timeout og.

Du har koblet til jord mellom TCP adapter og aggregat, også? Ikke bare A og B?

Endret av stigvi
Lenke til kommentar
Del på andre sider

stigvi skrev (25 minutter siden):

Du har koblet til jord mellom TCP adapter og aggregat, også? Ikke bare A og B?

Eit godt spørsmål faktisk, eg har kobla meg til på klemmene det er henvist til i manualen, men det står ikkje gnd på den siste terminalen.

image.png.e14f6fa0cd92d4e31b4e375d10689b6a.png

Endret av TurboJens
Lenke til kommentar
Del på andre sider

TurboJens skrev (2 minutter siden):

Eit godt spørsmål faktisk, eg har kobla meg til på klemmene det er henvist til i manualen, men det står ikkje gnd på den siste terminalen.

Mener å huske den siste var gnd selv om det ikke er merket, men sjekk med multimeteret mot en av de andre jordterminalene.

Lenke til kommentar
Del på andre sider

RVM skrev (16 minutter siden):

Mener å huske den siste var gnd selv om det ikke er merket, men sjekk med multimeteret mot en av de andre jordterminalene.

Måler 2.6v mellom A og "GND" og 2.36v mellom B og "GND" så virkar for å vere OK. Dette med mbus leseren frakobla.

Endret av TurboJens
Lenke til kommentar
Del på andre sider

Mitt VTR300 hadde følgende fabrikkinnstillinger:

(Slave)adresse: 1

Baudrate: 9600

Paritet: Even

 

GND er vel ikke nødvendig her? Er ikke i bruk hos meg hvert fall.


Jeg druknet en hel del timer i at manualen hadde feil på +/-. Hos meg er dette en RJ45 kontakt og skulle være leder 4 og 5. problemet var at festehaken for RJ45- kontakten var tegnet inn og jeg brukte denne som referanse for hvilken side man skulle telle fra. I manualen er den nok kun tegnet inn for illustrasjonen sin del, for når jeg til slutt googlet hvilken farge leder 4 og 5 skal ha var det motsatt av manualen. Når jeg byttet om fungerte det med en gang. 
 

Ellers er det jo store forskjeller i registeradresse innenfor samme modell. Har du funnet flere «modbus manualer» og testet forskjellige varianter?

Hos meg endte jeg opp med å måtte trekke fra 1 fra registeradressen i den beste manualen jeg fant. 

Lenke til kommentar
Del på andre sider

Bli med i samtalen

Du kan publisere innhold nå og registrere deg senere. Hvis du har en konto, logg inn nå for å poste med kontoen din.

Gjest
Skriv svar til emnet...

×   Du har limt inn tekst med formatering.   Lim inn uten formatering i stedet

  Du kan kun bruke opp til 75 smilefjes.

×   Lenken din har blitt bygget inn på siden automatisk.   Vis som en ordinær lenke i stedet

×   Tidligere tekst har blitt gjenopprettet.   Tøm tekstverktøy

×   Du kan ikke lime inn bilder direkte. Last opp eller legg inn bilder fra URL.

×
×
  • Opprett ny...

Viktig informasjon

Vi har plassert informasjonskapsler/cookies på din enhet for å gjøre denne siden bedre. Du kan justere dine innstillinger for informasjonskapsler, ellers vil vi anta at dette er ok for deg.