Source code for twinpy.__main__

"""Example of a script using a GUI.

You can run the BaseGUI itself (linked to the WE actuator model) by running

    `$ python -m twinpy`

(I.e. by executing the module.) This provides a quick demo of how such a GUI can
work, and a quick check to see everything is working on your system.

This script should not be used in your program! Instead, your application should
have it's own main script and create a GUI instance from there.
"""


from PyQt5.QtWidgets import QApplication
import sys
from pyads import ADSError

from twinpy.ui import BaseGUI
from twinpy.twincat import SimulinkModel
from twinpy.twincat import TwincatConnection


[docs]class GUI(BaseGUI): """Some extension of the BaseGUI. Custom GUIs should extend the base class. """
if __name__ == "__main__": app = QApplication(sys.argv) models = { "actuator": SimulinkModel( 0x01010010, "WE2_actuator_model", "we2_actuator_model" ), "controller": SimulinkModel( 0x01010030, "WE2_controller_model", "we2_controller_model" ), } try: connection = TwincatConnection() for name, model in models.items(): model.connect_to_twincat(connection) except ADSError as err: connection = None print("Not connected to TwinCAT, continuing -", err) gui = GUI(**models) app.exec()