Files
2025-04-30 08:48:49 -05:00

45 lines
1.6 KiB
Python

# uncompyle6 version 3.9.2
# Python bytecode version base 3.7.0 (3394)
# Decompiled from: Python 3.8.19 (default, Mar 20 2024, 15:27:52)
# [Clang 14.0.6 ]
# Embedded file name: /var/user/app/device_supervisorbak/device_supervisor/lib/snap7/bin/snap7-server.py
# Compiled at: 2024-04-18 03:12:57
# Size of source mod 2**32: 1338 bytes
"""
This is an example snap7 server. It doesn't do much, but accepts
connection. Useful for running the python-snap7 test suite.
"""
import time, logging, snap7, sys
logging.basicConfig()
logger = logging.getLogger()
logger.setLevel(logging.INFO)
tcpport = 1102
def mainloop():
server = snap7.server.Server()
size = 100
DBdata = (snap7.snap7types.wordlen_to_ctypes[snap7.snap7types.S7WLByte] * size)()
PAdata = (snap7.snap7types.wordlen_to_ctypes[snap7.snap7types.S7WLByte] * size)()
TMdata = (snap7.snap7types.wordlen_to_ctypes[snap7.snap7types.S7WLByte] * size)()
CTdata = (snap7.snap7types.wordlen_to_ctypes[snap7.snap7types.S7WLByte] * size)()
server.register_area(snap7.snap7types.srvAreaDB, 1, DBdata)
server.register_area(snap7.snap7types.srvAreaPA, 1, PAdata)
server.register_area(snap7.snap7types.srvAreaTM, 1, TMdata)
server.register_area(snap7.snap7types.srvAreaCT, 1, CTdata)
server.start(tcpport=tcpport)
while True:
while True:
event = server.pick_event()
if event:
logger.info(server.event_text(event))
else:
break
time.sleep(1)
if __name__ == "__main__":
if len(sys.argv) > 1:
snap7.common.load_library(sys.argv[1])
mainloop()