OneCompiler

read_write_py

101

main.py

import sys
import os
import time
from common_def import setup
import modelPath

MAPortConfigFile = r"D:\AUD_FRAMEWORK\python_files\MAPortConfigSCALEXIO.xml"

batteryvolt = "Model Root/I0UserInterface/IO_PAR/Simulator/Power_Supply/Voltage_Out/Value"

batteryread = 'Model Root/IOUserInterface/IO_DISP/Simulator/Power_Supply/Simulator_Voltage_In/In1'

WorkingDir = os.path.dirname(sys.argv[0])
if not os.path.isdir(WorkingDir):
WorkingDir = os.getcwd()
if not os.path.isdir(WorkingDir):
os.mkdir(WorkingDir)

MAPortConfigFile = os.path.join(WorkingDir, MAPortConfigFile)

if name == "main":

DemoMAPort = None

try:
    DemoMAPort, MyValueFactory = setup(MAPortConfigFile)

    volt = [10.00, 8.7, 12.0, 9.0, 14.0]
    batteryvolt = modelPath.batteryvolt
    batteryread = modelPath.batteryread

    for i in range(len(volt)):
        DemoMAPort.Write(batteryvolt, MyValueFactory.CreateFloatValue(volt[i]))
        print("Writing value voltage to %s\n" % batteryvolt)

        NewReadVal = DemoMAPort.Read(batteryread)
        print("Read battery voltage now is: %s %s\n" % (batteryread, NewReadVal.Value))

        time.sleep(5)

    print("Demo successfully finished!\n")

except TestbenchPortException as ex:
    print("A TestbenchPortException occurred:")
    print("CodeDescription: %s" % ex.CodeDescription)
    print("VendorCodeDescription: %s" % ex.VendorCodeDescription)
    raise

except Exception as e:
    print("An unexpected error occurred:", e)
    raise

finally:
    if DemoMAPort is not None:
        DemoMAPort.Dispose()
        DemoMAPort = None