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

Subject: Re: Question about PV name by using pcaspy
From: "Kasemir, Kay" <[email protected]>
To: lzf neu <[email protected]>
Cc: "[email protected]" <[email protected]>
Date: Wed, 29 Mar 2017 12:46:30 +0000

On Mar 29, 2017, at 3:37 AM, lzf neu <[email protected]> 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  <20172018  2019  2020  2021  2022  2023  2024 
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  <20172018  2019  2020  2021  2022  2023  2024 
ANJ, 21 Dec 2017 Valid HTML 4.01! · Home · News · About · Base · Modules · Extensions · Distributions · Download ·
· Search · EPICS V4 · IRMIS · Talk · Bugs · Documents · Links · Licensing ·