Modbus TCP/IP -komp...
 
Powiadomienia
Wyczyść wszystko

Modbus TCP/IP -kompletny przykład

2 Wpisów
2 Użytkownicy
1 Reactions
5,263 Wyświetleń
(@teslanet)
Wpisów: 11
Praktykant
Autor tematu
Translate
English
Spanish
French
German
Italian
Portuguese
Russian
Chinese
Japanese
Korean
Arabic
Hindi
Dutch
Polish
Turkish
Vietnamese
Thai
Swedish
Danish
Finnish
Norwegian
Czech
Hungarian
Romanian
Greek
Hebrew
Indonesian
Malay
Ukrainian
Bulgarian
Croatian
Slovak
Slovenian
Serbian
Lithuanian
Latvian
Estonian
 
[#576]

Witajcie .

Nie będę ściemniał  OpenHab to dla mnie nowość. I na razie jestem żółtodziobem. Przykłady choć rozumiem składnie są mocno chaotyczne dla osoby która na co dzień nie programuje. I potrzebuje przykładu komunikacji po modbus TCP/IP (muszę się połączyć z PLC)  na razie chcę sterować/odczytywać tylko coil -jak powinna wyglądać prawidłowa konfiguracja ? 

OpenHab zainstalowany na malinie  OpenHab programowany z Visual Studio , instalacja i konfigóracja według tego tutoriala  https://www.youtube.com/watch?v=F-kXg7hQC9E  

Czy ktoś może poratować jednym przykładem dla zwykłego coil tak aby odnosił się do "switch" oświetlenia w OpenHab. Przykładem jak dla idio... gdzie co wpisać 
Konfigurację ustawiona dla slave mam tak: 
# Connect to modbus slave at 192.168.1.50, port 502
tcp.slave1.connection=192.168.1.50:502
# use slave id 11 in requests
tcp.slave1.id=11
# read 32 coils (digital outputs) starting from address 0
tcp.slave1.start=0
tcp.slave1.length=32
tcp.slave1.type=coil
 
(wystarczy przykład dla jednej ceweczki;)
 
Z Góry Wielkie Dzięki,
wiem że mój problem jest banalny dla kogoś kto ma opanowanego OpenHaba ale proszę o wyrozumiałość bo zainstalowałem go dopiero tydzień temu .
pozdrawiam

 
Dodane : 28/11/2018 10:49 pm
(@marian196)
Wpisów: 1
Świeżak
Translate
English
Spanish
French
German
Italian
Portuguese
Russian
Chinese
Japanese
Korean
Arabic
Hindi
Dutch
Polish
Turkish
Vietnamese
Thai
Swedish
Danish
Finnish
Norwegian
Czech
Hungarian
Romanian
Greek
Hebrew
Indonesian
Malay
Ukrainian
Bulgarian
Croatian
Slovak
Slovenian
Serbian
Lithuanian
Latvian
Estonian
 

Witam,

Też jakiś czas temy przerabiałem ten temat. Umnie wygląda to tak:

w ITEMS:
Bridge modbus:tcp:localhostTCP [ host="192.168.1.50", port=502, id=11 ] {
Bridge poller coils [ start=0, length=1, refresh=300, type="coil" ] {
Thing data zmienna [ readStart="0", readValueType="bit" ]
}}

Pierwsza linijka to ustawienia "mostu"

host - to adres ip PLC,

port - numer porty jaki masz ustawiony w PLC do modbus,

id- numer urządzenia w sieci modbus (jak dobrze pamiętam nie musi być podany).

 

Druga linijka to ustawienia "reguły" pobierającej dane z urządzenia modbus 

start - to adres w pamięci, od którego chcemy zacząć odczyt. To jak zmienne czy wyjścia/wejścia są zaadresowane w paięci sterownika zależy jakiego używasz PLC znajdziesz to w manualu. Adresy są inne np. dla funkcji coils niż holding (nie będę się zagłebiał z czego to wynika),

lenght- to liczba adresów jaką chcemy odczytać ( nie musisz tworzyć kilku reguł by odczytać np. 8 cewek podajesz 8 w lenght przez co bedzie pobrane 8 kolejnych adresów), 

refresh- co ile dane są pobierane w ms.

type- to rodzaj funkcji użytej do odczytu danych

 

Trzecia linijka definiowanie rzeczy, do których będziemy wstawiać dane odczytane 

zmienna - to nazwa rzeczy, do której wstawimy odczyt danej cewki

readStart- to adres danej cewki

readValueType- to rodzaj danych jake pobraliśmy,

Pamiętaj że wyjścia i wejścia fizyczne możemy jedynie odczytywać nie możemy zmieniać ich stanu przez modbus (przynajmniej w moim wago tak jest).

w THINGS :

Contact zmienna "opis zmiennej" {channel="modbus:data:localhostTCP:coils:zmienna:contact"}

To było by chyba tyle. Pasowało by dodać odpowiedni wpis w SITEMAS.

 


 
Dodane : 02/12/2018 8:53 pm
adrian zareagował
Udostępnij: