From c8db386b166e2d0ce6faf9dec4a7fa32a9a859f5 Mon Sep 17 00:00:00 2001 From: X11MA Date: Fri, 26 May 2017 10:32:11 +0200 Subject: [PATCH] Closedown --- config/energy_scan.properties | 2 +- plugins/EnergyScan.form | 196 ++++++++++++++++++++++++++++------ plugins/EnergyScan.java | 164 +++++++++++++++++++++++----- script/EnergyScan.py | 19 ++-- 4 files changed, 317 insertions(+), 64 deletions(-) diff --git a/config/energy_scan.properties b/config/energy_scan.properties index 94a57dd..12862a1 100644 --- a/config/energy_scan.properties +++ b/config/energy_scan.properties @@ -12,7 +12,7 @@ Ni=825.0;890.0;2.0;10.0;-9.0;-11.5 Ni Linear=825.0;890.0;2.0;10.0;-3.5;-5.5 O=500.0;560.0;2.0;10.0;-7.5;-8.5 Gd=1170.0;1240.0;2.0;10.0;-13.0;-11.5 -Cr=560.0;610.0;2.0;5.0;-6.4;-7.5 +Cr=560.0;610.0;2.0;5.0;-6.4;-7.1 Co=750.0;825.0;2.0;5.0;-10.5;-12.0 Mn=620.0;670.0;2.0;5.0;-7.5;-8.5 Fe=680.0;750.0;2.0;5.0;-8.2;-9.6 diff --git a/plugins/EnergyScan.form b/plugins/EnergyScan.form index 0ec73d6..43771bc 100644 --- a/plugins/EnergyScan.form +++ b/plugins/EnergyScan.form @@ -9,6 +9,8 @@ + + @@ -28,6 +30,7 @@ + @@ -35,9 +38,11 @@ - + - + + + @@ -323,24 +328,17 @@ - - - - - - - - - - - - - - - - - - + + + + + + + + + + + @@ -360,7 +358,10 @@ - + + + + @@ -388,8 +389,23 @@ - - + + + + + + + + + + + + + + + + + @@ -410,14 +426,9 @@ - - - - - - + @@ -531,6 +542,14 @@ + + + + + + + + @@ -565,7 +584,7 @@ - + @@ -596,5 +615,122 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/plugins/EnergyScan.java b/plugins/EnergyScan.java index 5d0c01b..2e759a1 100644 --- a/plugins/EnergyScan.java +++ b/plugins/EnergyScan.java @@ -116,6 +116,10 @@ public class EnergyScan extends Panel { args.put("Cam_end", jSpinner2.getValue()); args.put("Save_array_data", jCheckBox4.isSelected() ? 1 : 2); args.put("Element", comboSetup.getSelectedItem().toString()); + args.put("OTF_override", jCheckBox5.isSelected() ? 1 : 2); + args.put("Sample", jTextField1.getText()); + args.put("Magnet", jRadioButton4.isSelected() ? 1 : 2); + buttonAbort.setEnabled(true); @@ -185,6 +189,7 @@ public class EnergyScan extends Panel { buttonGroupPlot = new javax.swing.ButtonGroup(); buttonGroup1 = new javax.swing.ButtonGroup(); + buttonGroup2 = new javax.swing.ButtonGroup(); panelParameters = new javax.swing.JPanel(); jLabel1 = new javax.swing.JLabel(); spinnerE1 = new javax.swing.JSpinner(); @@ -222,10 +227,17 @@ public class EnergyScan extends Panel { jLabel14 = new javax.swing.JLabel(); jLabel15 = new javax.swing.JLabel(); jCheckBox4 = new javax.swing.JCheckBox(); + jCheckBox5 = new javax.swing.JCheckBox(); panelSetup = new javax.swing.JPanel(); comboSetup = new javax.swing.JComboBox(); buttonConfigure = new javax.swing.JButton(); jLabel10 = new javax.swing.JLabel(); + panelSample = new javax.swing.JPanel(); + jTextField1 = new javax.swing.JTextField(); + jRadioButton4 = new javax.swing.JRadioButton(); + jRadioButton5 = new javax.swing.JRadioButton(); + jLabel16 = new javax.swing.JLabel(); + jLabel17 = new javax.swing.JLabel(); panelParameters.setBorder(javax.swing.BorderFactory.createTitledBorder("Parameters")); @@ -440,6 +452,13 @@ public class EnergyScan extends Panel { jCheckBox4.setText("Save array data"); + jCheckBox5.setText("OTF override"); + jCheckBox5.addActionListener(new java.awt.event.ActionListener() { + public void actionPerformed(java.awt.event.ActionEvent evt) { + jCheckBox5ActionPerformed(evt); + } + }); + javax.swing.GroupLayout jPanel3Layout = new javax.swing.GroupLayout(jPanel3); jPanel3.setLayout(jPanel3Layout); jPanel3Layout.setHorizontalGroup( @@ -447,20 +466,16 @@ public class EnergyScan extends Panel { .addGroup(jPanel3Layout.createSequentialGroup() .addContainerGap() .addGroup(jPanel3Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING) - .addGroup(jPanel3Layout.createSequentialGroup() - .addGroup(jPanel3Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING) - .addComponent(jRadioButton1) - .addComponent(jRadioButton2) - .addComponent(jLabel6)) - .addGap(74, 74, 74) - .addGroup(jPanel3Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING) - .addComponent(jLabel7) - .addComponent(jCheckBox3) - .addComponent(jCheckBox2))) - .addGroup(jPanel3Layout.createSequentialGroup() - .addComponent(jRadioButton3) - .addGap(48, 48, 48) - .addComponent(jCheckBox4))) + .addComponent(jRadioButton1) + .addComponent(jRadioButton2) + .addComponent(jLabel6) + .addComponent(jRadioButton3)) + .addGap(54, 54, 54) + .addGroup(jPanel3Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING) + .addComponent(jCheckBox4) + .addComponent(jLabel7) + .addComponent(jCheckBox3) + .addComponent(jCheckBox2)) .addGap(31, 31, 31) .addGroup(jPanel3Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING) .addGroup(jPanel3Layout.createSequentialGroup() @@ -476,7 +491,9 @@ public class EnergyScan extends Panel { .addComponent(buttonExecute, javax.swing.GroupLayout.PREFERRED_SIZE, 100, javax.swing.GroupLayout.PREFERRED_SIZE) .addComponent(buttonAbort, javax.swing.GroupLayout.PREFERRED_SIZE, 100, javax.swing.GroupLayout.PREFERRED_SIZE)) .addGap(18, 18, 18) - .addComponent(jCheckBox1)) + .addGroup(jPanel3Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING) + .addComponent(jCheckBox1) + .addComponent(jCheckBox5))) .addComponent(jLabel15)) .addContainerGap()) ); @@ -498,8 +515,18 @@ public class EnergyScan extends Panel { .addComponent(jCheckBox1) .addComponent(jRadioButton1) .addComponent(jCheckBox2)) - .addGap(16, 16, 16) - .addComponent(buttonAbort)) + .addGroup(jPanel3Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING) + .addGroup(jPanel3Layout.createSequentialGroup() + .addGap(16, 16, 16) + .addComponent(buttonAbort)) + .addGroup(jPanel3Layout.createSequentialGroup() + .addGap(24, 24, 24) + .addGroup(jPanel3Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.BASELINE) + .addComponent(jCheckBox4) + .addComponent(jRadioButton3))) + .addGroup(jPanel3Layout.createSequentialGroup() + .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED) + .addComponent(jCheckBox5)))) .addGroup(jPanel3Layout.createSequentialGroup() .addGroup(jPanel3Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.BASELINE) .addComponent(jSpinner1, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE) @@ -512,12 +539,8 @@ public class EnergyScan extends Panel { .addGap(60, 60, 60) .addGroup(jPanel3Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.BASELINE) .addComponent(jRadioButton2) - .addComponent(jCheckBox3)) - .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.UNRELATED) - .addGroup(jPanel3Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.BASELINE) - .addComponent(jRadioButton3) - .addComponent(jCheckBox4)))) - .addContainerGap(13, Short.MAX_VALUE)) + .addComponent(jCheckBox3)))) + .addContainerGap(19, Short.MAX_VALUE)) ); panelSetup.setBorder(javax.swing.BorderFactory.createTitledBorder("Setup")); @@ -558,8 +581,76 @@ public class EnergyScan extends Panel { .addComponent(comboSetup, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE) .addComponent(jLabel10) .addComponent(buttonConfigure)) + .addContainerGap(59, Short.MAX_VALUE)) + ); + + panelSample.setBorder(javax.swing.BorderFactory.createTitledBorder("Sample")); + panelSample.setToolTipText(""); + panelSample.setName("Sample"); // NOI18N + + jTextField1.setText("Sample"); + jTextField1.addActionListener(new java.awt.event.ActionListener() { + public void actionPerformed(java.awt.event.ActionEvent evt) { + jTextField1ActionPerformed(evt); + } + }); + + buttonGroup2.add(jRadioButton4); + jRadioButton4.setText("positive"); + jRadioButton4.addActionListener(new java.awt.event.ActionListener() { + public void actionPerformed(java.awt.event.ActionEvent evt) { + jRadioButton4ActionPerformed(evt); + } + }); + + buttonGroup2.add(jRadioButton5); + jRadioButton5.setText("negative"); + + jLabel16.setHorizontalAlignment(javax.swing.SwingConstants.TRAILING); + jLabel16.setText("Sample magnetized in"); + + jLabel17.setHorizontalAlignment(javax.swing.SwingConstants.TRAILING); + jLabel17.setText("direction"); + + javax.swing.GroupLayout panelSampleLayout = new javax.swing.GroupLayout(panelSample); + panelSample.setLayout(panelSampleLayout); + panelSampleLayout.setHorizontalGroup( + panelSampleLayout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING) + .addGroup(panelSampleLayout.createSequentialGroup() + .addContainerGap() + .addComponent(jTextField1, javax.swing.GroupLayout.PREFERRED_SIZE, 416, javax.swing.GroupLayout.PREFERRED_SIZE) + .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED, javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE) + .addGroup(panelSampleLayout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING) + .addComponent(jLabel17) + .addComponent(jLabel16) + .addGroup(panelSampleLayout.createSequentialGroup() + .addComponent(jRadioButton4) + .addGap(29, 29, 29) + .addComponent(jRadioButton5))) .addContainerGap(javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE)) ); + panelSampleLayout.setVerticalGroup( + panelSampleLayout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING) + .addGroup(javax.swing.GroupLayout.Alignment.TRAILING, panelSampleLayout.createSequentialGroup() + .addGroup(panelSampleLayout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING) + .addGroup(panelSampleLayout.createSequentialGroup() + .addComponent(jLabel16) + .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.UNRELATED, javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE) + .addGroup(panelSampleLayout.createParallelGroup(javax.swing.GroupLayout.Alignment.BASELINE) + .addComponent(jRadioButton4) + .addComponent(jRadioButton5))) + .addGroup(panelSampleLayout.createSequentialGroup() + .addContainerGap() + .addComponent(jTextField1, javax.swing.GroupLayout.PREFERRED_SIZE, 28, javax.swing.GroupLayout.PREFERRED_SIZE))) + .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.UNRELATED, javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE) + .addComponent(jLabel17)) + ); + + jTextField1.getAccessibleContext().setAccessibleName("Sample"); + jRadioButton4.getAccessibleContext().setAccessibleName("positive"); + jRadioButton5.getAccessibleContext().setAccessibleName("negative"); + jLabel16.getAccessibleContext().setAccessibleName("Sample magnetized in "); + jLabel17.getAccessibleContext().setAccessibleName("direction"); javax.swing.GroupLayout layout = new javax.swing.GroupLayout(this); this.setLayout(layout); @@ -568,6 +659,7 @@ public class EnergyScan extends Panel { .addComponent(jPanel3, javax.swing.GroupLayout.Alignment.TRAILING, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE) .addComponent(panelParameters, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE) .addComponent(panelSetup, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE) + .addComponent(panelSample, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE) ); layout.setVerticalGroup( layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING) @@ -576,9 +668,13 @@ public class EnergyScan extends Panel { .addComponent(panelParameters, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE) .addGap(18, 18, 18) .addComponent(panelSetup, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE) - .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED, 30, Short.MAX_VALUE) + .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED) + .addComponent(panelSample, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE) + .addGap(18, 18, 18) .addComponent(jPanel3, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE)) ); + + panelSample.getAccessibleContext().setAccessibleName("Sample description"); }// //GEN-END:initComponents private void radioK1ActionPerformed(java.awt.event.ActionEvent evt) {//GEN-FIRST:event_radioK1ActionPerformed @@ -645,12 +741,25 @@ public class EnergyScan extends Panel { } }//GEN-LAST:event_buttonExecuteActionPerformed + private void jCheckBox5ActionPerformed(java.awt.event.ActionEvent evt) {//GEN-FIRST:event_jCheckBox5ActionPerformed + // TODO add your handling code here: + }//GEN-LAST:event_jCheckBox5ActionPerformed + + private void jTextField1ActionPerformed(java.awt.event.ActionEvent evt) {//GEN-FIRST:event_jTextField1ActionPerformed + // TODO add your handling code here: + }//GEN-LAST:event_jTextField1ActionPerformed + + private void jRadioButton4ActionPerformed(java.awt.event.ActionEvent evt) {//GEN-FIRST:event_jRadioButton4ActionPerformed + // TODO add your handling code here: + }//GEN-LAST:event_jRadioButton4ActionPerformed + EditorDialog dlgConfig; // Variables declaration - do not modify//GEN-BEGIN:variables private javax.swing.JButton buttonAbort; private javax.swing.JButton buttonConfigure; private javax.swing.JButton buttonExecute; private javax.swing.ButtonGroup buttonGroup1; + private javax.swing.ButtonGroup buttonGroup2; private javax.swing.ButtonGroup buttonGroupPlot; private javax.swing.JComboBox comboRunType; private javax.swing.JComboBox comboSetup; @@ -658,6 +767,7 @@ public class EnergyScan extends Panel { private javax.swing.JCheckBox jCheckBox2; private javax.swing.JCheckBox jCheckBox3; private javax.swing.JCheckBox jCheckBox4; + private javax.swing.JCheckBox jCheckBox5; private javax.swing.JLabel jLabel1; private javax.swing.JLabel jLabel10; private javax.swing.JLabel jLabel11; @@ -665,6 +775,8 @@ public class EnergyScan extends Panel { private javax.swing.JLabel jLabel13; private javax.swing.JLabel jLabel14; private javax.swing.JLabel jLabel15; + private javax.swing.JLabel jLabel16; + private javax.swing.JLabel jLabel17; private javax.swing.JLabel jLabel2; private javax.swing.JLabel jLabel3; private javax.swing.JLabel jLabel4; @@ -677,9 +789,13 @@ public class EnergyScan extends Panel { private javax.swing.JRadioButton jRadioButton1; private javax.swing.JRadioButton jRadioButton2; private javax.swing.JRadioButton jRadioButton3; + private javax.swing.JRadioButton jRadioButton4; + private javax.swing.JRadioButton jRadioButton5; private javax.swing.JSpinner jSpinner1; private javax.swing.JSpinner jSpinner2; + private javax.swing.JTextField jTextField1; private javax.swing.JPanel panelParameters; + private javax.swing.JPanel panelSample; private javax.swing.JPanel panelSetup; private javax.swing.JRadioButton radioK1; private javax.swing.JRadioButton radioK3; diff --git a/script/EnergyScan.py b/script/EnergyScan.py index 0b5b8a2..cf43e1d 100644 --- a/script/EnergyScan.py +++ b/script/EnergyScan.py @@ -51,7 +51,7 @@ PLOT_TYPE = 1 print "\nStarting energy scan - Parameters: ", print Element,E1,E2,TIME,DELAY,OFFSET1,OFFSET2,RUNTYPE#,ALPHA1,ALPHA2 - +caput(OTF_ESET, E1) ############################################################################### # Plotting @@ -74,24 +74,24 @@ def _startPlot(type): TEY = [] dE1 = 0.0 dE2 = 0.0 - t_start = time.clock() - t_end = time.clock() + TIME*60.0 + t_start = time.time() + t_end = time.time() + TIME*60.0 while running: try: if otf_start.read() == 0: #if (otf_start.read() == 0 or time.time() > t_end): break e = energy.read() - if OTF_override == 1: - cur_en = E1+(E2-E1)*(time.clock()-t_start)/(TIME*60) + if (time.time() <= t_end and OTF_override == 1): + + cur_en = E1+(E2-E1)*(time.time()-t_start)/(TIME*60) #caput ("X11MA-PHS:E_SP",cur_en) cur_en1 = cur_en - dE1 cur_en2 = cur_en - dE2 - caput ("X11MA-ID1:ENERGY",e) - caput ("X11MA-ID2:ENERGY",e) + caput ("X11MA-ID1:ENERGY",e-0.1) + caput ("X11MA-ID2:ENERGY",e-0.1) time.sleep(0.0001) - #while abs (e - cur_en) < 0.01: - # pass + # pass #time.sleep(0.0001)''' ID1 = ID1_En.read() ID2 = ID2_En.read() @@ -249,6 +249,7 @@ for scan_no in range(number_of_scans): otf_start.write(0) finally: stopPlot() + caput(OTF_ESET, E1+5.0) T_end = Temp.getValue() time.sleep(5.0) #TODO: wait for file instead of sleep