Experimental Physics and Industrial Control System
Hi All,
My name is Anthony (Tony) Andrews and I'm a graduate student at Idaho State University.
We are working on a control system for a Lambda EMS power supply with an RSTL controller.
The setup for this system is:
Computer -> TCP/IP -> MOXA Terminal Server (RS485 to RS232 interface) -> Lambda EMS power supply (RS232 in RSTL)
We were able to communicate to the power supply using telnet.
However, we are getting several mismatch type errors where the current is expected but instead you see the voltage and vice versa.
I used an @mismatch exception handler for the measurement of the current (MC) and measurement of the voltage (MV) protocols. But, it only fixes it once and we run back into mismatch errors!
In this email, I attached my protocol and database files for your reference.
I get this when I run the IOC where I changed the IP address here to xxx.yyy.zzz.aaa and 4008 is the 8th port in the Terminal Server.
tony[251]# ./st.cmd
#!../../bin/linux-x86/EMS
## You may have to change EMS to something else
## everywhere it appears in this file
##############################################################################
# Set up the environment
< envPaths
epicsEnvSet("ARCH","linux-x86")
epicsEnvSet("IOC","iocEMS")
epicsEnvSet("TOP","/home/tony/Power_Supplies/Lambda_EMS")
epicsEnvSet("SNCSEQ","/usr/local/epics/extensions/src/synApps_5_5/support/seq-2-1-10")
epicsEnvSet("ASYN","/usr/local/epics/extensions/src/synApps_5_5/support/asyn-4-20")
epicsEnvSet("STREAM","/usr/local/epics/extensions/src/synApps_5_5/support/stream-2-4-1")
epicsEnvSet("EPICS_BASE","/usr/local/epics/base-3.14.12.2")
epicsEnvSet "STREAM_PROTOCOL_PATH" "/home/tony/Power_Supplies/Lambda_EMS/db"
#############################################################################
# Allow PV name prefixes and serial port name to be set from the environment
epicsEnvSet "P" "LamEMS"
#epicsEnvSet "R" "$(R=TEST)"
# The environmental variables below are for the terminal server.
# Each TCP represents a port in the back of the terminal server.
epicsEnvSet "TCP8" "134.50.87.130:4008"
#############################################################################
cd /home/tony/Power_Supplies/Lambda_EMS
## Register all support components
dbLoadDatabase "dbd/EMS.dbd"
EMS_registerRecordDeviceDriver pdbbase
#############################################################################
# Set up ASYN ports
#drvAsynIPPortConfigure("portName","hostInfo",priority,noAutoConnect,noProcessEos)
drvAsynIPPortConfigure("P8","xxx.yyy.zzz.aaa:4008",0,0,0)
asynSetTraceIOMask("P8",-1,0x2)
asynSetTraceMask("P8",-1,0x9)
############################################################################
## Load record instances
#dbLoadRecords("db/xxx.db","user=tonyHost")
dbLoadRecords("db/EMS_01.vdb","P=LamEMS,PORT=P8,A=1")
#dbLoadRecords("db/asynRecord.db","P=$(P),R=asyn,PORT=P8,ADDR=1,OMAX=0,IMAX=0")
###########################################################################
# Start EPICS
cd /home/tony/Power_Supplies/Lambda_EMS/iocBoot/iocEMS
iocInit
Starting iocInit
############################################################################
## EPICS R3.14.12.2 $Date: Mon 2011-12-12 14:09:32 -0600$
## EPICS Base built Oct 17 2012
############################################################################
2012/10/23 18:05:13.424 xxx.yyy.zzz.aaa:4008 write 2
SR
2012/10/23 18:05:13.424 xxx.yyy.zzz.aaa:4008 write 9
PV20.000\n
iocRun: All initialization complete
###########################################################################
## Start any sequence programs
#seq sncxxx,"user=tonyHost"
epics> 2012/10/23 18:05:13.924 xxx.yyy.zzz.aaa:4008 write 3
MC\n
2012/10/23 18:05:13.936 xxx.yyy.zzz.aaa:4008 read 5
MC\n\r\000
2012/10/23 18:05:13.936 P8 LamEMS:ADDR:CURR_M: Input "MC" mismatch after 0 bytes
2012/10/23 18:05:13.936 P8 LamEMS:ADDR:CURR_M: got "MC" where "Current = " was expected
2012/10/23 18:05:13.936 xxx.yyy.zzz.aaa:4008 write 3
MV\n
2012/10/23 18:05:14.497 xxx.yyy.zzz.aaa:4008 read 34
Current = 0.010 Amps \r\000\n\nCommand>M
2012/10/23 18:05:14.497 P8 LamEMS:ADDR:VOLT_M: Input "Current = 0.010 Amps" mismatch after 0 bytes
2012/10/23 18:05:14.497 P8 LamEMS:ADDR:VOLT_M: got "Current = 0.010 Amps" where "Voltage = " was expected
2012/10/23 18:05:14.497 xxx.yyy.zzz.aaa:4008 write 3
MC\n
2012/10/23 18:05:14.510 xxx.yyy.zzz.aaa:4008 read 5
MC\n\r\000
2012/10/23 18:05:14.510 P8 LamEMS:ADDR:CURR_M: Input "MC" mismatch after 0 bytes
2012/10/23 18:05:14.510 P8 LamEMS:ADDR:CURR_M: got "MC" where "Current = " was expected
2012/10/23 18:05:14.924 xxx.yyy.zzz.aaa:4008 write 3
MC\n
2012/10/23 18:05:15.296 xxx.yyy.zzz.aaa:4008 read 34
Current = 0.010 Amps \r\000\n\nCommand>M
2012/10/23 18:05:15.297 xxx.yyy.zzz.aaa:4008 write 3
MV\n
2012/10/23 18:05:15.309 xxx.yyy.zzz.aaa:4008 read 5
MV\n\r\000
2012/10/23 18:05:15.309 P8 LamEMS:ADDR:VOLT_M: Input "MV" mismatch after 0 bytes
2012/10/23 18:05:15.309 P8 LamEMS:ADDR:VOLT_M: got "MV" where "Voltage = " was expected
If someone has any advice on this issue it would be very helpful for us.
Thank you.
Attachment:
EMS_01.proto
Description: Binary data
Attachment:
EMS_01.vdb
Description: Binary data
- Replies:
- Re: Lambda EMS mismatch errors Fabian S.
- Re: Lambda EMS mismatch errors Rod Nussbaumer
- Navigate by Date:
- Prev:
RE: JCA problems and questions Chu, Paul
- Next:
installing EPICS James Bryant
- 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
- Navigate by Thread:
- Prev:
RE: Trying to get NSLSII's version of CSS Shroff, Kunal
- Next:
Re: Lambda EMS mismatch errors Fabian S.
- 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