Skip to content
Snippets Groups Projects
Commit eb80b0ed authored by Jean-François Denis's avatar Jean-François Denis
Browse files

Add SNL procedure in order to simulate a curent

parent 836b51e3
No related branches found
No related tags found
No related merge requests found
/*
# C.E.A. IRFU/SIS/LDISC
#
*/
program RampCurrent
%%#include <stdio.h>
%%#include <string.h>
%%#include <stdlib.h>
/**** PLATES PS ******/
float PS2_Cons;
assign PS2_Cons to "{PREFIX_PS}:{CONS_PS2}";
monitor PS2_Cons;
evflag PS2_Cons_flag;
sync PS2_Cons PS2_Cons_flag;
/**** FC CURRENT ******/
float FCCurr_Cons;
assign FCCurr_Cons to "SIMU:CURRENT-SP";
monitor FCCurr_Cons;
short start;
assign start to "SCAN:MTR.EXSC";
monitor start;
short simulation;
assign simulation to "SCAN:PROC-SIMU";
monitor simulation;
/**** variables *****/
float limitCurr=0.6;
ss ss1
{
state init {
when (delay(1.0) && (pvConnectCount() == pvChannelCount()))
{
start=0;
simulation=0;
} state start
}
state start
{
when ((start==1) && (simulation==1))
{
FCCurr_Cons=0;
pvPut(FCCurr_Cons);
}state ramp
}
state ramp
{
when(efTestAndClear(PS2_Cons_flag))
{
if((PS2_Cons<limitCurr) && (PS2_Cons>-limitCurr)){FCCurr_Cons= 3;}
else{
%%FCCurr_Cons= 0;
}
pvPut(FCCurr_Cons);
}state ramp
when (start==0)
{
FCCurr_Cons=0;
pvPut(FCCurr_Cons);
}state start
}
}
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment