diff --git a/scripts/CheckWirePSC.py b/scripts/CheckWirePSC.py
new file mode 100644
index 0000000000000000000000000000000000000000..3477173712ba70fc8c8501e9e17936827a68f942
--- /dev/null
+++ b/scripts/CheckWirePSC.py
@@ -0,0 +1,120 @@
+#!/usr/bin/env python
+###################################################################################################
+#   Check Wire PSC
+###################################################################################################
+#
+# This script browse through all PSC and check that the cellnode line goes throught the proper PSC
+#
+###################################################################################################
+
+import tango
+import logging
+import numpy as np
+import time
+
+
+# Get the module logger
+logger = logging.getLogger("CheckWirePSC")
+
+for h in logger.handlers:
+    logger.removeHandler(h)
+
+# Add a Stream handler to the module logger
+sh=logging.StreamHandler()
+sh.setLevel(logging.DEBUG)
+sh.setFormatter(logging.Formatter("{levelname:8}: {message}", style='{'))
+logger.addHandler(sh)
+
+# Add a file handler
+logpath="./CheckWirePSC.log"
+try:
+    fh=logging.FileHandler(logpath)
+except FileNotFoundError:
+    logger.warning("Not logging to file, could not open location {}".format(logpath))
+else:
+    fh.setLevel(logging.DEBUG)
+    fh.setFormatter(logging.Formatter("{levelname:8}: {message}", style='{'))
+    logger.addHandler(fh)
+
+logger.setLevel(logging.DEBUG)
+
+####################################################################################################
+
+logger.debug("Getting Proxies to cellnodes")
+prx_cellnode = [tango.DeviceProxy("ans/dg/fofb-cellnode-c{:02d}".format(n)) for n in [1,6,9,14]]
+
+logger.debug("Prepare tango group for PSC")
+db = tango.Database()
+psc = {k:tango.Group(k+"psc") for k in "hv"}
+psclist = {}
+for k in "hv":
+    psclist[k] = [n for n in db.get_property("FOFB", k+"steererlist")[k+'steererlist']]
+    psc[k].add(psclist[k])
+
+logger.info("Check that all lines are running now")
+for k in "hv":
+    if not np.all([r.get_data().value > 10000 for r in psc[k].read_attribute("nbframesec")]):
+        logger.error("Initial test fail, not all PSC are receiving data in plane {}".format(k.upper()))
+
+
+####################################################################################################
+
+logger.info("Switching all lines off")
+for cn in prx_cellnode:
+    cn.comcorr_line_id = cn.comcorr_line_id & 0xFF
+
+time.sleep(2)
+
+logger.debug("Check that all lines are not running now")
+for k in "hv":
+    if np.any([r.get_data().value > 10000 for r in psc[k].read_attribute("nbframesec")]):
+        logger.error("Initial test fail, some PSC are receiving data in plane {}, but cellnode has been shut down".format(k.upper()))
+
+
+####################################################################################################
+
+logger.info("Browsing all PSC lines")
+
+for cn in prx_cellnode:
+
+    for i in range(32):
+        logger.debug("Activate line # {:2d} on {}".format(i, cn.name()))
+
+        lid = cn.comcorr_line_id
+        pscid = lid[i]
+        if pscid in (0, 255):
+            continue
+        lid[i] = lid[i] + 0x10000
+        cn.comcorr_line_id = lid
+
+        time.sleep(2)
+
+        if pscid > 50:
+            p='v'
+            pscid = pscid - 50
+        else:
+            p='h'
+        pscpath = psclist[p][pscid-1].lower()
+        logger.debug("Checking that only #{:02d}-{}  {} is fed".format(pscid, p, pscpath))
+
+        for k in "hv":
+            R=psc[k].read_attribute("nbframesec")
+            for r in R:
+                if r.get_data().value > 100:
+                    dn = r.dev_name().lower()
+                    if not dn == pscpath:
+                        logger.error("{} is receiving data, expecting {}".format(dn, pscpath))
+
+        logger.debug("Deactivate line # {:2d} on {}".format(i, cn.name()))
+        lid[i] = lid[i] & 0xFF
+        cn.comcorr_line_id = lid
+        time.sleep(2)
+
+
+####################################################################################################
+
+logger.info("Switching all lines on")
+for cn in prx_cellnode:
+    cn.comcorr_line_id = cn.comcorr_line_id + 0x10000
+
+