Tip |
---|
|
The function CtrlSys.pv_checker() in the meclas package is a basic tool for helping narrow down potential error sources quickly. Use CtrlSys.pv_checker("YOUR:PV:NAME:HERE") to help determine if the problem is with the PV/IOC, the host, or something else. |
...
Tip |
---|
title | Side note: basic understanding of PVs, IOCs, and hosts |
---|
|
Let's use the example pictured above to illustrate how our controls system communicates with devices like the MBC: - The MBC mentioned above is a bias control box for the pulse shaper of the front end of the LPL system in MEC.
- The MBC is made up of several different sub-components with different functions – for example, a voltage operating mode controller, a voltage operating mode readback indicator, a voltage controller, a voltage readback indicator, a reset button, a fault indicator, and so on.
- Lots of different laser staff or instrument scientists might want to control or read out information from these sub-components at any given time, but these sometimes asynchronous/sometimes simultaneous/sometimes random requests can be overwhelming and cause problems.
- How can the MBC avoid issues with multiple people trying to talk to it all at the same time?
- To manage these potential communication issues, an "Input / Output Controller" (or IOC) gets created for the MBC.
- The IOC assigns a "Process Variable" (or PV) to each sub-component of the MBC.
- All communication in or out of an MBC sub-component goes through the PV.
- The communication of all the PVs is coordinated by the IOC in a way that doesn't overwhelm the MBC.
- The IOC runs on a nearby computer (i.e. the computer acts as "host" or "server" for the IOC; this computer may be responsible for running one or possibly multiple IOCs at once).
In order to help solidify this picture, let's consider an analogy with a rock band.
- Imagine a rock band that's super popular.
- (The MBC is like the rock band – they're both super popular!)
- The rock band is made up of several different group members with different functions – for example, a lead guitarist, a lead singer, a bassist, a drummer, and so on.
- (The MBC's sub-components are like the different group members – they all have their own functions!)
- Lots of different superfans or concert venues might want to communicate with the band members at any given time, but these sometimes asynchronous/sometimes simultaneous/sometimes random requests can be overwhelming and cause problems.
- (The laser staff or instrument scientists are like the superfans or concert venues – they all can be too much to handle without some coordination!)
- How can the rock band avoid issues with multiple people trying to talk to it all at the same time?
- To manage these potential communication issues, a talent agency gets hired for the rock band.
- (The IOC is like the talent agency – they both help make communication requests manageable!)
- The talent agency assigns an agent to each group member of the rock band.
- (The PV is like the agent – they are uniquely assigned to taking care of communication with a single entity!)
- All communication with a group member goes through their agent.
- (The PV is like the agent – all communication in or out is managed through the single official channel!)
- The communication of all the agents is coordinated by the talent agency in a way that doesn't overwhelm the rock band.
- (The IOC is like the talent agency – communications can be metered such that all the requests can be handled appropriately!)
- The talent agency rents out space in a nearby building (i.e. the building acts as landlord for the talent agency; this building may rent out space to one or possibly multiple talent agencies at once).
- (The nearby computer host/server is like the building where the talent agency rents space – there may be one or several entities hosted in the same location)
Hope that helps!! |
Initial troubleshooting
...
The function CtrlSys.pv_checker()
in the meclas
package is a basic tool for helping narrow down potential error sources quickly. This function utilizes the ECS group's engineering_tools
package (see here for more info) to quickly troubleshoot a few of the likely error sources listed above. (Note that this function executes automatically as part of the LPL YFE start-up procedure, so you may just be able to scroll up in your terminal and look for the issue there.)
...