Closed KathrynBaker closed 7 years ago
Need to do #2111 first.
A couple of integration tasks still need to be done.
INIT
routine needs the channel-specific commands adding to it.AXES:ABS
PV needs implementing$(P)CHANNEL
if $(P)$(CHAN):TYPE
!= $(CHAN_EXP_TYPE)
STOP
records ($(P)STOP:_CALC_RAMP
, "$(P)STOP:_CALC_WAVEFORM
and $(P)STOP:_STOP_WAVEFORM
) need pointing at the waveform records once they've been implemented as part of #2113AXES:ABS
. See $(P)INITSEQ
record.controls_channel_specific.db
need linking from the READALL record.Finish review once missing functionality has been added. Note that AXES:ABS:TRUE
and AXES:ABS:FALSE
as detailed on the PVs spreadsheet has been implemented on branch Ticket2113...
. Reasonably this could be simplified to a single AXES:ABS
record. Suggest doing it here and then I'll worry about the merge in #2113
Also, Tom is on holiday for the next two weeks so please could someone else pick up the rework
I'll group rework changes here:
Jul 10, 2017 3:18:26 PM org.epics.pvmanager.loc.LocalDataSource initialize
WARNING: Using zero initialization for channel _LOCAL:INSTRON_01:CHANNEL1
Jul 10, 2017 3:18:26 PM org.epics.pvmanager.loc.LocalDataSource initialize
WARNING: Using zero initialization for channel _LOCAL:INSTRON_01:CHANNEL2
Running tests...
----------------------------------------------------------------------
..SSSSSSSS.FSSS.SSSS..SS.........S....
======================================================================
ERROR [15.036s]: test_WHEN_control_channel_is_requested_THEN_an_allowed_value_is_returned (tests.instron_stress_rig.Instron_stress_rigTests)
----------------------------------------------------------------------
Traceback (most recent call last):
File "C:\Instrument\Apps\EPICS\support\IocTestFramework\master\tests\instron_s
tress_rig.py", line 135, in test_WHEN_control_channel_is_requested_THEN_an_allowed_value_is_returned
self.ca.assert_that_pv_is_one_of("INSTRON_01:CHANNEL", ["Stress", "Strain", "Position"])
File "C:\Instrument\Apps\EPICS\support\IocTestFramework\master\utils\channel_access.py", line 105, in assert_that_pv_is_one_of
raise AssertionError(error_message)
AssertionError: Expected one of ['Stress', 'Strain', 'Position']: actual Position - disabled
$(CHAN)
out of the comments in controls.db
. dbLoadRecords
tries to replace the macro even though it's in a comment and results in an error.
As an IBEX user I want to be able to control the Instron Stress Rig natively in EPICS in order to leverage the best use of the system.
Acceptance Criteria There are additions to the protocol and database files used by the IOC created in Ticket #2111 which covers the interactions for channels
General Notes This ticket is of medium priority in relation to the Instron, ideally it would be in place for the cycle starting May 2nd 2017, however, an incomplete lvDCOM solution as specified in Ticket #2110 means that this can be delayed if required. This ticket should be done after Ticket #2111.
The rig in use consists of the channels, Position (POS) on Channel 1, Stress (STRESS) on Channel 2, ans Strain (STRAIN) on Channel 3.
There is a lot of information to support the stress rig work in a folder called Instron Stress Rig in the ICP discussions area of our local SharePoint. Items below are highlighted as being relevant to this ticket directly, some of the other information may be required from the other documents.
The PV names may not have included a $(P) or the correct number and position of
:
, and may not be the final names used, as clarity here was chosen over following the guidelines. Please use appropriate names, and if different from those in the documents - update the documents as you goSpecific Notes PVs.xslx contains the list of PVs, and an indication of their interactions, the only entries to undertake as part of this ticket are those in the Channel sections - Generic Channel, Position Channel, Stress Channel and Strain Channel.
Note that there are macros and their values to be used listed in the spreadsheet.
The extra information (e.g. the equations TO and FROM) for a channel also needs to be loaded via the st.cmd at this point manually rather than have the IOC automate based on a channel type that is fed in.
Some clarity, and more information can be found in Working through the block diagram.docx.
The Command reference.docx file has the subset of commands that are used by the existing LabVIEW driver, Stress Rig - GPIB.pdf has the full list of commands.