On 10/25/2012 07:14 AM, Hu, Yong wrote:
I agree with Ben: no precise definition of softIOC. And there is no 'official' definition: I tried to search "EPICS Application Developer’s Guide" EPICS Base Release 3.14.12. But it seems there is no word 'softIOC'. Also I made a quick search on Release Notes R220.127.116.11  and found a few words 'softIOC' and 'softIoc' mainly related to bugs or behavior change.
But I do have different view of '... softIOC as an IOC that does /not/ have direct access to "devices" ...'. Here is my case: I have made a compactPCI-based data acquisition system which has several cPCI digitizers and one cPCI CPU board. The CPU is running Debian/Linux. I create one IOC for each digitizer so that each digitizer is independently controlled and there are multiple IOCs parallelly running under Linux. In this case, I'd like to say those IOCs are softIOCs. There is a Debian package named 'sysv-rc-softioc' on NSLS-II Controls Package Repository  and we are heavily using this package to manage all our production softIOCs.
The original idea was that softIOC would mean no hardware (e.g. I/O)
Here at SLAC with microTCA running on an embedded linux RTOS we were
faced with the same question.
Now, we have EPICS running as a process controlling real hardware.
We decided not to call it a softIOC; indeed it is a hardIOC.
Just my two cents :)
For me, softIOC has a very broad sense: the IOC(s) running on Windows could be softIOC(s); the single IOC running on vxWorks or RTEMS could be considered as a softIOC if it only contains soft records, if it accesses devices through network, serial, etc, if it ...
Even here, where we talk about serial/networked device control it is fuzzy.
I also consider this real I/O just over some sort of fieldbus.
Again, I believe the term softIOC is no longer appropriate.
I propose we go back to just saying, "IOC"
Let the term IOC cover cases of real I/O or virtual I/O :)
From: email@example.com [mailto:firstname.lastname@example.org] On Behalf Of Benjamin Franksen
Sent: Wednesday, October 24, 2012 9:20 PM
Subject: Re: what are your definitions of softIOC and soft record?
Am Mittwoch, 24. Oktober 2012, 21:51:17 schrieb Jack Smith:
Here is my understanding of what is softIOC and what is soft record:
1. softIOC: any IOC (application/instance) running on Linux or Darwin
is a softIOC since each softIOC is an independent process and multiple
softIOCs can be running on the same physical machine. On the other
hand, only one IOC can be running on vxWorks or RTEMS so that I would
say IOC running on vxWorks or RTEMS is not a typical sofIOC. A softIOC
can control real hardware.
I always thought of softIOC as an IOC that does /not/ have direct access to "devices", accessing them only through network, serial IOC or some such. That you can have more than one on the same physical machine never occurred to me as a defining property for "softIOC".
I guess "softIOC" is a "soft term", there is no precise definition (and therefore I'd argue the term is rather useless).
2. soft record: any record not associated with real hardware is a soft
record. The DTYP field of a soft record is "Soft Channel" (default for
DTYP), "Raw Soft Channel", or "Async Soft Channel".
Yes. You could improve this definition by stating that the INP or OUT link must be of type pv_link (in teh sense of link.h in base), which includes any potential future "soft" support type.
- Re: what are your definitions of softIOC and soft record? Jack Smith
- what are your definitions of softIOC and soft record? Jack Smith
- Re: what are your definitions of softIOC and soft record? Benjamin Franksen
- RE: what are your definitions of softIOC and soft record? Hu, Yong
- Navigate by Date:
RE: JCA problems and questions Chu, Paul
Privacy on Tech-talk Mailing List Jack Smith
- Navigate by Thread:
RE: what are your definitions of softIOC and soft record? Hu, Yong
Re: what are your definitions of softIOC and soft record? Jack Smith