-
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
- Szok
- Dziwny schemat wzmacniacza m.cz.
- We Wrocławiu ruszyła Odra 5, pierwszy w Polsce komputer kwantowy z nadprzewodzącymi kubitami
- CGNAT i ewentualne problemy
- wzmacniacz mocy
- Linuks od wer. 6.15 przestanie wspierać procesory 486 i będzie wymagać min. Pentium
- Propagation velocity v/c dla kabli RF
- Jakie natynkowe podwójne gniazdo z bolcem (2P+PE)
- Czujnik nacisku
- Protoków komunikacyjny do urządzenia pomiarowego
- Hiszpania bez pradu
- amperomierz w plusie
- 3G-nadal działa
- Historia pewnego miernika kalibratora
- Ustym 4k Pro i wyświetlacz
Najnowsze wątki
- 2025-05-28 Tani darmowy manager plików
- 2025-05-28 Gdańsk => Programista Mainframe (z/OS, Assembler) <=
- 2025-05-28 Re: Nowe zalecenie w Mini Netykiecie dotyczące wklejania linków URL
- 2025-05-28 Białystok => Team Lead Data Engineer (obszar Snowflake) <=
- 2025-05-28 Warszawa => Programista Microsoft Dynamics 365 Finance & Operations (D
- 2025-05-28 Ryga => Konsultant Wdrożeniowy Comarch XL/Optima (Księgowość i Kad
- 2025-05-28 Citi --> Velo
- 2025-05-28 Warszawa => MLOps Engineer <=
- 2025-05-28 Warszawa => Specjalista rekrutacji IT <=
- 2025-05-28 Szok
- 2025-05-28 Żerniki => Dyspozytor Międzynarodowy <=
- 2025-05-28 Szczecin => Key Account Manager IT <=
- 2025-05-28 Warszawa => NMS System Administrator <=
- 2025-05-28 Warszawa => Java Full Stack Developer (Angular2+) <=
- 2025-05-28 Uwaga na spadki....