diff --git a/generate.py b/generate.py
index c5e2cc5..d5e96b3 100755
--- a/generate.py
+++ b/generate.py
@@ -26,7 +26,7 @@ class Generate:
'SAR-CPPM-EXPMX2' : ('SAR-CPPM-EXPMX2' , 50001 , '7.0.7' , 'eldk42-ppc4xxFP' , 'eldk42-ppc4xxFP' , 'eldk42-ppc4xxFP' , ) ,
'SAR-CPPM-EXPMX3' : ('SAR-CPPM-EXPMX3' , 50001 , '7.0.7' , 'eldk42-ppc4xxFP' , 'eldk42-ppc4xxFP' , 'eldk42-ppc4xxFP' , ) ,
'SAR-CPPM-EXPMX4' : ('SAR-CPPM-EXPMX4' , 50001 , '7.0.7' , 'eldk42-ppc4xxFP' , 'eldk42-ppc4xxFP' , 'eldk42-ppc4xxFP' , ) ,
- 'SARES30-CPCL-MCSSMX' : ('saresc-softioc-11' , 50001 , '7.0.7' , 'x86_64' , 'RHEL7' , 'rhel' , ) ,
+ 'SARES30-CPCL-MCSSMX' : ('saresc-vserv-01' , 50001 , '7.0.7' , 'x86_64' , 'RHEL8' , 'rhel' , ) ,
}
iocSmarAct={
@@ -157,7 +157,7 @@ os_id: {osys_id}
# This is the IOC {ioc} on {ioc_host}:{ioc_port}
##################################################################
-epicsEnvSet("ENGINEER", "T. Zamofing (zamofing_t)")
+epicsEnvSet("ENGINEER", "zamofing_t")
epicsEnvSet("LOCATION", "{loc}")
###### require modules ############
diff --git a/qt/ESB_MX_SmarAct.ui b/qt/ESB_MX_SmarAct.ui
index 8752183..b2566f1 100644
--- a/qt/ESB_MX_SmarAct.ui
+++ b/qt/ESB_MX_SmarAct.ui
@@ -80,6 +80,35 @@
caInclude::NoFrame
+
+
+
+ 480
+ 10
+ 109
+ 24
+
+
+
+ -Homing
+
+
+
+ 128
+ 136
+ 255
+
+
+
+ Homing
+
+
+ python /ioc/modules/qt/ESB_MX_SmarAct_home.py
+
+
+ $(P):$(M)
+
+
@@ -92,6 +121,11 @@
QWidget
+
+ caShellCommand
+ QWidget
+
+
diff --git a/qt/ESB_MX_SmarAct_home.py b/qt/ESB_MX_SmarAct_home.py
index 89f0108..7d651d6 100755
--- a/qt/ESB_MX_SmarAct_home.py
+++ b/qt/ESB_MX_SmarAct_home.py
@@ -26,7 +26,7 @@ Long Doc'''
import logging, sys, os, json
import CaChannel,time
-class EsbMxSmaract:
+class SwissMxSmarAct:
def __init__(self, args):
self.args=args
@@ -37,10 +37,9 @@ class EsbMxSmaract:
for i in range(1,16):
#SARES30-ESBMX1:FRM_FORW.PROC
#SARES30-ESBMX1:DRIVE
-
s1=prefix+'%i'%i
- for j in ('DRIVE','MOTRBV','FRM_FORW.PROC','FRM_BACK.PROC','GET_HOMED','STATUS'):
- s2=s1+':'+j
+ for j in ('.VAL','.RBV','.HOMF','.HOMR','.MSTA','_AUTOZERO'):
+ s2=s1+j
print(s2)
pv = CaChannel.CaChannel(s2)
pv.setTimeout(10.0)
@@ -53,27 +52,35 @@ class EsbMxSmaract:
def home(self,idx,fwd):
print('home motor %i fwd:%d...'%(idx,fwd))
+ pv=self.pv[self.prefix+'%i'%idx+'_AUTOZERO']
+ pv.putw(1) #set autozero on
if fwd:
- pv=self.pv[self.prefix+'%i'%idx+':'+'FRM_FORW.PROC']
+ pv=self.pv[self.prefix+'%i'%idx+'.HOMF']
else:
- pv=self.pv[self.prefix+'%i'%idx+':'+'FRM_BACK.PROC']
+ pv=self.pv[self.prefix+'%i'%idx+'.HOMR']
+ #print('aaa')
pv.putw(1) #set position and move
+ #print('bbb')
CaChannel.ca.pend_event(0.1)
+ #print('ccc')
def waitHomed(self,idx):
- pv=self.pv[self.prefix+'%i'%idx+':'+'GET_HOMED']
+ #print('ddd')
+ pv=self.pv[self.prefix+'%i'%idx+'.MSTA']
+ #print('eee',pv,self.prefix+'%i'%idx+'.MSTA')
while pv.getw()==0:
print('wait motor %i homing done ...'%idx)
CaChannel.ca.pend_event(0.2)
+ #print('fff')
def moveAbs(self,idx,val):
- pv=self.pv[self.prefix+'%i'%idx+':'+'DRIVE']
+ pv=self.pv[self.prefix+'%i'%idx+'.VAL']
pv.putw(val) #set position and move
def check_pos(self, idx, val, tolerance=0.1):
- pvrbv = self.pv[self.prefix+'%i'%idx+':'+'MOTRBV']
- pvst = self.pv[self.prefix+'%i'%idx+':'+'STATUS']
+ pvrbv = self.pv[self.prefix+'%i'%idx+'.RBV']
+ pvst = self.pv[self.prefix+'%i'%idx+'.MSTA']
CaChannel.ca.pend_event(0.2)
while pvst.getw():
@@ -89,23 +96,24 @@ class EsbMxSmaract:
# raise Exception("Cryojet is too close, move it to 5.0 mm")
# home Colli Y first and move it to the TOP
- self.home(2, True)
- CaChannel.ca.pend_event(0.5)
- self.waitHomed(2)
- CaChannel.ca.pend_event(0.5)
- self.moveAbs(2, 10.0)
- self.check_pos(2, 10.0)
+ ###self.home(2, True)
+ ###CaChannel.ca.pend_event(0.5)
+ ###self.waitHomed(2)
+ ###CaChannel.ca.pend_event(0.5)
+ ###self.moveAbs(2, 10.0)
+ ###self.check_pos(2, 10.0)
- for idx,fwd in ((1,True),(4,True),(5,True),(6,True),(7,True),(8,True),(10,True),(11,True),(12,True),(13,True),(14,True),(15,True),):
+ ###for idx,fwd in ((1,True),(4,True),(5,True),(6,True),(7,True),(8,True),(10,True),(11,True),(12,True),(13,True),(14,True),(15,True),):
+ for idx,fwd in ((1,True),(2,True),(3,True),(4,True),(5,True),(6,True),(7,True),(8,True),(9,True),(10,True),(11,True),(12,True),(13,True),(14,True),(15,True),):
self.home(idx,fwd)
CaChannel.ca.pend_event(0.5)
- #wait homing done
- for idx in (1,4,5,6,7,8,10,11,12,13,14,15,):
- self.waitHomed(idx)
+ ####wait homing done
+ ###for idx in (1,4,5,6,7,8,10,11,12,13,14,15,):
+ ### self.waitHomed(idx)
- #move to desired position
- for idx,val in ((1,-10),(4,.4),(5,.5),(6,.6),(7,.7),(8,.8),(10,1.0),(11,1.1),(12,1.2),(13,1.3),(14,1.4),(15,1.5),):
- self.moveAbs(idx,val)
+ ####move to desired position
+ ###for idx,val in ((1,-10),(4,.4),(5,.5),(6,.6),(7,.7),(8,.8),(10,1.0),(11,1.1),(12,1.2),(13,1.3),(14,1.4),(15,1.5),):
+ ### self.moveAbs(idx,val)
print('Homing done')
if __name__=='__main__':
@@ -138,8 +146,8 @@ Examples:'''+''.join(map(lambda s:cmd+s, exampleCmd))+'\n '
(args, other)=parser.parse_args()
print(args,other)
args.var=other
- esbMxSmaract=EsbMxSmaract(args)
- esbMxSmaract.homing()
+ smrct=SwissMxSmarAct(args)
+ smrct.homing()
#os.environ['EPICS_CA_ADDR_LIST']='localhost'
parse_args()