Compare commits

..

923 Commits

Author SHA1 Message Date
Thermo_SIM 50e76bd30c FIx Logs 2021-03-22 18:33:06 +01:00
Thermo_SIM 6f6559ce67 Fix Sheet read 2021-03-22 17:59:30 +01:00
Samuele E. Locatelli 5c2f69b8d2 fix serverconfig 2021-03-22 16:48:56 +01:00
Samuele E. Locatelli 0f7ce076f9 type 2021-03-22 16:18:47 +01:00
Samuele E. Locatelli 127b4ba1de new rel 185 2021-03-22 14:38:30 +01:00
Samuele E. Locatelli 9e2ee7d5b6 Merge branch 'develop' into new/ThermoCamManager 2021-03-22 14:38:10 +01:00
Thermo_SIM 2a0b3f7e72 Fix Frontend 2021-03-22 14:33:31 +01:00
Thermo_SIM 36dc4171e5 Added Migration 2021-03-22 14:24:34 +01:00
Thermo_SIM 29057c5431 Added TYpeval 2021-03-22 14:18:59 +01:00
Thermo_SIM a1336f9918 Merge branch 'Log_Lastre' into develop 2021-03-22 11:27:06 +01:00
Thermo_SIM 7ded45280f Fix THermocamera History 2021-03-22 11:26:33 +01:00
Thermo_SIM ef139a2365 Fix THermoprophet 2021-03-21 19:28:07 +01:00
Thermo_SIM fe6498f6ed Fix Vuoto Behaviour 2021-03-21 18:06:26 +01:00
Thermo_SIM 22ad46ab8c Fix bitselector 2021-03-21 17:57:19 +01:00
Thermo_SIM e098409b83 Fix COnfig FIle & Sheet cleaning 2021-03-19 22:52:17 +01:00
Thermo_SIM 083be20f02 Fix Frontend 2021-03-19 22:21:10 +01:00
Thermo_SIM f7ff6629ce Added NC Reading 2021-03-19 22:19:49 +01:00
Thermo_SIM 2a4c0e8335 Fix Frontend 2 2021-03-19 22:19:36 +01:00
Thermo_SIM bd1488bc02 FIx Frontend 2021-03-19 22:19:23 +01:00
Thermo_SIM bab9bf504a Removed ConsoleLog 2021-03-19 20:07:57 +01:00
Thermo_SIM c7f7c4f9c8 Added Frontend 2021-03-19 18:28:07 +01:00
Thermo_SIM 36e0927bd1 Backend 2021-03-19 18:00:03 +01:00
Thermo_SIM 7b132793d0 Third DB Commit 2021-03-19 17:26:34 +01:00
Thermo_SIM d01fcf7578 Second Commit 2021-03-19 17:11:18 +01:00
Thermo_SIM 539ed2508d First commit DB 2021-03-19 17:07:42 +01:00
Thermo_SIM cacae4eebf Fix pirometro in Dashboard 2021-03-19 16:40:07 +01:00
Thermo_SIM 34e31666cd Fix ricetta + Dashboard S 2021-03-19 16:05:30 +01:00
Samuele E. Locatelli 3b0dd98018 modifica meccanismo dispose FLIR 2021-03-19 10:11:43 +01:00
Samuele E. Locatelli 76fdf01d38 Merge branch 'new/ThermoCamManager' into develop 2021-03-18 11:49:36 +01:00
Samuele E. Locatelli 7918787ac6 new rel 2021-03-18 11:49:30 +01:00
Samuele E. Locatelli e797afabcb impostato in recipe current stesso comportamento di area 2021-03-18 11:48:46 +01:00
Samuele E. Locatelli c31edb94d5 Merge branch 'new/ThermoCamManager' into develop 2021-03-18 09:49:59 +01:00
Samuele E. Locatelli 86fd710aaa vers 182 2021-03-18 09:49:33 +01:00
Samuele E. Locatelli f1f8f3aa97 modifiche x evitare sovrapposizione chiamate lettura ricetta 2021-03-18 09:46:56 +01:00
Samuele E. Locatelli 83d6f40491 Merge branch 'develop' into new/ThermoCamManager 2021-03-17 19:06:03 +01:00
Samuele E. Locatelli 21cb4050b0 modifica DTO x upload stato connessione FLIR cam 2021-03-17 19:05:49 +01:00
Samuele E. Locatelli 027eed8770 Aggiunta gestione status camera connessa o meno (lettura) 2021-03-17 19:01:41 +01:00
Samuele E. Locatelli 43de959bca new rel number 2021-03-17 18:42:13 +01:00
Samuele E. Locatelli 5a56d53d90 fix thread thermo flir 2021-03-16 15:21:03 +01:00
Samuele E. Locatelli 89b0ce5f96 gestione conf XML server x abilitazione FLIR 2021-03-16 15:15:58 +01:00
Samuele E. Locatelli e57d16d690 vers 180 2021-03-15 17:09:26 +01:00
Samuele E. Locatelli fe25ae54e6 Merge remote-tracking branch 'origin/develop' into new/ThermoCamManager 2021-03-15 17:07:47 +01:00
Samuele E. Locatelli 614acd2e40 Fix scrittura nome IMG x thermo 2021-03-15 17:07:40 +01:00
Thermo_SIM d70474c01f Fix dashboard UI 2021-03-15 16:26:28 +01:00
Thermo_SIM 045dd808e5 Fix nebulizzatori 2021-03-15 15:55:07 +01:00
Thermo_SIM 92cb66d539 Fix thermoprophet view 2021-03-15 15:54:53 +01:00
Thermo_SIM 941535056d Fix Bitselect 2021-03-15 15:31:25 +01:00
Thermo_SIM f6d794d90c Fix UI 2021-03-15 15:05:17 +01:00
Thermo_SIM 1f769677d1 Added Backup features 2021-03-15 14:51:24 +01:00
Thermo_SIM 9de1286290 Fix Setup 2021-03-15 12:38:22 +01:00
Thermo_SIM 59bacaa1a6 Fix quote Frame 2021-03-15 08:31:48 +01:00
Thermo_SIM abc8564f2f Fix riscaldi 2021-03-12 17:34:59 +01:00
Thermo_SIM 8bfd294525 Merge remote-tracking branch 'origin/develop' into develop 2021-03-10 18:31:18 +01:00
Thermo_SIM 47119e7828 Implementato Assi 2021-03-10 18:30:25 +01:00
Samuele E. Locatelli a8dbf3d15d Merge remote-tracking branch 'origin/new/ThermoCamManager' into develop 2021-03-10 14:55:31 +01:00
Samuele E. Locatelli 7bbe807359 start new rel 178 2021-03-10 14:54:52 +01:00
Samuele E. Locatelli 5884f229b1 Merge remote-tracking branch 'origin/new/ThermoCamManager' into develop 2021-03-10 14:53:58 +01:00
Samuele E. Locatelli 8842111125 fix conf assi 2021-03-10 14:53:15 +01:00
Samuele E. Locatelli 7110d05782 Merge remote-tracking branch 'origin/develop' into new/ThermoCamManager 2021-03-10 14:40:01 +01:00
Thermo_SIM fa41a5f577 Fix visualizzazione assi 2021-03-10 10:46:50 +01:00
Samuele E. Locatelli e09ca359dd update version 2021-03-10 09:44:04 +01:00
Samuele E. Locatelli e01731685e Modifica stats x threads 2021-03-10 09:43:14 +01:00
Thermo_SIM 9a9fa64200 Fix translations 2021-03-09 18:05:53 +01:00
= 83492b3a00 Merge remote-tracking branch 'CMS/develop' into develop 2021-03-09 14:58:09 +01:00
= 954224c80f coolers bit selector 2021-03-09 14:57:59 +01:00
Thermo_SIM 64fbb2e106 Fix Under the hood + adv mode 2021-03-09 12:39:20 +01:00
Thermo_SIM 95559497af Added par "extraction_main_drawing_enabled" 2021-03-09 12:38:54 +01:00
Thermo_SIM 71667b87a9 Merge remote-tracking branch 'origin/new/ThermoCamManager' into develop 2021-03-09 12:07:10 +01:00
Samuele E. Locatelli 6919827661 Merge remote-tracking branch 'origin/new/ThermoCamManager' into new/ThermoCamManager 2021-03-09 11:22:19 +01:00
Samuele E. Locatelli 76044293af start new rel 2021-03-09 11:20:52 +01:00
Samuele E. Locatelli bc817fcbf6 fix decodifica comandi assi 2021-03-09 11:18:40 +01:00
Thermo_SIM 45e62c635f Fix Axis visible 2021-03-09 09:37:04 +01:00
Samuele E. Locatelli 0440202342 bozza metodi gestione AdvMode x assi 2021-03-05 07:39:24 +01:00
Samuele E. Locatelli 9a0705130a aggiunta preliminare metodo gen cmd/status assi 2021-03-04 17:25:57 +01:00
Samuele E. Locatelli bdf80680c2 new rel 175 2021-03-04 14:23:50 +01:00
= 729fa17209 Merge remote-tracking branch 'CMS/develop' into develop 2021-03-04 14:17:45 +01:00
= bf6e16a4d6 fix posizione valori x/y piastra 2021-03-04 14:17:28 +01:00
Samuele E. Locatelli e9af483682 new rel vers 2021-03-04 11:57:31 +01:00
Samuele E. Locatelli 5ee41656b7 Merge remote-tracking branch 'origin/develop' into new/ThermoCamManager 2021-03-04 11:56:16 +01:00
Samuele E. Locatelli f1aff9393f discovery thread statico 2021-03-04 11:56:01 +01:00
= 2e745a53b7 fix gantt timeline 2021-03-03 14:46:38 +01:00
Thermo_SIM 34651b7c7c Fix IO 2021-03-02 17:59:06 +01:00
Samuele E. Locatelli 24db3c589e fix gestione info assi (refresh) 2021-03-02 12:58:33 +01:00
Samuele E. Locatelli 31f8e90325 new rel vers 2021-03-02 12:37:33 +01:00
Samuele E. Locatelli a1284af386 fix letture CycleLog (anche sovrapposti) 2021-03-02 12:37:19 +01:00
Thermo_SIM 6aa6df7e39 Fix view 2021-03-01 15:54:44 +01:00
Thermo_SIM 9aa360bb5f Fix axes management 2021-03-01 14:55:28 +01:00
Thermo_SIM 19951eeb7c Fix css IO + log ciclo automatico 2021-02-28 19:28:44 +01:00
= 2841738be8 Merge remote-tracking branch 'CMS/develop' into develop 2021-02-26 20:17:33 +01:00
= 5a3e8c297a estrazione 2021-02-26 20:17:22 +01:00
= a2fbaf9a61 vuoto 2021-02-26 20:15:06 +01:00
= 1f8b751d0f raffreddamento 2021-02-26 20:09:54 +01:00
= 24d8986a50 controstampo 2021-02-26 20:04:13 +01:00
= 9fa289194f pirometro 2021-02-26 19:58:11 +01:00
= 152a5489ee riscaldi 2021-02-26 19:53:47 +01:00
= 5a0518af42 modale termo e misure, tab con validazione 2021-02-26 19:49:35 +01:00
Samuele E. Locatelli 878bf9e229 Aggiunta comandi assi (da provare in SIM) 2021-02-26 19:15:47 +01:00
Samuele E. Locatelli a9843c3a5b fix enum x swagger 2021-02-26 18:25:55 +01:00
Samuele E. Locatelli d4cfe8d27c Merge remote-tracking branch 'origin/develop' into new/ThermoCamManager 2021-02-26 18:12:17 +01:00
Samuele E. Locatelli 8e03c97f8f fix out stato assi + cycleLog from/to 2021-02-26 18:12:10 +01:00
Thermo_SIM f9e9234d55 Log Ciclo AUtomatico FRONTEND 2021-02-26 18:05:26 +01:00
Samuele E. Locatelli 5122bb5b79 new rel + cleanup 2021-02-26 16:09:15 +01:00
Samuele E. Locatelli 5091401096 update XML x assi 2021-02-26 16:09:04 +01:00
Samuele E. Locatelli 2907387e09 fix cyclelogData 2021-02-26 16:08:53 +01:00
Thermo_SIM 11d5d547f6 Gantt 2021-02-26 11:03:10 +01:00
Samuele E. Locatelli 885742bb88 pulizia img inutilizzate 2021-02-25 19:27:36 +01:00
Samuele E. Locatelli 81037fa8b1 Merge remote-tracking branch 'origin/develop' into new/ThermoCamManager 2021-02-25 19:17:18 +01:00
Samuele E. Locatelli 1f04b99414 new rel 169 2021-02-25 19:16:13 +01:00
Samuele E. Locatelli 0eab7c119b fix punti misura resi STATIC... 2021-02-25 19:15:53 +01:00
Thermo_SIM bf9bb455af Merge remote-tracking branch 'origin/develop' into develop 2021-02-25 18:52:37 +01:00
Thermo_SIM f36143336f unther-the-hood translations 2021-02-25 18:51:53 +01:00
= 2eb2440204 Merge remote-tracking branch 'CMS/develop' into develop 2021-02-25 18:40:08 +01:00
Samuele E. Locatelli cd2cb99bd8 Merge branch 'develop' into new/ThermoCamManager 2021-02-25 18:28:55 +01:00
Samuele E. Locatelli b1333263c2 Merge branch 'new/ThermoCamManager' of https://bitbucket.org/ncarminati/cms_thermo_active into new/ThermoCamManager 2021-02-25 18:28:45 +01:00
Samuele E. Locatelli 2d8a9b9ea6 Merge branch 'develop' of https://bitbucket.org/ncarminati/cms_thermo_active into develop 2021-02-25 18:28:24 +01:00
= 7c999c712b fix measure points 2021-02-25 18:08:48 +01:00
= 1ee0d5add8 fix gantt 2021-02-25 18:01:46 +01:00
= 548f36ccf8 fix gantt 2021-02-25 17:53:18 +01:00
Samuele E. Locatelli 3ed4fc8312 fix gitignore 2021-02-25 17:39:25 +01:00
Samuele E. Locatelli 67eb8a9de7 Merge branch 'new/ThermoCamManager' into develop 2021-02-25 17:36:37 +01:00
Samuele E. Locatelli 1914658e5c typo 2021-02-25 17:35:57 +01:00
Thermo_SIM e2c1a6ef19 Fix preriscaldi 2021-02-25 17:34:16 +01:00
Samuele E. Locatelli 747ac452d9 fix discovery IP sim 2021-02-25 17:13:56 +01:00
Samuele E. Locatelli 54930860bd Merge remote-tracking branch 'origin/develop' into new/ThermoCamManager 2021-02-25 17:13:23 +01:00
Samuele E. Locatelli 0e89edbfb8 update forzatura json 2021-02-25 17:13:15 +01:00
Samuele E. Locatelli db320d3fb1 fix gestioen thermo in SIM 2021-02-25 17:12:47 +01:00
= 04df04d15c visualizzazione gantt solo per le sezioni attive 2021-02-25 17:11:58 +01:00
Thermo_SIM 60bddba24f added error in labels 2021-02-25 17:01:31 +01:00
Thermo_SIM 01e7f87c82 Fix Hub implementation 2021-02-25 16:08:16 +01:00
= daa8f42762 Merge remote-tracking branch 'CMS/develop' into develop 2021-02-25 15:53:44 +01:00
= 5205593f9f fix modale dettaglio thermo - mancano misure reali 2021-02-25 15:53:35 +01:00
Thermo_SIM 9fe9ffa736 Fix users Area + Process softkey 2021-02-25 15:22:57 +01:00
Thermo_SIM 12a3bde770 Fix Cursor pointer & input Focus 2021-02-25 12:16:46 +01:00
Thermo_SIM 1f04efa0ee Fix charts 2021-02-25 11:34:48 +01:00
Thermo_SIM 9a87ddee9f Fix IO visible 2021-02-25 10:51:48 +01:00
Thermo_SIM 7ebf5013b3 Fix Resistances Watt 2021-02-25 10:26:37 +01:00
Samuele E. Locatelli 57a60f9d12 ThermoSetup vers 168 2021-02-24 08:35:39 +01:00
= aa03bd0a1a Merge remote-tracking branch 'CMS/develop' into develop 2021-02-23 17:37:32 +01:00
= 9c54f3aaa9 layout termo - manca storico immagini da leggere correttamente per fare prove 2021-02-23 17:37:13 +01:00
Samuele E. Locatelli 093e50b006 Merge branch 'new/ThermoCamManager' into develop 2021-02-23 17:11:57 +01:00
Samuele E. Locatelli 37ef6055dc fix warmers x UI (array punti) e PLC (id/valore) 2021-02-23 17:11:12 +01:00
Samuele E. Locatelli 5fbbb5e61f new rel 2021-02-23 17:10:39 +01:00
= 0ba2c8305c modal show & get tcamdata 2021-02-23 16:31:13 +01:00
Samuele E. Locatelli 7d1f9b4d4c fix nome last image (static var) 2021-02-23 16:30:43 +01:00
Samuele E. Locatelli 72a762b24c new release start 2021-02-23 16:27:40 +01:00
Samuele E. Locatelli eeeeba88a4 fix path x salvataggio foto automatico 2021-02-23 16:27:32 +01:00
Samuele E. Locatelli e85bccf0b1 Merge remote-tracking branch 'origin/develop' into new/ThermoCamManager 2021-02-23 15:44:14 +01:00
Thermo_SIM 79035f49d2 Merge remote-tracking branch 'origin/develop' into develop 2021-02-23 15:43:30 +01:00
Thermo_SIM 38cbb34921 Fix IO 2021-02-23 15:42:38 +01:00
Samuele E. Locatelli 3ef60f8ead cleanup x setup 2021-02-23 15:42:16 +01:00
Samuele E. Locatelli 3db4f8ded4 Fix gestione chiusura thread discovery x setup e active 2021-02-23 15:41:32 +01:00
Samuele E. Locatelli fe972b16dd new rel 165 x ThermoActive 2021-02-23 15:03:40 +01:00
Samuele E. Locatelli 9a0e5729bf ancora fix x metodi thermocam 2021-02-23 15:03:19 +01:00
= cc2dd06c53 Merge remote-tracking branch 'CMS/develop' into develop 2021-02-23 14:37:41 +01:00
Samuele E. Locatelli da2839b3b2 fix image save path 2021-02-23 13:50:59 +01:00
Samuele E. Locatelli a540ef1768 fix config costanti x release 2021-02-23 12:12:04 +01:00
Samuele E. Locatelli b3d0be026a Merge remote-tracking branch 'origin/new/ThermoCamManager' into new/ThermoCamManager 2021-02-23 11:45:56 +01:00
Samuele E. Locatelli 604e1c8f8e new rel number 2021-02-23 11:45:46 +01:00
Samuele E. Locatelli 4d210ddf9b fix conf x Setup a 32bit 2021-02-23 11:43:08 +01:00
Samuele E. Locatelli b6dbe49a47 rimozione dll locali 2021-02-23 11:42:55 +01:00
Samuele E. Locatelli 782ea9f03e Setup riportato a 64bit 2021-02-23 10:52:15 +01:00
Samuele E. Locatelli 666feefbd1 test flir x86 2021-02-23 10:44:02 +01:00
Samuele E. Locatelli 3172febf24 aggiunta bat x setup FLIR 2021-02-23 10:43:17 +01:00
Samuele E. Locatelli d0e1b138f2 FIX versione 64bit Thermo.Cam.Setup 2021-02-22 23:22:20 +01:00
Samuele E. Locatelli 8a5035b23b fix classe ThermoCamController x live, da testare dll FLIR 2021-02-22 23:10:21 +01:00
Samuele E. Locatelli b603072618 fix config server x test, rimozione files inutili 2021-02-22 23:09:54 +01:00
Samuele E. Locatelli 8f293b8fa9 forzatura post build event x86 2021-02-22 19:52:29 +01:00
Samuele E. Locatelli 3d0e261ceb Merge remote-tracking branch 'origin/new/ThermoCamManager' into new/ThermoCamManager 2021-02-22 19:25:17 +01:00
Samuele E. Locatelli ad7abfa4b0 aggiunta conf in active.config 2021-02-22 19:24:32 +01:00
Samuele E. Locatelli 93e767563f pulizia xml inutilizzato x tooltable 2021-02-22 19:24:19 +01:00
Samuele E. Locatelli 34702f322d reconf x dll locali 2021-02-22 19:23:58 +01:00
Samuele E. Locatelli 1d8e405862 aggiunta dll locali 2021-02-22 19:23:18 +01:00
Samuele E. Locatelli 0f7e94b758 rallentamento lettura recipe 2021-02-22 19:00:12 +01:00
Samuele E. Locatelli 68d8ff4480 Merge remote-tracking branch 'origin/develop' into new/ThermoCamManager 2021-02-22 18:29:15 +01:00
Samuele E. Locatelli d15719c1bd new rel version 2021-02-22 18:24:12 +01:00
Samuele E. Locatelli c4faa9b6cc Fix full recompile issue... 2021-02-22 18:23:57 +01:00
= cbd3561cb5 layout 2021-02-22 18:20:08 +01:00
= 4725f63181 Merge remote-tracking branch 'CMS/develop' into develop 2021-02-22 18:08:19 +01:00
= 2f753cc8c4 termografica 2021-02-22 18:08:08 +01:00
= 2c8e54c9a6 thermo grafica 2021-02-22 18:07:54 +01:00
Samuele E. Locatelli 0153bd1759 fix metodi comunicator e renaming 2021-02-22 17:41:17 +01:00
Samuele E. Locatelli ac9fc3ddd2 Riorganizzazione metodi automatici x scatti imamgini FLIR 2021-02-22 17:38:09 +01:00
Samuele E. Locatelli ffca754194 Aggancio metodi nuova classe communicator 2021-02-22 17:25:33 +01:00
Samuele E. Locatelli fc0a3d64af Altri helper x metodi conversione formati 2021-02-22 17:06:04 +01:00
Thermo_SIM 4ed3a26768 Fix IO scroll 2021-02-22 16:37:02 +01:00
Thermo_SIM 1a3d2fc733 Fix INPUT view + Immagini Setup 2021-02-22 15:06:55 +01:00
Thermo_SIM 631ae60294 Merge remote-tracking branch 'origin/develop' into develop 2021-02-22 13:04:44 +01:00
Thermo_SIM ad1a53c4fc fix disegni "quote e velocità" 2021-02-22 13:03:39 +01:00
Samuele E. Locatelli b2a300a7a1 inizio porting classe gestione comunicazione ThermoCam 2021-02-22 12:15:30 +01:00
Samuele E. Locatelli 1b76c379c4 fix costanti x camera 2021-02-22 12:15:14 +01:00
Samuele E. Locatelli c530a9823c fix setup area wwwroot immagini 2021-02-22 12:15:04 +01:00
Samuele E. Locatelli c47b7c0c57 demo conf json in utils 2021-02-22 12:14:45 +01:00
Samuele E. Locatelli f194225bdc Merge remote-tracking branch 'origin/develop' into new/ThermoCamManager 2021-02-20 17:38:43 +01:00
Samuele E. Locatelli 274cfdfc6b Fix test finali x restart 2021-02-20 17:38:14 +01:00
Thermo_SIM 4a2d40308c Merge remote-tracking branch 'origin/develop' into develop 2021-02-20 16:32:58 +01:00
Thermo_SIM 3f412e9e17 fix layout 2021-02-20 16:32:14 +01:00
Samuele E. Locatelli 59eb4b2357 new rel 2021-02-20 16:19:40 +01:00
Samuele E. Locatelli 0849871914 fix calss rename 2021-02-20 16:19:30 +01:00
Samuele E. Locatelli 6c9bfacf6f pulizia codice 2021-02-20 15:59:09 +01:00
Samuele E. Locatelli 1cf33caac3 ok eliminazione files vecchi + test connesisone camera auto da helper 2021-02-20 12:37:17 +01:00
Samuele E. Locatelli a67381c9b8 FIx procedura init camera 2021-02-20 12:17:09 +01:00
Samuele E. Locatelli 57baeaf849 eliminazione trasf BN inutilizzata 2021-02-20 11:14:44 +01:00
Samuele E. Locatelli 24a8b7db12 new rel number 2021-02-20 10:49:32 +01:00
Samuele E. Locatelli 8163e6867b ok nuova gestione helper discovery 2021-02-20 10:49:11 +01:00
Samuele E. Locatelli cbb9a758b1 Merge commit '78e7af66e23a53306157b708ce994240a752da00' into new/ThermoCamManager 2021-02-19 19:11:32 +01:00
Samuele E. Locatelli 71cbab86de Abbozzata gestione DiscoveryHelper (non becca evento...) 2021-02-19 19:10:51 +01:00
Samuele E. Locatelli f650b4a1d2 ok setup calcolo trasf + renaming condizioni 2021-02-19 18:56:26 +01:00
Samuele E. Locatelli 32d8a52c6d fix renaming 2021-02-19 17:59:39 +01:00
Thermo_SIM 78e7af66e2 Fix riscaldi (comportamento) 2021-02-19 17:55:54 +01:00
Samuele E. Locatelli 5ef2f30938 fix antitrasformata punti!!! 2021-02-19 17:55:09 +01:00
Samuele E. Locatelli eaca7781cd test reverse trasformata punti 2021-02-19 17:15:18 +01:00
Samuele E. Locatelli dfb6b5b4da bozza helper selezione camera (DA TESTARE!!!) 2021-02-18 19:28:53 +01:00
Samuele E. Locatelli fc04bf50f5 rimozione form inutilizzate 2021-02-18 19:18:31 +01:00
Samuele E. Locatelli f9ce06f2b1 Ancora fix naming Thermo.Cam.Utils 2021-02-18 19:16:31 +01:00
Samuele E. Locatelli a356169539 Ancora renaming progetto Thermo.Cam.Setup 2021-02-18 19:11:43 +01:00
Samuele E. Locatelli 12ad1388b9 fix chiamata temperatura (1 punto alla volta) 2021-02-18 19:09:22 +01:00
= 344f976017 modal container2 2021-02-18 18:41:28 +01:00
= a970592c12 Merge remote-tracking branch 'CMS/develop' into develop 2021-02-18 18:40:39 +01:00
= 40a7a40678 fix thermo riscaldi sup inf layout.. dubbi sulla disattivazione della selezione. 2021-02-18 18:40:27 +01:00
Samuele E. Locatelli 490c95ac9c fix api TCamData x range temp + dim immagine 2021-02-18 18:23:50 +01:00
Samuele E. Locatelli 1536042a38 update conf x IO 2021-02-18 18:23:10 +01:00
Samuele E. Locatelli a2c019837a Ridenominazione progetto Thermo.CamSetup e Utils 2021-02-18 17:12:21 +01:00
Samuele E. Locatelli 4280254535 Merge remote-tracking branch 'origin/develop' into new/ThermoCamManager 2021-02-17 19:52:03 +01:00
Samuele E. Locatelli cffb93d09d metodo fake x recupero temp da lista punti 2021-02-17 19:51:56 +01:00
Samuele E. Locatelli 72a5ff1879 new rel number 2021-02-17 19:20:22 +01:00
Samuele E. Locatelli 2ac7fa4361 modifica DB con migrazione x gestione last image thermo 2021-02-17 19:13:24 +01:00
Thermo_SIM a09b593fb8 Merge remote-tracking branch 'origin/develop' into develop 2021-02-17 15:12:20 +01:00
Thermo_SIM 9a36d1568a Fix Riscaldi 2021-02-17 15:05:29 +01:00
= ac212a3a6e ID+bo in resistenze 2021-02-17 12:36:38 +01:00
= b8b64189fc fix layout 2021-02-17 12:34:44 +01:00
= 5be2108efb resistance layout, termoprophet layout e varie 2021-02-17 12:30:32 +01:00
= eac94482b9 thermo layout 2021-02-17 11:42:14 +01:00
= 67298b0899 warmer position 2021-02-17 10:08:48 +01:00
Samuele E. Locatelli 4b346d8ba7 fix conf e discovery iniziale 2021-02-17 08:57:34 +01:00
Samuele E. Locatelli 0b47c548f8 tentativo setup camera da IP (fallito...) da rivedere 2021-02-16 19:28:01 +01:00
Samuele E. Locatelli fe518b2ce7 refactor main class + pulizia codice 2021-02-16 19:04:31 +01:00
Samuele E. Locatelli b69927bc70 ancora spostamento metodi init in libreria 2021-02-16 18:49:47 +01:00
Samuele E. Locatelli dc8f2d6b8d pulizia metodi commentati 2021-02-16 18:23:38 +01:00
Samuele E. Locatelli bb4ac545a0 completato spostamento metodi connect/disconnect camera in class lib 2021-02-16 18:13:15 +01:00
= b60fa9b07e image && opacity 2021-02-16 17:43:24 +01:00
= 5789360908 layout thermoprohet right 2021-02-16 17:14:47 +01:00
Samuele E. Locatelli c9c1f20f9e fix range reload + fix color reload 2021-02-16 14:50:13 +01:00
Samuele E. Locatelli 22c25ee2bb modifica comportamento LOAD image... 2021-02-16 12:53:18 +01:00
Samuele E. Locatelli c7018202c3 ok salvataggio 3 img + dati temperature 2021-02-16 09:50:07 +01:00
Samuele E. Locatelli 134f891f03 copia img unique +code cleanup (2 test...) 2021-02-15 20:17:52 +01:00
Samuele E. Locatelli f073e37254 spostato save in libreria 2021-02-15 20:11:14 +01:00
Samuele E. Locatelli 14dfcf35c7 aggiunte immagini _last x segnaposto 2021-02-15 14:53:21 +01:00
Samuele E. Locatelli eebbd98280 Merge remote-tracking branch 'origin/develop' into new/ThermoCamManager 2021-02-15 12:00:05 +01:00
Samuele E. Locatelli 8e0821ca72 Aggiunta foder immagini con esempi 2021-02-15 11:59:55 +01:00
Thermo_SIM 1b869c4408 Fix Style + Modal info resistenze 2021-02-13 18:07:36 +01:00
Samuele E. Locatelli 189b29540b spostamento classi lettura temp in libreria base 2021-02-13 11:59:02 +01:00
Samuele E. Locatelli 40ff5dae6f spostato metodi ricalcolo img in classe libreria 2021-02-13 11:49:04 +01:00
Samuele E. Locatelli fac46ce12e Fix scala cromatica assoluta da impostazione 2021-02-12 19:33:34 +01:00
Samuele E. Locatelli c9efa885d9 Riorganizzazione MainForm con CodeMaid 2021-02-12 18:45:34 +01:00
Samuele E. Locatelli 21a262b3fb Riorganizzaizone memorie x image 2021-02-12 18:45:23 +01:00
Thermo_SIM 8e4b2d5913 Fix style 2021-02-12 16:30:50 +01:00
Thermo_SIM 0b6c5475bd Fix Min-Role for using Thermo UnderTheHood 2021-02-12 16:30:11 +01:00
Samuele E. Locatelli c0a2084edf fixed SAVE/LOAD delle immagini thermo 2021-02-12 15:56:01 +01:00
Samuele E. Locatelli f385141d05 modifica comportamento avvio + inizio test SAVE/LOAD 2021-02-11 19:24:23 +01:00
= abba69d0d7 Merge branch 'feature/fixsottocofano' into develop 2021-02-11 12:04:37 +01:00
= 38311df33a fix layout sottocofano 2021-02-11 12:04:26 +01:00
Samuele E. Locatelli 7a41ce29fa ok cross x punti 2021-02-10 19:36:24 +01:00
Samuele E. Locatelli 2aa6112113 OK disegno punti su immagine 2021-02-10 19:03:44 +01:00
Samuele E. Locatelli 83341c6004 testing temp FLIR vs ponderata (XOXO) 2021-02-10 18:23:50 +01:00
Samuele E. Locatelli 00c5b8b97a refresh comportamento x test temperature 2021-02-10 17:06:58 +01:00
Samuele E. Locatelli 7501ee38ec Fix processing byt video in parallelo (mashalled) 2021-02-09 19:58:01 +01:00
Samuele E. Locatelli f1b3a90c2e relayout form 2021-02-09 18:20:20 +01:00
Samuele E. Locatelli 4d847c2add ok anche live transform 2021-02-09 18:06:33 +01:00
Samuele E. Locatelli 53a0084df1 Ok acquisizione da CAM + trasformazione 2021-02-09 12:42:16 +01:00
Samuele E. Locatelli 9f6ebc84bf ok setup acquisizione punti preliminare 2021-02-09 11:49:03 +01:00
Samuele E. Locatelli bc54666dbd Aggiunta preliminare progetto FLIR 2021-02-08 19:49:01 +01:00
= b7fd90d300 Merge branch 'feature/sottocofano' into develop 2021-02-08 09:59:58 +01:00
= bc7a45f514 fix less 2021-02-08 09:37:51 +01:00
Thermo_SIM 6059670422 Merge branch 'new/UnderTheHood' into feature/sottocofano 2021-02-06 17:22:57 +01:00
Thermo_SIM 3d616d83b0 FIx Warmers Under-the-hood (TODO Details modal) 2021-02-06 17:19:50 +01:00
Thermo_SIM 81bf6a308b Merge branch 'new/UnderTheHood' of https://bitbucket.org/ncarminati/cms_thermo_active into new/UnderTheHood 2021-02-06 10:39:56 +01:00
Samuele E. Locatelli b0ffae1969 Merge remote-tracking branch 'origin/develop' into new/UnderTheHood 2021-02-05 18:33:10 +01:00
Samuele E. Locatelli 4926394bfb Merge remote-tracking branch 'origin/feature/sottocofano' into new/UnderTheHood 2021-02-05 18:33:01 +01:00
Samuele E. Locatelli 381adc93a5 new rel 2021-02-05 18:32:57 +01:00
Samuele E. Locatelli ea29ef5f92 equality senza incapsulamento (errori) 2021-02-05 18:32:29 +01:00
= 967846f83d fix layout assi 2021-02-05 18:07:33 +01:00
Samuele E. Locatelli 3ed92738d2 aggiunta invio iniziale 2021-02-05 18:04:28 +01:00
= a4ce9b63a5 Merge remote-tracking branch 'CMS/feature/sottocofano' into feature/sottocofano 2021-02-05 17:45:40 +01:00
= 939d37eb63 Merge remote-tracking branch 'CMS/develop' into develop 2021-02-05 17:45:29 +01:00
= 47579dc6af Merge branch 'feature/sottocofano' into develop 2021-02-05 17:45:24 +01:00
Samuele E. Locatelli ba2359469d Merge remote-tracking branch 'origin/develop' into new/UnderTheHood 2021-02-05 17:38:18 +01:00
= 45c25b7835 scrittura output e gestione tastierino 2021-02-05 17:38:08 +01:00
Samuele E. Locatelli fbc5e09f04 Merge remote-tracking branch 'origin/new/UnderTheHood' into new/UnderTheHood 2021-02-05 17:37:32 +01:00
Samuele E. Locatelli df9e5fc477 fix equality test x signal-r degli IO 2021-02-05 17:37:01 +01:00
Thermo_SIM 9ad36718bb Merge branch 'new/UnderTheHood' of https://bitbucket.org/ncarminati/cms_thermo_active into new/UnderTheHood 2021-02-05 16:30:00 +01:00
Giuseppe Marazzita 147c64f88a fix - [assi] 2021-02-05 16:28:57 +01:00
Samuele E. Locatelli 6154e5fa14 Merge branch 'new/UnderTheHood' of https://bitbucket.org/ncarminati/cms_thermo_active into new/UnderTheHood 2021-02-05 16:06:03 +01:00
Samuele E. Locatelli 8fc103563d fix swagger class reference 2021-02-05 16:04:03 +01:00
= f861534e01 Merge branch 'feature/sottocofano' into develop 2021-02-05 15:36:48 +01:00
= fe4d3a1635 fix tastiera su numeric input 2021-02-05 15:36:34 +01:00
= 854b28f588 Merge branch 'feature/sottocofano' into develop 2021-02-05 15:25:53 +01:00
= ba6894e15d fix rimozione "main-container" nei file innestati di background 2021-02-05 15:24:29 +01:00
= 617802ddf6 fix layout 2021-02-05 14:47:17 +01:00
= ee6fc599d8 signalr per channels IO 2021-02-05 14:44:26 +01:00
= 9bdcb6ef14 preparazione a signalr 2021-02-05 14:39:24 +01:00
Samuele E. Locatelli 648ef062c5 Merge branch 'new/UnderTheHood' of https://bitbucket.org/ncarminati/cms_thermo_active into new/UnderTheHood 2021-02-05 14:33:31 +01:00
Samuele E. Locatelli a5519a7e23 Merge remote-tracking branch 'origin/new/UnderTheHood' into new/UnderTheHood 2021-02-05 14:29:42 +01:00
Samuele E. Locatelli 6bd0d8ef96 Merge remote-tracking branch 'origin/develop' into new/UnderTheHood 2021-02-05 14:28:56 +01:00
Samuele E. Locatelli de3c615801 new rel 2021-02-05 14:28:47 +01:00
Samuele E. Locatelli 0ccab81063 Aggiunta conf x sample variabile 2021-02-05 14:28:39 +01:00
Nicola 695f363b88 Merge remote-tracking branch 'origin/feature/sottocofano' into new/UnderTheHood 2021-02-05 14:24:11 +01:00
= 30ad2fc050 fix scroll into view 2021-02-05 14:17:45 +01:00
= 7e464a8638 fix layout 2021-02-05 14:07:34 +01:00
Samuele E. Locatelli 28444f60c0 Completata implementazione WRITE IO (testare!) 2021-02-05 13:59:49 +01:00
= ead221b0ac Merge remote-tracking branch 'CMS/feature/sottocofano' into feature/sottocofano 2021-02-05 13:10:12 +01:00
= c864cec1d4 Merge branch 'feature/sottocofano' into develop 2021-02-05 13:09:55 +01:00
= 48d973fc01 clean 2021-02-05 13:09:23 +01:00
= ae87d3cd07 fix easy less upgrade to last version 2021-02-05 13:08:07 +01:00
Samuele E. Locatelli dd7ca930ae Add PLC R/W per channlesIO (val e forzature) 2021-02-05 12:24:56 +01:00
Samuele E. Locatelli 83e2ab062d Merge remote-tracking branch 'origin/feature/sottocofano' into new/UnderTheHood 2021-02-05 10:15:28 +01:00
Giuseppe Marazzita 69629c257d fix [riscaldi] - [buttons] 2021-02-05 09:32:41 +01:00
Giuseppe Marazzita b0aa56d06d fix [ciclo] [misurazioni] [riscaldi] 2021-02-05 09:27:50 +01:00
Samuele E. Locatelli 302c74c64e start new rel sprint 2021-02-04 19:14:08 +01:00
Samuele E. Locatelli 7578bc4b5b new rel vers 2021-02-04 19:13:43 +01:00
Samuele E. Locatelli 9f05b65ca6 Merge remote-tracking branch 'origin/develop' into new/UnderTheHood 2021-02-04 19:12:29 +01:00
Samuele E. Locatelli b6dc59ea93 Prima vers signal-r x dati ChannelsIO 2021-02-04 19:12:19 +01:00
Thermo_SIM 45ea2a309e Merge remote-tracking branch 'origin/develop' into new/UnderTheHood 2021-02-04 17:41:42 +01:00
= fbe3f56bc3 Merge branch 'feature/sottocofano' into develop 2021-02-04 17:20:00 +01:00
= 73124002a6 fix output 2021-02-04 17:18:17 +01:00
= 8d31628cc2 fix output layout con dati 2021-02-04 17:15:15 +01:00
Samuele E. Locatelli ee11717644 Merge remote-tracking branch 'origin/new/UnderTheHood' into new/UnderTheHood 2021-02-04 16:46:50 +01:00
Samuele E. Locatelli 4aec0ca0d9 OK x nuova API invio solo valori (DTO signal-r) 2021-02-04 16:45:22 +01:00
Samuele E. Locatelli f7fdfd7f55 new rel x API solo valori 2021-02-04 16:44:42 +01:00
Thermo_SIM 7d6cdeb612 Merge branch 'feature/sottocofano' into new/UnderTheHood 2021-02-04 16:33:15 +01:00
= b85ed71319 fix ai input style 2021-02-04 16:23:45 +01:00
Samuele E. Locatelli a6a078faac refactor + new DTO x valori signal-r 2021-02-04 16:19:11 +01:00
Samuele E. Locatelli b8462438c1 completata verifica lettura IO: OK x AI/AO! 2021-02-04 15:54:27 +01:00
= 7a0099336c fix input 2021-02-04 15:17:10 +01:00
= 490c4ed21b fix store channel 2021-02-04 14:40:25 +01:00
= c44465430d fix output 2021-02-04 14:14:33 +01:00
= 9c427d23a3 remove output 2021-02-04 13:55:07 +01:00
= 6f1e429c4e fix layout e collegamento con server 2021-02-04 13:13:42 +01:00
Samuele E. Locatelli d6d5c10517 completato preview conf x IO 2021-02-04 11:24:03 +01:00
Samuele E. Locatelli 89ee203461 test x output conf IO 2021-02-04 10:55:36 +01:00
Giuseppe Marazzita 50d63545ba Merge remote-tracking branch 'origin/feature/sottocofano' into feature/sottocofano 2021-02-04 09:57:02 +01:00
Giuseppe Marazzita 3a0ad9db97 fix output 2021-02-04 09:56:10 +01:00
= 2a6410ffdc fix file casing 2021-02-04 09:53:07 +01:00
Giuseppe Marazzita 236443b777 Moduli sotto cofano (solo parte grafica) 2021-02-04 09:32:38 +01:00
Samuele E. Locatelli d2d20d16a2 Aggiunta altri parametri realtime letti da PLC x IO 2021-02-03 19:33:26 +01:00
Samuele E. Locatelli 272f0823af OK primo test lettura dal PLC x bit vbisibilità canali IO 2021-02-03 19:20:48 +01:00
Samuele E. Locatelli bd1994e6ec Merge remote-tracking branch 'origin/new/UnderTheHood' into new/UnderTheHood 2021-02-03 19:04:49 +01:00
Samuele E. Locatelli 5ad7b7990c inizio lettura da PLC (da testare!!!) 2021-02-03 19:04:40 +01:00
Samuele E. Locatelli e16fc55c57 refresh vers numb 1.1.150 2021-02-03 14:36:40 +01:00
Samuele E. Locatelli e77887153d Aggiunto chiamata x status canali IO 2021-02-03 14:28:18 +01:00
Samuele E. Locatelli 7af6a9726a Update lettura XML + conf DTO 2021-02-03 13:21:00 +01:00
Samuele E. Locatelli 64e8bd0331 ok gestione CONF x IO 2021-02-03 08:47:33 +01:00
Samuele E. Locatelli fb16f616e5 partial commit: update config IO 2021-02-02 19:39:35 +01:00
Samuele E. Locatelli dd869ef966 Sim CycleLog in UTH 2021-02-01 19:45:25 +01:00
Samuele E. Locatelli 8fdf8b74c4 Bozza oggetti DI/O 2021-02-01 19:45:09 +01:00
Samuele E. Locatelli 256895ad04 Merge remote-tracking branch 'origin/develop' into develop 2021-02-01 17:30:02 +01:00
Samuele E. Locatelli 6855503714 fix setup IP dell'NC 2021-02-01 17:26:57 +01:00
Nicola c8773d1418 Merge branch 'Build_Script' into develop 2021-02-01 16:37:18 +01:00
Nicola 140599cd1c Fix build Script + Installer 2021-02-01 16:29:33 +01:00
Nicola e772745253 Merge remote-tracking branch 'origin/develop' into develop 2021-02-01 14:35:25 +01:00
Nicola d487ca5f60 Fix startup checks (Active PRJ) 2021-02-01 14:33:49 +01:00
Samuele E. Locatelli 53d0b16205 Merge commit '46dbf006600a211b64576df26e599b6fb87d9af3' into develop 2021-02-01 10:54:32 +01:00
Samuele E. Locatelli 46dbf00660 fix avvio controllo star1&2 x user login 2021-02-01 10:37:25 +01:00
Giuseppe Marazzita 7e2649efeb moduli sottocofano 2021-02-01 09:45:41 +01:00
Thermo_SIM 0ab280076f Merge commit '456481e65aa36f9dc8f91347cf077b0f54e857e3' into Build_Script 2020-12-16 16:43:57 +01:00
Thermo_SIM 456481e65a FIx Config Files for Simulator 2020-12-16 10:32:33 +01:00
Thermo_SIM f28cc72be0 FIx steps 2020-12-16 10:15:39 +01:00
Thermo_SIM 307303f99c Fix Build 2020-12-16 10:13:35 +01:00
Thermo_SIM 9980358636 Added feature fix 2020-12-16 10:09:21 +01:00
Thermo_SIM 58c1ef1788 Import from Active 2020-12-16 09:31:14 +01:00
Thermo_SIM fb2f6ac315 Fix mariaDB Database 2020-12-16 09:28:32 +01:00
Nicola 8315a632bf Fix riscaldi 2020-11-16 09:12:08 +01:00
Nicola 9b4119451f Fix selection thermocamera 2020-11-13 16:47:22 +01:00
Nicola 65c849315f Fix config 2020-11-13 15:37:38 +01:00
Nicola 28198b434f fixes 2020-11-13 15:36:56 +01:00
Nicola 7173eb749f Fix errors in production 2020-11-13 14:18:45 +01:00
Samuele E. Locatelli 96b7e4e455 Merge remote-tracking branch 'origin/Connect-UI' into develop 2020-11-11 10:07:49 +01:00
Samuele E. Locatelli cab2a84231 Fix changes 2020-11-11 10:07:05 +01:00
Samuele Locatelli 33498ba894 new rel 146 2020-11-10 20:01:33 +01:00
Samuele Locatelli 337b834869 Merge branch 'Star_Paddle' into Connect-UI 2020-11-10 19:59:23 +01:00
Samuele E. Locatelli cefb9df5bd Merge branch 'Star_Paddle' into develop 2020-11-10 18:22:31 +01:00
Samuele E. Locatelli fe3b630e56 Added Vacuum chart fixes 2020-11-10 18:21:47 +01:00
Samuele E. Locatelli aede998431 Fix Loader image 2020-11-10 17:40:22 +01:00
Samuele E. Locatelli c47efbfbfc Fix UI behaviour 2020-11-09 16:54:21 +01:00
Samuele E. Locatelli 496e38ab7d Added Backend 2020-11-09 15:05:01 +01:00
Samuele E. Locatelli ad3e3f8b9b Added Backend 2020-11-05 18:04:08 +01:00
Samuele E. Locatelli 8b44ff84af Added Type to DB Softkey 2020-11-05 12:35:21 +01:00
Samuele E. Locatelli e375f3323b Merge branch 'develop' into Star_Paddle 2020-11-05 10:33:50 +01:00
Samuele E. Locatelli 1a217424f8 Merge remote-tracking branch 'origin/Connect-UI' into develop 2020-11-05 10:32:04 +01:00
Samuele E. Locatelli 526b83d0fe Fix Thermocamera UI 2020-11-05 10:31:51 +01:00
Samuele Locatelli 7e7fb3dab7 Merge branch 'Thermocamera' into Connect-UI 2020-11-04 10:05:10 +01:00
Samuele Locatelli 7576b33e93 update conf x gestione cache warmers 2020-11-04 10:04:57 +01:00
Samuele E. Locatelli 1c13bf0bae Added OPC variables 2020-11-04 09:54:14 +01:00
Samuele Locatelli 3dd81652b5 Fix richiesta warmers SEMPRE senza cache 2020-11-04 09:23:55 +01:00
Samuele Locatelli ee21a0fe2e Merge remote-tracking branch 'origin/develop' into develop 2020-11-04 08:49:47 +01:00
Samuele Locatelli 66293fc2d2 New rel 2020-11-04 08:49:41 +01:00
Samuele E. Locatelli fcec70b367 Fix Thermocamera UI 2020-11-03 21:48:21 +01:00
Samuele E. Locatelli cb3082522c Merge remote-tracking branch 'origin/Connect-UI' into develop 2020-11-03 21:04:20 +01:00
Samuele Locatelli 94beb343eb Merge branch 'develop' into Connect-UI 2020-11-03 19:11:11 +01:00
Samuele Locatelli fa3916c2a4 Update metodi cancel/confirm x ricetta... 2020-11-03 19:10:59 +01:00
Samuele Locatelli 45505d70e1 new rel 2020-11-03 17:19:46 +01:00
Samuele E. Locatelli 0d26ddb4f6 Fix Resistance color 2020-11-03 17:06:39 +01:00
Samuele E. Locatelli 20b5d2c99c Merge remote-tracking branch 'origin/Connect-UI' into develop 2020-11-03 15:57:22 +01:00
Samuele E. Locatelli 3401ba241b Added Backup Recipes 2020-11-03 15:57:11 +01:00
Samuele Locatelli 0badc4b4a8 Merge branch 'develop' of https://bitbucket.org/ncarminati/cms_thermo_active into develop 2020-11-03 12:43:34 +01:00
Samuele Locatelli e463f0ece5 new rel 2020-11-03 12:39:38 +01:00
Samuele Locatelli 96ee5ad494 Merge remote-tracking branch 'gitlab.steamware/Thermocamera' into Connect-UI 2020-11-03 12:38:46 +01:00
Samuele E. Locatelli 94bc8a7c50 Aggiunto parametro x swapping X/Y in richieste FLIR 2020-11-03 12:35:19 +01:00
Samuele E. Locatelli f7a0291ab0 Added other fixes 2020-11-02 21:57:17 +01:00
Samuele E. Locatelli 20d76d43ec Thermocamera UI Fix 2020-11-02 21:40:56 +01:00
Samuele Locatelli c014b16ace Merge remote-tracking branch 'gitlab.steamware/Connect-UI' into develop 2020-11-02 09:41:11 +01:00
Samuele Locatelli b89bc03791 v_0.110.142 2020-11-02 09:03:50 +01:00
Samuele Locatelli 244f7132af fix serverconfig x prod 2020-11-02 09:03:14 +01:00
Samuele Locatelli c6510b928d Merge remote-tracking branch 'origin/develop' into Thermocamera 2020-11-02 08:53:00 +01:00
Samuele E. Locatelli 5bc750da90 Merge remote-tracking branch 'origin/Connect-UI' into develop 2020-10-30 19:09:49 +01:00
Samuele E. Locatelli 0f44285d8a Merge branch 'Connect-UI' into Thermocamera 2020-10-30 19:08:49 +01:00
Samuele E. Locatelli 5c20450d4c Fix configurazioni x termocamera 2020-10-30 19:08:40 +01:00
Samuele E. Locatelli d1359ac605 Fix gauges 2020-10-30 18:04:08 +01:00
Samuele E. Locatelli bd03826140 Merge remote-tracking branch 'origin/Connect-UI' into develop 2020-10-30 17:47:12 +01:00
Samuele E. Locatelli b4de394af6 Fix thermocamera 2020-10-30 17:46:45 +01:00
Samuele E. Locatelli 09ebcca66c start modifica x gestione dimensione riflettori 2020-10-30 16:55:19 +01:00
Samuele Locatelli 88aaaf78a3 Merge remote-tracking branch 'gitlab.steamware/Connect-UI' into develop 2020-10-30 16:18:44 +01:00
Samuele Locatelli 97c4e1ce97 new rel 141 2020-10-30 16:18:38 +01:00
Samuele E. Locatelli a3a2f75bde fix calcolo centro in posizione video 2020-10-30 16:00:52 +01:00
Samuele Locatelli bc784720ba ver 140 2020-10-30 14:01:46 +01:00
Samuele Locatelli 1a5145fe2f Merge remote-tracking branch 'gitlab.steamware/Connect-UI' into develop 2020-10-30 13:49:40 +01:00
Samuele Locatelli d33061aeda Merge remote-tracking branch 'origin/develop' into develop 2020-10-30 13:49:32 +01:00
Samuele E. Locatelli b16dee60ba Merge remote-tracking branch 'origin/Connect-UI' into develop 2020-10-30 12:43:28 +01:00
Samuele E. Locatelli 17156418f0 Added Screenshot 2020-10-30 12:42:40 +01:00
Samuele E. Locatelli 637e691a7b Merge remote-tracking branch 'origin/Connect-UI' into Thermocamera 2020-10-30 12:30:29 +01:00
Samuele E. Locatelli adb1d0e27c fix conv floating point 2020-10-30 12:29:57 +01:00
Samuele Locatelli be0feb3705 Merge branch 'develop' into Connect-UI 2020-10-30 12:02:32 +01:00
Samuele Locatelli a1560a8e78 update rev 2020-10-30 12:02:17 +01:00
Samuele E. Locatelli b39ea3815b Fix gestioen ,/. per float ThermoCam 2020-10-30 11:58:21 +01:00
Samuele Locatelli 6b97cd1a4d Merge branch 'Connect-UI' into Thermocamera 2020-10-30 10:25:08 +01:00
Samuele Locatelli f7e5e4da3c new rel 2020-10-30 10:24:56 +01:00
Samuele Locatelli 7149f29f98 Fix ack/strobe for ThermoCam processing 2020-10-30 10:24:42 +01:00
Samuele Locatelli a3894b3561 Merge remote-tracking branch 'origin/Thermocamera' into develop 2020-10-28 12:11:47 +01:00
Samuele Locatelli f8afb1a1b4 Update x gestione (sim) della termocam su richiesta PLC 2020-10-28 12:11:03 +01:00
Samuele E. Locatelli f76b03d957 Merge remote-tracking branch 'origin/Connect-UI' into Thermocamera 2020-10-27 17:34:15 +01:00
Samuele Locatelli 7013193a75 Merge remote-tracking branch 'origin/Thermocamera' into Thermocamera 2020-10-27 17:31:19 +01:00
Samuele Locatelli d33ecbe685 update x refresh warmers post load ricetta 2020-10-27 17:31:10 +01:00
Samuele E. Locatelli 687e2d7809 Fix Thermo-prophet 2020-10-27 17:30:16 +01:00
Samuele E. Locatelli eb8cb57ae2 fix gestione null x ricette legacy 2020-10-27 16:16:36 +01:00
Samuele E. Locatelli 0392251697 Merge remote-tracking branch 'origin/Connect-UI' into Thermocamera 2020-10-27 15:59:45 +01:00
Samuele E. Locatelli bc427cf0ef cms-connect store fix 2020-10-27 15:59:35 +01:00
Samuele Locatelli 9bab587ecd Merge branch 'Thermocamera' into Connect-UI 2020-10-27 15:53:51 +01:00
Samuele Locatelli 61b94daf28 primo giro load/save ThermoCamData 2020-10-27 15:51:32 +01:00
Samuele Locatelli 4911353eb1 reset dati ThermoCam alla rich
iesta conf Risc da PLC
2020-10-27 15:08:49 +01:00
Samuele Locatelli 6cced708fd new rel 2020-10-27 14:29:53 +01:00
Samuele Locatelli 2aaf3e06d2 FIx calcolo centroidi delle resistenze 2020-10-27 14:29:47 +01:00
Samuele Locatelli 0f5cd7cf89 Merge branch 'develop' into Connect-UI 2020-10-27 12:19:27 +01:00
Samuele Locatelli 4436eb2ab0 new rel 2020-10-27 12:19:16 +01:00
Samuele Locatelli 655407a9a8 WebAPI x status TCam 2020-10-27 12:17:40 +01:00
Samuele Locatelli 00ce6c2a04 Merge remote-tracking branch 'origin/Connect-UI' into Thermocamera 2020-10-26 19:21:59 +01:00
Samuele Locatelli beaa30a24d Update vers 133 2020-10-26 19:19:41 +01:00
Samuele Locatelli 375f5556ef Update x salvataggio valori canali warmers in ricetta 2020-10-26 19:19:32 +01:00
Samuele E. Locatelli 8c79299d2f Merge remote-tracking branch 'origin/Connect-UI' into Connect-UI 2020-10-26 17:35:55 +01:00
Samuele E. Locatelli 94cc2cc80b Fix messages bounce 2020-10-26 17:35:25 +01:00
Samuele Locatelli a3f0758380 new rel 2020-10-24 18:58:33 +02:00
Samuele Locatelli 0f30b9f8fc Fix sim scrittura ThermoCam data 2020-10-24 18:58:18 +02:00
Samuele E. Locatelli 27a741e843 Merge remote-tracking branch 'origin/Connect-UI' into Connect-UI 2020-10-24 15:44:31 +02:00
Samuele E. Locatelli 2f9d847410 fix UI Thermocamera 2020-10-24 15:43:39 +02:00
Samuele Locatelli d72c6104fd Merge branch 'Thermocamera' into Connect-UI 2020-10-24 15:25:31 +02:00
Samuele Locatelli 8422f75978 New Rel 2020-10-24 15:25:10 +02:00
Samuele Locatelli 3d5703ad79 Update WebApi x gestione chiamate Termo fino a S7Net 2020-10-24 15:24:59 +02:00
Samuele Locatelli ca80c97455 Mock metodo lettura sw termocamera x simulare 2020-10-24 14:42:00 +02:00
Samuele Locatelli 5bf06971df Merge branch 'Thermocamera' into Connect-UI 2020-10-24 14:24:53 +02:00
Samuele Locatelli 44123da2c2 fix tutte letture 2020-10-24 14:24:11 +02:00
Samuele Locatelli 6f7a2675ef fix gestione lettura thermo params 2020-10-24 14:18:41 +02:00
Samuele Locatelli fc41652d44 Aggiunta commenti a termocamera... 2020-10-24 14:03:00 +02:00
Samuele Locatelli 6c3d22278a Merge remote-tracking branch 'origin/Connect-UI' into Thermocamera 2020-10-24 12:45:19 +02:00
Samuele Locatelli d7bd17f679 new rel 2020-10-24 12:45:14 +02:00
Samuele Locatelli 30a5592196 Fix lettura warmers 2020-10-24 12:44:43 +02:00
Samuele E. Locatelli 998ca04b99 Fix functions "private/public" 2020-10-24 12:41:34 +02:00
Samuele Locatelli b466235c58 Aggiunta chiamate WebApi x termocamera 2020-10-24 12:11:19 +02:00
Samuele Locatelli 735026187d Merge branch 'Connect-UI' of https://bitbucket.org/ncarminati/cms_thermo_active into Thermocamera 2020-10-24 12:00:05 +02:00
Samuele E. Locatelli 457cef0eb6 ReadCMSCOnnectCOnfig 2020-10-24 11:51:10 +02:00
Samuele E. Locatelli 36ef955bb6 Fix UI Modals 2020-10-24 11:50:52 +02:00
Samuele Locatelli e6b2b00aa5 Update metodi lettura TCam 2020-10-24 11:40:30 +02:00
Samuele Locatelli 6c4c441d65 Merge branch 'Connect-UI' of https://bitbucket.org/ncarminati/cms_thermo_active into Thermocamera 2020-10-24 10:02:33 +02:00
Samuele Locatelli 7ca2ad059f Typo + eventi lettura inseriti come segnaposto 2020-10-24 10:02:18 +02:00
Samuele E. Locatelli bf6510c149 anycpu Client 2020-10-24 10:00:04 +02:00
Samuele Locatelli eddfe40814 Merge remote-tracking branch 'origin/Connect-UI' into develop 2020-10-24 09:10:45 +02:00
Samuele Locatelli 4ac901df06 Merge remote-tracking branch 'origin/develop' into Thermocamera 2020-10-23 19:55:41 +02:00
Samuele Locatelli fad3c82b46 Proseguo configurazione livelli di accesso dati ThermoCam + refactor 2020-10-23 19:51:07 +02:00
Samuele E. Locatelli b6bd0b734c first commit runnable 2020-10-23 18:26:12 +02:00
Samuele E. Locatelli bd9682361c Merge remote-tracking branch 'origin/develop' into develop 2020-10-23 18:25:16 +02:00
Samuele E. Locatelli 8281bf0ff5 Clean some unused images 2020-10-23 18:24:36 +02:00
Nicola eb14841bfd Fix Chromium devtools 2020-10-23 18:12:03 +02:00
Nicola f8a140cdf6 DIsable transparent on Chromium 2020-10-23 17:09:45 +02:00
Nicola 358f8c9330 Fix last commit 2020-10-23 16:34:01 +02:00
Nicola 17100d2f93 Merge remote-tracking branch 'origin/Thermocamera' into develop 2020-10-23 16:31:24 +02:00
Nicola 5eb07dfaa4 Changed Client library 2020-10-23 16:23:59 +02:00
Samuele Locatelli b7984023f9 start vers con ThermoCam 0.106.128 2020-10-23 15:08:26 +02:00
Samuele Locatelli 2344940480 Merge remote-tracking branch 'origin/Thermocamera' into develop 2020-10-23 15:06:42 +02:00
Samuele Locatelli 498bfdbf34 start modifica DTO riscaldi 2020-10-23 15:06:31 +02:00
Samuele E. Locatelli 42fc70e319 Added UI to Thermocamera 2020-10-22 18:48:47 +02:00
Samuele E. Locatelli 865a09fe89 Added first part of frontend 2020-10-22 17:19:03 +02:00
Samuele E. Locatelli 44702e769a First commit of thermocamera 2020-10-22 17:02:39 +02:00
Samuele E. Locatelli cbe5e7d303 Fix Piece count CONNECT 2020-10-22 17:00:50 +02:00
Samuele E. Locatelli 510b6c8a96 Fix CMS-Connect 2020-10-22 16:15:39 +02:00
Samuele Locatelli 0a8e49082d Fix nuget packages su DB (Netwtonsoft.Json) 2020-10-22 08:29:13 +02:00
Samuele Locatelli bf5ad49bfa Merge remote-tracking branch 'origin/develop' into develop 2020-10-22 08:21:56 +02:00
Samuele Locatelli 75bfe30d68 New rel number 2020-10-22 08:21:50 +02:00
Samuele E. Locatelli 98dbb7946a predisposizione futura 2020-10-21 11:16:10 +02:00
Samuele E. Locatelli b5a024ba0e CMSConnect Fix 2020-10-21 10:54:37 +02:00
Samuele E. Locatelli e3df06bb08 Fix COnnect startup 2020-10-20 19:03:32 +02:00
Samuele E. Locatelli 946ce23f6f Added variables 2020-10-20 17:49:27 +02:00
Samuele E. Locatelli 7fd5ee32fb Fix First commit CMS-Connect 2020-10-20 14:17:31 +02:00
Samuele Locatelli c8d50d1dc7 update vers num 2020-10-20 13:03:09 +02:00
Samuele Locatelli 215452a92f Update 4.6.2 COMPILA!!! 2020-10-20 13:01:49 +02:00
Samuele Locatelli 0ada41f47d new rel 125.. 2020-10-19 19:11:44 +02:00
Samuele Locatelli 0df05264eb Added nuget package per MConnectSDK e 4.6.2 2020-10-19 19:11:29 +02:00
Samuele Locatelli 82aa2e84b9 vers 0.102.124 2020-10-19 18:47:41 +02:00
Samuele Locatelli a794402ccb Aggiunta gestione LastTCicloNetto ( denom. % tempo cerchio) 2020-10-19 18:47:20 +02:00
Samuele Locatelli 95a7a1355e update tutti i proj alla 4.6.2 2020-10-19 18:03:09 +02:00
Samuele E. Locatelli 5bfe2bfa1f Design 2020-10-16 15:18:52 +02:00
Samuele E. Locatelli b5c32938df Fix Load program 2020-10-16 12:36:03 +02:00
Samuele Locatelli 59246cab9e Merge remote-tracking branch 'origin/develop' into develop 2020-10-16 11:39:19 +02:00
Samuele Locatelli 26d0132274 update vers number 2020-10-16 11:38:26 +02:00
Samuele E. Locatelli 74ad352393 Merge remote-tracking branch 'origin/develop' into develop 2020-10-16 11:25:28 +02:00
Samuele E. Locatelli f8ccb0492a Fix combo disabled 2020-10-16 11:23:14 +02:00
Samuele E. Locatelli 5f1ca0699a Fixes 2020-10-16 11:05:23 +02:00
Samuele E. Locatelli bd4cb3504a FIx load recipe 2020-10-15 15:47:22 +02:00
Samuele Locatelli 7c2db0170c update vers numb 2020-10-15 13:14:11 +02:00
Samuele E. Locatelli dee9084d62 fix Process-start window 2020-10-15 12:56:08 +02:00
Samuele E. Locatelli f842773efc Fix a lot of UI 2020-10-15 12:07:17 +02:00
Samuele E. Locatelli b64446e68e ancora fix serverCOnfig.xml 2020-10-14 16:18:45 +02:00
Samuele E. Locatelli 34d3414f8e fix serverconfig con IP di produzioen (messo SIM) + log WinCC 2020-10-14 16:10:41 +02:00
Samuele Locatelli e303abec94 new rel 2020-10-14 15:06:01 +02:00
Samuele E. Locatelli d643f693d7 Merge remote-tracking branch 'origin/develop' into develop 2020-10-14 14:59:54 +02:00
Samuele E. Locatelli 75fe84861a Fix Dashboard 2020-10-14 14:59:30 +02:00
Samuele Locatelli fdaf80247f typo static x boolean 2020-10-14 12:24:43 +02:00
Samuele Locatelli 83393d4aa1 Merge remote-tracking branch 'origin/develop' into develop 2020-10-14 12:23:30 +02:00
Samuele Locatelli 8cfa418a75 vers 119: semaforo x sync update DB dei dati prod 2020-10-14 12:22:50 +02:00
Samuele E. Locatelli 3ed6d88523 Merge remote-tracking branch 'origin/develop' into develop 2020-10-14 10:58:06 +02:00
Samuele E. Locatelli 8822d1e9d2 Fix Config 2020-10-14 10:57:40 +02:00
Samuele Locatelli f1f00e3326 vers 118: dati prod panel SOLO SE ho fatto 1 pezzo 2020-10-14 10:34:43 +02:00
Samuele E. Locatelli 42a6eaa77f fix calcolo inizio lotto da tciclo (/1000) 2020-10-14 09:31:04 +02:00
Samuele Locatelli 06ef9d377d Merge remote-tracking branch 'origin/develop' into develop 2020-10-14 09:04:11 +02:00
Samuele Locatelli 5b9f771d06 vers 117 2020-10-14 09:03:26 +02:00
Samuele Locatelli 49de435bab cambio gestione epsilon per valori gauges (x10) 2020-10-14 09:03:04 +02:00
Samuele Locatelli e8c55ada85 update gestione data inizio a null fino a primo pezzo (+ fix tcGross) 2020-10-14 08:51:24 +02:00
Samuele E. Locatelli c2cd9adef8 Fix Dashboards UI 2020-10-13 18:10:57 +02:00
Samuele E. Locatelli df0c74540f check modifica num riscaldi + cambio ordine check x save prod 2020-10-13 16:27:05 +02:00
Samuele Locatelli 5d3d1f45f8 new rel 116 2020-10-13 16:10:37 +02:00
Samuele Locatelli 57e96b9eb9 update x refresh prodPanel 2020-10-13 16:10:27 +02:00
Samuele Locatelli 795af144c1 Merge remote-tracking branch 'origin/develop' into develop 2020-10-13 14:45:06 +02:00
Samuele Locatelli 075a7e2e8d new rel 115 2020-10-13 14:45:00 +02:00
Samuele Locatelli 523300e5e1 refresh periodo lettura 2020-10-13 14:43:55 +02:00
Samuele E. Locatelli 0e9d0acfcb Fix Warmers behaviour 2020-10-13 11:14:12 +02:00
Samuele E. Locatelli c7c8564aff Merge remote-tracking branch 'origin/develop' into develop 2020-10-13 10:03:08 +02:00
Samuele E. Locatelli cadf52012c Fix keyboard behaviour 2020-10-13 10:01:35 +02:00
Samuele Locatelli d3d49c6bf9 Merge remote-tracking branch 'origin/develop' into develop 2020-10-12 11:53:54 +02:00
Samuele Locatelli 32409742e8 new rel 2020-10-12 11:53:44 +02:00
Samuele E. Locatelli 3c329bb5c8 Fix loader 2020-10-12 11:49:26 +02:00
Samuele E. Locatelli 542769af1c Fix Translations 2020-10-12 11:25:52 +02:00
Samuele E. Locatelli 66564fde66 Fix UI Caricatore 2020-10-12 11:13:17 +02:00
Samuele E. Locatelli f3e10a223b Fix Translations 2020-10-10 16:58:19 +02:00
Samuele E. Locatelli edd1e7cf47 Fix loader Behaviour (SVG in progress) 2020-10-10 16:46:30 +02:00
Samuele E. Locatelli 19a57d4ba7 FIx Pirometro behaviour 2020-10-10 15:17:19 +02:00
Samuele E. Locatelli a35b7485fb Fix riscaldi behaviour 2020-10-10 12:53:40 +02:00
Samuele E. Locatelli 3a991b7d5e Fix Auto behaviour 2020-10-09 17:37:25 +02:00
Samuele E. Locatelli 47f2b80abd Fix preriscaldi UI 2020-10-09 15:49:38 +02:00
Samuele Locatelli 339f590010 Merge remote-tracking branch 'origin/develop' into develop 2020-10-09 15:31:40 +02:00
Samuele Locatelli 894c732c61 fix lettura preriscaldi 2020-10-09 15:30:23 +02:00
Samuele E. Locatelli 60e144968f FIx Barriers Image 2020-10-09 15:23:36 +02:00
Samuele Locatelli 685db9d4da Merge remote-tracking branch 'origin/develop' into develop 2020-10-09 12:54:02 +02:00
Samuele E. Locatelli 6d52d14f58 Fix UI Dashboard 2020-10-09 12:52:51 +02:00
Samuele Locatelli 8f48a05914 Fix x forzare rilettura TUTTO da WebAPI 2020-10-09 12:52:43 +02:00
Samuele E. Locatelli acb12da71a Fix Pirometro View 2020-10-09 11:21:17 +02:00
Samuele E. Locatelli 07d23bd055 Fix slider behaviour 2020-10-09 10:40:16 +02:00
Samuele Locatelli 4b5f406849 new rel number 2020-10-08 19:08:48 +02:00
Samuele Locatelli 491321a509 Merge remote-tracking branch 'origin/develop' into develop 2020-10-08 19:08:28 +02:00
Samuele E. Locatelli 0d6b42c356 Added loader on setup pages 2020-10-08 19:06:01 +02:00
Samuele E. Locatelli 592984bd22 Fix UI components 2020-10-08 18:09:46 +02:00
Samuele E. Locatelli ccb3054ec7 Merge remote-tracking branch 'origin/develop' into develop 2020-10-08 18:04:01 +02:00
= 79b1fc2f24 fix update recipe 2020-10-08 15:28:34 +02:00
Samuele Locatelli 6ffd356eba fix richieste hist impossibili (start<0) 2020-10-07 13:03:27 +02:00
Samuele Locatelli a4f6ffcc28 update vers numb 2020-10-05 15:51:48 +02:00
Samuele Locatelli 704049c7a7 Merge remote-tracking branch 'origin/develop' into develop 2020-10-05 15:51:17 +02:00
= 91ac201873 Merge remote-tracking branch 'CMS/develop' into develop 2020-10-05 15:49:40 +02:00
= 56ee15521d fix numero negativo in progresso 2020-10-05 15:49:36 +02:00
Samuele Locatelli 5180881114 refresh conf x prod 2020-10-05 15:40:04 +02:00
Samuele E. Locatelli 6144554b4e Merge remote-tracking branch 'origin/develop' into develop 2020-10-05 15:12:52 +02:00
Samuele E. Locatelli e4ed4b6b0f update xml softkeys 2020-10-05 15:12:42 +02:00
Samuele Locatelli 8769127f91 set vers 0.99 2020-10-05 15:10:36 +02:00
Samuele Locatelli f0ee892ce5 typo 2020-10-05 15:08:32 +02:00
Samuele Locatelli 23bcf80ba7 Merge remote-tracking branch 'origin/develop' into develop 2020-10-05 15:05:51 +02:00
Samuele Locatelli cb16049c72 typo, start vers 1 2020-10-05 15:05:40 +02:00
= 6c834482a4 fix gauge & dashboard 2020-10-05 15:02:34 +02:00
= 51e682c166 fix setpointhmi invalid 2020-10-05 14:45:43 +02:00
= 0ec2d5e931 disgno formato 2020-10-05 14:36:07 +02:00
= 4e431a7be7 dashboard e statistiche 2020-10-05 11:43:37 +02:00
= e60b47560e fix naming dei files e dashboard con cestino 2020-10-05 11:10:58 +02:00
= 3c05f497ef Merge remote-tracking branch 'CMS/develop' into develop 2020-10-03 18:36:29 +02:00
= ab9f65391e dashboar grafico e legenda 2020-10-03 18:32:57 +02:00
= d207f82cc1 dashboard legend 2020-10-03 18:08:55 +02:00
Samuele E. Locatelli fd98b2fabb Merge remote-tracking branch 'origin/develop' into develop 2020-10-03 16:26:23 +02:00
Samuele E. Locatelli dfc2eca2c2 UI preheating complete 2020-10-03 16:25:46 +02:00
Samuele Locatelli f7cc7c202b vers 106: senza schedTask --> disabled 7gg 2020-10-03 15:01:37 +02:00
Samuele Locatelli 164ffffc95 Merge remote-tracking branch 'origin/develop' into develop 2020-10-03 14:55:46 +02:00
Samuele Locatelli 6ca90f00bd Implementata gestione load/save SchedTask su file in area TMP 2020-10-03 14:55:38 +02:00
Samuele E. Locatelli bb24cdd2cc Merge remote-tracking branch 'origin/develop' into develop 2020-10-03 14:45:38 +02:00
Samuele E. Locatelli 4fcc0a52fb FIx Preriscaldi UI WIP 2020-10-03 14:42:56 +02:00
Samuele Locatelli 9f1e9a9b6a Completato metodi x mockup lettura SchedTask 2020-10-03 13:16:40 +02:00
Samuele Locatelli c881dae49b bozza gestioen SchedTask 2020-10-03 13:07:19 +02:00
Samuele Locatelli 4aa4fbb40d Add model x sched task 2020-10-03 12:42:08 +02:00
Samuele Locatelli 7ad55f3f9d new rel 2020-10-03 12:00:39 +02:00
Samuele Locatelli 0f63c012c8 Merge remote-tracking branch 'origin/develop' into develop 2020-10-03 12:00:16 +02:00
Samuele Locatelli eefb9e751f Completamento gestione thread setpointHMI invalidati 2020-10-03 12:00:11 +02:00
Samuele Locatelli bf27fb3ce1 COmpletata bozza gestione setpointHmi invalidato 2020-10-03 11:48:37 +02:00
Samuele Locatelli 6e5b5cbd00 NEW command parameters from PLC 2020-10-03 10:50:12 +02:00
= 41830e6b9d fix update recipe 2020-10-03 07:49:50 +02:00
Samuele Locatelli 60a78f434f update vers numb 2020-10-02 12:12:04 +02:00
Samuele Locatelli 3ad4905de3 Merge remote-tracking branch 'origin/develop' into develop 2020-10-02 09:36:16 +02:00
Samuele Locatelli 840491fcb3 Merge remote-tracking branch 'origin/develop' into develop 2020-10-02 09:30:34 +02:00
Samuele Locatelli 50a1d2708c refresh vue from build 2020-10-02 09:30:23 +02:00
Samuele Locatelli 7ca411b9a1 Fix condition for ProdInfoUpdate calc 2020-10-02 09:30:15 +02:00
Samuele E. Locatelli ebf1bcd62e fix translations 2020-10-02 09:29:37 +02:00
Samuele E. Locatelli 6f4128ce2f Merge remote-tracking branch 'origin/develop' into develop 2020-10-02 09:05:11 +02:00
Samuele E. Locatelli c959946e1d Fix SSL connections 2020-10-02 09:04:24 +02:00
Samuele Locatelli 7d6e934b2a Merge remote-tracking branch 'origin/develop' into develop 2020-10-02 08:20:07 +02:00
Samuele E. Locatelli 12b5525fb5 Fix translations 2020-10-01 17:57:15 +02:00
= cc90b8422a Merge remote-tracking branch 'CMS/develop' into develop 2020-10-01 16:58:39 +02:00
= fc5a5f9c9c fix labels reactivity 2020-10-01 16:57:58 +02:00
Samuele E. Locatelli e2089e6d5a Merge remote-tracking branch 'origin/develop' into develop 2020-10-01 16:54:56 +02:00
Samuele E. Locatelli 494627ddfc translations 2020-10-01 16:53:43 +02:00
= 86cef70db6 fix chiamate multiple dashboard e formato remaining time 2020-10-01 16:29:46 +02:00
Samuele E. Locatelli 3ef99c0e0b Fix labels 2020-10-01 16:12:13 +02:00
Samuele E. Locatelli 269e8873aa setup correctly languages 2020-10-01 15:29:32 +02:00
= d58aae4e61 fix conferma ricetta 2020-10-01 11:00:19 +02:00
= 9e4188bf90 fix tempo rimanente 2020-10-01 10:54:36 +02:00
= 21a3c1fc1c fix tempo rimanente 2020-10-01 10:27:38 +02:00
= 095a98daf1 vuex version 2020-10-01 10:11:19 +02:00
= daf0c77f04 fix gantt footer font size 2020-10-01 09:55:48 +02:00
= 682f84b1d7 fix rendering valuation bottleneck 2020-10-01 09:49:12 +02:00
Samuele Locatelli ee846a4998 fix condizioni update invio 2020-09-30 21:49:36 +02:00
Samuele Locatelli 94da9f2aad start rel 103 2020-09-30 21:19:15 +02:00
Samuele E. Locatelli 02ba937d02 Fix styles 2020-09-30 12:39:36 +02:00
Samuele E. Locatelli 515c4d14b9 commit altra modifica Nicola... 2020-09-29 17:40:47 +02:00
Samuele E. Locatelli f0985fa0d6 Merge remote-tracking branch 'origin/develop' into develop 2020-09-29 16:48:04 +02:00
Samuele E. Locatelli 001877453a Fix Folder managing 2020-09-29 16:47:28 +02:00
Samuele Locatelli 39acc17b98 Update modello x fornire cicli pre-riscaldo 2020-09-29 16:07:32 +02:00
Samuele Locatelli 130cbceaed Fix calcolo tempo stimato 2020-09-29 15:25:13 +02:00
Samuele Locatelli 657072ee90 Aggiunta metodi retrieve asc/desc 2020-09-29 15:25:00 +02:00
Samuele Locatelli e53443ffe3 Merge remote-tracking branch 'origin/develop' into develop 2020-09-29 12:37:29 +02:00
Samuele Locatelli bd8577b32e Fix calcolo fine stimata (sec --> minuti) 2020-09-29 12:37:23 +02:00
Samuele Locatelli 14d91f173b start rel 102 2020-09-29 12:37:10 +02:00
Samuele E. Locatelli 045e0b62d8 Folder editor WIP 2020-09-29 10:53:23 +02:00
Samuele E. Locatelli af8820ba4e Fix Buttons style 2020-09-29 10:27:36 +02:00
Samuele E. Locatelli 5e2b482098 added activated status on setup-buttons 2020-09-29 10:10:42 +02:00
Samuele Locatelli 2d4c585a49 Merge remote-tracking branch 'origin/develop' into develop 2020-09-28 19:14:12 +02:00
Samuele Locatelli 5491ea4abd fix calcoli stima durata e tempi ciclo x casi riscaldo ed in generale... 2020-09-28 19:13:54 +02:00
Samuele Locatelli 6e95f35295 start new rel 2020-09-28 19:13:15 +02:00
Samuele E. Locatelli 5acf57c494 Merge remote-tracking branch 'origin/develop' into develop 2020-09-28 17:28:21 +02:00
Samuele E. Locatelli 06f15d5533 fix load-program WIP 2020-09-28 17:27:22 +02:00
= 456eb99262 Merge remote-tracking branch 'CMS/develop' into develop 2020-09-28 16:39:31 +02:00
= 5e5b5b02d4 fix dashboard 2020-09-28 16:38:54 +02:00
Samuele E. Locatelli 472ed086eb Merge remote-tracking branch 'origin/develop' into develop 2020-09-28 16:23:58 +02:00
Samuele E. Locatelli ead744cb07 fix crystallisation box 2020-09-28 16:23:12 +02:00
= 496d64d53a Merge remote-tracking branch 'CMS/develop' into develop 2020-09-28 16:21:36 +02:00
= 82583c8387 svuoto lista done 2020-09-28 16:21:23 +02:00
Samuele E. Locatelli 2039417194 fix options-cycle 2020-09-28 16:16:31 +02:00
= 3a9c801eec pulizia ciclo... 2020-09-28 16:09:51 +02:00
= 96d7a571ac barbatrucco per la gestione della keyboard senza refresh 2020-09-28 16:01:11 +02:00
= 31ae8a93b5 Merge remote-tracking branch 'CMS/develop' into develop 2020-09-28 15:05:24 +02:00
= 93e48d5fd8 fix modal 2020-09-28 15:05:11 +02:00
Samuele E. Locatelli 72bcdeb301 Fix first page to Process 2020-09-28 15:00:30 +02:00
= 958b97814a Merge remote-tracking branch 'CMS/develop' into develop 2020-09-28 14:36:33 +02:00
= 63e7629a72 fix pan zoom 2020-09-28 14:36:23 +02:00
Samuele Locatelli c0c97cc0c7 Merge remote-tracking branch 'origin/develop' into develop 2020-09-28 13:09:00 +02:00
Samuele Locatelli fc9a727118 typo + DB (insert or update) solo con BIT 2020-09-28 13:08:50 +02:00
= 7d57c489d1 Merge remote-tracking branch 'CMS/develop' into develop 2020-09-28 12:52:34 +02:00
= 4bcf940134 hub setpoint hmi 2020-09-28 12:51:28 +02:00
Samuele Locatelli c7052ac390 Salvataggio spostamento ordine load recipe 2020-09-28 11:21:37 +02:00
Samuele Locatelli 7497f01e7a FIx ordine scrittura conferma HMI e mod recipe UI 2020-09-28 10:52:47 +02:00
Samuele Locatelli 024f5369e8 typo 2020-09-28 10:52:27 +02:00
Samuele Locatelli a990dcf712 inizio vers 0.20.100 2020-09-28 10:51:50 +02:00
= a382a313e2 fix zoom 2020-09-28 10:24:29 +02:00
= 39f5be6d9c fix delay disegno riscaldi 2020-09-28 10:11:01 +02:00
Samuele E. Locatelli cead2275eb Merge remote-tracking branch 'origin/develop' into develop 2020-09-28 09:20:07 +02:00
Samuele E. Locatelli e808411cb2 Merge branch 'featue/Axes' into develop 2020-09-28 09:18:13 +02:00
= da8744de56 fix dashboard time layut 2020-09-28 09:18:12 +02:00
Samuele E. Locatelli 0ea0fbd8d4 fix client problems and slider behaviour 2020-09-28 09:16:54 +02:00
= 4d31463688 tempo trascorso + production hub 2020-09-28 09:16:06 +02:00
Samuele Locatelli 7086c0a83f Merge remote-tracking branch 'origin/develop' into featue/Axes 2020-09-25 11:47:17 +02:00
Samuele Locatelli c5bda8d774 revisione gest sample periods configurabili da XML 2020-09-25 11:46:55 +02:00
Samuele Locatelli c0bc78cb5e update conf dei periodi sample/sleep 2020-09-25 11:46:28 +02:00
Samuele Locatelli 5504019044 new rel 2020-09-25 11:46:16 +02:00
Samuele Locatelli 08d48f6044 modifica calcoli equality x uso epsilon a 0.1 2020-09-25 11:46:10 +02:00
Samuele Locatelli a554e42f06 Gestione lettura conf periodi sampling + setup x cicli principali del periodo di sampling 2020-09-25 09:49:00 +02:00
Samuele Locatelli b4fe6f0c05 Modifica conf server x gestione sampling interval 2020-09-25 09:48:41 +02:00
= 5f117de287 Merge remote-tracking branch 'CMS/develop' into develop 2020-09-25 09:19:35 +02:00
= 89e0e90166 fix hub logging 2020-09-25 09:19:10 +02:00
Samuele E. Locatelli 7a6d6aad56 update DTO model x ridurre variazione a epsilon * 100 2020-09-24 19:34:34 +02:00
Samuele E. Locatelli c85ed17448 Merge branch 'develop' of https://bitbucket.org/ncarminati/cms_thermo_active into develop 2020-09-24 18:00:17 +02:00
Samuele E. Locatelli a74d2abb19 fix slider behaviour 2020-09-24 17:59:15 +02:00
= 91fafd459b fix riscaldi resize 2020-09-24 17:51:32 +02:00
= 5fead0145c Merge remote-tracking branch 'CMS/develop' into develop 2020-09-24 17:35:13 +02:00
= 8f97eeecfd autocompose a 0 fix 2020-09-24 17:35:02 +02:00
Samuele E. Locatelli 1cadbfd640 Merge remote-tracking branch 'origin/develop' into develop 2020-09-24 17:24:02 +02:00
NICOLA CARMINATI c6ee7a74b0 Fix riscaldi & softkey 2020-09-24 17:23:04 +02:00
Samuele E. Locatelli 98f64f57e5 Merge branch 'featue/Axes' into develop 2020-09-24 17:21:33 +02:00
Samuele E. Locatelli 287e5d1ab8 Fix client 2020-09-24 17:06:44 +02:00
Samuele E. Locatelli 88e1c64c3b FIx "salva con nome" 2020-09-24 17:06:19 +02:00
Samuele Locatelli ad3a91ad1c new rel 98 2020-09-24 11:03:17 +02:00
= fb9f1c4b72 fix assi 2020-09-24 10:47:14 +02:00
= b8e3cd7ef0 axis 2020-09-24 10:35:17 +02:00
= 074df56d4d Merge remote-tracking branch 'CMS/develop' into develop 2020-09-24 09:03:20 +02:00
= f4d226fc2b fix gaude info 2020-09-24 09:03:07 +02:00
Samuele E. Locatelli 790652a8c8 Merge remote-tracking branch 'origin/develop' into featue/Axes 2020-09-24 08:49:35 +02:00
Samuele E. Locatelli 816d49a08c pulizia doppia gestione eccezione 2020-09-24 08:49:17 +02:00
Samuele Locatelli bc7116cf5d Merge remote-tracking branch 'origin/develop' into featue/Axes 2020-09-24 08:47:49 +02:00
Samuele Locatelli 617bb783d2 fix invio gauges (eliminato commento) 2020-09-24 08:47:38 +02:00
= 26f225fabc Merge remote-tracking branch 'CMS/develop' into develop 2020-09-24 08:30:44 +02:00
Samuele Locatelli ac1c8f7067 Merge branch 'featue/Axes' into develop 2020-09-23 23:25:01 +02:00
Samuele Locatelli 7238579305 update vers numb 2020-09-23 23:24:47 +02:00
Samuele Locatelli f13cadd145 Fix errata duplicazione invio dati assi, fix anche x GAUGES e dati ricetta 2020-09-23 23:24:19 +02:00
Samuele Locatelli 216980b923 @Paolo: hub.ts: track info assi (log su console) 2020-09-23 23:24:01 +02:00
Samuele Locatelli 149205e998 Merge branch 'featue/Axes' into develop 2020-09-23 20:03:36 +02:00
Samuele Locatelli ffd24f2539 COmpletata gestione dll core assi thermo 2020-09-23 20:03:11 +02:00
Samuele Locatelli 147b84ab19 NC config per lettura assi (per ora 0 da core_library) 2020-09-23 19:04:16 +02:00
Samuele Locatelli ec9e23071f pulizia commenti + conf lettura ogni 200ms 2020-09-23 18:15:21 +02:00
Samuele Locatelli 85aebf6385 Start rel 95 con VERA lettura assi 2020-09-23 18:12:57 +02:00
Samuele Locatelli 17eabc16da Merge remote-tracking branch 'origin/develop' into develop 2020-09-23 18:06:18 +02:00
Samuele Locatelli 1faba838a7 Pacchetto modifiche x nuovo DTO info assi 2020-09-23 18:06:06 +02:00
Samuele Locatelli 12378bdac7 start new rel 94 2020-09-23 18:05:49 +02:00
= 611fcb940d fix layout 2020-09-23 17:51:36 +02:00
= ab345f7f99 folder create 2020-09-23 17:49:03 +02:00
= e22a34a34e folder & file management 2020-09-23 17:15:18 +02:00
= 1cb0605d41 Merge remote-tracking branch 'CMS/develop' into develop 2020-09-23 16:18:57 +02:00
= 1b8e84dd30 layout 2020-09-23 16:18:48 +02:00
= 9d8a3cd1ea layout assi 2020-09-23 16:15:56 +02:00
Samuele Locatelli ed9f33e5e8 Merge remote-tracking branch 'origin/develop' into develop 2020-09-23 08:37:04 +02:00
Samuele Locatelli fa04f490dc new rel 2020-09-23 08:36:57 +02:00
= 4e625e71c5 fix cicli.. 2020-09-23 08:31:23 +02:00
Samuele E. Locatelli fa9bed3196 fix gestione "*" modificato in caso di annulla causa "rimbalzo reset" 2020-09-22 15:05:30 +02:00
Samuele E. Locatelli 8b645e01d1 Merge remote-tracking branch 'origin/develop' into develop 2020-09-22 14:12:23 +02:00
Samuele Locatelli a8fdd44497 vers 92 2020-09-22 14:09:55 +02:00
Samuele Locatelli f5d1aa04f1 Merge remote-tracking branch 'origin/develop' into featue/Axes 2020-09-22 14:09:37 +02:00
Samuele E. Locatelli c4468e62d8 added Utilities and Users manager 2020-09-22 14:01:58 +02:00
= bf4487909c event gantt 2020-09-22 12:50:36 +02:00
Samuele Locatelli 6dc778bbf3 ricompilazione x refresh vue 2020-09-22 11:59:27 +02:00
Samuele Locatelli 0fc43251bc Merge branch 'develop' into featue/Axes 2020-09-22 11:17:00 +02:00
Samuele Locatelli 188ce800e8 FIx gestione starred "sovrascritta" in canceledit 2020-09-22 11:16:47 +02:00
Samuele Locatelli a7db8bd047 Fix gestione nome ricetta in LOAD 2020-09-22 10:28:27 +02:00
Samuele Locatelli a6ee88e4e7 start new rel 0.16.60 2020-09-22 10:09:36 +02:00
Samuele Locatelli 75d881edf6 Merge remote-tracking branch 'origin/develop' into develop 2020-09-22 10:09:11 +02:00
Samuele Locatelli 5f95125ae2 Fix x localhost test 2020-09-22 10:09:01 +02:00
Samuele Locatelli 354bf0df6d COrrezione conf assi come da call con F.Bolis 2020-09-22 10:08:10 +02:00
= ff6a7a1962 fix gantt posizioning on zoomout 2020-09-22 09:35:06 +02:00
= d079e187e1 Merge remote-tracking branch 'CMS/develop' into develop 2020-09-22 09:24:52 +02:00
= e21c13e7c8 asterisco 2020-09-22 09:24:25 +02:00
Samuele Locatelli 3c3ca13af3 Merge branch 'develop' into featue/Axes 2020-09-21 18:23:56 +02:00
Samuele Locatelli 2de6e9aae2 ver 89 2020-09-21 18:23:50 +02:00
Samuele E. Locatelli 87f55952f8 invio immediato cambio nome ricetta 2020-09-21 18:22:04 +02:00
Samuele E. Locatelli 843aa43240 Merge remote-tracking branch 'origin/develop' into develop 2020-09-21 17:58:46 +02:00
= 65c7379111 fix changed data 2020-09-21 17:55:11 +02:00
Samuele E. Locatelli c46f7a531a fix invio immediato nome ricetta sul salva con nome & co... 2020-09-21 17:50:28 +02:00
Samuele E. Locatelli 87494489f6 Merge remote-tracking branch 'origin/develop' into develop 2020-09-21 17:21:22 +02:00
Samuele E. Locatelli ca45edab94 Saltata verifica "in fiducia" nel debug degli errori SE visibili 2020-09-21 17:18:12 +02:00
Samuele Locatelli ca318a255e Merge remote-tracking branch 'origin/develop' into develop 2020-09-21 17:17:30 +02:00
Samuele E. Locatelli 3aae8b0f9b added "duplicate recipe" and changed warmers color 2020-09-21 17:08:01 +02:00
= 5951ab295c fix save as image 2020-09-21 09:02:02 +02:00
Samuele Locatelli 2ec4598482 Merge remote-tracking branch 'origin/develop' into develop 2020-09-21 07:44:17 +02:00
Samuele Locatelli 6730de1833 COmmentata aprte assi non testata 2020-09-21 07:43:57 +02:00
Samuele E. Locatelli 9c5644c52b Merge remote-tracking branch 'origin/develop' into develop 2020-09-21 07:21:54 +02:00
Samuele E. Locatelli 1753027afd fixes on Recipe 2020-09-20 16:18:26 +02:00
Samuele Locatelli a2c5d327db inizio aggiunta gestione info assi 2020-09-20 12:54:08 +02:00
Samuele Locatelli 04d94b572c Ok signal-r x NOMI ASSI e tipo (da conf) 2020-09-20 12:14:17 +02:00
Samuele Locatelli 134981c2d7 Aggiunta metodi preliminari gestione dati ASSI 2020-09-20 11:54:38 +02:00
Samuele Locatelli 5da1afa0eb Prosegue gestione dati assi (da conf con XML) 2020-09-20 11:54:23 +02:00
Samuele Locatelli e42a231989 Aggiunta xsd x conf assi + update conf assi 2020-09-20 11:53:46 +02:00
Samuele Locatelli e509c83b90 start new rel 88 2020-09-20 10:19:55 +02:00
Samuele Locatelli 79f28bc415 Update datamodel in OUT 2020-09-20 10:19:22 +02:00
Samuele Locatelli 2c94761966 Merge remote-tracking branch 'origin/develop' into develop 2020-09-18 18:22:23 +02:00
Samuele Locatelli 44c6e48398 new rel 2020-09-18 18:11:52 +02:00
Samuele Locatelli 6c1aa037d5 Invio starred modifica ricetta con signal-r 2020-09-18 18:11:35 +02:00
= 3a8f702a87 Merge remote-tracking branch 'CMS/develop' into develop 2020-09-18 17:17:35 +02:00
= b21592609b modal save confirm 2020-09-18 17:17:23 +02:00
Samuele Locatelli 5a4e86f861 Merge remote-tracking branch 'origin/develop' into develop 2020-09-18 16:57:52 +02:00
Samuele E. Locatelli 0e41eb6033 fix apth x browser locale JS 2020-09-18 16:57:13 +02:00
Samuele E. Locatelli 11100544c9 aggiunta zip demo recipes 2020-09-18 16:57:00 +02:00
Samuele Locatelli 42069a2cb2 Update config parametri opzionali 2020-09-18 16:46:24 +02:00
Samuele Locatelli 5c1777a4b6 Merge remote-tracking branch 'origin/develop' into develop 2020-09-18 11:02:51 +02:00
Samuele Locatelli de81cde6ec new rel 86 2020-09-18 11:02:37 +02:00
= 7c47415d65 fix autocomplete con valori stringa.. 2020-09-18 10:25:13 +02:00
= dcceb55652 Merge remote-tracking branch 'CMS/develop' into develop 2020-09-18 09:43:40 +02:00
= 247bf212ae Merge remote-tracking branch 'CMS/develop' into develop 2020-09-18 09:43:32 +02:00
= f5b2745a87 warmers.. 2020-09-18 09:41:19 +02:00
Samuele Locatelli 6f46e5a9a5 Merge branch 'develop' into new/M156 2020-09-18 09:39:23 +02:00
Samuele Locatelli 1c0f161640 update config controller x gestione unità di misura 2020-09-18 09:36:02 +02:00
Samuele Locatelli 7a66c3d63d aggiunta unità di misura in serverConfig 2020-09-18 09:35:34 +02:00
= 23af55e1e1 riscaldi 2020-09-17 17:23:43 +02:00
Samuele Locatelli 8e3f3ec5e0 new rel 2020-09-17 13:00:59 +02:00
Samuele Locatelli cf96c67a3c Merge remote-tracking branch 'origin/develop' into develop 2020-09-17 12:55:35 +02:00
Samuele Locatelli ae8f931372 Gestione lettura ed export config parametri lastra 2020-09-17 12:55:10 +02:00
Samuele Locatelli 20d9bf716d Aggiunta XML x conf parametri lastra 2020-09-17 12:54:58 +02:00
Samuele E. Locatelli 2f6f308f19 Merge remote-tracking branch 'origin/develop' into develop 2020-09-17 12:43:59 +02:00
= 7fd2b6ca30 Merge remote-tracking branch 'CMS/develop' into develop 2020-09-17 12:07:29 +02:00
= aff9643216 riscaldi inferiori autocomposizione 2020-09-17 12:05:17 +02:00
= 465b09c176 riscaldi autocomposizione 2020-09-17 12:02:18 +02:00
Samuele E. Locatelli 1efde033b2 Update input x nuovo tipo finirestra popup 2020-09-17 11:52:15 +02:00
NICOLA CARMINATI 4a609bc35b Other behaviour fixes 2020-09-17 11:46:27 +02:00
NICOLA CARMINATI 88aa48a3d8 Fix M156 and modal Behaviour 2020-09-17 11:40:02 +02:00
Samuele E. Locatelli b280dca20f Merge remote-tracking branch 'origin/develop' into develop 2020-09-17 10:13:36 +02:00
Samuele E. Locatelli a6d6041b06 aggiunta finestra 2 2020-09-17 10:13:05 +02:00
Samuele E. Locatelli 46b7b02da9 fix check inp button null 2020-09-17 10:01:20 +02:00
= 98d3798824 fix toggle on error color 2020-09-16 16:00:26 +02:00
= dd7e9b9e19 Merge remote-tracking branch 'CMS/develop' into develop 2020-09-16 15:47:23 +02:00
= 550b448dc2 disegno piastra... mancano le dimensioni dei riscaldi 2020-09-16 15:46:42 +02:00
= afaa8f3576 fix numeric unit of measure 2020-09-16 15:46:14 +02:00
NICOLA CARMINATI 328d2ed176 Fix M155 merge 2020-09-16 12:56:32 +02:00
NICOLA CARMINATI 9bd1faf083 Merge branch 'develop' of https://bitbucket.org/ncarminati/cms_thermo_active into develop
# Conflicts:
#	Thermo.Active/wwwroot/src/app_modules/machine/components/m155-dialog.ts
#	Thermo.Active/wwwroot/src/app_modules/machine/components/m155-dialog.vue
2020-09-16 10:49:08 +02:00
NICOLA CARMINATI 6526a20d5c Fix m155 2020-09-16 10:47:21 +02:00
NICOLA CARMINATI 9f4adce366 Added M155 2020-09-16 10:46:24 +02:00
= 7d29511fdb click fuori da combo e paddle 2020-09-16 10:30:56 +02:00
= e28b736ebf fix keyboard 2020-09-16 09:54:23 +02:00
= 383b5417d4 Merge remote-tracking branch 'CMS/develop' into develop 2020-09-15 14:24:24 +02:00
= 3f9b2a8c8e modali m155 m156 2020-09-15 14:24:07 +02:00
Samuele Locatelli 382d961761 Merge remote-tracking branch 'origin/develop' into develop 2020-09-15 13:04:28 +02:00
Samuele Locatelli ae3294ca46 new rel 82 2020-09-15 13:04:18 +02:00
NICOLA CARMINATI 1f75da9bef Fix Buttons UI 2020-09-15 12:38:08 +02:00
NICOLA CARMINATI ed8400619c Merge branch 'develop' of https://bitbucket.org/ncarminati/cms_thermo_active into develop 2020-09-15 12:24:47 +02:00
NICOLA CARMINATI 67fcba0053 Added icons to the footer buttons 2020-09-15 12:23:47 +02:00
= a7548a6e78 cursore ciclo 2020-09-15 11:34:45 +02:00
= 90fe35fc1c Merge remote-tracking branch 'CMS/develop' into develop 2020-09-15 11:16:12 +02:00
= 4737d22a2f fix gantt to setup 2020-09-15 11:16:01 +02:00
Samuele Locatelli 7a9dca8807 Merge remote-tracking branch 'origin/develop' into develop 2020-09-15 09:23:04 +02:00
Samuele Locatelli 2dfc9e293f new rel 2020-09-15 09:22:50 +02:00
Samuele Locatelli 3cca07422c Unità di misura: messa in DTO da NCAdapter (era commentata) 2020-09-15 09:22:32 +02:00
NICOLA CARMINATI af4870d99d Gestione +/- e setvalue Riscaldi 2020-09-14 18:26:16 +02:00
Samuele Locatelli 7b6ee330bb abbassato sample period x produzione (500 --> 250ms) 2020-09-14 13:26:51 +02:00
Samuele Locatelli 8542b6c565 Merge branch 'develop' into new/dirSaveMgt 2020-09-12 17:25:04 +02:00
Samuele Locatelli 3c65bced53 fix letter case per xsd 2020-09-12 17:24:52 +02:00
Samuele Locatelli 95d29cc716 Aggunta files di config XML/XSD 2020-09-12 17:19:55 +02:00
Samuele Locatelli bcde0c8d86 Completato inserimento metodi x M156 2020-09-12 17:09:11 +02:00
Samuele Locatelli 76deabb93b Aggiunta preliminare metodi x gestione M156 2020-09-12 16:41:29 +02:00
Samuele Locatelli bfc99fc826 Merge branch 'develop' into new/dirSaveMgt 2020-09-10 17:26:53 +02:00
Samuele Locatelli cb28589f79 Gestione calcolo modifica parametri ricette + fix livedata save (tested) 2020-09-10 17:26:37 +02:00
Samuele Locatelli 8cae6edff2 start new rel 2020-09-10 15:33:45 +02:00
Samuele Locatelli 34a71b5784 Merge branch 'develop' into new/dirSaveMgt 2020-09-10 13:15:53 +02:00
Samuele Locatelli 455ddd660c new rel x SIM 2020-09-10 13:15:42 +02:00
Samuele Locatelli bbada3a929 update x fix calcolo tempo ciclo, calcolo durata, inizio lotto... 2020-09-10 13:15:29 +02:00
Samuele Locatelli 0a00ba3eae Merge remote-tracking branch 'origin/develop' into new/dirSaveMgt 2020-09-10 12:29:13 +02:00
Samuele Locatelli 7a3a068908 new rel 2020-09-10 12:21:13 +02:00
= 2a3de715da Merge remote-tracking branch 'CMS/develop' into develop 2020-09-10 10:12:47 +02:00
= 002b235d76 fix dashboar 2020-09-10 10:12:14 +02:00
= b135f017d5 modali da gantt 2020-09-10 09:52:02 +02:00
Samuele Locatelli 32e0c34945 rel ver x prod 2020-09-10 07:58:00 +02:00
Samuele Locatelli f32d0c0daf Merge remote-tracking branch 'origin/develop' into new/dirSaveMgt 2020-09-10 07:56:57 +02:00
NICOLA CARMINATI 014f63bd2b Added folder / file Manager to the Client 2020-09-09 18:03:56 +02:00
= a6e58365dd recipe note.. preview on save 2020-09-09 16:55:03 +02:00
= 7481d3bf28 print ricetta 2020-09-09 16:43:48 +02:00
= c036cd30e2 Merge remote-tracking branch 'CMS/develop' into develop 2020-09-09 15:51:52 +02:00
= 682efe1928 enabled fields visibility 2020-09-09 12:16:04 +02:00
= d511b49c64 enabled fields visibility 2020-09-09 12:15:54 +02:00
Samuele Locatelli bb7ef476ed new rel 2020-09-09 09:58:42 +02:00
Samuele Locatelli 393da8156b Aggiunto metodo x fornire note ad UI 2020-09-09 09:58:31 +02:00
Samuele Locatelli 575b74c676 Merge remote-tracking branch 'origin/develop' into new/dirSaveMgt 2020-09-09 08:16:52 +02:00
Samuele Locatelli 9f27a7b5ce Impostato default dirm da serverConfig/sharedPath 2020-09-09 08:16:43 +02:00
NICOLA CARMINATI 12ee118e72 Fix OnScreenKeyboard Option 2020-09-08 18:08:02 +02:00
= 00994f993b fix number 2020-09-08 17:31:50 +02:00
= 581c6d44fe fix sovrapposizione gant boxes 2020-09-08 15:04:32 +02:00
Samuele Locatelli a75edd650e start new rel 2020-09-08 14:56:50 +02:00
= eea8a2fa5d fix apertura blocchetti da categorie 2020-09-08 12:50:59 +02:00
= 14c9fb628b warmers 2020-09-08 12:40:25 +02:00
= 18530ea7b3 fix combo 2020-09-08 10:48:46 +02:00
= 04447282ea timeline gannt 2020-09-08 10:23:52 +02:00
= 582a4455e0 Merge remote-tracking branch 'CMS/develop' into develop 2020-09-08 10:09:28 +02:00
= 43fa8448d2 fix disegno stampo 2020-09-08 10:09:18 +02:00
Samuele Locatelli a6df5719f0 Merge remote-tracking branch 'origin/develop' into feature/prodMgmt 2020-09-08 09:49:07 +02:00
Samuele Locatelli d23f6fd4c5 new rel 2020-09-08 09:48:58 +02:00
= 91a554d616 utilities 2020-09-08 09:43:12 +02:00
= e96d97890f cancel della ricetta 2020-09-08 09:37:52 +02:00
= 42186c9509 fix remainging time negativo 2020-09-08 09:19:51 +02:00
= b0391855f5 fix numeric 2020-09-08 08:54:52 +02:00
= 305e2220f8 valueact 2020-09-08 08:48:31 +02:00
= a5d2323dea fix combo status 2020-09-08 08:41:17 +02:00
= 95db7bbdd9 Merge remote-tracking branch 'CMS/develop' into develop 2020-09-08 08:35:44 +02:00
= 345918cdaf valueAct 2020-09-08 08:35:19 +02:00
Samuele Locatelli 8bc9fc97c8 new rel 2020-09-07 13:55:09 +02:00
Samuele Locatelli cd5ea6c6cc Merge remote-tracking branch 'origin/develop' into feature/prodMgmt 2020-09-07 13:53:07 +02:00
= fb91158ee6 fix gant print & slider. 2020-09-07 12:52:53 +02:00
= 7b724b070f slider 2020-09-07 11:16:11 +02:00
= 7bb8602595 Merge remote-tracking branch 'CMS/develop' into develop 2020-09-07 10:32:55 +02:00
Samuele Locatelli 02b1b3b4c6 Merge branch 'feature/prodMgmt' into develop 2020-09-04 19:25:10 +02:00
Samuele Locatelli f499cdc203 new rel intermedia 71 2020-09-04 19:24:32 +02:00
Samuele Locatelli fa9db02e0e Aggiornamento gestione moduli x avere categorie + sub 2020-09-04 19:24:18 +02:00
Samuele Locatelli 136f3c40ff Update xml e validatore modBlock 2020-09-04 19:23:57 +02:00
= 0e02b0ca3f fixes 2020-09-04 17:14:15 +02:00
= 913834a34d Merge remote-tracking branch 'CMS/develop' into develop 2020-09-04 15:14:54 +02:00
= 6b0d5e2c03 fix generali e gestione produzione 2020-09-04 15:14:32 +02:00
Samuele Locatelli 3ead2b7283 Merge branch 'feature/prodMgmt' into develop 2020-09-04 11:52:21 +02:00
Samuele Locatelli 66ba44868e Update x nuova gest codici errore in core library 2020-09-04 11:46:30 +02:00
Samuele Locatelli 529266b57b Merge branch 'feature/prodMgmt' into develop 2020-09-04 10:45:54 +02:00
Samuele Locatelli e1280c193f eliminati commenti + aggiornamento readme, testato bounce ricetta 2020-09-04 10:45:41 +02:00
Samuele Locatelli 77cec0160a rimesso metodo x set AUTO + metodo x start prod full 2020-09-04 09:32:17 +02:00
Samuele Locatelli f7234dd34b new rel 2020-09-04 09:29:30 +02:00
Samuele Locatelli 4c7ad000db rimesso softkey x reset 2020-09-04 09:24:06 +02:00
Samuele Locatelli 140afc4539 Merge branch 'feature/prodMgmt' into develop 2020-09-03 17:56:52 +02:00
Samuele Locatelli 699ccfbfba Commentata gest cicli warmup come richiesto 2020-09-03 17:56:44 +02:00
Samuele Locatelli 3877cb7843 new rel 2020-09-03 12:04:11 +02:00
Samuele Locatelli 80e6192e46 Conf parameters per gestione scrittura recipe 2020-09-03 12:03:59 +02:00
Samuele Locatelli 2786c8e6a8 Merge branch 'develop' into feature/prodMgmt 2020-09-03 11:19:07 +02:00
Samuele Locatelli efbfd857f6 new rel 2020-09-03 11:18:55 +02:00
Samuele Locatelli 3968f72061 Gestione cicli riscaldo in WRITE sul PLC 2020-09-03 11:18:50 +02:00
Samuele Locatelli 88e78736f0 Merge branch 'feature/prodMgmt' into develop 2020-09-02 18:23:09 +02:00
Samuele Locatelli a362829256 Update gestione nuovo dato scrap (metodo x salvataggio...) 2020-09-02 18:21:11 +02:00
Samuele Locatelli 43abdd203b update note x migrations 2020-09-02 18:20:59 +02:00
Samuele Locatelli 74e51a4156 Update modello dati x SCRAP parts 2020-09-02 18:00:51 +02:00
Samuele Locatelli 52621f83e8 new sprint 2020-09-02 18:00:36 +02:00
= 9be02d4666 dashboard & toggle.. 2020-09-02 17:52:54 +02:00
Samuele Locatelli d16712bbd9 Merge branch 'bugfix/softkeys' into develop 2020-09-02 15:46:26 +02:00
Samuele Locatelli 8c96c46d35 typo eliminato calcolo superseeded 2020-09-02 15:46:08 +02:00
Samuele Locatelli 678312ceca Fiox display su prod panel 2020-09-02 15:44:59 +02:00
Samuele Locatelli 072b216eff Update ordinamento softkey by M.Carissoni 2020-09-02 15:44:52 +02:00
= 2f2fc02730 clock & dashboard 2020-09-02 15:44:10 +02:00
= cccd8f2c36 gantt printing 2020-09-02 15:15:41 +02:00
Samuele Locatelli 4e27d3fe63 rivisto eliminazione transports.log 2020-09-02 14:19:21 +02:00
Samuele Locatelli 8d57a29fd9 start new sprint 2020-09-02 14:17:55 +02:00
= 71a1333c12 gantt print 2020-09-01 16:52:24 +02:00
870 changed files with 48914 additions and 196900 deletions
+6
View File
@@ -21,3 +21,9 @@ Output/
*.njsproj
/ConsoleApp1
/WindowsFormsApp1
!Thermo.Active/wwwroot/thermoprophet/colored/_last.jpg
Thermo.Active/wwwroot/thermoprophet/colored/*.jpg
!Thermo.Active/wwwroot/thermoprophet/original/_last.jpg
Thermo.Active/wwwroot/thermoprophet/original/*.jpg
!Thermo.Active/wwwroot/thermoprophet/data/_last.dat
Thermo.Active/wwwroot/thermoprophet/data/*.dat
+361
View File
@@ -0,0 +1,361 @@
#SCRIPT AUTO-BUILD
# - Author: Nicola Carminati
# - Version: 1.0
# - Date: 07/12/2020
#
#
#---------------------------------------------------------------------------------------------------------------------------
# recupera timestamp x logging
function Get-TimeStamp
{
return "[{0:MM/dd/yy} {0:HH:mm:ss}]" -f (Get-Date)
}
function getFileLog()
{
return "{0:yyy_MM_dd}_{0:HH_mm}" -f (Get-Date) + "_$pid.log"
}
function ExecuteLog($txt2log)
{
Write-Output "-------------------------------------------------------------------------------------------------------------------------------------------------" | Out-File -FilePath "$filelog" -Append
Write-Output "$(Get-TimeStamp) $txt2log" | Out-File -FilePath "$filelog" -Append
Invoke-Expression "$txt2log 2>&1 | Out-File -FilePath $filelog -Append"
if( $LASTEXITCODE -ne 0)
{
Write-Host "Error during cmmand: $txt2log" -ForegroundColor Red ;
Write-Host "Exit...." -ForegroundColor Red ;
Set-Location $PSScriptRoot
exit
}
}
function askConfirmorDie($message)
{
if ($silent -eq 0) {
while ($confirmation -ne 'y') {
$confirmation = Read-Host $message
if ($confirmation -eq 'n') {
Write-Host "As you like...." -ForegroundColor Red ;
Write-Host "Bye...." -ForegroundColor Red ;
Set-Location $PSScriptRoot
exit
}
}
}
}
function ExitOk()
{
Write-Host "Done!" -ForegroundColor Green
exit
}
function ExitERR($msg)
{
Write-Host "Error: $msg" -ForegroundColor Red
Write-Host "Bye...." -ForegroundColor Red ;
exit
}
function getAssemblyInfo($file)
{
$regex = "\[assembly\: AssemblyVersion\(""([\.\d+]*)""\)\]"
$row = ((Get-Content $file ) | Select-String $regex) | Out-String
$found1 = $row.IndexOf("""")
$found2 = $row.LastIndexOf("""")
RETURN $row.substring($found1+1, $found2 - $found1 -1)
}
function ChangeAssemblyVersion($file,$version)
{
$regex = "\[assembly\: AssemblyVersion\(""([\.\d+]*)""\)\]"
(Get-Content $file) -replace $regex, "[assembly: AssemblyVersion(""$version"")]" | Set-Content $file
}
function CheckNugetScm()
{
$url = 'https://repository.scmgroup.com/repository/mconnect-nuget/'
$ngt = nuget sources -Format Detailed | Out-String
$ind = $ngt.LastIndexOf($url)
if($ind -lt 0)
{
ExitERR("Nuget package Scm not found: $url. Add this Repository `r`n -USR: guest`r`n -PSW: mB6SQvj6`r`n")
}
}
function CheckSingleCommand($cmd)
{
if ($null -eq (Get-Command $cmd -ErrorAction SilentlyContinue))
{
ExitERR("Command ""$cmd"" not found in your PATH")
}
}
function CheckAllCommand()
{
CheckSingleCommand "git"
CheckSingleCommand "nuget"
CheckSingleCommand "devenv"
CheckSingleCommand "npm"
CheckSingleCommand "7z"
CheckSingleCommand "iscc"
}
#---------------------------------------------------------------------------------------------------------------------------
# Main Function
#Setup Variables
$outputdir = $PSScriptRoot + "\Thermo.Active\bin"
$outputServer = $outputdir + "\Thermo.Active.exe"
$outputClient = $outputdir + "\Client\Active_Client.exe"
$assemblyInfoFile = $PSScriptRoot + "\Thermo.Active\Properties\AssemblyInfo.cs"
$installerFilePath = $PSScriptRoot + "\Thermo.Active\SetupActive_Auto.iss"
$outBuildPath = "C:\CMS\AutoBuild\"
$branch = "master"
$version = ""
$branchNeedsToBeSetted = 1;
$versionNeedsToBeSetted = 1;
$zipOutput = 0;
$silent = 0;
$excludeClient = 0;
$excludeServer = 0;
$excludeFrontend = 0;
$excludeNodeUpdate = 0;
$excludeNugetUpdate = 0;
$excludeGit = 0;
$filelog = $PSScriptRoot + "\" + $filelog
$version = getAssemblyInfo $assemblyInfoFile
$outBuild = $outBuildPath + $version
$outLogs = $outBuildPath + "_Logs\"
#Setup Arguments
for ( $i = 0; $i -lt $args.count; $i++ ) {
if($args[$i] -eq "-branch")
{
if($args[$i+1].StartsWith("-"))
{
$err = $args[$i+1]
ExitERR "Invalid Branch Name"
}
else
{
$branch = $args[$i +1]
$i++;
$branchNeedsToBeSetted = 0;
}
}
elseif($args[$i] -eq "-version")
{
if($args[$i+1].StartsWith("-"))
{
$err = $args[$i+1]
ExitERR "Invalid Version Name"
}
else
{
$version = $args[$i +1]
$outBuild = $outBuildPath + $version
$i++;
$versionNeedsToBeSetted = 0;
}
}
elseif($args[$i] -eq "-silent")
{
$silent = 1;
}
elseif($args[$i] -eq "-portable")
{
$zipOutput = 1;
}
elseif($args[$i] -eq "-excludeclient")
{
$excludeClient = 1;
}
elseif($args[$i] -eq "-excludenodeupdate")
{
$excludeNodeUpdate = 1;
}
elseif($args[$i] -eq "-excludenugetupdate")
{
$excludeNugetUpdate = 1;
}
elseif($args[$i] -eq "-excludegit")
{
$excludeGit = 1;
}
elseif($args[$i] -eq "-excludeserver")
{
$excludeServer = 1;
}
elseif($args[$i] -eq "-excludefrontend")
{
$excludeFrontend = 1;
}
else
{
$err = $args[$i]
ExitERR "Invalid parameter: $err"
}
}
#Operations...
CheckAllCommand
Write-Host "CMS-Active Builder...." -ForegroundColor Green
$tempname = getFileLog
$filelog = $outLogs + $tempname
New-Item -ItemType "directory" -Path "$outLogs" -Force | Out-Null
Write-Host "Log File: " $filelog -ForegroundColor Green
if (($silent -eq 0) -and ($branchNeedsToBeSetted -eq 1)) {
$branch = git branch --show-current
$response = Read-Host "insert the name of the Git Branch [$branch]"
if ($response -ne '') {
$branch = $response
}
}
if (($silent -eq 0) -and ($versionNeedsToBeSetted -eq 1)) {
$response = Read-Host "insert the name of the New Version [$version]"
if ($response -ne '') {
$version = $response
$outBuild = $outBuildPath + $version
}
}
Write-Host "-------------------------------"
if ($excludeGit -ne 1) {
Write-Host "Git Feching"
ExecuteLog "git fetch --all"
Write-Host "Moving to branch '$branch'"
ExecuteLog "git checkout $branch"
$mail = git log -1 --pretty=format:'%ae'
$author = git log -1 --pretty=format:'%an'
Write-Host "This is your last commit message from '$author' [$mail]:"
git log --oneline -n 1 HEAD
askConfirmorDie "`r`nAre you sure do you want to continue [y,n]"
ExecuteLog "git checkout ."
Write-Host "Pulling"
ExecuteLog "git pull"
}
Write-Host "-------------------------------"
Write-Host "Clean the Solution"
ExecuteLog "devenv Thermo.Active.sln /Clean"
$outFile = Test-Path $outputdir
if($outFile -eq "True")
{
Remove-Item $outputdir -Recurse -Force
}
if ($excludeNugetUpdate -ne 1) {
Write-Host "Update the Nuget Packages"
CheckNugetScm
ExecuteLog "nuget restore Thermo.Active.sln "
}
if ($version -ne "") {
ExecuteLog "ChangeAssemblyVersion $assemblyInfoFile $version"
}
if ($excludeServer -ne 1) {
Write-Host "Build the Server APP"
ExecuteLog "devenv Thermo.Active.sln /Build Release /Projectconfig ""Release"" /project ""Thermo.Active\Thermo.Active.csproj"""
$newv = (Get-Item $outputServer).VersionInfo.FileVersion
$outBuild = $outBuildPath + $newv
$outFile = Test-Path $outputServer
if($outFile -ne "True")
{
ExitERR "Error while building Server APP (Exe not created)"
}
}
if ($excludeClient -ne 1) {
Write-Host "Build the Client APP"
ExecuteLog "devenv Thermo.Active.sln /Build Release /Projectconfig ""Release|x64"" /project ""Client2020\Client2020.csproj"""
ExecuteLog "Copy-Item -Path ""$PSScriptRoot\Thermo.Active\bin\Client\x64"" -Destination ""$PSScriptRoot\tmp"" -Recurse"
ExecuteLog "Remove-Item -Path ""$PSScriptRoot\Thermo.Active\bin\Client\x64*"" -Force -Recurse"
ExecuteLog "Copy-Item -Path ""$PSScriptRoot\tmp\*"" -Destination ""$PSScriptRoot\Thermo.Active\bin\Client"" -Recurse"
$outFile = Test-Path $outputClient
if($outFile -ne "True")
{
ExitERR "Error while building Client APP (Exe not created)"
}
}
Write-Host "-------------------------------"
if ($excludeFrontend -ne 1) {
Set-Location .\Thermo.Active\wwwroot\
if ($excludeNodeUpdate -ne 1) {
Write-Host "Update the Node dependencies"
ExecuteLog "npm install"
}
Write-Host "Build the Frontend"
ExecuteLog "npm run build"
Set-Location $PSScriptRoot
}
Write-Host "-------------------------------"
Write-Host "Create the output directory"
ExecuteLog "New-Item -ItemType ""directory"" -Path $outBuild -Force"
ExecuteLog "Remove-Item $outBuild -Recurse -Force"
if ($zipOutput -ne 1) {
Write-Host "-------------------------------"
Write-Host "Create the installer"
ExecuteLog "iscc ""$installerFilePath"""
ExecuteLog "Remove-Item -Path ""$PSScriptRoot\tmp"" -Force -Recurse"
}
if ($zipOutput -eq 1) {
Write-Host "-------------------------------"
Write-Host "Create the Zip file"
$outFile = Test-Path $outputdir
if($outFile -eq "True")
{
ExecuteLog "7z a ""$outBuild\Active_Portable_$version.zip"" $outputdir\* "
}
Write-Host "Create the view Folder"
ExecuteLog "New-Item -ItemType ""directory"" -Path view -Force"
ExecuteLog "Remove-Item -Path ""view\*"" -Force -Recurse"
Write-Host "Copy the files in View Folder"
ExecuteLog "Copy-Item -Path ""$PSScriptRoot\Thermo.Active\wwwroot\dist"" -Destination ""view"" -Recurse"
ExecuteLog "Copy-Item -Path ""$PSScriptRoot\Thermo.Active\wwwroot\Scripts"" -Destination ""view"" -Recurse"
ExecuteLog "Copy-Item -Path ""$PSScriptRoot\Thermo.Active\wwwroot\libs"" -Destination ""view"" -Recurse"
ExecuteLog "New-Item -ItemType ""directory"" -Path view\Assets\styles -Force"
ExecuteLog "Copy-Item -Path ""$PSScriptRoot\Thermo.Active\wwwroot\Assets\fonts"" -Destination ""view\Assets"" -Recurse"
ExecuteLog "Copy-Item -Path ""$PSScriptRoot\Thermo.Active\wwwroot\Assets\images"" -Destination ""view\Assets"" -Recurse"
ExecuteLog "Copy-Item -Path ""$PSScriptRoot\Thermo.Active\wwwroot\Assets\icons"" -Destination ""view\Assets"" -Recurse"
ExecuteLog "Copy-Item -Path ""$PSScriptRoot\Thermo.Active\wwwroot\Assets\svg"" -Destination ""view\Assets"" -Recurse"
ExecuteLog "Copy-Item -Path ""$PSScriptRoot\Thermo.Active\wwwroot\Assets\animations"" -Destination ""view\Assets"" -Recurse"
ExecuteLog "Copy-Item -Path ""$PSScriptRoot\Thermo.Active\wwwroot\Assets\styles\style.css"" -Destination ""view\Assets\styles"" "
ExecuteLog "Copy-Item -Path ""$PSScriptRoot\Thermo.Active\wwwroot\Assets\styles\style.css.map"" -Destination ""view\Assets\styles"" "
ExecuteLog "Copy-Item -Path ""$PSScriptRoot\Thermo.Active\wwwroot\Assets\styles\iziToast.min.css"" -Destination ""view\Assets\styles"" "
ExecuteLog "Copy-Item -Path ""$PSScriptRoot\Thermo.Active\wwwroot\index.html"" -Destination ""view"" -Recurse"
ExecuteLog "Copy-Item -Path ""$PSScriptRoot\Thermo.Active\wwwroot\favicon.ico"" -Destination ""view"" -Recurse"
ExecuteLog "Copy-Item -Path ""$PSScriptRoot\Thermo.Active\wwwroot\config.development.json"" -Destination ""view"" -Recurse"
Write-Host "Copy view in Zip file"
$outFile = Test-Path ".\View"
if($outFile -eq "True")
{
ExecuteLog "7z a ""$outBuild\Active_Portable_$version.zip"" "".\view"" "
ExecuteLog "Remove-Item "".\View"" -Recurse -Force"
ExecuteLog "Remove-Item -Path ""$PSScriptRoot\tmp"" -Force -Recurse"
}
}
Write-Host "Version created: $version" -ForegroundColor Green
Write-Host "Output dir: $outBuild"
if ($silent -eq 0) {
explorer.exe $outBuild
}
ExitOk
+2 -1
View File
@@ -8,9 +8,10 @@
<OutputType>Library</OutputType>
<RootNamespace>Client.Chromium</RootNamespace>
<AssemblyName>Client.Chromium</AssemblyName>
<TargetFrameworkVersion>v4.6.1</TargetFrameworkVersion>
<TargetFrameworkVersion>v4.6.2</TargetFrameworkVersion>
<FileAlignment>512</FileAlignment>
<AutoGenerateBindingRedirects>true</AutoGenerateBindingRedirects>
<TargetFrameworkProfile />
</PropertyGroup>
<PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Debug|AnyCPU' ">
<PlatformTarget>AnyCPU</PlatformTarget>
+1 -1
View File
@@ -68,7 +68,7 @@
</ItemGroup>
<ItemGroup>
<EmbeddedResource Include="Config.xml">
<CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory>
<CopyToOutputDirectory>Always</CopyToOutputDirectory>
<SubType>Designer</SubType>
</EmbeddedResource>
</ItemGroup>
+2 -1
View File
@@ -11,7 +11,8 @@
<xs:element name="RenderingMethod" minOccurs='1' maxOccurs='1'/>
<xs:element name="ShowVirtualKeyboard" minOccurs='1' maxOccurs='1'/>
<xs:element name="RunningOnSecondaryScreen" minOccurs='1' maxOccurs='1'/>
<xs:element name="DeveloperMode" minOccurs='1' maxOccurs='1'/>
<xs:element name="DeveloperMode" minOccurs='1' maxOccurs='1'/>
<xs:element name="EnableTransparent" minOccurs='1' maxOccurs='1'/>
</xs:all>
</xs:complexType>
</xs:element>
+4 -3
View File
@@ -2,9 +2,10 @@
<Config>
<Client>
<IsSCM>false</IsSCM>
<EnableTransparent>false</EnableTransparent>
<TranspColor>#FF00FF</TranspColor>
<RenderingMethod>GPU</RenderingMethod> <!-- GPU/CPU -->
<ShowVirtualKeyboard>false</ShowVirtualKeyboard>
<ShowVirtualKeyboard>true</ShowVirtualKeyboard>
<RunningOnSecondaryScreen>false</RunningOnSecondaryScreen>
<DeveloperMode>true</DeveloperMode>
</Client>
@@ -12,9 +13,9 @@
<ServerUrl>localhost</ServerUrl>
<ServerPort>9000</ServerPort>
<Id>1</Id>
<DeleteCahceFolderOnStartup>true</DeleteCahceFolderOnStartup>
<DeleteCahceFolderOnStartup>false</DeleteCahceFolderOnStartup>
</Connection>
<VendorHmi>
<FollowNcWindow>True</FollowNcWindow>
<FollowNcWindow>false</FollowNcWindow>
</VendorHmi>
</Config>
+10
View File
@@ -31,6 +31,7 @@ namespace Client.Config
.Descendants(Constants.CLIENT_CONFIG_KEY)
.Select(x => new SubModels.Client()
{
EnableTransparent = ValidateEnableTransparent(x.Element("EnableTransparent").Value),
TranspColor = ValidateTranspColor(x.Element("TranspColor").Value),
RenderingMethod = ValidateRendering(x.Element("RenderingMethod").Value),
RunningOnSecondaryScreen = ValidateSecScreen(x.Element("RunningOnSecondaryScreen").Value),
@@ -179,7 +180,16 @@ namespace Client.Config
throw new Exception(@"Configuration Error: ""Client - DeveloperMode"" is not a valid Boolean Type");
}
private static bool ValidateEnableTransparent(string value)
{
Boolean DeveloperMode;
if (Boolean.TryParse(value, out DeveloperMode))
return DeveloperMode;
else
throw new Exception(@"Configuration Error: ""Client - EnableTransparent"" is not a valid Boolean Type");
}
private static Boolean ValidateFollowNcWin(String value)
{
+3
View File
@@ -13,5 +13,8 @@ namespace Client.Config.SubModels
public Boolean DeveloperMode { get; set; }
public Boolean IsSCM { get; set; }
public Boolean Autorun { get; set; }
public Boolean EnableTransparent { get; set; }
}
}
+1 -1
View File
@@ -8,7 +8,7 @@
//public static string BASE_PATH = System.IO.Path.GetDirectoryName(System.Reflection.Assembly.GetExecutingAssembly().Location) + "\\";
public static string BROWSER_CACHE_FOLDER = BASE_PATH + "LocalStorage";
public static string STARTUP_CONFIG_SCHEMA_PATH = BASE_PATH + "ClientValidator.xsd";
public static string STARTUP_CONFIG_PATH = BASE_PATH + "lib\\Config.xml";
public static string STARTUP_CONFIG_PATH = BASE_PATH + "Config.xml";
public static string CEF_PATH = BASE_PATH + "CEF";
public static string CEF_X86_PATH = BASE_PATH + "CEF\\Release_X86";
public static string CEF_X64_PATH = BASE_PATH + "CEF\\Release_X64";
+169 -49
View File
@@ -38,13 +38,14 @@ namespace Active_Client.Browser_Tools
private static readonly string[] _validExtensions = {".json", ".rcp", ".tpl" };
//private static readonly string[] _validExtensions = { "", ".txt", ".cnc", ".cn", ".cno", ".ini", ".mpf", ".spf", ".tap", ".anc", ".iso" };
private static readonly string[] _validImages = { ".jpg", ".jpeg", ".png" };
private static readonly string[] _validImages = { ".svg" };
private static string jobPath = "";
private static Dictionary<string, IntPtr> _editorOpened = new Dictionary<string, IntPtr>();
private static EditorVar _currentEditorObject = new EditorVar();
public static string RECENT_FOLDER_KEY = "RECENT";
private const string THERMO_RECIPE_PATH = @"C:\CMS\Recipes";
private const string THERMO_RECIPE_PATH = @"C:\CMS\Recipes";
private const string CMS_PATH = @"C:\CMS";
public static FileSystemWatcher watcher = null;
public static DateTime _lastTimeFileWatcherEventRaised = DateTime.Now;
@@ -77,9 +78,16 @@ namespace Active_Client.Browser_Tools
AddFunction("openOrStartProcess").Execute += openOrStartProcess;
AddFunction("isVirtualKeybConfigured").Execute += isVirtualKeybConfigured;
AddFunction("getOSdriveList").Execute += getOSdriveList;
AddFunction("getAllRecipeDirectories").Execute += getAllRecipeDirectories;
AddFunction("getFileList").Execute += getFileList;
AddFunction("getProgramInfo").Execute += getProgramInfo;
AddFunction("editProgram").Execute += editProgram;
AddFunction("deleteFile").Execute += deleteFile;
AddFunction("deleteFolder").Execute += deleteFolder;
AddFunction("createFolder").Execute += createFolder;
AddFunction("duplicateRecipe").Execute += duplicateRecipe;
AddFunction("uploadAndActivateProgram").Execute += uploadAndActivateProgram;
AddFunction("uploadAndAddToQueue").Execute += uploadAndAddToQueue;
@@ -359,32 +367,6 @@ namespace Active_Client.Browser_Tools
{
List<Drive> drivelist = new List<Drive>();
// USB & HD Drives
foreach (var drive in DriveInfo.GetDrives())
{
if (drive.IsReady)
{
//Filter NC Address
if (drive.DriveType != DriveType.Network)
{
drivelist.Add(new Drive()
{
Name = ElaborateName(drive.VolumeLabel, drive.Name.TrimEnd('\\'), drive.DriveType),
Path = drive.RootDirectory.ToString(),
Type = ElaborateType(drive.DriveType)
});
}
}
}
// Desktop folder
drivelist.Add(new Drive()
{
Name = ElaborateName("Desktop", "", DriveType.Unknown),
Path = Environment.GetFolderPath(Environment.SpecialFolder.Desktop) + "\\",
Type = "SPFO"
});
if (Directory.Exists(THERMO_RECIPE_PATH))
{
drivelist.Add(new Drive()
@@ -395,31 +377,58 @@ namespace Active_Client.Browser_Tools
});
}
e.SetReturnValue(JsonConvert.SerializeObject(drivelist));
}
public void getAllRecipeDirectories(object sender, CfrV8HandlerExecuteEventArgs e)
{
List<string> dirs = this.DirSearch(THERMO_RECIPE_PATH);
for (int i = 0; i< dirs.Count; i++)
{
dirs[i] = dirs[i].Remove(0,CMS_PATH.Length +1);
}
e.SetReturnValue(JsonConvert.SerializeObject(dirs));
}
public void duplicateRecipe(object sender, CfrV8HandlerExecuteEventArgs e)
{
if (e.Arguments.Count() < 2)
{
e.SetReturnValue(JsonConvert.SerializeObject(new ErrorContainer("error_arguments_not_ok")));
return;
}
string oldFile = CMS_PATH + "\\" + e.Arguments[0].StringValue + ".rcp";
string newFile = CMS_PATH + "\\" + e.Arguments[1].StringValue + ".rcp";
string oldImage = CMS_PATH + "\\" + e.Arguments[0].StringValue + ".svg";
string newImage = CMS_PATH + "\\" + e.Arguments[1].StringValue + ".svg";
if (!File.Exists(oldFile))
{
e.SetReturnValue(JsonConvert.SerializeObject(new ErrorContainer("file_not_found")));
return;
}
if (File.Exists(newFile))
{
e.SetReturnValue(JsonConvert.SerializeObject(new ErrorContainer("file_already_exists")));
return;
}
try
{
// Network Folders
var searcher = new ManagementObjectSearcher("select * from Win32_MappedLogicalDisk");
foreach (ManagementObject queryObj in searcher.Get())
File.Copy(oldFile, newFile, true);
if (File.Exists(oldImage))
{
//Filter not CNC folder
if (!queryObj["ProviderName"].ToString().Contains(Config.VendorHmiConfig.IpAddress))
{
drivelist.Add(new Drive()
{
Name = ElaborateName(queryObj["VolumeName"].ToString(), queryObj["Name"].ToString(), DriveType.Network),
Path = queryObj["Name"].ToString(),
Type = ElaborateType(DriveType.Network)
});
}
File.Copy(oldImage, newImage, true);
}
}
catch (Exception ex)
{
e.SetReturnValue(JsonConvert.SerializeObject(new ErrorContainer("cannot_copy_file")));
}
e.SetReturnValue(JsonConvert.SerializeObject(drivelist));
}
// Read all files in directory
public void getFileList(object sender, CfrV8HandlerExecuteEventArgs e)
@@ -427,14 +436,14 @@ namespace Active_Client.Browser_Tools
List<FileModel> filelist = new List<FileModel>();
if (e.Arguments.Count() == 0)
{
e.SetReturnValue(JsonConvert.SerializeObject(new List<FileModel>()));
e.SetReturnValue(JsonConvert.SerializeObject(new ErrorContainer("error_arguments_not_ok")));
return;
}
string p = e.Arguments[0].StringValue;
if (p != RECENT_FOLDER_KEY && !Directory.Exists(p))
{
e.SetReturnValue(JsonConvert.SerializeObject(new List<FileModel>()));
e.SetReturnValue(JsonConvert.SerializeObject(new ErrorContainer("file_not_exists")));
return;
}
@@ -485,6 +494,95 @@ namespace Active_Client.Browser_Tools
e.SetReturnValue(JsonConvert.SerializeObject(filelist));
}
public void deleteFile(object sender, CfrV8HandlerExecuteEventArgs e)
{
if (e.Arguments.Count() == 0)
{
e.SetReturnValue(JsonConvert.SerializeObject(new ErrorContainer("error_arguments_not_ok")));
return;
}
// Get path
string p = e.Arguments[0].StringValue;
FileAttributes attr = File.GetAttributes(p);
if (!File.Exists(p) || attr.HasFlag(FileAttributes.Directory))
{
e.SetReturnValue(JsonConvert.SerializeObject(new ErrorContainer("file_not_found")));
return;
}
if (attr.HasFlag(FileAttributes.ReadOnly))
{
e.SetReturnValue(JsonConvert.SerializeObject(new ErrorContainer("file_not_editable")));
return;
}
try
{
File.Delete(p);
string images = Path.ChangeExtension(p, "svg");
if(File.Exists(images))
{
File.Delete(images);
}
}
catch(Exception ex)
{
e.SetReturnValue(JsonConvert.SerializeObject(new ErrorContainer("cannot_delete_file")));
}
}
public void deleteFolder(object sender, CfrV8HandlerExecuteEventArgs e)
{
if (e.Arguments.Count() == 0)
{
e.SetReturnValue(JsonConvert.SerializeObject(new ErrorContainer("error_arguments_not_ok")));
return;
}
// Get path
string p = e.Arguments[0].StringValue;
FileAttributes attr = File.GetAttributes(p);
if (!Directory.Exists(p) || !attr.HasFlag(FileAttributes.Directory))
{
e.SetReturnValue(JsonConvert.SerializeObject(new ErrorContainer("directory_not_found")));
return;
}
if (attr.HasFlag(FileAttributes.ReadOnly))
{
e.SetReturnValue(JsonConvert.SerializeObject(new ErrorContainer("directory_not_editable")));
return;
}
try
{
Directory.Delete(p,true);
}
catch (Exception ex)
{
e.SetReturnValue(JsonConvert.SerializeObject(new ErrorContainer("cannot_delete_directory")));
}
}
public void createFolder(object sender, CfrV8HandlerExecuteEventArgs e)
{
if (e.Arguments.Count() == 0)
{
e.SetReturnValue(JsonConvert.SerializeObject(new ErrorContainer("error_arguments_not_ok")));
return;
}
string path = e.Arguments[0].StringValue;
if (Directory.Exists(path))
{
e.SetReturnValue(JsonConvert.SerializeObject(new ErrorContainer("directory_already_exists")));
return;
}
try
{
Directory.CreateDirectory(path);
}
catch (Exception ex)
{
e.SetReturnValue(JsonConvert.SerializeObject(new ErrorContainer("cannot_delete_directory")));
}
}
// Upload and activate the program
public async void uploadAndActivateProgram(object sender, CfrV8HandlerExecuteEventArgs e)
{
@@ -671,8 +769,7 @@ namespace Active_Client.Browser_Tools
// Read info of a file
public void getProgramInfo(object sender, CfrV8HandlerExecuteEventArgs e)
{
string line, imagePath, imageDirectory;
int counter = 0;
string imagePath, imageDirectory;
if (e.Arguments.Count() == 0)
{
@@ -725,7 +822,10 @@ namespace Active_Client.Browser_Tools
{
if (File.Exists(imageDirectory + "/" + imagePath + ext))
{
file.PreviewBase64 = "data:image/" + ext + ";base64," + Convert.ToBase64String(File.ReadAllBytes(imageDirectory + "/" + imagePath + ext));
if (ext.ToLower().Equals(".svg"))
file.PreviewBase64 = File.ReadAllText(imageDirectory + "/" + imagePath + ext);
else
file.PreviewBase64 = "data:image/" + ext + ";base64," + Convert.ToBase64String(File.ReadAllBytes(imageDirectory + "/" + imagePath + ext));
break;
}
}
@@ -976,6 +1076,26 @@ namespace Active_Client.Browser_Tools
return retName;
}
private List<String> DirSearch(string sDir)
{
List<String> files = new List<String>();
try
{
files.Add(sDir);
foreach (string d in Directory.GetDirectories(sDir))
{
files.AddRange(DirSearch(d));
}
}
catch (System.Exception excpt)
{
MessageBox.Show(excpt.Message);
}
return files;
}
#endregion FILESYSTEM_METHODS
///////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
+4 -3
View File
@@ -26,7 +26,7 @@
<UpdateRequired>false</UpdateRequired>
<MapFileExtensions>true</MapFileExtensions>
<ApplicationRevision>0</ApplicationRevision>
<ApplicationVersion>1.0.0.%2a</ApplicationVersion>
<ApplicationVersion>2.0.0.%2a</ApplicationVersion>
<UseApplicationTrust>false</UseApplicationTrust>
<BootstrapperEnabled>true</BootstrapperEnabled>
</PropertyGroup>
@@ -128,7 +128,8 @@
<HintPath>..\packages\Microsoft.WindowsAPICodePack-Shell.1.1.0.0\lib\Microsoft.WindowsAPICodePack.ShellExtensions.dll</HintPath>
</Reference>
<Reference Include="Newtonsoft.Json, Version=12.0.0.0, Culture=neutral, PublicKeyToken=30ad4fe6b2a6aeed, processorArchitecture=MSIL">
<HintPath>..\packages\Newtonsoft.Json.12.0.1\lib\net45\Newtonsoft.Json.dll</HintPath>
<HintPath>..\packages\Newtonsoft.Json.12.0.3\lib\net45\Newtonsoft.Json.dll</HintPath>
<Private>True</Private>
</Reference>
<Reference Include="PresentationCore" />
<Reference Include="PresentationFramework" />
@@ -248,7 +249,7 @@
<ItemGroup>
<BootstrapperPackage Include=".NETFramework,Version=v4.6.2">
<Visible>False</Visible>
<ProductName>Microsoft .NET Framework 4.6.2 %28x86 e x64%29</ProductName>
<ProductName>Microsoft .NET Framework 4.6.2 %28x86 and x64%29</ProductName>
<Install>true</Install>
</BootstrapperPackage>
<BootstrapperPackage Include="Microsoft.Net.Framework.3.5.SP1">
+8 -6
View File
@@ -11,6 +11,7 @@ using System.Globalization;
using System.IO;
using System.Linq;
using System.Management;
using System.Security.Permissions;
using System.Threading;
using System.Windows.Forms;
@@ -25,14 +26,13 @@ namespace Active_Client
///////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
#region MAIN_METHOD
[STAThread]
[STAThread]
[SecurityPermission(SecurityAction.Demand, Flags = SecurityPermissionFlag.ControlAppDomain)]
static void Main(string[] args)
{
//Crate General Exception Handler
AppDomain.CurrentDomain.UnhandledException += new UnhandledExceptionEventHandler(GeneralExMethod);
//Crate General Exception Handler
AppDomain.CurrentDomain.UnhandledException += new UnhandledExceptionEventHandler(GeneralExMethod);
//Read App Configuration
readConfiguration();
@@ -170,8 +170,10 @@ namespace Active_Client
e.CommandLine.AppendSwitch("--disable-pinch");
e.CommandLine.AppendSwitch("--enable-media-stream");
e.CommandLine.AppendSwitch("--enable-usermedia-screen-capture");
e.CommandLine.AppendSwitch("--no-proxy-server");
e.CommandLine.AppendSwitch("--no-proxy-server");
e.CommandLine.AppendSwitch("--ignore-certificate-errors-spki-list");
e.CommandLine.AppendSwitch("--ignore-certificate-errors");
e.CommandLine.AppendSwitch("--ignore-ssl-errors");
}
+1 -2
View File
@@ -31,5 +31,4 @@ using System.Runtime.InteropServices;
// È possibile specificare tutti i valori oppure impostare valori predefiniti per i numeri relativi alla revisione e alla build
// usando l'asterisco '*' come illustrato di seguito:
// [assembly: AssemblyVersion("1.0.*")]
[assembly: AssemblyVersion("0.0.0.0")]
[assembly: AssemblyFileVersion("0.1.0.0")]
[assembly: AssemblyVersion("2.0.*")]
+3 -3
View File
@@ -165,7 +165,7 @@ namespace Active_Client.View
public void sendClose()
{
//Close Virtual Keyboard Runtime
if (Config.ClientConfig.ShowVirtualKeyboard && Environment.OSVersion.Version.Major < 10)
if (Config.ClientConfig.ShowVirtualKeyboard)
NcWindow.closeVirtualKeyboard();
//Close the NC HMI && Stop Following Nc
@@ -259,7 +259,7 @@ namespace Active_Client.View
Browser.DisplayHandler.OnConsoleMessage += BrowserConsoleMessage;
Browser.DownloadHandler.OnBeforeDownload += BeforeDownload;
//Filter only < Win_10 Platform
if (Config.ClientConfig.ShowVirtualKeyboard && Environment.OSVersion.Version.Major < 10)
if (Config.ClientConfig.ShowVirtualKeyboard)
ChromiumWebBrowser.RemoteProcessCreated += (e) => { e.RenderProcessHandler.OnFocusedNodeChanged += BrowserNodeChanged; };
}
@@ -434,7 +434,7 @@ namespace Active_Client.View
string dom = ev.Node.GetElementAttribute("type").ToLower();
//Filter if the node Type is TEXT or PASSWORD
if (dom != null && (dom.Equals("text") || dom.Equals("password")))
if (dom != null && (dom.Equals("text") || dom.Equals("password") || dom.Equals("")))
NcWindow.openVirtualKeyboard(ev.Node.ElementBounds, ev.Browser.Identifier > 1, false);
}
//Filter if this node is TEXTAREA Node
+2 -2
View File
@@ -1047,7 +1047,7 @@ namespace Active_Client.View
if (!IsIconic(MainViewHandle))
{
//Show Virtual keyboard
if (Config.ClientConfig.ShowVirtualKeyboard && Environment.OSVersion.Version.Major < 10)
if (Config.ClientConfig.ShowVirtualKeyboard)
reOpenVirtualKeyboard();
}
}
@@ -1069,7 +1069,7 @@ namespace Active_Client.View
//SetForegroundWindow(hwnd);
//Hide Virtual keyboard
if (Config.ClientConfig.ShowVirtualKeyboard && Environment.OSVersion.Version.Major < 10 && KeyboardPID != 0 && ActualPID != KeyboardPID)
if (Config.ClientConfig.ShowVirtualKeyboard && KeyboardPID != 0 && ActualPID != KeyboardPID)
closeVirtualKeyboard();
}
+1 -1
View File
@@ -3,5 +3,5 @@
<package id="MetroModernUI" version="1.4.0.0" targetFramework="net462" />
<package id="Microsoft.WindowsAPICodePack-Core" version="1.1.0.2" targetFramework="net462" />
<package id="Microsoft.WindowsAPICodePack-Shell" version="1.1.0.0" targetFramework="net462" />
<package id="Newtonsoft.Json" version="12.0.1" targetFramework="net462" />
<package id="Newtonsoft.Json" version="12.0.3" targetFramework="net462" />
</packages>
+6
View File
@@ -0,0 +1,6 @@
<?xml version="1.0" encoding="utf-8" ?>
<configuration>
<startup>
<supportedRuntime version="v4.0" sku=".NETFramework,Version=v4.6.2" />
</startup>
</configuration>
+642
View File
@@ -0,0 +1,642 @@
using CefSharp;
using Client.Config;
using Client.Config.SubModels;
using Client2020.BrowserTools.Models;
using Client2020.BrowserTools.Models.Errors;
using Newtonsoft.Json;
using System;
using System.Collections.Generic;
using System.Diagnostics;
using System.Drawing;
using System.Drawing.Imaging;
using System.IO;
using System.Linq;
using System.Threading;
using System.Windows.Forms;
namespace Client2020.BrowserTools
{
public class BrowserJSObject
{
private Form mainForm;
private static readonly string[] _validExtensions = { ".json", ".rcp", ".tpl" };
//private static readonly string[] _validExtensions = { "", ".txt", ".cnc", ".cn", ".cno", ".ini", ".mpf", ".spf", ".tap", ".anc", ".iso" };
private static readonly string[] _validImages = { ".svg" };
private static string jobPath = "";
private static Dictionary<string, IntPtr> _editorOpened = new Dictionary<string, IntPtr>();
public static string RECENT_FOLDER_KEY = "RECENT";
private const string THERMO_RECIPE_PATH = @"C:\CMS\Recipes";
private const string THERMO_RECIPE_FOLDER_NAME = @"Recipes";
private const string THERMO_SCREENSHOT_PATH = @"C:\CMS\Screenshots";
private const string CMS_PATH = @"C:\CMS";
#region CONSTRUCTOR_METHOD
public BrowserJSObject(Form f)
{
mainForm = f;
}
#endregion CONSTRUCTOR_METHOD
#region FORM_BEHAVIOUR_METHODS
public void minimizeForm()
{
//Invoke method if is needed or call the method in STD mode
if (mainForm.InvokeRequired)
mainForm.Invoke((MethodInvoker)delegate ()
{
mainForm.WindowState = FormWindowState.Minimized;
});
else
{
mainForm.WindowState = FormWindowState.Minimized;
}
}
// Maximize Main Window
public void maximizeForm()
{
//Invoke method if is needed or call the method in STD mode
if (mainForm.InvokeRequired)
mainForm.Invoke((MethodInvoker)delegate ()
{
mainForm.WindowState = FormWindowState.Maximized;
});
else
{
mainForm.WindowState = FormWindowState.Maximized;
}
}
// Close Main Window
public void closeForm()
{
//If the mainform is disposed do nothing
if (mainForm.IsDisposed)
return;
//Invoke method if is needed or call the method in STD mode
Application.Exit();
}
public string takeScreenshot(string RecipeName)
{
string path = THERMO_SCREENSHOT_PATH + "\\" + RecipeName;
string pathFile = THERMO_SCREENSHOT_PATH + "\\" + RecipeName + "\\" + DateTime.Now.ToString("yyyy_MM_dd_HH_mm_ss") + ".jpg";
try
{
if (!Directory.Exists(path))
Directory.CreateDirectory(path);
Bitmap captureBitmap = new Bitmap(1920, 1080, PixelFormat.Format32bppArgb);
Rectangle captureRectangle = Screen.AllScreens[0].Bounds;
Graphics captureGraphics = Graphics.FromImage(captureBitmap);
captureGraphics.CopyFromScreen(captureRectangle.Left, captureRectangle.Top, 0, 0, captureRectangle.Size);
captureBitmap.Save(pathFile, ImageFormat.Jpeg);
}
catch (Exception ex)
{
return (JsonConvert.SerializeObject(new ErrorContainer("cannot_create_image")));
}
return (JsonConvert.SerializeObject(new ScreenshotController(pathFile))); ;
}
#endregion FORM_BEHAVIOUR_METHODS
#region NC_BEHAVIOUR_METHODS
public void setNcWindowState(int val)
{
}
public int getNcWindowState()
{
return 0;
}
public string getScreenBase64()
{
return "";
}
#endregion NC_BEHAVIOUR_METHODS
#region CHROMIUM_METHODS
// Get the Version of Chromium
public string getChromiumVersion()
{
return Cef.ChromiumVersion + " (" + Application.ProductVersion + ")";
}
#endregion CHROMIUM_METHODS
#region STEP_METHODS
// Get the ID of STEP Client
public int getClientID()
{
return Config.ConnectionConfig.Id;
}
public void forceStepFocus()
{
}
public void forceNcFocus()
{
}
public void forceProdFocus()
{
}
// Get the option of virtual Keyb configured
public bool isVirtualKeybConfigured()
{
return Config.ClientConfig.ShowVirtualKeyboard;
}
// Get the option of virtual Keyb configured
public bool isHMIenabled()
{
return Config.VendorHmiConfig.Enabled;
}
// Get the option of PROD Enabled
public bool isPRODenabled()
{
return Config.ProdSoftwareConfig.Enabled;
}
// Get the SCM option
public bool isSCMVisualStyle()
{
return Config.ClientConfig.IsSCM;
}
public string openExternalBrowser(string proc)
{
Process.Start(proc);
return "";
}
#endregion STEP_METHODS
#region PROCESSES_METHODS
// Read all configured processes
public string getConfiguredProcesses()
{
return JsonConvert.SerializeObject(Config.ExtSoftwaresConfig.Where(X => X.inMainMenuBar == false));
}
// Read all configured processes in main menu
public string getConfiguredProcessesInMainMenu()
{
return JsonConvert.SerializeObject(Config.ExtSoftwaresConfig.Where(X => X.inMainMenuBar == true));
}
// Start a new process
public void startNewProcess(string proc)
{
Thread t = new Thread(new ParameterizedThreadStart(OpenNew));
t.Start(proc);
}
// Open the last window or Start a new process
public void openOrStartProcess(string proc)
{
Thread t = new Thread(new ParameterizedThreadStart(OpenStartNew));
t.Start(proc);
}
// Function used in Thread
private void OpenStartNew(object id)
{
Software sft = Config.ExtSoftwaresConfig.FirstOrDefault(X => X.id == (string)id);
if (sft != null && File.Exists(sft.path))
{
Process[] p = Process.GetProcessesByName(Path.GetFileNameWithoutExtension(sft.path)).OrderByDescending(X => X.StartTime).ToArray();
if (p.Count() > 0 && p[0].MainWindowHandle != IntPtr.Zero)
NcWindow.ForceExtFocus(p[0].MainWindowHandle, 0, 0, 0, 0);
else
{
ProcessStartInfo PS = new ProcessStartInfo(sft.path, sft.arguments);
PS.WorkingDirectory = new FileInfo(sft.path).Directory.FullName;
Process.Start(PS);
}
}
}
// Function used in Thread
private void OpenNew(object id)
{
Software sft = Config.ExtSoftwaresConfig.FirstOrDefault(X => X.id == (string)id);
if (sft != null)
{
ProcessStartInfo PS = new ProcessStartInfo(sft.path, sft.arguments);
PS.WorkingDirectory = new FileInfo(sft.path).Directory.FullName;
Process.Start(PS);
}
}
#endregion PROCESSES_METHODS
#region FILESYSTEM_METHODS
public string getOSdriveList()
{
List<Drive> drivelist = new List<Drive>();
if (Directory.Exists(THERMO_RECIPE_PATH))
{
drivelist.Add(new Drive()
{
Name = ElaborateName("Recipes", "", DriveType.Unknown),
Path = THERMO_RECIPE_PATH + "\\",
Type = "SPFO"
});
}
return JsonConvert.SerializeObject(drivelist);
}
public string getOSextDriveList()
{
List<Drive> drivelist = new List<Drive>();
// USB & HD Drives
foreach (var drive in DriveInfo.GetDrives())
{
if (drive.IsReady)
{
//Filter NC Address
if (drive.DriveType != DriveType.Network && drive.DriveType == DriveType.Removable)
{
drivelist.Add(new Drive()
{
Name = ElaborateName(drive.VolumeLabel, drive.Name.TrimEnd('\\'), drive.DriveType),
Path = drive.RootDirectory.ToString(),
Type = ElaborateType(drive.DriveType)
});
}
}
}
return JsonConvert.SerializeObject(drivelist);
}
public string backupRecipes(String p)
{
if (!Directory.Exists(p))
{
return (JsonConvert.SerializeObject(new ErrorContainer("path_not_exists")));
}
try
{
string finalPath = p + "Backup_Recipes_" + DateTime.Now.ToString("yyyy_MM_dd_HH_mm_ss");
Directory.CreateDirectory(finalPath);
this.CopyFilesRecursively(new DirectoryInfo(THERMO_RECIPE_PATH),new DirectoryInfo(finalPath));
Process.Start(finalPath);
}
catch (Exception e)
{
return (JsonConvert.SerializeObject(new ErrorContainer("error_during_backup")));
}
return JsonConvert.SerializeObject("");
}
public string backupSubRecipes(String p, String folder)
{
if (!Directory.Exists(p))
{
return (JsonConvert.SerializeObject(new ErrorContainer("path_not_exists")));
}
folder = folder.Remove(0,THERMO_RECIPE_FOLDER_NAME.Length);
try
{
string finalPath = p + "Backup_Recipes_" + DateTime.Now.ToString("yyyy_MM_dd_HH_mm_ss");
Directory.CreateDirectory(finalPath);
this.CopyFilesRecursively(new DirectoryInfo(THERMO_RECIPE_PATH + folder), new DirectoryInfo(finalPath));
File.WriteAllText(finalPath + "\\data.json", JsonConvert.SerializeObject(new FolderBackup(folder)));
Process.Start(finalPath);
}
catch (Exception e)
{
return (JsonConvert.SerializeObject(new ErrorContainer("error_during_backup")));
}
return JsonConvert.SerializeObject("");
}
// Read all files in directory
public string getFileList(string p)
{
List<FileModel> filelist = new List<FileModel>();
if (p != RECENT_FOLDER_KEY && !Directory.Exists(p))
{
return (JsonConvert.SerializeObject(new ErrorContainer("file_not_exists")));
}
try
{
if (p == RECENT_FOLDER_KEY)
{
filelist = new List<FileModel>();
}
else
{
// Add directories
foreach (string item in Directory.GetDirectories(p))
{
filelist.Add(new FileModel
{
Name = Path.GetFileName(item),
AbsolutePath = Path.GetFullPath(item),
Path = Path.GetFullPath(item),
IsDirectory = true,
FileExist = true,
IsMain = false
});
}
// Add files
foreach (string item in Directory.GetFiles(p))
{
if (_validExtensions.Contains(Path.GetExtension(item).ToLower()))
{
bool isJob = false;
filelist.Add(new FileModel
{
Name = Path.GetFileName(item),
AbsolutePath = Path.GetFullPath(item),
Path = Path.GetFullPath(item),
IsDirectory = false,
IsJob = isJob,
IsMain = false,
FileExist = true
});
}
}
}
}
catch { }
return (JsonConvert.SerializeObject(filelist));
}
// Read info of a file
public string getProgramInfo(string p)
{
string imagePath, imageDirectory;
if (!File.Exists(p))
{
return (JsonConvert.SerializeObject(new InfoFile()));
}
FileInfo f = new FileInfo(p);
InfoFile file = new InfoFile
{
Name = f.Name,
CreationDate = f.CreationTime,
LastModDate = f.LastAccessTime,
AbsolutePath = p,
CanEdit = !f.IsReadOnly
};
imagePath = Path.GetFileNameWithoutExtension(p);
imageDirectory = Path.GetDirectoryName(p);
file.SheetX = "";
file.SheetY = "";
file.SheetZ = "";
file.Annotation = "";
try
{
dynamic content = JsonConvert.DeserializeObject(File.ReadAllText(p));
if (content != null && content.RecipeParameters != null)
{
if (content.RecipeParameters.general_sizes_sheet_dim_x != null)
file.SheetX = content.RecipeParameters.general_sizes_sheet_dim_x;
if (content.RecipeParameters.general_sizes_sheet_dim_y != null)
file.SheetY = content.RecipeParameters.general_sizes_sheet_dim_y;
if (content.RecipeParameters.general_sizes_sheet_thickness != null)
file.SheetZ = content.RecipeParameters.general_sizes_sheet_thickness;
if (content.recipeNotes != null)
file.Annotation = content.recipeNotes;
}
foreach (string ext in _validImages)
{
if (File.Exists(imageDirectory + "/" + imagePath + ext))
{
if (ext.ToLower().Equals(".svg"))
file.PreviewBase64 = File.ReadAllText(imageDirectory + "/" + imagePath + ext);
else
file.PreviewBase64 = "data:image/" + ext + ";base64," + Convert.ToBase64String(File.ReadAllBytes(imageDirectory + "/" + imagePath + ext));
break;
}
}
}
catch (Exception ex)
{
}
return (JsonConvert.SerializeObject(file));
}
public string duplicateRecipe(string p1, string p2)
{
string oldFile = CMS_PATH + "\\" + p1 + ".rcp";
string newFile = CMS_PATH + "\\" + p2 + ".rcp";
string oldImage = CMS_PATH + "\\" + p1 + ".svg";
string newImage = CMS_PATH + "\\" + p2 + ".svg";
if (!File.Exists(oldFile))
{
return (JsonConvert.SerializeObject(new ErrorContainer("file_not_found")));
}
if (File.Exists(newFile))
{
return (JsonConvert.SerializeObject(new ErrorContainer("file_already_exists")));
}
try
{
File.Copy(oldFile, newFile, true);
if (File.Exists(oldImage))
{
File.Copy(oldImage, newImage, true);
}
}
catch (Exception ex)
{
return(JsonConvert.SerializeObject(new ErrorContainer("cannot_copy_file")));
}
return "";
}
public string getAllRecipeDirectories()
{
List<string> dirs = this.DirSearch(THERMO_RECIPE_PATH);
for (int i = 0; i < dirs.Count; i++)
{
dirs[i] = dirs[i].Remove(0, CMS_PATH.Length + 1);
}
return(JsonConvert.SerializeObject(dirs));
}
public string deleteFile(string p)
{
FileAttributes attr = File.GetAttributes(p);
if (!File.Exists(p) || attr.HasFlag(FileAttributes.Directory))
{
return (JsonConvert.SerializeObject(new ErrorContainer("file_not_found")));
}
if (attr.HasFlag(FileAttributes.ReadOnly))
{
return (JsonConvert.SerializeObject(new ErrorContainer("file_not_editable")));
}
try
{
File.Delete(p);
string images = Path.ChangeExtension(p, "svg");
if (File.Exists(images))
{
File.Delete(images);
}
}
catch (Exception ex)
{
return (JsonConvert.SerializeObject(new ErrorContainer("cannot_delete_file")));
}
return "";
}
public string deleteFolder(string p)
{
FileAttributes attr = File.GetAttributes(p);
if (!Directory.Exists(p) || !attr.HasFlag(FileAttributes.Directory))
{
return (JsonConvert.SerializeObject(new ErrorContainer("directory_not_found")));
}
if (attr.HasFlag(FileAttributes.ReadOnly))
{
return (JsonConvert.SerializeObject(new ErrorContainer("directory_not_editable")));
}
try
{
Directory.Delete(p, true);
}
catch (Exception ex)
{
return (JsonConvert.SerializeObject(new ErrorContainer("cannot_delete_directory")));
}
return "";
}
public string createFolder(string path)
{
if (Directory.Exists(path))
{
return (JsonConvert.SerializeObject(new ErrorContainer("directory_already_exists")));
}
try
{
Directory.CreateDirectory(path);
}
catch (Exception ex)
{
return (JsonConvert.SerializeObject(new ErrorContainer("cannot_delete_directory")));
}
return "";
}
// Private functions
private string ElaborateType(DriveType type)
{
switch (type)
{
case DriveType.Fixed: return "HD";
case DriveType.Removable: return "USB";
case DriveType.Network: return "NTW";
}
return "SPFO";
}
private string ElaborateName(string name, string letter, DriveType type)
{
var retName = "";
if (!string.IsNullOrWhiteSpace(name))
retName = name;
else
{
switch (type)
{
case DriveType.Fixed: retName = "Hard_Disk"; break;
case DriveType.Removable: retName = "Usb_Disk"; break;
case DriveType.Network: retName = "Netword_Disk"; break;
default: retName = "Undefined"; break;
}
}
if (!string.IsNullOrWhiteSpace(letter))
retName = retName + " (" + letter + ")";
return retName;
}
public void CopyFilesRecursively(DirectoryInfo source, DirectoryInfo target)
{
foreach (DirectoryInfo dir in source.GetDirectories())
CopyFilesRecursively(dir, target.CreateSubdirectory(dir.Name));
foreach (FileInfo file in source.GetFiles())
file.CopyTo(Path.Combine(target.FullName, file.Name));
}
private List<String> DirSearch(string sDir)
{
List<String> files = new List<String>();
try
{
files.Add(sDir);
foreach (string d in Directory.GetDirectories(sDir))
{
files.AddRange(DirSearch(d));
}
}
catch (System.Exception excpt)
{
MessageBox.Show(excpt.Message);
}
return files;
}
public void cleanFileWatcher()
{
}
#endregion FILESYSTEM_METHODS
}
}
+11
View File
@@ -0,0 +1,11 @@
using System;
namespace Client2020.BrowserTools.Models
{
public class Drive
{
public String Name;
public String Path;
public String Type;
}
}
@@ -0,0 +1,14 @@
using System;
namespace Client2020.BrowserTools.Models.Errors
{
public class ErrorContainer
{
public String error;
public ErrorContainer(String Err)
{
this.error = Err;
}
}
}
+13
View File
@@ -0,0 +1,13 @@
namespace Client2020.BrowserTools.Models
{
public class FileModel
{
public string Name;
public string AbsolutePath;
public string Path;
public bool IsDirectory;
public bool IsJob;
public bool IsMain;
public bool FileExist;
}
}
@@ -0,0 +1,14 @@
using System;
using System.Collections.Generic;
namespace Client2020.BrowserTools.Models
{
public class FolderBackup
{
public String AbsolutePath;
public FolderBackup(String Str)
{
this.AbsolutePath = Str;
}
}
}
@@ -0,0 +1,20 @@
using System;
using System.Collections.Generic;
namespace Client2020.BrowserTools.Models
{
public class InfoFile
{
public String Name;
public String AbsolutePath;
public DateTime CreationDate;
public DateTime LastModDate;
public String SheetX;
public String SheetY;
public String SheetZ;
public String Annotation;
public Boolean CanEdit;
public string PreviewBase64;
}
}
@@ -0,0 +1,21 @@
using Client2020.BrowserTools.Metadata;
using System;
using System.Collections.Generic;
namespace Client2020.BrowserTools.Models
{
public class JobToStep
{
public string name;
public DateTime lastEditTimestamp;
public string isoMainProgram;
public Metas metadata;
public List<PPContainer> partPrograms;
public JobToStep()
{
metadata = new Metas();
partPrograms = new List<PPContainer>();
}
}
}
@@ -0,0 +1,17 @@
using System.Collections.Generic;
namespace Client2020.BrowserTools.Metadata
{
public class CustomParam
{
public string name;
public string type;
public List<string> selectionList;
public int value;
public CustomParam()
{
selectionList = new List<string>();
}
}
}
@@ -0,0 +1,17 @@
using System;
using System.Collections.Generic;
namespace Client2020.BrowserTools.Metadata
{
public class GenericsParam
{
public List<ImageParam> images;
public string description;
public TimeSpan executionTime;
public GenericsParam()
{
images = new List<ImageParam>();
}
}
}
@@ -0,0 +1,8 @@
namespace Client2020.BrowserTools.Metadata
{
public class ImageParam
{
public string name;
public string base64;
}
}
@@ -0,0 +1,18 @@
using System.Collections.Generic;
namespace Client2020.BrowserTools.Metadata
{
public class Metas
{
public GenericsParam generics;
public List<int> tools;
public List<CustomParam> customs;
public Metas()
{
generics = new GenericsParam();
tools = new List<int>();
customs = new List<CustomParam>();
}
}
}
@@ -0,0 +1,14 @@
using System;
namespace Client2020.BrowserTools.Metadata
{
public class PPContainer
{
public String name;
public PPContainer(String name)
{
this.name = name;
}
}
}
@@ -0,0 +1,20 @@
using Client2020.BrowserTools.Metadata;
using System;
using System.Collections.Generic;
namespace Client2020.BrowserTools.Models
{
public class MetadataToFile
{
public string description;
public TimeSpan executionTime;
public List<int> tools;
public List<CustomParam> customs;
public MetadataToFile()
{
tools = new List<int>();
customs = new List<CustomParam>();
}
}
}
@@ -0,0 +1,18 @@
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
namespace Client2020.BrowserTools.Models
{
class ScreenshotController
{
public String path;
public ScreenshotController(String path)
{
this.path = path;
}
}
}
+26
View File
@@ -0,0 +1,26 @@
using CefSharp;
namespace Client2020
{
internal class CMSContextBrowser : IContextMenuHandler
{
public void OnBeforeContextMenu(IWebBrowser chromiumWebBrowser, IBrowser browser, IFrame frame, IContextMenuParams parameters, IMenuModel model)
{
//throw new System.NotImplementedException();
}
public bool OnContextMenuCommand(IWebBrowser chromiumWebBrowser, IBrowser browser, IFrame frame, IContextMenuParams parameters, CefMenuCommand commandId, CefEventFlags eventFlags)
{
return false;
}
public void OnContextMenuDismissed(IWebBrowser chromiumWebBrowser, IBrowser browser, IFrame frame)
{
}
public bool RunContextMenu(IWebBrowser chromiumWebBrowser, IBrowser browser, IFrame frame, IContextMenuParams parameters, IMenuModel model, IRunContextMenuCallback callback)
{
return true;
}
}
}
+50
View File
@@ -0,0 +1,50 @@
using CefSharp;
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
namespace Client2020
{
class CMSRenderBrowser : IRenderProcessMessageHandler
{
public void OnFocusedNodeChanged(IWebBrowser chromiumWebBrowser, IBrowser browser, IFrame frame, IDomNode node)
{
if (node != null)
{
string NodeName = node.TagName.ToLower();
string dom = node["type"];
//Filter if this node is an INPUT Node
if (NodeName != null && NodeName.Equals("input"))
{
//Filter if the node Type is TEXT or PASSWORD
if (dom == null || (dom.ToLower().Equals("text") || dom.ToLower().Equals("password")))
NcWindow.openVirtualKeyboard(true, false);
}
//Filter if this node is TEXTAREA Node
else if (NodeName != null && NodeName.Equals("textarea"))
NcWindow.openVirtualKeyboard(true, false);
else
NcWindow.closeVirtualKeyboard();
}
else
NcWindow.closeVirtualKeyboard();
}
public void OnContextCreated(IWebBrowser chromiumWebBrowser, IBrowser browser, IFrame frame)
{
}
public void OnContextReleased(IWebBrowser chromiumWebBrowser, IBrowser browser, IFrame frame)
{
}
public void OnUncaughtException(IWebBrowser chromiumWebBrowser, IBrowser browser, IFrame frame, JavascriptException exception)
{
}
}
}
+194
View File
@@ -0,0 +1,194 @@
<?xml version="1.0" encoding="utf-8"?>
<Project ToolsVersion="15.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
<Import Project="..\packages\CefSharp.WinForms.84.4.10\build\CefSharp.WinForms.props" Condition="Exists('..\packages\CefSharp.WinForms.84.4.10\build\CefSharp.WinForms.props')" />
<Import Project="..\packages\CefSharp.Common.84.4.10\build\CefSharp.Common.props" Condition="Exists('..\packages\CefSharp.Common.84.4.10\build\CefSharp.Common.props')" />
<Import Project="..\packages\cef.redist.x86.84.4.1\build\cef.redist.x86.props" Condition="Exists('..\packages\cef.redist.x86.84.4.1\build\cef.redist.x86.props')" />
<Import Project="..\packages\cef.redist.x64.84.4.1\build\cef.redist.x64.props" Condition="Exists('..\packages\cef.redist.x64.84.4.1\build\cef.redist.x64.props')" />
<Import Project="$(MSBuildExtensionsPath)\$(MSBuildToolsVersion)\Microsoft.Common.props" Condition="Exists('$(MSBuildExtensionsPath)\$(MSBuildToolsVersion)\Microsoft.Common.props')" />
<PropertyGroup>
<Configuration Condition=" '$(Configuration)' == '' ">Debug</Configuration>
<Platform Condition=" '$(Platform)' == '' ">AnyCPU</Platform>
<ProjectGuid>{0780047F-12E4-4FCC-9748-6B23F0FD3711}</ProjectGuid>
<OutputType>WinExe</OutputType>
<RootNamespace>Client2020</RootNamespace>
<AssemblyName>Active_Client</AssemblyName>
<TargetFrameworkVersion>v4.6.2</TargetFrameworkVersion>
<FileAlignment>512</FileAlignment>
<AutoGenerateBindingRedirects>true</AutoGenerateBindingRedirects>
<Deterministic>true</Deterministic>
<NuGetPackageImportStamp>
</NuGetPackageImportStamp>
</PropertyGroup>
<PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Debug|AnyCPU' ">
<PlatformTarget>x64</PlatformTarget>
<DebugSymbols>true</DebugSymbols>
<DebugType>full</DebugType>
<Optimize>false</Optimize>
<OutputPath>..\Thermo.Active\bin\Client_Debug\x64\</OutputPath>
<DefineConstants>DEBUG;TRACE</DefineConstants>
<ErrorReport>prompt</ErrorReport>
<WarningLevel>4</WarningLevel>
</PropertyGroup>
<PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Release|AnyCPU' ">
<PlatformTarget>AnyCPU</PlatformTarget>
<DebugType>pdbonly</DebugType>
<Optimize>true</Optimize>
<OutputPath>bin\Release\</OutputPath>
<DefineConstants>TRACE</DefineConstants>
<ErrorReport>prompt</ErrorReport>
<WarningLevel>4</WarningLevel>
</PropertyGroup>
<PropertyGroup>
<StartupObject>Client2020.Program</StartupObject>
</PropertyGroup>
<PropertyGroup Condition="'$(Configuration)|$(Platform)' == 'Release|x64'">
<OutputPath>..\Thermo.Active\bin\Client\x64\</OutputPath>
<PlatformTarget>x64</PlatformTarget>
</PropertyGroup>
<PropertyGroup />
<PropertyGroup>
<ApplicationIcon>Resources\ACTIVE_ICONA.ico</ApplicationIcon>
</PropertyGroup>
<PropertyGroup Condition="'$(Configuration)|$(Platform)' == 'Debug|x64'">
<OutputPath>..\Thermo.Active\bin\Client_Debug\x64\</OutputPath>
<PlatformTarget>x64</PlatformTarget>
</PropertyGroup>
<ItemGroup>
<Reference Include="Newtonsoft.Json, Version=12.0.0.0, Culture=neutral, PublicKeyToken=30ad4fe6b2a6aeed, processorArchitecture=MSIL">
<HintPath>..\packages\Newtonsoft.Json.12.0.3\lib\net45\Newtonsoft.Json.dll</HintPath>
</Reference>
<Reference Include="System" />
<Reference Include="System.Core" />
<Reference Include="System.Management" />
<Reference Include="System.Management.Instrumentation" />
<Reference Include="System.Xml.Linq" />
<Reference Include="System.Data.DataSetExtensions" />
<Reference Include="Microsoft.CSharp" />
<Reference Include="System.Data" />
<Reference Include="System.Deployment" />
<Reference Include="System.Drawing" />
<Reference Include="System.Net.Http" />
<Reference Include="System.Windows.Forms" />
<Reference Include="System.Xml" />
</ItemGroup>
<ItemGroup>
<Compile Include="BrowserTools\BrowserJSObject.cs" />
<Compile Include="BrowserTools\Models\Drive.cs" />
<Compile Include="BrowserTools\Models\Errors\ErrorContainer.cs" />
<Compile Include="BrowserTools\Models\File.cs" />
<Compile Include="BrowserTools\Models\FolderBackup.cs" />
<Compile Include="BrowserTools\Models\InfoFile.cs" />
<Compile Include="BrowserTools\Models\JobToStep.cs" />
<Compile Include="BrowserTools\Models\MetadataToFile.cs" />
<Compile Include="BrowserTools\Models\Metadata\CustomParam.cs" />
<Compile Include="BrowserTools\Models\Metadata\GenericsParam.cs" />
<Compile Include="BrowserTools\Models\Metadata\ImageParam.cs" />
<Compile Include="BrowserTools\Models\Metadata\Metas.cs" />
<Compile Include="BrowserTools\Models\Metadata\PPContainer.cs" />
<Compile Include="BrowserTools\Models\ScreenshotController.cs" />
<Compile Include="CMSContextBrowser.cs" />
<Compile Include="CMSRenderBrowser.cs" />
<Compile Include="LoadingForm.cs">
<SubType>Form</SubType>
</Compile>
<Compile Include="LoadingForm.Designer.cs">
<DependentUpon>LoadingForm.cs</DependentUpon>
</Compile>
<Compile Include="MainForm.cs">
<SubType>Form</SubType>
</Compile>
<Compile Include="MainForm.Designer.cs">
<DependentUpon>MainForm.cs</DependentUpon>
</Compile>
<Compile Include="NcWindow.cs" />
<Compile Include="OpeningForm.cs">
<SubType>Form</SubType>
</Compile>
<Compile Include="OpeningForm.Designer.cs">
<DependentUpon>OpeningForm.cs</DependentUpon>
</Compile>
<Compile Include="Program.cs" />
<Compile Include="Properties\AssemblyInfo.cs" />
<EmbeddedResource Include="LoadingForm.resx">
<DependentUpon>LoadingForm.cs</DependentUpon>
</EmbeddedResource>
<EmbeddedResource Include="MainForm.resx">
<DependentUpon>MainForm.cs</DependentUpon>
</EmbeddedResource>
<EmbeddedResource Include="OpeningForm.resx">
<DependentUpon>OpeningForm.cs</DependentUpon>
</EmbeddedResource>
<EmbeddedResource Include="Properties\Resources.resx">
<Generator>ResXFileCodeGenerator</Generator>
<LastGenOutput>Resources.Designer.cs</LastGenOutput>
<SubType>Designer</SubType>
</EmbeddedResource>
<Compile Include="Properties\Resources.Designer.cs">
<AutoGen>True</AutoGen>
<DependentUpon>Resources.resx</DependentUpon>
<DesignTime>True</DesignTime>
</Compile>
<None Include="app.manifest" />
<None Include="packages.config" />
<None Include="Properties\Settings.settings">
<Generator>SettingsSingleFileGenerator</Generator>
<LastGenOutput>Settings.Designer.cs</LastGenOutput>
</None>
<Compile Include="Properties\Settings.Designer.cs">
<AutoGen>True</AutoGen>
<DependentUpon>Settings.settings</DependentUpon>
<DesignTimeSharedInput>True</DesignTimeSharedInput>
</Compile>
</ItemGroup>
<ItemGroup>
<None Include="App.config" />
</ItemGroup>
<ItemGroup>
<ProjectReference Include="..\Client.Config\Client.Config.csproj">
<Project>{205a6ade-fb5a-45cb-9c51-9817e7bb8939}</Project>
<Name>Client.Config</Name>
</ProjectReference>
<ProjectReference Include="..\Client.Utils\Client.Utils.csproj">
<Project>{34434b22-d546-4a5c-b575-49720c77643a}</Project>
<Name>Client.Utils</Name>
</ProjectReference>
</ItemGroup>
<ItemGroup>
<None Include="Resources\ACTIVE_ICONA.ico" />
</ItemGroup>
<ItemGroup>
<None Include="Resources\ACTIVE_ICONA.png" />
</ItemGroup>
<ItemGroup>
<None Include="Resources\CM_ACTIVE_LOGO.png" />
</ItemGroup>
<ItemGroup>
<None Include="Resources\CM_ACTIVE_LOGO_INVERTED.png" />
</ItemGroup>
<ItemGroup>
<None Include="Resources\CMS_LOGO.png" />
</ItemGroup>
<ItemGroup>
<None Include="Resources\MAESTRO_ACTIVE_LOGO.jpg" />
</ItemGroup>
<ItemGroup>
<None Include="Resources\SCM_MAESTRO_ACTIVE_ICONA.ico" />
</ItemGroup>
<ItemGroup>
<None Include="Resources\SinumerikHmi.ico" />
</ItemGroup>
<Import Project="$(MSBuildToolsPath)\Microsoft.CSharp.targets" />
<Target Name="EnsureNuGetPackageBuildImports" BeforeTargets="PrepareForBuild">
<PropertyGroup>
<ErrorText>This project references NuGet package(s) that are missing on this computer. Use NuGet Package Restore to download them. For more information, see http://go.microsoft.com/fwlink/?LinkID=322105. The missing file is {0}.</ErrorText>
</PropertyGroup>
<Error Condition="!Exists('..\packages\cef.redist.x64.84.4.1\build\cef.redist.x64.props')" Text="$([System.String]::Format('$(ErrorText)', '..\packages\cef.redist.x64.84.4.1\build\cef.redist.x64.props'))" />
<Error Condition="!Exists('..\packages\cef.redist.x86.84.4.1\build\cef.redist.x86.props')" Text="$([System.String]::Format('$(ErrorText)', '..\packages\cef.redist.x86.84.4.1\build\cef.redist.x86.props'))" />
<Error Condition="!Exists('..\packages\CefSharp.Common.84.4.10\build\CefSharp.Common.props')" Text="$([System.String]::Format('$(ErrorText)', '..\packages\CefSharp.Common.84.4.10\build\CefSharp.Common.props'))" />
<Error Condition="!Exists('..\packages\CefSharp.Common.84.4.10\build\CefSharp.Common.targets')" Text="$([System.String]::Format('$(ErrorText)', '..\packages\CefSharp.Common.84.4.10\build\CefSharp.Common.targets'))" />
<Error Condition="!Exists('..\packages\CefSharp.WinForms.84.4.10\build\CefSharp.WinForms.props')" Text="$([System.String]::Format('$(ErrorText)', '..\packages\CefSharp.WinForms.84.4.10\build\CefSharp.WinForms.props'))" />
<Error Condition="!Exists('..\packages\CefSharp.WinForms.84.4.10\build\CefSharp.WinForms.targets')" Text="$([System.String]::Format('$(ErrorText)', '..\packages\CefSharp.WinForms.84.4.10\build\CefSharp.WinForms.targets'))" />
</Target>
<Import Project="..\packages\CefSharp.Common.84.4.10\build\CefSharp.Common.targets" Condition="Exists('..\packages\CefSharp.Common.84.4.10\build\CefSharp.Common.targets')" />
<Import Project="..\packages\CefSharp.WinForms.84.4.10\build\CefSharp.WinForms.targets" Condition="Exists('..\packages\CefSharp.WinForms.84.4.10\build\CefSharp.WinForms.targets')" />
</Project>
+158
View File
@@ -0,0 +1,158 @@
namespace Client2020
{
partial class LoadingForm
{
/// <summary>
/// Required designer variable.
/// </summary>
private System.ComponentModel.IContainer components = null;
/// <summary>
/// Clean up any resources being used.
/// </summary>
/// <param name="disposing">true if managed resources should be disposed; otherwise, false.</param>
protected override void Dispose(bool disposing)
{
if (disposing && (components != null))
{
components.Dispose();
}
base.Dispose(disposing);
}
#region Windows Form Designer generated code
/// <summary>
/// Required method for Designer support - do not modify
/// the contents of this method with the code editor.
/// </summary>
private void InitializeComponent()
{
System.ComponentModel.ComponentResourceManager resources = new System.ComponentModel.ComponentResourceManager(typeof(LoadingForm));
this.StatusLBL = new System.Windows.Forms.Label();
this.ErrorLBL = new System.Windows.Forms.Label();
this.CloseLabel = new System.Windows.Forms.Label();
this.LogoSCM = new System.Windows.Forms.PictureBox();
this.VersionLBL = new System.Windows.Forms.Label();
this.LogoCMS = new System.Windows.Forms.PictureBox();
((System.ComponentModel.ISupportInitialize)(this.LogoSCM)).BeginInit();
((System.ComponentModel.ISupportInitialize)(this.LogoCMS)).BeginInit();
this.SuspendLayout();
//
// StatusLBL
//
this.StatusLBL.Anchor = ((System.Windows.Forms.AnchorStyles)(((System.Windows.Forms.AnchorStyles.Bottom | System.Windows.Forms.AnchorStyles.Left)
| System.Windows.Forms.AnchorStyles.Right)));
this.StatusLBL.BackColor = System.Drawing.Color.White;
this.StatusLBL.Font = new System.Drawing.Font("Microsoft Sans Serif", 9.749999F, System.Drawing.FontStyle.Bold, System.Drawing.GraphicsUnit.Point, ((byte)(0)));
this.StatusLBL.ForeColor = System.Drawing.Color.FromArgb(((int)(((byte)(75)))), ((int)(((byte)(75)))), ((int)(((byte)(75)))));
this.StatusLBL.Location = new System.Drawing.Point(0, 384);
this.StatusLBL.Name = "StatusLBL";
this.StatusLBL.Size = new System.Drawing.Size(502, 34);
this.StatusLBL.TabIndex = 5;
this.StatusLBL.Text = "...";
this.StatusLBL.TextAlign = System.Drawing.ContentAlignment.MiddleLeft;
//
// ErrorLBL
//
this.ErrorLBL.Anchor = ((System.Windows.Forms.AnchorStyles)(((System.Windows.Forms.AnchorStyles.Bottom | System.Windows.Forms.AnchorStyles.Left)
| System.Windows.Forms.AnchorStyles.Right)));
this.ErrorLBL.BackColor = System.Drawing.Color.White;
this.ErrorLBL.Font = new System.Drawing.Font("Microsoft Sans Serif", 9.749999F, System.Drawing.FontStyle.Bold, System.Drawing.GraphicsUnit.Point, ((byte)(0)));
this.ErrorLBL.ForeColor = System.Drawing.Color.FromArgb(((int)(((byte)(192)))), ((int)(((byte)(0)))), ((int)(((byte)(0)))));
this.ErrorLBL.Location = new System.Drawing.Point(501, 384);
this.ErrorLBL.Name = "ErrorLBL";
this.ErrorLBL.Size = new System.Drawing.Size(468, 34);
this.ErrorLBL.TabIndex = 7;
this.ErrorLBL.Text = "...";
this.ErrorLBL.TextAlign = System.Drawing.ContentAlignment.MiddleLeft;
//
// CloseLabel
//
this.CloseLabel.Anchor = ((System.Windows.Forms.AnchorStyles)((System.Windows.Forms.AnchorStyles.Top | System.Windows.Forms.AnchorStyles.Right)));
this.CloseLabel.BackColor = System.Drawing.Color.White;
this.CloseLabel.Cursor = System.Windows.Forms.Cursors.Hand;
this.CloseLabel.Font = new System.Drawing.Font("Microsoft Sans Serif", 20.25F, System.Drawing.FontStyle.Bold, System.Drawing.GraphicsUnit.Point, ((byte)(0)));
this.CloseLabel.ForeColor = System.Drawing.Color.FromArgb(((int)(((byte)(15)))), ((int)(((byte)(43)))), ((int)(((byte)(91)))));
this.CloseLabel.Location = new System.Drawing.Point(922, 0);
this.CloseLabel.Margin = new System.Windows.Forms.Padding(3, 0, 2, 0);
this.CloseLabel.Name = "CloseLabel";
this.CloseLabel.Padding = new System.Windows.Forms.Padding(0, 0, 5, 0);
this.CloseLabel.Size = new System.Drawing.Size(47, 31);
this.CloseLabel.TabIndex = 3;
this.CloseLabel.TextAlign = System.Drawing.ContentAlignment.MiddleRight;
//
// LogoSCM
//
this.LogoSCM.BackColor = System.Drawing.Color.White;
this.LogoSCM.BackgroundImageLayout = System.Windows.Forms.ImageLayout.None;
this.LogoSCM.Image = global::Client2020.Properties.Resources.MAESTRO_ACTIVE_LOGO;
this.LogoSCM.Location = new System.Drawing.Point(0, 0);
this.LogoSCM.Margin = new System.Windows.Forms.Padding(0);
this.LogoSCM.Name = "LogoSCM";
this.LogoSCM.Size = new System.Drawing.Size(969, 400);
this.LogoSCM.SizeMode = System.Windows.Forms.PictureBoxSizeMode.Zoom;
this.LogoSCM.TabIndex = 8;
this.LogoSCM.TabStop = false;
this.LogoSCM.Visible = false;
//
// VersionLBL
//
this.VersionLBL.BackColor = System.Drawing.Color.White;
this.VersionLBL.Font = new System.Drawing.Font("Microsoft Sans Serif", 18F, System.Drawing.FontStyle.Bold);
this.VersionLBL.ForeColor = System.Drawing.Color.FromArgb(((int)(((byte)(75)))), ((int)(((byte)(75)))), ((int)(((byte)(75)))));
this.VersionLBL.Location = new System.Drawing.Point(0, 0);
this.VersionLBL.Margin = new System.Windows.Forms.Padding(0);
this.VersionLBL.Name = "VersionLBL";
this.VersionLBL.Size = new System.Drawing.Size(929, 31);
this.VersionLBL.TabIndex = 0;
this.VersionLBL.TextAlign = System.Drawing.ContentAlignment.MiddleLeft;
//
// LogoCMS
//
this.LogoCMS.BackColor = System.Drawing.Color.White;
this.LogoCMS.BackgroundImageLayout = System.Windows.Forms.ImageLayout.None;
this.LogoCMS.Image = global::Client2020.Properties.Resources.CM_ACTIVE_LOGO_INVERTED;
this.LogoCMS.Location = new System.Drawing.Point(0, 31);
this.LogoCMS.Margin = new System.Windows.Forms.Padding(0);
this.LogoCMS.Name = "LogoCMS";
this.LogoCMS.Size = new System.Drawing.Size(969, 369);
this.LogoCMS.SizeMode = System.Windows.Forms.PictureBoxSizeMode.Zoom;
this.LogoCMS.TabIndex = 6;
this.LogoCMS.TabStop = false;
this.LogoCMS.Visible = false;
//
// LoadingForm
//
this.AutoScaleDimensions = new System.Drawing.SizeF(6F, 13F);
this.AutoScaleMode = System.Windows.Forms.AutoScaleMode.Font;
this.ClientSize = new System.Drawing.Size(969, 418);
this.ControlBox = false;
this.Controls.Add(this.StatusLBL);
this.Controls.Add(this.VersionLBL);
this.Controls.Add(this.CloseLabel);
this.Controls.Add(this.ErrorLBL);
this.Controls.Add(this.LogoCMS);
this.Controls.Add(this.LogoSCM);
this.FormBorderStyle = System.Windows.Forms.FormBorderStyle.None;
this.Icon = ((System.Drawing.Icon)(resources.GetObject("$this.Icon")));
this.Name = "LoadingForm";
this.Padding = new System.Windows.Forms.Padding(0, 60, 0, 0);
this.StartPosition = System.Windows.Forms.FormStartPosition.Manual;
this.Text = "Loading Active Client";
this.TopMost = true;
((System.ComponentModel.ISupportInitialize)(this.LogoSCM)).EndInit();
((System.ComponentModel.ISupportInitialize)(this.LogoCMS)).EndInit();
this.ResumeLayout(false);
}
#endregion
private System.Windows.Forms.Label StatusLBL;
private System.Windows.Forms.Label ErrorLBL;
private System.Windows.Forms.Label CloseLabel;
private System.Windows.Forms.PictureBox LogoSCM;
private System.Windows.Forms.Label VersionLBL;
private System.Windows.Forms.PictureBox LogoCMS;
}
}
+50
View File
@@ -0,0 +1,50 @@
using Client.Config;
using System;
using System.Drawing;
using System.Windows.Forms;
namespace Client2020
{
public partial class LoadingForm : Form
{
//Constructor
public LoadingForm()
{
InitializeComponent();
if (Config.ClientConfig.IsSCM)
{
LogoCMS.Visible = false;
LogoSCM.Visible = true;
this.Icon = Client2020.Properties.Resources.MAESTRO_ACTIVE_ICON;
}
else
{
LogoCMS.Visible = true;
LogoSCM.Visible = false;
}
//Set window Position
this.Location = new Point((Screen.PrimaryScreen.Bounds.Width / 2) - (this.Width / 2), (Screen.PrimaryScreen.Bounds.Height / 2) - (this.Height / 2));
}
//Show & Set the status
public void Show(String status)
{
this.Show();
//Invoke method if is needed or call the method in STD mode
if (this.InvokeRequired)
{
this.Invoke((MethodInvoker)delegate () { StatusLBL.Text = status; });
}
else
{
StatusLBL.Text = status;
}
}
}
}
File diff suppressed because it is too large Load Diff
+52
View File
@@ -0,0 +1,52 @@
namespace Client2020
{
partial class MainForm
{
/// <summary>
/// Required designer variable.
/// </summary>
private System.ComponentModel.IContainer components = null;
/// <summary>
/// Clean up any resources being used.
/// </summary>
/// <param name="disposing">true if managed resources should be disposed; otherwise, false.</param>
protected override void Dispose(bool disposing)
{
if (disposing && (components != null))
{
components.Dispose();
}
base.Dispose(disposing);
}
#region Windows Form Designer generated code
/// <summary>
/// Required method for Designer support - do not modify
/// the contents of this method with the code editor.
/// </summary>
private void InitializeComponent()
{
System.ComponentModel.ComponentResourceManager resources = new System.ComponentModel.ComponentResourceManager(typeof(MainForm));
this.SuspendLayout();
//
// MainForm
//
this.AutoScaleDimensions = new System.Drawing.SizeF(6F, 13F);
this.AutoScaleMode = System.Windows.Forms.AutoScaleMode.Font;
this.ClientSize = new System.Drawing.Size(1920, 1080);
this.FormBorderStyle = System.Windows.Forms.FormBorderStyle.None;
this.Icon = ((System.Drawing.Icon)(resources.GetObject("$this.Icon")));
this.Name = "MainForm";
this.StartPosition = System.Windows.Forms.FormStartPosition.CenterScreen;
this.Text = "Active Client 2.0";
this.WindowState = System.Windows.Forms.FormWindowState.Maximized;
this.ResumeLayout(false);
}
#endregion
}
}
+91
View File
@@ -0,0 +1,91 @@
using CefSharp;
using CefSharp.WinForms;
using Client.Config;
using Client.Utils;
using Client2020.BrowserTools;
using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using System.Windows.Forms;
namespace Client2020
{
public partial class MainForm : Form
{
ChromiumWebBrowser browser;
public MainForm()
{
InitializeComponent();
//Setup the Icon
if (Config.ClientConfig.IsSCM)
this.Icon = Properties.Resources.MAESTRO_ACTIVE_ICON;
//Start the browser
browser = new ChromiumWebBrowser(Config.ConnectionConfig.StartingUrl);
this.Controls.Add(browser);
//Setup the Object Custom
browser.JavascriptObjectRepository.Register(Constants.BROWSER_JS_OBJ_NAME, new BrowserJSObject(this), isAsync: false, options: BindingOptions.DefaultBinder);
//Setup the Handlers
browser.RenderProcessMessageHandler = new CMSRenderBrowser();
browser.MenuHandler = new CMSContextBrowser();
//Setu the NC behaviour
NcWindow.mainFrm = this;
NcWindow.StartStepFollowing(this.Handle);
}
public void keyPressedHandler(bool altPressed, bool ctrlPressed, bool shiftPressed, int key)
{
//Work only if is a Developer mode
if (Config.ClientConfig.DeveloperMode && altPressed)
{
if (key == (int)Keys.F5)
{
browser.Reload(true);
}
if (key == (int)Keys.F12)
{
WindowInfo wi = new WindowInfo();
wi.SetAsPopup(this.Handle, "DevTools");
browser.ShowDevTools(wi);
}
//wi.SetAsChild(this.Handle);
if (key == (int)Keys.F10)
ShowPopup("chrome://gpu/");
if (key == (int)Keys.F11)
ShowPopup("chrome://version/");
}
}
//Show Chrome Window
private void ShowPopup(string url)
{
int w = 1600, h = 800;
Form frm = new Form();
frm.Controls.Add(new ChromiumWebBrowser(url));
frm.Height = h;
frm.Width = w;
frm.StartPosition = FormStartPosition.CenterScreen;
frm.ShowDialog();
}
}
}
File diff suppressed because it is too large Load Diff
File diff suppressed because it is too large Load Diff
+162
View File
@@ -0,0 +1,162 @@
namespace Client2020
{
partial class OpeningForm
{
/// <summary>
/// Required designer variable.
/// </summary>
private System.ComponentModel.IContainer components = null;
/// <summary>
/// Clean up any resources being used.
/// </summary>
/// <param name="disposing">true if managed resources should be disposed; otherwise, false.</param>
protected override void Dispose(bool disposing)
{
if (disposing && (components != null))
{
components.Dispose();
}
base.Dispose(disposing);
}
#region Windows Form Designer generated code
/// <summary>
/// Required method for Designer support - do not modify
/// the contents of this method with the code editor.
/// </summary>
private void InitializeComponent()
{
System.ComponentModel.ComponentResourceManager resources = new System.ComponentModel.ComponentResourceManager(typeof(OpeningForm));
this.StatusLBL = new System.Windows.Forms.Label();
this.ErrorLBL = new System.Windows.Forms.Label();
this.LogoCMS = new System.Windows.Forms.PictureBox();
this.CloseLabel = new System.Windows.Forms.Label();
this.LogoSCM = new System.Windows.Forms.PictureBox();
this.VersionLBL = new System.Windows.Forms.Label();
((System.ComponentModel.ISupportInitialize)(this.LogoCMS)).BeginInit();
((System.ComponentModel.ISupportInitialize)(this.LogoSCM)).BeginInit();
this.SuspendLayout();
//
// StatusLBL
//
this.StatusLBL.Anchor = ((System.Windows.Forms.AnchorStyles)(((System.Windows.Forms.AnchorStyles.Bottom | System.Windows.Forms.AnchorStyles.Left)
| System.Windows.Forms.AnchorStyles.Right)));
this.StatusLBL.BackColor = System.Drawing.Color.White;
this.StatusLBL.Font = new System.Drawing.Font("Microsoft Sans Serif", 9.749999F, System.Drawing.FontStyle.Bold, System.Drawing.GraphicsUnit.Point, ((byte)(0)));
this.StatusLBL.ForeColor = System.Drawing.Color.FromArgb(((int)(((byte)(75)))), ((int)(((byte)(75)))), ((int)(((byte)(75)))));
this.StatusLBL.Location = new System.Drawing.Point(0, 384);
this.StatusLBL.Name = "StatusLBL";
this.StatusLBL.Size = new System.Drawing.Size(502, 34);
this.StatusLBL.TabIndex = 5;
this.StatusLBL.Text = "...";
this.StatusLBL.TextAlign = System.Drawing.ContentAlignment.MiddleLeft;
//
// ErrorLBL
//
this.ErrorLBL.Anchor = ((System.Windows.Forms.AnchorStyles)(((System.Windows.Forms.AnchorStyles.Bottom | System.Windows.Forms.AnchorStyles.Left)
| System.Windows.Forms.AnchorStyles.Right)));
this.ErrorLBL.BackColor = System.Drawing.Color.White;
this.ErrorLBL.Font = new System.Drawing.Font("Microsoft Sans Serif", 9.749999F, System.Drawing.FontStyle.Bold, System.Drawing.GraphicsUnit.Point, ((byte)(0)));
this.ErrorLBL.ForeColor = System.Drawing.Color.FromArgb(((int)(((byte)(192)))), ((int)(((byte)(0)))), ((int)(((byte)(0)))));
this.ErrorLBL.Location = new System.Drawing.Point(501, 384);
this.ErrorLBL.Name = "ErrorLBL";
this.ErrorLBL.Size = new System.Drawing.Size(468, 34);
this.ErrorLBL.TabIndex = 7;
this.ErrorLBL.Text = "...";
this.ErrorLBL.TextAlign = System.Drawing.ContentAlignment.MiddleLeft;
//
// LogoCMS
//
this.LogoCMS.BackColor = System.Drawing.Color.White;
this.LogoCMS.BackgroundImageLayout = System.Windows.Forms.ImageLayout.None;
this.LogoCMS.Image = global::Client2020.Properties.Resources.CM_ACTIVE_LOGO_INVERTED;
this.LogoCMS.Location = new System.Drawing.Point(0, 31);
this.LogoCMS.Margin = new System.Windows.Forms.Padding(0);
this.LogoCMS.Name = "LogoCMS";
this.LogoCMS.Size = new System.Drawing.Size(969, 369);
this.LogoCMS.SizeMode = System.Windows.Forms.PictureBoxSizeMode.Zoom;
this.LogoCMS.TabIndex = 6;
this.LogoCMS.TabStop = false;
this.LogoCMS.Visible = false;
//
// CloseLabel
//
this.CloseLabel.Anchor = ((System.Windows.Forms.AnchorStyles)((System.Windows.Forms.AnchorStyles.Top | System.Windows.Forms.AnchorStyles.Right)));
this.CloseLabel.BackColor = System.Drawing.Color.White;
this.CloseLabel.Cursor = System.Windows.Forms.Cursors.Hand;
this.CloseLabel.Font = new System.Drawing.Font("Microsoft Sans Serif", 20.25F, System.Drawing.FontStyle.Bold, System.Drawing.GraphicsUnit.Point, ((byte)(0)));
this.CloseLabel.ForeColor = System.Drawing.Color.FromArgb(((int)(((byte)(15)))), ((int)(((byte)(43)))), ((int)(((byte)(91)))));
this.CloseLabel.Location = new System.Drawing.Point(922, 0);
this.CloseLabel.Margin = new System.Windows.Forms.Padding(3, 0, 2, 0);
this.CloseLabel.Name = "CloseLabel";
this.CloseLabel.Padding = new System.Windows.Forms.Padding(0, 0, 5, 0);
this.CloseLabel.Size = new System.Drawing.Size(47, 31);
this.CloseLabel.TabIndex = 3;
this.CloseLabel.Text = "X";
this.CloseLabel.TextAlign = System.Drawing.ContentAlignment.MiddleRight;
this.CloseLabel.Click += new System.EventHandler(this.CloseLabel_Click);
this.CloseLabel.MouseClick += new System.Windows.Forms.MouseEventHandler(this.CloseLabel_MouseClick);
//
// LogoSCM
//
this.LogoSCM.BackColor = System.Drawing.Color.White;
this.LogoSCM.BackgroundImageLayout = System.Windows.Forms.ImageLayout.None;
this.LogoSCM.Image = global::Client2020.Properties.Resources.MAESTRO_ACTIVE_LOGO;
this.LogoSCM.Location = new System.Drawing.Point(0, 0);
this.LogoSCM.Margin = new System.Windows.Forms.Padding(0);
this.LogoSCM.Name = "LogoSCM";
this.LogoSCM.Size = new System.Drawing.Size(969, 400);
this.LogoSCM.SizeMode = System.Windows.Forms.PictureBoxSizeMode.Zoom;
this.LogoSCM.TabIndex = 8;
this.LogoSCM.TabStop = false;
this.LogoSCM.Visible = false;
//
// VersionLBL
//
this.VersionLBL.BackColor = System.Drawing.Color.White;
this.VersionLBL.Font = new System.Drawing.Font("Microsoft Sans Serif", 18F, System.Drawing.FontStyle.Bold);
this.VersionLBL.ForeColor = System.Drawing.Color.FromArgb(((int)(((byte)(75)))), ((int)(((byte)(75)))), ((int)(((byte)(75)))));
this.VersionLBL.Location = new System.Drawing.Point(0, 0);
this.VersionLBL.Margin = new System.Windows.Forms.Padding(0);
this.VersionLBL.Name = "VersionLBL";
this.VersionLBL.Size = new System.Drawing.Size(929, 31);
this.VersionLBL.TabIndex = 0;
this.VersionLBL.TextAlign = System.Drawing.ContentAlignment.MiddleLeft;
//
// OpeningForm
//
this.AutoScaleDimensions = new System.Drawing.SizeF(6F, 13F);
this.AutoScaleMode = System.Windows.Forms.AutoScaleMode.Font;
this.ClientSize = new System.Drawing.Size(969, 418);
this.ControlBox = false;
this.Controls.Add(this.StatusLBL);
this.Controls.Add(this.VersionLBL);
this.Controls.Add(this.CloseLabel);
this.Controls.Add(this.ErrorLBL);
this.Controls.Add(this.LogoCMS);
this.Controls.Add(this.LogoSCM);
this.FormBorderStyle = System.Windows.Forms.FormBorderStyle.None;
this.Icon = ((System.Drawing.Icon)(resources.GetObject("$this.Icon")));
this.Name = "OpeningForm";
this.Padding = new System.Windows.Forms.Padding(0, 60, 0, 0);
this.StartPosition = System.Windows.Forms.FormStartPosition.Manual;
this.Text = "Loading Active Client";
this.TopMost = true;
this.Load += new System.EventHandler(this.LoadingForm_Load);
((System.ComponentModel.ISupportInitialize)(this.LogoCMS)).EndInit();
((System.ComponentModel.ISupportInitialize)(this.LogoSCM)).EndInit();
this.ResumeLayout(false);
}
#endregion
private System.Windows.Forms.Label StatusLBL;
private System.Windows.Forms.Label ErrorLBL;
private System.Windows.Forms.PictureBox LogoCMS;
private System.Windows.Forms.Label CloseLabel;
private System.Windows.Forms.PictureBox LogoSCM;
private System.Windows.Forms.Label VersionLBL;
}
}
+347
View File
@@ -0,0 +1,347 @@
using Client.Config;
using Client.Config.SubModels;
using Client.Utils;
using Newtonsoft.Json;
using System;
using System.Drawing;
using System.IO;
using System.Net;
using System.Threading;
using System.Threading.Tasks;
using System.Windows.Forms;
namespace Client2020
{
public partial class OpeningForm : Form
{
public const int TimerTest = 500;
private HttpWebRequest ConnTestRequest;
private HttpWebResponse ConnTestResponse;
private String ConnTestError;
private Task ConnTask;
private ushort WaitDot = 1;
///////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
#region WINDOW_START_&_BEHAVIOUR_METHOD
//Constructor
public OpeningForm()
{
InitializeComponent();
if (Config.ClientConfig.IsSCM)
{
LogoCMS.Visible = false;
LogoSCM.Visible = true;
this.Icon = Client2020.Properties.Resources.MAESTRO_ACTIVE_ICON;
}
else
{
LogoCMS.Visible = true;
LogoSCM.Visible = false;
}
//Set window Position
this.Location = new Point((Screen.PrimaryScreen.Bounds.Width / 2) - (this.Width / 2), (Screen.PrimaryScreen.Bounds.Height / 2) - (this.Height / 2));
}
//OnLoad Method
private void LoadingForm_Load(object sender, EventArgs e)
{
//Force on Desktop 1
this.DesktopLocation = new Point((Screen.PrimaryScreen.Bounds.Width / 2) - (this.Width / 2), (Screen.PrimaryScreen.Bounds.Height / 2) - (this.Height / 2));
//Start Backgroud Task
ConnTask = Task.Run(() => BagroundWorker());
}
//Set the status & Messages Labels
private void setStatus(String status, String Error)
{
//Invoke method if is needed or call the method in STD mode
if (this.InvokeRequired)
{
this.Invoke((MethodInvoker)delegate () { StatusLBL.Text = status; });
this.Invoke((MethodInvoker)delegate () { ErrorLBL.Text = Error; });
}
else
{
StatusLBL.Text = status;
ErrorLBL.Text = Error;
}
}
//Set Opacity of the Window
private void setOpacity(double opacity)
{
//Invoke method if is needed or call the method in STD mode
if (this.InvokeRequired)
{
this.Invoke((MethodInvoker)delegate () { this.Opacity = opacity; });
}
else
{
this.Opacity = opacity;
}
}
//Close the Window
private void closeWindow()
{
//Invoke method if is needed or call the method in STD mode
if (this.InvokeRequired)
this.Invoke((MethodInvoker)delegate () { this.Close(); });
else
this.Close();
}
#endregion
///////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
#region CONNECTING_TASK_METHOD
//Main Void of the background Task
private void BagroundWorker()
{
//Set App Opacity
setOpacity(1);
//Show the loading state on the app ICON
//try to Request
if (!Config.ConnectionConfig.BypassReadConfiguration)
{
setStatus("Connecting to " + Config.ConnectionConfig.ServerUrl + ":" + Config.ConnectionConfig.ServerPort, "");
Boolean error = false;
do
{
if (error == true)
return;
} while (!testConnection(new Uri(Config.ConnectionConfig.ReadConfigUrl), out error));
}
//Set App Opacity (Only Siemens)
if (Config.VendorHmiConfig.Type == 2)
setOpacity(0.85);
//Open Nc Window
setStatus("Opening NC Window... ", "");
if (Config.VendorHmiConfig.Enabled)
if (!OpenNcWindow())
return;
//Open Nc Window
setStatus("Opening PROD Window... ", "");
if (Config.ProdSoftwareConfig.Enabled)
{
var exename = Path.GetFileNameWithoutExtension(Config.ProdSoftwareConfig.Path);
if (!OpenProdWindow(Config.ProdSoftwareConfig.Path, exename))
return;
}
//Set App Opacity
setOpacity(1);
//Close the Window
closeWindow();
}
//Sub-Method used to test the connection
private bool testConnection(Uri url, out Boolean error)
{
Boolean Connected = false;
error = false;
//Try to connect
if (url.Scheme == Uri.UriSchemeHttps || url.Scheme == Uri.UriSchemeHttp)
{
try
{
ConnTestRequest = (HttpWebRequest)WebRequest.Create(url);
ConnTestRequest.Timeout = (int)(TimerTest);
ConnTestRequest.KeepAlive = false;
ConnTestResponse = (HttpWebResponse)ConnTestRequest.GetResponse();
ConnTestError = ConnTestResponse.StatusCode.ToString();
Connected = (ConnTestResponse.StatusCode == HttpStatusCode.OK) ? true : false;
}
catch (WebException ex)
{
Connected = false;
ConnTestError = ex.Status.ToString();
}
}
else
Connected = true;
//Check if it's connected
if (Connected)
{
// var jsonDefinition = new { ncVendor = "", showHMI = "", ncIp = "", ncPort = "", prodEnabled = "", prodPath = "", extPrograms = "" };
var jsonDefinition = new ServerConfigModel();
setStatus("Connected!", "");
//Read the configuration from Server
try
{
using (var reader = new StreamReader(ConnTestResponse.GetResponseStream()))
{
var ConfigResponse = JsonConvert.DeserializeAnonymousType(reader.ReadToEnd(), jsonDefinition);
if (!String.IsNullOrWhiteSpace(ConfigResponse.NcVendor) && !String.IsNullOrWhiteSpace(ConfigResponse.ShowHMI))
{
string ncVendorName = ConfigResponse.NcVendor.ToUpper();
string ncVendorHMI = ConfigResponse.ShowHMI.ToUpper();
Config.VendorHmiConfig.IpAddress = ConfigResponse.NcIp.ToUpper();
Config.VendorHmiConfig.Port = ConfigResponse.NcPort.ToUpper();
string ProdEnabled = ConfigResponse.ProdEnabled.ToUpper();
string ProdPath = ConfigResponse.ProdPath.ToUpper();
string Autorun = ConfigResponse.Autorun.ToUpper();
//Read the Server Type
if (ncVendorName.Equals("DEMO"))
Config.VendorHmiConfig.Type = 0;
else if (ncVendorName.Equals("FANUC"))
Config.VendorHmiConfig.Type = 1;
else if (ncVendorName.Equals("SIEMENS"))
Config.VendorHmiConfig.Type = 2;
else if (ncVendorName.Equals("OSAI"))
Config.VendorHmiConfig.Type = 3;
else if (ncVendorName.Equals("S7NET"))
Config.VendorHmiConfig.Type = 4;
else
{
setStatus("Close the application!", "Errror in configuration, from server");
error = true;
return false;
}
//Read if the HMI must be visible
if (ncVendorHMI.ToUpper().Equals("TRUE"))
Config.VendorHmiConfig.Enabled = true;
else
Config.VendorHmiConfig.Enabled = false;
//Autorun
if (Autorun.ToUpper().Equals("TRUE"))
Config.ClientConfig.Autorun = true;
else
Config.ClientConfig.Autorun = false;
//Read if the HMI must be visible
if (ProdEnabled.ToUpper().Equals("TRUE"))
Config.ProdSoftwareConfig.Enabled = true;
else
Config.ProdSoftwareConfig.Enabled = false;
// Paths
Config.ProdSoftwareConfig.Path = ProdPath;
Config.TextEditorPath = ConfigResponse.EditorPath;
if (ConfigResponse.ExtSoftwares != null)
Config.ExtSoftwaresConfig = ConfigResponse.ExtSoftwares.ToArray();
return true;
}
}
return true;
}
catch (Exception e)
{
setStatus("Error!", "Error While loading the configuration");
return false;
}
}
else
{
//Set the Dot string
String dot = "";
for (int i = 0; i < WaitDot; i++) dot += ".";
//Set the status
setStatus("Retry connection to " + Config.ConnectionConfig.ServerUrl + ":" + Config.ConnectionConfig.ServerPort + " " + dot, "Server not found (Error: " + ConnTestError + ")");
if (WaitDot < 3)
WaitDot++;
else
WaitDot = 0;
//Wait 500 ms
Thread.Sleep(500);
return false;
}
}
//Sub-Method used to open the NC Window
private bool OpenNcWindow()
{
return true;
}
//Sub-Method used to open the NC Window
private bool OpenProdWindow(string ExePath, string ExeName)
{
return true;
}
#endregion
///////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
#region CLOSE_BUTTON_BEHAVIUR
//On click Method
private void CloseLabel_Click(object sender, EventArgs e)
{
//Exit
Environment.Exit(0);
}
//On Mouse Enter
private void CloseLabel_MouseEnter(object sender, EventArgs e)
{
CloseLabel.ForeColor = Color.DarkRed;
}
//On Mouse Leave
private void CloseLabel_MouseLeave(object sender, EventArgs e)
{
CloseLabel.ForeColor = Color.White;
}
#endregion
private void CloseLabel_MouseClick(object sender, EventArgs e)
{
Environment.Exit(0);
}
private void CloseLabel_MouseClick(object sender, MouseEventArgs e)
{
}
}
}
File diff suppressed because it is too large Load Diff
+182
View File
@@ -0,0 +1,182 @@
using Client.Config;
using Client.Utils;
using System;
using System.Collections.Generic;
using System.IO;
using System.Linq;
using System.Threading;
using System.Threading.Tasks;
using System.Windows.Forms;
using System.Management;
using Microsoft.Win32;
using CefSharp.WinForms;
using CefSharp;
namespace Client2020
{
static class Program
{
static Mutex CmsStepClientMutex = new Mutex(true, "{66fa29db-925a-402b-a4c7-d3d780fb1bc3}");
/// <summary>
/// The main entry point for the application.
/// </summary>
[STAThread]
static void Main()
{
//Crate General Exception Handler
AppDomain.CurrentDomain.UnhandledException += new UnhandledExceptionEventHandler(GeneralExMethod);
//Read App Configuration
readConfiguration();
//Initialize Chromium
InitializeCefSettings();
//Check if is already running an instance of this application
if (!CmsStepClientMutex.WaitOne(TimeSpan.Zero, true))
ShowAlarmAndClose("Only one istance of " + Application.ProductName + " can be executed!");
//Check Graphic Card in Energy Saving mode
checkGraphicCard();
Application.EnableVisualStyles();
Application.SetCompatibleTextRenderingDefault(false);
//Run the Loading Form
Application.Run(new OpeningForm());
//Run the Main-Browser Form
Application.Run(new MainForm());
}
static private void InitializeCefSettings()
{
try
{
if (Config.ConnectionConfig.DeleteCahceFolderOnStartup && Directory.Exists(Constants.BROWSER_CACHE_FOLDER))
{
Directory.Delete(Constants.BROWSER_CACHE_FOLDER, true);
}
}
catch (Exception E)
{
ShowAlarmAndClose(E.Message);
}
//Setup the CEF Folder
var settings = new CefSettings();
if (Config.ClientConfig.RenderingMethod == Constants.Rendering.CPU)
settings.CefCommandLineArgs.Add("--disable-gpu");
if (Config.ClientConfig.EnableTransparent == true)
settings.CefCommandLineArgs.Add("--enable-transparent-visuals");
settings.CefCommandLineArgs.Add("--disable-pinch");
settings.CefCommandLineArgs.Add("--enable-media-stream");
settings.CefCommandLineArgs.Add("--enable-usermedia-screen-capture");
settings.CefCommandLineArgs.Add("--no-proxy-server");
settings.CefCommandLineArgs.Add("--ignore-certificate-errors-spki-list");
settings.CefCommandLineArgs.Add("--ignore-ssl-errors");
CefSharpSettings.FocusedNodeChangedEnabled = true;
CefSharpSettings.LegacyJavascriptBindingEnabled = true;
settings.LogSeverity = LogSeverity.Fatal;
settings.CachePath = Constants.BROWSER_CACHE_FOLDER;
//Initialize Cef
try
{
Cef.Initialize(settings);
}
catch (Exception E)
{
ShowAlarmAndClose(E.Message);
}
}
#region CONFIG_METHODS
//Sub-Method used to read the configuration
static private void readConfiguration()
{
//Read the Config
try
{
ConfigController.ReadStartupConfig();
}
catch (Exception E)
{
ShowAlarmAndClose(E.Message);
}
}
static private void checkGraphicCard()
{
ManagementObjectSearcher VideoCardsQuery = new ManagementObjectSearcher("root\\CIMV2", "SELECT * FROM Win32_VideoController");
ManagementObjectCollection VideoCards = VideoCardsQuery.Get();
//Check if i have more Cards
if (VideoCards.Count > 1)
{
//Prepare List of Cards
String Cardlist = "";
foreach (ManagementObject card in VideoCards)
{
Cardlist = Cardlist + " - " + card["Name"] + "\n";
}
//If is Win 10 check the Registry Key
if (Environment.OSVersion.Version.Major == 10)
{
string keyName = @"HKEY_CURRENT_USER\Software\Microsoft\DirectX\UserGpuPreferences";
string valueName = System.Reflection.Assembly.GetExecutingAssembly().Location;
Object value = Registry.GetValue(keyName, valueName, null);
if (value == null || !value.Equals("GpuPreference=1;"))
{
//code if key Not Exist add it and restart
Registry.SetValue(keyName, valueName, "GpuPreference=1;");
MessageBox.Show("Active has foundthis Graphic Cards:\n\n" + Cardlist + "\nThe graphic configuration has been setted. Press Ok to restart the Application", Application.ProductName);
Application.Restart();
Environment.Exit(0);
}
}
}
}
#endregion
private static void GeneralExMethod(object sender, UnhandledExceptionEventArgs args)
{
Exception e = (Exception)args.ExceptionObject;
//Create Directory
if (!Directory.Exists(Client.Utils.Constants.CEF_EXCEPTIONLOG_PATH))
Directory.CreateDirectory(Constants.CEF_EXCEPTIONLOG_PATH);
//Log the exception on File
string path = Constants.CEF_EXCEPTIONLOG_PATH + @"\" + DateTime.Now.ToString("yyyy_MM_dd") + @".txt";
using (StreamWriter sw = File.AppendText(path))
sw.WriteLine(DateTime.Now.ToString("HH:mm:ss") + " | Class.Name: " + e.TargetSite.ReflectedType.Name + " | Method.Name: " + e.TargetSite.Name + " | Error: " + e.Message);
}
//Method Used to Show an alarm and close the application
public static void ShowAlarmAndClose(string Message)
{
MessageBox.Show(Message,
Application.ProductName,
MessageBoxButtons.OK,
MessageBoxIcon.Error,
MessageBoxDefaultButton.Button1
);
Environment.Exit(-1);
}
}
}
+36
View File
@@ -0,0 +1,36 @@
using System.Reflection;
using System.Runtime.InteropServices;
// Le informazioni generali relative a un assembly sono controllate dal seguente
// set di attributi. Modificare i valori di questi attributi per modificare le informazioni
// associate a un assembly.
[assembly: AssemblyTitle("Active Client 2.0")]
[assembly: AssemblyDescription("Active Client - Main HMI for CMS Machines")]
[assembly: AssemblyConfiguration("")]
[assembly: AssemblyCompany("CMS Spa")]
[assembly: AssemblyProduct("Active Client")]
[assembly: AssemblyCopyright("Copyright © 2020")]
[assembly: AssemblyTrademark("")]
[assembly: AssemblyCulture("")]
// Se si imposta ComVisible su false, i tipi in questo assembly non saranno visibili
// ai componenti COM. Se è necessario accedere a un tipo in questo assembly da
// COM, impostare su true l'attributo ComVisible per tale tipo.
[assembly: ComVisible(false)]
// Se il progetto viene esposto a COM, il GUID seguente verrà utilizzato come ID della libreria dei tipi
[assembly: Guid("0780047f-12e4-4fcc-9748-6b23f0fd3711")]
// Le informazioni sulla versione di un assembly sono costituite dai seguenti quattro valori:
//
// Versione principale
// Versione secondaria
// Numero di build
// Revisione
//
// È possibile specificare tutti i valori oppure impostare valori predefiniti per i numeri relativi alla revisione e alla build
// usando l'asterisco '*' come illustrato di seguito:
// [assembly: AssemblyVersion("1.0.*")]
[assembly: AssemblyVersion("0.0.0.0")]
[assembly: AssemblyFileVersion("2.0")]
+133
View File
@@ -0,0 +1,133 @@
//------------------------------------------------------------------------------
// <auto-generated>
// Il codice è stato generato da uno strumento.
// Versione runtime:4.0.30319.42000
//
// Le modifiche apportate a questo file possono provocare un comportamento non corretto e andranno perse se
// il codice viene rigenerato.
// </auto-generated>
//------------------------------------------------------------------------------
namespace Client2020.Properties {
using System;
/// <summary>
/// Classe di risorse fortemente tipizzata per la ricerca di stringhe localizzate e così via.
/// </summary>
// Questa classe è stata generata automaticamente dalla classe StronglyTypedResourceBuilder.
// tramite uno strumento quale ResGen o Visual Studio.
// Per aggiungere o rimuovere un membro, modificare il file con estensione ResX ed eseguire nuovamente ResGen
// con l'opzione /str oppure ricompilare il progetto VS.
[global::System.CodeDom.Compiler.GeneratedCodeAttribute("System.Resources.Tools.StronglyTypedResourceBuilder", "15.0.0.0")]
[global::System.Diagnostics.DebuggerNonUserCodeAttribute()]
[global::System.Runtime.CompilerServices.CompilerGeneratedAttribute()]
internal class Resources {
private static global::System.Resources.ResourceManager resourceMan;
private static global::System.Globalization.CultureInfo resourceCulture;
[global::System.Diagnostics.CodeAnalysis.SuppressMessageAttribute("Microsoft.Performance", "CA1811:AvoidUncalledPrivateCode")]
internal Resources() {
}
/// <summary>
/// Restituisce l'istanza di ResourceManager nella cache utilizzata da questa classe.
/// </summary>
[global::System.ComponentModel.EditorBrowsableAttribute(global::System.ComponentModel.EditorBrowsableState.Advanced)]
internal static global::System.Resources.ResourceManager ResourceManager {
get {
if (object.ReferenceEquals(resourceMan, null)) {
global::System.Resources.ResourceManager temp = new global::System.Resources.ResourceManager("Client2020.Properties.Resources", typeof(Resources).Assembly);
resourceMan = temp;
}
return resourceMan;
}
}
/// <summary>
/// Esegue l'override della proprietà CurrentUICulture del thread corrente per tutte le
/// ricerche di risorse eseguite utilizzando questa classe di risorse fortemente tipizzata.
/// </summary>
[global::System.ComponentModel.EditorBrowsableAttribute(global::System.ComponentModel.EditorBrowsableState.Advanced)]
internal static global::System.Globalization.CultureInfo Culture {
get {
return resourceCulture;
}
set {
resourceCulture = value;
}
}
/// <summary>
/// Cerca una risorsa localizzata di tipo System.Drawing.Icon simile a (Icona).
/// </summary>
internal static System.Drawing.Icon ACTIVE_ICONA {
get {
object obj = ResourceManager.GetObject("ACTIVE_ICONA", resourceCulture);
return ((System.Drawing.Icon)(obj));
}
}
/// <summary>
/// Cerca una risorsa localizzata di tipo System.Drawing.Bitmap.
/// </summary>
internal static System.Drawing.Bitmap ACTIVE_ICONA1 {
get {
object obj = ResourceManager.GetObject("ACTIVE_ICONA1", resourceCulture);
return ((System.Drawing.Bitmap)(obj));
}
}
/// <summary>
/// Cerca una risorsa localizzata di tipo System.Drawing.Bitmap.
/// </summary>
internal static System.Drawing.Bitmap CM_ACTIVE_LOGO {
get {
object obj = ResourceManager.GetObject("CM_ACTIVE_LOGO", resourceCulture);
return ((System.Drawing.Bitmap)(obj));
}
}
/// <summary>
/// Cerca una risorsa localizzata di tipo System.Drawing.Bitmap.
/// </summary>
internal static System.Drawing.Bitmap CM_ACTIVE_LOGO_INVERTED {
get {
object obj = ResourceManager.GetObject("CM_ACTIVE_LOGO_INVERTED", resourceCulture);
return ((System.Drawing.Bitmap)(obj));
}
}
/// <summary>
/// Cerca una risorsa localizzata di tipo System.Drawing.Icon simile a (Icona).
/// </summary>
internal static System.Drawing.Icon MAESTRO_ACTIVE_ICON {
get {
object obj = ResourceManager.GetObject("MAESTRO_ACTIVE_ICON", resourceCulture);
return ((System.Drawing.Icon)(obj));
}
}
/// <summary>
/// Cerca una risorsa localizzata di tipo System.Drawing.Bitmap.
/// </summary>
internal static System.Drawing.Bitmap MAESTRO_ACTIVE_LOGO {
get {
object obj = ResourceManager.GetObject("MAESTRO_ACTIVE_LOGO", resourceCulture);
return ((System.Drawing.Bitmap)(obj));
}
}
/// <summary>
/// Cerca una risorsa localizzata di tipo System.Drawing.Icon simile a (Icona).
/// </summary>
internal static System.Drawing.Icon SinumerikHmi {
get {
object obj = ResourceManager.GetObject("SinumerikHmi", resourceCulture);
return ((System.Drawing.Icon)(obj));
}
}
}
}
+142
View File
@@ -0,0 +1,142 @@
<?xml version="1.0" encoding="utf-8"?>
<root>
<!--
Microsoft ResX Schema
Version 2.0
The primary goals of this format is to allow a simple XML format
that is mostly human readable. The generation and parsing of the
various data types are done through the TypeConverter classes
associated with the data types.
Example:
... ado.net/XML headers & schema ...
<resheader name="resmimetype">text/microsoft-resx</resheader>
<resheader name="version">2.0</resheader>
<resheader name="reader">System.Resources.ResXResourceReader, System.Windows.Forms, ...</resheader>
<resheader name="writer">System.Resources.ResXResourceWriter, System.Windows.Forms, ...</resheader>
<data name="Name1"><value>this is my long string</value><comment>this is a comment</comment></data>
<data name="Color1" type="System.Drawing.Color, System.Drawing">Blue</data>
<data name="Bitmap1" mimetype="application/x-microsoft.net.object.binary.base64">
<value>[base64 mime encoded serialized .NET Framework object]</value>
</data>
<data name="Icon1" type="System.Drawing.Icon, System.Drawing" mimetype="application/x-microsoft.net.object.bytearray.base64">
<value>[base64 mime encoded string representing a byte array form of the .NET Framework object]</value>
<comment>This is a comment</comment>
</data>
There are any number of "resheader" rows that contain simple
name/value pairs.
Each data row contains a name, and value. The row also contains a
type or mimetype. Type corresponds to a .NET class that support
text/value conversion through the TypeConverter architecture.
Classes that don't support this are serialized and stored with the
mimetype set.
The mimetype is used for serialized objects, and tells the
ResXResourceReader how to depersist the object. This is currently not
extensible. For a given mimetype the value must be set accordingly:
Note - application/x-microsoft.net.object.binary.base64 is the format
that the ResXResourceWriter will generate, however the reader can
read any of the formats listed below.
mimetype: application/x-microsoft.net.object.binary.base64
value : The object must be serialized with
: System.Runtime.Serialization.Formatters.Binary.BinaryFormatter
: and then encoded with base64 encoding.
mimetype: application/x-microsoft.net.object.soap.base64
value : The object must be serialized with
: System.Runtime.Serialization.Formatters.Soap.SoapFormatter
: and then encoded with base64 encoding.
mimetype: application/x-microsoft.net.object.bytearray.base64
value : The object must be serialized into a byte array
: using a System.ComponentModel.TypeConverter
: and then encoded with base64 encoding.
-->
<xsd:schema id="root" xmlns="" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:msdata="urn:schemas-microsoft-com:xml-msdata">
<xsd:import namespace="http://www.w3.org/XML/1998/namespace" />
<xsd:element name="root" msdata:IsDataSet="true">
<xsd:complexType>
<xsd:choice maxOccurs="unbounded">
<xsd:element name="metadata">
<xsd:complexType>
<xsd:sequence>
<xsd:element name="value" type="xsd:string" minOccurs="0" />
</xsd:sequence>
<xsd:attribute name="name" use="required" type="xsd:string" />
<xsd:attribute name="type" type="xsd:string" />
<xsd:attribute name="mimetype" type="xsd:string" />
<xsd:attribute ref="xml:space" />
</xsd:complexType>
</xsd:element>
<xsd:element name="assembly">
<xsd:complexType>
<xsd:attribute name="alias" type="xsd:string" />
<xsd:attribute name="name" type="xsd:string" />
</xsd:complexType>
</xsd:element>
<xsd:element name="data">
<xsd:complexType>
<xsd:sequence>
<xsd:element name="value" type="xsd:string" minOccurs="0" msdata:Ordinal="1" />
<xsd:element name="comment" type="xsd:string" minOccurs="0" msdata:Ordinal="2" />
</xsd:sequence>
<xsd:attribute name="name" type="xsd:string" use="required" msdata:Ordinal="1" />
<xsd:attribute name="type" type="xsd:string" msdata:Ordinal="3" />
<xsd:attribute name="mimetype" type="xsd:string" msdata:Ordinal="4" />
<xsd:attribute ref="xml:space" />
</xsd:complexType>
</xsd:element>
<xsd:element name="resheader">
<xsd:complexType>
<xsd:sequence>
<xsd:element name="value" type="xsd:string" minOccurs="0" msdata:Ordinal="1" />
</xsd:sequence>
<xsd:attribute name="name" type="xsd:string" use="required" />
</xsd:complexType>
</xsd:element>
</xsd:choice>
</xsd:complexType>
</xsd:element>
</xsd:schema>
<resheader name="resmimetype">
<value>text/microsoft-resx</value>
</resheader>
<resheader name="version">
<value>2.0</value>
</resheader>
<resheader name="reader">
<value>System.Resources.ResXResourceReader, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
</resheader>
<resheader name="writer">
<value>System.Resources.ResXResourceWriter, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
</resheader>
<assembly alias="System.Windows.Forms" name="System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089" />
<data name="SinumerikHmi" type="System.Resources.ResXFileRef, System.Windows.Forms">
<value>..\Resources\SinumerikHmi.ico;System.Drawing.Icon, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a</value>
</data>
<data name="CM_ACTIVE_LOGO" type="System.Resources.ResXFileRef, System.Windows.Forms">
<value>..\Resources\CM_ACTIVE_LOGO.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a</value>
</data>
<data name="CM_ACTIVE_LOGO_INVERTED" type="System.Resources.ResXFileRef, System.Windows.Forms">
<value>..\Resources\CM_ACTIVE_LOGO_INVERTED.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a</value>
</data>
<data name="MAESTRO_ACTIVE_LOGO" type="System.Resources.ResXFileRef, System.Windows.Forms">
<value>..\Resources\MAESTRO_ACTIVE_LOGO.jpg;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a</value>
</data>
<data name="MAESTRO_ACTIVE_ICON" type="System.Resources.ResXFileRef, System.Windows.Forms">
<value>..\Resources\SCM_MAESTRO_ACTIVE_ICONA.ico;System.Drawing.Icon, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a</value>
</data>
<data name="ACTIVE_ICONA" type="System.Resources.ResXFileRef, System.Windows.Forms">
<value>..\Resources\ACTIVE_ICONA.ico;System.Drawing.Icon, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a</value>
</data>
<data name="ACTIVE_ICONA1" type="System.Resources.ResXFileRef, System.Windows.Forms">
<value>..\Resources\ACTIVE_ICONA.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a</value>
</data>
</root>
+30
View File
@@ -0,0 +1,30 @@
//------------------------------------------------------------------------------
// <auto-generated>
// This code was generated by a tool.
// Runtime Version:4.0.30319.42000
//
// Changes to this file may cause incorrect behavior and will be lost if
// the code is regenerated.
// </auto-generated>
//------------------------------------------------------------------------------
namespace Client2020.Properties
{
[global::System.Runtime.CompilerServices.CompilerGeneratedAttribute()]
[global::System.CodeDom.Compiler.GeneratedCodeAttribute("Microsoft.VisualStudio.Editors.SettingsDesigner.SettingsSingleFileGenerator", "11.0.0.0")]
internal sealed partial class Settings : global::System.Configuration.ApplicationSettingsBase
{
private static Settings defaultInstance = ((Settings)(global::System.Configuration.ApplicationSettingsBase.Synchronized(new Settings())));
public static Settings Default
{
get
{
return defaultInstance;
}
}
}
}
+7
View File
@@ -0,0 +1,7 @@
<?xml version='1.0' encoding='utf-8'?>
<SettingsFile xmlns="http://schemas.microsoft.com/VisualStudio/2004/01/settings" CurrentProfile="(Default)">
<Profiles>
<Profile Name="(Default)" />
</Profiles>
<Settings />
</SettingsFile>
Binary file not shown.

After

Width:  |  Height:  |  Size: 104 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 41 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 174 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 108 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 106 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 428 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 101 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 5.3 KiB

+83
View File
@@ -0,0 +1,83 @@
<?xml version="1.0" encoding="utf-8"?>
<assembly manifestVersion="1.0" xmlns="urn:schemas-microsoft-com:asm.v1">
<assemblyIdentity version="1.0.0.0" name="MyApplication.app"/>
<dependency>
<dependentAssembly>
<assemblyIdentity type="Win32" name="Microsoft.Windows.Common-Controls" version="6.0.0.0" processorArchitecture="*" publicKeyToken="6595b64144ccf1df" language="*"></assemblyIdentity>
</dependentAssembly>
</dependency>
<trustInfo xmlns="urn:schemas-microsoft-com:asm.v2">
<security>
<requestedPrivileges xmlns="urn:schemas-microsoft-com:asm.v3">
<!-- Opzioni manifesto di Controllo dell'account utente
Per modificare il livello di Controllo dell'account utente di Windows, sostituire il
nodo requestedExecutionLevel con uno dei seguenti.
<requestedExecutionLevel level="asInvoker" uiAccess="false" />
<requestedExecutionLevel level="requireAdministrator" uiAccess="false" />
<requestedExecutionLevel level="highestAvailable" uiAccess="false" />
Se si specifica l'elemento requestedExecutionLevel, la funzionalità Virtualizzazione file system e registro di sistema verrà disabilitata.
Rimuovere questo elemento se l'applicazione richiede questa virtualizzazione per
compatibilità con le versioni precedenti.
-->
<requestedExecutionLevel level="requireAdministrator" uiAccess="false" />
</requestedPrivileges>
</security>
</trustInfo>
<compatibility xmlns="urn:schemas-microsoft-com:compatibility.v1">
<application>
<!-- Elenco delle versioni di Windows in cui è stata testata questa applicazione e
per cui è stato previsto l'uso. Rimuovere il commento dagli elementi appropriati per
fare in modo che Windows selezioni automaticamente l'ambiente più compatibile. -->
<!-- Windows Vista -->
<!--<supportedOS Id="{e2011457-1546-43c5-a5fe-008deee3d3f0}" />-->
<!-- Windows 8 -->
<!--<supportedOS Id="{4a2f28e3-53b9-4441-ba9c-d69d4a4a6e38}" />-->
<!-- Windows 8.1 -->
<!--<supportedOS Id="{1f676c76-80e1-4239-95bb-83d0f6d0da78}" />-->
<!-- Windows 7 -->
<supportedOS Id="{35138b9a-5d96-4fbd-8e2d-a2440225f93a}" />
<!-- Windows 10 -->
<supportedOS Id="{8e0f7a12-bfb3-4fe8-b9a5-48fd50a15a9a}" />
</application>
</compatibility>
<!-- Indica che l'applicazione è sensibile ai valori DPI e non verrà scalata automaticamente da Windows in caso di
valori DPI maggiori. Le applicazioni Windows Presentation Foundation (WPF) sono automaticamente sensibili ai valori DPI, pertanto non è necessario
acconsentire esplicitamente. Con le applicazioni Windows Form destinate a .NET Framework 4.6 per cui è stato acconsentito esplicitamente a questa impostazione,
è anche necessario impostare 'EnableWindowsFormsHighDpiAutoResizing' su 'true' nel relativo file app.config. -->
<application xmlns="urn:schemas-microsoft-com:asm.v3">
<windowsSettings>
<dpiAware xmlns="http://schemas.microsoft.com/SMI/2005/WindowsSettings">false</dpiAware>
</windowsSettings>
</application>
<!-- Abilita i temi per finestre di dialogo e controlli comuni di Windows (Windows XP e versioni successive) -->
<!--
<dependency>
<dependentAssembly>
<assemblyIdentity
type="win32"
name="Microsoft.Windows.Common-Controls"
version="6.0.0.0"
processorArchitecture="*"
publicKeyToken="6595b64144ccf1df"
language="*"
/>
</dependentAssembly>
</dependency>
-->
</assembly>
+8
View File
@@ -0,0 +1,8 @@
<?xml version="1.0" encoding="utf-8"?>
<packages>
<package id="cef.redist.x64" version="84.4.1" targetFramework="net462" />
<package id="cef.redist.x86" version="84.4.1" targetFramework="net462" />
<package id="CefSharp.Common" version="84.4.10" targetFramework="net462" />
<package id="CefSharp.WinForms" version="84.4.10" targetFramework="net462" />
<package id="Newtonsoft.Json" version="12.0.3" targetFramework="net462" />
</packages>
+6
View File
@@ -0,0 +1,6 @@
<?xml version="1.0" encoding="utf-8"?>
<configuration>
<startup>
<supportedRuntime version="v4.0" sku=".NETFramework,Version=v4.6.2"/>
</startup>
</configuration>
+114
View File
@@ -0,0 +1,114 @@
<?xml version="1.0" encoding="utf-8"?>
<Project ToolsVersion="15.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
<Import Project="..\packages\CefSharp.WinForms.84.4.10\build\CefSharp.WinForms.props" Condition="Exists('..\packages\CefSharp.WinForms.84.4.10\build\CefSharp.WinForms.props')" />
<Import Project="..\packages\CefSharp.Common.84.4.10\build\CefSharp.Common.props" Condition="Exists('..\packages\CefSharp.Common.84.4.10\build\CefSharp.Common.props')" />
<Import Project="..\packages\cef.redist.x86.84.4.1\build\cef.redist.x86.props" Condition="Exists('..\packages\cef.redist.x86.84.4.1\build\cef.redist.x86.props')" />
<Import Project="..\packages\cef.redist.x64.84.4.1\build\cef.redist.x64.props" Condition="Exists('..\packages\cef.redist.x64.84.4.1\build\cef.redist.x64.props')" />
<Import Project="$(MSBuildExtensionsPath)\$(MSBuildToolsVersion)\Microsoft.Common.props" Condition="Exists('$(MSBuildExtensionsPath)\$(MSBuildToolsVersion)\Microsoft.Common.props')" />
<PropertyGroup>
<Configuration Condition=" '$(Configuration)' == '' ">Debug</Configuration>
<Platform Condition=" '$(Platform)' == '' ">AnyCPU</Platform>
<ProjectGuid>{97474BC6-6405-4043-9BEE-E1BDE6B8D972}</ProjectGuid>
<OutputType>WinExe</OutputType>
<RootNamespace>Client_New</RootNamespace>
<AssemblyName>Client_New</AssemblyName>
<TargetFrameworkVersion>v4.6.2</TargetFrameworkVersion>
<FileAlignment>512</FileAlignment>
<AutoGenerateBindingRedirects>true</AutoGenerateBindingRedirects>
<Deterministic>true</Deterministic>
<NuGetPackageImportStamp>
</NuGetPackageImportStamp>
<TargetFrameworkProfile />
</PropertyGroup>
<PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Debug|AnyCPU' ">
<PlatformTarget>x64</PlatformTarget>
<DebugSymbols>true</DebugSymbols>
<DebugType>full</DebugType>
<Optimize>false</Optimize>
<OutputPath>bin\Debug\</OutputPath>
<DefineConstants>DEBUG;TRACE</DefineConstants>
<ErrorReport>prompt</ErrorReport>
<WarningLevel>4</WarningLevel>
</PropertyGroup>
<PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Release|AnyCPU' ">
<PlatformTarget>x64</PlatformTarget>
<DebugType>pdbonly</DebugType>
<Optimize>true</Optimize>
<OutputPath>bin\Release\</OutputPath>
<DefineConstants>TRACE</DefineConstants>
<ErrorReport>prompt</ErrorReport>
<WarningLevel>4</WarningLevel>
</PropertyGroup>
<PropertyGroup Condition="'$(Configuration)|$(Platform)' == 'Debug|x64'">
<PlatformTarget>x64</PlatformTarget>
<OutputPath>bin\x64\Debug\</OutputPath>
</PropertyGroup>
<PropertyGroup Condition="'$(Configuration)|$(Platform)' == 'Release|x64'">
<PlatformTarget>x64</PlatformTarget>
<OutputPath>bin\x64\Release\</OutputPath>
<Optimize>true</Optimize>
</PropertyGroup>
<ItemGroup>
<Reference Include="System" />
<Reference Include="System.Core" />
<Reference Include="System.Xml.Linq" />
<Reference Include="System.Data.DataSetExtensions" />
<Reference Include="Microsoft.CSharp" />
<Reference Include="System.Data" />
<Reference Include="System.Deployment" />
<Reference Include="System.Drawing" />
<Reference Include="System.Net.Http" />
<Reference Include="System.Windows.Forms" />
<Reference Include="System.Xml" />
</ItemGroup>
<ItemGroup>
<Compile Include="Form1.cs">
<SubType>Form</SubType>
</Compile>
<Compile Include="Form1.Designer.cs">
<DependentUpon>Form1.cs</DependentUpon>
</Compile>
<Compile Include="Program.cs" />
<Compile Include="Properties\AssemblyInfo.cs" />
<EmbeddedResource Include="Form1.resx">
<DependentUpon>Form1.cs</DependentUpon>
</EmbeddedResource>
<EmbeddedResource Include="Properties\Resources.resx">
<Generator>ResXFileCodeGenerator</Generator>
<LastGenOutput>Resources.Designer.cs</LastGenOutput>
<SubType>Designer</SubType>
</EmbeddedResource>
<Compile Include="Properties\Resources.Designer.cs">
<AutoGen>True</AutoGen>
<DependentUpon>Resources.resx</DependentUpon>
<DesignTime>True</DesignTime>
</Compile>
<None Include="packages.config" />
<None Include="Properties\Settings.settings">
<Generator>SettingsSingleFileGenerator</Generator>
<LastGenOutput>Settings.Designer.cs</LastGenOutput>
</None>
<Compile Include="Properties\Settings.Designer.cs">
<AutoGen>True</AutoGen>
<DependentUpon>Settings.settings</DependentUpon>
<DesignTimeSharedInput>True</DesignTimeSharedInput>
</Compile>
</ItemGroup>
<ItemGroup>
<None Include="App.config" />
</ItemGroup>
<Import Project="$(MSBuildToolsPath)\Microsoft.CSharp.targets" />
<Target Name="EnsureNuGetPackageBuildImports" BeforeTargets="PrepareForBuild">
<PropertyGroup>
<ErrorText>This project references NuGet package(s) that are missing on this computer. Use NuGet Package Restore to download them. For more information, see http://go.microsoft.com/fwlink/?LinkID=322105. The missing file is {0}.</ErrorText>
</PropertyGroup>
<Error Condition="!Exists('..\packages\cef.redist.x64.84.4.1\build\cef.redist.x64.props')" Text="$([System.String]::Format('$(ErrorText)', '..\packages\cef.redist.x64.84.4.1\build\cef.redist.x64.props'))" />
<Error Condition="!Exists('..\packages\cef.redist.x86.84.4.1\build\cef.redist.x86.props')" Text="$([System.String]::Format('$(ErrorText)', '..\packages\cef.redist.x86.84.4.1\build\cef.redist.x86.props'))" />
<Error Condition="!Exists('..\packages\CefSharp.Common.84.4.10\build\CefSharp.Common.props')" Text="$([System.String]::Format('$(ErrorText)', '..\packages\CefSharp.Common.84.4.10\build\CefSharp.Common.props'))" />
<Error Condition="!Exists('..\packages\CefSharp.Common.84.4.10\build\CefSharp.Common.targets')" Text="$([System.String]::Format('$(ErrorText)', '..\packages\CefSharp.Common.84.4.10\build\CefSharp.Common.targets'))" />
<Error Condition="!Exists('..\packages\CefSharp.WinForms.84.4.10\build\CefSharp.WinForms.props')" Text="$([System.String]::Format('$(ErrorText)', '..\packages\CefSharp.WinForms.84.4.10\build\CefSharp.WinForms.props'))" />
<Error Condition="!Exists('..\packages\CefSharp.WinForms.84.4.10\build\CefSharp.WinForms.targets')" Text="$([System.String]::Format('$(ErrorText)', '..\packages\CefSharp.WinForms.84.4.10\build\CefSharp.WinForms.targets'))" />
</Target>
<Import Project="..\packages\CefSharp.Common.84.4.10\build\CefSharp.Common.targets" Condition="Exists('..\packages\CefSharp.Common.84.4.10\build\CefSharp.Common.targets')" />
<Import Project="..\packages\CefSharp.WinForms.84.4.10\build\CefSharp.WinForms.targets" Condition="Exists('..\packages\CefSharp.WinForms.84.4.10\build\CefSharp.WinForms.targets')" />
</Project>
+51
View File
@@ -0,0 +1,51 @@
namespace Client_New
{
partial class Form1
{
/// <summary>
/// Required designer variable.
/// </summary>
private System.ComponentModel.IContainer components = null;
/// <summary>
/// Clean up any resources being used.
/// </summary>
/// <param name="disposing">true if managed resources should be disposed; otherwise, false.</param>
protected override void Dispose(bool disposing)
{
if (disposing && (components != null))
{
components.Dispose();
}
base.Dispose(disposing);
}
#region Windows Form Designer generated code
/// <summary>
/// Required method for Designer support - do not modify
/// the contents of this method with the code editor.
/// </summary>
private void InitializeComponent()
{
this.SuspendLayout();
//
// Form1
//
this.AutoScaleDimensions = new System.Drawing.SizeF(6F, 13F);
this.AutoScaleMode = System.Windows.Forms.AutoScaleMode.Font;
this.ClientSize = new System.Drawing.Size(1264, 609);
this.ControlBox = false;
this.FormBorderStyle = System.Windows.Forms.FormBorderStyle.None;
this.Name = "Form1";
this.StartPosition = System.Windows.Forms.FormStartPosition.CenterScreen;
this.Text = "Form1";
this.ResumeLayout(false);
}
#endregion
}
}
+28
View File
@@ -0,0 +1,28 @@
using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using System.Windows.Forms;
using CefSharp.WinForms;
namespace Client_New
{
public partial class Form1 : Form
{
public Form1()
{
InitializeComponent();
var browser = new ChromiumWebBrowser("http:\\localhost:9000");
this.Controls.Add(browser);
}
private void cursort(object sender, EventArgs e)
{
//throw new NotImplementedException();
}
}
}
+120
View File
@@ -0,0 +1,120 @@
<?xml version="1.0" encoding="utf-8"?>
<root>
<!--
Microsoft ResX Schema
Version 2.0
The primary goals of this format is to allow a simple XML format
that is mostly human readable. The generation and parsing of the
various data types are done through the TypeConverter classes
associated with the data types.
Example:
... ado.net/XML headers & schema ...
<resheader name="resmimetype">text/microsoft-resx</resheader>
<resheader name="version">2.0</resheader>
<resheader name="reader">System.Resources.ResXResourceReader, System.Windows.Forms, ...</resheader>
<resheader name="writer">System.Resources.ResXResourceWriter, System.Windows.Forms, ...</resheader>
<data name="Name1"><value>this is my long string</value><comment>this is a comment</comment></data>
<data name="Color1" type="System.Drawing.Color, System.Drawing">Blue</data>
<data name="Bitmap1" mimetype="application/x-microsoft.net.object.binary.base64">
<value>[base64 mime encoded serialized .NET Framework object]</value>
</data>
<data name="Icon1" type="System.Drawing.Icon, System.Drawing" mimetype="application/x-microsoft.net.object.bytearray.base64">
<value>[base64 mime encoded string representing a byte array form of the .NET Framework object]</value>
<comment>This is a comment</comment>
</data>
There are any number of "resheader" rows that contain simple
name/value pairs.
Each data row contains a name, and value. The row also contains a
type or mimetype. Type corresponds to a .NET class that support
text/value conversion through the TypeConverter architecture.
Classes that don't support this are serialized and stored with the
mimetype set.
The mimetype is used for serialized objects, and tells the
ResXResourceReader how to depersist the object. This is currently not
extensible. For a given mimetype the value must be set accordingly:
Note - application/x-microsoft.net.object.binary.base64 is the format
that the ResXResourceWriter will generate, however the reader can
read any of the formats listed below.
mimetype: application/x-microsoft.net.object.binary.base64
value : The object must be serialized with
: System.Runtime.Serialization.Formatters.Binary.BinaryFormatter
: and then encoded with base64 encoding.
mimetype: application/x-microsoft.net.object.soap.base64
value : The object must be serialized with
: System.Runtime.Serialization.Formatters.Soap.SoapFormatter
: and then encoded with base64 encoding.
mimetype: application/x-microsoft.net.object.bytearray.base64
value : The object must be serialized into a byte array
: using a System.ComponentModel.TypeConverter
: and then encoded with base64 encoding.
-->
<xsd:schema id="root" xmlns="" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:msdata="urn:schemas-microsoft-com:xml-msdata">
<xsd:import namespace="http://www.w3.org/XML/1998/namespace" />
<xsd:element name="root" msdata:IsDataSet="true">
<xsd:complexType>
<xsd:choice maxOccurs="unbounded">
<xsd:element name="metadata">
<xsd:complexType>
<xsd:sequence>
<xsd:element name="value" type="xsd:string" minOccurs="0" />
</xsd:sequence>
<xsd:attribute name="name" use="required" type="xsd:string" />
<xsd:attribute name="type" type="xsd:string" />
<xsd:attribute name="mimetype" type="xsd:string" />
<xsd:attribute ref="xml:space" />
</xsd:complexType>
</xsd:element>
<xsd:element name="assembly">
<xsd:complexType>
<xsd:attribute name="alias" type="xsd:string" />
<xsd:attribute name="name" type="xsd:string" />
</xsd:complexType>
</xsd:element>
<xsd:element name="data">
<xsd:complexType>
<xsd:sequence>
<xsd:element name="value" type="xsd:string" minOccurs="0" msdata:Ordinal="1" />
<xsd:element name="comment" type="xsd:string" minOccurs="0" msdata:Ordinal="2" />
</xsd:sequence>
<xsd:attribute name="name" type="xsd:string" use="required" msdata:Ordinal="1" />
<xsd:attribute name="type" type="xsd:string" msdata:Ordinal="3" />
<xsd:attribute name="mimetype" type="xsd:string" msdata:Ordinal="4" />
<xsd:attribute ref="xml:space" />
</xsd:complexType>
</xsd:element>
<xsd:element name="resheader">
<xsd:complexType>
<xsd:sequence>
<xsd:element name="value" type="xsd:string" minOccurs="0" msdata:Ordinal="1" />
</xsd:sequence>
<xsd:attribute name="name" type="xsd:string" use="required" />
</xsd:complexType>
</xsd:element>
</xsd:choice>
</xsd:complexType>
</xsd:element>
</xsd:schema>
<resheader name="resmimetype">
<value>text/microsoft-resx</value>
</resheader>
<resheader name="version">
<value>2.0</value>
</resheader>
<resheader name="reader">
<value>System.Resources.ResXResourceReader, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
</resheader>
<resheader name="writer">
<value>System.Resources.ResXResourceWriter, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
</resheader>
</root>
+22
View File
@@ -0,0 +1,22 @@
using System;
using System.Collections.Generic;
using System.Linq;
using System.Threading.Tasks;
using System.Windows.Forms;
namespace Client_New
{
static class Program
{
/// <summary>
/// The main entry point for the application.
/// </summary>
[STAThread]
static void Main()
{
Application.EnableVisualStyles();
Application.SetCompatibleTextRenderingDefault(false);
Application.Run(new Form1());
}
}
}
+36
View File
@@ -0,0 +1,36 @@
using System.Reflection;
using System.Runtime.CompilerServices;
using System.Runtime.InteropServices;
// General Information about an assembly is controlled through the following
// set of attributes. Change these attribute values to modify the information
// associated with an assembly.
[assembly: AssemblyTitle("Client_New")]
[assembly: AssemblyDescription("")]
[assembly: AssemblyConfiguration("")]
[assembly: AssemblyCompany("")]
[assembly: AssemblyProduct("Client_New")]
[assembly: AssemblyCopyright("Copyright © 2020")]
[assembly: AssemblyTrademark("")]
[assembly: AssemblyCulture("")]
// Setting ComVisible to false makes the types in this assembly not visible
// to COM components. If you need to access a type in this assembly from
// COM, set the ComVisible attribute to true on that type.
[assembly: ComVisible(false)]
// The following GUID is for the ID of the typelib if this project is exposed to COM
[assembly: Guid("97474bc6-6405-4043-9bee-e1bde6b8d972")]
// Version information for an assembly consists of the following four values:
//
// Major Version
// Minor Version
// Build Number
// Revision
//
// You can specify all the values or you can default the Build and Revision Numbers
// by using the '*' as shown below:
// [assembly: AssemblyVersion("1.0.*")]
[assembly: AssemblyVersion("1.0.0.0")]
[assembly: AssemblyFileVersion("1.0.0.0")]
+63
View File
@@ -0,0 +1,63 @@
//------------------------------------------------------------------------------
// <auto-generated>
// This code was generated by a tool.
// Runtime Version:4.0.30319.42000
//
// Changes to this file may cause incorrect behavior and will be lost if
// the code is regenerated.
// </auto-generated>
//------------------------------------------------------------------------------
namespace Client_New.Properties {
using System;
/// <summary>
/// A strongly-typed resource class, for looking up localized strings, etc.
/// </summary>
// This class was auto-generated by the StronglyTypedResourceBuilder
// class via a tool like ResGen or Visual Studio.
// To add or remove a member, edit your .ResX file then rerun ResGen
// with the /str option, or rebuild your VS project.
[global::System.CodeDom.Compiler.GeneratedCodeAttribute("System.Resources.Tools.StronglyTypedResourceBuilder", "15.0.0.0")]
[global::System.Diagnostics.DebuggerNonUserCodeAttribute()]
[global::System.Runtime.CompilerServices.CompilerGeneratedAttribute()]
internal class Resources {
private static global::System.Resources.ResourceManager resourceMan;
private static global::System.Globalization.CultureInfo resourceCulture;
[global::System.Diagnostics.CodeAnalysis.SuppressMessageAttribute("Microsoft.Performance", "CA1811:AvoidUncalledPrivateCode")]
internal Resources() {
}
/// <summary>
/// Returns the cached ResourceManager instance used by this class.
/// </summary>
[global::System.ComponentModel.EditorBrowsableAttribute(global::System.ComponentModel.EditorBrowsableState.Advanced)]
internal static global::System.Resources.ResourceManager ResourceManager {
get {
if (object.ReferenceEquals(resourceMan, null)) {
global::System.Resources.ResourceManager temp = new global::System.Resources.ResourceManager("Client_New.Properties.Resources", typeof(Resources).Assembly);
resourceMan = temp;
}
return resourceMan;
}
}
/// <summary>
/// Overrides the current thread's CurrentUICulture property for all
/// resource lookups using this strongly typed resource class.
/// </summary>
[global::System.ComponentModel.EditorBrowsableAttribute(global::System.ComponentModel.EditorBrowsableState.Advanced)]
internal static global::System.Globalization.CultureInfo Culture {
get {
return resourceCulture;
}
set {
resourceCulture = value;
}
}
}
}
+117
View File
@@ -0,0 +1,117 @@
<?xml version="1.0" encoding="utf-8"?>
<root>
<!--
Microsoft ResX Schema
Version 2.0
The primary goals of this format is to allow a simple XML format
that is mostly human readable. The generation and parsing of the
various data types are done through the TypeConverter classes
associated with the data types.
Example:
... ado.net/XML headers & schema ...
<resheader name="resmimetype">text/microsoft-resx</resheader>
<resheader name="version">2.0</resheader>
<resheader name="reader">System.Resources.ResXResourceReader, System.Windows.Forms, ...</resheader>
<resheader name="writer">System.Resources.ResXResourceWriter, System.Windows.Forms, ...</resheader>
<data name="Name1"><value>this is my long string</value><comment>this is a comment</comment></data>
<data name="Color1" type="System.Drawing.Color, System.Drawing">Blue</data>
<data name="Bitmap1" mimetype="application/x-microsoft.net.object.binary.base64">
<value>[base64 mime encoded serialized .NET Framework object]</value>
</data>
<data name="Icon1" type="System.Drawing.Icon, System.Drawing" mimetype="application/x-microsoft.net.object.bytearray.base64">
<value>[base64 mime encoded string representing a byte array form of the .NET Framework object]</value>
<comment>This is a comment</comment>
</data>
There are any number of "resheader" rows that contain simple
name/value pairs.
Each data row contains a name, and value. The row also contains a
type or mimetype. Type corresponds to a .NET class that support
text/value conversion through the TypeConverter architecture.
Classes that don't support this are serialized and stored with the
mimetype set.
The mimetype is used for serialized objects, and tells the
ResXResourceReader how to depersist the object. This is currently not
extensible. For a given mimetype the value must be set accordingly:
Note - application/x-microsoft.net.object.binary.base64 is the format
that the ResXResourceWriter will generate, however the reader can
read any of the formats listed below.
mimetype: application/x-microsoft.net.object.binary.base64
value : The object must be serialized with
: System.Serialization.Formatters.Binary.BinaryFormatter
: and then encoded with base64 encoding.
mimetype: application/x-microsoft.net.object.soap.base64
value : The object must be serialized with
: System.Runtime.Serialization.Formatters.Soap.SoapFormatter
: and then encoded with base64 encoding.
mimetype: application/x-microsoft.net.object.bytearray.base64
value : The object must be serialized into a byte array
: using a System.ComponentModel.TypeConverter
: and then encoded with base64 encoding.
-->
<xsd:schema id="root" xmlns="" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:msdata="urn:schemas-microsoft-com:xml-msdata">
<xsd:element name="root" msdata:IsDataSet="true">
<xsd:complexType>
<xsd:choice maxOccurs="unbounded">
<xsd:element name="metadata">
<xsd:complexType>
<xsd:sequence>
<xsd:element name="value" type="xsd:string" minOccurs="0" />
</xsd:sequence>
<xsd:attribute name="name" type="xsd:string" />
<xsd:attribute name="type" type="xsd:string" />
<xsd:attribute name="mimetype" type="xsd:string" />
</xsd:complexType>
</xsd:element>
<xsd:element name="assembly">
<xsd:complexType>
<xsd:attribute name="alias" type="xsd:string" />
<xsd:attribute name="name" type="xsd:string" />
</xsd:complexType>
</xsd:element>
<xsd:element name="data">
<xsd:complexType>
<xsd:sequence>
<xsd:element name="value" type="xsd:string" minOccurs="0" msdata:Ordinal="1" />
<xsd:element name="comment" type="xsd:string" minOccurs="0" msdata:Ordinal="2" />
</xsd:sequence>
<xsd:attribute name="name" type="xsd:string" msdata:Ordinal="1" />
<xsd:attribute name="type" type="xsd:string" msdata:Ordinal="3" />
<xsd:attribute name="mimetype" type="xsd:string" msdata:Ordinal="4" />
</xsd:complexType>
</xsd:element>
<xsd:element name="resheader">
<xsd:complexType>
<xsd:sequence>
<xsd:element name="value" type="xsd:string" minOccurs="0" msdata:Ordinal="1" />
</xsd:sequence>
<xsd:attribute name="name" type="xsd:string" use="required" />
</xsd:complexType>
</xsd:element>
</xsd:choice>
</xsd:complexType>
</xsd:element>
</xsd:schema>
<resheader name="resmimetype">
<value>text/microsoft-resx</value>
</resheader>
<resheader name="version">
<value>2.0</value>
</resheader>
<resheader name="reader">
<value>System.Resources.ResXResourceReader, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
</resheader>
<resheader name="writer">
<value>System.Resources.ResXResourceWriter, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
</resheader>
</root>
+26
View File
@@ -0,0 +1,26 @@
//------------------------------------------------------------------------------
// <auto-generated>
// This code was generated by a tool.
// Runtime Version:4.0.30319.42000
//
// Changes to this file may cause incorrect behavior and will be lost if
// the code is regenerated.
// </auto-generated>
//------------------------------------------------------------------------------
namespace Client_New.Properties {
[global::System.Runtime.CompilerServices.CompilerGeneratedAttribute()]
[global::System.CodeDom.Compiler.GeneratedCodeAttribute("Microsoft.VisualStudio.Editors.SettingsDesigner.SettingsSingleFileGenerator", "15.9.0.0")]
internal sealed partial class Settings : global::System.Configuration.ApplicationSettingsBase {
private static Settings defaultInstance = ((Settings)(global::System.Configuration.ApplicationSettingsBase.Synchronized(new Settings())));
public static Settings Default {
get {
return defaultInstance;
}
}
}
}
+7
View File
@@ -0,0 +1,7 @@
<?xml version='1.0' encoding='utf-8'?>
<SettingsFile xmlns="http://schemas.microsoft.com/VisualStudio/2004/01/settings" CurrentProfile="(Default)">
<Profiles>
<Profile Name="(Default)" />
</Profiles>
<Settings />
</SettingsFile>
+7
View File
@@ -0,0 +1,7 @@
<?xml version="1.0" encoding="utf-8"?>
<packages>
<package id="cef.redist.x64" version="84.4.1" targetFramework="net461" />
<package id="cef.redist.x86" version="84.4.1" targetFramework="net461" />
<package id="CefSharp.Common" version="84.4.10" targetFramework="net461" />
<package id="CefSharp.WinForms" version="84.4.10" targetFramework="net461" />
</packages>
BIN
View File
Binary file not shown.
+15 -2
View File
@@ -5,11 +5,24 @@
## Ambiente sviluppo e simulazione
## Procedura udpate DB
In caso di update del modello DB, seguendo questa guida (https://www.entityframeworktutorial.net/efcore/entity-framework-core-migration.aspx#:~:text=Adding%20a%20Migration,-At%20the%20very&text=So%2C%20firstly%2C%20you%20need%20to,command%20to%20add%20a%20migration.&text=If%20you%20are%20using%20dotnet,Interface%2C%20execute%20the%20following%20command.)
* si modifica lato classe il modello
* si apre il PM Nuget,s elezionando il progetto DB (che contiene le migrations)
* si da il comando di migrazione con un testo descrittivo, tipo
add-migration MyFirstMigration
* si può poi aggiornare il DB manualmente (o all'avvio del sw) con il comando
Update-Database
## Procedura Riavvio su SIM
Step come indicati da M.Carissoni:
* Dai un paio di ResetSK
* fai cicloReset
* mettere macchina in MANUAL
* Dai un paio di ResetSK (prima softkey! oppure sul pannello siemens)
* fai cicloReset (softkey)
* parcheggio macchina da GANT (fino a che si spegne)
* quando si spegne ciclo reset auto
* Inizia a lampeggiare start e lo clicchi e parte
* Quando si spegne cicloReset fai cicloAuto
@@ -0,0 +1,36 @@
using System.Reflection;
using System.Runtime.CompilerServices;
using System.Runtime.InteropServices;
// General Information about an assembly is controlled through the following
// set of attributes. Change these attribute values to modify the information
// associated with an assembly.
[assembly: AssemblyTitle("Thermo.Active.Thermocamera")]
[assembly: AssemblyDescription("")]
[assembly: AssemblyConfiguration("")]
[assembly: AssemblyCompany("")]
[assembly: AssemblyProduct("Thermo.Active.Thermocamera")]
[assembly: AssemblyCopyright("Copyright © 2020")]
[assembly: AssemblyTrademark("")]
[assembly: AssemblyCulture("")]
// Setting ComVisible to false makes the types in this assembly not visible
// to COM components. If you need to access a type in this assembly from
// COM, set the ComVisible attribute to true on that type.
[assembly: ComVisible(false)]
// The following GUID is for the ID of the typelib if this project is exposed to COM
[assembly: Guid("8d8ec91a-3a15-4a1d-951b-a35e7068debd")]
// Version information for an assembly consists of the following four values:
//
// Major Version
// Minor Version
// Build Number
// Revision
//
// You can specify all the values or you can default the Build and Revision Numbers
// by using the '*' as shown below:
// [assembly: AssemblyVersion("1.0.*")]
[assembly: AssemblyVersion("1.0.0.0")]
[assembly: AssemblyFileVersion("1.0.0.0")]
@@ -0,0 +1,89 @@
<?xml version="1.0" encoding="utf-8"?>
<Project ToolsVersion="15.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
<Import Project="$(MSBuildExtensionsPath)\$(MSBuildToolsVersion)\Microsoft.Common.props" Condition="Exists('$(MSBuildExtensionsPath)\$(MSBuildToolsVersion)\Microsoft.Common.props')" />
<PropertyGroup>
<Configuration Condition=" '$(Configuration)' == '' ">Debug</Configuration>
<Platform Condition=" '$(Platform)' == '' ">AnyCPU</Platform>
<ProjectGuid>{8D8EC91A-3A15-4A1D-951B-A35E7068DEBD}</ProjectGuid>
<OutputType>Library</OutputType>
<AppDesignerFolder>Properties</AppDesignerFolder>
<RootNamespace>Thermo.Active.Thermocamera</RootNamespace>
<AssemblyName>Thermo.Active.Thermocamera</AssemblyName>
<TargetFrameworkVersion>v4.6.2</TargetFrameworkVersion>
<FileAlignment>512</FileAlignment>
<Deterministic>true</Deterministic>
</PropertyGroup>
<PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Debug|AnyCPU' ">
<DebugSymbols>true</DebugSymbols>
<DebugType>full</DebugType>
<Optimize>false</Optimize>
<OutputPath>bin\Debug\</OutputPath>
<DefineConstants>DEBUG;TRACE</DefineConstants>
<ErrorReport>prompt</ErrorReport>
<WarningLevel>4</WarningLevel>
</PropertyGroup>
<PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Release|AnyCPU' ">
<DebugType>pdbonly</DebugType>
<Optimize>true</Optimize>
<OutputPath>bin\Release\</OutputPath>
<DefineConstants>TRACE</DefineConstants>
<ErrorReport>prompt</ErrorReport>
<WarningLevel>4</WarningLevel>
</PropertyGroup>
<PropertyGroup Condition="'$(Configuration)|$(Platform)' == 'Debug|x64'">
<DebugSymbols>true</DebugSymbols>
<OutputPath>bin\x64\Debug\</OutputPath>
<DefineConstants>DEBUG;TRACE</DefineConstants>
<DebugType>full</DebugType>
<PlatformTarget>x64</PlatformTarget>
<LangVersion>7.3</LangVersion>
<ErrorReport>prompt</ErrorReport>
<CodeAnalysisRuleSet>MinimumRecommendedRules.ruleset</CodeAnalysisRuleSet>
</PropertyGroup>
<PropertyGroup Condition="'$(Configuration)|$(Platform)' == 'Release|x64'">
<OutputPath>bin\x64\Release\</OutputPath>
<DefineConstants>TRACE</DefineConstants>
<Optimize>true</Optimize>
<DebugType>pdbonly</DebugType>
<PlatformTarget>x64</PlatformTarget>
<LangVersion>7.3</LangVersion>
<ErrorReport>prompt</ErrorReport>
<CodeAnalysisRuleSet>MinimumRecommendedRules.ruleset</CodeAnalysisRuleSet>
</PropertyGroup>
<ItemGroup>
<Reference Include="Flir.Atlas.Image, Version=2.0.14266.1000, Culture=neutral, PublicKeyToken=caa391fd8e07c76b, processorArchitecture=x86">
<SpecificVersion>False</SpecificVersion>
<HintPath>..\..\..\..\..\..\Program Files (x86)\FLIR Systems\FLIR Atlas SDK 6\bin\x86\Flir.Atlas.Image.dll</HintPath>
</Reference>
<Reference Include="Flir.Atlas.Live, Version=2.0.14266.1000, Culture=neutral, PublicKeyToken=caa391fd8e07c76b, processorArchitecture=x86">
<SpecificVersion>False</SpecificVersion>
<HintPath>..\..\..\..\..\..\Program Files (x86)\FLIR Systems\FLIR Atlas SDK 6\bin\x86\Flir.Atlas.Live.dll</HintPath>
</Reference>
<Reference Include="System" />
<Reference Include="System.Configuration" />
<Reference Include="System.Core" />
<Reference Include="System.Drawing" />
<Reference Include="System.Xml.Linq" />
<Reference Include="System.Data.DataSetExtensions" />
<Reference Include="Microsoft.CSharp" />
<Reference Include="System.Data" />
<Reference Include="System.Net.Http" />
<Reference Include="System.Xml" />
<Reference Include="WindowsBase" />
</ItemGroup>
<ItemGroup>
<Compile Include="ThermoCamComunicator.cs" />
<Compile Include="Properties\AssemblyInfo.cs" />
</ItemGroup>
<ItemGroup>
<ProjectReference Include="..\Thermo.Active.Model\Thermo.Active.Model.csproj">
<Project>{631375DD-06D3-49BB-8130-D9DDB34C429D}</Project>
<Name>Thermo.Active.Model</Name>
</ProjectReference>
<ProjectReference Include="..\Thermo.Cam.Utils\Thermo.Cam.Utils.csproj">
<Project>{e4587942-498b-4aa7-9cc9-9304eb2d05c8}</Project>
<Name>Thermo.Cam.Utils</Name>
</ProjectReference>
</ItemGroup>
<Import Project="$(MSBuildToolsPath)\Microsoft.CSharp.targets" />
</Project>
@@ -0,0 +1,6 @@
<?xml version="1.0" encoding="utf-8"?>
<Project ToolsVersion="Current" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
<PropertyGroup>
<ProjectView>ShowAllFiles</ProjectView>
</PropertyGroup>
</Project>
@@ -0,0 +1,160 @@
using Flir.Atlas.Live.Device;
using System;
using System.Collections.Generic;
using System.IO;
using System.Linq;
using System.Reflection;
using System.Text;
using System.Threading.Tasks;
using Thermo.Active.Model;
using Thermo.Active.Model.DTOModels.ThWarmers;
using Thermo.Cam.Utils;
namespace Thermo.Active.Thermocamera
{
public class ThermoCamComunicator
{
#region Protected Fields
/// <summary>
/// Classe gestione ThermoCam (oggetti Image, metodi processing...)
/// </summary>
protected TCContr TCamLive = new TCContr(BASE_PATH, BASE_PATH);
#endregion Protected Fields
#region Public Fields
public static readonly string BASE_PATH = Path.GetDirectoryName(Assembly.GetEntryAssembly().Location);
/// <summary>
/// Indica se la camera sia connessa
/// </summary>
public bool CameraIsConnected = false;
#endregion Public Fields
#region Public Constructors
/// <summary>
/// Init classe
/// </summary>
/// <param name="isLive">Indica aabilitazione a live straming vs load dati storici</param>
public ThermoCamComunicator(bool isLive)
{
// init classe controllo camera
TCamLive = new TCContr($"{Constants.WEBSITE_DIRECTORY}\\{Constants.THERMO_DATA_FOLDER}", $"{BASE_PATH}\\{Constants.CONFIG_DIRECTORY}");
// aggancio evento connesisone/disconnessione
TCamLive.eh_CameraConnStatusChanged += TCamLive_eh_CameraConnStatusChanged;
// avvio classe gestione thermocamera...
TCamLive.tryReloadConf();
if (isLive)
{
// SOLO PER IL LIVE --> cerco camera
TCamLive.discoveryCamera();
}
}
private void TCamLive_eh_CameraConnStatusChanged(object sender, Flir.Atlas.Live.ConnectionStatusChangedEventArgs e)
{
// salvo stato connessione
CameraIsConnected = e.Status == ConnectionStatus.Connected;
}
#endregion Public Constructors
#region Protected Methods
/// <summary>
/// Rilettura da file di tutti i dati
/// </summary>
/// <param name="fileName">Nome set file (originale + colorized + dati temperatura)</param>
/// <returns></returns>
protected bool loadData(string fileName)
{
bool done = false;
try
{
done = TCamLive.fileLoad(fileName);
}
catch
{ }
return done;
}
#endregion Protected Methods
#region Public Methods
/// <summary>
/// chiusura metodi legati a ThermoCam (discovery e connessione)
/// </summary>
public void Dispose()
{
TCamLive.stopDiscovery();
TCamLive.DisconnectCamera();
TCamLive.DisposeCamera();
}
/// <summary>
/// Restituisce lettura di tutti i punti richiesti (es centroidi riscaldi)
/// </summary>
/// <param name="setName">Nome dei dati da leggere, se "" --> live</param>
/// <param name="points">Dictionary id richiesta + punto (es canali + relativi punti medi come centro calcolato della resistenza di riferimento del canale)</param>
/// <param name="temp">Dizionario temperature come id + valore double in °C</param>
/// <returns></returns>
public bool readMultiTemperatures(string setName, Dictionary<int, ThermoPoint> points, out List<MeasurePoint> temp)
{
temp = new List<MeasurePoint>();
// converto la richiesta in una lista di punti di misura...
List<MeasurePoint> reqData = points.Select(item => new MeasurePoint()
{
Id = item.Key,
Coords = new System.Drawing.Point(item.Value.X, item.Value.Y),
Temperature = 0
}).ToList();
bool done = false;
if (string.IsNullOrEmpty(setName) || setName == "_live")
{
done = true;
}
else
{
// carico file vari...
done = TCamLive.fileLoad(setName);
}
try
{
temp = TCamLive.getPointsTemperature(false, reqData);
}
catch
{ }
// fatto!
return true;
}
/// <summary>
/// Richiesta di acquisizione immagine FLIR (restituisce nome con cui sono stati salvati file)
/// </summary>
/// <returns></returns>
public string takePicture()
{
string imgName = "";
try
{
// effettua chiamata x scattare immagine e SALVARE
TCamLive.takePicture();
TCamLive.calculateTarget();
imgName = TCamLive.fileSave();
}
catch
{ }
return imgName;
}
#endregion Public Methods
}
}
@@ -0,0 +1,122 @@
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using Thermo.Active.Model.DTOModels.AlarmModels;
using YamlDotNet.Core.Tokens;
namespace Thermo.Active.CmsConnectGateway
{
public static class CMSConnectConstants
{
public const string IP_ADDR_LABEL = "IP_ADDRESS=";
public const string GATEWAY_LABEL = "DEFAULT_GATEWAY=";
public const string DNSIP_LABEL = "DNS_IP=";
public const string DNSPREFIX_LABEL = "DNS_SUFFIX=";
public const string PROXY_ADDR_LABEL = "PROXY=";
public const string NO_PROXY_LABEL = "NO_PROXY=";
public const string UNDEF_VALUE = "none";
public const string CONNECTION_OK_VALUE = "OK";
public const string CONNECTION_NOWEB_VALUE = "NO_WEB";
public const string CONNECTION_NOPORT_VALUE = "NO_PORTS";
public const int REBOOT_MINUTES_MAX = 2;
public const int REBOOT_MSWAIT_BETWEEN_OP = 500;
public const string ADMIN_COMMAND = "sudo ";
public const string SSH_SET_PROXY_COMMAND = ADMIN_COMMAND + "./setProxy.sh ";
public const string SSH_SET_DNSIP_COMMAND = ADMIN_COMMAND + "./setDnsIp.sh ";
public const string SSH_SET_DNSSUFFIX_COMMAND = ADMIN_COMMAND + "./setDnsSuffix.sh ";
public const string SSH_SET_NETWORK_COMMAND = ADMIN_COMMAND + "./setNetwork.sh ";
public const string SSH_GET_NETWORK_COMMAND = ADMIN_COMMAND + "./getNetworkConfiguration.sh ";
public const string SSH_GET_PROXY_COMMAND = ADMIN_COMMAND + "./getProxyConfiguration.sh ";
public const string SSH_TEST_CONNECTION_COMMAND = ADMIN_COMMAND + "./testConnection.sh ";
public const string SSH_GW_REBOOT_COMMAND = ADMIN_COMMAND + "./gatewayReboot.sh ";
public const string YAML_CONFIG_FILE = "./example-mconnect.conf.yaml";
public const string CONNECT_UNDEFINED = "UNDEFINED";
public const string CONNECT_MACHINE_STAUTS_EXE = "EXE";
public const string CONNECT_MACHINE_STAUTS_READY = "READY";
public const string CONNECT_MACHINE_STAUTS_SETUP = "SETUP";
public const string CONNECT_MACHINE_STAUTS_FAIL = "FAIL";
public const string CONNECT_MACHINE_STAUTS_POWEROFF = "POWER_OFF";
public const string CONNECT_PROC_STAUTS_EXE = "EXE";
public const string CONNECT_PROC_STAUTS_READY = "READY";
public const string CONNECT_PROC_STAUTS_HOLD = "HOLD";
public const string CONNECT_PROC_STAUTS_FHOLD = "FEED_HOLD";
public const string CONNECT_PROC_STAUTS_OSTOP = "OPTIONAL_STOP";
public const string CONNECT_PROC_STAUTS_PSTOPPED = "PROGRAM_STOPPED";
public const string CONNECT_PROC_MODE_AUTO = "AUTOMATIC";
public const string CONNECT_PROC_MODE_EDIT = "EDIT";
public const string CONNECT_PROC_MODE_JOG = "MANUAL_JOG";
public static string ConvertThermoToConnectStatus(int status)
{
switch (status)
{
case 0: return CONNECT_MACHINE_STAUTS_POWEROFF;
case 1: return CONNECT_MACHINE_STAUTS_READY;
case 2: return CONNECT_MACHINE_STAUTS_EXE;
case 4: return CONNECT_MACHINE_STAUTS_SETUP;
case 8: return CONNECT_MACHINE_STAUTS_FAIL;
case 16: return CONNECT_MACHINE_STAUTS_READY;
case 128: return CONNECT_MACHINE_STAUTS_FAIL;
default: return CONNECT_UNDEFINED;
}
}
public static string ConvertThermoToConnectProcessStatus(int status)
{
switch (status)
{
case 0: return CONNECT_PROC_STAUTS_READY;
case 1: return CONNECT_PROC_STAUTS_READY;
case 2: return CONNECT_PROC_STAUTS_EXE;
case 4: return CONNECT_PROC_STAUTS_FHOLD;
case 8: return CONNECT_PROC_STAUTS_OSTOP;
case 16: return CONNECT_PROC_STAUTS_HOLD;
case 128: return CONNECT_PROC_STAUTS_HOLD;
default: return CONNECT_UNDEFINED;
}
}
public static string ConvertThermoToConnectProcessMode(int status)
{
switch (status)
{
case 1: return CONNECT_PROC_MODE_EDIT;
case 2: return CONNECT_PROC_MODE_AUTO;
case 4: return CONNECT_PROC_MODE_JOG;
default: return CONNECT_UNDEFINED;
}
}
public static bool ConvertThermoToConnectPower(int status)
{
switch (status)
{
case 0: return false;
default: return true;
}
}
public static bool ConvertThermoToConnectMachineAlarm(DTOAlarmsModel alarms)
{
return alarms.PlcAlarms.Count > 0;
}
public static string ConvertThermoToConnectAlarms(DTOAlarmsModel alarms)
{
List<string> alms = new List<string>();
foreach (DTOPlcAlarmModel alarm in alarms.PlcAlarms) {
int severity = alarm.IsWarning ? 500 : 900;
alms.Add(alarm.Id.ToString("D6") + "|" + severity);
}
return string.Join(",", alms);
}
}
}
@@ -0,0 +1,13 @@
---------------------------------------------------------------
------- MConnect Client SDK -------
---------------------------------------------------------------
Libreria di utility per connessione con il cloud di Maestro Connect.
Le dipendenze inserite sono necessarie al funzionamento dell'SDK.
Sono inclusi a titolo di esempio due files:
* example-mconnect.conf.yaml
* example-NLog.config
Attenzione a configurare correttamente il file NLog.xml includendo il rule per la classe, vedere ad esempio il file example-NLog.config allegato.
@@ -9,8 +9,9 @@
<AppDesignerFolder>Properties</AppDesignerFolder>
<RootNamespace>Thermo.Active.CmsConnectGateway</RootNamespace>
<AssemblyName>Thermo.Active.CmsConnectGateway</AssemblyName>
<TargetFrameworkVersion>v4.6.1</TargetFrameworkVersion>
<TargetFrameworkVersion>v4.6.2</TargetFrameworkVersion>
<FileAlignment>512</FileAlignment>
<TargetFrameworkProfile />
</PropertyGroup>
<PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Debug|AnyCPU' ">
<DebugSymbols>true</DebugSymbols>
@@ -30,23 +31,84 @@
<WarningLevel>4</WarningLevel>
</PropertyGroup>
<ItemGroup>
<Reference Include="MConnectSDK, Version=1.2.2007.218, Culture=neutral, processorArchitecture=MSIL">
<HintPath>..\packages\MConnectSDK.1.2.2007.218\lib\net462\MConnectSDK.dll</HintPath>
</Reference>
<Reference Include="Microsoft.Bcl.AsyncInterfaces, Version=1.0.0.0, Culture=neutral, PublicKeyToken=cc7b13ffcd2ddd51, processorArchitecture=MSIL">
<HintPath>..\packages\Microsoft.Bcl.AsyncInterfaces.1.1.1\lib\net461\Microsoft.Bcl.AsyncInterfaces.dll</HintPath>
</Reference>
<Reference Include="Newtonsoft.Json, Version=12.0.0.0, Culture=neutral, PublicKeyToken=30ad4fe6b2a6aeed, processorArchitecture=MSIL">
<HintPath>..\packages\Newtonsoft.Json.12.0.3\lib\net45\Newtonsoft.Json.dll</HintPath>
</Reference>
<Reference Include="NLog, Version=4.0.0.0, Culture=neutral, PublicKeyToken=5120e14c03d0593c, processorArchitecture=MSIL">
<HintPath>..\packages\NLog.4.6.7\lib\net45\NLog.dll</HintPath>
</Reference>
<Reference Include="Pipelines.Sockets.Unofficial, Version=1.0.0.0, Culture=neutral, PublicKeyToken=42ea0a778e13fbe2, processorArchitecture=MSIL">
<HintPath>..\packages\Pipelines.Sockets.Unofficial.2.1.16\lib\net461\Pipelines.Sockets.Unofficial.dll</HintPath>
</Reference>
<Reference Include="Renci.SshNet, Version=2016.1.0.0, Culture=neutral, PublicKeyToken=1cee9f8bde3db106, processorArchitecture=MSIL">
<HintPath>..\packages\SSH.NET.2016.1.0\lib\net40\Renci.SshNet.dll</HintPath>
</Reference>
<Reference Include="System" />
<Reference Include="System.Core" />
<Reference Include="System.Net.IPNetwork, Version=2.4.0.126, Culture=neutral, PublicKeyToken=717343cc2c25edcf, processorArchitecture=MSIL">
<HintPath>..\packages\IPNetwork2.2.4.0.126\lib\net46\System.Net.IPNetwork.dll</HintPath>
<Reference Include="StackExchange.Redis, Version=2.0.0.0, Culture=neutral, PublicKeyToken=c219ff1ca8c2ce46, processorArchitecture=MSIL">
<HintPath>..\packages\StackExchange.Redis.2.1.58\lib\net461\StackExchange.Redis.dll</HintPath>
</Reference>
<Reference Include="System" />
<Reference Include="System.Buffers, Version=4.0.3.0, Culture=neutral, PublicKeyToken=cc7b13ffcd2ddd51, processorArchitecture=MSIL">
<HintPath>..\packages\System.Buffers.4.5.1\lib\net461\System.Buffers.dll</HintPath>
</Reference>
<Reference Include="System.Configuration" />
<Reference Include="System.Core" />
<Reference Include="System.Diagnostics.PerformanceCounter, Version=4.0.2.0, Culture=neutral, PublicKeyToken=cc7b13ffcd2ddd51, processorArchitecture=MSIL">
<HintPath>..\packages\System.Diagnostics.PerformanceCounter.4.7.0\lib\net461\System.Diagnostics.PerformanceCounter.dll</HintPath>
</Reference>
<Reference Include="System.IO.Compression, Version=4.1.2.0, Culture=neutral, PublicKeyToken=b77a5c561934e089, processorArchitecture=MSIL">
<HintPath>..\packages\System.IO.Compression.4.3.0\lib\net46\System.IO.Compression.dll</HintPath>
<Private>True</Private>
<Private>True</Private>
</Reference>
<Reference Include="System.IO.Pipelines, Version=4.0.2.2, Culture=neutral, PublicKeyToken=cc7b13ffcd2ddd51, processorArchitecture=MSIL">
<HintPath>..\packages\System.IO.Pipelines.4.7.3\lib\net461\System.IO.Pipelines.dll</HintPath>
</Reference>
<Reference Include="System.Memory, Version=4.0.1.1, Culture=neutral, PublicKeyToken=cc7b13ffcd2ddd51, processorArchitecture=MSIL">
<HintPath>..\packages\System.Memory.4.5.4\lib\net461\System.Memory.dll</HintPath>
</Reference>
<Reference Include="System.Net.IPNetwork, Version=2.5.226.0, Culture=neutral, PublicKeyToken=717343cc2c25edcf, processorArchitecture=MSIL">
<HintPath>..\packages\IPNetwork2.2.5.226\lib\net46\System.Net.IPNetwork.dll</HintPath>
</Reference>
<Reference Include="System.Numerics" />
<Reference Include="System.Numerics.Vectors, Version=4.1.4.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a, processorArchitecture=MSIL">
<HintPath>..\packages\System.Numerics.Vectors.4.5.0\lib\net46\System.Numerics.Vectors.dll</HintPath>
</Reference>
<Reference Include="System.Runtime.CompilerServices.Unsafe, Version=5.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a, processorArchitecture=MSIL">
<HintPath>..\packages\System.Runtime.CompilerServices.Unsafe.5.0.0\lib\net45\System.Runtime.CompilerServices.Unsafe.dll</HintPath>
</Reference>
<Reference Include="System.Runtime.InteropServices.RuntimeInformation, Version=4.0.1.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a, processorArchitecture=MSIL">
<HintPath>..\packages\System.Runtime.InteropServices.RuntimeInformation.4.3.0\lib\net45\System.Runtime.InteropServices.RuntimeInformation.dll</HintPath>
<Private>True</Private>
<Private>True</Private>
</Reference>
<Reference Include="System.Runtime.Serialization" />
<Reference Include="System.ServiceModel" />
<Reference Include="System.Threading.Channels, Version=4.0.2.0, Culture=neutral, PublicKeyToken=cc7b13ffcd2ddd51, processorArchitecture=MSIL">
<HintPath>..\packages\System.Threading.Channels.4.7.1\lib\net461\System.Threading.Channels.dll</HintPath>
</Reference>
<Reference Include="System.Threading.Tasks.Extensions, Version=4.2.0.1, Culture=neutral, PublicKeyToken=cc7b13ffcd2ddd51, processorArchitecture=MSIL">
<HintPath>..\packages\System.Threading.Tasks.Extensions.4.5.4\lib\net461\System.Threading.Tasks.Extensions.dll</HintPath>
</Reference>
<Reference Include="System.Transactions" />
<Reference Include="System.Xml.Linq" />
<Reference Include="System.Data.DataSetExtensions" />
<Reference Include="Microsoft.CSharp" />
<Reference Include="System.Data" />
<Reference Include="System.Net.Http" />
<Reference Include="System.Xml" />
<Reference Include="YamlDotNet, Version=7.0.0.0, Culture=neutral, PublicKeyToken=ec19458f3c15af5e, processorArchitecture=MSIL">
<HintPath>..\packages\YamlDotNet.7.0.0\lib\net45\YamlDotNet.dll</HintPath>
</Reference>
</ItemGroup>
<ItemGroup>
<Compile Include="Builders\iBuilder.cs" />
<Compile Include="CMSConnectConstants.cs" />
<Compile Include="GatewayAdapter.cs" />
<Compile Include="Events\GatewayRebootEventHandlerArgs.cs" />
<Compile Include="Exceptions\GatewayException.cs" />
@@ -56,8 +118,23 @@
<Compile Include="Properties\AssemblyInfo.cs" />
</ItemGroup>
<ItemGroup>
<None Include="app.config" />
<None Include="example-mconnect.conf.yaml" />
<None Include="example-NLog.config" />
<None Include="packages.config" />
</ItemGroup>
<ItemGroup />
<ItemGroup>
<Content Include="README.txt" />
</ItemGroup>
<ItemGroup>
<ProjectReference Include="..\..\cms_core_library\CMS_CORE_Library\CMS_CORE_Library.csproj">
<Project>{4abf8eef-2b23-483e-acdc-53214fe28681}</Project>
<Name>CMS_CORE_Library</Name>
</ProjectReference>
<ProjectReference Include="..\Thermo.Active.Model\Thermo.Active.Model.csproj">
<Project>{631375dd-06d3-49bb-8130-d9ddb34c429d}</Project>
<Name>Thermo.Active.Model</Name>
</ProjectReference>
</ItemGroup>
<Import Project="$(MSBuildToolsPath)\Microsoft.CSharp.targets" />
</Project>
@@ -0,0 +1,43 @@
<?xml version="1.0" encoding="utf-8"?>
<configuration>
<runtime>
<assemblyBinding xmlns="urn:schemas-microsoft-com:asm.v1">
<dependentAssembly>
<assemblyIdentity name="System.Numerics.Vectors" publicKeyToken="b03f5f7f11d50a3a" culture="neutral" />
<bindingRedirect oldVersion="0.0.0.0-4.1.4.0" newVersion="4.1.4.0" />
</dependentAssembly>
<dependentAssembly>
<assemblyIdentity name="System.Runtime.CompilerServices.Unsafe" publicKeyToken="b03f5f7f11d50a3a" culture="neutral" />
<bindingRedirect oldVersion="0.0.0.0-5.0.0.0" newVersion="5.0.0.0" />
</dependentAssembly>
<dependentAssembly>
<assemblyIdentity name="System.Buffers" publicKeyToken="cc7b13ffcd2ddd51" culture="neutral" />
<bindingRedirect oldVersion="0.0.0.0-4.0.3.0" newVersion="4.0.3.0" />
</dependentAssembly>
<dependentAssembly>
<assemblyIdentity name="System.Threading.Tasks.Extensions" publicKeyToken="cc7b13ffcd2ddd51" culture="neutral" />
<bindingRedirect oldVersion="0.0.0.0-4.2.0.1" newVersion="4.2.0.1" />
</dependentAssembly>
<dependentAssembly>
<assemblyIdentity name="System.IO.Pipelines" publicKeyToken="cc7b13ffcd2ddd51" culture="neutral" />
<bindingRedirect oldVersion="0.0.0.0-4.0.2.2" newVersion="4.0.2.2" />
</dependentAssembly>
<dependentAssembly>
<assemblyIdentity name="System.Memory" publicKeyToken="cc7b13ffcd2ddd51" culture="neutral" />
<bindingRedirect oldVersion="0.0.0.0-4.0.1.1" newVersion="4.0.1.1" />
</dependentAssembly>
<dependentAssembly>
<assemblyIdentity name="System.Threading.Channels" publicKeyToken="cc7b13ffcd2ddd51" culture="neutral" />
<bindingRedirect oldVersion="0.0.0.0-4.0.1.0" newVersion="4.0.1.0" />
</dependentAssembly>
<dependentAssembly>
<assemblyIdentity name="System.IO.Compression" publicKeyToken="b77a5c561934e089" culture="neutral" />
<bindingRedirect oldVersion="0.0.0.0-4.1.2.0" newVersion="4.1.2.0" />
</dependentAssembly>
<dependentAssembly>
<assemblyIdentity name="System.Runtime.InteropServices.RuntimeInformation" publicKeyToken="b03f5f7f11d50a3a" culture="neutral" />
<bindingRedirect oldVersion="0.0.0.0-4.0.1.0" newVersion="4.0.1.0" />
</dependentAssembly>
</assemblyBinding>
</runtime>
</configuration>
@@ -0,0 +1,31 @@
<?xml version="1.0" encoding="utf-8" ?>
<nlog xmlns="http://www.nlog-project.org/schemas/NLog.xsd"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://www.nlog-project.org/schemas/NLog.xsd NLog.xsd"
autoReload="true"
throwExceptions="false"
internalLogLevel="Off" internalLogFile="c:\temp\nlog-internal.log" >
<!-- optional, add some variabeles
https://github.com/nlog/NLog/wiki/Configuration-file#variables
-->
<variable name="myvar" value="myvalue"/>
<!--
See https://github.com/nlog/nlog/wiki/Configuration-file
for information on customizing logging rules and outputs.
-->
<targets async="true">
<target xsi:type="File"
name="mconnect_sdk"
fileName="${basedir}/logs/${shortdate}.log"
layout="${longdate} ${uppercase:${level}} ${message}"
/>
</targets>
<rules>
<logger name="MConnectSDK.*" minlevel="Debug" writeTo="mconnect_sdk" />
</rules>
</nlog>
@@ -0,0 +1,14 @@
#File di conf per MConnectClientSDK
conf:
Client_ID: "test"
MachineID: "cjpjwuas400cb0slxs5zfj4yh"
PingTarget: "stg.api.maestroconnect.scmgroup.com"
AliveTarget: "https://stg.api.maestroconnect.scmgroup.com/health"
BaseUrl: "https://stg.api.maestroconnect.scmgroup.com/api"
UploadUrl: "https://stg.api.maestroconnect.scmgroup.com/storage-api/backups"
WebAppUrl: "https://stg.maestroconnect.scmgroup.com/settings/machine-activation?user_code={0}&machine_id={1}"
MemoryLayer:
Redis:
ConnectionString: "127.0.0.1,abortConnect=false,ssl=false"
DbIndex: 1
Module: "MCC"
@@ -1,5 +1,22 @@
<?xml version="1.0" encoding="utf-8"?>
<packages>
<package id="IPNetwork2" version="2.4.0.126" targetFramework="net461" />
<package id="IPNetwork2" version="2.5.226" targetFramework="net462" />
<package id="MConnectSDK" version="1.2.2007.218" targetFramework="net462" />
<package id="Microsoft.Bcl.AsyncInterfaces" version="1.1.1" targetFramework="net462" />
<package id="Newtonsoft.Json" version="12.0.3" targetFramework="net462" />
<package id="NLog" version="4.6.7" targetFramework="net462" />
<package id="Pipelines.Sockets.Unofficial" version="2.1.16" targetFramework="net462" />
<package id="SSH.NET" version="2016.1.0" targetFramework="net461" />
<package id="StackExchange.Redis" version="2.1.58" targetFramework="net462" />
<package id="System.Buffers" version="4.5.1" targetFramework="net462" />
<package id="System.Diagnostics.PerformanceCounter" version="4.7.0" targetFramework="net462" />
<package id="System.IO.Compression" version="4.3.0" targetFramework="net462" />
<package id="System.IO.Pipelines" version="4.7.3" targetFramework="net462" />
<package id="System.Memory" version="4.5.4" targetFramework="net462" />
<package id="System.Numerics.Vectors" version="4.5.0" targetFramework="net462" />
<package id="System.Runtime.CompilerServices.Unsafe" version="5.0.0" targetFramework="net462" />
<package id="System.Runtime.InteropServices.RuntimeInformation" version="4.3.0" targetFramework="net462" />
<package id="System.Threading.Channels" version="4.7.1" targetFramework="net462" />
<package id="System.Threading.Tasks.Extensions" version="4.5.4" targetFramework="net462" />
<package id="YamlDotNet" version="7.0.0" targetFramework="net462" />
</packages>
+121
View File
@@ -0,0 +1,121 @@
<ModelDesign>
<Machine>
<Property SymbolicName="Model" BrowseName="Model" DataType="ua:String" ValueRank="Scalar" Value="EIDOS" />
<Property SymbolicName="Manufacturer" BrowseName="Manufacturer" DataType="ua:String" ValueRank="Scalar" Value="CMS Industries" />
<Property SymbolicName="Serial" BrowseName="Serial" DataType="ua:String" ValueRank="Scalar" Value="9943" />
<Property SymbolicName="Type" BrowseName="Type" DataType="ua:String" ValueRank="Scalar" Value="CNC_MACHINE" />
<Property SymbolicName="BuildYear" BrowseName="BuildYear" DataType="ua:String" ValueRank="Scalar" Value="2020" />
<Variable SymbolicName="Status" BrowseName="Status" DataType="ua:String" ValueRank="Scalar" Units="Enum" />
<Variable SymbolicName="Alarm" BrowseName="Alarm" DataType="ua:Boolean" ValueRank="Scalar" Units="Bool" />
<Variable SymbolicName="Emergency" BrowseName="Emergency" DataType="ua:Boolean" ValueRank="Scalar" Units="Bool" />
<Variable SymbolicName="Power" BrowseName="Power" DataType="ua:Boolean" ValueRank="Scalar" Units="Bool" />
<Variable SymbolicName="ActiveTime" BrowseName="ActiveTime" DataType="ua:Float" ValueRank="Scalar" Units="h" CmsDataType="CounterList" CmsDataIndex="001" CmsDataOpt="HOURS" />
<Variable SymbolicName="ActiveWorkingTime" BrowseName="ActiveWorkingTime" DataType="ua:Float" ValueRank="Scalar" Units="h" CmsDataType="CounterList" CmsDataIndex="002" CmsDataOpt="HOURS" />
<Component Name="Cnc">
<Property SymbolicName="Name" BrowseName="Name" DataType="ua:String" ValueRank="Scalar" Value="SIEMENS" />
<Property SymbolicName="Version" BrowseName="Version" DataType="ua:String" ValueRank="Scalar" Value="S71500" />
<Condition SymbolicName="Condition" BrowseName="Condition" DataType="ua:String" ValueRank="Scalar" Type="OffNormalAlarmState" Units="" />
<Component Name="CncProcesses">
<Component Name="01">
<Variable SymbolicName="Mode" BrowseName="Mode" DataType="ua:String" ValueRank="Scalar" Units="Enum" />
<Variable SymbolicName="SubMode" BrowseName="SubMode" DataType="ua:String" ValueRank="Scalar" Units="" />
<Variable SymbolicName="Status" BrowseName="Status" DataType="ua:String" ValueRank="Scalar" Units="Enum" />
<Variable SymbolicName="FeedOverride" BrowseName="FeedOverride" DataType="ua:String" ValueRank="Scalar" Units="Perc" />
<Variable SymbolicName="RapidOverride" BrowseName="RapidOverride" DataType="ua:String" ValueRank="Scalar" Units="Perc" />
<Variable SymbolicName="SpeedOverride" BrowseName="SpeedOverride" DataType="ua:String" ValueRank="Scalar" Units="Perc" />
</Component>
</Component>
</Component>
<Component Name="Plc">
<Property SymbolicName="Name" BrowseName="Name" DataType="ua:String" ValueRank="Scalar" Value="SIEMENS" />
<Property SymbolicName="Version" BrowseName="Version" DataType="ua:String" ValueRank="Scalar" Value="" />
<Condition SymbolicName="Condition" BrowseName="Condition" DataType="ua:String" ValueRank="Scalar" Type="OffNormalAlarmState" Units="" />
</Component>
<Component Name="Hmi">
<Property SymbolicName="Name" BrowseName="Name" DataType="ua:String" ValueRank="Scalar" Value="CMS Active" />
<Variable SymbolicName="Version" BrowseName="Version" DataType="ua:String" ValueRank="Scalar" Value="" />
<Variable SymbolicName="User" BrowseName="User" DataType="ua:String" ValueRank="Scalar" Units="" />
</Component>
<Component Name="Axes">
<Component Name="01">
<Property SymbolicName="Type" BrowseName="Type" DataType="ua:String" ValueRank="Scalar" Value="LINEAR" />
<Property SymbolicName="Name" BrowseName="Name" DataType="ua:String" ValueRank="Scalar" Value="X" />
<Property SymbolicName="Role" BrowseName="Role" DataType="ua:String" ValueRank="Scalar" Value="MASTER" />
<Property SymbolicName="MasterId" BrowseName="MasterId" DataType="ua:String" ValueRank="Scalar" Value="0" />
<Variable SymbolicName="Load" BrowseName="Load" DataType="ua:Float" ValueRank="Scalar" Units="Perc"/>
<Variable SymbolicName="CurrentPos" BrowseName="CurrentPos" DataType="ua:Float" ValueRank="Scalar" Units="mm" SGroup="2" DBand="1" VGroup="P" />
<Variable SymbolicName="FeedRate" BrowseName="FeedRate" DataType="ua:Float" ValueRank="Scalar" Units="m/min" SGroup="4" DBand="1" VGroup="P" />
</Component>
<Component Name="02">
<Property SymbolicName="Type" BrowseName="Type" DataType="ua:String" ValueRank="Scalar" Value="LINEAR" />
<Property SymbolicName="Name" BrowseName="Name" DataType="ua:String" ValueRank="Scalar" Value="Y" />
<Property SymbolicName="Role" BrowseName="Role" DataType="ua:String" ValueRank="Scalar" Value="MASTER" />
<Property SymbolicName="MasterId" BrowseName="MasterId" DataType="ua:String" ValueRank="Scalar" Value="0" />
<Variable SymbolicName="Load" BrowseName="Load" DataType="ua:Float" ValueRank="Scalar" Units="Perc"/>
<Variable SymbolicName="CurrentPos" BrowseName="CurrentPos" DataType="ua:Float" ValueRank="Scalar" Units="mm" SGroup="2" DBand="1" VGroup="P" />
<Variable SymbolicName="FeedRate" BrowseName="FeedRate" DataType="ua:Float" ValueRank="Scalar" Units="m/min" SGroup="4" DBand="1" VGroup="P" />
</Component>
<Component Name="03">
<Property SymbolicName="Type" BrowseName="Type" DataType="ua:String" ValueRank="Scalar" Value="LINEAR" />
<Property SymbolicName="Name" BrowseName="Name" DataType="ua:String" ValueRank="Scalar" Value="Z" />
<Property SymbolicName="Role" BrowseName="Role" DataType="ua:String" ValueRank="Scalar" Value="MASTER" />
<Property SymbolicName="MasterId" BrowseName="MasterId" DataType="ua:String" ValueRank="Scalar" Value="0" />
<Variable SymbolicName="Load" BrowseName="Load" DataType="ua:Float" ValueRank="Scalar" Units="Perc"/>
<Variable SymbolicName="CurrentPos" BrowseName="CurrentPos" DataType="ua:Float" ValueRank="Scalar" Units="mm" SGroup="2" DBand="1" VGroup="P" />
<Variable SymbolicName="FeedRate" BrowseName="FeedRate" DataType="ua:Float" ValueRank="Scalar" Units="m/min" SGroup="4" DBand="1" VGroup="P" />
</Component>
<Component Name="04">
<Property SymbolicName="Type" BrowseName="Type" DataType="ua:String" ValueRank="Scalar" Value="LINEAR" />
<Property SymbolicName="Name" BrowseName="Name" DataType="ua:String" ValueRank="Scalar" Value="V" />
<Property SymbolicName="Role" BrowseName="Role" DataType="ua:String" ValueRank="Scalar" Value="MASTER" />
<Property SymbolicName="MasterId" BrowseName="MasterId" DataType="ua:String" ValueRank="Scalar" Value="0" />
<Variable SymbolicName="Load" BrowseName="Load" DataType="ua:Float" ValueRank="Scalar" Units="Perc"/>
<Variable SymbolicName="CurrentPos" BrowseName="CurrentPos" DataType="ua:Float" ValueRank="Scalar" Units="mm" SGroup="2" DBand="1" VGroup="P" />
<Variable SymbolicName="FeedRate" BrowseName="FeedRate" DataType="ua:Float" ValueRank="Scalar" Units="m/min" SGroup="4" DBand="1" VGroup="P" />
</Component>
<Component Name="05">
<Property SymbolicName="Type" BrowseName="Type" DataType="ua:String" ValueRank="Scalar" Value="LINEAR" />
<Property SymbolicName="Name" BrowseName="Name" DataType="ua:String" ValueRank="Scalar" Value="B" />
<Property SymbolicName="Role" BrowseName="Role" DataType="ua:String" ValueRank="Scalar" Value="MASTER" />
<Property SymbolicName="MasterId" BrowseName="MasterId" DataType="ua:String" ValueRank="Scalar" Value="0" />
<Variable SymbolicName="Load" BrowseName="Load" DataType="ua:Float" ValueRank="Scalar" Units="Perc"/>
<Variable SymbolicName="CurrentPos" BrowseName="CurrentPos" DataType="ua:Float" ValueRank="Scalar" Units="mm" SGroup="2" DBand="1" VGroup="P" />
<Variable SymbolicName="FeedRate" BrowseName="FeedRate" DataType="ua:Float" ValueRank="Scalar" Units="m/min" SGroup="4" DBand="1" VGroup="P" />
</Component>
<Component Name="06">
<Property SymbolicName="Type" BrowseName="Type" DataType="ua:String" ValueRank="Scalar" Value="LINEAR" />
<Property SymbolicName="Name" BrowseName="Name" DataType="ua:String" ValueRank="Scalar" Value="C" />
<Property SymbolicName="Role" BrowseName="Role" DataType="ua:String" ValueRank="Scalar" Value="MASTER" />
<Property SymbolicName="MasterId" BrowseName="MasterId" DataType="ua:String" ValueRank="Scalar" Value="0" />
<Variable SymbolicName="Load" BrowseName="Load" DataType="ua:Float" ValueRank="Scalar" Units="Perc"/>
<Variable SymbolicName="CurrentPos" BrowseName="CurrentPos" DataType="ua:Float" ValueRank="Scalar" Units="mm" SGroup="2" DBand="1" VGroup="P" />
<Variable SymbolicName="FeedRate" BrowseName="FeedRate" DataType="ua:Float" ValueRank="Scalar" Units="m/min" SGroup="4" DBand="1" VGroup="P" />
</Component>
</Component>
<Component Name="OperatingGroups">
</Component>
<Component Name="AuxiliaryGroups">
</Component>
<Component Name="ProductionProcesses">
<Component Name="01">
<Component Name="Programs">
<Component Name="01">
<Variable SymbolicName="Name" BrowseName="Name" DataType="ua:String" ValueRank="Scalar" Units="" />
<Variable SymbolicName="RepsTarget" BrowseName="RepsTarget" DataType="ua:String" ValueRank="Scalar" Units="" />
<Variable SymbolicName="RepsDone" BrowseName="RepsDone" DataType="ua:String" ValueRank="Scalar" Units="" />
</Component>
</Component>
</Component>
</Component>
<Component Name="Events">
<Variable SymbolicName="Donwtimes" BrowseName="Donwtimes" DataType="ua:String" ValueRank="Scalar" />
<Variable SymbolicName="Production" BrowseName="Production" DataType="ua:String" ValueRank="Scalar" />
<Variable SymbolicName="Kpis" BrowseName="Kpis" DataType="ua:String" ValueRank="Scalar" />
<Variable SymbolicName="Tools" BrowseName="Tools" DataType="ua:String" ValueRank="Scalar" />
<Variable SymbolicName="Messages" BrowseName="Messages" DataType="ua:String" ValueRank="Scalar" />
</Component>
</Machine>
</ModelDesign>
File diff suppressed because it is too large Load Diff
@@ -0,0 +1,36 @@
<?xml version="1.0" encoding="utf-8"?>
<xs:schema xmlns:xs="http://www.w3.org/2001/XMLSchema">
<xs:element name="IOSetup">
<!-- Heads -->
<xs:complexType>
<xs:sequence>
<xs:element name="parameter" minOccurs="0" maxOccurs="unbounded">
<xs:complexType>
<xs:all>
<xs:element name="id" type="xs:int"/>
<xs:element name="category" type="io_type" />
<xs:element name="bank" type="xs:string" />
<xs:element name="position" type="xs:string" />
<xs:element name="page" type="xs:string" />
<xs:element name="wire" type="xs:string" />
<xs:element name="profinet" type="xs:string" />
<xs:element name="disableForce" type ="xs:boolean" minOccurs="0" />
</xs:all>
</xs:complexType>
</xs:element>
</xs:sequence>
</xs:complexType>
</xs:element>
<!-- Head Type -->
<xs:simpleType name="io_type" final="restriction">
<xs:restriction base="xs:string">
<xs:enumeration value="DI" />
<xs:enumeration value="DO" />
<xs:enumeration value="AI"/>
<xs:enumeration value="AO"/>
</xs:restriction>
</xs:simpleType>
</xs:schema>
@@ -0,0 +1,86 @@
<?xml version="1.0" encoding="utf-8"?>
<xs:schema xmlns:xs="http://www.w3.org/2001/XMLSchema">
<xs:element name="inputsOperator">
<xs:complexType>
<xs:choice maxOccurs="unbounded">
<xs:element name="realValueModal" type="valuesType" minOccurs="0" maxOccurs="unbounded"/>
<xs:element name="showValModal" type="showValType" minOccurs="0" maxOccurs="unbounded"/>
<xs:element name="buttonsListModal" type="buttonsType" minOccurs="0" maxOccurs="unbounded"/>
<xs:element name="simpleModal" type="modalType" minOccurs="0" maxOccurs="unbounded"/>
</xs:choice>
</xs:complexType>
</xs:element>
<xs:complexType name="valuesType">
<xs:all>
<xs:element name="id" minOccurs='1' maxOccurs='1'/>
<xs:element name="title" type="translatedText" minOccurs='1' maxOccurs='1'/>
</xs:all>
</xs:complexType>
<xs:complexType name="showValType">
<xs:all>
<xs:element name="id" minOccurs='1' maxOccurs='1'/>
<xs:element name="title" type="translatedText" minOccurs='1' maxOccurs='1'/>
<xs:element name="buttons">
<xs:complexType>
<xs:sequence minOccurs="1" maxOccurs="unbounded">
<xs:element name="button">
<xs:complexType>
<xs:all>
<xs:element name="value" minOccurs="1" maxOccurs="1" type="xs:int"></xs:element>
<xs:element name="title" type="translatedText" minOccurs='1' maxOccurs='1'/>
</xs:all>
</xs:complexType>
</xs:element>
</xs:sequence>
</xs:complexType>
</xs:element>
</xs:all>
</xs:complexType>
<xs:complexType name="buttonsType">
<xs:all>
<xs:element name="id" minOccurs='1' maxOccurs='1'/>
<xs:element name="title" type="translatedText" minOccurs='1' maxOccurs='1'/>
<xs:element name="buttons">
<xs:complexType>
<xs:sequence minOccurs="1" maxOccurs="unbounded">
<xs:element name="button">
<xs:complexType>
<xs:all>
<xs:element name="value" minOccurs="1" maxOccurs="1" type="xs:int"></xs:element>
<xs:element name="title" type="translatedText" minOccurs='1' maxOccurs='1'/>
</xs:all>
</xs:complexType>
</xs:element>
</xs:sequence>
</xs:complexType>
</xs:element>
</xs:all>
</xs:complexType>
<xs:complexType name="modalType">
<xs:all>
<xs:element name="id" minOccurs='1' maxOccurs='1'/>
<xs:element name="title" type="translatedText" minOccurs='1' maxOccurs='1'/>
</xs:all>
</xs:complexType>
<!-- Translations field Type -->
<xs:complexType name="translatedText">
<xs:sequence>
<xs:element name="lang" type="langType" minOccurs="0" maxOccurs="unbounded">
</xs:element>
</xs:sequence>
</xs:complexType>
<!-- lang field -->
<xs:complexType name="langType">
<xs:simpleContent>
<xs:extension base="xs:string">
<xs:attribute name="langKey" use="required" type="xs:string" />
</xs:extension>
</xs:simpleContent>
</xs:complexType>
</xs:schema>
@@ -308,6 +308,7 @@
"options_thermoregulator_9_setpoint": 0.0,
"options_thermoregulator_10_enabled": 0.0,
"options_thermoregulator_10_setpoint": 0.0
"extraction_main_drawing_enabled": 0.0
},
"ChannelSetpoints": {
"1": 0,
@@ -0,0 +1,31 @@
{
"MeasPoints": [],
"CameraAddress": "",
"CameraName": "Camera Emulator",
"DestPoints": {
"Coords": [
"0, 0",
"1500, 0",
"1500, 1200",
"0, 1200"
],
"curr": 0
},
"OrigPoints": {
"Coords": [
"0, 0",
"640, 0",
"640, 480",
"0, 480"
],
"curr": 4
},
"TargetRange": {
"Max": 60.0,
"Min": 0.0
},
"TargetSize": {
"X": 1500,
"Y": 1200
}
}
@@ -40,4 +40,9 @@
<allowExternalBrowser>true</allowExternalBrowser>
<ncNeeded>false</ncNeeded>
</users>
<thermoHood>
<enabled>true</enabled>
<allowExternalBrowser>true</allowExternalBrowser>
<ncNeeded>false</ncNeeded>
</thermoHood>
</areasConfig>
@@ -82,6 +82,16 @@
</xs:complexType>
</xs:element>
<xs:element name="thermoHood">
<xs:complexType>
<xs:all>
<xs:element name="enabled" type="xs:boolean" />
<xs:element name="allowExternalBrowser" type="xs:boolean" />
<xs:element name="ncNeeded" type="xs:boolean" />
</xs:all>
</xs:complexType>
</xs:element>
</xs:all>
</xs:complexType>
</xs:element>
+52 -24
View File
@@ -1,27 +1,55 @@
<?xml version="1.0" encoding="utf-8"?>
<!--
enabledWord:
bit 0 : Move Absolute [Ack]
bit 1 : Jog inc + [Ack]
bit 2 : Jog inc - [Ack]
bit 3 : Allinea [Ack]
bit 4 : Probe (Ack)
bit 5 : SetSlavePosition (Ack)
bit 6 : Azzera (Ack)
bit 7 - bit14: not used
bit15 : Target pos
Asse slave : 6
Asse master gantry con proxy: 56
Asse master gantry senza proxy: 2152
Asse singolo con proxy: 16
Asse singolo senza proxy: 2112
-->
<axes>
<axis id="1" >X</axis>
<axis id="2" >Y</axis>
<axis id="3" >Z</axis>
<axis id="4" >B</axis>
<axis id="5" >C</axis>
<axis id="6" >V</axis>
<axis id="7" ></axis>
<axis id="8" ></axis>
<axis id="9" ></axis>
<axis id="10" ></axis>
<axis id="11" ></axis>
<axis id="12" ></axis>
<axis id="13" ></axis>
<axis id="14" ></axis>
<axis id="15" ></axis>
<axis id="16" ></axis>
<axis id="17" >SP</axis>
<axis id="18" ></axis>
<axis id="19" ></axis>
<axis id="20" ></axis>
<axis id="21" ></axis>
<axis id="22" ></axis>
<axis id="23" ></axis>
<axis id="24" ></axis>
<axis id="1" name="W1" type="LINEAR" enabled="true" master="0" enabledWord="56" />
<axis id="2" name="W2" type="LINEAR" enabled="true" master="1" enabledWord="6" />
<axis id="3" name="W3" type="LINEAR" enabled="false" master="1" enabledWord="6" />
<axis id="4" name="W4" type="LINEAR" enabled="false" master="1" enabledWord="6" />
<axis id="5" name="Z1" type="LINEAR" enabled="true" master="0" enabledWord="56" />
<axis id="6" name="Z2" type="LINEAR" enabled="true" master="5" enabledWord="6" />
<axis id="7" name="Z3" type="LINEAR" enabled="true" master="5" enabledWord="6" />
<axis id="8" name="Z4" type="LINEAR" enabled="true" master="5" enabledWord="6" />
<axis id="9" name="R1" type="LINEAR" enabled="true" master="0" enabledWord="16" />
<axis id="10" name="R2" type="LINEAR" enabled="false" master="9" enabledWord="6" />
<axis id="11" name="S1" type="LINEAR" enabled="true" master="0" enabledWord="16" />
<axis id="12" name="S2" type="LINEAR" enabled="false" master="11" enabledWord="6" />
<axis id="13" name="CZ1" type="LINEAR" enabled="true" master="0" enabledWord="56" />
<axis id="14" name="CZ2" type="LINEAR" enabled="true" master="13" enabledWord="6" />
<axis id="15" name="CZ3" type="LINEAR" enabled="true" master="13" enabledWord="6" />
<axis id="16" name="CZ4" type="LINEAR" enabled="true" master="13" enabledWord="6" />
<axis id="17" name="U1" type="LINEAR" enabled="true" master="0" enabledWord="56" />
<axis id="18" name="U2" type="LINEAR" enabled="true" master="17" enabledWord="6" />
<axis id="19" name="P" type="LINEAR" enabled="true" master="0" enabledWord="16" />
<axis id="20" name="X" type="LINEAR" enabled="true" master="0" enabledWord="16" />
<axis id="21" name="CX1" type="LINEAR" enabled="true" master="0" enabledWord="2152" />
<axis id="22" name="CX2" type="LINEAR" enabled="true" master="21" enabledWord="6" />
<axis id="23" name="CY1" type="LINEAR" enabled="true" master="0" enabledWord="2152" />
<axis id="24" name="CY2" type="LINEAR" enabled="true" master="23" enabledWord="6" />
<axis id="25" name="F11" type="LINEAR" enabled="true" master="0" enabledWord="2112" />
<axis id="26" name="F12" type="LINEAR" enabled="false" master="25" enabledWord="6" />
<axis id="27" name="F21" type="LINEAR" enabled="true" master="0" enabledWord="2112" />
<axis id="28" name="F22" type="LINEAR" enabled="false" master="27" enabledWord="6" />
<axis id="29" name="F31" type="LINEAR" enabled="true" master="0" enabledWord="2112" />
<axis id="30" name="F32" type="LINEAR" enabled="false" master="29" enabledWord="6" />
<axis id="31" name="F41" type="LINEAR" enabled="true" master="0" enabledWord="2112" />
<axis id="32" name="F42" type="LINEAR" enabled="false" master="31" enabledWord="6" />
<axis id="33" name="E" type="LINEAR" enabled="true" master="0" enabledWord="16" />
<axis id="34" name="M" type="LINEAR" enabled="false" master="0" enabledWord="0" />
</axes>
@@ -0,0 +1,37 @@
<?xml version="1.0" encoding="utf-8"?>
<xs:schema xmlns:xs="http://www.w3.org/2001/XMLSchema">
<xs:element name="axes">
<xs:complexType>
<xs:sequence>
<xs:element name="axis" minOccurs="0" maxOccurs="unbounded">
<xs:complexType>
<xs:complexContent>
<xs:extension base="axisType" />
</xs:complexContent>
</xs:complexType>
</xs:element>
</xs:sequence>
</xs:complexType>
</xs:element>
<xs:complexType name="axisType">
<xs:attribute name="id" type="xs:integer" use="required">
</xs:attribute>
<xs:attribute name="name" type="xs:string" use="required">
</xs:attribute>
<xs:attribute name="type" type="axType" use="required">
</xs:attribute>
<xs:attribute name="enabled" type="xs:boolean" use="required">
</xs:attribute>
<xs:attribute name="master" type="xs:integer" use="required">
</xs:attribute>
<xs:attribute name="enabledWord" type="xs:integer" use="required">
</xs:attribute>
</xs:complexType>
<xs:simpleType name="axType" final="restriction">
<xs:restriction base="xs:string">
<xs:enumeration value="NA" />
<xs:enumeration value="LINEAR" />
<xs:enumeration value="ROTATIONAL" />
</xs:restriction>
</xs:simpleType>
</xs:schema>
@@ -0,0 +1,68 @@
<?xml version="1.0" encoding="utf-8"?>
<inputsOperator>
<simpleModal>
<id>1</id>
<title>
<lang langKey="it">Attesa carico/scarico lastra</lang>
<lang langKey="en">Waiting sheet load/unload</lang>
</title>
</simpleModal>
<simpleModal>
<id>2</id>
<title>
<lang langKey="it">Attesa carico/scarico pezzo</lang>
<lang langKey="en">Waiting piece load/unload</lang>
</title>
</simpleModal>
<simpleModal>
<id>3</id>
<title>
<lang langKey="it">Pausa ciclo attiva</lang>
<lang langKey="en">Pause cycle active</lang>
</title>
</simpleModal>
<simpleModal>
<id>4</id>
<title>
<lang langKey="it">Ciclo parcheggio in corso</lang>
<lang langKey="en">Parking cycle ongoing</lang>
</title>
</simpleModal>
<realValueModal>
<id>10</id>
<title>
<lang langKey="en">External water</lang>
<lang langKey="it">Acqua esterna</lang>
</title>
</realValueModal>
<realValueModal>
<id>11</id>
<title>
<lang langKey="en">External water</lang>
<lang langKey="it">Acqua esterna</lang>
</title>
</realValueModal>
<buttonsListModal>
<id>6</id>
<title>
<lang langKey="en">External water</lang>
<lang langKey="it">Acqua esterna</lang>
</title>
<buttons>
<button>
<value>3</value>
<title>
<lang langKey="en">External water</lang>
<lang langKey="it">Acqua esterna</lang>
</title>
</button>
<button>
<value>4</value>
<title>
<lang langKey="en">External water</lang>
<lang langKey="it">Acqua esterna</lang>
</title>
</button>
</buttons>
</buttonsListModal>
</inputsOperator>
@@ -8,6 +8,8 @@
<idParam>-1</idParam>
<showDelay>false</showDelay>
<priority>1</priority>
<category>Positions</category>
<subCategory_1>Frame</subCategory_1>
</block>
<block>
<id>2</id>
@@ -44,6 +46,8 @@
<idParam>-1</idParam>
<showDelay>false</showDelay>
<priority>1</priority>
<category>Positions</category>
<subCategory_1>Mould</subCategory_1>
</block>
<block>
<id>6</id>
@@ -53,6 +57,8 @@
<idParam>-1</idParam>
<showDelay>false</showDelay>
<priority>2</priority>
<category>Heats</category>
<subCategory_1>LowerHeaters</subCategory_1>
</block>
<block>
<id>7</id>
@@ -62,6 +68,8 @@
<idParam>0</idParam>
<showDelay>false</showDelay>
<priority>1</priority>
<category>Heats</category>
<subCategory_1>UpperHeaters</subCategory_1>
</block>
<block>
<id>8</id>
@@ -71,6 +79,8 @@
<idParam>80</idParam>
<showDelay>true</showDelay>
<priority>3</priority>
<category>Pyrometer</category>
<subCategory_1>Pyrometer</subCategory_1>
</block>
<block>
<id>9</id>
@@ -80,6 +90,8 @@
<idParam>-1</idParam>
<showDelay>false</showDelay>
<priority>4</priority>
<category>Heats</category>
<subCategory_1>DecomSustain</subCategory_1>
</block>
<block>
<id>10</id>
@@ -89,6 +101,8 @@
<idParam>-1</idParam>
<showDelay>false</showDelay>
<priority>5</priority>
<category>Cycle</category>
<subCategory_1>AcrylicFrame</subCategory_1>
</block>
<block>
<id>11</id>
@@ -107,6 +121,8 @@
<idParam>-1</idParam>
<showDelay>false</showDelay>
<priority>1</priority>
<category>Cycle</category>
<subCategory_1>UpperOverheating</subCategory_1>
</block>
<block>
<id>13</id>
@@ -116,6 +132,7 @@
<idParam>99</idParam>
<showDelay>true</showDelay>
<priority>2</priority>
<category>Drawing</category>
</block>
<block>
<id>14</id>
@@ -125,6 +142,8 @@
<idParam>-1</idParam>
<showDelay>true</showDelay>
<priority>1</priority>
<category>Positions</category>
<subCategory_1>Mould</subCategory_1>
</block>
<block>
<id>15</id>
@@ -143,6 +162,8 @@
<idParam>-1</idParam>
<showDelay>true</showDelay>
<priority>3</priority>
<category>Cooling</category>
<subCategory_1>Blowing</subCategory_1>
</block>
<block>
<id>17</id>
@@ -152,15 +173,19 @@
<idParam>139</idParam>
<showDelay>true</showDelay>
<priority>4</priority>
<category>Cooling</category>
<subCategory_1>Pyrometer</subCategory_1>
</block>
<block>
<id>19</id>
<label>MB_Mod_Vuoto</label>
<type>VACUUM</type>
<section>FORMING</section>
<idParam>-1</idParam>
<idParam>189</idParam>
<showDelay>true</showDelay>
<priority>5</priority>
<category>Vacuum</category>
<subCategory_1>Main</subCategory_1>
</block>
<block>
<id>21</id>
@@ -170,6 +195,8 @@
<idParam>-1</idParam>
<showDelay>true</showDelay>
<priority>6</priority>
<category>Vacuum</category>
<subCategory_1>Direct</subCategory_1>
</block>
<block>
<id>23</id>
@@ -178,8 +205,9 @@
<section>FORMING</section>
<idParam>-1</idParam>
<showDelay>true</showDelay>
<priority>7</priority>
<category>Vacuum</category>
<subCategory_1>Aux</subCategory_1>
</block>
<block>
<id>25</id>
@@ -189,6 +217,8 @@
<idParam>-1</idParam>
<showDelay>true</showDelay>
<priority>8</priority>
<category>Cooling</category>
<subCategory_1>Nebulizer</subCategory_1>
</block>
<block>
<id>26</id>
@@ -207,6 +237,8 @@
<idParam>-1</idParam>
<showDelay>true</showDelay>
<priority>9</priority>
<category>Positions</category>
<subCategory_1>UpperPlate</subCategory_1>
</block>
<block>
<id>29</id>
@@ -216,6 +248,8 @@
<idParam>-1</idParam>
<showDelay>false</showDelay>
<priority>9</priority>
<category>UpperPlate</category>
<subCategory_1>Cycle</subCategory_1>
</block>
<block>
<id>30</id>
@@ -225,6 +259,8 @@
<idParam>-1</idParam>
<showDelay>false</showDelay>
<priority>9</priority>
<category>Positions</category>
<subCategory_1>UpperPlate</subCategory_1>
</block>
<block>
<id>31</id>
@@ -234,6 +270,8 @@
<idParam>-1</idParam>
<showDelay>true</showDelay>
<priority>10</priority>
<category>UpperPlate</category>
<subCategory_1>Air</subCategory_1>
</block>
<block>
<id>33</id>
@@ -243,6 +281,8 @@
<idParam>-1</idParam>
<showDelay>true</showDelay>
<priority>11</priority>
<category>UpperPlate</category>
<subCategory_1>Vacuum</subCategory_1>
</block>
<block>
<id>34</id>
@@ -270,6 +310,8 @@
<idParam>-1</idParam>
<showDelay>true</showDelay>
<priority>10</priority>
<category>UpperPlate</category>
<subCategory_1>Extraction</subCategory_1>
</block>
<block>
<id>38</id>
@@ -288,6 +330,8 @@
<idParam>-1</idParam>
<showDelay>true</showDelay>
<priority>2</priority>
<category>Extraction</category>
<subCategory_1>Main</subCategory_1>
</block>
<block>
<id>40</id>
@@ -297,6 +341,8 @@
<idParam>-1</idParam>
<showDelay>true</showDelay>
<priority>1</priority>
<category>Positions</category>
<subCategory_1>Mould</subCategory_1>
</block>
<block>
<id>41</id>
@@ -315,6 +361,8 @@
<idParam>-1</idParam>
<showDelay>false</showDelay>
<priority>1</priority>
<category>Positions</category>
<subCategory_1>Frame</subCategory_1>
</block>
<block>
<id>43</id>
@@ -351,6 +399,8 @@
<idParam>-1</idParam>
<showDelay>true</showDelay>
<priority>6</priority>
<category>Vacuum</category>
<subCategory_1>Pre</subCategory_1>
</block>
<block>
<id>47</id>
@@ -16,6 +16,9 @@
<xs:element name="priority" type="xs:int" />
<xs:element name="scaleFactor" type="xs:int" minOccurs="0" />
<xs:element name="numDec" type="xs:int" minOccurs="0" />
<xs:element name="category" type="param_type" minOccurs="0" />
<xs:element name="subCategory_1" type="xs:string" minOccurs="0" />
<xs:element name="subCategory_2" type="xs:string" minOccurs="0" />
</xs:all>
</xs:complexType>
</xs:element>
@@ -23,6 +26,23 @@
</xs:complexType>
</xs:element>
<!-- Head Type -->
<xs:simpleType name="param_type" final="restriction">
<xs:restriction base="xs:string">
<xs:enumeration value="General" />
<xs:enumeration value="Positions" />
<xs:enumeration value="Cycle"/>
<xs:enumeration value="Heats"/>
<xs:enumeration value="Pyrometer"/>
<xs:enumeration value="Drawing"/>
<xs:enumeration value="UpperPlate"/>
<xs:enumeration value="Cooling"/>
<xs:enumeration value="Vacuum"/>
<xs:enumeration value="Extraction"/>
<xs:enumeration value="Options"/>
</xs:restriction>
</xs:simpleType>
<!-- Language Type -->
<xs:complexType name="langType">
<xs:simpleContent>
File diff suppressed because it is too large Load Diff
@@ -1,9 +1,10 @@
<?xml version="1.0" encoding="utf-8"?>
<xs:schema xmlns:xs="http://www.w3.org/2001/XMLSchema">
<xs:element name="recipe">
<!-- Heads -->
<xs:complexType>
<xs:sequence>
<!-- Heads -->
<xs:element name="parameter" minOccurs="0" maxOccurs="unbounded">
<xs:complexType>
<xs:all>

Some files were not shown because too many files have changed in this diff Show More