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  2008  <20092010  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  <20092010  2011  2012  2013  2014  2015  2016  2017  2018  2019  2020  2021  2022  2023  2024 
<== Date ==> <== Thread ==>

Subject: Re: Epics in Pen drive
From: Umashankar Panda <[email protected]>
To: Aditya Mandal <[email protected]>
Cc: [email protected]
Date: Thu, 24 Dec 2009 05:54:16 +0000
Dear Aditya,

I have implemented EPICS at our Cryogenics Plant system using Modbus TCP protocol communicating with two PLCs.
I have written a document for people who do not know EPICS and Linux.

This is given as following.

Please feel free to ask if you need any information further.

U. Panda



Creating Live USB from Windows
-------------------------------

Download the following into a folder.

1. LinuxMint-8.iso file from "http://ftp.riken.jp/pub/Linux/linuxmint/stable/8/" or any other linux mint repository.

2. USB-Installer-for-Mint8-v0.2.exe from "http://www.pendrivelinux.com/install-linux-mint-8-to-a-flash-drive-in-windows/"

3. Take a 2GB pendrive and format it into FAT32 partition.

4. Plug in a pendrive (minimum 2GB) and Run the USB-Installer-for-Mint8-v0.2.exe file from windows by double clicking it.

5. Follow the simple on screen instructions to make usb drive bootable with linux mint 8

6. Now the USB-disk has become bootable Linux Mint 8 OS.
We have to change the bios setting of the PC/Laptop to boot from USB or USB pendrive as first hard disk drive.



EPICS at Cryogenic Plant of VECC- U. Panda
------------------------------------

The procedure described here is as done by me and for reference as guidelines only. However there can be many ways of doing these.

----------------
1st.: Load Linux
----------------

Boot your PC/ Laptop with linux by:

1. LiveUSB linux mint 8

or

2. locally installed linux Mint8 / Ubuntu 9.10 / Debian 5.0 to hard disk drive.


Load extra packages from synaptic package manager (including development version, higher versions may be choosen)


libreadline6-dev
libncurses5-dev
libstdc++6-4.4-dev
g++
libx11-dev
liblapack-dev
libmotif-dev
libfontconfig1-dev
libjpeg62-dev
libpng12-dev
libtiff4-dev
libxaw7-dev
libxp-dev
libgif-dev
sun-java6-jdk
curl
libcurl4-gnutls-dev
libxmlrpc-c3-dev
libxerces-c-dev
libwww0




------------------
2nd.: Install base
------------------
Write the following lines in a new text file and save it as .bashrc in home directory.


#EPICS SetUp
export EPICS_HOST_ARCH=linux-x86


Untar the base-3.14.10 into a folder named "epics" inside you home directory.
Open the terminal and issue the following commands

cd ~/epics/base-3.14.10 [Please note that ~ represents your home directory]

make

Ensure that there is no error in the make. If any error is there, it is due not availability of some packages for configuration. The problem can be solved by installing the required packages.

---------------------------------------------------
3rd.: Install extenstion config and configure tools
---------------------------------------------------
This is required for extension tools like medm, edm, channel archiver, probe etc.
Untar the "extensionsConfig_20040406" and "extensionsConfigure_20040406" tools into ~/epics directory. It will create the extension directory under epics dirctory.

Open the RELEASE text files from ~/epics/extensions/config and ~/epics/extensions/configure both locations.
Set the path of the base properly e.g. here
EPICS_BASE=~/epics/base-3.14.10
Be sure to remove the # in the begining if any. The lines begining with # are not processed while make command is issued.

In the terminal issue the following command.

cd ~/epics/extensions
make

------------------
4th: Install probe
------------------
untar probe1_1_5_1 into ~/epics/extentions/src directory

In the terminal issue the following command.

cd ~/epics/extensions/src/probe1_1_5_1
make

-----------------
5th: Install medm
-----------------
The procedure is similar to probe installation. But in medm3_1_4 version this is to be untarred into ~/epics/extensions/src directory and issue follwoing commands from terminal

cd ~/epics/extensions/src/medm3_1_4
make

add the font definations in the fonts.alias file in the folder /usr/share/fonts/X11/misc

