update youj.opc_acl set active_flag = 0 where opc_server_name = 'nml-cryo5.fnal.gov'
update youj.opc_acl set active_flag = 1 where opc_server_name = 'nml-cryo2.fnal.gov'
! ADD N:NCRR1 ( "Read Real block1 status ", NMLOPC, , 01FFFFFE, 0 ) SSDNHX READNG (0032/0000/0000/0000) PRO READNG ( 4, 4, 60) PDB READNG ( "STS ", "STS ", 16, 4, 4, 0, 0, 0, 0, 1) FMAP READNG ( "APACS", "NML1.|READ_REALA|", "Float", 0, 1) !
! ADD N:NHTSP ( "NR Dewar HeatEr LOOP SET", NMLOPC, , 01FFFFFE, 0 ) SSDNHX READNG (0032/0000/0000/0000) PRO READNG ( 4, 4, 60) PDB READNG ( "%FUL", "%FUL", 16, 4, 4, 0, 0, 0, 0, 1) FMAP READNG ( "APACS", "NML1.HEX_N.VALVES.LLDEWH_SP", "Float", 0, 1) SSDNHX SETTNG (0032/0000/0000/0000) PRO SETTNG ( 4, 4, 60, 00, 00, A8, 41) PDB SETTNG ( "%FUL", "%FUL", 16, 0, 4, 0, 1, 0) FMAP SETTNG ( "APACS", "NML1.HEX_N.VALVES.LLDEWH_SP", "Float", 0, 1) !
!
ADD N:C2LLHD ( "SCRH LIQUID LEVEL PROBE ", NMLOPC, , 01FFFFFE,
"TvFrig" )
SSDNHX ANALBL (0032/0000/0000/0000)
PRO ANALBL ( 2, 20, 60, 00000000, 42DC0000, 2, 4, 1, 1,
0, 0, 0, 0, 10, 0, 0)
PRO ANALTX ( 0, 0, 0, 0, " ")
SSDNHX READNG (0032/0000/0000/0000)
PRO READNG ( 4, 4, 60)
PDB READNG ( "%FUL", "%FUL", 16, 4, 4, 0, 0, 0, 0, 1, 0, 0, 0, 0)
FMAP READNG ( "APACS",
"NML1.|C2_LT_LLHD|", "Float", 0, 1)
!
! ADD N:NMLUPT ( "NMLOPC Uptime ", NMLOPC, , 01FFFFFE, 0 ) SSDNHX READNG (0032/0000/0000/0000) PRO READNG ( 4, 4, 60) PDB READNG ( "Min ", "Min ", 10, 4, 4, 0, 1, 0, 0, 1) FMAP READNG ( "APACS", "NML1.|UPTIME|", "Integer", 0, 1) !
The client makes use of three open-source java libraries.
The NMLOPC has built in re-try logic to recover from issues like network disruption or APACS server not available. It will try to reconnect to APACS server for a maximum of 3 times. If it still fails to establish the communication, it will trigger an OAC restart process. Notification email is sent for each re-try.
Other configurations might be needed:
No specical software or account is needed for OAC.
use appdb
go
create table opc_acl (
oac_name varchar (100) not null,
opc_server_name varchar (100) not null,
username varchar (50) not null,
password varchar (200) not null,
prog_id varchar (100) not null,
phrase varchar (50) not null,
alert_emails varchar (200) null,
active_flag bit not null
)
go
delete from opc_acl where oac_name = 'nmlopc'
insert into opc_acl (oac_name, opc_server_name,
username, password, prog_id, phrase, active_flag, heartbeat_tag, update_freq_in_hz,
acnet_control_device, alert_emails)
values ('nmlopc', 'nml-cryo5.fnal.gov', 'serviceAccount', 'EncryptedPassword',
'apacs', 'phrase description', 1, 'NML1.|UPTIME|', '15', 'N:NMLCTL', 'youj@fnal.gov')
go
/usr/sbin/lsof -u console | grep java | egrep 'pipe|eventpoll' | wc # about 58 at startup.