Continuo implementazione SAET

This commit is contained in:
Samuele E. Locatelli
2019-10-02 14:42:03 +02:00
parent 8a0818f6d8
commit 75d5e06708
6 changed files with 116 additions and 45 deletions
+6 -5
View File
@@ -3,16 +3,17 @@
NAME=master
[SERVER]
;MPIP=192.168.1.7
MPIP=10.74.82.218
;MPIP=192.168.1.7
MPIP=192.168.214.4
;MPIP=10.74.82.218
MPURL=/MP/IO
CMDREBO=/IOB/sendRebootGateway?GWIP=
CMDIOB2CALL=/IOB/getIob2call?GWIP=
[IOB]
;--- TEST SIMULAZIONE
;STARTLIST=VALV_24
STARTLIST=INTERCL_01
;--- TEST sul campo
STARTLIST=VL24
;STARTLIST=INTERCL_01
;STARTLIST=WPS,WPS
;STARTLIST=WPS
;STARTLIST=SIMUL_01
+78
View File
@@ -0,0 +1,78 @@
;Configurazione IOB-WIN
[IOB]
;Macchina preriscaldo barre per Valvital
CNCTYPE=SIEMENS_SAET
PING_MS_TIMEOUT=500
[MACHINE]
VENDOR=SAET
MODEL=Preriscaldo_105B08
[CNC]
IP=192.168.214.24
CPUTYPE=S71500
RACK=0
SLOT=0
[SERVER]
MPIP=http://192.168.1.4
MPURL=/MP/IO
CMDBASE=/IOB/input/
CMDFLOG=/IOB/flog/
CMDALIVE=/IOB
CMDENABLED=/IOB/enabled/
CMDADV1=?valore=
CMDREBO=/sendReboot.aspx?idxMacchina=
[MEMORY]
ADDR_READ=DB1275.DBB0
ADDR_WRITE=DB1275.DBB92
SIZE_READ=92
SIZE_WRITE=56
;BIT0=CONN
;BIT1=DB60.DBB1
;BIT2=PZCOUNT.STD.DB700.DBW22
;BIT3=DB60.DBB3
;BIT4=DB60.DBB4
[BLINK]
;MAX_COUNTER_BLINK = 30
MAX_COUNTER_BLINK = 15
;bit0 = 0
;bit1 = 0
;bit2 = 1
;bit3 = 1
;bit4 = 1
;bit5 = 0
;bit6 = 0
;bit7 = 0
BLINK_FILT=0
;BLINK_FILT=28
[OPTPAR]
;PZCOUNT_MODE=STD.[PAR/MEM].info|BIT.indice
; attenzione memoria sempre base BYTE (1604 DW --> 6416...)
PZCOUNT_MODE=STD.DB1275.DBDW4
DISABLE_PZCOUNT=TRUE
ENABLE_DYN_DATA=TRUE
FORCE_DYN_DATA=TRUE
TSVC_Power_01=MAX:5
TSVC_Power_02=MAX:5
TSVC_Power_03=MAX:5
TSVC_Power_04=MAX:5
TSVC_TempPirom_01=MAX:5
TSVC_TempPirom_02=MAX:5
TSVC_TempPirom_03=MAX:5
TSVC_TempPirom_04=MAX:5
TSVC_TempCool_01=MAX:5
TSVC_TempCool_02=MAX:5
TSVC_TempCool_03=MAX:5
TSVC_TempCool_04=MAX:5
TSVC_PartStatus_01=MAX:5
TSVC_PartStatus_02=MAX:5
TSVC_PartStatus_03=MAX:5
TSVC_PartStatus_04=MAX:5
[BRANCH]
NAME=develop
+4 -1
View File
@@ -210,7 +210,10 @@
<None Include="DATA\CONF\INTERCL_01.ini">
<CopyToOutputDirectory>Always</CopyToOutputDirectory>
</None>
<None Include="DATA\CONF\VALV_24.ini">
<None Include="DATA\CONF\VALV_SAET.ini">
<CopyToOutputDirectory>Always</CopyToOutputDirectory>
</None>
<None Include="DATA\CONF\VL24.ini">
<CopyToOutputDirectory>Always</CopyToOutputDirectory>
</None>
<None Include="DATA\CONF\3018.ini">
+27 -38
View File
@@ -23,11 +23,6 @@ namespace IOB_WIN
*
* - parametri processo
* - DBD00: Watchdog INT SAET Alive ( 1-9999 )
*
* - DB60.DBD6: pressione camera filtrante (salvataggio del MAX ogni minuto) | var testVal = S7.Net.Types.Double.FromByteArray(memByteRead.Skip(0).Take(4).ToArray());
* - DB60.DBD10: pressione linea utenze (salvataggio del MAX ogni minuto)
* - DB60.DBD14: temperatura acqua pulita (salvataggio del MAX ogni minuto)
*
* - BIT di stato
* - DBX2.1: READY TO RUN in AUTOMATICO
* - DBX2.3: Macchina in LAVORAZIONE
@@ -36,8 +31,7 @@ namespace IOB_WIN
*
* PartCounter DINT 4.0 Conteggio Parziale di pezzi "OK" prodotti dalla macchina
* NumberCode String [12] 8.0 Valore numerico associato alla ricetta di produzione attualmente utilizzata dalla macchina
* NewCode INT 22.0 "1= Avvenuta ricezione del segnale ""richiesta nuovo ordine di produzione (NEW CODE)""
* ricevuto dal server,impostabile su 1 solo quando la macchina NON è in produzione attiva"
* NewCode INT 22.0 "1= Avvenuta ricezione del segnale ""richiesta nuovo ordine di produzione (NEW CODE)"" ricevuto dal server,impostabile su 1 solo quando la macchina NON è in produzione attiva"
* Potenza utilizzata ST.1 REAL 24 Potenza utilizzata dalla stazione di riscaldo 1 [kW]
* Potenza utilizzata ST.2 REAL 28 Potenza utilizzata dalla stazione di riscaldo 2 [kW]
* Potenza utilizzata ST.3 REAL 32 Potenza utilizzata dalla stazione di riscaldo 3 [kW]
@@ -105,7 +99,7 @@ namespace IOB_WIN
// salvo i valori PREC...
LastTSVC.Add(item.Key, 0);
}
}
}
}
#region Metodi specifici (da verificare/completare in implementazione)
@@ -125,6 +119,8 @@ namespace IOB_WIN
{
// incremento
counterMes2Plc++;
// se > 9999 --> 0
if (counterMes2Plc > 9999) counterMes2Plc = 0;
// salvo su DB
Dictionary<string, string> task2exe = new Dictionary<string, string>();
Dictionary<string, string> taskDone = new Dictionary<string, string>();
@@ -255,47 +251,40 @@ namespace IOB_WIN
*
*
* - BIT di stato
* - DB60.DBX3.0: AUSILIARI INSERITI = NO EMERGENZA
* - DB60.DBX3.1: Filtro (macchina) in LAVORAZIONE
* - DB60.DBX3.2: Selettore in AUTOMATICO (sennò GIALLO)
* - DB60.DBX3.3: WARNING MIN LIV VASCA (arancio)
* - DB60.DBX3.4: WARNING MIN LIV CELLULOSA (blu)
* - DB60.DBX3.5: LAMPADA ROSSA (allarmi almeno 1 attivo)
* - DBX2.0: macchina accesa
* - DBX2.1: CICLO AUTO = NON HO ANOMALIE/ALLARMI (0 --> allarme)
* - DBX2.2: contapezzi
* - DBX2.3: MACCHINA IN CICLO AUTO = LAVORA
* - DBX2.4: ERRORE tra part code MES/SAET (blu)
----------------------------------------------------- */
byte mainData = RawInput[2];
/* -----------------------------------------------------
* bitmap MAPO FILTRO Aprochim
* B0: POWER_ON
* B1: RUN
* B2: AUTOMATICO
* B3: WARN_MIN_VASCA
* B4: WARN_MIN_CELL
* B5: ALARM
* B6: EMERGENZA
----------------------------------------------------- */
// bit 0 (poweron) imposto a 1 SE connected...
B_input = currPLC.IsConnected ? 1 : 0;
// recupero byte segnali...
int byteSignals = RawInput[3];
// aggiungo "in coda" primo bit emergenza...essendo un bit negato (NON emergenza) lo cambio di segno
if ((byteSignals & (1 << 0)) == 0)
{
byteSignals += (1 << 6);
}
// cancello primo bit (faccio uno shift a dx e poi a sx di 1...)
byteSignals = ((byteSignals >> 1) << 1);
int byteSignals = 0; // RawInput[2];
// bit 0 (poweron) imposto a 1 SE connected...
if (currPLC.IsConnected)
{
byteSignals += (1 << 0);
}
if ((mainData & (1 << 3)) == 1)
{
byteSignals += (1 << 1);
}
if ((mainData & (1 << 1)) == 0)
{
byteSignals += (1 << 3);
}
if ((mainData & (1 << 4)) == 0)
{
byteSignals += (1 << 4);
}
// salvo!
B_input = byteSignals;
// processo il watchdog!
counterPlc2Mes = S7.Net.Types.Int.FromByteArray(RawInput.Skip(0).Take(2).ToArray());
// log opzionale!
if (verboseLog)
{
Vendored
+1 -1
View File
@@ -16,7 +16,7 @@ pipeline {
/* calcolo numero versione... diverso x branch MASTER/DEVELOP */
script {
withEnv(['NEXT_BUILD_NUMBER=436']) {
withEnv(['NEXT_BUILD_NUMBER=437']) {
// env.versionNumber = VersionNumber(versionNumberString : '2.3.${BUILD_DATE_FORMATTED, "yyMM"}.${BUILDS_ALL_TIME}', projectStartDate : '2006-01-01', skipFailedBuilds: true)
env.versionNumber = VersionNumber(versionNumberString : '2.3.${BUILD_DATE_FORMATTED, "yyMM"}.${BUILDS_ALL_TIME}', projectStartDate : '2006-01-01', skipFailedBuilds: true, overrideBuildsAllTime: '${NEXT_BUILD_NUMBER}')
env.APP_NAME = 'MAPO-IOB-WIN'