Argonne National Laboratory

Experimental Physics and
Industrial Control System

1994  1995  1996  1997  1998  1999  2000  2001  2002  2003  2004  2005  2006  2007  2008  2009  2010  2011  2012  2013  2014  2015  2016  <2017 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
<== Date ==> <== Thread ==>

Subject: Re: Question about PV name by using pcaspy
From: "Kasemir, Kay" <kasemirk@ornl.gov>
To: lzf neu <lzfneu@live.com>
Cc: "tech-talk@aps.anl.gov" <tech-talk@aps.anl.gov>
Date: Wed, 29 Mar 2017 12:46:30 +0000

On Mar 29, 2017, at 3:37 AM, lzf neu <lzfneu@live.com> wrote:

Hi,

I want to fulfill a goal that when running camonitor command, PV name TEST:PING in the terminal window print "Disconnect!" or "OK!" alternatively.

However, I failed, "self.setParam('PING',a)"  seems only run once in the code and in terminal window only print one result.

I have posted the code in the following lines.

Could you give me some suggestions and any help will be appreciated.


You’re missing a call to
   self.updatePVs()

-Kay



Zhefu

#===============================

#!/usr/bin/env python
import os
import threading
import time

from pcaspy import Driver, SimpleServer
prefix = 'TEST:'
pvdb = {
    'PING' : {
         'type':'enum',
         'enums':['Disconnect!','OK!']
    },
}

class myDriver(Driver):
    def __init__(self):
        super(myDriver, self).__init__()
        tid=threading.Thread(target=self.determine)
        tid.setDaemon(True)
        tid.start()

    def determine(self):
        a=os.system("ping -c 1 -w 1 127.0.0.1")
        if (a==0):
          while True:
             self.setParam('PING',a)
             a=not a
             time.sleep(5)

if __name__ == '__main__':
    server = SimpleServer()
    server.createPV(prefix, pvdb)
    driver = myDriver()

    # process CA transactions
    while True:
        server.process(0.1)


Replies:
答复: Question about PV name by using pcaspy lzf neu
References:
Question about PV name by using pcaspy lzf neu

Navigate by Date:
Prev: Question about PV name by using pcaspy lzf neu
Next: Re: INP string length Michael Davidsaver
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
Navigate by Thread:
Prev: Question about PV name by using pcaspy lzf neu
Next: 答复: Question about PV name by using pcaspy lzf neu
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
ANJ, 30 Mar 2017 Valid HTML 4.01! · Home · News · About · Base · Modules · Extensions · Distributions · Download ·
· EPICS V4 · IRMIS · Talk · Bugs · Documents · Links · Licensing ·