= SNAP7 Siemens = Python3 as server and client to test with Siemens Logo8, pls download attached file [attachment: Snap7.tar] After untar run PLC server, TCP port 102 will be opened for waiting connection {{{ $ cd Snap7/python-snap7-1.2/build/scripts-3.7 [krit@mini scripts-3.7]$ ./snap7-server.py }}} To test server, run client to connect server with {{{ root@OpenWrt:~/pysiemens# python3 test.py 0 00:00:00 1990-01-01 Result of write at address 2 [{'function': 5, 'items_count': 1, 'result_code': 255}] root@OpenWrt:~/pysiemens# }}} We can use wireshark to capture packet. We can apply filter with '''s7comm''' on wireshark. The meaning of data frame of S7 explain in [http://gmiru.com/article/s7comm/ here] == Modbus TCP We use GL-inet Mifi and need to install package pylibmodbus, while Logo!8 act as TCP server on port 502. {{{ python3-libmodbus - 0.6.2-1 python3-light - 3.11.7-1 }}} We can control ON/OFF Q1 with [attachment:write_NI_choice2.py].[[br]] We can read all register with [attachment:read_all_NQ_chunk.py] and we can public to MQTT with [attachment:read_NAQ_pub.py]. [[br]]