widgetDM_4 -misc-fixed-medium-r-normal--8-60-100-100-c-50-iso8859-1
widgetDM_6 -misc-fixed-medium-r-normal--8-60-100-100-c-50-iso8859-1
widgetDM_8 -misc-fixed-medium-r-normal--9-80-100-100-c-60-iso8859-1
widgetDM_10 -misc-fixed-medium-r-normal--10-100-75-75-c-60-iso8859-1
widgetDM_12 -misc-fixed-medium-r-normal--13-100-100-100-c-70-iso8859-1
widgetDM_14 -misc-fixed-medium-r-normal--14-110-100-100-c-70-iso8859-1
widgetDM_16 -misc-fixed-medium-r-normal--15-120-100-100-c-90-iso8859-1
widgetDM_18 -sony-fixed-medium-r-normal--16-120-100-100-c-80-iso8859-1
widgetDM_20 -misc-fixed-medium-r-normal--20-140-100-100-c-100-iso8859-1
widgetDM_22 -sony-fixed-medium-r-normal--24-170-100-100-c-120-iso8859-1
widgetDM_24 -sony-fixed-medium-r-normal--24-170-100-100-c-120-iso8859-1
widgetDM_30 -adobe-times-medium-r-normal--25-180-100-100-p-125-iso8859-1
widgetDM_36 -adobe-helvetica-medium-r-normal--34-240-100-100-p-176-iso8859-1
widgetDM_40 -adobe-helvetica-bold-r-normal--34-240-100-100-p-182-iso8859-1
widgetDM_48 -adobe-helvetica-bold-r-normal--34-240-100-100-p-182-iso8859-1
widgetDM_60 -adobe-helvetica-bold-r-normal--34-240-100-100-p-182-iso8859-1


Then run “xset fp rehash” to install them. On Linux you may need to run “/etc/init.d/xfs restart” to restart the X font server. You can see if the fonts are there with “xlsfonts” or “xlsfonts | grep widgetDM”. You can get more information from any of the general-purpose books on X Windows.




----------------
6th: Install edm
----------------
The procedure is similar to probe installation. But in edm-1-11-0y version this is to be untarred into ~/epics/extensions/src directory and make from ~/epics/extensions/src/edm directory.

open the ./profile file and insert the following lines

#EPICS SetUp

export EPICS_HOST_ARCH=linux-x86
export EPICS_BASE=/home/umashankar/epics/base-3.14.9
export EDMOBJECTS=/home/umashankar/epics/gui/edm/prefs
export EDMDATAFILES=/home/umashankar/epics/gui/edm
export EDMFILES=/home/umashankar/epics/gui/edm/prefs
export EDMPVOBJECTS=/home/umashankar/epics/gui/edm/prefs
export EDMHELPFILES=/home/umashankar/epics/extensions/src/edm/helpFiles

PATH=$PATH:/home/umashankar/epics/base-3.14.10/bin/linux-x86
PATH=$PATH:/home/umashankar/epics/extensions/bin/linux-x86
PATH=$PATH:/home/umashankar/epics/modules/asyn-4.10/bin/linux-x86
#alias vdct=’java -jar /home/umashankar/epics/extensions/bin/linux-x86/VisualDCT.jar’


set the edmpvObjects file in /etc/edm directory


--------------------------------------
7th: Install alh1_2_23 (Alarm Handler)
--------------------------------------
The procedure is similar to probe installation. But in alh1_2_23 version this is to be untarred into ~/epics/extensions/src directory and make from ~/epics/extensions/src/alh1_2_23 directory.

-------------------------------------------------
8th: Install JDK and JRE of java for java support
-------------------------------------------------

open the file ~/epics/extensions/config/CONFIG_SITE.Host.linux and set the path of java installation as follows:

JAVA_DIR=/usr

This is required to use jca / jdct / jprobe etc.

------------------------------
9th: Install Channel Archiever
------------------------------


Channel Archiver
----------------

untar the archiver file into ~/epics/exetensions/src directory

In some files like ChannelArchiever/LibIO/BinValue.cpp, ChannelArchiever/Tools/ArgParser.cpp and ChannelArchiever/Tools/GenericException we have to inlude the following standard libraries

#include<stdio.h>
#include <stdlib.h>
#include <climits> // only for BinValue.cpp


open the make.cfg file ChannelArchiver directory under the above directory and define the XMLRPC base directory as XMLRPCBASE=/usr/bin

"DataHeaderIterator ..." in line 130 inside file DataFile.h in ChannelArchiever/LibIo dierctory to be renamed as "class DataHeaderIterator ..."

issue following commands from terminal.

cd ~/epics/extensions/src/ChannelArchiver
make

--------------------
10th: asyn4-8 Module
--------------------
Make directory ~/epics/modules if does not exist. Untar the asyn4-8 tar file there.

Open the file ~/epics/moudles/asyn4-8/RELEASE

Define the path of EPICS base as : EPICS_BASE=~/epics/base-3.14.10

