EPICS Controls Argonne National Laboratory

Experimental Physics and
Industrial Control System

1994  1995  1996  1997  1998  1999  2000  2001  2002  2003  2004  2005  2006  2007  <20082009  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  <20082009  2010  2011  2012  2013  2014  2015  2016  2017  2018  2019  2020  2021  2022  2023  2024 
<== Date ==> <== Thread ==>

Subject: javaIOC
From: Marty Kraimer <[email protected]>
To: TechTalk EPICS <[email protected]>
Date: Tue, 23 Sep 2008 14:49:57 -0400
A new release of the javaIOC is ready. It is available at:

http://epics-doc.desy.de/ioc/javaIOC/index.html

I have attached a short file describing the major new features since the last release.

Marty Kraimer
Title: No title

Status javaIOC
2008.09.23

A new release of the javaIOC is now available.See JavaIOC

The following sections briefly describe the major new features since the last release.

With the addition of the _expression_ support the javaIOC is usable as a soft IOC. Note that the previous release included both client and server code for communication with EPICS.

Simplified Database

The database and the XML parsers have been changed as follows:

record instance
When a record instance is being created, new fields can be appended to a structure.
recordType
Record types no longer exist. The ability to append new fields to a structure removes the need for record types.
DBDDefinition
Previously there were two XML parsers. One for Database Definitions and another for record instances. There is now only one which accepts definitions for structure, create, support, and record.
structure generic
This is a structure with no fields and generic support. It can be used to create record instances equivalent to records created from all of the previously defined record types.

A simple example of a record instance is:

<record name = "simple">
  <value type = "double" />
</record>

This is a record instance that has a single field named value of type double.

As a more complicated example consider the following:

<record name = "notQuiteAsSimple">
    <value type = "double" />
    <alarm structureName = "alarm" />
    <timeStamp structureName = "timeStamp" />
    <display structureName = "display" />
    <input structureName = "inputSupport">
        <pvname>somePV</pvname>
    </input>
    <scan structureName = "scan">
        <type><choice>periodic</choice></type>
        <rate>1.0</rate>
    </scan>
</record>

This example has the following fields:

value
A scalar field of type double
alarm
A structure field with support for alarms.
timeStamp
A structure that holds a timeStamp.
input
A structure with support that reads data from another record named somePV.
scan
A structure with support that will ask this record to process once a second.

calc support

Support is implemented for calculating scalar expressions. The syntax is the same as a java _expression_. The result is assigned to the value field. The java types boolean, byte, short, int, long, float, and double are supported. All java Math functions are supported. The ?: operator is supported. Java constants are supported including Math.PI and Math.E. The following are legal expressions:

value + 1
A counter that adds 1 to the value field
(value+1<=10)?(value+1):0
A counter that counts from 0 to 10
(value+inc<=max)?(value+inc):min
A counter that increments by inc between min and max
(register|mask)&0xfff0
example bitwise operations.
Math.sin(2.0*Math.PI*x)
The sin of a number where 0 to 1 means 0 to 360 degrees.
a + b*(c + d/5.0) + x*(y + 1e4)
Just some rather complex _expression_

VXI11 portDriver

A portDriver for VXI11 has been implemented but not tested that implements the VXI11 network protocal. One of the next goals is to support STREAM protocal files and simple network devices like the MOXA terminal servers. When this is done the javaIOC can be used as a soft IOC as well as for communication with serial and gpib and other message based devices.


Navigate by Date:
Prev: Re: ASYN R4.10 Release Eric Norum
Next: Re: EPICS perl tools in 3.14.10-pre1 Andrew Johnson
Index: 1994  1995  1996  1997  1998  1999  2000  2001  2002  2003  2004  2005  2006  2007  <20082009  2010  2011  2012  2013  2014  2015  2016  2017  2018  2019  2020  2021  2022  2023  2024 
Navigate by Thread:
Prev: javaIOC Marty Kraimer
Next: Control System Engineer Position at SNS White, Karen S.
Index: 1994  1995  1996  1997  1998  1999  2000  2001  2002  2003  2004  2005  2006  2007  <20082009  2010  2011  2012  2013  2014  2015  2016  2017  2018  2019  2020  2021  2022  2023  2024 
ANJ, 02 Sep 2010 Valid HTML 4.01! · Home · News · About · Base · Modules · Extensions · Distributions · Download ·
· Search · EPICS V4 · IRMIS · Talk · Bugs · Documents · Links · Licensing ·