Simple Python SECS/GEM implementation
This module is still work in progress. I'd love to get your input, your use case, whether you are experienced in SECS or not.
To install the latest official release (0.1.0, 2020-05-27, https://pypi.python.org/pypi/secsgem):
$ pip install secsgem
To install the current development code (might be instable):
$ pip install git+git://github.com/bparzella/secsgem
import logging
import code
import secsgem.gem
from communication_log_file_handler import CommunicationLogFileHandler
class SampleHost(secsgem.gem.GemHostHandler):
def __init__(self, address, port, active, session_id, name, custom_connection_handler=None):
secsgem.gem.GemHostHandler.__init__(self, address, port, active, session_id, name, custom_connection_handler)
self.MDLN = "gemhost"
self.SOFTREV = "1.0.0"
commLogFileHandler = CommunicationLogFileHandler("log", "h")
commLogFileHandler.setFormatter(logging.Formatter("%(asctime)s: %(message)s"))
logging.getLogger("communication").addHandler(commLogFileHandler)
logging.getLogger("communication").propagate = False
logging.basicConfig(format='%(asctime)s %(name)s.%(funcName)s: %(message)s', level=logging.DEBUG)
h = SampleHost("127.0.0.1", 5000, True, 0, "samplehost")
h.enable()
code.interact("host object is available as variable 'h'", local=locals())
h.disable()
This project is still at its beginning. If you can offer suggestions, additional information or help please contact me.