1994 1995 1996 1997 1998 1999 2000 2001 2002 2003 2004 2005 2006 2007 2008 2009 2010 2011 2012 2013 2014 2015 <2016> 2017 2018 2019 2020 2021 2022 2023 2024 | Index | 1994 1995 1996 1997 1998 1999 2000 2001 2002 2003 2004 2005 2006 2007 2008 2009 2010 2011 2012 2013 2014 2015 <2016> 2017 2018 2019 2020 2021 2022 2023 2024 |
<== Date ==> | <== Thread ==> |
---|
Subject: | Re: Reg programming in EPICS environment for master slave control |
From: | Himanshu Tyagi <[email protected]> |
To: | Mark Rivers <[email protected]> |
Cc: | EPICS Tech Talk <[email protected]> |
Date: | Wed, 11 May 2016 16:26:56 +0530 |
Hi Himanshi,
I thought about it some more and perhaps the simplest solution to your question is to use EPICS "event" scanning.
In your master IOC you load the following records:
record(event, "MasterEvent") {
field(VAL, "100")
}
record(ao, "MasterSetting1") {
field(SCAN, "Event")
field(EVNT, "100")
field(OUT, "PowerSupplySetting1")
}
record(ao, "MasterSetting2") {
field(SCAN, "Event")
field(EVNT, "100")
field(OUT, "PowerSupplySetting2")
}
...
Now whenever the MasterEvent record processes all of the MasterSettingN records will process. This will cause them to push their values to the power supply IOC records. In this case I have hard-coded event number 100, but you would probably want to make that a macro parameter to the .template file.
You could also reverse the logic to use "pull" rather than "push" and have the event record be located in the power supply IOC. Then when this record processes it reads all of the settings from the master controller IOC.
record(event, "SlaveEvent") {
field(VAL, "100")
}
record(ao, "PowerSupplySetting1") {
field(SCAN, "Event")
field(EVNT, "100")
field(DOL, "MasterSetting1")
field(OMSL, "closed_loop")
}
record(ao, "PowerSupplySetting2") {
field(SCAN, "Event")
field(EVNT, "100")
field(DOL, "MasterSetting2")
field(OMSL, "closed_loop")
}
...
I have not tested these of course, but it seems like they should work.
Mark
________________________________
________________________________
From: Himanshu Tyagi [[email protected]]
Sent: Friday, May 06, 2016 4:56 AM
To: Mark Rivers
Cc: EPICS Tech Talk
Subject: Re: Reg programming in EPICS environment for master slave control
Hi Mark,
As per my limited exposure to EPICS , I have found SNL a bit complex. Can you give me an idea how to ensure this process using SNL .
Regds,
Himanshu
On Thu, May 5, 2016 at 5:47 PM, Mark Rivers <[email protected]<redir.aspx?REF=1VqSstU8XTIqkZ1qSGmGDOPaQwuznJr49MlksSSyQfZELOpvq3XTCAFtYWlsdG86cml2ZXJzQGNhcnMudWNoaWNhZ28uZWR1>> wrote:
One way to do that would be do use an EPICS State Notation Language program. It will connect to the ~100 PVs on the master controller IOC and also to the corresponding ~100 PVs on the power supply IOC. When the user presses a Copy button the SNL program copies the values from the master controller IOC to the power supply IOC.
Mark
________________________________
From: Himanshu Tyagi [[email protected]<redir.aspx?REF=JHhO9jjYm0wFSmCAe1Y65OdTqvrptt5OTMW6kRDD35FELOpvq3XTCAFtYWlsdG86aGltYW5zaHUudDBAZ21haWwuY29t>]
Sent: Thursday, May 05, 2016 6:59 AM
To: Mark Rivers
Cc: EPICS Tech Talk
Subject: Re: Reg programming in EPICS environment for master slave control
Thanks for your reply. I was able to program using the CP property in DOL field and was able to exchange the PVs between 2 IOCs deployed in the same system.
I wanted to know that how can I ensure that all the records process on a single user event like a button click (like update parameters in master control) so that PS controller receives the PVs at the same time from the master controller.
Regds,
Himanshu
On Wed, May 4, 2016 at 5:47 PM, Mark Rivers <[email protected]<redir.aspx?REF=1VqSstU8XTIqkZ1qSGmGDOPaQwuznJr49MlksSSyQfZELOpvq3XTCAFtYWlsdG86cml2ZXJzQGNhcnMudWNoaWNhZ28uZWR1><redir.aspx?REF=jiZcbzbYhjqs6IbFbJV_iygdR8oxXuTgxdGfO9uMLna5BVzb3nTTCAFtYWlsdG86cml2ZXJzQGNhcnMudWNoaWNhZ28uZWR1>> wrote:
If your power supply IOC has a record like the following:
record(ao, "PSCurrent1")
{
field(DOL, ""MainControllerCurrent1 CP")
field(OMSL, "closed_loop")
}
Then any time that the MainControllerCurrent1.VAL changes the PSCurrent1 record will update.
Mark
________________________________
From: Himanshu Tyagi [[email protected]<redir.aspx?REF=JHhO9jjYm0wFSmCAe1Y65OdTqvrptt5OTMW6kRDD35FELOpvq3XTCAFtYWlsdG86aGltYW5zaHUudDBAZ21haWwuY29t><redir.aspx?REF=ZbV6eKNSSY6daLSrNe4EaKDpQuXykZL8x6jIu_z8wfC5BVzb3nTTCAFtYWlsdG86aGltYW5zaHUudDBAZ21haWwuY29t>]
Sent: Wednesday, May 04, 2016 7:05 AM
To: Mark Rivers
Cc: EPICS Tech Talk
Subject: Re: Reg programming in EPICS environment for master slave control
Time between the pulses is around 100 sec. The main controller should be able to transmit all the parameters to PS control in 100 ms on user request.
Can you please tell me about the CP property (I have never used it).
Regds,
Himanshu
On Wed, May 4, 2016 at 5:09 PM, Mark Rivers <[email protected]<redir.aspx?REF=1VqSstU8XTIqkZ1qSGmGDOPaQwuznJr49MlksSSyQfZELOpvq3XTCAFtYWlsdG86cml2ZXJzQGNhcnMudWNoaWNhZ28uZWR1><redir.aspx?REF=jiZcbzbYhjqs6IbFbJV_iygdR8oxXuTgxdGfO9uMLna5BVzb3nTTCAFtYWlsdG86cml2ZXJzQGNhcnMudWNoaWNhZ28uZWR1><redir.aspx?REF=kEXdxYCCr-FZUaL_ThshHBkVkM3HNl3ZEb9C7YBNKLtq8siAFXTTCAFtYWlsdG86cml2ZXJzQGNhcnMudWNoaWNhZ28uZWR1>> wrote:
What is the time between pulses? How long does the main controller have to send all 100 parameters to the power supply controller?
Can the main controller just post the new parameters with Channel Access and the power supply controller use Channel Access links with CP property? The power supply controller will then get all of the new values but only apply them just before the start of the next pulse?
Mark
________________________________
From: Himanshu Tyagi [[email protected]<redir.aspx?REF=JHhO9jjYm0wFSmCAe1Y65OdTqvrptt5OTMW6kRDD35FELOpvq3XTCAFtYWlsdG86aGltYW5zaHUudDBAZ21haWwuY29t><redir.aspx?REF=ZbV6eKNSSY6daLSrNe4EaKDpQuXykZL8x6jIu_z8wfC5BVzb3nTTCAFtYWlsdG86aGltYW5zaHUudDBAZ21haWwuY29t><redir.aspx?REF=NuWGffECXUuAnd18S9ms4dhT2b63rqKRkwMTen-yuOFq8siAFXTTCAFtYWlsdG86aGltYW5zaHUudDBAZ21haWwuY29t>]
Sent: Wednesday, May 04, 2016 1:22 AM
To: Mark Rivers
Cc: EPICS Tech Talk
Subject: Re: Reg programming in EPICS environment for master slave control
Dear Mark,
Thanks for your reply.
In actual I have around 100 configuration parameters which I have to pass to my Power supply controller. The pulse length is 1000sec and presently I am not considering the change in parameters during pulse.
The PS controller must respond within 100 ms to the set points sent by the main controller . If the parameters are accepted the status can be ready from PS control and if any parameter is not accepted the status can be error or any other state which can depict the issue.
Please let me know if you need any other information.
Regds,
Himanshu
On Tue, May 3, 2016 at 4:15 PM, Mark Rivers <[email protected]<redir.aspx?REF=AwK7Ii63TLBuRWEm3SnscnWPJiy07UGHmTZ_TrzpYVimjexvq3XTCAFtYWlsdG86cml2ZXJzQGNhcnMudWNoaWNhZ28uZWR1><redir.aspx?REF=jiZcbzbYhjqs6IbFbJV_iygdR8oxXuTgxdGfO9uMLna5BVzb3nTTCAFtYWlsdG86cml2ZXJzQGNhcnMudWNoaWNhZ28uZWR1><redir.aspx?REF=kEXdxYCCr-FZUaL_ThshHBkVkM3HNl3ZEb9C7YBNKLtq8siAFXTTCAFtYWlsdG86cml2ZXJzQGNhcnMudWNoaWNhZ28uZWR1><redir.aspx?REF=NFc7nQy3xd8mw_XMSZxUv_SuToH6DNGtjvvmpUeuyLqU9OlKEHTTCAFtYWlsdG86cml2ZXJzQGNhcnMudWNoaWNhZ28uZWR1>> wrote:
Can you add some information about the performance requirements?
What is your pulse rate?
What is the frequency at which the main controller needs to pass that information to the power supply controllers?
What is the latency you can tolerate, i.e. how long after the main controller sends the information must be acted upon by the power supply controller?
Mark
________________________________
From: [email protected]<redir.aspx?REF=zX9Y2-JX4WpXWfJPD2bOINay1g1tbrOG3fbXe_mPbC-mjexvq3XTCAFtYWlsdG86dGVjaC10YWxrLWJvdW5jZXNAYXBzLmFubC5nb3Y.><redir.aspx?REF=vce_pkiwGawIdBVvhzluLmUu9EK7IC2by851GKKdPam5BVzb3nTTCAFtYWlsdG86dGVjaC10YWxrLWJvdW5jZXNAYXBzLmFubC5nb3Y.><redir.aspx?REF=yVfonvjqzvtM_LOEdjo3Dls7rQUy9pcLntU9YM_g7Hpq8siAFXTTCAFtYWlsdG86dGVjaC10YWxrLWJvdW5jZXNAYXBzLmFubC5nb3Y.><redir.aspx?REF=5_b7Y2U5zCtkHkRXw_nz_N3Er4QaKcezQyhyJGOe1_6U9OlKEHTTCAFtYWlsdG86dGVjaC10YWxrLWJvdW5jZXNAYXBzLmFubC5nb3Y.> [[email protected]<redir.aspx?REF=zX9Y2-JX4WpXWfJPD2bOINay1g1tbrOG3fbXe_mPbC-mjexvq3XTCAFtYWlsdG86dGVjaC10YWxrLWJvdW5jZXNAYXBzLmFubC5nb3Y.><redir.aspx?REF=vce_pkiwGawIdBVvhzluLmUu9EK7IC2by851GKKdPam5BVzb3nTTCAFtYWlsdG86dGVjaC10YWxrLWJvdW5jZXNAYXBzLmFubC5nb3Y.><redir.aspx?REF=yVfonvjqzvtM_LOEdjo3Dls7rQUy9pcLntU9YM_g7Hpq8siAFXTTCAFtYWlsdG86dGVjaC10YWxrLWJvdW5jZXNAYXBzLmFubC5nb3Y.><redir.aspx?REF=5_b7Y2U5zCtkHkRXw_nz_N3Er4QaKcezQyhyJGOe1_6U9OlKEHTTCAFtYWlsdG86dGVjaC10YWxrLWJvdW5jZXNAYXBzLmFubC5nb3Y.>] on behalf of Himanshu Tyagi [[email protected]<redir.aspx?REF=x_ko_ih18Y4s8tn9JiCyMeaUGzUSNTCTuJUUXDKvyHWmjexvq3XTCAFtYWlsdG86aGltYW5zaHUudDBAZ21haWwuY29t><redir.aspx?REF=ZbV6eKNSSY6daLSrNe4EaKDpQuXykZL8x6jIu_z8wfC5BVzb3nTTCAFtYWlsdG86aGltYW5zaHUudDBAZ21haWwuY29t><redir.aspx?REF=NuWGffECXUuAnd18S9ms4dhT2b63rqKRkwMTen-yuOFq8siAFXTTCAFtYWlsdG86aGltYW5zaHUudDBAZ21haWwuY29t><redir.aspx?REF=TaRIMLMDeG082dKah6tSSsYF9lXCN4l7a9iS6TvNLeGU9OlKEHTTCAFtYWlsdG86aGltYW5zaHUudDBAZ21haWwuY29t>]
Sent: Tuesday, May 03, 2016 1:23 AM
To: EPICS Tech Talk
Subject: Reg programming in EPICS environment for master slave control
Hi,
I have a requirement where the experimental facility has 2 controllers. The main experimental control and the power supply control.
The experiment has to be carried out in coordination of the 2 controllers. The main controller passes the configuration parameters to the power supply controller , which checks the validity of the parameters for the next pulse and apply them to the power supplies.
I want to implement this system using EPICS platform. Can any one provide me some ideas as to how to initiate such kind of control programming using EPICS.
I have some basic idea since I have interface Siemens plcs with EPICS but have not done the master -slave (2 controller) communication at EPICS level.
Pls suggest how such programs can be completed.
Regards,
Himanshu
--
--
Himanshu Tyagi
Electronics Engg
Dept of Atomic Energy
P Please consider the environment before printing this e-mail
--
Himanshu Tyagi
Electronics Engg
Dept of Atomic Energy
P Please consider the environment before printing this e-mail
P Please consider the environment before printing this e-mail
Attachment:
PSH0-NB-DNBC-PS.db
Description: Binary data
Attachment:
PSH0-NB-DNBC-Main.db
Description: Binary data