Aggiornata versione IOB-PI con gestione segnali INVERTED

This commit is contained in:
2018-07-10 17:43:00 +02:00
parent 10abf637fa
commit e69a2dfc13
2 changed files with 37 additions and 3 deletions
+11
View File
@@ -33,3 +33,14 @@ bit4 = 0
bit5 = 0
bit6 = 0
bit7 = 0
[invert]
bit0 = 0
bit1 = 1
bit2 = 0
bit3 = 0
bit4 = 0
bit5 = 0
bit6 = 0
bit7 = 0
+26 -3
View File
@@ -1,10 +1,11 @@
#!/usr/bin/python
# -*- coding: utf-8 -*-
# readParallela v. 2.0
# readParallela v. 2.1
# - single instance timer
# - invio multiplo x send eventi accodati
# - gestione segnali BLINKING
# - gestione INVERSIONE segnali cv 10-VII-2018
#---------------------------------------------------------------
# levare locking
@@ -39,7 +40,7 @@ MAXRETRY = 3
# numero campioni filtraggio segnale ballerino
MAX_COUNTER_BLINK = 10
PROGRAM_NAME ="ReadPar IOB-pi v.2.0"
PROGRAM_NAME ="ReadPar IOB-pi v.2.1"
# DA FILE CONF
idxMacchina = "1001"
@@ -92,6 +93,8 @@ B_previous = array ( 'B',[0,0,0,0,0,0,0,0])
B_input = array ( 'B',[0,0,0,0,0,0,0,0])
B_output = array ( 'B',[0,0,0,0,0,0,0,0])
B_inverting = array ( 'B',[0,0,0,0,0,0,0,0])
#--------------------------------------------------------------
# Gestione coda (condivisa) x registrazione eventi ed invio URL
#print "Creazione coda illimitata"
@@ -165,6 +168,15 @@ def readParallelaFiltrata():
#ciclo per ogni segnale
for i in xrange(8) :
# print (i)
# gestione inversione bit ingresso
if ( B_inverting[i] == 1 ) :
if ( B_input[i] == 0 ) :
B_input[i] = 1
else :
B_input[i] = 0
# se non blinking, copia ingresso
if ( B_blinking[i] == 0 ) :
B_output[i] = B_input[i]
@@ -443,9 +455,20 @@ try:
B_blinking[5] = config.getint ( 'blink' , 'bit5' )
B_blinking[6] = config.getint ( 'blink' , 'bit6' )
B_blinking[7] = config.getint ( 'blink' , 'bit7' )
MAX_COUNTER_BLINK = config.getint ( 'blink' , 'MAX_COUNTER_BLINK' )
# cv 2.1 se bit = 1 allora inverto segnale in ingresso...
B_inverting[0] = config.getint ( 'invert' , 'bit0' )
B_inverting[1] = config.getint ( 'invert' , 'bit1' )
B_inverting[2] = config.getint ( 'invert' , 'bit2' )
B_inverting[3] = config.getint ( 'invert' , 'bit3' )
B_inverting[4] = config.getint ( 'invert' , 'bit4' )
B_inverting[5] = config.getint ( 'invert' , 'bit5' )
B_inverting[6] = config.getint ( 'invert' , 'bit6' )
B_inverting[7] = config.getint ( 'invert' , 'bit7' )
except:
print "\n\n" + PROGRAM_NAME + ' - Error 4 - in config file ' 'IOB.cfg'