45 lines
1.6 KiB
Python
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()
|