You cannot select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
37 lines
1.2 KiB
Python
37 lines
1.2 KiB
Python
import os
|
|
from pathlib import Path
|
|
|
|
from utils.WorkModels import PointModel
|
|
|
|
|
|
class IOMapping:
|
|
def __init__(self, path, number):
|
|
super().__init__()
|
|
if number == 1:
|
|
from Agreement.FQ.skio.manage import SkIO
|
|
elif number == 2:
|
|
from Agreement.modus.skio.manage import SkIO
|
|
elif number == 3:
|
|
from Agreement.SM.skio.manage import SkIO
|
|
elif number == 4:
|
|
from Agreement.CS.skio.manage import SkIO
|
|
|
|
self.skio = SkIO()
|
|
self.skio.setup(Path(os.path.join(path, 'demo')))
|
|
|
|
self.current_value = {point.sig_name: None for point in PointModel.all_points()}
|
|
self.force_value = {point.sig_name: None for point in PointModel.all_points()}
|
|
|
|
def setforce(self, name, value):
|
|
self.force_value[name] = self.skio.write(name, value)[0]
|
|
|
|
def dumpforce(self, name):
|
|
self.force_value[name] = None
|
|
|
|
def setcurrent(self, name):
|
|
self.current_value[name] = self.skio.read(name, remote=True)
|
|
|
|
def setupvalue(self):
|
|
self.current_value = {point.sig_name: None for point in PointModel.all_points()}
|
|
self.force_value = {point.sig_name: None for point in PointModel.all_points()}
|