Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.

Back to simulacrum reference index: https://confluence.slac.stanford.edu/x/hak7Eg

Scope of this guide

This is intended for people who may have heard about simulacrum at SLAC, but want to become more familiar with the project.

...

Despite describing different machines, all simulacrum machine services should read pretty similar to each other, lending themselves to iteration and expansion. This is possible because the services outsource most of the physics to tao. Services configure the relationships between variables, capable of multi-step interactions (See "Simulating PVs 2: putter functions" https://confluence.slac.stanford.edu/x/2daREg). This expands the scope of what is easy to model by coordinating properties into human-readable concepts such as status messages and pre-programmed modes.

...

As you can see, device names usually have several rules that govern their naming convention. LCLS-II alone has hundreds of proposed PVs and ways to organize them (LCLS-II Naming Conventions). You can find a database of in-use EPICS devices on the Oracle database: "Looking up Devices" (https://confluence.slac.stanford.edu/x/tvqREg). Up Devices. We can add other terms to the end of this device to make PVs that characterize our device:

...

PVs make up the digital interface of devices, allowing operators to control devices remotely over the EPICS server. If we run an EPICS server privately (so there is no cross-talk with the real machine), and simulate virtual devices to respond to PV input, then we have the basis for simulacrum user controls. To put it another way, simulacrum is designed with the same controls as the real thing! For more about EPICS devices accessible to simulacrum modeling, read the article "Using tao_shell.py" (https://confluence.slac.stanford.edu/x/mKk7Eg).


Conclusion

Simulacrum is a project that bridges physics modeling with our control systems at SLAC, resulting in simulations that look and feel like data from the real machine. Hopefully, this article will be a jumping-off point to check out simulacrum's github (https://github.com/slaclab/simulacrum) and reach out to the contributors to get involved. You can ask for an invitation to the simulacrum channel on Slack if you have any questions about this article or any other article in this series.

...

If the links are broken, reach out the authors via SLAC email.Find more simulacrum documentation on the reference index. https://confluence.slac.stanford.edu/x/hak7Eg