From e964b7347f8295ced22bcc9abc3e078a28b2f8ec Mon Sep 17 00:00:00 2001 From: Ferrari Martino Giordano Date: Wed, 6 Mar 2024 16:00:36 +0100 Subject: [PATCH] Initial --- .gitignore | 1 + README.md | 0 autodoc/__init__.py | 0 autodoc/__main__.py | 65 + autodoc/__pycache__/__main__.cpython-311.pyc | Bin 0 -> 4334 bytes autodoc/__pycache__/autodoc.cpython-311.pyc | Bin 0 -> 8253 bytes autodoc/autodoc.py | 135 + examples/TestApp_BPS_1_1_1_DAN_Run.cfg | 6414 ++++++++++++ examples/jada_gyro_scu.b72lab.json | 9414 ++++++++++++++++++ pandoc/codeblock-filter.lua | 35 + 10 files changed, 16064 insertions(+) create mode 100644 .gitignore create mode 100644 README.md create mode 100644 autodoc/__init__.py create mode 100644 autodoc/__main__.py create mode 100644 autodoc/__pycache__/__main__.cpython-311.pyc create mode 100644 autodoc/__pycache__/autodoc.cpython-311.pyc create mode 100644 autodoc/autodoc.py create mode 100644 examples/TestApp_BPS_1_1_1_DAN_Run.cfg create mode 100644 examples/jada_gyro_scu.b72lab.json create mode 100644 pandoc/codeblock-filter.lua diff --git a/.gitignore b/.gitignore new file mode 100644 index 0000000..ea1472e --- /dev/null +++ b/.gitignore @@ -0,0 +1 @@ +output/ diff --git a/README.md b/README.md new file mode 100644 index 0000000..e69de29 diff --git a/autodoc/__init__.py b/autodoc/__init__.py new file mode 100644 index 0000000..e69de29 diff --git a/autodoc/__main__.py b/autodoc/__main__.py new file mode 100644 index 0000000..79fa729 --- /dev/null +++ b/autodoc/__main__.py @@ -0,0 +1,65 @@ +""" +Main entry point for the MARTe Autodoc project" + +Author: Martino Ferrari +Email: martinogiordano.ferrari@iter.org +""" +from argparse import ArgumentParser +import logging +import sys +import os +import pprint + +from MARTe.StandardParser import StandardParser +from MARTe.StandardParser import ParseException +import json + +import autodoc + +__version__ = "0.0.0" + +def __args__(): + """Parse arguments.""" + parser = ArgumentParser( + prog="autodoc", + description="MARTe configuration auto documentation tool", + ) + parser.add_argument("filename", help="Configuration file to document", type=str) + parser.add_argument("--type", choices=["json", "marte"], default="marte", help="Configuration file type (default: `marte`)") + parser.add_argument("--loglevel", choices=["DEBUG", "INFO", "WARNING", "ERROR", "CRITICAL"], default="ERROR", help="Logging level (default: `ERROR`)") + parser.add_argument("--version", action="version", version=__version__) + return parser.parse_args() + +def main(): + """Main function.""" + args = __args__() + logging.basicConfig(level=args.loglevel) + logging.info(f"AutoDoc v{__version__}") + if not os.path.exists(args.filename): + logging.error(f"Specified file `{args.filename}` does not exists") + sys.exit(1) + config = {} + if args.type == 'marte': + parser = StandardParser() + try: + config = parser.parse_file(args.filename) + except ParseException as e: + logging.error(f"Impossible to parse file `{args.filename}` at position ({e.line},{e.col}): {e.msg}`") + sys.exit(1) + except Exception as e: + logging.error(f"Sometihng went wrong with file `{args.filename}`") + sys.exit(1) + else: + with open(args.filename, "r") as file: + config = json.load(file) + if not config: + logging.error(f"Impossible to load configuration `{args.filename}`") + sys.exit(1) + print(f"# `{os.path.splitext(os.path.basename(args.filename))[0]}` Documentation") + for label, obj in config.items(): + if 'Class' in obj: + autodoc.document(label, obj) + +if __name__ == '__main__': + main() + diff --git a/autodoc/__pycache__/__main__.cpython-311.pyc b/autodoc/__pycache__/__main__.cpython-311.pyc new file mode 100644 index 0000000000000000000000000000000000000000..d7eacc9da811eb4e2a25c682b69ac7ca79c2daaa GIT binary patch literal 4334 zcmbssTWlN0aqmeUDUy;**_C2RXUmXHMG~uzCWwEZ!N3iA^Pe!!FNjX^_j%hkpA}M`%xjg+7 z%~bKQj$^Lxh$aEX_KxD%S`t?NX#^W8o*_eXW+bIVuu>i(BNQ9I7**4zrl&H(4~OB2 z);0r(2tN*fj|UlIWD{Vufq~fD+)XgWt*R?f7Hy*42AV1@LJF@4CSUL07H@*wTSPW( z%&R#aic^tdtRg9{+wPkn<5o@1_i(kukmC6rqj(kHf5FwNw3%ejm3F)RC0f>2uTqh3 z^D&r1fdiRVYF;@~@q{sKJ0fL=XI?M+KdPsewb&Yt5cA7qQikI|{Z<|_bv+SaZ5|Ft z%yuiP5ycwymF-;C5^5@vR5LweO;X6X+#rasuc(Q%&6}6fYDOFyB43-28+ytX$bnKb z11}Q+RPqT$U5>0J%#-pWrCbaIINK3j(Y2^**pA99c7p*juA!lX9!sd}Y9b)m!s+q% zel}_I(=!wA+l~)MXJ@8oCT(GScJ}>Q+c`EnJwH7*dKUW$r+ikA#k5pRrp%3tQu4(> zMj9GgSFr(BvK9%v3l$oW5i` z!&GiKjC(*{2mFk$0OZi$-JM0Lz1aHWlEAg_j}U+-1myZlPQ*zM*p5B6<7(VGKKX6b zVmtEeY=ND%*x4fMtjw)^dGO95>%?1MziEAtr6gMgcFSV7>Ldwk@IvK{rAi2`Gv`^L zd;|f!z&@c6Mggz0tbQ5z>gQD2bb+0=*y*C=dmwe~NnLsAa6vk3v4!S=UmR|eC}QwuePHEAX&EActH!M?yp z^s2PDql)c9)_Adj22ypjS&lK%q;qXeg=^&b9Imq)Tr($VeyA!Fc3aa%5uT^hP?iB{ zo+`B>R`SWWW_NY$`3oh>N@$ba_0{L=SfggmYh{_#-};a#*J+O-JeTEOu}4RvB-o>K zlZ&@id7&>szrCUFg8qSqzWavMy#9Y~lLe%-WVtOawNw6XFy@J>WQ0KLw_mBX=Q*w2 z|GQ^uT1;29*gzM#1q9l>Ue~5^J;mFc0DpwCyg5{-jn~e^Cf{tEETgoLrR6+` z%~omdDQ)$oU|;PodUli9eXTCHjy2yzr_qI;U%>s76|$moU{hR2xWjy_P93ks-KMZ9 zKJSs8UZn*Rxs(rmYRj6c$TSl#X4)1ZsjG&Z z(oI>ts2Qg59l7qX7eJy@r)VFaDkKZGiGrn zBhNvqGPM=Rnj28&$s1TFsAjHI*lh-9jy6kA=n+M3t~nMnT%Wv%$=#fR^&qp=s}EZk zOGFGK&_mOi?SSk~vb619iWpk7Tr$|sYRIs`m8Zld{)u}eGr_~fD_a{)no@^nF zp}4l4MmhnN@I}BtMOq!%0t_S#Ob)N@tQJ=Rhs~1;z!uBaz=z2+162`OAG{h_Qejzr zDQ*x(x!f>0B{om;Jstz}2>gs)FdZa#sqK@lovz%meO4;49oJ4@KWDK6d3K<{4gdn9 z+k=+x#ErKBz?)|S1vX%@fqlunbLiJSzwEijU-#st{({tBLM+$1&%3wJS?%My^Iu$m zPx;OB69s<4;wScb$M)2f4=$hCK9f6BbbE6BMM2tLxO#j~=(L2+ea~xoPj|u7otr4J z4xzp1>v-Uk_k8lM|BLRtFIeyebIZBqr~B?sSWIZIgMHDnowWS%JN~=f@PYTwAN^&$ zj9KRw3g<6W@TF*BDOSP#@w~WN5LYd6bzhXWSFU_?d3Ad=*YG@rw(s`W*P&QtvB^8; z-K^!GEWdeisvu5T;?(zuDhZ%8i2Romxx81Do#eH-ymX`>9VsD3=-r*)_Z`@|bj|?7YR! z7yVtIo&EIeZ)ScwL)Px2;Bq{tUYRR8yjS~jTe&T;WkEc6b?sU-FCHz3M=kN_Q!rD7 z*mx68>L1_e8f!z}w7JGdxNlw?l}-n^djSu0?!7TGKFIxPPyqbC)G;x@-5=m5h8_1u z7=WaxEmydKR@)H{LkK|??S$wlm(HY;!^a5-5Qmulc0#J60@>~WnI*I8u6+_B63+x1;rnv|?uUxt zfSmu_y_uy%Qc`61f?E#Xe7||`&3iNRW`67Sx(WEs-Te>YfBXdT?6GOD3Sm6|UkpI**}|tBH?cMbsz8)D;Q#f%0f6yHnYc}e*E1w!OP>s-JJvG9=TP&- zdhIFV%7ymk#N69FF$Qu3`MAzMXQLNyh(er~L`2+kGWr!_ zW!eSc*}}tT3p3B||BapdY|+j=r#S98$weGRmynviC5Z8iP;?}PRFR$%6RAvuF49s4 z7iQwuie#clXHxN7LXn!dAtA~+^gTb`eItEK=)M&fGl^8X``xs7Q<{oT2;G@XRtX2)g~2SVkjf#;Rj2%Lu2~)X>%Gcet7Z4!I<%oem)U;E z;0~MI;U%BJ^)I*d>n;7tW##f?k3y}mUe&MH?T3)3O7Zu#9<5jFefXZ8H`s{DMszmv z&8mxFb^sZx)Y`CL1BJx!gcC)juNGpgcmE2q$9hNJCRC@mB9oQcrmeNFia&?k7waXb zpx>20Vl8y$XxX`y76RtqRcc{129l_(xo z%^9pgzrwR$i=j7HC)e?zGDexXO^TibAv4wG126#JB-a5wEYviWd!$I&o2!@WH})vE z0E|2MX3YN%xfXbKPLki=TCPW9rDEH)DC5>DR?D&ssz{ zI}vsKF4+sP1-RT@9tTSHJgUL-y3ufkL|JRw3z27da z3h8q%A${))rC(tQ+e*JQ+P2bnm!$8O-F)jyN#8xU0G84wd$J%`K8&F3#_4thZ3|LK z&`KA-uVhcQ9c4Gn)_1iddoSPCjwZLXBbntpu2b92Soqs(x0bn$bEB;1#!8yHk@xSa zso#b7&i@DA0q17kD|Z}u)83&{bI)W(1D)CYRof}7_2iXMX}zQ~==@XqK3qR-@%z!L z@n{njus=k~s{-r~xK+6%*8nTMkMF{3P6LKMxnZk4LYyt{5Y?Jo%{i>_lD&@P8u3bp zPZF@wt?w_8ik57x5v|6ymB_SQu`>adw{m{juQ6-9R>u5+>M?n`%#nu9S(`q-qq>LK zAg^&9!?YZf{jkP%m)2O{+#68;3NGuxQn6c=>;Gyllj@XdptBuw%jN=dfbS@sqrL0c zd-1;0{fNd~`sSLU#@>-_yycpGAeTN{7Tar1Rjsd@FA{WRuDP-W|GiBuoO6F%KW860 zFCrzvM{E%ZJL?U@$Js}3Zd^p-%u?g-?7nvr(sVq@iNcg9NJ0wE(crUi>FZqPh5&zb zROiOCj`4nX)-ygnJ}JhhZrn~}vpzn7)0~tMrzbKJ_es{vabi4mlTV1p&s{i{4RKs5 z%?sRR=|+4?I4%kkX_3EjtmqnE^Nh0YXgTfVxa+B`i@ThRUlWqY+p3)2(r%p^mHcc9Ki4s?h`Is!{uP4QX zM=CN2BxgyiM|EVf=m3t2l$0t`JXFR-G5wKLBq2-`9Wdik5ZYl!Ya zh8D^#gKaU{7M*Ru?OP4D&1BnjwhdLL4R(*o?$OyjxU$1wJ59DzXFIJ>v*NKlp?p~P z>^3~Rtp>k3YBq36*a|eQ5(hoN0RZKi)fiNhW@A`8U7)nn+G(>frku3=ujkuz|LYJm z(T*4Wi|_uv#ZD`yta|^Si7xL5Y1K8V!t5=Dx0-h*su{hZN^R;;WK9V%qrpW9m8OLR2`iEQJ&2AS;6Lfiy7=F+|+|dAy|iw zsH2)gJ7;n|MxfW~Jh&LveysgimGVaxWK~}3QQNFwQ~r}eUqLpb1Lof2dJqMx|ICuO z)VSpIf=1xH z891*8&OZ%?@~!vYQQxrwJM+T)Tk5dY*bHv5)(QZ{KeXe*$wlVNQ9BLLXzW)z)DFwX zX(x4GCj?t8d(GJ3li0{|Y{ZD2F=J%j^GoS}i zu#TQtx~3mJ1L1Mpj`dfor2ry5qz4XFOQFXM9C{KMSPl&6$KQP11^~jJTJ3mU6joUj zyYkaUpj{oY8h7Zs2ed%|5DLChJh9mERrk#bs2#nGccqFhQ4{}xpewQFkK^m8D0C-%LUKk$)#HJdqd{_VLgb#)^trT zMUB9)85q_B!{4mb`qcK>(YaA&bavDVwLS@TE{8geP{a&HR*7a87(Ia5VP#N}R@}b1 znBLq4THD+O!Ei@ScT{&rt@=jw$ef%X(a8Kre#ESASK2IpPyr3@&y%{Z9|BA>jtdtS zYrec}rsuunJiS(JgE}<(rgCbfxm624sC!tqO0eEnF_?F%q}pTo8r8S&1=XO{ z5XjT>Ue$?IBAtI*O{;0G6+xqJAFL`(JM%pYw_$4Qp*sMz)$#}KAGvoV-#0(7FrbkO zuRrm}mi@5;Z}|I6e;-_I`Ci3#c|_~cTaG{|fPJEP(Pzg1jm9I$CZ8hvJ))J$zrEe6 z3ytqWJOqe6tw4#l7lV11+Nh3MzChl2ZbT&xcud*O&4E|Ev~RCdToo* zxg|z=dyG7@@pxH9Wev|(9!BL2SJFI%E|Ifv0)@l3>jfjZx1`Vgf?l2%P*7Vzfp;@5 zxZDLbkpw84e5CA5CcUJuvo4RCS#m-O*L zpT-;m(({+yBtB4bRbo~11y>a?6Tz({{m5C(3Fu>mD=Ir>=5x5G{{lZGfKC%|oqxLu z_a;q|UrK%;vC(x|ZOub}3nt<_)8arcrunr+!8oANGB5$*g5Ji`A^Tu@$AS6A({S&i;Dus3(|ymP2jQPgwMGW z7f+!qe(qRvsUWi%CA@DO1RraBd>WDR?6beO_)Bfk>4PDL?;1p|Wj#=wn77~Azgvcmp{7)B}d z+99HId!$B;pmZ02B4cxk-30LfD)u2z2S7qjX2~0{odEy(8_Jq2;T7c#Xf=tNGeFY} zu|n0{>Ac%H(+LTk?bU?BVBtjJ#BUOiv4cVNnN*)n^;I|hK)>*={)6}QA6$Z9Ubw8Y zAK1a5uA0O@Yz^CIDcv3l19$IZ`8pNA06Z&7}S1~+OJdl zal;lxPzTi$>WMj^0=Wec3~IMY?bfN?xJ8#5eB{UvJ#asCYdsHY4c|VU?XrVGMNKNI zQ&G!Pr+hs3+DymFjyCP^ZwG!o@T=E;^O~`v*W3X+8|`Sr;7)obKHH+~Q~g%+jz=do z=E3O0(L(Ekx0aiudUI6SrR-YVHFLrWH9ZRFuRn-Bj26fT-OHhf9*QXYmHma=GbgQ@ zTIKD#KT`WX{mINvRv3?7%c&Fq6n{V8lkd&iE@&4Xehe8q7|sKx^MJk {l} ({sig["Type"]})' + if "OutputSignals" in obj: + for i, (l, sig) in enumerate(obj["OutputSignals"].items()): + if sig['DataSource'] not in datasources: + datasources[sig['DataSource']] = {} + if l not in datasources[sig['DataSource']]: + datasources[sig['DataSource']][l] = [f'fn{fn}:out{i}'] + else: + datasources[sig['DataSource']][l].append(f'fn{fn}:out{i}') + if i != 0: + outputs += ' | ' + outputs += f' {l} ({sig["Type"]})' + node += '{ { '+inputs+' } | { '+ outputs +' } }"];' + else: + node += '"];' + if "InputSignals" in obj: + for i, (l, sig) in enumerate(obj["InputSignals"].items()): + if sig['DataSource'] not in datasources: + datasources[sig['DataSource']] = [] + if (fn, 'in') not in datasources[sig['DataSource']]: + datasources[sig['DataSource']].append((fn, 'in')) + if "OutputSignals" in obj: + for i, (l, sig) in enumerate(obj["OutputSignals"].items()): + if sig['DataSource'] not in datasources: + datasources[sig['DataSource']] = [] + if (fn, 'out') not in datasources[sig['DataSource']]: + datasources[sig['DataSource']].append((fn, 'out')) + print(node) + for l, obj in datasources.items(): + logging.debug(f"datasource: {l}") + ds = app['+Data'][f'+{l}'] + arrows = '' + node = f' ds{l} [label="{l}\n{ds["Class"]}' + if full: + node += ' | ' + for i, s in enumerate(obj): + if i > 0: + node += " | " + node += f' {s}' + for c in obj[s]: + if c.split(':')[1].startswith('in'): + arrows += f' ds{l}:sig{i} -> {c};\n' + else: + arrows += f' {c} -> ds{l}:sig{i};\n' + else: + for (fn, dir) in obj: + if dir == 'in': + arrows += f' ds{l} -> fn{fn};\n' + else: + arrows += f' fn{fn} -> ds{l};\n' + node += '" color=blue];' + print(node) + print(arrows) + print('}\n```') + +def __doc_application__(label, app): + print() + print(f"## Real-time application: `{label[1:]}`") + print() + print(f"Below are descrbed the states and threads of the real-time application {label[1:]}.") + print("```") + print(f'╭{"─"*(len(label)-1)}╮') + print(f'│{label[1:]}│') + print(f'╰┬{"─"*(len(label)-2)}╯') + states = app['+States'] + for i, (label, obj) in enumerate(states.items()): + ch = '├─▷' if i < len(states) - 1 else '╰─▷' + tab = ' │ ' if i < len(states) - 1 else ' ' + if label[0] == '+': + print(f' {ch} {label[1:]}') + __doc_app_state__(obj, tab) + print("```") + for label, obj in states.items(): + if label[0] == '+': + print() + print(f'### State `{label[1:]}`') + __doc_state__(label, obj, app) + + + +def document(label, obj): + """Document MARTe object.""" + if obj['Class'] == 'RealTimeApplication': + __doc_application__(label, obj) + if obj['Class'] == 'StateMachine': + print() + print(f"## State-Machine `{label[1:]}`") + diff --git a/examples/TestApp_BPS_1_1_1_DAN_Run.cfg b/examples/TestApp_BPS_1_1_1_DAN_Run.cfg new file mode 100644 index 0000000..ec24a7d --- /dev/null +++ b/examples/TestApp_BPS_1_1_1_DAN_Run.cfg @@ -0,0 +1,6414 @@ ++NiDevice = { + Class = NI9157Device + NiRioDeviceName = "RIO0" + NiRioSerialNumber = "0x01E4B4D5" + NiRioGenFile = "/opt/codac/ampegon-ps-tb/BitStreams/AmpegonPsTb_NI9159_V2.lvbitx" + NiRioGenSignature = "455F662BA8258B060FD324C9DEF38604" + Open = 1 + Run = 1 + Reset = 1 + Clear = 1 + ResetPostSleepMs = 120 +} + ++StateMachine = { + Class = StateMachine + +INITIAL = { + Class = ReferenceContainer + +START = { + Class = StateMachineEvent + NextState = "PRE_CFG" + NextStateError = "ERROR" + Timeout = 0 + +OpenDANWriterT1 = { + Class = Message + Destination = "TbTestApp.Data.DANWriterT1" + Function = OpenStream + Mode = ExpectsReply + } + +OpenDANWriterT2 = { + Class = Message + Destination = "TbTestApp.Data.DANWriterT2" + Function = OpenStream + Mode = ExpectsReply + } + +OpenDANWriterT3 = { + Class = Message + Destination = "TbTestApp.Data.DANWriterT3" + Function = OpenStream + Mode = ExpectsReply + } + +ChangeToStateIdleMsg = { + Class = Message + Destination = TbTestApp + Mode = ExpectsReply + Function = PrepareNextState + +Parameters = { + Class = ConfigurationDatabase + param1 = PreCfg + } + } + +StartNextStateExecutionMsg = { + Class = Message + Destination = TbTestApp + Function = StartNextStateExecution + Mode = ExpectsReply + } + } + } + +PRE_CFG = { + Class = ReferenceContainer + +ENTER = { + Class = ReferenceContainer + // Set Current State + +SetCurrentState = { + Class = Message + Destination = TbTestApp.Functions.AppStateMachineState + Function = SetOutput + +Parameters = { + Class = ConfigurationDatabase + SignalName = SMState_DDB1 + SignalValue = 1 + } + } + // Enable DANWriterWriteT1 + +EnableDANWriterWriteT1 = { + Class = Message + Destination = TbTestApp.Functions.DANWriterWriteEnable + Function = SetOutput + +Parameters = { + Class = ConfigurationDatabase + SignalName = DANWriterEnable_DDB1 + SignalValue = 1 + } + } + } + +GOTO_MXI_CFG = { + Class = StateMachineEvent + NextState = "MXI_CFG" + NextStateError = "ERROR" + Timeout = 0 + // Prepare Next State + +StopCurrentStateExecutionMsg = { + Class = Message + Destination = TbTestApp + Function = StopCurrentStateExecution + Mode = ExpectsReply + } + +PrepareRun = { + Class = Message + Destination = TbTestApp + Mode = ExpectsReply + Function = PrepareNextState + +Parameters = { + Class = ConfigurationDatabase + param1 = MxiCfg + } + } + +GoToNextState = { + Class = Message + Destination = TbTestApp + Mode = ExpectsReply + Function = StartNextStateExecution + } + } + +GOTO_CFG_ERROR = { + Class = StateMachineEvent + NextState = "CFG_ERROR" + NextStateError = "ERROR" + Timeout = 0 + +StopCurrentStateExecutionMsg = { + Class = Message + Destination = TbTestApp + Function = StopCurrentStateExecution + Mode = ExpectsReply + } + +PrepareCfgError = { + Class = Message + Destination = TbTestApp + Mode = ExpectsReply + Function = PrepareNextState + +Parameters = { + Class = ConfigurationDatabase + param1 = CfgError + } + } + +GoToNextState = { + Class = Message + Destination = TbTestApp + Mode = ExpectsReply + Function = StartNextStateExecution + } + } + } + +MXI_CFG = { + Class = ReferenceContainer + +ENTER = { + Class = ReferenceContainer + // Set Current State + +SetCurrentState = { + Class = Message + Destination = TbTestApp.Functions.AppStateMachineState + Function = SetOutput + +Parameters = { + Class = ConfigurationDatabase + SignalName = SMState_DDB1 + SignalValue = 2 + } + } + // Trigger MXIConfigurationSupervisor Configuration + +MxiCfgSup_MsgMode_1 = { + Class = Message + Destination = TbTestApp.Functions.MXIConfigurationSupervisor + Function = MXIOperation + +Parameters = { + Class = ConfigurationDatabase + param1 = 1 + param2 = null + param3 = null + param4 = null + } + } + } + +GOTO_PLC_CFG = { + Class = StateMachineEvent + NextState = "PLC_CFG" + NextStateError = "ERROR" + Timeout = 0 + // Prepare Next State + +StopCurrentStateExecutionMsg = { + Class = Message + Destination = TbTestApp + Function = StopCurrentStateExecution + Mode = ExpectsReply + } + +PrepareRun = { + Class = Message + Destination = TbTestApp + Mode = ExpectsReply + Function = PrepareNextState + +Parameters = { + Class = ConfigurationDatabase + param1 = PlcCfg + } + } + +GoToNextState = { + Class = Message + Destination = TbTestApp + Mode = ExpectsReply + Function = StartNextStateExecution + } + } + +GOTO_CFG_ERROR = { + Class = StateMachineEvent + NextState = "CFG_ERROR" + NextStateError = "ERROR" + Timeout = 0 + +StopCurrentStateExecutionMsg = { + Class = Message + Destination = TbTestApp + Function = StopCurrentStateExecution + Mode = ExpectsReply + } + +PrepareCfgError = { + Class = Message + Destination = TbTestApp + Mode = ExpectsReply + Function = PrepareNextState + +Parameters = { + Class = ConfigurationDatabase + param1 = CfgError + } + } + +GoToNextState = { + Class = Message + Destination = TbTestApp + Mode = ExpectsReply + Function = StartNextStateExecution + } + } + } + +PLC_CFG = { + Class = ReferenceContainer + +ENTER = { + Class = ReferenceContainer + // Set Current State + +SetCurrentState = { + Class = Message + Destination = TbTestApp.Functions.AppStateMachineState + Function = SetOutput + +Parameters = { + Class = ConfigurationDatabase + SignalName = SMState_DDB1 + SignalValue = 3 + } + } + // Trigger PLCConfigurationSupervisor Configuration + +PlcCfgSup_MsgMode_0 = { + Class = Message + Destination = TbTestApp.Functions.PlcConfigurationSupervisor + Function = TriggerSelected + +Parameters = { + Class = ConfigurationDatabase + param1 = 0 + param2 = null + param3 = null + param4 = null + } + } + } + +GOTO_TEST_RUN = { + Class = StateMachineEvent + NextState = "TEST_RUN" + NextStateError = "ERROR" + Timeout = 0 + // Prepare Next State + +StopCurrentStateExecutionMsg = { + Class = Message + Destination = TbTestApp + Function = StopCurrentStateExecution + Mode = ExpectsReply + } + +PrepareRun = { + Class = Message + Destination = TbTestApp + Mode = ExpectsReply + Function = PrepareNextState + +Parameters = { + Class = ConfigurationDatabase + param1 = TestRun + } + } + +GoToNextState = { + Class = Message + Destination = TbTestApp + Mode = ExpectsReply + Function = StartNextStateExecution + } + } + +GOTO_CFG_ERROR = { + Class = StateMachineEvent + NextState = "CFG_ERROR" + NextStateError = "ERROR" + Timeout = 0 + +StopCurrentStateExecutionMsg = { + Class = Message + Destination = TbTestApp + Function = StopCurrentStateExecution + Mode = ExpectsReply + } + +PrepareCfgError = { + Class = Message + Destination = TbTestApp + Mode = ExpectsReply + Function = PrepareNextState + +Parameters = { + Class = ConfigurationDatabase + param1 = CfgError + } + } + +GoToNextState = { + Class = Message + Destination = TbTestApp + Mode = ExpectsReply + Function = StartNextStateExecution + } + } + } + +TEST_RUN = { + Class = ReferenceContainer + +ENTER = { + Class = ReferenceContainer + // Set Current State + +SetCurrentState = { + Class = Message + Destination = TbTestApp.Functions.AppStateMachineState + Function = SetOutput + +Parameters = { + Class = ConfigurationDatabase + SignalName = SMState_DDB1 + SignalValue = 4 + } + } + } + +GOTO_TEST_POST = { + Class = StateMachineEvent + NextState = "TEST_POST" + NextStateError = "ERROR" + Timeout = 0 + // Prepare Next State + +StopCurrentStateExecutionMsg = { + Class = Message + Destination = TbTestApp + Function = StopCurrentStateExecution + Mode = ExpectsReply + } + +PrepareTestPost = { + Class = Message + Destination = TbTestApp + Mode = ExpectsReply + Function = PrepareNextState + +Parameters = { + Class = ConfigurationDatabase + param1 = TestPost + } + } + +GoToNextState = { + Class = Message + Destination = TbTestApp + Mode = ExpectsReply + Function = StartNextStateExecution + } + } + } + +TEST_POST = { + Class = ReferenceContainer + +ENTER = { + Class = ReferenceContainer + // Set Current State + +SetCurrentState = { + Class = Message + Destination = TbTestApp.Functions.AppStateMachineState + Function = SetOutput + +Parameters = { + Class = ConfigurationDatabase + SignalName = SMState_DDB1 + SignalValue = 5 + } + } + } + +GOTO_TEST_DONE = { + Class = StateMachineEvent + NextState = "TEST_DONE" + NextStateError = "ERROR" + Timeout = 0 + // Trigger PLCConfigurationSupervisor Disable + // Not used in this test + // Trigger MXIConfigurationSupervisor Disable + +MxiCfgSup_MsgMode_2 = { + Class = Message + Destination = TbTestApp.Functions.MXIConfigurationSupervisor + Function = MXIOperation + +Parameters = { + Class = ConfigurationDatabase + param1 = 2 + param2 = null + param3 = null + param4 = null + } + } + // Flush DANWriterT2 + +FlushDANWriterT2 = { + Class = Message + Destination = TbTestApp.Data.DANWriterT2 + Function = CloseStream + Mode = ExpectsReply + } + // Flush FileWriterBufferT2 + +FlushFileWriterBufferT2 = { + Class = Message + Destination = TbTestApp.Data.FileWriterBufferT2 + Function = FlushFile + Mode = ExpectsReply + } + // Flush DANWriterT3 + +FlushDANWriterT3 = { + Class = Message + Destination = TbTestApp.Data.DANWriterT3 + Function = CloseStream + Mode = ExpectsReply + } + +StopCurrentStateExecutionMsg = { + Class = Message + Destination = TbTestApp + Function = StopCurrentStateExecution + Mode = ExpectsReply + } + +PrepareTestDone = { + Class = Message + Destination = TbTestApp + Mode = ExpectsReply + Function = PrepareNextState + +Parameters = { + Class = ConfigurationDatabase + param1 = TestDone + } + } + +GoToNextState = { + Class = Message + Destination = TbTestApp + Mode = ExpectsReply + Function = StartNextStateExecution + } + } + } + +TEST_DONE = { + Class = ReferenceContainer + +ENTER = { + Class = ReferenceContainer + // Set Current State + +SetCurrentState = { + Class = Message + Destination = TbTestApp.Functions.AppStateMachineState + Function = SetOutput + +Parameters = { + Class = ConfigurationDatabase + SignalName = SMState_DDB1 + SignalValue = 7 + } + } + } + +TEST_DONE_TASKS = { + Class = StateMachineEvent + NextState = "TEST_DONE" + NextStateError = "ERROR" + Timeout = 0 + // Disable DANWriterWriteT1 + +DisableDANWriterWriteT1 = { + Class = Message + Destination = TbTestApp.Functions.DANWriterWriteEnable + Function = SetOutput + +Parameters = { + Class = ConfigurationDatabase + SignalName = DANWriterEnable_DDB1 + SignalValue = 0 + } + } + // Flush DANWriterT1 + +FlushDANWriterT1 = { + Class = Message + Destination = TbTestApp.Data.DANWriterT1 + Function = CloseStream + Mode = ExpectsReply + } + } + +GOTO_PRE_CFG = { + Class = StateMachineEvent + NextState = "PRE_CFG" + NextStateError = "ERROR" + Timeout = 0 + +StopCurrentStateExecutionMsg = { + Class = Message + Destination = TbTestApp + Function = StopCurrentStateExecution + Mode = ExpectsReply + } + +PreparePreCfg = { + Class = Message + Destination = TbTestApp + Mode = ExpectsReply + Function = PrepareNextState + +Parameters = { + Class = ConfigurationDatabase + param1 = PreCfg + } + } + +GoToNextState = { + Class = Message + Destination = TbTestApp + Mode = ExpectsReply + Function = StartNextStateExecution + } + } + } + +CFG_ERROR = { + Class = ReferenceContainer + +ENTER = { + Class = ReferenceContainer + // Set Current State + +SetCurrentState = { + Class = Message + Destination = TbTestApp.Functions.AppStateMachineState + Function = SetOutput + +Parameters = { + Class = ConfigurationDatabase + SignalName = SMState_DDB1 + SignalValue = 8 + } + } + // Trigger PLCConfigurationSupervisor Disable + // Not used in this test + // Trigger MXIConfigurationSupervisor Disable + +MxiCfgSup_MsgMode_2 = { + Class = Message + Destination = TbTestApp.Functions.MXIConfigurationSupervisor + Function = MXIOperation + +Parameters = { + Class = ConfigurationDatabase + param1 = 2 + param2 = null + param3 = null + param4 = null + } + } + // Disable DANWriterWriteT1 + +DisableDANWriterWriteT1 = { + Class = Message + Destination = TbTestApp.Functions.DANWriterWriteEnable + Function = SetOutput + +Parameters = { + Class = ConfigurationDatabase + SignalName = DANWriterEnable_DDB1 + SignalValue = 0 + } + } + // Flush DANWriterTreeT1 + +FlushDANWriterT1 = { + Class = Message + Destination = TbTestApp.Data.DANWriterT1 + Function = CloseStream + Mode = ExpectsReply + } + // Flush DANWriterTreeT2 + +FlushDANWriterT2 = { + Class = Message + Destination = TbTestApp.Data.DANWriterT2 + Function = CloseStream + Mode = ExpectsReply + } + // Flush FileWriterBufferT2 + +FlushFileWriterBufferT2 = { + Class = Message + Destination = TbTestApp.Data.FileWriterBufferT2 + Function = FlushFile + Mode = ExpectsReply + } + // Flush DANWriterTreeT3 + +FlushDANWriterT3 = { + Class = Message + Destination = TbTestApp.Data.DANWriterT3 + Function = CloseStream + Mode = ExpectsReply + } + } + +GOTO_PRE_CFG = { + Class = StateMachineEvent + NextState = "PRE_CFG" + NextStateError = "ERROR" + Timeout = 0 + +StopCurrentStateExecutionMsg = { + Class = Message + Destination = TbTestApp + Function = StopCurrentStateExecution + Mode = ExpectsReply + } + +PreparePreCfg = { + Class = Message + Destination = TbTestApp + Mode = ExpectsReply + Function = PrepareNextState + +Parameters = { + Class = ConfigurationDatabase + param1 = PreCfg + } + } + +GoToNextState = { + Class = Message + Destination = TbTestApp + Mode = ExpectsReply + Function = StartNextStateExecution + } + } + } + +ERROR = { + Class = ReferenceContainer + +ENTER = { + Class = ReferenceContainer + // Set Current State + +SetCurrentState = { + Class = Message + Destination = TbTestApp.Functions.AppStateMachineState + Function = SetOutput + +Parameters = { + Class = ConfigurationDatabase + SignalName = SMState_DDB1 + SignalValue = 9 + } + } + // Trigger PLCConfigurationSupervisor Disable + // Not used in this test + // Trigger MXIConfigurationSupervisor Disable + +MxiCfgSup_MsgMode_2 = { + Class = Message + Destination = TbTestApp.Functions.MXIConfigurationSupervisor + Function = MXIOperation + +Parameters = { + Class = ConfigurationDatabase + param1 = 2 + param2 = null + param3 = null + param4 = null + } + } + // Disable DANWriterWriteT1 + +DisableDANWriterWriteT1 = { + Class = Message + Destination = TbTestApp.Functions.DANWriterWriteEnable + Function = SetOutput + +Parameters = { + Class = ConfigurationDatabase + SignalName = DANWriterEnable_DDB1 + SignalValue = 0 + } + } + // Flush DANWriterTreeT1 + +FlushDANWriterT1 = { + Class = Message + Destination = TbTestApp.Data.DANWriterT1 + Function = CloseStream + Mode = ExpectsReply + } + // Flush DANWriterTreeT2 + +FlushDANWriterT2 = { + Class = Message + Destination = TbTestApp.Data.DANWriterT2 + Function = CloseStream + Mode = ExpectsReply + } + // Flush FileWriterBufferT2 + +FlushFileWriterBufferT2 = { + Class = Message + Destination = TbTestApp.Data.FileWriterBufferT2 + Function = FlushFile + Mode = ExpectsReply + } + // Flush DANWriterTreeT3 + +FlushDANWriterT3 = { + Class = Message + Destination = TbTestApp.Data.DANWriterT3 + Function = CloseStream + Mode = ExpectsReply + } + +StopCurrentStateExecutionMsg = { + Class = Message + Destination = TbTestApp + Function = StopCurrentStateExecution + Mode = ExpectsReply + } + +PrepareError = { + Class = Message + Destination = TbTestApp + Mode = ExpectsReply + Function = PrepareNextState + +Parameters = { + Class = ConfigurationDatabase + param1 = Error + } + } + +GoToNextState = { + Class = Message + Destination = TbTestApp + Mode = ExpectsReply + Function = StartNextStateExecution + } + } + +GOTO_PRE_CFG = { + Class = StateMachineEvent + NextState = "PRE_CFG" + NextStateError = "ERROR" + Timeout = 0 + +StopCurrentStateExecutionMsg = { + Class = Message + Destination = TbTestApp + Function = StopCurrentStateExecution + Mode = ExpectsReply + } + +PreparePreCfg = { + Class = Message + Destination = TbTestApp + Mode = ExpectsReply + Function = PrepareNextState + +Parameters = { + Class = ConfigurationDatabase + param1 = PreCfg + } + } + +GoToNextState = { + Class = Message + Destination = TbTestApp + Mode = ExpectsReply + Function = StartNextStateExecution + } + } + } +} + +$TbTestApp = { + Class = RealTimeApplication + +Functions = { + Class = ReferenceContainer + + // ----------- T1 START ----------- // + // Slow Timer Thread - Configuration and monitoring + // ------ TIMER ------ // + +Timer = { + Class = IOGAM + InputSignals = { + Counter = { + DataSource = Timer + Type = uint32 + } + Time = { + Frequency = 100 + DataSource = Timer + Type = uint32 + } + AbsoluteTime = { + DataSource = Timer + Type = uint64 + } + } + OutputSignals = { + Counter_DDB1 = { + DataSource = DDB1 + Type = uint32 + } + Time_DDB1 = { + DataSource = DDB1 + Type = uint32 + } + AbsTimeSrc_DDB1 = { + DataSource = DDB1 + Type = uint64 + } + } + } + + +CurrentTime_T1 = { + Class = SystemClockGAM + OutputSignals = { + AbsTimeT1_DDB1 = { + DataSource = DDB1 + Type = uint64 + } + } + } + + +TimeConverter = { + Class = AbsTimeConverterGAM + InputSignals = { + AbsTimeSrc_DDB1 = { + DataSource = DDB1 + Type = uint64 + } + } + OutputSignals = { + AbsTime_DDB1 = { + DataSource = DDB1 + Type = uint64 + } + } + } + // ------------------- // + + // ----- RX PATH ----- // + +MXIRead = { + Class = IOGAM + InputSignals = { + hl_tx_spi_done = { + DataSource = MXIRegistersRead + Type = bool + NumberOfElements = 1 + Trigger = 1 + } + hl_rx_spi_done = { + DataSource = MXIRegistersRead + Type = bool + NumberOfElements = 1 + } + dsc_ao_0_ctr_out = { + DataSource = MXIRegistersRead + Type = uint8 + NumberOfElements = 1 + } + dsc_ao_1_ctr_out = { + DataSource = MXIRegistersRead + Type = uint8 + NumberOfElements = 1 + } + dsc_ao_2_ctr_out = { + DataSource = MXIRegistersRead + Type = uint8 + NumberOfElements = 1 + } + dsc_mo_0_ctr_out = { + DataSource = MXIRegistersRead + Type = uint8 + NumberOfElements = 1 + } + dsc_mo_1_ctr_out = { + DataSource = MXIRegistersRead + Type = uint8 + NumberOfElements = 1 + } + dsc_do_n_ctr_out = { + DataSource = MXIRegistersRead + Type = uint8 + NumberOfElements = 1 + } + dsc_fs_0_ctr_out = { + DataSource = MXIRegistersRead + Type = uint8 + NumberOfElements = 1 + } + dsc_fs_1_ctr_out = { + DataSource = MXIRegistersRead + Type = uint8 + NumberOfElements = 1 + } + dsc_full_mod_out = { + DataSource = MXIRegistersRead + Type = uint8 + NumberOfElements = 1 + } + dsc_acq_en_out = { + DataSource = MXIRegistersRead + Type = bool + NumberOfElements = 1 + } + dsc_ts_status = { + DataSource = MXIRegistersRead + Type = bool + NumberOfElements = 1 + } + dsc_ts_out = { + DataSource = MXIRegistersRead + Type = uint64 + NumberOfElements = 1 + } + } + OutputSignals = { + MXI_HL_TX_SPI_DONE_DDB1 = { + DataSource = DDB1 + Type = bool + NumberOfElements = 1 + } + MXI_HL_RX_SPI_DONE_DDB1 = { + DataSource = DDB1 + Type = bool + NumberOfElements = 1 + } + MXI_DSC_AO_0_CTR_OUT_DDB1 = { + DataSource = DDB1 + Type = uint8 + NumberOfElements = 1 + } + MXI_DSC_AO_1_CTR_OUT_DDB1 = { + DataSource = DDB1 + Type = uint8 + NumberOfElements = 1 + } + MXI_DSC_AO_2_CTR_OUT_DDB1 = { + DataSource = DDB1 + Type = uint8 + NumberOfElements = 1 + } + MXI_DSC_MO_0_CTR_OUT_DDB1 = { + DataSource = DDB1 + Type = uint8 + NumberOfElements = 1 + } + MXI_DSC_MO_1_CTR_OUT_DDB1 = { + DataSource = DDB1 + Type = uint8 + NumberOfElements = 1 + } + MXI_DSC_DO_N_CTR_OUT_DDB1 = { + DataSource = DDB1 + Type = uint8 + NumberOfElements = 1 + } + MXI_DSC_FS_0_CTR_OUT_DDB1 = { + DataSource = DDB1 + Type = uint8 + NumberOfElements = 1 + } + MXI_DSC_FS_1_CTR_OUT_DDB1 = { + DataSource = DDB1 + Type = uint8 + NumberOfElements = 1 + } + MXI_DSC_FULL_MOD_OUT_DDB1 = { + DataSource = DDB1 + Type = uint8 + NumberOfElements = 1 + } + MXI_DSC_ACQ_EN_OUT_DDB1 = { + DataSource = DDB1 + Type = bool + NumberOfElements = 1 + } + MXI_DSC_TS_STATUS_DDB1 = { + DataSource = DDB1 + Type = bool + NumberOfElements = 1 + } + MXI_DSC_TS_OUT_DDB1 = { + DataSource = DDB1 + Type = uint64 + NumberOfElements = 1 + } + } + } + + +MXIModuleFullFlagSplitter = { + Class = BitSplitterGAM + InputSignals = { + DigitalSignal = { + Alias = MXI_DSC_FULL_MOD_OUT_DDB1 + DataSource = DDB1 + Type = uint8 + } + } + OutputSignals = { + Bit_0 = { + Alias = MXI_DSC_AO_0_FULL_OUT_DDB1 + DataSource = DDB1 + Type = bool + } + Bit_1 = { + Alias = MXI_DSC_AO_1_FULL_OUT_DDB1 + DataSource = DDB1 + Type = bool + } + Bit_2 = { + Alias = MXI_DSC_AO_2_FULL_OUT_DDB1 + DataSource = DDB1 + Type = bool + } + Bit_3 = { + Alias = MXI_DSC_MO_0_FULL_OUT_DDB1 + DataSource = DDB1 + Type = bool + } + Bit_4 = { + Alias = MXI_DSC_MO_1_FULL_OUT_DDB1 + DataSource = DDB1 + Type = bool + } + Bit_5 = { + Alias = MXI_DSC_DO_N_FULL_OUT_DDB1 + DataSource = DDB1 + Type = bool + } + Bit_6 = { + Alias = MXI_DSC_FS_0_FULL_OUT_DDB1 + DataSource = DDB1 + Type = bool + } + Bit_7 = { + Alias = MXI_DSC_FS_1_FULL_OUT_DDB1 + DataSource = DDB1 + Type = bool + } + } + } + + +MXIMasterTime = { + Class = TimeArrayGAM + TimePerTicks = 25 + TimeStep = 500 + InputSignals = { + MXI_DSC_TS_OUT_DDB1 = { + DataSource = DDB1 + Type = uint64 + NumberOfElements = 1 + } + } + OutputSignals = { + MXIAbsTime_DDB1 = { + DataSource = DDB1 + Type = uint64 + NumberOfElements = 1 + NumberOfDimensions = 0 + } + } + } + + +PlcPacketRx = { + Class = IOGAM + InputSignals = { + PlcReceivedAbsTime = { + DataSource = SdnPlcSub + Alias = Header + NumberOfElements = 48 + Type = uint8 + Ranges = {{32, 39}} + Trigger = 1 + } + PLC_HEADER = { + DataSource = SdnPlcSub + Type = uint8 + NumberOfElements = 8 + } + ACK_CFG = { + DataSource = SdnPlcSub + Type = uint8 + NumberOfElements = 1 + } + ACK_SMC = { + DataSource = SdnPlcSub + Type = uint8 + NumberOfElements = 1 + } + STATE_CFG = { + DataSource = SdnPlcSub + Type = uint8 + NumberOfElements = 1 + } + STATE_SMC = { + DataSource = SdnPlcSub + Type = uint8 + NumberOfElements = 1 + } + } + OutputSignals = { + PlcPacketRx_AbsTime_DDB1 = { + DataSource = DDB1 + Type = uint64 + } + PlcPacketRx_HEADER_DDB1 = { + DataSource = DDB1 + Type = uint8 + NumberOfElements = 8 + NumberOfDimensions = 1 + } + PlcPacketRx_ACK_CFG_DDB1 = { + DataSource = DDB1 + Type = uint8 + NumberOfElements = 1 + } + PlcPacketRx_ACK_SMC_DDB1 = { + DataSource = DDB1 + Type = uint8 + NumberOfElements = 1 + } + PlcPacketRx_STATE_CFG_DDB1 = { + DataSource = DDB1 + Type = uint8 + NumberOfElements = 1 + } + PlcPacketRx_STATE_SMC_DDB1 = { + DataSource = DDB1 + Type = uint8 + NumberOfElements = 1 + } + } + } + // ------------------- // + + // ---- CONST GAM ---- // + +AppStateMachineState = { + Class = ConstantGAM + OutputSignals = { + SMState_DDB1 = { + DataSource = DDB1 + Type = uint8 + NumberOfElements = 1 + Default = 0 + } + } + } + + +DANWriterWriteEnable = { + Class = ConstantGAM + OutputSignals = { + DANWriterEnable_DDB1 = { + DataSource = DDB1 + Type = uint8 + NumberOfElements = 1 + Default = 0 + } + } + } + + +MXISupervisorVariables = { + Class = ConstantGAM + OutputSignals = { + MXIConfigurationSupervisor_Trigger_DDB1 = { + DataSource = DDB1 + Type = uint8 + NumberOfElements = 1 + Default = 0 + } + MXIConfigurationSupervisor_Mode_DDB1 = { + DataSource = DDB1 + Type = uint8 + NumberOfElements = 1 + Default = 0 + } + } + } + + +MXIBaseConfigurationVariables = { + Class = ConstantGAM + OutputSignals = { + MXI_RST_IN_DDB1 = { + DataSource = DDB1 + Type = bool + NumberOfElements = 1 + Default = 1 + } + MXI_HL_TX_1_OPT_DDB1 = { + DataSource = DDB1 + Type = uint8 + NumberOfElements = 1 + Default = 4 + } + MXI_HL_TX_2_OPT_DDB1 = { + DataSource = DDB1 + Type = uint8 + NumberOfElements = 1 + Default = 4 + } + MXI_HL_TX_3_OPT_DDB1 = { + DataSource = DDB1 + Type = uint8 + NumberOfElements = 1 + Default = 4 + } + MXI_HL_TX_OPT_TRG_DDB1 = { + DataSource = DDB1 + Type = bool + NumberOfElements = 1 + Default = 1 + } + MXI_HL_RX_1_OPT_DDB1 = { + DataSource = DDB1 + Type = uint8 + NumberOfElements = 1 + Default = 4 + } + MXI_HL_RX_2_OPT_DDB1 = { + DataSource = DDB1 + Type = uint8 + NumberOfElements = 1 + Default = 4 + } + MXI_HL_RX_3_OPT_DDB1 = { + DataSource = DDB1 + Type = uint8 + NumberOfElements = 1 + Default = 4 + } + MXI_HL_RX_4_OPT_DDB1 = { + DataSource = DDB1 + Type = uint8 + NumberOfElements = 1 + Default = 4 + } + MXI_HL_RX_5_OPT_DDB1 = { + DataSource = DDB1 + Type = uint8 + NumberOfElements = 1 + Default = 4 + } + MXI_HL_RX_6_OPT_DDB1 = { + DataSource = DDB1 + Type = uint8 + NumberOfElements = 1 + Default = 4 + } + MXI_HL_RX_7_OPT_DDB1 = { + DataSource = DDB1 + Type = uint8 + NumberOfElements = 1 + Default = 4 + } + MXI_HL_RX_OPT_TRG_DDB1 = { + DataSource = DDB1 + Type = bool + NumberOfElements = 1 + Default = 1 + } + MXI_DBG_EN_SEL_IN_DDB1 = { + DataSource = DDB1 + Type = bool + NumberOfElements = 1 + Default = 1 + } + MXI_DBG_EN_IN_DDB1 = { + DataSource = DDB1 + Type = bool + NumberOfElements = 1 + Default = 0 + } + } + } + + +MXIDsFifoAcqEnVariables = { + Class = ConstantGAM + OutputSignals = { + MXI_ACQ_EN_PAT_DDB1 = { + DataSource = DDB1 + Type = uint64 + NumberOfElements = 1 + Default = 0xAAAAAAAAAAAAAAAA + } + } + } + + +PlcPacketTxVariables = { + Class = ConstantGAM + OutputSignals = { + PlcPacketTx_Trigger_DDB1 = { + DataSource = DDB1 + Type = uint8 + Default = 0 + } + PlcPacketTx_Select_DDB1 = { + DataSource = DDB1 + Type = uint8 + Default = 0 + } + PlcPacketTx_HeaderNF_DDB1 = { + DataSource = DDB1 + Type = uint8 + Default = 11 + } + PlcPacketTx_HeaderNI_DDB1 = { + DataSource = DDB1 + Type = uint8 + Default = 10 + } + PlcPacketTx_HeaderNC_DDB1 = { + DataSource = DDB1 + Type = uint8 + Default = 2 + } + PlcPacketTx_HeaderNS_DDB1 = { + DataSource = DDB1 + Type = uint8 + Default = 0 + } + PlcPacketTx_HeaderNA_DDB1 = { + DataSource = DDB1 + Type = uint8 + Default = 0 + } + PlcPacketTx_HeaderS_DDB1 = { + DataSource = DDB1 + Type = uint8 + NumberOfDimensions = 1 + NumberOfElements = 3 + Default = {0 0 0} + } + } + } + + +StateMachineTasksDelay = { + Class = ConstantGAM + OutputSignals = { + CycleCounterReset_DDB1 = { + DataSource = DDB1 + Type = uint8 + NumberOfElements = 1 + Default = 0 + } + DelayCycles_DDB1 = { + DataSource = DDB1 + Type = uint64 + NumberOfElements = 1 + Default = 50 + } + } + } + + +AcquisitionStatusDaq = { + Class = ConstantGAM + OutputSignals = { + AcquisitionStatusT2_DDB1 = { + DataSource = DDB1 + Type = uint8 + NumberOfElements = 1 + Default = 0 + } + } + } + + +AcquisitionStatusDbg = { + Class = ConstantGAM + OutputSignals = { + AcquisitionStatusT3_DDB1 = { + DataSource = DDB1 + Type = uint8 + NumberOfElements = 1 + Default = 0 + } + } + } + // ------------------- // + + // ---- FLOW CTRL ---- // + +MXIConfigurationSupervisor = { + Class = MXIConfigurationSupervisorGAM + InputSignals = { + // --- Trigger Signals --- // + TriggerInput = { + Alias = MXIConfigurationSupervisor_Trigger_DDB1 + DataSource = DDB1 + Type = uint8 + NumberOfElements = 1 + } + ModeInput = { + Alias = MXIConfigurationSupervisor_Mode_DDB1 + DataSource = DDB1 + Type = uint8 + NumberOfElements = 1 + } + // --- Monitor Signals --- // + // Base Configuration + BaseDone = { + Alias = MXIBaseConfigurationDone_DDB1 + DataSource = DDB1 + Type = uint8 + NumberOfElements = 1 + } + BaseStatus = { + Alias = MXIBaseConfigurationStatus_DDB1 + DataSource = DDB1 + Type = uint8 + NumberOfElements = 1 + } + // Acquisition Enable + AcqEnDone = { + Alias = MXIAcquisitionEnableDone_DDB1 + DataSource = DDB1 + Type = uint8 + NumberOfElements = 1 + } + AcqEnStatus = { + Alias = MXIAcquisitionEnableStatus_DDB1 + DataSource = DDB1 + Type = uint8 + NumberOfElements = 1 + } + // Triplet Configuration + TripletDone = { + Alias = MXITripletConfigurationDone_DDB1 + DataSource = DDB1 + Type = uint8 + NumberOfElements = 1 + } + TripletStatus = { + Alias = MXITripletConfigurationStatus_DDB1 + DataSource = DDB1 + Type = uint8 + NumberOfElements = 1 + } + } + OutputSignals = { + // --- Trigger Signals --- // + // Base Configuration + BaseTrigger = { + Alias = MXIBaseConfiguration_Trigger_DDB1 + DataSource = DDB1 + Type = uint8 + NumberOfElements = 1 + } + BaseMode = { + Alias = MXIBaseConfiguration_Mode_DDB1 + DataSource = DDB1 + Type = uint8 + NumberOfElements = 1 + } + // Acquisition Configuration + AcqTrigger = { + Alias = MXIAcquisitionEnable_Trigger_DDB1 + DataSource = DDB1 + Type = uint8 + NumberOfElements = 1 + } + // Triplet Configuration + TripletTrigger = { + Alias = MXITripletConfiguration_Trigger_DDB1 + DataSource = DDB1 + Type = uint8 + NumberOfElements = 1 + } + // Status Signals + CfgDone = { + Alias = MXIConfigurationSupervisor_Done_DDB1 + DataSource = DDB1 + Type = uint8 + NumberOfElements = 1 + } + CfgError = { + Alias = MXIConfigurationSupervisor_Error_DDB1 + DataSource = DDB1 + Type = uint8 + NumberOfElements = 1 + } + CfgStatus = { + Alias = MXIConfigurationSupervisor_Status_DDB1 + DataSource = DDB1 + Type = uint8 + NumberOfElements = 1 + } + } + } + + +MXIBaseConfiguration = { + Class = MXIBaseConfigurationGAM + ConfigurationStepTimeOutMs = 50 + InputSignals = { + // Timer and activation signals + TimerAbsTimeUs = { + Alias = AbsTime_DDB1 + DataSource = DDB1 + Type = uint64 + NumberOfElements = 1 + } + TriggerInput = { + Alias = MXIBaseConfiguration_Trigger_DDB1 + DataSource = DDB1 + Type = uint8 + NumberOfElements = 1 + } + ModeInput = { + Alias = MXIBaseConfiguration_Mode_DDB1 + DataSource = DDB1 + Type = uint8 + NumberOfElements = 1 + } + // Monitoring Signals + HlTxDone = { + Alias = MXI_HL_TX_SPI_DONE_DDB1 + DataSource = DDB1 + Type = bool + NumberOfElements = 1 + } + HlRxDone = { + Alias = MXI_HL_RX_SPI_DONE_DDB1 + DataSource = DDB1 + Type = bool + NumberOfElements = 1 + } + DscStatus = { + Alias = MXI_DSC_TS_STATUS_DDB1 + DataSource = DDB1 + Type = bool + NumberOfElements = 1 + } + } + OutputSignals = { + // Trigger Signals + TriggerReset = { + Alias = Trigger_MXIWriteRst_DDB1 + DataSource = DDB1 + Type = uint8 + NumberOfElements = 1 + } + TriggerHotLink = { + Alias = Trigger_MXIWriteHlOpt_DDB1 + DataSource = DDB1 + Type = uint8 + NumberOfElements = 1 + } + TriggerEnable = { + Alias = Trigger_MXIWriteEn_DDB1 + DataSource = DDB1 + Type = uint8 + NumberOfElements = 1 + } + TriggerDebug = { + Alias = Trigger_MXIWriteDbg_DDB1 + DataSource = DDB1 + Type = uint8 + NumberOfElements = 1 + } + // Data Signals + Enable = { + Alias = MXI_EN_IN_DDB1 + DataSource = DDB1 + Type = bool + NumberOfElements = 1 + } + // Status Signals + CfgDone = { + Alias = MXIBaseConfigurationDone_DDB1 + DataSource = DDB1 + Type = uint8 + NumberOfElements = 1 + } + CfgStatus = { + Alias = MXIBaseConfigurationStatus_DDB1 + DataSource = DDB1 + Type = uint8 + NumberOfElements = 1 + } + } + } + + +MXIAcquisitionEnable = { + Class = MXIAcquisitionEnableGAM + ConfigurationStepTimeOutMs = 50 + InputSignals = { + // Timer and activation signals + TimerAbsTimeUs = { + Alias = AbsTime_DDB1 + DataSource = DDB1 + Type = uint64 + NumberOfElements = 1 + } + TriggerInput = { + Alias = MXIAcquisitionEnable_Trigger_DDB1 + DataSource = DDB1 + Type = uint8 + NumberOfElements = 1 + } + // Monitoring Signals + AcqEnStatus = { + Alias = MXI_DSC_ACQ_EN_OUT_DDB1 + DataSource = DDB1 + Type = bool + NumberOfElements = 1 + } + } + OutputSignals = { + // Trigger Signals + TriggerAcquisition = { + Alias = Trigger_MXIWriteIDsFifoAcqEn_DDB1 + DataSource = DDB1 + Type = uint8 + NumberOfElements = 1 + } + // Status Signals + CfgDone = { + Alias = MXIAcquisitionEnableDone_DDB1 + DataSource = DDB1 + Type = uint8 + NumberOfElements = 1 + } + CfgStatus = { + Alias = MXIAcquisitionEnableStatus_DDB1 + DataSource = DDB1 + Type = uint8 + NumberOfElements = 1 + } + } + } + + +MXITripletConfiguration = { + Class = MXITripletConfigurationGAM + ConfigurationStepTimeOutMs = 5000 + ReplayEvents = 3 + +Channels = { + Class = ReferenceContainer + +AnalogueOutput_0 = { + Class = TripletsContainer + Type = AnalogueOutput + StartTimeToTimeStampTicks = 25 + Triplets = { + { 1, 1, 0x3FFF0000, 0x2000}, + { 2, 5100000000, 0x00036FF2, 0x3ADA}, + { 3, 5200000000, 0x00036FF2, 0x2000} + } + } + +AnalogueOutput_1 = { + Class = TripletsContainer + Type = AnalogueOutput + StartTimeToTimeStampTicks = 25 + Triplets = { + { 1, 1, 0x3FFF0000, 0x2000}, + { 2, 5140000000, 0x00036FF2, 0x3FFF}, + { 3, 5150000000, 0x00036FF2, 0x2000} + } + } + +AnalogueOutput_2 = { + Class = TripletsContainer + Type = AnalogueOutput + StartTimeToTimeStampTicks = 25 + Triplets = { + { 1, 1, 0x3FFF0000, 0x2000}, + { 2, 5140000000, 0x00036FF2, 0x3FFF}, + { 3, 5150000000, 0x00036FF2, 0x2000} + } + } + +ModulationOutput_0 = { + Class = TripletsContainer + Type = ModulationOutput + StartTimeToTimeStampTicks = 25 + ParamTimeToTicks = 500 + Triplets = { + { 1, 1, 0, 0} + } + } + +ModulationOutput_1 = { + Class = TripletsContainer + Type = ModulationOutput + StartTimeToTimeStampTicks = 25 + ParamTimeToTicks = 500 + Triplets = { + { 1, 1, 0, 0} + } + } + +DigitalOutput_N = { + Class = TripletsContainer + Type = DigitalOutput + StartTimeToTimeStampTicks = 25 + Triplets = { + { 1, 5098000000, 0, 0, 0, 0, 1}, + { 2, 5202000000, 0, 0, 0, 0, 0} + } + } + +FastShutdownOutput_0 = { + Class = TripletsContainer + Type = FastShutdownOutput + StartTimeToTimeStampTicks = 25 + Triplets = { + { 1, 1, 0, 16, 8} + } + } + +FastShutdownOutput_1 = { + Class = TripletsContainer + Type = FastShutdownOutput + StartTimeToTimeStampTicks = 25 + Triplets = { + { 1, 1, 0, 16, 8} + } + } + } + InputSignals = { + TimerAbsTimeUs = { + Alias = MXIAbsTime_DDB1 + DataSource = DDB1 + Type = uint64 + NumberOfElements = 1 + } + TriggerInput = { + Alias = MXITripletConfiguration_Trigger_DDB1 + DataSource = DDB1 + Type = uint8 + NumberOfElements = 1 + } + AnalogueOutput_0_Counter = { + Alias = MXI_DSC_AO_0_CTR_OUT_DDB1 + DataSource = DDB1 + Type = uint8 + NumberOfElements = 1 + } + AnalogueOutput_0_Full = { + Alias = MXI_DSC_AO_0_FULL_OUT_DDB1 + DataSource = DDB1 + Type = bool + NumberOfElements = 1 + } + AnalogueOutput_1_Counter = { + Alias = MXI_DSC_AO_1_CTR_OUT_DDB1 + DataSource = DDB1 + Type = uint8 + NumberOfElements = 1 + } + AnalogueOutput_1_Full = { + Alias = MXI_DSC_AO_1_FULL_OUT_DDB1 + DataSource = DDB1 + Type = bool + NumberOfElements = 1 + } + AnalogueOutput_2_Counter = { + Alias = MXI_DSC_AO_2_CTR_OUT_DDB1 + DataSource = DDB1 + Type = uint8 + NumberOfElements = 1 + } + AnalogueOutput_2_Full = { + Alias = MXI_DSC_AO_2_FULL_OUT_DDB1 + DataSource = DDB1 + Type = bool + NumberOfElements = 1 + } + ModulationOutput_0_Counter = { + Alias = MXI_DSC_MO_0_CTR_OUT_DDB1 + DataSource = DDB1 + Type = uint8 + NumberOfElements = 1 + } + ModulationOutput_0_Full = { + Alias = MXI_DSC_MO_0_FULL_OUT_DDB1 + DataSource = DDB1 + Type = bool + NumberOfElements = 1 + } + ModulationOutput_1_Counter = { + Alias = MXI_DSC_MO_1_CTR_OUT_DDB1 + DataSource = DDB1 + Type = uint8 + NumberOfElements = 1 + } + ModulationOutput_1_Full = { + Alias = MXI_DSC_MO_1_FULL_OUT_DDB1 + DataSource = DDB1 + Type = bool + NumberOfElements = 1 + } + DigitalOutput_N_Counter = { + Alias = MXI_DSC_DO_N_CTR_OUT_DDB1 + DataSource = DDB1 + Type = uint8 + NumberOfElements = 1 + } + DigitalOutput_N_Full = { + Alias = MXI_DSC_DO_N_FULL_OUT_DDB1 + DataSource = DDB1 + Type = bool + NumberOfElements = 1 + } + FastShutdown_0_Counter = { + Alias = MXI_DSC_FS_0_CTR_OUT_DDB1 + DataSource = DDB1 + Type = uint8 + NumberOfElements = 1 + } + FastShutdown_0_Full = { + Alias = MXI_DSC_FS_0_FULL_OUT_DDB1 + DataSource = DDB1 + Type = bool + NumberOfElements = 1 + } + FastShutdown_1_Counter = { + Alias = MXI_DSC_FS_1_CTR_OUT_DDB1 + DataSource = DDB1 + Type = uint8 + NumberOfElements = 1 + } + FastShutdown_1_Full = { + Alias = MXI_DSC_FS_1_FULL_OUT_DDB1 + DataSource = DDB1 + Type = bool + NumberOfElements = 1 + } + } + OutputSignals = { + TriggerTriplets = { + Alias = Trigger_MXIWriteDsFifoConfig_DDB1 + DataSource = DDB1 + Type = uint8 + NumberOfElements = 1 + } + TripletsPacket = { + Alias = MXI_PCK_TRIPLETS_DDB1 + DataSource = DDB1 + Type = uint64 + NumberOfElements = 16 + NumberOfDimensions = 1 + } + CfgDone = { + Alias = MXITripletConfigurationDone_DDB1 + DataSource = DDB1 + Type = uint8 + NumberOfElements = 1 + } + CfgError = { + Alias = MXITripletConfigurationError_DDB1 + DataSource = DDB1 + Type = uint8 + NumberOfElements = 1 + } + CfgStatus = { + Alias = MXITripletConfigurationStatus_DDB1 + DataSource = DDB1 + Type = uint8 + NumberOfElements = 1 + } + } + } + + +PlcConfigurationSupervisor = { + Class = PlcConfigurationSupervisorGAM + ReplyTimeOutMs = 10000 + +Configurations = { + Class = ReferenceContainer + +ConfigSet_0_Start = { + Class = ReferenceContainer + +ConfigStep_0_ChangeToState2 = { + Class = PlcConfigurationContainer + Floats = { 0.0 35.0 0.0 35.0 15.0 15.0 20.0 20.0 20000.0 0.0 0.2 } + Integers = { 1000 1000 1 1 0 1 1000 1 2 2 } + Commands = { 0 1 } + } + +ConfigStep_1_SetParameters = { + Class = PlcConfigurationContainer + Floats = { 0.0 35.0 0.0 35.0 15.0 15.0 20.0 20.0 20000.0 0.0 0.2 } + Integers = { 1000 1000 1 1 1 1 1000 1 0 2 } + Commands = { 1 0 } + } + +ConfigStep_2_SetParameters = { + Class = PlcConfigurationContainer + Floats = { 0.0 35.0 0.0 35.0 15.0 15.0 20.0 20.0 20000.0 0.0 0.2 } + Integers = { 1000 1000 1 1 0 1 1000 1 0 2 } + Commands = { 1 0 } + } + +ConfigStep_3_ChangeToState3 = { + Class = PlcConfigurationContainer + Floats = { 0.0 35.0 0.0 35.0 15.0 15.0 20.0 20.0 20000.0 0.0 0.2 } + Integers = { 1000 1000 1 1 0 1 1000 1 3 2 } + Commands = { 0 1 } + } + } + } + InputSignals = { + // Timer and activation signals + TimerAbsTimeUs = { + Alias = AbsTime_DDB1 + DataSource = DDB1 + Type = uint64 + NumberOfElements = 1 + } + TriggerInput = { + Alias = PlcPacketTx_Trigger_DDB1 + DataSource = DDB1 + Type = uint8 + NumberOfElements = 1 + } + SelectInput = { + Alias = PlcPacketTx_Select_DDB1 + DataSource = DDB1 + Type = uint8 + NumberOfElements = 1 + } + // Monitor Signals + PLCReadAbsTime = { + Alias = PlcPacketRx_AbsTime_DDB1 + DataSource = DDB1 + Type = uint64 + NumberOfElements = 1 + } + PLCReadAckCfg = { + Alias = PlcPacketRx_ACK_CFG_DDB1 + DataSource = DDB1 + Type = uint8 + NumberOfElements = 1 + } + PLCReadAckSmc = { + Alias = PlcPacketRx_ACK_SMC_DDB1 + DataSource = DDB1 + Type = uint8 + NumberOfElements = 1 + } + PLCReadStateCfg = { + Alias = PlcPacketRx_STATE_CFG_DDB1 + DataSource = DDB1 + Type = uint8 + NumberOfElements = 1 + } + PLCReadStateSmc = { + Alias = PlcPacketRx_STATE_SMC_DDB1 + DataSource = DDB1 + Type = uint8 + NumberOfElements = 1 + } + } + OutputSignals = { + // Trigger Signals + TriggerOutput = { + Alias = PlcPacketTx_TrgOut_DDB1 + DataSource = DDB1 + Type = uint8 + NumberOfElements = 1 + } + // PLC Signals + VB1TREF = { + Alias = PlcPacketTx_VB1TREF_DDB1 + DataSource = DDB1 + Type = float32 + NumberOfElements = 1 + } + VB1 = { + Alias = PlcPacketTx_VB1_DDB1 + DataSource = DDB1 + Type = float32 + NumberOfElements = 1 + } + VB2TREF = { + Alias = PlcPacketTx_VB2TREF_DDB1 + DataSource = DDB1 + Type = float32 + NumberOfElements = 1 + } + VB2 = { + Alias = PlcPacketTx_VB2_DDB1 + DataSource = DDB1 + Type = float32 + NumberOfElements = 1 + } + VB1RR = { + Alias = PlcPacketTx_VB1RR_DDB1 + DataSource = DDB1 + Type = float32 + NumberOfElements = 1 + } + VB2RR = { + Alias = PlcPacketTx_VB2RR_DDB1 + DataSource = DDB1 + Type = float32 + NumberOfElements = 1 + } + VB1TH = { + Alias = PlcPacketTx_VB1TH_DDB1 + DataSource = DDB1 + Type = float32 + NumberOfElements = 1 + } + VB2TH = { + Alias = PlcPacketTx_VB2TH_DDB1 + DataSource = DDB1 + Type = float32 + NumberOfElements = 1 + } + VKTH = { + Alias = PlcPacketTx_VKTH_DDB1 + DataSource = DDB1 + Type = float32 + NumberOfElements = 1 + } + VK = { + Alias = PlcPacketTx_VK_DDB1 + DataSource = DDB1 + Type = float32 + NumberOfElements = 1 + } + PSKT = { + Alias = PlcPacketTx_PSKT_DDB1 + DataSource = DDB1 + Type = float32 + NumberOfElements = 1 + } + VB1UP = { + Alias = PlcPacketTx_VB1UP_DDB1 + DataSource = DDB1 + Type = uint16 + NumberOfElements = 1 + } + VB2UP = { + Alias = PlcPacketTx_VB2UP_DDB1 + DataSource = DDB1 + Type = uint16 + NumberOfElements = 1 + } + VB1TSEL = { + Alias = PlcPacketTx_VB1TSEL_DDB1 + DataSource = DDB1 + Type = uint16 + NumberOfElements = 1 + } + VB2TSEL = { + Alias = PlcPacketTx_VB2TSEL_DDB1 + DataSource = DDB1 + Type = uint16 + NumberOfElements = 1 + } + VKSEL = { + Alias = PlcPacketTx_VKSEL_DDB1 + DataSource = DDB1 + Type = uint16 + NumberOfElements = 1 + } + BODR = { + Alias = PlcPacketTx_BODR_DDB1 + DataSource = DDB1 + Type = uint16 + NumberOfElements = 1 + } + VKUP = { + Alias = PlcPacketTx_VKUP_DDB1 + DataSource = DDB1 + Type = uint16 + NumberOfElements = 1 + } + MDKF = { + Alias = PlcPacketTx_MDKF_DDB1 + DataSource = DDB1 + Type = uint16 + NumberOfElements = 1 + } + CSTAT = { + Alias = PlcPacketTx_CSTAT_DDB1 + DataSource = DDB1 + Type = uint16 + NumberOfElements = 1 + } + COMOD = { + Alias = PlcPacketTx_COMOD_DDB1 + DataSource = DDB1 + Type = uint16 + NumberOfElements = 1 + } + CFG_MOD = { + Alias = PlcPacketTx_CFG_MOD_DDB1 + DataSource = DDB1 + Type = uint8 + NumberOfElements = 1 + } + SM_MOD = { + Alias = PlcPacketTx_SM_MOD_DDB1 + DataSource = DDB1 + Type = uint8 + NumberOfElements = 1 + } + // Status Flags + CfgDone = { + Alias = PlcConfigurationSupervisor_Done_DDB1 + DataSource = DDB1 + Type = uint8 + NumberOfElements = 1 + } + CfgError = { + Alias = PlcConfigurationSupervisor_Error_DDB1 + DataSource = DDB1 + Type = uint8 + NumberOfElements = 1 + } + CfgStatus = { + Alias = PlcConfigurationSupervisor_Status_DDB1 + DataSource = DDB1 + Type = uint8 + NumberOfElements = 1 + } + } + } + // ------------------- // + + // ----- TX PATH ----- // + +MXIWriteRst = { + Class = TriggeredIOGAM + InputSignals = { + Trigger_MXIWriteRst_DDB1 = { + DataSource = DDB1 + Type = uint8 + NumberOfElements = 1 + } + MXI_RST_IN_DDB1 = { + DataSource = DDB1 + Type = bool + NumberOfElements = 1 + } + } + OutputSignals = { + rst_in = { + DataSource = MXIRegistersWriteRst + Type = bool + NumberOfElements = 1 + Trigger = 1 + } + } + } + + +MXIWriteHlOpt = { + Class = TriggeredIOGAM + InputSignals = { + Trigger_MXIWriteHlOpt_DDB1 = { + DataSource = DDB1 + Type = uint8 + NumberOfElements = 1 + } + MXI_HL_TX_1_OPT_DDB1 = { + DataSource = DDB1 + Type = uint8 + NumberOfElements = 1 + } + MXI_HL_TX_2_OPT_DDB1 = { + DataSource = DDB1 + Type = uint8 + NumberOfElements = 1 + } + MXI_HL_TX_3_OPT_DDB1 = { + DataSource = DDB1 + Type = uint8 + NumberOfElements = 1 + } + MXI_HL_TX_OPT_TRG_DDB1 = { + DataSource = DDB1 + Type = bool + NumberOfElements = 1 + } + MXI_HL_RX_1_OPT_DDB1 = { + DataSource = DDB1 + Type = uint8 + NumberOfElements = 1 + } + MXI_HL_RX_2_OPT_DDB1 = { + DataSource = DDB1 + Type = uint8 + NumberOfElements = 1 + } + MXI_HL_RX_3_OPT_DDB1 = { + DataSource = DDB1 + Type = uint8 + NumberOfElements = 1 + } + MXI_HL_RX_4_OPT_DDB1 = { + DataSource = DDB1 + Type = uint8 + NumberOfElements = 1 + } + MXI_HL_RX_5_OPT_DDB1 = { + DataSource = DDB1 + Type = uint8 + NumberOfElements = 1 + } + MXI_HL_RX_6_OPT_DDB1 = { + DataSource = DDB1 + Type = uint8 + NumberOfElements = 1 + } + MXI_HL_RX_7_OPT_DDB1 = { + DataSource = DDB1 + Type = uint8 + NumberOfElements = 1 + } + MXI_HL_RX_OPT_TRG_DDB1 = { + DataSource = DDB1 + Type = bool + NumberOfElements = 1 + } + } + OutputSignals = { + hl_tx_1_opt = { + DataSource = MXIRegistersWriteHlOpt + Type = uint8 + NumberOfElements = 1 + Trigger = 1 + } + hl_tx_2_opt = { + DataSource = MXIRegistersWriteHlOpt + Type = uint8 + NumberOfElements = 1 + } + hl_tx_3_opt = { + DataSource = MXIRegistersWriteHlOpt + Type = uint8 + NumberOfElements = 1 + } + hl_tx_opt_trg = { + DataSource = MXIRegistersWriteHlOpt + Type = bool + NumberOfElements = 1 + } + hl_rx_1_opt = { + DataSource = MXIRegistersWriteHlOpt + Type = uint8 + NumberOfElements = 1 + } + hl_rx_2_opt = { + DataSource = MXIRegistersWriteHlOpt + Type = uint8 + NumberOfElements = 1 + } + hl_rx_3_opt = { + DataSource = MXIRegistersWriteHlOpt + Type = uint8 + NumberOfElements = 1 + } + hl_rx_4_opt = { + DataSource = MXIRegistersWriteHlOpt + Type = uint8 + NumberOfElements = 1 + } + hl_rx_5_opt = { + DataSource = MXIRegistersWriteHlOpt + Type = uint8 + NumberOfElements = 1 + } + hl_rx_6_opt = { + DataSource = MXIRegistersWriteHlOpt + Type = uint8 + NumberOfElements = 1 + } + hl_rx_7_opt = { + DataSource = MXIRegistersWriteHlOpt + Type = uint8 + NumberOfElements = 1 + } + hl_rx_opt_trg = { + DataSource = MXIRegistersWriteHlOpt + Type = bool + NumberOfElements = 1 + } + } + } + + +MXIWriteEn = { + Class = TriggeredIOGAM + InputSignals = { + Trigger_MXIWriteEn_DDB1 = { + DataSource = DDB1 + Type = uint8 + NumberOfElements = 1 + } + MXI_EN_IN_DDB1 = { + DataSource = DDB1 + Type = bool + NumberOfElements = 1 + } + } + OutputSignals = { + dsc_en_in = { + DataSource = MXIRegistersWriteEn + Type = bool + NumberOfElements = 1 + Trigger = 1 + } + } + } + + +MXIWriteDbg = { + Class = TriggeredIOGAM + InputSignals = { + Trigger_MXIWriteDbg_DDB1 = { + DataSource = DDB1 + Type = uint8 + NumberOfElements = 1 + } + MXI_DBG_EN_SEL_IN_DDB1 = { + DataSource = DDB1 + Type = bool + NumberOfElements = 1 + } + MXI_DBG_EN_IN_DDB1 = { + DataSource = DDB1 + Type = bool + NumberOfElements = 1 + } + } + OutputSignals = { + dbg_en_sel_in = { + DataSource = MXIRegistersDgbEn + Type = bool + NumberOfElements = 1 + Trigger = 1 + } + dbg_en_in = { + DataSource = MXIRegistersDgbEn + Type = bool + NumberOfElements = 1 + } + } + } + + +MXIWriteDsFifoAcqEn = { + Class = TriggeredIOGAM + InputSignals = { + Trigger_MXIWriteIDsFifoAcqEn_DDB1 = { + DataSource = DDB1 + Type = uint8 + NumberOfElements = 1 + } + MXI_ACQ_EN_PAT_DDB1 = { + DataSource = DDB1 + Type = uint64 + NumberOfElements = 1 + } + } + OutputSignals = { + FIFO0_U64_WR = { + DataSource = MXIDsFifoAcqEn + Type = uint64 + NumberOfElements = 1 + NumberOfDimensions = 1 + Trigger = 1 + } + } + } + + +MXIWriteDsFifoConfig = { + Class = TriggeredIOGAM + InputSignals = { + Trigger_MXIWriteDsFifoConfig_DDB1 = { + DataSource = DDB1 + Type = uint8 + NumberOfElements = 1 + } + MXI_PCK_TRIPLETS_DDB1 = { + DataSource = DDB1 + Type = uint64 + NumberOfElements = 16 + NumberOfDimensions = 1 + } + } + OutputSignals = { + FIFO0_U64_WR = { + DataSource = MXIDsFifoConfig + Type = uint64 + NumberOfElements = 16 + NumberOfDimensions = 1 + Trigger = 1 + } + } + } + + +PlcPacketTx = { + Class = TriggeredIOGAM + InputSignals = { + PlcPacketTx_TrgOut_DDB1 = { + DataSource = DDB1 + Type = uint8 + } + PlcPacketTx_HeaderNF_DDB1 = { + DataSource = DDB1 + Type = uint8 + } + PlcPacketTx_HeaderNI_DDB1 = { + DataSource = DDB1 + Type = uint8 + } + PlcPacketTx_HeaderNC_DDB1 = { + DataSource = DDB1 + Type = uint8 + } + PlcPacketTx_HeaderNS_DDB1 = { + DataSource = DDB1 + Type = uint8 + } + PlcPacketTx_HeaderNA_DDB1 = { + DataSource = DDB1 + Type = uint8 + } + PlcPacketTx_HeaderS_DDB1 = { + DataSource = DDB1 + Type = uint8 + NumberOfDimensions = 1 + NumberOfElements = 3 + } + PlcPacketTx_VB1TREF_DDB1 = { + DataSource = DDB1 + Type = float32 + } + PlcPacketTx_VB1_DDB1 = { + DataSource = DDB1 + Type = float32 + } + PlcPacketTx_VB2TREF_DDB1 = { + DataSource = DDB1 + Type = float32 + } + PlcPacketTx_VB2_DDB1 = { + DataSource = DDB1 + Type = float32 + } + PlcPacketTx_VB1RR_DDB1 = { + DataSource = DDB1 + Type = float32 + } + PlcPacketTx_VB2RR_DDB1 = { + DataSource = DDB1 + Type = float32 + } + PlcPacketTx_VB1TH_DDB1 = { + DataSource = DDB1 + Type = float32 + } + PlcPacketTx_VB2TH_DDB1 = { + DataSource = DDB1 + Type = float32 + } + PlcPacketTx_VKTH_DDB1 = { + DataSource = DDB1 + Type = float32 + } + PlcPacketTx_VK_DDB1 = { + DataSource = DDB1 + Type = float32 + } + PlcPacketTx_PSKT_DDB1 = { + DataSource = DDB1 + Type = float32 + } + PlcPacketTx_VB1UP_DDB1 = { + DataSource = DDB1 + Type = uint16 + } + PlcPacketTx_VB2UP_DDB1 = { + DataSource = DDB1 + Type = uint16 + } + PlcPacketTx_VB1TSEL_DDB1 = { + DataSource = DDB1 + Type = uint16 + } + PlcPacketTx_VB2TSEL_DDB1 = { + DataSource = DDB1 + Type = uint16 + } + PlcPacketTx_VKSEL_DDB1 = { + DataSource = DDB1 + Type = uint16 + } + PlcPacketTx_BODR_DDB1 = { + DataSource = DDB1 + Type = uint16 + } + PlcPacketTx_VKUP_DDB1 = { + DataSource = DDB1 + Type = uint16 + } + PlcPacketTx_MDKF_DDB1 = { + DataSource = DDB1 + Type = uint16 + } + PlcPacketTx_CSTAT_DDB1 = { + DataSource = DDB1 + Type = uint16 + } + PlcPacketTx_COMOD_DDB1 = { + DataSource = DDB1 + Type = uint16 + } + PlcPacketTx_CFG_MOD_DDB1 = { + DataSource = DDB1 + Type = uint8 + } + PlcPacketTx_SM_MOD_DDB1 = { + DataSource = DDB1 + Type = uint8 + } + } + OutputSignals = { + HeaderNF = { + DataSource = SdnPlcPub + Type = uint8 + Trigger = 1 + } + HeaderNI = { + DataSource = SdnPlcPub + Type = uint8 + } + HeaderNC = { + DataSource = SdnPlcPub + Type = uint8 + } + HeaderNS = { + DataSource = SdnPlcPub + Type = uint8 + } + HeaderNA = { + DataSource = SdnPlcPub + Type = uint8 + } + HeaderS = { + DataSource = SdnPlcPub + Type = uint8 + NumberOfElements = 3 + } + VB1TREF = { + DataSource = SdnPlcPub + Type = float32 + } + VB1 = { + DataSource = SdnPlcPub + Type = float32 + } + VB2TREF = { + DataSource = SdnPlcPub + Type = float32 + } + VB2 = { + DataSource = SdnPlcPub + Type = float32 + } + VB1RR = { + DataSource = SdnPlcPub + Type = float32 + } + VB2RR = { + DataSource = SdnPlcPub + Type = float32 + } + VB1TH = { + DataSource = SdnPlcPub + Type = float32 + } + VB2TH = { + DataSource = SdnPlcPub + Type = float32 + } + VKTH = { + DataSource = SdnPlcPub + Type = float32 + } + VK = { + DataSource = SdnPlcPub + Type = float32 + } + PSKT = { + DataSource = SdnPlcPub + Type = float32 + } + VB1UP = { + DataSource = SdnPlcPub + Type = uint16 + } + VB2UP = { + DataSource = SdnPlcPub + Type = uint16 + } + VB1TSEL = { + DataSource = SdnPlcPub + Type = uint16 + } + VB2TSEL = { + DataSource = SdnPlcPub + Type = uint16 + } + VKSEL = { + DataSource = SdnPlcPub + Type = uint16 + } + BODR = { + DataSource = SdnPlcPub + Type = uint16 + } + VKUP = { + DataSource = SdnPlcPub + Type = uint16 + } + MDKF = { + DataSource = SdnPlcPub + Type = uint16 + } + CSTAT = { + DataSource = SdnPlcPub + Type = uint16 + } + COMOD = { + DataSource = SdnPlcPub + Type = uint16 + } + CFG = { + DataSource = SdnPlcPub + Type = uint8 + } + SM = { + DataSource = SdnPlcPub + Type = uint8 + } + } + } + // ------------------- // + + // -- MON/STATE CTRL - // + +AppMonitor = { + Class = TestMonitorGAM + InputSignals = { + AbsTime_DDB1 = { + DataSource = DDB1 + Type = uint64 + NumberOfElements = 1 + } + MXIAbsTime_DDB1 = { + DataSource = DDB1 + Type = uint64 + NumberOfElements = 1 + } + SMState_DDB1 = { + DataSource = DDB1 + Type = uint8 + NumberOfElements = 1 + } + MXIConfigurationSupervisor_Done_DDB1 = { + DataSource = DDB1 + Type = uint8 + NumberOfElements = 1 + } + MXIConfigurationSupervisor_Error_DDB1 = { + DataSource = DDB1 + Type = uint8 + NumberOfElements = 1 + } + MXIConfigurationSupervisor_Status_DDB1 = { + DataSource = DDB1 + Type = uint8 + NumberOfElements = 1 + } + PlcConfigurationSupervisor_Done_DDB1 = { + DataSource = DDB1 + Type = uint8 + NumberOfElements = 1 + } + PlcConfigurationSupervisor_Error_DDB1 = { + DataSource = DDB1 + Type = uint8 + NumberOfElements = 1 + } + PlcConfigurationSupervisor_Status_DDB1 = { + DataSource = DDB1 + Type = uint8 + NumberOfElements = 1 + } + } + OutputSignals = { + ExtStateTransition_DDB1 = { + DataSource = DDB1 + Type = uint8 + NumberOfElements = 1 + } + AbortConfigurationState_DDB1 = { + DataSource = DDB1 + Type = uint8 + NumberOfElements = 1 + } + TerminateRunningState_DDB1 = { + DataSource = DDB1 + Type = uint8 + NumberOfElements = 1 + } + } + } + + +EventMessageBypassPreCfg = { + Class = MessageGAM + TriggerOnChange = 1 + +Events = { + Class = ReferenceContainer + // App Driven -> From PRE_CFG (1) send to MXI_CFG (2) + +AppMonitorTempBypass_PRE_CFG_GOTO_MXI_CFG = { + Class = EventConditionTrigger + EventTrigger = { + Command_SMState_DDB1 = 1 + } + +TST_PRE_CFG_GOTO_MXI_CFG = { + Class = Message + Destination = StateMachine + Function = GOTO_MXI_CFG + Mode = ExpectsReply + } + } + } + InputSignals = { + Command_SMState_DDB1 = { + Alias = SMState_DDB1 + DataSource = DDB1 + Type = uint8 + } + } + OutputSignals = { + Clear_SMState_DDB1 = { + DataSource = DDB1 + Type = uint32 + } + } + } + + +AcquisitionStatusMonitor = { + Class = MathExpressionGAM + Expression = " + AcqStatus_DDB1 = (uint8)( + (uint8)(AcquisitionStatusT2_DDB1) == (uint8)(1) && + (uint8)(AcquisitionStatusT3_DDB1) == (uint8)(1) + ); + " + InputSignals = { + AcquisitionStatusT2_DDB1 = { + DataSource = DDB1 + Type = uint8 + } + AcquisitionStatusT3_DDB1 = { + DataSource = DDB1 + Type = uint8 + } + } + OutputSignals = { + AcqStatus_DDB1 = { + DataSource = DDB1 + Type = uint8 + NumberOfElements = 1 + } + } + } + + +AcquisitionStatusMessages = { + Class = MessageGAM + TriggerOnChange = 1 + +Events = { + Class = ReferenceContainer + // App Driven -> From TEST_RUN (4) send to TEST_POST (5) + +TriggerStateTransition_TEST_RUN_GOTO_TEST_POST = { + Class = EventConditionTrigger + EventTrigger = { + Command_AcqStatus_DDB1 = 1 + } + +TST_TEST_RUN_GOTO_TEST_POST = { + Class = Message + Destination = StateMachine + Function = GOTO_TEST_POST + Mode = ExpectsReply + } + } + } + InputSignals = { + Command_AcqStatus_DDB1 = { + Alias = AcqStatus_DDB1 + DataSource = DDB1 + Type = uint8 + } + } + OutputSignals = { + Clear_AcqStatus_DDB1 = { + DataSource = DDB1 + Type = uint32 + } + } + } + + +CycleCounterT1 = { + Class = CycleCounterGAM + ResetOnStateChange = 1 + ZeroIfReset = 1 + Step = 1 + InputSignals = { + Reset = { + Alias = CycleCounterReset_DDB1 + DataSource = DDB1 + Type = uint8 + NumberOfElements = 1 + } + } + OutputSignals = { + CycleCounter = { + Alias = CycleCounter_DDB1 + DataSource = DDB1 + Type = uint64 + NumberOfElements = 1 + } + } + } + + +TestPostTasksDelay = { + Class = MathExpressionGAM + Expression = " + Tasks_Trigger_DDB1 = (uint8)((uint64)(CycleCounter_DDB1) > (uint64)(DelayCycles_DDB1)); + " + InputSignals = { + CycleCounter_DDB1 = { + DataSource = DDB1 + Type = uint64 + NumberOfElements = 1 + } + DelayCycles_DDB1 = { + DataSource = DDB1 + Type = uint64 + NumberOfElements = 1 + } + } + OutputSignals = { + Tasks_Trigger_DDB1 = { + DataSource = DDB1 + Type = uint8 + NumberOfElements = 1 + } + } + } + + +TestPostGotoTestDone = { + Class = MessageGAM + TriggerOnChange = 1 + +Events = { + Class = ReferenceContainer + // Application driven -> When in TEST_POST (5) go to TEST_DONE (7) + +AppMonitorTempBypass_TEST_POST_CALL_GOTO_TEST_DONE = { + Class = EventConditionTrigger + EventTrigger = { + Command_Tasks_Trigger_DDB1 = 1 + Signal_SMState_DDB1 = 5 + } + +TAF_TEST_POST_GOTO_TEST_DONE = { + Class = Message + Destination = StateMachine + Function = GOTO_TEST_DONE + Mode = ExpectsReply + } + } + } + InputSignals = { + Command_Tasks_Trigger_DDB1 = { + Alias = Tasks_Trigger_DDB1 + DataSource = DDB1 + Type = uint8 + } + Signal_SMState_DDB1 = { + Alias = SMState_DDB1 + DataSource = DDB1 + Type = uint8 + } + } + OutputSignals = { + Clear_Tasks_Trigger_DDB1 = { + DataSource = DDB1 + Type = uint32 + } + } + } + + +TestDoneCallTasks = { + Class = MessageGAM + TriggerOnChange = 1 + +Events = { + Class = ReferenceContainer + // BYPASS AppMonitor -> When in TEST_DONE (7) call TEST_DONE_TASKS + +AppMonitorTempBypass_TEST_POST_CALL_TEST_DONE_TASKS = { + Class = EventConditionTrigger + EventTrigger = { + Command_Tasks_Trigger_DDB1 = 1 + Signal_SMState_DDB1 = 7 + } + +TAF_TEST_DONE_TEST_DONE_TASKS = { + Class = Message + Destination = StateMachine + Function = TEST_DONE_TASKS + Mode = ExpectsReply + } + } + } + InputSignals = { + Command_Tasks_Trigger_DDB1 = { + Alias = Tasks_Trigger_DDB1 + DataSource = DDB1 + Type = uint8 + } + Signal_SMState_DDB1 = { + Alias = SMState_DDB1 + DataSource = DDB1 + Type = uint8 + } + } + OutputSignals = { + Clear_Tasks_Trigger_DDB1 = { + DataSource = DDB1 + Type = uint32 + } + } + } + + +EventMessages = { + Class = MessageGAM + TriggerOnChange = 1 + +Events = { + Class = ReferenceContainer + // Ext Driven -> From PRE_CFG (1) send to CFG_ERROR (6) + +TriggerStateTransition_PRE_CFG_GOTO_CFG_ERROR = { + Class = EventConditionTrigger + EventTrigger = { + Command_ExtStateTransition_DDB1 = 2 + Signal_SMState_DDB1 = 1 + } + +TST_PRE_CFG_GOTO_CFG_ERROR = { + Class = Message + Destination = StateMachine + Function = GOTO_CFG_ERROR + Mode = ExpectsReply + } + } + // App Driven ->From MXI_CFG (2) send to PLC_CFG (3) + +TriggerStateTransition_MXI_CFG_GOTO_PLC_CFG = { + Class = EventConditionTrigger + EventTrigger = { + Command_MXIConfigurationSupervisor_Done_DDB1 = 1 + Command_MXIConfigurationSupervisor_Error_DDB1 = 0 + Signal_SMState_DDB1 = 2 + } + +TST_MXI_CFG_GOTO_PLC_CFG = { + Class = Message + Destination = StateMachine + Function = GOTO_PLC_CFG + Mode = ExpectsReply + } + } + // App Driven ->From MXI_CFG (2) send to CFG_ERROR (6) + +TriggerStateTransition_MXI_CFG_GOTO_CFG_ERROR = { + Class = EventConditionTrigger + EventTrigger = { + Command_MXIConfigurationSupervisor_Error_DDB1 = 1 + Signal_SMState_DDB1 = 2 + } + +TST_MXI_CFG_GOTO_CFG_ERROR = { + Class = Message + Destination = StateMachine + Function = GOTO_CFG_ERROR + Mode = ExpectsReply + } + } + // App Driven ->From PLC_CFG (3) send to TEST_RUN (4) + +TriggerStateTransition_PLC_CFG_GOTO_TEST_RUN = { + Class = EventConditionTrigger + EventTrigger = { + Command_PlcConfigurationSupervisor_Done_DDB1 = 1 + Command_PlcConfigurationSupervisor_Error_DDB1 = 0 + Signal_SMState_DDB1 = 3 + } + +TST_PLC_CFG_GOTO_TEST_RUN = { + Class = Message + Destination = StateMachine + Function = GOTO_TEST_RUN + Mode = ExpectsReply + } + } + // App Driven ->From PLC_CFG (3) send to CFG_ERROR (6) + +TriggerStateTransition_PLC_CFG_GOTO_CFG_ERROR = { + Class = EventConditionTrigger + EventTrigger = { + Command_PlcConfigurationSupervisor_Error_DDB1 = 1 + Signal_SMState_DDB1 = 3 + } + +TST_PLC_CFG_GOTO_CFG_ERROR = { + Class = Message + Destination = StateMachine + Function = GOTO_CFG_ERROR + Mode = ExpectsReply + } + } + // Ext Driven -> From {PRE_CFG (1), MXI_CFG (2), PLC_CFG (3)} to CFG_ERROR (6) + +ForceStateTransition_ANY_GOTO_CFG_ERROR = { + Class = EventConditionTrigger + EventTrigger = { + Command_AbortConfigurationState_DDB1 = 1 + } + +FST_ANY_GOTO_CFG_ERROR = { + Class = Message + Destination = StateMachine + Function = GOTO_CFG_ERROR + Mode = ExpectsReply + } + } + // Ext Driven -> TEST_RUN (4) to TEST_POST (5) + +ForceStateTransition_TEST_RUN_GOTO_TEST_POST = { + Class = EventConditionTrigger + EventTrigger = { + Command_TerminateRunningState_DDB1 = 1 + } + +FST_TEST_RUN_GOTO_TEST_POST = { + Class = Message + Destination = StateMachine + Function = GOTO_TEST_POST + Mode = ExpectsReply + } + } + } + InputSignals = { + Command_ExtStateTransition_DDB1 = { + Alias = ExtStateTransition_DDB1 + DataSource = DDB1 + Type = uint8 + } + Command_AbortConfigurationState_DDB1 = { + Alias = AbortConfigurationState_DDB1 + DataSource = DDB1 + Type = uint8 + } + Command_TerminateRunningState_DDB1 = { + Alias = TerminateRunningState_DDB1 + DataSource = DDB1 + Type = uint8 + } + Command_MXIConfigurationSupervisor_Done_DDB1 = { + Alias = MXIConfigurationSupervisor_Done_DDB1 + DataSource = DDB1 + Type = uint8 + } + Command_MXIConfigurationSupervisor_Error_DDB1 = { + Alias = MXIConfigurationSupervisor_Error_DDB1 + DataSource = DDB1 + Type = uint8 + } + Command_PlcConfigurationSupervisor_Done_DDB1 = { + Alias = PlcConfigurationSupervisor_Done_DDB1 + DataSource = DDB1 + Type = uint8 + } + Command_PlcConfigurationSupervisor_Error_DDB1 = { + Alias = PlcConfigurationSupervisor_Error_DDB1 + DataSource = DDB1 + Type = uint8 + } + Signal_SMState_DDB1 = { + Alias = SMState_DDB1 + DataSource = DDB1 + Type = uint8 + } + } + OutputSignals = { + Clear_ExtStateTransition_DDB1 = { + DataSource = DDB1 + Type = uint32 + } + Clear_AbortConfigurationState_DDB1 = { + DataSource = DDB1 + Type = uint32 + } + Clear_TerminateRunningState_DDB1 = { + DataSource = DDB1 + Type = uint32 + } + Clear_MXIConfigurationSupervisor_Done_DDB1 = { + DataSource = DDB1 + Type = uint32 + } + Clear_MXIConfigurationSupervisor_Error_DDB1 = { + DataSource = DDB1 + Type = uint32 + } + Clear_PlcConfigurationSupervisor_Done_DDB1 = { + DataSource = DDB1 + Type = uint32 + } + Clear_PlcConfigurationSupervisor_Error_DDB1 = { + DataSource = DDB1 + Type = uint32 + } + } + } + // ------------------- // + + // ----- STORAGE ----- // + + + +StoreStartPulseTime_T1 = { + Class = TriggerEnableGAM + NumberOfTriggers = 1 + ResetCycles = 1 + InputSignals = { + DANWriterEnable_DDB1 = { + Type = uint8 + DataSource = DDB1 + } + AbsTimeT1_DDB1 = { + DataSource = DDB1 + Type = uint64 + } + InitTime_1_DDB1 = { + DataSource = DDB1 + Type = uint64 + } + } + OutputSignals = { + InitTime_DDB1 = { + DataSource = DDB1 + Type = uint64 + } + } + } + +StoreStopPulseTime_T1 = { + Class = TriggerEnableGAM + NumberOfTriggers = 1 + Negated = 1 + ResetCycles = 1 + InputSignals = { + DANWriterEnable_DDB1 = { + Type = uint8 + DataSource = DDB1 + } + AbsTimeT1_DDB1 = { + DataSource = DDB1 + Type = uint64 + } + FinalTime_1_DDB1 = { + DataSource = DDB1 + Type = uint64 + } + } + OutputSignals = { + FinalTime_DDB1 = { + DataSource = DDB1 + Type = uint64 + } + } + } + + +DANWriterWriteData = { + Class = IOGAM + InputSignals = { + DANWriterEnable_DDB1 = { + DataSource = DDB1 + Type = uint8 + NumberOfElements = 1 + } + // Time Signals + TimeSamples_DDB1 = { + Alias = AbsTimeT1_DDB1 + DataSource = DDB1 + Type = uint64 + NumberOfElements = 1 + } + AbsTime_DDB1 = { + DataSource = DDB1 + Type = uint64 + NumberOfElements = 1 + } + MXIAbsTime_DDB1 = { + DataSource = DDB1 + Type = uint64 + NumberOfElements = 1 + } + // State + SMState_DDB1 = { + DataSource = DDB1 + Type = uint8 + NumberOfElements = 1 + } + AcqStatus_DDB1 = { + DataSource = DDB1 + Type = uint8 + NumberOfElements = 1 + } + // MXI Supervisor + MXIConfigurationSupervisor_Done_DDB1 = { + DataSource = DDB1 + Type = uint8 + NumberOfElements = 1 + } + MXIConfigurationSupervisor_Error_DDB1 = { + DataSource = DDB1 + Type = uint8 + NumberOfElements = 1 + } + MXIConfigurationSupervisor_Status_DDB1 = { + DataSource = DDB1 + Type = uint8 + NumberOfElements = 1 + } + // MXI Supervisor - Base Configuration + MXIBaseConfiguration_Trigger_DDB1 = { + DataSource = DDB1 + Type = uint8 + NumberOfElements = 1 + } + MXIBaseConfiguration_Mode_DDB1 = { + DataSource = DDB1 + Type = uint8 + NumberOfElements = 1 + } + MXIBaseConfigurationDone_DDB1 = { + DataSource = DDB1 + Type = uint8 + NumberOfElements = 1 + } + MXIBaseConfigurationStatus_DDB1 = { + DataSource = DDB1 + Type = uint8 + NumberOfElements = 1 + } + // MXI Supervisor - Acquisition Enable + MXIAcquisitionEnable_Trigger_DDB1 = { + DataSource = DDB1 + Type = uint8 + NumberOfElements = 1 + } + MXIAcquisitionEnableDone_DDB1 = { + DataSource = DDB1 + Type = uint8 + NumberOfElements = 1 + } + MXIAcquisitionEnableStatus_DDB1 = { + DataSource = DDB1 + Type = uint8 + NumberOfElements = 1 + } + // MXI Supervisor - Triplet Configuration + MXITripletConfiguration_Trigger_DDB1 = { + DataSource = DDB1 + Type = uint8 + NumberOfElements = 1 + } + MXITripletConfigurationDone_DDB1 = { + DataSource = DDB1 + Type = uint8 + NumberOfElements = 1 + } + MXITripletConfigurationError_DDB1 = { + DataSource = DDB1 + Type = uint8 + NumberOfElements = 1 + } + // PLC Supervisor + PlcPacketTx_TrgOut_DDB1 = { + DataSource = DDB1 + Type = uint8 + NumberOfElements = 1 + } + PlcConfigurationSupervisor_Done_DDB1 = { + DataSource = DDB1 + Type = uint8 + NumberOfElements = 1 + } + PlcConfigurationSupervisor_Error_DDB1 = { + DataSource = DDB1 + Type = uint8 + NumberOfElements = 1 + } + PlcConfigurationSupervisor_Status_DDB1 = { + DataSource = DDB1 + Type = uint8 + NumberOfElements = 1 + } + // Statistics + T1_PreCfg_CycleTime = { + Alias = PreCfg.Thread1Cfg_CycleTime + DataSource = Timings + Type = uint32 + NumberOfElements = 1 + } + T1_MxiCfg_CycleTime = { + Alias = MxiCfg.Thread1Cfg_CycleTime + DataSource = Timings + Type = uint32 + NumberOfElements = 1 + } + T1_PlcCfg_CycleTime = { + Alias = PlcCfg.Thread1Cfg_CycleTime + DataSource = Timings + Type = uint32 + NumberOfElements = 1 + } + T1_TestRun_CycleTime = { + Alias = TestRun.Thread1Cfg_CycleTime + DataSource = Timings + Type = uint32 + NumberOfElements = 1 + } + T1_TestPost_CycleTime = { + Alias = TestPost.Thread1Cfg_CycleTime + DataSource = Timings + Type = uint32 + NumberOfElements = 1 + } + T1_CfgError_CycleTime = { + Alias = CfgError.Thread1Cfg_CycleTime + DataSource = Timings + Type = uint32 + NumberOfElements = 1 + } + T1_Error_CycleTime = { + Alias = Error.Thread1Cfg_CycleTime + DataSource = Timings + Type = uint32 + NumberOfElements = 1 + } + T1_FirstGAM_ReadTime = { + Alias = TimeConverter_ReadTime + DataSource = Timings + Type = uint32 + NumberOfElements = 1 + } + T1_LastGAM_ExecTime = { + Alias = EventMessages_ExecTime + DataSource = Timings + Type = uint32 + NumberOfElements = 1 + } + InitTime_DDB1 = { + DataSource = DDB1 + Type = uint64 + } + FinalTime_DDB1 = { + DataSource = DDB1 + Type = uint64 + } + InitTime_Save_DDB1 = { + Alias = InitTime_DDB1 + DataSource = DDB1 + Type = uint64 + } + FinalTime_Save_DDB1 = { + Alias = FinalTime_DDB1 + DataSource = DDB1 + Type = uint64 + } + } + OutputSignals = { + DANWriterT1_Trigger = { + DataSource = DANWriterT1 + Type = uint8 + NumberOfElements = 1 + } + DANWriterT1_TimeSamples = { + DataSource = DANWriterT1 + Type = uint64 + NumberOfElements = 1 + } + DANWriterT1_Time = { + DataSource = DANWriterT1 + Type = uint64 + NumberOfElements = 1 + } + DANWriterT1_MXIAbsTime = { + DataSource = DANWriterT1 + Type = uint64 + NumberOfElements = 1 + } + DANWriterT1_SMState = { + DataSource = DANWriterT1 + Type = uint8 + NumberOfElements = 1 + } + DANWriterT1_AcqStatus = { + DataSource = DANWriterT1 + Type = uint8 + NumberOfElements = 1 + } + // MXI Supervisor + DANWriterT1_MXICfgSupDone = { + DataSource = DANWriterT1 + Type = uint8 + NumberOfElements = 1 + } + DANWriterT1_MXICfgSupError = { + DataSource = DANWriterT1 + Type = uint8 + NumberOfElements = 1 + } + DANWriterT1_MXICfgSupStatus = { + DataSource = DANWriterT1 + Type = uint8 + NumberOfElements = 1 + } + // MXI Supervisor - Base Configuration + DANWriterT1_MXIBaseCfgTrg = { + DataSource = DANWriterT1 + Type = uint8 + NumberOfElements = 1 + } + DANWriterT1_MXIBaseCfgMode = { + DataSource = DANWriterT1 + Type = uint8 + NumberOfElements = 1 + } + DANWriterT1_MXIBaseCfgDone = { + DataSource = DANWriterT1 + Type = uint8 + NumberOfElements = 1 + } + DANWriterT1_MXIBaseCfgStatus = { + DataSource = DANWriterT1 + Type = uint8 + NumberOfElements = 1 + } + // MXI Supervisor - Acquisition Enable + DANWriterT1_MXIAcqEnTrg = { + DataSource = DANWriterT1 + Type = uint8 + NumberOfElements = 1 + } + DANWriterT1_MXIAcqEnDone = { + DataSource = DANWriterT1 + Type = uint8 + NumberOfElements = 1 + } + DANWriterT1_MXIAcqEnStatus = { + DataSource = DANWriterT1 + Type = uint8 + NumberOfElements = 1 + } + // MXI Supervisor - Triplet Configuration + DANWriterT1_MXITrpCfgTrg = { + DataSource = DANWriterT1 + Type = uint8 + NumberOfElements = 1 + } + DANWriterT1_MXITrpCfgDone = { + DataSource = DANWriterT1 + Type = uint8 + NumberOfElements = 1 + } + DANWriterT1_MXITrpCfgError = { + DataSource = DANWriterT1 + Type = uint8 + NumberOfElements = 1 + } + // PLC Supervisor + DANWriterT1_PlcCfgSupTxTrg = { + DataSource = DANWriterT1 + Type = uint8 + NumberOfElements = 1 + } + DANWriterT1_PlcCfgSupDone = { + DataSource = DANWriterT1 + Type = uint8 + NumberOfElements = 1 + } + DANWriterT1_PlcCfgSupError = { + DataSource = DANWriterT1 + Type = uint8 + NumberOfElements = 1 + } + DANWriterT1_PlcCfgSupStatus = { + DataSource = DANWriterT1 + Type = uint8 + NumberOfElements = 1 + } + // Statistics + DANWriterT1_PreCfg_CycleTime = { + DataSource = DANWriterT1 + Type = uint32 + NumberOfElements = 1 + } + DANWriterT1_MxiCfg_CycleTime = { + DataSource = DANWriterT1 + Type = uint32 + NumberOfElements = 1 + } + DANWriterT1_PlcCfg_CycleTime = { + DataSource = DANWriterT1 + Type = uint32 + NumberOfElements = 1 + } + DANWriterT1_TestRun_CycleTime = { + DataSource = DANWriterT1 + Type = uint32 + NumberOfElements = 1 + } + DANWriterT1_TestPost_CycleTime = { + DataSource = DANWriterT1 + Type = uint32 + NumberOfElements = 1 + } + DANWriterT1_CfgError_CycleTime = { + DataSource = DANWriterT1 + Type = uint32 + NumberOfElements = 1 + } + DANWriterT1_Error_CycleTime = { + DataSource = DANWriterT1 + Type = uint32 + NumberOfElements = 1 + } + DANWriterT1_FirstGAM_ReadTime = { + DataSource = DANWriterT1 + Type = uint32 + NumberOfElements = 1 + } + DANWriterT1_LastGAM_ExecTime = { + DataSource = DANWriterT1 + Type = uint32 + NumberOfElements = 1 + } + InitTime_L = { + DataSource = EpicsOutput_T1 + Type = uint32 + } + InitTime_H = { + DataSource = EpicsOutput_T1 + Type = uint32 + } + FinalTime_L = { + DataSource = EpicsOutput_T1 + Type = uint32 + } + FinalTime_H = { + DataSource = EpicsOutput_T1 + Type = uint32 + } + InitTime_1_DDB1 = { + DataSource = DDB1 + Type = uint64 + } + FinalTime_1_DDB1 = { + DataSource = DDB1 + Type = uint64 + } + } + } + // ------------------- // + // ------------ T1 END ------------ // + + // ----------- T2 START ----------- // + // Fast Thread - GET ACQ Data + WaveformMonitors + DANWriterWriter2 + // ----- RX PATH ----- // + +MxiDataUsFifoDataT2 = { + Class = IOGAM + InputSignals = { + MXIUpstreamData = { + DataSource = MXIUsFifoDataT2 + Type = uint64 + NumberOfElements = 3001 + NumberOfDimensions = 1 + Trigger = 1 + Frequency = 0 + } + MXIUpstreamDataErrorCheck = { + Alias = ErrorCheck + DataSource = MXIUsFifoDataT2 + Type = uint32 + NumberOfElements = 1 + } + } + OutputSignals = { + USC_TS_VALUE_DDB2 = { + DataSource = DDB2 + Type = uint64 + NumberOfElements = 1 + } + USC_AI_0_VALUE_DDB2 = { + DataSource = DDB2 + Type = uint16 + NumberOfElements = 1000 + NumberOfDimensions = 1 + } + USC_AI_1_VALUE_DDB2 = { + DataSource = DDB2 + Type = uint16 + NumberOfElements = 1000 + NumberOfDimensions = 1 + } + USC_AI_2_VALUE_DDB2 = { + DataSource = DDB2 + Type = uint16 + NumberOfElements = 1000 + NumberOfDimensions = 1 + } + USC_AI_3_VALUE_DDB2 = { + DataSource = DDB2 + Type = uint16 + NumberOfElements = 1000 + NumberOfDimensions = 1 + } + USC_AI_4_VALUE_DDB2 = { + DataSource = DDB2 + Type = uint16 + NumberOfElements = 1000 + NumberOfDimensions = 1 + } + USC_AI_5_VALUE_DDB2 = { + DataSource = DDB2 + Type = uint16 + NumberOfElements = 1000 + NumberOfDimensions = 1 + } + USC_AI_6_VALUE_DDB2 = { + DataSource = DDB2 + Type = uint16 + NumberOfElements = 1000 + NumberOfDimensions = 1 + } + USC_AI_7_VALUE_NU_DDB2 = { + DataSource = DDB2 + Type = uint16 + NumberOfElements = 1000 + NumberOfDimensions = 1 + } + USC_DI_62_0_VALUES_DDB2 = { + DataSource = DDB2 + Type = uint64 + NumberOfElements = 1000 + NumberOfDimensions = 1 + } + USC_DATA_ERRORCHECK_DDB2 = { + DataSource = DDB2 + Type = uint32 + NumberOfElements = 1 + } + } + } + + +DigitalInputSplitterT2 = { + Class = BitSplitterGAM + InputSignals = { + DigitalInputs = { + Alias = USC_DI_62_0_VALUES_DDB2 + DataSource = DDB2 + Type = uint64 + NumberOfElements = 1000 + NumberOfDimensions = 1 + } + } + OutputSignals = { + DigitalInput_0 = { + Alias = USC_DI_0_VALUES_DDB2 + DataSource = DDB2 + Type = uint16 + NumberOfElements = 1000 + NumberOfDimensions = 1 + } + DigitalInput_1 = { + Alias = USC_DI_1_VALUES_DDB2 + DataSource = DDB2 + Type = uint16 + NumberOfElements = 1000 + NumberOfDimensions = 1 + } + } + } + + +TimeConversionT2 = { + Class = TimeArrayGAM + TimePerTicks = 25 // 25 ns / tick + TimeStep = 500 // 500 ns + InputSignals = { + USC_TS_VALUE_DDB2 = { // FPGA Clock Ticks + DataSource = DDB2 + Type = uint64 + NumberOfElements = 1 + } + } + OutputSignals = { + TimeArrayNs_DDB2 = { + DataSource = DDB2 + Type = uint64 + NumberOfElements = 1000 + NumberOfDimensions = 1 + } + } + } + + +TimeConversionT2_Abs = { + Class = TimeArrayGAM + TimePerTicks = 25 // 25 ns / tick + TimeStep = 500 // 500 ns + AbsoluteTime = 1 + InputSignals = { + USC_TS_VALUE_DDB2 = { // FPGA Clock Ticks + DataSource = DDB2 + Type = uint64 + NumberOfElements = 1 + } + } + OutputSignals = { + TimeArrayNs_Abs_DDB2 = { + DataSource = DDB2 + Type = uint64 + NumberOfElements = 1000 + NumberOfDimensions = 1 + } + } + } + + +MXIMasterTimeT2 = { + Class = IOGAM + InputSignals = { + TimeArrayNs_DDB2 = { + DataSource = DDB2 + Type = uint64 + NumberOfElements = 1000 + NumberOfDimensions = 1 + Ranges = {{0,0}} + } + } + OutputSignals = { + MXIAbsTime_DDB2 = { + DataSource = DDB2 + Type = uint64 + NumberOfElements = 1 + NumberOfDimensions = 0 + } + } + } + // ------------------- // + + // ---- CONST GAM ---- // + +DANWriterWriteDataWindowLimitsT2 = { + Class = ConstantGAM + OutputSignals = { + DANWriterWriteDataWindowLowerLimit_DDB2 = { + DataSource = DDB2 + Type = uint64 + NumberOfElements = 1 + Default = 5000000000 + } + DANWriterWriteDataWindowUpperLimit_DDB2 = { + DataSource = DDB2 + Type = uint64 + NumberOfElements = 1 + Default = 6000000000 + } + } + } + // ------------------- // + + // ---- FLOW CTRL ---- // + +DANWriterWriteDataWindowT2 = { + Class = MathExpressionGAM + Expression = " + DANWriterWriterEnable_DDB2 = (uint8)(((uint64)(MXIAbsTime_DDB2) >= (uint64)(DANWriterWriteDataWindowLowerLimit_DDB2)) + && ((uint64)(MXIAbsTime_DDB2) <= (uint64)(DANWriterWriteDataWindowUpperLimit_DDB2))); + DANWriterWriterDone_DDB2 = (uint8)((uint64)(MXIAbsTime_DDB2) > (uint64)(DANWriterWriteDataWindowUpperLimit_DDB2)); + " + InputSignals = { + MXIAbsTime_DDB2 = { + DataSource = DDB2 + Type = uint64 + NumberOfElements = 1 + } + DANWriterWriteDataWindowLowerLimit_DDB2 = { + DataSource = DDB2 + Type = uint64 + NumberOfElements = 1 + } + DANWriterWriteDataWindowUpperLimit_DDB2 = { + DataSource = DDB2 + Type = uint64 + NumberOfElements = 1 + } + } + OutputSignals = { + DANWriterWriterEnable_DDB2 = { + DataSource = DDB2 + Type = uint8 + } + DANWriterWriterDone_DDB2 = { + DataSource = DDB2 + Type = uint8 + } + } + } + // ------------------- // + + // -- MON/STATE CTRL - // + +AppMonitorT2 = { + Class = TestMonitorGAM + InputSignals = { + MXIAbsTime_DDB2 = { + DataSource = DDB2 + Type = uint64 + NumberOfElements = 1 + } + DANWriterWriterDone_DDB2 = { + DataSource = DDB2 + Type = uint8 + NumberOfElements = 1 + } + } + OutputSignals = { + AbortRunningState_DDB2 = { + DataSource = DDB2 + Type = uint8 + NumberOfElements = 1 + } + } + } + + +ExecutionMonitorT2 = { + Class = MessageGAM + TriggerOnChange = 1 + +Events = { + Class = ReferenceContainer + // App Driven -> Notify T1 that T2 acquisition/storage is completed + +StatusNotificationT2 = { + Class = EventConditionTrigger + EventTrigger = { + Command_DANWriterWriterDone_DDB2 = 1 + } + +NOTIFY_T1_STATUS_T2 = { + Class = Message + Destination = TbTestApp.Functions.AcquisitionStatusDaq + Function = SetOutput + +Parameters = { + Class = ConfigurationDatabase + SignalName = AcquisitionStatusT2_DDB1 + SignalValue = 1 + } + } + } + } + InputSignals = { + Command_DANWriterWriterDone_DDB2 = { + Alias = DANWriterWriterDone_DDB2 + DataSource = DDB2 + Type = uint8 + } + } + OutputSignals = { + Clear_DANWriterWriterDone_DDB2 = { + DataSource = DDB2 + Type = uint32 + } + } + } + // ------------------- // + + // ----- STORAGE ----- // + + +StoreStartPulseTime_T2 = { + Class = TriggerEnableGAM + NumberOfTriggers = 1 + ResetCycles = 1 + InputSignals = { + DANWriterWriterEnable_DDB2 = { + Type = uint8 + DataSource = DDB2 + } + TimeArrayNs_Abs_DDB2 = { + DataSource = DDB2 + Type = uint64 + NumberOfElements = 1000 + NumberOfDimensions = 1 + Ranges = {{0, 0}} + } + InitTime_1_DDB2 = { + DataSource = DDB2 + Type = uint64 + } + } + OutputSignals = { + InitTime_DDB2 = { + DataSource = DDB2 + Type = uint64 + } + } + } + +StoreStopPulseTime_T2 = { + Class = TriggerEnableGAM + NumberOfTriggers = 1 + Negated = 1 + ResetCycles = 1 + InputSignals = { + DANWriterWriterEnable_DDB2 = { + Type = uint8 + DataSource = DDB2 + } + TimeArrayNs_Abs_DDB2 = { + DataSource = DDB2 + Type = uint64 + NumberOfElements = 1000 + NumberOfDimensions = 1 + Ranges = {{0, 0}} + } + FinalTime_1_DDB2 = { + DataSource = DDB2 + Type = uint64 + } + } + OutputSignals = { + FinalTime_DDB2 = { + DataSource = DDB2 + Type = uint64 + } + } + } + + + +DANWriterWriteDataT2 = { + Class = IOGAM + InputSignals = { + DANWriterWriterEnable_DDB2 = { + DataSource = DDB2 + Type = uint8 + NumberOfElements = 1 + NumberOfDimensions = 0 + } + TimeArrayNs_Abs_DDB2 = { + DataSource = DDB2 + Type = uint64 + NumberOfElements = 1000 + NumberOfDimensions = 1 + Ranges = {{0, 0}} + } + TimeArrayNs_DDB2 = { + DataSource = DDB2 + Type = uint64 + NumberOfElements = 1000 + NumberOfDimensions = 1 + } + USC_AI_0_VALUE_DDB2 = { + DataSource = DDB2 + Type = uint16 + NumberOfElements = 1000 + NumberOfDimensions = 1 + } + USC_AI_1_VALUE_DDB2 = { + DataSource = DDB2 + Type = uint16 + NumberOfElements = 1000 + NumberOfDimensions = 1 + } + USC_AI_2_VALUE_DDB2 = { + DataSource = DDB2 + Type = uint16 + NumberOfElements = 1000 + NumberOfDimensions = 1 + } + USC_AI_3_VALUE_DDB2 = { + DataSource = DDB2 + Type = uint16 + NumberOfElements = 1000 + NumberOfDimensions = 1 + } + USC_AI_4_VALUE_DDB2 = { + DataSource = DDB2 + Type = uint16 + NumberOfElements = 1000 + NumberOfDimensions = 1 + } + USC_AI_5_VALUE_DDB2 = { + DataSource = DDB2 + Type = uint16 + NumberOfElements = 1000 + NumberOfDimensions = 1 + } + USC_AI_6_VALUE_DDB2 = { + DataSource = DDB2 + Type = uint16 + NumberOfElements = 1000 + NumberOfDimensions = 1 + } + USC_DI_0_VALUES_DDB2 = { + DataSource = DDB2 + Type = uint16 + NumberOfElements = 1000 + NumberOfDimensions = 1 + } + USC_DI_1_VALUES_DDB2 = { + DataSource = DDB2 + Type = uint16 + NumberOfElements = 1000 + NumberOfDimensions = 1 + } + USC_DATA_ERRORCHECK_DDB2 = { + DataSource = DDB2 + Type = uint32 + NumberOfElements = 1 + NumberOfDimensions = 0 + } + T2_PlcCfg_CycleTime = { + Alias = PlcCfg.Thread2Daq_CycleTime + DataSource = Timings + Type = uint32 + NumberOfElements = 1 + NumberOfDimensions = 0 + } + T2_TestRun_CycleTime = { + Alias = TestRun.Thread2Daq_CycleTime + DataSource = Timings + Type = uint32 + NumberOfElements = 1 + NumberOfDimensions = 0 + } + T2_TestPost_CycleTime = { + Alias = TestPost.Thread2Daq_CycleTime + DataSource = Timings + Type = uint32 + NumberOfElements = 1 + NumberOfDimensions = 0 + } + T2_FirstGAM_ReadTime = { + Alias = DigitalInputSplitterT2_ReadTime + DataSource = Timings + Type = uint32 + NumberOfElements = 1 + NumberOfDimensions = 0 + } + T2_LastGAM_ExecTime = { + Alias = ExecutionMonitorT2_ExecTime + DataSource = Timings + Type = uint32 + NumberOfElements = 1 + NumberOfDimensions = 0 + } + InitTime_DDB2 = { + DataSource = DDB2 + Type = uint64 + } + FinalTime_DDB2 = { + DataSource = DDB2 + Type = uint64 + } + InitTime_Save_DDB2 = { + Alias = InitTime_DDB2 + DataSource = DDB2 + Type = uint64 + } + FinalTime_Save_DDB2 = { + Alias = FinalTime_DDB2 + DataSource = DDB2 + Type = uint64 + } + } + OutputSignals = { + DANWriterT2_Trigger = { + DataSource = DANWriterT2 + Type = uint8 + NumberOfElements = 1 + } + DANWriterT2_TimeSamples = { + DataSource = DANWriterT2 + Type = uint64 + NumberOfElements = 1 + NumberOfDimensions = 0 + } + DANWriterT2_Time = { + DataSource = DANWriterT2 + Type = uint64 + NumberOfElements = 1000 + NumberOfDimensions = 1 + } + DANWriterT2_USC_AI_0_VALUE = { + DataSource = DANWriterT2 + Type = uint16 + NumberOfElements = 1000 + NumberOfDimensions = 1 + } + DANWriterT2_USC_AI_1_VALUE = { + DataSource = DANWriterT2 + Type = uint16 + NumberOfElements = 1000 + NumberOfDimensions = 1 + } + DANWriterT2_USC_AI_2_VALUE = { + DataSource = DANWriterT2 + Type = uint16 + NumberOfElements = 1000 + NumberOfDimensions = 1 + } + DANWriterT2_USC_AI_3_VALUE = { + DataSource = DANWriterT2 + Type = uint16 + NumberOfElements = 1000 + NumberOfDimensions = 1 + } + DANWriterT2_USC_AI_4_VALUE = { + DataSource = DANWriterT2 + Type = uint16 + NumberOfElements = 1000 + NumberOfDimensions = 1 + } + DANWriterT2_USC_AI_5_VALUE = { + DataSource = DANWriterT2 + Type = uint16 + NumberOfElements = 1000 + NumberOfDimensions = 1 + } + DANWriterT2_USC_AI_6_VALUE = { + DataSource = DANWriterT2 + Type = uint16 + NumberOfElements = 1000 + NumberOfDimensions = 1 + } + DANWriterT2_USC_DI_0_VALUE = { + DataSource = DANWriterT2 + Type = uint16 + NumberOfElements = 1000 + NumberOfDimensions = 1 + } + DANWriterT2_USC_DI_1_VALUE = { + DataSource = DANWriterT2 + Type = uint16 + NumberOfElements = 1000 + NumberOfDimensions = 1 + } + DANWriterT2_ERRORCHECK = { + DataSource = DANWriterT2 + Type = uint32 + } + DANWriterT2_PlcCfg_CycleTime = { + DataSource = DANWriterT2 + Type = uint32 + } + DANWriterT2_TestRun_CycleTime = { + DataSource = DANWriterT2 + Type = uint32 + } + DANWriterT2_TestPost_CycleTime = { + DataSource = DANWriterT2 + Type = uint32 + } + DANWriterT2_FirstGAM_ReadTime = { + DataSource = DANWriterT2 + Type = uint32 + } + DANWriterT2_LastGAM_ExecTime = { + DataSource = DANWriterT2 + Type = uint32 + } + InitTime_L = { + DataSource = EpicsOutput_T2 + Type = uint32 + } + InitTime_H = { + DataSource = EpicsOutput_T2 + Type = uint32 + } + FinalTime_L = { + DataSource = EpicsOutput_T2 + Type = uint32 + } + FinalTime_H = { + DataSource = EpicsOutput_T2 + Type = uint32 + } + InitTime_1_DDB2 = { + DataSource = DDB2 + Type = uint64 + } + FinalTime_1_DDB2 = { + DataSource = DDB2 + Type = uint64 + } + } + } + + +FileWriterBufferDataT2 = { + Class = IOGAM + InputSignals = { + FileWriterBufferEnable_DDB2 = { + Alias = DANWriterWriterEnable_DDB2 + DataSource = DDB2 + Type = uint8 + NumberOfElements = 1 + NumberOfDimensions = 0 + } + TimeArrayNs_DDB2 = { + DataSource = DDB2 + Type = uint64 + NumberOfElements = 1000 + NumberOfDimensions = 1 + } + USC_AI_0_VALUE_DDB2 = { + DataSource = DDB2 + Type = uint16 + NumberOfElements = 1000 + NumberOfDimensions = 1 + } + USC_AI_1_VALUE_DDB2 = { + DataSource = DDB2 + Type = uint16 + NumberOfElements = 1000 + NumberOfDimensions = 1 + } + USC_AI_2_VALUE_DDB2 = { + DataSource = DDB2 + Type = uint16 + NumberOfElements = 1000 + NumberOfDimensions = 1 + } + USC_DI_0_VALUES_DDB2 = { + DataSource = DDB2 + Type = uint16 + NumberOfElements = 1000 + NumberOfDimensions = 1 + } + } + OutputSignals = { + FileWriterT2_Trigger = { + DataSource = FileWriterBufferT2 + Type = uint8 + NumberOfElements = 1 + } + FileWriterT2_Time = { + DataSource = FileWriterBufferT2 + Type = uint64 + NumberOfElements = 1000 + NumberOfDimensions = 1 + } + FileWriterT2_USC_AI_0_VALUE = { + DataSource = FileWriterBufferT2 + Type = uint16 + NumberOfElements = 1000 + NumberOfDimensions = 1 + } + FileWriterT2_USC_AI_1_VALUE = { + DataSource = FileWriterBufferT2 + Type = uint16 + NumberOfElements = 1000 + NumberOfDimensions = 1 + } + FileWriterT2_USC_AI_2_VALUE = { + DataSource = FileWriterBufferT2 + Type = uint16 + NumberOfElements = 1000 + NumberOfDimensions = 1 + } + FileWriterT2_USC_DI_0_VALUE = { + DataSource = FileWriterBufferT2 + Type = uint16 + NumberOfElements = 1000 + NumberOfDimensions = 1 + } + } + } + // ------------------- // + // ------------ T2 END ------------ // + + // ----------- T3 START ----------- // + // Fast Thread - Get DEBUG Data + DANWriterWriter 3 + // ----- RX PATH ----- // + +MxiDataUsFifoDataT3 = { + Class = IOGAM + InputSignals = { + MXIUpstreamDebug = { + DataSource = MXIUsFifoDebugT3 + Type = uint64 + NumberOfElements = 2001 + NumberOfDimensions = 1 + Trigger = 1 + Frequency = 0 + } + MXIUpstreamDebugErrorCheck = { + Alias = ErrorCheck + DataSource = MXIUsFifoDebugT3 + Type = uint32 + NumberOfElements = 1 + } + } + OutputSignals = { + DBG_TS_VALUE_DDB3 = { + DataSource = DDB3 + Type = uint64 + NumberOfElements = 1 + } + DBG_AO_0_VALUE_DDB3 = { + DataSource = DDB3 + Type = uint16 + NumberOfElements = 1000 + NumberOfDimensions = 1 + } + DBG_AO_1_VALUE_DDB3 = { + DataSource = DDB3 + Type = uint16 + NumberOfElements = 1000 + NumberOfDimensions = 1 + } + DBG_AO_2_VALUE_DDB3 = { + DataSource = DDB3 + Type = uint16 + NumberOfElements = 1000 + NumberOfDimensions = 1 + } + DBG_AO_3_VALUE_DDB3 = { + DataSource = DDB3 + Type = uint16 + NumberOfElements = 1000 + NumberOfDimensions = 1 + } + DBG_DO_62_0_VALUES_DDB3 = { + DataSource = DDB3 + Type = uint64 + NumberOfElements = 1000 + NumberOfDimensions = 1 + } + DBG_DATA_ERRORCHECK_DDB3 = { + DataSource = DDB3 + Type = uint32 + NumberOfElements = 1 + } + } + } + + +DigitalInputSplitterT3 = { + Class = BitSplitterGAM + InputSignals = { + DigitalInputs = { + Alias = DBG_DO_62_0_VALUES_DDB3 + DataSource = DDB3 + Type = uint64 + NumberOfElements = 1000 + NumberOfDimensions = 1 + } + } + OutputSignals = { + DigitalInput_0 = { + Alias = DBG_MO_0_VALUES_DDB3 + DataSource = DDB3 + Type = uint8 + NumberOfElements = 1000 + NumberOfDimensions = 1 + } + DigitalInput_1 = { + Alias = DBG_MO_1_VALUES_DDB3 + DataSource = DDB3 + Type = uint8 + NumberOfElements = 1000 + NumberOfDimensions = 1 + } + DigitalInput_2 = { + Alias = DBG_DO_0_VALUES_DDB3 + DataSource = DDB3 + Type = uint8 + NumberOfElements = 1000 + NumberOfDimensions = 1 + } + DigitalInput_3 = { + Alias = DBG_DO_1_VALUES_DDB3 + DataSource = DDB3 + Type = uint8 + NumberOfElements = 1000 + NumberOfDimensions = 1 + } + DigitalInput_4 = { + Alias = DBG_DO_2_VALUES_DDB3 + DataSource = DDB3 + Type = uint8 + NumberOfElements = 1000 + NumberOfDimensions = 1 + } + DigitalInput_5 = { + Alias = DBG_DO_3_VALUES_DDB3 + DataSource = DDB3 + Type = uint8 + NumberOfElements = 1000 + NumberOfDimensions = 1 + } + DigitalInput_6 = { + Alias = DBG_DO_4_VALUES_DDB3 + DataSource = DDB3 + Type = uint8 + NumberOfElements = 1000 + NumberOfDimensions = 1 + } + DigitalInput_7 = { + Alias = DBG_MOD1_VALUES_DDB3 + DataSource = DDB3 + Type = uint8 + NumberOfElements = 1000 + NumberOfDimensions = 1 + } + DigitalInput_8 = { + Alias = DBG_MOD2_VALUES_DDB3 + DataSource = DDB3 + Type = uint8 + NumberOfElements = 1000 + NumberOfDimensions = 1 + } + DigitalInput_9 = { + Alias = DBG_FS1_VALUES_DDB3 + DataSource = DDB3 + Type = uint8 + NumberOfElements = 1000 + NumberOfDimensions = 1 + } + DigitalInput_10 = { + Alias = DBG_FS2_VALUES_DDB3 + DataSource = DDB3 + Type = uint8 + NumberOfElements = 1000 + NumberOfDimensions = 1 + } + DigitalInput_11 = { + Alias = DBG_PWON_VALUES_DDB3 + DataSource = DDB3 + Type = uint8 + NumberOfElements = 1000 + NumberOfDimensions = 1 + } + } + } + + +TimeConversionT3 = { + Class = TimeArrayGAM + TimePerTicks = 25 // 25 ns / tick + TimeStep = 500 // 500 ns + InputSignals = { + DBG_TS_VALUE_DDB3 = { // FPGA Clock Ticks + DataSource = DDB3 + Type = uint64 + NumberOfElements = 1 + } + } + OutputSignals = { + TimeArrayNs_DDB3 = { + DataSource = DDB3 + Type = uint64 + NumberOfElements = 1000 + NumberOfDimensions = 1 + } + } + } + + +TimeConversionT3_Abs = { + Class = TimeArrayGAM + TimePerTicks = 25 // 25 ns / tick + TimeStep = 500 // 500 ns + AbsoluteTime = 1 + InputSignals = { + DBG_TS_VALUE_DDB3 = { // FPGA Clock Ticks + DataSource = DDB3 + Type = uint64 + NumberOfElements = 1 + } + } + OutputSignals = { + TimeArrayNs_Abs_DDB3 = { + DataSource = DDB3 + Type = uint64 + NumberOfElements = 1000 + NumberOfDimensions = 1 + } + } + } + + +MXIMasterTimeT3 = { + Class = IOGAM + InputSignals = { + TimeArrayNs_DDB3 = { + DataSource = DDB3 + Type = uint64 + NumberOfElements = 1000 + NumberOfDimensions = 1 + Ranges = {{0,0}} + } + } + OutputSignals = { + MXIAbsTime_DDB3 = { + DataSource = DDB3 + Type = uint64 + NumberOfElements = 1 + NumberOfDimensions = 0 + } + } + } + // ------------------- // + + // ---- CONST GAM ---- // + +DANWriterWriteDataWindowLimitsT3 = { + Class = ConstantGAM + OutputSignals = { + DANWriterWriteDataWindowLowerLimit_DDB3 = { + DataSource = DDB3 + Type = uint64 + NumberOfElements = 1 + Default = 5000000000 + } + DANWriterWriteDataWindowUpperLimit_DDB3 = { + DataSource = DDB3 + Type = uint64 + NumberOfElements = 1 + Default = 6000000000 + } + } + } + // ------------------- // + + // ---- FLOW CTRL ---- // + +DANWriterWriteDataWindowT3 = { + Class = MathExpressionGAM + Expression = " + DANWriterWriterEnable_DDB3 = (uint8)(((uint64)(MXIAbsTime_DDB3) >= (uint64)(DANWriterWriteDataWindowLowerLimit_DDB3)) + && ((uint64)(MXIAbsTime_DDB3) <= (uint64)(DANWriterWriteDataWindowUpperLimit_DDB3))); + DANWriterWriterDone_DDB3 = (uint8)((uint64)(MXIAbsTime_DDB3) > (uint64)(DANWriterWriteDataWindowUpperLimit_DDB3)); + " + InputSignals = { + MXIAbsTime_DDB3 = { + DataSource = DDB3 + Type = uint64 + NumberOfElements = 1 + } + DANWriterWriteDataWindowLowerLimit_DDB3 = { + DataSource = DDB3 + Type = uint64 + NumberOfElements = 1 + } + DANWriterWriteDataWindowUpperLimit_DDB3 = { + DataSource = DDB3 + Type = uint64 + NumberOfElements = 1 + } + } + OutputSignals = { + DANWriterWriterEnable_DDB3 = { + DataSource = DDB3 + Type = uint8 + } + DANWriterWriterDone_DDB3 = { + DataSource = DDB3 + Type = uint8 + } + } + } + // ------------------- // + + // -- MON/STATE CTRL - // + +AppMonitorT3 = { + Class = TestMonitorGAM + InputSignals = { + MXIAbsTime_DDB3 = { + DataSource = DDB3 + Type = uint64 + NumberOfElements = 1 + } + DANWriterWriterEnable_DDB3 = { + DataSource = DDB3 + Type = uint8 + NumberOfElements = 1 + } + DANWriterWriterDone_DDB3 = { + DataSource = DDB3 + Type = uint8 + NumberOfElements = 1 + } + } + } + + +ExecutionMonitorT3 = { + Class = MessageGAM + TriggerOnChange = 1 + +Events = { + Class = ReferenceContainer + // App Driven -> Notify T1 that T3 acquisition/storage is completed + +StatusNotificationT3 = { + Class = EventConditionTrigger + EventTrigger = { + Command_DANWriterWriterDone_DDB3 = 1 + } + +NOTIFY_T1_STATUS_T3 = { + Class = Message + Destination = TbTestApp.Functions.AcquisitionStatusDbg + Function = SetOutput + +Parameters = { + Class = ConfigurationDatabase + SignalName = AcquisitionStatusT3_DDB1 + SignalValue = 1 + } + } + } + } + InputSignals = { + Command_DANWriterWriterDone_DDB3 = { + Alias = DANWriterWriterDone_DDB3 + DataSource = DDB3 + Type = uint8 + } + } + OutputSignals = { + Clear_DANWriterWriterDone_DDB3 = { + DataSource = DDB3 + Type = uint32 + } + } + } + // ------------------- // + + // ----- STORAGE ----- // + + +StoreStartPulseTime_T3 = { + Class = TriggerEnableGAM + NumberOfTriggers = 1 + ResetCycles = 1 + InputSignals = { + DANWriterWriterEnable_DDB3 = { + Type = uint8 + DataSource = DDB3 + } + TimeArrayNs_Abs_DDB3 = { + DataSource = DDB3 + Type = uint64 + NumberOfElements = 1000 + NumberOfDimensions = 1 + Ranges = {{0, 0}} + } + InitTime_1_DDB3 = { + DataSource = DDB3 + Type = uint64 + } + } + OutputSignals = { + InitTime_DDB3 = { + DataSource = DDB3 + Type = uint64 + } + } + } + +StoreStopPulseTime_T3 = { + Class = TriggerEnableGAM + NumberOfTriggers = 1 + Negated = 1 + ResetCycles = 1 + InputSignals = { + DANWriterWriterEnable_DDB3 = { + Type = uint8 + DataSource = DDB3 + } + TimeArrayNs_Abs_DDB3 = { + DataSource = DDB3 + Type = uint64 + NumberOfElements = 1000 + NumberOfDimensions = 1 + Ranges = {{0, 0}} + } + FinalTime_1_DDB3 = { + DataSource = DDB3 + Type = uint64 + } + } + OutputSignals = { + FinalTime_DDB3 = { + DataSource = DDB3 + Type = uint64 + } + } + } + + +DANWriterWriteDataT3 = { + Class = IOGAM + InputSignals = { + DANWriterWriterEnable_DDB3 = { + DataSource = DDB3 + Type = uint8 + NumberOfElements = 1 + NumberOfDimensions = 0 + } + TimeArrayNs_Abs_DDB3 = { + DataSource = DDB3 + Type = uint64 + NumberOfElements = 1000 + NumberOfDimensions = 1 + Ranges = {{0, 0}} + } + TimeArrayNs_DDB3 = { + DataSource = DDB3 + Type = uint64 + NumberOfElements = 1000 + NumberOfDimensions = 1 + } + DBG_AO_0_VALUE_DDB3 = { + DataSource = DDB3 + Type = uint16 + NumberOfElements = 1000 + NumberOfDimensions = 1 + } + DBG_AO_1_VALUE_DDB3 = { + DataSource = DDB3 + Type = uint16 + NumberOfElements = 1000 + NumberOfDimensions = 1 + } + DBG_AO_2_VALUE_DDB3 = { + DataSource = DDB3 + Type = uint16 + NumberOfElements = 1000 + NumberOfDimensions = 1 + } + DBG_MO_0_VALUES_DDB3 = { + DataSource = DDB3 + Type = uint8 + NumberOfElements = 1000 + NumberOfDimensions = 1 + } + DBG_MO_1_VALUES_DDB3 = { + DataSource = DDB3 + Type = uint8 + NumberOfElements = 1000 + NumberOfDimensions = 1 + } + DBG_DO_0_VALUES_DDB3 = { + DataSource = DDB3 + Type = uint8 + NumberOfElements = 1000 + NumberOfDimensions = 1 + } + DBG_DO_1_VALUES_DDB3 = { + DataSource = DDB3 + Type = uint8 + NumberOfElements = 1000 + NumberOfDimensions = 1 + } + DBG_DO_2_VALUES_DDB3 = { + DataSource = DDB3 + Type = uint8 + NumberOfElements = 1000 + NumberOfDimensions = 1 + } + DBG_DO_3_VALUES_DDB3 = { + DataSource = DDB3 + Type = uint8 + NumberOfElements = 1000 + NumberOfDimensions = 1 + } + DBG_DO_4_VALUES_DDB3 = { + DataSource = DDB3 + Type = uint8 + NumberOfElements = 1000 + NumberOfDimensions = 1 + } + DBG_MOD1_VALUES_DDB3 = { + DataSource = DDB3 + Type = uint8 + NumberOfElements = 1000 + NumberOfDimensions = 1 + } + DBG_MOD2_VALUES_DDB3 = { + DataSource = DDB3 + Type = uint8 + NumberOfElements = 1000 + NumberOfDimensions = 1 + } + DBG_FS1_VALUES_DDB3 = { + DataSource = DDB3 + Type = uint8 + NumberOfElements = 1000 + NumberOfDimensions = 1 + } + DBG_FS2_VALUES_DDB3 = { + DataSource = DDB3 + Type = uint8 + NumberOfElements = 1000 + NumberOfDimensions = 1 + } + DBG_PWON_VALUES_DDB3 = { + DataSource = DDB3 + Type = uint8 + NumberOfElements = 1000 + NumberOfDimensions = 1 + } + DBG_DATA_ERRORCHECK_DDB3 = { + DataSource = DDB3 + Type = uint32 + NumberOfElements = 1 + NumberOfDimensions = 0 + } + T3_PlcCfg_CycleTime = { + Alias = PlcCfg.Thread3Dbg_CycleTime + DataSource = Timings + Type = uint32 + NumberOfElements = 1 + NumberOfDimensions = 0 + } + T3_TestRun_CycleTime = { + Alias = TestRun.Thread3Dbg_CycleTime + DataSource = Timings + Type = uint32 + NumberOfElements = 1 + NumberOfDimensions = 0 + } + T3_TestPost_CycleTime = { + Alias = TestPost.Thread3Dbg_CycleTime + DataSource = Timings + Type = uint32 + NumberOfElements = 1 + NumberOfDimensions = 0 + } + T3_FirstGAM_ReadTime = { + Alias = DigitalInputSplitterT3_ReadTime + DataSource = Timings + Type = uint32 + NumberOfElements = 1 + NumberOfDimensions = 0 + } + T3_LastGAM_ReadTime = { + Alias = ExecutionMonitorT3_ExecTime + DataSource = Timings + Type = uint32 + NumberOfElements = 1 + NumberOfDimensions = 0 + } + InitTime_DDB3 = { + DataSource = DDB3 + Type = uint64 + } + FinalTime_DDB3 = { + DataSource = DDB3 + Type = uint64 + } + InitTime_Save_DDB3 = { + Alias = InitTime_DDB3 + DataSource = DDB3 + Type = uint64 + } + FinalTime_Save_DDB3 = { + Alias = FinalTime_DDB3 + DataSource = DDB3 + Type = uint64 + } + } + OutputSignals = { + DANWriterT3_Trigger = { + DataSource = DANWriterT3 + Type = uint8 + NumberOfElements = 1 + NumberOfDimensions = 0 + } + DANWriterT3_TimeSamples = { + DataSource = DANWriterT3 + Type = uint64 + NumberOfElements = 1 + NumberOfDimensions = 0 + } + DANWriterT3_Time = { + DataSource = DANWriterT3 + Type = uint64 + NumberOfElements = 1000 + NumberOfDimensions = 1 + } + DANWriterT3_DBG_AO_0_VALUE = { + DataSource = DANWriterT3 + Type = uint16 + NumberOfElements = 1000 + NumberOfDimensions = 1 + } + DANWriterT3_DBG_AO_1_VALUE = { + DataSource = DANWriterT3 + Type = uint16 + NumberOfElements = 1000 + NumberOfDimensions = 1 + } + DANWriterT3_DBG_AO_2_VALUE = { + DataSource = DANWriterT3 + Type = uint16 + NumberOfElements = 1000 + NumberOfDimensions = 1 + } + DANWriterT3_DBG_MO_0_VALUE = { + DataSource = DANWriterT3 + Type = uint8 + NumberOfElements = 1000 + NumberOfDimensions = 1 + } + DANWriterT3_DBG_MO_1_VALUE = { + DataSource = DANWriterT3 + Type = uint8 + NumberOfElements = 1000 + NumberOfDimensions = 1 + } + DANWriterT3_DBG_DO_0_VALUE = { + DataSource = DANWriterT3 + Type = uint8 + NumberOfElements = 1000 + NumberOfDimensions = 1 + } + DANWriterT3_DBG_DO_1_VALUE = { + DataSource = DANWriterT3 + Type = uint8 + NumberOfElements = 1000 + NumberOfDimensions = 1 + } + DANWriterT3_DBG_DO_2_VALUE = { + DataSource = DANWriterT3 + Type = uint8 + NumberOfElements = 1000 + NumberOfDimensions = 1 + } + DANWriterT3_DBG_DO_3_VALUE = { + DataSource = DANWriterT3 + Type = uint8 + NumberOfElements = 1000 + NumberOfDimensions = 1 + } + DANWriterT3_DBG_DO_4_VALUE = { + DataSource = DANWriterT3 + Type = uint8 + NumberOfElements = 1000 + NumberOfDimensions = 1 + } + DANWriterT3_DBG_MOD1_VALUE = { + DataSource = DANWriterT3 + Type = uint8 + NumberOfElements = 1000 + NumberOfDimensions = 1 + } + DANWriterT3_DBG_MOD2_VALUE = { + DataSource = DANWriterT3 + Type = uint8 + NumberOfElements = 1000 + NumberOfDimensions = 1 + } + DANWriterT3_DBG_FS1_VALUE = { + DataSource = DANWriterT3 + Type = uint8 + NumberOfElements = 1000 + NumberOfDimensions = 1 + } + DANWriterT3_DBG_FS2_VALUE = { + DataSource = DANWriterT3 + Type = uint8 + NumberOfElements = 1000 + NumberOfDimensions = 1 + } + DANWriterT3_DBG_PWON_VALUE = { + DataSource = DANWriterT3 + Type = uint8 + NumberOfElements = 1000 + NumberOfDimensions = 1 + } + DANWriterT3_ERRORCHECK = { + DataSource = DANWriterT3 + Type = uint32 + } + DANWriterT3_PlcCfg_CycleTime = { + DataSource = DANWriterT3 + Type = uint32 + } + DANWriterT3_TestRun_CycleTime = { + DataSource = DANWriterT3 + Type = uint32 + } + DANWriterT3_TestPost_CycleTime = { + DataSource = DANWriterT3 + Type = uint32 + } + DANWriterT3_FirstGAM_ReadTime = { + DataSource = DANWriterT3 + Type = uint32 + } + DANWriterT3_LastGAM_ExecTime = { + DataSource = DANWriterT3 + Type = uint32 + } + InitTime_L = { + DataSource = EpicsOutput_T3 + Type = uint32 + } + InitTime_H = { + DataSource = EpicsOutput_T3 + Type = uint32 + } + FinalTime_L = { + DataSource = EpicsOutput_T3 + Type = uint32 + } + FinalTime_H = { + DataSource = EpicsOutput_T3 + Type = uint32 + } + InitTime_1_DDB3 = { + DataSource = DDB3 + Type = uint64 + } + FinalTime_1_DDB3 = { + DataSource = DDB3 + Type = uint64 + } + } + } + // ------------------- // + + // ------------ T3 END ------------ // + } + +Data = { + Class = ReferenceContainer + DefaultDataSource = DDB1 + // ----------- T1 START ----------- // + // Slow Timer Thread - Configuration and monitoring + +DDB1 = { + Class = GAMDataSource + } + + +LoggerDataSource = { + Class = LoggerDataSource + } + + +Timings = { + Class = TimingDataSource + } + + +Timer = { + Class = LinuxTimer + ExecutionMode = RealTimeThread + SleepNature = Busy + SleepPercentage = 0 + Phase = 0 + CPUMask = 0x00000100 + Signals = { + Counter = { + Type = uint32 + NumberOfElements = 1 + NumberOfDimensions = 0 + } + Time = { + Type = uint32 + NumberOfElements = 1 + NumberOfDimensions = 0 + } + AbsoluteTime = { + Type = uint64 + NumberOfElements = 1 + NumberOfDimensions = 0 + } + } + } + + +MXIRegistersRead = { + Class = NI9157::NI9157MxiDataSource + RunNi = 0 + NI9157DevicePath = NiDevice + NumberOfPacketsInFIFO = 10 + BlockIfNotRunning = 0 + Signals = { + hl_tx_spi_done = { // TX SPI done (all) + Type = bool + NumberOfElements = 1 + } + hl_rx_spi_done = { // RX SPI done (all) + Type = bool + NumberOfElements = 1 + } + dsc_ao_0_ctr_out = { // AO 0 Accepted Triplet Counter + Type = uint8 + NumberOfElements = 1 + } + dsc_ao_1_ctr_out = { // AO 1 Accepted Triplet Counter + Type = uint8 + NumberOfElements = 1 + } + dsc_ao_2_ctr_out = { // AO 2 Accepted Triplet Counter + Type = uint8 + NumberOfElements = 1 + } + dsc_mo_0_ctr_out = { // MO 0 Accepted Triplet Counter + Type = uint8 + NumberOfElements = 1 + } + dsc_mo_1_ctr_out = { // MO 1 Accepted Triplet Counter + Type = uint8 + NumberOfElements = 1 + } + dsc_do_n_ctr_out = { // DO N Accepted Triplet Counter + Type = uint8 + NumberOfElements = 1 + } + dsc_fs_0_ctr_out = { // FS 0 Accepted Triplet Counter + Type = uint8 + NumberOfElements = 1 + } + dsc_fs_1_ctr_out = { // FS 1 Accepted Triplet Counter + Type = uint8 + NumberOfElements = 1 + } + dsc_full_mod_out = { // Modules FIFO Full status flag + Type = uint8 + NumberOfElements = 1 + } + dsc_acq_en_out = { // USC Acquisition Enable + Type = bool + NumberOfElements = 1 + } + dsc_ts_status = { // Timestamp generation status + Type = bool + NumberOfElements = 1 + } + dsc_ts_out = { // Timestamp current value + Type = uint64 + NumberOfElements = 1 + } + } + } + + +MXIRegistersWriteRst = { + Class = NI9157::NI9157MxiDataSource + RunNi = 0 + NI9157DevicePath = NiDevice + NumberOfPacketsInFIFO = 10 + BlockIfNotRunning = 0 + Signals = { + rst_in = { // Reset Firmware (toggle switch) + Type = bool + NumberOfElements = 1 + } + } + } + + +MXIRegistersWriteEn = { + Class = NI9157::NI9157MxiDataSource + RunNi = 0 + NI9157DevicePath = NiDevice + NumberOfPacketsInFIFO = 10 + BlockIfNotRunning = 0 + Signals = { + dsc_en_in = { // Enable DSC + Type = bool + NumberOfElements = 1 + } + } + } + + +MXIRegistersDgbEn = { + Class = NI9157::NI9157MxiDataSource + RunNi = 0 + NI9157DevicePath = NiDevice + NumberOfPacketsInFIFO = 10 + BlockIfNotRunning = 0 + Signals = { + dbg_en_sel_in = { // DBG Enable Selector (0 -> dbg_en_in driven, 1-> dsc_acq_en_out driven) + Type = bool + NumberOfElements = 1 + } + dbg_en_in = { // DBG Enable Input (usable when dbg_en_sel_in <= 1'b0) + Type = bool + NumberOfElements = 1 + } + } + } + + +MXIRegistersWriteHlOpt = { + Class = NI9157::NI9157MxiDataSource + RunNi = 0 + NI9157DevicePath = NiDevice + NumberOfPacketsInFIFO = 10 + BlockIfNotRunning = 0 + Signals = { + hl_tx_1_opt = { // HL TX 1 CFG + Type = uint8 + NumberOfElements = 1 + } + hl_tx_2_opt = { // HL TX 2 CFG + Type = uint8 + NumberOfElements = 1 + } + hl_tx_3_opt = { // HL TX 3 CFG + Type = uint8 + NumberOfElements = 1 + } + hl_tx_opt_trg = { // Trigger HL TX configuration (toggle switch) + Type = bool + NumberOfElements = 1 + } + hl_rx_1_opt = { // HL RX 1 CFG + Type = uint8 + NumberOfElements = 1 + } + hl_rx_2_opt = { // HL RX 2 CFG + Type = uint8 + NumberOfElements = 1 + } + hl_rx_3_opt = { // HL RX 3 CFG + Type = uint8 + NumberOfElements = 1 + } + hl_rx_4_opt = { // HL RX 4 CFG + Type = uint8 + NumberOfElements = 1 + } + hl_rx_5_opt = { // HL RX 5 CFG + Type = uint8 + NumberOfElements = 1 + } + hl_rx_6_opt = { // HL RX 6 CFG + Type = uint8 + NumberOfElements = 1 + } + hl_rx_7_opt = { // HL RX 7 CFG + Type = uint8 + NumberOfElements = 1 + } + hl_rx_opt_trg = { // Trigger HL RX configuration (toggle switch) + Type = bool + NumberOfElements = 1 + } + } + } + + +MXIDsFifoAcqEn = { + Class = NI9157::NI9157MxiDataSource + NI9157DevicePath = NiDevice + RunNi = 0 + NumberOfPacketsInFIFO = 1 + BlockIfNotRunning = 0 + Signals = { + FIFO0_U64_WR = { + Type = uint64 + NumberOfElements = 1 + NumberOfDimensions = 1 + } + } + } + + +MXIDsFifoConfig = { + Class = NI9157::NI9157MxiDataSource + NI9157DevicePath = NiDevice + RunNi = 0 + NumberOfPacketsInFIFO = 1 + BlockIfNotRunning = 0 + Signals = { + FIFO0_U64_WR = { + Type = uint64 + NumberOfElements = 16 + NumberOfDimensions = 1 + } + } + } + + +SdnPlcPub = { + Class = SDN::SDNPublisher + Interface = "eno2" + Address = "10.0.0.20:2004" + Topic = 0 + NetworkByteOrder = 1 + Signals = { + // Header Signals + HeaderNF = { + Type = uint8 + NumberOfElements = 1 + NumberOfDimensions = 0 + } + HeaderNI = { + Type = uint8 + NumberOfElements = 1 + NumberOfDimensions = 0 + } + HeaderNC = { + Type = uint8 + NumberOfElements = 1 + NumberOfDimensions = 0 + } + HeaderNS = { + Type = uint8 + NumberOfElements = 1 + NumberOfDimensions = 0 + } + HeaderNA = { + Type = uint8 + NumberOfElements = 1 + NumberOfDimensions = 0 + } + HeaderS = { + Type = uint8 + NumberOfElements = 3 + NumberOfDimensions = 1 + } + // Float32 Signals + VB1TREF = { + Type = float32 + NumberOfElements = 1 + NumberOfDimensions = 0 + } + VB1 = { + Type = float32 + NumberOfElements = 1 + NumberOfDimensions = 0 + } + VB2TREF = { + Type = float32 + NumberOfElements = 1 + NumberOfDimensions = 0 + } + VB2 = { + Type = float32 + NumberOfElements = 1 + NumberOfDimensions = 0 + } + VB1RR = { + Type = float32 + NumberOfElements = 1 + NumberOfDimensions = 0 + } + VB2RR = { + Type = float32 + NumberOfElements = 1 + NumberOfDimensions = 0 + } + VB1TH = { + Type = float32 + NumberOfElements = 1 + NumberOfDimensions = 0 + } + VB2TH = { + Type = float32 + NumberOfElements = 1 + NumberOfDimensions = 0 + } + VKTH = { + Type = float32 + NumberOfElements = 1 + NumberOfDimensions = 0 + } + VK = { + Type = float32 + NumberOfElements = 1 + NumberOfDimensions = 0 + } + PSKT = { + Type = float32 + NumberOfElements = 1 + NumberOfDimensions = 0 + } + // UInt16 Signals + VB1UP = { + Type = uint16 + NumberOfElements = 1 + NumberOfDimensions = 0 + } + VB2UP = { + Type = uint16 + NumberOfElements = 1 + NumberOfDimensions = 0 + } + VB1TSEL = { + Type = uint16 + NumberOfElements = 1 + NumberOfDimensions = 0 + } + VB2TSEL = { + Type = uint16 + NumberOfElements = 1 + NumberOfDimensions = 0 + } + VKSEL = { + Type = uint16 + NumberOfElements = 1 + NumberOfDimensions = 0 + } + BODR = { + Type = uint16 + NumberOfElements = 1 + NumberOfDimensions = 0 + } + VKUP = { + Type = uint16 + NumberOfElements = 1 + NumberOfDimensions = 0 + } + MDKF = { + Type = uint16 + NumberOfElements = 1 + NumberOfDimensions = 0 + } + CSTAT = { + Type = uint16 + NumberOfElements = 1 + NumberOfDimensions = 0 + } + COMOD = { + Type = uint16 + NumberOfElements = 1 + NumberOfDimensions = 0 + } + // UInt8 Commands + CFG = { + Type = uint8 + NumberOfElements = 1 + NumberOfDimensions = 0 + } + SM = { + Type = uint8 + NumberOfElements = 1 + NumberOfDimensions = 0 + } + } + } + + +SdnPlcSub = { + Class = SDN::SDNSubscriber + ExecutionMode = IndependentThread + Interface = "eno2" + Address = "10.0.0.22:2004" + CPUs = 0x00020000 + Topic = 0 + IgnoreTimeoutError = 1 + Timeout = 0 + Signals = { + Header = { + Type = uint8 + NumberOfElements = 48 + NumberOfDimensions = 1 + } + PLC_HEADER = { + Type = uint8 + NumberOfElements = 8 + NumberOfDimensions = 1 + } + ACK_CFG = { + Type = uint8 + NumberOfElements = 1 + NumberOfDimensions = 0 + } + ACK_SMC = { + Type = uint8 + NumberOfElements = 1 + NumberOfDimensions = 0 + } + STATE_CFG = { + Type = uint8 + NumberOfElements = 1 + NumberOfDimensions = 0 + } + STATE_SMC = { + Type = uint8 + NumberOfElements = 1 + NumberOfDimensions = 0 + } + } + } + + +DANWriterT1 = { + Class = DAN::DANSource + NumberOfBuffers = 300 + CPUMask = 0x00040000 + DanBufferMultiplier = 8 + StackSize = 10000000 + NumberOfPreTriggers = 0 + NumberOfPostTriggers = 0 + StoreOnTrigger = 1 + ICProgName = MARTeAppRun + Signals = { + DANWriterT1_Trigger = { + Type = uint8 + } + DANWriterT1_TimeSamples = { + Type = uint64 + TimeSignal = 1 + AbsoluteTime = 1 + } + DANWriterT1_Time = { + Type = uint64 + NodeName = "EC-GN-P5C:R_T1_Time" + Period = 10.0e-3 + } + DANWriterT1_MXIAbsTime = { + Type = uint64 + NodeName = "EC-GN-P5C:R_T1_MXIAbsTime" + Period = 10.0e-3 + } + DANWriterT1_SMState = { + Type = uint8 + NodeName = "EC-GN-P5C:R_T1_SMState" + Period = 10.0e-3 + } + DANWriterT1_AcqStatus = { + Type = uint8 + NodeName = "EC-GN-P5C:R_T1_AcqStatus" + Period = 10.0e-3 + } + DANWriterT1_MXICfgSupDone = { + Type = uint8 + NodeName = "EC-GN-P5C:R_T1_MXICfgSupDone" + Period = 10.0e-3 + } + DANWriterT1_MXICfgSupError = { + Type = uint8 + NodeName = "EC-GN-P5C:R_T1_MXICfgSupError" + Period = 10.0e-3 + } + DANWriterT1_MXICfgSupStatus = { + Type = uint8 + NodeName = "EC-GN-P5C:R_T1_MXICfgSupStatus" + Period = 10.0e-3 + } + DANWriterT1_MXIBaseCfgTrg = { + Type = uint8 + NodeName = "EC-GN-P5C:R_T1_MXIBaseCfgTrg" + Period = 10.0e-3 + } + DANWriterT1_MXIBaseCfgMode = { + Type = uint8 + NodeName = "EC-GN-P5C:R_T1_MXIBaseCfgMode" + Period = 10.0e-3 + } + DANWriterT1_MXIBaseCfgDone = { + Type = uint8 + NodeName = "EC-GN-P5C:R_T1_MXIBaseCfgDone" + Period = 10.0e-3 + } + DANWriterT1_MXIBaseCfgStatus = { + Type = uint8 + NodeName = "EC-GN-P5C:R_T1_MXIBaseCfgStatus" + Period = 10.0e-3 + } + DANWriterT1_MXIAcqEnTrg = { + Type = uint8 + NodeName = "EC-GN-P5C:R_T1_MXIAcqEnTrg" + Period = 10.0e-3 + } + DANWriterT1_MXIAcqEnDone = { + Type = uint8 + NodeName = "EC-GN-P5C:R_T1_MXIAcqEnDone" + Period = 10.0e-3 + } + DANWriterT1_MXIAcqEnStatus = { + Type = uint8 + NodeName = "EC-GN-P5C:R_T1_MXIAcqEnStatus" + Period = 10.0e-3 + } + DANWriterT1_MXITrpCfgTrg = { + Type = uint8 + NodeName = "EC-GN-P5C:R_T1_MXITrpCfgTrg" + Period = 10.0e-3 + } + DANWriterT1_MXITrpCfgDone = { + Type = uint8 + NodeName = "EC-GN-P5C:R_T1_MXITrpCfgDone" + Period = 10.0e-3 + } + DANWriterT1_MXITrpCfgError = { + Type = uint8 + NodeName = "EC-GN-P5C:R_T1_MXITrpCfgError" + Period = 10.0e-3 + } + DANWriterT1_PlcCfgSupTxTrg = { + Type = uint8 + NodeName = "EC-GN-P5C:R_T1_PlcCfgSupTxTrg" + Period = 10.0e-3 + } + DANWriterT1_PlcCfgSupDone = { + Type = uint8 + NodeName = "EC-GN-P5C:R_T1_PlcCfgSupDone" + Period = 10.0e-3 + } + DANWriterT1_PlcCfgSupError = { + Type = uint8 + NodeName = "EC-GN-P5C:R_T1_PlcCfgSupError" + Period = 10.0e-3 + } + DANWriterT1_PlcCfgSupStatus = { + Type = uint8 + NodeName = "EC-GN-P5C:R_T1_PlcCfgSupStatus" + Period = 10.0e-3 + } + DANWriterT1_PreCfg_CycleTime = { + Type = uint32 + NodeName = "EC-GN-P5C:R_T1_PreCfg_CT" + Period = 10.0e-3 + } + DANWriterT1_MxiCfg_CycleTime = { + Type = uint32 + NodeName = "EC-GN-P5C:R_T1_MxiCfg_CT" + Period = 10.0e-3 + } + DANWriterT1_PlcCfg_CycleTime = { + Type = uint32 + NodeName = "EC-GN-P5C:R_T1_PlcCfg_CT" + Period = 10.0e-3 + } + DANWriterT1_TestRun_CycleTime = { + Type = uint32 + NodeName = "EC-GN-P5C:R_T1_TestRun_CT" + Period = 10.0e-3 + } + DANWriterT1_TestPost_CycleTime = { + Type = uint32 + NodeName = "EC-GN-P5C:R_T1_TestPost_CT" + Period = 10.0e-3 + } + DANWriterT1_CfgError_CycleTime = { + Type = uint32 + NodeName = "EC-GN-P5C:R_T1_CfgError_CT" + Period = 10.0e-3 + } + DANWriterT1_Error_CycleTime = { + Type = uint32 + NodeName = "EC-GN-P5C:R_T1_Error_CT" + Period = 10.0e-3 + } + DANWriterT1_FirstGAM_ReadTime = { + Type = uint32 + NodeName = "EC-GN-P5C:R_T1_FirstGAM_RT" + Period = 10.0e-3 + } + DANWriterT1_LastGAM_ExecTime = { + Type = uint32 + NodeName = "EC-GN-P5C:R_T1_LastGAM_ET" + Period = 10.0e-3 + } + } + } + +EpicsOutput_T1 = { + Class = EPICSCA::EPICSCAOutput + CPUs = 0xFF + NumberOfBuffers = 50 + Signals = { + InitTime_L = { + PVName = EC-GN-P5C:R_T1_ONLINE_T_L + Type = uint32 + } + InitTime_H = { + PVName = EC-GN-P5C:R_T1_ONLINE_T_H + Type = uint32 + } + FinalTime_L = { + PVName = EC-GN-P5C:R_T1_OFFLINE_T_L + Type = uint32 + } + FinalTime_H = { + PVName = EC-GN-P5C:R_T1_OFFLINE_T_H + Type = uint32 + } + } + } + + // ------------ T1 END ------------ // + + // ----------- T2 START ----------- // + // Fast Thread - GET ACQ Data + WaveformMonitors + DANWriterWriter2 + +DDB2 = { + Class = GAMDataSource + } + + +MXIUsFifoDataT2 = { + Class = NI9157::NI9157CircularFifoReader + NumberOfBuffers = 300 + CpuMask = 0x00008000 + NI9157DevicePath = NiDevice + RunNi = 0 + NumberOfPacketsInFIFO = 3 + NonBlockSleepT = 1.0e-6 + TriggerAfterNPackets = 1 + Timeout = 1 + FifoName = FIFO1_U64_RD + GetFirst = 1 + CheckFrame = 1 + +Checker = { + Class = MarkerBitChecker + SampleSize = 8 + NumOfFrameForSync = 1 + MarkerBitMask = 0x8000000000000000 + ResetBitMask = 0xC000000000000000 + } + Signals = { + MXIUpstreamData = { + Type = uint64 + NumberOfDimensions = 1 + NumberOfElements = 3001 + HeaderSize = 8 + // AI3[63:48] AI2[47:32] AI1[31:16] AI0[15:0] + // NU[63:48] AI6[47:32] AI5[31:16] AI4[15:0] + // NU[63:2] DI0[1] DI0[0] + PacketMemberSizes = {2, 2, 2, 2, 2, 2, 2, 2, 8} + } + ErrorCheck = { + Type = uint32 + NumberOfElements = 1 + } + } + } + + +DANWriterT2 = { + Class = DAN::DANSource + NumberOfBuffers = 300 + CPUMask = 0x00080000 + DanBufferMultiplier = 8 + StackSize = 10000000 + NumberOfPreTriggers = 0 + NumberOfPostTriggers = 0 + StoreOnTrigger = 1 + ICProgName = MARTeAppRun + Signals = { + DANWriterT2_Trigger = { + Type = uint8 + } + DANWriterT2_TimeSamples = { + Type = uint64 + TimeSignal = 1 + AbsoluteTime = 1 + } + DANWriterT2_Time = { + Type = uint64 + NodeName = "EC-GN-P5C:R_T2_Time" + Period = 500.0e-9 + NumberOfElements = 1000 + NumberOfDimensions = 1 + } + DANWriterT2_USC_AI_0_VALUE = { + Type = uint16 + NodeName = "EC-GN-P5C:R_T2_USC_AI_0" + Period = 500.0e-9 + NumberOfElements = 1000 + NumberOfDimensions = 1 + } + DANWriterT2_USC_AI_1_VALUE = { + Type = uint16 + NodeName = "EC-GN-P5C:R_T2_USC_AI_1" + Period = 500.0e-9 + NumberOfElements = 1000 + NumberOfDimensions = 1 + } + DANWriterT2_USC_AI_2_VALUE = { + Type = uint16 + NodeName = "EC-GN-P5C:R_T2_USC_AI_2" + Period = 500.0e-9 + NumberOfElements = 1000 + NumberOfDimensions = 1 + } + DANWriterT2_USC_AI_3_VALUE = { + Type = uint16 + NodeName = "EC-GN-P5C:R_T2_USC_AI_3" + Period = 500.0e-9 + NumberOfElements = 1000 + NumberOfDimensions = 1 + } + DANWriterT2_USC_AI_4_VALUE = { + Type = uint16 + NodeName = "EC-GN-P5C:R_T2_USC_AI_4" + Period = 500.0e-9 + NumberOfElements = 1000 + NumberOfDimensions = 1 + } + DANWriterT2_USC_AI_5_VALUE = { + Type = uint16 + NodeName = "EC-GN-P5C:R_T2_USC_AI_5" + Period = 500.0e-9 + NumberOfElements = 1000 + NumberOfDimensions = 1 + } + DANWriterT2_USC_AI_6_VALUE = { + Type = uint16 + NodeName = "EC-GN-P5C:R_T2_USC_AI_6" + Period = 500.0e-9 + NumberOfElements = 1000 + NumberOfDimensions = 1 + } + DANWriterT2_USC_DI_0_VALUE = { + Type = uint16 + NodeName = "EC-GN-P5C:R_T2_USC_DI_0" + Period = 500.0e-9 + NumberOfElements = 1000 + NumberOfDimensions = 1 + } + DANWriterT2_USC_DI_1_VALUE = { + Type = uint16 + NodeName = "EC-GN-P5C:R_T2_USC_DI_1" + Period = 500.0e-9 + NumberOfElements = 1000 + NumberOfDimensions = 1 + } + DANWriterT2_ERRORCHECK = { + Type = uint32 + NodeName = "EC-GN-P5C:R_T2_ERRORCHECK" + Period = 500.0e-6 + } + DANWriterT2_PlcCfg_CycleTime = { + Type = uint32 + NodeName = "EC-GN-P5C:R_T2_PlcCfg_CT" + Period = 500.0e-6 + } + DANWriterT2_TestRun_CycleTime = { + Type = uint32 + NodeName = "EC-GN-P5C:R_T2_TestRun_CT" + Period = 500.0e-6 + } + DANWriterT2_TestPost_CycleTime = { + Type = uint32 + NodeName = "EC-GN-P5C:R_T2_TestPost_CT" + Period = 500.0e-6 + } + DANWriterT2_FirstGAM_ReadTime = { + Type = uint32 + NodeName = "EC-GN-P5C:R_T2_FirstGAM_RT" + Period = 500.0e-6 + } + DANWriterT2_LastGAM_ExecTime = { + Type = uint32 + NodeName = "EC-GN-P5C:R_T2_LastGAM_ET" + Period = 500.0e-6 + } + } + } + + +FileWriterBufferT2 = { + Class = FileDataSource::FileWriter + NumberOfBuffers = 300 + CPUMask = 0x00400000 + StackSize = 10000000 + Filename = "/mnt/disktmpfs/AmpegonPsTb_Data/AmpegonPsTb_BinaryBuffers/TestRunBuffer_REGKEY_POST_BUILD_DAN_PREFIX5101001.bin" + Overwrite = "yes" + FileFormat = "binary" + StoreOnTrigger = 1 + RefreshContent = 0 + NumberOfPreTriggers = 0 + NumberOfPostTriggers = 0 + Signals = { + FileWriterT2_Trigger = { + Type = uint8 + } + FileWriterT2_Time = { + Type = uint64 + NumberOfElements = 1000 + } + FileWriterT2_USC_AI_0_VALUE = { + Type = uint16 + NumberOfElements = 1000 + } + FileWriterT2_USC_AI_1_VALUE = { + Type = uint16 + NumberOfElements = 1000 + } + FileWriterT2_USC_AI_2_VALUE = { + Type = uint16 + NumberOfElements = 1000 + } + FileWriterT2_USC_DI_0_VALUE = { + Type = uint16 + NumberOfElements = 1000 + } + } + } + + +EpicsOutput_T2 = { + Class = EPICSCA::EPICSCAOutput + CPUs = 0xFF + NumberOfBuffers = 50 + Signals = { + InitTime_L = { + PVName = EC-GN-P5C:R_T2_ONLINE_T_L + Type = uint32 + } + InitTime_H = { + PVName = EC-GN-P5C:R_T2_ONLINE_T_H + Type = uint32 + } + FinalTime_L = { + PVName = EC-GN-P5C:R_T2_OFFLINE_T_L + Type = uint32 + } + FinalTime_H = { + PVName = EC-GN-P5C:R_T2_OFFLINE_T_H + Type = uint32 + } + } + } + + // ------------ T2 END ------------ // + + // ----------- T3 START ----------- // + // Fast Thread - Get DEBUG Data + DANWriterWriter 3 + +DDB3 = { + Class = GAMDataSource + } + + +MXIUsFifoDebugT3 = { + Class = NI9157::NI9157CircularFifoReader + NumberOfBuffers = 300 + CpuMask = 0x00010000 + NI9157DevicePath = NiDevice + RunNi = 0 + NumberOfPacketsInFIFO = 3 + NonBlockSleepT = 1.0e-6 + TriggerAfterNPackets = 1 + Timeout = 1 + FifoName = FIFO2_U64_RD + GetFirst = 1 + CheckFrame = 1 + +Checker = { + Class = MarkerBitChecker + SampleSize = 8 + NumOfFrameForSync = 1 + MarkerBitMask = 0x8000000000000000 + ResetBitMask = 0xC000000000000000 + } + Signals = { + MXIUpstreamDebug = { + Type = uint64 + NumberOfDimensions = 1 + NumberOfElements = 2001 + HeaderSize = 8 + // NU[63:48] AO2[47:32] AO1[31:16] AO0[15:0]} + // NU[63:12] PWON[11] FS2[10] FS1[9] MOD2[8] + // MOD1[7] DO4[6] DO3[5] DO2[4] + // DO1[3] DO0[2] MO1[1] MO0[0] + PacketMemberSizes = {2, 2, 2, 2, 8} + } + ErrorCheck = { + Type = uint32 + NumberOfElements = 1 + } + } + } + + +DANWriterT3 = { + Class = DAN::DANSource + NumberOfBuffers = 300 + CPUMask = 0x00100000 + DanBufferMultiplier = 8 + StackSize = 10000000 + NumberOfPreTriggers = 0 + NumberOfPostTriggers = 0 + StoreOnTrigger = 1 + ICProgName = MARTeAppRun + Signals = { + DANWriterT3_Trigger = { + Type = uint8 + } + DANWriterT3_TimeSamples = { + Type = uint64 + TimeSignal = 1 + AbsoluteTime = 1 + } + DANWriterT3_Time = { + Type = uint64 + NodeName = "EC-GN-P5C:R_T3_Time" + Period = 500.0e-9 + NumberOfElements = 1000 + NumberOfDimensions = 1 + } + DANWriterT3_DBG_AO_0_VALUE = { + Type = uint16 + NodeName = "EC-GN-P5C:R_T3_DBG_AO_0" + Period = 500.0e-9 + NumberOfElements = 1000 + NumberOfDimensions = 1 + } + DANWriterT3_DBG_AO_1_VALUE = { + Type = uint16 + NodeName = "EC-GN-P5C:R_T3_DBG_AO_1" + Period = 500.0e-9 + NumberOfElements = 1000 + NumberOfDimensions = 1 + } + DANWriterT3_DBG_AO_2_VALUE = { + Type = uint16 + NodeName = "EC-GN-P5C:R_T3_DBG_AO_2" + Period = 500.0e-9 + NumberOfElements = 1000 + NumberOfDimensions = 1 + } + DANWriterT3_DBG_MO_0_VALUE = { + Type = uint8 + NodeName = "EC-GN-P5C:R_T3_DBG_MO_0" + Period = 500.0e-9 + NumberOfElements = 1000 + NumberOfDimensions = 1 + } + DANWriterT3_DBG_MO_1_VALUE = { + Type = uint8 + NodeName = "EC-GN-P5C:R_T3_DBG_MO_1" + Period = 500.0e-9 + NumberOfElements = 1000 + NumberOfDimensions = 1 + } + DANWriterT3_DBG_DO_0_VALUE = { + Type = uint8 + NodeName = "EC-GN-P5C:R_T3_DBG_DO_0" + Period = 500.0e-9 + NumberOfElements = 1000 + NumberOfDimensions = 1 + } + DANWriterT3_DBG_DO_1_VALUE = { + Type = uint8 + NodeName = "EC-GN-P5C:R_T3_DBG_DO_1" + Period = 500.0e-9 + NumberOfElements = 1000 + NumberOfDimensions = 1 + } + DANWriterT3_DBG_DO_2_VALUE = { + Type = uint8 + NodeName = "EC-GN-P5C:R_T3_DBG_DO_2" + Period = 500.0e-9 + NumberOfElements = 1000 + NumberOfDimensions = 1 + } + DANWriterT3_DBG_DO_3_VALUE = { + Type = uint8 + NodeName = "EC-GN-P5C:R_T3_DBG_DO_3" + Period = 500.0e-9 + NumberOfElements = 1000 + NumberOfDimensions = 1 + } + DANWriterT3_DBG_DO_4_VALUE = { + Type = uint8 + NodeName = "EC-GN-P5C:R_T3_DBG_DO_4" + Period = 500.0e-9 + NumberOfElements = 1000 + NumberOfDimensions = 1 + } + DANWriterT3_DBG_MOD1_VALUE = { + Type = uint8 + NodeName = "EC-GN-P5C:R_T3_DBG_MOD1" + Period = 500.0e-9 + NumberOfElements = 1000 + NumberOfDimensions = 1 + } + DANWriterT3_DBG_MOD2_VALUE = { + Type = uint8 + NodeName = "EC-GN-P5C:R_T3_DBG_MOD2" + Period = 500.0e-9 + NumberOfElements = 1000 + NumberOfDimensions = 1 + } + DANWriterT3_DBG_FS1_VALUE = { + Type = uint8 + NodeName = "EC-GN-P5C:R_T3_DBG_FS1" + Period = 500.0e-9 + NumberOfElements = 1000 + NumberOfDimensions = 1 + } + DANWriterT3_DBG_FS2_VALUE = { + Type = uint8 + NodeName = "EC-GN-P5C:R_T3_DBG_FS2" + Period = 500.0e-9 + NumberOfElements = 1000 + NumberOfDimensions = 1 + } + DANWriterT3_DBG_PWON_VALUE = { + Type = uint8 + NodeName = "EC-GN-P5C:R_T3_DBG_PWON" + Period = 500.0e-9 + NumberOfElements = 1000 + NumberOfDimensions = 1 + } + DANWriterT3_ERRORCHECK = { + Type = uint32 + NodeName = "EC-GN-P5C:R_T3_ERRORCHECK" + Period = 500.0e-6 + } + DANWriterT3_PlcCfg_CycleTime = { + Type = uint32 + NodeName = "EC-GN-P5C:R_T3_PlcCfg_CT" + Period = 500.0e-6 + } + DANWriterT3_TestRun_CycleTime = { + Type = uint32 + NodeName = "EC-GN-P5C:R_T3_TestRun_CT" + Period = 500.0e-6 + } + DANWriterT3_TestPost_CycleTime = { + Type = uint32 + NodeName = "EC-GN-P5C:R_T3_TestPost_CT" + Period = 500.0e-6 + } + DANWriterT3_FirstGAM_ReadTime = { + Type = uint32 + NodeName = "EC-GN-P5C:R_T3_FirstGAM_RT" + Period = 500.0e-6 + } + DANWriterT3_LastGAM_ExecTime = { + Type = uint32 + NodeName = "EC-GN-P5C:R_T3_LastGAM_ET" + Period = 500.0e-6 + } + } + } + +EpicsOutput_T3 = { + Class = EPICSCA::EPICSCAOutput + CPUs = 0xFF + NumberOfBuffers = 50 + Signals = { + InitTime_L = { + PVName = EC-GN-P5C:R_T3_ONLINE_T_L + Type = uint32 + } + InitTime_H = { + PVName = EC-GN-P5C:R_T3_ONLINE_T_H + Type = uint32 + } + FinalTime_L = { + PVName = EC-GN-P5C:R_T3_OFFLINE_T_L + Type = uint32 + } + FinalTime_H = { + PVName = EC-GN-P5C:R_T3_OFFLINE_T_H + Type = uint32 + } + } + } + // ------------ T3 END ------------ // + } + +States = { + Class = ReferenceContainer + +PreCfg = { + Class = RealTimeState + +Threads = { + Class = ReferenceContainer + +Thread1Cfg = { + Class = RealTimeThread + CPUs = 0x00000100 + Functions = { + // TIMER + Timer, CurrentTime_T1, TimeConverter, + // RX PATH + MXIRead, MXIModuleFullFlagSplitter, MXIMasterTime, PlcPacketRx, + // CONST GAM + AppStateMachineState, DANWriterWriteEnable, MXISupervisorVariables, MXIBaseConfigurationVariables, + MXIDsFifoAcqEnVariables, PlcPacketTxVariables, StateMachineTasksDelay, + AcquisitionStatusDaq, AcquisitionStatusDbg, + // FLOW CTRL + MXIConfigurationSupervisor, MXIBaseConfiguration, + MXIAcquisitionEnable, MXITripletConfiguration, PlcConfigurationSupervisor, + // TX PATH + MXIWriteRst, MXIWriteHlOpt, MXIWriteEn, MXIWriteDbg, + MXIWriteDsFifoAcqEn, MXIWriteDsFifoConfig, PlcPacketTx, + // MON/STATE CTRL + AppMonitor, EventMessageBypassPreCfg, AcquisitionStatusMonitor, /*AcquisitionStatusMessages, + CycleCounterT1, TestPostTasksDelay, TestPostGotoTestDone, TestDoneCallTasks,*/ EventMessages, + // STORAGE + StoreStartPulseTime_T1, + StoreStopPulseTime_T1, + DANWriterWriteData + } + } + } + } + +MxiCfg = { + Class = RealTimeState + +Threads = { + Class = ReferenceContainer + +Thread1Cfg = { + Class = RealTimeThread + CPUs = 0x00000100 + Functions = { + // TIMER + Timer, CurrentTime_T1, TimeConverter, + // RX PATH + MXIRead, MXIModuleFullFlagSplitter, MXIMasterTime, PlcPacketRx, + // CONST GAM + AppStateMachineState, DANWriterWriteEnable, MXISupervisorVariables, MXIBaseConfigurationVariables, + MXIDsFifoAcqEnVariables, PlcPacketTxVariables, StateMachineTasksDelay, + AcquisitionStatusDaq, AcquisitionStatusDbg, + // FLOW CTRL + MXIConfigurationSupervisor, MXIBaseConfiguration, + MXIAcquisitionEnable, MXITripletConfiguration, PlcConfigurationSupervisor, + // TX PATH + MXIWriteRst, MXIWriteHlOpt, MXIWriteEn, MXIWriteDbg, + MXIWriteDsFifoAcqEn, MXIWriteDsFifoConfig, PlcPacketTx, + // MON/STATE CTRL + AppMonitor, /*EventMessageBypassPreCfg,*/ AcquisitionStatusMonitor, /*AcquisitionStatusMessages, + CycleCounterT1, TestPostTasksDelay, TestPostGotoTestDone, TestDoneCallTasks,*/ EventMessages, + // STORAGE + StoreStartPulseTime_T1, + StoreStopPulseTime_T1, + DANWriterWriteData + } + } + } + } + +PlcCfg = { + Class = RealTimeState + +Threads = { + Class = ReferenceContainer + +Thread1Cfg = { + Class = RealTimeThread + CPUs = 0x00000100 + Functions = { + // TIMER + Timer, CurrentTime_T1, TimeConverter, + // RX PATH + MXIRead, MXIModuleFullFlagSplitter, MXIMasterTime, PlcPacketRx, + // CONST GAM + AppStateMachineState, DANWriterWriteEnable, MXISupervisorVariables, MXIBaseConfigurationVariables, + MXIDsFifoAcqEnVariables, PlcPacketTxVariables, StateMachineTasksDelay, + AcquisitionStatusDaq, AcquisitionStatusDbg, + // FLOW CTRL + MXIConfigurationSupervisor, MXIBaseConfiguration, + MXIAcquisitionEnable, MXITripletConfiguration, PlcConfigurationSupervisor, + // TX PATH + MXIWriteRst, MXIWriteHlOpt, MXIWriteEn, MXIWriteDbg, + MXIWriteDsFifoAcqEn, MXIWriteDsFifoConfig, PlcPacketTx, + // MON/STATE CTRL + AppMonitor, /*EventMessageBypassPreCfg,*/ AcquisitionStatusMonitor, /*AcquisitionStatusMessages, + CycleCounterT1, TestPostTasksDelay, TestPostGotoTestDone, TestDoneCallTasks,*/ EventMessages, + // STORAGE + StoreStartPulseTime_T1, + StoreStopPulseTime_T1, + DANWriterWriteData + } + } + +Thread2Daq = { + Class = RealTimeThread + CPUs = 0x00000200 + Functions = { + // RX PATH + MxiDataUsFifoDataT2, DigitalInputSplitterT2, TimeConversionT2, TimeConversionT2_Abs, MXIMasterTimeT2, + // CONST GAM + DANWriterWriteDataWindowLimitsT2, + // FLOW CTRL + DANWriterWriteDataWindowT2, + // MON/STATE CTRL + AppMonitorT2, ExecutionMonitorT2, + // STORAGE + StoreStartPulseTime_T2, + StoreStopPulseTime_T2, + DANWriterWriteDataT2, FileWriterBufferDataT2 + } + } + +Thread3Dbg = { + Class = RealTimeThread + CPUs = 0x00000400 + Functions = { + // RX PATH + MxiDataUsFifoDataT3, DigitalInputSplitterT3, TimeConversionT3, TimeConversionT3_Abs, MXIMasterTimeT3, + // CONST GAM + DANWriterWriteDataWindowLimitsT3, + // FLOW CTRL + DANWriterWriteDataWindowT3, + // TX PATH + // NOOP, + // MON/STATE CTR + AppMonitorT3, ExecutionMonitorT3, + // STORAGE + StoreStartPulseTime_T3, + StoreStopPulseTime_T3, + DANWriterWriteDataT3 + } + } + } + } + +TestRun = { + Class = RealTimeState + +Threads = { + Class = ReferenceContainer + +Thread1Cfg = { + Class = RealTimeThread + CPUs = 0x00000100 + Functions = { + // TIMER + Timer, CurrentTime_T1, TimeConverter, + // RX PATH + MXIRead, MXIModuleFullFlagSplitter, MXIMasterTime, PlcPacketRx, + // CONST GAM + AppStateMachineState, DANWriterWriteEnable, MXISupervisorVariables, MXIBaseConfigurationVariables, + MXIDsFifoAcqEnVariables, PlcPacketTxVariables, StateMachineTasksDelay, + AcquisitionStatusDaq, AcquisitionStatusDbg, + // FLOW CTRL + MXIConfigurationSupervisor, MXIBaseConfiguration, + MXIAcquisitionEnable, MXITripletConfiguration, PlcConfigurationSupervisor, + // TX PATH + MXIWriteRst, MXIWriteHlOpt, MXIWriteEn, MXIWriteDbg, + MXIWriteDsFifoAcqEn, MXIWriteDsFifoConfig, PlcPacketTx, + // MON/STATE CTRL + AppMonitor, /*EventMessageBypassPreCfg,*/ AcquisitionStatusMonitor, AcquisitionStatusMessages, + /*CycleCounterT1, TestPostTasksDelay, TestPostGotoTestDone, TestDoneCallTasks,*/ EventMessages, + // STORAGE + StoreStartPulseTime_T1, + StoreStopPulseTime_T1, + DANWriterWriteData + } + } + +Thread2Daq = { + Class = RealTimeThread + CPUs = 0x00000200 + Functions = { + // RX PATH + MxiDataUsFifoDataT2, DigitalInputSplitterT2, TimeConversionT2, TimeConversionT2_Abs, MXIMasterTimeT2, + // CONST GAM + DANWriterWriteDataWindowLimitsT2, + // FLOW CTRL + DANWriterWriteDataWindowT2, + // MON/STATE CTRL + AppMonitorT2, ExecutionMonitorT2, + // STORAGE + StoreStartPulseTime_T2, + StoreStopPulseTime_T2, + DANWriterWriteDataT2, FileWriterBufferDataT2 + } + } + +Thread3Dbg = { + Class = RealTimeThread + CPUs = 0x00000400 + Functions = { + // RX PATH + MxiDataUsFifoDataT3, DigitalInputSplitterT3, TimeConversionT3, TimeConversionT3_Abs, MXIMasterTimeT3, + // CONST GAM + DANWriterWriteDataWindowLimitsT3, + // FLOW CTRL + DANWriterWriteDataWindowT3, + // TX PATH + // NOOP, + // MON/STATE CTR + AppMonitorT3, ExecutionMonitorT3, + // STORAGE + StoreStartPulseTime_T3, + StoreStopPulseTime_T3, + DANWriterWriteDataT3 + } + } + } + } + +TestPost = { + Class = RealTimeState + +Threads = { + Class = ReferenceContainer + +Thread1Cfg = { + Class = RealTimeThread + CPUs = 0x00000100 + Functions = { + // TIMER + Timer, CurrentTime_T1, TimeConverter, + // RX PATH + MXIRead, MXIModuleFullFlagSplitter, MXIMasterTime, PlcPacketRx, + // CONST GAM + AppStateMachineState, DANWriterWriteEnable, MXISupervisorVariables, MXIBaseConfigurationVariables, + MXIDsFifoAcqEnVariables, PlcPacketTxVariables, StateMachineTasksDelay, + AcquisitionStatusDaq, AcquisitionStatusDbg, + // FLOW CTRL + MXIConfigurationSupervisor, MXIBaseConfiguration, + MXIAcquisitionEnable, MXITripletConfiguration, PlcConfigurationSupervisor, + // TX PATH + MXIWriteRst, MXIWriteHlOpt, MXIWriteEn, MXIWriteDbg, + MXIWriteDsFifoAcqEn, MXIWriteDsFifoConfig, PlcPacketTx, + // MON/STATE CTRL + AppMonitor, /*EventMessageBypassPreCfg,*/ AcquisitionStatusMonitor, /*AcquisitionStatusMessages,*/ + CycleCounterT1, TestPostTasksDelay, TestPostGotoTestDone, /*TestDoneCallTasks,*/ EventMessages, + // STORAGE + StoreStartPulseTime_T1, + StoreStopPulseTime_T1, + DANWriterWriteData + } + } + } + } + +TestDone = { + Class = RealTimeState + +Threads = { + Class = ReferenceContainer + +Thread1Cfg = { + Class = RealTimeThread + CPUs = 0x00000100 + Functions = { + // TIMER + Timer, CurrentTime_T1, TimeConverter, + // RX PATH + MXIRead, MXIModuleFullFlagSplitter, MXIMasterTime, PlcPacketRx, + // CONST GAM + AppStateMachineState, DANWriterWriteEnable, MXISupervisorVariables, MXIBaseConfigurationVariables, + MXIDsFifoAcqEnVariables, PlcPacketTxVariables, StateMachineTasksDelay, + AcquisitionStatusDaq, AcquisitionStatusDbg, + // FLOW CTRL + MXIConfigurationSupervisor, MXIBaseConfiguration, + MXIAcquisitionEnable, MXITripletConfiguration, PlcConfigurationSupervisor, + // TX PATH + MXIWriteRst, MXIWriteHlOpt, MXIWriteEn, MXIWriteDbg, + MXIWriteDsFifoAcqEn, MXIWriteDsFifoConfig, PlcPacketTx, + // MON/STATE CTRL + AppMonitor, /*EventMessageBypassPreCfg,*/ AcquisitionStatusMonitor, /*AcquisitionStatusMessages,*/ + CycleCounterT1, TestPostTasksDelay, /*TestPostGotoTestDone,*/ TestDoneCallTasks, EventMessages, + // STORAGE + StoreStartPulseTime_T1, + StoreStopPulseTime_T1, + DANWriterWriteData + } + } + } + } + +CfgError = { + Class = RealTimeState + +Threads = { + Class = ReferenceContainer + +Thread1Cfg = { + Class = RealTimeThread + CPUs = 0x00000100 + Functions = { + // TIMER + Timer, CurrentTime_T1, TimeConverter, + // RX PATH + MXIRead, MXIModuleFullFlagSplitter, MXIMasterTime, PlcPacketRx, + // CONST GAM + AppStateMachineState, DANWriterWriteEnable, MXISupervisorVariables, MXIBaseConfigurationVariables, + MXIDsFifoAcqEnVariables, PlcPacketTxVariables, StateMachineTasksDelay, + AcquisitionStatusDaq, AcquisitionStatusDbg, + // FLOW CTRL + MXIConfigurationSupervisor, MXIBaseConfiguration, + MXIAcquisitionEnable, MXITripletConfiguration, PlcConfigurationSupervisor, + // TX PATH + MXIWriteRst, MXIWriteHlOpt, MXIWriteEn, MXIWriteDbg, + MXIWriteDsFifoAcqEn, MXIWriteDsFifoConfig, PlcPacketTx, + // MON/STATE CTRL + AppMonitor, /*EventMessageBypassPreCfg,*/ AcquisitionStatusMonitor, /*AcquisitionStatusMessages, + CycleCounterT1, TestPostTasksDelay, TestPostGotoTestDone, TestDoneCallTasks,*/ EventMessages, + // STORAGE + StoreStartPulseTime_T1, + StoreStopPulseTime_T1, + DANWriterWriteData + } + } + } + } + +Error = { + Class = RealTimeState + +Threads = { + Class = ReferenceContainer + +Thread1Cfg = { + Class = RealTimeThread + CPUs = 0x00000100 + Functions = { + // TIMER + Timer, CurrentTime_T1, TimeConverter, + // RX PATH + MXIRead, MXIModuleFullFlagSplitter, MXIMasterTime, PlcPacketRx, + // CONST GAM + AppStateMachineState, DANWriterWriteEnable, MXISupervisorVariables, MXIBaseConfigurationVariables, + MXIDsFifoAcqEnVariables, PlcPacketTxVariables, StateMachineTasksDelay, + AcquisitionStatusDaq, AcquisitionStatusDbg, + // FLOW CTRL + MXIConfigurationSupervisor, MXIBaseConfiguration, + MXIAcquisitionEnable, MXITripletConfiguration, PlcConfigurationSupervisor, + // TX PATH + MXIWriteRst, MXIWriteHlOpt, MXIWriteEn, MXIWriteDbg, + MXIWriteDsFifoAcqEn, MXIWriteDsFifoConfig, PlcPacketTx, + // MON/STATE CTRL + AppMonitor, /*EventMessageBypassPreCfg,*/ AcquisitionStatusMonitor, /*AcquisitionStatusMessages, + CycleCounterT1, TestPostTasksDelay, TestPostGotoTestDone, TestDoneCallTasks,*/ EventMessages, + // STORAGE + StoreStartPulseTime_T1, + StoreStopPulseTime_T1, + DANWriterWriteData + } + } + } + } + } + +Scheduler = { + Class = GAMScheduler + TimingDataSource = Timings + } +} diff --git a/examples/jada_gyro_scu.b72lab.json b/examples/jada_gyro_scu.b72lab.json new file mode 100644 index 0000000..6882c50 --- /dev/null +++ b/examples/jada_gyro_scu.b72lab.json @@ -0,0 +1,9414 @@ +{ + "+OperationalStateMachine": { + "Class": "StateMachine", + "+Start": { + "Class": "ReferenceContainer", + "+GoToOffline": { + "Class": "StateMachineEvent", + "NextStateError": "Alarm", + "NextState": "Offline", + "+GoToNextState": { + "Class": "Message", + "Destination": "RTApp", + "Mode": "ExpectsReply", + "Function": "PrepareNextState", + "+Parameters": { + "Class": "ConfigurationDatabase", + "param1": "Offline" + } + }, + "+StopCurrentState": { + "Class": "Message", + "Destination": "RTApp", + "Mode": "ExpectsReply", + "Function": "StopCurrentStateExecution" + }, + "+StartNextState": { + "Class": "Message", + "Destination": "RTApp", + "Mode": "ExpectsReply", + "Function": "StartNextStateExecution" + }, + "+SetState": { + "Class": "Message", + "Function": "SetOutput", + "Mode": "ExpectsReply", + "Destination": "RTApp.Functions.StateConstantGAM", + "+Parameters": { + "Class": "ConfigurationDatabase", + "SignalName": "OSMState", + "SignalValue": 30 + } + } + } + }, + "+Offline": { + "Class": "ReferenceContainer", + "+GoToOnlineSync": { + "Class": "StateMachineEvent", + "NextStateError": "Alarm", + "NextState": "OnlineSync", + "+GoToNextState": { + "Class": "Message", + "Destination": "RTApp", + "Mode": "ExpectsReply", + "Function": "PrepareNextState", + "+Parameters": { + "Class": "ConfigurationDatabase", + "param1": "OnlineSync" + } + }, + "+StopCurrentState": { + "Class": "Message", + "Destination": "RTApp", + "Mode": "ExpectsReply", + "Function": "StopCurrentStateExecution" + }, + "+StartNextState": { + "Class": "Message", + "Destination": "RTApp", + "Mode": "ExpectsReply", + "Function": "StartNextStateExecution" + }, + "+SetState": { + "Class": "Message", + "Function": "SetOutput", + "Mode": "ExpectsReply", + "Destination": "RTApp.Functions.StateConstantGAM", + "+Parameters": { + "Class": "ConfigurationDatabase", + "SignalName": "OSMState", + "SignalValue": 90 + } + } + }, + "+GoToOnlineAsync": { + "Class": "StateMachineEvent", + "NextStateError": "Alarm", + "NextState": "OnlineAsync", + "+GoToNextState": { + "Class": "Message", + "Destination": "RTApp", + "Mode": "ExpectsReply", + "Function": "PrepareNextState", + "+Parameters": { + "Class": "ConfigurationDatabase", + "param1": "OnlineAsync" + } + }, + "+StopCurrentState": { + "Class": "Message", + "Destination": "RTApp", + "Mode": "ExpectsReply", + "Function": "StopCurrentStateExecution" + }, + "+StartNextState": { + "Class": "Message", + "Destination": "RTApp", + "Mode": "ExpectsReply", + "Function": "StartNextStateExecution" + }, + "+SetState": { + "Class": "Message", + "Function": "SetOutput", + "Mode": "ExpectsReply", + "Destination": "RTApp.Functions.StateConstantGAM", + "+Parameters": { + "Class": "ConfigurationDatabase", + "SignalName": "OSMState", + "SignalValue": 90 + } + } + }, + "+GoToAlarm": { + "Class": "StateMachineEvent", + "NextStateError": "Alarm", + "NextState": "Alarm", + "+GoToNextState": { + "Class": "Message", + "Destination": "RTApp", + "Mode": "ExpectsReply", + "Function": "PrepareNextState", + "+Parameters": { + "Class": "ConfigurationDatabase", + "param1": "Alarm" + } + }, + "+StopCurrentState": { + "Class": "Message", + "Destination": "RTApp", + "Mode": "ExpectsReply", + "Function": "StopCurrentStateExecution" + }, + "+StartNextState": { + "Class": "Message", + "Destination": "RTApp", + "Mode": "ExpectsReply", + "Function": "StartNextStateExecution" + }, + "+SetState": { + "Class": "Message", + "Function": "SetOutput", + "Mode": "ExpectsReply", + "Destination": "RTApp.Functions.StateConstantGAM", + "+Parameters": { + "Class": "ConfigurationDatabase", + "SignalName": "OSMState", + "SignalValue": 75 + } + } + } + }, + "+OnlineSync": { + "Class": "ReferenceContainer", + "+GoToOffline": { + "Class": "StateMachineEvent", + "NextStateError": "Alarm", + "NextState": "Offline", + "+GoToNextState": { + "Class": "Message", + "Destination": "RTApp", + "Mode": "ExpectsReply", + "Function": "PrepareNextState", + "+Parameters": { + "Class": "ConfigurationDatabase", + "param1": "Offline" + } + }, + "+StopCurrentState": { + "Class": "Message", + "Destination": "RTApp", + "Mode": "ExpectsReply", + "Function": "StopCurrentStateExecution" + }, + "+StartNextState": { + "Class": "Message", + "Destination": "RTApp", + "Mode": "ExpectsReply", + "Function": "StartNextStateExecution" + }, + "+SetState": { + "Class": "Message", + "Function": "SetOutput", + "Mode": "ExpectsReply", + "Destination": "RTApp.Functions.StateConstantGAM", + "+Parameters": { + "Class": "ConfigurationDatabase", + "SignalName": "OSMState", + "SignalValue": 30 + } + } + }, + "+GoToAlarm": { + "Class": "StateMachineEvent", + "NextStateError": "Alarm", + "NextState": "Alarm", + "+GoToNextState": { + "Class": "Message", + "Destination": "RTApp", + "Mode": "ExpectsReply", + "Function": "PrepareNextState", + "+Parameters": { + "Class": "ConfigurationDatabase", + "param1": "Alarm" + } + }, + "+StopCurrentState": { + "Class": "Message", + "Destination": "RTApp", + "Mode": "ExpectsReply", + "Function": "StopCurrentStateExecution" + }, + "+StartNextState": { + "Class": "Message", + "Destination": "RTApp", + "Mode": "ExpectsReply", + "Function": "StartNextStateExecution" + }, + "+SetState": { + "Class": "Message", + "Function": "SetOutput", + "Mode": "ExpectsReply", + "Destination": "RTApp.Functions.StateConstantGAM", + "+Parameters": { + "Class": "ConfigurationDatabase", + "SignalName": "OSMState", + "SignalValue": 75 + } + } + } + }, + "+OnlineAsync": { + "Class": "ReferenceContainer", + "+GoToOffline": { + "Class": "StateMachineEvent", + "NextStateError": "Alarm", + "NextState": "Offline", + "+GoToNextState": { + "Class": "Message", + "Destination": "RTApp", + "Mode": "ExpectsReply", + "Function": "PrepareNextState", + "+Parameters": { + "Class": "ConfigurationDatabase", + "param1": "Offline" + } + }, + "+StopCurrentState": { + "Class": "Message", + "Destination": "RTApp", + "Mode": "ExpectsReply", + "Function": "StopCurrentStateExecution" + }, + "+StartNextState": { + "Class": "Message", + "Destination": "RTApp", + "Mode": "ExpectsReply", + "Function": "StartNextStateExecution" + }, + "+SetState": { + "Class": "Message", + "Function": "SetOutput", + "Mode": "ExpectsReply", + "Destination": "RTApp.Functions.StateConstantGAM", + "+Parameters": { + "Class": "ConfigurationDatabase", + "SignalName": "OSMState", + "SignalValue": 30 + } + } + }, + "+GoToAlarm": { + "Class": "StateMachineEvent", + "NextStateError": "Alarm", + "NextState": "Alarm", + "+GoToNextState": { + "Class": "Message", + "Destination": "RTApp", + "Mode": "ExpectsReply", + "Function": "PrepareNextState", + "+Parameters": { + "Class": "ConfigurationDatabase", + "param1": "Alarm" + } + }, + "+StopCurrentState": { + "Class": "Message", + "Destination": "RTApp", + "Mode": "ExpectsReply", + "Function": "StopCurrentStateExecution" + }, + "+StartNextState": { + "Class": "Message", + "Destination": "RTApp", + "Mode": "ExpectsReply", + "Function": "StartNextStateExecution" + }, + "+SetState": { + "Class": "Message", + "Function": "SetOutput", + "Mode": "ExpectsReply", + "Destination": "RTApp.Functions.StateConstantGAM", + "+Parameters": { + "Class": "ConfigurationDatabase", + "SignalName": "OSMState", + "SignalValue": 75 + } + } + } + }, + "+Alarm": { + "Class": "ReferenceContainer", + "+GoToOffline": { + "Class": "StateMachineEvent", + "NextStateError": "Alarm", + "NextState": "Offline", + "+GoToNextState": { + "Class": "Message", + "Destination": "RTApp", + "Mode": "ExpectsReply", + "Function": "PrepareNextState", + "+Parameters": { + "Class": "ConfigurationDatabase", + "param1": "Offline" + } + }, + "+StopCurrentState": { + "Class": "Message", + "Destination": "RTApp", + "Mode": "ExpectsReply", + "Function": "StopCurrentStateExecution" + }, + "+StartNextState": { + "Class": "Message", + "Destination": "RTApp", + "Mode": "ExpectsReply", + "Function": "StartNextStateExecution" + }, + "+SetState": { + "Class": "Message", + "Function": "SetOutput", + "Mode": "ExpectsReply", + "Destination": "RTApp.Functions.StateConstantGAM", + "+Parameters": { + "Class": "ConfigurationDatabase", + "SignalName": "OSMState", + "SignalValue": 30 + } + } + } + } + }, + "$RTApp": { + "Class": "RealTimeApplication", + "+Data": { + "Class": "ReferenceContainer", + "+GA_CCPS": { + "Class": "GAMDataSource", + "Locked": 1, + "Signals": { + "Voltage_Max_Read": { + "Type": "float32" + }, + "Voltage_Min_Read": { + "Type": "float32" + }, + "Current_Protection_Read": { + "Type": "float32" + }, + "Curr_Prot_Det_Time_Read": { + "Type": "float32" + }, + "PSU2320_IREF_H_Read": { + "Type": "int16" + }, + "PSU2320_IREF_L_Read": { + "Type": "int16" + }, + "Voltage_Auto_Prot_Read": { + "Type": "uint8" + }, + "Current_Auto_Prot_Read": { + "Type": "uint8" + } + }, + "AllowNoProducers": 1 + }, + "+GB_CCPS": { + "Class": "GAMDataSource", + "Locked": 1, + "Signals": { + "Voltage_Max_Read": { + "Type": "float32" + }, + "Voltage_Min_Read": { + "Type": "float32" + }, + "Current_Protection_Read": { + "Type": "float32" + }, + "Curr_Prot_Det_Time_Read": { + "Type": "float32" + }, + "PSU2320_IREF_H_Read": { + "Type": "int16" + }, + "PSU2320_IREF_L_Read": { + "Type": "int16" + }, + "Voltage_Auto_Prot_Read": { + "Type": "uint8" + }, + "Current_Auto_Prot_Read": { + "Type": "uint8" + } + }, + "AllowNoProducers": 1 + }, + "+GA_FHPS": { + "Class": "GAMDataSource", + "Locked": 1, + "Signals": { + "AC_Voltage_Read": { + "Type": "float32" + }, + "DC_Voltage_Read": { + "Type": "float32" + }, + "Frequency_Read": { + "Type": "float32" + }, + "AC_Current_Max_Read": { + "Type": "float32" + }, + "DC_Current_Max_Read": { + "Type": "float32" + }, + "Current_Trip_Delay_Read": { + "Type": "float32" + }, + "Intern_Prot_Delay_Read": { + "Type": "float32" + }, + "Current_Peak_Max_Read": { + "Type": "float32" + }, + "Current_Peak_Min_Read": { + "Type": "float32" + }, + "AC_Voltage_Max_Read": { + "Type": "float32" + }, + "AC_Voltage_Min_Read": { + "Type": "float32" + }, + "DC_Voltage_Max_Read": { + "Type": "float32" + }, + "DC_Voltage_Min_Read": { + "Type": "float32" + }, + "RMS_Voltage_Max_Read": { + "Type": "float32" + }, + "RMS_Voltage_Min_Read": { + "Type": "float32" + }, + "AVG_Voltage_Max_Read": { + "Type": "float32" + }, + "AVG_Voltage_Min_Read": { + "Type": "float32" + }, + "Frequency_Max_Read": { + "Type": "float32" + }, + "Frequency_Min_Read": { + "Type": "float32" + }, + "Voltage_Range_Read": { + "Type": "uint8" + }, + "Current_Prot_Mode_Read": { + "Type": "uint8" + } + }, + "AllowNoProducers": 1 + }, + "+GB_FHPS": { + "Class": "GAMDataSource", + "Locked": 1, + "Signals": { + "AC_Voltage_Read": { + "Type": "float32" + }, + "DC_Voltage_Read": { + "Type": "float32" + }, + "Frequency_Read": { + "Type": "float32" + }, + "AC_Current_Max_Read": { + "Type": "float32" + }, + "DC_Current_Max_Read": { + "Type": "float32" + }, + "Current_Trip_Delay_Read": { + "Type": "float32" + }, + "Intern_Prot_Delay_Read": { + "Type": "float32" + }, + "Current_Peak_Max_Read": { + "Type": "float32" + }, + "Current_Peak_Min_Read": { + "Type": "float32" + }, + "AC_Voltage_Max_Read": { + "Type": "float32" + }, + "AC_Voltage_Min_Read": { + "Type": "float32" + }, + "DC_Voltage_Max_Read": { + "Type": "float32" + }, + "DC_Voltage_Min_Read": { + "Type": "float32" + }, + "RMS_Voltage_Max_Read": { + "Type": "float32" + }, + "RMS_Voltage_Min_Read": { + "Type": "float32" + }, + "AVG_Voltage_Max_Read": { + "Type": "float32" + }, + "AVG_Voltage_Min_Read": { + "Type": "float32" + }, + "Frequency_Max_Read": { + "Type": "float32" + }, + "Frequency_Min_Read": { + "Type": "float32" + }, + "Voltage_Range_Read": { + "Type": "uint8" + }, + "Current_Prot_Mode_Read": { + "Type": "uint8" + } + }, + "AllowNoProducers": 1 + }, + "+GA_MCPS": { + "Class": "GAMDataSource", + "Locked": 1, + "Signals": { + "Current_Read": { + "Type": "float32" + }, + "Sweep_Rate_Read": { + "Type": "float32" + } + }, + "AllowNoProducers": 1 + }, + "+GB_MCPS": { + "Class": "GAMDataSource", + "Locked": 1, + "Signals": { + "Current_Read": { + "Type": "float32" + }, + "Sweep_Rate_Read": { + "Type": "float32" + } + }, + "AllowNoProducers": 1 + }, + "+GA_GCPS": { + "Class": "GAMDataSource", + "Locked": 1, + "Signals": { + "Current_Read": { + "Type": "float32" + }, + "Sweep_Rate_Read": { + "Type": "float32" + } + }, + "AllowNoProducers": 1 + }, + "+EpicsCRIOSimOut": { + "Class": "EPICSCA::EPICSCAOutput", + "Locked": 1, + "NumberOfBuffers": 10, + "Signals": { + "PXI_OUT": { + "Type": "uint32", + "PVName": "SIM:EPC_PXI_IN" + } + } + }, + "+ECPCSub": { + "Class": "UDP::UDPReceiver", + "Port": 49200, + "Timeout": 1, + "ExecutionMode": "RealTimeThread", + "Locked": 1, + "Signals": { + "Pulse": { + "Type": "uint8" + }, + "Command": { + "Type": "uint8" + }, + "PXIStatus": { + "Type": "uint32" + } + } + }, + "+EpicsInput": { + "Class": "EPICSCA::EPICSCAInput", + "Locked": 1, + "Signals": { + "FC_Alarm": { + "Type": "uint8", + "PVName": "SIM:FC_Alarm" + } + } + }, + "+EpicsOut": { + "Class": "EPICSCA::EPICSCAOutput", + "NumberOfBuffers": 10, + "Locked": 1, + "Signals": { + "OPState": { + "Type": "uint8", + "PVName": "EC-GN-P01-GCOM-FCT:FC_OP_STATE.RVAL" + }, + "RTState": { + "Type": "uint8", + "PVName": "EC-GN-P01-GCOM-FCT:FC_RT_STATE.RVAL" + }, + "RTSubState": { + "Type": "uint8", + "PVName": "EC-GN-P01-GCOM-FCT:FC_RT_SUBSTATE.RVAL" + }, + "SegState": { + "Type": "uint8", + "PVName": "EC-GN-P01-GCOM-FCT:FC_SEG_STATE.RVAL" + }, + "PulseTime": { + "Type": "float32", + "PVName": "EC-GN-P01-GCOM-FCT:CURRENT_PULSE_LEN" + }, + "EerrorCode": { + "Type": "uint8", + "PVName": "EC-GN-P01-GCOM-FCT:ERROR_CODE" + }, + "Debug": { + "Type": "uint8", + "PVName": "EC-GN-P01-GCOM-FCT:FC_ERROR_CODE" + } + } + }, + "+EpicsTimer": { + "Class": "LinuxTimer", + "SleepNature": "Busy", + "CPUMask": 8, + "Locked": 1, + "Signals": { + "Counter": { + "Type": "uint32" + }, + "Time": { + "Type": "uint32" + } + } + }, + "+EpicsDB": { + "Class": "GAMDataSource", + "Locked": 1, + "Signals": { + "Time": { + "Type": "uint32" + }, + "ShotTime": { + "Type": "float32" + } + } + }, + "+PLCSDNPub": { + "Class": "SDN::SDNPublisher", + "Topic": "Ignored", + "Interface": "enp11s0f0", + "Address": "10.130.8.18:2000", + "NetworkByteOrder": 1, + "Locked": 1, + "Signals": { + "N_Reals": { + "Type": "uint8" + }, + "N_Integer": { + "Type": "uint8" + }, + "N_Acks": { + "Type": "uint8" + }, + "N_States": { + "Type": "uint8" + }, + "N_Alarms": { + "Type": "uint8" + }, + "Spare_Bytes": { + "Type": "uint8", + "NumberOfElements": 3 + }, + "GA_CCPS_IREF": { + "Type": "float32" + }, + "GA_FHPS_Voltage": { + "Type": "float32" + }, + "GA_FHPS_Current": { + "Type": "float32" + }, + "GA_FHPS_IREF": { + "Type": "float32" + }, + "GA_MCPS_Voltage": { + "Type": "float32" + }, + "GA_MCPS_Current": { + "Type": "float32" + }, + "GA_MCPS_IREF": { + "Type": "float32" + }, + "GA_GCPS_Voltage": { + "Type": "float32" + }, + "GA_GCPS_Current": { + "Type": "float32" + }, + "GA_GCPS_IREF": { + "Type": "float32" + }, + "GB_CCPS_IREF": { + "Type": "float32" + }, + "GB_FHPS_Voltage": { + "Type": "float32" + }, + "GB_FHPS_Current": { + "Type": "float32" + }, + "GB_FHPS_IREF": { + "Type": "float32" + }, + "GB_MCPS_Voltage": { + "Type": "float32" + }, + "GB_MCPS_Current": { + "Type": "float32" + }, + "GB_MCPS_IREF": { + "Type": "float32" + }, + "GB_GCPS_Voltage": { + "Type": "float32" + }, + "GB_GCPS_Current": { + "Type": "float32" + }, + "GB_GCPS_IREF": { + "Type": "float32" + }, + "GA_CCPS_Amplitude_Read": { + "Type": "float32" + }, + "GA_CCPS_Amplitude_Max_Delta_Read": { + "Type": "float32" + }, + "GA_CCPS_Frequency_Read": { + "Type": "float32" + }, + "GA_CCPS_Current_Protection_Read": { + "Type": "float32" + }, + "GA_CCPS_Curr_Prot_Det_Time_Read": { + "Type": "float32" + }, + "GA_CCPS_Voltage_Max_Read": { + "Type": "float32" + }, + "GA_CCPS_Voltage_Min_Read": { + "Type": "float32" + }, + "GA_FHPS_AC_Voltage_Read": { + "Type": "float32" + }, + "GA_FHPS_DC_Voltage_Read": { + "Type": "float32" + }, + "GA_FHPS_Frequency_Read": { + "Type": "float32" + }, + "GA_FHPS_AC_Current_Max_Read": { + "Type": "float32" + }, + "GA_FHPS_DC_Current_Max_Read": { + "Type": "float32" + }, + "GA_FHPS_Current_Trip_Delay_Read": { + "Type": "float32" + }, + "GA_FHPS_Intern_Prot_Delay_Read": { + "Type": "float32" + }, + "GA_FHPS_Current_Peak_Max_Read": { + "Type": "float32" + }, + "GA_FHPS_Current_Peak_Min_Read": { + "Type": "float32" + }, + "GA_FHPS_AC_Voltage_Max_Read": { + "Type": "float32" + }, + "GA_FHPS_AC_Voltage_Min_Read": { + "Type": "float32" + }, + "GA_FHPS_DC_Voltage_Max_Read": { + "Type": "float32" + }, + "GA_FHPS_DC_Voltage_Min_Read": { + "Type": "float32" + }, + "GA_FHPS_RMS_Voltage_Max_Read": { + "Type": "float32" + }, + "GA_FHPS_RMS_Voltage_Min_Read": { + "Type": "float32" + }, + "GA_FHPS_AVG_Voltage_Max_Read": { + "Type": "float32" + }, + "GA_FHPS_AVG_Voltage_Min_Read": { + "Type": "float32" + }, + "GA_FHPS_Frequency_Max_Read": { + "Type": "float32" + }, + "GA_FHPS_Frequency_Min_Read": { + "Type": "float32" + }, + "GA_FHPS_Amplitude_Max_Delta_Read": { + "Type": "float32" + }, + "GA_MCPS_Current_Read": { + "Type": "float32" + }, + "GA_MCPS_Sweep_Rate_Read": { + "Type": "float32" + }, + "GA_MCPS_Amplitude_Max_Delta_Read": { + "Type": "float32" + }, + "GA_GCPS_Current_Read": { + "Type": "float32" + }, + "GA_GCPS_Sweep_Rate_Read": { + "Type": "float32" + }, + "GA_GCPS_Amplitude_Max_Delta_Read": { + "Type": "float32" + }, + "GB_CCPS_Amplitude_Read": { + "Type": "float32" + }, + "GB_CCPS_Amplitude_Max_Delta_Read": { + "Type": "float32" + }, + "GB_CCPS_Frequency_Read": { + "Type": "float32" + }, + "GB_CCPS_Current_Protection_Read": { + "Type": "float32" + }, + "GB_CCPS_Curr_Prot_Det_Time_Read": { + "Type": "float32" + }, + "GB_CCPS_Voltage_Max_Read": { + "Type": "float32" + }, + "GB_CCPS_Voltage_Min_Read": { + "Type": "float32" + }, + "GB_FHPS_AC_Voltage_Read": { + "Type": "float32" + }, + "GB_FHPS_DC_Voltage_Read": { + "Type": "float32" + }, + "GB_FHPS_Frequency_Read": { + "Type": "float32" + }, + "GB_FHPS_AC_Current_Max_Read": { + "Type": "float32" + }, + "GB_FHPS_DC_Current_Max_Read": { + "Type": "float32" + }, + "GB_FHPS_Current_Trip_Delay_Read": { + "Type": "float32" + }, + "GB_FHPS_Intern_Prot_Delay_Read": { + "Type": "float32" + }, + "GB_FHPS_Current_Peak_Max_Read": { + "Type": "float32" + }, + "GB_FHPS_Current_Peak_Min_Read": { + "Type": "float32" + }, + "GB_FHPS_AC_Voltage_Max_Read": { + "Type": "float32" + }, + "GB_FHPS_AC_Voltage_Min_Read": { + "Type": "float32" + }, + "GB_FHPS_DC_Voltage_Max_Read": { + "Type": "float32" + }, + "GB_FHPS_DC_Voltage_Min_Read": { + "Type": "float32" + }, + "GB_FHPS_RMS_Voltage_Max_Read": { + "Type": "float32" + }, + "GB_FHPS_RMS_Voltage_Min_Read": { + "Type": "float32" + }, + "GB_FHPS_AVG_Voltage_Max_Read": { + "Type": "float32" + }, + "GB_FHPS_AVG_Voltage_Min_Read": { + "Type": "float32" + }, + "GB_FHPS_Frequency_Max_Read": { + "Type": "float32" + }, + "GB_FHPS_Frequency_Min_Read": { + "Type": "float32" + }, + "GB_FHPS_Amplitude_Max_Delta_Read": { + "Type": "float32" + }, + "GB_MCPS_Current_Read": { + "Type": "float32" + }, + "GB_MCPS_Sweep_Rate_Read": { + "Type": "float32" + }, + "GB_MCPS_Amplitude_Max_Delta_Read": { + "Type": "float32" + }, + "GB_GCPS_Current_Read": { + "Type": "float32" + }, + "GB_GCPS_Sweep_Rate_Read": { + "Type": "float32" + }, + "GB_GCPS_Amplitude_Max_Delta_Read": { + "Type": "float32" + }, + "GA_BPS_Voltage_SP_Read": { + "Type": "float32" + }, + "GA_APS_Voltage_SP_Read": { + "Type": "float32" + }, + "GB_BPS_Voltage_SP_Read": { + "Type": "float32" + }, + "GB_APS_Voltage_SP_Read": { + "Type": "float32" + }, + "ACK_GCOM_FCT_ABORT_CMD": { + "Type": "uint8" + }, + "ACK_GCOM_FCT_LOAD_CMD": { + "Type": "uint8" + }, + "ACK_GCOM_FCT_STBY_WAITTRIG_ONLINE": { + "Type": "uint8" + }, + "ACK_GCOM_FCT_START_STOP_POWER_CMD": { + "Type": "uint8" + }, + "ACK_GCOM_FCT_PAUSE_POWER_CMD": { + "Type": "uint8" + }, + "ACK_GCOM_FCT_SUSPEND_RESUME_CMD": { + "Type": "uint8" + }, + "ACK_GCOM_FCT_SEGREGATION_CMD": { + "Type": "uint8" + }, + "ACK_GCOM_FCT_RESET_ALARM_CMD": { + "Type": "uint8" + }, + "ACK_GA_CCPS_OPERATION_CMD": { + "Type": "uint8" + }, + "ACK_GA_CCPS_CONFIG_SEQ_CMD": { + "Type": "uint8" + }, + "ACK_GA_FHPS_RAMP_CMD": { + "Type": "uint8" + }, + "ACK_GA_FHPS_CONFIG_SEQ_CMD": { + "Type": "uint8" + }, + "ACK_GA_MCPS_RAMP_CMD": { + "Type": "uint8" + }, + "ACK_GA_MCPS_CONFIG_CMD": { + "Type": "uint8" + }, + "ACK_GA_MCPS_HOLD_CMD": { + "Type": "uint8" + }, + "ACK_GA_GCPS_RAMP_CMD": { + "Type": "uint8" + }, + "ACK_GA_GCPS_CONFIG_CMD": { + "Type": "uint8" + }, + "ACK_GA_GCPS_HOLD_CMD": { + "Type": "uint8" + }, + "ACK_GB_CCPS_OPERATION_CMD": { + "Type": "uint8" + }, + "ACK_GB_CCPS_CONFIG_SEQ_CMD": { + "Type": "uint8" + }, + "ACK_GB_FHPS_RAMP_CMD": { + "Type": "uint8" + }, + "ACK_GB_FHPS_CONFIG_SEQ_CMD": { + "Type": "uint8" + }, + "ACK_GB_MCPS_RAMP_CMD": { + "Type": "uint8" + }, + "ACK_GB_MCPS_CONFIG_CMD": { + "Type": "uint8" + }, + "ACK_GB_MCPS_HOLD_CMD": { + "Type": "uint8" + }, + "ACK_GB_GCPS_RAMP_CMD": { + "Type": "uint8" + }, + "ACK_GB_GCPS_CONFIG_CMD": { + "Type": "uint8" + }, + "ACK_GB_GCPS_HOLD_CMD": { + "Type": "uint8" + }, + "GCOM_FCT_FC_OP_STATE": { + "Type": "uint8" + }, + "GCOM_FCT_FC_RT_STATE": { + "Type": "uint8" + }, + "GCOM_FCT_FC_SEG_STATE": { + "Type": "uint8" + }, + "GCOM_FCT_FC_LOAD_CFG_DONE": { + "Type": "uint8" + }, + "GA_CCPS_IN_OPERATION": { + "Type": "uint8" + }, + "GA_CCPS_CONFIG_SEQ_STAT": { + "Type": "uint8" + }, + "GA_CCPS_STAT_UPDATED": { + "Type": "uint8" + }, + "GA_FHPS_RAMP_DONE": { + "Type": "uint8" + }, + "GA_FHPS_CONFIG_SEQ_STAT": { + "Type": "uint8" + }, + "GA_FHPS_STAT_UPDATED": { + "Type": "uint8" + }, + "GA_MCPS_RAMP_DONE": { + "Type": "uint8" + }, + "GA_MCPS_CONFIG_STAT": { + "Type": "uint8" + }, + "GA_MCPS_STAT_UPDATED": { + "Type": "uint8" + }, + "GA_MCPS_ERROR_STAT": { + "Type": "uint8" + }, + "GA_MCPS_STAT": { + "Type": "uint8" + }, + "GA_GCPS_RAMP_DONE": { + "Type": "uint8" + }, + "GA_GCPS_CONFIG_STAT": { + "Type": "uint8" + }, + "GA_GCPS_STAT_UPDATED": { + "Type": "uint8" + }, + "GA_GCPS_ERROR_STAT": { + "Type": "uint8" + }, + "GA_GCPS_STAT": { + "Type": "uint8" + }, + "GB_CCPS_IN_OPERATION": { + "Type": "uint8" + }, + "GB_CCPS_CONFIG_SEQ_STAT": { + "Type": "uint8" + }, + "GB_CCPS_STAT_UPDATED": { + "Type": "uint8" + }, + "GB_FHPS_RAMP_DONE": { + "Type": "uint8" + }, + "GB_FHPS_CONFIG_SEQ_STAT": { + "Type": "uint8" + }, + "GB_FHPS_STAT_UPDATED": { + "Type": "uint8" + }, + "GB_MCPS_RAMP_DONE": { + "Type": "uint8" + }, + "GB_MCPS_CONFIG_STAT": { + "Type": "uint8" + }, + "GB_MCPS_STAT_UPDATED": { + "Type": "uint8" + }, + "GB_MCPS_ERROR_STAT": { + "Type": "uint8" + }, + "GB_MCPS_STAT": { + "Type": "uint8" + }, + "GB_GCPS_RAMP_DONE": { + "Type": "uint8" + }, + "GB_GCPS_CONFIG_STAT": { + "Type": "uint8" + }, + "GB_GCPS_STAT_UPDATED": { + "Type": "uint8" + }, + "GB_GCPS_ERROR_STAT": { + "Type": "uint8" + }, + "GB_GCPS_STAT": { + "Type": "uint8" + }, + "GA_CCPS_Current_Auto_Prot_Read": { + "Type": "uint8" + }, + "GA_CCPS_Voltage_Auto_Prot_Read": { + "Type": "uint8" + }, + "GA_FHPS_Voltage_Range_Read": { + "Type": "uint8" + }, + "GA_FHPS_Current_Prot_Mode_Read": { + "Type": "uint8" + }, + "GB_CCPS_Current_Auto_Prot_Read": { + "Type": "uint8" + }, + "GB_CCPS_Voltage_Auto_Prot_Read": { + "Type": "uint8" + }, + "GB_FHPS_Voltage_Range_Read": { + "Type": "uint8" + }, + "GB_FHPS_Current_Prot_Mode_Read": { + "Type": "uint8" + }, + "GCOM_FCT_CFG_MISMATCH": { + "Type": "uint8" + }, + "ByteGroup0": { + "Type": "uint8" + }, + "ByteGroup1": { + "Type": "uint8" + }, + "ByteGroup2": { + "Type": "uint8" + }, + "ByteGroup3": { + "Type": "uint8" + } + } + }, + "+PLCSDNSub": { + "Class": "SDN::SDNSubscriber", + "Locked": 1, + "Signals": { + "Header": { + "Type": "uint8", + "NumberOfElements": 48 + }, + "N_Reals": { + "Type": "uint8" + }, + "N_Integer": { + "Type": "uint8" + }, + "N_Cmds": { + "Type": "uint8" + }, + "N_States": { + "Type": "uint8" + }, + "N_Alarms": { + "Type": "uint8" + }, + "Spare_Bytes": { + "Type": "uint8", + "NumberOfElements": 3 + }, + "GA_CCPS_Amplitude": { + "Type": "float32" + }, + "GA_CCPS_Amplitude_Max_Delta": { + "Type": "float32" + }, + "GA_CCPS_Frequency": { + "Type": "float32" + }, + "GA_CCPS_Current_Protection": { + "Type": "float32" + }, + "GA_CCPS_Curr_Prot_Det_Time": { + "Type": "float32" + }, + "GA_CCPS_Voltage_Max": { + "Type": "float32" + }, + "GA_CCPS_Voltage_Min": { + "Type": "float32" + }, + "GA_FHPS_AC_Voltage": { + "Type": "float32" + }, + "GA_FHPS_DC_Voltage": { + "Type": "float32" + }, + "GA_FHPS_Frequency": { + "Type": "float32" + }, + "GA_FHPS_AC_Current_Max": { + "Type": "float32" + }, + "GA_FHPS_DC_Current_Max": { + "Type": "float32" + }, + "GA_FHPS_Current_Trip_Delay": { + "Type": "float32" + }, + "GA_FHPS_Intern_Prot_Delay": { + "Type": "float32" + }, + "GA_FHPS_Current_Peak_Max": { + "Type": "float32" + }, + "GA_FHPS_Current_Peak_Min": { + "Type": "float32" + }, + "GA_FHPS_AC_Voltage_Max": { + "Type": "float32" + }, + "GA_FHPS_AC_Voltage_Min": { + "Type": "float32" + }, + "GA_FHPS_DC_Voltage_Max": { + "Type": "float32" + }, + "GA_FHPS_DC_Voltage_Min": { + "Type": "float32" + }, + "GA_FHPS_RMS_Voltage_Max": { + "Type": "float32" + }, + "GA_FHPS_RMS_Voltage_Min": { + "Type": "float32" + }, + "GA_FHPS_AVG_Voltage_Max": { + "Type": "float32" + }, + "GA_FHPS_AVG_Voltage_Min": { + "Type": "float32" + }, + "GA_FHPS_Frequency_Max": { + "Type": "float32" + }, + "GA_FHPS_Frequency_Min": { + "Type": "float32" + }, + "GA_FHPS_Amplitude_Max_Delta": { + "Type": "float32" + }, + "GA_MCPS_Current": { + "Type": "float32" + }, + "GA_MCPS_Sweep_Rate": { + "Type": "float32" + }, + "GA_MCPS_Amplitude_Max_Delta": { + "Type": "float32" + }, + "GA_GCPS_Current": { + "Type": "float32" + }, + "GA_GCPS_Sweep_Rate": { + "Type": "float32" + }, + "GA_GCPS_Amplitude_Max_Delta": { + "Type": "float32" + }, + "GB_CCPS_Amplitude": { + "Type": "float32" + }, + "GB_CCPS_Amplitude_Max_Delta": { + "Type": "float32" + }, + "GB_CCPS_Frequency": { + "Type": "float32" + }, + "GB_CCPS_Current_Protection": { + "Type": "float32" + }, + "GB_CCPS_Curr_Prot_Det_Time": { + "Type": "float32" + }, + "GB_CCPS_Voltage_Max": { + "Type": "float32" + }, + "GB_CCPS_Voltage_Min": { + "Type": "float32" + }, + "GB_FHPS_AC_Voltage": { + "Type": "float32" + }, + "GB_FHPS_DC_Voltage": { + "Type": "float32" + }, + "GB_FHPS_Frequency": { + "Type": "float32" + }, + "GB_FHPS_AC_Current_Max": { + "Type": "float32" + }, + "GB_FHPS_DC_Current_Max": { + "Type": "float32" + }, + "GB_FHPS_Current_Trip_Delay": { + "Type": "float32" + }, + "GB_FHPS_Intern_Prot_Delay": { + "Type": "float32" + }, + "GB_FHPS_Current_Peak_Max": { + "Type": "float32" + }, + "GB_FHPS_Current_Peak_Min": { + "Type": "float32" + }, + "GB_FHPS_AC_Voltage_Max": { + "Type": "float32" + }, + "GB_FHPS_AC_Voltage_Min": { + "Type": "float32" + }, + "GB_FHPS_DC_Voltage_Max": { + "Type": "float32" + }, + "GB_FHPS_DC_Voltage_Min": { + "Type": "float32" + }, + "GB_FHPS_RMS_Voltage_Max": { + "Type": "float32" + }, + "GB_FHPS_RMS_Voltage_Min": { + "Type": "float32" + }, + "GB_FHPS_AVG_Voltage_Max": { + "Type": "float32" + }, + "GB_FHPS_AVG_Voltage_Min": { + "Type": "float32" + }, + "GB_FHPS_Frequency_Max": { + "Type": "float32" + }, + "GB_FHPS_Frequency_Min": { + "Type": "float32" + }, + "GB_FHPS_Amplitude_Max_Delta": { + "Type": "float32" + }, + "GB_MCPS_Current": { + "Type": "float32" + }, + "GB_MCPS_Sweep_Rate": { + "Type": "float32" + }, + "GB_MCPS_Amplitude_Max_Delta": { + "Type": "float32" + }, + "GB_GCPS_Current": { + "Type": "float32" + }, + "GB_GCPS_Sweep_Rate": { + "Type": "float32" + }, + "GB_GCPS_Amplitude_Max_Delta": { + "Type": "float32" + }, + "GA_BPS_Voltage_SP": { + "Type": "float32" + }, + "GA_APS_Voltage_SP": { + "Type": "float32" + }, + "GB_BPS_Voltage_SP": { + "Type": "float32" + }, + "GB_APS_Voltage_SP": { + "Type": "float32" + }, + "GCOM_HVPS_Voltage_SP": { + "Type": "float32" + }, + "GCOM_HVPS_Pulse_Length": { + "Type": "float32" + }, + "GCOM_HVPS_PLC7001_PSKT_min": { + "Type": "int16" + }, + "GCOM_HVPS_PLC7001_PSKT_sec": { + "Type": "int16" + }, + "GCOM_HVPS_PLC7001_PSKT_ms": { + "Type": "int16" + }, + "GCOM_FCT_ABORT_CMD": { + "Type": "uint8" + }, + "GCOM_FCT_LOAD_CMD": { + "Type": "uint8" + }, + "GCOM_FCT_STBY_WAITTRIG_ONLINE": { + "Type": "uint8" + }, + "GCOM_FCT_START_STOP_POWER_CMD": { + "Type": "uint8" + }, + "GCOM_FCT_PAUSE_POWER_CMD": { + "Type": "uint8" + }, + "GCOM_FCT_SUSPEND_RESUME_CMD": { + "Type": "uint8" + }, + "GCOM_FCT_SEGREGATION_CMD": { + "Type": "uint8" + }, + "GCOM_FCT_RESET_ALARM_CMD": { + "Type": "uint8" + }, + "GA_CCPS_OPERATION_CMD": { + "Type": "uint8" + }, + "GA_CCPS_CONFIG_SEQ_CMD": { + "Type": "uint8" + }, + "GA_FHPS_RAMP_CMD": { + "Type": "uint8" + }, + "GA_FHPS_CONFIG_SEQ_CMD": { + "Type": "uint8" + }, + "GA_MCPS_RAMP_CMD": { + "Type": "uint8" + }, + "GA_MCPS_CONFIG_CMD": { + "Type": "uint8" + }, + "GA_MCPS_HOLD_CMD": { + "Type": "uint8" + }, + "GA_GCPS_RAMP_CMD": { + "Type": "uint8" + }, + "GA_GCPS_CONFIG_CMD": { + "Type": "uint8" + }, + "GA_GCPS_HOLD_CMD": { + "Type": "uint8" + }, + "GB_CCPS_OPERATION_CMD": { + "Type": "uint8" + }, + "GB_CCPS_CONFIG_SEQ_CMD": { + "Type": "uint8" + }, + "GB_FHPS_RAMP_CMD": { + "Type": "uint8" + }, + "GB_FHPS_CONFIG_SEQ_CMD": { + "Type": "uint8" + }, + "GB_MCPS_RAMP_CMD": { + "Type": "uint8" + }, + "GB_MCPS_CONFIG_CMD": { + "Type": "uint8" + }, + "GB_MCPS_HOLD_CMD": { + "Type": "uint8" + }, + "GB_GCPS_RAMP_CMD": { + "Type": "uint8" + }, + "GB_GCPS_CONFIG_CMD": { + "Type": "uint8" + }, + "GB_GCPS_HOLD_CMD": { + "Type": "uint8" + }, + "GCOM_SM_SM_OP_STATE": { + "Type": "uint8" + }, + "GCOM_SM_SM_EXEC_STATE": { + "Type": "uint8" + }, + "GCOM_SM_SM_SEG_STATE": { + "Type": "uint8" + }, + "GA_CCPS_AUTO_MAN_STATE": { + "Type": "uint8" + }, + "GA_CCPS_SYNC_ASYNC_STATE": { + "Type": "uint8" + }, + "GA_CCPS_Current_Auto_Prot": { + "Type": "uint8" + }, + "GA_CCPS_Voltage_Auto_Prot": { + "Type": "uint8" + }, + "GA_FHPS_AUTO_MAN_STATE": { + "Type": "uint8" + }, + "GA_FHPS_SYNC_ASYNC_STATE": { + "Type": "uint8" + }, + "GA_FHPS_Voltage_Range": { + "Type": "uint8" + }, + "GA_FHPS_Current_Prot_Mode": { + "Type": "uint8" + }, + "GA_MCPS_AUTO_MAN_STATE": { + "Type": "uint8" + }, + "GA_MCPS_SYNC_ASYNC_STATE": { + "Type": "uint8" + }, + "GA_GCPS_AUTO_MAN_STATE": { + "Type": "uint8" + }, + "GA_GCPS_SYNC_ASYNC_STATE": { + "Type": "uint8" + }, + "GB_CCPS_AUTO_MAN_STATE": { + "Type": "uint8" + }, + "GB_CCPS_SYNC_ASYNC_STATE": { + "Type": "uint8" + }, + "GB_CCPS_Current_Auto_Prot": { + "Type": "uint8" + }, + "GB_CCPS_Voltage_Auto_Prot": { + "Type": "uint8" + }, + "GB_FHPS_AUTO_MAN_STATE": { + "Type": "uint8" + }, + "GB_FHPS_SYNC_ASYNC_STATE": { + "Type": "uint8" + }, + "GB_FHPS_Voltage_Range": { + "Type": "uint8" + }, + "GB_FHPS_Current_Prot_Mode": { + "Type": "uint8" + }, + "GB_MCPS_AUTO_MAN_STATE": { + "Type": "uint8" + }, + "GB_MCPS_SYNC_ASYNC_STATE": { + "Type": "uint8" + }, + "GB_GCPS_AUTO_MAN_STATE": { + "Type": "uint8" + }, + "GB_GCPS_SYNC_ASYNC_STATE": { + "Type": "uint8" + }, + "GCOM_GY_SEL": { + "Type": "uint8" + }, + "GCOM_OP_MODE": { + "Type": "uint8" + }, + "ByteGroup0": { + "Type": "uint8" + }, + "ByteGroup1": { + "Type": "uint8" + }, + "ByteGroup2": { + "Type": "uint8" + } + }, + "ExecutionMode": "RealTimeThread", + "Topic": "Ignored", + "Interface": "enp11s0f0", + "Address": "10.130.1.36:2000", + "InternalTimeout": 100000000, + "IgnoreTimeoutError": 1 + }, + "+AWFDB": { + "Class": "RealTimeThreadAsyncBridge", + "NumberOfBuffers": 20, + "BlockingMode": 0, + "CPUMask": 9, + "Locked": 1, + "Signals": { + "CCPS_A_Frequency": { + "Type": "float32" + }, + "CCPS_A_Amplitude": { + "Type": "float32" + }, + "CCPS_B_Frequency": { + "Type": "float32" + }, + "CCPS_B_Amplitude": { + "Type": "float32" + } + } + }, + "+WFDB": { + "Class": "GAMDataSource", + "Locked": 1, + "Signals": { + "cpsA_wf_vals": { + "Type": "float32", + "NumberOfElements": 3, + "NumberOfDimensions": 1 + }, + "cpsB_wf_vals": { + "Type": "float32", + "NumberOfElements": 3, + "NumberOfDimensions": 1 + }, + "hpsA_wf_vals": { + "Type": "float32", + "NumberOfElements": 4, + "NumberOfDimensions": 1 + }, + "hpsB_wf_vals": { + "Type": "float32", + "NumberOfElements": 4, + "NumberOfDimensions": 1 + }, + "cpsA_wf_times": { + "Type": "uint32", + "NumberOfElements": 3, + "NumberOfDimensions": 1 + }, + "cpsB_wf_times": { + "Type": "uint32", + "NumberOfElements": 3, + "NumberOfDimensions": 1 + }, + "hpsA_wf_times": { + "Type": "uint32", + "NumberOfElements": 4, + "NumberOfDimensions": 1 + }, + "hpsB_wf_times": { + "Type": "uint32", + "NumberOfElements": 4, + "NumberOfDimensions": 1 + }, + "apsA_Sw": { + "Type": "uint8" + }, + "apsB_Sw": { + "Type": "uint8" + }, + "cpsA_On": { + "Type": "uint8" + }, + "cpsB_On": { + "Type": "uint8" + }, + "hpsA_On": { + "Type": "uint8" + }, + "hpsB_On": { + "Type": "uint8" + } + } + }, + "+UDPPub": { + "Class": "UDP::UDPSender", + "Address": "10.130.1.95", + "Port": 49231, + "ExecutionMode": "RealTimeThread", + "Locked": 1, + "Signals": { + "time": { + "Type": "uint32" + }, + "APS_A": { + "Type": "uint8" + }, + "APS_B": { + "Type": "uint8" + }, + "BPS_A": { + "Type": "uint8" + }, + "BPS_B": { + "Type": "uint8" + }, + "MHVPS": { + "Type": "uint8" + }, + "cpsA_ref": { + "Type": "float32" + }, + "cpsB_ref": { + "Type": "float32" + }, + "hpsA_ref": { + "Type": "float32" + }, + "hpsB_ref": { + "Type": "float32" + } + } + }, + "+WFTimer": { + "Class": "LinuxTimer", + "SleepNature": "Busy", + "CPUMask": 8, + "Locked": 1, + "Signals": { + "Counter": { + "Type": "uint32" + }, + "Time": { + "Type": "uint32" + } + } + }, + "+DDB1": { + "Class": "GAMDataSource", + "AllowNoProducers": 1, + "Locked": 1, + "Signals": { + "UnusedDI": { + "NumberOfDimension": 1, + "Type": "uint8", + "NumberOfElements": 20 + }, + "UnusedDO": { + "NumberOfDimension": 1, + "Type": "uint8", + "NumberOfElements": 22 + }, + "APS_A_HvOn": { + "Type": "uint8" + }, + "BPS_A_HvOn": { + "Type": "uint8" + }, + "APS_B_HvOn": { + "Type": "uint8" + }, + "BPS_B_HvOn": { + "Type": "uint8" + }, + "APS_A_Ready": { + "Type": "uint8" + }, + "APS_A_Fault": { + "Type": "uint8" + }, + "BPS_A_Ready": { + "Type": "uint8" + }, + "BPS_A_Fault": { + "Type": "uint8" + }, + "APS_B_Ready": { + "Type": "uint8" + }, + "APS_B_Fault": { + "Type": "uint8" + }, + "BPS_B_Ready": { + "Type": "uint8" + }, + "BPS_B_Fault": { + "Type": "uint8" + }, + "MHVPS_Ready": { + "Type": "uint8" + }, + "MHVPS_Fault": { + "Type": "uint8" + }, + "MHVPS_OV": { + "Type": "uint8" + }, + "MHVPS_OC": { + "Type": "uint8" + }, + "OSMState": { + "Type": "uint8" + }, + "RTSMState": { + "Type": "uint8" + }, + "RTSMSubState": { + "Type": "uint8" + }, + "SegState": { + "Type": "uint8" + }, + "DAQEnabled": { + "Type": "bool" + }, + "PendingGoToState": { + "Type": "uint32" + }, + "PendingTrip": { + "Type": "uint32" + }, + "PendingSuspend": { + "Type": "uint32" + }, + "PendingOnline": { + "Type": "uint32" + }, + "PendingTrig": { + "Type": "uint32" + }, + "PendingAlarm": { + "Type": "uint32" + }, + "PendingLoadMessages": { + "Type": "uint32" + }, + "PendingOnlineMessages": { + "Type": "uint32" + }, + "PendingSegChange": { + "Type": "uint32" + }, + "GA_CCPS_Config_Status": { + "Type": "uint8" + }, + "GA_CCPS_Config_Status_Updated": { + "Type": "uint8" + }, + "GA_CCPS_Operation_Status": { + "Type": "uint8" + }, + "GA_CCPS_Config_Pending": { + "Type": "uint32" + }, + "GA_CCPS_Operation_Pending": { + "Type": "uint32" + }, + "GB_CCPS_Config_Status": { + "Type": "uint8" + }, + "GB_CCPS_Config_Status_Updated": { + "Type": "uint8" + }, + "GB_CCPS_Operation_Status": { + "Type": "uint8" + }, + "GB_CCPS_Config_Pending": { + "Type": "uint32" + }, + "MHVPS_HvOn": { + "Type": "uint8" + }, + "Unused6Bit": { + "NumberOfDimension": 1, + "Type": "uint8", + "NumberOfElements": 6 + }, + "LOAD_DONE": { + "Type": "uint8" + }, + "GB_CCPS_Operation_Pending": { + "Type": "uint32" + } + } + }, + "+RTTimer": { + "Class": "LinuxTimer", + "SleepNature": "Busy", + "CPUMask": 2, + "Locked": 1, + "Signals": { + "Counter": { + "Type": "uint32" + }, + "Time": { + "Type": "uint32" + } + } + }, + "+ABDB": { + "Class": "RealTimeThreadAsyncBridge", + "NumberOfBuffers": 20, + "BlockingMode": 0, + "Locked": 1, + "Signals": { + "Mode": { + "Type": "uint8" + }, + "APS_A_Status": { + "Type": "uint8" + }, + "BPS_A_Status": { + "Type": "uint8" + }, + "APS_B_Status": { + "Type": "uint8" + }, + "BPS_B_Status": { + "Type": "uint8" + }, + "MHVPS_Status": { + "Type": "uint8" + }, + "Command": { + "Type": "uint8" + }, + "ECPCCommand": { + "Type": "uint8" + }, + "PLCState": { + "Type": "uint8" + }, + "PLCSubState": { + "Type": "uint8" + }, + "PulseLength": { + "Type": "uint32" + }, + "Acknowledge": { + "Type": "uint8" + }, + "APS_A_Switch": { + "Type": "uint8" + }, + "BPS_A_Switch": { + "Type": "uint8" + }, + "APS_B_Switch": { + "Type": "uint8" + }, + "BPS_B_Switch": { + "Type": "uint8" + }, + "MHVPS_Switch": { + "Type": "uint8" + }, + "RTState": { + "Type": "uint8" + }, + "RTSubState": { + "Type": "uint8" + }, + "ShotTime": { + "Type": "uint32" + }, + "PXI6528_IN": { + "Type": "uint32" + }, + "PXI6528_OUT": { + "Type": "uint32" + } + } + }, + "+ConfActualDB": { + "Class": "GAMDataSource", + "AllowNoProducers": 1, + "Locked": 1, + "Signals": { + "GA_CCPS_Amplitude": { + "Type": "float32" + }, + "GA_CCPS_Amplitude_Max_Delta": { + "Type": "float32" + }, + "GA_CCPS_Frequency": { + "Type": "float32" + }, + "GA_CCPS_Current_Protection": { + "Type": "float32" + }, + "GA_CCPS_Curr_Prot_Det_Time": { + "Type": "float32" + }, + "GA_CCPS_Voltage_Max": { + "Type": "float32" + }, + "GA_CCPS_Voltage_Min": { + "Type": "float32" + }, + "GA_FHPS_Amplitude_Max_Delta": { + "Type": "float32" + }, + "GA_FHPS_AC_Voltage": { + "Type": "float32" + }, + "GA_FHPS_DC_Voltage": { + "Type": "float32" + }, + "GA_FHPS_Frequency": { + "Type": "float32" + }, + "GA_FHPS_AC_Current_Max": { + "Type": "float32" + }, + "GA_FHPS_DC_Current_Max": { + "Type": "float32" + }, + "GA_FHPS_Current_Trip_Delay": { + "Type": "float32" + }, + "GA_FHPS_Intern_Prot_Delay": { + "Type": "float32" + }, + "GA_FHPS_Current_Peak_Max": { + "Type": "float32" + }, + "GA_FHPS_Current_Peak_Min": { + "Type": "float32" + }, + "GA_FHPS_AC_Voltage_Max": { + "Type": "float32" + }, + "GA_FHPS_AC_Voltage_Min": { + "Type": "float32" + }, + "GA_FHPS_DC_Voltage_Max": { + "Type": "float32" + }, + "GA_FHPS_DC_Voltage_Min": { + "Type": "float32" + }, + "GA_FHPS_RMS_Voltage_Max": { + "Type": "float32" + }, + "GA_FHPS_RMS_Voltage_Min": { + "Type": "float32" + }, + "GA_FHPS_AVG_Voltage_Max": { + "Type": "float32" + }, + "GA_FHPS_AVG_Voltage_Min": { + "Type": "float32" + }, + "GA_FHPS_Frequency_Max": { + "Type": "float32" + }, + "GA_FHPS_Frequency_Min": { + "Type": "float32" + }, + "GA_MCPS_Amplitude_Max_Delta": { + "Type": "float32" + }, + "GA_MCPS_Current": { + "Type": "float32" + }, + "GA_MCPS_Sweep_Rate": { + "Type": "float32" + }, + "GA_GCPS_Amplitude_Max_Delta": { + "Type": "float32" + }, + "GA_GCPS_Current": { + "Type": "float32" + }, + "GA_GCPS_Sweep_Rate": { + "Type": "float32" + }, + "GB_CCPS_Amplitude": { + "Type": "float32" + }, + "GB_CCPS_Amplitude_Max_Delta": { + "Type": "float32" + }, + "GB_CCPS_Frequency": { + "Type": "float32" + }, + "GB_CCPS_Current_Protection": { + "Type": "float32" + }, + "GB_CCPS_Curr_Prot_Det_Time": { + "Type": "float32" + }, + "GB_CCPS_Voltage_Max": { + "Type": "float32" + }, + "GB_CCPS_Voltage_Min": { + "Type": "float32" + }, + "GB_FHPS_Amplitude_Max_Delta": { + "Type": "float32" + }, + "GB_FHPS_AC_Voltage": { + "Type": "float32" + }, + "GB_FHPS_DC_Voltage": { + "Type": "float32" + }, + "GB_FHPS_Frequency": { + "Type": "float32" + }, + "GB_FHPS_AC_Current_Max": { + "Type": "float32" + }, + "GB_FHPS_DC_Current_Max": { + "Type": "float32" + }, + "GB_FHPS_Current_Trip_Delay": { + "Type": "float32" + }, + "GB_FHPS_Intern_Prot_Delay": { + "Type": "float32" + }, + "GB_FHPS_Current_Peak_Max": { + "Type": "float32" + }, + "GB_FHPS_Current_Peak_Min": { + "Type": "float32" + }, + "GB_FHPS_AC_Voltage_Max": { + "Type": "float32" + }, + "GB_FHPS_AC_Voltage_Min": { + "Type": "float32" + }, + "GB_FHPS_DC_Voltage_Max": { + "Type": "float32" + }, + "GB_FHPS_DC_Voltage_Min": { + "Type": "float32" + }, + "GB_FHPS_RMS_Voltage_Max": { + "Type": "float32" + }, + "GB_FHPS_RMS_Voltage_Min": { + "Type": "float32" + }, + "GB_FHPS_AVG_Voltage_Max": { + "Type": "float32" + }, + "GB_FHPS_AVG_Voltage_Min": { + "Type": "float32" + }, + "GB_FHPS_Frequency_Max": { + "Type": "float32" + }, + "GB_FHPS_Frequency_Min": { + "Type": "float32" + }, + "GB_MCPS_Amplitude_Max_Delta": { + "Type": "float32" + }, + "GB_MCPS_Current": { + "Type": "float32" + }, + "GB_MCPS_Sweep_Rate": { + "Type": "float32" + }, + "GB_GCPS_Amplitude_Max_Delta": { + "Type": "float32" + }, + "GB_GCPS_Current": { + "Type": "float32" + }, + "GB_GCPS_Sweep_Rate": { + "Type": "float32" + }, + "GA_BPS_Voltage_SP": { + "Type": "float32" + }, + "GA_APS_Voltage_SP": { + "Type": "float32" + }, + "GB_BPS_Voltage_SP": { + "Type": "float32" + }, + "GB_APS_Voltage_SP": { + "Type": "float32" + }, + "GCOM_HVPS_Voltage_SP": { + "Type": "float32" + }, + "GCOM_HVPS_Pulse_Length": { + "Type": "float32" + }, + "GA_CCPS_PSU2320_IREF_H": { + "Type": "int16" + }, + "GA_CCPS_PSU2320_IREF_L": { + "Type": "int16" + }, + "GB_CCPS_PSU2320_IREF_H": { + "Type": "int16" + }, + "GB_CCPS_PSU2320_IREF_L": { + "Type": "int16" + }, + "GCOM_HVPS_PLC7001_PSKT_min": { + "Type": "int16" + }, + "GCOM_HVPS_PLC7001_PSKT_sec": { + "Type": "int16" + }, + "GCOM_HVPS_PLC7001_PSKT_ms": { + "Type": "int16" + }, + "GA_CCPS_Current_Auto_Prot": { + "Type": "uint8" + }, + "GA_CCPS_Voltage_Auto_Prot": { + "Type": "uint8" + }, + "GB_CCPS_Current_Auto_Prot": { + "Type": "uint8" + }, + "GB_CCPS_Voltage_Auto_Prot": { + "Type": "uint8" + }, + "GA_FHPS_Voltage_Range": { + "Type": "uint8" + }, + "GA_FHPS_Current_Prot_Mode": { + "Type": "uint8" + }, + "GB_FHPS_Voltage_Range": { + "Type": "uint8" + }, + "GB_FHPS_Current_Prot_Mode": { + "Type": "uint8" + } + } + }, + "+Logger": { + "Class": "OnChangeLoggerDataSource", + "Locked": 1, + "Signals": { + "FC_OP_STATE": { + "Type": "uint8" + }, + "FC_RT_STATE": { + "Type": "uint8" + }, + "FC_RT_SUB_STATE": { + "Type": "uint8" + }, + "SEG_STATE": { + "Type": "uint8" + }, + "PLCState": { + "Type": "uint8" + }, + "PLCSubState": { + "Type": "uint8" + }, + "PLCSegCMD": { + "Type": "uint8" + }, + "PulseLength": { + "Type": "float32" + }, + "Uint32Length": { + "Type": "uint32" + }, + "Amplitude": { + "Type": "float32" + }, + "OPStateCommand": { + "Type": "uint8" + }, + "Command": { + "Type": "uint8" + }, + "Acknowledge": { + "Type": "uint8" + }, + "Abort": { + "Type": "uint8" + }, + "GA_CCPS_CONFIG_SEQ_CMD": { + "Type": "uint8" + }, + "GA_CCPS_CONFIG_SEQ_STAT": { + "Type": "uint8" + }, + "ShotTime": { + "Type": "uint32", + "Ignore": 1 + } + } + }, + "+ProtTimer": { + "Class": "LinuxTimer", + "SleepNature": "Busy", + "CPUMask": 4, + "Locked": 1, + "Signals": { + "Counter": { + "Type": "uint32" + }, + "Time": { + "Type": "uint32" + } + } + }, + "+ProtDB": { + "Class": "GAMDataSource", + "AllowNoProducers": 1, + "Locked": 1, + "Signals": { + "Time": { + "Type": "uint32" + }, + "CommState": { + "Type": "uint8" + }, + "PendingGoToState": { + "Type": "uint32" + } + } + }, + "DefaultDataSource": "DDB1", + "+GB_GCPS": { + "Class": "GAMDataSource", + "Locked": 1, + "Signals": { + "Current_Read": { + "Type": "float32" + }, + "Sweep_Rate_Read": { + "Type": "float32" + } + }, + "AllowNoProducers": 1 + }, + "+EpicsABDB": { + "Class": "RealTimeThreadAsyncBridge", + "NumberOfBuffers": 20, + "BlockingMode": 0, + "Locked": 1, + "Signals": { + "OSMState": { + "Type": "uint8" + }, + "RTState": { + "Type": "uint8" + }, + "RTSubState": { + "Type": "uint8" + }, + "SegState": { + "Type": "uint8" + }, + "Debug": { + "Type": "uint8" + } + } + }, + "+OnlineDB": { + "Class": "GAMDataSource", + "Locked": 1, + "Signals": { + "Time": { + "Type": "uint32" + }, + "Command": { + "Type": "uint8" + } + } + }, + "+PLCSDNPubBits": { + "Class": "GAMDataSource", + "AllowNoProducers": 1, + "Locked": 1, + "Signals": { + "GCOM_FCT_Fast_Controller_Alarm": { + "Type": "uint8" + }, + "Alarm_Rcv_Spare_1": { + "Type": "uint8" + }, + "Alarm_Rcv_Spare_2": { + "Type": "uint8" + }, + "Alarm_Rcv_Spare_3": { + "Type": "uint8" + }, + "Alarm_Rcv_Spare_4": { + "Type": "uint8" + }, + "Alarm_Rcv_Spare_5": { + "Type": "uint8" + }, + "Alarm_Rcv_Spare_6": { + "Type": "uint8" + }, + "Alarm_Rcv_Spare_7": { + "Type": "uint8" + }, + "GA_CCPS_Alarm": { + "Type": "uint8" + }, + "GA_CCPS_Current_Alarm": { + "Type": "uint8" + }, + "GA_FHPS_Alarm": { + "Type": "uint8" + }, + "GA_MCPS_Alarm": { + "Type": "uint8" + }, + "GA_GCPS_Alarm": { + "Type": "uint8" + }, + "Alarm_Rcv_Spare_13": { + "Type": "uint8" + }, + "Alarm_Rcv_Spare_14": { + "Type": "uint8" + }, + "Alarm_Rcv_Spare_15": { + "Type": "uint8" + }, + "GB_CCPS_Alarm": { + "Type": "uint8" + }, + "GB_CCPS_Current_Alarm": { + "Type": "uint8" + }, + "GB_FHPS_Alarm": { + "Type": "uint8" + }, + "GB_MCPS_Alarm": { + "Type": "uint8" + }, + "GB_GCPS_Alarm": { + "Type": "uint8" + }, + "Alarm_Rcv_Spare_21": { + "Type": "uint8" + }, + "Alarm_Rcv_Spare_22": { + "Type": "uint8" + }, + "Alarm_Rcv_Spare_23": { + "Type": "uint8" + }, + "GA_CCPS_YFLT_COM_A": { + "Type": "uint8" + }, + "GA_FHPS_YFLT_COM_A": { + "Type": "uint8" + }, + "GA_MCPS_YFLT_COM_A": { + "Type": "uint8" + }, + "GA_GCPS_YFLT_COM_A": { + "Type": "uint8" + }, + "GB_CCPS_YFLT_COM_A": { + "Type": "uint8" + }, + "GB_FHPS_YFLT_COM_A": { + "Type": "uint8" + }, + "GB_MCPS_YFLT_COM_A": { + "Type": "uint8" + }, + "GB_GCPS_YFLT_COM_A": { + "Type": "uint8" + } + } + }, + "+PLCSDNSubBits": { + "Class": "GAMDataSource", + "AllowNoProducers": 1, + "Locked": 1, + "Signals": { + "GCOM_FCT_Fast_Controller_Trip": { + "Type": "uint8" + }, + "Alarm_Send_Spare_1": { + "Type": "uint8" + }, + "Alarm_Send_Spare_2": { + "Type": "uint8" + }, + "Alarm_Send_Spare_3": { + "Type": "uint8" + }, + "Alarm_Send_Spare_4": { + "Type": "uint8" + }, + "Alarm_Send_Spare_5": { + "Type": "uint8" + }, + "Alarm_Send_Spare_6": { + "Type": "uint8" + }, + "Alarm_Send_Spare_7": { + "Type": "uint8" + }, + "GA_CCPS_Trip": { + "Type": "uint8" + }, + "GA_FHPS_Trip": { + "Type": "uint8" + }, + "GA_MCPS_Trip": { + "Type": "uint8" + }, + "GA_GCPS_Trip": { + "Type": "uint8" + }, + "Alarm_Send_Spare_12": { + "Type": "uint8" + }, + "Alarm_Send_Spare_13": { + "Type": "uint8" + }, + "Alarm_Send_Spare_14": { + "Type": "uint8" + }, + "Alarm_Send_Spare_15": { + "Type": "uint8" + }, + "GB_CCPS_Trip": { + "Type": "uint8" + }, + "GB_FHPS_Trip": { + "Type": "uint8" + }, + "GB_MCPS_Trip": { + "Type": "uint8" + }, + "GB_GCPS_Trip": { + "Type": "uint8" + }, + "Alarm_Send_Spare_20": { + "Type": "uint8" + }, + "Alarm_Send_Spare_21": { + "Type": "uint8" + }, + "Alarm_Send_Spare_22": { + "Type": "uint8" + }, + "Alarm_Send_Spare_23": { + "Type": "uint8" + } + } + }, + "+WFLogger": { + "Class": "LoggerDataSource", + "Locked": 1, + "Signals": { + "hpsA": { + "Type": "uint8" + }, + "hpsB": { + "Type": "uint8" + }, + "apsA": { + "Type": "uint8" + }, + "apsB": { + "Type": "uint8" + }, + "shotTime": { + "Type": "uint32" + } + } + }, + "+Timing": { + "Class": "TimingDataSource", + "Locked": 1 + }, + "+EpicsLogger": { + "Class": "EPICSCA::EPICSCAOutput", + "Locked": 1, + "NumberOfBuffers": 10, + "Signals": { + "PXI_Input": { + "Type": "uint32", + "PVName": "SIM:PXI_IN" + }, + "PXI_Output": { + "Type": "uint32", + "PVName": "SIM:PXI_OUT" + }, + "APS_A_Status": { + "Type": "uint8", + "PVName": "SIM:APS_A_STATUS" + }, + "BPS_A_Status": { + "Type": "uint8", + "PVName": "SIM:BPS_A_STATUS" + }, + "APS_B_Status": { + "Type": "uint8", + "PVName": "SIM:APS_B_STATUS" + }, + "BPS_B_Status": { + "Type": "uint8", + "PVName": "SIM:BPS_B_STATUS" + }, + "MHVPS_Status": { + "Type": "uint8", + "PVName": "SIM:MHVPS_STATUS" + } + } + }, + "+ProtectionAB": { + "Class": "RealTimeThreadAsyncBridge", + "NumberOfBuffers": 20, + "BlockingMode": 0, + "Locked": 1, + "Signals": { + "PLCSDNHeader": { + "Type": "uint8", + "NumberOfElements": 48 + }, + "ECPCPulse": { + "Type": "uint8" + } + } + } + }, + "+Functions": { + "+AuxSimPubGAM": { + "Class": "IOGAM", + "InputSignals": { + "GA_CCPS_Config_Status": { + "DataSource": "DDB1", + "Type": "uint8", + "Alias": "GA_CCPS_Config_Status" + }, + "GA_CCPS_Config_Status_Updated": { + "DataSource": "DDB1", + "Type": "uint8", + "Alias": "GA_CCPS_Config_Status_Updated" + }, + "GA_CCPS_Operation_Status": { + "DataSource": "DDB1", + "Type": "uint8", + "Alias": "GA_CCPS_Operation_Status" + }, + "GB_CCPS_Config_Status": { + "DataSource": "DDB1", + "Type": "uint8", + "Alias": "GB_CCPS_Config_Status" + }, + "GB_CCPS_Config_Status_Updated": { + "DataSource": "DDB1", + "Type": "uint8", + "Alias": "GB_CCPS_Config_Status_Updated" + }, + "GB_CCPS_Operation_Status": { + "DataSource": "DDB1", + "Type": "uint8", + "Alias": "GB_CCPS_Operation_Status" + } + }, + "OutputSignals": { + "GA_CCPS_CONFIG_SEQ_STAT": { + "DataSource": "PLCSDNPub", + "Type": "uint8", + "Alias": "GA_CCPS_CONFIG_SEQ_STAT" + }, + "GA_CCPS_STAT_UPDATED": { + "DataSource": "PLCSDNPub", + "Type": "uint8", + "Alias": "GA_CCPS_STAT_UPDATED" + }, + "GA_CCPS_IN_OPERATION": { + "DataSource": "PLCSDNPub", + "Type": "uint8", + "Alias": "GA_CCPS_IN_OPERATION" + }, + "GB_CCPS_CONFIG_SEQ_STAT": { + "DataSource": "PLCSDNPub", + "Type": "uint8", + "Alias": "GB_CCPS_CONFIG_SEQ_STAT" + }, + "GB_CCPS_STAT_UPDATED": { + "DataSource": "PLCSDNPub", + "Type": "uint8", + "Alias": "GB_CCPS_STAT_UPDATED" + }, + "GB_CCPS_IN_OPERATION": { + "DataSource": "PLCSDNPub", + "Type": "uint8", + "Alias": "GB_CCPS_IN_OPERATION" + } + } + }, + "+PXISimulationIOGAM": { + "Class": "IOGAM", + "InputSignals": { + "PXI6528_OUT": { + "DataSource": "ABDB", + "Type": "uint32", + "Alias": "PXI6528_OUT" + } + }, + "OutputSignals": { + "PXI_OUT": { + "DataSource": "EpicsCRIOSimOut", + "Type": "uint32", + "Alias": "PXI_OUT" + } + } + }, + "+ECPCIOGAM": { + "Class": "IOGAM", + "InputSignals": { + "Pulse": { + "DataSource": "ECPCSub", + "Type": "uint8", + "Alias": "Pulse" + }, + "Command": { + "DataSource": "ECPCSub", + "Type": "uint8", + "Alias": "Command" + }, + "PXISim": { + "DataSource": "ECPCSub", + "Type": "uint32", + "Alias": "PXIStatus" + } + }, + "OutputSignals": { + "Pulse": { + "DataSource": "ProtectionAB", + "Type": "uint8", + "Alias": "ECPCPulse" + }, + "Command": { + "DataSource": "ABDB", + "Type": "uint8", + "Alias": "ECPCCommand" + }, + "PXISim": { + "DataSource": "ABDB", + "Type": "uint32", + "Alias": "PXI6528_IN" + } + } + }, + "+EpicsTimerGAM": { + "Class": "IOGAM", + "InputSignals": { + "Time": { + "Frequency": 25, + "DataSource": "EpicsTimer", + "Type": "uint32", + "Alias": "Time" + } + }, + "OutputSignals": { + "Time": { + "DataSource": "EpicsDB", + "Type": "uint32", + "Alias": "Time" + } + } + }, + "+EpicsIOGAM": { + "Class": "IOGAM", + "InputSignals": { + "OSMState": { + "DataSource": "EpicsABDB", + "Type": "uint8", + "Alias": "OSMState" + }, + "RTState": { + "DataSource": "EpicsABDB", + "Type": "uint8", + "Alias": "RTState" + }, + "RTSubState": { + "DataSource": "EpicsABDB", + "Type": "uint8", + "Alias": "RTSubState" + }, + "SegState": { + "DataSource": "EpicsABDB", + "Type": "uint8", + "Alias": "SegState" + }, + "ShotTime": { + "DataSource": "EpicsDB", + "Type": "float32", + "Alias": "ShotTime" + } + }, + "OutputSignals": { + "OSMState": { + "DataSource": "EpicsOut", + "Type": "uint8", + "Alias": "OPState" + }, + "RTSMState": { + "DataSource": "EpicsOut", + "Type": "uint8", + "Alias": "RTState" + }, + "RTSubState": { + "DataSource": "EpicsOut", + "Type": "uint8", + "Alias": "RTSubState" + }, + "SegState": { + "DataSource": "EpicsOut", + "Type": "uint8", + "Alias": "SegState" + }, + "ShotTime": { + "DataSource": "EpicsOut", + "Type": "float32", + "Alias": "PulseTime" + } + } + }, + "+PXIRegisterReadGAM": { + "Class": "IOExt::ExtractBitGAM", + "InputSignals": { + "PXI6528_IN": { + "DataSource": "ABDB", + "Type": "uint32", + "Alias": "PXI6528_IN" + } + }, + "OutputSignals": { + "APS_A_Ready": { + "DataSource": "DDB1", + "Type": "uint8", + "Alias": "APS_A_Ready" + }, + "APS_A_Fault": { + "DataSource": "DDB1", + "Type": "uint8", + "Alias": "APS_A_Fault" + }, + "BPS_A_Ready": { + "DataSource": "DDB1", + "Type": "uint8", + "Alias": "BPS_A_Ready" + }, + "BPS_A_Fault": { + "DataSource": "DDB1", + "Type": "uint8", + "Alias": "BPS_A_Fault" + }, + "MHVPS_OV": { + "DataSource": "DDB1", + "Type": "uint8", + "Alias": "MHVPS_OV" + }, + "MHVPS_OC": { + "DataSource": "DDB1", + "Type": "uint8", + "Alias": "MHVPS_OC" + }, + "MHVPS_Fault": { + "DataSource": "DDB1", + "Type": "uint8", + "Alias": "MHVPS_Fault" + }, + "MHVPS_Ready": { + "DataSource": "DDB1", + "Type": "uint8", + "Alias": "MHVPS_Ready" + }, + "APS_B_Ready": { + "DataSource": "DDB1", + "Type": "uint8", + "Alias": "APS_B_Ready" + }, + "APS_B_Fault": { + "DataSource": "DDB1", + "Type": "uint8", + "Alias": "APS_B_Fault" + }, + "BPS_B_Ready": { + "DataSource": "DDB1", + "Type": "uint8", + "Alias": "BPS_B_Ready" + }, + "BPS_B_Fault": { + "DataSource": "DDB1", + "Type": "uint8", + "Alias": "BPS_B_Fault" + }, + "UnusedDI": { + "NumberOfElements": 20, + "DataSource": "DDB1", + "Type": "uint8", + "Alias": "UnusedDI" + } + } + }, + "+PXIRegisterWriteGAM": { + "Class": "IOExt::CompactBitGAM", + "InputSignals": { + "APS_A_HvOn": { + "DataSource": "DDB1", + "Type": "uint8", + "Alias": "APS_A_HvOn" + }, + "APS_A_Switch": { + "DataSource": "ABDB", + "Type": "uint8", + "Alias": "APS_A_Switch" + }, + "BPS_A_HvOn": { + "DataSource": "DDB1", + "Type": "uint8", + "Alias": "BPS_A_HvOn" + }, + "BPS_A_Switch": { + "DataSource": "ABDB", + "Type": "uint8", + "Alias": "BPS_A_Switch" + }, + "MHVPS_HvOn": { + "DataSource": "DDB1", + "Type": "uint8", + "Alias": "MHVPS_HvOn" + }, + "MHVPS_Switch": { + "DataSource": "ABDB", + "Type": "uint8", + "Alias": "MHVPS_Switch" + }, + "APS_B_HvOn": { + "DataSource": "DDB1", + "Type": "uint8", + "Alias": "APS_B_HvOn" + }, + "APS_B_Switch": { + "DataSource": "ABDB", + "Type": "uint8", + "Alias": "APS_B_Switch" + }, + "BPS_B_HvOn": { + "DataSource": "DDB1", + "Type": "uint8", + "Alias": "BPS_B_HvOn" + }, + "BPS_B_Switch": { + "DataSource": "ABDB", + "Type": "uint8", + "Alias": "BPS_B_Switch" + }, + "UnusedDO": { + "NumberOfElements": 22, + "DataSource": "DDB1", + "Type": "uint8", + "Alias": "UnusedDO" + } + }, + "OutputSignals": { + "PXI6528_OUT": { + "DataSource": "ABDB", + "Type": "uint32", + "Alias": "PXI6528_OUT" + } + } + }, + "+OnlineIOGAM": { + "Class": "IOGAM", + "InputSignals": { + "RTState": { + "DataSource": "ABDB", + "Type": "uint8", + "Alias": "RTState" + }, + "RTSubState": { + "DataSource": "ABDB", + "Type": "uint8", + "Alias": "RTSubState" + } + }, + "OutputSignals": { + "RTSMState": { + "DataSource": "DDB1", + "Type": "uint8", + "Alias": "RTSMState" + }, + "RTSMSubState": { + "DataSource": "DDB1", + "Type": "uint8", + "Alias": "RTSMSubState" + } + } + }, + "+TripToPLCGAM": { + "Class": "IOGAM", + "InputSignals": { + "FC_Alarm": { + "DataSource": "EpicsInput", + "Type": "uint8", + "Alias": "FC_Alarm" + } + }, + "OutputSignals": { + "GCOM_FCT_Fast_Controller_Alarm": { + "DataSource": "PLCSDNPubBits", + "Type": "uint8", + "Alias": "GCOM_FCT_Fast_Controller_Alarm" + } + } + }, + "+StatePublisherGAM": { + "Class": "IOGAM", + "InputSignals": { + "OSMState_0": { + "DataSource": "DDB1", + "Type": "uint8", + "Alias": "OSMState" + }, + "OSMState_1": { + "DataSource": "DDB1", + "Type": "uint8", + "Alias": "OSMState" + }, + "RTSMState_0": { + "DataSource": "DDB1", + "Type": "uint8", + "Alias": "RTSMState" + }, + "RTSMState_1": { + "DataSource": "DDB1", + "Type": "uint8", + "Alias": "RTSMState" + }, + "RTSMSubState": { + "DataSource": "DDB1", + "Type": "uint8", + "Alias": "RTSMSubState" + }, + "SegState_0": { + "DataSource": "DDB1", + "Type": "uint8", + "Alias": "SegState" + }, + "SegState_1": { + "DataSource": "DDB1", + "Type": "uint8", + "Alias": "SegState" + }, + "LOAD_DONE": { + "DataSource": "DDB1", + "Type": "uint8", + "Alias": "LOAD_DONE" + }, + "Counter": { + "NumberOfElements": 48, + "DataSource": "PLCSDNSub", + "Type": "uint8", + "Alias": "Header" + } + }, + "OutputSignals": { + "OSMState_0": { + "DataSource": "PLCSDNPub", + "Type": "uint8", + "Alias": "GCOM_FCT_FC_OP_STATE" + }, + "OSMState_1": { + "DataSource": "EpicsABDB", + "Type": "uint8", + "Alias": "OSMState" + }, + "RTSMState_0": { + "DataSource": "PLCSDNPub", + "Type": "uint8", + "Alias": "GCOM_FCT_FC_RT_STATE" + }, + "RTSMState_1": { + "DataSource": "EpicsABDB", + "Type": "uint8", + "Alias": "RTState" + }, + "RTSMSubState": { + "DataSource": "EpicsABDB", + "Type": "uint8", + "Alias": "RTSubState" + }, + "SegState_0": { + "Trigger": 1, + "DataSource": "PLCSDNPub", + "Type": "uint8", + "Alias": "GCOM_FCT_FC_SEG_STATE" + }, + "SegState_1": { + "DataSource": "EpicsABDB", + "Type": "uint8", + "Alias": "SegState" + }, + "GCOM_FCT_FC_LOAD_CFG_DONE": { + "DataSource": "PLCSDNPub", + "Type": "uint8", + "Alias": "GCOM_FCT_FC_LOAD_CFG_DONE" + }, + "PLCSDNState": { + "NumberOfElements": 48, + "DataSource": "ProtectionAB", + "Type": "uint8", + "Alias": "PLCSDNHeader" + } + } + }, + "+LoadStateGAM": { + "Class": "ConstantGAM", + "OutputSignals": { + "LOAD_DONE": { + "Default": 0, + "DataSource": "DDB1", + "Type": "uint8", + "Alias": "LOAD_DONE" + } + } + }, + "+LoadCopyGAM": { + "Class": "TriggeredIOGAM", + "InputSignals": { + "Trigger": { + "Type": "uint8", + "DataSource": "DDB1", + "Alias": "LOAD_DONE" + }, + "GA_CCPS_Amplitude": { + "DataSource": "PLCSDNSub", + "Type": "float32" + }, + "GA_CCPS_Amplitude_Max_Delta": { + "DataSource": "PLCSDNSub", + "Type": "float32" + }, + "GA_CCPS_Frequency": { + "DataSource": "PLCSDNSub", + "Type": "float32" + }, + "GA_CCPS_Current_Protection": { + "DataSource": "PLCSDNSub", + "Type": "float32" + }, + "GA_CCPS_Curr_Prot_Det_Time": { + "DataSource": "PLCSDNSub", + "Type": "float32" + }, + "GA_CCPS_Voltage_Max": { + "DataSource": "PLCSDNSub", + "Type": "float32" + }, + "GA_CCPS_Voltage_Min": { + "DataSource": "PLCSDNSub", + "Type": "float32" + }, + "GA_FHPS_Amplitude_Max_Delta": { + "DataSource": "PLCSDNSub", + "Type": "float32" + }, + "GA_FHPS_AC_Voltage": { + "DataSource": "PLCSDNSub", + "Type": "float32" + }, + "GA_FHPS_DC_Voltage": { + "DataSource": "PLCSDNSub", + "Type": "float32" + }, + "GA_FHPS_Frequency": { + "DataSource": "PLCSDNSub", + "Type": "float32" + }, + "GA_FHPS_AC_Current_Max": { + "DataSource": "PLCSDNSub", + "Type": "float32" + }, + "GA_FHPS_DC_Current_Max": { + "DataSource": "PLCSDNSub", + "Type": "float32" + }, + "GA_FHPS_Current_Trip_Delay": { + "DataSource": "PLCSDNSub", + "Type": "float32" + }, + "GA_FHPS_Intern_Prot_Delay": { + "DataSource": "PLCSDNSub", + "Type": "float32" + }, + "GA_FHPS_Current_Peak_Max": { + "DataSource": "PLCSDNSub", + "Type": "float32" + }, + "GA_FHPS_Current_Peak_Min": { + "DataSource": "PLCSDNSub", + "Type": "float32" + }, + "GA_FHPS_AC_Voltage_Max": { + "DataSource": "PLCSDNSub", + "Type": "float32" + }, + "GA_FHPS_AC_Voltage_Min": { + "DataSource": "PLCSDNSub", + "Type": "float32" + }, + "GA_FHPS_DC_Voltage_Max": { + "DataSource": "PLCSDNSub", + "Type": "float32" + }, + "GA_FHPS_DC_Voltage_Min": { + "DataSource": "PLCSDNSub", + "Type": "float32" + }, + "GA_FHPS_RMS_Voltage_Max": { + "DataSource": "PLCSDNSub", + "Type": "float32" + }, + "GA_FHPS_RMS_Voltage_Min": { + "DataSource": "PLCSDNSub", + "Type": "float32" + }, + "GA_FHPS_AVG_Voltage_Max": { + "DataSource": "PLCSDNSub", + "Type": "float32" + }, + "GA_FHPS_AVG_Voltage_Min": { + "DataSource": "PLCSDNSub", + "Type": "float32" + }, + "GA_FHPS_Frequency_Max": { + "DataSource": "PLCSDNSub", + "Type": "float32" + }, + "GA_FHPS_Frequency_Min": { + "DataSource": "PLCSDNSub", + "Type": "float32" + }, + "GA_MCPS_Amplitude_Max_Delta": { + "DataSource": "PLCSDNSub", + "Type": "float32" + }, + "GA_MCPS_Current": { + "DataSource": "PLCSDNSub", + "Type": "float32" + }, + "GA_MCPS_Sweep_Rate": { + "DataSource": "PLCSDNSub", + "Type": "float32" + }, + "GA_GCPS_Amplitude_Max_Delta": { + "DataSource": "PLCSDNSub", + "Type": "float32" + }, + "GA_GCPS_Current": { + "DataSource": "PLCSDNSub", + "Type": "float32" + }, + "GA_GCPS_Sweep_Rate": { + "DataSource": "PLCSDNSub", + "Type": "float32" + }, + "GB_CCPS_Amplitude": { + "DataSource": "PLCSDNSub", + "Type": "float32" + }, + "GB_CCPS_Amplitude_Max_Delta": { + "DataSource": "PLCSDNSub", + "Type": "float32" + }, + "GB_CCPS_Frequency": { + "DataSource": "PLCSDNSub", + "Type": "float32" + }, + "GB_CCPS_Current_Protection": { + "DataSource": "PLCSDNSub", + "Type": "float32" + }, + "GB_CCPS_Curr_Prot_Det_Time": { + "DataSource": "PLCSDNSub", + "Type": "float32" + }, + "GB_CCPS_Voltage_Max": { + "DataSource": "PLCSDNSub", + "Type": "float32" + }, + "GB_CCPS_Voltage_Min": { + "DataSource": "PLCSDNSub", + "Type": "float32" + }, + "GB_FHPS_Amplitude_Max_Delta": { + "DataSource": "PLCSDNSub", + "Type": "float32" + }, + "GB_FHPS_AC_Voltage": { + "DataSource": "PLCSDNSub", + "Type": "float32" + }, + "GB_FHPS_DC_Voltage": { + "DataSource": "PLCSDNSub", + "Type": "float32" + }, + "GB_FHPS_Frequency": { + "DataSource": "PLCSDNSub", + "Type": "float32" + }, + "GB_FHPS_AC_Current_Max": { + "DataSource": "PLCSDNSub", + "Type": "float32" + }, + "GB_FHPS_DC_Current_Max": { + "DataSource": "PLCSDNSub", + "Type": "float32" + }, + "GB_FHPS_Current_Trip_Delay": { + "DataSource": "PLCSDNSub", + "Type": "float32" + }, + "GB_FHPS_Intern_Prot_Delay": { + "DataSource": "PLCSDNSub", + "Type": "float32" + }, + "GB_FHPS_Current_Peak_Max": { + "DataSource": "PLCSDNSub", + "Type": "float32" + }, + "GB_FHPS_Current_Peak_Min": { + "DataSource": "PLCSDNSub", + "Type": "float32" + }, + "GB_FHPS_AC_Voltage_Max": { + "DataSource": "PLCSDNSub", + "Type": "float32" + }, + "GB_FHPS_AC_Voltage_Min": { + "DataSource": "PLCSDNSub", + "Type": "float32" + }, + "GB_FHPS_DC_Voltage_Max": { + "DataSource": "PLCSDNSub", + "Type": "float32" + }, + "GB_FHPS_DC_Voltage_Min": { + "DataSource": "PLCSDNSub", + "Type": "float32" + }, + "GB_FHPS_RMS_Voltage_Max": { + "DataSource": "PLCSDNSub", + "Type": "float32" + }, + "GB_FHPS_RMS_Voltage_Min": { + "DataSource": "PLCSDNSub", + "Type": "float32" + }, + "GB_FHPS_AVG_Voltage_Max": { + "DataSource": "PLCSDNSub", + "Type": "float32" + }, + "GB_FHPS_AVG_Voltage_Min": { + "DataSource": "PLCSDNSub", + "Type": "float32" + }, + "GB_FHPS_Frequency_Max": { + "DataSource": "PLCSDNSub", + "Type": "float32" + }, + "GB_FHPS_Frequency_Min": { + "DataSource": "PLCSDNSub", + "Type": "float32" + }, + "GB_MCPS_Amplitude_Max_Delta": { + "DataSource": "PLCSDNSub", + "Type": "float32" + }, + "GB_MCPS_Current": { + "DataSource": "PLCSDNSub", + "Type": "float32" + }, + "GB_MCPS_Sweep_Rate": { + "DataSource": "PLCSDNSub", + "Type": "float32" + }, + "GB_GCPS_Amplitude_Max_Delta": { + "DataSource": "PLCSDNSub", + "Type": "float32" + }, + "GB_GCPS_Current": { + "DataSource": "PLCSDNSub", + "Type": "float32" + }, + "GB_GCPS_Sweep_Rate": { + "DataSource": "PLCSDNSub", + "Type": "float32" + }, + "GA_BPS_Voltage_SP": { + "DataSource": "PLCSDNSub", + "Type": "float32" + }, + "GA_APS_Voltage_SP": { + "DataSource": "PLCSDNSub", + "Type": "float32" + }, + "GB_BPS_Voltage_SP": { + "DataSource": "PLCSDNSub", + "Type": "float32" + }, + "GB_APS_Voltage_SP": { + "DataSource": "PLCSDNSub", + "Type": "float32" + }, + "GCOM_HVPS_Voltage_SP": { + "DataSource": "PLCSDNSub", + "Type": "float32" + }, + "GCOM_HVPS_Pulse_Length": { + "DataSource": "PLCSDNSub", + "Type": "float32" + }, + "GA_CCPS_PSU2320_IREF_H": { + "DataSource": "PLCSDNSub", + "Type": "int16" + }, + "GA_CCPS_PSU2320_IREF_L": { + "DataSource": "PLCSDNSub", + "Type": "int16" + }, + "GB_CCPS_PSU2320_IREF_H": { + "DataSource": "PLCSDNSub", + "Type": "int16" + }, + "GB_CCPS_PSU2320_IREF_L": { + "DataSource": "PLCSDNSub", + "Type": "int16" + }, + "GCOM_HVPS_PLC7001_PSKT_min": { + "DataSource": "PLCSDNSub", + "Type": "int16" + }, + "GCOM_HVPS_PLC7001_PSKT_sec": { + "DataSource": "PLCSDNSub", + "Type": "int16" + }, + "GCOM_HVPS_PLC7001_PSKT_ms": { + "DataSource": "PLCSDNSub", + "Type": "int16" + }, + "GA_CCPS_Current_Auto_Prot": { + "DataSource": "PLCSDNSub", + "Type": "uint8" + }, + "GA_CCPS_Voltage_Auto_Prot": { + "DataSource": "PLCSDNSub", + "Type": "uint8" + }, + "GB_CCPS_Current_Auto_Prot": { + "DataSource": "PLCSDNSub", + "Type": "uint8" + }, + "GB_CCPS_Voltage_Auto_Prot": { + "DataSource": "PLCSDNSub", + "Type": "uint8" + }, + "GA_FHPS_Voltage_Range": { + "DataSource": "PLCSDNSub", + "Type": "uint8" + }, + "GA_FHPS_Current_Prot_Mode": { + "DataSource": "PLCSDNSub", + "Type": "uint8" + }, + "GB_FHPS_Voltage_Range": { + "DataSource": "PLCSDNSub", + "Type": "uint8" + }, + "GB_FHPS_Current_Prot_Mode": { + "DataSource": "PLCSDNSub", + "Type": "uint8" + } + }, + "OutputSignals": { + "GA_CCPS_Amplitude": { + "DataSource": "ConfActualDB", + "Type": "float32" + }, + "GA_CCPS_Amplitude_Max_Delta": { + "DataSource": "ConfActualDB", + "Type": "float32" + }, + "GA_CCPS_Frequency": { + "DataSource": "ConfActualDB", + "Type": "float32" + }, + "GA_CCPS_Current_Protection": { + "DataSource": "ConfActualDB", + "Type": "float32" + }, + "GA_CCPS_Curr_Prot_Det_Time": { + "DataSource": "ConfActualDB", + "Type": "float32" + }, + "GA_CCPS_Voltage_Max": { + "DataSource": "ConfActualDB", + "Type": "float32" + }, + "GA_CCPS_Voltage_Min": { + "DataSource": "ConfActualDB", + "Type": "float32" + }, + "GA_FHPS_Amplitude_Max_Delta": { + "DataSource": "ConfActualDB", + "Type": "float32" + }, + "GA_FHPS_AC_Voltage": { + "DataSource": "ConfActualDB", + "Type": "float32" + }, + "GA_FHPS_DC_Voltage": { + "DataSource": "ConfActualDB", + "Type": "float32" + }, + "GA_FHPS_Frequency": { + "DataSource": "ConfActualDB", + "Type": "float32" + }, + "GA_FHPS_AC_Current_Max": { + "DataSource": "ConfActualDB", + "Type": "float32" + }, + "GA_FHPS_DC_Current_Max": { + "DataSource": "ConfActualDB", + "Type": "float32" + }, + "GA_FHPS_Current_Trip_Delay": { + "DataSource": "ConfActualDB", + "Type": "float32" + }, + "GA_FHPS_Intern_Prot_Delay": { + "DataSource": "ConfActualDB", + "Type": "float32" + }, + "GA_FHPS_Current_Peak_Max": { + "DataSource": "ConfActualDB", + "Type": "float32" + }, + "GA_FHPS_Current_Peak_Min": { + "DataSource": "ConfActualDB", + "Type": "float32" + }, + "GA_FHPS_AC_Voltage_Max": { + "DataSource": "ConfActualDB", + "Type": "float32" + }, + "GA_FHPS_AC_Voltage_Min": { + "DataSource": "ConfActualDB", + "Type": "float32" + }, + "GA_FHPS_DC_Voltage_Max": { + "DataSource": "ConfActualDB", + "Type": "float32" + }, + "GA_FHPS_DC_Voltage_Min": { + "DataSource": "ConfActualDB", + "Type": "float32" + }, + "GA_FHPS_RMS_Voltage_Max": { + "DataSource": "ConfActualDB", + "Type": "float32" + }, + "GA_FHPS_RMS_Voltage_Min": { + "DataSource": "ConfActualDB", + "Type": "float32" + }, + "GA_FHPS_AVG_Voltage_Max": { + "DataSource": "ConfActualDB", + "Type": "float32" + }, + "GA_FHPS_AVG_Voltage_Min": { + "DataSource": "ConfActualDB", + "Type": "float32" + }, + "GA_FHPS_Frequency_Max": { + "DataSource": "ConfActualDB", + "Type": "float32" + }, + "GA_FHPS_Frequency_Min": { + "DataSource": "ConfActualDB", + "Type": "float32" + }, + "GA_MCPS_Amplitude_Max_Delta": { + "DataSource": "ConfActualDB", + "Type": "float32" + }, + "GA_MCPS_Current": { + "DataSource": "ConfActualDB", + "Type": "float32" + }, + "GA_MCPS_Sweep_Rate": { + "DataSource": "ConfActualDB", + "Type": "float32" + }, + "GA_GCPS_Amplitude_Max_Delta": { + "DataSource": "ConfActualDB", + "Type": "float32" + }, + "GA_GCPS_Current": { + "DataSource": "ConfActualDB", + "Type": "float32" + }, + "GA_GCPS_Sweep_Rate": { + "DataSource": "ConfActualDB", + "Type": "float32" + }, + "GB_CCPS_Amplitude": { + "DataSource": "ConfActualDB", + "Type": "float32" + }, + "GB_CCPS_Amplitude_Max_Delta": { + "DataSource": "ConfActualDB", + "Type": "float32" + }, + "GB_CCPS_Frequency": { + "DataSource": "ConfActualDB", + "Type": "float32" + }, + "GB_CCPS_Current_Protection": { + "DataSource": "ConfActualDB", + "Type": "float32" + }, + "GB_CCPS_Curr_Prot_Det_Time": { + "DataSource": "ConfActualDB", + "Type": "float32" + }, + "GB_CCPS_Voltage_Max": { + "DataSource": "ConfActualDB", + "Type": "float32" + }, + "GB_CCPS_Voltage_Min": { + "DataSource": "ConfActualDB", + "Type": "float32" + }, + "GB_FHPS_Amplitude_Max_Delta": { + "DataSource": "ConfActualDB", + "Type": "float32" + }, + "GB_FHPS_AC_Voltage": { + "DataSource": "ConfActualDB", + "Type": "float32" + }, + "GB_FHPS_DC_Voltage": { + "DataSource": "ConfActualDB", + "Type": "float32" + }, + "GB_FHPS_Frequency": { + "DataSource": "ConfActualDB", + "Type": "float32" + }, + "GB_FHPS_AC_Current_Max": { + "DataSource": "ConfActualDB", + "Type": "float32" + }, + "GB_FHPS_DC_Current_Max": { + "DataSource": "ConfActualDB", + "Type": "float32" + }, + "GB_FHPS_Current_Trip_Delay": { + "DataSource": "ConfActualDB", + "Type": "float32" + }, + "GB_FHPS_Intern_Prot_Delay": { + "DataSource": "ConfActualDB", + "Type": "float32" + }, + "GB_FHPS_Current_Peak_Max": { + "DataSource": "ConfActualDB", + "Type": "float32" + }, + "GB_FHPS_Current_Peak_Min": { + "DataSource": "ConfActualDB", + "Type": "float32" + }, + "GB_FHPS_AC_Voltage_Max": { + "DataSource": "ConfActualDB", + "Type": "float32" + }, + "GB_FHPS_AC_Voltage_Min": { + "DataSource": "ConfActualDB", + "Type": "float32" + }, + "GB_FHPS_DC_Voltage_Max": { + "DataSource": "ConfActualDB", + "Type": "float32" + }, + "GB_FHPS_DC_Voltage_Min": { + "DataSource": "ConfActualDB", + "Type": "float32" + }, + "GB_FHPS_RMS_Voltage_Max": { + "DataSource": "ConfActualDB", + "Type": "float32" + }, + "GB_FHPS_RMS_Voltage_Min": { + "DataSource": "ConfActualDB", + "Type": "float32" + }, + "GB_FHPS_AVG_Voltage_Max": { + "DataSource": "ConfActualDB", + "Type": "float32" + }, + "GB_FHPS_AVG_Voltage_Min": { + "DataSource": "ConfActualDB", + "Type": "float32" + }, + "GB_FHPS_Frequency_Max": { + "DataSource": "ConfActualDB", + "Type": "float32" + }, + "GB_FHPS_Frequency_Min": { + "DataSource": "ConfActualDB", + "Type": "float32" + }, + "GB_MCPS_Amplitude_Max_Delta": { + "DataSource": "ConfActualDB", + "Type": "float32" + }, + "GB_MCPS_Current": { + "DataSource": "ConfActualDB", + "Type": "float32" + }, + "GB_MCPS_Sweep_Rate": { + "DataSource": "ConfActualDB", + "Type": "float32" + }, + "GB_GCPS_Amplitude_Max_Delta": { + "DataSource": "ConfActualDB", + "Type": "float32" + }, + "GB_GCPS_Current": { + "DataSource": "ConfActualDB", + "Type": "float32" + }, + "GB_GCPS_Sweep_Rate": { + "DataSource": "ConfActualDB", + "Type": "float32" + }, + "GA_BPS_Voltage_SP": { + "DataSource": "ConfActualDB", + "Type": "float32" + }, + "GA_APS_Voltage_SP": { + "DataSource": "ConfActualDB", + "Type": "float32" + }, + "GB_BPS_Voltage_SP": { + "DataSource": "ConfActualDB", + "Type": "float32" + }, + "GB_APS_Voltage_SP": { + "DataSource": "ConfActualDB", + "Type": "float32" + }, + "GCOM_HVPS_Voltage_SP": { + "DataSource": "ConfActualDB", + "Type": "float32" + }, + "GCOM_HVPS_Pulse_Length": { + "DataSource": "ConfActualDB", + "Type": "float32" + }, + "GA_CCPS_PSU2320_IREF_H": { + "DataSource": "ConfActualDB", + "Type": "int16" + }, + "GA_CCPS_PSU2320_IREF_L": { + "DataSource": "ConfActualDB", + "Type": "int16" + }, + "GB_CCPS_PSU2320_IREF_H": { + "DataSource": "ConfActualDB", + "Type": "int16" + }, + "GB_CCPS_PSU2320_IREF_L": { + "DataSource": "ConfActualDB", + "Type": "int16" + }, + "GCOM_HVPS_PLC7001_PSKT_min": { + "DataSource": "ConfActualDB", + "Type": "int16" + }, + "GCOM_HVPS_PLC7001_PSKT_sec": { + "DataSource": "ConfActualDB", + "Type": "int16" + }, + "GCOM_HVPS_PLC7001_PSKT_ms": { + "DataSource": "ConfActualDB", + "Type": "int16" + }, + "GA_CCPS_Current_Auto_Prot": { + "DataSource": "ConfActualDB", + "Type": "uint8" + }, + "GA_CCPS_Voltage_Auto_Prot": { + "DataSource": "ConfActualDB", + "Type": "uint8" + }, + "GB_CCPS_Current_Auto_Prot": { + "DataSource": "ConfActualDB", + "Type": "uint8" + }, + "GB_CCPS_Voltage_Auto_Prot": { + "DataSource": "ConfActualDB", + "Type": "uint8" + }, + "GA_FHPS_Voltage_Range": { + "DataSource": "ConfActualDB", + "Type": "uint8" + }, + "GA_FHPS_Current_Prot_Mode": { + "DataSource": "ConfActualDB", + "Type": "uint8" + }, + "GB_FHPS_Voltage_Range": { + "DataSource": "ConfActualDB", + "Type": "uint8" + }, + "GB_FHPS_Current_Prot_Mode": { + "DataSource": "ConfActualDB", + "Type": "uint8" + } + } + }, + "+ValidateActConfigGAM": { + "Class": "ComparatorGAM", + "InputSignals": { + "GA_CCPS_Amplitude_a": { + "Alias": "GA_CCPS_Amplitude", + "DataSource": "PLCSDNSub", + "Type": "float32" + }, + "GA_CCPS_Amplitude_b": { + "DataSource": "ConfActualDB", + "Alias": "GA_CCPS_Amplitude", + "Type": "float32" + }, + "GA_CCPS_Amplitude_Max_Delta_a": { + "Alias": "GA_CCPS_Amplitude_Max_Delta", + "DataSource": "PLCSDNSub", + "Type": "float32" + }, + "GA_CCPS_Amplitude_Max_Delta_b": { + "DataSource": "ConfActualDB", + "Alias": "GA_CCPS_Amplitude_Max_Delta", + "Type": "float32" + }, + "GA_CCPS_Frequency_a": { + "Alias": "GA_CCPS_Frequency", + "DataSource": "PLCSDNSub", + "Type": "float32" + }, + "GA_CCPS_Frequency_b": { + "DataSource": "ConfActualDB", + "Alias": "GA_CCPS_Frequency", + "Type": "float32" + }, + "GA_CCPS_Current_Protection_a": { + "Alias": "GA_CCPS_Current_Protection", + "DataSource": "PLCSDNSub", + "Type": "float32" + }, + "GA_CCPS_Current_Protection_b": { + "DataSource": "ConfActualDB", + "Alias": "GA_CCPS_Current_Protection", + "Type": "float32" + }, + "GA_CCPS_Curr_Prot_Det_Time_a": { + "Alias": "GA_CCPS_Curr_Prot_Det_Time", + "DataSource": "PLCSDNSub", + "Type": "float32" + }, + "GA_CCPS_Curr_Prot_Det_Time_b": { + "DataSource": "ConfActualDB", + "Alias": "GA_CCPS_Curr_Prot_Det_Time", + "Type": "float32" + }, + "GA_CCPS_Voltage_Max_a": { + "Alias": "GA_CCPS_Voltage_Max", + "DataSource": "PLCSDNSub", + "Type": "float32" + }, + "GA_CCPS_Voltage_Max_b": { + "DataSource": "ConfActualDB", + "Alias": "GA_CCPS_Voltage_Max", + "Type": "float32" + }, + "GA_CCPS_Voltage_Min_a": { + "Alias": "GA_CCPS_Voltage_Min", + "DataSource": "PLCSDNSub", + "Type": "float32" + }, + "GA_CCPS_Voltage_Min_b": { + "DataSource": "ConfActualDB", + "Alias": "GA_CCPS_Voltage_Min", + "Type": "float32" + }, + "GA_FHPS_Amplitude_Max_Delta_a": { + "Alias": "GA_FHPS_Amplitude_Max_Delta", + "DataSource": "PLCSDNSub", + "Type": "float32" + }, + "GA_FHPS_Amplitude_Max_Delta_b": { + "DataSource": "ConfActualDB", + "Alias": "GA_FHPS_Amplitude_Max_Delta", + "Type": "float32" + }, + "GA_FHPS_AC_Voltage_a": { + "Alias": "GA_FHPS_AC_Voltage", + "DataSource": "PLCSDNSub", + "Type": "float32" + }, + "GA_FHPS_AC_Voltage_b": { + "DataSource": "ConfActualDB", + "Alias": "GA_FHPS_AC_Voltage", + "Type": "float32" + }, + "GA_FHPS_DC_Voltage_a": { + "Alias": "GA_FHPS_DC_Voltage", + "DataSource": "PLCSDNSub", + "Type": "float32" + }, + "GA_FHPS_DC_Voltage_b": { + "DataSource": "ConfActualDB", + "Alias": "GA_FHPS_DC_Voltage", + "Type": "float32" + }, + "GA_FHPS_Frequency_a": { + "Alias": "GA_FHPS_Frequency", + "DataSource": "PLCSDNSub", + "Type": "float32" + }, + "GA_FHPS_Frequency_b": { + "DataSource": "ConfActualDB", + "Alias": "GA_FHPS_Frequency", + "Type": "float32" + }, + "GA_FHPS_AC_Current_Max_a": { + "Alias": "GA_FHPS_AC_Current_Max", + "DataSource": "PLCSDNSub", + "Type": "float32" + }, + "GA_FHPS_AC_Current_Max_b": { + "DataSource": "ConfActualDB", + "Alias": "GA_FHPS_AC_Current_Max", + "Type": "float32" + }, + "GA_FHPS_DC_Current_Max_a": { + "Alias": "GA_FHPS_DC_Current_Max", + "DataSource": "PLCSDNSub", + "Type": "float32" + }, + "GA_FHPS_DC_Current_Max_b": { + "DataSource": "ConfActualDB", + "Alias": "GA_FHPS_DC_Current_Max", + "Type": "float32" + }, + "GA_FHPS_Current_Trip_Delay_a": { + "Alias": "GA_FHPS_Current_Trip_Delay", + "DataSource": "PLCSDNSub", + "Type": "float32" + }, + "GA_FHPS_Current_Trip_Delay_b": { + "DataSource": "ConfActualDB", + "Alias": "GA_FHPS_Current_Trip_Delay", + "Type": "float32" + }, + "GA_FHPS_Intern_Prot_Delay_a": { + "Alias": "GA_FHPS_Intern_Prot_Delay", + "DataSource": "PLCSDNSub", + "Type": "float32" + }, + "GA_FHPS_Intern_Prot_Delay_b": { + "DataSource": "ConfActualDB", + "Alias": "GA_FHPS_Intern_Prot_Delay", + "Type": "float32" + }, + "GA_FHPS_Current_Peak_Max_a": { + "Alias": "GA_FHPS_Current_Peak_Max", + "DataSource": "PLCSDNSub", + "Type": "float32" + }, + "GA_FHPS_Current_Peak_Max_b": { + "DataSource": "ConfActualDB", + "Alias": "GA_FHPS_Current_Peak_Max", + "Type": "float32" + }, + "GA_FHPS_Current_Peak_Min_a": { + "Alias": "GA_FHPS_Current_Peak_Min", + "DataSource": "PLCSDNSub", + "Type": "float32" + }, + "GA_FHPS_Current_Peak_Min_b": { + "DataSource": "ConfActualDB", + "Alias": "GA_FHPS_Current_Peak_Min", + "Type": "float32" + }, + "GA_FHPS_AC_Voltage_Max_a": { + "Alias": "GA_FHPS_AC_Voltage_Max", + "DataSource": "PLCSDNSub", + "Type": "float32" + }, + "GA_FHPS_AC_Voltage_Max_b": { + "DataSource": "ConfActualDB", + "Alias": "GA_FHPS_AC_Voltage_Max", + "Type": "float32" + }, + "GA_FHPS_AC_Voltage_Min_a": { + "Alias": "GA_FHPS_AC_Voltage_Min", + "DataSource": "PLCSDNSub", + "Type": "float32" + }, + "GA_FHPS_AC_Voltage_Min_b": { + "DataSource": "ConfActualDB", + "Alias": "GA_FHPS_AC_Voltage_Min", + "Type": "float32" + }, + "GA_FHPS_DC_Voltage_Max_a": { + "Alias": "GA_FHPS_DC_Voltage_Max", + "DataSource": "PLCSDNSub", + "Type": "float32" + }, + "GA_FHPS_DC_Voltage_Max_b": { + "DataSource": "ConfActualDB", + "Alias": "GA_FHPS_DC_Voltage_Max", + "Type": "float32" + }, + "GA_FHPS_DC_Voltage_Min_a": { + "Alias": "GA_FHPS_DC_Voltage_Min", + "DataSource": "PLCSDNSub", + "Type": "float32" + }, + "GA_FHPS_DC_Voltage_Min_b": { + "DataSource": "ConfActualDB", + "Alias": "GA_FHPS_DC_Voltage_Min", + "Type": "float32" + }, + "GA_FHPS_RMS_Voltage_Max_a": { + "Alias": "GA_FHPS_RMS_Voltage_Max", + "DataSource": "PLCSDNSub", + "Type": "float32" + }, + "GA_FHPS_RMS_Voltage_Max_b": { + "DataSource": "ConfActualDB", + "Alias": "GA_FHPS_RMS_Voltage_Max", + "Type": "float32" + }, + "GA_FHPS_RMS_Voltage_Min_a": { + "Alias": "GA_FHPS_RMS_Voltage_Min", + "DataSource": "PLCSDNSub", + "Type": "float32" + }, + "GA_FHPS_RMS_Voltage_Min_b": { + "DataSource": "ConfActualDB", + "Alias": "GA_FHPS_RMS_Voltage_Min", + "Type": "float32" + }, + "GA_FHPS_AVG_Voltage_Max_a": { + "Alias": "GA_FHPS_AVG_Voltage_Max", + "DataSource": "PLCSDNSub", + "Type": "float32" + }, + "GA_FHPS_AVG_Voltage_Max_b": { + "DataSource": "ConfActualDB", + "Alias": "GA_FHPS_AVG_Voltage_Max", + "Type": "float32" + }, + "GA_FHPS_AVG_Voltage_Min_a": { + "Alias": "GA_FHPS_AVG_Voltage_Min", + "DataSource": "PLCSDNSub", + "Type": "float32" + }, + "GA_FHPS_AVG_Voltage_Min_b": { + "DataSource": "ConfActualDB", + "Alias": "GA_FHPS_AVG_Voltage_Min", + "Type": "float32" + }, + "GA_FHPS_Frequency_Max_a": { + "Alias": "GA_FHPS_Frequency_Max", + "DataSource": "PLCSDNSub", + "Type": "float32" + }, + "GA_FHPS_Frequency_Max_b": { + "DataSource": "ConfActualDB", + "Alias": "GA_FHPS_Frequency_Max", + "Type": "float32" + }, + "GA_FHPS_Frequency_Min_a": { + "Alias": "GA_FHPS_Frequency_Min", + "DataSource": "PLCSDNSub", + "Type": "float32" + }, + "GA_FHPS_Frequency_Min_b": { + "DataSource": "ConfActualDB", + "Alias": "GA_FHPS_Frequency_Min", + "Type": "float32" + }, + "GA_MCPS_Amplitude_Max_Delta_a": { + "Alias": "GA_MCPS_Amplitude_Max_Delta", + "DataSource": "PLCSDNSub", + "Type": "float32" + }, + "GA_MCPS_Amplitude_Max_Delta_b": { + "DataSource": "ConfActualDB", + "Alias": "GA_MCPS_Amplitude_Max_Delta", + "Type": "float32" + }, + "GA_MCPS_Current_a": { + "Alias": "GA_MCPS_Current", + "DataSource": "PLCSDNSub", + "Type": "float32" + }, + "GA_MCPS_Current_b": { + "DataSource": "ConfActualDB", + "Alias": "GA_MCPS_Current", + "Type": "float32" + }, + "GA_MCPS_Sweep_Rate_a": { + "Alias": "GA_MCPS_Sweep_Rate", + "DataSource": "PLCSDNSub", + "Type": "float32" + }, + "GA_MCPS_Sweep_Rate_b": { + "DataSource": "ConfActualDB", + "Alias": "GA_MCPS_Sweep_Rate", + "Type": "float32" + }, + "GA_GCPS_Amplitude_Max_Delta_a": { + "Alias": "GA_GCPS_Amplitude_Max_Delta", + "DataSource": "PLCSDNSub", + "Type": "float32" + }, + "GA_GCPS_Amplitude_Max_Delta_b": { + "DataSource": "ConfActualDB", + "Alias": "GA_GCPS_Amplitude_Max_Delta", + "Type": "float32" + }, + "GA_GCPS_Current_a": { + "Alias": "GA_GCPS_Current", + "DataSource": "PLCSDNSub", + "Type": "float32" + }, + "GA_GCPS_Current_b": { + "DataSource": "ConfActualDB", + "Alias": "GA_GCPS_Current", + "Type": "float32" + }, + "GA_GCPS_Sweep_Rate_a": { + "Alias": "GA_GCPS_Sweep_Rate", + "DataSource": "PLCSDNSub", + "Type": "float32" + }, + "GA_GCPS_Sweep_Rate_b": { + "DataSource": "ConfActualDB", + "Alias": "GA_GCPS_Sweep_Rate", + "Type": "float32" + }, + "GB_CCPS_Amplitude_a": { + "Alias": "GB_CCPS_Amplitude", + "DataSource": "PLCSDNSub", + "Type": "float32" + }, + "GB_CCPS_Amplitude_b": { + "DataSource": "ConfActualDB", + "Alias": "GB_CCPS_Amplitude", + "Type": "float32" + }, + "GB_CCPS_Amplitude_Max_Delta_a": { + "Alias": "GB_CCPS_Amplitude_Max_Delta", + "DataSource": "PLCSDNSub", + "Type": "float32" + }, + "GB_CCPS_Amplitude_Max_Delta_b": { + "DataSource": "ConfActualDB", + "Alias": "GB_CCPS_Amplitude_Max_Delta", + "Type": "float32" + }, + "GB_CCPS_Frequency_a": { + "Alias": "GB_CCPS_Frequency", + "DataSource": "PLCSDNSub", + "Type": "float32" + }, + "GB_CCPS_Frequency_b": { + "DataSource": "ConfActualDB", + "Alias": "GB_CCPS_Frequency", + "Type": "float32" + }, + "GB_CCPS_Current_Protection_a": { + "Alias": "GB_CCPS_Current_Protection", + "DataSource": "PLCSDNSub", + "Type": "float32" + }, + "GB_CCPS_Current_Protection_b": { + "DataSource": "ConfActualDB", + "Alias": "GB_CCPS_Current_Protection", + "Type": "float32" + }, + "GB_CCPS_Curr_Prot_Det_Time_a": { + "Alias": "GB_CCPS_Curr_Prot_Det_Time", + "DataSource": "PLCSDNSub", + "Type": "float32" + }, + "GB_CCPS_Curr_Prot_Det_Time_b": { + "DataSource": "ConfActualDB", + "Alias": "GB_CCPS_Curr_Prot_Det_Time", + "Type": "float32" + }, + "GB_CCPS_Voltage_Max_a": { + "Alias": "GB_CCPS_Voltage_Max", + "DataSource": "PLCSDNSub", + "Type": "float32" + }, + "GB_CCPS_Voltage_Max_b": { + "DataSource": "ConfActualDB", + "Alias": "GB_CCPS_Voltage_Max", + "Type": "float32" + }, + "GB_CCPS_Voltage_Min_a": { + "Alias": "GB_CCPS_Voltage_Min", + "DataSource": "PLCSDNSub", + "Type": "float32" + }, + "GB_CCPS_Voltage_Min_b": { + "DataSource": "ConfActualDB", + "Alias": "GB_CCPS_Voltage_Min", + "Type": "float32" + }, + "GB_FHPS_Amplitude_Max_Delta_a": { + "Alias": "GB_FHPS_Amplitude_Max_Delta", + "DataSource": "PLCSDNSub", + "Type": "float32" + }, + "GB_FHPS_Amplitude_Max_Delta_b": { + "DataSource": "ConfActualDB", + "Alias": "GB_FHPS_Amplitude_Max_Delta", + "Type": "float32" + }, + "GB_FHPS_AC_Voltage_a": { + "Alias": "GB_FHPS_AC_Voltage", + "DataSource": "PLCSDNSub", + "Type": "float32" + }, + "GB_FHPS_AC_Voltage_b": { + "DataSource": "ConfActualDB", + "Alias": "GB_FHPS_AC_Voltage", + "Type": "float32" + }, + "GB_FHPS_DC_Voltage_a": { + "Alias": "GB_FHPS_DC_Voltage", + "DataSource": "PLCSDNSub", + "Type": "float32" + }, + "GB_FHPS_DC_Voltage_b": { + "DataSource": "ConfActualDB", + "Alias": "GB_FHPS_DC_Voltage", + "Type": "float32" + }, + "GB_FHPS_Frequency_a": { + "Alias": "GB_FHPS_Frequency", + "DataSource": "PLCSDNSub", + "Type": "float32" + }, + "GB_FHPS_Frequency_b": { + "DataSource": "ConfActualDB", + "Alias": "GB_FHPS_Frequency", + "Type": "float32" + }, + "GB_FHPS_AC_Current_Max_a": { + "Alias": "GB_FHPS_AC_Current_Max", + "DataSource": "PLCSDNSub", + "Type": "float32" + }, + "GB_FHPS_AC_Current_Max_b": { + "DataSource": "ConfActualDB", + "Alias": "GB_FHPS_AC_Current_Max", + "Type": "float32" + }, + "GB_FHPS_DC_Current_Max_a": { + "Alias": "GB_FHPS_DC_Current_Max", + "DataSource": "PLCSDNSub", + "Type": "float32" + }, + "GB_FHPS_DC_Current_Max_b": { + "DataSource": "ConfActualDB", + "Alias": "GB_FHPS_DC_Current_Max", + "Type": "float32" + }, + "GB_FHPS_Current_Trip_Delay_a": { + "Alias": "GB_FHPS_Current_Trip_Delay", + "DataSource": "PLCSDNSub", + "Type": "float32" + }, + "GB_FHPS_Current_Trip_Delay_b": { + "DataSource": "ConfActualDB", + "Alias": "GB_FHPS_Current_Trip_Delay", + "Type": "float32" + }, + "GB_FHPS_Intern_Prot_Delay_a": { + "Alias": "GB_FHPS_Intern_Prot_Delay", + "DataSource": "PLCSDNSub", + "Type": "float32" + }, + "GB_FHPS_Intern_Prot_Delay_b": { + "DataSource": "ConfActualDB", + "Alias": "GB_FHPS_Intern_Prot_Delay", + "Type": "float32" + }, + "GB_FHPS_Current_Peak_Max_a": { + "Alias": "GB_FHPS_Current_Peak_Max", + "DataSource": "PLCSDNSub", + "Type": "float32" + }, + "GB_FHPS_Current_Peak_Max_b": { + "DataSource": "ConfActualDB", + "Alias": "GB_FHPS_Current_Peak_Max", + "Type": "float32" + }, + "GB_FHPS_Current_Peak_Min_a": { + "Alias": "GB_FHPS_Current_Peak_Min", + "DataSource": "PLCSDNSub", + "Type": "float32" + }, + "GB_FHPS_Current_Peak_Min_b": { + "DataSource": "ConfActualDB", + "Alias": "GB_FHPS_Current_Peak_Min", + "Type": "float32" + }, + "GB_FHPS_AC_Voltage_Max_a": { + "Alias": "GB_FHPS_AC_Voltage_Max", + "DataSource": "PLCSDNSub", + "Type": "float32" + }, + "GB_FHPS_AC_Voltage_Max_b": { + "DataSource": "ConfActualDB", + "Alias": "GB_FHPS_AC_Voltage_Max", + "Type": "float32" + }, + "GB_FHPS_AC_Voltage_Min_a": { + "Alias": "GB_FHPS_AC_Voltage_Min", + "DataSource": "PLCSDNSub", + "Type": "float32" + }, + "GB_FHPS_AC_Voltage_Min_b": { + "DataSource": "ConfActualDB", + "Alias": "GB_FHPS_AC_Voltage_Min", + "Type": "float32" + }, + "GB_FHPS_DC_Voltage_Max_a": { + "Alias": "GB_FHPS_DC_Voltage_Max", + "DataSource": "PLCSDNSub", + "Type": "float32" + }, + "GB_FHPS_DC_Voltage_Max_b": { + "DataSource": "ConfActualDB", + "Alias": "GB_FHPS_DC_Voltage_Max", + "Type": "float32" + }, + "GB_FHPS_DC_Voltage_Min_a": { + "Alias": "GB_FHPS_DC_Voltage_Min", + "DataSource": "PLCSDNSub", + "Type": "float32" + }, + "GB_FHPS_DC_Voltage_Min_b": { + "DataSource": "ConfActualDB", + "Alias": "GB_FHPS_DC_Voltage_Min", + "Type": "float32" + }, + "GB_FHPS_RMS_Voltage_Max_a": { + "Alias": "GB_FHPS_RMS_Voltage_Max", + "DataSource": "PLCSDNSub", + "Type": "float32" + }, + "GB_FHPS_RMS_Voltage_Max_b": { + "DataSource": "ConfActualDB", + "Alias": "GB_FHPS_RMS_Voltage_Max", + "Type": "float32" + }, + "GB_FHPS_RMS_Voltage_Min_a": { + "Alias": "GB_FHPS_RMS_Voltage_Min", + "DataSource": "PLCSDNSub", + "Type": "float32" + }, + "GB_FHPS_RMS_Voltage_Min_b": { + "DataSource": "ConfActualDB", + "Alias": "GB_FHPS_RMS_Voltage_Min", + "Type": "float32" + }, + "GB_FHPS_AVG_Voltage_Max_a": { + "Alias": "GB_FHPS_AVG_Voltage_Max", + "DataSource": "PLCSDNSub", + "Type": "float32" + }, + "GB_FHPS_AVG_Voltage_Max_b": { + "DataSource": "ConfActualDB", + "Alias": "GB_FHPS_AVG_Voltage_Max", + "Type": "float32" + }, + "GB_FHPS_AVG_Voltage_Min_a": { + "Alias": "GB_FHPS_AVG_Voltage_Min", + "DataSource": "PLCSDNSub", + "Type": "float32" + }, + "GB_FHPS_AVG_Voltage_Min_b": { + "DataSource": "ConfActualDB", + "Alias": "GB_FHPS_AVG_Voltage_Min", + "Type": "float32" + }, + "GB_FHPS_Frequency_Max_a": { + "Alias": "GB_FHPS_Frequency_Max", + "DataSource": "PLCSDNSub", + "Type": "float32" + }, + "GB_FHPS_Frequency_Max_b": { + "DataSource": "ConfActualDB", + "Alias": "GB_FHPS_Frequency_Max", + "Type": "float32" + }, + "GB_FHPS_Frequency_Min_a": { + "Alias": "GB_FHPS_Frequency_Min", + "DataSource": "PLCSDNSub", + "Type": "float32" + }, + "GB_FHPS_Frequency_Min_b": { + "DataSource": "ConfActualDB", + "Alias": "GB_FHPS_Frequency_Min", + "Type": "float32" + }, + "GB_MCPS_Amplitude_Max_Delta_a": { + "Alias": "GB_MCPS_Amplitude_Max_Delta", + "DataSource": "PLCSDNSub", + "Type": "float32" + }, + "GB_MCPS_Amplitude_Max_Delta_b": { + "DataSource": "ConfActualDB", + "Alias": "GB_MCPS_Amplitude_Max_Delta", + "Type": "float32" + }, + "GB_MCPS_Current_a": { + "Alias": "GB_MCPS_Current", + "DataSource": "PLCSDNSub", + "Type": "float32" + }, + "GB_MCPS_Current_b": { + "DataSource": "ConfActualDB", + "Alias": "GB_MCPS_Current", + "Type": "float32" + }, + "GB_MCPS_Sweep_Rate_a": { + "Alias": "GB_MCPS_Sweep_Rate", + "DataSource": "PLCSDNSub", + "Type": "float32" + }, + "GB_MCPS_Sweep_Rate_b": { + "DataSource": "ConfActualDB", + "Alias": "GB_MCPS_Sweep_Rate", + "Type": "float32" + }, + "GB_GCPS_Amplitude_Max_Delta_a": { + "Alias": "GB_GCPS_Amplitude_Max_Delta", + "DataSource": "PLCSDNSub", + "Type": "float32" + }, + "GB_GCPS_Amplitude_Max_Delta_b": { + "DataSource": "ConfActualDB", + "Alias": "GB_GCPS_Amplitude_Max_Delta", + "Type": "float32" + }, + "GB_GCPS_Current_a": { + "Alias": "GB_GCPS_Current", + "DataSource": "PLCSDNSub", + "Type": "float32" + }, + "GB_GCPS_Current_b": { + "DataSource": "ConfActualDB", + "Alias": "GB_GCPS_Current", + "Type": "float32" + }, + "GB_GCPS_Sweep_Rate_a": { + "Alias": "GB_GCPS_Sweep_Rate", + "DataSource": "PLCSDNSub", + "Type": "float32" + }, + "GB_GCPS_Sweep_Rate_b": { + "DataSource": "ConfActualDB", + "Alias": "GB_GCPS_Sweep_Rate", + "Type": "float32" + }, + "GA_BPS_Voltage_SP_a": { + "Alias": "GA_BPS_Voltage_SP", + "DataSource": "PLCSDNSub", + "Type": "float32" + }, + "GA_BPS_Voltage_SP_b": { + "DataSource": "ConfActualDB", + "Alias": "GA_BPS_Voltage_SP", + "Type": "float32" + }, + "GA_APS_Voltage_SP_a": { + "Alias": "GA_APS_Voltage_SP", + "DataSource": "PLCSDNSub", + "Type": "float32" + }, + "GA_APS_Voltage_SP_b": { + "DataSource": "ConfActualDB", + "Alias": "GA_APS_Voltage_SP", + "Type": "float32" + }, + "GB_BPS_Voltage_SP_a": { + "Alias": "GB_BPS_Voltage_SP", + "DataSource": "PLCSDNSub", + "Type": "float32" + }, + "GB_BPS_Voltage_SP_b": { + "DataSource": "ConfActualDB", + "Alias": "GB_BPS_Voltage_SP", + "Type": "float32" + }, + "GB_APS_Voltage_SP_a": { + "Alias": "GB_APS_Voltage_SP", + "DataSource": "PLCSDNSub", + "Type": "float32" + }, + "GB_APS_Voltage_SP_b": { + "DataSource": "ConfActualDB", + "Alias": "GB_APS_Voltage_SP", + "Type": "float32" + }, + "GCOM_HVPS_Voltage_SP_a": { + "Alias": "GCOM_HVPS_Voltage_SP", + "DataSource": "PLCSDNSub", + "Type": "float32" + }, + "GCOM_HVPS_Voltage_SP_b": { + "DataSource": "ConfActualDB", + "Alias": "GCOM_HVPS_Voltage_SP", + "Type": "float32" + }, + "GCOM_HVPS_Pulse_Length_a": { + "Alias": "GCOM_HVPS_Pulse_Length", + "DataSource": "PLCSDNSub", + "Type": "float32" + }, + "GCOM_HVPS_Pulse_Length_b": { + "DataSource": "ConfActualDB", + "Alias": "GCOM_HVPS_Pulse_Length", + "Type": "float32" + }, + "GA_CCPS_PSU2320_IREF_H_a": { + "Alias": "GA_CCPS_PSU2320_IREF_H", + "DataSource": "PLCSDNSub", + "Type": "int16" + }, + "GA_CCPS_PSU2320_IREF_H_b": { + "DataSource": "ConfActualDB", + "Alias": "GA_CCPS_PSU2320_IREF_H", + "Type": "int16" + }, + "GA_CCPS_PSU2320_IREF_L_a": { + "Alias": "GA_CCPS_PSU2320_IREF_L", + "DataSource": "PLCSDNSub", + "Type": "int16" + }, + "GA_CCPS_PSU2320_IREF_L_b": { + "DataSource": "ConfActualDB", + "Alias": "GA_CCPS_PSU2320_IREF_L", + "Type": "int16" + }, + "GB_CCPS_PSU2320_IREF_H_a": { + "Alias": "GB_CCPS_PSU2320_IREF_H", + "DataSource": "PLCSDNSub", + "Type": "int16" + }, + "GB_CCPS_PSU2320_IREF_H_b": { + "DataSource": "ConfActualDB", + "Alias": "GB_CCPS_PSU2320_IREF_H", + "Type": "int16" + }, + "GB_CCPS_PSU2320_IREF_L_a": { + "Alias": "GB_CCPS_PSU2320_IREF_L", + "DataSource": "PLCSDNSub", + "Type": "int16" + }, + "GB_CCPS_PSU2320_IREF_L_b": { + "DataSource": "ConfActualDB", + "Alias": "GB_CCPS_PSU2320_IREF_L", + "Type": "int16" + }, + "GCOM_HVPS_PLC7001_PSKT_min_a": { + "Alias": "GCOM_HVPS_PLC7001_PSKT_min", + "DataSource": "PLCSDNSub", + "Type": "int16" + }, + "GCOM_HVPS_PLC7001_PSKT_min_b": { + "DataSource": "ConfActualDB", + "Alias": "GCOM_HVPS_PLC7001_PSKT_min", + "Type": "int16" + }, + "GCOM_HVPS_PLC7001_PSKT_sec_a": { + "Alias": "GCOM_HVPS_PLC7001_PSKT_sec", + "DataSource": "PLCSDNSub", + "Type": "int16" + }, + "GCOM_HVPS_PLC7001_PSKT_sec_b": { + "DataSource": "ConfActualDB", + "Alias": "GCOM_HVPS_PLC7001_PSKT_sec", + "Type": "int16" + }, + "GCOM_HVPS_PLC7001_PSKT_ms_a": { + "Alias": "GCOM_HVPS_PLC7001_PSKT_ms", + "DataSource": "PLCSDNSub", + "Type": "int16" + }, + "GCOM_HVPS_PLC7001_PSKT_ms_b": { + "DataSource": "ConfActualDB", + "Alias": "GCOM_HVPS_PLC7001_PSKT_ms", + "Type": "int16" + }, + "GA_CCPS_Current_Auto_Prot_a": { + "Alias": "GA_CCPS_Current_Auto_Prot", + "DataSource": "PLCSDNSub", + "Type": "uint8" + }, + "GA_CCPS_Current_Auto_Prot_b": { + "DataSource": "ConfActualDB", + "Alias": "GA_CCPS_Current_Auto_Prot", + "Type": "uint8" + }, + "GA_CCPS_Voltage_Auto_Prot_a": { + "Alias": "GA_CCPS_Voltage_Auto_Prot", + "DataSource": "PLCSDNSub", + "Type": "uint8" + }, + "GA_CCPS_Voltage_Auto_Prot_b": { + "DataSource": "ConfActualDB", + "Alias": "GA_CCPS_Voltage_Auto_Prot", + "Type": "uint8" + }, + "GB_CCPS_Current_Auto_Prot_a": { + "Alias": "GB_CCPS_Current_Auto_Prot", + "DataSource": "PLCSDNSub", + "Type": "uint8" + }, + "GB_CCPS_Current_Auto_Prot_b": { + "DataSource": "ConfActualDB", + "Alias": "GB_CCPS_Current_Auto_Prot", + "Type": "uint8" + }, + "GB_CCPS_Voltage_Auto_Prot_a": { + "Alias": "GB_CCPS_Voltage_Auto_Prot", + "DataSource": "PLCSDNSub", + "Type": "uint8" + }, + "GB_CCPS_Voltage_Auto_Prot_b": { + "DataSource": "ConfActualDB", + "Alias": "GB_CCPS_Voltage_Auto_Prot", + "Type": "uint8" + }, + "GA_FHPS_Voltage_Range_a": { + "Alias": "GA_FHPS_Voltage_Range", + "DataSource": "PLCSDNSub", + "Type": "uint8" + }, + "GA_FHPS_Voltage_Range_b": { + "DataSource": "ConfActualDB", + "Alias": "GA_FHPS_Voltage_Range", + "Type": "uint8" + }, + "GA_FHPS_Current_Prot_Mode_a": { + "Alias": "GA_FHPS_Current_Prot_Mode", + "DataSource": "PLCSDNSub", + "Type": "uint8" + }, + "GA_FHPS_Current_Prot_Mode_b": { + "DataSource": "ConfActualDB", + "Alias": "GA_FHPS_Current_Prot_Mode", + "Type": "uint8" + }, + "GB_FHPS_Voltage_Range_a": { + "Alias": "GB_FHPS_Voltage_Range", + "DataSource": "PLCSDNSub", + "Type": "uint8" + }, + "GB_FHPS_Voltage_Range_b": { + "DataSource": "ConfActualDB", + "Alias": "GB_FHPS_Voltage_Range", + "Type": "uint8" + }, + "GB_FHPS_Current_Prot_Mode_a": { + "Alias": "GB_FHPS_Current_Prot_Mode", + "DataSource": "PLCSDNSub", + "Type": "uint8" + }, + "GB_FHPS_Current_Prot_Mode_b": { + "DataSource": "ConfActualDB", + "Alias": "GB_FHPS_Current_Prot_Mode", + "Type": "uint8" + } + }, + "OutputSignals": { + "State": { + "Type": "uint8", + "DataSource": "PLCSDNPub", + "Alias": "GCOM_FCT_CFG_MISMATCH" + } + } + }, + "+StateConstantGAM": { + "Class": "ConstantGAM", + "OutputSignals": { + "OSMState": { + "Default": 255, + "DataSource": "DDB1", + "Type": "uint8", + "Alias": "OSMState" + } + } + }, + "+AlarmMessageGAM": { + "Class": "MessageGAM", + "TriggerOnChange": 0, + "+Events": { + "Class": "ReferenceContainer", + "+GoToOffline": { + "Class": "EventConditionTrigger", + "EventTrigger": { + "CommandReset": 1 + }, + "+ResetAlarm": { + "Class": "Message", + "Function": "GoToOffline", + "Mode": "ExpectsReply", + "Destination": "OperationalStateMachine" + } + } + }, + "InputSignals": { + "CommandReset": { + "DataSource": "PLCSDNSub", + "Type": "uint8", + "Alias": "GCOM_FCT_RESET_ALARM_CMD" + } + }, + "OutputSignals": { + "PendingGoToState": { + "DataSource": "DDB1", + "Type": "uint32", + "Alias": "PendingGoToState" + } + } + }, + "+OnlineMessageGAM": { + "Class": "MessageGAM", + "TriggerOnChange": 0, + "+Events": { + "Class": "ReferenceContainer", + "+GoToAlarm_0": { + "Class": "EventConditionTrigger", + "EventTrigger": { + "CommandTrip": 1 + }, + "+MoveAlarm": { + "Class": "Message", + "Function": "GoToAlarm", + "Mode": "ExpectsReply", + "Destination": "OperationalStateMachine" + } + }, + "+GoToOffline": { + "Class": "EventConditionTrigger", + "EventTrigger": { + "CommandGoToState": 34 + }, + "+MoveOffline": { + "Class": "Message", + "Function": "GoToOffline", + "Mode": "ExpectsReply", + "Destination": "OperationalStateMachine" + } + }, + "+GoToAlarm_1": { + "Class": "EventConditionTrigger", + "EventTrigger": { + "CommandFCAllarm": 1 + }, + "+MoveAlarm": { + "Class": "Message", + "Function": "GoToAlarm", + "Mode": "ExpectsReply", + "Destination": "OperationalStateMachine" + } + } + }, + "InputSignals": { + "CommandGoToState": { + "DataSource": "PLCSDNSub", + "Type": "uint8", + "Alias": "GCOM_FCT_STBY_WAITTRIG_ONLINE" + }, + "CommandTrip": { + "DataSource": "PLCSDNSubBits", + "Type": "uint8", + "Alias": "GCOM_FCT_Fast_Controller_Trip" + }, + "CommandFCAllarm": { + "DataSource": "PLCSDNPubBits", + "Type": "uint8", + "Alias": "GCOM_FCT_Fast_Controller_Alarm" + } + }, + "OutputSignals": { + "PendingGoToState": { + "DataSource": "DDB1", + "Type": "uint32", + "Alias": "PendingGoToState" + }, + "PendingTrip": { + "DataSource": "DDB1", + "Type": "uint32", + "Alias": "PendingTrip" + }, + "PendingAlarm": { + "DataSource": "DDB1", + "Type": "uint32", + "Alias": "PendingAlarm" + } + } + }, + "+RTIOGAM": { + "Class": "IOGAM", + "InputSignals": { + "Time": { + "Frequency": 100, + "DataSource": "RTTimer", + "Type": "uint32", + "Alias": "Time" + }, + "Command0": { + "DataSource": "ABDB", + "Type": "uint8", + "Alias": "Command" + }, + "Command1": { + "DataSource": "ABDB", + "Type": "uint8", + "Alias": "Command" + } + }, + "OutputSignals": { + "Time": { + "DataSource": "OnlineDB", + "Type": "uint32", + "Alias": "Time" + }, + "Command": { + "DataSource": "OnlineDB", + "Type": "uint8", + "Alias": "Command" + }, + "Acknowledge": { + "DataSource": "ABDB", + "Type": "uint8", + "Alias": "Acknowledge" + } + } + }, + "+RTSMGAM": { + "Class": "JADA::RTStateMachineGAM", + "CycleTime": 10000, + "APSSWONDelay": 1000, + "BPSSWONDelay": 1000, + "MHVPSSWONDelay": 10000, + "APSSWOFFDelay": 1000, + "FULLSWOFFDelay": 10000, + "PLCTimeout": 100000000, + "InputSignals": { + "Mode": { + "Type": "uint8", + "DataSource": "ABDB", + "Alias": "Mode" + }, + "APS_A_Status": { + "Type": "uint8", + "DataSource": "ABDB", + "Alias": "APS_A_Status" + }, + "APS_B_Status": { + "Type": "uint8", + "DataSource": "ABDB", + "Alias": "APS_B_Status" + }, + "BPS_A_Status": { + "Type": "uint8", + "DataSource": "ABDB", + "Alias": "BPS_A_Status" + }, + "BPS_B_Status": { + "Type": "uint8", + "DataSource": "ABDB", + "Alias": "BPS_B_Status" + }, + "MHVPS_Status": { + "Type": "uint8", + "DataSource": "ABDB", + "Alias": "MHVPS_Status" + }, + "Command": { + "Type": "uint8", + "DataSource": "OnlineDB", + "Alias": "Command" + }, + "PLCState": { + "Type": "uint8", + "DataSource": "ABDB", + "Alias": "PLCState" + }, + "PLCSubState": { + "Type": "uint8", + "DataSource": "ABDB", + "Alias": "PLCSubState" + }, + "PulseLength": { + "Type": "uint32", + "DataSource": "ABDB", + "Alias": "PulseLength" + } + }, + "OutputSignals": { + "APS_A_Switch": { + "Type": "uint8", + "DataSource": "ABDB", + "Alias": "APS_A_Switch" + }, + "APS_B_Switch": { + "Type": "uint8", + "DataSource": "ABDB", + "Alias": "APS_B_Switch" + }, + "BPS_A_Switch": { + "Type": "uint8", + "DataSource": "ABDB", + "Alias": "BPS_A_Switch" + }, + "BPS_B_Switch": { + "Type": "uint8", + "DataSource": "ABDB", + "Alias": "BPS_B_Switch" + }, + "MHVPS_Switch": { + "Type": "uint8", + "DataSource": "ABDB", + "Alias": "MHVPS_Switch" + }, + "RTState": { + "Type": "uint8", + "DataSource": "ABDB", + "Alias": "RTState" + }, + "RTSubState": { + "Type": "uint8", + "DataSource": "ABDB", + "Alias": "RTSubState" + }, + "ShotTime": { + "Type": "uint32", + "DataSource": "ABDB", + "Alias": "ShotTime" + } + } + }, + "+APS_A_BitMapper": { + "Class": "IOExt::CompactBitGAM", + "InputSignals": { + "APS_A_Ready": { + "DataSource": "DDB1", + "Type": "uint8", + "Alias": "APS_A_Ready" + }, + "APS_A_Fault": { + "DataSource": "DDB1", + "Type": "uint8", + "Alias": "APS_A_Fault" + }, + "Unused6Bit": { + "NumberOfElements": 6, + "DataSource": "DDB1", + "Type": "uint8", + "Alias": "Unused6Bit" + } + }, + "OutputSignals": { + "APS_A_Status": { + "DataSource": "ABDB", + "Type": "uint8", + "Alias": "APS_A_Status" + } + } + }, + "+BPS_A_BitMapper": { + "Class": "IOExt::CompactBitGAM", + "InputSignals": { + "BPS_A_Ready": { + "DataSource": "DDB1", + "Type": "uint8", + "Alias": "BPS_A_Ready" + }, + "BPS_A_Fault": { + "DataSource": "DDB1", + "Type": "uint8", + "Alias": "BPS_A_Fault" + }, + "Unused6Bit": { + "NumberOfElements": 6, + "DataSource": "DDB1", + "Type": "uint8", + "Alias": "Unused6Bit" + } + }, + "OutputSignals": { + "BPS_A_Status": { + "DataSource": "ABDB", + "Type": "uint8", + "Alias": "BPS_A_Status" + } + } + }, + "+APS_B_BitMapper": { + "Class": "IOExt::CompactBitGAM", + "InputSignals": { + "APS_B_Ready": { + "DataSource": "DDB1", + "Type": "uint8", + "Alias": "APS_B_Ready" + }, + "APS_B_Fault": { + "DataSource": "DDB1", + "Type": "uint8", + "Alias": "APS_B_Fault" + }, + "Unused6Bit": { + "NumberOfElements": 6, + "DataSource": "DDB1", + "Type": "uint8", + "Alias": "Unused6Bit" + } + }, + "OutputSignals": { + "APS_B_Status": { + "DataSource": "ABDB", + "Type": "uint8", + "Alias": "APS_B_Status" + } + } + }, + "+BPS_B_BitMapper": { + "Class": "IOExt::CompactBitGAM", + "InputSignals": { + "BPS_B_Ready": { + "DataSource": "DDB1", + "Type": "uint8", + "Alias": "BPS_B_Ready" + }, + "BPS_B_Fault": { + "DataSource": "DDB1", + "Type": "uint8", + "Alias": "BPS_B_Fault" + }, + "Unused6Bit": { + "NumberOfElements": 6, + "DataSource": "DDB1", + "Type": "uint8", + "Alias": "Unused6Bit" + } + }, + "OutputSignals": { + "BPS_B_Status": { + "DataSource": "ABDB", + "Type": "uint8", + "Alias": "BPS_B_Status" + } + } + }, + "+MHVBitMapper": { + "Class": "IOExt::CompactBitGAM", + "InputSignals": { + "MHVPS_Ready": { + "DataSource": "DDB1", + "Type": "uint8", + "Alias": "MHVPS_Ready" + }, + "MHVPS_Fault": { + "DataSource": "DDB1", + "Type": "uint8", + "Alias": "MHVPS_Fault" + }, + "Unused6Bit": { + "NumberOfElements": 6, + "DataSource": "DDB1", + "Type": "uint8", + "Alias": "Unused6Bit" + } + }, + "OutputSignals": { + "MHVPS_Status": { + "DataSource": "ABDB", + "Type": "uint8", + "Alias": "MHVPS_Status" + } + } + }, + "+AsyncCommandMapperGAM": { + "Class": "CommandMapper", + "AutoReset": 0, + "RestValue": 0, + "InputSignals": { + "Acknowledge": { + "Type": "uint8", + "DataSource": "ABDB", + "Alias": "Acknowledge" + }, + "CMD_Online": { + "Value": 255, + "Command": 255, + "DataSource": "PLCSDNSub", + "Type": "uint8", + "Alias": "GCOM_FCT_STBY_WAITTRIG_ONLINE" + }, + "CMD_PowerOn": { + "Value": 221, + "Command": 2, + "DataSource": "PLCSDNSub", + "Type": "uint8", + "Alias": "GCOM_FCT_START_STOP_POWER_CMD" + }, + "CMD_PowerOff": { + "Value": 238, + "Command": 4, + "DataSource": "PLCSDNSub", + "Type": "uint8", + "Alias": "GCOM_FCT_START_STOP_POWER_CMD" + }, + "CMD_Pause": { + "Value": 85, + "Command": 4, + "DataSource": "PLCSDNSub", + "Type": "uint8", + "Alias": "GCOM_FCT_PAUSE_POWER_CMD" + }, + "CMD_Suspend": { + "Value": 170, + "Command": 4, + "DataSource": "PLCSDNSub", + "Type": "uint8", + "Alias": "GCOM_FCT_SUSPEND_RESUME_CMD" + }, + "CMD_Reset": { + "Value": 51, + "Command": 15, + "DataSource": "PLCSDNSub", + "Type": "uint8", + "Alias": "GCOM_FCT_STBY_WAITTRIG_ONLINE" + }, + "CMD_Abort": { + "Value": 136, + "Command": 4, + "DataSource": "PLCSDNSub", + "Type": "uint8", + "Alias": "GCOM_FCT_ABORT_CMD" + }, + "CMD_Reset_Alarm": { + "Value": 1, + "Command": 31, + "DataSource": "PLCSDNSub", + "Type": "uint8", + "Alias": "GCOM_FCT_RESET_ALARM_CMD" + } + }, + "OutputSignals": { + "Command": { + "Type": "uint8", + "DataSource": "ABDB", + "Alias": "Command" + } + } + }, + "+SyncCommandMapperGAM": { + "Class": "CommandMapper", + "AutoReset": 0, + "RestValue": 0, + "InputSignals": { + "Acknowledge": { + "Type": "uint8", + "DataSource": "ABDB", + "Alias": "Acknowledge" + }, + "CMD_Online": { + "Value": 255, + "Command": 255, + "Priority": 50, + "DataSource": "ABDB", + "Type": "uint8", + "Alias": "ECPCCommand" + }, + "CMD_PowerOn": { + "Value": 221, + "Command": 2, + "Priority": 80, + "DataSource": "ABDB", + "Type": "uint8", + "Alias": "ECPCCommand" + }, + "CMD_PowerOff": { + "Value": 238, + "Command": 204, + "Priority": 96, + "DataSource": "ABDB", + "Type": "uint8", + "Alias": "ECPCCommand" + }, + "CMD_Pause": { + "Value": 85, + "Command": 3, + "Priority": 97, + "DataSource": "ABDB", + "Type": "uint8", + "Alias": "ECPCCommand" + }, + "CMD_End": { + "Value": 135, + "Command": 4, + "Priority": 99, + "DataSource": "ABDB", + "Type": "uint8", + "Alias": "ECPCCommand" + }, + "CMD_Reset": { + "Value": 51, + "Command": 15, + "Priority": 100, + "DataSource": "PLCSDNSub", + "Type": "uint8", + "Alias": "GCOM_FCT_STBY_WAITTRIG_ONLINE" + }, + "CMD_Reset_Alarm": { + "Value": 1, + "Command": 31, + "DataSource": "PLCSDNSub", + "Type": "uint8", + "Alias": "GCOM_FCT_RESET_ALARM_CMD" + }, + "CMD_Suspend": { + "Value": 170, + "Command": 1, + "Priority": 98, + "DataSource": "PLCSDNSub", + "Type": "uint8", + "Alias": "GCOM_FCT_SUSPEND_RESUME_CMD" + } + }, + "OutputSignals": { + "Command": { + "Type": "uint8", + "DataSource": "ABDB", + "Alias": "Command" + } + } + }, + "+PLCHandshakeGAM": { + "Class": "IOGAM", + "InputSignals": { + "ABORT_CMD": { + "Trigger": 1, + "DataSource": "PLCSDNSub", + "Type": "uint8", + "Alias": "GCOM_FCT_ABORT_CMD" + }, + "LOAD_CMD": { + "DataSource": "PLCSDNSub", + "Type": "uint8", + "Alias": "GCOM_FCT_LOAD_CMD" + }, + "STBY_WAITTRIG_ONLINE": { + "DataSource": "PLCSDNSub", + "Type": "uint8", + "Alias": "GCOM_FCT_STBY_WAITTRIG_ONLINE" + }, + "START_STOP_POWER_CMD": { + "DataSource": "PLCSDNSub", + "Type": "uint8", + "Alias": "GCOM_FCT_START_STOP_POWER_CMD" + }, + "PAUSE_POWER_CMD": { + "DataSource": "PLCSDNSub", + "Type": "uint8", + "Alias": "GCOM_FCT_PAUSE_POWER_CMD" + }, + "SUSPEND_RESUME_CMD": { + "DataSource": "PLCSDNSub", + "Type": "uint8", + "Alias": "GCOM_FCT_SUSPEND_RESUME_CMD" + }, + "SEGREGATION_CMD": { + "DataSource": "PLCSDNSub", + "Type": "uint8", + "Alias": "GCOM_FCT_SEGREGATION_CMD" + }, + "RESET_ALARM_CMD": { + "DataSource": "PLCSDNSub", + "Type": "uint8", + "Alias": "GCOM_FCT_RESET_ALARM_CMD" + }, + "GA_CCPS_OPERATION_CMD": { + "DataSource": "PLCSDNSub", + "Type": "uint8", + "Alias": "GA_CCPS_OPERATION_CMD" + }, + "GA_CCPS_CONFIG_SEQ_CMD": { + "DataSource": "PLCSDNSub", + "Type": "uint8", + "Alias": "GA_CCPS_CONFIG_SEQ_CMD" + }, + "GA_FHPS_RAMP_CMD": { + "DataSource": "PLCSDNSub", + "Type": "uint8", + "Alias": "GA_FHPS_RAMP_CMD" + }, + "GA_FHPS_CONFIG_SEQ_CMD": { + "DataSource": "PLCSDNSub", + "Type": "uint8", + "Alias": "GA_FHPS_CONFIG_SEQ_CMD" + }, + "GA_MCPS_RAMP_CMD": { + "DataSource": "PLCSDNSub", + "Type": "uint8", + "Alias": "GA_MCPS_RAMP_CMD" + }, + "GA_MCPS_CONFIG_CMD": { + "DataSource": "PLCSDNSub", + "Type": "uint8", + "Alias": "GA_MCPS_CONFIG_CMD" + }, + "GA_MCPS_HOLD_CMD": { + "DataSource": "PLCSDNSub", + "Type": "uint8", + "Alias": "GA_MCPS_HOLD_CMD" + }, + "GA_GCPS_RAMP_CMD": { + "DataSource": "PLCSDNSub", + "Type": "uint8", + "Alias": "GA_GCPS_RAMP_CMD" + }, + "GA_GCPS_CONFIG_CMD": { + "DataSource": "PLCSDNSub", + "Type": "uint8", + "Alias": "GA_GCPS_CONFIG_CMD" + }, + "GA_GCPS_HOLD_CMD": { + "DataSource": "PLCSDNSub", + "Type": "uint8", + "Alias": "GA_GCPS_HOLD_CMD" + }, + "GB_CCPS_OPERATION_CMD": { + "DataSource": "PLCSDNSub", + "Type": "uint8", + "Alias": "GB_CCPS_OPERATION_CMD" + }, + "GB_CCPS_CONFIG_SEQ_CMD": { + "DataSource": "PLCSDNSub", + "Type": "uint8", + "Alias": "GB_CCPS_CONFIG_SEQ_CMD" + }, + "GB_FHPS_RAMP_CMD": { + "DataSource": "PLCSDNSub", + "Type": "uint8", + "Alias": "GB_FHPS_RAMP_CMD" + }, + "GB_FHPS_CONFIG_SEQ_CMD": { + "DataSource": "PLCSDNSub", + "Type": "uint8", + "Alias": "GB_FHPS_CONFIG_SEQ_CMD" + }, + "GB_MCPS_RAMP_CMD": { + "DataSource": "PLCSDNSub", + "Type": "uint8", + "Alias": "GB_MCPS_RAMP_CMD" + }, + "GB_MCPS_CONFIG_CMD": { + "DataSource": "PLCSDNSub", + "Type": "uint8", + "Alias": "GB_MCPS_CONFIG_CMD" + }, + "GB_MCPS_HOLD_CMD": { + "DataSource": "PLCSDNSub", + "Type": "uint8", + "Alias": "GB_MCPS_HOLD_CMD" + }, + "GB_GCPS_RAMP_CMD": { + "DataSource": "PLCSDNSub", + "Type": "uint8", + "Alias": "GB_GCPS_RAMP_CMD" + }, + "GB_GCPS_CONFIG_CMD": { + "DataSource": "PLCSDNSub", + "Type": "uint8", + "Alias": "GB_GCPS_CONFIG_CMD" + }, + "GB_GCPS_HOLD_CMD": { + "DataSource": "PLCSDNSub", + "Type": "uint8", + "Alias": "GB_GCPS_HOLD_CMD" + } + }, + "OutputSignals": { + "ACK_ABORT_CMD": { + "DataSource": "PLCSDNPub", + "Type": "uint8", + "Alias": "ACK_GCOM_FCT_ABORT_CMD" + }, + "ACK_LOAD_CMD": { + "DataSource": "PLCSDNPub", + "Type": "uint8", + "Alias": "ACK_GCOM_FCT_LOAD_CMD" + }, + "ACK_STBY_WAITTRIG_ONLINE": { + "DataSource": "PLCSDNPub", + "Type": "uint8", + "Alias": "ACK_GCOM_FCT_STBY_WAITTRIG_ONLINE" + }, + "ACK_START_STOP_POWER_CMD": { + "DataSource": "PLCSDNPub", + "Type": "uint8", + "Alias": "ACK_GCOM_FCT_START_STOP_POWER_CMD" + }, + "ACK_PAUSE_POWER_CMD": { + "DataSource": "PLCSDNPub", + "Type": "uint8", + "Alias": "ACK_GCOM_FCT_PAUSE_POWER_CMD" + }, + "ACK_SUSPEND_RESUME_CMD": { + "DataSource": "PLCSDNPub", + "Type": "uint8", + "Alias": "ACK_GCOM_FCT_SUSPEND_RESUME_CMD" + }, + "ACK_SEGREGATION_CMD": { + "DataSource": "PLCSDNPub", + "Type": "uint8", + "Alias": "ACK_GCOM_FCT_SEGREGATION_CMD" + }, + "ACK_RESET_ALARM_CMD": { + "DataSource": "PLCSDNPub", + "Type": "uint8", + "Alias": "ACK_GCOM_FCT_RESET_ALARM_CMD" + }, + "ACK_GA_CCPS_OPERATION_CMD": { + "DataSource": "PLCSDNPub", + "Type": "uint8", + "Alias": "ACK_GA_CCPS_OPERATION_CMD" + }, + "ACK_GA_CCPS_CONFIG_SEQ_CMD": { + "DataSource": "PLCSDNPub", + "Type": "uint8", + "Alias": "ACK_GA_CCPS_CONFIG_SEQ_CMD" + }, + "ACK_GA_FHPS_RAMP_CMD": { + "DataSource": "PLCSDNPub", + "Type": "uint8", + "Alias": "ACK_GA_FHPS_RAMP_CMD" + }, + "ACK_GA_FHPS_CONFIG_SEQ_CMD": { + "DataSource": "PLCSDNPub", + "Type": "uint8", + "Alias": "ACK_GA_FHPS_CONFIG_SEQ_CMD" + }, + "ACK_GA_MCPS_RAMP_CMD": { + "DataSource": "PLCSDNPub", + "Type": "uint8", + "Alias": "ACK_GA_MCPS_RAMP_CMD" + }, + "ACK_GA_MCPS_CONFIG_CMD": { + "DataSource": "PLCSDNPub", + "Type": "uint8", + "Alias": "ACK_GA_MCPS_CONFIG_CMD" + }, + "ACK_GA_MCPS_HOLD_CMD": { + "DataSource": "PLCSDNPub", + "Type": "uint8", + "Alias": "ACK_GA_MCPS_HOLD_CMD" + }, + "ACK_GA_GCPS_RAMP_CMD": { + "DataSource": "PLCSDNPub", + "Type": "uint8", + "Alias": "ACK_GA_GCPS_RAMP_CMD" + }, + "ACK_GA_GCPS_CONFIG_CMD": { + "DataSource": "PLCSDNPub", + "Type": "uint8", + "Alias": "ACK_GA_GCPS_CONFIG_CMD" + }, + "ACK_GA_GCPS_HOLD_CMD": { + "DataSource": "PLCSDNPub", + "Type": "uint8", + "Alias": "ACK_GA_GCPS_HOLD_CMD" + }, + "ACK_GB_CCPS_OPERATION_CMD": { + "DataSource": "PLCSDNPub", + "Type": "uint8", + "Alias": "ACK_GB_CCPS_OPERATION_CMD" + }, + "ACK_GB_CCPS_CONFIG_SEQ_CMD": { + "DataSource": "PLCSDNPub", + "Type": "uint8", + "Alias": "ACK_GB_CCPS_CONFIG_SEQ_CMD" + }, + "ACK_GB_FHPS_RAMP_CMD": { + "DataSource": "PLCSDNPub", + "Type": "uint8", + "Alias": "ACK_GB_FHPS_RAMP_CMD" + }, + "ACK_GB_FHPS_CONFIG_SEQ_CMD": { + "DataSource": "PLCSDNPub", + "Type": "uint8", + "Alias": "ACK_GB_FHPS_CONFIG_SEQ_CMD" + }, + "ACK_GB_MCPS_RAMP_CMD": { + "DataSource": "PLCSDNPub", + "Type": "uint8", + "Alias": "ACK_GB_MCPS_RAMP_CMD" + }, + "ACK_GB_MCPS_CONFIG_CMD": { + "DataSource": "PLCSDNPub", + "Type": "uint8", + "Alias": "ACK_GB_MCPS_CONFIG_CMD" + }, + "ACK_GB_MCPS_HOLD_CMD": { + "DataSource": "PLCSDNPub", + "Type": "uint8", + "Alias": "ACK_GB_MCPS_HOLD_CMD" + }, + "ACK_GB_GCPS_RAMP_CMD": { + "DataSource": "PLCSDNPub", + "Type": "uint8", + "Alias": "ACK_GB_GCPS_RAMP_CMD" + }, + "ACK_GB_GCPS_CONFIG_CMD": { + "DataSource": "PLCSDNPub", + "Type": "uint8", + "Alias": "ACK_GB_GCPS_CONFIG_CMD" + }, + "ACK_GB_GCPS_HOLD_CMD": { + "DataSource": "PLCSDNPub", + "Type": "uint8", + "Alias": "ACK_GB_GCPS_HOLD_CMD" + } + } + }, + "+PLCReadGAM": { + "Class": "IOGAM", + "InputSignals": { + "GCOM_SM_SM_OP_STATE": { + "DataSource": "PLCSDNSub", + "Type": "uint8", + "Alias": "GCOM_SM_SM_OP_STATE" + }, + "GCOM_SM_SM_EXEC_STATE": { + "DataSource": "PLCSDNSub", + "Type": "uint8", + "Alias": "GCOM_SM_SM_EXEC_STATE" + }, + "GCOM_GY_SEL": { + "DataSource": "PLCSDNSub", + "Type": "uint8", + "Alias": "GCOM_GY_SEL" + }, + "CPSA_FREQ": { + "DataSource": "PLCSDNSub", + "Type": "float32", + "Alias": "GA_CCPS_Frequency" + }, + "CPSB_FREQ": { + "DataSource": "PLCSDNSub", + "Type": "float32", + "Alias": "GB_CCPS_Frequency" + }, + "CPSA_AMPL": { + "DataSource": "PLCSDNSub", + "Type": "float32", + "Alias": "GA_CCPS_Amplitude" + }, + "CPSB_AMPL": { + "DataSource": "PLCSDNSub", + "Type": "float32", + "Alias": "GB_CCPS_Amplitude" + } + }, + "OutputSignals": { + "PLCState": { + "DataSource": "ABDB", + "Type": "uint8", + "Alias": "PLCState" + }, + "PLCSubState": { + "DataSource": "ABDB", + "Type": "uint8", + "Alias": "PLCSubState" + }, + "Mode": { + "DataSource": "ABDB", + "Type": "uint8", + "Alias": "Mode" + }, + "CPSA_FREQ": { + "DataSource": "AWFDB", + "Type": "float32", + "Alias": "CCPS_A_Frequency" + }, + "CPSB_FREQ": { + "DataSource": "AWFDB", + "Type": "float32", + "Alias": "CCPS_B_Frequency" + }, + "CPSA_AMPL": { + "DataSource": "AWFDB", + "Type": "float32", + "Alias": "CCPS_A_Amplitude" + }, + "CPSB_AMPL": { + "DataSource": "AWFDB", + "Type": "float32", + "Alias": "CCPS_B_Amplitude" + } + } + }, + "+PLCSDNPubCompactBitGAM": { + "Class": "IOExt::CompactBitGAM", + "InputSignals": { + "GCOM_FCT_Fast_Controller_Alarm": { + "DataSource": "PLCSDNPubBits", + "Type": "uint8", + "Alias": "GCOM_FCT_Fast_Controller_Alarm" + }, + "Alarm_Rcv_Spare_1": { + "DataSource": "PLCSDNPubBits", + "Type": "uint8", + "Alias": "Alarm_Rcv_Spare_1" + }, + "Alarm_Rcv_Spare_2": { + "DataSource": "PLCSDNPubBits", + "Type": "uint8", + "Alias": "Alarm_Rcv_Spare_2" + }, + "Alarm_Rcv_Spare_3": { + "DataSource": "PLCSDNPubBits", + "Type": "uint8", + "Alias": "Alarm_Rcv_Spare_3" + }, + "Alarm_Rcv_Spare_4": { + "DataSource": "PLCSDNPubBits", + "Type": "uint8", + "Alias": "Alarm_Rcv_Spare_4" + }, + "Alarm_Rcv_Spare_5": { + "DataSource": "PLCSDNPubBits", + "Type": "uint8", + "Alias": "Alarm_Rcv_Spare_5" + }, + "Alarm_Rcv_Spare_6": { + "DataSource": "PLCSDNPubBits", + "Type": "uint8", + "Alias": "Alarm_Rcv_Spare_6" + }, + "Alarm_Rcv_Spare_7": { + "DataSource": "PLCSDNPubBits", + "Type": "uint8", + "Alias": "Alarm_Rcv_Spare_7" + }, + "GA_CCPS_Alarm": { + "DataSource": "PLCSDNPubBits", + "Type": "uint8", + "Alias": "GA_CCPS_Alarm" + }, + "GA_CCPS_Current_Alarm": { + "DataSource": "PLCSDNPubBits", + "Type": "uint8", + "Alias": "GA_CCPS_Current_Alarm" + }, + "GA_FHPS_Alarm": { + "DataSource": "PLCSDNPubBits", + "Type": "uint8", + "Alias": "GA_FHPS_Alarm" + }, + "GA_MCPS_Alarm": { + "DataSource": "PLCSDNPubBits", + "Type": "uint8", + "Alias": "GA_MCPS_Alarm" + }, + "GA_GCPS_Alarm": { + "DataSource": "PLCSDNPubBits", + "Type": "uint8", + "Alias": "GA_GCPS_Alarm" + }, + "Alarm_Rcv_Spare_13": { + "DataSource": "PLCSDNPubBits", + "Type": "uint8", + "Alias": "Alarm_Rcv_Spare_13" + }, + "Alarm_Rcv_Spare_14": { + "DataSource": "PLCSDNPubBits", + "Type": "uint8", + "Alias": "Alarm_Rcv_Spare_14" + }, + "Alarm_Rcv_Spare_15": { + "DataSource": "PLCSDNPubBits", + "Type": "uint8", + "Alias": "Alarm_Rcv_Spare_15" + }, + "GB_CCPS_Alarm": { + "DataSource": "PLCSDNPubBits", + "Type": "uint8", + "Alias": "GB_CCPS_Alarm" + }, + "GB_CCPS_Current_Alarm": { + "DataSource": "PLCSDNPubBits", + "Type": "uint8", + "Alias": "GB_CCPS_Current_Alarm" + }, + "GB_FHPS_Alarm": { + "DataSource": "PLCSDNPubBits", + "Type": "uint8", + "Alias": "GB_FHPS_Alarm" + }, + "GB_MCPS_Alarm": { + "DataSource": "PLCSDNPubBits", + "Type": "uint8", + "Alias": "GB_MCPS_Alarm" + }, + "GB_GCPS_Alarm": { + "DataSource": "PLCSDNPubBits", + "Type": "uint8", + "Alias": "GB_GCPS_Alarm" + }, + "Alarm_Rcv_Spare_21": { + "DataSource": "PLCSDNPubBits", + "Type": "uint8", + "Alias": "Alarm_Rcv_Spare_21" + }, + "Alarm_Rcv_Spare_22": { + "DataSource": "PLCSDNPubBits", + "Type": "uint8", + "Alias": "Alarm_Rcv_Spare_22" + }, + "Alarm_Rcv_Spare_23": { + "DataSource": "PLCSDNPubBits", + "Type": "uint8", + "Alias": "Alarm_Rcv_Spare_23" + }, + "GA_CCPS_YFLT_COM_A": { + "DataSource": "PLCSDNPubBits", + "Type": "uint8", + "Alias": "GA_CCPS_YFLT_COM_A" + }, + "GA_FHPS_YFLT_COM_A": { + "DataSource": "PLCSDNPubBits", + "Type": "uint8", + "Alias": "GA_FHPS_YFLT_COM_A" + }, + "GA_MCPS_YFLT_COM_A": { + "DataSource": "PLCSDNPubBits", + "Type": "uint8", + "Alias": "GA_MCPS_YFLT_COM_A" + }, + "GA_GCPS_YFLT_COM_A": { + "DataSource": "PLCSDNPubBits", + "Type": "uint8", + "Alias": "GA_GCPS_YFLT_COM_A" + }, + "GB_CCPS_YFLT_COM_A": { + "DataSource": "PLCSDNPubBits", + "Type": "uint8", + "Alias": "GB_CCPS_YFLT_COM_A" + }, + "GB_FHPS_YFLT_COM_A": { + "DataSource": "PLCSDNPubBits", + "Type": "uint8", + "Alias": "GB_FHPS_YFLT_COM_A" + }, + "GB_MCPS_YFLT_COM_A": { + "DataSource": "PLCSDNPubBits", + "Type": "uint8", + "Alias": "GB_MCPS_YFLT_COM_A" + }, + "GB_GCPS_YFLT_COM_A": { + "DataSource": "PLCSDNPubBits", + "Type": "uint8", + "Alias": "GB_GCPS_YFLT_COM_A" + } + }, + "OutputSignals": { + "ByteGroup0": { + "DataSource": "PLCSDNPub", + "Type": "uint8", + "Alias": "ByteGroup0" + }, + "ByteGroup1": { + "DataSource": "PLCSDNPub", + "Type": "uint8", + "Alias": "ByteGroup1" + }, + "ByteGroup2": { + "DataSource": "PLCSDNPub", + "Type": "uint8", + "Alias": "ByteGroup2" + }, + "ByteGroup3": { + "DataSource": "PLCSDNPub", + "Type": "uint8", + "Alias": "ByteGroup3" + } + } + }, + "+PLCSDNSubExtractBitGAM": { + "Class": "IOExt::ExtractBitGAM", + "InputSignals": { + "ByteGroup0": { + "DataSource": "PLCSDNSub", + "Type": "uint8", + "Alias": "ByteGroup0" + }, + "ByteGroup1": { + "DataSource": "PLCSDNSub", + "Type": "uint8", + "Alias": "ByteGroup1" + }, + "ByteGroup2": { + "DataSource": "PLCSDNSub", + "Type": "uint8", + "Alias": "ByteGroup2" + } + }, + "OutputSignals": { + "GCOM_FCT_Fast_Controller_Trip": { + "DataSource": "PLCSDNSubBits", + "Type": "uint8", + "Alias": "GCOM_FCT_Fast_Controller_Trip" + }, + "Alarm_Send_Spare_1": { + "DataSource": "PLCSDNSubBits", + "Type": "uint8", + "Alias": "Alarm_Send_Spare_1" + }, + "Alarm_Send_Spare_2": { + "DataSource": "PLCSDNSubBits", + "Type": "uint8", + "Alias": "Alarm_Send_Spare_2" + }, + "Alarm_Send_Spare_3": { + "DataSource": "PLCSDNSubBits", + "Type": "uint8", + "Alias": "Alarm_Send_Spare_3" + }, + "Alarm_Send_Spare_4": { + "DataSource": "PLCSDNSubBits", + "Type": "uint8", + "Alias": "Alarm_Send_Spare_4" + }, + "Alarm_Send_Spare_5": { + "DataSource": "PLCSDNSubBits", + "Type": "uint8", + "Alias": "Alarm_Send_Spare_5" + }, + "Alarm_Send_Spare_6": { + "DataSource": "PLCSDNSubBits", + "Type": "uint8", + "Alias": "Alarm_Send_Spare_6" + }, + "Alarm_Send_Spare_7": { + "DataSource": "PLCSDNSubBits", + "Type": "uint8", + "Alias": "Alarm_Send_Spare_7" + }, + "GA_CCPS_Trip": { + "DataSource": "PLCSDNSubBits", + "Type": "uint8", + "Alias": "GA_CCPS_Trip" + }, + "GA_FHPS_Trip": { + "DataSource": "PLCSDNSubBits", + "Type": "uint8", + "Alias": "GA_FHPS_Trip" + }, + "GA_MCPS_Trip": { + "DataSource": "PLCSDNSubBits", + "Type": "uint8", + "Alias": "GA_MCPS_Trip" + }, + "GA_GCPS_Trip": { + "DataSource": "PLCSDNSubBits", + "Type": "uint8", + "Alias": "GA_GCPS_Trip" + }, + "Alarm_Send_Spare_12": { + "DataSource": "PLCSDNSubBits", + "Type": "uint8", + "Alias": "Alarm_Send_Spare_12" + }, + "Alarm_Send_Spare_13": { + "DataSource": "PLCSDNSubBits", + "Type": "uint8", + "Alias": "Alarm_Send_Spare_13" + }, + "Alarm_Send_Spare_14": { + "DataSource": "PLCSDNSubBits", + "Type": "uint8", + "Alias": "Alarm_Send_Spare_14" + }, + "Alarm_Send_Spare_15": { + "DataSource": "PLCSDNSubBits", + "Type": "uint8", + "Alias": "Alarm_Send_Spare_15" + }, + "GB_CCPS_Trip": { + "DataSource": "PLCSDNSubBits", + "Type": "uint8", + "Alias": "GB_CCPS_Trip" + }, + "GB_FHPS_Trip": { + "DataSource": "PLCSDNSubBits", + "Type": "uint8", + "Alias": "GB_FHPS_Trip" + }, + "GB_MCPS_Trip": { + "DataSource": "PLCSDNSubBits", + "Type": "uint8", + "Alias": "GB_MCPS_Trip" + }, + "GB_GCPS_Trip": { + "DataSource": "PLCSDNSubBits", + "Type": "uint8", + "Alias": "GB_GCPS_Trip" + }, + "Alarm_Send_Spare_20": { + "DataSource": "PLCSDNSubBits", + "Type": "uint8", + "Alias": "Alarm_Send_Spare_20" + }, + "Alarm_Send_Spare_21": { + "DataSource": "PLCSDNSubBits", + "Type": "uint8", + "Alias": "Alarm_Send_Spare_21" + }, + "Alarm_Send_Spare_22": { + "DataSource": "PLCSDNSubBits", + "Type": "uint8", + "Alias": "Alarm_Send_Spare_22" + }, + "Alarm_Send_Spare_23": { + "DataSource": "PLCSDNSubBits", + "Type": "uint8", + "Alias": "Alarm_Send_Spare_23" + } + } + }, + "+SegStateGAM": { + "Class": "ConstantGAM", + "OutputSignals": { + "SegState": { + "Default": 225, + "DataSource": "DDB1", + "Type": "uint8", + "Alias": "SegState" + } + } + }, + "+ReferenceGAM": { + "Class": "ConstantGAM", + "OutputSignals": { + "hpsA_waveform": { + "NumberOfElements": 4, + "NumberOfDimensions": 1, + "Default": [ + 20.0, + 40.0, + 40.0, + 20.0 + ], + "DataSource": "WFDB", + "Type": "float32", + "Alias": "hpsA_wf_vals" + }, + "hpsB_waveform": { + "NumberOfElements": 4, + "NumberOfDimensions": 1, + "Default": [ + 18.0, + 30.0, + 30.0, + 18.0 + ], + "DataSource": "WFDB", + "Type": "float32", + "Alias": "hpsB_wf_vals" + }, + "hpsA_time": { + "NumberOfElements": 4, + "NumberOfDimensions": 1, + "Default": [ + 0, + 5000, + 1000000, + 1100000 + ], + "DataSource": "WFDB", + "Type": "uint32", + "Alias": "hpsA_wf_times" + }, + "hpsB_time": { + "NumberOfElements": 4, + "NumberOfDimensions": 1, + "Default": [ + 0, + 5000, + 900000, + 910000 + ], + "DataSource": "WFDB", + "Type": "uint32", + "Alias": "hpsB_wf_times" + } + } + }, + "+CPSARefGAM": { + "Class": "TriangularReferencesGAM", + "Symmetric": 0, + "Frequency": 1, + "InputSignals": { + "Frequency": { + "DataSource": "AWFDB", + "Type": "float32", + "Alias": "CCPS_A_Frequency" + }, + "Amplitude": { + "DataSource": "AWFDB", + "Type": "float32", + "Alias": "CCPS_A_Amplitude" + } + }, + "OutputSignals": { + "Timings": { + "NumberOfDimensions": 1, + "Type": "uint32", + "NumberOfElements": 3, + "DataSource": "WFDB", + "Alias": "cpsA_wf_times" + }, + "Values": { + "NumberOfDimensions": 1, + "Type": "float32", + "NumberOfElements": 3, + "DataSource": "WFDB", + "Alias": "cpsA_wf_vals" + } + } + }, + "+CPSAWaveformGAM": { + "Class": "WaveformGenGAM", + "Repeat": 1, + "InputSignals": { + "Enabled": { + "Type": "uint8", + "DataSource": "WFDB", + "Alias": "cpsA_On" + }, + "Time": { + "Type": "uint32", + "DataSource": "WFTimer", + "Alias": "Time" + }, + "Values": { + "NumberOfElements": 3, + "NumberOfDimensions": 1, + "Type": "float32", + "DataSource": "WFDB", + "Alias": "cpsA_wf_vals" + }, + "Times": { + "NumberOfElements": 3, + "NumberOfDimensions": 1, + "Type": "uint32", + "DataSource": "WFDB", + "Alias": "cpsA_wf_times" + } + }, + "OutputSignals": { + "Waveform": { + "Type": "float32", + "DataSource": "UDPPub", + "Alias": "cpsA_ref" + } + } + }, + "+CPSBRefGAM": { + "Class": "TriangularReferencesGAM", + "Symmetric": 0, + "Frequency": 1, + "InputSignals": { + "Frequency": { + "DataSource": "AWFDB", + "Type": "float32", + "Alias": "CCPS_B_Frequency" + }, + "Amplitude": { + "DataSource": "AWFDB", + "Type": "float32", + "Alias": "CCPS_B_Amplitude" + } + }, + "OutputSignals": { + "Timings": { + "NumberOfDimensions": 1, + "Type": "uint32", + "NumberOfElements": 3, + "DataSource": "WFDB", + "Alias": "cpsB_wf_times" + }, + "Values": { + "NumberOfDimensions": 1, + "Type": "float32", + "NumberOfElements": 3, + "DataSource": "WFDB", + "Alias": "cpsB_wf_vals" + } + } + }, + "+CPSBWaveformGAM": { + "Class": "WaveformGenGAM", + "Repeat": 1, + "InputSignals": { + "Enabled": { + "Type": "uint8", + "DataSource": "WFDB", + "Alias": "cpsB_On" + }, + "Time": { + "Type": "uint32", + "DataSource": "WFTimer", + "Alias": "Time" + }, + "Values": { + "NumberOfElements": 3, + "NumberOfDimensions": 1, + "Type": "float32", + "DataSource": "WFDB", + "Alias": "cpsB_wf_vals" + }, + "Times": { + "NumberOfElements": 3, + "NumberOfDimensions": 1, + "Type": "uint32", + "DataSource": "WFDB", + "Alias": "cpsB_wf_times" + } + }, + "OutputSignals": { + "Waveform": { + "Type": "float32", + "DataSource": "UDPPub", + "Alias": "cpsB_ref" + } + } + }, + "+HPSAWaveformGAM": { + "Class": "WaveformGenGAM", + "Repeat": 0, + "InputSignals": { + "Enabled": { + "Type": "uint8", + "DataSource": "WFDB", + "Alias": "hpsA_On" + }, + "Time": { + "Type": "uint32", + "DataSource": "ABDB", + "Alias": "ShotTime" + }, + "Values": { + "NumberOfElements": 4, + "NumberOfDimensions": 1, + "Type": "float32", + "DataSource": "WFDB", + "Alias": "hpsA_wf_vals" + }, + "Times": { + "NumberOfElements": 4, + "NumberOfDimensions": 1, + "Type": "uint32", + "DataSource": "WFDB", + "Alias": "hpsA_wf_times" + } + }, + "OutputSignals": { + "Waveform": { + "Type": "float32", + "DataSource": "UDPPub", + "Alias": "hpsA_ref" + } + } + }, + "+HPSBWaveformGAM": { + "Class": "WaveformGenGAM", + "Repeat": 0, + "InputSignals": { + "Enabled": { + "Type": "uint8", + "DataSource": "WFDB", + "Alias": "hpsB_On" + }, + "Time": { + "Type": "uint32", + "DataSource": "ABDB", + "Alias": "ShotTime" + }, + "Values": { + "NumberOfElements": 4, + "NumberOfDimensions": 1, + "Type": "float32", + "DataSource": "WFDB", + "Alias": "hpsB_wf_vals" + }, + "Times": { + "NumberOfElements": 4, + "NumberOfDimensions": 1, + "Type": "uint32", + "DataSource": "WFDB", + "Alias": "hpsB_wf_times" + } + }, + "OutputSignals": { + "Waveform": { + "Type": "float32", + "DataSource": "UDPPub", + "Alias": "hpsB_ref" + } + } + }, + "+WFIOGAM": { + "Class": "IOGAM", + "InputSignals": { + "GlobalTime": { + "Frequency": 1000, + "DataSource": "WFTimer", + "Type": "uint32", + "Alias": "Time" + }, + "aps_A0": { + "DataSource": "ABDB", + "Type": "uint8", + "Alias": "APS_A_Switch" + }, + "asp_B0": { + "DataSource": "ABDB", + "Type": "uint8", + "Alias": "APS_B_Switch" + }, + "aps_A1": { + "DataSource": "ABDB", + "Type": "uint8", + "Alias": "APS_A_Switch" + }, + "asp_B1": { + "DataSource": "ABDB", + "Type": "uint8", + "Alias": "APS_B_Switch" + }, + "bps_A": { + "DataSource": "ABDB", + "Type": "uint8", + "Alias": "BPS_A_Switch" + }, + "bsp_B": { + "DataSource": "ABDB", + "Type": "uint8", + "Alias": "BPS_B_Switch" + }, + "mhvps": { + "DataSource": "ABDB", + "Type": "uint8", + "Alias": "MHVPS_Switch" + } + }, + "OutputSignals": { + "Time": { + "DataSource": "UDPPub", + "Type": "uint32", + "Alias": "time" + }, + "aps_A0": { + "DataSource": "WFDB", + "Type": "uint8", + "Alias": "apsA_Sw" + }, + "aps_B0": { + "DataSource": "WFDB", + "Type": "uint8", + "Alias": "apsB_Sw" + }, + "aps_A1": { + "DataSource": "UDPPub", + "Type": "uint8", + "Alias": "APS_A" + }, + "asp_B1": { + "DataSource": "UDPPub", + "Type": "uint8", + "Alias": "APS_B" + }, + "bps_A": { + "DataSource": "UDPPub", + "Type": "uint8", + "Alias": "BPS_A" + }, + "bsp_B": { + "DataSource": "UDPPub", + "Type": "uint8", + "Alias": "BPS_B" + }, + "mhvps": { + "DataSource": "UDPPub", + "Type": "uint8", + "Alias": "MHVPS" + } + } + }, + "+CCPSOnGAM": { + "Class": "MathExpressionGAM", + "InputSignals": { + "Mode": { + "DataSource": "ABDB", + "Type": "uint8", + "Alias": "Mode" + } + }, + "OutputSignals": { + "cpsA_On": { + "DataSource": "WFDB", + "Type": "uint8", + "Alias": "cpsA_On" + }, + "cpsB_On": { + "DataSource": "WFDB", + "Type": "uint8", + "Alias": "cpsB_On" + } + }, + "Expression": "cpsA_On = (uint8)((Mode == (uint8)1) || (Mode == (uint8)3));\ncpsB_On = (uint8)((Mode == (uint8)2) || (Mode == (uint8)3));" + }, + "+FHPSAOnGAM": { + "Class": "ChaiGAM", + "Code": "fun() {\n\tif (State == 105) { \n\t\tCommand = 3; \n\t} else if (APSSwitch == 3){ \n\t\tCommand = 1; \n\t} else { \n\t\tCommand = 0; \n\t} \n}", + "InputSignals": { + "State": { + "Type": "uint8", + "DataSource": "ABDB", + "Alias": "RTState" + }, + "APSSwitch": { + "Type": "uint8", + "DataSource": "WFDB", + "Alias": "apsA_Sw" + } + }, + "OutputSignals": { + "Command": { + "Type": "uint8", + "DataSource": "WFDB", + "Alias": "hpsA_On" + } + } + }, + "+FHPSBOnGAM": { + "Class": "ChaiGAM", + "Code": "fun() {\n\tif (State == 105) { \n\t\tCommand = 3; \n\t} else if (APSSwitch == 3){ \n\t\tCommand = 1; \n\t} else { \n\t\tCommand = 0; \n\t} \n}", + "InputSignals": { + "State": { + "Type": "uint8", + "DataSource": "ABDB", + "Alias": "RTState" + }, + "APSSwitch": { + "Type": "uint8", + "DataSource": "WFDB", + "Alias": "apsB_Sw" + } + }, + "OutputSignals": { + "Command": { + "Type": "uint8", + "DataSource": "WFDB", + "Alias": "hpsB_On" + } + } + }, + "+LoggerGAM": { + "Class": "IOGAM", + "InputSignals": { + "Amplitude": { + "DataSource": "ConfActualDB", + "Type": "float32", + "Alias": "GA_CCPS_Amplitude" + }, + "OSMState": { + "DataSource": "DDB1", + "Type": "uint8", + "Alias": "OSMState" + }, + "RTSMState": { + "DataSource": "DDB1", + "Type": "uint8", + "Alias": "RTSMState" + }, + "RTSMSubState": { + "DataSource": "DDB1", + "Type": "uint8", + "Alias": "RTSMSubState" + }, + "SegState": { + "DataSource": "DDB1", + "Type": "uint8", + "Alias": "SegState" + }, + "PLCState": { + "DataSource": "ABDB", + "Type": "uint8", + "Alias": "PLCState" + }, + "PLCSubState": { + "DataSource": "ABDB", + "Type": "uint8", + "Alias": "PLCSubState" + }, + "Segregation_CMD": { + "DataSource": "PLCSDNSub", + "Type": "uint8", + "Alias": "GCOM_FCT_SEGREGATION_CMD" + }, + "Pulse_Length": { + "DataSource": "PLCSDNSub", + "Type": "float32", + "Alias": "GCOM_HVPS_Pulse_Length" + }, + "PulseLength": { + "DataSource": "ABDB", + "Type": "uint32", + "Alias": "PulseLength" + }, + "MoveState_CMD": { + "DataSource": "PLCSDNSub", + "Type": "uint8", + "Alias": "GCOM_FCT_STBY_WAITTRIG_ONLINE" + }, + "Command": { + "DataSource": "ABDB", + "Type": "uint8", + "Alias": "Command" + }, + "Ack": { + "DataSource": "DDB1", + "Type": "uint8", + "Alias": "LOAD_DONE" + }, + "Abort": { + "DataSource": "PLCSDNSub", + "Type": "uint8", + "Alias": "GCOM_FCT_ABORT_CMD" + }, + "GA_CCPS_Config_Command": { + "DataSource": "PLCSDNSub", + "Type": "uint8", + "Alias": "GA_CCPS_CONFIG_SEQ_CMD" + }, + "GA_CCPS_Config_Status": { + "DataSource": "DDB1", + "Type": "uint8", + "Alias": "GA_CCPS_Config_Status" + }, + "ShotTime": { + "DataSource": "ABDB", + "Type": "uint32", + "Alias": "ShotTime" + } + }, + "OutputSignals": { + "Amplitude": { + "DataSource": "Logger", + "Type": "float32", + "Alias": "Amplitude" + }, + "FC_OP_STATE": { + "DataSource": "Logger", + "Type": "uint8", + "Alias": "FC_OP_STATE" + }, + "FC_RT_STATE": { + "DataSource": "Logger", + "Type": "uint8", + "Alias": "FC_RT_STATE" + }, + "FC_RT_SUB_STATE": { + "DataSource": "Logger", + "Type": "uint8", + "Alias": "FC_RT_SUB_STATE" + }, + "SEG_STATE": { + "DataSource": "Logger", + "Type": "uint8", + "Alias": "SEG_STATE" + }, + "PLCState": { + "DataSource": "Logger", + "Type": "uint8", + "Alias": "PLCState" + }, + "PLCSubState": { + "DataSource": "Logger", + "Type": "uint8", + "Alias": "PLCSubState" + }, + "PLCSegCMD": { + "DataSource": "Logger", + "Type": "uint8", + "Alias": "PLCSegCMD" + }, + "PulseLength": { + "DataSource": "Logger", + "Type": "float32", + "Alias": "PulseLength" + }, + "Uint32Length": { + "DataSource": "Logger", + "Type": "uint32", + "Alias": "Uint32Length" + }, + "OPStateCommand": { + "DataSource": "Logger", + "Type": "uint8", + "Alias": "OPStateCommand" + }, + "Command": { + "DataSource": "Logger", + "Type": "uint8", + "Alias": "Command" + }, + "Ack": { + "DataSource": "Logger", + "Type": "uint8", + "Alias": "Acknowledge" + }, + "Abort": { + "DataSource": "Logger", + "Type": "uint8", + "Alias": "Abort" + }, + "CCPSAConfigCommand": { + "DataSource": "Logger", + "Type": "uint8", + "Alias": "GA_CCPS_CONFIG_SEQ_CMD" + }, + "CCPSAConfigStatus": { + "DataSource": "Logger", + "Type": "uint8", + "Alias": "GA_CCPS_CONFIG_SEQ_STAT" + }, + "ShotTime": { + "DataSource": "Logger", + "Type": "uint32", + "Alias": "ShotTime" + } + } + }, + "+ProtTimerGAM": { + "Class": "IOGAM", + "InputSignals": { + "Time": { + "Frequency": 10, + "DataSource": "ProtTimer", + "Type": "uint32", + "Alias": "Time" + } + }, + "OutputSignals": { + "Time": { + "DataSource": "ProtDB", + "Type": "uint32", + "Alias": "Time" + } + } + }, + "+ProtectionGAM": { + "Class": "MonitorGAM", + "NormalValue": 0, + "WarningValue": 1, + "ErrorValue": 2, + "InputSignals": { + "PLCSDNState": { + "WarningLevel": 1, + "NumberOfElements": 48, + "ErrorLevel": 10, + "DataSource": "ProtectionAB", + "Type": "uint8", + "Alias": "PLCSDNHeader" + } + }, + "OutputSignals": { + "CommState": { + "DataSource": "ProtDB", + "Type": "uint8", + "Alias": "CommState" + } + } + }, + "+AuxConfigStatusGAM": { + "Class": "ConstantGAM", + "OutputSignals": { + "GA_CCPS_ope": { + "Default": 0, + "DataSource": "DDB1", + "Type": "uint8", + "Alias": "GA_CCPS_Operation_Status" + }, + "GB_CCPS_ope": { + "Default": 0, + "DataSource": "DDB1", + "Type": "uint8", + "Alias": "GB_CCPS_Operation_Status" + } + } + }, + "+Conf_GA_CCPS": { + "Class": "TriggeredIOGAM", + "InputSignals": { + "Trigger": { + "Type": "uint8", + "DataSource": "PLCSDNSub", + "Alias": "GA_CCPS_CONFIG_SEQ_CMD" + }, + "GA_CCPS_Voltage_Max": { + "DataSource": "ConfActualDB", + "Type": "float32", + "Alias": "GA_CCPS_Voltage_Max" + }, + "GA_CCPS_Voltage_Min": { + "DataSource": "ConfActualDB", + "Type": "float32", + "Alias": "GA_CCPS_Voltage_Min" + }, + "GA_CCPS_Current_Protection": { + "DataSource": "ConfActualDB", + "Type": "float32", + "Alias": "GA_CCPS_Current_Protection" + }, + "GA_CCPS_Curr_Prot_Det_Time": { + "DataSource": "ConfActualDB", + "Type": "float32", + "Alias": "GA_CCPS_Curr_Prot_Det_Time" + }, + "GA_CCPS_PSU2320_IREF_H": { + "DataSource": "ConfActualDB", + "Type": "int16", + "Alias": "GA_CCPS_PSU2320_IREF_H" + }, + "GA_CCPS_PSU2320_IREF_L": { + "DataSource": "ConfActualDB", + "Type": "int16", + "Alias": "GA_CCPS_PSU2320_IREF_L" + }, + "GA_CCPS_Voltage_Auto_Prot": { + "DataSource": "ConfActualDB", + "Type": "uint8", + "Alias": "GA_CCPS_Voltage_Auto_Prot" + }, + "GA_CCPS_Current_Auto_Prot": { + "DataSource": "ConfActualDB", + "Type": "uint8", + "Alias": "GA_CCPS_Current_Auto_Prot" + } + }, + "OutputSignals": { + "Voltage_Max_Read": { + "DataSource": "GA_CCPS", + "Type": "float32", + "Alias": "Voltage_Max_Read" + }, + "Voltage_Min_Read": { + "DataSource": "GA_CCPS", + "Type": "float32", + "Alias": "Voltage_Min_Read" + }, + "Current_Protection_Read": { + "DataSource": "GA_CCPS", + "Type": "float32", + "Alias": "Current_Protection_Read" + }, + "Curr_Prot_Det_Time_Read": { + "DataSource": "GA_CCPS", + "Type": "float32", + "Alias": "Curr_Prot_Det_Time_Read" + }, + "PSU2320_IREF_H_Read": { + "DataSource": "GA_CCPS", + "Type": "int16", + "Alias": "PSU2320_IREF_H_Read" + }, + "PSU2320_IREF_L_Read": { + "DataSource": "GA_CCPS", + "Type": "int16", + "Alias": "PSU2320_IREF_L_Read" + }, + "Voltage_Auto_Prot_Read": { + "DataSource": "GA_CCPS", + "Type": "uint8", + "Alias": "Voltage_Auto_Prot_Read" + }, + "Current_Auto_Prot_Read": { + "DataSource": "GA_CCPS", + "Type": "uint8", + "Alias": "Current_Auto_Prot_Read" + } + } + }, + "+Pub_GA_CCPS": { + "Class": "IOGAM", + "InputSignals": { + "Voltage_Max_Read": { + "DataSource": "GA_CCPS", + "Type": "float32", + "Alias": "Voltage_Max_Read" + }, + "Voltage_Min_Read": { + "DataSource": "GA_CCPS", + "Type": "float32", + "Alias": "Voltage_Min_Read" + }, + "Current_Protection_Read": { + "DataSource": "GA_CCPS", + "Type": "float32", + "Alias": "Current_Protection_Read" + }, + "Curr_Prot_Det_Time_Read": { + "DataSource": "GA_CCPS", + "Type": "float32", + "Alias": "Curr_Prot_Det_Time_Read" + }, + "Voltage_Auto_Prot_Read": { + "DataSource": "GA_CCPS", + "Type": "uint8", + "Alias": "Voltage_Auto_Prot_Read" + }, + "Current_Auto_Prot_Read": { + "DataSource": "GA_CCPS", + "Type": "uint8", + "Alias": "Current_Auto_Prot_Read" + } + }, + "OutputSignals": { + "GA_CCPS_Voltage_Max_Read": { + "DataSource": "PLCSDNPub", + "Type": "float32", + "Alias": "GA_CCPS_Voltage_Max_Read" + }, + "GA_CCPS_Voltage_Min_Read": { + "DataSource": "PLCSDNPub", + "Type": "float32", + "Alias": "GA_CCPS_Voltage_Min_Read" + }, + "GA_CCPS_Current_Protection_Read": { + "DataSource": "PLCSDNPub", + "Type": "float32", + "Alias": "GA_CCPS_Current_Protection_Read" + }, + "GA_CCPS_Curr_Prot_Det_Time_Read": { + "DataSource": "PLCSDNPub", + "Type": "float32", + "Alias": "GA_CCPS_Curr_Prot_Det_Time_Read" + }, + "GA_CCPS_Voltage_Auto_Prot_Read": { + "DataSource": "PLCSDNPub", + "Type": "uint8", + "Alias": "GA_CCPS_Voltage_Auto_Prot_Read" + }, + "GA_CCPS_Current_Auto_Prot_Read": { + "DataSource": "PLCSDNPub", + "Type": "uint8", + "Alias": "GA_CCPS_Current_Auto_Prot_Read" + } + } + }, + "+Conf_GB_CCPS": { + "Class": "TriggeredIOGAM", + "InputSignals": { + "Trigger": { + "Type": "uint8", + "DataSource": "PLCSDNSub", + "Alias": "GB_CCPS_CONFIG_SEQ_CMD" + }, + "GB_CCPS_Voltage_Max": { + "DataSource": "ConfActualDB", + "Type": "float32", + "Alias": "GB_CCPS_Voltage_Max" + }, + "GB_CCPS_Voltage_Min": { + "DataSource": "ConfActualDB", + "Type": "float32", + "Alias": "GB_CCPS_Voltage_Min" + }, + "GB_CCPS_Current_Protection": { + "DataSource": "ConfActualDB", + "Type": "float32", + "Alias": "GB_CCPS_Current_Protection" + }, + "GB_CCPS_Curr_Prot_Det_Time": { + "DataSource": "ConfActualDB", + "Type": "float32", + "Alias": "GB_CCPS_Curr_Prot_Det_Time" + }, + "GB_CCPS_PSU2320_IREF_H": { + "DataSource": "ConfActualDB", + "Type": "int16", + "Alias": "GB_CCPS_PSU2320_IREF_H" + }, + "GB_CCPS_PSU2320_IREF_L": { + "DataSource": "ConfActualDB", + "Type": "int16", + "Alias": "GB_CCPS_PSU2320_IREF_L" + }, + "GB_CCPS_Voltage_Auto_Prot": { + "DataSource": "ConfActualDB", + "Type": "uint8", + "Alias": "GB_CCPS_Voltage_Auto_Prot" + }, + "GB_CCPS_Current_Auto_Prot": { + "DataSource": "ConfActualDB", + "Type": "uint8", + "Alias": "GB_CCPS_Current_Auto_Prot" + } + }, + "OutputSignals": { + "Voltage_Max_Read": { + "DataSource": "GB_CCPS", + "Type": "float32", + "Alias": "Voltage_Max_Read" + }, + "Voltage_Min_Read": { + "DataSource": "GB_CCPS", + "Type": "float32", + "Alias": "Voltage_Min_Read" + }, + "Current_Protection_Read": { + "DataSource": "GB_CCPS", + "Type": "float32", + "Alias": "Current_Protection_Read" + }, + "Curr_Prot_Det_Time_Read": { + "DataSource": "GB_CCPS", + "Type": "float32", + "Alias": "Curr_Prot_Det_Time_Read" + }, + "PSU2320_IREF_H_Read": { + "DataSource": "GB_CCPS", + "Type": "int16", + "Alias": "PSU2320_IREF_H_Read" + }, + "PSU2320_IREF_L_Read": { + "DataSource": "GB_CCPS", + "Type": "int16", + "Alias": "PSU2320_IREF_L_Read" + }, + "Voltage_Auto_Prot_Read": { + "DataSource": "GB_CCPS", + "Type": "uint8", + "Alias": "Voltage_Auto_Prot_Read" + }, + "Current_Auto_Prot_Read": { + "DataSource": "GB_CCPS", + "Type": "uint8", + "Alias": "Current_Auto_Prot_Read" + } + } + }, + "+Pub_GB_CCPS": { + "Class": "IOGAM", + "InputSignals": { + "Voltage_Max_Read": { + "DataSource": "GB_CCPS", + "Type": "float32", + "Alias": "Voltage_Max_Read" + }, + "Voltage_Min_Read": { + "DataSource": "GB_CCPS", + "Type": "float32", + "Alias": "Voltage_Min_Read" + }, + "Current_Protection_Read": { + "DataSource": "GB_CCPS", + "Type": "float32", + "Alias": "Current_Protection_Read" + }, + "Curr_Prot_Det_Time_Read": { + "DataSource": "GB_CCPS", + "Type": "float32", + "Alias": "Curr_Prot_Det_Time_Read" + }, + "Voltage_Auto_Prot_Read": { + "DataSource": "GB_CCPS", + "Type": "uint8", + "Alias": "Voltage_Auto_Prot_Read" + }, + "Current_Auto_Prot_Read": { + "DataSource": "GB_CCPS", + "Type": "uint8", + "Alias": "Current_Auto_Prot_Read" + } + }, + "OutputSignals": { + "GB_CCPS_Voltage_Max_Read": { + "DataSource": "PLCSDNPub", + "Type": "float32", + "Alias": "GB_CCPS_Voltage_Max_Read" + }, + "GB_CCPS_Voltage_Min_Read": { + "DataSource": "PLCSDNPub", + "Type": "float32", + "Alias": "GB_CCPS_Voltage_Min_Read" + }, + "GB_CCPS_Current_Protection_Read": { + "DataSource": "PLCSDNPub", + "Type": "float32", + "Alias": "GB_CCPS_Current_Protection_Read" + }, + "GB_CCPS_Curr_Prot_Det_Time_Read": { + "DataSource": "PLCSDNPub", + "Type": "float32", + "Alias": "GB_CCPS_Curr_Prot_Det_Time_Read" + }, + "GB_CCPS_Voltage_Auto_Prot_Read": { + "DataSource": "PLCSDNPub", + "Type": "uint8", + "Alias": "GB_CCPS_Voltage_Auto_Prot_Read" + }, + "GB_CCPS_Current_Auto_Prot_Read": { + "DataSource": "PLCSDNPub", + "Type": "uint8", + "Alias": "GB_CCPS_Current_Auto_Prot_Read" + } + } + }, + "+Conf_GA_FHPS": { + "Class": "TriggeredIOGAM", + "InputSignals": { + "Trigger": { + "Type": "uint8", + "DataSource": "PLCSDNSub", + "Alias": "GA_FHPS_CONFIG_SEQ_CMD" + }, + "GA_FHPS_AC_Voltage": { + "DataSource": "ConfActualDB", + "Type": "float32", + "Alias": "GA_FHPS_AC_Voltage" + }, + "GA_FHPS_DC_Voltage": { + "DataSource": "ConfActualDB", + "Type": "float32", + "Alias": "GA_FHPS_DC_Voltage" + }, + "GA_FHPS_Frequency": { + "DataSource": "ConfActualDB", + "Type": "float32", + "Alias": "GA_FHPS_Frequency" + }, + "GA_FHPS_AC_Current_Max": { + "DataSource": "ConfActualDB", + "Type": "float32", + "Alias": "GA_FHPS_AC_Current_Max" + }, + "GA_FHPS_DC_Current_Max": { + "DataSource": "ConfActualDB", + "Type": "float32", + "Alias": "GA_FHPS_DC_Current_Max" + }, + "GA_FHPS_Current_Trip_Delay": { + "DataSource": "ConfActualDB", + "Type": "float32", + "Alias": "GA_FHPS_Current_Trip_Delay" + }, + "GA_FHPS_Intern_Prot_Delay": { + "DataSource": "ConfActualDB", + "Type": "float32", + "Alias": "GA_FHPS_Intern_Prot_Delay" + }, + "GA_FHPS_Current_Peak_Max": { + "DataSource": "ConfActualDB", + "Type": "float32", + "Alias": "GA_FHPS_Current_Peak_Max" + }, + "GA_FHPS_Current_Peak_Min": { + "DataSource": "ConfActualDB", + "Type": "float32", + "Alias": "GA_FHPS_Current_Peak_Min" + }, + "GA_FHPS_AC_Voltage_Max": { + "DataSource": "ConfActualDB", + "Type": "float32", + "Alias": "GA_FHPS_AC_Voltage_Max" + }, + "GA_FHPS_AC_Voltage_Min": { + "DataSource": "ConfActualDB", + "Type": "float32", + "Alias": "GA_FHPS_AC_Voltage_Min" + }, + "GA_FHPS_DC_Voltage_Max": { + "DataSource": "ConfActualDB", + "Type": "float32", + "Alias": "GA_FHPS_DC_Voltage_Max" + }, + "GA_FHPS_DC_Voltage_Min": { + "DataSource": "ConfActualDB", + "Type": "float32", + "Alias": "GA_FHPS_DC_Voltage_Min" + }, + "GA_FHPS_RMS_Voltage_Max": { + "DataSource": "ConfActualDB", + "Type": "float32", + "Alias": "GA_FHPS_RMS_Voltage_Max" + }, + "GA_FHPS_RMS_Voltage_Min": { + "DataSource": "ConfActualDB", + "Type": "float32", + "Alias": "GA_FHPS_RMS_Voltage_Min" + }, + "GA_FHPS_AVG_Voltage_Max": { + "DataSource": "ConfActualDB", + "Type": "float32", + "Alias": "GA_FHPS_AVG_Voltage_Max" + }, + "GA_FHPS_AVG_Voltage_Min": { + "DataSource": "ConfActualDB", + "Type": "float32", + "Alias": "GA_FHPS_AVG_Voltage_Min" + }, + "GA_FHPS_Frequency_Max": { + "DataSource": "ConfActualDB", + "Type": "float32", + "Alias": "GA_FHPS_Frequency_Max" + }, + "GA_FHPS_Frequency_Min": { + "DataSource": "ConfActualDB", + "Type": "float32", + "Alias": "GA_FHPS_Frequency_Min" + }, + "GA_FHPS_Voltage_Range": { + "DataSource": "ConfActualDB", + "Type": "uint8", + "Alias": "GA_FHPS_Voltage_Range" + }, + "GA_FHPS_Current_Prot_Mode": { + "DataSource": "ConfActualDB", + "Type": "uint8", + "Alias": "GA_FHPS_Current_Prot_Mode" + } + }, + "OutputSignals": { + "AC_Voltage_Read": { + "DataSource": "GA_FHPS", + "Type": "float32", + "Alias": "AC_Voltage_Read" + }, + "DC_Voltage_Read": { + "DataSource": "GA_FHPS", + "Type": "float32", + "Alias": "DC_Voltage_Read" + }, + "Frequency_Read": { + "DataSource": "GA_FHPS", + "Type": "float32", + "Alias": "Frequency_Read" + }, + "AC_Current_Max_Read": { + "DataSource": "GA_FHPS", + "Type": "float32", + "Alias": "AC_Current_Max_Read" + }, + "DC_Current_Max_Read": { + "DataSource": "GA_FHPS", + "Type": "float32", + "Alias": "DC_Current_Max_Read" + }, + "Current_Trip_Delay_Read": { + "DataSource": "GA_FHPS", + "Type": "float32", + "Alias": "Current_Trip_Delay_Read" + }, + "Intern_Prot_Delay_Read": { + "DataSource": "GA_FHPS", + "Type": "float32", + "Alias": "Intern_Prot_Delay_Read" + }, + "Current_Peak_Max_Read": { + "DataSource": "GA_FHPS", + "Type": "float32", + "Alias": "Current_Peak_Max_Read" + }, + "Current_Peak_Min_Read": { + "DataSource": "GA_FHPS", + "Type": "float32", + "Alias": "Current_Peak_Min_Read" + }, + "AC_Voltage_Max_Read": { + "DataSource": "GA_FHPS", + "Type": "float32", + "Alias": "AC_Voltage_Max_Read" + }, + "AC_Voltage_Min_Read": { + "DataSource": "GA_FHPS", + "Type": "float32", + "Alias": "AC_Voltage_Min_Read" + }, + "DC_Voltage_Max_Read": { + "DataSource": "GA_FHPS", + "Type": "float32", + "Alias": "DC_Voltage_Max_Read" + }, + "DC_Voltage_Min_Read": { + "DataSource": "GA_FHPS", + "Type": "float32", + "Alias": "DC_Voltage_Min_Read" + }, + "RMS_Voltage_Max_Read": { + "DataSource": "GA_FHPS", + "Type": "float32", + "Alias": "RMS_Voltage_Max_Read" + }, + "RMS_Voltage_Min_Read": { + "DataSource": "GA_FHPS", + "Type": "float32", + "Alias": "RMS_Voltage_Min_Read" + }, + "AVG_Voltage_Max_Read": { + "DataSource": "GA_FHPS", + "Type": "float32", + "Alias": "AVG_Voltage_Max_Read" + }, + "AVG_Voltage_Min_Read": { + "DataSource": "GA_FHPS", + "Type": "float32", + "Alias": "AVG_Voltage_Min_Read" + }, + "Frequency_Max_Read": { + "DataSource": "GA_FHPS", + "Type": "float32", + "Alias": "Frequency_Max_Read" + }, + "Frequency_Min_Read": { + "DataSource": "GA_FHPS", + "Type": "float32", + "Alias": "Frequency_Min_Read" + }, + "Voltage_Range_Read": { + "DataSource": "GA_FHPS", + "Type": "uint8", + "Alias": "Voltage_Range_Read" + }, + "Current_Prot_Mode_Read": { + "DataSource": "GA_FHPS", + "Type": "uint8", + "Alias": "Current_Prot_Mode_Read" + } + } + }, + "+Pub_GA_FHPS": { + "Class": "IOGAM", + "InputSignals": { + "AC_Voltage_Read": { + "DataSource": "GA_FHPS", + "Type": "float32", + "Alias": "AC_Voltage_Read" + }, + "DC_Voltage_Read": { + "DataSource": "GA_FHPS", + "Type": "float32", + "Alias": "DC_Voltage_Read" + }, + "Frequency_Read": { + "DataSource": "GA_FHPS", + "Type": "float32", + "Alias": "Frequency_Read" + }, + "AC_Current_Max_Read": { + "DataSource": "GA_FHPS", + "Type": "float32", + "Alias": "AC_Current_Max_Read" + }, + "DC_Current_Max_Read": { + "DataSource": "GA_FHPS", + "Type": "float32", + "Alias": "DC_Current_Max_Read" + }, + "Current_Trip_Delay_Read": { + "DataSource": "GA_FHPS", + "Type": "float32", + "Alias": "Current_Trip_Delay_Read" + }, + "Intern_Prot_Delay_Read": { + "DataSource": "GA_FHPS", + "Type": "float32", + "Alias": "Intern_Prot_Delay_Read" + }, + "Current_Peak_Max_Read": { + "DataSource": "GA_FHPS", + "Type": "float32", + "Alias": "Current_Peak_Max_Read" + }, + "Current_Peak_Min_Read": { + "DataSource": "GA_FHPS", + "Type": "float32", + "Alias": "Current_Peak_Min_Read" + }, + "AC_Voltage_Max_Read": { + "DataSource": "GA_FHPS", + "Type": "float32", + "Alias": "AC_Voltage_Max_Read" + }, + "AC_Voltage_Min_Read": { + "DataSource": "GA_FHPS", + "Type": "float32", + "Alias": "AC_Voltage_Min_Read" + }, + "DC_Voltage_Max_Read": { + "DataSource": "GA_FHPS", + "Type": "float32", + "Alias": "DC_Voltage_Max_Read" + }, + "DC_Voltage_Min_Read": { + "DataSource": "GA_FHPS", + "Type": "float32", + "Alias": "DC_Voltage_Min_Read" + }, + "RMS_Voltage_Max_Read": { + "DataSource": "GA_FHPS", + "Type": "float32", + "Alias": "RMS_Voltage_Max_Read" + }, + "RMS_Voltage_Min_Read": { + "DataSource": "GA_FHPS", + "Type": "float32", + "Alias": "RMS_Voltage_Min_Read" + }, + "AVG_Voltage_Max_Read": { + "DataSource": "GA_FHPS", + "Type": "float32", + "Alias": "AVG_Voltage_Max_Read" + }, + "AVG_Voltage_Min_Read": { + "DataSource": "GA_FHPS", + "Type": "float32", + "Alias": "AVG_Voltage_Min_Read" + }, + "Frequency_Max_Read": { + "DataSource": "GA_FHPS", + "Type": "float32", + "Alias": "Frequency_Max_Read" + }, + "Frequency_Min_Read": { + "DataSource": "GA_FHPS", + "Type": "float32", + "Alias": "Frequency_Min_Read" + }, + "Voltage_Range_Read": { + "DataSource": "GA_FHPS", + "Type": "uint8", + "Alias": "Voltage_Range_Read" + }, + "Current_Prot_Mode_Read": { + "DataSource": "GA_FHPS", + "Type": "uint8", + "Alias": "Current_Prot_Mode_Read" + } + }, + "OutputSignals": { + "GA_FHPS_AC_Voltage_Read": { + "DataSource": "PLCSDNPub", + "Type": "float32", + "Alias": "GA_FHPS_AC_Voltage_Read" + }, + "GA_FHPS_DC_Voltage_Read": { + "DataSource": "PLCSDNPub", + "Type": "float32", + "Alias": "GA_FHPS_DC_Voltage_Read" + }, + "GA_FHPS_Frequency_Read": { + "DataSource": "PLCSDNPub", + "Type": "float32", + "Alias": "GA_FHPS_Frequency_Read" + }, + "GA_FHPS_AC_Current_Max_Read": { + "DataSource": "PLCSDNPub", + "Type": "float32", + "Alias": "GA_FHPS_AC_Current_Max_Read" + }, + "GA_FHPS_DC_Current_Max_Read": { + "DataSource": "PLCSDNPub", + "Type": "float32", + "Alias": "GA_FHPS_DC_Current_Max_Read" + }, + "GA_FHPS_Current_Trip_Delay_Read": { + "DataSource": "PLCSDNPub", + "Type": "float32", + "Alias": "GA_FHPS_Current_Trip_Delay_Read" + }, + "GA_FHPS_Intern_Prot_Delay_Read": { + "DataSource": "PLCSDNPub", + "Type": "float32", + "Alias": "GA_FHPS_Intern_Prot_Delay_Read" + }, + "GA_FHPS_Current_Peak_Max_Read": { + "DataSource": "PLCSDNPub", + "Type": "float32", + "Alias": "GA_FHPS_Current_Peak_Max_Read" + }, + "GA_FHPS_Current_Peak_Min_Read": { + "DataSource": "PLCSDNPub", + "Type": "float32", + "Alias": "GA_FHPS_Current_Peak_Min_Read" + }, + "GA_FHPS_AC_Voltage_Max_Read": { + "DataSource": "PLCSDNPub", + "Type": "float32", + "Alias": "GA_FHPS_AC_Voltage_Max_Read" + }, + "GA_FHPS_AC_Voltage_Min_Read": { + "DataSource": "PLCSDNPub", + "Type": "float32", + "Alias": "GA_FHPS_AC_Voltage_Min_Read" + }, + "GA_FHPS_DC_Voltage_Max_Read": { + "DataSource": "PLCSDNPub", + "Type": "float32", + "Alias": "GA_FHPS_DC_Voltage_Max_Read" + }, + "GA_FHPS_DC_Voltage_Min_Read": { + "DataSource": "PLCSDNPub", + "Type": "float32", + "Alias": "GA_FHPS_DC_Voltage_Min_Read" + }, + "GA_FHPS_RMS_Voltage_Max_Read": { + "DataSource": "PLCSDNPub", + "Type": "float32", + "Alias": "GA_FHPS_RMS_Voltage_Max_Read" + }, + "GA_FHPS_RMS_Voltage_Min_Read": { + "DataSource": "PLCSDNPub", + "Type": "float32", + "Alias": "GA_FHPS_RMS_Voltage_Min_Read" + }, + "GA_FHPS_AVG_Voltage_Max_Read": { + "DataSource": "PLCSDNPub", + "Type": "float32", + "Alias": "GA_FHPS_AVG_Voltage_Max_Read" + }, + "GA_FHPS_AVG_Voltage_Min_Read": { + "DataSource": "PLCSDNPub", + "Type": "float32", + "Alias": "GA_FHPS_AVG_Voltage_Min_Read" + }, + "GA_FHPS_Frequency_Max_Read": { + "DataSource": "PLCSDNPub", + "Type": "float32", + "Alias": "GA_FHPS_Frequency_Max_Read" + }, + "GA_FHPS_Frequency_Min_Read": { + "DataSource": "PLCSDNPub", + "Type": "float32", + "Alias": "GA_FHPS_Frequency_Min_Read" + }, + "GA_FHPS_Voltage_Range_Read": { + "DataSource": "PLCSDNPub", + "Type": "uint8", + "Alias": "GA_FHPS_Voltage_Range_Read" + }, + "GA_FHPS_Current_Prot_Mode_Read": { + "DataSource": "PLCSDNPub", + "Type": "uint8", + "Alias": "GA_FHPS_Current_Prot_Mode_Read" + } + } + }, + "+Conf_GB_FHPS": { + "Class": "TriggeredIOGAM", + "InputSignals": { + "Trigger": { + "Type": "uint8", + "DataSource": "PLCSDNSub", + "Alias": "GB_FHPS_CONFIG_SEQ_CMD" + }, + "GB_FHPS_AC_Voltage": { + "DataSource": "ConfActualDB", + "Type": "float32", + "Alias": "GB_FHPS_AC_Voltage" + }, + "GB_FHPS_DC_Voltage": { + "DataSource": "ConfActualDB", + "Type": "float32", + "Alias": "GB_FHPS_DC_Voltage" + }, + "GB_FHPS_Frequency": { + "DataSource": "ConfActualDB", + "Type": "float32", + "Alias": "GB_FHPS_Frequency" + }, + "GB_FHPS_AC_Current_Max": { + "DataSource": "ConfActualDB", + "Type": "float32", + "Alias": "GB_FHPS_AC_Current_Max" + }, + "GB_FHPS_DC_Current_Max": { + "DataSource": "ConfActualDB", + "Type": "float32", + "Alias": "GB_FHPS_DC_Current_Max" + }, + "GB_FHPS_Current_Trip_Delay": { + "DataSource": "ConfActualDB", + "Type": "float32", + "Alias": "GB_FHPS_Current_Trip_Delay" + }, + "GB_FHPS_Intern_Prot_Delay": { + "DataSource": "ConfActualDB", + "Type": "float32", + "Alias": "GB_FHPS_Intern_Prot_Delay" + }, + "GB_FHPS_Current_Peak_Max": { + "DataSource": "ConfActualDB", + "Type": "float32", + "Alias": "GB_FHPS_Current_Peak_Max" + }, + "GB_FHPS_Current_Peak_Min": { + "DataSource": "ConfActualDB", + "Type": "float32", + "Alias": "GB_FHPS_Current_Peak_Min" + }, + "GB_FHPS_AC_Voltage_Max": { + "DataSource": "ConfActualDB", + "Type": "float32", + "Alias": "GB_FHPS_AC_Voltage_Max" + }, + "GB_FHPS_AC_Voltage_Min": { + "DataSource": "ConfActualDB", + "Type": "float32", + "Alias": "GB_FHPS_AC_Voltage_Min" + }, + "GB_FHPS_DC_Voltage_Max": { + "DataSource": "ConfActualDB", + "Type": "float32", + "Alias": "GB_FHPS_DC_Voltage_Max" + }, + "GB_FHPS_DC_Voltage_Min": { + "DataSource": "ConfActualDB", + "Type": "float32", + "Alias": "GB_FHPS_DC_Voltage_Min" + }, + "GB_FHPS_RMS_Voltage_Max": { + "DataSource": "ConfActualDB", + "Type": "float32", + "Alias": "GB_FHPS_RMS_Voltage_Max" + }, + "GB_FHPS_RMS_Voltage_Min": { + "DataSource": "ConfActualDB", + "Type": "float32", + "Alias": "GB_FHPS_RMS_Voltage_Min" + }, + "GB_FHPS_AVG_Voltage_Max": { + "DataSource": "ConfActualDB", + "Type": "float32", + "Alias": "GB_FHPS_AVG_Voltage_Max" + }, + "GB_FHPS_AVG_Voltage_Min": { + "DataSource": "ConfActualDB", + "Type": "float32", + "Alias": "GB_FHPS_AVG_Voltage_Min" + }, + "GB_FHPS_Frequency_Max": { + "DataSource": "ConfActualDB", + "Type": "float32", + "Alias": "GB_FHPS_Frequency_Max" + }, + "GB_FHPS_Frequency_Min": { + "DataSource": "ConfActualDB", + "Type": "float32", + "Alias": "GB_FHPS_Frequency_Min" + }, + "GB_FHPS_Voltage_Range": { + "DataSource": "ConfActualDB", + "Type": "uint8", + "Alias": "GB_FHPS_Voltage_Range" + }, + "GB_FHPS_Current_Prot_Mode": { + "DataSource": "ConfActualDB", + "Type": "uint8", + "Alias": "GB_FHPS_Current_Prot_Mode" + } + }, + "OutputSignals": { + "AC_Voltage_Read": { + "DataSource": "GB_FHPS", + "Type": "float32", + "Alias": "AC_Voltage_Read" + }, + "DC_Voltage_Read": { + "DataSource": "GB_FHPS", + "Type": "float32", + "Alias": "DC_Voltage_Read" + }, + "Frequency_Read": { + "DataSource": "GB_FHPS", + "Type": "float32", + "Alias": "Frequency_Read" + }, + "AC_Current_Max_Read": { + "DataSource": "GB_FHPS", + "Type": "float32", + "Alias": "AC_Current_Max_Read" + }, + "DC_Current_Max_Read": { + "DataSource": "GB_FHPS", + "Type": "float32", + "Alias": "DC_Current_Max_Read" + }, + "Current_Trip_Delay_Read": { + "DataSource": "GB_FHPS", + "Type": "float32", + "Alias": "Current_Trip_Delay_Read" + }, + "Intern_Prot_Delay_Read": { + "DataSource": "GB_FHPS", + "Type": "float32", + "Alias": "Intern_Prot_Delay_Read" + }, + "Current_Peak_Max_Read": { + "DataSource": "GB_FHPS", + "Type": "float32", + "Alias": "Current_Peak_Max_Read" + }, + "Current_Peak_Min_Read": { + "DataSource": "GB_FHPS", + "Type": "float32", + "Alias": "Current_Peak_Min_Read" + }, + "AC_Voltage_Max_Read": { + "DataSource": "GB_FHPS", + "Type": "float32", + "Alias": "AC_Voltage_Max_Read" + }, + "AC_Voltage_Min_Read": { + "DataSource": "GB_FHPS", + "Type": "float32", + "Alias": "AC_Voltage_Min_Read" + }, + "DC_Voltage_Max_Read": { + "DataSource": "GB_FHPS", + "Type": "float32", + "Alias": "DC_Voltage_Max_Read" + }, + "DC_Voltage_Min_Read": { + "DataSource": "GB_FHPS", + "Type": "float32", + "Alias": "DC_Voltage_Min_Read" + }, + "RMS_Voltage_Max_Read": { + "DataSource": "GB_FHPS", + "Type": "float32", + "Alias": "RMS_Voltage_Max_Read" + }, + "RMS_Voltage_Min_Read": { + "DataSource": "GB_FHPS", + "Type": "float32", + "Alias": "RMS_Voltage_Min_Read" + }, + "AVG_Voltage_Max_Read": { + "DataSource": "GB_FHPS", + "Type": "float32", + "Alias": "AVG_Voltage_Max_Read" + }, + "AVG_Voltage_Min_Read": { + "DataSource": "GB_FHPS", + "Type": "float32", + "Alias": "AVG_Voltage_Min_Read" + }, + "Frequency_Max_Read": { + "DataSource": "GB_FHPS", + "Type": "float32", + "Alias": "Frequency_Max_Read" + }, + "Frequency_Min_Read": { + "DataSource": "GB_FHPS", + "Type": "float32", + "Alias": "Frequency_Min_Read" + }, + "Voltage_Range_Read": { + "DataSource": "GB_FHPS", + "Type": "uint8", + "Alias": "Voltage_Range_Read" + }, + "Current_Prot_Mode_Read": { + "DataSource": "GB_FHPS", + "Type": "uint8", + "Alias": "Current_Prot_Mode_Read" + } + } + }, + "+Pub_GB_FHPS": { + "Class": "IOGAM", + "InputSignals": { + "AC_Voltage_Read": { + "DataSource": "GB_FHPS", + "Type": "float32", + "Alias": "AC_Voltage_Read" + }, + "DC_Voltage_Read": { + "DataSource": "GB_FHPS", + "Type": "float32", + "Alias": "DC_Voltage_Read" + }, + "Frequency_Read": { + "DataSource": "GB_FHPS", + "Type": "float32", + "Alias": "Frequency_Read" + }, + "AC_Current_Max_Read": { + "DataSource": "GB_FHPS", + "Type": "float32", + "Alias": "AC_Current_Max_Read" + }, + "DC_Current_Max_Read": { + "DataSource": "GB_FHPS", + "Type": "float32", + "Alias": "DC_Current_Max_Read" + }, + "Current_Trip_Delay_Read": { + "DataSource": "GB_FHPS", + "Type": "float32", + "Alias": "Current_Trip_Delay_Read" + }, + "Intern_Prot_Delay_Read": { + "DataSource": "GB_FHPS", + "Type": "float32", + "Alias": "Intern_Prot_Delay_Read" + }, + "Current_Peak_Max_Read": { + "DataSource": "GB_FHPS", + "Type": "float32", + "Alias": "Current_Peak_Max_Read" + }, + "Current_Peak_Min_Read": { + "DataSource": "GB_FHPS", + "Type": "float32", + "Alias": "Current_Peak_Min_Read" + }, + "AC_Voltage_Max_Read": { + "DataSource": "GB_FHPS", + "Type": "float32", + "Alias": "AC_Voltage_Max_Read" + }, + "AC_Voltage_Min_Read": { + "DataSource": "GB_FHPS", + "Type": "float32", + "Alias": "AC_Voltage_Min_Read" + }, + "DC_Voltage_Max_Read": { + "DataSource": "GB_FHPS", + "Type": "float32", + "Alias": "DC_Voltage_Max_Read" + }, + "DC_Voltage_Min_Read": { + "DataSource": "GB_FHPS", + "Type": "float32", + "Alias": "DC_Voltage_Min_Read" + }, + "RMS_Voltage_Max_Read": { + "DataSource": "GB_FHPS", + "Type": "float32", + "Alias": "RMS_Voltage_Max_Read" + }, + "RMS_Voltage_Min_Read": { + "DataSource": "GB_FHPS", + "Type": "float32", + "Alias": "RMS_Voltage_Min_Read" + }, + "AVG_Voltage_Max_Read": { + "DataSource": "GB_FHPS", + "Type": "float32", + "Alias": "AVG_Voltage_Max_Read" + }, + "AVG_Voltage_Min_Read": { + "DataSource": "GB_FHPS", + "Type": "float32", + "Alias": "AVG_Voltage_Min_Read" + }, + "Frequency_Max_Read": { + "DataSource": "GB_FHPS", + "Type": "float32", + "Alias": "Frequency_Max_Read" + }, + "Frequency_Min_Read": { + "DataSource": "GB_FHPS", + "Type": "float32", + "Alias": "Frequency_Min_Read" + }, + "Voltage_Range_Read": { + "DataSource": "GB_FHPS", + "Type": "uint8", + "Alias": "Voltage_Range_Read" + }, + "Current_Prot_Mode_Read": { + "DataSource": "GB_FHPS", + "Type": "uint8", + "Alias": "Current_Prot_Mode_Read" + } + }, + "OutputSignals": { + "GB_FHPS_AC_Voltage_Read": { + "DataSource": "PLCSDNPub", + "Type": "float32", + "Alias": "GB_FHPS_AC_Voltage_Read" + }, + "GB_FHPS_DC_Voltage_Read": { + "DataSource": "PLCSDNPub", + "Type": "float32", + "Alias": "GB_FHPS_DC_Voltage_Read" + }, + "GB_FHPS_Frequency_Read": { + "DataSource": "PLCSDNPub", + "Type": "float32", + "Alias": "GB_FHPS_Frequency_Read" + }, + "GB_FHPS_AC_Current_Max_Read": { + "DataSource": "PLCSDNPub", + "Type": "float32", + "Alias": "GB_FHPS_AC_Current_Max_Read" + }, + "GB_FHPS_DC_Current_Max_Read": { + "DataSource": "PLCSDNPub", + "Type": "float32", + "Alias": "GB_FHPS_DC_Current_Max_Read" + }, + "GB_FHPS_Current_Trip_Delay_Read": { + "DataSource": "PLCSDNPub", + "Type": "float32", + "Alias": "GB_FHPS_Current_Trip_Delay_Read" + }, + "GB_FHPS_Intern_Prot_Delay_Read": { + "DataSource": "PLCSDNPub", + "Type": "float32", + "Alias": "GB_FHPS_Intern_Prot_Delay_Read" + }, + "GB_FHPS_Current_Peak_Max_Read": { + "DataSource": "PLCSDNPub", + "Type": "float32", + "Alias": "GB_FHPS_Current_Peak_Max_Read" + }, + "GB_FHPS_Current_Peak_Min_Read": { + "DataSource": "PLCSDNPub", + "Type": "float32", + "Alias": "GB_FHPS_Current_Peak_Min_Read" + }, + "GB_FHPS_AC_Voltage_Max_Read": { + "DataSource": "PLCSDNPub", + "Type": "float32", + "Alias": "GB_FHPS_AC_Voltage_Max_Read" + }, + "GB_FHPS_AC_Voltage_Min_Read": { + "DataSource": "PLCSDNPub", + "Type": "float32", + "Alias": "GB_FHPS_AC_Voltage_Min_Read" + }, + "GB_FHPS_DC_Voltage_Max_Read": { + "DataSource": "PLCSDNPub", + "Type": "float32", + "Alias": "GB_FHPS_DC_Voltage_Max_Read" + }, + "GB_FHPS_DC_Voltage_Min_Read": { + "DataSource": "PLCSDNPub", + "Type": "float32", + "Alias": "GB_FHPS_DC_Voltage_Min_Read" + }, + "GB_FHPS_RMS_Voltage_Max_Read": { + "DataSource": "PLCSDNPub", + "Type": "float32", + "Alias": "GB_FHPS_RMS_Voltage_Max_Read" + }, + "GB_FHPS_RMS_Voltage_Min_Read": { + "DataSource": "PLCSDNPub", + "Type": "float32", + "Alias": "GB_FHPS_RMS_Voltage_Min_Read" + }, + "GB_FHPS_AVG_Voltage_Max_Read": { + "DataSource": "PLCSDNPub", + "Type": "float32", + "Alias": "GB_FHPS_AVG_Voltage_Max_Read" + }, + "GB_FHPS_AVG_Voltage_Min_Read": { + "DataSource": "PLCSDNPub", + "Type": "float32", + "Alias": "GB_FHPS_AVG_Voltage_Min_Read" + }, + "GB_FHPS_Frequency_Max_Read": { + "DataSource": "PLCSDNPub", + "Type": "float32", + "Alias": "GB_FHPS_Frequency_Max_Read" + }, + "GB_FHPS_Frequency_Min_Read": { + "DataSource": "PLCSDNPub", + "Type": "float32", + "Alias": "GB_FHPS_Frequency_Min_Read" + }, + "GB_FHPS_Voltage_Range_Read": { + "DataSource": "PLCSDNPub", + "Type": "uint8", + "Alias": "GB_FHPS_Voltage_Range_Read" + }, + "GB_FHPS_Current_Prot_Mode_Read": { + "DataSource": "PLCSDNPub", + "Type": "uint8", + "Alias": "GB_FHPS_Current_Prot_Mode_Read" + } + } + }, + "+Conf_GA_MCPS": { + "Class": "TriggeredIOGAM", + "InputSignals": { + "Trigger": { + "Type": "uint8", + "DataSource": "PLCSDNSub", + "Alias": "GA_MCPS_CONFIG_CMD" + }, + "GA_MCPS_Current": { + "DataSource": "ConfActualDB", + "Type": "float32", + "Alias": "GA_MCPS_Current" + }, + "GA_MCPS_Sweep_Rate": { + "DataSource": "ConfActualDB", + "Type": "float32", + "Alias": "GA_MCPS_Sweep_Rate" + } + }, + "OutputSignals": { + "Current_Read": { + "DataSource": "GA_MCPS", + "Type": "float32", + "Alias": "Current_Read" + }, + "Sweep_Rate_Read": { + "DataSource": "GA_MCPS", + "Type": "float32", + "Alias": "Sweep_Rate_Read" + } + } + }, + "+Pub_GA_MCPS": { + "Class": "IOGAM", + "InputSignals": { + "Current_Read": { + "DataSource": "GA_MCPS", + "Type": "float32", + "Alias": "Current_Read" + }, + "Sweep_Rate_Read": { + "DataSource": "GA_MCPS", + "Type": "float32", + "Alias": "Sweep_Rate_Read" + } + }, + "OutputSignals": { + "GA_MCPS_Current_Read": { + "DataSource": "PLCSDNPub", + "Type": "float32", + "Alias": "GA_MCPS_Current_Read" + }, + "GA_MCPS_Sweep_Rate_Read": { + "DataSource": "PLCSDNPub", + "Type": "float32", + "Alias": "GA_MCPS_Sweep_Rate_Read" + } + } + }, + "+Conf_GB_MCPS": { + "Class": "TriggeredIOGAM", + "InputSignals": { + "Trigger": { + "Type": "uint8", + "DataSource": "PLCSDNSub", + "Alias": "GB_MCPS_CONFIG_CMD" + }, + "GB_MCPS_Current": { + "DataSource": "ConfActualDB", + "Type": "float32", + "Alias": "GB_MCPS_Current" + }, + "GB_MCPS_Sweep_Rate": { + "DataSource": "ConfActualDB", + "Type": "float32", + "Alias": "GB_MCPS_Sweep_Rate" + } + }, + "OutputSignals": { + "Current_Read": { + "DataSource": "GB_MCPS", + "Type": "float32", + "Alias": "Current_Read" + }, + "Sweep_Rate_Read": { + "DataSource": "GB_MCPS", + "Type": "float32", + "Alias": "Sweep_Rate_Read" + } + } + }, + "+Pub_GB_MCPS": { + "Class": "IOGAM", + "InputSignals": { + "Current_Read": { + "DataSource": "GB_MCPS", + "Type": "float32", + "Alias": "Current_Read" + }, + "Sweep_Rate_Read": { + "DataSource": "GB_MCPS", + "Type": "float32", + "Alias": "Sweep_Rate_Read" + } + }, + "OutputSignals": { + "GB_MCPS_Current_Read": { + "DataSource": "PLCSDNPub", + "Type": "float32", + "Alias": "GB_MCPS_Current_Read" + }, + "GB_MCPS_Sweep_Rate_Read": { + "DataSource": "PLCSDNPub", + "Type": "float32", + "Alias": "GB_MCPS_Sweep_Rate_Read" + } + } + }, + "+Conf_GA_GCPS": { + "Class": "TriggeredIOGAM", + "InputSignals": { + "Trigger": { + "Type": "uint8", + "DataSource": "PLCSDNSub", + "Alias": "GA_GCPS_CONFIG_CMD" + }, + "GA_GCPS_Current": { + "DataSource": "ConfActualDB", + "Type": "float32", + "Alias": "GA_GCPS_Current" + }, + "GA_GCPS_Sweep_Rate": { + "DataSource": "ConfActualDB", + "Type": "float32", + "Alias": "GA_GCPS_Sweep_Rate" + } + }, + "OutputSignals": { + "Current_Read": { + "DataSource": "GA_GCPS", + "Type": "float32", + "Alias": "Current_Read" + }, + "Sweep_Rate_Read": { + "DataSource": "GA_GCPS", + "Type": "float32", + "Alias": "Sweep_Rate_Read" + } + } + }, + "+Pub_GA_GCPS": { + "Class": "IOGAM", + "InputSignals": { + "Current_Read": { + "DataSource": "GA_GCPS", + "Type": "float32", + "Alias": "Current_Read" + }, + "Sweep_Rate_Read": { + "DataSource": "GA_GCPS", + "Type": "float32", + "Alias": "Sweep_Rate_Read" + } + }, + "OutputSignals": { + "GA_GCPS_Current_Read": { + "DataSource": "PLCSDNPub", + "Type": "float32", + "Alias": "GA_GCPS_Current_Read" + }, + "GA_GCPS_Sweep_Rate_Read": { + "DataSource": "PLCSDNPub", + "Type": "float32", + "Alias": "GA_GCPS_Sweep_Rate_Read" + } + } + }, + "+Conf_GB_GCPS": { + "Class": "TriggeredIOGAM", + "InputSignals": { + "Trigger": { + "Type": "uint8", + "DataSource": "PLCSDNSub", + "Alias": "GB_GCPS_CONFIG_CMD" + }, + "GB_GCPS_Current": { + "DataSource": "ConfActualDB", + "Type": "float32", + "Alias": "GB_GCPS_Current" + }, + "GB_GCPS_Sweep_Rate": { + "DataSource": "ConfActualDB", + "Type": "float32", + "Alias": "GB_GCPS_Sweep_Rate" + } + }, + "OutputSignals": { + "Current_Read": { + "DataSource": "GB_GCPS", + "Type": "float32", + "Alias": "Current_Read" + }, + "Sweep_Rate_Read": { + "DataSource": "GB_GCPS", + "Type": "float32", + "Alias": "Sweep_Rate_Read" + } + } + }, + "+Pub_GB_GCPS": { + "Class": "IOGAM", + "InputSignals": { + "Current_Read": { + "DataSource": "GB_GCPS", + "Type": "float32", + "Alias": "Current_Read" + }, + "Sweep_Rate_Read": { + "DataSource": "GB_GCPS", + "Type": "float32", + "Alias": "Sweep_Rate_Read" + } + }, + "OutputSignals": { + "GB_GCPS_Current_Read": { + "DataSource": "PLCSDNPub", + "Type": "float32", + "Alias": "GB_GCPS_Current_Read" + }, + "GB_GCPS_Sweep_Rate_Read": { + "DataSource": "PLCSDNPub", + "Type": "float32", + "Alias": "GB_GCPS_Sweep_Rate_Read" + } + } + }, + "+GA_CCPSOperationGAM": { + "Class": "MessageGAM", + "TriggerOnChange": 1, + "+Events": { + "Class": "ReferenceContainer", + "+StartConfig": { + "Class": "EventConditionTrigger", + "+SetDB_1": { + "Class": "Message", + "Function": "SetOutput", + "Mode": "ExpectsReply", + "Destination": "RTApp.Functions.AuxConfigStatusGAM", + "+Parameters": { + "Class": "ConfigurationDatabase", + "SignalName": "GA_CCPS_ope", + "SignalValue": 1 + } + }, + "EventTrigger": { + "CommandLoad": 1 + } + }, + "+StopConfig": { + "Class": "EventConditionTrigger", + "+SetDB_2": { + "Class": "Message", + "Function": "SetOutput", + "Mode": "ExpectsReply", + "Destination": "RTApp.Functions.AuxConfigStatusGAM", + "+Parameters": { + "Class": "ConfigurationDatabase", + "SignalName": "GA_CCPS_ope", + "SignalValue": 0 + } + }, + "EventTrigger": { + "CommandLoad": 2 + } + } + }, + "InputSignals": { + "CommandLoad": { + "DataSource": "PLCSDNSub", + "Type": "uint8", + "Alias": "GA_CCPS_OPERATION_CMD" + } + }, + "OutputSignals": { + "PendingMessage": { + "DataSource": "DDB1", + "Type": "uint32", + "Alias": "GA_CCPS_Operation_Pending" + } + } + }, + "+GA_CCPSConfigGAM": { + "Class": "SimSequenceGAM", + "Delay": 2.0, + "InputSignals": { + "Command": { + "Type": "uint8", + "DataSource": "PLCSDNSub", + "Alias": "GA_CCPS_CONFIG_SEQ_CMD" + } + }, + "OutputSignals": { + "State": { + "Type": "uint8", + "DataSource": "DDB1", + "Alias": "GA_CCPS_Config_Status" + }, + "Updated": { + "Type": "uint8", + "DataSource": "DDB1", + "Alias": "GA_CCPS_Config_Status_Updated" + } + } + }, + "+GB_CCPSOperationGAM": { + "Class": "MessageGAM", + "TriggerOnChange": 1, + "+Events": { + "Class": "ReferenceContainer", + "+StartConfig": { + "Class": "EventConditionTrigger", + "+SetDB_1": { + "Class": "Message", + "Function": "SetOutput", + "Mode": "ExpectsReply", + "Destination": "RTApp.Functions.AuxConfigStatusGAM", + "+Parameters": { + "Class": "ConfigurationDatabase", + "SignalName": "GB_CCPS_ope", + "SignalValue": 1 + } + }, + "EventTrigger": { + "CommandLoad": 1 + } + }, + "+StopConfig": { + "Class": "EventConditionTrigger", + "+SetDB_2": { + "Class": "Message", + "Function": "SetOutput", + "Mode": "ExpectsReply", + "Destination": "RTApp.Functions.AuxConfigStatusGAM", + "+Parameters": { + "Class": "ConfigurationDatabase", + "SignalName": "GB_CCPS_ope", + "SignalValue": 0 + } + }, + "EventTrigger": { + "CommandLoad": 2 + } + } + }, + "InputSignals": { + "CommandLoad": { + "DataSource": "PLCSDNSub", + "Type": "uint8", + "Alias": "GB_CCPS_OPERATION_CMD" + } + }, + "OutputSignals": { + "PendingMessage": { + "DataSource": "DDB1", + "Type": "uint32", + "Alias": "GB_CCPS_Operation_Pending" + } + } + }, + "Class": "ReferenceContainer", + "+PulseTimeGAM": { + "Class": "ConversionGAM", + "InputSignals": { + "ShotTime": { + "DataSource": "ABDB", + "Type": "uint32", + "Alias": "ShotTime" + } + }, + "OutputSignals": { + "PulseTime": { + "Gain": 1e-06, + "DataSource": "EpicsDB", + "Type": "float32", + "Alias": "ShotTime" + } + } + }, + "+PLCReadBackPubGAM": { + "Class": "IOGAM", + "InputSignals": { + "GA_CCPS_Amplitude": { + "DataSource": "ConfActualDB", + "Type": "float32", + "Alias": "GA_CCPS_Amplitude" + }, + "GB_CCPS_Amplitude": { + "DataSource": "ConfActualDB", + "Type": "float32", + "Alias": "GB_CCPS_Amplitude" + }, + "GA_CCPS_Amplitude_Max_Delta": { + "DataSource": "ConfActualDB", + "Type": "float32", + "Alias": "GA_CCPS_Amplitude_Max_Delta" + }, + "GB_CCPS_Amplitude_Max_Delta": { + "DataSource": "ConfActualDB", + "Type": "float32", + "Alias": "GB_CCPS_Amplitude_Max_Delta" + }, + "GA_CCPS_Frequency": { + "DataSource": "ConfActualDB", + "Type": "float32", + "Alias": "GA_CCPS_Frequency" + }, + "GB_CCPS_Frequency": { + "DataSource": "ConfActualDB", + "Type": "float32", + "Alias": "GB_CCPS_Frequency" + }, + "GA_FHPS_Amplitude_Max_Delta": { + "DataSource": "ConfActualDB", + "Type": "float32", + "Alias": "GA_FHPS_Amplitude_Max_Delta" + }, + "GB_FHPS_Amplitude_Max_Delta": { + "DataSource": "ConfActualDB", + "Type": "float32", + "Alias": "GB_FHPS_Amplitude_Max_Delta" + }, + "GA_MCPS_Amplitude_Max_Delta": { + "DataSource": "ConfActualDB", + "Type": "float32", + "Alias": "GA_MCPS_Amplitude_Max_Delta" + }, + "GB_MCPS_Amplitude_Max_Delta": { + "DataSource": "ConfActualDB", + "Type": "float32", + "Alias": "GB_MCPS_Amplitude_Max_Delta" + }, + "GA_GCPS_Amplitude_Max_Delta": { + "DataSource": "ConfActualDB", + "Type": "float32", + "Alias": "GA_GCPS_Amplitude_Max_Delta" + }, + "GB_GCPS_Amplitude_Max_Delta": { + "DataSource": "ConfActualDB", + "Type": "float32", + "Alias": "GB_GCPS_Amplitude_Max_Delta" + }, + "GA_APS_Voltage_SP": { + "DataSource": "ConfActualDB", + "Type": "float32", + "Alias": "GA_APS_Voltage_SP" + }, + "GB_APS_Voltage_SP": { + "DataSource": "ConfActualDB", + "Type": "float32", + "Alias": "GB_APS_Voltage_SP" + }, + "GA_BPS_Voltage_SP": { + "DataSource": "ConfActualDB", + "Type": "float32", + "Alias": "GA_BPS_Voltage_SP" + }, + "GB_BPS_Voltage_SP": { + "DataSource": "ConfActualDB", + "Type": "float32", + "Alias": "GB_BPS_Voltage_SP" + } + }, + "OutputSignals": { + "GA_CCPS_Amplitude_Read": { + "DataSource": "PLCSDNPub", + "Type": "float32", + "Alias": "GA_CCPS_Amplitude_Read" + }, + "GB_CCPS_Amplitude_Read": { + "DataSource": "PLCSDNPub", + "Type": "float32", + "Alias": "GB_CCPS_Amplitude_Read" + }, + "GA_CCPS_Amplitude_Max_Delta_Read": { + "DataSource": "PLCSDNPub", + "Type": "float32", + "Alias": "GA_CCPS_Amplitude_Max_Delta_Read" + }, + "GB_CCPS_Amplitude_Max_Delta_Read": { + "DataSource": "PLCSDNPub", + "Type": "float32", + "Alias": "GB_CCPS_Amplitude_Max_Delta_Read" + }, + "GA_CCPS_Frequency_Read": { + "DataSource": "PLCSDNPub", + "Type": "float32", + "Alias": "GA_CCPS_Frequency_Read" + }, + "GB_CCPS_Frequency_Read": { + "DataSource": "PLCSDNPub", + "Type": "float32", + "Alias": "GB_CCPS_Frequency_Read" + }, + "GA_FHPS_Amplitude_Max_Delta_Read": { + "DataSource": "PLCSDNPub", + "Type": "float32", + "Alias": "GA_FHPS_Amplitude_Max_Delta_Read" + }, + "GB_FHPS_Amplitude_Max_Delta_Read": { + "DataSource": "PLCSDNPub", + "Type": "float32", + "Alias": "GB_FHPS_Amplitude_Max_Delta_Read" + }, + "GA_MCPS_Amplitude_Max_Delta_Read": { + "DataSource": "PLCSDNPub", + "Type": "float32", + "Alias": "GA_MCPS_Amplitude_Max_Delta_Read" + }, + "GB_MCPS_Amplitude_Max_Delta_Read": { + "DataSource": "PLCSDNPub", + "Type": "float32", + "Alias": "GB_MCPS_Amplitude_Max_Delta_Read" + }, + "GA_GCPS_Amplitude_Max_Delta_Read": { + "DataSource": "PLCSDNPub", + "Type": "float32", + "Alias": "GA_GCPS_Amplitude_Max_Delta_Read" + }, + "GB_GCPS_Amplitude_Max_Delta_Read": { + "DataSource": "PLCSDNPub", + "Type": "float32", + "Alias": "GB_GCPS_Amplitude_Max_Delta_Read" + }, + "GA_APS_Voltage_SP_Read": { + "DataSource": "PLCSDNPub", + "Type": "float32", + "Alias": "GA_APS_Voltage_SP_Read" + }, + "GB_APS_Voltage_SP_Read": { + "DataSource": "PLCSDNPub", + "Type": "float32", + "Alias": "GB_APS_Voltage_SP_Read" + }, + "GA_BPS_Voltage_SP_Read": { + "DataSource": "PLCSDNPub", + "Type": "float32", + "Alias": "GA_BPS_Voltage_SP_Read" + }, + "GB_BPS_Voltage_SP_Read": { + "DataSource": "PLCSDNPub", + "Type": "float32", + "Alias": "GB_BPS_Voltage_SP_Read" + } + } + }, + "+LoadSimGAM": { + "Class": "MessageGAM", + "TriggerOnChange": 1, + "+Events": { + "Class": "ReferenceContainer", + "+StartLoadConfig": { + "Class": "EventConditionTrigger", + "EventTrigger": { + "CommandLoad": 1 + }, + "+SetDDBLoadDone": { + "Class": "Message", + "Function": "SetOutput", + "Mode": "ExpectsReply", + "Destination": "RTApp.Functions.LoadStateGAM", + "+Parameters": { + "Class": "ConfigurationDatabase", + "SignalName": "LOAD_DONE", + "SignalValue": 1 + } + } + }, + "+StartLoadMode": { + "Class": "EventConditionTrigger", + "EventTrigger": { + "CommandLoad": 4 + }, + "+SetDDBLoadDone": { + "Class": "Message", + "Function": "SetOutput", + "Mode": "ExpectsReply", + "Destination": "RTApp.Functions.LoadStateGAM", + "+Parameters": { + "Class": "ConfigurationDatabase", + "SignalName": "LOAD_DONE", + "SignalValue": 4 + } + } + }, + "+ResetLoadConfig": { + "Class": "EventConditionTrigger", + "EventTrigger": { + "CommandLoad": 3 + }, + "+SetDDBLoadDone": { + "Class": "Message", + "Function": "SetOutput", + "Mode": "ExpectsReply", + "Destination": "RTApp.Functions.LoadStateGAM", + "+Parameters": { + "Class": "ConfigurationDatabase", + "SignalName": "LOAD_DONE", + "SignalValue": 0 + } + } + }, + "+ResetLoadMode": { + "Class": "EventConditionTrigger", + "EventTrigger": { + "CommandLoad": 6 + }, + "+SetDDBLoadDone": { + "Class": "Message", + "Function": "SetOutput", + "Mode": "ExpectsReply", + "Destination": "RTApp.Functions.LoadStateGAM", + "+Parameters": { + "Class": "ConfigurationDatabase", + "SignalName": "LOAD_DONE", + "SignalValue": 0 + } + } + } + }, + "InputSignals": { + "CommandLoad": { + "DataSource": "PLCSDNSub", + "Type": "uint8", + "Alias": "GCOM_FCT_LOAD_CMD" + } + }, + "OutputSignals": { + "PendingLoadMessages": { + "DataSource": "DDB1", + "Type": "uint32", + "Alias": "PendingLoadMessages" + } + } + }, + "+OfflineMessageGAM": { + "Class": "MessageGAM", + "TriggerOnChange": 0, + "+Events": { + "Class": "ReferenceContainer", + "+GoToAlarm_0": { + "Class": "EventConditionTrigger", + "EventTrigger": { + "CommandTrip": 1 + }, + "+MoveAlarm": { + "Class": "Message", + "Function": "GoToAlarm", + "Mode": "ExpectsReply", + "Destination": "OperationalStateMachine" + } + }, + "+GoToOnlineSync": { + "Class": "EventConditionTrigger", + "EventTrigger": { + "CommandGoToState": 51, + "SegState": 240 + }, + "+MoveOnlineSync": { + "Class": "Message", + "Function": "GoToOnlineSync", + "Mode": "ExpectsReply", + "Destination": "OperationalStateMachine" + } + }, + "+GoToAlarm_1": { + "Class": "EventConditionTrigger", + "EventTrigger": { + "CommandFCAllarm": 1 + }, + "+MoveAlarm": { + "Class": "Message", + "Function": "GoToAlarm", + "Mode": "ExpectsReply", + "Destination": "OperationalStateMachine" + } + }, + "+GoToOnlineAsync": { + "Class": "EventConditionTrigger", + "EventTrigger": { + "CommandGoToState": 51, + "SegState": 225 + }, + "+MoveOnlineAsync": { + "Class": "Message", + "Function": "GoToOnlineAsync", + "Mode": "ExpectsReply", + "Destination": "OperationalStateMachine" + } + } + }, + "InputSignals": { + "CommandGoToState": { + "DataSource": "PLCSDNSub", + "Type": "uint8", + "Alias": "GCOM_FCT_STBY_WAITTRIG_ONLINE" + }, + "CommandTrip": { + "DataSource": "PLCSDNSubBits", + "Type": "uint8", + "Alias": "GCOM_FCT_Fast_Controller_Trip" + }, + "SegState": { + "DataSource": "DDB1", + "Type": "uint8", + "Alias": "SegState" + }, + "CommandFCAllarm": { + "DataSource": "PLCSDNPubBits", + "Type": "uint8", + "Alias": "GCOM_FCT_Fast_Controller_Alarm" + } + }, + "OutputSignals": { + "PendingGoToState": { + "DataSource": "DDB1", + "Type": "uint32", + "Alias": "PendingGoToState" + }, + "PendingTrip": { + "DataSource": "DDB1", + "Type": "uint32", + "Alias": "PendingTrip" + }, + "PendingAlarm": { + "DataSource": "DDB1", + "Type": "uint32", + "Alias": "PendingAlarm" + } + } + }, + "+OPStateGAM": { + "Class": "ConstantGAM", + "OutputSignals": { + "OSMState": { + "Default": 90, + "DataSource": "DDB1", + "Type": "uint8", + "Alias": "OSMState" + } + } + }, + "+PulseLengthGAM": { + "Class": "ConversionGAM", + "InputSignals": { + "PulseLength_ms": { + "DataSource": "PLCSDNSub", + "Type": "float32", + "Alias": "GCOM_HVPS_Pulse_Length" + } + }, + "OutputSignals": { + "PulseLength_us": { + "Gain": 1000, + "DataSource": "ABDB", + "Type": "uint32", + "Alias": "PulseLength" + } + } + }, + "+OnlineSyncConstantGAM": { + "Class": "ConstantGAM", + "OutputSignals": { + "PulseLength": { + "Default": 0, + "DataSource": "ABDB", + "Type": "uint32", + "Alias": "PulseLength" + } + } + }, + "+PLCSDNPubConstantGAM": { + "Class": "ConstantGAM", + "OutputSignals": { + "N_Reals": { + "Default": 90, + "DataSource": "PLCSDNPub", + "Type": "uint8", + "Alias": "N_Reals" + }, + "N_Integer": { + "Default": 0, + "DataSource": "PLCSDNPub", + "Type": "uint8", + "Alias": "N_Integer" + }, + "N_Acks": { + "Default": 28, + "DataSource": "PLCSDNPub", + "Type": "uint8", + "Alias": "N_Acks" + }, + "N_States": { + "Default": 45, + "DataSource": "PLCSDNPub", + "Type": "uint8", + "Alias": "N_States" + }, + "N_Alarms": { + "Default": 32, + "DataSource": "PLCSDNPub", + "Type": "uint8", + "Alias": "N_Alarms" + } + } + }, + "+SegMessageGAM": { + "Class": "MessageGAM", + "TriggerOnChange": 1, + "+Events": { + "Class": "ReferenceContainer", + "+GoToSync": { + "Class": "EventConditionTrigger", + "EventTrigger": { + "State": 30, + "SegState": 225, + "CommandSegChange": 187 + }, + "+ChangeSegVal": { + "Class": "Message", + "Function": "SetOutput", + "Mode": "ExpectsReply", + "Destination": "RTApp.Functions.SegStateGAM", + "+Parameters": { + "SignalName": "SegState", + "Class": "ConfigurationDatabase", + "SignalValue": 240 + } + } + }, + "+GoToASync": { + "Class": "EventConditionTrigger", + "EventTrigger": { + "State": 30, + "SegState": 240, + "CommandSegChange": 204 + }, + "+ChangeSegVal": { + "Class": "Message", + "Function": "SetOutput", + "Mode": "ExpectsReply", + "Destination": "RTApp.Functions.SegStateGAM", + "+Parameters": { + "SignalName": "SegState", + "Class": "ConfigurationDatabase", + "SignalValue": 225 + } + } + } + }, + "InputSignals": { + "CommandSegChange": { + "DataSource": "PLCSDNSub", + "Type": "uint8", + "Alias": "GCOM_FCT_SEGREGATION_CMD" + }, + "SegState": { + "DataSource": "DDB1", + "Type": "uint8", + "Alias": "SegState" + }, + "State": { + "DataSource": "DDB1", + "Type": "uint8", + "Alias": "OSMState" + } + }, + "OutputSignals": { + "PendingSegChange": { + "DataSource": "DDB1", + "Type": "uint32", + "Alias": "PendingSegChange" + } + } + }, + "+LogWFGAM": { + "Class": "IOGAM", + "InputSignals": { + "apsA": { + "DataSource": "WFDB", + "Type": "uint8", + "Alias": "apsA_Sw" + }, + "apsB": { + "DataSource": "WFDB", + "Type": "uint8", + "Alias": "apsB_Sw" + }, + "fhpsA": { + "DataSource": "WFDB", + "Type": "uint8", + "Alias": "hpsA_On" + }, + "fhpsB": { + "DataSource": "WFDB", + "Type": "uint8", + "Alias": "hpsB_On" + }, + "shotTime": { + "DataSource": "ABDB", + "Type": "uint32", + "Alias": "ShotTime" + } + }, + "OutputSignals": { + "apsA": { + "DataSource": "WFLogger", + "Type": "uint8", + "Alias": "apsA" + }, + "apsB": { + "DataSource": "WFLogger", + "Type": "uint8", + "Alias": "apsB" + }, + "fhpsA": { + "DataSource": "WFLogger", + "Type": "uint8", + "Alias": "hpsA" + }, + "fhpsB": { + "DataSource": "WFLogger", + "Type": "uint8", + "Alias": "hpsB" + }, + "shotTime": { + "DataSource": "WFLogger", + "Type": "uint32", + "Alias": "shotTime" + } + } + }, + "+EpicsLogGAM": { + "Class": "IOGAM", + "InputSignals": { + "PXI6528_OUT": { + "DataSource": "ABDB", + "Type": "uint32", + "Alias": "PXI6528_OUT" + }, + "PXI6528_IN": { + "DataSource": "ABDB", + "Type": "uint32", + "Alias": "PXI6528_IN" + }, + "APS_A_Status": { + "DataSource": "ABDB", + "Type": "uint8", + "Alias": "APS_A_Status" + }, + "BPS_A_Status": { + "DataSource": "ABDB", + "Type": "uint8", + "Alias": "BPS_A_Status" + }, + "APS_B_Status": { + "DataSource": "ABDB", + "Type": "uint8", + "Alias": "APS_B_Status" + }, + "BPS_B_Status": { + "DataSource": "ABDB", + "Type": "uint8", + "Alias": "BPS_B_Status" + }, + "MHVPS_Status": { + "DataSource": "ABDB", + "Type": "uint8", + "Alias": "MHVPS_Status" + } + }, + "OutputSignals": { + "PXI_Output": { + "DataSource": "EpicsLogger", + "Type": "uint32", + "Alias": "PXI_Output" + }, + "PXI_Input": { + "DataSource": "EpicsLogger", + "Type": "uint32", + "Alias": "PXI_Input" + }, + "APS_A_Status": { + "DataSource": "EpicsLogger", + "Type": "uint8", + "Alias": "APS_A_Status" + }, + "BPS_A_Status": { + "DataSource": "EpicsLogger", + "Type": "uint8", + "Alias": "BPS_A_Status" + }, + "APS_B_Status": { + "DataSource": "EpicsLogger", + "Type": "uint8", + "Alias": "APS_B_Status" + }, + "BPS_B_Status": { + "DataSource": "EpicsLogger", + "Type": "uint8", + "Alias": "BPS_B_Status" + }, + "MHVPS_Status": { + "DataSource": "EpicsLogger", + "Type": "uint8", + "Alias": "MHVPS_Status" + } + } + }, + "+RTStandbyGAM": { + "Class": "ConstantGAM", + "OutputSignals": { + "RTSMState": { + "Default": 30, + "DataSource": "DDB1", + "Type": "uint8", + "Alias": "RTSMState" + }, + "RTSMSubState": { + "Default": 195, + "DataSource": "DDB1", + "Type": "uint8", + "Alias": "RTSMSubState" + } + } + }, + "+ProtectionMessageGAM": { + "Class": "MessageGAM", + "TriggerOnChange": 0, + "+Events": { + "Class": "ReferenceContainer", + "+GoToAlarm_0": { + "Class": "EventConditionTrigger", + "EventTrigger": { + "CommandCommState": 2 + }, + "+GoToAlarm": { + "Class": "Message", + "Function": "GoToAlarm", + "Mode": "ExpectsReply", + "Destination": "OperationalStateMachine" + } + } + }, + "InputSignals": { + "CommandCommState": { + "DataSource": "ProtDB", + "Type": "uint8", + "Alias": "CommState" + } + }, + "OutputSignals": { + "PendingGoToState": { + "DataSource": "ProtDB", + "Type": "uint32", + "Alias": "PendingGoToState" + } + } + }, + "+GB_CCPSConfigGAM": { + "Class": "SimSequenceGAM", + "Delay": 2.0, + "InputSignals": { + "Command": { + "Type": "uint8", + "DataSource": "PLCSDNSub", + "Alias": "GB_CCPS_CONFIG_SEQ_CMD" + } + }, + "OutputSignals": { + "State": { + "Type": "uint8", + "DataSource": "DDB1", + "Alias": "GB_CCPS_Config_Status" + }, + "Updated": { + "Type": "uint8", + "DataSource": "DDB1", + "Alias": "GB_CCPS_Config_Status_Updated" + } + } + } + }, + "+States": { + "Class": "ReferenceContainer", + "+Offline": { + "Class": "RealTimeState", + "+Threads": { + "+CmdThread": { + "Class": "RealTimeThread", + "CPUs": 1, + "Functions": [ + "PLCHandshakeGAM", + "PLCSDNPubConstantGAM", + "PLCSDNSubExtractBitGAM", + "PLCSDNPubCompactBitGAM", + "PLCReadGAM", + "PulseLengthGAM", + "StateConstantGAM", + "RTStandbyGAM", + "LoadSimGAM", + "LoadStateGAM", + "LoadCopyGAM", + "ValidateActConfigGAM", + "GA_CCPSConfigGAM", + "GB_CCPSConfigGAM", + "GA_CCPSOperationGAM", + "GB_CCPSOperationGAM", + "AuxConfigStatusGAM", + "AuxSimPubGAM", + "PXIRegisterReadGAM", + "APS_A_BitMapper", + "BPS_A_BitMapper", + "APS_B_BitMapper", + "BPS_B_BitMapper", + "MHVBitMapper", + "PXIRegisterWriteGAM", + "PXISimulationIOGAM", + "TripToPLCGAM", + "OfflineMessageGAM", + "Conf_GA_CCPS", + "Conf_GB_CCPS", + "Conf_GA_FHPS", + "Conf_GB_FHPS", + "Conf_GA_MCPS", + "Conf_GB_MCPS", + "Conf_GA_GCPS", + "Conf_GB_GCPS", + "Pub_GA_CCPS", + "Pub_GB_CCPS", + "Pub_GA_FHPS", + "Pub_GB_FHPS", + "Pub_GA_MCPS", + "Pub_GB_MCPS", + "Pub_GA_GCPS", + "Pub_GB_GCPS", + "PLCReadBackPubGAM", + "StatePublisherGAM", + "SegMessageGAM", + "SegStateGAM", + "EpicsLogGAM", + "LoggerGAM" + ] + }, + "+ECPCThread": { + "Class": "RealTimeThread", + "CPUs": 3, + "Functions": [ + "ECPCIOGAM" + ] + }, + "+ProtectionThread": { + "Class": "RealTimeThread", + "CPUs": 4, + "Functions": [ + "ProtTimerGAM", + "ProtectionGAM", + "ProtectionMessageGAM" + ] + }, + "Class": "ReferenceContainer", + "+CodacThread": { + "Class": "RealTimeThread", + "CPUs": 5, + "Functions": [ + "EpicsTimerGAM", + "PulseTimeGAM", + "EpicsIOGAM" + ] + } + } + }, + "+OnlineAsync": { + "Class": "RealTimeState", + "+Threads": { + "+CmdThread": { + "Class": "RealTimeThread", + "CPUs": 1, + "Functions": [ + "PLCHandshakeGAM", + "PLCSDNPubConstantGAM", + "PLCSDNSubExtractBitGAM", + "PLCSDNPubCompactBitGAM", + "PLCReadGAM", + "PulseLengthGAM", + "LoadSimGAM", + "LoadStateGAM", + "LoadCopyGAM", + "ValidateActConfigGAM", + "AuxConfigStatusGAM", + "GA_CCPSConfigGAM", + "GB_CCPSConfigGAM", + "AuxSimPubGAM", + "AsyncCommandMapperGAM", + "OnlineIOGAM", + "PXIRegisterReadGAM", + "APS_A_BitMapper", + "BPS_A_BitMapper", + "APS_B_BitMapper", + "BPS_B_BitMapper", + "MHVBitMapper", + "PXIRegisterWriteGAM", + "PXISimulationIOGAM", + "TripToPLCGAM", + "OnlineMessageGAM", + "OPStateGAM", + "Conf_GA_CCPS", + "Conf_GB_CCPS", + "Conf_GA_FHPS", + "Conf_GB_FHPS", + "Conf_GA_MCPS", + "Conf_GB_MCPS", + "Conf_GA_GCPS", + "Conf_GB_GCPS", + "Pub_GA_CCPS", + "Pub_GB_CCPS", + "Pub_GA_FHPS", + "Pub_GB_FHPS", + "Pub_GA_MCPS", + "Pub_GB_MCPS", + "Pub_GA_GCPS", + "Pub_GB_GCPS", + "PLCReadBackPubGAM", + "StatePublisherGAM", + "SegStateGAM", + "EpicsLogGAM", + "LoggerGAM" + ] + }, + "+ECPCThread": { + "Class": "RealTimeThread", + "CPUs": 3, + "Functions": [ + "ECPCIOGAM" + ] + }, + "+RTThread": { + "Class": "RealTimeThread", + "CPUs": 2, + "Functions": [ + "RTIOGAM", + "RTSMGAM" + ] + }, + "+ProtectionThread": { + "Class": "RealTimeThread", + "CPUs": 4, + "Functions": [ + "ProtTimerGAM", + "ProtectionGAM", + "ProtectionMessageGAM" + ] + }, + "+WaveformThread": { + "Class": "RealTimeThread", + "CPUs": 8, + "Functions": [ + "WFIOGAM", + "ReferenceGAM", + "CCPSOnGAM", + "FHPSAOnGAM", + "FHPSBOnGAM", + "CPSARefGAM", + "CPSAWaveformGAM", + "CPSBRefGAM", + "CPSBWaveformGAM", + "HPSAWaveformGAM", + "HPSBWaveformGAM" + ] + }, + "Class": "ReferenceContainer", + "+CodacThread": { + "Class": "RealTimeThread", + "CPUs": 5, + "Functions": [ + "EpicsTimerGAM", + "PulseTimeGAM", + "EpicsIOGAM" + ] + } + } + }, + "+OnlineSync": { + "Class": "RealTimeState", + "+Threads": { + "+CmdThread": { + "Class": "RealTimeThread", + "CPUs": 1, + "Functions": [ + "PLCHandshakeGAM", + "PLCSDNPubConstantGAM", + "PLCSDNSubExtractBitGAM", + "PLCSDNPubCompactBitGAM", + "PLCReadGAM", + "LoadSimGAM", + "LoadStateGAM", + "LoadCopyGAM", + "ValidateActConfigGAM", + "AuxConfigStatusGAM", + "GA_CCPSConfigGAM", + "GB_CCPSConfigGAM", + "AuxSimPubGAM", + "SyncCommandMapperGAM", + "OnlineIOGAM", + "OnlineSyncConstantGAM", + "PXIRegisterReadGAM", + "APS_A_BitMapper", + "BPS_A_BitMapper", + "APS_B_BitMapper", + "BPS_B_BitMapper", + "MHVBitMapper", + "PXIRegisterWriteGAM", + "PXISimulationIOGAM", + "TripToPLCGAM", + "OnlineMessageGAM", + "OPStateGAM", + "Conf_GA_CCPS", + "Conf_GB_CCPS", + "Conf_GA_FHPS", + "Conf_GB_FHPS", + "Conf_GA_MCPS", + "Conf_GB_MCPS", + "Conf_GA_GCPS", + "Conf_GB_GCPS", + "Pub_GA_CCPS", + "Pub_GB_CCPS", + "Pub_GA_FHPS", + "Pub_GB_FHPS", + "Pub_GA_MCPS", + "Pub_GB_MCPS", + "Pub_GA_GCPS", + "Pub_GB_GCPS", + "PLCReadBackPubGAM", + "StatePublisherGAM", + "SegStateGAM", + "EpicsLogGAM", + "LoggerGAM" + ] + }, + "+ECPCThread": { + "Class": "RealTimeThread", + "CPUs": 3, + "Functions": [ + "ECPCIOGAM" + ] + }, + "+RTThread": { + "Class": "RealTimeThread", + "CPUs": 2, + "Functions": [ + "RTIOGAM", + "RTSMGAM" + ] + }, + "+ProtectionThread": { + "Class": "RealTimeThread", + "CPUs": 4, + "Functions": [ + "ProtTimerGAM", + "ProtectionGAM", + "ProtectionMessageGAM" + ] + }, + "+WaveformThread": { + "Class": "RealTimeThread", + "CPUs": 8, + "Functions": [ + "WFIOGAM", + "ReferenceGAM", + "CCPSOnGAM", + "FHPSAOnGAM", + "FHPSBOnGAM", + "CPSARefGAM", + "CPSAWaveformGAM", + "CPSBRefGAM", + "CPSBWaveformGAM", + "HPSAWaveformGAM", + "HPSBWaveformGAM" + ] + }, + "Class": "ReferenceContainer", + "+CodacThread": { + "Class": "RealTimeThread", + "CPUs": 5, + "Functions": [ + "EpicsTimerGAM", + "PulseTimeGAM", + "EpicsIOGAM" + ] + } + } + }, + "+Alarm": { + "Class": "RealTimeState", + "+Threads": { + "+CmdThread": { + "Class": "RealTimeThread", + "CPUs": 1, + "Functions": [ + "PLCHandshakeGAM", + "PLCSDNPubConstantGAM", + "PLCSDNSubExtractBitGAM", + "PLCSDNPubCompactBitGAM", + "PLCReadGAM", + "PulseLengthGAM", + "StateConstantGAM", + "LoadStateGAM", + "ValidateActConfigGAM", + "AuxConfigStatusGAM", + "GA_CCPSConfigGAM", + "GB_CCPSConfigGAM", + "AuxSimPubGAM", + "PXIRegisterReadGAM", + "APS_A_BitMapper", + "BPS_A_BitMapper", + "APS_B_BitMapper", + "BPS_B_BitMapper", + "MHVBitMapper", + "PXIRegisterWriteGAM", + "PXISimulationIOGAM", + "RTStandbyGAM", + "TripToPLCGAM", + "AlarmMessageGAM", + "Conf_GA_CCPS", + "Conf_GB_CCPS", + "Conf_GA_FHPS", + "Conf_GB_FHPS", + "Conf_GA_MCPS", + "Conf_GB_MCPS", + "Conf_GA_GCPS", + "Conf_GB_GCPS", + "Pub_GA_CCPS", + "Pub_GB_CCPS", + "Pub_GA_FHPS", + "Pub_GB_FHPS", + "Pub_GA_MCPS", + "Pub_GB_MCPS", + "Pub_GA_GCPS", + "Pub_GB_GCPS", + "PLCReadBackPubGAM", + "StatePublisherGAM", + "SegStateGAM", + "EpicsLogGAM", + "LoggerGAM" + ] + }, + "+ECPCThread": { + "Class": "RealTimeThread", + "CPUs": 3, + "Functions": [ + "ECPCIOGAM" + ] + }, + "+ProtectionThread": { + "Class": "RealTimeThread", + "CPUs": 4, + "Functions": [ + "ProtTimerGAM", + "ProtectionGAM" + ] + }, + "Class": "ReferenceContainer", + "+CodacThread": { + "Class": "RealTimeThread", + "CPUs": 5, + "Functions": [ + "EpicsTimerGAM", + "PulseTimeGAM", + "EpicsIOGAM" + ] + } + } + } + }, + "+Scheduler": { + "Class": "GAMScheduler", + "TimingDataSource": "Timing" + } + } +} diff --git a/pandoc/codeblock-filter.lua b/pandoc/codeblock-filter.lua new file mode 100644 index 0000000..1116413 --- /dev/null +++ b/pandoc/codeblock-filter.lua @@ -0,0 +1,35 @@ +-- insprired from https://github.com/pandoc/lua-filters/blob/5686d96/diagram-generator/diagram-generator.lua + +local dotPath = os.getenv("DOT") or "dot" + +local filetype = "svg" +local mimetype = "image/svg+xml" + +local function graphviz(code, filetype) + return pandoc.pipe(dotPath, {"-T" .. filetype}, code) +end + +function CodeBlock(block) + local converters = { + graphviz = graphviz, + } + + local img_converter = converters[block.classes[1]] + if not img_converter then + return nil + end + + local success, img = pcall(img_converter, block.text, filetype) + + if not success then + io.stderr:write(tostring(img)) + io.stderr:write('\n') + error 'Image conversion failed. Aborting.' + end + + return pandoc.RawBlock('html', img) +end + +return { + {CodeBlock = CodeBlock}, +}