Undefine the IPAC and ASYN line by placing # at the start of the line if you donot have these modules

cd ~/epics/modules/asyn4-8
make

-----------------------
11th: ModbusR1-1 Module
-----------------------
Make directory ~/epics/modules if does not exist. Untar the ModbusR1-2 tar file there.

Open the file ~/epics/moudles/ModbusR1-2/RELEASE

Define the path of EPICS base as : EPICS_BASE=~/epics/base-3.14.10
Define the path of the asyn module as : ASYN=~/epics/modules/asyn4-8
[modbus module depends on the ASYN module]

cd ~/epics/modules/modbusR1-2
make

copy and rename the iocBoot directory inside the modbusR1-2 directory as _iocBoot for future reference of examples. Edit the iocBoot directory as per your communication requirements. Modify the st.cmd files inside the iocCryogenics (or so..) as per your need if required. Also prepare the *.substitution files to make the records.

To run the ioc type the following commands from shell in our case.

cd ~/epics/modules/modbusR1-2/iocBoot/iocCryogenics

and then

../../bin/linux-x86/modbusApp st.cmd

your ioc will start running showing the command prompt as

epics>

Take action according to the error message if any.


---------------------------
12th: Run our developed GUI
---------------------------
Our Graphical user interfaces are developed in medm. There is a MAIN.adl file inside the directory which is to be run with medm.
Just copy and paste the developed *.adl files. To run these in execute mode type the following command from shell.

~/epics/extensions/bin/linux-x86/medm -x ~/epics/GUI/cryogenics/MAIN.adl


--------------------------------------------------
13th: Archiver Data Engine Config, Start and Stop
--------------------------------------------------
To start the archieve data engine:
----------------------------------------
~/epics/extensions/bin/linux-x86/ArchiveEngine ~/epics/data/engineconfig.xml ~/epics/data/index

N.B. : The engineconfig.xml and engineconfig.dtd sample is available in the ~/epics/extenstions/src/ChannelArchiver/engine directory. You have to search the file and modify these according to your archive need. Index files are created automatically. I have put the datas and the config files inside the ~/epics/data directory.

You can mount your storage disk to ~/epics/data path also


To view the configured channels:
--------------------------------
From Web Browser: http://localhost:4812

To stop the archive data engine:
---------------------------------
From Web Browser: http://localhost:4812/stop

--------------------------------
14th: To Start the data server:
--------------------------------
~/epics/extensions/bin/linux-x86/ArchiveDataServerStandalone ~/epics/data/abyss.conf ~/epics/data/index

----------------------------------
15th: To Start the archive viewer:
-----------------------------------
~/epics/archive_viewer/archiveviewer.jar -u http://localhost:8080/RPC2

You need to install java and should have the archieveviewer.jar file for this.




On Wed, Dec 23, 2009 at 7:45 AM, Aditya Mandal <[email protected]> wrote:
I am a novice in linux and epics, can you guide me to install and run EPICS from my 2 Gb Pendrive.
I like to communicate with a RS232 device using EPICS.
with regards,

aditya mandal
kolkata/India



--
Umashankar Panda

Office:
Scientific Officer - D, Cryogenics
Variable Energy Cyclotron Centre
Dept. Of Atomic Energy, Govt. Of India
1/AF Bidhannagar, Kolkata - 700064

Residence:
E-301, Fortune City, Ganganagar
155, Old Jessore Road
Kolkata-132

Mobile: 09330615600

References:
Epics in Pen drive Aditya Mandal

Navigate by Date:
Prev: EPICS Codeathon at Diamond, 24-28 May Andrew Johnson
Next: ArchiveViewer doen't connect Blaz Lampreht
Index: 1994  1995  1996  1997  1998  1999  2000  2001  2002  2003  2004  2005  2006  2007  2008  <20092010  2011  2012  2013  2014  2015  2016  2017  2018  2019  2020  2021  2022  2023  2024 
Navigate by Thread:
Prev: Re: Epics in Pen drive Ralph Lange
Next: Next collaboration meeting - Aix-en-Provence, 2-4 June 2010. Di Maio Franck
Index: 1994  1995  1996  1997  1998  1999  2000  2001  2002  2003  2004  2005  2006  2007  2008  <20092010  2011  2012  2013  2014  2015  2016  2017  2018  2019  2020  2021  2022  2023  2024 
ANJ, 31 Jan 2014 Valid HTML 4.01! · Home · News · About · Base · Modules · Extensions · Distributions · Download ·
· Search · EPICS V4 · IRMIS · Talk · Bugs · Documents · Links · Licensing ·