-
Data: 2023-04-08 09:40:29
Temat: Re: Multiplekser/sniffer/arbiter modbus
Od: "J.F" <j...@p...onet.pl> szukaj wiadomości tego autora
[ pokaż wszystkie nagłówki ]On Wed, 5 Apr 2023 22:28:10 +0200, Piotrek wrote:
> On 05.04.2023 21:58, heby wrote:
>> Liczyłem na jakiś ... powiedzmy ... gotowiec z 3 dziurkami RS485,
>> obsługujący 2 masterów i 1 slave. Chyba nie jestem jedyny na świecie z
>> takim pomysłem ;)
>
> GPT twierdzi, że nie ma ;-)
>
> "[...]
>
> Unfortunately, there are no known open-source projects that implement a
> two-master, one-slave Modbus architecture. However, you can start with
> existing Modbus libraries (e.g., libmodbus, FreeModbus) and modify them
> according to the outlined approach to develop your custom solution."
>
> ale przyciśnięty do muru
>
> Are you sure there is no such open source project?
>
> zaczął programować w Python. LOL
Moze od razu poprosic o kod na wybrany uC ? :-)
> "I apologize if my previous response may have been unclear. While it is
> challenging to be aware of every single open-source project available,
> to the best of my knowledge (as of the knowledge cutoff in September
> 2021), there was no specific open-source project that implements a
> two-master, one-slave Modbus architecture.
>
> However, you may find open-source projects that implement Modbus
> gateways or proxies, which you could adapt to achieve the desired
> two-master, one-slave communication. One such project is modbus-tk, a
> Python library that allows you to create Modbus masters and slaves, and
> it includes a TCP to Serial gateway implementation.
>
> Project Repository: https://github.com/ljean/modbus-tk
>
> Here's a basic example of how you can use modbus-tk to create a Modbus
> TCP to Serial gateway:
>
> python
>
> import modbus_tk
> import modbus_tk.defines as cst
> from modbus_tk import modbus_tcp
> from modbus_tk import modbus_rtu
>
> def main():
> # Configure Modbus RTU master
> master_rtu = modbus_rtu.RtuMaster(
> modbus_tk.utils.create_serial_handler(port="/dev/tty
S0")
> )
> master_rtu.set_timeout(5.0)
> master_rtu.set_verbose(True)
>
> # Configure Modbus TCP server
> server_tcp = modbus_tcp.TcpServer(address="0.0.0.0", port=502)
> server_tcp.start()
>
> # Main loop to process Modbus TCP requests and forward them to
> Modbus RTU
> while True:
> try:
> request = server_tcp.get_request(blocking=True)
> if request is not None:
> response = master_rtu.execute(
> request.slave_id,
> request.function_code,
> request.starting_address,
> request.quantity_of_x,
> request.output_value,
> )
> request.set_response(response)
>
> except modbus_tk.modbus.ModbusError as exc:
> print("Error processing request:", str(exc))
>
> if __name__ == "__main__":
> main()
>
> This example creates a Modbus TCP server that forwards incoming requests
> to a Modbus RTU master. You could extend this example to support two
> Modbus TCP masters and manage the communication with the single Modbus
> RTU slave.
I to jest przykład z powyzszego archiwum, czy GPT napisal sam ?
> Please note that this example uses Python, and you would need to adapt
> the code to your specific requirements, such as handling communication
> conflicts between the two masters."
>
> P.
J.
Następne wpisy z tego wątku
- 08.04.23 16:07 Dawid Rutkowski
- 08.04.23 16:39 heby
- 08.04.23 16:40 heby
- 14.04.23 22:53 M M
Najnowsze wątki z tej grupy
- e-paper
- 60 mA dużo czy spoko?
- Dziwne zachowanie magistrali adresowej w 8085
- Współczesne mierniki zniekształceń nieliniowych THD audio, produkują jakieś?
- Jaki silikon lub może klej?
- Smar do video
- Litowe baterie AA Li/FeS2 a alkaliczne
- "ogrodowa linia napowietrzna"
- jaki zasilacz laboratoryjny
- jaki zasilacz laboratoryjny
- Puszka w ziemię
- T-1000 was here
- Ściąganie hasła frezem
- Koszyk okrągły, walec 3x AA, na duże paluszki R6
- Brak bolca ochronnego ładowarki oznacza pożar
Najnowsze wątki
- 2025-02-17 Kraków => MS Dynamics 365BC/NAV Developer <=
- 2025-02-17 Chrzanów => Programista NodeJS <=
- 2025-02-17 Warszawa => Node.js / Fullstack Developer <=
- 2025-02-17 Białystok => System Architect (Java background) <=
- 2025-02-17 Białystok => Solution Architect (Java background) <=
- 2025-02-17 Gliwice => Team Lead / Tribe Lead FrontEnd <=
- 2025-02-17 Gdańsk => PHP Developer <=
- 2025-02-17 Warszawa => Senior ASP.NET Developer <=
- 2025-02-17 Gliwice => Business Development Manager - Network and Network Security
- 2025-02-17 Mińsk Mazowiecki => Area Sales Manager OZE <=
- 2025-02-17 Odśnieżanie samochodu
- 2025-02-17 Katowice => Regionalny Kierownik Sprzedaży (OZE) <=
- 2025-02-17 Dęblin => JavaScript / Node / Fullstack Developer <=
- 2025-02-17 Pompiarze...
- 2025-02-16 PV teraz