Jestem nowicjuszem w Pythonie. Przepraszam, jeśli pytanie może brzmieć głupio.

Używam pyModbus do wdrożenia asynchronicznego serwera Modbus TCP na BeagleBone Black. Działa dobrze, jestem w stanie łączyć się z klientami i pobierać wartości z rejestrów.

Serwer uruchamiam z:

from pymodbus.server.async import StartTcpServer

StartTcpServer(context, identity=identity, address=("0.0.0.0", 502))

Teraz próbuję zaimplementować monitorowanie ruchu przychodzącego i wychodzącego z serwera. Musiałbym wykreślić / zarejestrować wszystkie żądania od klientów i wszystkie odpowiedzi z serwera.

Czy istnieje sposób na dostęp do buforów rx / tx?

Dziękuję Ci.

0
marcorto 19 grudzień 2019, 14:27

1 odpowiedź

Możesz włączyć logging jako tryb debugowania dla serwera Modbus w następujący sposób:

import logging
FORMAT = ('%(asctime)-15s %(threadName)-15s'
          ' %(levelname)-8s %(module)-15s:%(lineno)-8s %(message)s')
logging.basicConfig(format=FORMAT)
log = logging.getLogger()
log.setLevel(logging.DEBUG)

Oto oryginalny przykład.

0
Benyamin Jafari 9 styczeń 2020, 10:57
Dziękuję Benyamin, ale to zbyt wiele informacji, aby je przeanalizować/zalogować. Otrzymasz wpis na każde wydarzenie. Naprawdę potrzebuję tylko uzyskać dostęp do buforów, w których przechowywane są wiadomości przychodzące/wychodzące.
 – 
marcorto
10 styczeń 2020, 12:46