Legacy Hardware and Apps
Ram

Hi
can you advise how i might program the DT800 to acheive the following.
i have 2 linear sensors connected to the logger measuring movement and i want the logger to control a ram which moves from 0 to 2mm. The control of the ram will be via digital out from the logger and i want the logger to operate the ram whereby the ram moves to 2mm then returns to 0 mm in a cycle which runs for 200 times from 0 to 2mm. the ram forward and revese is controlled via 2 relays which in turn is driven by 2 digital outputs of the logger.
any suggestions welcome.

Stephen

Hi can you advise how i might program the DT800 to acheive the following. i have 2 linear sensors connected to the logger measuring movement and i want the logger to control a ram which moves from 0 to 2mm. The control of the ram will be via digital out from the logger and i want the logger to operate the ram whereby the ram moves to 2mm then returns to 0 mm in a cycle which runs for 200 times from 0 to 2mm. the ram forward and revese is controlled via 2 relays which in turn is driven by 2 digital outputs of the logger. any suggestions welcome. Stephen

Hi Stephen,

Assuming you want to have 2 linear sensors as a feedback to switch on/ off digital I/O.
Control the loop using another variable.
Linear sensor 1 reading is plotted to 1CV and linear sensor 2 to 2CV.

A simple program to do the loop as follow:

BEGIN"TEST"
1..3CV(W)=0

RA1H
DO{3CV=0 GB}

RB1S HB LOGONB
1*V(=1CV)
1V(=2CV)
IF(1CV>2){1DSO=1 2DSO=0 3CV(W)=3CV+1}
IF(2CV<0.1){1DSO=0 2DSO=1}
IF(3CV==200){HB}

END

Notes:

Program will repeat itself every hour, running 200 cycle with 1 second sensing interval.
Counting to 200 happens when 1CV reach 2 mm.
Assuming 0 to 2 mm is reached within 5 seconds and the same time requires from 2 mm to 0 then the whole process will take 5 2 200 = 2000 seconds

Best regards,
Rudy Gunawan

Hi Stephen, Assuming you want to have 2 linear sensors as a feedback to switch on/ off digital I/O. Control the loop using another variable. Linear sensor 1 reading is plotted to 1CV and linear sensor 2 to 2CV. A simple program to do the loop as follow: BEGIN&quot;TEST&quot; 1..3CV(W)=0 RA1H DO{3CV=0 GB} RB1S HB LOGONB 1*V(=1CV) 1V(=2CV) IF(1CV&gt;2){1DSO=1 2DSO=0 3CV(W)=3CV+1} IF(2CV&lt;0.1){1DSO=0 2DSO=1} IF(3CV==200){HB} END Notes: Program will repeat itself every hour, running 200 cycle with 1 second sensing interval. Counting to 200 happens when 1CV reach 2 mm. Assuming 0 to 2 mm is reached within 5 seconds and the same time requires from 2 mm to 0 then the whole process will take 5 * 2 * 200 = 2000 seconds Best regards, Rudy Gunawan

Hi Rudy,
thank you for the reply, i have enterd the following via delogger and all works except that dso2 does not switch on and off as when the program is sent the stae of dso1=0 dso2=1 as cv is less than 2 and cv2 is less than 0.1, however when cv1 reads greater than 2 dso1=1 & dso2=0 all fine but when cv1 then drops below 2 & cv2 is below 0.1 the dso1 & dso remain is the same state

'JOB=JOB1
'COMPILED=2016/01/28 17:30:07
'deLogger generated program file for dataTaker 8 series
DT=\d
BEGIN"JOB1"
CATTN
'Spans and polynomial declarations
'Thermistor declarations
'Switches declarations

'Parameter declarations
P31=3
'Global declarations
RS1S
'main schedule definitions

'schedule definition
RA1H LOGONA GA
1..3CV=0
3CV=0 GB

'schedule definition
RB1S LOGONB GB
1*L("L1",=1CV)
1+L("L2",=2CV)
ALARM1(1CV>2.){[1DSO=1 2DSO=0]}
ALARM2(2CV<0.100){[1DSO=0 2DSO=1]}
ALARM3(3CV>200.){[HAB]}
1DS
2DS
ALARM6(1CV>2.){[3CV=3CV+1]}
3CV
2CV
1CV
END

Hi Rudy, thank you for the reply, i have enterd the following via delogger and all works except that dso2 does not switch on and off as when the program is sent the stae of dso1=0 dso2=1 as cv is less than 2 and cv2 is less than 0.1, however when cv1 reads greater than 2 dso1=1 &amp; dso2=0 all fine but when cv1 then drops below 2 &amp; cv2 is below 0.1 the dso1 &amp; dso remain is the same state &#039;JOB=JOB1 &#039;COMPILED=2016/01/28 17:30:07 &#039;deLogger generated program file for dataTaker 8 series DT=\d BEGIN&quot;JOB1&quot; CATTN &#039;Spans and polynomial declarations &#039;Thermistor declarations &#039;Switches declarations &#039;Parameter declarations P31=3 &#039;Global declarations RS1S &#039;main schedule definitions &#039;schedule definition RA1H LOGONA GA 1..3CV=0 3CV=0 GB &#039;schedule definition RB1S LOGONB GB 1*L(&quot;L1&quot;,=1CV) 1+L(&quot;L2&quot;,=2CV) ALARM1(1CV&gt;2.){[1DSO=1 2DSO=0]} ALARM2(2CV&lt;0.100){[1DSO=0 2DSO=1]} ALARM3(3CV&gt;200.){[HAB]} 1DS 2DS ALARM6(1CV&gt;2.){[3CV=3CV+1]} 3CV 2CV 1CV END

Hi Stephen,

Maybe you should use this condition
4CV(W)=(1CV<2)OR(2CV<0.1)
ALARM2(4CV>1){[1DSO=0 2DSO=1]}

Could you send me some snapshot of your data?

Best regards,
Rudy Gunawan

Hi Stephen, Maybe you should use this condition 4CV(W)=(1CV&lt;2)OR(2CV&lt;0.1) ALARM2(4CV&gt;1){[1DSO=0 2DSO=1]} Could you send me some snapshot of your data? Best regards, Rudy Gunawan
24
3
2
live preview
enter atleast 10 characters
WARNING: You mentioned %MENTIONS%, but they cannot see this message and will not be notified
Saving...
Saved
With selected deselect posts show selected posts
All posts under this topic will be deleted ?
Pending draft ... Click to resume editing
Discard draft