|
2 | 2 | # #
|
3 | 3 | # Description: Script to test RTM-LAMP boards #
|
4 | 4 | # #
|
5 |
| -# Authors: Melissa Aguiar # |
| 5 | +# Author: Melissa Aguiar # |
6 | 6 | # #
|
7 | 7 | # Created: Feb. 25, 2022 #
|
8 | 8 | # #
|
|
25 | 25 |
|
26 | 26 | try:
|
27 | 27 | json_file_in = int(sys.argv[1]) # if argv = 1: read the input data from the old json file
|
28 |
| -except: # else: the user need to input the new values |
| 28 | +except: # if argv = None: the user need to input the new values |
29 | 29 | json_file_in = None
|
30 | 30 |
|
31 | 31 | # constants
|
|
57 | 57 | # PVs per channel
|
58 | 58 | pv_current_ArrayData = []
|
59 | 59 | pv_voltage_ArrayData = []
|
| 60 | +pv_current_ArrayDataRAW = [] |
60 | 61 | pv_current_gain = []
|
61 | 62 | pv_voltage_gain = []
|
62 | 63 | pv_current_offset = []
|
|
75 | 76 | for i in range(0, channels):
|
76 | 77 | pv_current_ArrayData.append( str(pv_prefix) + str("GENConvArrayDataCH") + str(i))
|
77 | 78 | pv_voltage_ArrayData.append( str(pv_prefix) + str("GENConvArrayDataCH") + str(i+channels))
|
| 79 | + pv_current_ArrayDataRAW.append( str(pv_prefix) + str("GEN_CH") + str(i) + str("ArrayData")) |
78 | 80 | pv_current_gain.append( str(pv_prefix) + str("PSGainWavCH") + str(i) + str("-SP.VAL"))
|
79 | 81 | pv_voltage_gain.append( str(pv_prefix) + str("PSGainWavCH") + str(i+channels) + str("-SP.VAL"))
|
80 | 82 | pv_current_offset.append( str(pv_prefix) + str("PSOffsetWavCH") + str(i) + str("-SP.VAL"))
|
|
89 | 91 | pv_pi_kp.append( str(pv_prefix) + str("PSPIKpCH") + str(i) + str("-SP.VAL"))
|
90 | 92 | pv_pi_ti.append( str(pv_prefix) + str("PSPITiCH") + str(i) + str("-SP.VAL"))
|
91 | 93 |
|
| 94 | +print(' # # # # # # # # # # # # # # # # # # # # # # # # # #') |
| 95 | +print(' # #') |
| 96 | +print(' # Description: Script to test RTM-LAMP boards #') |
| 97 | +print(' # #') |
| 98 | +print(' # #') |
| 99 | +print(' # Created: Feb. 25, 2022 #') |
| 100 | +print(' # #') |
| 101 | +print(' # # # # # # # # # # # # # # # # # # # # # # # # # #\n') |
| 102 | + |
92 | 103 | print('\n--------------------------------------------------------------------------')
|
93 | 104 | print('------------------------------ STARTING TEST -----------------------------')
|
94 | 105 | print('--------------------------------------------------------------------------\n')
|
|
166 | 177 |
|
167 | 178 | new_offset = np.zeros(channels)
|
168 | 179 | for i in range(0, channels):
|
169 |
| - new_offset[i] = np.mean(PV(pv_current_ArrayData[i]).get()) |
| 180 | + new_offset[i] = np.mean(PV(pv_current_ArrayDataRAW[i]).get()) |
170 | 181 |
|
171 | 182 | print('New current offset values: \n', new_offset)
|
172 | 183 |
|
|
362 | 373 | for i in range(0, channels):
|
363 | 374 | PV(pv_current_setpoint[i]).put(0, wait=True)
|
364 | 375 | PV(pv_current_setpoint_inf).put(0, wait=True)
|
365 |
| - PV(pv_pi_enable[i]).put(0, wait=True) |
366 |
| - PV(pv_amp_enable[i]).put(0, wait=True) |
| 376 | + PV(pv_pi_enable[i]).put(0, wait=True) |
| 377 | + PV(pv_amp_enable[i]).put(0, wait=True) |
367 | 378 |
|
368 | 379 | print('>>> Set the current setpoint limits in zero for all channels... Done!')
|
369 | 380 |
|
|
386 | 397 | time.sleep(0.2)
|
387 | 398 | PV(pv_square_wave_enable[i]).put(1, wait=True)
|
388 | 399 | time.sleep(0.2)
|
389 |
| - PV(pv_pi_enable[i]).put(1, wait=True) |
| 400 | + PV(pv_pi_enable[i]).put(1, wait=True) |
390 | 401 | time.sleep(0.2)
|
391 |
| - PV(pv_amp_enable[i]).put(1, wait=True) |
| 402 | + PV(pv_amp_enable[i]).put(1, wait=True) |
392 | 403 | time.sleep(0.5)
|
393 | 404 |
|
394 | 405 | print('>>> Enable the square wave for channel %02d... Done!'%(i))
|
|
420 | 431 |
|
421 | 432 | PV(pv_square_wave_enable[i]).put(0, wait=True)
|
422 | 433 | PV(pv_current_setpoint[i]).put(0, wait=True)
|
423 |
| - PV(pv_pi_enable[i]).put(0, wait=True) |
424 |
| - PV(pv_amp_enable[i]).put(0, wait=True) |
| 434 | + PV(pv_pi_enable[i]).put(0, wait=True) |
| 435 | + PV(pv_amp_enable[i]).put(0, wait=True) |
425 | 436 | time.sleep(0.5)
|
426 | 437 |
|
427 | 438 | print('>>> Disable the square wave and set SP = 0 for channel %02d... Done!\n'%(i))
|
|
476 | 487 |
|
477 | 488 | for i in range(0, channels):
|
478 | 489 | PV(pv_current_setpoint[i]).put(sp, wait=True)
|
479 |
| - PV(pv_pi_enable[i]).put(1, wait=True) |
480 |
| - PV(pv_amp_enable[i]).put(1, wait=True) |
| 490 | + PV(pv_pi_enable[i]).put(1, wait=True) |
| 491 | + PV(pv_amp_enable[i]).put(1, wait=True) |
481 | 492 |
|
482 | 493 | print('\n----------------- Calculate the PSD for SP = %fA ------------------\n'%(sp))
|
483 | 494 |
|
|
528 | 539 | for i in range(0, channels):
|
529 | 540 | PV(pv_current_setpoint[i]).put(0, wait=True)
|
530 | 541 | PV(pv_current_setpoint_inf).put(0, wait=True)
|
531 |
| - PV(pv_pi_enable[i]).put(0, wait=True) |
532 |
| - PV(pv_amp_enable[i]).put(0, wait=True) |
| 542 | + PV(pv_pi_enable[i]).put(0, wait=True) |
| 543 | + PV(pv_amp_enable[i]).put(0, wait=True) |
533 | 544 |
|
534 | 545 | print('>>> Set the current setpoint limits in zero for all channels... Done!')
|
535 | 546 |
|
|
550 | 561 | time.sleep(0.2)
|
551 | 562 | PV(pv_square_wave_enable[i]).put(1, wait=True)
|
552 | 563 | time.sleep(0.2)
|
553 |
| - PV(pv_pi_enable[i]).put(1, wait=True) |
| 564 | + PV(pv_pi_enable[i]).put(1, wait=True) |
554 | 565 | time.sleep(0.2)
|
555 |
| - PV(pv_amp_enable[i]).put(1, wait=True) |
| 566 | + PV(pv_amp_enable[i]).put(1, wait=True) |
556 | 567 | time.sleep(0.5)
|
557 | 568 |
|
558 | 569 | print('>>> Enable the square wave for channel %02d... Done!'%(i))
|
|
583 | 594 |
|
584 | 595 | PV(pv_square_wave_enable[i]).put(0, wait=True)
|
585 | 596 | PV(pv_current_setpoint[i]).put(0, wait=True)
|
586 |
| - PV(pv_pi_enable[i]).put(0, wait=True) |
587 |
| - PV(pv_amp_enable[i]).put(0, wait=True) |
| 597 | + PV(pv_pi_enable[i]).put(0, wait=True) |
| 598 | + PV(pv_amp_enable[i]).put(0, wait=True) |
588 | 599 | time.sleep(0.5)
|
589 | 600 |
|
590 | 601 | print('>>> Disable the square wave and set SP = 0 for channel %02d... Done!\n'%(i))
|
|
639 | 650 |
|
640 | 651 | for i in range(0, channels):
|
641 | 652 | PV(pv_current_setpoint[i]).put(sp, wait=True)
|
642 |
| - PV(pv_pi_enable[i]).put(1, wait=True) |
643 |
| - PV(pv_amp_enable[i]).put(1, wait=True) |
| 653 | + PV(pv_pi_enable[i]).put(1, wait=True) |
| 654 | + PV(pv_amp_enable[i]).put(1, wait=True) |
644 | 655 |
|
645 | 656 | print('\n----------------- Calculate the PSD for SP = %fA ------------------\n'%(sp))
|
646 | 657 |
|
|
691 | 702 | for i in range(0, channels):
|
692 | 703 | PV(pv_current_setpoint[i]).put(0, wait=True)
|
693 | 704 | PV(pv_current_setpoint_inf).put(0, wait=True)
|
694 |
| - PV(pv_pi_enable[i]).put(0, wait=True) |
695 |
| - PV(pv_amp_enable[i]).put(0, wait=True) |
| 705 | + PV(pv_pi_enable[i]).put(0, wait=True) |
| 706 | + PV(pv_amp_enable[i]).put(0, wait=True) |
696 | 707 |
|
697 | 708 | print('>>> Set the current setpoint limits in zero for all channels... Done!')
|
698 | 709 |
|
|
713 | 724 | time.sleep(0.2)
|
714 | 725 | PV(pv_square_wave_enable[i]).put(1, wait=True)
|
715 | 726 | time.sleep(0.2)
|
716 |
| - PV(pv_pi_enable[i]).put(1, wait=True) |
| 727 | + PV(pv_pi_enable[i]).put(1, wait=True) |
717 | 728 | time.sleep(0.2)
|
718 |
| - PV(pv_amp_enable[i]).put(1, wait=True) |
| 729 | + PV(pv_amp_enable[i]).put(1, wait=True) |
719 | 730 | time.sleep(0.5)
|
720 | 731 |
|
721 | 732 | print('>>> Enable the square wave for channel %02d... Done!'%(i))
|
|
746 | 757 |
|
747 | 758 | PV(pv_square_wave_enable[i]).put(0, wait=True)
|
748 | 759 | PV(pv_current_setpoint[i]).put(0, wait=True)
|
749 |
| - PV(pv_pi_enable[i]).put(0, wait=True) |
750 |
| - PV(pv_amp_enable[i]).put(0, wait=True) |
| 760 | + PV(pv_pi_enable[i]).put(0, wait=True) |
| 761 | + PV(pv_amp_enable[i]).put(0, wait=True) |
751 | 762 | time.sleep(0.5)
|
752 | 763 |
|
753 | 764 | print('>>> Disable the square wave and set SP = 0 for channel %02d... Done!\n'%(i))
|
|
0 commit comments