Compare commits
921 Commits
| Author | SHA1 | Date | |
|---|---|---|---|
| 7e7c7e7c96 | |||
| 745039875f | |||
| 832164918f | |||
| e053e6a646 | |||
| 31ab6d44dd | |||
| d54916172e | |||
| 1fdc37c7f5 | |||
| 127573ace2 | |||
| 05d4378920 | |||
| bffc0474f0 | |||
| a4b1b2e521 | |||
| 9121ff2a24 | |||
| f60a58a64f | |||
| 83ddfde3e7 | |||
| a47c0e644f | |||
| 68df530010 | |||
| 79c0691eb3 | |||
| 73750ddb1d | |||
| 5941fd492a | |||
| f9a6298603 | |||
| dcf8735baa | |||
| 052d93d731 | |||
| bf3caa2aee | |||
| a0cba98d34 | |||
| 7f97f7c83b | |||
| 133041d030 | |||
| 6ee6e66492 | |||
| 5731041fd3 | |||
| eda93dae9c | |||
| 1e4e789af6 | |||
| 857426d0c1 | |||
| 372a8547d6 | |||
| 9c10a0c2a5 | |||
| 3213b0049a | |||
| 9e5df29acb | |||
| 2c2648d225 | |||
| 4599307148 | |||
| 0f70ae834c | |||
| e85360810e | |||
| b7f3fa236e | |||
| c315266041 | |||
| 2231e1e1c4 | |||
| 520d6c6e0a | |||
| 5f38bf37ef | |||
| ff86e73840 | |||
| 1fe80bab00 | |||
| f9d78bed4b | |||
| d06e7b16f8 | |||
| 5b256231d8 | |||
| e6c8cfb386 | |||
| 625191ad20 | |||
| e25ed31485 | |||
| 1f765202ae | |||
| 11d4b8849f | |||
| 544a34703e | |||
| b033de593c | |||
| b4f3af65ca | |||
| 5279aa74ba | |||
| 4290d02de4 | |||
| cfc5644164 | |||
| d244bb28d5 | |||
| 7385e71378 | |||
| 3d058de5ee | |||
| f9dd5ba328 | |||
| bba49cb503 | |||
| 85cc440597 | |||
| 492df82954 | |||
| 804393842a | |||
| 9f6e71689e | |||
| 3c43df4342 | |||
| 426e2f5e00 | |||
| f9f8c785fc | |||
| 5047b13617 | |||
| 8c76a31361 | |||
| 5ab52da602 | |||
| 20a8913775 | |||
| 23b50500d8 | |||
| 11d82317e2 | |||
| c13bbef8c7 | |||
| ebf3cb9fe8 | |||
| 35d94b32a2 | |||
| 7548180d27 | |||
| d70aaec4b3 | |||
| ec14499469 | |||
| 8269d837d2 | |||
| ec01e38048 | |||
| b86a71a4e6 | |||
| a3ea6b348b | |||
| bb656b575f | |||
| 7943f99044 | |||
| a3a0ef906f | |||
| dbac3014c0 | |||
| 9e4a70b556 | |||
| ec4e651188 | |||
| 889cdf6218 | |||
| 92b8829451 | |||
| ee0d69d831 | |||
| 249e2845dd | |||
| 968752288d | |||
| e127e0ab67 | |||
| 93b4c0f039 | |||
| 726f7275a3 | |||
| 768f8fd48c | |||
| 6c749a8d03 | |||
| b0390d481f | |||
| 4e1ec9bed5 | |||
| 619b72ed5b | |||
| 15346e6c62 | |||
| 5236b03e4a | |||
| 6e808a5d6c | |||
| 8b4b0c6b1b | |||
| 14adc402a1 | |||
| c18bebb22b | |||
| 4610077f9b | |||
| a59d560ca9 | |||
| 019320df3d | |||
| d356015120 | |||
| 688d6a49bf | |||
| 13f3057a7e | |||
| d0232020ae | |||
| 6dc9f31d53 | |||
| 94e65aeef6 | |||
| e658c4cac6 | |||
| fc627e0bba | |||
| d5cb083fb8 | |||
| ad98729a52 | |||
| 0128b08a76 | |||
| 1da9582a10 | |||
| 0916af645d | |||
| 4f38c61787 | |||
| 0a3cea456d | |||
| 836292ba67 | |||
| 97082a036f | |||
| 8a72f692d5 | |||
| 5e7f54ec5e | |||
| 01c3a14a0c | |||
| e0060a4051 | |||
| 5ebbd1280a | |||
| 56fe715c08 | |||
| 3bd4f2ba6f | |||
| bb82c96579 | |||
| a35cb78763 | |||
| e9b08f84d1 | |||
| 1003d3087c | |||
| 016b8b0c54 | |||
| be0125732f | |||
| 6fa0a0a271 | |||
| fcea93e6cf | |||
| 47c6591d04 | |||
| ea795b377a | |||
| e3039c13be | |||
| 1e592b4294 | |||
| 572822ac87 | |||
| 7ff8974a45 | |||
| 1933481e8b | |||
| e7e61aa05d | |||
| ef377acc51 | |||
| 1011af9988 | |||
| 83cd1e3cdc | |||
| be56c057f9 | |||
| adc8e4cc82 | |||
| dd36907c66 | |||
| 3e25af49ab | |||
| 601611981c | |||
| 3fc577fe20 | |||
| 47094d9947 | |||
| 029642fcac | |||
| 9afcbf5690 | |||
| 7ca832f4c1 | |||
| 01fbf2d7d8 | |||
| bb7111439d | |||
| 5c2dea5044 | |||
| 71c03d54d6 | |||
| 7701642a94 | |||
| 276d9f625b | |||
| 1619aee2c6 | |||
| bc93fce65c | |||
| 3d6be1df92 | |||
| 77fe32b24c | |||
| b2c70b3c43 | |||
| d6c19c1608 | |||
| e29b670498 | |||
| 628635c62a | |||
| 1b3ae79867 | |||
| ea2982714e | |||
| 804c015f8b | |||
| 7219986055 | |||
| c0a22df80c | |||
| 82bdb17474 | |||
| 6f2199c3c2 | |||
| 893fbc130c | |||
| 7b0daf4459 | |||
| b650a0e7ff | |||
| eb2c04097a | |||
| 45012d7e76 | |||
| db04ce25c7 | |||
| 974c16ff54 | |||
| c7055098ed | |||
| e40e500c70 | |||
| a70780e627 | |||
| ae57be0fad | |||
| 55f892aa1c | |||
| f78b01059d | |||
| 2196a29b9a | |||
| ca0d4c8160 | |||
| 9237ab8e0d | |||
| 9fbd875e51 | |||
| 7774a64b17 | |||
| 45260c3b40 | |||
| 0dcbdd3623 | |||
| 895ffef59e | |||
| 3df259f346 | |||
| 7423272a21 | |||
| e94e7a6cb5 | |||
| 285191d4b5 | |||
| 56b6333428 | |||
| cd153038fd | |||
| a0afcf154e | |||
| 0c36f4e66f | |||
| e47f53bc2e | |||
| aff414312b | |||
| 2a836744e8 | |||
| ce5f94c069 | |||
| ee9e0702a2 | |||
| 5c594ad79f | |||
| beb16f130a | |||
| bcf71ecf73 | |||
| 9bf05c538c | |||
| 562b5d50cd | |||
| d5bf08a90d | |||
| 3e0a4d2e62 | |||
| d130ae5ed4 | |||
| f635671718 | |||
| 440645d870 | |||
| 25f0f69718 | |||
| 9e5168d677 | |||
| d00f8f4678 | |||
| b4d0ca1943 | |||
| fa047f0c8a | |||
| 14abfa2a99 | |||
| 6862520e94 | |||
| 8e61255cde | |||
| 5a4e7cb592 | |||
| a344948a42 | |||
| b13b5a3ddf | |||
| 365b6e1a5c | |||
| bc4aaf9e78 | |||
| 0faa466ee8 | |||
| ece150ab56 | |||
| 3f6baafd36 | |||
| b647d93243 | |||
| 5d36b1966d | |||
| 9f07afe796 | |||
| dd22ad7615 | |||
| b924967ad9 | |||
| 55333ce11e | |||
| 4ae259ffa3 | |||
| 8bdfce05f3 | |||
| e57526ae08 | |||
| e6f922c3f7 | |||
| 51de025553 | |||
| b6f062def6 | |||
| 115dedfc9a | |||
| e3b41df917 | |||
| 81cd1e9fe7 | |||
| 3284308eaa | |||
| d39c359b2e | |||
| 55eb53e8df | |||
| 3c4aa781a7 | |||
| 64a1452c36 | |||
| e277568dfc | |||
| fc778074ce | |||
| 0666da83c8 | |||
| f2ed2274ff | |||
| 86bd956895 | |||
| ed8bb92fcc | |||
| 256af0e98f | |||
| a510071775 | |||
| 33f8c9a9a6 | |||
| fdcbc505c1 | |||
| 3f17538e71 | |||
| fd637270c8 | |||
| d19f13e8ad | |||
| ab9bf30a84 | |||
| ef1e3013d3 | |||
| 981340484d | |||
| dde43c21ab | |||
| e62dfe0b03 | |||
| 6d554b44ac | |||
| cf78b16ee4 | |||
| 55d7333936 | |||
| 733a37da98 | |||
| 4d55cbbccc | |||
| 11117bbb20 | |||
| 5bfa2ca5bc | |||
| 4df8a76561 | |||
| 3d20ff9af2 | |||
| c7a8c2525a | |||
| 3ab79d6c08 | |||
| 95d2a7b368 | |||
| ceaf788174 | |||
| bc3048e15c | |||
| 42928c701c | |||
| e4171867be | |||
| 9dcb23bb77 | |||
| b0976c5ee7 | |||
| 92ed3948e6 | |||
| 9538d3a6b2 | |||
| 27e84b42df | |||
| 15eaa3d5eb | |||
| a5c6c2447d | |||
| 0b8d187378 | |||
| ed0174cf8a | |||
| f990ed8f36 | |||
| 6a605cf871 | |||
| 3ba9b94e4d | |||
| 5e6b5078f0 | |||
| d93a29aaff | |||
| cdc4380324 | |||
| fe03653613 | |||
| 5de6da889a | |||
| ec10da262d | |||
| a11d4b57e9 | |||
| fdd1bfe80a | |||
| 3ada597f2e | |||
| 61a32ea476 | |||
| 3e150e81b1 | |||
| 05ec28473a | |||
| 77f2d04507 | |||
| d077137e12 | |||
| aaa310e32b | |||
| 72b44977fc | |||
| 5a2d6bcf94 | |||
| 7183cb8e61 | |||
| 121edb2e77 | |||
| 787da41304 | |||
| e7c69f4c4a | |||
| 6ab87ac751 | |||
| a8abbaa21c | |||
| e090822f4f | |||
| 527dd2b8c2 | |||
| 5bb7ceb3cb | |||
| 177b3e657d | |||
| 28a3e702f5 | |||
| 899f243bf2 | |||
| 0fc4b8619b | |||
| d7ef61f35c | |||
| 8d4193c4f9 | |||
| eb5559b5a8 | |||
| 4cdaedad7f | |||
| 2bf21e285d | |||
| 55fd9a934d | |||
| 329480db74 | |||
| 9a6ca4bff6 | |||
| 9a14dd6366 | |||
| 109e3acde0 | |||
| 740b6727a6 | |||
| 2f9d5062ed | |||
| 7a3c41ecbf | |||
| 5d202c6b70 | |||
| 44efcd2435 | |||
| 556811ec96 | |||
| 010c00ed92 | |||
| 47459c8aa1 | |||
| e27d44a6c4 | |||
| 1fe167069a | |||
| 78e1a3ba6c | |||
| 30439747b9 | |||
| dfde337921 | |||
| 8204b9a3d0 | |||
| a6b401fdc8 | |||
| 82edb8d59d | |||
| b3632f923b | |||
| 4bf6bb39dc | |||
| 5de1241504 | |||
| 4bd034aa95 | |||
| f7623f3187 | |||
| 6fe5b6700d | |||
| 6776fd627e | |||
| acf27d31be | |||
| 16d91bfdac | |||
| a41bf73358 | |||
| 08c5e52102 | |||
| 5c1c557bac | |||
| 6f28f6a71f | |||
| 0eda49b61a | |||
| 928c5f0fb1 | |||
| a045910057 | |||
| e17bc7f1b7 | |||
| 1c9b69709e | |||
| ed8dbdbe87 | |||
| d6cf851f2b | |||
| 083002258c | |||
| 7ed55aaff3 | |||
| 70072b648e | |||
| 72dd39bab3 | |||
| eab578e058 | |||
| 1e3d3b8874 | |||
| b08687933f | |||
| a69e3e5611 | |||
| 5b8a0601d1 | |||
| 53bbb18291 | |||
| 4421e9526a | |||
| 77308497f0 | |||
| 4ac64a9b53 | |||
| 0f53b0aa32 | |||
| e0e0cfc52b | |||
| e2f4c7e50a | |||
| 2444d49095 | |||
| eec1e57c55 | |||
| ae5b03e0a4 | |||
| 3f67249222 | |||
| ef24ddd9fe | |||
| 0a62bf7530 | |||
| da0c51d59a | |||
| 7fd54f3ad1 | |||
| d1a8dab89a | |||
| a929c5db94 | |||
| e25464fe1b | |||
| a81188fbd5 | |||
| 03a65f97d1 | |||
| 39cc92c1e6 | |||
| f73c9cfd10 | |||
| 9f9f472109 | |||
| 6f03fb77a6 | |||
| 7f0fb40dbb | |||
| 875ba2d10c | |||
| b7af9a42a2 | |||
| b8e4b67c86 | |||
| 80de7b7b7d | |||
| 99b137a8ad | |||
| beef5ada08 | |||
| 24a8979621 | |||
| 3057972fa7 | |||
| 756055c017 | |||
| 77e0490586 | |||
| a8b8d03721 | |||
| 4e28e14920 | |||
| 1d5941d63d | |||
| 3c31449c7f | |||
| af79feaac4 | |||
| 57d8e1a528 | |||
| 9b175f24e3 | |||
| 02a16f7219 | |||
| 4a08fc82ab | |||
| 7908cdc483 | |||
| b6c0ab0d2c | |||
| 8967a876e8 | |||
| 4e0d3c9e24 | |||
| fa53d8e374 | |||
| ec4413cc64 | |||
| 2e109fc818 | |||
| aa8267c3ca | |||
| 79e440a8f5 | |||
| aa94c62208 | |||
| 6212431200 | |||
| bc5a17c985 | |||
| a4cbe30c9d | |||
| dc9ee2cc35 | |||
| 428b7c8c68 | |||
| e9306dcfed | |||
| 0d80d78e70 | |||
| bcbceff9e0 | |||
| b463322158 | |||
| 4fb6803617 | |||
| cbdce4d191 | |||
| 1316491b34 | |||
| be87099923 | |||
| ab6321ddec | |||
| efb7ddf0ee | |||
| 276961d88b | |||
| 1a176567bb | |||
| 8ee26a625d | |||
| 00acb767e2 | |||
| f244abc339 | |||
| c31bfabd03 | |||
| eb7a598e18 | |||
| a2cf9fc0e8 | |||
| 9058b7bdc7 | |||
| dfb224e088 | |||
| a4a4e9dde2 | |||
| 7e776c3e73 | |||
| 47a37061ee | |||
| 268dc0bb17 | |||
| 6aefe871e2 | |||
| 16deba684f | |||
| 231d45ad07 | |||
| 0653fe76df | |||
| e8bfc5c130 | |||
| 522065f63b | |||
| fda72dc0d5 | |||
| cee9094c17 | |||
| cc27f623a2 | |||
| 56ab9469ff | |||
| 3c570bb99e | |||
| a774d95522 | |||
| 13c0c19c82 | |||
| 5394039ee6 | |||
| 830fca5826 | |||
| ac69050d99 | |||
| 90a46df214 | |||
| 6f1eaffda8 | |||
| 1e6cb3bca5 | |||
| 37321f1808 | |||
| 7f80b3248d | |||
| 702f9e70f1 | |||
| 1fd453dd1d | |||
| c9a1af40a9 | |||
| b443b52dbe | |||
| fbf8b1fa9b | |||
| f764e490af | |||
| 2873b6b35c | |||
| 38a86f27fc | |||
| b0cc8416fa | |||
| 94e8648e69 | |||
| f1971a6c18 | |||
| 1dfdf7912f | |||
| 1b66839725 | |||
| fe7354a376 | |||
| d21dbbf34f | |||
| 063d6ece08 | |||
| f41a6037f6 | |||
| 10345e6c84 | |||
| b87b167853 | |||
| 402255643f | |||
| f8f7178e06 | |||
| e782d7b8b0 | |||
| ecde4ca013 | |||
| d879448a5a | |||
| a8b10ec3da | |||
| 165624d9ab | |||
| 8b5484483e | |||
| 19eae53d2d | |||
| c28e6a307a | |||
| 6550f63b5e | |||
| 76b4de916c | |||
| 0692751128 | |||
| b751e440fc | |||
| 8ec5b72f9c | |||
| b346299a22 | |||
| 4eeb9e87da | |||
| 362eab2e27 | |||
| 85320227d5 | |||
| 52de588270 | |||
| 3a42205366 | |||
| 2c52d115cd | |||
| b5f321a180 | |||
| 8fa067c932 | |||
| 6685fc42df | |||
| 02dd6a04b2 | |||
| 5e19bc2db2 | |||
| 2c2b3847da | |||
| 50e74ca4aa | |||
| 3d50f23bc7 | |||
| 14f343b6ee | |||
| c4920b3609 | |||
| 7c65fb0b1a | |||
| 0d06a132f3 | |||
| 8dd4a71161 | |||
| 8919c8d344 | |||
| 5de4de7e9b | |||
| 5719c846ef | |||
| 58df475727 | |||
| 78184965fe | |||
| 3203d0b00a | |||
| 1229fbb5b2 | |||
| 24e4814fa1 | |||
| 1ae1e28724 | |||
| 02b5b9d390 | |||
| f0a59a812f | |||
| 80ba7cf1a3 | |||
| 66a274529b | |||
| 5ea7e65fe5 | |||
| 949a80fb62 | |||
| c3c4a5d9dc | |||
| 72e6371430 | |||
| 794bb63dcf | |||
| 8607788e89 | |||
| aed58d5e1e | |||
| e8882c852f | |||
| b5f60bf136 | |||
| b822732ef2 | |||
| dac1b03b87 | |||
| 6a314e34e9 | |||
| 7337f9d48a | |||
| f99bd04f49 | |||
| fc97a0cebc | |||
| 9592e403fc | |||
| caca8e380b | |||
| 132ce583ff | |||
| 3c1abedd50 | |||
| e69bf62137 | |||
| b1f6446d23 | |||
| 0335436dce | |||
| aa4ba0020e | |||
| 4ed799f300 | |||
| 65f7faf638 | |||
| 25237edc61 | |||
| 2c2936d670 | |||
| 4197353771 | |||
| 8c89beecdc | |||
| ed493313b9 | |||
| 4c8670e58a | |||
| cb966c5d1c | |||
| d8886dd5f6 | |||
| b99e5d7c96 | |||
| 096ce0d2d0 | |||
| 662877ffde | |||
| 4e50a46cc8 | |||
| 0f0d4a6458 | |||
| b7a0d5edea | |||
| 0cce55c176 | |||
| 66380773ed | |||
| 24a2b7c751 | |||
| f535c7b8df | |||
| 553b8bae68 | |||
| b456610021 | |||
| 1edff621b8 | |||
| ab1d9380c9 | |||
| 809ea9f7eb | |||
| 4469241cef | |||
| d294056976 | |||
| ab58fa05bd | |||
| 2b581ae70c | |||
| 2420814f38 | |||
| d7c2dcd2c4 | |||
| 8f65dae94d | |||
| 313efe4594 | |||
| 716d8763b2 | |||
| 8c3eb77822 | |||
| a704954d64 | |||
| 1d42d28306 | |||
| dba4f2f8b9 | |||
| 43831ddb17 | |||
| 7530f25a3e | |||
| f21d4b71ac | |||
| e1c8553825 | |||
| cb2ace29d7 | |||
| a3abc5cc5f | |||
| e4df17cf01 | |||
| 9d7984378a | |||
| 245bfe07c2 | |||
| a9b5ad8f89 | |||
| 244a2539dc | |||
| c3f51afb2d | |||
| aa4dc1d88b | |||
| cadefcedb6 | |||
| afe293e6b1 | |||
| 402b709518 | |||
| 3f049d9dd5 | |||
| 34dc5585aa | |||
| e247b297ee | |||
| 596b75ce8d | |||
| 12f06119e7 | |||
| 949410bab6 | |||
| bbfe0b3af9 | |||
| f448b3ca07 | |||
| e3ab60044a | |||
| e2f4e76055 | |||
| 56462c35f5 | |||
| aa4bc8c486 | |||
| 6ab6e6bf0a | |||
| 2d1466a1fc | |||
| 73ee59371a | |||
| c564ced4bc | |||
| e6948d0b9d | |||
| ee2f2b5907 | |||
| 172268a36c | |||
| e3e835aee4 | |||
| 507316cdcd | |||
| 8ea85b5862 | |||
| a7f55e20e5 | |||
| 2f71d54d1b | |||
| b683e1e675 | |||
| ef4c63cf16 | |||
| 9276d764b3 | |||
| 2cc97d6285 | |||
| 39d64b7aa9 | |||
| e2b465e8df | |||
| 57cd46744b | |||
| eb48e13f80 | |||
| 1b9f5c6896 | |||
| 0a0cbfe793 | |||
| e646cd19e8 | |||
| 8a220d397d | |||
| aced3f08a4 | |||
| 42abe4da42 | |||
| b7049fe25f | |||
| 105e37504a | |||
| 13cda06bec | |||
| 90be94ba25 | |||
| 6f910cf5f8 | |||
| ffc9e23e82 | |||
| 8c2d201425 | |||
| 40a3735bfe | |||
| 8bb0eb2031 | |||
| 36ea850027 | |||
| d05197c32f | |||
| 43e8c094ba | |||
| f747a6f274 | |||
| 9fdb31872e | |||
| ce0b5701b6 | |||
| 76afa66b8c | |||
| cefb9bf28c | |||
| 934844fac9 | |||
| 95bc8c21d1 | |||
| ae5232abd2 | |||
| f1611a13fc | |||
| 15a4eb9475 | |||
| 060fe30a95 | |||
| c22caba1cd | |||
| 3dcae93ba9 | |||
| 0e85a8c5b5 | |||
| 922f5d9fb1 | |||
| 2feb3ad03d | |||
| aa2e5f4d58 | |||
| bac8f0a948 | |||
| a6548d228e | |||
| 517526d454 | |||
| ea324b6f81 | |||
| b2c10649aa | |||
| e4a2821d97 | |||
| 6fe74a631d | |||
| d7b55ef336 | |||
| c7377f38f2 | |||
| 05fe01f6a5 | |||
| b62f838383 | |||
| e616552dcd | |||
| b578a27c0b | |||
| bdc049eb57 | |||
| dfd69c86c9 | |||
| daf3ec3da1 | |||
| 5b216a0382 | |||
| cc3c7b9bbf | |||
| 524c6816ed | |||
| bf4ff0ccf8 | |||
| c184162359 | |||
| 0a27f89d4f | |||
| 0ddf0fb289 | |||
| eadf16b1e6 | |||
| c84f1f56ce | |||
| c702bbde27 | |||
| 7bcb2d752e | |||
| 1098b70a2c | |||
| bf5af22285 | |||
| 246335c074 | |||
| ad3cfecdf0 | |||
| 320397c888 | |||
| 8b513e7bb3 | |||
| 17d94e68b5 | |||
| fd13fce38b | |||
| 1ea4dee39d | |||
| e908e3b09a | |||
| 0aa5a5802b | |||
| fde4959cc9 | |||
| ac8d5d37b9 | |||
| f6a338735f | |||
| 12ea31bf76 | |||
| 92b4fd50d4 | |||
| 9a85d32099 | |||
| 913242b2c1 | |||
| 2ca4008c93 | |||
| c5c2b88bef | |||
| e04a4f5b3a | |||
| 81a849a92c | |||
| 20b7fad076 | |||
| 64e36cc08a | |||
| ebef5fdad3 | |||
| 51a1ef98ec | |||
| 7f1fffb6d0 | |||
| 63a73c8457 | |||
| 5fc97537a6 | |||
| 968744d5c9 | |||
| fc09fcf117 | |||
| 13a2173483 | |||
| 6b9151e67e | |||
| 0950bb47e1 | |||
| f419d44119 | |||
| c2797f8782 | |||
| cf4c548c87 | |||
| 0f84f44b58 | |||
| bcee91e8a0 | |||
| 720a7cbbaa | |||
| ee80621fb7 | |||
| 54cdd4e181 | |||
| e4af6f0d39 | |||
| aeaaa0f4fa | |||
| f3f1e38703 | |||
| 79b90af793 | |||
| 6420b99ebd | |||
| 77120da63b | |||
| 592efc2243 | |||
| d240599d39 | |||
| ac86f98cbc | |||
| aaa62d3229 | |||
| 542f69ba3f | |||
| b9a649c15a | |||
| 88dcb99b9d | |||
| 2b0112013b | |||
| 6c1c39aabf | |||
| fd2c4b0b2d | |||
| 2cd4b63392 | |||
| 08727e0647 | |||
| 6d558a7f86 | |||
| 45d735c89b | |||
| 0bd432debc | |||
| 13312b63c5 | |||
| 975e267769 | |||
| cd686bfa6f | |||
| 27ec7cdb54 | |||
| 7c5127a0f7 | |||
| 8bf86f94d7 | |||
| 85b78786d1 | |||
| 6594bf07b4 | |||
| bf4262e2dd | |||
| dc80939eda | |||
| 0d9d7ccd74 | |||
| 8869ea720e | |||
| 22088ffa0b | |||
| 5d9526113c | |||
| 3078b2d41e | |||
| 2cbd457da7 | |||
| 3f94a9fe30 | |||
| d1a82f2598 | |||
| ce304a6fda | |||
| 5f5e1d0be1 | |||
| 314f9cc8f1 | |||
| b1350c013f | |||
| 11ac4225e5 | |||
| fc0d53f3c5 | |||
| 35c27c1938 | |||
| d9a192ec9c | |||
| 74a92b62e5 | |||
| 9b3d1e1e7f | |||
| 12a1a01f0b | |||
| 9e327c46c9 | |||
| c575439f05 | |||
| 53bba98f53 | |||
| 1a319ddedb | |||
| 8ffe44957d | |||
| 2fdd7b15b8 | |||
| cc857bbd26 | |||
| c936cf13b2 | |||
| a394faab7a | |||
| cdb5788226 | |||
| e900db69a2 | |||
| 7eb21e9f26 | |||
| 76ddc6f698 | |||
| 0561c3af75 | |||
| 78a6690a78 | |||
| d4c74d514f | |||
| 147964ab99 | |||
| 5a0249ec06 | |||
| e43f0fa1e5 | |||
| 55ec34401b | |||
| 8b2348477e | |||
| 752fa4b63e | |||
| 58e29ac786 | |||
| 2fd3a283dc | |||
| fc699f356f | |||
| c646a04343 | |||
| 42707b9430 | |||
| 79c8c37f1b | |||
| 5d21fe18ca | |||
| 41dde78f13 | |||
| 6d7da08f6e | |||
| 977f963f75 | |||
| 1d9735bcf0 | |||
| 5c3665f5ec | |||
| f7ddda9fc8 | |||
| 0da21d287a | |||
| 08c50e80a8 | |||
| 0f36052579 | |||
| df04b0149d | |||
| 974965c507 | |||
| 0a1ea6ab8f | |||
| bb4f5e006f | |||
| d6412efa8a | |||
| 0ac8bf1c7f | |||
| 2a825c7385 | |||
| 9dbd336aa1 | |||
| fb64019bf2 | |||
| 9f649438b5 | |||
| faeffeed56 | |||
| 42327fec0e | |||
| 7c49b1293a | |||
| cc02ce152e | |||
| 8482f30a88 | |||
| ac81ff41ff | |||
| c1ea415273 | |||
| a248e40fee | |||
| c9e78fca04 | |||
| f5ed7aae03 | |||
| 1f44b4324a | |||
| cab65c2a5d | |||
| 617e9ca003 | |||
| 953a352bf0 | |||
| d4ae291272 | |||
| 4047ed5686 | |||
| 9f02e61172 | |||
| e2c6e1acac | |||
| 4480fcd815 | |||
| 10b9dd3134 | |||
| beeac57868 | |||
| 796947b089 | |||
| 152f505c5e | |||
| 297bfb2233 | |||
| 201d912129 | |||
| faad05199c | |||
| 42cc97b12f | |||
| bec6a605db | |||
| fb20dcb9fc | |||
| 4f5dd4dd0f | |||
| f7cafdda8e | |||
| 04aad81483 | |||
| 5f7b3d3b2f | |||
| 8c18abc952 | |||
| 5a55fbc83d | |||
| d99188ebc1 | |||
| 91d2bfacd0 | |||
| 2e873a74a7 |
+32
-1
@@ -9,12 +9,43 @@ TestResults
|
|||||||
*.obj
|
*.obj
|
||||||
Tests.VisualState.xml
|
Tests.VisualState.xml
|
||||||
TestResult.xml
|
TestResult.xml
|
||||||
|
*\.vs
|
||||||
|
# Build results
|
||||||
|
[Dd]ebug/
|
||||||
|
[Dd]ebugPublic/
|
||||||
|
[Rr]elease/
|
||||||
|
[Rr]eleases/
|
||||||
|
x64/
|
||||||
|
x86/
|
||||||
|
build/
|
||||||
|
bld/
|
||||||
|
[Bb]in/
|
||||||
|
[Oo]bj/
|
||||||
|
|
||||||
|
# Visual Studio 2015 cache/options directory
|
||||||
|
.vs/
|
||||||
|
|
||||||
|
|
||||||
|
# # NuGet Packages
|
||||||
|
# *.nupkg
|
||||||
|
# # The packages folder can be ignored because of Package Restore
|
||||||
|
# **/packages/*
|
||||||
|
# # except build/, which is used as an MSBuild target.
|
||||||
|
# !**/packages/build/
|
||||||
|
# # Uncomment if necessary however generally it will be regenerated when needed
|
||||||
|
# #!**/packages/repositories.config
|
||||||
|
|
||||||
|
**/packages/*
|
||||||
|
|
||||||
|
#MTC_Adapter/\.vs/MTC_Adapter/v15/sqlite3/storage\.ide
|
||||||
|
|
||||||
# -----------------------------------------------
|
# -----------------------------------------------
|
||||||
# MTC_AdapterTest
|
# MTC_AdapterTest
|
||||||
# -----------------------------------------------
|
# -----------------------------------------------
|
||||||
MTC_Adapter/MTC_AdapterTest/bin/Debug*/
|
MTC_Adapter/MTC_AdapterTest/bin/Debug*/
|
||||||
MTC_Adapter/MTC_AdapterTest/obj/Debug*/
|
MTC_Adapter/MTC_AdapterTest/obj/Debug*/
|
||||||
|
MTC_Adapter/\.vs/*
|
||||||
|
MTC_Adapter/\.vs/MTC_Adapter/v15/sqlite3/storage\.ide
|
||||||
|
|
||||||
|
|
||||||
# -----------------------------------------------
|
# -----------------------------------------------
|
||||||
@@ -29,4 +60,4 @@ MTC_Adapter/MTC_Adapter/obj/Debug*/
|
|||||||
!MTC_Adapter/MTC_Adapter/dump/dump.obj
|
!MTC_Adapter/MTC_Adapter/dump/dump.obj
|
||||||
|
|
||||||
# file temp office
|
# file temp office
|
||||||
MTC_Adapter/MTC_Adapter/Resources/SCM/.~lock*
|
MTC_Adapter/MTC_Adapter/Resources/SCM/.~lock*
|
||||||
|
|||||||
+221
@@ -0,0 +1,221 @@
|
|||||||
|
variables:
|
||||||
|
NUGET_PATH: 'C:\Tools\nuget.exe'
|
||||||
|
MSBUILD_PATH: 'C:\Program Files (x86)\Microsoft Visual Studio\2019\BuildTools\MSBuild\Current\Bin\MSBuild.exe'
|
||||||
|
SOL_NAME: 'SCMA'
|
||||||
|
APP_NAME: 'SCMA'
|
||||||
|
NUM_REL: '0.1.2.3'
|
||||||
|
NUM_DEB: '0.1.2-beta.3'
|
||||||
|
CONFIG: ''
|
||||||
|
VERS_MAIN: '2.2'
|
||||||
|
NEW_REL: ''
|
||||||
|
OUTPUT_DIR: ''
|
||||||
|
NEXUS_PATH: 'SCM/SCMA'
|
||||||
|
|
||||||
|
# helper x fix pacchetti nuget da repo locale nexus.steamware.net
|
||||||
|
.nuget-fix: &nuget-fix
|
||||||
|
- |
|
||||||
|
$hasSource = C:\Tools\nuget.exe sources list | find "`"Steamware Nexus`"" /C
|
||||||
|
if ($hasSource -eq 0) {
|
||||||
|
C:\Tools\nuget.exe sources Add -Name "`"Steamware Nexus`"" -Source https://nexus.steamware.net/repository/nuget-group -username "`"nugetUser`"" -password "`"$NEXUS_PASSWD`""
|
||||||
|
} else {
|
||||||
|
C:\Tools\nuget.exe sources Update -Name "`"Steamware Nexus`"" -Source https://nexus.steamware.net/repository/nuget-group -username "`"nugetUser`"" -password "`"$NEXUS_PASSWD`""
|
||||||
|
}
|
||||||
|
echo $hasSource
|
||||||
|
|
||||||
|
# helper x fix version number
|
||||||
|
.version-fix: &version-fix
|
||||||
|
- |
|
||||||
|
$env:NEW_REL = $env:VERS_MAIN+"."+(get-date –format yyMM)+"."+(get-date –format ddHH)
|
||||||
|
$env:NUM_REL = $env:VERS_MAIN+"."+(get-date –format yyMM)+"."+(get-date –format dHH)
|
||||||
|
$env:NUM_DEB = $env:VERS_MAIN+"."+(get-date –format yyMM)+"-beta."+(get-date –format dHH)
|
||||||
|
$env:NEW_COPYRIGHT = "EgalWare @ 2006-" + (get-date -format yyyy)
|
||||||
|
$contenuto = Get-Content -path 'MTC_Adapter\VersGen\VersGen.cs' -Raw
|
||||||
|
$newContenuto = $contenuto -replace '1.0.0.0', $env:NEW_REL
|
||||||
|
$newContenuto = $newContenuto -replace 'EgalWare © 2006', $env:NEW_COPYRIGHT
|
||||||
|
$newContenuto | Set-Content -Path 'MTC_Adapter\VersGen\VersGen.cs'
|
||||||
|
# display versioni generate
|
||||||
|
$resoconto = "Effettuato fix file VersGen | release v: " + $env:NUM_REL + " | debug v: " + $env:NUM_DEB;
|
||||||
|
Write-Output $resoconto;
|
||||||
|
echo "replace completati"
|
||||||
|
|
||||||
|
# helper x fix nuspec file
|
||||||
|
.nuspec-fix: &nuspec-fix
|
||||||
|
- |
|
||||||
|
echo "Modifica dati file nuspec Release"
|
||||||
|
$currRelease = $env:NUM_REL
|
||||||
|
$currDebug = $env:NUM_DEB
|
||||||
|
$find = "<version>(.|\n)*?</version>";
|
||||||
|
$fileNameRel = "$env:APP_NAME.Release.nuspec";
|
||||||
|
$replRel = "<version>" + $currRelease + "</version>";
|
||||||
|
$nuspDataRel = Get-Content $fileNameRel;
|
||||||
|
$nuspDataRelUpd = $nuspDataRel -replace $find, $replRel;
|
||||||
|
$nuspDataRelUpd = $nuspDataRelUpd -replace "#copyright#", $replCopy;
|
||||||
|
$nuspDataRelUpd = $nuspDataRelUpd -replace "#releaseNotes#", "Build $adesso";
|
||||||
|
Set-Content -Path $fileNameRel -Value $nuspDataRelUpd;
|
||||||
|
echo "Modifica dati file nuspec Debug"
|
||||||
|
$fileNameDeb = "$env:APP_NAME.Debug.nuspec";
|
||||||
|
$replDeb = "<version>" + $currDebug + "</version>";
|
||||||
|
$nuspDataDeb = Get-Content $fileNameDeb;
|
||||||
|
$nuspDataDebUpd = $nuspDataDeb -replace $find, $replDeb;
|
||||||
|
$nuspDataDebUpd = $nuspDataDebUpd -replace "#copyright#", $replCopy;
|
||||||
|
$nuspDataDebUpd = $nuspDataDebUpd -replace "#releaseNotes#", "Build $adesso";
|
||||||
|
Set-Content -Path $fileNameDeb -Value $nuspDataDebUpd;
|
||||||
|
echo "replace completati"
|
||||||
|
|
||||||
|
# helper pulizia files zip
|
||||||
|
.cleanup-zip: &cleanup-zip
|
||||||
|
- |
|
||||||
|
$env:OUTPUT_DIR = "Releases\" + $CI_COMMIT_BRANCH + "\*"
|
||||||
|
if ((Test-Path $env:OUTPUT_DIR))
|
||||||
|
{
|
||||||
|
Remove-Item $env:OUTPUT_DIR -Force -Recurse -ErrorAction Ignore
|
||||||
|
}
|
||||||
|
echo "Clening ZIP dir: $env:OUTPUT_DIR"
|
||||||
|
|
||||||
|
# helper creazione files zip
|
||||||
|
.zipper: &zipper
|
||||||
|
- |
|
||||||
|
$7zipPath = $env:ProgramFiles+"\7-Zip\7z.exe"
|
||||||
|
if (-not (Test-Path -Path $7zipPath -PathType Leaf)) {
|
||||||
|
throw "7 zip file '$7zipPath' not found"
|
||||||
|
}
|
||||||
|
Set-Alias 7zip $7zipPath
|
||||||
|
$Target = "Releases\" + $CI_COMMIT_BRANCH + "\" + $env:APP_NAME + ".zip"
|
||||||
|
cd "$env:APP_NAME\bin\"
|
||||||
|
$Source = "*"
|
||||||
|
7zip a -tzip $Target $Source -xr!DATA
|
||||||
|
echo "called ZIP $Source --> $Target"
|
||||||
|
|
||||||
|
# helper creazione hash files
|
||||||
|
.hashBuild: &hashBuild
|
||||||
|
- |
|
||||||
|
$Target = "Releases\" + $CI_COMMIT_BRANCH + "\" + $env:APP_NAME + ".zip"
|
||||||
|
$MD5 = Get-FileHash $Target -Algorithm MD5
|
||||||
|
$SHA1 = Get-FileHash $Target -Algorithm SHA1
|
||||||
|
New-Item $Target".md5"
|
||||||
|
New-Item $Target".sha1"
|
||||||
|
$MD5.Hash | Set-Content -Path $Target".md5"
|
||||||
|
$SHA1.Hash | Set-Content -Path $Target".sha1"
|
||||||
|
echo "Created HASH files for $Target"
|
||||||
|
|
||||||
|
.nexusUpload: &nexusUpload
|
||||||
|
- |
|
||||||
|
Set-Alias mCurl C:\Windows\system32\curl.exe
|
||||||
|
$VersNumb = $env:NEW_REL
|
||||||
|
echo "Curr Version: $VersNumb"
|
||||||
|
if($CI_COMMIT_BRANCH -eq "master")
|
||||||
|
{
|
||||||
|
$version = "stable"
|
||||||
|
}
|
||||||
|
else
|
||||||
|
{
|
||||||
|
$version = "unstable"
|
||||||
|
}
|
||||||
|
$File2Send = Get-ChildItem("Releases\" + $CI_COMMIT_BRANCH + "\" + $env:APP_NAME + ".*")
|
||||||
|
ForEach ($File in $File2Send) {
|
||||||
|
$FileName = Split-Path $File -leaf
|
||||||
|
mCurl -v -u GitLab:$NEXUS_PASSWD --upload-file $File https://nexus.steamware.net/repository/SWS/$env:NEXUS_PATH/$version/LAST/$FileName
|
||||||
|
mCurl -v -u GitLab:$NEXUS_PASSWD --upload-file $File https://nexus.steamware.net/repository/SWS/$env:NEXUS_PATH/$version/ARCHIVE/$VersNumb/$FileName
|
||||||
|
}
|
||||||
|
echo "Upload area utility for Releases\$CI_COMMIT_BRANCH\$env:APP_NAME.*"
|
||||||
|
$FileUtility = Get-ChildItem("Releases\$CI_COMMIT_BRANCH\$env:APP_NAME.*")
|
||||||
|
ForEach ($File in $FileUtility) {
|
||||||
|
$FileName = Split-Path $File -leaf
|
||||||
|
mCurl -v -u GitLab:$NEXUS_PASSWD --upload-file $File https://nexus.steamware.net/repository/utility/MAPO/$env:APP_NAME/$version/$FileName
|
||||||
|
}
|
||||||
|
|
||||||
|
stages:
|
||||||
|
- build
|
||||||
|
- release
|
||||||
|
|
||||||
|
# --------------------------------
|
||||||
|
# BUILD
|
||||||
|
# --------------------------------
|
||||||
|
|
||||||
|
SCMA:build:
|
||||||
|
stage: build
|
||||||
|
tags:
|
||||||
|
- win
|
||||||
|
variables:
|
||||||
|
APP_NAME: SCMA
|
||||||
|
SOL_NAME: SCMA
|
||||||
|
only:
|
||||||
|
refs:
|
||||||
|
- develop
|
||||||
|
- main
|
||||||
|
- master
|
||||||
|
before_script:
|
||||||
|
- *nuget-fix
|
||||||
|
- '& "$env:NUGET_PATH" restore "MTC_Adapter\$env:SOL_NAME.sln" -verbosity quiet'
|
||||||
|
- *version-fix
|
||||||
|
script:
|
||||||
|
- 'echo "$env:MSBUILD_PATH" "MTC_Adapter\$env:APP_NAME\$env:APP_NAME.csproj" -target:Build /p:Configuration=Release /p:Platform="x86" /p:DefineConstants="FS30D=1;SIEMENS=1" /p:OutputPath=bin/ /verbosity:minimal /m'
|
||||||
|
- '& "$env:MSBUILD_PATH" "MTC_Adapter\$env:APP_NAME\$env:APP_NAME.csproj" -target:Build /p:Configuration=Release /p:Platform="x86" /p:DefineConstants="FS30D=1;SIEMENS=1" /p:OutputPath=bin/ /verbosity:minimal /m'
|
||||||
|
|
||||||
|
# MTC-ADB:build:
|
||||||
|
# stage: build
|
||||||
|
# tags:
|
||||||
|
# - win
|
||||||
|
# variables:
|
||||||
|
# APP_NAME: MTC-ADB
|
||||||
|
# only:
|
||||||
|
# refs:
|
||||||
|
# - develop
|
||||||
|
# - main
|
||||||
|
# - master
|
||||||
|
# before_script:
|
||||||
|
# - *nuget-fix
|
||||||
|
# - '& "$env:NUGET_PATH" restore "MTC_Adapter\$env:SOL_NAME.sln" -verbosity quiet'
|
||||||
|
# - *version-fix
|
||||||
|
# script:
|
||||||
|
# - '& "$env:MSBUILD_PATH" "MTC_Adapter\$env:APP_NAME\$env:APP_NAME.csproj" -target:Build /p:Configuration=Release /p:Platform="x86" /p:OutputPath=bin/ /verbosity:minimal /m'
|
||||||
|
|
||||||
|
# --------------------------------
|
||||||
|
# RELEASE
|
||||||
|
# --------------------------------
|
||||||
|
|
||||||
|
SCMA:release:
|
||||||
|
stage: release
|
||||||
|
needs: ["SCMA:build"]
|
||||||
|
tags:
|
||||||
|
- win
|
||||||
|
variables:
|
||||||
|
APP_NAME: SCMA
|
||||||
|
NEXUS_PATH: MAPO/SCMA
|
||||||
|
only:
|
||||||
|
refs:
|
||||||
|
- main
|
||||||
|
- master
|
||||||
|
before_script:
|
||||||
|
- *nuget-fix
|
||||||
|
- '& "$env:NUGET_PATH" restore "MTC_Adapter\$env:SOL_NAME.sln" -verbosity quiet'
|
||||||
|
- *version-fix
|
||||||
|
- *cleanup-zip
|
||||||
|
script:
|
||||||
|
- '& "$env:MSBUILD_PATH" "MTC_Adapter\$env:APP_NAME\$env:APP_NAME.csproj" -target:Build /p:DefineConstants="FS30D=1;SIEMENS=1" /p:Configuration=Release /p:Platform="x86" /p:OutputPath=bin/ /verbosity:minimal /m'
|
||||||
|
# - *zipper
|
||||||
|
# - *hashBuild
|
||||||
|
# - *nexusUpload
|
||||||
|
|
||||||
|
# MTC-ADB:release:
|
||||||
|
# stage: release
|
||||||
|
# needs: ["MTC-ADB:build"]
|
||||||
|
# tags:
|
||||||
|
# - win
|
||||||
|
# variables:
|
||||||
|
# APP_NAME: MTC-ADB
|
||||||
|
# NEXUS_PATH: MAPO/MTC-ADB
|
||||||
|
# only:
|
||||||
|
# refs:
|
||||||
|
# - main
|
||||||
|
# - master
|
||||||
|
# before_script:
|
||||||
|
# - *nuget-fix
|
||||||
|
# - '& "$env:NUGET_PATH" restore "MTC_Adapter\$env:SOL_NAME.sln" -verbosity quiet'
|
||||||
|
# - *version-fix
|
||||||
|
# - *cleanup-zip
|
||||||
|
# script:
|
||||||
|
# - '& "$env:MSBUILD_PATH" "MTC_Adapter\$env:APP_NAME\$env:APP_NAME.csproj" -target:Build /p:Configuration=Release /p:DebugSymbols=false /p:DebugType=None /p:Platform="x86" /p:OutputPath=bin/ /verbosity:minimal /m'
|
||||||
|
# - *zipper
|
||||||
|
# - *hashBuild
|
||||||
|
# - *nexusUpload
|
||||||
Vendored
+3
@@ -0,0 +1,3 @@
|
|||||||
|
{
|
||||||
|
"workbench.colorCustomizations": {}
|
||||||
|
}
|
||||||
Vendored
+210
@@ -0,0 +1,210 @@
|
|||||||
|
pipeline {
|
||||||
|
// Declarative Pipeline MODE con Scripted Pipeline Syntax entro le chiamate script { }
|
||||||
|
agent none
|
||||||
|
environment {
|
||||||
|
EMAIL_RECIPIENTS = 'samuele@steamware.net'
|
||||||
|
}
|
||||||
|
stages {
|
||||||
|
stage('Checkout') {
|
||||||
|
agent any
|
||||||
|
steps {
|
||||||
|
|
||||||
|
/* calcolo numero versione... diverso x branch MASTER/DEVELOP */
|
||||||
|
script {
|
||||||
|
env.versionNumber = VersionNumber(versionNumberString : '2.2.${BUILD_DATE_FORMATTED, "yyMM"}.${BUILD_DATE_FORMATTED, "ddHH"}', projectStartDate : '2006-01-01', skipFailedBuilds: true, overrideBuildsAllTime: '${NEXT_BUILD_NUMBER}')
|
||||||
|
env.APP_NAME = 'SCMA'
|
||||||
|
}
|
||||||
|
script {
|
||||||
|
currentBuild.displayName = "${env.versionNumber}"
|
||||||
|
if (env.BRANCH_NAME == "develop" || env.BRANCH_NAME.contains("DEMO")) {
|
||||||
|
currentBuild.description = "TEST ${env.versionNumber}"
|
||||||
|
}
|
||||||
|
else {
|
||||||
|
currentBuild.description = "BUILD ${env.versionNumber}"
|
||||||
|
}
|
||||||
|
}
|
||||||
|
// CAMBIO numero versione + checkout NuGet in file sorgente!!!
|
||||||
|
bat "e:\\fart.exe ${WORKSPACE}\\MTC_Adapter\\VersGen\\VersGen.cs 1.0.0.0 ${env.versionNumber} || EXIT /B 0"
|
||||||
|
//fixNuget("${WORKSPACE}\\MTC_Adapter\\SCMA.sln")
|
||||||
|
}
|
||||||
|
}
|
||||||
|
stage('Build') {
|
||||||
|
agent any
|
||||||
|
steps {
|
||||||
|
script {
|
||||||
|
properties([buildDiscarder(logRotator(artifactDaysToKeepStr: '180', artifactNumToKeepStr: '30', daysToKeepStr: '360', numToKeepStr: '30')), pipelineTriggers([])])
|
||||||
|
// CAMBIO numero versione + checkout NuGet in file sorgente!!!
|
||||||
|
bat "e:\\fart.exe ${WORKSPACE}\\MTC_Adapter\\VersGen\\VersGen.cs 1.0.0.0 ${env.versionNumber} || EXIT /B 0"
|
||||||
|
fixNuget("${WORKSPACE}\\MTC_Adapter\\SCMA.sln")
|
||||||
|
}
|
||||||
|
script {
|
||||||
|
/* compilo installers in base al BRANCH del cliente... */
|
||||||
|
if (env.BRANCH_NAME == "develop" || env.BRANCH_NAME == "master") {
|
||||||
|
parallel (
|
||||||
|
DB: {
|
||||||
|
sleep 1
|
||||||
|
bat "\"${tool 'MSBuild-16.0'}\" MTC_Adapter/MTC-ADB/MTC-ADB.csproj -target:Build /p:Configuration=Release /p:Platform=\"Any CPU\" /p:OutputPath=bin/ /m"
|
||||||
|
},
|
||||||
|
MAIN: {
|
||||||
|
sleep 0
|
||||||
|
bat "\"${tool 'MSBuild-16.0'}\" MTC_Adapter/SCMA/SCMA.csproj -target:Build /p:DefineConstants=\"FS30D=1,SIEMENS=1\" /p:Configuration=Release /p:Platform=\"Any CPU\" /p:OutputPath=bin/ /p:verbosity=minimal /m"
|
||||||
|
},
|
||||||
|
failFast: false)
|
||||||
|
}
|
||||||
|
else {
|
||||||
|
echo 'Niente x Build (limitata a develop/master)...'
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
stage('Deploy') {
|
||||||
|
agent any
|
||||||
|
steps {
|
||||||
|
// in primis fix versione e recupero pacchetti...
|
||||||
|
script {
|
||||||
|
// CAMBIO numero versione + checkout NuGet in file sorgente!!!
|
||||||
|
bat "e:\\fart.exe ${WORKSPACE}\\MTC_Adapter\\VersGen\\VersGen.cs 1.0.0.0 ${env.versionNumber} || EXIT /B 0"
|
||||||
|
fixNuget("${WORKSPACE}\\MTC_Adapter\\SCMA.sln")
|
||||||
|
}
|
||||||
|
// poi compilo
|
||||||
|
script {
|
||||||
|
// procedo solo se NON si tratta di commit in ramo DOCUMentazione...
|
||||||
|
if (env.BRANCH_NAME == "master" || env.BRANCH_NAME.contains("develop") || env.BRANCH_NAME.contains("MTC_Only")) {
|
||||||
|
echo 'Questo BRANCH non necessita di installer...'
|
||||||
|
}
|
||||||
|
else
|
||||||
|
{
|
||||||
|
if (env.BRANCH_NAME == "MySql") {
|
||||||
|
// pulizia directory BIN
|
||||||
|
bat "RD /S /Q \"${WORKSPACE}\\MTC_Adapter\\MTC-ADB\\bin\" || EXIT /B 0"
|
||||||
|
// BUILD adapter MySql!
|
||||||
|
bat "\"${tool 'MSBuild-16.0'}\" MTC_Adapter/MTC-ADB/MTC-ADB.csproj -target:Build /p:Configuration=${env.BRANCH_NAME} /p:VisualStudioVersion=15.0 /p:RunCodeAnalysis=false /p:Platform=\"Any CPU\" /p:DebugSymbols=false /p:DebugType=None /p:OutputPath=bin/${env.versionNumber} /p:verbosity=minimal /m"
|
||||||
|
}
|
||||||
|
else {
|
||||||
|
// pulizia directory BIN
|
||||||
|
//bat "RD /S /Q \"${WORKSPACE}\\MTC_Adapter\\SCMA\\bin\" || EXIT /B 0"
|
||||||
|
if (env.BRANCH_NAME == "FANUC") {
|
||||||
|
env.currConfig='CMS-FANUC'
|
||||||
|
}
|
||||||
|
else if (env.BRANCH_NAME == "KVARA") {
|
||||||
|
env.currConfig='CMS-ESA'
|
||||||
|
}
|
||||||
|
else if (env.BRANCH_NAME == "OSAI") {
|
||||||
|
env.currConfig='CMS-OSAI'
|
||||||
|
}
|
||||||
|
else if (env.BRANCH_NAME == "SIEMENS") {
|
||||||
|
env.currConfig='CMS-SIEMENS'
|
||||||
|
}
|
||||||
|
else {
|
||||||
|
env.currConfig='Release'
|
||||||
|
}
|
||||||
|
// Build adapters MTC/OPC-UA-RED
|
||||||
|
bat "\"${tool 'MSBuild-16.0'}\" MTC_Adapter/SCMA/SCMA.csproj -target:Build /p:DefineConstants=\"FS30D=1,SIEMENS=1\" /p:Configuration=${env.currConfig} /p:DebugSymbols=false /p:DebugType=None /p:OutputPath=bin/${env.versionNumber} /p:verbosity=minimal /m"
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
// ora mi occupo delle operazioni di compressione e copia...
|
||||||
|
script {
|
||||||
|
// procedo ove necessario...
|
||||||
|
if (env.BRANCH_NAME == "master" || env.BRANCH_NAME.contains("develop") || env.BRANCH_NAME.contains("MTC_Only")) {
|
||||||
|
echo 'Nessuna compressione + copia post deploy x documentazione'
|
||||||
|
}
|
||||||
|
else {
|
||||||
|
// manifest.xml: aggiorno versNumber ed URL del branch di update...
|
||||||
|
bat "e:\\fart.exe MTC_Adapter\\SCMA\\Resources\\manifest.xml 1.0.0.0 ${env.versionNumber} || EXIT /B 0"
|
||||||
|
bat "e:\\fart.exe MTC_Adapter\\SCMA\\Resources\\manifest.xml {{BRANCHNAME}} ${env.BRANCH_NAME} || EXIT /B 0"
|
||||||
|
bat "e:\\fart.exe MTC_Adapter\\SCMA\\Resources\\ChangeLog.html {{CURRENT-REL}} ${env.versionNumber} || EXIT /B 0"
|
||||||
|
writeFile file: 'changeLog.log', text: "${getChangeString()}"
|
||||||
|
// copio ed esporto in IIS02 i vari files .xml, .html, .zip
|
||||||
|
powershell '(Get-Content MTC_Adapter\\SCMA\\Resources\\ChangeLog.html) | ForEach-Object { $_ -replace \"{{LAST-CHANGES}}\", \"${getChangeString()}\" } | Set-Content MTC_Adapter\\SCMA\\Resources\\ChangeLog.html'
|
||||||
|
|
||||||
|
bat "xcopy /y MTC_Adapter\\SCMA\\Resources\\manifest.xml c:\\inetpub\\wwwroot\\SWS\\SCMA\\${env.BRANCH_NAME}\\ "
|
||||||
|
bat "xcopy /y MTC_Adapter\\SCMA\\Resources\\ChangeLog.html c:\\inetpub\\wwwroot\\SWS\\SCMA\\${env.BRANCH_NAME}\\ "
|
||||||
|
bat "xcopy /y MTC_Adapter\\SCMA\\Resources\\logoSteamware.png c:\\inetpub\\wwwroot\\SWS\\SCMA\\${env.BRANCH_NAME}\\ "
|
||||||
|
|
||||||
|
|
||||||
|
// // elimino files inutili di resources e pubblico
|
||||||
|
// bat "RD /S /Q MTC_Adapter\\SCMA\\Resources"
|
||||||
|
// elimino vecchio zip...
|
||||||
|
bat "RD /S /Q Releases\\${env.BRANCH_NAME}\\ || EXIT /B 0"
|
||||||
|
if (env.BRANCH_NAME == "MySql") {
|
||||||
|
// Compressione in .zip dell'installer x MySql...
|
||||||
|
bat "e:\\7za.exe a -tzip ${WORKSPACE}\\Releases\\${env.BRANCH_NAME}\\SCMA.zip ${WORKSPACE}\\MTC_Adapter\\MTC-ADB\\bin\\${env.versionNumber}\\*"
|
||||||
|
}
|
||||||
|
else {
|
||||||
|
// Compressione in .zip dell'installer x adapter MTC/OPC-UA-RED...
|
||||||
|
bat "e:\\7za.exe a -tzip ${WORKSPACE}\\Releases\\${env.BRANCH_NAME}\\SCMA.zip ${WORKSPACE}\\MTC_Adapter\\SCMA\\bin\\${env.versionNumber}\\*"
|
||||||
|
}
|
||||||
|
|
||||||
|
// salvo copia della versione in staging...
|
||||||
|
bat "xcopy /y Releases\\${env.BRANCH_NAME}\\SCMA.zip E:\\Staging\\byProd\\SCMA\\${env.BRANCH_NAME}\\${env.versionNumber}\\ "
|
||||||
|
// copio in area WebDeploy
|
||||||
|
bat "xcopy /y Releases\\${env.BRANCH_NAME}\\SCMA.zip c:\\inetpub\\wwwroot\\SWS\\SCMA\\${env.BRANCH_NAME}\\ "
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
post {
|
||||||
|
success {
|
||||||
|
sendSlack("Successful", "good")
|
||||||
|
}
|
||||||
|
failure {
|
||||||
|
sendSlack("Failed", "danger")
|
||||||
|
}
|
||||||
|
unstable {
|
||||||
|
sendSlack("Unstable", "warning")
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
@NonCPS
|
||||||
|
// Funzione x recupero changeLog
|
||||||
|
def getChangeString() {
|
||||||
|
MAX_MSG_LEN = 100
|
||||||
|
def changeString = ""
|
||||||
|
|
||||||
|
echo "Gathering SCM changes"
|
||||||
|
def changeLogSets = currentBuild.changeSets
|
||||||
|
for (int i = 0; i < changeLogSets.size(); i++) {
|
||||||
|
def entries = changeLogSets[i].items
|
||||||
|
for (int j = 0; j < entries.length; j++) {
|
||||||
|
def entry = entries[j]
|
||||||
|
truncated_msg = entry.msg.take(MAX_MSG_LEN)
|
||||||
|
changeString += " - ${truncated_msg} [${entry.author}]\n"
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
if (!changeString) {
|
||||||
|
changeString = " - Nessuna Modifica"
|
||||||
|
}
|
||||||
|
return changeString
|
||||||
|
}
|
||||||
|
// Funzione x invio slack
|
||||||
|
def sendSlack(status, colorCode) {
|
||||||
|
slackSend (
|
||||||
|
color: colorCode,
|
||||||
|
channel: "#scma-dev",
|
||||||
|
failOnError: false,
|
||||||
|
message: "${env.JOB_NAME} ${env.versionNumber} | " + status + ": Build ${env.BUILD_NUMBER}\n\n" +
|
||||||
|
"Modifiche:\n " + getChangeString() + "\n\n Verifica build: <${env.BUILD_URL}|Apri>" + "\n"
|
||||||
|
)
|
||||||
|
}
|
||||||
|
// funzione x fix pacchetti nuget da NOSTRO repo Nexus con proxy
|
||||||
|
def fixNuget(solutionFile) {
|
||||||
|
// bat "e:\\nuget setapikey fe387daa-d07c-3207-877e-96c8be1be91b -source http://nexus.steamware.net/repository/nuget-group"
|
||||||
|
// solo la prima volta va aggiunta...
|
||||||
|
hasSource = bat "e:\\nuget sources list | find \"Steamware\" /C"
|
||||||
|
if (hasSource == "0")
|
||||||
|
{
|
||||||
|
bat "e:\\nuget sources Add -Name \"Steamware Nexus\" -Source http://nexus.steamware.net/repository/nuget-group -username \"nugetUser\" -password \"viaDante16\""
|
||||||
|
}
|
||||||
|
else
|
||||||
|
{
|
||||||
|
bat "e:\\nuget sources Update -Name \"Steamware Nexus\" -Source http://nexus.steamware.net/repository/nuget-group -username \"nugetUser\" -password \"viaDante16\""
|
||||||
|
}
|
||||||
|
// preliminarmente svuoto...
|
||||||
|
bat "rmdir /Q /S ${WORKSPACE}\\MTC_Adapter\\packages"
|
||||||
|
// restore pacchetti
|
||||||
|
bat "e:\\nuget.exe restore ${solutionFile}"
|
||||||
|
}
|
||||||
@@ -0,0 +1,669 @@
|
|||||||
|
<?xml version="1.0" encoding="UTF-8"?>
|
||||||
|
<MTConnectDevices xsi:schemaLocation="urn:mtconnect.org:MTConnectDevices:1.3 /schemas/MTConnectDevices_1.3.xsd" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns="urn:mtconnect.org:MTConnectDevices:1.3" xmlns:m="urn:mtconnect.org:MTConnectDevices:1.3">
|
||||||
|
<Header creationTime="2016-04-28T08:44:40+00:00" sender="localhost" instanceId="100" bufferSize="131072" version="1.3"/>
|
||||||
|
<Devices>
|
||||||
|
<Device id="MTC" iso841Class="6" name="ATHENA TR DB" sampleInterval="10" uuid="8651">
|
||||||
|
<Description manufacturer="CMS">8651</Description>
|
||||||
|
<DataItems>
|
||||||
|
<!--<DataItem category="xxxx" id="xxxx" type="xxxx" subType="xxxx" nativeUnits="xxxx" units="xxxx" name="xxxx" />-->
|
||||||
|
<DataItem category="EVENT" id="AVAIL" type="AVAILABILITY"/>
|
||||||
|
<DataItem category="EVENT" id="STATUS" type="ACTUATOR_STATE"/>
|
||||||
|
<DataItem category="SAMPLE" id="ACC_TIME" type="ACCUMULATED_TIME" name="[s] Tempo macchina in potenza "/>
|
||||||
|
<DataItem category="SAMPLE" id="ACC_TIME_WORK" type="ACCUMULATED_TIME" name="[s] Tempo macchina in lavorazione"/>
|
||||||
|
<DataItem category="SAMPLE" id="CLOCK" type="CLOCK_TIME"/>
|
||||||
|
<DataItem category="EVENT" id="POWER" type="POWER_STATE"/>
|
||||||
|
<!-- <DataItem category="EVENT" id="OperatorId" type="MESSAGE" name="ID Operatore"/> -->
|
||||||
|
<DataItem category="EVENT" id="FUNCT_MODE" type="MESSAGE"/>
|
||||||
|
<DataItem category="EVENT" id="USER_ACTION" type="MESSAGE"/>
|
||||||
|
<DataItem category="EVENT" id="TESTING_DATA" type="MESSAGE"/>
|
||||||
|
<DataItem category="EVENT" id="ST_PROTECTION_STATUS" type="ACTUATOR_STATE" name="Stato protezioni"/>
|
||||||
|
<DataItem category="EVENT" id="ST_Press_OK" type="ACTUATOR_STATE" name="Stato pressione aria"/>
|
||||||
|
<!-- <DataItem category="EVENT" id="UNK_STATUS" type="MESSAGE" name="Stati sconosciuti"/> -->
|
||||||
|
<!-- <DataItem category="EVENT" id="UNK_STROBE" type="MESSAGE" name="Strobes sconosciuti"/> -->
|
||||||
|
<DataItem category="MESSAGE" id="MESSAGE" type="MESSAGE" name="Segnalazioni"/>
|
||||||
|
<DataItem category="CONDITION" id="CNC" type="SYSTEM"/>
|
||||||
|
<DataItem category="CONDITION" id="PLC" type="LOGIC_PROGRAM"/>
|
||||||
|
</DataItems>
|
||||||
|
<Components>
|
||||||
|
<Axes id="ax" name="Assi">
|
||||||
|
<Components>
|
||||||
|
<Linear id="Axis_01" name="ASSE 1">
|
||||||
|
<DataItems>
|
||||||
|
<!--<DataItem category="xxxx" id="xxxx" type="xxxx" subType="xxxx" nativeUnits="xxxx" units="xxxx" name="xxxx" />-->
|
||||||
|
<!--<DataItem category="SAMPLE" id="Axis_01_AccelAct" type="ACCELERATION" nativeUnits="MILLIMETER/SECOND^2" units="MILLIMETER/SECOND^2" name="[mm/s^2] Accelerazione"/>-->
|
||||||
|
<!--<DataItem category="SAMPLE" id="Axis_01_Battery" type="VOLTAGE" nativeUnits="VOLT" units="VOLT" name="[V] Stato batteria"/>-->
|
||||||
|
<!--<DataItem category="SAMPLE" id="Temp_01_Value" type="TEMPERATURE" nativeUnits="CELSIUS" units="CELSIUS" name="[°] Sonda temperatura"/>-->
|
||||||
|
<DataItem category="SAMPLE" id="Axis_01_PosAct" type="POSITION" subType="ACTUAL" nativeUnits="MILLIMETER" units="MILLIMETER" name="[mm] Quota attuale"/>
|
||||||
|
<DataItem category="SAMPLE" id="Axis_01_PosTgt" type="POSITION" subType="TARGET" nativeUnits="MILLIMETER" units="MILLIMETER" name="[mm] Quota target"/>
|
||||||
|
<!-- <DataItem category="SAMPLE" id="Axis_01_Load" type="LOAD" nativeUnits="PERCENT" units="PERCENT" name="[%] Carico"/> -->
|
||||||
|
<DataItem category="SAMPLE" id="Axis_01_FeedAct" type="AXIS_FEEDRATE" subType="ACTUAL" units="MILLIMETER/SECOND" name="[mm/min] Feedrate"/>
|
||||||
|
<DataItem category="SAMPLE" id="Axis_01_FeedOver" type="AXIS_FEEDRATE" subType="OVERRIDE" nativeUnits="PERCENT" units="PERCENT" name="[%] Feed Override"/>
|
||||||
|
<DataItem category="SAMPLE" id="Axis_01_AccTime" type="ACCUMULATED_TIME" nativeUnits="HOUR" units="SECOND" name="[s] Tempo utilizzo"/>
|
||||||
|
<DataItem category="SAMPLE" id="Axis_01_DistDone" type="LENGTH" nativeUnits="COUNT" units="COUNT" name="[m] Distanza totale percorsa"/>
|
||||||
|
<DataItem category="SAMPLE" id="Axis_01_InvDDone" type="MESSAGE" nativeUnits="COUNT" units="COUNT" name="[#] Numero inversioni"/>
|
||||||
|
<DataItem category="EVENT" id="Axis_01_Descr" type="MESSAGE" name="Denominazione asse (dinamica)"/>
|
||||||
|
<DataItem category="EVENT" id="Axis_01_MainProc" type="MESSAGE" name="[#] Processo di appartenenza"/>
|
||||||
|
<DataItem category="EVENT" id="Axis_01_IsMast" type="MESSAGE" name="[1/0] Master/Slave">
|
||||||
|
<Constraints>
|
||||||
|
<Value>1</Value>
|
||||||
|
</Constraints>
|
||||||
|
</DataItem>
|
||||||
|
<DataItem category="EVENT" id="Axis_01_MastId" type="MESSAGE" name="[#] ID Asse master">
|
||||||
|
<Constraints>
|
||||||
|
<Value>1</Value>
|
||||||
|
</Constraints>
|
||||||
|
</DataItem>
|
||||||
|
<DataItem category="EVENT" id="Axis_01_Dir" type="DIRECTION" subType="LINEAR" name="[-/+] Direzione"/>
|
||||||
|
<DataItem category="CONDITION" id="Axis_01_AlarmCNC" type="SYSTEM" name="Allarmi CN" />
|
||||||
|
<DataItem category="CONDITION" id="Axis_01_AlarmPLC" type="LOGIC_PROGRAM" name="Allarmi PLC"/>
|
||||||
|
</DataItems>
|
||||||
|
</Linear>
|
||||||
|
<Linear id="Axis_02" name="ASSE 2">
|
||||||
|
<DataItems>
|
||||||
|
<!--<DataItem category="xxxx" id="xxxx" type="xxxx" subType="xxxx" nativeUnits="xxxx" units="xxxx" name="xxxx" />-->
|
||||||
|
<!--<DataItem category="SAMPLE" id="Axis_02_AccelAct" type="ACCELERATION" nativeUnits="MILLIMETER/SECOND^2" units="MILLIMETER/SECOND^2" name="[mm/s^2] Accelerazione"/>-->
|
||||||
|
<!--<DataItem category="SAMPLE" id="Axis_02_Battery" type="VOLTAGE" nativeUnits="VOLT" units="VOLT" name="[V] Stato batteria"/>-->
|
||||||
|
<!--<DataItem category="SAMPLE" id="Temp_02_Value" type="TEMPERATURE" nativeUnits="CELSIUS" units="CELSIUS" name="[°] Sonda temperatura"/>-->
|
||||||
|
<DataItem category="SAMPLE" id="Axis_02_PosAct" type="POSITION" subType="ACTUAL" nativeUnits="MILLIMETER" units="MILLIMETER" name="[mm] Quota attuale"/>
|
||||||
|
<DataItem category="SAMPLE" id="Axis_02_PosTgt" type="POSITION" subType="TARGET" nativeUnits="MILLIMETER" units="MILLIMETER" name="[mm] Quota target"/>
|
||||||
|
<!-- <DataItem category="SAMPLE" id="Axis_02_Load" type="LOAD" nativeUnits="PERCENT" units="PERCENT" name="[%] Carico"/> -->
|
||||||
|
<DataItem category="SAMPLE" id="Axis_02_FeedAct" type="AXIS_FEEDRATE" subType="ACTUAL" units="MILLIMETER/SECOND" name="[mm/min] Feedrate"/>
|
||||||
|
<DataItem category="SAMPLE" id="Axis_02_FeedOver" type="AXIS_FEEDRATE" subType="OVERRIDE" nativeUnits="PERCENT" units="PERCENT" name="[%] Feed Override"/>
|
||||||
|
<DataItem category="SAMPLE" id="Axis_02_AccTime" type="ACCUMULATED_TIME" nativeUnits="HOUR" units="SECOND" name="[s] Tempo utilizzo"/>
|
||||||
|
<DataItem category="SAMPLE" id="Axis_02_DistDone" type="LENGTH" nativeUnits="COUNT" units="COUNT" name="[m] Distanza totale percorsa"/>
|
||||||
|
<DataItem category="SAMPLE" id="Axis_02_InvDDone" type="MESSAGE" nativeUnits="COUNT" units="COUNT" name="[#] Numero inversioni"/>
|
||||||
|
<DataItem category="EVENT" id="Axis_02_Descr" type="MESSAGE" name="Denominazione asse (dinamica)"/>
|
||||||
|
<DataItem category="EVENT" id="Axis_02_MainProc" type="MESSAGE" name="[#] Processo di appartenenza"/>
|
||||||
|
<DataItem category="EVENT" id="Axis_02_IsMast" type="MESSAGE" name="[1/0] Master/Slave">
|
||||||
|
<Constraints>
|
||||||
|
<Value>1</Value>
|
||||||
|
</Constraints>
|
||||||
|
</DataItem>
|
||||||
|
<DataItem category="EVENT" id="Axis_02_MastId" type="MESSAGE" name="[#] ID Asse master">
|
||||||
|
<Constraints>
|
||||||
|
<Value>2</Value>
|
||||||
|
</Constraints>
|
||||||
|
</DataItem>
|
||||||
|
<DataItem category="EVENT" id="Axis_02_Dir" type="DIRECTION" subType="LINEAR" name="[-/+] Direzione"/>
|
||||||
|
<DataItem category="CONDITION" id="Axis_02_AlarmCNC" type="SYSTEM" name="Allarmi CN" />
|
||||||
|
<DataItem category="CONDITION" id="Axis_02_AlarmPLC" type="LOGIC_PROGRAM" name="Allarmi PLC"/>
|
||||||
|
</DataItems>
|
||||||
|
</Linear>
|
||||||
|
<Linear id="Axis_03" name="ASSE 3">
|
||||||
|
<DataItems>
|
||||||
|
<!--<DataItem category="xxxx" id="xxxx" type="xxxx" subType="xxxx" nativeUnits="xxxx" units="xxxx" name="xxxx" />-->
|
||||||
|
<!--<DataItem category="SAMPLE" id="Axis_03_AccelAct" type="ACCELERATION" nativeUnits="MILLIMETER/SECOND^2" units="MILLIMETER/SECOND^2" name="[mm/s^2] Accelerazione"/>-->
|
||||||
|
<!--<DataItem category="SAMPLE" id="Axis_03_Battery" type="VOLTAGE" nativeUnits="VOLT" units="VOLT" name="[V] Stato batteria"/>-->
|
||||||
|
<!--<DataItem category="SAMPLE" id="Temp_03_Value" type="TEMPERATURE" nativeUnits="CELSIUS" units="CELSIUS" name="[°] Sonda temperatura"/>-->
|
||||||
|
<DataItem category="SAMPLE" id="Axis_03_PosAct" type="POSITION" subType="ACTUAL" nativeUnits="MILLIMETER" units="MILLIMETER" name="[mm] Quota attuale"/>
|
||||||
|
<DataItem category="SAMPLE" id="Axis_03_PosTgt" type="POSITION" subType="TARGET" nativeUnits="MILLIMETER" units="MILLIMETER" name="[mm] Quota target"/>
|
||||||
|
<!-- <DataItem category="SAMPLE" id="Axis_03_Load" type="LOAD" nativeUnits="PERCENT" units="PERCENT" name="[%] Carico"/> -->
|
||||||
|
<DataItem category="SAMPLE" id="Axis_03_FeedAct" type="AXIS_FEEDRATE" subType="ACTUAL" units="MILLIMETER/SECOND" name="[mm/min] Feedrate"/>
|
||||||
|
<DataItem category="SAMPLE" id="Axis_03_FeedOver" type="AXIS_FEEDRATE" subType="OVERRIDE" nativeUnits="PERCENT" units="PERCENT" name="[%] Feed Override"/>
|
||||||
|
<DataItem category="SAMPLE" id="Axis_03_AccTime" type="ACCUMULATED_TIME" nativeUnits="HOUR" units="SECOND" name="[s] Tempo utilizzo"/>
|
||||||
|
<DataItem category="SAMPLE" id="Axis_03_DistDone" type="LENGTH" nativeUnits="COUNT" units="COUNT" name="[m] Distanza totale percorsa"/>
|
||||||
|
<DataItem category="SAMPLE" id="Axis_03_InvDDone" type="MESSAGE" nativeUnits="COUNT" units="COUNT" name="[#] Numero inversioni"/>
|
||||||
|
<DataItem category="EVENT" id="Axis_03_Descr" type="MESSAGE" name="Denominazione asse (dinamica)"/>
|
||||||
|
<DataItem category="EVENT" id="Axis_03_MainProc" type="MESSAGE" name="[#] Processo di appartenenza"/>
|
||||||
|
<DataItem category="EVENT" id="Axis_03_IsMast" type="MESSAGE" name="[1/0] Master/Slave">
|
||||||
|
<Constraints>
|
||||||
|
<Value>1</Value>
|
||||||
|
</Constraints>
|
||||||
|
</DataItem>
|
||||||
|
<DataItem category="EVENT" id="Axis_03_MastId" type="MESSAGE" name="[#] ID Asse master">
|
||||||
|
<Constraints>
|
||||||
|
<Value>3</Value>
|
||||||
|
</Constraints>
|
||||||
|
</DataItem>
|
||||||
|
<DataItem category="EVENT" id="Axis_03_Dir" type="DIRECTION" subType="LINEAR" name="[-/+] Direzione"/>
|
||||||
|
<DataItem category="CONDITION" id="Axis_03_AlarmCNC" type="SYSTEM" name="Allarmi CN" />
|
||||||
|
<DataItem category="CONDITION" id="Axis_03_AlarmPLC" type="LOGIC_PROGRAM" name="Allarmi PLC"/>
|
||||||
|
</DataItems>
|
||||||
|
</Linear>
|
||||||
|
<Rotary id="Axis_04" name="ASSE 4">
|
||||||
|
<DataItems>
|
||||||
|
<!--<DataItem category="xxxx" id="xxxx" type="xxxx" subType="xxxx" nativeUnits="xxxx" units="xxxx" name="xxxx" />-->
|
||||||
|
<!--<DataItem category="SAMPLE" id="Axis_04_AccelAct" type="ACCELERATION" nativeUnits="MILLIMETER/SECOND^2" units="MILLIMETER/SECOND^2" name="[mm/s^2] Accelerazione"/>-->
|
||||||
|
<!--<DataItem category="SAMPLE" id="Axis_04_Battery" type="VOLTAGE" nativeUnits="VOLT" units="VOLT" name="[V] Stato batteria"/>-->
|
||||||
|
<!--<DataItem category="SAMPLE" id="Temp_04_Value" type="TEMPERATURE" nativeUnits="CELSIUS" units="CELSIUS" name="[°] Sonda temperatura"/>-->
|
||||||
|
<DataItem category="SAMPLE" id="Axis_04_PosAct" type="ANGLE" subType="ACTUAL" nativeUnits="DEGREE" units="DEGREE" name="[°] Quota attuale"/>
|
||||||
|
<DataItem category="SAMPLE" id="Axis_04_PosTgt" type="ANGLE" subType="TARGET" nativeUnits="DEGREE" units="DEGREE" name="[°] Quota target"/>
|
||||||
|
<!-- <DataItem category="SAMPLE" id="Axis_04_Load" type="LOAD" nativeUnits="PERCENT" units="PERCENT" name="[%] Carico"/> -->
|
||||||
|
<DataItem category="SAMPLE" id="Axis_04_FeedAct" type="ROTARY_VELOCITY" subType="ACTUAL" nativeUnits="REVOLUTION/MINUTE" units="REVOLUTION/MINUTE" name="[°/min] Feedrate"/>
|
||||||
|
<DataItem category="SAMPLE" id="Axis_04_FeedOver" type="ROTARY_VELOCITY" subType="OVERRIDE" nativeUnits="PERCENT" units="PERCENT" name="[%] Feed Override"/>
|
||||||
|
<DataItem category="SAMPLE" id="Axis_04_AccTime" type="ACCUMULATED_TIME" nativeUnits="HOUR" units="SECOND" name="[s] Tempo utilizzo"/>
|
||||||
|
<DataItem category="SAMPLE" id="Axis_04_DistDone" type="LENGTH" nativeUnits="COUNT" units="COUNT" name="[m] Distanza totale percorsa"/>
|
||||||
|
<DataItem category="SAMPLE" id="Axis_04_InvDDone" type="MESSAGE" nativeUnits="COUNT" units="COUNT" name="[#] Numero inversioni"/>
|
||||||
|
<DataItem category="EVENT" id="Axis_04_Descr" type="MESSAGE" name="Denominazione asse (dinamica)"/>
|
||||||
|
<DataItem category="EVENT" id="Axis_04_MainProc" type="MESSAGE" name="[#] Processo di appartenenza"/>
|
||||||
|
<DataItem category="EVENT" id="Axis_04_IsMast" type="MESSAGE" name="[0/1] Slave/Master">
|
||||||
|
<Constraints>
|
||||||
|
<Value>1</Value>
|
||||||
|
</Constraints>
|
||||||
|
</DataItem>
|
||||||
|
<DataItem category="EVENT" id="Axis_04_MastId" type="MESSAGE" name="[#] ID Asse master">
|
||||||
|
<Constraints>
|
||||||
|
<Value>4</Value>
|
||||||
|
</Constraints>
|
||||||
|
</DataItem>
|
||||||
|
<DataItem category="EVENT" id="Axis_04_Dir" type="DIRECTION" subType="LINEAR" name="[-/+] Direzione"/>
|
||||||
|
<DataItem category="CONDITION" id="Axis_04_AlarmCNC" type="SYSTEM" name="Allarmi CN" />
|
||||||
|
<DataItem category="CONDITION" id="Axis_04_AlarmPLC" type="LOGIC_PROGRAM" name="Allarmi PLC"/>
|
||||||
|
</DataItems>
|
||||||
|
</Rotary>
|
||||||
|
<Rotary id="Axis_05" name="ASSE 5">
|
||||||
|
<DataItems>
|
||||||
|
<!--<DataItem category="SAMPLE" id="Axis_05_AccelAct" type="ANGULAR_ACCELERATION" nativeUnits="DEGREE/SECOND^2" units="DEGREE/SECOND^2" name="[°/s^2] Accelerazione"/>-->
|
||||||
|
<!--<DataItem category="SAMPLE" id="Axis_05_Battery" type="VOLTAGE" nativeUnits="VOLT" units="VOLT" name="[V] Stato batteria"/>-->
|
||||||
|
<!--<DataItem category="SAMPLE" id="Temp_05_Value" type="TEMPERATURE" nativeUnits="CELSIUS" units="CELSIUS" name="[°] Sonda temperatura"/>-->
|
||||||
|
<DataItem category="SAMPLE" id="Axis_05_PosAct" type="ANGLE" subType="ACTUAL" nativeUnits="DEGREE" units="DEGREE" name="[°] Quota attuale"/>
|
||||||
|
<DataItem category="SAMPLE" id="Axis_05_PosTgt" type="ANGLE" subType="TARGET" nativeUnits="DEGREE" units="DEGREE" name="[°] Quota target"/>
|
||||||
|
<!-- <DataItem category="SAMPLE" id="Axis_05_Load" type="LOAD" nativeUnits="PERCENT" units="PERCENT" name="[%] Carico"/> -->
|
||||||
|
<DataItem category="SAMPLE" id="Axis_05_FeedAct" type="ROTARY_VELOCITY" subType="ACTUAL" nativeUnits="REVOLUTION/MINUTE" units="REVOLUTION/MINUTE" name="[°/min] Feedrate"/>
|
||||||
|
<DataItem category="SAMPLE" id="Axis_05_FeedOver" type="ROTARY_VELOCITY" subType="OVERRIDE" nativeUnits="PERCENT" units="PERCENT" name="[%] Feed Override"/>
|
||||||
|
<DataItem category="SAMPLE" id="Axis_05_AccTime" type="ACCUMULATED_TIME" nativeUnits="HOUR" units="SECOND" name="[s] Tempo utilizzo"/>
|
||||||
|
<DataItem category="SAMPLE" id="Axis_05_DistDone" type="LENGTH" nativeUnits="COUNT" units="COUNT" name="[rev] Rivoluzioni"/>
|
||||||
|
<DataItem category="SAMPLE" id="Axis_05_InvDDone" type="MESSAGE" nativeUnits="COUNT" units="COUNT" name="[#] Numero inversioni"/>
|
||||||
|
<DataItem category="EVENT" id="Axis_05_Descr" type="MESSAGE" name="Denominazione asse (dinamica)"/>
|
||||||
|
<DataItem category="EVENT" id="Axis_05_MainProc" type="MESSAGE" name="[#] Processo di appartenenza"/>
|
||||||
|
<DataItem category="EVENT" id="Axis_05_IsMast" type="MESSAGE" name="[1/0] Master/Slave">
|
||||||
|
<Constraints>
|
||||||
|
<Value>1</Value>
|
||||||
|
</Constraints>
|
||||||
|
</DataItem>
|
||||||
|
<DataItem category="EVENT" id="Axis_05_MastId" type="MESSAGE" name="[#] ID Asse master">
|
||||||
|
<Constraints>
|
||||||
|
<Value>5</Value>
|
||||||
|
</Constraints>
|
||||||
|
</DataItem>
|
||||||
|
<DataItem category="EVENT" id="Axis_05_Dir" type="DIRECTION" subType="ROTARY" name="[-/+] Direzione"/>
|
||||||
|
<DataItem category="CONDITION" id="Axis_05_AlarmCNC" type="SYSTEM" name="Allarmi CN" />
|
||||||
|
<DataItem category="CONDITION" id="Axis_05_AlarmPLC" type="LOGIC_PROGRAM" name="Allarmi PLC"/>
|
||||||
|
</DataItems>
|
||||||
|
</Rotary>
|
||||||
|
<Linear id="Axis_06" name="ASSE 6">
|
||||||
|
<DataItems>
|
||||||
|
<!--<DataItem category="xxxx" id="xxxx" type="xxxx" subType="xxxx" nativeUnits="xxxx" units="xxxx" name="xxxx" />-->
|
||||||
|
<!--<DataItem category="SAMPLE" id="Axis_06_AccelAct" type="ACCELERATION" nativeUnits="MILLIMETER/SECOND^2" units="MILLIMETER/SECOND^2" name="[mm/s^2] Accelerazione"/>-->
|
||||||
|
<!--<DataItem category="SAMPLE" id="Axis_06_Battery" type="VOLTAGE" nativeUnits="VOLT" units="VOLT" name="[V] Stato batteria"/>-->
|
||||||
|
<!--<DataItem category="SAMPLE" id="Temp_06_Value" type="TEMPERATURE" nativeUnits="CELSIUS" units="CELSIUS" name="[°] Sonda temperatura"/>-->
|
||||||
|
<DataItem category="SAMPLE" id="Axis_06_PosAct" type="POSITION" subType="ACTUAL" nativeUnits="MILLIMETER" units="MILLIMETER" name="[mm] Quota attuale"/>
|
||||||
|
<DataItem category="SAMPLE" id="Axis_06_PosTgt" type="POSITION" subType="TARGET" nativeUnits="MILLIMETER" units="MILLIMETER" name="[mm] Quota target"/>
|
||||||
|
<!-- <DataItem category="SAMPLE" id="Axis_06_Load" type="LOAD" nativeUnits="PERCENT" units="PERCENT" name="[%] Carico"/> -->
|
||||||
|
<DataItem category="SAMPLE" id="Axis_06_FeedAct" type="AXIS_FEEDRATE" subType="ACTUAL" units="MILLIMETER/SECOND" name="[mm/min] Feedrate"/>
|
||||||
|
<DataItem category="SAMPLE" id="Axis_06_FeedOver" type="AXIS_FEEDRATE" subType="OVERRIDE" nativeUnits="PERCENT" units="PERCENT" name="[%] Feed Override"/>
|
||||||
|
<DataItem category="SAMPLE" id="Axis_06_AccTime" type="ACCUMULATED_TIME" nativeUnits="HOUR" units="SECOND" name="[s] Tempo utilizzo"/>
|
||||||
|
<DataItem category="SAMPLE" id="Axis_06_DistDone" type="LENGTH" nativeUnits="COUNT" units="COUNT" name="[m] Distanza totale percorsa"/>
|
||||||
|
<DataItem category="SAMPLE" id="Axis_06_InvDDone" type="MESSAGE" nativeUnits="COUNT" units="COUNT" name="[#] Numero inversioni"/>
|
||||||
|
<DataItem category="EVENT" id="Axis_06_Descr" type="MESSAGE" name="Denominazione asse (dinamica)"/>
|
||||||
|
<DataItem category="EVENT" id="Axis_06_MainProc" type="MESSAGE" name="[#] Processo di appartenenza"/>
|
||||||
|
<DataItem category="EVENT" id="Axis_06_IsMast" type="MESSAGE" name="[1/0] Master/Slave">
|
||||||
|
<Constraints>
|
||||||
|
<Value>1</Value>
|
||||||
|
</Constraints>
|
||||||
|
</DataItem>
|
||||||
|
<DataItem category="EVENT" id="Axis_06_MastId" type="MESSAGE" name="[#] ID Asse master">
|
||||||
|
<Constraints>
|
||||||
|
<Value>6</Value>
|
||||||
|
</Constraints>
|
||||||
|
</DataItem>
|
||||||
|
<DataItem category="EVENT" id="Axis_06_Dir" type="DIRECTION" subType="LINEAR" name="[-/+] Direzione"/>
|
||||||
|
<DataItem category="CONDITION" id="Axis_06_AlarmCNC" type="SYSTEM" name="Allarmi CN" />
|
||||||
|
<DataItem category="CONDITION" id="Axis_06_AlarmPLC" type="LOGIC_PROGRAM" name="Allarmi PLC"/>
|
||||||
|
</DataItems>
|
||||||
|
</Linear>
|
||||||
|
<Linear id="Axis_07" name="ASSE 7">
|
||||||
|
<DataItems>
|
||||||
|
<!--<DataItem category="xxxx" id="xxxx" type="xxxx" subType="xxxx" nativeUnits="xxxx" units="xxxx" name="xxxx" />-->
|
||||||
|
<!--<DataItem category="SAMPLE" id="Axis_07_AccelAct" type="ACCELERATION" nativeUnits="MILLIMETER/SECOND^2" units="MILLIMETER/SECOND^2" name="[mm/s^2] Accelerazione"/>-->
|
||||||
|
<!--<DataItem category="SAMPLE" id="Axis_07_Battery" type="VOLTAGE" nativeUnits="VOLT" units="VOLT" name="[V] Stato batteria"/>-->
|
||||||
|
<!--<DataItem category="SAMPLE" id="Temp_07_Value" type="TEMPERATURE" nativeUnits="CELSIUS" units="CELSIUS" name="[°] Sonda temperatura"/>-->
|
||||||
|
<DataItem category="SAMPLE" id="Axis_07_PosAct" type="POSITION" subType="ACTUAL" nativeUnits="MILLIMETER" units="MILLIMETER" name="[mm] Quota attuale"/>
|
||||||
|
<DataItem category="SAMPLE" id="Axis_07_PosTgt" type="POSITION" subType="TARGET" nativeUnits="MILLIMETER" units="MILLIMETER" name="[mm] Quota target"/>
|
||||||
|
<!-- <DataItem category="SAMPLE" id="Axis_07_Load" type="LOAD" nativeUnits="PERCENT" units="PERCENT" name="[%] Carico"/> -->
|
||||||
|
<DataItem category="SAMPLE" id="Axis_07_FeedAct" type="AXIS_FEEDRATE" subType="ACTUAL" units="MILLIMETER/SECOND" name="[mm/min] Feedrate"/>
|
||||||
|
<DataItem category="SAMPLE" id="Axis_07_FeedOver" type="AXIS_FEEDRATE" subType="OVERRIDE" nativeUnits="PERCENT" units="PERCENT" name="[%] Feed Override"/>
|
||||||
|
<DataItem category="SAMPLE" id="Axis_07_AccTime" type="ACCUMULATED_TIME" nativeUnits="HOUR" units="SECOND" name="[s] Tempo utilizzo"/>
|
||||||
|
<DataItem category="SAMPLE" id="Axis_07_DistDone" type="LENGTH" nativeUnits="COUNT" units="COUNT" name="[m] Distanza totale percorsa"/>
|
||||||
|
<DataItem category="SAMPLE" id="Axis_07_InvDDone" type="MESSAGE" nativeUnits="COUNT" units="COUNT" name="[#] Numero inversioni"/>
|
||||||
|
<DataItem category="EVENT" id="Axis_07_Descr" type="MESSAGE" name="Denominazione asse (dinamica)"/>
|
||||||
|
<DataItem category="EVENT" id="Axis_07_MainProc" type="MESSAGE" name="[#] Processo di appartenenza"/>
|
||||||
|
<DataItem category="EVENT" id="Axis_07_IsMast" type="MESSAGE" name="[1/0] Master/Slave">
|
||||||
|
<Constraints>
|
||||||
|
<Value>1</Value>
|
||||||
|
</Constraints>
|
||||||
|
</DataItem>
|
||||||
|
<DataItem category="EVENT" id="Axis_07_MastId" type="MESSAGE" name="[#] ID Asse master">
|
||||||
|
<Constraints>
|
||||||
|
<Value>7</Value>
|
||||||
|
</Constraints>
|
||||||
|
</DataItem>
|
||||||
|
<DataItem category="EVENT" id="Axis_07_Dir" type="DIRECTION" subType="LINEAR" name="[-/+] Direzione"/>
|
||||||
|
<DataItem category="CONDITION" id="Axis_07_AlarmCNC" type="SYSTEM" name="Allarmi CN" />
|
||||||
|
<DataItem category="CONDITION" id="Axis_07_AlarmPLC" type="LOGIC_PROGRAM" name="Allarmi PLC"/>
|
||||||
|
</DataItems>
|
||||||
|
</Linear>
|
||||||
|
<Linear id="Axis_08" name="ASSE 8">
|
||||||
|
<DataItems>
|
||||||
|
<!--<DataItem category="xxxx" id="xxxx" type="xxxx" subType="xxxx" nativeUnits="xxxx" units="xxxx" name="xxxx" />-->
|
||||||
|
<!--<DataItem category="SAMPLE" id="Axis_08_AccelAct" type="ACCELERATION" nativeUnits="MILLIMETER/SECOND^2" units="MILLIMETER/SECOND^2" name="[mm/s^2] Accelerazione"/>-->
|
||||||
|
<!--<DataItem category="SAMPLE" id="Axis_08_Battery" type="VOLTAGE" nativeUnits="VOLT" units="VOLT" name="[V] Stato batteria"/>-->
|
||||||
|
<!--<DataItem category="SAMPLE" id="Temp_08_Value" type="TEMPERATURE" nativeUnits="CELSIUS" units="CELSIUS" name="[°] Sonda temperatura"/>-->
|
||||||
|
<DataItem category="SAMPLE" id="Axis_08_PosAct" type="POSITION" subType="ACTUAL" nativeUnits="MILLIMETER" units="MILLIMETER" name="[mm] Quota attuale"/>
|
||||||
|
<DataItem category="SAMPLE" id="Axis_08_PosTgt" type="POSITION" subType="TARGET" nativeUnits="MILLIMETER" units="MILLIMETER" name="[mm] Quota target"/>
|
||||||
|
<!-- <DataItem category="SAMPLE" id="Axis_08_Load" type="LOAD" nativeUnits="PERCENT" units="PERCENT" name="[%] Carico"/> -->
|
||||||
|
<DataItem category="SAMPLE" id="Axis_08_FeedAct" type="AXIS_FEEDRATE" subType="ACTUAL" units="MILLIMETER/SECOND" name="[mm/min] Feedrate"/>
|
||||||
|
<DataItem category="SAMPLE" id="Axis_08_FeedOver" type="AXIS_FEEDRATE" subType="OVERRIDE" nativeUnits="PERCENT" units="PERCENT" name="[%] Feed Override"/>
|
||||||
|
<DataItem category="SAMPLE" id="Axis_08_AccTime" type="ACCUMULATED_TIME" nativeUnits="HOUR" units="SECOND" name="[s] Tempo utilizzo"/>
|
||||||
|
<DataItem category="SAMPLE" id="Axis_08_DistDone" type="LENGTH" nativeUnits="COUNT" units="COUNT" name="[m] Distanza totale percorsa"/>
|
||||||
|
<DataItem category="SAMPLE" id="Axis_08_InvDDone" type="MESSAGE" nativeUnits="COUNT" units="COUNT" name="[#] Numero inversioni"/>
|
||||||
|
<DataItem category="EVENT" id="Axis_08_Descr" type="MESSAGE" name="Denominazione asse (dinamica)"/>
|
||||||
|
<DataItem category="EVENT" id="Axis_08_MainProc" type="MESSAGE" name="[#] Processo di appartenenza"/>
|
||||||
|
<DataItem category="EVENT" id="Axis_08_IsMast" type="MESSAGE" name="[1/0] Master/Slave">
|
||||||
|
<Constraints>
|
||||||
|
<Value>1</Value>
|
||||||
|
</Constraints>
|
||||||
|
</DataItem>
|
||||||
|
<DataItem category="EVENT" id="Axis_08_MastId" type="MESSAGE" name="[#] ID Asse master">
|
||||||
|
<Constraints>
|
||||||
|
<Value>8</Value>
|
||||||
|
</Constraints>
|
||||||
|
</DataItem>
|
||||||
|
<DataItem category="EVENT" id="Axis_08_Dir" type="DIRECTION" subType="LINEAR" name="[-/+] Direzione"/>
|
||||||
|
<DataItem category="CONDITION" id="Axis_08_AlarmCNC" type="SYSTEM" name="Allarmi CN" />
|
||||||
|
<DataItem category="CONDITION" id="Axis_08_AlarmPLC" type="LOGIC_PROGRAM" name="Allarmi PLC"/>
|
||||||
|
</DataItems>
|
||||||
|
</Linear>
|
||||||
|
<Rotary id="Axis_09" name="ASSE 9">
|
||||||
|
<DataItems>
|
||||||
|
<!--<DataItem category="xxxx" id="xxxx" type="xxxx" subType="xxxx" nativeUnits="xxxx" units="xxxx" name="xxxx" />-->
|
||||||
|
<!--<DataItem category="SAMPLE" id="Axis_09_AccelAct" type="ACCELERATION" nativeUnits="MILLIMETER/SECOND^2" units="MILLIMETER/SECOND^2" name="[mm/s^2] Accelerazione"/>-->
|
||||||
|
<!--<DataItem category="SAMPLE" id="Axis_09_Battery" type="VOLTAGE" nativeUnits="VOLT" units="VOLT" name="[V] Stato batteria"/>-->
|
||||||
|
<!--<DataItem category="SAMPLE" id="Temp_09_Value" type="TEMPERATURE" nativeUnits="CELSIUS" units="CELSIUS" name="[°] Sonda temperatura"/>-->
|
||||||
|
<DataItem category="SAMPLE" id="Axis_09_PosAct" type="ANGLE" subType="ACTUAL" nativeUnits="DEGREE" units="DEGREE" name="[°] Quota attuale"/>
|
||||||
|
<DataItem category="SAMPLE" id="Axis_09_PosTgt" type="ANGLE" subType="TARGET" nativeUnits="DEGREE" units="DEGREE" name="[°] Quota target"/>
|
||||||
|
<!-- <DataItem category="SAMPLE" id="Axis_09_Load" type="LOAD" nativeUnits="PERCENT" units="PERCENT" name="[%] Carico"/> -->
|
||||||
|
<DataItem category="SAMPLE" id="Axis_09_FeedAct" type="ROTARY_VELOCITY" subType="ACTUAL" nativeUnits="REVOLUTION/MINUTE" units="REVOLUTION/MINUTE" name="[°/min] Feedrate"/>
|
||||||
|
<DataItem category="SAMPLE" id="Axis_09_FeedOver" type="ROTARY_VELOCITY" subType="OVERRIDE" nativeUnits="PERCENT" units="PERCENT" name="[%] Feed Override"/>
|
||||||
|
<DataItem category="SAMPLE" id="Axis_09_AccTime" type="ACCUMULATED_TIME" nativeUnits="HOUR" units="SECOND" name="[s] Tempo utilizzo"/>
|
||||||
|
<DataItem category="SAMPLE" id="Axis_09_DistDone" type="LENGTH" nativeUnits="COUNT" units="COUNT" name="[m] Distanza totale percorsa"/>
|
||||||
|
<DataItem category="SAMPLE" id="Axis_09_InvDDone" type="MESSAGE" nativeUnits="COUNT" units="COUNT" name="[#] Numero inversioni"/>
|
||||||
|
<DataItem category="EVENT" id="Axis_09_Descr" type="MESSAGE" name="Denominazione asse (dinamica)"/>
|
||||||
|
<DataItem category="EVENT" id="Axis_09_MainProc" type="MESSAGE" name="[#] Processo di appartenenza"/>
|
||||||
|
<DataItem category="EVENT" id="Axis_09_IsMast" type="MESSAGE" name="[0/1] Slave/Master">
|
||||||
|
<Constraints>
|
||||||
|
<Value>1</Value>
|
||||||
|
</Constraints>
|
||||||
|
</DataItem>
|
||||||
|
<DataItem category="EVENT" id="Axis_09_MastId" type="MESSAGE" name="[#] ID Asse master">
|
||||||
|
<Constraints>
|
||||||
|
<Value>9</Value>
|
||||||
|
</Constraints>
|
||||||
|
</DataItem>
|
||||||
|
<DataItem category="EVENT" id="Axis_09_Dir" type="DIRECTION" subType="LINEAR" name="[-/+] Direzione"/>
|
||||||
|
<DataItem category="CONDITION" id="Axis_09_AlarmCNC" type="SYSTEM" name="Allarmi CN" />
|
||||||
|
<DataItem category="CONDITION" id="Axis_09_AlarmPLC" type="LOGIC_PROGRAM" name="Allarmi PLC"/>
|
||||||
|
</DataItems>
|
||||||
|
</Rotary>
|
||||||
|
<Rotary id="Axis_10" name="ASSE 10">
|
||||||
|
<DataItems>
|
||||||
|
<!--<DataItem category="SAMPLE" id="Axis_10_AccelAct" type="ANGULAR_ACCELERATION" nativeUnits="DEGREE/SECOND^2" units="DEGREE/SECOND^2" name="[°/s^2] Accelerazione"/>-->
|
||||||
|
<!--<DataItem category="SAMPLE" id="Axis_10_Battery" type="VOLTAGE" nativeUnits="VOLT" units="VOLT" name="[V] Stato batteria"/>-->
|
||||||
|
<!--<DataItem category="SAMPLE" id="Temp_10_Value" type="TEMPERATURE" nativeUnits="CELSIUS" units="CELSIUS" name="[°] Sonda temperatura"/>-->
|
||||||
|
<DataItem category="SAMPLE" id="Axis_10_PosAct" type="ANGLE" subType="ACTUAL" nativeUnits="DEGREE" units="DEGREE" name="[°] Quota attuale"/>
|
||||||
|
<DataItem category="SAMPLE" id="Axis_10_PosTgt" type="ANGLE" subType="TARGET" nativeUnits="DEGREE" units="DEGREE" name="[°] Quota target"/>
|
||||||
|
<!-- <DataItem category="SAMPLE" id="Axis_10_Load" type="LOAD" nativeUnits="PERCENT" units="PERCENT" name="[%] Carico"/> -->
|
||||||
|
<DataItem category="SAMPLE" id="Axis_10_FeedAct" type="ROTARY_VELOCITY" subType="ACTUAL" nativeUnits="REVOLUTION/MINUTE" units="REVOLUTION/MINUTE" name="[°/min] Feedrate"/>
|
||||||
|
<DataItem category="SAMPLE" id="Axis_10_FeedOver" type="ROTARY_VELOCITY" subType="OVERRIDE" nativeUnits="PERCENT" units="PERCENT" name="[%] Feed Override"/>
|
||||||
|
<DataItem category="SAMPLE" id="Axis_10_AccTime" type="ACCUMULATED_TIME" nativeUnits="HOUR" units="SECOND" name="[s] Tempo utilizzo"/>
|
||||||
|
<DataItem category="SAMPLE" id="Axis_10_DistDone" type="LENGTH" nativeUnits="COUNT" units="COUNT" name="[rev] Rivoluzioni"/>
|
||||||
|
<DataItem category="SAMPLE" id="Axis_10_InvDDone" type="MESSAGE" nativeUnits="COUNT" units="COUNT" name="[#] Numero inversioni"/>
|
||||||
|
<DataItem category="EVENT" id="Axis_10_Descr" type="MESSAGE" name="Denominazione asse (dinamica)"/>
|
||||||
|
<DataItem category="EVENT" id="Axis_10_MainProc" type="MESSAGE" name="[#] Processo di appartenenza"/>
|
||||||
|
<DataItem category="EVENT" id="Axis_10_IsMast" type="MESSAGE" name="[1/0] Master/Slave">
|
||||||
|
<Constraints>
|
||||||
|
<Value>1</Value>
|
||||||
|
</Constraints>
|
||||||
|
</DataItem>
|
||||||
|
<DataItem category="EVENT" id="Axis_10_MastId" type="MESSAGE" name="[#] ID Asse master">
|
||||||
|
<Constraints>
|
||||||
|
<Value>10</Value>
|
||||||
|
</Constraints>
|
||||||
|
</DataItem>
|
||||||
|
<DataItem category="EVENT" id="Axis_10_Dir" type="DIRECTION" subType="ROTARY" name="[-/+] Direzione"/>
|
||||||
|
<DataItem category="CONDITION" id="Axis_10_AlarmCNC" type="SYSTEM" name="Allarmi CN" />
|
||||||
|
<DataItem category="CONDITION" id="Axis_10_AlarmPLC" type="LOGIC_PROGRAM" name="Allarmi PLC"/>
|
||||||
|
</DataItems>
|
||||||
|
</Rotary>
|
||||||
|
<Rotary id="Axis_11" name="ASSE 11">
|
||||||
|
<DataItems>
|
||||||
|
<!--<DataItem category="SAMPLE" id="Axis_11_AccelAct" type="ANGULAR_ACCELERATION" nativeUnits="DEGREE/SECOND^2" units="DEGREE/SECOND^2" name="[°/s^2] Accelerazione"/>-->
|
||||||
|
<!--<DataItem category="SAMPLE" id="Axis_11_Battery" type="VOLTAGE" nativeUnits="VOLT" units="VOLT" name="[V] Stato batteria"/>-->
|
||||||
|
<!--<DataItem category="SAMPLE" id="Temp_11_Value" type="TEMPERATURE" nativeUnits="CELSIUS" units="CELSIUS" name="[°] Sonda temperatura"/>-->
|
||||||
|
<DataItem category="SAMPLE" id="Axis_11_PosAct" type="ANGLE" subType="ACTUAL" nativeUnits="DEGREE" units="DEGREE" name="[°] Quota attuale"/>
|
||||||
|
<DataItem category="SAMPLE" id="Axis_11_PosTgt" type="ANGLE" subType="TARGET" nativeUnits="DEGREE" units="DEGREE" name="[°] Quota target"/>
|
||||||
|
<!-- <DataItem category="SAMPLE" id="Axis_11_Load" type="LOAD" nativeUnits="PERCENT" units="PERCENT" name="[%] Carico"/> -->
|
||||||
|
<DataItem category="SAMPLE" id="Axis_11_FeedAct" type="ROTARY_VELOCITY" subType="ACTUAL" nativeUnits="REVOLUTION/MINUTE" units="REVOLUTION/MINUTE" name="[°/min] Feedrate"/>
|
||||||
|
<DataItem category="SAMPLE" id="Axis_11_FeedOver" type="ROTARY_VELOCITY" subType="OVERRIDE" nativeUnits="PERCENT" units="PERCENT" name="[%] Feed Override"/>
|
||||||
|
<DataItem category="SAMPLE" id="Axis_11_AccTime" type="ACCUMULATED_TIME" nativeUnits="HOUR" units="SECOND" name="[s] Tempo utilizzo"/>
|
||||||
|
<DataItem category="SAMPLE" id="Axis_11_DistDone" type="LENGTH" nativeUnits="COUNT" units="COUNT" name="[rev] Rivoluzioni"/>
|
||||||
|
<DataItem category="SAMPLE" id="Axis_11_InvDDone" type="MESSAGE" nativeUnits="COUNT" units="COUNT" name="[#] Numero inversioni"/>
|
||||||
|
<DataItem category="EVENT" id="Axis_11_Descr" type="MESSAGE" nname="Denominazione asse (dinamica)"/>
|
||||||
|
<DataItem category="EVENT" id="Axis_11_MainProc" type="MESSAGE" name="[#] Processo di appartenenza"/>
|
||||||
|
<DataItem category="EVENT" id="Axis_11_IsMast" type="MESSAGE" name="[1/0] Master/Slave">
|
||||||
|
<Constraints>
|
||||||
|
<Value>1</Value>
|
||||||
|
</Constraints>
|
||||||
|
</DataItem>
|
||||||
|
<DataItem category="EVENT" id="Axis_11_MastId" type="MESSAGE" name="[#] ID Asse master">
|
||||||
|
<Constraints>
|
||||||
|
<Value>20</Value>
|
||||||
|
</Constraints>
|
||||||
|
</DataItem>
|
||||||
|
<DataItem category="EVENT" id="Axis_11_Dir" type="DIRECTION" subType="ROTARY" name="[-/+] Direzione"/>
|
||||||
|
<DataItem category="CONDITION" id="Axis_11_AlarmCNC" type="SYSTEM" name="Allarmi CN" />
|
||||||
|
<DataItem category="CONDITION" id="Axis_11_AlarmPLC" type="LOGIC_PROGRAM" name="Allarmi PLC"/>
|
||||||
|
</DataItems>
|
||||||
|
</Rotary>
|
||||||
|
</Components>
|
||||||
|
</Axes>
|
||||||
|
<Controller id="cn1" name="Controller">
|
||||||
|
<DataItems>
|
||||||
|
<!--<DataItem category="xxxx" id="xxxx" type="xxxx" subType="xxxx" nativeUnits="xxxx" units="xxxx" name="xxxx" />-->
|
||||||
|
<DataItem category="EVENT" id="MESSAGE" type="MESSAGE" name="Segnalazioni"/>
|
||||||
|
<DataItem category="EVENT" id="E_STOP" type="EMERGENCY_STOP" name="Stato emergenze"/>
|
||||||
|
</DataItems>
|
||||||
|
<Components>
|
||||||
|
<Path id="Path_01" name="Processo 01">
|
||||||
|
<DataItems>
|
||||||
|
<!--<DataItem category="xxxx" id="xxxx" type="xxxx" subType="xxxx" nativeUnits="xxxx" units="xxxx" name="xxxx" />-->
|
||||||
|
<DataItem category="EVENT" id="Path_01_Type" type="MESSAGE" name="Lavoro/Asservimento"/>
|
||||||
|
<DataItem category="EVENT" id="Path_01_ActiveAxes" type="ACTIVE_AXES" name="Assi attivi"/>
|
||||||
|
<DataItem category="EVENT" id="Path_01_CodG_Act" type="MESSAGE" name="Codici G"/>
|
||||||
|
<DataItem category="EVENT" id="Path_01_SubMode" type="MESSAGE" name="Modo secondario"/>
|
||||||
|
<DataItem category="EVENT" id="Path_01_PartId" type="PART_ID" name="Pezzo corrente"/>
|
||||||
|
<DataItem category="EVENT" id="Path_01_PZ_TOT" type="PART_COUNT" name="Pezzi prodotti"/>
|
||||||
|
<DataItem category="EVENT" id="Path_01_Cod_M" type="MESSAGE" name="Codici M"/>
|
||||||
|
<DataItem category="EVENT" id="Path_01_Cod_S" type="MESSAGE" name="Codici S"/>
|
||||||
|
<DataItem category="EVENT" id="Path_01_Cod_T" type="MESSAGE" name="Codici T"/>
|
||||||
|
<DataItem category="EVENT" id="Path_01_RUN_MODE" type="CONTROLLER_MODE" name="Modo operativo"/>
|
||||||
|
<DataItem category="EVENT" id="Path_01_EXE_MODE" type="EXECUTION" name="Stato esecuzione"/>
|
||||||
|
<DataItem category="EVENT" id="Path_01_CurrProg" type="PROGRAM" name="Programma corrente"/>
|
||||||
|
<DataItem category="EVENT" id="Path_01_CurrProg_RowNum" type="LINE" name="Riga attuale"/>
|
||||||
|
<DataItem category="SAMPLE" id="Path_01_FeedRate" type="PATH_FEEDRATE" subType="ACTUAL" nativeUnits="MILLIMETER/SECOND" units="MILLIMETER/SECOND" name="[mm/min] Feedrate"/>
|
||||||
|
<DataItem category="SAMPLE" id="Path_01_FeedOverr" type="PATH_FEEDRATE" subType="OVERRIDE" nativeUnits="PERCENT" units="PERCENT" name="[%] WORK Override"/>
|
||||||
|
<DataItem category="SAMPLE" id="Path_01_RapidOverr" type="PATH_FEEDRATE" subType="OVERRIDE" nativeUnits="PERCENT" units="PERCENT" name="[%] RAPID Override"/>
|
||||||
|
<!-- <DataItem category="SAMPLE" id="Path_01_PosActX" type="PATH_POSITION" subType="ACTUAL" nativeUnits="MILLIMETER" units="MILLIMETER" name="[mm] UNITA' OPERATRICE: Posizione X"/> -->
|
||||||
|
<!-- <DataItem category="SAMPLE" id="Path_01_PosActY" type="PATH_POSITION" subType="ACTUAL" nativeUnits="MILLIMETER" units="MILLIMETER" name="[mm] UNITA' OPERATRICE: Posizione Y"/> -->
|
||||||
|
<!-- <DataItem category="SAMPLE" id="Path_01_PosActZ" type="PATH_POSITION" subType="ACTUAL" nativeUnits="MILLIMETER" units="MILLIMETER" name="[mm] UNITA' OPERATRICE: Posizione Z"/> -->
|
||||||
|
<!-- <DataItem category="SAMPLE" id="Path_01_PosActI" type="ANGLE" subType="ACTUAL" nativeUnits="DEGREE" units="DEGREE" name="[°] UNITA' OPERATRICE: Angolo I"/> -->
|
||||||
|
<!-- <DataItem category="SAMPLE" id="Path_01_PosActJ" type="ANGLE" subType="ACTUAL" nativeUnits="DEGREE" units="DEGREE" name="[°] UNITA' OPERATRICE: Angolo J"/> -->
|
||||||
|
<!-- <DataItem category="SAMPLE" id="Path_01_PosActK" type="ANGLE" subType="ACTUAL" nativeUnits="DEGREE" units="DEGREE" name="[°] UNITA' OPERATRICE: Angolo K"/> -->
|
||||||
|
<DataItem category="CONDITION" id="Path_01_AlarmCNC" type="SYSTEM" Name="Allarmi CN"/>
|
||||||
|
<DataItem category="CONDITION" id="Path_01_AlarmPLC" type="LOGIC_PROGRAM" Name="Allarmi PLC"/>
|
||||||
|
</DataItems>
|
||||||
|
</Path>
|
||||||
|
<Path id="Path_02" name="Processo 02">
|
||||||
|
<DataItems>
|
||||||
|
<!--<DataItem category="xxxx" id="xxxx" type="xxxx" subType="xxxx" nativeUnits="xxxx" units="xxxx" name="xxxx" />-->
|
||||||
|
<DataItem category="EVENT" id="Path_02_Type" type="MESSAGE" name="Lavoro/Asservimento"/>
|
||||||
|
<DataItem category="EVENT" id="Path_02_ActiveAxes" type="ACTIVE_AXES" name="Assi attivi"/>
|
||||||
|
<DataItem category="EVENT" id="Path_02_CodG_Act" type="MESSAGE" name="Codici G"/>
|
||||||
|
<DataItem category="EVENT" id="Path_02_SubMode" type="MESSAGE" name="Modo secondario"/>
|
||||||
|
<DataItem category="EVENT" id="Path_02_PartId" type="PART_ID" name="Pezzo corrente"/>
|
||||||
|
<DataItem category="EVENT" id="Path_02_PZ_TOT" type="PART_COUNT" name="Pezzi prodotti"/>
|
||||||
|
<DataItem category="EVENT" id="Path_02_Cod_M" type="MESSAGE" name="Codici M"/>
|
||||||
|
<DataItem category="EVENT" id="Path_02_Cod_S" type="MESSAGE" name="Codici S"/>
|
||||||
|
<DataItem category="EVENT" id="Path_02_Cod_T" type="MESSAGE" name="Codici T"/>
|
||||||
|
<DataItem category="EVENT" id="Path_02_RUN_MODE" type="CONTROLLER_MODE" name="Modo operativo"/>
|
||||||
|
<DataItem category="EVENT" id="Path_02_EXE_MODE" type="EXECUTION" name="Stato esecuzione"/>
|
||||||
|
<DataItem category="EVENT" id="Path_02_CurrProg" type="PROGRAM" name="Programma corrente"/>
|
||||||
|
<DataItem category="EVENT" id="Path_02_CurrProg_RowNum" type="LINE" name="Riga attuale"/>
|
||||||
|
<DataItem category="SAMPLE" id="Path_02_FeedRate" type="PATH_FEEDRATE" subType="ACTUAL" nativeUnits="MILLIMETER/SECOND" units="MILLIMETER/SECOND" name="[mm/min] Feedrate"/>
|
||||||
|
<DataItem category="SAMPLE" id="Path_02_FeedOverr" type="PATH_FEEDRATE" subType="OVERRIDE" nativeUnits="PERCENT" units="PERCENT" name="[%] WORK Override"/>
|
||||||
|
<DataItem category="SAMPLE" id="Path_02_RapidOverr" type="PATH_FEEDRATE" subType="OVERRIDE" nativeUnits="PERCENT" units="PERCENT" name="[%] RAPID Override"/>
|
||||||
|
<!-- <DataItem category="SAMPLE" id="Path_02_PosActX" type="PATH_POSITION" subType="ACTUAL" nativeUnits="MILLIMETER" units="MILLIMETER" name="[mm] UNITA' OPERATRICE: Posizione X"/> -->
|
||||||
|
<!-- <DataItem category="SAMPLE" id="Path_02_PosActY" type="PATH_POSITION" subType="ACTUAL" nativeUnits="MILLIMETER" units="MILLIMETER" name="[mm] UNITA' OPERATRICE: Posizione Y"/> -->
|
||||||
|
<!-- <DataItem category="SAMPLE" id="Path_02_PosActZ" type="PATH_POSITION" subType="ACTUAL" nativeUnits="MILLIMETER" units="MILLIMETER" name="[mm] UNITA' OPERATRICE: Posizione Z"/> -->
|
||||||
|
<!-- <DataItem category="SAMPLE" id="Path_02_PosActI" type="ANGLE" subType="ACTUAL" nativeUnits="DEGREE" units="DEGREE" name="[°] UNITA' OPERATRICE: Angolo I"/> -->
|
||||||
|
<!-- <DataItem category="SAMPLE" id="Path_02_PosActJ" type="ANGLE" subType="ACTUAL" nativeUnits="DEGREE" units="DEGREE" name="[°] UNITA' OPERATRICE: Angolo J"/> -->
|
||||||
|
<!-- <DataItem category="SAMPLE" id="Path_02_PosActK" type="ANGLE" subType="ACTUAL" nativeUnits="DEGREE" units="DEGREE" name="[°] UNITA' OPERATRICE: Angolo K"/> -->
|
||||||
|
<DataItem category="CONDITION" id="Path_02_AlarmCNC" type="SYSTEM" Name="Allarmi CN"/>
|
||||||
|
<DataItem category="CONDITION" id="Path_02_AlarmPLC" type="LOGIC_PROGRAM" Name="Allarmi PLC"/>
|
||||||
|
</DataItems>
|
||||||
|
</Path>
|
||||||
|
<!-- probabilmente da ri-spostare sotto PATH... -->
|
||||||
|
<Actuator id="UniOp_01" name ="Mandrino 1 Testa 1">
|
||||||
|
<DataItems>
|
||||||
|
<!--<DataItem category="xxxx" id="xxxx" type="xxxx" subType="xxxx" nativeUnits="xxxx" units="xxxx" name="xxxx" />-->
|
||||||
|
<DataItem category="EVENT" id="UnOp_01_Type" type="MESSAGE" name="Tipologia testa">
|
||||||
|
<Constraints>
|
||||||
|
<Value>RX4</Value>
|
||||||
|
</Constraints>
|
||||||
|
</DataItem>
|
||||||
|
<DataItem category="SAMPLE" id="UnOp_01_Speed" type="PATH_FEEDRATE" subType="ACTUAL" nativeUnits="MILLIMETER/SECOND" units="MILLIMETER/SECOND" name="[RPM] SPEED Attuale"/>
|
||||||
|
<DataItem category="SAMPLE" id="UnOp_01_SpeedOverr" type="PATH_FEEDRATE" subType="OVERRIDE" nativeUnits="PERCENT" units="PERCENT" name="[%] SPEED Override"/>
|
||||||
|
<DataItem category="EVENT" id="UnOp_01_ToolId" type="TOOL_ASSET_ID" name="ID Utensile in mandrino"/>
|
||||||
|
<DataItem category="EVENT" id="UnOp_01_NumCU" type="COUNT" units="COUNT" name="[#] Cambi Utensile effettuati"/>
|
||||||
|
<DataItem category="EVENT" id="UnOp_01_Status" type="ACTUATOR_STATE" name="Stato Mandrino 1"/>
|
||||||
|
<DataItem category="EVENT" id="UnOp_01_VitaRes" type="COUNT" units="COUNT" name="Vita residua utensile in mandrino"/>
|
||||||
|
<DataItem category ="EVENT" id="UnOp_01_VitaResType" type="MESSAGE" name="Tipo vita residua utensile in mandrino"/>
|
||||||
|
<DataItem category="SAMPLE" id="UnOp_01_Load" type="LOAD" nativeUnits="PERCENT" units="PERCENT" name="[%] Carico"/>
|
||||||
|
<DataItem category="SAMPLE" id="UnOp_01_AccTime" type="COUNT" name="[krev] Rivoluzioni"/>
|
||||||
|
</DataItems>
|
||||||
|
</Actuator>
|
||||||
|
<Actuator id="UniOp_02" name ="Mandrino 2 Testa 1">
|
||||||
|
<DataItems>
|
||||||
|
<!--<DataItem category="xxxx" id="xxxx" type="xxxx" subType="xxxx" nativeUnits="xxxx" units="xxxx" name="xxxx" />-->
|
||||||
|
<DataItem category="EVENT" id="UnOp_02_Type" type="MESSAGE" name="Tipologia testa">
|
||||||
|
<Constraints>
|
||||||
|
<Value>RX4</Value>
|
||||||
|
</Constraints>
|
||||||
|
</DataItem>
|
||||||
|
<DataItem category="SAMPLE" id="UnOp_02_Speed" type="PATH_FEEDRATE" subType="ACTUAL" nativeUnits="MILLIMETER/SECOND" units="MILLIMETER/SECOND" name="[RPM] SPEED Attuale"/>
|
||||||
|
<DataItem category="SAMPLE" id="UnOp_02_SpeedOverr" type="PATH_FEEDRATE" subType="OVERRIDE" nativeUnits="PERCENT" units="PERCENT" name="[%] SPEED Override"/>
|
||||||
|
<DataItem category="EVENT" id="UnOp_02_ToolId" type="TOOL_ASSET_ID" name="ID Utensile in mandrino"/>
|
||||||
|
<DataItem category="EVENT" id="UnOp_02_NumCU" type="COUNT" units="COUNT" name="[#] Cambi Utensile effettuati"/>
|
||||||
|
<DataItem category="EVENT" id="UnOp_02_Status" type="ACTUATOR_STATE" name="Stato Mandrino 1"/>
|
||||||
|
<DataItem category="EVENT" id="UnOp_02_VitaRes" type="COUNT" units="COUNT" name="Vita residua utensile in mandrino"/>
|
||||||
|
<DataItem category ="EVENT" id="UnOp_02_VitaResType" type="MESSAGE" name="Tipo vita residua utensile in mandrino"/>
|
||||||
|
<DataItem category="SAMPLE" id="UnOp_02_Load" type="LOAD" nativeUnits="PERCENT" units="PERCENT" name="[%] Carico"/>
|
||||||
|
<DataItem category="SAMPLE" id="UnOp_02_AccTime" type="COUNT" name="[krev] Rivoluzioni"/>
|
||||||
|
</DataItems>
|
||||||
|
</Actuator>
|
||||||
|
<Actuator id="UniOp_03" name ="Mandrino 3 Testa 1">
|
||||||
|
<DataItems>
|
||||||
|
<!--<DataItem category="xxxx" id="xxxx" type="xxxx" subType="xxxx" nativeUnits="xxxx" units="xxxx" name="xxxx" />-->
|
||||||
|
<DataItem category="EVENT" id="UnOp_03_Type" type="MESSAGE" name="Tipologia testa">
|
||||||
|
<Constraints>
|
||||||
|
<Value>RX4</Value>
|
||||||
|
</Constraints>
|
||||||
|
</DataItem>
|
||||||
|
<DataItem category="SAMPLE" id="UnOp_03_Speed" type="PATH_FEEDRATE" subType="ACTUAL" nativeUnits="MILLIMETER/SECOND" units="MILLIMETER/SECOND" name="[RPM] SPEED Attuale"/>
|
||||||
|
<DataItem category="SAMPLE" id="UnOp_03_SpeedOverr" type="PATH_FEEDRATE" subType="OVERRIDE" nativeUnits="PERCENT" units="PERCENT" name="[%] SPEED Override"/>
|
||||||
|
<DataItem category="EVENT" id="UnOp_03_ToolId" type="TOOL_ASSET_ID" name="ID Utensile in mandrino"/>
|
||||||
|
<DataItem category="EVENT" id="UnOp_03_NumCU" type="COUNT" units="COUNT" name="[#] Cambi Utensile effettuati"/>
|
||||||
|
<DataItem category="EVENT" id="UnOp_03_Status" type="ACTUATOR_STATE" name="Stato Mandrino 1"/>
|
||||||
|
<DataItem category="EVENT" id="UnOp_03_VitaRes" type="COUNT" units="COUNT" name="Vita residua utensile in mandrino"/>
|
||||||
|
<DataItem category ="EVENT" id="UnOp_03_VitaResType" type="MESSAGE" name="Tipo vita residua utensile in mandrino"/>
|
||||||
|
<DataItem category="SAMPLE" id="UnOp_03_Load" type="LOAD" nativeUnits="PERCENT" units="PERCENT" name="[%] Carico"/>
|
||||||
|
<DataItem category="SAMPLE" id="UnOp_03_AccTime" type="COUNT" name="[krev] Rivoluzioni"/>
|
||||||
|
</DataItems>
|
||||||
|
</Actuator>
|
||||||
|
<Actuator id="UniOp_04" name ="Mandrino 4 Testa 1">
|
||||||
|
<DataItems>
|
||||||
|
<!--<DataItem category="xxxx" id="xxxx" type="xxxx" subType="xxxx" nativeUnits="xxxx" units="xxxx" name="xxxx" />-->
|
||||||
|
<DataItem category="EVENT" id="UnOp_04_Type" type="MESSAGE" name="Tipologia testa">
|
||||||
|
<Constraints>
|
||||||
|
<Value>RX4</Value>
|
||||||
|
</Constraints>
|
||||||
|
</DataItem>
|
||||||
|
<DataItem category="SAMPLE" id="UnOp_04_Speed" type="PATH_FEEDRATE" subType="ACTUAL" nativeUnits="MILLIMETER/SECOND" units="MILLIMETER/SECOND" name="[RPM] SPEED Attuale"/>
|
||||||
|
<DataItem category="SAMPLE" id="UnOp_04_SpeedOverr" type="PATH_FEEDRATE" subType="OVERRIDE" nativeUnits="PERCENT" units="PERCENT" name="[%] SPEED Override"/>
|
||||||
|
<DataItem category="EVENT" id="UnOp_04_ToolId" type="TOOL_ASSET_ID" name="ID Utensile in mandrino"/>
|
||||||
|
<DataItem category="EVENT" id="UnOp_04_NumCU" type="COUNT" units="COUNT" name="[#] Cambi Utensile effettuati"/>
|
||||||
|
<DataItem category="EVENT" id="UnOp_04_Status" type="ACTUATOR_STATE" name="Stato Mandrino 1"/>
|
||||||
|
<DataItem category="EVENT" id="UnOp_04_VitaRes" type="COUNT" units="COUNT" name="Vita residua utensile in mandrino"/>
|
||||||
|
<DataItem category ="EVENT" id="UnOp_04_VitaResType" type="MESSAGE" name="Tipo vita residua utensile in mandrino"/>
|
||||||
|
<DataItem category="SAMPLE" id="UnOp_04_Load" type="LOAD" nativeUnits="PERCENT" units="PERCENT" name="[%] Carico"/>
|
||||||
|
<DataItem category="SAMPLE" id="UnOp_04_AccTime" type="COUNT" name="[krev] Rivoluzioni"/>
|
||||||
|
</DataItems>
|
||||||
|
</Actuator>
|
||||||
|
<Actuator id="UniOp_05" name ="Mandrino 1 Testa 2">
|
||||||
|
<DataItems>
|
||||||
|
<!--<DataItem category="xxxx" id="xxxx" type="xxxx" subType="xxxx" nativeUnits="xxxx" units="xxxx" name="xxxx" />-->
|
||||||
|
<DataItem category="EVENT" id="UnOp_05_Type" type="MESSAGE" name="Tipologia testa">
|
||||||
|
<Constraints>
|
||||||
|
<Value>RX4</Value>
|
||||||
|
</Constraints>
|
||||||
|
</DataItem>
|
||||||
|
<DataItem category="SAMPLE" id="UnOp_05_Speed" type="PATH_FEEDRATE" subType="ACTUAL" nativeUnits="MILLIMETER/SECOND" units="MILLIMETER/SECOND" name="[RPM] SPEED Attuale"/>
|
||||||
|
<DataItem category="SAMPLE" id="UnOp_05_SpeedOverr" type="PATH_FEEDRATE" subType="OVERRIDE" nativeUnits="PERCENT" units="PERCENT" name="[%] SPEED Override"/>
|
||||||
|
<DataItem category="EVENT" id="UnOp_05_ToolId" type="TOOL_ASSET_ID" name="ID Utensile in mandrino"/>
|
||||||
|
<DataItem category="EVENT" id="UnOp_05_NumCU" type="COUNT" units="COUNT" name="[#] Cambi Utensile effettuati"/>
|
||||||
|
<DataItem category="EVENT" id="UnOp_05_Status" type="ACTUATOR_STATE" name="Stato Mandrino 1"/>
|
||||||
|
<DataItem category="EVENT" id="UnOp_05_VitaRes" type="COUNT" units="COUNT" name="Vita residua utensile in mandrino"/>
|
||||||
|
<DataItem category ="EVENT" id="UnOp_05_VitaResType" type="MESSAGE" name="Tipo vita residua utensile in mandrino"/>
|
||||||
|
<DataItem category="SAMPLE" id="UnOp_05_Load" type="LOAD" nativeUnits="PERCENT" units="PERCENT" name="[%] Carico"/>
|
||||||
|
<DataItem category="SAMPLE" id="UnOp_05_AccTime" type="COUNT" name="[krev] Rivoluzioni"/>
|
||||||
|
</DataItems>
|
||||||
|
</Actuator>
|
||||||
|
<Actuator id="UniOp_06" name ="Mandrino 2 Testa 2">
|
||||||
|
<DataItems>
|
||||||
|
<!--<DataItem category="xxxx" id="xxxx" type="xxxx" subType="xxxx" nativeUnits="xxxx" units="xxxx" name="xxxx" />-->
|
||||||
|
<DataItem category="EVENT" id="UnOp_06_Type" type="MESSAGE" name="Tipologia testa">
|
||||||
|
<Constraints>
|
||||||
|
<Value>RX4</Value>
|
||||||
|
</Constraints>
|
||||||
|
</DataItem>
|
||||||
|
<DataItem category="SAMPLE" id="UnOp_06_Speed" type="PATH_FEEDRATE" subType="ACTUAL" nativeUnits="MILLIMETER/SECOND" units="MILLIMETER/SECOND" name="[RPM] SPEED Attuale"/>
|
||||||
|
<DataItem category="SAMPLE" id="UnOp_06_SpeedOverr" type="PATH_FEEDRATE" subType="OVERRIDE" nativeUnits="PERCENT" units="PERCENT" name="[%] SPEED Override"/>
|
||||||
|
<DataItem category="EVENT" id="UnOp_06_ToolId" type="TOOL_ASSET_ID" name="ID Utensile in mandrino"/>
|
||||||
|
<DataItem category="EVENT" id="UnOp_06_NumCU" type="COUNT" units="COUNT" name="[#] Cambi Utensile effettuati"/>
|
||||||
|
<DataItem category="EVENT" id="UnOp_06_Status" type="ACTUATOR_STATE" name="Stato Mandrino 1"/>
|
||||||
|
<DataItem category="EVENT" id="UnOp_06_VitaRes" type="COUNT" units="COUNT" name="Vita residua utensile in mandrino"/>
|
||||||
|
<DataItem category ="EVENT" id="UnOp_06_VitaResType" type="MESSAGE" name="Tipo vita residua utensile in mandrino"/>
|
||||||
|
<DataItem category="SAMPLE" id="UnOp_06_Load" type="LOAD" nativeUnits="PERCENT" units="PERCENT" name="[%] Carico"/>
|
||||||
|
<DataItem category="SAMPLE" id="UnOp_06_AccTime" type="COUNT" name="[krev] Rivoluzioni"/>
|
||||||
|
</DataItems>
|
||||||
|
</Actuator>
|
||||||
|
<Actuator id="UniOp_07" name ="Mandrino 3 Testa 2">
|
||||||
|
<DataItems>
|
||||||
|
<!--<DataItem category="xxxx" id="xxxx" type="xxxx" subType="xxxx" nativeUnits="xxxx" units="xxxx" name="xxxx" />-->
|
||||||
|
<DataItem category="EVENT" id="UnOp_07_Type" type="MESSAGE" name="Tipologia testa">
|
||||||
|
<Constraints>
|
||||||
|
<Value>RX4</Value>
|
||||||
|
</Constraints>
|
||||||
|
</DataItem>
|
||||||
|
<DataItem category="SAMPLE" id="UnOp_07_Speed" type="PATH_FEEDRATE" subType="ACTUAL" nativeUnits="MILLIMETER/SECOND" units="MILLIMETER/SECOND" name="[RPM] SPEED Attuale"/>
|
||||||
|
<DataItem category="SAMPLE" id="UnOp_07_SpeedOverr" type="PATH_FEEDRATE" subType="OVERRIDE" nativeUnits="PERCENT" units="PERCENT" name="[%] SPEED Override"/>
|
||||||
|
<DataItem category="EVENT" id="UnOp_07_ToolId" type="TOOL_ASSET_ID" name="ID Utensile in mandrino"/>
|
||||||
|
<DataItem category="EVENT" id="UnOp_07_NumCU" type="COUNT" units="COUNT" name="[#] Cambi Utensile effettuati"/>
|
||||||
|
<DataItem category="EVENT" id="UnOp_07_Status" type="ACTUATOR_STATE" name="Stato Mandrino 1"/>
|
||||||
|
<DataItem category="EVENT" id="UnOp_07_VitaRes" type="COUNT" units="COUNT" name="Vita residua utensile in mandrino"/>
|
||||||
|
<DataItem category ="EVENT" id="UnOp_07_VitaResType" type="MESSAGE" name="Tipo vita residua utensile in mandrino"/>
|
||||||
|
<DataItem category="SAMPLE" id="UnOp_07_Load" type="LOAD" nativeUnits="PERCENT" units="PERCENT" name="[%] Carico"/>
|
||||||
|
<DataItem category="SAMPLE" id="UnOp_07_AccTime" type="COUNT" name="[krev] Rivoluzioni"/>
|
||||||
|
</DataItems>
|
||||||
|
</Actuator>
|
||||||
|
<Actuator id="UniOp_08" name ="Mandrino 4 Testa 2">
|
||||||
|
<DataItems>
|
||||||
|
<!--<DataItem category="xxxx" id="xxxx" type="xxxx" subType="xxxx" nativeUnits="xxxx" units="xxxx" name="xxxx" />-->
|
||||||
|
<DataItem category="EVENT" id="UnOp_08_Type" type="MESSAGE" name="Tipologia testa">
|
||||||
|
<Constraints>
|
||||||
|
<Value>RX4</Value>
|
||||||
|
</Constraints>
|
||||||
|
</DataItem>
|
||||||
|
<DataItem category="SAMPLE" id="UnOp_08_Speed" type="PATH_FEEDRATE" subType="ACTUAL" nativeUnits="MILLIMETER/SECOND" units="MILLIMETER/SECOND" name="[RPM] SPEED Attuale"/>
|
||||||
|
<DataItem category="SAMPLE" id="UnOp_08_SpeedOverr" type="PATH_FEEDRATE" subType="OVERRIDE" nativeUnits="PERCENT" units="PERCENT" name="[%] SPEED Override"/>
|
||||||
|
<DataItem category="EVENT" id="UnOp_08_ToolId" type="TOOL_ASSET_ID" name="ID Utensile in mandrino"/>
|
||||||
|
<DataItem category="EVENT" id="UnOp_08_NumCU" type="COUNT" units="COUNT" name="[#] Cambi Utensile effettuati"/>
|
||||||
|
<DataItem category="EVENT" id="UnOp_08_Status" type="ACTUATOR_STATE" name="Stato Mandrino 1"/>
|
||||||
|
<DataItem category="EVENT" id="UnOp_08_VitaRes" type="COUNT" units="COUNT" name="Vita residua utensile in mandrino"/>
|
||||||
|
<DataItem category ="EVENT" id="UnOp_08_VitaResType" type="MESSAGE" name="Tipo vita residua utensile in mandrino"/>
|
||||||
|
<DataItem category="SAMPLE" id="UnOp_08_Load" type="LOAD" nativeUnits="PERCENT" units="PERCENT" name="[%] Carico"/>
|
||||||
|
<DataItem category="SAMPLE" id="UnOp_08_AccTime" type="COUNT" name="[krev] Rivoluzioni"/>
|
||||||
|
</DataItems>
|
||||||
|
</Actuator>
|
||||||
|
</Components>
|
||||||
|
</Controller>
|
||||||
|
<Systems id="systems" name="Impianti ed attuatori">
|
||||||
|
<!-- <DataItems>
|
||||||
|
<DataItem category="EVENT" id="ST_Paratia_Presente" type="ACTUATOR_STATE" name="Paratia Presente"/>
|
||||||
|
</DataItems> -->
|
||||||
|
<Components>
|
||||||
|
<Electric id="el" name="Elettrico">
|
||||||
|
<DataItems>
|
||||||
|
</DataItems>
|
||||||
|
</Electric>
|
||||||
|
<Hydraulic id="hsys" name="Idraulico">
|
||||||
|
<DataItems>
|
||||||
|
<!--<DataItem category="xxxx" id="xxxx" type="xxxx" subType="xxxx" nativeUnits="xxxx" units="xxxx" name="xxxx" />-->
|
||||||
|
<!--<DataItem category="CONDITION" id="hlow" type="LEVEL"/>-->
|
||||||
|
<!--<DataItem category="CONDITION" id="hpres" type="PRESSURE"/>-->
|
||||||
|
<!--<DataItem category="CONDITION" id="htemp" type="TEMPERATURE"/>-->
|
||||||
|
</DataItems>
|
||||||
|
</Hydraulic>
|
||||||
|
<Pneumatic id="PneumSys" name="Pneumatica Tavole">
|
||||||
|
<Actuator id="VacPump_01" name ="Pompa vuoto 1">
|
||||||
|
<DataItems>
|
||||||
|
<DataItem category="EVENT" id="VacPump_01_Status" type="ACTUATOR_STATE" name="Stato" />
|
||||||
|
<DataItem category="SAMPLE" id="VacPump_01_WrkTime" type="ACCUMULATED_TIME" name="[s] Tempo utilizzo"/>
|
||||||
|
</DataItems>
|
||||||
|
</Actuator>
|
||||||
|
<Actuator id="VacAct_01" name ="Valvola disattivazione vuoto 1">
|
||||||
|
<DataItems>
|
||||||
|
<DataItem category="EVENT" id="VacAct_01_Count" type="COUNT" nativeUnits="COUNT" units="COUNT" name="[#] Commutazioni"/>
|
||||||
|
</DataItems>
|
||||||
|
</Actuator>
|
||||||
|
<Actuator id="VacPump_02" name ="Pompa vuoto 2">
|
||||||
|
<DataItems>
|
||||||
|
<DataItem category="EVENT" id="VacPump_02_Status" type="ACTUATOR_STATE" name="Stato" />
|
||||||
|
<DataItem category="SAMPLE" id="VacPump_02_WrkTime" type="ACCUMULATED_TIME" name="[s] Tempo utilizzo"/>
|
||||||
|
</DataItems>
|
||||||
|
</Actuator>
|
||||||
|
<Actuator id="VacAct_02" name ="Valvola disattivazione vuoto 2">
|
||||||
|
<DataItems>
|
||||||
|
<DataItem category="EVENT" id="VacAct_02_Count" type="COUNT" nativeUnits="COUNT" units="COUNT" name="[#] Commutazioni"/>
|
||||||
|
</DataItems>
|
||||||
|
</Actuator>
|
||||||
|
<Actuator id="BlocMorseTav1" name="Valvola Bloccaggio Morse Tavola 1">
|
||||||
|
<DataItems>
|
||||||
|
<DataItem category="EVENT" id="Counter_001" type="COUNT" nativeUnits="COUNT" units="COUNT" name="[#] Bloccaggio Morse Tavola 1 "/>
|
||||||
|
</DataItems>
|
||||||
|
</Actuator>
|
||||||
|
<Actuator id="BlocMorseTav2" name="Valvola Bloccaggio Morse Tavola 2">
|
||||||
|
<DataItems>
|
||||||
|
<DataItem category="EVENT" id="Counter_002" type="COUNT" nativeUnits="COUNT" units="COUNT" name="[#] Bloccaggio Morse Tavola 2 "/>
|
||||||
|
</DataItems>
|
||||||
|
</Actuator>
|
||||||
|
</Pneumatic>
|
||||||
|
<Lubrication id="LubroSys" name="Lubrificazione">
|
||||||
|
<Actuator id="Lubro_01" name ="Lubrificazione Assi PONTE 1">
|
||||||
|
<DataItems>
|
||||||
|
<!--<DataItem category="xxxx" id="xxxx" type="xxxx" subType="xxxx" nativeUnits="xxxx" units="xxxx" name="xxxx" />-->
|
||||||
|
<!-- <DataItem category="EVENT" id="Lubro_01_Num" type="COUNT" nativeUnits="COUNT" units="COUNT" name="[#] Attivazioni"/> -->
|
||||||
|
<DataItem category="EVENT" id="Lubro_01_Num" type="COUNT" units="COUNT" name="N Attivazioni"/>
|
||||||
|
</DataItems>
|
||||||
|
</Actuator>
|
||||||
|
<Actuator id="Lubro_02" name ="Lubrificazione Assi PONTE 2">
|
||||||
|
<DataItems>
|
||||||
|
<!--<DataItem category="xxxx" id="xxxx" type="xxxx" subType="xxxx" nativeUnits="xxxx" units="xxxx" name="xxxx" />-->
|
||||||
|
<!-- <DataItem category="EVENT" id="Lubro_01_Num" type="COUNT" nativeUnits="COUNT" units="COUNT" name="[#] Attivazioni"/> -->
|
||||||
|
<DataItem category="EVENT" id="Lubro_02_Num" type="COUNT" units="COUNT" name="N Attivazioni"/>
|
||||||
|
</DataItems>
|
||||||
|
</Actuator>
|
||||||
|
</Lubrication>
|
||||||
|
</Components>
|
||||||
|
</Systems>
|
||||||
|
<Sensor id="sens1" name="Sensoristica">
|
||||||
|
<DataItems>
|
||||||
|
<!--<DataItem category="xxxx" id="xxxx" type="xxxx" subType="xxxx" nativeUnits="xxxx" units="xxxx" name="xxxx" />-->
|
||||||
|
<!--<DataItem category="SAMPLE" id="Temp_99_Value" type="TEMPERATURE" nativeUnits="CELSIUS" units="CELSIUS" name="[°] Sonda temperatura"/>-->
|
||||||
|
<!-- <DataItem category="SAMPLE" id="C" type="PRESSURE" nativeUnits="PASCAL" units="PASCAL" name="[Pa] Pressione 1"/> -->
|
||||||
|
</DataItems>
|
||||||
|
</Sensor>
|
||||||
|
</Components>
|
||||||
|
</Device>
|
||||||
|
</Devices>
|
||||||
|
</MTConnectDevices>
|
||||||
@@ -0,0 +1,38 @@
|
|||||||
|
Devices = ../DATA/CONF/Agent_ItemList.xml
|
||||||
|
AllowPut = true
|
||||||
|
ReconnectInterval = 1000
|
||||||
|
BufferSize = 17
|
||||||
|
SchemaVersion = 1.3
|
||||||
|
|
||||||
|
Adapters {
|
||||||
|
MTC-ADAPTER {
|
||||||
|
Host = localhost
|
||||||
|
Port = 7878
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
Files {
|
||||||
|
schemas {
|
||||||
|
Path = ../schemas
|
||||||
|
Location = /schemas/
|
||||||
|
}
|
||||||
|
styles {
|
||||||
|
Path = ../styles
|
||||||
|
Location = /styles/
|
||||||
|
}
|
||||||
|
Favicon {
|
||||||
|
Path = ../styles/favicon.ico
|
||||||
|
Location = /favicon.ico
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
StreamsStyle {
|
||||||
|
Location = /styles/Streams.xsl
|
||||||
|
}
|
||||||
|
|
||||||
|
# Logger Configuration
|
||||||
|
logger_config
|
||||||
|
{
|
||||||
|
logging_level = debug
|
||||||
|
output = cout
|
||||||
|
}
|
||||||
Binary file not shown.
File diff suppressed because it is too large
Load Diff
@@ -0,0 +1,31 @@
|
|||||||
|
@echo off
|
||||||
|
|
||||||
|
REM variabili accessorie
|
||||||
|
set baseDir="C:\CMS\MTC\AGENT\bin\"
|
||||||
|
|
||||||
|
REM calcolo timestamp x creare folders
|
||||||
|
for /f "delims=" %%a in ('wmic OS Get localdatetime ^| find "."') do set dt=%%a
|
||||||
|
set YYYY=%dt:~0,4%
|
||||||
|
set MM=%dt:~4,2%
|
||||||
|
set DD=%dt:~6,2%
|
||||||
|
set HH=%dt:~8,2%
|
||||||
|
set Min=%dt:~10,2%
|
||||||
|
set Sec=%dt:~12,2%
|
||||||
|
set stamp=%YYYY%%MM%%DD%_%HH%%Min%%Sec%
|
||||||
|
|
||||||
|
REM Fermo servizio
|
||||||
|
net stop "MTConnect Agent"
|
||||||
|
|
||||||
|
REM Attesa 3 secondi post stop
|
||||||
|
timeout /t 3
|
||||||
|
|
||||||
|
REM spostamento di tutti i files di log
|
||||||
|
mkdir "%baseDir%\logs\%stamp%"
|
||||||
|
|
||||||
|
move "%baseDir%\agent*.log" "%baseDir%\logs\%stamp%"
|
||||||
|
|
||||||
|
REM riavvio servizio
|
||||||
|
net start "MTConnect Agent"
|
||||||
|
|
||||||
|
REM log riavvio
|
||||||
|
echo %date% %time% - Service Restarted Successfully >> "%baseDir%\restart.log"
|
||||||
Binary file not shown.
|
After Width: | Height: | Size: 13 KiB |
Binary file not shown.
|
After Width: | Height: | Size: 99 KiB |
Binary file not shown.
Binary file not shown.
@@ -10,7 +10,7 @@
|
|||||||
<AssemblyName>CMSCncLib</AssemblyName>
|
<AssemblyName>CMSCncLib</AssemblyName>
|
||||||
<FileAlignment>512</FileAlignment>
|
<FileAlignment>512</FileAlignment>
|
||||||
<MyType>Windows</MyType>
|
<MyType>Windows</MyType>
|
||||||
<TargetFrameworkVersion>v4.5.2</TargetFrameworkVersion>
|
<TargetFrameworkVersion>v4.6.2</TargetFrameworkVersion>
|
||||||
<TargetFrameworkProfile />
|
<TargetFrameworkProfile />
|
||||||
</PropertyGroup>
|
</PropertyGroup>
|
||||||
<PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Debug|AnyCPU' ">
|
<PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Debug|AnyCPU' ">
|
||||||
@@ -21,10 +21,11 @@
|
|||||||
<OutputPath>bin\Debug\</OutputPath>
|
<OutputPath>bin\Debug\</OutputPath>
|
||||||
<DocumentationFile>CMSCncLib.xml</DocumentationFile>
|
<DocumentationFile>CMSCncLib.xml</DocumentationFile>
|
||||||
<NoWarn>42016,41999,42017,42018,42019,42032,42036,42020,42021,42022</NoWarn>
|
<NoWarn>42016,41999,42017,42018,42019,42032,42036,42020,42021,42022</NoWarn>
|
||||||
<DefineConstants>FS30D=1</DefineConstants>
|
<DefineConstants>FS30D=1,SIEMENS=1</DefineConstants>
|
||||||
<UseVSHostingProcess>true</UseVSHostingProcess>
|
<UseVSHostingProcess>true</UseVSHostingProcess>
|
||||||
<PlatformTarget>AnyCPU</PlatformTarget>
|
<PlatformTarget>AnyCPU</PlatformTarget>
|
||||||
<Prefer32Bit>false</Prefer32Bit>
|
<Prefer32Bit>false</Prefer32Bit>
|
||||||
|
<WarningLevel>0</WarningLevel>
|
||||||
</PropertyGroup>
|
</PropertyGroup>
|
||||||
<PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Release|AnyCPU' ">
|
<PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Release|AnyCPU' ">
|
||||||
<DebugType>pdbonly</DebugType>
|
<DebugType>pdbonly</DebugType>
|
||||||
@@ -34,8 +35,10 @@
|
|||||||
<OutputPath>bin\Release\</OutputPath>
|
<OutputPath>bin\Release\</OutputPath>
|
||||||
<DocumentationFile>CMSCncLib.xml</DocumentationFile>
|
<DocumentationFile>CMSCncLib.xml</DocumentationFile>
|
||||||
<NoWarn>42016,41999,42017,42018,42019,42032,42036,42020,42021,42022</NoWarn>
|
<NoWarn>42016,41999,42017,42018,42019,42032,42036,42020,42021,42022</NoWarn>
|
||||||
<DefineConstants>FS30D=1</DefineConstants>
|
<DefineConstants>FS30D=1,SIEMENS=1</DefineConstants>
|
||||||
<Prefer32Bit>false</Prefer32Bit>
|
<Prefer32Bit>false</Prefer32Bit>
|
||||||
|
<WarningLevel>0</WarningLevel>
|
||||||
|
<CodeAnalysisRuleSet>MinimumRecommendedRules.ruleset</CodeAnalysisRuleSet>
|
||||||
</PropertyGroup>
|
</PropertyGroup>
|
||||||
<PropertyGroup>
|
<PropertyGroup>
|
||||||
<OptionExplicit>On</OptionExplicit>
|
<OptionExplicit>On</OptionExplicit>
|
||||||
@@ -49,53 +52,35 @@
|
|||||||
<PropertyGroup>
|
<PropertyGroup>
|
||||||
<OptionInfer>On</OptionInfer>
|
<OptionInfer>On</OptionInfer>
|
||||||
</PropertyGroup>
|
</PropertyGroup>
|
||||||
<PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'CMS-FANUC|AnyCPU' ">
|
<PropertyGroup Condition="'$(Configuration)|$(Platform)' == 'Debug|x86'">
|
||||||
|
<DebugSymbols>true</DebugSymbols>
|
||||||
|
<DefineDebug>true</DefineDebug>
|
||||||
<DefineTrace>true</DefineTrace>
|
<DefineTrace>true</DefineTrace>
|
||||||
<OutputPath>bin\CMS\</OutputPath>
|
<OutputPath>bin\x86\Debug\</OutputPath>
|
||||||
|
<DefineConstants>FS30D=1,SIEMENS=1</DefineConstants>
|
||||||
<DocumentationFile>CMSCncLib.xml</DocumentationFile>
|
<DocumentationFile>CMSCncLib.xml</DocumentationFile>
|
||||||
<Optimize>true</Optimize>
|
<WarningLevel>0</WarningLevel>
|
||||||
<NoWarn>42016,41999,42017,42018,42019,42032,42036,42020,42021,42022</NoWarn>
|
<NoWarn>42016,41999,42017,42018,42019,42032,42036,42020,42021,42022</NoWarn>
|
||||||
<DebugType>pdbonly</DebugType>
|
<DebugType>full</DebugType>
|
||||||
<PlatformTarget>AnyCPU</PlatformTarget>
|
<PlatformTarget>x86</PlatformTarget>
|
||||||
<CodeAnalysisRuleSet>MinimumRecommendedRules.ruleset</CodeAnalysisRuleSet>
|
|
||||||
<DefineConstants>FS30D=1</DefineConstants>
|
|
||||||
<Prefer32Bit>false</Prefer32Bit>
|
|
||||||
</PropertyGroup>
|
</PropertyGroup>
|
||||||
<PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'SCM-ESA|AnyCPU' ">
|
<PropertyGroup Condition="'$(Configuration)|$(Platform)' == 'Release|x86'">
|
||||||
<DefineTrace>true</DefineTrace>
|
<DefineTrace>true</DefineTrace>
|
||||||
<OutputPath>bin\SCM\</OutputPath>
|
<OutputPath>bin\x86\Release\</OutputPath>
|
||||||
|
<DefineConstants>FS30D=1,SIEMENS=1</DefineConstants>
|
||||||
<DocumentationFile>CMSCncLib.xml</DocumentationFile>
|
<DocumentationFile>CMSCncLib.xml</DocumentationFile>
|
||||||
<Optimize>true</Optimize>
|
<Optimize>true</Optimize>
|
||||||
|
<WarningLevel>0</WarningLevel>
|
||||||
<NoWarn>42016,41999,42017,42018,42019,42032,42036,42020,42021,42022</NoWarn>
|
<NoWarn>42016,41999,42017,42018,42019,42032,42036,42020,42021,42022</NoWarn>
|
||||||
<DebugType>pdbonly</DebugType>
|
<DebugType>pdbonly</DebugType>
|
||||||
<PlatformTarget>AnyCPU</PlatformTarget>
|
<PlatformTarget>x86</PlatformTarget>
|
||||||
<CodeAnalysisRuleSet>MinimumRecommendedRules.ruleset</CodeAnalysisRuleSet>
|
|
||||||
<DefineConstants>FS30D=1</DefineConstants>
|
|
||||||
<Prefer32Bit>false</Prefer32Bit>
|
|
||||||
</PropertyGroup>
|
|
||||||
<PropertyGroup Condition="'$(Configuration)|$(Platform)' == 'CMS-SIEMENS|AnyCPU'">
|
|
||||||
<DefineTrace>true</DefineTrace>
|
|
||||||
<OutputPath>bin\CMS-SIEMENS\</OutputPath>
|
|
||||||
<DefineConstants>FS30D=1</DefineConstants>
|
|
||||||
<DocumentationFile>CMSCncLib.xml</DocumentationFile>
|
|
||||||
<Optimize>true</Optimize>
|
|
||||||
<NoWarn>42016,41999,42017,42018,42019,42032,42036,42020,42021,42022</NoWarn>
|
|
||||||
<DebugType>pdbonly</DebugType>
|
|
||||||
<PlatformTarget>AnyCPU</PlatformTarget>
|
|
||||||
<CodeAnalysisRuleSet>MinimumRecommendedRules.ruleset</CodeAnalysisRuleSet>
|
|
||||||
</PropertyGroup>
|
|
||||||
<PropertyGroup Condition="'$(Configuration)|$(Platform)' == 'CMS-OSAI|AnyCPU'">
|
|
||||||
<DefineTrace>true</DefineTrace>
|
|
||||||
<OutputPath>bin\CMS-OSAI\</OutputPath>
|
|
||||||
<DefineConstants>FS30D=1</DefineConstants>
|
|
||||||
<DocumentationFile>CMSCncLib.xml</DocumentationFile>
|
|
||||||
<Optimize>true</Optimize>
|
|
||||||
<NoWarn>42016,41999,42017,42018,42019,42032,42036,42020,42021,42022</NoWarn>
|
|
||||||
<DebugType>pdbonly</DebugType>
|
|
||||||
<PlatformTarget>AnyCPU</PlatformTarget>
|
|
||||||
<CodeAnalysisRuleSet>MinimumRecommendedRules.ruleset</CodeAnalysisRuleSet>
|
<CodeAnalysisRuleSet>MinimumRecommendedRules.ruleset</CodeAnalysisRuleSet>
|
||||||
</PropertyGroup>
|
</PropertyGroup>
|
||||||
<ItemGroup>
|
<ItemGroup>
|
||||||
|
<Reference Include="Siemens.Sinumerik.Operate.Services, Version=4.7.3.2, Culture=neutral, PublicKeyToken=bdd90fa02fd1c4ee, processorArchitecture=x86">
|
||||||
|
<SpecificVersion>False</SpecificVersion>
|
||||||
|
<HintPath>ExtLib\Siemens.Sinumerik.Operate.Services.dll</HintPath>
|
||||||
|
</Reference>
|
||||||
<Reference Include="System" />
|
<Reference Include="System" />
|
||||||
<Reference Include="System.Data" />
|
<Reference Include="System.Data" />
|
||||||
<Reference Include="System.Drawing" />
|
<Reference Include="System.Drawing" />
|
||||||
@@ -126,6 +111,7 @@
|
|||||||
<Compile Include="CNC\CNC.OSAI\CNC.OSAI.vb" />
|
<Compile Include="CNC\CNC.OSAI\CNC.OSAI.vb" />
|
||||||
<Compile Include="CNC\CNC.OSAI\CNC.OSAI_SOAP.vb" />
|
<Compile Include="CNC\CNC.OSAI\CNC.OSAI_SOAP.vb" />
|
||||||
<Compile Include="CNC\CNC.Runtime.vb" />
|
<Compile Include="CNC\CNC.Runtime.vb" />
|
||||||
|
<Compile Include="CNC\CNC.SIEMENS\CNC.SIEMENS.vb" />
|
||||||
<Compile Include="CNC\CNC\CNC.CNC.vb" />
|
<Compile Include="CNC\CNC\CNC.CNC.vb" />
|
||||||
<Compile Include="Config\Config.Options.vb" />
|
<Compile Include="Config\Config.Options.vb" />
|
||||||
<Compile Include="Config\Config.Settings.vb" />
|
<Compile Include="Config\Config.Settings.vb" />
|
||||||
@@ -135,6 +121,7 @@
|
|||||||
<Compile Include="My Project\Application.Designer.vb">
|
<Compile Include="My Project\Application.Designer.vb">
|
||||||
<AutoGen>True</AutoGen>
|
<AutoGen>True</AutoGen>
|
||||||
<DependentUpon>Application.myapp</DependentUpon>
|
<DependentUpon>Application.myapp</DependentUpon>
|
||||||
|
<DesignTime>True</DesignTime>
|
||||||
</Compile>
|
</Compile>
|
||||||
<Compile Include="My Project\Resources.Designer.vb">
|
<Compile Include="My Project\Resources.Designer.vb">
|
||||||
<AutoGen>True</AutoGen>
|
<AutoGen>True</AutoGen>
|
||||||
@@ -624,6 +611,10 @@
|
|||||||
</None>
|
</None>
|
||||||
</ItemGroup>
|
</ItemGroup>
|
||||||
<ItemGroup />
|
<ItemGroup />
|
||||||
|
<ItemGroup>
|
||||||
|
<Content Include="ExtLib\Siemens.Sinumerik.Operate.Services.dll" />
|
||||||
|
<Content Include="ExtLib\Siemens.Sinumerik.Operate.Services.Wrapper.dll" />
|
||||||
|
</ItemGroup>
|
||||||
<Import Project="$(MSBuildToolsPath)\Microsoft.VisualBasic.targets" />
|
<Import Project="$(MSBuildToolsPath)\Microsoft.VisualBasic.targets" />
|
||||||
<!-- To modify your build process, add your task inside one of the targets below and uncomment it.
|
<!-- To modify your build process, add your task inside one of the targets below and uncomment it.
|
||||||
Other similar extension points exist, see Microsoft.Common.targets.
|
Other similar extension points exist, see Microsoft.Common.targets.
|
||||||
|
|||||||
File diff suppressed because it is too large
Load Diff
File diff suppressed because it is too large
Load Diff
File diff suppressed because it is too large
Load Diff
@@ -1,72 +1,43 @@
|
|||||||
Imports CMSCncLib.App.Runtime
|
Namespace CNC
|
||||||
Imports CMSCncLib.CNC
|
|
||||||
Imports CMSCncLib.Tools
|
Public Class Runtime
|
||||||
|
Public Shared NC As CMSCncLib.CNC.CNC
|
||||||
Namespace CNC
|
|
||||||
|
|
||||||
Public Class Runtime
|
Public Shared Sub CreateNC(tipoNC As CNC.NcType, ipTarget As String)
|
||||||
Public Shared NC As CMSCncLib.CNC.CNC
|
'************ Istanzio l'oggetto NC *****************
|
||||||
|
Dim exStr As String
|
||||||
|
Try
|
||||||
Public Shared Sub CreateNC(tipoNC As CNC.NcType, ipTarget As String)
|
|
||||||
'************ Istanzio l'oggetto NC *****************
|
Select Case tipoNC
|
||||||
Try
|
|
||||||
|
Case NC_FANUC
|
||||||
Select Case tipoNC
|
Dim ipFanuc As String
|
||||||
|
Dim portIpFanuc As String
|
||||||
Case NC_FANUC
|
Dim CncScreenHssb As String
|
||||||
'CMSCncLib.App.Runtime.Log.WI("TRY creating NC CNC.NC", "TypeNC=" & Config.Settings.Settings.TypeNC.ToString, CLog.Lev.Principal)
|
|
||||||
Dim ipFanuc As String
|
' imposto IP da chiamata
|
||||||
Dim portIpFanuc As String
|
ipFanuc = ipTarget
|
||||||
Dim CncScreenHssb As String
|
|
||||||
|
portIpFanuc = "8193"
|
||||||
' SIMULATORE
|
CncScreenHssb = "0"
|
||||||
' IP LOOPBACK: 192.168.211.5/255.255.255.0
|
NC = New FANUC(0, ipFanuc, portIpFanuc, CncScreenHssb)
|
||||||
'ipFanuc = "192.168.211.5"
|
|
||||||
' PRODUZIONE
|
Case NC_OSAI
|
||||||
' IP ETH: 192.168.139.201/255.255.255.0
|
NC = New OSAI_OPEN(ipTarget)
|
||||||
'ipFanuc = "192.168.139.1"
|
|
||||||
|
#If SIEMENS Then
|
||||||
' imposto IP da chiamata
|
Case NC_SIEMENS
|
||||||
ipFanuc = ipTarget
|
NC = New SIEMENS
|
||||||
|
#End If
|
||||||
|
End Select
|
||||||
portIpFanuc = "8193"
|
|
||||||
CncScreenHssb = "0"
|
Catch ex As Exception
|
||||||
NC = New FANUC(0, ipFanuc, portIpFanuc, CncScreenHssb)
|
exStr = ex.Message
|
||||||
|
End Try
|
||||||
Case NC_OSAI
|
|
||||||
'If Config.Settings.Settings.OsaiCommType = 1 Then 'SOAP
|
End Sub
|
||||||
NC = New OSAI_OPEN(ipTarget)
|
|
||||||
'Else 'DCOM
|
End Class
|
||||||
' Dim DotNet As Boolean
|
|
||||||
' If OSAI.GetWinnbi(DotNet) Then
|
|
||||||
' NC = New OSAI(Config.Settings.Settings.NcName)
|
|
||||||
' Else
|
|
||||||
' Log.WE("Error on GetWinnbi or WINNBI are not installed", "Install Osai WINNBI before run this software", True)
|
|
||||||
' End If
|
|
||||||
'End If
|
|
||||||
|
|
||||||
|
|
||||||
Case NC_SIEMENS
|
|
||||||
' Try
|
|
||||||
' NC = New SIEMENS
|
|
||||||
' Catch ex As CmsNcException
|
|
||||||
' 'NC.frmMain_ref.ExitApp()
|
|
||||||
' 'frmMain.ExitApp()
|
|
||||||
' End
|
|
||||||
' End Try
|
|
||||||
End Select
|
|
||||||
|
|
||||||
'CMSCncLib.App.Runtime.Log.WI("OK crating NC CNC.NC", , CLog.Lev.Principal)
|
|
||||||
Catch ex As Exception
|
|
||||||
'CMSCncLib.App.Runtime.Log.WE("ERR crating NC CNC.NC", ex.Message, True)
|
|
||||||
End Try
|
|
||||||
|
|
||||||
|
|
||||||
End Sub
|
|
||||||
|
|
||||||
|
|
||||||
End Class
|
|
||||||
|
|
||||||
End Namespace
|
End Namespace
|
||||||
File diff suppressed because it is too large
Load Diff
@@ -207,30 +207,6 @@ Namespace CNC
|
|||||||
Public Overridable Sub CloseCnc()
|
Public Overridable Sub CloseCnc()
|
||||||
End Sub
|
End Sub
|
||||||
|
|
||||||
''' <summary>
|
|
||||||
''' Riduce a icona la finestra CNC
|
|
||||||
''' </summary>
|
|
||||||
Public Overridable Sub MinimizeCnc()
|
|
||||||
End Sub
|
|
||||||
|
|
||||||
''' <summary>
|
|
||||||
''' Mostra a dimensioni normali la finestra CNC
|
|
||||||
''' </summary>
|
|
||||||
Public Overridable Sub NormalizeCnc()
|
|
||||||
End Sub
|
|
||||||
|
|
||||||
''' <summary>
|
|
||||||
''' Setta il focus sulla finestra CNC
|
|
||||||
''' </summary>
|
|
||||||
Public Overridable Sub SetCncFocus()
|
|
||||||
End Sub
|
|
||||||
|
|
||||||
''' <summary>
|
|
||||||
''' Setta il focus sulla finestra CNC
|
|
||||||
''' </summary>
|
|
||||||
Public Overridable Sub MoveCnc()
|
|
||||||
End Sub
|
|
||||||
|
|
||||||
End Class
|
End Class
|
||||||
|
|
||||||
|
|
||||||
|
|||||||
@@ -1,300 +1,294 @@
|
|||||||
Imports System.ComponentModel
|
Namespace Config
|
||||||
Imports System.IO
|
Class Options
|
||||||
Imports CMSCncLib.App.Runtime
|
|
||||||
|
Public Shared CurrentOptions As Options
|
||||||
Imports System.Security
|
Public Shared sPathFile As String
|
||||||
|
|
||||||
Namespace Config
|
Private _Machine_Enabled As Boolean
|
||||||
Class Options
|
''' <summary>Maintenance Machine</summary>
|
||||||
|
Public ReadOnly Property Machine_Enabled() As Boolean
|
||||||
Public Shared CurrentOptions As Options
|
Get
|
||||||
Public Shared sPathFile As String
|
Return Me._Machine_Enabled
|
||||||
|
End Get
|
||||||
Private _Machine_Enabled As Boolean
|
End Property
|
||||||
''' <summary>Maintenance Machine</summary>
|
|
||||||
Public ReadOnly Property Machine_Enabled() As Boolean
|
Private _Maintenance_Enabled As Boolean
|
||||||
Get
|
''' <summary>Opzione Maintenance</summary>
|
||||||
Return Me._Machine_Enabled
|
Public ReadOnly Property Maintenance_Enabled() As Boolean
|
||||||
End Get
|
Get
|
||||||
End Property
|
Return Me._Maintenance_Enabled
|
||||||
|
End Get
|
||||||
Private _Maintenance_Enabled As Boolean
|
End Property
|
||||||
''' <summary>Opzione Maintenance</summary>
|
|
||||||
Public ReadOnly Property Maintenance_Enabled() As Boolean
|
Private _OpPanel_Enabled As Boolean
|
||||||
Get
|
''' <summary>Opzione OpPanel</summary>
|
||||||
Return Me._Maintenance_Enabled
|
Public ReadOnly Property OpPanel_Enabled() As Boolean
|
||||||
End Get
|
Get
|
||||||
End Property
|
Return Me._OpPanel_Enabled
|
||||||
|
End Get
|
||||||
Private _OpPanel_Enabled As Boolean
|
End Property
|
||||||
''' <summary>Opzione OpPanel</summary>
|
|
||||||
Public ReadOnly Property OpPanel_Enabled() As Boolean
|
Private _Launch_Enabled As Boolean
|
||||||
Get
|
''' <summary>Opzione Launch</summary>
|
||||||
Return Me._OpPanel_Enabled
|
Public ReadOnly Property Launch_Enabled() As Boolean
|
||||||
End Get
|
Get
|
||||||
End Property
|
Return Me._Launch_Enabled
|
||||||
|
End Get
|
||||||
Private _Launch_Enabled As Boolean
|
End Property
|
||||||
''' <summary>Opzione Launch</summary>
|
Private _TcpSocket_Enabled As Boolean
|
||||||
Public ReadOnly Property Launch_Enabled() As Boolean
|
''' <summary>Opzione TcpSocket</summary>
|
||||||
Get
|
Public ReadOnly Property TcpSocket_Enabled() As Boolean
|
||||||
Return Me._Launch_Enabled
|
Get
|
||||||
End Get
|
Return Me._TcpSocket_Enabled
|
||||||
End Property
|
End Get
|
||||||
Private _TcpSocket_Enabled As Boolean
|
End Property
|
||||||
''' <summary>Opzione TcpSocket</summary>
|
|
||||||
Public ReadOnly Property TcpSocket_Enabled() As Boolean
|
Private _ToolTable_Enabled As Boolean
|
||||||
Get
|
''' <summary>Opzione ToolTable</summary>
|
||||||
Return Me._TcpSocket_Enabled
|
Public ReadOnly Property ToolTable_Enabled() As Boolean
|
||||||
End Get
|
Get
|
||||||
End Property
|
Return Me._ToolTable_Enabled
|
||||||
|
End Get
|
||||||
Private _ToolTable_Enabled As Boolean
|
|
||||||
''' <summary>Opzione ToolTable</summary>
|
End Property
|
||||||
Public ReadOnly Property ToolTable_Enabled() As Boolean
|
|
||||||
Get
|
Private _ToolTable_Famiglie As Boolean
|
||||||
Return Me._ToolTable_Enabled
|
''' <summary>Opzione Famiglie</summary>
|
||||||
End Get
|
Public ReadOnly Property ToolTable_Famiglie() As Boolean
|
||||||
|
Get
|
||||||
End Property
|
Return Me._ToolTable_Famiglie
|
||||||
|
End Get
|
||||||
Private _ToolTable_Famiglie As Boolean
|
End Property
|
||||||
''' <summary>Opzione Famiglie</summary>
|
|
||||||
Public ReadOnly Property ToolTable_Famiglie() As Boolean
|
Private _ToolTable_Vita As Boolean
|
||||||
Get
|
''' <summary>Opzione Vita</summary>
|
||||||
Return Me._ToolTable_Famiglie
|
Public ReadOnly Property ToolTable_Vita() As Boolean
|
||||||
End Get
|
Get
|
||||||
End Property
|
Return (Me._ToolTable_Vita_S Or Me._ToolTable_Vita_N Or Me._ToolTable_Vita_M)
|
||||||
|
End Get
|
||||||
Private _ToolTable_Vita As Boolean
|
End Property
|
||||||
''' <summary>Opzione Vita</summary>
|
|
||||||
Public ReadOnly Property ToolTable_Vita() As Boolean
|
Private _ToolTable_Vita_S As Boolean
|
||||||
Get
|
''' <summary>Opzione Vita a Tempo</summary>
|
||||||
Return (Me._ToolTable_Vita_S Or Me._ToolTable_Vita_N Or Me._ToolTable_Vita_m)
|
Public ReadOnly Property ToolTable_Vita_S() As Boolean
|
||||||
End Get
|
Get
|
||||||
End Property
|
Return Me._ToolTable_Vita_S
|
||||||
|
End Get
|
||||||
Private _ToolTable_Vita_S As Boolean
|
End Property
|
||||||
''' <summary>Opzione Vita a Tempo</summary>
|
|
||||||
Public ReadOnly Property ToolTable_Vita_S() As Boolean
|
Private _ToolTable_Vita_N As Boolean
|
||||||
Get
|
''' <summary>Opzione Vita a Cicli o Colpi</summary>
|
||||||
Return Me._ToolTable_Vita_S
|
Public ReadOnly Property ToolTable_Vita_N() As Boolean
|
||||||
End Get
|
Get
|
||||||
End Property
|
Return Me._ToolTable_Vita_N
|
||||||
|
End Get
|
||||||
Private _ToolTable_Vita_N As Boolean
|
End Property
|
||||||
''' <summary>Opzione Vita a Cicli o Colpi</summary>
|
|
||||||
Public ReadOnly Property ToolTable_Vita_N() As Boolean
|
Private _ToolTable_Vita_M As Boolean
|
||||||
Get
|
''' <summary>Opzione Vita a Profilo</summary>
|
||||||
Return Me._ToolTable_Vita_N
|
Public ReadOnly Property ToolTable_Vita_M() As Boolean
|
||||||
End Get
|
Get
|
||||||
End Property
|
Return Me._ToolTable_Vita_M
|
||||||
|
End Get
|
||||||
Private _ToolTable_Vita_M As Boolean
|
End Property
|
||||||
''' <summary>Opzione Vita a Profilo</summary>
|
|
||||||
Public ReadOnly Property ToolTable_Vita_M() As Boolean
|
Private _ToolTable_AttrezzaggioAutomatico As Boolean
|
||||||
Get
|
''' <summary>Opzione Attrezzaggio Automatico</summary>
|
||||||
Return Me._ToolTable_Vita_M
|
Public ReadOnly Property ToolTable_AttrezzaggioAutomatico() As Boolean
|
||||||
End Get
|
Get
|
||||||
End Property
|
Return Me._ToolTable_AttrezzaggioAutomatico
|
||||||
|
End Get
|
||||||
Private _ToolTable_AttrezzaggioAutomatico As Boolean
|
End Property
|
||||||
''' <summary>Opzione Attrezzaggio Automatico</summary>
|
|
||||||
Public ReadOnly Property ToolTable_AttrezzaggioAutomatico() As Boolean
|
Private _ToolTable_PercorsoAutoadattativo As Boolean
|
||||||
Get
|
''' <summary>Opzione Percorso Autoadattativo</summary>
|
||||||
Return Me._ToolTable_AttrezzaggioAutomatico
|
Public ReadOnly Property ToolTable_PercorsoAutoadattativo() As Boolean
|
||||||
End Get
|
Get
|
||||||
End Property
|
Return Me._ToolTable_PercorsoAutoadattativo
|
||||||
|
End Get
|
||||||
Private _ToolTable_PercorsoAutoadattativo As Boolean
|
End Property
|
||||||
''' <summary>Opzione Percorso Autoadattativo</summary>
|
|
||||||
Public ReadOnly Property ToolTable_PercorsoAutoadattativo() As Boolean
|
Private _ToolTable_Multiprofilo As Boolean
|
||||||
Get
|
''' <summary>Opzione Multiprofilo</summary>
|
||||||
Return Me._ToolTable_PercorsoAutoadattativo
|
Public ReadOnly Property ToolTable_Multiprofilo() As Boolean
|
||||||
End Get
|
Get
|
||||||
End Property
|
Return Me._ToolTable_Multiprofilo
|
||||||
|
End Get
|
||||||
Private _ToolTable_Multiprofilo As Boolean
|
End Property
|
||||||
''' <summary>Opzione Multiprofilo</summary>
|
|
||||||
Public ReadOnly Property ToolTable_Multiprofilo() As Boolean
|
Private _ToolTable_CompensazioneDinamica As Boolean
|
||||||
Get
|
''' <summary>Opzione Compensazione Dinamica</summary>
|
||||||
Return Me._ToolTable_Multiprofilo
|
Public ReadOnly Property ToolTable_CompensazioneDinamica() As Boolean
|
||||||
End Get
|
Get
|
||||||
End Property
|
Return Me._ToolTable_CompensazioneDinamica
|
||||||
|
End Get
|
||||||
Private _ToolTable_CompensazioneDinamica As Boolean
|
End Property
|
||||||
''' <summary>Opzione Compensazione Dinamica</summary>
|
|
||||||
Public ReadOnly Property ToolTable_CompensazioneDinamica() As Boolean
|
Private _ToolTable_Offset As Boolean
|
||||||
Get
|
''' <summary>Opzione Offset</summary>
|
||||||
Return Me._ToolTable_CompensazioneDinamica
|
Public ReadOnly Property ToolTable_Offset() As Boolean
|
||||||
End Get
|
Get
|
||||||
End Property
|
Return Me._ToolTable_Offset
|
||||||
|
End Get
|
||||||
Private _ToolTable_Offset As Boolean
|
End Property
|
||||||
''' <summary>Opzione Offset</summary>
|
|
||||||
Public ReadOnly Property ToolTable_Offset() As Boolean
|
Private _ToolTable_FeedMax As Boolean
|
||||||
Get
|
''' <summary>Opzione FeedMax</summary>
|
||||||
Return Me._ToolTable_Offset
|
Public ReadOnly Property ToolTable_FeedMax() As Boolean
|
||||||
End Get
|
Get
|
||||||
End Property
|
Return Me._ToolTable_FeedMax
|
||||||
|
End Get
|
||||||
Private _ToolTable_FeedMax As Boolean
|
End Property
|
||||||
''' <summary>Opzione FeedMax</summary>
|
|
||||||
Public ReadOnly Property ToolTable_FeedMax() As Boolean
|
Private _ToolTable_Gamme As Boolean
|
||||||
Get
|
''' <summary>Opzione Gamme</summary>
|
||||||
Return Me._ToolTable_FeedMax
|
Public ReadOnly Property ToolTable_Gamme() As Boolean
|
||||||
End Get
|
Get
|
||||||
End Property
|
Return Me._ToolTable_Gamme
|
||||||
|
End Get
|
||||||
Private _ToolTable_Gamme As Boolean
|
End Property
|
||||||
''' <summary>Opzione Gamme</summary>
|
|
||||||
Public ReadOnly Property ToolTable_Gamme() As Boolean
|
Private _ToolTable_Manine As Boolean
|
||||||
Get
|
''' <summary>Opzione Manine</summary>
|
||||||
Return Me._ToolTable_Gamme
|
Public ReadOnly Property ToolTable_Manine() As Boolean
|
||||||
End Get
|
Get
|
||||||
End Property
|
Return Me._ToolTable_Manine
|
||||||
|
End Get
|
||||||
Private _ToolTable_Manine As Boolean
|
End Property
|
||||||
''' <summary>Opzione Manine</summary>
|
|
||||||
Public ReadOnly Property ToolTable_Manine() As Boolean
|
|
||||||
Get
|
Private _ToolTable_MaxToolsManaged As Integer
|
||||||
Return Me._ToolTable_Manine
|
''' <summary>Massimo numero di utensili gestibili</summary>
|
||||||
End Get
|
Public ReadOnly Property ToolTable_MaxToolsManaged() As Integer
|
||||||
End Property
|
Get
|
||||||
|
Return Me._ToolTable_MaxToolsManaged
|
||||||
|
End Get
|
||||||
Private _ToolTable_MaxToolsManaged As Integer
|
End Property
|
||||||
''' <summary>Massimo numero di utensili gestibili</summary>
|
|
||||||
Public ReadOnly Property ToolTable_MaxToolsManaged() As Integer
|
Private _ToolTable_Inch As Boolean
|
||||||
Get
|
''' <summary>Opzione gestione in Pollici</summary>
|
||||||
Return Me._ToolTable_MaxToolsManaged
|
Public ReadOnly Property ToolTable_Inch() As Boolean
|
||||||
End Get
|
Get
|
||||||
End Property
|
Return Me._ToolTable_Inch
|
||||||
|
End Get
|
||||||
Private _ToolTable_Inch As Boolean
|
End Property
|
||||||
''' <summary>Opzione gestione in Pollici</summary>
|
|
||||||
Public ReadOnly Property ToolTable_Inch() As Boolean
|
Private _ToolTable_Diameter As Boolean
|
||||||
Get
|
''' <summary>Opzione gestione Diametro</summary>
|
||||||
Return Me._ToolTable_Inch
|
Public ReadOnly Property ToolTable_Diameter() As Boolean
|
||||||
End Get
|
Get
|
||||||
End Property
|
Return Me._ToolTable_Diameter
|
||||||
|
End Get
|
||||||
Private _ToolTable_Diameter As Boolean
|
End Property
|
||||||
''' <summary>Opzione gestione Diametro</summary>
|
|
||||||
Public ReadOnly Property ToolTable_Diameter() As Boolean
|
Private _ToolTable_AttrezzaggioInRun As Boolean
|
||||||
Get
|
''' <summary>Opzione modifica con macchina in RUN</summary>
|
||||||
Return Me._ToolTable_Diameter
|
Public ReadOnly Property ToolTable_AttrezzaggioInRun() As Boolean
|
||||||
End Get
|
Get
|
||||||
End Property
|
Return Me._ToolTable_AttrezzaggioInRun
|
||||||
|
End Get
|
||||||
Private _ToolTable_AttrezzaggioInRun As Boolean
|
End Property
|
||||||
''' <summary>Opzione modifica con macchina in RUN</summary>
|
|
||||||
Public ReadOnly Property ToolTable_AttrezzaggioInRun() As Boolean
|
Private _ToolTable_AttrezzaggioAssistito As Boolean
|
||||||
Get
|
''' <summary>Opzione Attrezzaggio magazzini inaccessibili tramite macchina</summary>
|
||||||
Return Me._ToolTable_AttrezzaggioInRun
|
Public ReadOnly Property ToolTable_AttrezzaggioAssistito() As Boolean
|
||||||
End Get
|
Get
|
||||||
End Property
|
Return Me._ToolTable_AttrezzaggioAssistito
|
||||||
|
End Get
|
||||||
Private _ToolTable_AttrezzaggioAssistito As Boolean
|
End Property
|
||||||
''' <summary>Opzione Attrezzaggio magazzini inaccessibili tramite macchina</summary>
|
|
||||||
Public ReadOnly Property ToolTable_AttrezzaggioAssistito() As Boolean
|
Private _ToolTable_SharedDB As Boolean
|
||||||
Get
|
''' <summary>Opzione magazzino utensili condiviso tra più macchine</summary>
|
||||||
Return Me._ToolTable_AttrezzaggioAssistito
|
Public ReadOnly Property ToolTable_SharedDB() As Boolean
|
||||||
End Get
|
Get
|
||||||
End Property
|
Return Me._ToolTable_SharedDB
|
||||||
|
End Get
|
||||||
Private _ToolTable_SharedDB As Boolean
|
End Property
|
||||||
''' <summary>Opzione magazzino utensili condiviso tra più macchine</summary>
|
Private _ToolTable_AllowRemote As Boolean
|
||||||
Public ReadOnly Property ToolTable_SharedDB() As Boolean
|
''' <summary>Opzione AllowRemote Tool Table</summary>
|
||||||
Get
|
Public ReadOnly Property ToolTable_AllowRemote() As Boolean
|
||||||
Return Me._ToolTable_SharedDB
|
Get
|
||||||
End Get
|
Return Me._ToolTable_AllowRemote
|
||||||
End Property
|
End Get
|
||||||
Private _ToolTable_AllowRemote As Boolean
|
End Property
|
||||||
''' <summary>Opzione AllowRemote Tool Table</summary>
|
Public Shared Sub CreateOptions(ByVal sPathF As String)
|
||||||
Public ReadOnly Property ToolTable_AllowRemote() As Boolean
|
If CurrentOptions Is Nothing Then
|
||||||
Get
|
CurrentOptions = New Options
|
||||||
Return Me._ToolTable_AllowRemote
|
End If
|
||||||
End Get
|
|
||||||
End Property
|
' Memorizzo il percorso del file INI
|
||||||
Public Shared Sub CreateOptions(ByVal sPathF As String)
|
sPathFile = sPathF
|
||||||
If CurrentOptions Is Nothing Then
|
|
||||||
CurrentOptions = New Options
|
CurrentOptions.LoadOptions()
|
||||||
End If
|
End Sub
|
||||||
|
|
||||||
' Memorizzo il percorso del file INI
|
'carica le opzioni da file
|
||||||
sPathFile = sPathF
|
Private Sub LoadOptions()
|
||||||
|
''leggo la matricola dal cn
|
||||||
CurrentOptions.LoadOptions()
|
''se non è possibile disabilito tutto e chiedo che venga attivata la connessione
|
||||||
End Sub
|
''se leggo 0 avviso che la metricola deve essere popolata
|
||||||
|
|
||||||
'carica le opzioni da file
|
''leggo il codice dal file
|
||||||
Private Sub LoadOptions()
|
''valore = decodifica(valoreletto, matricola, passwordpubblica)
|
||||||
''leggo la matricola dal cn
|
|
||||||
''se non è possibile disabilito tutto e chiedo che venga attivata la connessione
|
Dim szFileIni As String
|
||||||
''se leggo 0 avviso che la metricola deve essere popolata
|
Dim Ini As App.Native.Ini
|
||||||
|
|
||||||
''leggo il codice dal file
|
' imposto il nome del file
|
||||||
''valore = decodifica(valoreletto, matricola, passwordpubblica)
|
szFileIni = sPathFile & "\" & My.Application.Info.AssemblyName & ".ini"
|
||||||
|
|
||||||
Dim szFileIni As String
|
' verifico che esista il file
|
||||||
Dim Ini As App.Native.Ini
|
If My.Computer.FileSystem.FileExists(szFileIni) Then
|
||||||
|
'istanzio la classe di gestione del file
|
||||||
' imposto il nome del file
|
Ini = New App.Native.Ini(szFileIni)
|
||||||
szFileIni = sPathFile & "\" & My.Application.Info.AssemblyName & ".ini"
|
'leggo i settaggi dal file
|
||||||
|
Me._Machine_Enabled = Ini.GetBoolean("OPTIONS", "MACHINE_ENABLED", 0)
|
||||||
' verifico che esista il file
|
Me._Maintenance_Enabled = Ini.GetBoolean("OPTIONS", "MAINTENANCE_ENABLED", 0)
|
||||||
If My.Computer.FileSystem.FileExists(szFileIni) Then
|
Me._OpPanel_Enabled = Ini.GetBoolean("OPTIONS", "OPPANEL_ENABLED", 0)
|
||||||
'istanzio la classe di gestione del file
|
Me._Launch_Enabled = Ini.GetBoolean("OPTIONS", "LAUNCH_ENABLED", 0)
|
||||||
Ini = New App.Native.Ini(szFileIni)
|
Me._TcpSocket_Enabled = Ini.GetBoolean("OPTIONS", "TCPSOCKET_ENABLED", 0)
|
||||||
'leggo i settaggi dal file
|
Me._ToolTable_Enabled = Ini.GetBoolean("OPTIONS", "TOOLTABLE_ENABLED", 0)
|
||||||
Me._Machine_Enabled = Ini.GetBoolean("OPTIONS", "MACHINE_ENABLED", 0)
|
Me._ToolTable_Famiglie = Ini.GetBoolean("OPTIONS", "TOOLTABLE_FAMIGLIE", 0)
|
||||||
Me._Maintenance_Enabled = Ini.GetBoolean("OPTIONS", "MAINTENANCE_ENABLED", 0)
|
Me._ToolTable_Vita_S = Ini.GetBoolean("OPTIONS", "TOOLTABLE_VITA_S", 0)
|
||||||
Me._OpPanel_Enabled = Ini.GetBoolean("OPTIONS", "OPPANEL_ENABLED", 0)
|
Me._ToolTable_Vita_N = Ini.GetBoolean("OPTIONS", "TOOLTABLE_VITA_N", 0)
|
||||||
Me._Launch_Enabled = Ini.GetBoolean("OPTIONS", "LAUNCH_ENABLED", 0)
|
Me._ToolTable_Vita_M = Ini.GetBoolean("OPTIONS", "TOOLTABLE_VITA_M", 0)
|
||||||
Me._TcpSocket_Enabled = Ini.GetBoolean("OPTIONS", "TCPSOCKET_ENABLED", 0)
|
Me._ToolTable_Multiprofilo = Ini.GetBoolean("OPTIONS", "TOOLTABLE_MULTIPROFILO", 0)
|
||||||
Me._ToolTable_Enabled = Ini.GetBoolean("OPTIONS", "TOOLTABLE_ENABLED", 0)
|
Me._ToolTable_AttrezzaggioAutomatico = Ini.GetBoolean("OPTIONS", "TOOLTABLE_ATTREZZAGGIOAUTOMATICO", 0)
|
||||||
Me._ToolTable_Famiglie = Ini.GetBoolean("OPTIONS", "TOOLTABLE_FAMIGLIE", 0)
|
Me._ToolTable_PercorsoAutoadattativo = Ini.GetBoolean("OPTIONS", "TOOLTABLE_PERCORSOAUTOADATTATIVO", 0)
|
||||||
Me._ToolTable_Vita_S = Ini.GetBoolean("OPTIONS", "TOOLTABLE_VITA_S", 0)
|
Me._ToolTable_CompensazioneDinamica = Ini.GetBoolean("OPTIONS", "TOOLTABLE_COMPENSAZIONEDINAMICA", 0)
|
||||||
Me._ToolTable_Vita_N = Ini.GetBoolean("OPTIONS", "TOOLTABLE_VITA_N", 0)
|
Me._ToolTable_Offset = Ini.GetBoolean("OPTIONS", "TOOLTABLE_OFFSET", 0)
|
||||||
Me._ToolTable_Vita_M = Ini.GetBoolean("OPTIONS", "TOOLTABLE_VITA_M", 0)
|
Me._ToolTable_FeedMax = Ini.GetBoolean("OPTIONS", "TOOLTABLE_FEEDMAX", 0)
|
||||||
Me._ToolTable_Multiprofilo = Ini.GetBoolean("OPTIONS", "TOOLTABLE_MULTIPROFILO", 0)
|
Me._ToolTable_Gamme = Ini.GetBoolean("OPTIONS", "TOOLTABLE_GAMME", 0)
|
||||||
Me._ToolTable_AttrezzaggioAutomatico = Ini.GetBoolean("OPTIONS", "TOOLTABLE_ATTREZZAGGIOAUTOMATICO", 0)
|
Me._ToolTable_Manine = Ini.GetBoolean("OPTIONS", "TOOLTABLE_MANINE", 0)
|
||||||
Me._ToolTable_PercorsoAutoadattativo = Ini.GetBoolean("OPTIONS", "TOOLTABLE_PERCORSOAUTOADATTATIVO", 0)
|
'Me._ToolTable_GeometryManagement = Ini.GetInteger("OPTIONS", "TOOLTABLE_GEOMETRYMANAGEMENT", 0)
|
||||||
Me._ToolTable_CompensazioneDinamica = Ini.GetBoolean("OPTIONS", "TOOLTABLE_COMPENSAZIONEDINAMICA", 0)
|
Me._ToolTable_MaxToolsManaged = Ini.GetInteger("OPTIONS", "TOOLTABLE_MAXTOOLSMANAGED", 0)
|
||||||
Me._ToolTable_Offset = Ini.GetBoolean("OPTIONS", "TOOLTABLE_OFFSET", 0)
|
Me._ToolTable_Inch = Ini.GetBoolean("OPTIONS", "TOOLTABLE_INCH", 0)
|
||||||
Me._ToolTable_FeedMax = Ini.GetBoolean("OPTIONS", "TOOLTABLE_FEEDMAX", 0)
|
Me._ToolTable_Diameter = IIf(CNC.Runtime.NC.Type = CNC.CNC.NcType.OSAI, True, False) 'Ini.GetBoolean("OPTIONS", "TOOLTABLE_DIAMETER", 0)
|
||||||
Me._ToolTable_Gamme = Ini.GetBoolean("OPTIONS", "TOOLTABLE_GAMME", 0)
|
Me._ToolTable_AttrezzaggioInRun = Ini.GetBoolean("OPTIONS", "TOOLTABLE_ATTREZZAGGIO_IN_RUN", 0)
|
||||||
Me._ToolTable_Manine = Ini.GetBoolean("OPTIONS", "TOOLTABLE_MANINE", 0)
|
Me._ToolTable_AttrezzaggioAssistito = Ini.GetBoolean("OPTIONS", "TOOLTABLE_ATTREZZAGGIO_ASSISTITO", 0)
|
||||||
'Me._ToolTable_GeometryManagement = Ini.GetInteger("OPTIONS", "TOOLTABLE_GEOMETRYMANAGEMENT", 0)
|
|
||||||
Me._ToolTable_MaxToolsManaged = Ini.GetInteger("OPTIONS", "TOOLTABLE_MAXTOOLSMANAGED", 0)
|
|
||||||
Me._ToolTable_Inch = Ini.GetBoolean("OPTIONS", "TOOLTABLE_INCH", 0)
|
' Se è attiva l'opzione ToolTable_Remote, l'AllowRemote e SharedDB sono ignorati
|
||||||
Me._ToolTable_Diameter = IIf(CNC.Runtime.NC.Type = CNC.CNC.NcType.OSAI, True, False) 'Ini.GetBoolean("OPTIONS", "TOOLTABLE_DIAMETER", 0)
|
If Config.Settings.Settings.ToolTable_Remote Then
|
||||||
Me._ToolTable_AttrezzaggioInRun = Ini.GetBoolean("OPTIONS", "TOOLTABLE_ATTREZZAGGIO_IN_RUN", 0)
|
Me._ToolTable_AllowRemote = False
|
||||||
Me._ToolTable_AttrezzaggioAssistito = Ini.GetBoolean("OPTIONS", "TOOLTABLE_ATTREZZAGGIO_ASSISTITO", 0)
|
Me._ToolTable_SharedDB = False
|
||||||
|
Else
|
||||||
|
Me._ToolTable_AllowRemote = Ini.GetBoolean("OPTIONS", "TOOLTABLE_ALLOWREMOTE", 0)
|
||||||
' Se è attiva l'opzione ToolTable_Remote, l'AllowRemote e SharedDB sono ignorati
|
Me._ToolTable_SharedDB = Ini.GetBoolean("OPTIONS", "TOOLTABLE_SHAREDDB", 0)
|
||||||
If Config.Settings.Settings.ToolTable_Remote Then
|
End If
|
||||||
Me._ToolTable_AllowRemote = False
|
Else
|
||||||
Me._ToolTable_SharedDB = False
|
'CMSCncLib.App.Runtime.Log.WW("ERR LoadOptions", String.Format("File {0} not found", szFileIni), True)
|
||||||
Else
|
End If
|
||||||
Me._ToolTable_AllowRemote = Ini.GetBoolean("OPTIONS", "TOOLTABLE_ALLOWREMOTE", 0)
|
|
||||||
Me._ToolTable_SharedDB = Ini.GetBoolean("OPTIONS", "TOOLTABLE_SHAREDDB", 0)
|
End Sub
|
||||||
End If
|
|
||||||
Else
|
'verifica che le opzioni sul cn siano coerenti, se no le corregge
|
||||||
'CMSCncLib.App.Runtime.Log.WW("ERR LoadOptions", String.Format("File {0} not found", szFileIni), True)
|
Private Sub CheckOptions()
|
||||||
End If
|
''leggo le opzioni dal cn
|
||||||
|
|
||||||
End Sub
|
''verifico che siano uguali a quelle del file, se no modifico il cn e avviso l'utente della modifica
|
||||||
|
End Sub
|
||||||
'verifica che le opzioni sul cn siano coerenti, se no le corregge
|
|
||||||
Private Sub CheckOptions()
|
|
||||||
''leggo le opzioni dal cn
|
End Class
|
||||||
|
End Namespace
|
||||||
''verifico che siano uguali a quelle del file, se no modifico il cn e avviso l'utente della modifica
|
|
||||||
End Sub
|
|
||||||
|
|
||||||
|
|
||||||
End Class
|
|
||||||
End Namespace
|
|
||||||
|
|||||||
File diff suppressed because it is too large
Load Diff
Binary file not shown.
Binary file not shown.
+4
-4
@@ -1,10 +1,10 @@
|
|||||||
'------------------------------------------------------------------------------
|
'------------------------------------------------------------------------------
|
||||||
' <auto-generated>
|
' <auto-generated>
|
||||||
' Il codice è stato generato da uno strumento.
|
' This code was generated by a tool.
|
||||||
' Versione runtime:4.0.30319.42000
|
' Runtime Version:4.0.30319.42000
|
||||||
'
|
'
|
||||||
' Le modifiche apportate a questo file possono provocare un comportamento non corretto e andranno perse se
|
' Changes to this file may cause incorrect behavior and will be lost if
|
||||||
' il codice viene rigenerato.
|
' the code is regenerated.
|
||||||
' </auto-generated>
|
' </auto-generated>
|
||||||
'------------------------------------------------------------------------------
|
'------------------------------------------------------------------------------
|
||||||
|
|
||||||
|
|||||||
+13
-13
@@ -1,10 +1,10 @@
|
|||||||
'------------------------------------------------------------------------------
|
'------------------------------------------------------------------------------
|
||||||
' <auto-generated>
|
' <auto-generated>
|
||||||
' Il codice è stato generato da uno strumento.
|
' This code was generated by a tool.
|
||||||
' Versione runtime:4.0.30319.42000
|
' Runtime Version:4.0.30319.42000
|
||||||
'
|
'
|
||||||
' Le modifiche apportate a questo file possono provocare un comportamento non corretto e andranno perse se
|
' Changes to this file may cause incorrect behavior and will be lost if
|
||||||
' il codice viene rigenerato.
|
' the code is regenerated.
|
||||||
' </auto-generated>
|
' </auto-generated>
|
||||||
'------------------------------------------------------------------------------
|
'------------------------------------------------------------------------------
|
||||||
|
|
||||||
@@ -15,14 +15,14 @@ Imports System
|
|||||||
|
|
||||||
Namespace My.Resources
|
Namespace My.Resources
|
||||||
|
|
||||||
'Questa classe è stata generata automaticamente dalla classe StronglyTypedResourceBuilder.
|
'This class was auto-generated by the StronglyTypedResourceBuilder
|
||||||
'tramite uno strumento quale ResGen o Visual Studio.
|
'class via a tool like ResGen or Visual Studio.
|
||||||
'Per aggiungere o rimuovere un membro, modificare il file con estensione ResX ed eseguire nuovamente ResGen
|
'To add or remove a member, edit your .ResX file then rerun ResGen
|
||||||
'con l'opzione /str oppure ricompilare il progetto VS.
|
'with the /str option, or rebuild your VS project.
|
||||||
'''<summary>
|
'''<summary>
|
||||||
''' Classe di risorse fortemente tipizzata per la ricerca di stringhe localizzate e così via.
|
''' A strongly-typed resource class, for looking up localized strings, etc.
|
||||||
'''</summary>
|
'''</summary>
|
||||||
<Global.System.CodeDom.Compiler.GeneratedCodeAttribute("System.Resources.Tools.StronglyTypedResourceBuilder", "4.0.0.0"), _
|
<Global.System.CodeDom.Compiler.GeneratedCodeAttribute("System.Resources.Tools.StronglyTypedResourceBuilder", "16.0.0.0"), _
|
||||||
Global.System.Diagnostics.DebuggerNonUserCodeAttribute(), _
|
Global.System.Diagnostics.DebuggerNonUserCodeAttribute(), _
|
||||||
Global.System.Runtime.CompilerServices.CompilerGeneratedAttribute(), _
|
Global.System.Runtime.CompilerServices.CompilerGeneratedAttribute(), _
|
||||||
Global.Microsoft.VisualBasic.HideModuleNameAttribute()> _
|
Global.Microsoft.VisualBasic.HideModuleNameAttribute()> _
|
||||||
@@ -33,7 +33,7 @@ Namespace My.Resources
|
|||||||
Private resourceCulture As Global.System.Globalization.CultureInfo
|
Private resourceCulture As Global.System.Globalization.CultureInfo
|
||||||
|
|
||||||
'''<summary>
|
'''<summary>
|
||||||
''' Restituisce l'istanza di ResourceManager nella cache utilizzata da questa classe.
|
''' Returns the cached ResourceManager instance used by this class.
|
||||||
'''</summary>
|
'''</summary>
|
||||||
<Global.System.ComponentModel.EditorBrowsableAttribute(Global.System.ComponentModel.EditorBrowsableState.Advanced)> _
|
<Global.System.ComponentModel.EditorBrowsableAttribute(Global.System.ComponentModel.EditorBrowsableState.Advanced)> _
|
||||||
Friend ReadOnly Property ResourceManager() As Global.System.Resources.ResourceManager
|
Friend ReadOnly Property ResourceManager() As Global.System.Resources.ResourceManager
|
||||||
@@ -47,8 +47,8 @@ Namespace My.Resources
|
|||||||
End Property
|
End Property
|
||||||
|
|
||||||
'''<summary>
|
'''<summary>
|
||||||
''' Esegue l'override della proprietà CurrentUICulture del thread corrente per tutte le
|
''' Overrides the current thread's CurrentUICulture property for all
|
||||||
''' ricerche di risorse eseguite utilizzando questa classe di risorse fortemente tipizzata.
|
''' resource lookups using this strongly typed resource class.
|
||||||
'''</summary>
|
'''</summary>
|
||||||
<Global.System.ComponentModel.EditorBrowsableAttribute(Global.System.ComponentModel.EditorBrowsableState.Advanced)> _
|
<Global.System.ComponentModel.EditorBrowsableAttribute(Global.System.ComponentModel.EditorBrowsableState.Advanced)> _
|
||||||
Friend Property Culture() As Global.System.Globalization.CultureInfo
|
Friend Property Culture() As Global.System.Globalization.CultureInfo
|
||||||
|
|||||||
+7
-7
@@ -1,10 +1,10 @@
|
|||||||
'------------------------------------------------------------------------------
|
'------------------------------------------------------------------------------
|
||||||
' <auto-generated>
|
' <auto-generated>
|
||||||
' Il codice è stato generato da uno strumento.
|
' This code was generated by a tool.
|
||||||
' Versione runtime:4.0.30319.42000
|
' Runtime Version:4.0.30319.42000
|
||||||
'
|
'
|
||||||
' Le modifiche apportate a questo file possono provocare un comportamento non corretto e andranno perse se
|
' Changes to this file may cause incorrect behavior and will be lost if
|
||||||
' il codice viene rigenerato.
|
' the code is regenerated.
|
||||||
' </auto-generated>
|
' </auto-generated>
|
||||||
'------------------------------------------------------------------------------
|
'------------------------------------------------------------------------------
|
||||||
|
|
||||||
@@ -15,21 +15,21 @@ Option Explicit On
|
|||||||
Namespace My
|
Namespace My
|
||||||
|
|
||||||
<Global.System.Runtime.CompilerServices.CompilerGeneratedAttribute(), _
|
<Global.System.Runtime.CompilerServices.CompilerGeneratedAttribute(), _
|
||||||
Global.System.CodeDom.Compiler.GeneratedCodeAttribute("Microsoft.VisualStudio.Editors.SettingsDesigner.SettingsSingleFileGenerator", "14.0.0.0"), _
|
Global.System.CodeDom.Compiler.GeneratedCodeAttribute("Microsoft.VisualStudio.Editors.SettingsDesigner.SettingsSingleFileGenerator", "16.5.0.0"), _
|
||||||
Global.System.ComponentModel.EditorBrowsableAttribute(Global.System.ComponentModel.EditorBrowsableState.Advanced)> _
|
Global.System.ComponentModel.EditorBrowsableAttribute(Global.System.ComponentModel.EditorBrowsableState.Advanced)> _
|
||||||
Partial Friend NotInheritable Class MySettings
|
Partial Friend NotInheritable Class MySettings
|
||||||
Inherits Global.System.Configuration.ApplicationSettingsBase
|
Inherits Global.System.Configuration.ApplicationSettingsBase
|
||||||
|
|
||||||
Private Shared defaultInstance As MySettings = CType(Global.System.Configuration.ApplicationSettingsBase.Synchronized(New MySettings()),MySettings)
|
Private Shared defaultInstance As MySettings = CType(Global.System.Configuration.ApplicationSettingsBase.Synchronized(New MySettings()),MySettings)
|
||||||
|
|
||||||
#Region "Funzionalità di salvataggio automatico My.Settings"
|
#Region "My.Settings Auto-Save Functionality"
|
||||||
#If _MyType = "WindowsForms" Then
|
#If _MyType = "WindowsForms" Then
|
||||||
Private Shared addedHandler As Boolean
|
Private Shared addedHandler As Boolean
|
||||||
|
|
||||||
Private Shared addedHandlerLockObject As New Object
|
Private Shared addedHandlerLockObject As New Object
|
||||||
|
|
||||||
<Global.System.Diagnostics.DebuggerNonUserCodeAttribute(), Global.System.ComponentModel.EditorBrowsableAttribute(Global.System.ComponentModel.EditorBrowsableState.Advanced)> _
|
<Global.System.Diagnostics.DebuggerNonUserCodeAttribute(), Global.System.ComponentModel.EditorBrowsableAttribute(Global.System.ComponentModel.EditorBrowsableState.Advanced)> _
|
||||||
Private Shared Sub AutoSaveSettings(ByVal sender As Global.System.Object, ByVal e As Global.System.EventArgs)
|
Private Shared Sub AutoSaveSettings(sender As Global.System.Object, e As Global.System.EventArgs)
|
||||||
If My.Application.SaveMySettingsOnExit Then
|
If My.Application.SaveMySettingsOnExit Then
|
||||||
My.Settings.Save()
|
My.Settings.Save()
|
||||||
End If
|
End If
|
||||||
|
|||||||
File diff suppressed because it is too large
Load Diff
@@ -30,4 +30,4 @@
|
|||||||
<endpoint address="http://192.168.20.2:8080" binding="basicHttpBinding" bindingConfiguration="OPENcontrol" contract="OPENcontrol.OPENcontrolPortType" name="OPENcontrol"/>
|
<endpoint address="http://192.168.20.2:8080" binding="basicHttpBinding" bindingConfiguration="OPENcontrol" contract="OPENcontrol.OPENcontrolPortType" name="OPENcontrol"/>
|
||||||
</client>
|
</client>
|
||||||
</system.serviceModel>
|
</system.serviceModel>
|
||||||
<startup><supportedRuntime version="v4.0" sku=".NETFramework,Version=v4.5.2"/></startup></configuration>
|
<startup><supportedRuntime version="v4.0" sku=".NETFramework,Version=v4.6.2"/></startup></configuration>
|
||||||
|
|||||||
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
@@ -0,0 +1,172 @@
|
|||||||
|
[SYS]
|
||||||
|
DEFCN=c:\kvara\Discoi
|
||||||
|
IOREDIR=c:\kvara\Discoi
|
||||||
|
CNINI=c:\kvara\DiscoC\Kvara.ini
|
||||||
|
;LINK=SERIALE
|
||||||
|
;LINK=NETWORK
|
||||||
|
LINK=SIMULATO
|
||||||
|
PERMISSION=APPLICATION
|
||||||
|
;CNSIGNAL=0
|
||||||
|
TMX=0
|
||||||
|
TMY=1
|
||||||
|
TMZ=4
|
||||||
|
|
||||||
|
[COM]
|
||||||
|
IPAddr=10.10.51.100
|
||||||
|
PORT=2
|
||||||
|
;BAUD=38400
|
||||||
|
;MODEM=1
|
||||||
|
;MODEMFILE=.\MODEM.INI
|
||||||
|
;DATATIMEOUT=2000
|
||||||
|
;ACKTIMEOUT=300
|
||||||
|
;SYNCTIMEOUT=1000
|
||||||
|
OPENCHTIMEOUT=20000
|
||||||
|
CLOSECHWAIT=1000
|
||||||
|
;INITSYNC=0
|
||||||
|
;DBG_INFO=8
|
||||||
|
WAITRESETINIT=5000
|
||||||
|
WAITRESETSYNC=5000
|
||||||
|
|
||||||
|
[PLC]
|
||||||
|
SIMDIR=c:\kvara\Logica\TAR
|
||||||
|
TARDIR=C:\PLC
|
||||||
|
|
||||||
|
[GLOBAL]
|
||||||
|
Language=ITA
|
||||||
|
Background=c:\kvara\res\Background.bmp
|
||||||
|
Mouse=ON
|
||||||
|
Dimensions=1200x800
|
||||||
|
Docked=R|D
|
||||||
|
FunKeyRedir=HV
|
||||||
|
;InitFile=Init
|
||||||
|
FunKeyStringDisplay=0
|
||||||
|
AlarmFile=c:\kvara\exe\AlrData.alm
|
||||||
|
StatusH = 50
|
||||||
|
HKeysHsH = 55
|
||||||
|
ExtFunKeyBtn=0
|
||||||
|
StartDrvKey500=0
|
||||||
|
|
||||||
|
[LoadApp]
|
||||||
|
Slave=.\Sim32.exe /0G /A144 /P32
|
||||||
|
NCrun=.\Ncrun.exe /L-
|
||||||
|
PLC=.\Lnk.exe
|
||||||
|
;ShDump=c:\kvara\exe\shdump /HIDE /F:A:shdump.gz
|
||||||
|
|
||||||
|
[CHA.PATH]
|
||||||
|
PGM=c:\kvara\DiscoC\ISO;c:\kvara\DiscoI\ISO;c:\kvara\DiscoD\MDI;c:\kvara\DiscoD\PGM;c:\kvara\DiscoD\TMP
|
||||||
|
CFU=c:\kvara\DiscoC\ISO;c:\kvara\DiscoI\ISO
|
||||||
|
MDI=c:\kvara\DiscoD\MDI
|
||||||
|
CFS=c:\kvara\DiscoC\ISO;c:\kvara\DiscoI\ISO
|
||||||
|
CFM=c:\kvara\DiscoC\ISO;c:\kvara\DiscoI\ISO
|
||||||
|
OVR=c:\kvara\DiscoC
|
||||||
|
PGMHOST=D:\TMP
|
||||||
|
PGMTMP=c:\kvara\DiscoD\TMP
|
||||||
|
CFCDLL=$
|
||||||
|
CVBDLL=$
|
||||||
|
APIODLL=$
|
||||||
|
PMIDLL=.
|
||||||
|
TMAPIDLL=$
|
||||||
|
|
||||||
|
SLAOSC=c:\kvara\DiscoI\SlaOsc.dll
|
||||||
|
SLADLL=c:\kvara\DiscoI\Sladll.dll
|
||||||
|
DGTDLL=c:\kvara\Discoi\mclink.dll
|
||||||
|
|
||||||
|
[CHA.EXT]
|
||||||
|
PGM=PGM
|
||||||
|
CFU=CFU
|
||||||
|
CFS=CFS
|
||||||
|
CFM=CFM
|
||||||
|
CST=CST
|
||||||
|
|
||||||
|
[ENV]
|
||||||
|
LOG=c:\kvara\DiscoF
|
||||||
|
FNZAUX=c:\kvara\DiscoC\ISO;c:\kvara\DiscoI\ISO
|
||||||
|
;FNZCST=c:\kvara\DiscoC\ISO
|
||||||
|
|
||||||
|
[UIM.PATH]
|
||||||
|
CFG=c:\kvara\Dati
|
||||||
|
HFG=c:\kvara\Dati
|
||||||
|
PIC=c:\kvara\Dati
|
||||||
|
DATA=c:\kvara\Dati\Par
|
||||||
|
HISTORY=c:\kvara\Dati
|
||||||
|
PLCERR=c:\kvara\Dati
|
||||||
|
PLCMSG=c:\kvara\Dati
|
||||||
|
RUNERR=c:\kvara\Dati
|
||||||
|
PHIERR=c:\kvara\Dati
|
||||||
|
MDI=c:\kvara\DiscoD\MDI
|
||||||
|
|
||||||
|
MONCLR=c:\kvara\exe\Monitor.ini
|
||||||
|
|
||||||
|
[APP]
|
||||||
|
GRAPH=0
|
||||||
|
PREVIEW=1
|
||||||
|
3D=1
|
||||||
|
|
||||||
|
[CHMONITOR]
|
||||||
|
FPAXE=c:\kvara\Dati\parax.str
|
||||||
|
FNAXE=c:\kvara\Dati\parax?.nam
|
||||||
|
KEYPADRE=KEY_SYSPARAX
|
||||||
|
KEYASSI=KEY_PARAX
|
||||||
|
|
||||||
|
[AUTOSETUP]
|
||||||
|
Inifile=c:\kvara\autosetup.ini
|
||||||
|
BootLoader=c:\kvara\Tar\BootLdr.bin
|
||||||
|
DiscoH=c:\kvara\DiscoH
|
||||||
|
DiscoI=c:\kvara\DiscoI
|
||||||
|
DiscoC=c:\kvara\DiscoC
|
||||||
|
DiscoD=c:\kvara\DiscoD
|
||||||
|
DiscoF=c:\kvara\DiscoF
|
||||||
|
PlcProj=c:\kvara\Logica\ACCORD_10.kva
|
||||||
|
|
||||||
|
[DESKFONT]
|
||||||
|
//"SysMenuFnt", "Arial", 32, 7, FW_MEDIUM,
|
||||||
|
//"CaptionFnt", "Arial", 28, 11, FW_MEDIUM,
|
||||||
|
//"AlarmsFnt", "Arial", 11, 7, FW_MEDIUM,
|
||||||
|
//"PicButtonFnt", "Arial", 16, 5, FW_MEDIUM,
|
||||||
|
//"PicButtonSFnt", -nHeight, nWidth, 0, 0, nBOLD, FALSE, FALSE, 0,
|
||||||
|
//"KeyTipFnt", "Arial", 11, 5, FW_MEDIUM,
|
||||||
|
//"TimeFnt", "Arial", 11, 7, 0,
|
||||||
|
//"LCDFnt", "Arial", 32, 0, FW_BOLD,
|
||||||
|
//"ILCDFnt", "Arial", 14, 0, FW_BOLD,
|
||||||
|
|
||||||
|
//FW_DONTCARE 0
|
||||||
|
//FW_THIN 100
|
||||||
|
//FW_EXTRALIGHT 200
|
||||||
|
//FW_LIGHT 300
|
||||||
|
//FW_NORMAL 400
|
||||||
|
//FW_MEDIUM 500
|
||||||
|
//FW_SEMIBOLD 600
|
||||||
|
//FW_BOLD 700
|
||||||
|
//FW_EXTRABOLD 800
|
||||||
|
//FW_HEAVY 900
|
||||||
|
|
||||||
|
|
||||||
|
PicButtonFnt=MS Sans Serif
|
||||||
|
PicButtonFntBOLD=800
|
||||||
|
PicButtonFntHEIGHT=20
|
||||||
|
PicButtonFntWIDTH=8
|
||||||
|
|
||||||
|
AlarmsFnt=Arial
|
||||||
|
AlarmsFntHEIGHT=14
|
||||||
|
AlarmsFntWIDTH=10
|
||||||
|
AlarmsFntBOLD=800
|
||||||
|
|
||||||
|
CaptionFnt= Ms Sans Serif
|
||||||
|
CaptionFntHEIGHT=34
|
||||||
|
CaptionFntBOLD=800
|
||||||
|
|
||||||
|
[Font]
|
||||||
|
Bold=0
|
||||||
|
Italic=0
|
||||||
|
Size=10
|
||||||
|
FaceName=Courier
|
||||||
|
[Edit]
|
||||||
|
Autosave=0
|
||||||
|
Time=10
|
||||||
|
Sound=0
|
||||||
|
TabSize=2
|
||||||
|
KeepTab=1
|
||||||
|
[Colors]
|
||||||
|
Fore=0 0 0 0 0 0 0
|
||||||
|
Back=15
|
||||||
|
Punte=0 0 0 0 0
|
||||||
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
@@ -0,0 +1,111 @@
|
|||||||
|
<?xml version="1.0" encoding="utf-8"?>
|
||||||
|
<Project ToolsVersion="14.0" DefaultTargets="Build" 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>{884C07F1-7E6E-4A3D-BF1E-FECF36348268}</ProjectGuid>
|
||||||
|
<OutputType>Library</OutputType>
|
||||||
|
<AppDesignerFolder>Properties</AppDesignerFolder>
|
||||||
|
<RootNamespace>EsaCncLib</RootNamespace>
|
||||||
|
<AssemblyName>EsaCncLib</AssemblyName>
|
||||||
|
<TargetFrameworkVersion>v4.6.2</TargetFrameworkVersion>
|
||||||
|
<FileAlignment>512</FileAlignment>
|
||||||
|
<TargetFrameworkProfile />
|
||||||
|
</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>
|
||||||
|
<UseVSHostingProcess>true</UseVSHostingProcess>
|
||||||
|
<Prefer32Bit>false</Prefer32Bit>
|
||||||
|
<PlatformTarget>AnyCPU</PlatformTarget>
|
||||||
|
</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>
|
||||||
|
<Prefer32Bit>false</Prefer32Bit>
|
||||||
|
</PropertyGroup>
|
||||||
|
<PropertyGroup Condition="'$(Configuration)|$(Platform)' == 'Debug|x86'">
|
||||||
|
<DebugSymbols>true</DebugSymbols>
|
||||||
|
<OutputPath>bin\x86\Debug\</OutputPath>
|
||||||
|
<DefineConstants>DEBUG;TRACE</DefineConstants>
|
||||||
|
<DebugType>full</DebugType>
|
||||||
|
<PlatformTarget>x86</PlatformTarget>
|
||||||
|
<LangVersion>7.3</LangVersion>
|
||||||
|
<ErrorReport>prompt</ErrorReport>
|
||||||
|
</PropertyGroup>
|
||||||
|
<PropertyGroup Condition="'$(Configuration)|$(Platform)' == 'Release|x86'">
|
||||||
|
<OutputPath>bin\x86\Release\</OutputPath>
|
||||||
|
<DefineConstants>TRACE</DefineConstants>
|
||||||
|
<Optimize>true</Optimize>
|
||||||
|
<DebugType>pdbonly</DebugType>
|
||||||
|
<PlatformTarget>x86</PlatformTarget>
|
||||||
|
<LangVersion>7.3</LangVersion>
|
||||||
|
<ErrorReport>prompt</ErrorReport>
|
||||||
|
</PropertyGroup>
|
||||||
|
<ItemGroup>
|
||||||
|
<Reference Include="ESAutomotionLinkCNC, Version=1.0.0.0, Culture=neutral, processorArchitecture=MSIL">
|
||||||
|
<SpecificVersion>False</SpecificVersion>
|
||||||
|
<HintPath>DLL Comunicazione ESA\ESAutomotionLinkCNC.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.7.10\lib\net45\NLog.dll</HintPath>
|
||||||
|
</Reference>
|
||||||
|
<Reference Include="System" />
|
||||||
|
<Reference Include="System.Configuration" />
|
||||||
|
<Reference Include="System.Core" />
|
||||||
|
<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>
|
||||||
|
</Reference>
|
||||||
|
<Reference Include="System.Runtime.Serialization" />
|
||||||
|
<Reference Include="System.ServiceModel" />
|
||||||
|
<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" />
|
||||||
|
</ItemGroup>
|
||||||
|
<ItemGroup>
|
||||||
|
<Compile Include="clsTimePeriod.cs" />
|
||||||
|
<Compile Include="IniFile.cs" />
|
||||||
|
<Compile Include="Properties\AssemblyInfo.cs" />
|
||||||
|
<Compile Include="thdNcBase.cs" />
|
||||||
|
<Compile Include="thdNcEsaGvKvara.cs" />
|
||||||
|
</ItemGroup>
|
||||||
|
<ItemGroup />
|
||||||
|
<ItemGroup>
|
||||||
|
<Content Include="DLL Comunicazione ESA\ESAutomotionLinkCNC.dll" />
|
||||||
|
<Content Include="NLog.config">
|
||||||
|
<CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory>
|
||||||
|
</Content>
|
||||||
|
</ItemGroup>
|
||||||
|
<ItemGroup>
|
||||||
|
<None Include="app.config" />
|
||||||
|
<None Include="NLog.xsd">
|
||||||
|
<SubType>Designer</SubType>
|
||||||
|
</None>
|
||||||
|
<None Include="packages.config" />
|
||||||
|
</ItemGroup>
|
||||||
|
<Import Project="$(MSBuildToolsPath)\Microsoft.CSharp.targets" />
|
||||||
|
<!-- To modify your build process, add your task inside one of the targets below and uncomment it.
|
||||||
|
Other similar extension points exist, see Microsoft.Common.targets.
|
||||||
|
<Target Name="BeforeBuild">
|
||||||
|
</Target>
|
||||||
|
<Target Name="AfterBuild">
|
||||||
|
</Target>
|
||||||
|
-->
|
||||||
|
</Project>
|
||||||
@@ -0,0 +1,246 @@
|
|||||||
|
using System;
|
||||||
|
using System.Collections.Generic;
|
||||||
|
using System.Runtime.InteropServices;
|
||||||
|
using System.Text;
|
||||||
|
using System.Windows;
|
||||||
|
using System.Globalization;
|
||||||
|
|
||||||
|
namespace EsaCncLib
|
||||||
|
{
|
||||||
|
/// <summary>
|
||||||
|
/// Create a new INI file to store or load data
|
||||||
|
/// </summary>
|
||||||
|
public class IniFile
|
||||||
|
{
|
||||||
|
public string FileName; // INI filename
|
||||||
|
|
||||||
|
// import windows dll functions
|
||||||
|
#region DLL_IMPORT_FUNCTIONS
|
||||||
|
[DllImport("kernel32", CharSet = CharSet.Auto, BestFitMapping = false)]
|
||||||
|
private static extern long WritePrivateProfileString(string section, string key, string val, string filePath);
|
||||||
|
[DllImport("kernel32")]
|
||||||
|
private static extern bool WritePrivateProfileSection(string section, string value, string filePath);
|
||||||
|
[DllImport("kernel32")]
|
||||||
|
private static extern int GetPrivateProfileString(string section, string key, string def, StringBuilder retVal, int size, string filePath);
|
||||||
|
[DllImport("kernel32")]
|
||||||
|
private static extern int GetPrivateProfileInt(string section, string key, int def, string filePath);
|
||||||
|
[DllImport("kernel32")]
|
||||||
|
private static extern int GetPrivateProfileSection(string section, IntPtr retVal, uint size, string filePath);
|
||||||
|
#endregion
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// Constructor
|
||||||
|
/// </summary>
|
||||||
|
/// <PARAM name="INIPath"></PARAM>
|
||||||
|
public IniFile(string INIPath)
|
||||||
|
{
|
||||||
|
FileName = INIPath;
|
||||||
|
}
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// Write data to the INI file
|
||||||
|
/// </summary>
|
||||||
|
/// <PARAM name="Section"></PARAM>
|
||||||
|
/// Section name
|
||||||
|
/// <PARAM name="Key"></PARAM>
|
||||||
|
/// Key Name
|
||||||
|
/// <PARAM name="Value"></PARAM>
|
||||||
|
/// Value Name
|
||||||
|
public void WriteString(string Section, string Key, string Value)
|
||||||
|
{
|
||||||
|
WritePrivateProfileString(Section, Key, Value, FileName);
|
||||||
|
}
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// Write a boolean value
|
||||||
|
/// </summary>
|
||||||
|
/// <param name="Section"></param>
|
||||||
|
/// <param name="Key"></param>
|
||||||
|
/// <param name="Value"></param>
|
||||||
|
public void WriteBoolean(string Section, string Key, bool Value)
|
||||||
|
{
|
||||||
|
int flag = Value ? 1 : 0;
|
||||||
|
WriteString(Section, Key, Convert.ToString(flag));
|
||||||
|
}
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// Write an integer value
|
||||||
|
/// </summary>
|
||||||
|
/// <param name="Section"></param>
|
||||||
|
/// <param name="Key"></param>
|
||||||
|
/// <param name="Value"></param>
|
||||||
|
public void WriteInteger(string Section, string Key, int Value)
|
||||||
|
{
|
||||||
|
WriteString(Section, Key, Convert.ToString(Value));
|
||||||
|
}
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// Write a double value
|
||||||
|
/// </summary>
|
||||||
|
/// <param name="Section"></param>
|
||||||
|
/// <param name="Key"></param>
|
||||||
|
/// <param name="Value"></param>
|
||||||
|
public void WriteDouble(string Section, string Key, double Value)
|
||||||
|
{
|
||||||
|
WriteString(Section, Key, Convert.ToString(Value, NumberFormatInfo.InvariantInfo));
|
||||||
|
}
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// Read data from the Ini file
|
||||||
|
/// </summary>
|
||||||
|
/// <PARAM name="Section"></PARAM>
|
||||||
|
/// <PARAM name="Key"></PARAM>
|
||||||
|
/// <PARAM name="Path"></PARAM>
|
||||||
|
/// <returns></returns>
|
||||||
|
public string ReadString(string Section, string Key)
|
||||||
|
{
|
||||||
|
StringBuilder temp = new StringBuilder(255);
|
||||||
|
int i = GetPrivateProfileString(Section, Key, "", temp, 255, FileName);
|
||||||
|
return temp.ToString();
|
||||||
|
}
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// Read a string. If not found use default value
|
||||||
|
/// </summary>
|
||||||
|
/// <param name="Section"></param>
|
||||||
|
/// <param name="Key"></param>
|
||||||
|
/// <param name="DefaultVal"></param>
|
||||||
|
/// <returns></returns>
|
||||||
|
public string ReadString(string Section, string Key, string DefaultVal)
|
||||||
|
{
|
||||||
|
string temp = ReadString(Section, Key);
|
||||||
|
if (temp == "") temp = DefaultVal;
|
||||||
|
return temp;
|
||||||
|
}
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// Read an integer
|
||||||
|
/// </summary>
|
||||||
|
/// <param name="Section"></param>
|
||||||
|
/// <param name="Key"></param>
|
||||||
|
/// <returns></returns>
|
||||||
|
public int ReadInteger(string Section, string Key)
|
||||||
|
{
|
||||||
|
return GetPrivateProfileInt(Section, Key, 0, FileName);
|
||||||
|
}
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// Read an integer. If not found use default value
|
||||||
|
/// </summary>
|
||||||
|
/// <param name="Section"></param>
|
||||||
|
/// <param name="Key"></param>
|
||||||
|
/// <param name="DefaultVal"></param>
|
||||||
|
/// <returns></returns>
|
||||||
|
public int ReadInteger(string Section, string Key, int DefaultVal)
|
||||||
|
{
|
||||||
|
return GetPrivateProfileInt(Section, Key, DefaultVal, FileName);
|
||||||
|
}
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// Read a boolean
|
||||||
|
/// </summary>
|
||||||
|
/// <param name="Section"></param>
|
||||||
|
/// <param name="Key"></param>
|
||||||
|
/// <returns></returns>
|
||||||
|
public bool ReadBoolean(string Section, string Key)
|
||||||
|
{
|
||||||
|
return (ReadInteger(Section, Key, 0) != 0);
|
||||||
|
}
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// Read a boolean with default value
|
||||||
|
/// </summary>
|
||||||
|
/// <param name="Section"></param>
|
||||||
|
/// <param name="Key"></param>
|
||||||
|
/// <param name="DefaultVal"></param>
|
||||||
|
/// <returns></returns>
|
||||||
|
public bool ReadBoolean(string Section, string Key, bool DefaultVal)
|
||||||
|
{
|
||||||
|
int v = DefaultVal ? 1 : 0;
|
||||||
|
return (ReadInteger(Section, Key, v) != 0);
|
||||||
|
}
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// Read a complete section (keys=values)
|
||||||
|
/// </summary>
|
||||||
|
/// <param name="Section"></param>
|
||||||
|
/// Section name
|
||||||
|
/// <returns></returns>
|
||||||
|
public string[] ReadSection(string Section)
|
||||||
|
{
|
||||||
|
const int bufferSize = 2048; // max is 32767
|
||||||
|
|
||||||
|
StringBuilder returnedString = new StringBuilder();
|
||||||
|
|
||||||
|
IntPtr pReturnedString = Marshal.AllocCoTaskMem(bufferSize);
|
||||||
|
try
|
||||||
|
{
|
||||||
|
int bytesReturned = GetPrivateProfileSection(Section, pReturnedString, bufferSize, FileName);
|
||||||
|
|
||||||
|
//bytesReturned -1 to remove trailing \0
|
||||||
|
for (int i = 0; i < bytesReturned - 1; i++)
|
||||||
|
returnedString.Append((char)Marshal.ReadByte(new IntPtr((uint)pReturnedString + (uint)i)));
|
||||||
|
}
|
||||||
|
finally
|
||||||
|
{
|
||||||
|
Marshal.FreeCoTaskMem(pReturnedString);
|
||||||
|
}
|
||||||
|
|
||||||
|
string sectionData = returnedString.ToString();
|
||||||
|
return sectionData.Split('\0');
|
||||||
|
}
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// Return true if value exists
|
||||||
|
/// </summary>
|
||||||
|
/// <param name="Section"></param>
|
||||||
|
/// <param name="Key"></param>
|
||||||
|
/// <returns></returns>
|
||||||
|
public bool ValueExists(string Section, string Key)
|
||||||
|
{
|
||||||
|
StringBuilder temp = new StringBuilder(255);
|
||||||
|
int i = GetPrivateProfileString(Section, Key, "", temp, 255, FileName);
|
||||||
|
return (i > 0);
|
||||||
|
}
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// Completely remove one section
|
||||||
|
/// </summary>
|
||||||
|
/// <param name="Section"></param>
|
||||||
|
public void IniDeleteSection(string Section)
|
||||||
|
{
|
||||||
|
WritePrivateProfileSection(Section, null, FileName);
|
||||||
|
}
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// Return true if section exists
|
||||||
|
/// </summary>
|
||||||
|
/// <param name="Section"></param>
|
||||||
|
/// <returns></returns>
|
||||||
|
public bool IniSectionExists(string Section)
|
||||||
|
{
|
||||||
|
int bytesReturned = 0;
|
||||||
|
const int bufferSize = 2048; // max is 32767
|
||||||
|
IntPtr pReturnedString = Marshal.AllocCoTaskMem(bufferSize);
|
||||||
|
try
|
||||||
|
{
|
||||||
|
bytesReturned = GetPrivateProfileSection(Section, pReturnedString, bufferSize, FileName);
|
||||||
|
}
|
||||||
|
finally
|
||||||
|
{
|
||||||
|
Marshal.FreeCoTaskMem(pReturnedString);
|
||||||
|
}
|
||||||
|
return (bytesReturned > 0);
|
||||||
|
}
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// Delete a key from section
|
||||||
|
/// </summary>
|
||||||
|
/// <param name="Section"></param>
|
||||||
|
/// <param name="Key"></param>
|
||||||
|
public void IniDeleteKey(string Section, string Key)
|
||||||
|
{
|
||||||
|
WritePrivateProfileString(Section, Key, null, FileName);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
+26
-11
@@ -4,38 +4,53 @@
|
|||||||
xsi:schemaLocation="http://www.nlog-project.org/schemas/NLog.xsd NLog.xsd"
|
xsi:schemaLocation="http://www.nlog-project.org/schemas/NLog.xsd NLog.xsd"
|
||||||
autoReload="true"
|
autoReload="true"
|
||||||
throwExceptions="false"
|
throwExceptions="false"
|
||||||
internalLogLevel="Off" internalLogFile="c:\temp\nlog-internal.log">
|
internalLogLevel="Off" internalLogFile="c:\temp\nlog-internal.log" >
|
||||||
|
|
||||||
<!-- optional, add some variables
|
|
||||||
|
<!-- optional, add some variabeles
|
||||||
https://github.com/nlog/NLog/wiki/Configuration-file#variables
|
https://github.com/nlog/NLog/wiki/Configuration-file#variables
|
||||||
-->
|
-->
|
||||||
<variable name="myvar" value="myvalue"/>
|
<variable name="myvar" value="myvalue"/>
|
||||||
|
|
||||||
<!--
|
<!--
|
||||||
See https://github.com/nlog/nlog/wiki/Configuration-file
|
See https://github.com/nlog/nlog/wiki/Configuration-file
|
||||||
for information on customizing logging rules and outputs.
|
for information on customizing logging rules and outputs.
|
||||||
-->
|
-->
|
||||||
<targets>
|
|
||||||
|
|
||||||
<!--
|
<targets async="true">
|
||||||
add your targets here
|
<!--
|
||||||
|
add your targets here
|
||||||
See https://github.com/nlog/NLog/wiki/Targets for possible targets.
|
See https://github.com/nlog/NLog/wiki/Targets for possible targets.
|
||||||
See https://github.com/nlog/NLog/wiki/Layout-Renderers for the possible layout renderers.
|
See https://github.com/nlog/NLog/wiki/Layout-Renderers for the possible layout renderers.
|
||||||
-->
|
-->
|
||||||
|
|
||||||
<!--
|
<!--
|
||||||
Write events to a file with the date in the filename.
|
Write events to a file with the date in the filename.
|
||||||
<target xsi:type="File" name="f" fileName="${basedir}/logs/${shortdate}.log"
|
<target xsi:type="File" name="f" fileName="${basedir}/logs/${shortdate}.log"
|
||||||
layout="${longdate} ${uppercase:${level}} ${message}" />
|
layout="${longdate} ${uppercase:${level}} ${message}" />
|
||||||
-->
|
-->
|
||||||
|
<target xsi:type="File"
|
||||||
|
name="f"
|
||||||
|
fileName="${basedir}/logs/${shortdate}.log"
|
||||||
|
layout="${longdate} ${uppercase:${level}} ${message}"
|
||||||
|
/>
|
||||||
|
<!--<target xsi:type="File"
|
||||||
|
name="default"
|
||||||
|
layout="${longdate} - ${level:uppercase=true}: ${message}${onexception:${newline}EXCEPTION\: ${exception:format=ToString}}"
|
||||||
|
fileName="${specialfolder:ApplicationData}\${appName}\Debug.log"
|
||||||
|
keepFileOpen="false"
|
||||||
|
archiveFileName="${specialfolder:ApplicationData}\${appName}\Debug_${shortdate}.{##}.log"
|
||||||
|
archiveNumbering="Sequence"
|
||||||
|
archiveEvery="Day"
|
||||||
|
maxArchiveFiles="30"
|
||||||
|
/>-->
|
||||||
</targets>
|
</targets>
|
||||||
|
|
||||||
<rules>
|
<rules>
|
||||||
<!-- add your logging rules here -->
|
<!-- add your logging rules here -->
|
||||||
|
|
||||||
<!--
|
<!--
|
||||||
Write all events with minimal level of Debug (So Debug, Info, Warn, Error and Fatal, but not Trace) to "f"
|
Write all events with minimal level of Debug (So Debug, Info, Warn, Error and Fatal, but not Trace) to "f"
|
||||||
<logger name="*" minlevel="Debug" writeTo="f" />
|
<logger name="*" minlevel="Debug" writeTo="f" />
|
||||||
-->
|
-->
|
||||||
|
<logger name="*" minlevel="Debug" writeTo="f" />
|
||||||
</rules>
|
</rules>
|
||||||
</nlog>
|
</nlog>
|
||||||
+1076
-392
File diff suppressed because it is too large
Load Diff
@@ -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("EsaCncLib")]
|
||||||
|
[assembly: AssemblyDescription("")]
|
||||||
|
[assembly: AssemblyConfiguration("")]
|
||||||
|
[assembly: AssemblyCompany("")]
|
||||||
|
[assembly: AssemblyProduct("EsaCncLib")]
|
||||||
|
[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("7a12fe26-9c58-4630-973d-d4872374dbaf")]
|
||||||
|
|
||||||
|
// 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,11 @@
|
|||||||
|
<?xml version="1.0" encoding="utf-8"?>
|
||||||
|
<configuration>
|
||||||
|
<runtime>
|
||||||
|
<assemblyBinding xmlns="urn:schemas-microsoft-com:asm.v1">
|
||||||
|
<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>
|
||||||
|
</assemblyBinding>
|
||||||
|
</runtime>
|
||||||
|
</configuration>
|
||||||
@@ -0,0 +1,108 @@
|
|||||||
|
using System;
|
||||||
|
using System.Runtime.InteropServices;
|
||||||
|
using System.Threading;
|
||||||
|
using System.Collections.Generic;
|
||||||
|
|
||||||
|
internal sealed class TimePeriod : IDisposable
|
||||||
|
{
|
||||||
|
private const string WINMM = "winmm.dll";
|
||||||
|
|
||||||
|
private static TIMECAPS timeCapabilities;
|
||||||
|
|
||||||
|
private static int inTimePeriod;
|
||||||
|
|
||||||
|
private readonly int period;
|
||||||
|
|
||||||
|
private int disposed;
|
||||||
|
|
||||||
|
[DllImport(WINMM, ExactSpelling = true)]
|
||||||
|
private static extern int timeGetDevCaps(ref TIMECAPS ptc, int cbtc);
|
||||||
|
|
||||||
|
[DllImport(WINMM, ExactSpelling = true)]
|
||||||
|
private static extern int timeBeginPeriod(int uPeriod);
|
||||||
|
|
||||||
|
[DllImport(WINMM, ExactSpelling = true)]
|
||||||
|
private static extern int timeEndPeriod(int uPeriod);
|
||||||
|
|
||||||
|
static TimePeriod()
|
||||||
|
{
|
||||||
|
int result = timeGetDevCaps(ref timeCapabilities, Marshal.SizeOf(typeof(TIMECAPS)));
|
||||||
|
if (result != 0)
|
||||||
|
{
|
||||||
|
throw new InvalidOperationException("The request to get time capabilities was not completed because an unexpected error with code " + result + " occured.");
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
internal TimePeriod(int period)
|
||||||
|
{
|
||||||
|
if (Interlocked.Increment(ref inTimePeriod) != 1)
|
||||||
|
{
|
||||||
|
Interlocked.Decrement(ref inTimePeriod);
|
||||||
|
throw new NotSupportedException("The process is already within a time period. Nested time periods are not supported.");
|
||||||
|
}
|
||||||
|
|
||||||
|
if (period < timeCapabilities.wPeriodMin || period > timeCapabilities.wPeriodMax)
|
||||||
|
{
|
||||||
|
throw new ArgumentOutOfRangeException("period", "The request to begin a time period was not completed because the resolution specified is out of range.");
|
||||||
|
}
|
||||||
|
|
||||||
|
int result = timeBeginPeriod(period);
|
||||||
|
if (result != 0)
|
||||||
|
{
|
||||||
|
throw new InvalidOperationException("The request to begin a time period was not completed because an unexpected error with code " + result + " occured.");
|
||||||
|
}
|
||||||
|
|
||||||
|
this.period = period;
|
||||||
|
}
|
||||||
|
|
||||||
|
internal static int MinimumPeriod
|
||||||
|
{
|
||||||
|
get
|
||||||
|
{
|
||||||
|
return timeCapabilities.wPeriodMin;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
internal static int MaximumPeriod
|
||||||
|
{
|
||||||
|
get
|
||||||
|
{
|
||||||
|
return timeCapabilities.wPeriodMax;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
internal int Period
|
||||||
|
{
|
||||||
|
get
|
||||||
|
{
|
||||||
|
if (this.disposed > 0)
|
||||||
|
{
|
||||||
|
throw new ObjectDisposedException("The time period instance has been disposed.");
|
||||||
|
}
|
||||||
|
|
||||||
|
return this.period;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
public void Dispose()
|
||||||
|
{
|
||||||
|
if (Interlocked.Increment(ref this.disposed) == 1)
|
||||||
|
{
|
||||||
|
timeEndPeriod(this.period);
|
||||||
|
Interlocked.Decrement(ref inTimePeriod);
|
||||||
|
}
|
||||||
|
else
|
||||||
|
{
|
||||||
|
Interlocked.Decrement(ref this.disposed);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
[StructLayout(LayoutKind.Sequential)]
|
||||||
|
private struct TIMECAPS
|
||||||
|
{
|
||||||
|
internal int wPeriodMin;
|
||||||
|
|
||||||
|
internal int wPeriodMax;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
@@ -0,0 +1,7 @@
|
|||||||
|
<?xml version="1.0" encoding="utf-8"?>
|
||||||
|
<packages>
|
||||||
|
<package id="Newtonsoft.Json" version="12.0.3" targetFramework="net452" />
|
||||||
|
<package id="NLog" version="4.7.10" targetFramework="net462" />
|
||||||
|
<package id="NLog.Schema" version="4.7.10" targetFramework="net462" />
|
||||||
|
<package id="System.IO.Compression" version="4.3.0" targetFramework="net462" />
|
||||||
|
</packages>
|
||||||
@@ -0,0 +1,46 @@
|
|||||||
|
using System;
|
||||||
|
using System.Collections.Generic;
|
||||||
|
using System.Linq;
|
||||||
|
using System.Text;
|
||||||
|
namespace EsaCncLib
|
||||||
|
{
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// Base class for devices
|
||||||
|
/// </summary>
|
||||||
|
public class thdNcBase
|
||||||
|
{
|
||||||
|
public bool Connected = false;
|
||||||
|
protected bool requestStop = false;
|
||||||
|
protected int PlcDelay;
|
||||||
|
|
||||||
|
public bool Finished = false; // this flag will be true when execution is stopped (after a RequestStop)
|
||||||
|
|
||||||
|
public string DeviceName = ""; // name of the device (just for display purpose)
|
||||||
|
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// Initialization: common operations for all devices.
|
||||||
|
/// </summary>
|
||||||
|
/// <param name="fIni">The f ini.</param>
|
||||||
|
public thdNcBase(IniFile fIni)
|
||||||
|
{
|
||||||
|
// set delay for execution cycle
|
||||||
|
PlcDelay = fIni.ReadInteger("NC", "PlcDelay", 10);
|
||||||
|
}
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// Request to stop the thread
|
||||||
|
/// </summary>
|
||||||
|
public void RequestStop()
|
||||||
|
{
|
||||||
|
requestStop = true;
|
||||||
|
}
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// Virtual method for thread main execution
|
||||||
|
/// </summary>
|
||||||
|
public virtual void Execute() { }
|
||||||
|
|
||||||
|
}
|
||||||
|
}
|
||||||
@@ -0,0 +1,778 @@
|
|||||||
|
using NLog;
|
||||||
|
using System;
|
||||||
|
using System.Collections.Generic;
|
||||||
|
using System.Runtime.InteropServices;
|
||||||
|
using System.Text;
|
||||||
|
using System.Threading;
|
||||||
|
|
||||||
|
namespace EsaCncLib
|
||||||
|
{
|
||||||
|
#region ESA_DATA_STRUCTURES
|
||||||
|
// public unsafe struct TS_REG
|
||||||
|
[StructLayout(LayoutKind.Sequential, CharSet = CharSet.Ansi, Pack = 1)]
|
||||||
|
public struct TS_REG
|
||||||
|
{
|
||||||
|
public byte board;
|
||||||
|
public byte iBaseReg;
|
||||||
|
public UInt16 wType;
|
||||||
|
public UInt32 iSharedId;
|
||||||
|
public UInt32 iNum;
|
||||||
|
public UInt32 iMax;
|
||||||
|
public UInt32 iSiz;
|
||||||
|
public UInt32 iOff;
|
||||||
|
public UInt32 ChkSum;
|
||||||
|
}
|
||||||
|
#endregion
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// Classe per gestione memoria ESA (nome, indirizzo, aree temporanee, dati reali...)
|
||||||
|
/// </summary>
|
||||||
|
public class EsaBaseMem
|
||||||
|
{
|
||||||
|
/// <summary>
|
||||||
|
/// Dimensione dell'area di memoria (numero oggetti)
|
||||||
|
/// </summary>
|
||||||
|
public UInt16 MemorySize { get; set; } = 0;
|
||||||
|
/// <summary>
|
||||||
|
/// Nome dell'area di memoria
|
||||||
|
/// </summary>
|
||||||
|
public string AddressName { get; set; } = "";
|
||||||
|
/// <summary>
|
||||||
|
/// Registro della memoria
|
||||||
|
/// </summary>
|
||||||
|
public TS_REG AddresReg { get; set; } = new TS_REG();
|
||||||
|
}
|
||||||
|
/// <summary>
|
||||||
|
/// Strtuttura memoria a Byte
|
||||||
|
/// </summary>
|
||||||
|
public class EsaByteMem : EsaBaseMem
|
||||||
|
{
|
||||||
|
/// <summary>
|
||||||
|
/// Area temp di UINT di 4 byte (32 bit)
|
||||||
|
/// </summary>
|
||||||
|
public UInt32[] tempData;
|
||||||
|
/// <summary>
|
||||||
|
/// Memorie effettiva base byte (8 bit)
|
||||||
|
/// </summary>
|
||||||
|
public Byte[] data;
|
||||||
|
}
|
||||||
|
/// <summary>
|
||||||
|
/// Strtuttura memoria a Word
|
||||||
|
/// </summary>
|
||||||
|
public class EsaWordMem : EsaBaseMem
|
||||||
|
{
|
||||||
|
/// <summary>
|
||||||
|
/// Area temp di UINT di 4 byte (32 bit)
|
||||||
|
/// </summary>
|
||||||
|
public UInt32[] tempData;
|
||||||
|
/// <summary>
|
||||||
|
/// Memorie effettiva base Word (16 bit)
|
||||||
|
/// </summary>
|
||||||
|
public UInt16[] data;
|
||||||
|
}
|
||||||
|
/// <summary>
|
||||||
|
/// Strtuttura memoria a DoubleWord
|
||||||
|
/// </summary>
|
||||||
|
public class EsaDWordMem : EsaBaseMem
|
||||||
|
{
|
||||||
|
/// <summary>
|
||||||
|
/// Area temp di UINT di 4 byte (32 bit)
|
||||||
|
/// </summary>
|
||||||
|
public UInt32[] tempData;
|
||||||
|
/// <summary>
|
||||||
|
/// Memorie effettiva base DoubleWord (32 bit)
|
||||||
|
/// </summary>
|
||||||
|
public UInt32[] data;
|
||||||
|
}
|
||||||
|
/// <summary>
|
||||||
|
/// Strtuttura memoria a string
|
||||||
|
/// </summary>
|
||||||
|
public class EsaStringMem : EsaBaseMem
|
||||||
|
{
|
||||||
|
/// <summary>
|
||||||
|
/// Area temp di UINT di 4 byte (32 bit)
|
||||||
|
/// </summary>
|
||||||
|
public UInt32[] tempData;
|
||||||
|
/// <summary>
|
||||||
|
/// Memorie effettiva base DoubleWord (32 bit)
|
||||||
|
/// </summary>
|
||||||
|
public string data;
|
||||||
|
}
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// Class for Esa Nc device
|
||||||
|
/// </summary>
|
||||||
|
public class thdNcEsaKvara : thdNcBase
|
||||||
|
{
|
||||||
|
#region oggetti di base
|
||||||
|
|
||||||
|
public Logger lg = LogManager.GetCurrentClassLogger();
|
||||||
|
private string SysLink = "";
|
||||||
|
private string DefCn = "";
|
||||||
|
private int iChannel;
|
||||||
|
private int iError;
|
||||||
|
|
||||||
|
#endregion
|
||||||
|
|
||||||
|
#region setup memoria
|
||||||
|
|
||||||
|
|
||||||
|
public EsaStringMem SCMA_MManCMS_Release;
|
||||||
|
public EsaStringMem SCMA_MManCMS_SerialNumber;
|
||||||
|
public EsaStringMem[] SCMA_MManCMS_Strings;
|
||||||
|
public EsaDWordMem SCMA_MMan_ACK;
|
||||||
|
public EsaDWordMem SCMA_MMan_STROBE;
|
||||||
|
public EsaDWordMem SCMA_MMan_ALM;
|
||||||
|
public EsaDWordMem SCMA_MMan_MNT;
|
||||||
|
public EsaDWordMem SCMA_MMan_ANALOG;
|
||||||
|
public EsaDWordMem SCMA_MMan_CNT;
|
||||||
|
public EsaWordMem SCMA_MMan_WD;
|
||||||
|
public EsaWordMem SCMA_MMan_MF;
|
||||||
|
public EsaWordMem SCMA_MMan_SF;
|
||||||
|
public EsaWordMem SCMA_MMan_TF;
|
||||||
|
public EsaWordMem SCMA_MMan_MNUM;
|
||||||
|
public EsaWordMem SCMA_MMan_SNUM;
|
||||||
|
public EsaWordMem SCMA_MMan_TNUM;
|
||||||
|
public EsaByteMem SCMA_MMan_OVR;
|
||||||
|
public EsaByteMem SCMA_MMan_status;
|
||||||
|
|
||||||
|
#endregion
|
||||||
|
|
||||||
|
#region area assi e altre variabili
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// Vttore valori correnti assi
|
||||||
|
/// </summary>
|
||||||
|
protected AxisData[] currAxisData;
|
||||||
|
/// <summary>
|
||||||
|
/// Elenco assi "vietati" perché non sono in elenco (errore a rileggerli)
|
||||||
|
/// </summary>
|
||||||
|
protected List<int> vetoAxis = new List<int>();
|
||||||
|
/// <summary>
|
||||||
|
/// periodo reset veto (ogni 5 minuti rivaluta)
|
||||||
|
/// </summary>
|
||||||
|
protected DateTime lastVetoReset = DateTime.Now;
|
||||||
|
|
||||||
|
#endregion
|
||||||
|
|
||||||
|
// esa constants
|
||||||
|
#region ESA_PLC_CONSTANTS
|
||||||
|
private const UInt32 MAX_PATH = 256;
|
||||||
|
#endregion
|
||||||
|
|
||||||
|
#region ESA_DLL_IMPORT_FUNCTIONS
|
||||||
|
[DllImport("KvCom3x", CallingConvention = CallingConvention.StdCall, CharSet = CharSet.Ansi, EntryPoint = "_ConvComunicationChannel@4")]
|
||||||
|
private static extern int ConvComunicationChannel([MarshalAs(UnmanagedType.LPStr)] string sChannelType);
|
||||||
|
|
||||||
|
[DllImport("KvCom3x", CallingConvention = CallingConvention.StdCall, CharSet = CharSet.Ansi, EntryPoint = "_init_board@8")]
|
||||||
|
private static extern int init_board([MarshalAs(UnmanagedType.LPStr)] string defcn_name, int ChannelType);
|
||||||
|
|
||||||
|
[DllImport("KvCom3x", CallingConvention = CallingConvention.StdCall, CharSet = CharSet.Ansi, EntryPoint = "_exit_board@0")]
|
||||||
|
private static extern int exit_board();
|
||||||
|
|
||||||
|
[DllImport("KvCom3x", CallingConvention = CallingConvention.StdCall, CharSet = CharSet.Ansi, EntryPoint = "_get_reg_by_name@8")]
|
||||||
|
private static extern int get_reg_by_name([MarshalAs(UnmanagedType.LPStr)] string name, ref TS_REG pReg);
|
||||||
|
|
||||||
|
[DllImport("KvCom3x", CallingConvention = CallingConvention.StdCall, CharSet = CharSet.Ansi, EntryPoint = "_read_regbuffer@16")]
|
||||||
|
private static extern int read_regbuffer(ref TS_REG pReg, UInt16 Offset, UInt16 Count, [MarshalAs(UnmanagedType.LPArray)] UInt32[] pDst);
|
||||||
|
|
||||||
|
|
||||||
|
[DllImport("KvCom3x", EntryPoint = "read_regstring")]
|
||||||
|
public static extern int read_regstring(ref TS_REG pReg, short Offset, short wNCharToRead, ref short wpNCharRead, [MarshalAs(UnmanagedType.LPArray)] byte[] pBuff);
|
||||||
|
|
||||||
|
//[DllImport(KVCOM3xDLL, EntryPoint = "read_regstring")]
|
||||||
|
//public static extern int read_regstring(ref TS_REG pReg, short Offset, short wNCharToRead, ref short wpNCharRead, [MarshalAs(UnmanagedType.LPArray)] byte[] pBuff);
|
||||||
|
|
||||||
|
[DllImport("KvCom3x", CallingConvention = CallingConvention.StdCall, CharSet = CharSet.Ansi, EntryPoint = "_write_regbuffer@16")]
|
||||||
|
private static extern int write_regbuffer(ref TS_REG pReg, UInt16 Offset, UInt16 Count, [MarshalAs(UnmanagedType.LPArray)] UInt32[] pSrc);
|
||||||
|
|
||||||
|
[DllImport("VKEnv", CallingConvention = CallingConvention.Cdecl, CharSet = CharSet.Ansi)]
|
||||||
|
private static extern void ENVGetProfileString(
|
||||||
|
[MarshalAs(UnmanagedType.LPStr)] string AppName,
|
||||||
|
[MarshalAs(UnmanagedType.LPStr)] string KeyName,
|
||||||
|
[MarshalAs(UnmanagedType.LPStr)] string Default,
|
||||||
|
//[MarshalAs(UnmanagedType.LPArray)] byte[] ReturnedString,
|
||||||
|
[MarshalAs(UnmanagedType.LPStr)] StringBuilder ReturnedString,
|
||||||
|
UInt32 nSize);
|
||||||
|
#endregion
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// After calling this method the search path is:
|
||||||
|
/// 1 - The directory from which the application loaded
|
||||||
|
/// 2 - The directory specified by the lpPathName parameter
|
||||||
|
/// 3 - The system directory (The name of this directory is System32)
|
||||||
|
/// 4 - The 16-bit system directory (The name of this directory is System)
|
||||||
|
/// 5 - The Windows directory
|
||||||
|
/// 6 - The directories that are listed in the PATH environment variable
|
||||||
|
/// </summary>
|
||||||
|
/// <param name="lpPathName"></param>
|
||||||
|
/// <returns></returns>
|
||||||
|
[DllImport("kernel32.dll", CharSet = CharSet.Unicode, SetLastError = true)]
|
||||||
|
[return: MarshalAs(UnmanagedType.Bool)]
|
||||||
|
static extern bool SetDllDirectory(string lpPathName);
|
||||||
|
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// Initializes a new instance of the <see cref="thdNcEsaKvara"/> class.
|
||||||
|
/// </summary>
|
||||||
|
/// <param name="fIni">The f ini.</param>
|
||||||
|
public thdNcEsaKvara(IniFile fIni) : base(fIni)
|
||||||
|
{
|
||||||
|
|
||||||
|
StringBuilder tempS = new StringBuilder(Convert.ToInt32(MAX_PATH));
|
||||||
|
|
||||||
|
// set executable path
|
||||||
|
SetDllDirectory(fIni.ReadString("NC", "SysExe", "C:\\KVARA\\EXE"));
|
||||||
|
|
||||||
|
// communication type
|
||||||
|
string defValue = fIni.ReadString("NC", "SysLink", "SIMULATO");
|
||||||
|
ENVGetProfileString("SYS", "LINK", defValue, tempS, MAX_PATH);
|
||||||
|
//bufferH.Free();
|
||||||
|
SysLink = tempS.ToString();
|
||||||
|
|
||||||
|
// communication channel
|
||||||
|
iChannel = ConvComunicationChannel(SysLink);
|
||||||
|
// definition path
|
||||||
|
defValue = fIni.ReadString("NC", "SysDefCn", "C:\\KVARA\\CNC\\C");
|
||||||
|
ENVGetProfileString("SYS", "DEFCN", defValue, tempS, MAX_PATH);
|
||||||
|
DefCn = tempS.ToString() + "\\defcn";
|
||||||
|
|
||||||
|
// inizializzo le memorie in modo STANDARD
|
||||||
|
setupMemAreaFromIni(fIni);
|
||||||
|
|
||||||
|
if (!Connect())
|
||||||
|
Disconnect();
|
||||||
|
}
|
||||||
|
/// <summary>
|
||||||
|
/// Setup aree di memoria standard SCMA x CMS
|
||||||
|
/// </summary>
|
||||||
|
private void setupMemAreaFromIni(IniFile fIni)
|
||||||
|
{
|
||||||
|
SCMA_MManCMS_Release = new EsaStringMem();
|
||||||
|
SCMA_MManCMS_SerialNumber = new EsaStringMem();
|
||||||
|
SCMA_MManCMS_Strings = new EsaStringMem[20];
|
||||||
|
SCMA_MMan_ACK = new EsaDWordMem();
|
||||||
|
SCMA_MMan_STROBE = new EsaDWordMem();
|
||||||
|
SCMA_MMan_WD = new EsaWordMem();
|
||||||
|
SCMA_MMan_status = new EsaByteMem();
|
||||||
|
SCMA_MMan_ALM = new EsaDWordMem();
|
||||||
|
SCMA_MMan_MNUM = new EsaWordMem();
|
||||||
|
SCMA_MMan_MF = new EsaWordMem();
|
||||||
|
SCMA_MMan_SNUM = new EsaWordMem();
|
||||||
|
SCMA_MMan_SF = new EsaWordMem();
|
||||||
|
SCMA_MMan_TNUM = new EsaWordMem();
|
||||||
|
SCMA_MMan_TF = new EsaWordMem();
|
||||||
|
SCMA_MMan_OVR = new EsaByteMem();
|
||||||
|
SCMA_MMan_ANALOG = new EsaDWordMem();
|
||||||
|
SCMA_MMan_CNT = new EsaDWordMem();
|
||||||
|
SCMA_MMan_MNT = new EsaDWordMem();
|
||||||
|
// aree FIXED secondo necessità: indicazione dimensione x impiego // rif aree reali ESA reale (commento successivo)
|
||||||
|
SCMA_MManCMS_Release.MemorySize = 20;
|
||||||
|
SCMA_MManCMS_SerialNumber.MemorySize = 50;
|
||||||
|
for (int i = 0; i < 20; i++)
|
||||||
|
{
|
||||||
|
SCMA_MManCMS_Strings[i] = new EsaStringMem();
|
||||||
|
SCMA_MManCMS_Strings[i].MemorySize = 50;
|
||||||
|
}
|
||||||
|
SCMA_MMan_ACK.MemorySize = 4; // 32
|
||||||
|
SCMA_MMan_STROBE.MemorySize = 4; // 32
|
||||||
|
SCMA_MMan_WD.MemorySize = 1; // 1
|
||||||
|
SCMA_MMan_status.MemorySize = 1; // 1
|
||||||
|
SCMA_MMan_ALM.MemorySize = 32; // 32
|
||||||
|
SCMA_MMan_MNUM.MemorySize = 2; // 2
|
||||||
|
SCMA_MMan_MF.MemorySize = 20; // 20
|
||||||
|
SCMA_MMan_SNUM.MemorySize = 2; // 2
|
||||||
|
SCMA_MMan_SF.MemorySize = 10; // 10
|
||||||
|
SCMA_MMan_TNUM.MemorySize = 2; // 2
|
||||||
|
SCMA_MMan_TF.MemorySize = 10; // 10
|
||||||
|
SCMA_MMan_OVR.MemorySize = 4; // 16
|
||||||
|
SCMA_MMan_ANALOG.MemorySize = 128; // 128
|
||||||
|
SCMA_MMan_CNT.MemorySize = 128; // 128
|
||||||
|
SCMA_MMan_MNT.MemorySize = 5; // 5
|
||||||
|
|
||||||
|
// indirizzo area ESA...
|
||||||
|
SCMA_MManCMS_Release.AddressName = "CMSretvariables.Release";
|
||||||
|
SCMA_MManCMS_SerialNumber.AddressName = "CMSretvariables.SerialNumber";
|
||||||
|
for (int i = 0; i < 20; i++)
|
||||||
|
{
|
||||||
|
SCMA_MManCMS_Strings[i].AddressName = $"scma.scmastring[{i}].tag";
|
||||||
|
}
|
||||||
|
SCMA_MMan_ACK.AddressName = "scma.ACK"; //fIni.ReadString("NC", "SCMA_AreaAddress_ACK", "scma.ACK");
|
||||||
|
SCMA_MMan_STROBE.AddressName = "scma.STROBE";
|
||||||
|
SCMA_MMan_WD.AddressName = "scma.WD";
|
||||||
|
SCMA_MMan_status.AddressName = "scma.status";
|
||||||
|
SCMA_MMan_ALM.AddressName = "scma.ALM";
|
||||||
|
SCMA_MMan_MNUM.AddressName = "scma.MNUM";
|
||||||
|
SCMA_MMan_MF.AddressName = "scma.MF";
|
||||||
|
SCMA_MMan_SNUM.AddressName = "scma.SNUM";
|
||||||
|
SCMA_MMan_SF.AddressName = "scma.SF";
|
||||||
|
SCMA_MMan_TNUM.AddressName = "scma.TNUM";
|
||||||
|
SCMA_MMan_TF.AddressName = "scma.TF";
|
||||||
|
SCMA_MMan_OVR.AddressName = "scma.OVR";
|
||||||
|
SCMA_MMan_ANALOG.AddressName = "scma.ANALOG";
|
||||||
|
SCMA_MMan_CNT.AddressName = "scma.CNT";
|
||||||
|
SCMA_MMan_MNT.AddressName = "scma.MNT";
|
||||||
|
|
||||||
|
// Creazione buffers letture memoria
|
||||||
|
SCMA_MManCMS_Release.data = "Release";
|
||||||
|
SCMA_MManCMS_SerialNumber.data = "SerialNumber";
|
||||||
|
for (int i = 0; i < 20; i++)
|
||||||
|
{
|
||||||
|
SCMA_MManCMS_Strings[i].data = "";
|
||||||
|
}
|
||||||
|
SCMA_MMan_ACK.data = new UInt32[SCMA_MMan_ACK.MemorySize];
|
||||||
|
SCMA_MMan_STROBE.data = new UInt32[SCMA_MMan_STROBE.MemorySize];
|
||||||
|
SCMA_MMan_ALM.data = new UInt32[SCMA_MMan_ALM.MemorySize];
|
||||||
|
SCMA_MMan_MNT.data = new UInt32[SCMA_MMan_MNT.MemorySize];
|
||||||
|
SCMA_MMan_ANALOG.data = new UInt32[SCMA_MMan_ANALOG.MemorySize];
|
||||||
|
SCMA_MMan_CNT.data = new UInt32[SCMA_MMan_CNT.MemorySize];
|
||||||
|
|
||||||
|
SCMA_MMan_WD.tempData = new UInt32[(int)Math.Ceiling((decimal)SCMA_MMan_WD.MemorySize / 2)];
|
||||||
|
SCMA_MMan_WD.data = new UInt16[SCMA_MMan_WD.MemorySize];
|
||||||
|
SCMA_MMan_MF.tempData = new UInt32[(int)Math.Ceiling((decimal)SCMA_MMan_MF.MemorySize / 2)];
|
||||||
|
SCMA_MMan_MF.data = new UInt16[SCMA_MMan_MF.MemorySize];
|
||||||
|
SCMA_MMan_SF.tempData = new UInt32[(int)Math.Ceiling((decimal)SCMA_MMan_SF.MemorySize / 2)];
|
||||||
|
SCMA_MMan_SF.data = new UInt16[SCMA_MMan_SF.MemorySize];
|
||||||
|
SCMA_MMan_TF.tempData = new UInt32[(int)Math.Ceiling((decimal)SCMA_MMan_TF.MemorySize / 2)];
|
||||||
|
SCMA_MMan_TF.data = new UInt16[SCMA_MMan_TF.MemorySize];
|
||||||
|
SCMA_MMan_MNUM.tempData = new UInt32[(int)Math.Ceiling((decimal)SCMA_MMan_MNUM.MemorySize / 2)];
|
||||||
|
SCMA_MMan_MNUM.data = new UInt16[SCMA_MMan_MNUM.MemorySize];
|
||||||
|
SCMA_MMan_SNUM.tempData = new UInt32[(int)Math.Ceiling((decimal)SCMA_MMan_SNUM.MemorySize / 2)];
|
||||||
|
SCMA_MMan_SNUM.data = new UInt16[SCMA_MMan_SNUM.MemorySize];
|
||||||
|
SCMA_MMan_TNUM.tempData = new UInt32[(int)Math.Ceiling((decimal)SCMA_MMan_TNUM.MemorySize / 2)];
|
||||||
|
SCMA_MMan_TNUM.data = new UInt16[SCMA_MMan_TNUM.MemorySize];
|
||||||
|
SCMA_MMan_OVR.tempData = new UInt32[(int)Math.Ceiling((decimal)SCMA_MMan_OVR.MemorySize / 4)];
|
||||||
|
SCMA_MMan_OVR.data = new Byte[SCMA_MMan_OVR.MemorySize];
|
||||||
|
SCMA_MMan_status.tempData = new UInt32[(int)Math.Ceiling((decimal)SCMA_MMan_status.MemorySize / 4)];
|
||||||
|
SCMA_MMan_status.data = new Byte[SCMA_MMan_status.MemorySize];
|
||||||
|
}
|
||||||
|
|
||||||
|
#if false
|
||||||
|
/// <summary>
|
||||||
|
/// Thread main execution
|
||||||
|
/// </summary>
|
||||||
|
public override void Execute()
|
||||||
|
{
|
||||||
|
while (!requestStop)
|
||||||
|
{
|
||||||
|
if (Connected)
|
||||||
|
{
|
||||||
|
// load data from NC
|
||||||
|
ReadBuffer();
|
||||||
|
// if requested make a pause
|
||||||
|
if (PlcDelay > 0)
|
||||||
|
Thread.Sleep(PlcDelay);
|
||||||
|
}
|
||||||
|
else if (!Connected)
|
||||||
|
{
|
||||||
|
// wait 5 sec and retry connection
|
||||||
|
Thread.Sleep(5000);
|
||||||
|
Connect();
|
||||||
|
}
|
||||||
|
else
|
||||||
|
Thread.Sleep(500);
|
||||||
|
}
|
||||||
|
|
||||||
|
if (Connected) Disconnect();
|
||||||
|
Finished = true;
|
||||||
|
}
|
||||||
|
#endif
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// lettura e conversione byte
|
||||||
|
/// </summary>
|
||||||
|
/// <param name="currData"></param>
|
||||||
|
private void readConvByte(EsaByteMem currData)
|
||||||
|
{
|
||||||
|
// variabili di appoggio
|
||||||
|
TS_REG newTsReg = currData.AddresReg;// new TS_REG();
|
||||||
|
// effettuo lettura!
|
||||||
|
iError = read_regbuffer(ref newTsReg, 0, currData.MemorySize, currData.tempData);
|
||||||
|
currData.AddresReg = newTsReg;
|
||||||
|
// ...e copio in array a byte...
|
||||||
|
try
|
||||||
|
{
|
||||||
|
Buffer.BlockCopy(currData.tempData, 0, currData.data, 0, currData.MemorySize);
|
||||||
|
}
|
||||||
|
catch
|
||||||
|
{ }
|
||||||
|
}
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// lettura e conversione WORD
|
||||||
|
/// </summary>
|
||||||
|
/// <param name="currData"></param>
|
||||||
|
private void readConvWord(EsaWordMem currData)
|
||||||
|
{
|
||||||
|
// variabili di appoggio
|
||||||
|
TS_REG newTsReg = currData.AddresReg;
|
||||||
|
// effettuo lettura!
|
||||||
|
iError = read_regbuffer(ref newTsReg, 0, currData.MemorySize, currData.tempData);
|
||||||
|
currData.AddresReg = newTsReg;
|
||||||
|
// ...e copio in array a byte...
|
||||||
|
try
|
||||||
|
{
|
||||||
|
Buffer.BlockCopy(currData.tempData, 0, currData.data, 0, currData.MemorySize * 2);
|
||||||
|
}
|
||||||
|
catch
|
||||||
|
{ }
|
||||||
|
}
|
||||||
|
/// <summary>
|
||||||
|
/// lettura e conversione STRING
|
||||||
|
/// </summary>
|
||||||
|
/// <param name="currData"></param>
|
||||||
|
private void readConvString(EsaStringMem currData)
|
||||||
|
{
|
||||||
|
// variabili di appoggio
|
||||||
|
TS_REG newTsReg = currData.AddresReg;
|
||||||
|
|
||||||
|
// lettura diretta stringa metodo nuovo e dedicato
|
||||||
|
byte[] StringRead = new byte[newTsReg.iMax + 1];
|
||||||
|
StringRead.Initialize();
|
||||||
|
short nCharR = 0;
|
||||||
|
iError = read_regstring(ref newTsReg, 0, (short)newTsReg.iMax, ref nCharR, StringRead);
|
||||||
|
if (iError == 0)
|
||||||
|
currData.data = Encoding.ASCII.GetString(StringRead).Replace("\0", " ").Trim();
|
||||||
|
}
|
||||||
|
/// <summary>
|
||||||
|
/// Leggo il buffer di memorie STRING
|
||||||
|
/// </summary>
|
||||||
|
public void ReadStringData()
|
||||||
|
{
|
||||||
|
//readConvString(SCMA_MManCMS_Release);
|
||||||
|
//readConvString(SCMA_MManCMS_SerialNumber);
|
||||||
|
// leggo le 20 variabili stringa...
|
||||||
|
for (int i = 0; i < 20; i++)
|
||||||
|
{
|
||||||
|
readConvString(SCMA_MManCMS_Strings[i]);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
/// <summary>
|
||||||
|
/// Leggo il buffer di memorie DWORD
|
||||||
|
/// </summary>
|
||||||
|
public void ReadAnalogData()
|
||||||
|
{
|
||||||
|
readConvDWord(SCMA_MMan_ANALOG);
|
||||||
|
}
|
||||||
|
/// <summary>
|
||||||
|
/// Leggo il buffer di memorie DWORD
|
||||||
|
/// </summary>
|
||||||
|
public void ReadCounterData()
|
||||||
|
{
|
||||||
|
readConvDWord(SCMA_MMan_CNT);
|
||||||
|
}
|
||||||
|
/// <summary>
|
||||||
|
/// Leggo il buffer OVR e status
|
||||||
|
/// </summary>
|
||||||
|
public void ReadStatus()
|
||||||
|
{
|
||||||
|
readConvByte(SCMA_MMan_OVR);
|
||||||
|
readConvByte(SCMA_MMan_status);
|
||||||
|
readConvDWord(SCMA_MMan_MNT);
|
||||||
|
}
|
||||||
|
/// <summary>
|
||||||
|
/// Leggo il buffer di memorie DWORD ACK e STROBE
|
||||||
|
/// </summary>
|
||||||
|
public void ReadAckStrobe()
|
||||||
|
{
|
||||||
|
readConvDWord(SCMA_MMan_ACK);
|
||||||
|
readConvDWord(SCMA_MMan_STROBE);
|
||||||
|
}
|
||||||
|
/// <summary>
|
||||||
|
/// Leggo TUTTI i buffer MST
|
||||||
|
/// </summary>
|
||||||
|
public void ReadMSTData()
|
||||||
|
{
|
||||||
|
readConvWord(SCMA_MMan_MF);
|
||||||
|
readConvWord(SCMA_MMan_SF);
|
||||||
|
readConvWord(SCMA_MMan_TF);
|
||||||
|
readConvWord(SCMA_MMan_MNUM);
|
||||||
|
readConvWord(SCMA_MMan_SNUM);
|
||||||
|
readConvWord(SCMA_MMan_TNUM);
|
||||||
|
}
|
||||||
|
/// <summary>
|
||||||
|
/// Leggo il buffer di memorie DWORD ACK e STROBE
|
||||||
|
/// </summary>
|
||||||
|
public void ReadlAlarms()
|
||||||
|
{
|
||||||
|
readConvDWord(SCMA_MMan_ALM);
|
||||||
|
}
|
||||||
|
public bool WriteAck()
|
||||||
|
{
|
||||||
|
bool answ = false;
|
||||||
|
try
|
||||||
|
{
|
||||||
|
writeConvDWord(SCMA_MMan_ACK);
|
||||||
|
answ = true;
|
||||||
|
}
|
||||||
|
catch
|
||||||
|
{ }
|
||||||
|
return answ;
|
||||||
|
}
|
||||||
|
/// <summary>
|
||||||
|
/// lettura e conversione DWORD
|
||||||
|
/// </summary>
|
||||||
|
/// <param name="currData"></param>
|
||||||
|
protected void readConvDWord(EsaDWordMem currData)
|
||||||
|
{
|
||||||
|
// variabili di appoggio
|
||||||
|
TS_REG newTsReg = currData.AddresReg;// new TS_REG();
|
||||||
|
// effettuo lettura!
|
||||||
|
iError = read_regbuffer(ref newTsReg, 0, currData.MemorySize, currData.data);
|
||||||
|
currData.AddresReg = newTsReg;
|
||||||
|
}
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// scrittura di un area DWORD
|
||||||
|
/// </summary>
|
||||||
|
/// <param name="currData"></param>
|
||||||
|
protected void writeConvDWord(EsaDWordMem currData)
|
||||||
|
{
|
||||||
|
// variabili di appoggio
|
||||||
|
TS_REG newTsReg = currData.AddresReg;// new TS_REG();
|
||||||
|
// effettuo scrittura!
|
||||||
|
iError = write_regbuffer(ref newTsReg, 0, currData.MemorySize, currData.data);
|
||||||
|
currData.AddresReg = newTsReg;
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// Connects to device.
|
||||||
|
/// </summary>
|
||||||
|
/// <returns>True if connection is ok</returns>
|
||||||
|
public bool Connect()
|
||||||
|
{
|
||||||
|
// inizializzazione comunicazione x aree di memoria A BLOCCHI
|
||||||
|
iError = init_board(DefCn, iChannel);
|
||||||
|
if (iError != (int)ESAutomotionCNCcom.Link.Errors.ele_ok)
|
||||||
|
{
|
||||||
|
string sOut = "";
|
||||||
|
ESAutomotionCNCcom.Link.el_getReadErrorString(iError, ref sOut);
|
||||||
|
lg.Error(sOut);
|
||||||
|
}
|
||||||
|
// init oggetto LINK x gestione dati da CN..
|
||||||
|
iError = ESAutomotionCNCcom.Link.el_connect(@"c:\kvara\exe");
|
||||||
|
if (iError != (int)ESAutomotionCNCcom.Link.Errors.ele_ok)
|
||||||
|
{
|
||||||
|
string sOut = "";
|
||||||
|
ESAutomotionCNCcom.Link.el_getReadErrorString(iError, ref sOut);
|
||||||
|
lg.Error(sOut);
|
||||||
|
}
|
||||||
|
// salvo status connected
|
||||||
|
Connected = (iError == 0);
|
||||||
|
if (Connected)
|
||||||
|
{
|
||||||
|
setupMemConf();
|
||||||
|
setupAxisData();
|
||||||
|
}
|
||||||
|
return Connected;
|
||||||
|
}
|
||||||
|
/// <summary>
|
||||||
|
/// Effettuo setup di TUTTE le aree di memoria
|
||||||
|
/// </summary>
|
||||||
|
public void setupMemConf()
|
||||||
|
{
|
||||||
|
// Chiamo tutti i registri memoria!
|
||||||
|
setupMemAreaSingle(SCMA_MMan_ACK);
|
||||||
|
setupMemAreaSingle(SCMA_MMan_STROBE);
|
||||||
|
setupMemAreaSingle(SCMA_MMan_ALM);
|
||||||
|
setupMemAreaSingle(SCMA_MMan_MNT);
|
||||||
|
setupMemAreaSingle(SCMA_MMan_ANALOG);
|
||||||
|
setupMemAreaSingle(SCMA_MMan_CNT);
|
||||||
|
setupMemAreaSingle(SCMA_MMan_MF);
|
||||||
|
setupMemAreaSingle(SCMA_MMan_SF);
|
||||||
|
setupMemAreaSingle(SCMA_MMan_TF);
|
||||||
|
setupMemAreaSingle(SCMA_MMan_MNUM);
|
||||||
|
setupMemAreaSingle(SCMA_MMan_SNUM);
|
||||||
|
setupMemAreaSingle(SCMA_MMan_TNUM);
|
||||||
|
setupMemAreaSingle(SCMA_MMan_OVR);
|
||||||
|
setupMemAreaSingle(SCMA_MMan_status);
|
||||||
|
setupMemAreaSingle(SCMA_MManCMS_Release);
|
||||||
|
setupMemAreaSingle(SCMA_MManCMS_SerialNumber);
|
||||||
|
foreach (var item in SCMA_MManCMS_Strings)
|
||||||
|
{
|
||||||
|
setupMemAreaSingle(item);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
/// <summary>
|
||||||
|
/// Effettua setup preliminare dati assi
|
||||||
|
/// </summary>
|
||||||
|
public void setupAxisData()
|
||||||
|
{
|
||||||
|
int numAxis = ESAutomotionCNCcom.Link.el_getAxisCount();
|
||||||
|
currAxisData = new AxisData[numAxis];
|
||||||
|
iError = ESAutomotionCNCcom.Link.el_getStatus(((uint)ESAutomotionCNCcom.Link.StatusMaskFlags.STATUS_AXES));
|
||||||
|
// recupero dati x TIPO asse e nome...
|
||||||
|
var axisInfo_t = new ESAutomotionCNCcom.Link.AxisInfoT();
|
||||||
|
for (int i = 0; i < numAxis; i++)
|
||||||
|
{
|
||||||
|
iError = ESAutomotionCNCcom.Link.el_getAxisInfo(i, ref axisInfo_t);
|
||||||
|
if (iError == 0)
|
||||||
|
{
|
||||||
|
currAxisData[axisInfo_t.AxisNum] = new AxisData()
|
||||||
|
{
|
||||||
|
num = axisInfo_t.AxisNum,
|
||||||
|
name = "",
|
||||||
|
isLinear = !axisInfo_t.IsRotative,
|
||||||
|
posMac = 0,
|
||||||
|
posTCP = 0,
|
||||||
|
distanceToGo = 0,
|
||||||
|
speed = 0,
|
||||||
|
load = 0
|
||||||
|
};
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
/// <summary>
|
||||||
|
/// Effettua setup registro
|
||||||
|
/// </summary>
|
||||||
|
/// <param name="currData"></param>
|
||||||
|
private void setupMemAreaSingle(EsaBaseMem currData)
|
||||||
|
{
|
||||||
|
TS_REG newTsReg = new TS_REG();
|
||||||
|
if (iError == 0)
|
||||||
|
{
|
||||||
|
iError = get_reg_by_name(currData.AddressName, ref newTsReg);
|
||||||
|
currData.AddresReg = newTsReg;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// Disconnects device.
|
||||||
|
/// </summary>
|
||||||
|
public void Disconnect()
|
||||||
|
{
|
||||||
|
iError = exit_board();
|
||||||
|
iError = ESAutomotionCNCcom.Link.el_disconnect();
|
||||||
|
}
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// Esa virtual Nc needs 2ms of multimedia timer to work in real time
|
||||||
|
/// </summary>
|
||||||
|
/// <returns></returns>
|
||||||
|
public bool CheckMultimediaTimer()
|
||||||
|
{
|
||||||
|
int minimumPeriod = TimePeriod.MinimumPeriod;
|
||||||
|
//int maximumPeriod = TimePeriod.MaximumPeriod;
|
||||||
|
return ((minimumPeriod <= 2) && (minimumPeriod > 0));
|
||||||
|
}
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// Valorizza parametri assi e restituisce errore
|
||||||
|
/// </summary>
|
||||||
|
/// <returns></returns>
|
||||||
|
public AxisData[] getAxisData()
|
||||||
|
{
|
||||||
|
// richiesta update stato assi
|
||||||
|
iError = ESAutomotionCNCcom.Link.el_getStatus(((uint)ESAutomotionCNCcom.Link.StatusMaskFlags.STATUS_AXES));
|
||||||
|
if (iError == 0)
|
||||||
|
{
|
||||||
|
var axis_t = new ESAutomotionCNCcom.Link.AxisT();
|
||||||
|
for (int i = 0; i < (int)ESAutomotionCNCcom.Link.Constants.MAX_AXIS_NUM; i++)
|
||||||
|
{
|
||||||
|
// SOLO SE NON in elenco veto...
|
||||||
|
if (!vetoAxis.Contains(i))
|
||||||
|
{
|
||||||
|
iError = ESAutomotionCNCcom.Link.el_getAxisStatus(i, ref axis_t);
|
||||||
|
if (iError == 0)
|
||||||
|
{
|
||||||
|
currAxisData[axis_t.AxisNum].name = axis_t.AxisName.Trim();
|
||||||
|
currAxisData[axis_t.AxisNum].posMac = axis_t.MachineCoord;
|
||||||
|
currAxisData[axis_t.AxisNum].posTCP = axis_t.RelativeCoord;
|
||||||
|
currAxisData[axis_t.AxisNum].distanceToGo = axis_t.Distance;
|
||||||
|
currAxisData[axis_t.AxisNum].speed = axis_t.Speed;
|
||||||
|
currAxisData[axis_t.AxisNum].load = axis_t.PowerAbsorbtion;
|
||||||
|
}
|
||||||
|
else
|
||||||
|
{
|
||||||
|
// metto in elenco veto...
|
||||||
|
vetoAxis.Add(i);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
else
|
||||||
|
{
|
||||||
|
// se scaduto il tempo rivaluto veto...
|
||||||
|
if (DateTime.Now.Subtract(lastVetoReset).TotalSeconds > 60)
|
||||||
|
{
|
||||||
|
vetoAxis.Clear();
|
||||||
|
lastVetoReset = DateTime.Now;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
return currAxisData;
|
||||||
|
}
|
||||||
|
/// <summary>
|
||||||
|
/// Restitusice feed e speed
|
||||||
|
/// </summary>
|
||||||
|
public feedSpeedData getFeedSpeed()
|
||||||
|
{
|
||||||
|
feedSpeedData answ = new feedSpeedData();
|
||||||
|
ESAutomotionCNCcom.Link.CncFeedStatusT currData = new ESAutomotionCNCcom.Link.CncFeedStatusT();
|
||||||
|
// richiesta update feed e speed
|
||||||
|
iError = ESAutomotionCNCcom.Link.el_getStatus(((uint)ESAutomotionCNCcom.Link.StatusMaskFlags.STATUS_FEED_SPEED));
|
||||||
|
if (iError == 0)
|
||||||
|
{
|
||||||
|
iError = ESAutomotionCNCcom.Link.el_getFeedStatus(ref currData);
|
||||||
|
if (iError == 0)
|
||||||
|
{
|
||||||
|
answ.programemdFeed = currData.ProgrammedFeed;
|
||||||
|
answ.programemdSpeed = currData.ProgrammedSpeed;
|
||||||
|
answ.realFeed = currData.RealFeed;
|
||||||
|
answ.realSpeed = currData.RealSpeed;
|
||||||
|
answ.overrideFeed = currData.FeedOverride;
|
||||||
|
answ.overrideSpeed = currData.SpeedOverride;
|
||||||
|
answ.overrideRapid = currData.RapidOverride;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
return answ;
|
||||||
|
}
|
||||||
|
/// <summary>
|
||||||
|
/// recupera e restituisce elenco codici G attivi...
|
||||||
|
/// </summary>
|
||||||
|
/// <param name="numPath"></param>
|
||||||
|
/// <returns></returns>
|
||||||
|
public int[] getGCodes()
|
||||||
|
{
|
||||||
|
int[] answ = new int[10];
|
||||||
|
|
||||||
|
ESAutomotionCNCcom.Link.CncStatusT currData = new ESAutomotionCNCcom.Link.CncStatusT();
|
||||||
|
// richiesta update feed e speed
|
||||||
|
iError = ESAutomotionCNCcom.Link.el_getStatus(((uint)ESAutomotionCNCcom.Link.StatusMaskFlags.STATUS_MISC_FLAGS));
|
||||||
|
if (iError == 0)
|
||||||
|
{
|
||||||
|
iError = ESAutomotionCNCcom.Link.el_getCNCStatus(ref currData);
|
||||||
|
answ = currData.GroupG;
|
||||||
|
}
|
||||||
|
|
||||||
|
return answ;
|
||||||
|
}
|
||||||
|
|
||||||
|
}
|
||||||
|
/// <summary>
|
||||||
|
/// Struttura dati asse
|
||||||
|
/// </summary>
|
||||||
|
public struct AxisData
|
||||||
|
{
|
||||||
|
public int num;
|
||||||
|
public string name;
|
||||||
|
public bool isLinear;
|
||||||
|
public double posMac;
|
||||||
|
public double posTCP;
|
||||||
|
public double distanceToGo;
|
||||||
|
public double speed;
|
||||||
|
public int load;
|
||||||
|
}
|
||||||
|
|
||||||
|
public struct feedSpeedData
|
||||||
|
{
|
||||||
|
public double programemdFeed;
|
||||||
|
public double programemdSpeed;
|
||||||
|
public double realFeed;
|
||||||
|
public double realSpeed;
|
||||||
|
public double overrideFeed;
|
||||||
|
public double overrideSpeed;
|
||||||
|
public double overrideRapid;
|
||||||
|
|
||||||
|
}
|
||||||
|
}
|
||||||
@@ -1,61 +1,76 @@
|
|||||||
<?xml version="1.0" encoding="utf-8"?>
|
<?xml version="1.0" encoding="utf-8"?>
|
||||||
<configuration>
|
<configuration>
|
||||||
<startup>
|
<startup>
|
||||||
<supportedRuntime version="v4.0" sku=".NETFramework,Version=v4.5.2"/>
|
<supportedRuntime version="v4.0" sku=".NETFramework,Version=v4.6.2" />
|
||||||
</startup>
|
</startup>
|
||||||
<appSettings>
|
<appSettings>
|
||||||
<add key="appName" value="MTConnect Adapter DB"/>
|
<add key="appName" value="MTConnect Adapter DB" />
|
||||||
<!--obbligatorio x dump compilato su 7879...-->
|
<!--obbligatorio x dump compilato su 7879...-->
|
||||||
<add key="portMTC" value="7879"/>
|
<add key="portMTC" value="7879" />
|
||||||
<add key="recTime" value="true"/>
|
<add key="recTime" value="true" />
|
||||||
<add key="verbose" value="true"/>
|
<add key="verbose" value="true" />
|
||||||
<!--gestione TIMERS-->
|
<!--gestione TIMERS-->
|
||||||
<add key="startTimerMs" value="250"/>
|
<add key="startTimerMs" value="250" />
|
||||||
<!--invio da adapter ad agent: 10ms-->
|
<!--invio da adapter ad agent: 10ms-->
|
||||||
<add key="timerIntMs" value="10"/>
|
<add key="timerIntMs" value="10" />
|
||||||
<!--0.2 sec-->
|
<!--0.2 sec-->
|
||||||
<add key="fastCount" value="20"/>
|
<add key="fastCount" value="20" />
|
||||||
<!--0.5 sec-->
|
<!--0.5 sec-->
|
||||||
<add key="normCount" value="50"/>
|
<add key="normCount" value="50" />
|
||||||
<!--60 sec-->
|
<!--60 sec-->
|
||||||
<add key="slowCount" value="600"/>
|
<add key="slowCount" value="600" />
|
||||||
<!--2 min-->
|
<!--2 min-->
|
||||||
<add key="verySlowCount" value="1200"/>
|
<add key="verySlowCount" value="1200" />
|
||||||
<!--parametri gestione watchdog-->
|
<!--parametri gestione watchdog-->
|
||||||
<add key="maxAdapterLockSec" value="5"/>
|
<add key="maxAdapterLockSec" value="5" />
|
||||||
<!--conf file-->
|
<!--conf file-->
|
||||||
<add key="dataPath" value="DATA"/>
|
<add key="dataPath" value="DATA" />
|
||||||
<add key="dataConfPath" value="DATA\CONF"/>
|
<add key="dataConfPath" value="DATA\CONF" />
|
||||||
<add key="dataDatPath" value="DATA\DAT"/>
|
<add key="dataDatPath" value="DATA\DAT" />
|
||||||
<add key="resxPath" value="Resources"/>
|
<add key="resxPath" value="Resources" />
|
||||||
<add key="defaultPersLayerFile" value="PersistData.dat"/>
|
<add key="defaultPersLayerFile" value="PersistData.dat" />
|
||||||
<add key="maxNumDD" value="30"/>
|
<add key="maxNumDD" value="30" />
|
||||||
<!--Definizione avvio Adapter-->
|
<!--Definizione avvio Adapter-->
|
||||||
<add key="autoStartOnLoad" value="true"/>
|
<add key="autoStartOnLoad" value="true" />
|
||||||
<add key="openDumpOnStart" value="true"/>
|
<add key="openDumpOnStart" value="true" />
|
||||||
<add key="startMinimized" value="false"/>
|
<add key="startMinimized" value="false" />
|
||||||
<add key="windowCanMax" value="true"/>
|
<add key="windowCanMax" value="true" />
|
||||||
<add key="trayClose" value="true"/>
|
<add key="trayClose" value="true" />
|
||||||
<add key="autoSaveSec" value="60"/>
|
<add key="autoSaveSec" value="60" />
|
||||||
<add key="waitRecMSec" value="5000"/>
|
<add key="waitRecMSec" value="5000" />
|
||||||
<add key="testCharSep" value="|"/>
|
<add key="testCharSep" value="|" />
|
||||||
<!--CONF DB-->
|
<!--CONF DB-->
|
||||||
<add key="ServerType" value="MySQL"/>
|
<add key="ServerType" value="MySQL" />
|
||||||
<add key="ServerAddress" value="10.74.82.62"/>
|
<add key="ServerAddress" value="10.74.82.62" />
|
||||||
<add key="DbName" value="savenergy"/>
|
<add key="DbName" value="savenergy" />
|
||||||
<add key="DbUser" value="root"/>
|
<add key="DbUser" value="root" />
|
||||||
<add key="DbPwd" value="scmgroup"/>
|
<add key="DbPwd" value="scmgroup" />
|
||||||
<add key="numRetryConnDb" value="10"/>
|
<add key="numRetryConnDb" value="10" />
|
||||||
|
|
||||||
</appSettings>
|
</appSettings>
|
||||||
<runtime>
|
<runtime>
|
||||||
<assemblyBinding xmlns="urn:schemas-microsoft-com:asm.v1">
|
<assemblyBinding xmlns="urn:schemas-microsoft-com:asm.v1">
|
||||||
<probing privatePath="lib;libs"/>
|
<probing privatePath="lib;libs" />
|
||||||
|
<dependentAssembly>
|
||||||
|
<assemblyIdentity name="Google.Protobuf" publicKeyToken="a7d26565bac4d604" culture="neutral" />
|
||||||
|
<bindingRedirect oldVersion="0.0.0.0-3.12.3.0" newVersion="3.12.3.0" />
|
||||||
|
</dependentAssembly>
|
||||||
|
<dependentAssembly>
|
||||||
|
<assemblyIdentity name="BouncyCastle.Crypto" publicKeyToken="0e99375e54769942" culture="neutral" />
|
||||||
|
<bindingRedirect oldVersion="0.0.0.0-1.8.6.0" newVersion="1.8.6.0" />
|
||||||
|
</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.Runtime.CompilerServices.Unsafe" publicKeyToken="b03f5f7f11d50a3a" culture="neutral" />
|
||||||
|
<bindingRedirect oldVersion="0.0.0.0-4.0.6.0" newVersion="4.0.6.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>
|
||||||
</assemblyBinding>
|
</assemblyBinding>
|
||||||
</runtime>
|
</runtime>
|
||||||
<system.data>
|
</configuration>
|
||||||
<DbProviderFactories>
|
|
||||||
<remove invariant="MySql.Data.MySqlClient"/>
|
|
||||||
<add name="MySQL Data Provider" invariant="MySql.Data.MySqlClient" description=".Net Framework Data Provider for MySQL" type="MySql.Data.MySqlClient.MySqlClientFactory, MySql.Data, Version=6.9.9.0, Culture=neutral, PublicKeyToken=c5687fc88969c44d"/>
|
|
||||||
</DbProviderFactories>
|
|
||||||
</system.data></configuration>
|
|
||||||
|
|||||||
@@ -8,11 +8,12 @@
|
|||||||
<OutputType>WinExe</OutputType>
|
<OutputType>WinExe</OutputType>
|
||||||
<RootNamespace>MTC_ADB</RootNamespace>
|
<RootNamespace>MTC_ADB</RootNamespace>
|
||||||
<AssemblyName>MTC-ADB</AssemblyName>
|
<AssemblyName>MTC-ADB</AssemblyName>
|
||||||
<TargetFrameworkVersion>v4.5.2</TargetFrameworkVersion>
|
<TargetFrameworkVersion>v4.6.2</TargetFrameworkVersion>
|
||||||
<FileAlignment>512</FileAlignment>
|
<FileAlignment>512</FileAlignment>
|
||||||
<AutoGenerateBindingRedirects>true</AutoGenerateBindingRedirects>
|
<AutoGenerateBindingRedirects>true</AutoGenerateBindingRedirects>
|
||||||
<NuGetPackageImportStamp>
|
<NuGetPackageImportStamp>
|
||||||
</NuGetPackageImportStamp>
|
</NuGetPackageImportStamp>
|
||||||
|
<TargetFrameworkProfile />
|
||||||
</PropertyGroup>
|
</PropertyGroup>
|
||||||
<PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Debug|AnyCPU' ">
|
<PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Debug|AnyCPU' ">
|
||||||
<PlatformTarget>AnyCPU</PlatformTarget>
|
<PlatformTarget>AnyCPU</PlatformTarget>
|
||||||
@@ -43,21 +44,96 @@
|
|||||||
<CodeAnalysisRuleSet>MinimumRecommendedRules.ruleset</CodeAnalysisRuleSet>
|
<CodeAnalysisRuleSet>MinimumRecommendedRules.ruleset</CodeAnalysisRuleSet>
|
||||||
<Prefer32Bit>true</Prefer32Bit>
|
<Prefer32Bit>true</Prefer32Bit>
|
||||||
</PropertyGroup>
|
</PropertyGroup>
|
||||||
|
<PropertyGroup Condition="'$(Configuration)|$(Platform)' == 'Debug|x86'">
|
||||||
|
<DebugSymbols>true</DebugSymbols>
|
||||||
|
<OutputPath>bin\x86\Debug\</OutputPath>
|
||||||
|
<DefineConstants>DEBUG;TRACE</DefineConstants>
|
||||||
|
<DebugType>full</DebugType>
|
||||||
|
<PlatformTarget>x86</PlatformTarget>
|
||||||
|
<LangVersion>7.3</LangVersion>
|
||||||
|
<ErrorReport>prompt</ErrorReport>
|
||||||
|
<Prefer32Bit>true</Prefer32Bit>
|
||||||
|
</PropertyGroup>
|
||||||
|
<PropertyGroup Condition="'$(Configuration)|$(Platform)' == 'Release|x86'">
|
||||||
|
<OutputPath>bin\x86\Release\</OutputPath>
|
||||||
|
<DefineConstants>TRACE</DefineConstants>
|
||||||
|
<Optimize>true</Optimize>
|
||||||
|
<DebugType>pdbonly</DebugType>
|
||||||
|
<PlatformTarget>x86</PlatformTarget>
|
||||||
|
<LangVersion>7.3</LangVersion>
|
||||||
|
<ErrorReport>prompt</ErrorReport>
|
||||||
|
<Prefer32Bit>true</Prefer32Bit>
|
||||||
|
</PropertyGroup>
|
||||||
|
<PropertyGroup Condition="'$(Configuration)|$(Platform)' == 'MySql|x86'">
|
||||||
|
<OutputPath>bin\x86\MySql\</OutputPath>
|
||||||
|
<DefineConstants>TRACE</DefineConstants>
|
||||||
|
<Optimize>true</Optimize>
|
||||||
|
<DebugType>pdbonly</DebugType>
|
||||||
|
<PlatformTarget>x86</PlatformTarget>
|
||||||
|
<LangVersion>7.3</LangVersion>
|
||||||
|
<ErrorReport>prompt</ErrorReport>
|
||||||
|
<CodeAnalysisRuleSet>MinimumRecommendedRules.ruleset</CodeAnalysisRuleSet>
|
||||||
|
<Prefer32Bit>true</Prefer32Bit>
|
||||||
|
</PropertyGroup>
|
||||||
<ItemGroup>
|
<ItemGroup>
|
||||||
|
<Reference Include="BouncyCastle.Crypto, Version=1.8.6.0, Culture=neutral, PublicKeyToken=0e99375e54769942">
|
||||||
|
<HintPath>..\packages\BouncyCastle.1.8.6.1\lib\BouncyCastle.Crypto.dll</HintPath>
|
||||||
|
</Reference>
|
||||||
<Reference Include="DotNetAdapterSDK, Version=1.0.0.0, Culture=neutral, processorArchitecture=MSIL">
|
<Reference Include="DotNetAdapterSDK, Version=1.0.0.0, Culture=neutral, processorArchitecture=MSIL">
|
||||||
<SpecificVersion>False</SpecificVersion>
|
<SpecificVersion>False</SpecificVersion>
|
||||||
<HintPath>ExtLib\DotNetAdapterSDK.dll</HintPath>
|
<HintPath>ExtLib\DotNetAdapterSDK.dll</HintPath>
|
||||||
</Reference>
|
</Reference>
|
||||||
<Reference Include="MySql.Data, Version=6.9.9.0, Culture=neutral, PublicKeyToken=c5687fc88969c44d, processorArchitecture=MSIL">
|
<Reference Include="Google.Protobuf, Version=3.12.3.0, Culture=neutral, PublicKeyToken=a7d26565bac4d604, processorArchitecture=MSIL">
|
||||||
<HintPath>..\packages\MySql.Data.6.9.9\lib\net45\MySql.Data.dll</HintPath>
|
<HintPath>..\packages\Google.Protobuf.3.12.3\lib\net45\Google.Protobuf.dll</HintPath>
|
||||||
|
</Reference>
|
||||||
|
<Reference Include="K4os.Compression.LZ4, Version=1.1.11.0, Culture=neutral, PublicKeyToken=2186fa9121ef231d, processorArchitecture=MSIL">
|
||||||
|
<HintPath>..\packages\K4os.Compression.LZ4.1.1.11\lib\net46\K4os.Compression.LZ4.dll</HintPath>
|
||||||
|
</Reference>
|
||||||
|
<Reference Include="K4os.Compression.LZ4.Streams, Version=1.1.11.0, Culture=neutral, PublicKeyToken=2186fa9121ef231d, processorArchitecture=MSIL">
|
||||||
|
<HintPath>..\packages\K4os.Compression.LZ4.Streams.1.1.11\lib\net46\K4os.Compression.LZ4.Streams.dll</HintPath>
|
||||||
|
</Reference>
|
||||||
|
<Reference Include="K4os.Hash.xxHash, Version=1.0.6.0, Culture=neutral, PublicKeyToken=32cd54395057cec3, processorArchitecture=MSIL">
|
||||||
|
<HintPath>..\packages\K4os.Hash.xxHash.1.0.6\lib\net46\K4os.Hash.xxHash.dll</HintPath>
|
||||||
|
</Reference>
|
||||||
|
<Reference Include="MySql.Data, Version=8.0.21.0, Culture=neutral, PublicKeyToken=c5687fc88969c44d, processorArchitecture=MSIL">
|
||||||
|
<HintPath>..\packages\MySql.Data.8.0.21\lib\net452\MySql.Data.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>
|
||||||
<Reference Include="NLog, Version=4.0.0.0, Culture=neutral, PublicKeyToken=5120e14c03d0593c, processorArchitecture=MSIL">
|
<Reference Include="NLog, Version=4.0.0.0, Culture=neutral, PublicKeyToken=5120e14c03d0593c, processorArchitecture=MSIL">
|
||||||
<HintPath>..\packages\NLog.4.4.5\lib\net45\NLog.dll</HintPath>
|
<HintPath>..\packages\NLog.4.7.10\lib\net45\NLog.dll</HintPath>
|
||||||
<Private>True</Private>
|
</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>
|
||||||
<Reference Include="System" />
|
<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.ComponentModel" />
|
||||||
|
<Reference Include="System.ComponentModel.DataAnnotations" />
|
||||||
<Reference Include="System.configuration" />
|
<Reference Include="System.configuration" />
|
||||||
|
<Reference Include="System.Configuration.Install" />
|
||||||
<Reference Include="System.Core" />
|
<Reference Include="System.Core" />
|
||||||
|
<Reference Include="System.Drawing.Design" />
|
||||||
|
<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>
|
||||||
|
</Reference>
|
||||||
|
<Reference Include="System.Management" />
|
||||||
|
<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.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=4.0.6.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a, processorArchitecture=MSIL">
|
||||||
|
<HintPath>..\packages\System.Runtime.CompilerServices.Unsafe.4.7.1\lib\net461\System.Runtime.CompilerServices.Unsafe.dll</HintPath>
|
||||||
|
</Reference>
|
||||||
|
<Reference Include="System.Runtime.Serialization" />
|
||||||
|
<Reference Include="System.ServiceModel" />
|
||||||
|
<Reference Include="System.Transactions" />
|
||||||
<Reference Include="System.Xml.Linq" />
|
<Reference Include="System.Xml.Linq" />
|
||||||
<Reference Include="System.Data.DataSetExtensions" />
|
<Reference Include="System.Data.DataSetExtensions" />
|
||||||
<Reference Include="Microsoft.CSharp" />
|
<Reference Include="Microsoft.CSharp" />
|
||||||
@@ -67,6 +143,12 @@
|
|||||||
<Reference Include="System.Net.Http" />
|
<Reference Include="System.Net.Http" />
|
||||||
<Reference Include="System.Windows.Forms" />
|
<Reference Include="System.Windows.Forms" />
|
||||||
<Reference Include="System.Xml" />
|
<Reference Include="System.Xml" />
|
||||||
|
<Reference Include="Ubiety.Dns.Core, Version=2.2.1.0, Culture=neutral, PublicKeyToken=c5687fc88969c44d, processorArchitecture=MSIL">
|
||||||
|
<HintPath>..\packages\MySql.Data.8.0.21\lib\net452\Ubiety.Dns.Core.dll</HintPath>
|
||||||
|
</Reference>
|
||||||
|
<Reference Include="Zstandard.Net, Version=1.1.7.0, Culture=neutral, PublicKeyToken=c5687fc88969c44d, processorArchitecture=MSIL">
|
||||||
|
<HintPath>..\packages\MySql.Data.8.0.21\lib\net452\Zstandard.Net.dll</HintPath>
|
||||||
|
</Reference>
|
||||||
</ItemGroup>
|
</ItemGroup>
|
||||||
<ItemGroup>
|
<ItemGroup>
|
||||||
<Compile Include="..\VersGen\VersGen.cs">
|
<Compile Include="..\VersGen\VersGen.cs">
|
||||||
@@ -112,12 +194,13 @@
|
|||||||
<Compile Include="Properties\Resources.Designer.cs">
|
<Compile Include="Properties\Resources.Designer.cs">
|
||||||
<AutoGen>True</AutoGen>
|
<AutoGen>True</AutoGen>
|
||||||
<DependentUpon>Resources.resx</DependentUpon>
|
<DependentUpon>Resources.resx</DependentUpon>
|
||||||
|
<DesignTime>True</DesignTime>
|
||||||
</Compile>
|
</Compile>
|
||||||
<None Include="DATA\DAT\PersistData.dat">
|
<None Include="DATA\DAT\PersistData.dat">
|
||||||
<CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory>
|
<CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory>
|
||||||
</None>
|
</None>
|
||||||
<Content Include="NLog.config">
|
<Content Include="NLog.config">
|
||||||
<CopyToOutputDirectory>Always</CopyToOutputDirectory>
|
<CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory>
|
||||||
</Content>
|
</Content>
|
||||||
<None Include="dump\build.bat" />
|
<None Include="dump\build.bat" />
|
||||||
<None Include="dump\dump.obj" />
|
<None Include="dump\dump.obj" />
|
||||||
@@ -162,11 +245,11 @@
|
|||||||
</ItemGroup>
|
</ItemGroup>
|
||||||
<Move SourceFiles="@(MoveToLibFolder)" DestinationFolder="$(OutputPath)lib" OverwriteReadOnlyFiles="true" />
|
<Move SourceFiles="@(MoveToLibFolder)" DestinationFolder="$(OutputPath)lib" OverwriteReadOnlyFiles="true" />
|
||||||
</Target>
|
</Target>
|
||||||
<Import Project="..\packages\SlowCheetah.2.5.48\build\SlowCheetah.targets" Condition="Exists('..\packages\SlowCheetah.2.5.48\build\SlowCheetah.targets')" />
|
<Import Project="..\packages\Microsoft.VisualStudio.SlowCheetah.4.0.8\build\Microsoft.VisualStudio.SlowCheetah.targets" Condition="Exists('..\packages\Microsoft.VisualStudio.SlowCheetah.4.0.8\build\Microsoft.VisualStudio.SlowCheetah.targets')" />
|
||||||
<Target Name="EnsureNuGetPackageBuildImports" BeforeTargets="PrepareForBuild">
|
<Target Name="EnsureNuGetPackageBuildImports" BeforeTargets="PrepareForBuild">
|
||||||
<PropertyGroup>
|
<PropertyGroup>
|
||||||
<ErrorText>Questo progetto fa riferimento a uno o più pacchetti NuGet che non sono presenti in questo computer. Usare lo strumento di ripristino dei pacchetti NuGet per scaricarli. Per altre informazioni, vedere http://go.microsoft.com/fwlink/?LinkID=322105. Il file mancante è {0}.</ErrorText>
|
<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>
|
</PropertyGroup>
|
||||||
<Error Condition="!Exists('..\packages\SlowCheetah.2.5.48\build\SlowCheetah.targets')" Text="$([System.String]::Format('$(ErrorText)', '..\packages\SlowCheetah.2.5.48\build\SlowCheetah.targets'))" />
|
<Error Condition="!Exists('..\packages\Microsoft.VisualStudio.SlowCheetah.4.0.8\build\Microsoft.VisualStudio.SlowCheetah.targets')" Text="$([System.String]::Format('$(ErrorText)', '..\packages\Microsoft.VisualStudio.SlowCheetah.4.0.8\build\Microsoft.VisualStudio.SlowCheetah.targets'))" />
|
||||||
</Target>
|
</Target>
|
||||||
</Project>
|
</Project>
|
||||||
@@ -384,7 +384,7 @@ namespace MTC_ADB
|
|||||||
{
|
{
|
||||||
get
|
get
|
||||||
{
|
{
|
||||||
return string.Format(@"{0}\MTCA.ico", utils.resxDir);
|
return string.Format(@"{0}\Scma.ico", utils.resxDir);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
/// <summary>
|
/// <summary>
|
||||||
|
|||||||
@@ -53,4 +53,4 @@
|
|||||||
-->
|
-->
|
||||||
<logger name="*" minlevel="Debug" writeTo="f" />
|
<logger name="*" minlevel="Debug" writeTo="f" />
|
||||||
</rules>
|
</rules>
|
||||||
</nlog>
|
</nlog>
|
||||||
+1076
-392
File diff suppressed because it is too large
Load Diff
+30
-38
@@ -1,69 +1,61 @@
|
|||||||
//------------------------------------------------------------------------------
|
//------------------------------------------------------------------------------
|
||||||
// <auto-generated>
|
// <auto-generated>
|
||||||
// Codice generato da uno strumento.
|
// This code was generated by a tool.
|
||||||
// Versione runtime:4.0.30319.42000
|
// Runtime Version:4.0.30319.42000
|
||||||
//
|
//
|
||||||
// Le modifiche apportate a questo file possono causare un comportamento non corretto e andranno perse se
|
// Changes to this file may cause incorrect behavior and will be lost if
|
||||||
// il codice viene rigenerato.
|
// the code is regenerated.
|
||||||
// </auto-generated>
|
// </auto-generated>
|
||||||
//------------------------------------------------------------------------------
|
//------------------------------------------------------------------------------
|
||||||
|
|
||||||
namespace MTC_ADB.Properties
|
namespace MTC_ADB.Properties {
|
||||||
{
|
using System;
|
||||||
|
|
||||||
|
|
||||||
/// <summary>
|
/// <summary>
|
||||||
/// Classe di risorse fortemente tipizzata per la ricerca di stringhe localizzate e così via.
|
/// A strongly-typed resource class, for looking up localized strings, etc.
|
||||||
/// </summary>
|
/// </summary>
|
||||||
// Questa classe è stata generata automaticamente dalla classe StronglyTypedResourceBuilder
|
// This class was auto-generated by the StronglyTypedResourceBuilder
|
||||||
// tramite uno strumento quale ResGen o Visual Studio.
|
// class via a tool like ResGen or Visual Studio.
|
||||||
// Per aggiungere o rimuovere un membro, modificare il file .ResX, quindi eseguire di nuovo ResGen
|
// To add or remove a member, edit your .ResX file then rerun ResGen
|
||||||
// con l'opzione /str oppure ricompilare il progetto VS.
|
// with the /str option, or rebuild your VS project.
|
||||||
[global::System.CodeDom.Compiler.GeneratedCodeAttribute("System.Resources.Tools.StronglyTypedResourceBuilder", "4.0.0.0")]
|
[global::System.CodeDom.Compiler.GeneratedCodeAttribute("System.Resources.Tools.StronglyTypedResourceBuilder", "16.0.0.0")]
|
||||||
[global::System.Diagnostics.DebuggerNonUserCodeAttribute()]
|
[global::System.Diagnostics.DebuggerNonUserCodeAttribute()]
|
||||||
[global::System.Runtime.CompilerServices.CompilerGeneratedAttribute()]
|
[global::System.Runtime.CompilerServices.CompilerGeneratedAttribute()]
|
||||||
internal class Resources
|
internal class Resources {
|
||||||
{
|
|
||||||
|
|
||||||
private static global::System.Resources.ResourceManager resourceMan;
|
private static global::System.Resources.ResourceManager resourceMan;
|
||||||
|
|
||||||
private static global::System.Globalization.CultureInfo resourceCulture;
|
private static global::System.Globalization.CultureInfo resourceCulture;
|
||||||
|
|
||||||
[global::System.Diagnostics.CodeAnalysis.SuppressMessageAttribute("Microsoft.Performance", "CA1811:AvoidUncalledPrivateCode")]
|
[global::System.Diagnostics.CodeAnalysis.SuppressMessageAttribute("Microsoft.Performance", "CA1811:AvoidUncalledPrivateCode")]
|
||||||
internal Resources()
|
internal Resources() {
|
||||||
{
|
|
||||||
}
|
}
|
||||||
|
|
||||||
/// <summary>
|
/// <summary>
|
||||||
/// Restituisce l'istanza di ResourceManager memorizzata nella cache e usata da questa classe.
|
/// Returns the cached ResourceManager instance used by this class.
|
||||||
/// </summary>
|
/// </summary>
|
||||||
[global::System.ComponentModel.EditorBrowsableAttribute(global::System.ComponentModel.EditorBrowsableState.Advanced)]
|
[global::System.ComponentModel.EditorBrowsableAttribute(global::System.ComponentModel.EditorBrowsableState.Advanced)]
|
||||||
internal static global::System.Resources.ResourceManager ResourceManager
|
internal static global::System.Resources.ResourceManager ResourceManager {
|
||||||
{
|
get {
|
||||||
get
|
if (object.ReferenceEquals(resourceMan, null)) {
|
||||||
{
|
|
||||||
if ((resourceMan == null))
|
|
||||||
{
|
|
||||||
global::System.Resources.ResourceManager temp = new global::System.Resources.ResourceManager("MTC_ADB.Properties.Resources", typeof(Resources).Assembly);
|
global::System.Resources.ResourceManager temp = new global::System.Resources.ResourceManager("MTC_ADB.Properties.Resources", typeof(Resources).Assembly);
|
||||||
resourceMan = temp;
|
resourceMan = temp;
|
||||||
}
|
}
|
||||||
return resourceMan;
|
return resourceMan;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
/// <summary>
|
/// <summary>
|
||||||
/// Esegue l'override della proprietà CurrentUICulture del thread corrente per tutte
|
/// Overrides the current thread's CurrentUICulture property for all
|
||||||
/// le ricerche di risorse che utilizzano questa classe di risorse fortemente tipizzata.
|
/// resource lookups using this strongly typed resource class.
|
||||||
/// </summary>
|
/// </summary>
|
||||||
[global::System.ComponentModel.EditorBrowsableAttribute(global::System.ComponentModel.EditorBrowsableState.Advanced)]
|
[global::System.ComponentModel.EditorBrowsableAttribute(global::System.ComponentModel.EditorBrowsableState.Advanced)]
|
||||||
internal static global::System.Globalization.CultureInfo Culture
|
internal static global::System.Globalization.CultureInfo Culture {
|
||||||
{
|
get {
|
||||||
get
|
|
||||||
{
|
|
||||||
return resourceCulture;
|
return resourceCulture;
|
||||||
}
|
}
|
||||||
set
|
set {
|
||||||
{
|
|
||||||
resourceCulture = value;
|
resourceCulture = value;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
+9
-13
@@ -8,21 +8,17 @@
|
|||||||
// </auto-generated>
|
// </auto-generated>
|
||||||
//------------------------------------------------------------------------------
|
//------------------------------------------------------------------------------
|
||||||
|
|
||||||
namespace MTC_ADB.Properties
|
namespace MTC_ADB.Properties {
|
||||||
{
|
|
||||||
|
|
||||||
|
|
||||||
[global::System.Runtime.CompilerServices.CompilerGeneratedAttribute()]
|
[global::System.Runtime.CompilerServices.CompilerGeneratedAttribute()]
|
||||||
[global::System.CodeDom.Compiler.GeneratedCodeAttribute("Microsoft.VisualStudio.Editors.SettingsDesigner.SettingsSingleFileGenerator", "11.0.0.0")]
|
[global::System.CodeDom.Compiler.GeneratedCodeAttribute("Microsoft.VisualStudio.Editors.SettingsDesigner.SettingsSingleFileGenerator", "16.5.0.0")]
|
||||||
internal sealed partial class Settings : global::System.Configuration.ApplicationSettingsBase
|
internal sealed partial class Settings : global::System.Configuration.ApplicationSettingsBase {
|
||||||
{
|
|
||||||
|
|
||||||
private static Settings defaultInstance = ((Settings)(global::System.Configuration.ApplicationSettingsBase.Synchronized(new Settings())));
|
private static Settings defaultInstance = ((Settings)(global::System.Configuration.ApplicationSettingsBase.Synchronized(new Settings())));
|
||||||
|
|
||||||
public static Settings Default
|
public static Settings Default {
|
||||||
{
|
get {
|
||||||
get
|
|
||||||
{
|
|
||||||
return defaultInstance;
|
return defaultInstance;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -1,9 +1,20 @@
|
|||||||
<?xml version="1.0" encoding="utf-8"?>
|
<?xml version="1.0" encoding="utf-8"?>
|
||||||
<packages>
|
<packages>
|
||||||
<package id="MySql.Data" version="6.9.9" targetFramework="net452" />
|
<package id="BouncyCastle" version="1.8.6.1" targetFramework="net462" />
|
||||||
<package id="NLog" version="4.4.5" targetFramework="net452" />
|
<package id="Google.Protobuf" version="3.12.3" targetFramework="net462" />
|
||||||
<package id="NLog.Config" version="4.4.5" targetFramework="net452" />
|
<package id="K4os.Compression.LZ4" version="1.1.11" targetFramework="net462" />
|
||||||
<package id="NLog.Schema" version="4.4.5" targetFramework="net452" />
|
<package id="K4os.Compression.LZ4.Streams" version="1.1.11" targetFramework="net462" />
|
||||||
|
<package id="K4os.Hash.xxHash" version="1.0.6" targetFramework="net462" />
|
||||||
|
<package id="Microsoft.VisualStudio.SlowCheetah" version="4.0.8" targetFramework="net462" developmentDependency="true" />
|
||||||
|
<package id="MySql.Data" version="8.0.21" targetFramework="net462" />
|
||||||
|
<package id="Newtonsoft.Json" version="12.0.3" targetFramework="net452" />
|
||||||
|
<package id="NLog" version="4.7.10" targetFramework="net462" />
|
||||||
|
<package id="NLog.Schema" version="4.7.10" targetFramework="net462" />
|
||||||
<package id="PrettyBin" version="1.1.0" targetFramework="net452" />
|
<package id="PrettyBin" version="1.1.0" targetFramework="net452" />
|
||||||
<package id="SlowCheetah" version="2.5.48" targetFramework="net452" />
|
<package id="SSH.NET" version="2016.1.0" targetFramework="net462" />
|
||||||
|
<package id="System.Buffers" version="4.5.1" targetFramework="net462" />
|
||||||
|
<package id="System.IO.Compression" version="4.3.0" 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="4.7.1" targetFramework="net462" />
|
||||||
</packages>
|
</packages>
|
||||||
@@ -9,8 +9,9 @@
|
|||||||
<AppDesignerFolder>Properties</AppDesignerFolder>
|
<AppDesignerFolder>Properties</AppDesignerFolder>
|
||||||
<RootNamespace>MTC</RootNamespace>
|
<RootNamespace>MTC</RootNamespace>
|
||||||
<AssemblyName>MTC</AssemblyName>
|
<AssemblyName>MTC</AssemblyName>
|
||||||
<TargetFrameworkVersion>v4.5.2</TargetFrameworkVersion>
|
<TargetFrameworkVersion>v4.6.2</TargetFrameworkVersion>
|
||||||
<FileAlignment>512</FileAlignment>
|
<FileAlignment>512</FileAlignment>
|
||||||
|
<TargetFrameworkProfile />
|
||||||
</PropertyGroup>
|
</PropertyGroup>
|
||||||
<PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Debug|AnyCPU' ">
|
<PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Debug|AnyCPU' ">
|
||||||
<DebugSymbols>true</DebugSymbols>
|
<DebugSymbols>true</DebugSymbols>
|
||||||
@@ -29,14 +30,47 @@
|
|||||||
<ErrorReport>prompt</ErrorReport>
|
<ErrorReport>prompt</ErrorReport>
|
||||||
<WarningLevel>4</WarningLevel>
|
<WarningLevel>4</WarningLevel>
|
||||||
</PropertyGroup>
|
</PropertyGroup>
|
||||||
|
<PropertyGroup Condition="'$(Configuration)|$(Platform)' == 'Debug|x86'">
|
||||||
|
<DebugSymbols>true</DebugSymbols>
|
||||||
|
<OutputPath>bin\x86\Debug\</OutputPath>
|
||||||
|
<DefineConstants>DEBUG;TRACE</DefineConstants>
|
||||||
|
<DebugType>full</DebugType>
|
||||||
|
<PlatformTarget>x86</PlatformTarget>
|
||||||
|
<LangVersion>7.3</LangVersion>
|
||||||
|
<ErrorReport>prompt</ErrorReport>
|
||||||
|
</PropertyGroup>
|
||||||
|
<PropertyGroup Condition="'$(Configuration)|$(Platform)' == 'Release|x86'">
|
||||||
|
<OutputPath>bin\x86\Release\</OutputPath>
|
||||||
|
<DefineConstants>TRACE</DefineConstants>
|
||||||
|
<Optimize>true</Optimize>
|
||||||
|
<DebugType>pdbonly</DebugType>
|
||||||
|
<PlatformTarget>x86</PlatformTarget>
|
||||||
|
<LangVersion>7.3</LangVersion>
|
||||||
|
<ErrorReport>prompt</ErrorReport>
|
||||||
|
</PropertyGroup>
|
||||||
<ItemGroup>
|
<ItemGroup>
|
||||||
|
<Reference Include="AForge, Version=2.2.5.0, Culture=neutral, PublicKeyToken=c1db6ff4eaa06aeb, processorArchitecture=MSIL">
|
||||||
|
<HintPath>..\packages\AForge.2.2.5\lib\AForge.dll</HintPath>
|
||||||
|
</Reference>
|
||||||
|
<Reference Include="AForge.Math, Version=2.2.5.0, Culture=neutral, PublicKeyToken=abba2e25397ee8c9, processorArchitecture=MSIL">
|
||||||
|
<HintPath>..\packages\AForge.Math.2.2.5\lib\AForge.Math.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">
|
<Reference Include="NLog, Version=4.0.0.0, Culture=neutral, PublicKeyToken=5120e14c03d0593c, processorArchitecture=MSIL">
|
||||||
<HintPath>..\packages\NLog.4.4.4\lib\net45\NLog.dll</HintPath>
|
<HintPath>..\packages\NLog.4.7.10\lib\net45\NLog.dll</HintPath>
|
||||||
</Reference>
|
</Reference>
|
||||||
<Reference Include="System" />
|
<Reference Include="System" />
|
||||||
<Reference Include="System.configuration" />
|
<Reference Include="System.configuration" />
|
||||||
<Reference Include="System.Core" />
|
<Reference Include="System.Core" />
|
||||||
|
<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>
|
||||||
|
</Reference>
|
||||||
<Reference Include="System.Numerics" />
|
<Reference Include="System.Numerics" />
|
||||||
|
<Reference Include="System.Runtime.Serialization" />
|
||||||
|
<Reference Include="System.ServiceModel" />
|
||||||
|
<Reference Include="System.Transactions" />
|
||||||
<Reference Include="System.Xml.Linq" />
|
<Reference Include="System.Xml.Linq" />
|
||||||
<Reference Include="System.Data.DataSetExtensions" />
|
<Reference Include="System.Data.DataSetExtensions" />
|
||||||
<Reference Include="Microsoft.CSharp" />
|
<Reference Include="Microsoft.CSharp" />
|
||||||
@@ -46,13 +80,12 @@
|
|||||||
</ItemGroup>
|
</ItemGroup>
|
||||||
<ItemGroup>
|
<ItemGroup>
|
||||||
<Compile Include="BinaryFormatter.cs" />
|
<Compile Include="BinaryFormatter.cs" />
|
||||||
|
<Compile Include="enumerations.cs" />
|
||||||
<Compile Include="Properties\AssemblyInfo.cs" />
|
<Compile Include="Properties\AssemblyInfo.cs" />
|
||||||
<Compile Include="baseUtils.cs" />
|
<Compile Include="baseUtils.cs" />
|
||||||
</ItemGroup>
|
</ItemGroup>
|
||||||
<ItemGroup>
|
<ItemGroup>
|
||||||
<Content Include="NLog.config">
|
<None Include="app.config" />
|
||||||
<CopyToOutputDirectory>Always</CopyToOutputDirectory>
|
|
||||||
</Content>
|
|
||||||
<None Include="NLog.xsd">
|
<None Include="NLog.xsd">
|
||||||
<SubType>Designer</SubType>
|
<SubType>Designer</SubType>
|
||||||
</None>
|
</None>
|
||||||
|
|||||||
+1083
-393
File diff suppressed because it is too large
Load Diff
@@ -0,0 +1,11 @@
|
|||||||
|
<?xml version="1.0" encoding="utf-8"?>
|
||||||
|
<configuration>
|
||||||
|
<runtime>
|
||||||
|
<assemblyBinding xmlns="urn:schemas-microsoft-com:asm.v1">
|
||||||
|
<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>
|
||||||
|
</assemblyBinding>
|
||||||
|
</runtime>
|
||||||
|
</configuration>
|
||||||
+297
-12
@@ -1,11 +1,11 @@
|
|||||||
using System;
|
using NLog;
|
||||||
|
using System;
|
||||||
using System.Collections;
|
using System.Collections;
|
||||||
using System.Collections.Generic;
|
using System.Collections.Generic;
|
||||||
using System.Configuration;
|
using System.Configuration;
|
||||||
using System.Data;
|
using System.Data;
|
||||||
using System.IO;
|
using System.IO;
|
||||||
using System.Linq;
|
using System.Linq;
|
||||||
using NLog;
|
|
||||||
|
|
||||||
namespace MTC
|
namespace MTC
|
||||||
{
|
{
|
||||||
@@ -16,6 +16,8 @@ namespace MTC
|
|||||||
/// </summary>
|
/// </summary>
|
||||||
public static Logger lg;
|
public static Logger lg;
|
||||||
|
|
||||||
|
#region area gestione conf file
|
||||||
|
|
||||||
/// <summary>
|
/// <summary>
|
||||||
/// legge conf in formato char
|
/// legge conf in formato char
|
||||||
/// </summary>
|
/// </summary>
|
||||||
@@ -80,6 +82,33 @@ namespace MTC
|
|||||||
{ }
|
{ }
|
||||||
return answ;
|
return answ;
|
||||||
}
|
}
|
||||||
|
#endregion
|
||||||
|
|
||||||
|
#region area manipolazione bit/byte
|
||||||
|
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// verifica se un dato bit sia alzato (come flag di strobe)
|
||||||
|
/// </summary>
|
||||||
|
/// <param name="currByte">valore da testare</param>
|
||||||
|
/// <param name="bitNum">valore cercato come INDICE base 0 del byte (b0..b7)</param>
|
||||||
|
/// <returns></returns>
|
||||||
|
public static bool IsSetBit(byte currByte, int bitNum)
|
||||||
|
{
|
||||||
|
return ((currByte & (1 << bitNum)) != 0);
|
||||||
|
}
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// verifica se un dato bit sia alzato (come flag di strobe)
|
||||||
|
/// </summary>
|
||||||
|
/// <param name="currVal">valore da testare</param>
|
||||||
|
/// <param name="bitNum">valore cercato come INDICE base 0 del byte (b0..b7)</param>
|
||||||
|
/// <returns></returns>
|
||||||
|
public static bool IsSetBit(int currVal, int bitNum)
|
||||||
|
{
|
||||||
|
return ((currVal & (1 << bitNum)) != 0);
|
||||||
|
}
|
||||||
|
|
||||||
/// <summary>
|
/// <summary>
|
||||||
/// verifica se un dato bit sia alzato (come flag di strobe)
|
/// verifica se un dato bit sia alzato (come flag di strobe)
|
||||||
/// </summary>
|
/// </summary>
|
||||||
@@ -135,7 +164,7 @@ namespace MTC
|
|||||||
catch
|
catch
|
||||||
{ }
|
{ }
|
||||||
return answ;
|
return answ;
|
||||||
}
|
}
|
||||||
/// <summary>
|
/// <summary>
|
||||||
/// imposta un bit al valore richiesto duplicando il valore IN come OUT
|
/// imposta un bit al valore richiesto duplicando il valore IN come OUT
|
||||||
/// </summary>
|
/// </summary>
|
||||||
@@ -146,7 +175,10 @@ namespace MTC
|
|||||||
public static byte[] setBitOnStFlag(byte[] original, bool bitBool, int bitIndex)
|
public static byte[] setBitOnStFlag(byte[] original, bool bitBool, int bitIndex)
|
||||||
{
|
{
|
||||||
int bitVal = 0;
|
int bitVal = 0;
|
||||||
if (bitBool) bitVal = 1;
|
if (bitBool)
|
||||||
|
{
|
||||||
|
bitVal = 1;
|
||||||
|
}
|
||||||
// risposta è identica ad originale...
|
// risposta è identica ad originale...
|
||||||
byte[] answ = original;
|
byte[] answ = original;
|
||||||
// verifico se il bit è 0/1b
|
// verifico se il bit è 0/1b
|
||||||
@@ -175,7 +207,10 @@ namespace MTC
|
|||||||
public static byte[] ToByteArray(BitArray bits)
|
public static byte[] ToByteArray(BitArray bits)
|
||||||
{
|
{
|
||||||
int numBytes = bits.Count / 8;
|
int numBytes = bits.Count / 8;
|
||||||
if (bits.Count % 8 != 0) numBytes++;
|
if (bits.Count % 8 != 0)
|
||||||
|
{
|
||||||
|
numBytes++;
|
||||||
|
}
|
||||||
|
|
||||||
byte[] bytes = new byte[numBytes];
|
byte[] bytes = new byte[numBytes];
|
||||||
int byteIndex = 0, bitIndex = 0;
|
int byteIndex = 0, bitIndex = 0;
|
||||||
@@ -183,7 +218,9 @@ namespace MTC
|
|||||||
for (int i = 0; i < bits.Count; i++)
|
for (int i = 0; i < bits.Count; i++)
|
||||||
{
|
{
|
||||||
if (bits[i])
|
if (bits[i])
|
||||||
|
{
|
||||||
bytes[byteIndex] |= (byte)(1 << (7 - bitIndex));
|
bytes[byteIndex] |= (byte)(1 << (7 - bitIndex));
|
||||||
|
}
|
||||||
|
|
||||||
bitIndex++;
|
bitIndex++;
|
||||||
if (bitIndex == 8)
|
if (bitIndex == 8)
|
||||||
@@ -306,7 +343,7 @@ namespace MTC
|
|||||||
}
|
}
|
||||||
return result;
|
return result;
|
||||||
}
|
}
|
||||||
|
#endregion
|
||||||
}
|
}
|
||||||
/// <summary>
|
/// <summary>
|
||||||
/// Oggetto timing x archiviazione dati perfomances
|
/// Oggetto timing x archiviazione dati perfomances
|
||||||
@@ -356,6 +393,148 @@ namespace MTC
|
|||||||
totMsec = new TimeSpan(nTicks);
|
totMsec = new TimeSpan(nTicks);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// Classe gestione valori campionati su periodo
|
||||||
|
/// </summary>
|
||||||
|
public class sampleVect
|
||||||
|
{
|
||||||
|
/// <summary>
|
||||||
|
/// Dimensione finestra di campionamento (secondi)
|
||||||
|
/// </summary>
|
||||||
|
protected int windSize;
|
||||||
|
/// <summary>
|
||||||
|
/// vettore valori temporali della serie
|
||||||
|
/// </summary>
|
||||||
|
protected List<DateTime> lTime;
|
||||||
|
/// <summary>
|
||||||
|
/// vettore valoti puntuali della serie
|
||||||
|
/// </summary>
|
||||||
|
protected List<int> lVal;
|
||||||
|
/// <summary>
|
||||||
|
/// Inizializzo l'oggetto
|
||||||
|
/// </summary>
|
||||||
|
public sampleVect()
|
||||||
|
{
|
||||||
|
// init valori default...
|
||||||
|
windSize = baseUtils.CRI("countWindSize") > 0 ? baseUtils.CRI("countWindSize") : 60;
|
||||||
|
lTime = new List<DateTime>();
|
||||||
|
lVal = new List<int>();
|
||||||
|
}
|
||||||
|
/// <summary>
|
||||||
|
/// Conteggio elementi
|
||||||
|
/// </summary>
|
||||||
|
protected int numElem
|
||||||
|
{
|
||||||
|
get
|
||||||
|
{
|
||||||
|
int answ = 0;
|
||||||
|
try
|
||||||
|
{
|
||||||
|
answ = lTime.Count;
|
||||||
|
}
|
||||||
|
catch
|
||||||
|
{ }
|
||||||
|
return answ;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
/// <summary>
|
||||||
|
/// Verifica ampiezza finestra valori First-Last
|
||||||
|
/// </summary>
|
||||||
|
protected double flWindSize
|
||||||
|
{
|
||||||
|
get
|
||||||
|
{
|
||||||
|
double answ = 0;
|
||||||
|
if (numElem > 1)
|
||||||
|
{
|
||||||
|
answ = lTime.Last().Subtract(lTime[0]).TotalSeconds;
|
||||||
|
}
|
||||||
|
return answ;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
/// <summary>
|
||||||
|
/// Verifica ampiezza finestra valori Second-Last
|
||||||
|
/// </summary>
|
||||||
|
protected double slWindSize
|
||||||
|
{
|
||||||
|
get
|
||||||
|
{
|
||||||
|
double answ = 0;
|
||||||
|
if (numElem > 2) // altrimenti SE non ne ho almeno 3 NON posso avere secondo/ultimo...
|
||||||
|
{
|
||||||
|
|
||||||
|
answ = lTime.Last().Subtract(lTime[1]).TotalSeconds;
|
||||||
|
}
|
||||||
|
return answ;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
/// <summary>
|
||||||
|
/// Aggiunge un valore alla serie ed eventualmente elimina i valori superflui a garantirne una finestra temporale valida
|
||||||
|
/// </summary>
|
||||||
|
/// <param name="tempo"></param>
|
||||||
|
/// <param name="valore"></param>
|
||||||
|
public void addValue(DateTime tempo, int valore)
|
||||||
|
{
|
||||||
|
lTime.Add(tempo);
|
||||||
|
lVal.Add(valore);
|
||||||
|
// verifico se siano da accorciare le serie... ovvero i 2 intervalli ENTRAMBI sono superiori al periodo minimo (in tal caso riduco..
|
||||||
|
while (flWindSize > windSize && slWindSize > windSize)
|
||||||
|
{
|
||||||
|
// elimino i 2 valori + vecchi
|
||||||
|
lTime.RemoveAt(0);
|
||||||
|
lVal.RemoveAt(0);
|
||||||
|
// ora ricontrollo...
|
||||||
|
}
|
||||||
|
}
|
||||||
|
/// <summary>
|
||||||
|
/// Calcola il valore mediano...
|
||||||
|
/// </summary>
|
||||||
|
public double vcMedian
|
||||||
|
{
|
||||||
|
get
|
||||||
|
{
|
||||||
|
double answ = 0;
|
||||||
|
// restituisce la mediana SE valida, altrimenti null...
|
||||||
|
if (numElem > 2 && flWindSize > windSize)
|
||||||
|
{
|
||||||
|
try
|
||||||
|
{
|
||||||
|
// calcolo mediana!
|
||||||
|
//answ = Statistics.Median(lVal.ToArray());
|
||||||
|
|
||||||
|
// rif: https://blogs.msmvps.com/deborahk/linq-mean-median-and-mode/
|
||||||
|
var sortedNumbers = lVal.OrderBy(n => n);
|
||||||
|
int numCount = lVal.Count;
|
||||||
|
int indice50 = lVal.Count / 2;
|
||||||
|
if ((numCount % 2) == 0)
|
||||||
|
{
|
||||||
|
answ = ((sortedNumbers.ElementAt(indice50) + sortedNumbers.ElementAt(indice50 - 1)) / 2);
|
||||||
|
}
|
||||||
|
else
|
||||||
|
{
|
||||||
|
answ = sortedNumbers.ElementAt(indice50);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
catch
|
||||||
|
{ }
|
||||||
|
}
|
||||||
|
return answ;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
/// <summary>
|
||||||
|
/// Verifica se la vc sia valida (ovvero almeno 2 valori e intervallo > window richiesta)
|
||||||
|
/// </summary>
|
||||||
|
public bool vcValid
|
||||||
|
{
|
||||||
|
get
|
||||||
|
{
|
||||||
|
return (flWindSize > windSize && numElem > 1);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
public static class TimingData
|
public static class TimingData
|
||||||
{
|
{
|
||||||
public static List<TimeRec> results = new List<TimeRec>();
|
public static List<TimeRec> results = new List<TimeRec>();
|
||||||
@@ -375,7 +554,10 @@ namespace MTC
|
|||||||
for (int i = 0; i < results.Count; i++)
|
for (int i = 0; i < results.Count; i++)
|
||||||
{
|
{
|
||||||
// se il codice è quello cercato...
|
// se il codice è quello cercato...
|
||||||
if (results[i].codCall == codice) indice = i;
|
if (results[i].codCall == codice)
|
||||||
|
{
|
||||||
|
indice = i;
|
||||||
|
}
|
||||||
}
|
}
|
||||||
// se c'è aggiorno...
|
// se c'è aggiorno...
|
||||||
if (indice >= 0)
|
if (indice >= 0)
|
||||||
@@ -389,10 +571,43 @@ namespace MTC
|
|||||||
results.Add(new TimeRec(codice, ticks));
|
results.Add(new TimeRec(codice, ticks));
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
/// <summary>
|
||||||
|
/// Resetta i dati registrati (ad avvio adapter...)
|
||||||
|
/// </summary>
|
||||||
|
public static void resetData()
|
||||||
|
{
|
||||||
|
results = new List<TimeRec>();
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
/// <summary>
|
||||||
|
/// Gestione Endianness
|
||||||
|
/// </summary>
|
||||||
|
public static class Endian
|
||||||
|
{
|
||||||
|
/// <summary>
|
||||||
|
/// Scambia MSB/LSB per 16bit
|
||||||
|
/// </summary>
|
||||||
|
/// <param name="inValue"></param>
|
||||||
|
/// <returns></returns>
|
||||||
|
public static UInt16 SwapUInt16(UInt16 inValue)
|
||||||
|
{
|
||||||
|
return (UInt16)(((inValue & 0xff00) >> 8) |
|
||||||
|
((inValue & 0x00ff) << 8));
|
||||||
|
}
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// Scambia MSB/LSB per 32bit
|
||||||
|
/// </summary>
|
||||||
|
/// <param name="inValue"></param>
|
||||||
|
/// <returns></returns>
|
||||||
|
public static UInt32 SwapUInt32(UInt32 inValue)
|
||||||
|
{
|
||||||
|
return ((inValue & 0xff000000) >> 24) |
|
||||||
|
((inValue & 0x00ff0000) >> 8) |
|
||||||
|
((inValue & 0x0000ff00) << 8) |
|
||||||
|
((inValue & 0x000000ff) << 24);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
public enum tipoAdapter
|
public enum tipoAdapter
|
||||||
{
|
{
|
||||||
@@ -407,7 +622,11 @@ namespace MTC
|
|||||||
/// <summary>
|
/// <summary>
|
||||||
/// Adapter ESAGV (SCM)
|
/// Adapter ESAGV (SCM)
|
||||||
/// </summary>
|
/// </summary>
|
||||||
ESAGV,
|
ESAGVSCM,
|
||||||
|
/// <summary>
|
||||||
|
/// Adapter ESAGV (CMS)
|
||||||
|
/// </summary>
|
||||||
|
ESAGVCMS,
|
||||||
/// <summary>
|
/// <summary>
|
||||||
/// adapter FANUC (CMS)
|
/// adapter FANUC (CMS)
|
||||||
/// </summary>
|
/// </summary>
|
||||||
@@ -428,6 +647,10 @@ namespace MTC
|
|||||||
|
|
||||||
public enum gatherCycle
|
public enum gatherCycle
|
||||||
{
|
{
|
||||||
|
/// <summary>
|
||||||
|
/// Very High Frequency (solo x invii...)
|
||||||
|
/// </summary>
|
||||||
|
VHF,
|
||||||
/// <summary>
|
/// <summary>
|
||||||
/// lettura dati ad alta frequenza
|
/// lettura dati ad alta frequenza
|
||||||
/// </summary>
|
/// </summary>
|
||||||
@@ -480,6 +703,11 @@ namespace MTC
|
|||||||
public int PathFeedrate;
|
public int PathFeedrate;
|
||||||
public int PathFeedrateOver;
|
public int PathFeedrateOver;
|
||||||
public int PathRapidOver;
|
public int PathRapidOver;
|
||||||
|
public int PathJogOver;
|
||||||
|
public int PathSpindleOver_01;
|
||||||
|
public int PathSpindleOver_02;
|
||||||
|
public int PathSpindleOver_03;
|
||||||
|
public int PathSpindleOver_04;
|
||||||
public position PathPosAct;
|
public position PathPosAct;
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -579,7 +807,10 @@ namespace MTC
|
|||||||
|
|
||||||
stop = DateTime.Today.AddHours(Convert.ToInt16(valori[9])).AddMinutes(Convert.ToInt16(valori[10])).AddSeconds(Convert.ToInt16(valori[11]));
|
stop = DateTime.Today.AddHours(Convert.ToInt16(valori[9])).AddMinutes(Convert.ToInt16(valori[10])).AddSeconds(Convert.ToInt16(valori[11]));
|
||||||
// se ore == 0 --> aggiungo 1 gg!!!
|
// se ore == 0 --> aggiungo 1 gg!!!
|
||||||
if (Convert.ToInt16(valori[9]) == 0) stop.AddDays(1);
|
if (Convert.ToInt16(valori[9]) == 0)
|
||||||
|
{
|
||||||
|
stop.AddDays(1);
|
||||||
|
}
|
||||||
|
|
||||||
tEff = new TimeSpan(Convert.ToInt16(valori[12]), Convert.ToInt16(valori[13]), Convert.ToInt16(valori[14]));
|
tEff = new TimeSpan(Convert.ToInt16(valori[12]), Convert.ToInt16(valori[13]), Convert.ToInt16(valori[14]));
|
||||||
|
|
||||||
@@ -598,23 +829,74 @@ namespace MTC
|
|||||||
/// </summary>
|
/// </summary>
|
||||||
public class allarme
|
public class allarme
|
||||||
{
|
{
|
||||||
|
/// <summary>
|
||||||
|
/// Codice
|
||||||
|
/// </summary>
|
||||||
public string codNum;
|
public string codNum;
|
||||||
|
/// <summary>
|
||||||
|
/// Gruppo (CNC/PLC/HMI)
|
||||||
|
/// </summary>
|
||||||
public string gruppo;
|
public string gruppo;
|
||||||
|
/// <summary>
|
||||||
|
/// Livello allarme
|
||||||
|
/// - numerico [001...999]
|
||||||
|
/// - enum: FAULT=Alarm=900, Warning=500, Info=200, Maintenance=100
|
||||||
|
/// </summary>
|
||||||
public string livello;
|
public string livello;
|
||||||
|
/// <summary>
|
||||||
|
/// Descrizione in lingua corrente
|
||||||
|
/// </summary>
|
||||||
public string descrizione;
|
public string descrizione;
|
||||||
|
/// <summary>
|
||||||
|
/// Descrizione in IT
|
||||||
|
/// </summary>
|
||||||
|
public string descrizioneIt;
|
||||||
|
/// <summary>
|
||||||
|
/// Descrizione in EN
|
||||||
|
/// </summary>
|
||||||
|
public string descrizioneEn;
|
||||||
public allarme()
|
public allarme()
|
||||||
{
|
{
|
||||||
codNum = "";
|
codNum = "";
|
||||||
gruppo = "";
|
gruppo = "";
|
||||||
livello = "";
|
livello = "";
|
||||||
descrizione = "";
|
descrizione = "";
|
||||||
|
descrizioneIt = "";
|
||||||
|
descrizioneEn = "";
|
||||||
}
|
}
|
||||||
|
/// <summary>
|
||||||
|
/// Inizializzaizone allarme con tutti i valori della descrizione in 3 lingue...
|
||||||
|
/// </summary>
|
||||||
|
/// <param name="_codNum"></param>
|
||||||
|
/// <param name="_gruppo"></param>
|
||||||
|
/// <param name="_livello"></param>
|
||||||
|
/// <param name="_descrizione">Usato per lingua CORRENTE, IT, EN</param>
|
||||||
public allarme(string _codNum, string _gruppo, string _livello, string _descrizione)
|
public allarme(string _codNum, string _gruppo, string _livello, string _descrizione)
|
||||||
{
|
{
|
||||||
codNum = _codNum;
|
codNum = _codNum;
|
||||||
gruppo = _gruppo;
|
gruppo = _gruppo;
|
||||||
livello = _livello;
|
livello = _livello;
|
||||||
descrizione = _descrizione;
|
descrizione = _descrizione;
|
||||||
|
descrizioneIt = _descrizione;
|
||||||
|
descrizioneEn = _descrizione;
|
||||||
|
}
|
||||||
|
/// <summary>
|
||||||
|
/// Inizializzaizone allarme con tutti i valori della descrizione in 3 lingue...
|
||||||
|
/// </summary>
|
||||||
|
/// <param name="_codNum"></param>
|
||||||
|
/// <param name="_gruppo"></param>
|
||||||
|
/// <param name="_livello"></param>
|
||||||
|
/// <param name="_descrizione"></param>
|
||||||
|
/// <param name="_descrizioneIt"></param>
|
||||||
|
/// <param name="_descrizioneEn"></param>
|
||||||
|
public allarme(string _codNum, string _gruppo, string _livello, string _descrizione, string _descrizioneIt, string _descrizioneEn)
|
||||||
|
{
|
||||||
|
codNum = _codNum;
|
||||||
|
gruppo = _gruppo;
|
||||||
|
livello = _livello;
|
||||||
|
descrizione = _descrizione;
|
||||||
|
descrizioneIt = _descrizioneIt;
|
||||||
|
descrizioneEn = _descrizioneEn;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -628,19 +910,22 @@ namespace MTC
|
|||||||
public string memAddr;
|
public string memAddr;
|
||||||
public string varName;
|
public string varName;
|
||||||
public string dataType;
|
public string dataType;
|
||||||
|
public int scale;
|
||||||
public otherData()
|
public otherData()
|
||||||
{
|
{
|
||||||
codNum = "";
|
codNum = "";
|
||||||
memAddr = "";
|
memAddr = "";
|
||||||
varName = "";
|
varName = "";
|
||||||
dataType = "";
|
dataType = "";
|
||||||
|
scale = 1;
|
||||||
}
|
}
|
||||||
public otherData(string _codNum, string _memAddr, string _varName, string _dataType)
|
public otherData(string _codNum, string _memAddr, string _varName, string _dataType, int _scale = 1)
|
||||||
{
|
{
|
||||||
codNum = _codNum;
|
codNum = _codNum;
|
||||||
memAddr = _memAddr;
|
memAddr = _memAddr;
|
||||||
varName = _varName;
|
varName = _varName;
|
||||||
dataType = _dataType;
|
dataType = _dataType;
|
||||||
|
scale = _scale;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
@@ -0,0 +1,235 @@
|
|||||||
|
namespace MTC
|
||||||
|
{
|
||||||
|
/// <summary>
|
||||||
|
/// Tipologia di ricerca ammessa
|
||||||
|
/// </summary>
|
||||||
|
public enum subsMode
|
||||||
|
{
|
||||||
|
/// ADD: includo
|
||||||
|
A,
|
||||||
|
/// X: ESCLUDO
|
||||||
|
X
|
||||||
|
}
|
||||||
|
/// <summary>
|
||||||
|
/// Tipologia di sostituzioni ammesse
|
||||||
|
/// </summary>
|
||||||
|
public enum substSearch
|
||||||
|
{
|
||||||
|
// CERCO BEGIN: inizia per
|
||||||
|
B,
|
||||||
|
// CERCO END: finisce per
|
||||||
|
E,
|
||||||
|
// CERCO CONTAINS: contiene
|
||||||
|
C,
|
||||||
|
// CERCO IDENTICAL: identica
|
||||||
|
I
|
||||||
|
}
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// Classe utility dizionario per sostituzioni
|
||||||
|
/// </summary>
|
||||||
|
public class replDict
|
||||||
|
{
|
||||||
|
/// <summary>
|
||||||
|
/// Valore tradotto
|
||||||
|
/// </summary>
|
||||||
|
public string tradz;
|
||||||
|
/// <summary>
|
||||||
|
/// Tipologia di azione
|
||||||
|
/// </summary>
|
||||||
|
public subsMode modo;
|
||||||
|
/// <summary>
|
||||||
|
/// Modalità di ricerca
|
||||||
|
/// </summary>
|
||||||
|
public substSearch search;
|
||||||
|
}
|
||||||
|
/// <summary>
|
||||||
|
/// Classe item node (tipo/obj)
|
||||||
|
/// </summary>
|
||||||
|
public class itemNode
|
||||||
|
{
|
||||||
|
/// <summary>
|
||||||
|
/// Tipo oggetto (per cast)
|
||||||
|
/// </summary>
|
||||||
|
public itemType cType;
|
||||||
|
/// <summary>
|
||||||
|
/// Object specifico
|
||||||
|
/// </summary>
|
||||||
|
public object cObject;
|
||||||
|
/// <summary>
|
||||||
|
/// costruttore
|
||||||
|
/// </summary>
|
||||||
|
public itemNode()
|
||||||
|
{ }
|
||||||
|
/// <summary>
|
||||||
|
/// costruttore
|
||||||
|
/// </summary>
|
||||||
|
/// <param name="_tipo"></param>
|
||||||
|
/// <param name="_obj"></param>
|
||||||
|
public itemNode(itemType _tipo, object _obj)
|
||||||
|
{
|
||||||
|
cType = _tipo;
|
||||||
|
cObject = _obj;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
/// <summary>
|
||||||
|
/// Tipologia di ITEM
|
||||||
|
/// </summary>
|
||||||
|
public enum itemType
|
||||||
|
{
|
||||||
|
/// <summary>
|
||||||
|
/// CONDIZION = ALLARME
|
||||||
|
/// </summary>
|
||||||
|
Condition,
|
||||||
|
/// <summary>
|
||||||
|
/// Evento = point in time data
|
||||||
|
/// </summary>
|
||||||
|
Event,
|
||||||
|
/// <summary>
|
||||||
|
/// Messaggio generico
|
||||||
|
/// </summary>
|
||||||
|
Message,
|
||||||
|
/// <summary>
|
||||||
|
/// Campionamento continuo
|
||||||
|
/// </summary>
|
||||||
|
Sample
|
||||||
|
}
|
||||||
|
/// <summary>
|
||||||
|
/// Varibili STATO ATTIVO (es attuatori, sistemi...)
|
||||||
|
/// </summary>
|
||||||
|
public enum actStatus
|
||||||
|
{
|
||||||
|
/// <summary>
|
||||||
|
/// Stato inattivo
|
||||||
|
/// </summary>
|
||||||
|
INACTIVE = 0,
|
||||||
|
/// <summary>
|
||||||
|
/// Stato Attivo
|
||||||
|
/// </summary>
|
||||||
|
ACTIVE
|
||||||
|
}
|
||||||
|
/// <summary>
|
||||||
|
/// Varibili STATO OnOff
|
||||||
|
/// </summary>
|
||||||
|
public enum onOffStatus
|
||||||
|
{
|
||||||
|
/// <summary>
|
||||||
|
/// Stato OFF
|
||||||
|
/// </summary>
|
||||||
|
OFF = 0,
|
||||||
|
/// <summary>
|
||||||
|
/// Stato ON
|
||||||
|
/// </summary>
|
||||||
|
ON
|
||||||
|
}
|
||||||
|
/// <summary>
|
||||||
|
/// Varibili STATO per EMERGENZA
|
||||||
|
/// </summary>
|
||||||
|
public enum emStatus
|
||||||
|
{
|
||||||
|
/// <summary>
|
||||||
|
/// Stato ARMATO
|
||||||
|
/// </summary>
|
||||||
|
ARMED = 0,
|
||||||
|
/// <summary>
|
||||||
|
/// Stato EMERGENZA PREMUTA
|
||||||
|
/// </summary>
|
||||||
|
TRIGGERED
|
||||||
|
}
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// ENUM degli stati macchina(alto livello, OPC-UA)
|
||||||
|
/// </summary>
|
||||||
|
public enum macState
|
||||||
|
{
|
||||||
|
UNDEFINED = 0,
|
||||||
|
EXE = 1,
|
||||||
|
READY = 2,
|
||||||
|
FAIL = 3,
|
||||||
|
POWER_OFF = 4
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// ENUM degli stati RUN del path MTC
|
||||||
|
/// </summary>
|
||||||
|
public enum MtcRunMode
|
||||||
|
{
|
||||||
|
UNDEFINED = 0,
|
||||||
|
AUTOMATIC,
|
||||||
|
EDIT,
|
||||||
|
MANUAL_DATA_INPUT,
|
||||||
|
MANUAL,
|
||||||
|
SEMI_AUTO
|
||||||
|
}
|
||||||
|
/// <summary>
|
||||||
|
/// ENUM dei MODE del path OPC-UA
|
||||||
|
/// </summary>
|
||||||
|
public enum OpcUaPathMode
|
||||||
|
{
|
||||||
|
UNDEFINED = 0,
|
||||||
|
AUTOMATIC,
|
||||||
|
EDIT,
|
||||||
|
SEMIAUTOMATIC,
|
||||||
|
MANUAL_JOG,
|
||||||
|
SEMIAUTOMATIC_MTC
|
||||||
|
}
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// ENUM degli stati EXE del path MTC
|
||||||
|
/// </summary>
|
||||||
|
public enum MtcExeMode
|
||||||
|
{
|
||||||
|
UNDEFINED = 0,
|
||||||
|
ACTIVE,
|
||||||
|
READY,
|
||||||
|
STOPPED,
|
||||||
|
FEED_HOLD,
|
||||||
|
OPTIONAL_STOP,
|
||||||
|
PROGRAM_STOPPED,
|
||||||
|
PROGRAM_COMPLETED
|
||||||
|
}
|
||||||
|
/// <summary>
|
||||||
|
/// ENUM degli stati del path OPC-UA
|
||||||
|
/// </summary>
|
||||||
|
public enum OpcUaPathStatus
|
||||||
|
{
|
||||||
|
UNDEFINED = 0,
|
||||||
|
EXE,
|
||||||
|
READY,
|
||||||
|
HOLD,
|
||||||
|
FEED_HOLD,
|
||||||
|
OPTIONAL_STOP,
|
||||||
|
PROGRAM_STOPPED,
|
||||||
|
DONE
|
||||||
|
}
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// Varibili STATO per AVAIL
|
||||||
|
/// </summary>
|
||||||
|
public enum availStatus
|
||||||
|
{
|
||||||
|
/// <summary>
|
||||||
|
/// Stato DISPONIBILE
|
||||||
|
/// </summary>
|
||||||
|
AVAILABLE = 0,
|
||||||
|
/// <summary>
|
||||||
|
/// Stato NON disponibile NULL/unavailable (era NULL, rimesso UNAVAILABLE su richiesta Nicola Carminati)
|
||||||
|
/// </summary>
|
||||||
|
UNAVAILABLE
|
||||||
|
}
|
||||||
|
/// <summary>
|
||||||
|
/// Varibili STATO per AVAIL
|
||||||
|
/// </summary>
|
||||||
|
public enum pathType
|
||||||
|
{
|
||||||
|
/// <summary>
|
||||||
|
/// Stato LAVORO
|
||||||
|
/// </summary>
|
||||||
|
LAVORO = 0,
|
||||||
|
/// <summary>
|
||||||
|
/// Stato ASSERV
|
||||||
|
/// </summary>
|
||||||
|
ASSERV
|
||||||
|
}
|
||||||
|
}
|
||||||
@@ -1,6 +1,9 @@
|
|||||||
<?xml version="1.0" encoding="utf-8"?>
|
<?xml version="1.0" encoding="utf-8"?>
|
||||||
<packages>
|
<packages>
|
||||||
<package id="NLog" version="4.4.4" targetFramework="net452" />
|
<package id="AForge" version="2.2.5" targetFramework="net452" />
|
||||||
<package id="NLog.Config" version="4.4.4" targetFramework="net452" />
|
<package id="AForge.Math" version="2.2.5" targetFramework="net452" />
|
||||||
<package id="NLog.Schema" version="4.4.4" targetFramework="net452" />
|
<package id="Newtonsoft.Json" version="12.0.3" targetFramework="net452" />
|
||||||
|
<package id="NLog" version="4.7.10" targetFramework="net462" />
|
||||||
|
<package id="NLog.Schema" version="4.7.10" targetFramework="net462" />
|
||||||
|
<package id="System.IO.Compression" version="4.3.0" targetFramework="net462" />
|
||||||
</packages>
|
</packages>
|
||||||
@@ -1,140 +0,0 @@
|
|||||||
|
|
||||||
Microsoft Visual Studio Solution File, Format Version 12.00
|
|
||||||
# Visual Studio 14
|
|
||||||
VisualStudioVersion = 14.0.25420.1
|
|
||||||
MinimumVisualStudioVersion = 10.0.40219.1
|
|
||||||
Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "DotNetAdapterSDK", "..\..\..\GitHub\MTConnect\dot_net_sdk\DotNetAdapterSDK.csproj", "{D8D08DBE-B511-4DE0-B5A9-563EBFC60C4F}"
|
|
||||||
EndProject
|
|
||||||
Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "Solution Items", "Solution Items", "{695A97F7-B396-4DD3-8596-F043ECA3E2BD}"
|
|
||||||
ProjectSection(SolutionItems) = preProject
|
|
||||||
..\..\..\Dropbox\30_Clienti\CMS\CMS-MTC\SetupMTC\AGENT\DATA\CONF_DEMO\Agent_ItemList_ESAKVARA.xml = ..\..\..\Dropbox\30_Clienti\CMS\CMS-MTC\SetupMTC\AGENT\DATA\CONF_DEMO\Agent_ItemList_ESAKVARA.xml
|
|
||||||
..\..\..\Dropbox\30_Clienti\CMS\CMS-MTC\SetupMTC\AGENT\DATA\CONF_DEMO\Agent_ItemList_FANUC.xml = ..\..\..\Dropbox\30_Clienti\CMS\CMS-MTC\SetupMTC\AGENT\DATA\CONF_DEMO\Agent_ItemList_FANUC.xml
|
|
||||||
..\AgentBin\CMS.xml = ..\AgentBin\CMS.xml
|
|
||||||
..\AgentBin\SCM.xml = ..\AgentBin\SCM.xml
|
|
||||||
EndProjectSection
|
|
||||||
EndProject
|
|
||||||
Project("{F184B08F-C81C-45F6-A57F-5ABD9991F28F}") = "CMSCncLib", "CMSCncLib\CMSCncLib.vbproj", "{2D769FFD-1122-4276-A115-29246E6D23C5}"
|
|
||||||
EndProject
|
|
||||||
Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "MTC-Adapter", "MTC_Adapter\MTC-Adapter.csproj", "{736DF121-11E6-4D46-835D-6560ACF241E4}"
|
|
||||||
EndProject
|
|
||||||
Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "VersGen", "VersGen\VersGen.csproj", "{58E399F3-9D4E-49D3-AB35-9ED536543D50}"
|
|
||||||
EndProject
|
|
||||||
Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "SCMCncLib", "SCMCncLib\SCMCncLib.csproj", "{7A12FE26-9C58-4630-973D-D4872374DBAF}"
|
|
||||||
EndProject
|
|
||||||
Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "MTC-ADB", "MTC-ADB\MTC-ADB.csproj", "{DF877E5E-8D04-4532-BA01-CEFD8636D4DA}"
|
|
||||||
EndProject
|
|
||||||
Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "MTC", "MTC\MTC.csproj", "{EC83D80E-9F3B-4DE9-B16A-CA216543B7EC}"
|
|
||||||
EndProject
|
|
||||||
Global
|
|
||||||
GlobalSection(SolutionConfigurationPlatforms) = preSolution
|
|
||||||
CMS-FANUC|Any CPU = CMS-FANUC|Any CPU
|
|
||||||
CMS-OSAI|Any CPU = CMS-OSAI|Any CPU
|
|
||||||
CMS-SIEMENS|Any CPU = CMS-SIEMENS|Any CPU
|
|
||||||
Debug|Any CPU = Debug|Any CPU
|
|
||||||
MySql|Any CPU = MySql|Any CPU
|
|
||||||
Release|Any CPU = Release|Any CPU
|
|
||||||
SCM-ESA|Any CPU = SCM-ESA|Any CPU
|
|
||||||
EndGlobalSection
|
|
||||||
GlobalSection(ProjectConfigurationPlatforms) = postSolution
|
|
||||||
{D8D08DBE-B511-4DE0-B5A9-563EBFC60C4F}.CMS-FANUC|Any CPU.ActiveCfg = Release|Any CPU
|
|
||||||
{D8D08DBE-B511-4DE0-B5A9-563EBFC60C4F}.CMS-FANUC|Any CPU.Build.0 = Release|Any CPU
|
|
||||||
{D8D08DBE-B511-4DE0-B5A9-563EBFC60C4F}.CMS-OSAI|Any CPU.ActiveCfg = Release|Any CPU
|
|
||||||
{D8D08DBE-B511-4DE0-B5A9-563EBFC60C4F}.CMS-OSAI|Any CPU.Build.0 = Release|Any CPU
|
|
||||||
{D8D08DBE-B511-4DE0-B5A9-563EBFC60C4F}.CMS-SIEMENS|Any CPU.ActiveCfg = Release|Any CPU
|
|
||||||
{D8D08DBE-B511-4DE0-B5A9-563EBFC60C4F}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
|
|
||||||
{D8D08DBE-B511-4DE0-B5A9-563EBFC60C4F}.Debug|Any CPU.Build.0 = Debug|Any CPU
|
|
||||||
{D8D08DBE-B511-4DE0-B5A9-563EBFC60C4F}.MySql|Any CPU.ActiveCfg = Release|Any CPU
|
|
||||||
{D8D08DBE-B511-4DE0-B5A9-563EBFC60C4F}.MySql|Any CPU.Build.0 = Release|Any CPU
|
|
||||||
{D8D08DBE-B511-4DE0-B5A9-563EBFC60C4F}.Release|Any CPU.ActiveCfg = Release|Any CPU
|
|
||||||
{D8D08DBE-B511-4DE0-B5A9-563EBFC60C4F}.Release|Any CPU.Build.0 = Release|Any CPU
|
|
||||||
{D8D08DBE-B511-4DE0-B5A9-563EBFC60C4F}.SCM-ESA|Any CPU.ActiveCfg = Release|Any CPU
|
|
||||||
{D8D08DBE-B511-4DE0-B5A9-563EBFC60C4F}.SCM-ESA|Any CPU.Build.0 = Release|Any CPU
|
|
||||||
{2D769FFD-1122-4276-A115-29246E6D23C5}.CMS-FANUC|Any CPU.ActiveCfg = Release|Any CPU
|
|
||||||
{2D769FFD-1122-4276-A115-29246E6D23C5}.CMS-FANUC|Any CPU.Build.0 = Release|Any CPU
|
|
||||||
{2D769FFD-1122-4276-A115-29246E6D23C5}.CMS-OSAI|Any CPU.ActiveCfg = Release|Any CPU
|
|
||||||
{2D769FFD-1122-4276-A115-29246E6D23C5}.CMS-OSAI|Any CPU.Build.0 = Release|Any CPU
|
|
||||||
{2D769FFD-1122-4276-A115-29246E6D23C5}.CMS-SIEMENS|Any CPU.ActiveCfg = Release|Any CPU
|
|
||||||
{2D769FFD-1122-4276-A115-29246E6D23C5}.CMS-SIEMENS|Any CPU.Build.0 = Release|Any CPU
|
|
||||||
{2D769FFD-1122-4276-A115-29246E6D23C5}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
|
|
||||||
{2D769FFD-1122-4276-A115-29246E6D23C5}.Debug|Any CPU.Build.0 = Debug|Any CPU
|
|
||||||
{2D769FFD-1122-4276-A115-29246E6D23C5}.MySql|Any CPU.ActiveCfg = Release|Any CPU
|
|
||||||
{2D769FFD-1122-4276-A115-29246E6D23C5}.MySql|Any CPU.Build.0 = Release|Any CPU
|
|
||||||
{2D769FFD-1122-4276-A115-29246E6D23C5}.Release|Any CPU.ActiveCfg = Release|Any CPU
|
|
||||||
{2D769FFD-1122-4276-A115-29246E6D23C5}.Release|Any CPU.Build.0 = Release|Any CPU
|
|
||||||
{2D769FFD-1122-4276-A115-29246E6D23C5}.SCM-ESA|Any CPU.ActiveCfg = Release|Any CPU
|
|
||||||
{2D769FFD-1122-4276-A115-29246E6D23C5}.SCM-ESA|Any CPU.Build.0 = Release|Any CPU
|
|
||||||
{736DF121-11E6-4D46-835D-6560ACF241E4}.CMS-FANUC|Any CPU.ActiveCfg = CMS-FANUC|Any CPU
|
|
||||||
{736DF121-11E6-4D46-835D-6560ACF241E4}.CMS-FANUC|Any CPU.Build.0 = CMS-FANUC|Any CPU
|
|
||||||
{736DF121-11E6-4D46-835D-6560ACF241E4}.CMS-OSAI|Any CPU.ActiveCfg = CMS-OSAI|Any CPU
|
|
||||||
{736DF121-11E6-4D46-835D-6560ACF241E4}.CMS-OSAI|Any CPU.Build.0 = CMS-OSAI|Any CPU
|
|
||||||
{736DF121-11E6-4D46-835D-6560ACF241E4}.CMS-SIEMENS|Any CPU.ActiveCfg = CMS-SIEMENS|Any CPU
|
|
||||||
{736DF121-11E6-4D46-835D-6560ACF241E4}.CMS-SIEMENS|Any CPU.Build.0 = CMS-SIEMENS|Any CPU
|
|
||||||
{736DF121-11E6-4D46-835D-6560ACF241E4}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
|
|
||||||
{736DF121-11E6-4D46-835D-6560ACF241E4}.Debug|Any CPU.Build.0 = Debug|Any CPU
|
|
||||||
{736DF121-11E6-4D46-835D-6560ACF241E4}.MySql|Any CPU.ActiveCfg = Release|Any CPU
|
|
||||||
{736DF121-11E6-4D46-835D-6560ACF241E4}.MySql|Any CPU.Build.0 = Release|Any CPU
|
|
||||||
{736DF121-11E6-4D46-835D-6560ACF241E4}.Release|Any CPU.ActiveCfg = Release|Any CPU
|
|
||||||
{736DF121-11E6-4D46-835D-6560ACF241E4}.Release|Any CPU.Build.0 = Release|Any CPU
|
|
||||||
{736DF121-11E6-4D46-835D-6560ACF241E4}.SCM-ESA|Any CPU.ActiveCfg = SCM-ESA|Any CPU
|
|
||||||
{736DF121-11E6-4D46-835D-6560ACF241E4}.SCM-ESA|Any CPU.Build.0 = SCM-ESA|Any CPU
|
|
||||||
{58E399F3-9D4E-49D3-AB35-9ED536543D50}.CMS-FANUC|Any CPU.ActiveCfg = Release|Any CPU
|
|
||||||
{58E399F3-9D4E-49D3-AB35-9ED536543D50}.CMS-FANUC|Any CPU.Build.0 = Release|Any CPU
|
|
||||||
{58E399F3-9D4E-49D3-AB35-9ED536543D50}.CMS-OSAI|Any CPU.ActiveCfg = Release|Any CPU
|
|
||||||
{58E399F3-9D4E-49D3-AB35-9ED536543D50}.CMS-OSAI|Any CPU.Build.0 = Release|Any CPU
|
|
||||||
{58E399F3-9D4E-49D3-AB35-9ED536543D50}.CMS-SIEMENS|Any CPU.ActiveCfg = Release|Any CPU
|
|
||||||
{58E399F3-9D4E-49D3-AB35-9ED536543D50}.CMS-SIEMENS|Any CPU.Build.0 = Release|Any CPU
|
|
||||||
{58E399F3-9D4E-49D3-AB35-9ED536543D50}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
|
|
||||||
{58E399F3-9D4E-49D3-AB35-9ED536543D50}.Debug|Any CPU.Build.0 = Debug|Any CPU
|
|
||||||
{58E399F3-9D4E-49D3-AB35-9ED536543D50}.MySql|Any CPU.ActiveCfg = Release|Any CPU
|
|
||||||
{58E399F3-9D4E-49D3-AB35-9ED536543D50}.MySql|Any CPU.Build.0 = Release|Any CPU
|
|
||||||
{58E399F3-9D4E-49D3-AB35-9ED536543D50}.Release|Any CPU.ActiveCfg = Release|Any CPU
|
|
||||||
{58E399F3-9D4E-49D3-AB35-9ED536543D50}.Release|Any CPU.Build.0 = Release|Any CPU
|
|
||||||
{58E399F3-9D4E-49D3-AB35-9ED536543D50}.SCM-ESA|Any CPU.ActiveCfg = Release|Any CPU
|
|
||||||
{58E399F3-9D4E-49D3-AB35-9ED536543D50}.SCM-ESA|Any CPU.Build.0 = Release|Any CPU
|
|
||||||
{7A12FE26-9C58-4630-973D-D4872374DBAF}.CMS-FANUC|Any CPU.ActiveCfg = Release|Any CPU
|
|
||||||
{7A12FE26-9C58-4630-973D-D4872374DBAF}.CMS-FANUC|Any CPU.Build.0 = Release|Any CPU
|
|
||||||
{7A12FE26-9C58-4630-973D-D4872374DBAF}.CMS-OSAI|Any CPU.ActiveCfg = Release|Any CPU
|
|
||||||
{7A12FE26-9C58-4630-973D-D4872374DBAF}.CMS-OSAI|Any CPU.Build.0 = Release|Any CPU
|
|
||||||
{7A12FE26-9C58-4630-973D-D4872374DBAF}.CMS-SIEMENS|Any CPU.ActiveCfg = Release|Any CPU
|
|
||||||
{7A12FE26-9C58-4630-973D-D4872374DBAF}.CMS-SIEMENS|Any CPU.Build.0 = Release|Any CPU
|
|
||||||
{7A12FE26-9C58-4630-973D-D4872374DBAF}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
|
|
||||||
{7A12FE26-9C58-4630-973D-D4872374DBAF}.Debug|Any CPU.Build.0 = Debug|Any CPU
|
|
||||||
{7A12FE26-9C58-4630-973D-D4872374DBAF}.MySql|Any CPU.ActiveCfg = Release|Any CPU
|
|
||||||
{7A12FE26-9C58-4630-973D-D4872374DBAF}.MySql|Any CPU.Build.0 = Release|Any CPU
|
|
||||||
{7A12FE26-9C58-4630-973D-D4872374DBAF}.Release|Any CPU.ActiveCfg = Release|Any CPU
|
|
||||||
{7A12FE26-9C58-4630-973D-D4872374DBAF}.Release|Any CPU.Build.0 = Release|Any CPU
|
|
||||||
{7A12FE26-9C58-4630-973D-D4872374DBAF}.SCM-ESA|Any CPU.ActiveCfg = Release|Any CPU
|
|
||||||
{7A12FE26-9C58-4630-973D-D4872374DBAF}.SCM-ESA|Any CPU.Build.0 = Release|Any CPU
|
|
||||||
{DF877E5E-8D04-4532-BA01-CEFD8636D4DA}.CMS-FANUC|Any CPU.ActiveCfg = Release|Any CPU
|
|
||||||
{DF877E5E-8D04-4532-BA01-CEFD8636D4DA}.CMS-FANUC|Any CPU.Build.0 = Release|Any CPU
|
|
||||||
{DF877E5E-8D04-4532-BA01-CEFD8636D4DA}.CMS-OSAI|Any CPU.ActiveCfg = Release|Any CPU
|
|
||||||
{DF877E5E-8D04-4532-BA01-CEFD8636D4DA}.CMS-OSAI|Any CPU.Build.0 = Release|Any CPU
|
|
||||||
{DF877E5E-8D04-4532-BA01-CEFD8636D4DA}.CMS-SIEMENS|Any CPU.ActiveCfg = Release|Any CPU
|
|
||||||
{DF877E5E-8D04-4532-BA01-CEFD8636D4DA}.CMS-SIEMENS|Any CPU.Build.0 = Release|Any CPU
|
|
||||||
{DF877E5E-8D04-4532-BA01-CEFD8636D4DA}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
|
|
||||||
{DF877E5E-8D04-4532-BA01-CEFD8636D4DA}.Debug|Any CPU.Build.0 = Debug|Any CPU
|
|
||||||
{DF877E5E-8D04-4532-BA01-CEFD8636D4DA}.MySql|Any CPU.ActiveCfg = MySql|Any CPU
|
|
||||||
{DF877E5E-8D04-4532-BA01-CEFD8636D4DA}.MySql|Any CPU.Build.0 = MySql|Any CPU
|
|
||||||
{DF877E5E-8D04-4532-BA01-CEFD8636D4DA}.Release|Any CPU.ActiveCfg = Release|Any CPU
|
|
||||||
{DF877E5E-8D04-4532-BA01-CEFD8636D4DA}.Release|Any CPU.Build.0 = Release|Any CPU
|
|
||||||
{DF877E5E-8D04-4532-BA01-CEFD8636D4DA}.SCM-ESA|Any CPU.ActiveCfg = Release|Any CPU
|
|
||||||
{DF877E5E-8D04-4532-BA01-CEFD8636D4DA}.SCM-ESA|Any CPU.Build.0 = Release|Any CPU
|
|
||||||
{EC83D80E-9F3B-4DE9-B16A-CA216543B7EC}.CMS-FANUC|Any CPU.ActiveCfg = Release|Any CPU
|
|
||||||
{EC83D80E-9F3B-4DE9-B16A-CA216543B7EC}.CMS-FANUC|Any CPU.Build.0 = Release|Any CPU
|
|
||||||
{EC83D80E-9F3B-4DE9-B16A-CA216543B7EC}.CMS-OSAI|Any CPU.ActiveCfg = Release|Any CPU
|
|
||||||
{EC83D80E-9F3B-4DE9-B16A-CA216543B7EC}.CMS-OSAI|Any CPU.Build.0 = Release|Any CPU
|
|
||||||
{EC83D80E-9F3B-4DE9-B16A-CA216543B7EC}.CMS-SIEMENS|Any CPU.ActiveCfg = Release|Any CPU
|
|
||||||
{EC83D80E-9F3B-4DE9-B16A-CA216543B7EC}.CMS-SIEMENS|Any CPU.Build.0 = Release|Any CPU
|
|
||||||
{EC83D80E-9F3B-4DE9-B16A-CA216543B7EC}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
|
|
||||||
{EC83D80E-9F3B-4DE9-B16A-CA216543B7EC}.Debug|Any CPU.Build.0 = Debug|Any CPU
|
|
||||||
{EC83D80E-9F3B-4DE9-B16A-CA216543B7EC}.MySql|Any CPU.ActiveCfg = Release|Any CPU
|
|
||||||
{EC83D80E-9F3B-4DE9-B16A-CA216543B7EC}.MySql|Any CPU.Build.0 = Release|Any CPU
|
|
||||||
{EC83D80E-9F3B-4DE9-B16A-CA216543B7EC}.Release|Any CPU.ActiveCfg = Release|Any CPU
|
|
||||||
{EC83D80E-9F3B-4DE9-B16A-CA216543B7EC}.Release|Any CPU.Build.0 = Release|Any CPU
|
|
||||||
{EC83D80E-9F3B-4DE9-B16A-CA216543B7EC}.SCM-ESA|Any CPU.ActiveCfg = Release|Any CPU
|
|
||||||
{EC83D80E-9F3B-4DE9-B16A-CA216543B7EC}.SCM-ESA|Any CPU.Build.0 = Release|Any CPU
|
|
||||||
EndGlobalSection
|
|
||||||
GlobalSection(SolutionProperties) = preSolution
|
|
||||||
HideSolutionNode = FALSE
|
|
||||||
EndGlobalSection
|
|
||||||
EndGlobal
|
|
||||||
@@ -1,407 +0,0 @@
|
|||||||
using MTC;
|
|
||||||
using System;
|
|
||||||
using System.Collections.Generic;
|
|
||||||
using System.IO;
|
|
||||||
using System.Xml;
|
|
||||||
using System.Xml.Serialization;
|
|
||||||
|
|
||||||
namespace MTC_Adapter
|
|
||||||
{
|
|
||||||
#region -- AdapterConf Class --
|
|
||||||
|
|
||||||
/// <summary>
|
|
||||||
/// This Configuration class is basically just a set of
|
|
||||||
/// properties with a couple of static methods to manage
|
|
||||||
/// the serialization to and deserialization from a
|
|
||||||
/// simple XML file.
|
|
||||||
///
|
|
||||||
/// ref: http://www.cambiaresearch.com/articles/33/how-can-i-easily-manage-an-xml-configuration-file-in-dotnet
|
|
||||||
/// </summary>
|
|
||||||
[Serializable]
|
|
||||||
public class AdapterConf
|
|
||||||
{
|
|
||||||
string sNomeAdapt;
|
|
||||||
int nVers;
|
|
||||||
double tContOreMaccOn;
|
|
||||||
double tContOreMaccLav;
|
|
||||||
int[] _ContGiriElettrom;
|
|
||||||
float[] _ContKmMovAssi;
|
|
||||||
tipoAdapter etipoAdapt;
|
|
||||||
|
|
||||||
element[] _VacuumPump;
|
|
||||||
element[] _VacuumAct;
|
|
||||||
element[] _Lubro;
|
|
||||||
element[] _Cooler;
|
|
||||||
element[] _Press;
|
|
||||||
element[] _Temp;
|
|
||||||
element[] _Path;
|
|
||||||
element[] _UnOp;
|
|
||||||
element[] _Axis;
|
|
||||||
element[] _MemArea;
|
|
||||||
|
|
||||||
/// <summary>
|
|
||||||
/// init conf adapter
|
|
||||||
/// </summary>
|
|
||||||
public AdapterConf()
|
|
||||||
{
|
|
||||||
sNomeAdapt = "";
|
|
||||||
etipoAdapt = tipoAdapter.DEMO;
|
|
||||||
}
|
|
||||||
public int nVacuumPump
|
|
||||||
{
|
|
||||||
get
|
|
||||||
{
|
|
||||||
int answ = 0;
|
|
||||||
if (VacuumPump != null)
|
|
||||||
{
|
|
||||||
try
|
|
||||||
{
|
|
||||||
answ = Convert.ToInt32(VacuumPump.Length);
|
|
||||||
}
|
|
||||||
catch
|
|
||||||
{ }
|
|
||||||
}
|
|
||||||
return answ;
|
|
||||||
}
|
|
||||||
}
|
|
||||||
public int nVacuumAct
|
|
||||||
{
|
|
||||||
get
|
|
||||||
{
|
|
||||||
int answ = 0;
|
|
||||||
if (VacuumAct != null)
|
|
||||||
{
|
|
||||||
try
|
|
||||||
{
|
|
||||||
answ = Convert.ToInt32(VacuumAct.Length);
|
|
||||||
}
|
|
||||||
catch
|
|
||||||
{ }
|
|
||||||
}
|
|
||||||
return answ;
|
|
||||||
}
|
|
||||||
}
|
|
||||||
public int nLubro
|
|
||||||
{
|
|
||||||
get
|
|
||||||
{
|
|
||||||
int answ = 0;
|
|
||||||
if (Lubro != null)
|
|
||||||
{
|
|
||||||
try
|
|
||||||
{
|
|
||||||
answ = Convert.ToInt32(Lubro.Length);
|
|
||||||
}
|
|
||||||
catch
|
|
||||||
{ }
|
|
||||||
}
|
|
||||||
return answ;
|
|
||||||
}
|
|
||||||
}
|
|
||||||
public int nCooler
|
|
||||||
{
|
|
||||||
get
|
|
||||||
{
|
|
||||||
int answ = 0;
|
|
||||||
if (Cooler != null)
|
|
||||||
{
|
|
||||||
try
|
|
||||||
{
|
|
||||||
answ = Convert.ToInt32(Cooler.Length);
|
|
||||||
}
|
|
||||||
catch
|
|
||||||
{ }
|
|
||||||
}
|
|
||||||
return answ;
|
|
||||||
}
|
|
||||||
}
|
|
||||||
public int nPress
|
|
||||||
{
|
|
||||||
get
|
|
||||||
{
|
|
||||||
int answ = 0;
|
|
||||||
if (Press != null)
|
|
||||||
{
|
|
||||||
try
|
|
||||||
{
|
|
||||||
answ = Convert.ToInt32(Press.Length);
|
|
||||||
}
|
|
||||||
catch
|
|
||||||
{ }
|
|
||||||
}
|
|
||||||
return answ;
|
|
||||||
}
|
|
||||||
}
|
|
||||||
public int nTemp
|
|
||||||
{
|
|
||||||
get
|
|
||||||
{
|
|
||||||
int answ = 0;
|
|
||||||
if (Temp != null)
|
|
||||||
{
|
|
||||||
try
|
|
||||||
{
|
|
||||||
answ = Convert.ToInt32(Temp.Length);
|
|
||||||
}
|
|
||||||
catch
|
|
||||||
{ }
|
|
||||||
}
|
|
||||||
return answ;
|
|
||||||
}
|
|
||||||
}
|
|
||||||
public int nPath
|
|
||||||
{
|
|
||||||
get
|
|
||||||
{
|
|
||||||
int answ = 0;
|
|
||||||
if (Path != null)
|
|
||||||
{
|
|
||||||
try
|
|
||||||
{
|
|
||||||
answ = Convert.ToInt32(Path.Length);
|
|
||||||
}
|
|
||||||
catch
|
|
||||||
{ }
|
|
||||||
}
|
|
||||||
return answ;
|
|
||||||
}
|
|
||||||
}
|
|
||||||
public int nUnOp
|
|
||||||
{
|
|
||||||
get
|
|
||||||
{
|
|
||||||
int answ = 0;
|
|
||||||
if (UnOp != null)
|
|
||||||
{
|
|
||||||
try
|
|
||||||
{
|
|
||||||
answ = Convert.ToInt32(UnOp.Length);
|
|
||||||
}
|
|
||||||
catch
|
|
||||||
{ }
|
|
||||||
}
|
|
||||||
return answ;
|
|
||||||
}
|
|
||||||
}
|
|
||||||
public int nAxis
|
|
||||||
{
|
|
||||||
get
|
|
||||||
{
|
|
||||||
int answ = 0;
|
|
||||||
if (Axis != null)
|
|
||||||
{
|
|
||||||
try
|
|
||||||
{
|
|
||||||
answ = Convert.ToInt32(Axis.Length);
|
|
||||||
}
|
|
||||||
catch
|
|
||||||
{ }
|
|
||||||
}
|
|
||||||
return answ;
|
|
||||||
}
|
|
||||||
}
|
|
||||||
public int nMemArea
|
|
||||||
{
|
|
||||||
get
|
|
||||||
{
|
|
||||||
int answ = 0;
|
|
||||||
if (MemArea != null)
|
|
||||||
{
|
|
||||||
try
|
|
||||||
{
|
|
||||||
answ = Convert.ToInt32(MemArea.Length);
|
|
||||||
}
|
|
||||||
catch
|
|
||||||
{ }
|
|
||||||
}
|
|
||||||
return answ;
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
/// <summary>
|
|
||||||
/// Serializzazione XML dell'oggetto conf dell'adapter
|
|
||||||
/// </summary>
|
|
||||||
/// <param name="file"></param>
|
|
||||||
/// <param name="c"></param>
|
|
||||||
public static void Serialize(string file, AdapterConf c)
|
|
||||||
{
|
|
||||||
// prima provo a creare il file vuoto...
|
|
||||||
if (!File.Exists(file))
|
|
||||||
{
|
|
||||||
string dirPath = file.Substring(0, file.LastIndexOf('\\'));
|
|
||||||
// verifico directory
|
|
||||||
if (!Directory.Exists(dirPath))
|
|
||||||
{
|
|
||||||
Directory.CreateDirectory(dirPath);
|
|
||||||
}
|
|
||||||
}
|
|
||||||
// salvo effettivamente file...
|
|
||||||
System.Xml.Serialization.XmlSerializer xs = new System.Xml.Serialization.XmlSerializer(c.GetType());
|
|
||||||
StreamWriter writer = File.CreateText(file);
|
|
||||||
xs.Serialize(writer, c);
|
|
||||||
writer.Flush();
|
|
||||||
writer.Close();
|
|
||||||
}
|
|
||||||
/// <summary>
|
|
||||||
/// deserializzazione oggetto conf adapter
|
|
||||||
/// </summary>
|
|
||||||
/// <param name="file"></param>
|
|
||||||
/// <returns></returns>
|
|
||||||
public static AdapterConf Deserialize(string file)
|
|
||||||
{
|
|
||||||
XmlSerializer xs = new XmlSerializer(typeof(AdapterConf));
|
|
||||||
StreamReader reader = File.OpenText(file);
|
|
||||||
AdapterConf c = (AdapterConf)xs.Deserialize(reader);
|
|
||||||
reader.Close();
|
|
||||||
return c;
|
|
||||||
}
|
|
||||||
/// <summary>
|
|
||||||
/// restitusice forma XML grezza del file
|
|
||||||
/// </summary>
|
|
||||||
/// <param name="file"></param>
|
|
||||||
/// <returns></returns>
|
|
||||||
public static string rawXml(string file)
|
|
||||||
{
|
|
||||||
string answ = "";
|
|
||||||
System.Xml.Serialization.XmlSerializer xs = new System.Xml.Serialization.XmlSerializer(typeof(AdapterConf));
|
|
||||||
StreamReader reader = File.OpenText(file);
|
|
||||||
answ = reader.ReadToEnd();
|
|
||||||
reader.Close();
|
|
||||||
return answ;
|
|
||||||
}
|
|
||||||
|
|
||||||
public int Version
|
|
||||||
{
|
|
||||||
get { return nVers; }
|
|
||||||
set { nVers = value; }
|
|
||||||
}
|
|
||||||
public string NomeAdapt
|
|
||||||
{
|
|
||||||
get { return sNomeAdapt; }
|
|
||||||
set { sNomeAdapt = value; }
|
|
||||||
}
|
|
||||||
public tipoAdapter TipoAdapt
|
|
||||||
{
|
|
||||||
get { return etipoAdapt; }
|
|
||||||
set { etipoAdapt = value; }
|
|
||||||
}
|
|
||||||
public double ContOreMaccOn
|
|
||||||
{
|
|
||||||
get { return tContOreMaccOn; }
|
|
||||||
set { tContOreMaccOn = value; }
|
|
||||||
}
|
|
||||||
public double ContOreMaccLav
|
|
||||||
{
|
|
||||||
get { return tContOreMaccLav; }
|
|
||||||
set { tContOreMaccLav = value; }
|
|
||||||
}
|
|
||||||
public int[] ContGiriElettrom
|
|
||||||
{
|
|
||||||
get { return _ContGiriElettrom; }
|
|
||||||
set { _ContGiriElettrom = value; }
|
|
||||||
}
|
|
||||||
public float[] ContKmMovAssi
|
|
||||||
{
|
|
||||||
get { return _ContKmMovAssi; }
|
|
||||||
set { _ContKmMovAssi = value; }
|
|
||||||
}
|
|
||||||
public element[] VacuumPump
|
|
||||||
{
|
|
||||||
get { return _VacuumPump; }
|
|
||||||
set { _VacuumPump = value; }
|
|
||||||
}
|
|
||||||
public element[] VacuumAct
|
|
||||||
{
|
|
||||||
get { return _VacuumAct; }
|
|
||||||
set { _VacuumAct = value; }
|
|
||||||
}
|
|
||||||
public element[] Lubro
|
|
||||||
{
|
|
||||||
get { return _Lubro; }
|
|
||||||
set { _Lubro = value; }
|
|
||||||
}
|
|
||||||
public element[] Cooler
|
|
||||||
{
|
|
||||||
get { return _Cooler; }
|
|
||||||
set { _Cooler = value; }
|
|
||||||
}
|
|
||||||
public element[] Press
|
|
||||||
{
|
|
||||||
get { return _Press; }
|
|
||||||
set { _Press = value; }
|
|
||||||
}
|
|
||||||
public element[] Temp
|
|
||||||
{
|
|
||||||
get { return _Temp; }
|
|
||||||
set { _Temp = value; }
|
|
||||||
}
|
|
||||||
public element[] Path
|
|
||||||
{
|
|
||||||
get { return _Path; }
|
|
||||||
set { _Path = value; }
|
|
||||||
}
|
|
||||||
public element[] UnOp
|
|
||||||
{
|
|
||||||
get { return _UnOp; }
|
|
||||||
set { _UnOp = value; }
|
|
||||||
}
|
|
||||||
public element[] Axis
|
|
||||||
{
|
|
||||||
get { return _Axis; }
|
|
||||||
set { _Axis = value; }
|
|
||||||
}
|
|
||||||
public element[] MemArea
|
|
||||||
{
|
|
||||||
get { return _MemArea; }
|
|
||||||
set { _MemArea = value; }
|
|
||||||
}
|
|
||||||
|
|
||||||
}
|
|
||||||
|
|
||||||
|
|
||||||
[Serializable]
|
|
||||||
[XmlType(TypeName = "dataRef")]
|
|
||||||
public struct DataRefItem<K, V>
|
|
||||||
{
|
|
||||||
public K Key { get; set; }
|
|
||||||
public V Value { get; set; }
|
|
||||||
|
|
||||||
public DataRefItem(K k, V v) : this() { Key = k; Value = v; }
|
|
||||||
}
|
|
||||||
|
|
||||||
/// <summary>
|
|
||||||
/// classe elemento base in cui salvare i dati di conf x recupero dati adapters
|
|
||||||
/// </summary>
|
|
||||||
public class element
|
|
||||||
{
|
|
||||||
/// <summary>
|
|
||||||
/// identificativo univoco x classe di elemento
|
|
||||||
/// </summary>
|
|
||||||
public string ident;
|
|
||||||
/// <summary>
|
|
||||||
/// Elenco riferimento dati x recupero (es posizioni memoria separate da #)
|
|
||||||
/// </summary>
|
|
||||||
public List<DataRefItem<string, string>> dataRefList;
|
|
||||||
|
|
||||||
/// <summary>
|
|
||||||
/// init empty
|
|
||||||
/// </summary>
|
|
||||||
public element()
|
|
||||||
{
|
|
||||||
ident = "";
|
|
||||||
dataRefList = new List<DataRefItem<string, string>>();
|
|
||||||
}
|
|
||||||
/// <summary>
|
|
||||||
/// init element con dati
|
|
||||||
/// </summary>
|
|
||||||
/// <param name="Idx">Identificativo univoco</param>
|
|
||||||
/// <param name="DataRef">Parametri x recupero dati in forma dictionary</param>
|
|
||||||
public element(string Idx, List<DataRefItem<string, string>> DataRef)
|
|
||||||
{
|
|
||||||
ident = Idx;
|
|
||||||
dataRefList = DataRef;
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
#endregion
|
|
||||||
}
|
|
||||||
@@ -1,174 +0,0 @@
|
|||||||
using MTC;
|
|
||||||
using MTConnect;
|
|
||||||
using System;
|
|
||||||
|
|
||||||
namespace MTC_Adapter
|
|
||||||
{
|
|
||||||
public class AdapterDemo : AdapterGeneric
|
|
||||||
{
|
|
||||||
public Condition mTemp = new Condition("temp");
|
|
||||||
public Condition mFillLevel = new Condition("cool_low", true);
|
|
||||||
|
|
||||||
/// <summary>
|
|
||||||
/// estende l'init della classe base...
|
|
||||||
/// </summary>
|
|
||||||
/// <param name="caller"></param>
|
|
||||||
/// <param name="adpConf"></param>
|
|
||||||
public AdapterDemo(MainForm caller, AdapterConf adpConf) : base(caller, adpConf)
|
|
||||||
{
|
|
||||||
if (utils.CRB("verbose")) lg.Info("Start init Adapter DEMO");
|
|
||||||
// IMPLICITO: carica da metodo base tutte le specifiche del conf...
|
|
||||||
|
|
||||||
|
|
||||||
// aggiungo specifiche del demo: allarmi gestiti a buttons!!!
|
|
||||||
mAdapter.AddDataItem(mTemp);
|
|
||||||
mAdapter.AddDataItem(mFillLevel);
|
|
||||||
|
|
||||||
}
|
|
||||||
|
|
||||||
public override void startAdapter(int port)
|
|
||||||
{
|
|
||||||
base.startAdapter(port);
|
|
||||||
|
|
||||||
// aggiungo altre condizioni specifiche...
|
|
||||||
|
|
||||||
mTemp.Normal();
|
|
||||||
mFillLevel.Normal();
|
|
||||||
}
|
|
||||||
|
|
||||||
public override void getSlowChangingData()
|
|
||||||
{
|
|
||||||
// serve?!?
|
|
||||||
base.getSlowChangingData();
|
|
||||||
|
|
||||||
mOperator.Value = parentForm.datiProd.Operator;
|
|
||||||
|
|
||||||
// recupero SEMPRE dati ulteriori: status ON/OFF, clock, ...
|
|
||||||
mStatus.Value = parentForm.datiProd.Status;
|
|
||||||
mAccTime.Value = parentForm.datiProd.AccTime;
|
|
||||||
mClock.Value = DateTime.Now.Date.ToFileTimeUtc();
|
|
||||||
mPower.Value = parentForm.datiProd.Power;
|
|
||||||
}
|
|
||||||
|
|
||||||
public override void getStrobeAndAckStatus()
|
|
||||||
{
|
|
||||||
base.getStrobeAndAckStatus();
|
|
||||||
|
|
||||||
// controllo bool allarmi...
|
|
||||||
if (parentForm.datiProd.EmrStop)
|
|
||||||
{
|
|
||||||
mEStop.Value = "TRIGGERED";
|
|
||||||
}
|
|
||||||
else
|
|
||||||
{
|
|
||||||
mEStop.Value = "ARMED";
|
|
||||||
}
|
|
||||||
|
|
||||||
// imposto func mode...
|
|
||||||
mFunctionalMode.Value = parentForm.datiProd.FuncMode;
|
|
||||||
|
|
||||||
// se ho un messaggio...
|
|
||||||
if(parentForm.datiProd.MessageText.Length>0)
|
|
||||||
{
|
|
||||||
mMessage.Code = parentForm.datiProd.MessageCode;
|
|
||||||
mMessage.Value = parentForm.datiProd.MessageText;
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
public override void getConfigParam()
|
|
||||||
{
|
|
||||||
base.getConfigParam();
|
|
||||||
}
|
|
||||||
|
|
||||||
|
|
||||||
public override void processStrobe()
|
|
||||||
{
|
|
||||||
base.processStrobe();
|
|
||||||
// qui forzo la gestione di update dei path & co...
|
|
||||||
getPath();
|
|
||||||
getUnOp();
|
|
||||||
getAxis();
|
|
||||||
}
|
|
||||||
/// <summary>
|
|
||||||
/// non fa nulla perché recupera allarmi in vettore al singolo cambio...
|
|
||||||
/// </summary>
|
|
||||||
/// <param name="Alarm2Refresh"></param>
|
|
||||||
/// <param name="giveAck"></param>
|
|
||||||
public override void refreshAlarmState(StFlag32 Alarm2Refresh, bool giveAck)
|
|
||||||
{
|
|
||||||
base.refreshAlarmState(Alarm2Refresh, giveAck);
|
|
||||||
}
|
|
||||||
|
|
||||||
public override void getPath()
|
|
||||||
{
|
|
||||||
base.getPath();
|
|
||||||
|
|
||||||
PathData PtData = parentForm.CurrPath;
|
|
||||||
if(PtData.PathSel>=0)
|
|
||||||
{
|
|
||||||
vettPath[PtData.PathSel].mPathFeed.Value = PtData.PathFeedrate;
|
|
||||||
vettPath[PtData.PathSel].mPathFeedOver.Value = PtData.PathFeedrateOver;
|
|
||||||
vettPath[PtData.PathSel].mPathRapidOver.Value = PtData.PathRapidOver;
|
|
||||||
vettPath[PtData.PathSel].mPathPosActX.Value = PtData.PathPosAct.x;
|
|
||||||
vettPath[PtData.PathSel].mPathPosActY.Value = PtData.PathPosAct.y;
|
|
||||||
vettPath[PtData.PathSel].mPathPosActZ.Value = PtData.PathPosAct.z;
|
|
||||||
vettPath[PtData.PathSel].mPathPosActI.Value = PtData.PathPosAct.i;
|
|
||||||
vettPath[PtData.PathSel].mPathPosActJ.Value = PtData.PathPosAct.j;
|
|
||||||
vettPath[PtData.PathSel].mPathPosActK.Value = PtData.PathPosAct.k;
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
// aggiunta x revisione 2016.05.05
|
|
||||||
vettPath[PtData.PathSel].mPathType.Value = PtData.PathType;
|
|
||||||
vettPath[PtData.PathSel].mPathPartId.Value = PtData.PartId;
|
|
||||||
vettPath[PtData.PathSel].mPathPartCount.Value = PtData.pzTot;
|
|
||||||
vettPath[PtData.PathSel].mPathRunMode.Value = PtData.RunMode;
|
|
||||||
vettPath[PtData.PathSel].mPathExeMode.Value = PtData.ExeMode;
|
|
||||||
vettPath[PtData.PathSel].mPathCurrProg.Value = PtData.ProgramName;
|
|
||||||
vettPath[PtData.PathSel].mPathCurrProgRowNum.Value = PtData.ProgrRow;
|
|
||||||
vettPath[PtData.PathSel].mPathActiveAxes.Value = PtData.ActiveAxes;
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
public override void getUnOp()
|
|
||||||
{
|
|
||||||
base.getUnOp();
|
|
||||||
|
|
||||||
UnOpData uoData = parentForm.CurrUnOp;
|
|
||||||
if (uoData.UnOpSel >= 0)
|
|
||||||
{
|
|
||||||
vettUnOp[uoData.UnOpSel].mUnOpToolId.Value = uoData.UnOpToolId;
|
|
||||||
vettUnOp[uoData.UnOpSel].mUnOpNumCU.Value = uoData.UnOpNumCU;
|
|
||||||
vettUnOp[uoData.UnOpSel].mUnOpStatus.Value = uoData.UnOpStatus;
|
|
||||||
vettUnOp[uoData.UnOpSel].mUnOpVitaRes.Value = uoData.UnOpVitaRes;
|
|
||||||
vettUnOp[uoData.UnOpSel].mUnOpSpeed.Value = uoData.UnOpSpeed;
|
|
||||||
vettUnOp[uoData.UnOpSel].mUnOpLoad.Value = uoData.UnOpLoad;
|
|
||||||
vettUnOp[uoData.UnOpSel].mUnOpAccTime.Value = uoData.UnOpAccTime;
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
public override void getAxis()
|
|
||||||
{
|
|
||||||
base.getAxis();
|
|
||||||
AxisData AxData = parentForm.CurrAxis;
|
|
||||||
if (AxData.AxisSel >= 0)
|
|
||||||
{
|
|
||||||
// USO asse selezionato + dati visualizzati e di conseguenza aggiorno...
|
|
||||||
vettAxis[AxData.AxisSel].mAxMainProc.Value = AxData.AxisMainProc;
|
|
||||||
vettAxis[AxData.AxisSel].mAxIsMaster.Value = AxData.AxisIsMaster;
|
|
||||||
vettAxis[AxData.AxisSel].mAxMastId.Value = AxData.AxisMastId;
|
|
||||||
//vettAxis[AxData.AxisSel].mAxType.Value = AxData.AxisType;
|
|
||||||
vettAxis[AxData.AxisSel].mAxDir.Value = AxData.AxisDir;
|
|
||||||
vettAxis[AxData.AxisSel].mAxLoad.Value = AxData.AxisLoad;
|
|
||||||
vettAxis[AxData.AxisSel].mAxPosAct.Value = AxData.AxisPosAct;
|
|
||||||
vettAxis[AxData.AxisSel].mAxPosTgt.Value = AxData.AxisPosTgt;
|
|
||||||
vettAxis[AxData.AxisSel].mAxFeedAct.Value = AxData.AxisFeedAct;
|
|
||||||
vettAxis[AxData.AxisSel].mAxFeedOver.Value = AxData.AxisFeedOver;
|
|
||||||
vettAxis[AxData.AxisSel].mAxAccelAct.Value = AxData.AxisAccel;
|
|
||||||
vettAxis[AxData.AxisSel].mAxAccTime.Value = AxData.AxisAccTime;
|
|
||||||
vettAxis[AxData.AxisSel].mAxBattery.Value = AxData.AxisBattery;
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
}
|
|
||||||
}
|
|
||||||
File diff suppressed because it is too large
Load Diff
File diff suppressed because it is too large
Load Diff
File diff suppressed because it is too large
Load Diff
File diff suppressed because it is too large
Load Diff
@@ -1,112 +0,0 @@
|
|||||||
<?xml version="1.0" encoding="utf-8"?>
|
|
||||||
<configuration>
|
|
||||||
<startup>
|
|
||||||
|
|
||||||
<supportedRuntime version="v4.0" sku=".NETFramework,Version=v4.5.2"/></startup>
|
|
||||||
<appSettings>
|
|
||||||
<add key="appName" value="MTConnect Adapter"/>
|
|
||||||
<!--gestione TIMERS e periodi multipli x thread lenti-->
|
|
||||||
<add key="startTimerMs" value="250"/>
|
|
||||||
<add key="timerIntMs" value="5"/><!--invio da adapter ad agent: 5ms-->
|
|
||||||
<add key="fastCount" value="20"/><!--100ms-->
|
|
||||||
<add key="normCount" value="50"/><!--250ms-->
|
|
||||||
<add key="slowCount" value="500"/><!--2.5 sec-->
|
|
||||||
<add key="alarmSyncCount" value="6000"/><!--30 sec-->
|
|
||||||
|
|
||||||
<!--parametri gestione watchdog-->
|
|
||||||
<add key="maxAdapterLockSec" value="5"/>
|
|
||||||
<!--AREA CONF IP FANUC-->
|
|
||||||
<!--SIMULATORE LOCALE
|
|
||||||
IP LOOPBACK: 192.168.211.5/255.255.255.0
|
|
||||||
ipPLC = "192.168.211.5"-->
|
|
||||||
<!--<add key ="ipPLC" value="192.168.211.5" />-->
|
|
||||||
<!--SIM PC
|
|
||||||
IP ETH: 192.168.139.201/255.255.255.0
|
|
||||||
ipPLC = "192.168.139.100"-->
|
|
||||||
<!--<add key="ipPLC" value="192.168.139.100" />-->
|
|
||||||
<!--<add key="ipPLC" value="192.168.139.1" />-->
|
|
||||||
<!--Sviluppo Steamware
|
|
||||||
IP ETH: 10.74.82.110/255.255.255.0
|
|
||||||
ipPLC = "10.74.82.110"-->
|
|
||||||
<add key="ipPLC" value="192.168.157.2"/>
|
|
||||||
<!--PRODUZIONE
|
|
||||||
IP ETH: 192.168.139.201/255.255.255.0
|
|
||||||
ipPLC = "192.168.139.1"-->
|
|
||||||
<!--<add key ="ipPLC" value="192.168.139.1" />-->
|
|
||||||
<!--OSAI DEV-->
|
|
||||||
<!--<add key ="ipPLC" value="192.168.157.2" />-->
|
|
||||||
|
|
||||||
<add key="recTime" value="true"/>
|
|
||||||
<add key="verbose" value="true"/>
|
|
||||||
<!--Definizione avvio Adapter-->
|
|
||||||
<add key="autoLoadConf" value="false"/>
|
|
||||||
<add key="autoStartOnLoad" value="true"/>
|
|
||||||
<add key="openDumpOnStart" value="true"/>
|
|
||||||
<add key="startMinimized" value="false"/>
|
|
||||||
<add key="windowCanMax" value="true"/>
|
|
||||||
<add key="trayClose" value="true"/>
|
|
||||||
<add key="autoSaveSec" value="60"/>
|
|
||||||
<add key="waitRecMSec" value="5000"/>
|
|
||||||
<add key="testCharSep" value="|"/>
|
|
||||||
<add key="fattdecimale" value="1000"/>
|
|
||||||
<add key="fattConvDistAssi" value="1000"/>
|
|
||||||
<!--conf file-->
|
|
||||||
<add key="dataPath" value="DATA"/>
|
|
||||||
<add key="dataConfPath" value="DATA\CONF"/>
|
|
||||||
<add key="dataDatPath" value="DATA\DAT"/>
|
|
||||||
<add key="resxPath" value="Resources"/>
|
|
||||||
<add key="AlarmList" value="AlarmList.map"/>
|
|
||||||
<add key="AlarmListCNC" value="AlarmListCNC.map"/>
|
|
||||||
<add key="defaultConfFile" value="Adapter_ItemList.xml"/>
|
|
||||||
<add key="defaultPersLayerFile" value="PersistData.dat"/>
|
|
||||||
<add key="maxNumDD" value="30"/>
|
|
||||||
<add key="defaultEsaFile" value="EsaKvara.ini"/>
|
|
||||||
<add key="CounterListFilePath" value="CounterList.map"/>
|
|
||||||
<add key="StatusListFilePath" value="StatusList.map"/>
|
|
||||||
<add key="SubModeListFilePath" value="SubModeList.map"/>
|
|
||||||
<!--conf gestione "semplificata" accesso a tutta la memoria ogni volta-->
|
|
||||||
<!--conf x CMS-->
|
|
||||||
<!--<add key="procIotMem" value="false"/>-->
|
|
||||||
<!--conf x ESA-KVARA-->
|
|
||||||
<add key="procIotMem" value="true"/>
|
|
||||||
<!--file configurazione IotMem (ESA KVARA)-->
|
|
||||||
<add key="IOTByteFilePath" value="IOT_ByteList.map"/>
|
|
||||||
<add key="IOTWordFilePath" value="IOT_WordList.map"/>
|
|
||||||
<add key="IOTDWordFilePath" value="IOT_DWordList.map"/>
|
|
||||||
<add key="IOTStringFilePath" value="IOT_StringList.map"/>
|
|
||||||
<!--percorso file scambio dati "lenti" e conf MaintData memory area -->
|
|
||||||
<add key="GeneralStatusFilePath" value="CmsGeneralStatus.mtc"/>
|
|
||||||
<!--gestione trigger eventi da allarmi-->
|
|
||||||
<add key="eStopCode" value="152"/>
|
|
||||||
<!--gestione watchdog CMS-->
|
|
||||||
<add key="sendWatchDog" value="true"/>
|
|
||||||
<add key="ClientSettingsProvider.ServiceUri" value=""/>
|
|
||||||
</appSettings>
|
|
||||||
<system.web>
|
|
||||||
<membership defaultProvider="ClientAuthenticationMembershipProvider">
|
|
||||||
<providers>
|
|
||||||
<add name="ClientAuthenticationMembershipProvider" type="System.Web.ClientServices.Providers.ClientFormsAuthenticationMembershipProvider, System.Web.Extensions, Version=4.0.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35" serviceUri=""/>
|
|
||||||
</providers>
|
|
||||||
</membership>
|
|
||||||
<roleManager defaultProvider="ClientRoleProvider" enabled="true">
|
|
||||||
<providers>
|
|
||||||
<add name="ClientRoleProvider" type="System.Web.ClientServices.Providers.ClientRoleProvider, System.Web.Extensions, Version=4.0.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35" serviceUri="" cacheTimeout="86400"/>
|
|
||||||
</providers>
|
|
||||||
</roleManager>
|
|
||||||
</system.web>
|
|
||||||
<system.serviceModel>
|
|
||||||
<bindings>
|
|
||||||
<basicHttpBinding>
|
|
||||||
<binding name="OPENcontrol"/>
|
|
||||||
</basicHttpBinding>
|
|
||||||
</bindings>
|
|
||||||
<client>
|
|
||||||
<endpoint address="http://192.168.20.2:8080" binding="basicHttpBinding" bindingConfiguration="OPENcontrol" contract="OPENcontrol.OPENcontrolPortType" name="OPENcontrol"/>
|
|
||||||
</client>
|
|
||||||
</system.serviceModel>
|
|
||||||
<runtime>
|
|
||||||
<assemblyBinding xmlns="urn:schemas-microsoft-com:asm.v1">
|
|
||||||
<probing privatePath="lib;libs"/>
|
|
||||||
</assemblyBinding>
|
|
||||||
</runtime>
|
|
||||||
</configuration>
|
|
||||||
@@ -1,421 +0,0 @@
|
|||||||
# Commenti con "#", elenco tipo COD_NUM|GRUPPO|LEVEL|DESCRIZIONE completa
|
|
||||||
000001|PLC|FAULT|[1] MANDRINO 1 NON BLOCCATO
|
|
||||||
000002|PLC|FAULT|[2] MANDRINO 2 NON BLOCCATO
|
|
||||||
000003|PLC|FAULT|[3] MANDRINO SUPPLEMENTARE NON BLOCCATO
|
|
||||||
000004|PLC|FAULT|[4] ZONA DI COLLISIONE CON CAMBIO UTENSILE ESTERNO
|
|
||||||
000005|PLC|FAULT|[5] ZONA DI COLLISIONE CON CAMBIO UTENSILE LINEARE
|
|
||||||
000006|PLC|FAULT|[6] GRUPPO ASSI NON VALIDO
|
|
||||||
000007|PLC|FAULT|[7] INVERTER 1 NON OK
|
|
||||||
000008|PLC|FAULT|[8] INVERTER 2 NON OK
|
|
||||||
000009|PLC|FAULT|[9] INVERTER MANDRINO SUPPLEMENTARE NON OK
|
|
||||||
0000010|PLC|FAULT|[10] SAVE ENERGY ATTIVO
|
|
||||||
0000011|PLC|FAULT|[11] B,[WD] SUPERATO NUMERO PEZZI MASSIMO CARICABILE SU TRANSFER
|
|
||||||
0000012|PLC|FAULT|[12] VERIFICA CONTATTORI NON OK
|
|
||||||
0000013|PLC|FAULT|[13] TIMEOUT COMUNICAZIONE XILOG
|
|
||||||
0000014|PLC|WARNING|[14] INTERVENTO MAGNETOTERMICI
|
|
||||||
0000015|PLC|FAULT|[15] PORTE PROTEZIONE APERTE
|
|
||||||
0000016|PLC|FAULT|[16] TAPPETO CONVOGLIA TRUCIOLI NON IN POSIZIONE
|
|
||||||
0000017|PLC|FAULT|[17] COLLISIONE RILEVATA DAL SIMULATORE
|
|
||||||
0000018|PLC|FAULT|[18] BUMPER MOBILE NON IN POSIZIONE
|
|
||||||
0000019|PLC|FAULT|[19] FORATRICE NON IN POSIZIONE
|
|
||||||
0000020|PLC|WARNING|[20] STOP MACCHINA DA CODICI M SUPPLEMENTARI
|
|
||||||
0000021|PLC|WARNING|[21] M00 ATTIVO: START CICLO
|
|
||||||
0000022|PLC|WARNING|[22] BATTERIA SCARICA ENCODER ASSI YASKAWA
|
|
||||||
0000023|PLC|FAULT|[23] AZIONAMENTI ASSI XYZ... NON OK
|
|
||||||
0000024|PLC|FAULT|[24] AZIONAMENTI ASSI ROTATIVI NON OK
|
|
||||||
0000025|PLC|FAULT|[25] CNC NON OK
|
|
||||||
0000026|PLC|FAULT|[26] PRESSOSTATO ARIA INTERVENUTO
|
|
||||||
0000027|PLC|FAULT|[27] BATTERIA CNC NON CARICA
|
|
||||||
0000028|PLC|FAULT|[28] ERRORE CANOPEN RING 0
|
|
||||||
0000029|PLC|FAULT|[29] ERRORE CANOPEN RING 1
|
|
||||||
0000030|PLC|WARNING|[30] ABILITAZIONE BL/SBL UTENSILE MANDRINO 1
|
|
||||||
0000031|PLC|WARNING|[31] ABILITAZIONE BL/SBL UTENSILE MANDRINO 2
|
|
||||||
0000032|PLC|WARNING|[32] ABILITAZIONE BL/SBL UTENSILE MANDRINO SUPPLEMENTARE
|
|
||||||
0000033|PLC|WARNING|[33] CICLO ETICHETTATURA IN CORSO
|
|
||||||
0000034|PLC|FAULT|[34] ETICHETTATRICE NON PRONTA
|
|
||||||
0000035|PLC|FAULT|[35] ETICHETTATRICE NON IN POSIZIONE
|
|
||||||
0000036|PLC|FAULT|[36] ERRORE ETICHETTATRICE
|
|
||||||
0000037|PLC|FAULT|[37] SONDA TERMICA/VENTOLA MANDRINO 1
|
|
||||||
0000038|PLC|FAULT|[38] SONDA TERMICA/VENTOLA MANDRINO 2
|
|
||||||
0000039|PLC|FAULT|[39] SONDA TERMICA/VENTOLA MANDRINO SUPPLEMENTARE
|
|
||||||
0000040|PLC|FAULT|[40] INTERVENTO MAGNETOTERMICO GRUPPO LAMA
|
|
||||||
0000041|PLC|FAULT|[41] RICARICARE POMPA LUBRIFICAZIONE
|
|
||||||
0000042|PLC|FAULT|[42] LUBRIFICAZIONE ASSI NON OK
|
|
||||||
0000043|PLC|WARNING|[43] LUBRIFICAZIONE ASSI IN CORSO
|
|
||||||
0000044|PLC|WARNING|[44] RICHIESTA VUOTO/ATTREZZATURA
|
|
||||||
0000045|PLC|FAULT|[45] EMERGENZA CAUSA VUOTO ZONA 1
|
|
||||||
0000046|PLC|FAULT|[46] EMERGENZA CAUSA VUOTO ZONA 2
|
|
||||||
0000047|PLC|FAULT|[47] ASSI IN FINE CORSA
|
|
||||||
0000048|PLC|FAULT|[48] CUFFIA ESTERNA NON IN POSIZIONE
|
|
||||||
0000049|PLC|FAULT|[49] CUFFIA INTERNA NON IN POSIZIONE
|
|
||||||
0000050|PLC|FAULT|[50] CUFFIA PULIZIA PIANO NON IN POSIZIONE
|
|
||||||
0000051|PLC|FAULT|[51] EMERGENZA CAUSA VUOTO ZONA 3
|
|
||||||
0000052|PLC|FAULT|[52] EMERGENZA CAUSA VUOTO ZONA 4
|
|
||||||
0000053|PLC|WARNING|[53] ESEGUIRE RIFERIMENTO ASSI
|
|
||||||
0000054|PLC|FAULT|[54] ESEGUIRE RIFERIMENTO MAGAZZINO UTENSILE 1
|
|
||||||
0000055|PLC|FAULT|[55] ESEGUIRE RIFERIMENTO MAGAZZINO UTENSILE 2
|
|
||||||
0000056|PLC|FAULT|[56] ESEGUIRE RIFERIMENTO MAGAZZINO UTENSILE MANDRINO SUPPLEMENTARE
|
|
||||||
0000057|PLC|FAULT|[57] ESEGUIRE RIFERIMENTO MAGAZZINO ESTERNO 1
|
|
||||||
0000058|PLC|FAULT|[58] ESEGUIRE RIFERIMENTO NAVETTA HS
|
|
||||||
0000059|PLC|FAULT|[59] ESEGUIRE RIFERIMENTO PINZE ROBOT CELLA WD
|
|
||||||
0000060|PLC|FAULT|[60] CONVOGLIATORE TRUCIOLI NON OK
|
|
||||||
0000061|PLC|WARNING|[61] SERBATOIO LUBRIFICAZIONE CONVOGLIATORE TRUCIOLI VUOTO
|
|
||||||
0000062|PLC|FAULT|[62] ASSE X IN FINE CORSA
|
|
||||||
0000063|PLC|FAULT|[63] ASSE Y IN FINE CORSA
|
|
||||||
0000064|PLC|FAULT|[64] ASSE Z IN FINE CORSA
|
|
||||||
0000065|PLC|FAULT|[65] PALPATORE SYNCRO NON IN POSIZIONE
|
|
||||||
0000066|PLC|WARNING|[66] ALLINEAMENTO ASSI GANTRY IN CORSO
|
|
||||||
0000067|PLC|FAULT|[67] ASSE B IN FINE CORSA
|
|
||||||
0000068|PLC|FAULT|[68] ASSE C IN FINE CORSA
|
|
||||||
0000069|PLC|FAULT|[69] ASSE Y NON IN POSIZIONE
|
|
||||||
0000070|PLC|FAULT|[70] ESEGUIRE RIFERIMENTO PALPATORE SYNCRO
|
|
||||||
0000071|PLC|FAULT|[71] PERNO BLOCCAGGIO TAVOLO ELEVATORE NON IN POSIZIONE
|
|
||||||
0000072|PLC|FAULT|[72] FOTOCELLULA PRESENZA UTENSILE
|
|
||||||
0000073|PLC|FAULT|[73] MANDRINO 1 NON OK
|
|
||||||
0000074|PLC|FAULT|[74] MANDRINO 2 NON OK
|
|
||||||
0000075|PLC|FAULT|[75] MANDRINO SUPPLEMENTARE NON OK
|
|
||||||
0000076|PLC|FAULT|[76] FOTOCELLULA PRESENZA UTENSILE (CATENA)
|
|
||||||
0000077|PLC|FAULT|[77] ALLARME SENSORE ROTAZIONE MANDRINO 1
|
|
||||||
0000078|PLC|FAULT|[78] ALLARME SENSORE ROTAZIONE MANDRINO 2
|
|
||||||
0000079|PLC|FAULT|[79] ALLARME SENSORE ROTAZIONE MANDRINO SUPPLEMENTARE
|
|
||||||
0000080|PLC|FAULT|[80] CAMBIO UTENSILE TESTA 1(ONBOARD) NON IN POSIZIONE
|
|
||||||
0000081|PLC|FAULT|[81] CAMBIO UTENSILE MANDRINO SUPPLEMENTARE (ONBOARD) NON IN POSIZIONE
|
|
||||||
0000082|PLC|FAULT|[82] CAMBIO UTENSILE LINEARE NON IN POSIZIONE
|
|
||||||
0000083|PLC|FAULT|[83] CAMBIO UTENSILE HS NON IN POSIZIONE
|
|
||||||
0000084|PLC|FAULT|[84] [TM] NAVETTA TOOL MANAGEMENT NON IN POSIZIONE
|
|
||||||
0000085|PLC|FAULT|[85] [TM] LETTORE CHIP TOOL MANAGMENT NON IN POSIZIONE
|
|
||||||
0000086|PLC|FAULT|[86] [TM] LIBERARE PINZA DI CARICO TOOL MANAGMENT
|
|
||||||
0000087|PLC|FAULT|[87] [TM] COLLISIONE CON TOOL MANAGMENT
|
|
||||||
0000088|PLC|FAULT|[88] [TM] CARICARE UTENSILE SULLA PINZA DI CARICO DEL TOOL MANAGMENT
|
|
||||||
0000089|PLC|FAULT|[89] BANDELLA NON IN POSIZIONE
|
|
||||||
0000090|PLC|FAULT|[90] PANNELLO PRELEVATO FUORI ALLINEAMENTO
|
|
||||||
0000091|PLC|FAULT|[91] SCARICATORE NON IN POSIZIONE
|
|
||||||
0000092|PLC|FAULT|[92] SPONDE/BATTUTE DI SCARICO NON IN POSIZIONE
|
|
||||||
0000093|PLC|FAULT|[93] ZONA DI SCARICO OCCUPATA
|
|
||||||
0000094|PLC|FAULT|[94] VERIFICARE DIMENSIONI PILA
|
|
||||||
0000095|PLC|FAULT|[95] CARICARE NUOVA PILA
|
|
||||||
0000096|PLC|FAULT|[96] CARICATORE NON IN POSIZIONE
|
|
||||||
0000097|PLC|FAULT|[97] TAVOLO ELEVATORE NON OK
|
|
||||||
0000098|PLC|FAULT|[98] PANNELLO NON PRELEVATO DA TAVOLO ELEVATORE
|
|
||||||
0000099|PLC|FAULT|[99] FOTOCELLULA RIFERIMENTO PANNELLO NON OK
|
|
||||||
0000100|PLC|FAULT|[100] ALLARME CELLA WD
|
|
||||||
0000101|PLC|FAULT|[101] REFRIGERANTE MANDRINO 1 NON OK
|
|
||||||
0000102|PLC|FAULT|[102] REFRIGERANTE MANDRINO 2 NON OK
|
|
||||||
0000103|PLC|FAULT|[103] INVERTER NASTRO DI SCARICO NON OK
|
|
||||||
0000104|PLC|FAULT|[104] ARRESTO OPERATIVO: RESETTARE LE FOTOCELLULE DI SICUREZZA
|
|
||||||
0000105|PLC|WARNING|[105] C.UTENSILE LINEARE IN CORSO: ABBASSARE GLI INNALZATORI E RESETTARE LE FOTOCELLULE DI SICUREZZA
|
|
||||||
0000106|PLC|FAULT|[106] CARICO PANNELLO NON AMMESSO
|
|
||||||
0000107|PLC|FAULT|[107] BYPASS COLLISIONI ATTIVO
|
|
||||||
0000108|PLC|FAULT|[108] SPORTELLO CAMBIO UTENSILE LINEARE DESTRO NON IN POSIZIONE
|
|
||||||
0000109|PLC|FAULT|[109] VERIFICA FUNZIONAMENTO SICUREZZE
|
|
||||||
0000110|PLC|FAULT|[110] RESETTARE LE FOTOCELLULE DI SICUREZZA
|
|
||||||
0000111|PLC|FAULT|[111] INSERIMENTO UTENSILE NON OK
|
|
||||||
0000112|PLC|FAULT|[112] GUASTO MICRO CONTROLLO PEDANE
|
|
||||||
0000113|PLC|FAULT|[113] INSERIMENTO UTENSILE IN NAVETTA HS NON OK
|
|
||||||
0000114|PLC|WARNING|[114] TABELLA NON AGGIORNATA
|
|
||||||
0000115|PLC|FAULT|[115] MANDRINO 1 NON SBLOCCATO
|
|
||||||
0000116|PLC|FAULT|[116] MANDRINO SUPPLEMENTARE NON SBLOCCATO
|
|
||||||
0000117|PLC|FAULT|[117] CONTROLLARE CICLO CHIUSURA BORDO
|
|
||||||
0000118|PLC|WARNING|[118] PM: SETUP NON POSSIBILE ZONA 3 [Vuoto ON/Teste DW]
|
|
||||||
0000119|PLC|WARNING|[119] PM: SETUP NON POSSIBILE ZONA 4 [Vuoto ON/Teste DW]
|
|
||||||
0000120|PLC|WARNING|[120] UTENSILE SPECIALE: OPERAZIONE NON AMMESSA
|
|
||||||
0000121|PLC|FAULT|[121] ERRORE CICLO CHIUSURA BORDO
|
|
||||||
0000122|PLC|FAULT|[122] MAGAZZINO UTENSILE ESTERNO 1 NON IN POSIZIONE
|
|
||||||
0000123|PLC|FAULT|[123] SPORTELLO MAGAZZINO ESTERNO NON IN POSIZIONE
|
|
||||||
0000124|PLC|WARNING|[124] ERRATA PROGRAMMAZIONE
|
|
||||||
0000125|PLC|WARNING|[125] ERRORE UTENSILE TESTA 1
|
|
||||||
0000126|PLC|WARNING|[126] ERRORE UTENSILE TESTA 2
|
|
||||||
0000127|PLC|FAULT|[127] SPORTELLO CAMBIO UTENSILE LINEARE SINISTRO NON IN POSIZIONE
|
|
||||||
0000128|PLC|FAULT|[128] TIME OUT PIGNA MOBILE
|
|
||||||
0000129|PLC|WARNING|[129] CAMBIO MODALITA' MACCHINA (M103)
|
|
||||||
0000130|PLC|FAULT|[130] PORTE ARMADIO ELETTRICO APERTE
|
|
||||||
0000131|PLC|WARNING|[131] ESEGUIRE MANUTENZIONE CONDIZIONATORE ARMADIO ELETTRICO
|
|
||||||
0000132|PLC|FAULT|[132] AGGREGATO PRESSATORE/CONVOGLIATORE TRUCIOLI NON OK
|
|
||||||
0000133|PLC|FAULT|[133] SERBATOIO LUBROREFRIGERATORE UTENSILE VUOTO
|
|
||||||
0000134|PLC|WARNING|[134] BATTERIA SCARICA TASTATORE RADIO
|
|
||||||
0000135|PLC|FAULT|[135] RILEVATORE SPESSORE PEZZO NON IN POSIZIONE
|
|
||||||
0000136|PLC|FAULT|[136] CICLO TASTATURA NON OK
|
|
||||||
0000137|PLC|FAULT|[137] BATTUTE DI RIFERIMENTO ZONA 1 NON OK
|
|
||||||
0000138|PLC|FAULT|[138] BATTUTE DI RIFERIMENTO ZONA 2 NON OK
|
|
||||||
0000139|PLC|FAULT|[139] ASSI PRISMA BC NON IN POSIZIONE
|
|
||||||
0000140|PLC|FAULT|[140] AZIONAMENTI ASSI PRISMA BC NON OK
|
|
||||||
0000141|PLC|FAULT|[141] TASTATORE RADIO NON OK
|
|
||||||
0000142|PLC|FAULT|[142] AVVICINATORI NON IN POSIZIONE
|
|
||||||
0000143|PLC|FAULT|[143] AVVICINAMENTO PANNELLO NON AVVENUTO
|
|
||||||
0000144|PLC|FAULT|[144] PRESA PANNELLO NON OK
|
|
||||||
0000145|PLC|WARNING|[145] RIAGGANCIO MANDRINO IN CORSO
|
|
||||||
0000146|PLC|WARNING|[146] RIAGGANCIO MANDRINO FALLITO
|
|
||||||
0000147|PLC|WARNING|[147] RIAGGANCIO MANDRINO AVVENUTO
|
|
||||||
0000148|PLC|FAULT|[148] INTERVENTO FUNE DI SICUREZZA
|
|
||||||
0000149|PLC|FAULT|[149] INTERVENTO OVERSPEED ASSI
|
|
||||||
0000150|PLC|FAULT|[150] INTERVENTO BUMPERS
|
|
||||||
0000151|PLC|WARNING|[151] MACCHINA SPENTA
|
|
||||||
0000152|PLC|FAULT|[152] EMERGENZA PREMUTA
|
|
||||||
0000153|PLC|WARNING|[153] PM: SETUP NON POSSIBILE ZONA 1 [VUOTO ON / TESTE DW]
|
|
||||||
0000154|PLC|WARNING|[154] PM: SETUP NON POSSIBILE ZONA 2 [VUOTO ON / TESTE DW]
|
|
||||||
0000155|PLC|WARNING|[155] BARRA MOBILE CENTRALE 1 NON IN POSIZIONE
|
|
||||||
0000156|PLC|WARNING|[156] BARRA MOBILE CENTRALE 2 NON IN POSIZIONE
|
|
||||||
0000157|PLC|WARNING|[157] PM: COLLISIONE BATTUTE CON SUPPORTI VENTOSE / MORSETTI
|
|
||||||
0000158|PLC|WARNING|[158] CUFFIA MANDRINO SUPPLEMENTARE NON IN POSIZIONE
|
|
||||||
0000159|PLC|WARNING|[159] TESTA GRUPPO MANDRINO SUPPLEMENTARE NON IN POSIZIONE
|
|
||||||
0000160|PLC|WARNING|[160] TESTA GRUPPO LAMA NON IN POSIZIONE
|
|
||||||
0000161|PLC|WARNING|[161] CICLO DI CARICO IN CORSO
|
|
||||||
0000162|PLC|WARNING|[162] CICLO DI SCARICO IN CORSO
|
|
||||||
0000163|PLC|WARNING|[163] BATTUTE DI CARICO NON IN POSIZIONE ZONA 1
|
|
||||||
0000164|PLC|WARNING|[164] ATTESA ROBOT IN POSIZIONE
|
|
||||||
0000165|PLC|WARNING|[165] INVERTER GUASTO POMPA VUOTO 1 (MASTER)
|
|
||||||
0000166|PLC|WARNING|[166] INVERTER GUASTO POMPA VUOTO 2 (SLAVE)
|
|
||||||
0000167|PLC|WARNING|[167] BATTUTE DI CARICO NON IN POSIZIONE ZONA 2
|
|
||||||
0000168|PLC|WARNING|[168] SALITA CUFFIA DA OPERATORE
|
|
||||||
0000169|PLC|WARNING|[169] TRAVERSA 1 NON IN POSIZIONE
|
|
||||||
0000170|PLC|WARNING|[170] TRAVERSA 2 NON IN POSIZIONE
|
|
||||||
0000171|PLC|WARNING|[171] TRAVERSA 3 NON IN POSIZIONE
|
|
||||||
0000172|PLC|WARNING|[172] TRAVERSA 4 NON IN POSIZIONE
|
|
||||||
0000173|PLC|WARNING|[173] TRAVERSA 5 NON IN POSIZIONE
|
|
||||||
0000174|PLC|WARNING|[174] TRAVERSA 6 NON IN POSIZIONE
|
|
||||||
0000175|PLC|WARNING|[175] TRAVERSA 7 NON IN POSIZIONE
|
|
||||||
0000176|PLC|WARNING|[176] TRAVERSA 8 NON IN POSIZIONE
|
|
||||||
0000177|PLC|WARNING|[177] TRAVERSA 9 NON IN POSIZIONE
|
|
||||||
0000178|PLC|WARNING|[178] TRAVERSA 10 NON IN POSIZIONE
|
|
||||||
0000179|PLC|WARNING|[179] TRAVERSA 11 NON IN POSIZIONE
|
|
||||||
0000180|PLC|WARNING|[180] TRAVERSA 12 NON IN POSIZIONE
|
|
||||||
0000181|PLC|WARNING|[181] SOSTITUZIONE VENTOSE IN CORSO AREA 1
|
|
||||||
0000182|PLC|WARNING|[182] SOSTITUZIONE VENTOSE IN CORSO AREA 2
|
|
||||||
0000183|PLC|FAULT|[183] BATTUTE DI RIFERIMENTO ZONA 3 NON OK
|
|
||||||
0000184|PLC|FAULT|[184] BATTUTE DI RIFERIMENTO ZONA 4 NON OK
|
|
||||||
0000185|PLC|FAULT|[185] [BRC] GR5: GRUPPO FUSI ORIZZONTALI NON IN POSIZIONE (fori spine)
|
|
||||||
0000186|PLC|FAULT|[186] [BRC] GR6: GRUPPO FRESA VERTICALE NON IN POSIZIONE
|
|
||||||
0000187|PLC|FAULT|[187] [BRC] GR7: GRUPPO FRESA ORIZZONTALE NON IN POSIZIONE
|
|
||||||
0000188|PLC|FAULT|[188] [BRC] GR8: GRUPPO LAMA NON IN POSIZIONE
|
|
||||||
0000189|PLC|FAULT|[189] [BRC] ATTESA INNESTO PER ROTAZIONE GRUPPO LAMA
|
|
||||||
0000190|PLC|FAULT|[190] SELETTORI CONTROSAGOMA NON OK [AREA UNICA]
|
|
||||||
0000191|PLC|FAULT|[191] BATTUTE DI RIFERIMENTO BARRA 1 NON OK
|
|
||||||
0000192|PLC|FAULT|[192] BATTUTE DI RIFERIMENTO BARRA 2 NON OK
|
|
||||||
0000193|PLC|FAULT|[193] BATTUTE DI RIFERIMENTO BARRA 3 NON OK
|
|
||||||
0000194|PLC|FAULT|[194] BATTUTE DI RIFERIMENTO BARRA 4 NON OK
|
|
||||||
0000195|PLC|FAULT|[195] BATTUTE DI RIFERIMENTO BARRA 5 NON OK
|
|
||||||
0000196|PLC|FAULT|[196] BATTUTE DI RIFERIMENTO BARRA 6 NON OK
|
|
||||||
0000197|PLC|FAULT|[197] BATTUTE DI RIFERIMENTO BARRA 7 NON OK
|
|
||||||
0000198|PLC|FAULT|[198] BATTUTE DI RIFERIMENTO BARRA 8 NON OK
|
|
||||||
0000199|PLC|FAULT|[199] BATTUTE DI RIFERIMENTO BARRA 9 NON OK
|
|
||||||
0000200|PLC|FAULT|[200] BATTUTE DI RIFERIMENTO BARRA 10 NON OK
|
|
||||||
0000201|PLC|FAULT|[201] BATTUTE DI RIFERIMENTO BARRA 11 NON OK
|
|
||||||
0000202|PLC|FAULT|[202] BATTUTE DI RIFERIMENTO BARRA 12 NON OK
|
|
||||||
0000203|PLC|FAULT|[203] BATTUTE DI RIFERIMENTO BARRA FISSA SX NON OK
|
|
||||||
0000204|PLC|FAULT|[204] BATTUTE DI RIFERIMENTO BARRA FISSA DX NON OK
|
|
||||||
0000205|PLC|FAULT|[205] BASI NON BLOCCATE ZONA 1
|
|
||||||
0000206|PLC|FAULT|[206] BASI NON BLOCCATE ZONA 2
|
|
||||||
0000207|PLC|FAULT|[207] BASI NON BLOCCATE ZONA 3
|
|
||||||
0000208|PLC|FAULT|[208] BASI NON BLOCCATE ZONA 4
|
|
||||||
0000209|PLC|WARNING|[209] SOSTITUZIONE VENTOSE IN CORSO AREA 3
|
|
||||||
0000210|PLC|WARNING|[210] SOSTITUZIONE VENTOSE IN CORSO AREA 4
|
|
||||||
0000211|PLC|FAULT|[211] [BORDATORE POWER] ATTESA GRUPPO A BORDARE ALTO
|
|
||||||
0000212|PLC|FAULT|[212] [BORDATORE POWER] ATTESA GRUPPO A BORDARE BASSO
|
|
||||||
0000213|PLC|FAULT|[213] [BORDATORE POWER] ATTESA GRUPPO A BORDARE POSIZ. CAMBIO RULLO
|
|
||||||
0000214|PLC|FAULT|[214] [BORDATORE POWER] ATTESA PIANO CARICAMENTO BORDI ALTO
|
|
||||||
0000215|PLC|FAULT|[215] [BORDATORE POWER] ATTESA PIANO CARICAMENTO BORDI BASSO
|
|
||||||
0000216|PLC|FAULT|[216] [BORDATORE POWER] MANCATA LETTURA BORDO GIUNZIONE
|
|
||||||
0000217|PLC|FAULT|[217] [BORDATORE POWER] ERRORE BORDO SU FOTOCELLULA DI CARICO
|
|
||||||
0000218|PLC|FAULT|[218] VASCA COLLA NON IN TEMPERATURA
|
|
||||||
0000219|PLC|FAULT|[219] [BORDATORE POWER] ASSENZA BORDO IN MULTIROTOLO
|
|
||||||
0000220|PLC|FAULT|[220] [BORDATORE POWER] ATTESA CICLO CARICO COLLA DA PREFUSORE
|
|
||||||
0000221|PLC|FAULT|[221] [BORDATORE POWER] MANCATO TAGLIO TRANCIA MAGAZZINO BORDI
|
|
||||||
0000222|PLC|FAULT|[222] [BORDATORE POWER] ATTESA CARICO COLLA DA PREFUSORE
|
|
||||||
0000223|PLC|FAULT|[223] [BORDATORE POWER] ANOMALIA SENSORI CILINDRO TESTA A BORDARE
|
|
||||||
0000224|PLC|FAULT|[224] SENSORE TESTA A BORDARE IN COLLISIONE
|
|
||||||
0000225|PLC|FAULT|[225] [BORDATORE POWER] TIMEOUT INTESTATURA BORDO TESTA A BORDARE
|
|
||||||
0000226|PLC|FAULT|[226] INTERVENTO TERMICI VASCA COLLA
|
|
||||||
0000227|PLC|FAULT|[227] INTERVENTO TERMICI PREFUSORE
|
|
||||||
0000228|PLC|FAULT|[228] INTERVENTO TERMICI LAMPADE ONDE CORTE
|
|
||||||
0000229|PLC|FAULT|[229] ESEGUIRE RIFERIMENTO MOT. ALTEZZA BORDO TESTA B.
|
|
||||||
0000230|PLC|FAULT|[230] ESEGUIRE RIFERIMENTO MOT. ALTEZZA BORDO MAGAZZINO B.
|
|
||||||
0000231|PLC|FAULT|[231] ESEGUIRE RIFERIMENTO MOT. CAMBIO RULLO PRESSIONE
|
|
||||||
0000232|PLC|FAULT|[232] TIMEOUT SENSORE CHIUSURA CILINDRO PREFUSORE
|
|
||||||
0000233|PLC|FAULT|[233] ESEGUIRE TARATURA TRAVERSE/VENTOSE
|
|
||||||
0000234|PLC|FAULT|[234] VENTOSE NON BLOCCATE AREA 1
|
|
||||||
0000235|PLC|FAULT|[235] VENTOSE NON BLOCCATE AREA 2
|
|
||||||
0000236|PLC|WARNING|[236] ATTESA SBLOCCO VENTOSA
|
|
||||||
0000237|PLC|WARNING|[237] ATTESA BLOCCO VENTOSA
|
|
||||||
0000238|PLC|WARNING|[238] RIMUOVERE VENTOSA: START CICLO
|
|
||||||
0000239|PLC|WARNING|[239] INSERIRE VENTOSA: START CICLO
|
|
||||||
0000240|PLC|FAULT|[240] ANOMALIA FOTOCELLULA MAGAZZINO BORDI
|
|
||||||
0000241|PLC|WARNING|[241] BARRA 1
|
|
||||||
0000242|PLC|WARNING|[242] BARRA 2
|
|
||||||
0000243|PLC|WARNING|[243] BARRA 3
|
|
||||||
0000244|PLC|WARNING|[244] BARRA 4
|
|
||||||
0000245|PLC|WARNING|[245] BARRA 5
|
|
||||||
0000246|PLC|WARNING|[246] BARRA 6
|
|
||||||
0000247|PLC|WARNING|[247] BARRA 7
|
|
||||||
0000248|PLC|WARNING|[248] BARRA 8
|
|
||||||
0000249|PLC|WARNING|[249] BARRA 9
|
|
||||||
0000250|PLC|WARNING|[250] BARRA 10
|
|
||||||
0000251|PLC|WARNING|[251] BARRA 11
|
|
||||||
0000252|PLC|WARNING|[252] BARRA 12
|
|
||||||
0000253|PLC|WARNING|[253] RIMUOVERE/INSERIRE VENTOSA COME DA GRAFICA SU AREA 1: START CICLO
|
|
||||||
0000254|PLC|WARNING|[254] RIMUOVERE/INSERIRE VENTOSA COME DA GRAFICA SU AREA 2: START CICLO
|
|
||||||
0000255|PLC|FAULT|[255] PORTE PROTEZIONE SBLOCCATE
|
|
||||||
0000256|PLC|FAULT|[256] ERRORE MODULO ZERO SPEED MANDRINO
|
|
||||||
0000257|PLC|FAULT|[257] INTESTATORE NON IN POSIZIONE
|
|
||||||
0000258|PLC|FAULT|[258] INTESTATORE 92 VUOTO
|
|
||||||
0000259|PLC|FAULT|[259] INTESTATORE 93 VUOTO
|
|
||||||
0000260|PLC|FAULT|[260] LIVELLO COLLA BASSO B.BASIC
|
|
||||||
0000261|PLC|FAULT|[261] [WD]EMERGENZA TRANSFER PREMUTA
|
|
||||||
0000262|PLC|FAULT|[262] [WD]INTERVENTO MAGNETOTERMICI TRANSFER
|
|
||||||
0000263|PLC|FAULT|[263] [WD]PORTE ARMADIO ELETTRICO TRANSFER APERTE
|
|
||||||
0000264|PLC|FAULT|[264] [WD]SVUOTARE TRANSFER
|
|
||||||
0000265|PLC|FAULT|[265] [WD]PEZZO IN ZONA DI SCARICO
|
|
||||||
0000266|PLC|FAULT|[266] [WD]ATTESA ROBOT 1 IN POSIZIONE
|
|
||||||
0000267|PLC|FAULT|[267] [WD]ATTESA ROBOT 2 IN POSIZIONE
|
|
||||||
0000268|PLC|FAULT|[268] [WD]SVUOTARE RULLIERE
|
|
||||||
0000269|PLC|FAULT|[269] [WD]DIMENSIONI PEZZO NON OK
|
|
||||||
0000270|PLC|FAULT|[270] [WD]SVUOTARE PIANO MACCHINA E PINZE ROBOT
|
|
||||||
0000271|PLC|FAULT|[271] [WD]PINZA ROBOT 1 NON IN POSIZIONE
|
|
||||||
0000272|PLC|FAULT|[272] [WD]PINZA ROBOT 2 NON IN POSIZIONE
|
|
||||||
0000273|PLC|FAULT|[273] MORSETTI ZONA 1 ALTI PNEUMATICAMENTE
|
|
||||||
0000274|PLC|FAULT|[274] MORSETTI ZONA 2 ALTI PNEUMATICAMENTE
|
|
||||||
0000275|PLC|FAULT|[275] EMERGENZA CAUSA MORSETTI ZONA 1
|
|
||||||
0000276|PLC|FAULT|[276] EMERGENZA CAUSA MORSETTI ZONA 2
|
|
||||||
0000277|PLC|FAULT|[277] ZONA DI COLLISIONE REFILATORE / RAS
|
|
||||||
0000278|PLC|FAULT|[278] PERICOLO SPORTELLO PANTOGRAFO APERTO
|
|
||||||
0000279|PLC|FAULT|[279] ZONA DI COLLISIONE BORDATORE
|
|
||||||
0000280|PLC|FAULT|[280] POSIZIONE DEL SELETTORE DELLA PULSANTIERA NON OK
|
|
||||||
0000281|PLC|FAULT|[281] PREMERE PULSANTE UOMO-MORTO
|
|
||||||
0000282|PLC|FAULT|[282] METTERE LA MACCHINA IN EMERGENZA
|
|
||||||
0000283|PLC|FAULT|[283] EMERGENZA TAPPETO ZONA 1
|
|
||||||
0000284|PLC|FAULT|[284] EMERGENZA TAPPETO ZONA 2
|
|
||||||
0000285|PLC|FAULT|[285] ZONA DI COLLISIONE MAGAZZINO RULLI PRESSIONE
|
|
||||||
0000286|PLC|FAULT|[286] TAPPETO AREA 1 IMPEGNATO
|
|
||||||
0000287|PLC|FAULT|[287] TAPPETO CENTRALE IMPEGNATO
|
|
||||||
0000288|PLC|FAULT|[288] TAPPETO AREA 2 IMPEGNATO
|
|
||||||
0000289|PLC|FAULT|[289] NUMERO RULLO PRESSORE ERRATO
|
|
||||||
0000290|PLC|FAULT|[290] CHECK VASCA COLLA
|
|
||||||
0000291|PLC|FAULT|[291] TIMEOUT GRUPPO VENTOSE NON ESCLUSO
|
|
||||||
0000292|PLC|FAULT|[292] TIMEOUT GRUPPO VENTOSE NON INSERITO
|
|
||||||
0000293|PLC|FAULT|[293] ASSE C BORDATORE IN QUOTA COLLISIONE CON G.VENTOSE
|
|
||||||
0000294|PLC|FAULT|[294] CICLO INSERIMENTO SPINA GRUPPO 92 NON OK(MUOVERE IN JOG+ L'ASSE X)
|
|
||||||
0000295|PLC|FAULT|[295] CICLO INSERIMENTO SPINA GRUPPO 93 NON OK(MUOVERE IN JOG- L'ASSE X)
|
|
||||||
0000296|PLC|FAULT|[296] RULLI NON IN POSIZIONE
|
|
||||||
0000297|PLC|FAULT|[297] ASSE X FUORI LIMITE PER RULLI
|
|
||||||
0000298|PLC|FAULT|[298] COLLISIONE RULLI CON GRUPPO TESTE
|
|
||||||
0000299|PLC|FAULT|[299] LASCIARE LIBERO
|
|
||||||
0000300|PLC|FAULT|[300] PERICOLO COLLISIONE BORDATORE PIANO MULTIFUNZIONE
|
|
||||||
0000301|PLC|FAULT|[301] MODALITÀ CELLA NON ATTIVA
|
|
||||||
0000302|PLC|FAULT|[302] ZONA DI COLLISIONE BORDATORE IN Y
|
|
||||||
0000303|PLC|FAULT|[303] ERRORE SEQUENZA CAMBIO RULLO PRESSORE
|
|
||||||
0000304|PLC|FAULT|[304]
|
|
||||||
0000305|PLC|FAULT|[305]
|
|
||||||
0000306|PLC|FAULT|[306]
|
|
||||||
0000307|PLC|FAULT|[307]
|
|
||||||
0000308|PLC|FAULT|[308]
|
|
||||||
0000309|PLC|FAULT|[309]
|
|
||||||
0000310|PLC|FAULT|[310]
|
|
||||||
0000311|PLC|FAULT|[311]
|
|
||||||
0000312|PLC|FAULT|[312]
|
|
||||||
0000313|PLC|FAULT|[313] PRESSORE 1 TESTA 1 NON IN POSIZIONE
|
|
||||||
0000314|PLC|FAULT|[314] PRESSORE 2 TESTA 1 NON IN POSIZIONE
|
|
||||||
0000315|PLC|FAULT|[315] PRESSORE 3 TESTA 1 NON IN POSIZIONE
|
|
||||||
0000316|PLC|FAULT|[316] PRESSORE 4 TESTA 1 NON IN POSIZIONE
|
|
||||||
0000317|PLC|FAULT|[317] PRESSORE 1 TESTA 2 NON IN POSIZIONE
|
|
||||||
0000318|PLC|FAULT|[318] PRESSORE 2 TESTA 2 NON IN POSIZIONE
|
|
||||||
0000319|PLC|FAULT|[319] PRESSORE 3 TESTA 2 NON IN POSIZIONE
|
|
||||||
0000320|PLC|FAULT|[320] PRESSORE 4 TESTA 2 NON IN POSIZIONE
|
|
||||||
0000321|PLC|FAULT|[321] ATTESA FINE CAMBIO UTENSILE
|
|
||||||
0000322|PLC|FAULT|[322]
|
|
||||||
0000323|PLC|FAULT|[323] PERICOLO COLLISIONE ASSI X-U
|
|
||||||
0000324|PLC|FAULT|[324] PERICOLO COLLISIONE ASSI Y-V
|
|
||||||
0000325|PLC|FAULT|[325] ZERO FEED RATE
|
|
||||||
0000326|PLC|FAULT|[326] PIGNA MOBILE ATTIVA - PADDLE DISABILITATO
|
|
||||||
0000327|PLC|FAULT|[327] APERTURA PINZE BLOCCATO DA ASSI Z-W BASSI
|
|
||||||
0000328|PLC|FAULT|[328] ATTENZIONE! PERICOLO COLLISIONE
|
|
||||||
0000329|PLC|FAULT|[329] CUFFIA LAMA NON IN POSIZIONE
|
|
||||||
0000330|PLC|FAULT|[330] BATTUTA RIFERIMENTO NON ESCLUSA
|
|
||||||
0000331|PLC|FAULT|[331] SCARICO PANNELLO: CONFERMARE CON START CICLO
|
|
||||||
0000332|PLC|FAULT|[332] VELOCITA' RIDOTTA A 25MT/MIN
|
|
||||||
0000333|PLC|FAULT|[333] DISCESA PRESSORE BLOCCATA DA ASSI Z-W BASSI
|
|
||||||
0000334|PLC|FAULT|[334] DISCESA MANDRINO BLOCCATA DA ASSI Z-W BASSI
|
|
||||||
0000335|PLC|FAULT|[335] DISCESA FUSO/LAMA BLOCCATA DA ASSI Z-W BASSI
|
|
||||||
0000336|PLC|FAULT|[336] DISCESA BATTUTA RIFERIMENTO BLOCCATA DA ASSI Z-W BASSI
|
|
||||||
0000337|PLC|FAULT|[337] MOVIMENTO ASSI X BLOCCATO DA PINZA APERTA E TESTE BASSE
|
|
||||||
0000338|PLC|FAULT|[338] MOVIMENTO ASSI U BLOCCATO DA PINZA APERTA E TESTE BASSE
|
|
||||||
0000339|PLC|FAULT|[339] MOVIMENTO ASSI YZ BLOCCATO DA PINZE APERTE
|
|
||||||
0000340|PLC|FAULT|[340] MOVIMENTO ASSI VW BLOCCATO DA PINZE APERTE
|
|
||||||
0000341|PLC|FAULT|[341]
|
|
||||||
0000342|PLC|FAULT|[342]
|
|
||||||
0000343|PLC|FAULT|[343]
|
|
||||||
0000344|PLC|FAULT|[344]
|
|
||||||
0000345|PLC|FAULT|[345]
|
|
||||||
0000346|PLC|FAULT|[346]
|
|
||||||
0000347|PLC|FAULT|[347]
|
|
||||||
0000348|PLC|FAULT|[348]
|
|
||||||
0000349|PLC|FAULT|[349]
|
|
||||||
0000350|PLC|FAULT|[350]
|
|
||||||
0000351|PLC|FAULT|[351]
|
|
||||||
0000352|PLC|FAULT|[352]
|
|
||||||
0000353|PLC|FAULT|[353]
|
|
||||||
0000354|PLC|FAULT|[354]
|
|
||||||
0000355|PLC|FAULT|[355]
|
|
||||||
0000356|PLC|FAULT|[356]
|
|
||||||
0000357|PLC|FAULT|[357]
|
|
||||||
0000358|PLC|FAULT|[358]
|
|
||||||
0000359|PLC|FAULT|[359]
|
|
||||||
0000360|PLC|FAULT|[360]
|
|
||||||
0000361|PLC|FAULT|[361]
|
|
||||||
0000362|PLC|FAULT|[362]
|
|
||||||
0000363|PLC|FAULT|[363]
|
|
||||||
0000364|PLC|FAULT|[364]
|
|
||||||
0000365|PLC|FAULT|[365]
|
|
||||||
0000366|PLC|FAULT|[366]
|
|
||||||
0000367|PLC|FAULT|[367]
|
|
||||||
0000368|PLC|FAULT|[368]
|
|
||||||
0000369|PLC|FAULT|[369]
|
|
||||||
0000370|PLC|FAULT|[370]
|
|
||||||
0000371|PLC|FAULT|[371]
|
|
||||||
0000372|PLC|FAULT|[372]
|
|
||||||
0000373|PLC|FAULT|[373]
|
|
||||||
0000374|PLC|FAULT|[374]
|
|
||||||
0000375|PLC|FAULT|[375]
|
|
||||||
0000376|PLC|FAULT|[376]
|
|
||||||
0000377|PLC|FAULT|[377]
|
|
||||||
0000378|PLC|FAULT|[378]
|
|
||||||
0000379|PLC|FAULT|[379]
|
|
||||||
0000380|PLC|FAULT|[380]
|
|
||||||
0000381|PLC|FAULT|[381]
|
|
||||||
0000382|PLC|FAULT|[382]
|
|
||||||
0000383|PLC|FAULT|[383]
|
|
||||||
0000384|PLC|FAULT|[384]
|
|
||||||
0000385|PLC|FAULT|[385]
|
|
||||||
0000386|PLC|FAULT|[386]
|
|
||||||
0000387|PLC|FAULT|[387]
|
|
||||||
0000388|PLC|FAULT|[388]
|
|
||||||
0000389|PLC|FAULT|[389]
|
|
||||||
0000390|PLC|FAULT|[390]
|
|
||||||
0000391|PLC|FAULT|[391]
|
|
||||||
0000392|PLC|FAULT|[392]
|
|
||||||
0000393|PLC|FAULT|[393]
|
|
||||||
0000394|PLC|FAULT|[394]
|
|
||||||
0000395|PLC|FAULT|[395]
|
|
||||||
0000396|PLC|FAULT|[396]
|
|
||||||
0000397|PLC|FAULT|[397]
|
|
||||||
0000398|PLC|FAULT|[398]
|
|
||||||
0000399|PLC|FAULT|[399]
|
|
||||||
0000400|PLC|FAULT|[400]
|
|
||||||
0000401|PLC|FAULT|[401]
|
|
||||||
0000402|PLC|FAULT|[402]
|
|
||||||
0000403|PLC|FAULT|[403]
|
|
||||||
0000404|PLC|FAULT|[404]
|
|
||||||
0000405|PLC|FAULT|[405]
|
|
||||||
0000406|PLC|FAULT|[406]
|
|
||||||
0000407|PLC|FAULT|[407]
|
|
||||||
0000408|PLC|FAULT|[408]
|
|
||||||
0000409|PLC|FAULT|[409]
|
|
||||||
0000410|PLC|FAULT|[410]
|
|
||||||
0000411|PLC|FAULT|[411]
|
|
||||||
0000412|PLC|FAULT|[412]
|
|
||||||
0000413|PLC|FAULT|[413]
|
|
||||||
0000414|PLC|FAULT|[414]
|
|
||||||
0000415|PLC|FAULT|[415]
|
|
||||||
0000416|PLC|FAULT|[416]
|
|
||||||
0000417|PLC|FAULT|[417]
|
|
||||||
0000418|PLC|FAULT|[418]
|
|
||||||
0000419|PLC|FAULT|[419]
|
|
||||||
0000420|PLC|FAULT|[420]
|
|
||||||
@@ -1,654 +0,0 @@
|
|||||||
# Commenti con "#", elenco tipo COD_NUM|GRUPPO|LEVEL|DESCRIZIONE completa
|
|
||||||
000001|CNC|FAULT|[1] Atteso carattere [
|
|
||||||
000002|CNC|FAULT|[2] Numero Registro Errato
|
|
||||||
000003|CNC|FAULT|[3] Funzione non valida
|
|
||||||
000004|CNC|FAULT|[4] Parametrica: carattere non valido
|
|
||||||
000005|CNC|FAULT|[5] IF: Atteso carattere =
|
|
||||||
000006|CNC|FAULT|[6] JSR: Livello Annidamento Subroutine Errato
|
|
||||||
000007|CNC|FAULT|[7] RET: Annidamento Subroutine Errato
|
|
||||||
000008|CNC|FAULT|[8] Funzione non disponibile
|
|
||||||
000009|CNC|FAULT|[9] Troppe funzioni M consecutive
|
|
||||||
000010|CNC|FAULT|[10] Raggio senza G2/G3
|
|
||||||
000011|CNC|FAULT|[11] Raggio Inconsistente
|
|
||||||
000012|CNC|FAULT|[12] Errore inizializzazione canale
|
|
||||||
000013|CNC|FAULT|[13] Canale in stallo (deadlock)
|
|
||||||
000014|CNC|FAULT|[14] Ciclo Fisso non esistente
|
|
||||||
000015|CNC|FAULT|[15] Troppi livelli di parentesi (
|
|
||||||
000016|CNC|FAULT|[16] Assegnamento: atteso carattere =
|
|
||||||
000017|CNC|FAULT|[17] Atteso carattere CR
|
|
||||||
000018|CNC|FAULT|[18] Modo operativo cambiato
|
|
||||||
000019|CNC|FAULT|[19] JMP: Numero Blocco non trovato
|
|
||||||
000020|CNC|FAULT|[20] Programma non trovato
|
|
||||||
000021|CNC|FAULT|[21] Errore da procedura esterna
|
|
||||||
000022|CNC|FAULT|[22] Quota Fuori Limite
|
|
||||||
000023|CNC|FAULT|[23] Asse non configurato
|
|
||||||
000024|CNC|FAULT|[24] Mandrino non configurato
|
|
||||||
000025|CNC|FAULT|[25] Piano Selezionato Errato
|
|
||||||
000026|CNC|FAULT|[26] Asse non Disponibile
|
|
||||||
000027|CNC|FAULT|[27] Passo Maschiatura Nullo
|
|
||||||
000028|CNC|FAULT|[28] Asse in Allarme
|
|
||||||
000029|CNC|FAULT|[29] Feed Nulla
|
|
||||||
000030|CNC|FAULT|[30] Raggio Utensile Nullo
|
|
||||||
000031|CNC|FAULT|[31] Simbolo % non trovato
|
|
||||||
000032|CNC|FAULT|[32] Cambio Piano o Lato con CUT Attiva
|
|
||||||
000033|CNC|FAULT|[33] Mandrino senza Encoder
|
|
||||||
000034|CNC|FAULT|[34] Indirizzo senza numero
|
|
||||||
000035|CNC|FAULT|[35] SQRT: Argomento negativo
|
|
||||||
000036|CNC|FAULT|[36] TAN: Valore Infinito
|
|
||||||
000037|CNC|FAULT|[37] ASIN, ACOS: Argomento fuori range
|
|
||||||
000038|CNC|FAULT|[38] Divisione per zero
|
|
||||||
000039|CNC|FAULT|[39] Indirizzo non usato
|
|
||||||
000040|CNC|FAULT|[40] Numero senza indirizzo
|
|
||||||
000041|CNC|FAULT|[41] Parametro su indirizzo G
|
|
||||||
000042|CNC|FAULT|[42] Programma senza M2-M30
|
|
||||||
000043|CNC|FAULT|[43] Interpolazione con assi incompatibili
|
|
||||||
000044|CNC|FAULT|[44] Velocità mandrino troppo elevata
|
|
||||||
000045|CNC|FAULT|[45] Vel Asse Z > Vel Max Canale
|
|
||||||
000046|CNC|FAULT|[46] Correzione Tornio G18
|
|
||||||
000047|CNC|FAULT|[47] Tipo Geometria Utensile non gestita
|
|
||||||
000048|CNC|FAULT|[48] Coda Trasmissione Esaurita
|
|
||||||
000049|CNC|FAULT|[49] Coda Pacchetti Liberi Esaurita
|
|
||||||
000050|CNC|FAULT|[50] Raggio profilo minore Raggio Utensile
|
|
||||||
000051|CNC|FAULT|[51] Punto Finale Arco inconsistente
|
|
||||||
000052|CNC|FAULT|[52] Il Percorso non puo' essere seguito
|
|
||||||
000053|CNC|FAULT|[53] Segmento nullo
|
|
||||||
000054|CNC|FAULT|[54] Angolo nullo
|
|
||||||
000055|CNC|FAULT|[55] Operazione Illegale
|
|
||||||
000056|CNC|FAULT|[56] Intersezione tra segmenti o archi
|
|
||||||
000057|CNC|FAULT|[57] Attacco Profilo non permesso: usare G0
|
|
||||||
000058|CNC|FAULT|[58] Sovrataglio su Segmento Lineare
|
|
||||||
000059|CNC|FAULT|[59] Sovrataglio su Arco di Circonferenza
|
|
||||||
000060|CNC|FAULT|[60] Atteso carattere ]
|
|
||||||
000061|CNC|FAULT|[61] Valore troppo elevato
|
|
||||||
000062|CNC|FAULT|[62] Errore accesso file
|
|
||||||
000063|CNC|FAULT|[63] Descrittore Utensile Errato
|
|
||||||
000064|CNC|FAULT|[64] Troppi parametri
|
|
||||||
000065|CNC|FAULT|[65] Troppi caratteri nei campi stringa
|
|
||||||
000066|CNC|FAULT|[66] Atteso oggetto dopo ^
|
|
||||||
000067|CNC|FAULT|[67] Assegnazione a registro inesistente
|
|
||||||
000068|CNC|FAULT|[68] Argomento inesistente
|
|
||||||
000069|CNC|FAULT|[69] Codice SPC non riconosciuto
|
|
||||||
000070|CNC|FAULT|[70] Violazione semantica blocco APND
|
|
||||||
000071|CNC|FAULT|[71] Per spiegazioni vedere il Manuale
|
|
||||||
000072|CNC|FAULT|[72] CFC: Subroutine non trovata
|
|
||||||
000073|CNC|FAULT|[73] CFC: Parametri errati
|
|
||||||
000074|CNC|FAULT|[74] CFC: Errore di gestione risorse
|
|
||||||
000075|CNC|FAULT|[75] CFC: Nessuna risorsa
|
|
||||||
000076|CNC|FAULT|[76] CFC: Errore di chiusura
|
|
||||||
000077|CNC|FAULT|[77] CFC: Non specificato
|
|
||||||
000078|CNC|FAULT|[78] CFC: <DEBUG 1>
|
|
||||||
000079|CNC|FAULT|[79] CFC: (Per spiegazioni vedere il Manuale)
|
|
||||||
000080|CNC|FAULT|[80] CFC: Task eseguito correttamente
|
|
||||||
000081|CNC|FAULT|[81] CVB: Codice operativo sconosciuto
|
|
||||||
000082|CNC|FAULT|[82] CVB: Errore di gestione risorse
|
|
||||||
000083|CNC|FAULT|[83] CVB: Nessuna risorsa
|
|
||||||
000084|CNC|FAULT|[84] CVB: Errore di chiusura
|
|
||||||
000085|CNC|FAULT|[85] CVB: Pipe interrotta
|
|
||||||
000086|CNC|FAULT|[86] CVB: Ripristinato da stallo/Fine file inattesa
|
|
||||||
000087|CNC|FAULT|[87] CVB: Non specificato
|
|
||||||
000088|CNC|FAULT|[88] CVB: <DEBUG 1>
|
|
||||||
000089|CNC|FAULT|[89] CVB: (Per le spiegazioni vedere il Manuale)
|
|
||||||
000090|CNC|FAULT|[90] CVB: Task eseguito correttamente
|
|
||||||
000093|CNC|FAULT|[93] APIO: Nessuna risorsa
|
|
||||||
000094|CNC|FAULT|[94] APIO: Errore di chiusura
|
|
||||||
000095|CNC|FAULT|[95] APIO: Non specificato
|
|
||||||
000096|CNC|FAULT|[96] APIO: <DEBUG 1>
|
|
||||||
000097|CNC|FAULT|[97] APIO: (Per spiegazioni vedere il Manuale)
|
|
||||||
000098|CNC|FAULT|[98] APIO: Task eseguito correttamente
|
|
||||||
000099|CNC|FAULT|[99] XCL: Codice operativo sconosciuto
|
|
||||||
000100|CNC|FAULT|[100] XCL: Errore di gestione risorse
|
|
||||||
000101|CNC|FAULT|[101] XCL: Nessuna risorsa
|
|
||||||
000102|CNC|FAULT|[102] XCL: Errore di chiusura
|
|
||||||
000103|CNC|FAULT|[103] XCL: Pipe interrotta
|
|
||||||
000104|CNC|FAULT|[104] XCL: Ripristinato da stallo/Fine file inattesa
|
|
||||||
000105|CNC|FAULT|[105] XCL: Non specificato
|
|
||||||
000106|CNC|FAULT|[106] XCL: <DEBUG 1>
|
|
||||||
000107|CNC|FAULT|[107] XCL: (Per le spiegazioni vedere il Manuale)
|
|
||||||
000108|CNC|FAULT|[108] XCL: Compito eseguito correttamente
|
|
||||||
000109|CNC|FAULT|[109] XAM: Codice operativo sconosciuto
|
|
||||||
000110|CNC|FAULT|[110] XAM: Errore di gestione risorse
|
|
||||||
000111|CNC|FAULT|[111] XAM: Nessuna risorsa
|
|
||||||
000112|CNC|FAULT|[112] XAM: Errore di chiusura
|
|
||||||
000113|CNC|FAULT|[113] XAM: Pipe interrotta
|
|
||||||
000114|CNC|FAULT|[114] XAM: Ripristinato da stallo/Fine file inattesa
|
|
||||||
000115|CNC|FAULT|[115] XAM: Non specificato
|
|
||||||
000116|CNC|FAULT|[116] XAM: <DEBUG 1>
|
|
||||||
000117|CNC|FAULT|[117] XAM: (Per le spiegazioni vedere il Manuale)
|
|
||||||
000118|CNC|FAULT|[118] XAM: Task eseguito correttamente
|
|
||||||
000119|CNC|FAULT|[119] RETR: Codice operativo sconosciuto
|
|
||||||
000120|CNC|FAULT|[120] RETR: Errore di gestione risorse
|
|
||||||
000121|CNC|FAULT|[121] RETR: Nessuna risorsa
|
|
||||||
000122|CNC|FAULT|[122] RETR: Errore di chiusura
|
|
||||||
000123|CNC|FAULT|[123] RETR: Pipe interrotta
|
|
||||||
000124|CNC|FAULT|[124] RETR: Ripristinato da stallo/Fine file inattesa
|
|
||||||
000125|CNC|FAULT|[125] RETR: Non specificato
|
|
||||||
000126|CNC|FAULT|[126] RETR: <DEBUG 1>
|
|
||||||
000127|CNC|FAULT|[127] RETR: (Per le spiegazioni vedere il Manuale)
|
|
||||||
000128|CNC|FAULT|[128] RETR: Task eseguito correttamente
|
|
||||||
000129|CNC|FAULT|[129] PG2: Codice operativo sconosciuto
|
|
||||||
000130|CNC|FAULT|[130] PG2: Errore di gestione risorse
|
|
||||||
000131|CNC|FAULT|[131] PG2: Nessuna risorsa
|
|
||||||
000132|CNC|FAULT|[132] PG2: Errore di chiusura
|
|
||||||
000133|CNC|FAULT|[133] PG2: Pipe interrotta
|
|
||||||
000134|CNC|FAULT|[134] PG2: Ripristinato da stallo/Fine file inattesa
|
|
||||||
000135|CNC|FAULT|[135] PG2: Non specificato
|
|
||||||
000136|CNC|FAULT|[136] PG2: <DEBUG 1>
|
|
||||||
000137|CNC|FAULT|[137] PG2: (Per le spiegazioni vedere il Manuale)
|
|
||||||
000138|CNC|FAULT|[138] PG2: Task eseguito correttamente
|
|
||||||
000139|CNC|FAULT|[139] WARP: Codice operativo sconosciuto
|
|
||||||
000140|CNC|FAULT|[140] WARP: Errore di gestione risorse
|
|
||||||
000141|CNC|FAULT|[141] WARP: Nessuna risorsa
|
|
||||||
000142|CNC|FAULT|[142] WARP: Errore di chiusura
|
|
||||||
000143|CNC|FAULT|[143] WARP: Pipe interrotta
|
|
||||||
000144|CNC|FAULT|[144] WARP: Ripristinato da stallo/Fine file inattesa
|
|
||||||
000145|CNC|FAULT|[145] WARP: Non specificato
|
|
||||||
000146|CNC|FAULT|[146] WARP: <DEBUG 1>
|
|
||||||
000147|CNC|FAULT|[147] WARP: (Per le spiegazioni vedere il Manuale)
|
|
||||||
000148|CNC|FAULT|[148] WARP: Task eseguito correttamente
|
|
||||||
000149|CNC|FAULT|[149] PAG: Codice operativo sconosciuto
|
|
||||||
000150|CNC|FAULT|[150] PAG: Errore di gestione risorse
|
|
||||||
000151|CNC|FAULT|[151] PAG: Nessuna risorsa
|
|
||||||
000152|CNC|FAULT|[152] PAG: Errore di chiusura
|
|
||||||
000153|CNC|FAULT|[153] PAG: Pipe interrotta
|
|
||||||
000154|CNC|FAULT|[154] PAG: Ripristinato da stallo/Fine file inattesa
|
|
||||||
000155|CNC|FAULT|[155] PAG: Non specificato
|
|
||||||
000156|CNC|FAULT|[156] PAG: <DEBUG 1>
|
|
||||||
000157|CNC|FAULT|[157] PAG: (Per le spiegazioni vedere il Manuale)
|
|
||||||
000158|CNC|FAULT|[158] PAG: Task eseguito correttamente
|
|
||||||
000159|CNC|FAULT|[159] Codice di errore sconosciuto
|
|
||||||
000160|CNC|FAULT|[160] Asse X Quota Fuori Limite
|
|
||||||
000161|CNC|FAULT|[161] Asse Y Quota Fuori Limite
|
|
||||||
000162|CNC|FAULT|[162] Asse Z Quota Fuori Limite
|
|
||||||
000163|CNC|FAULT|[163] Asse U Quota Fuori Limite
|
|
||||||
000164|CNC|FAULT|[164] Asse V Quota Fuori Limite
|
|
||||||
000165|CNC|FAULT|[165] Asse W Quota Fuori Limite
|
|
||||||
000166|CNC|FAULT|[166] Asse A Quota Fuori Limite
|
|
||||||
000167|CNC|FAULT|[167] Asse B Quota Fuori Limite
|
|
||||||
000168|CNC|FAULT|[168] Asse C Quota Fuori Limite
|
|
||||||
000170|CNC|FAULT|[170] Errore definizione variabile record [simbolo]
|
|
||||||
000171|CNC|FAULT|[171] Errore assegnazione variabile record [simbolo]
|
|
||||||
000172|CNC|FAULT|[172] Errore definizione variabile record [var defcn]
|
|
||||||
000173|CNC|FAULT|[173] Errore assegnazione variabile record [var defcn]
|
|
||||||
000174|CNC|FAULT|[174] Errore definizione variabile record [INPUT]
|
|
||||||
000175|CNC|FAULT|[175] Impossibile assegnare registro di input
|
|
||||||
000176|CNC|FAULT|[176] Errore definizione variabile record [OUT]
|
|
||||||
000177|CNC|FAULT|[177] Errore assegnazione variabile record [OUT]
|
|
||||||
000178|CNC|FAULT|[178] Errore definizione variabile record [registro logico]
|
|
||||||
000179|CNC|FAULT|[179] Errore definizione variabile record [variabile automatica]
|
|
||||||
000180|CNC|FAULT|[180] Atteso valore da assegnare a variabile record
|
|
||||||
000181|CNC|FAULT|[181] Array oltre il massimo consentito
|
|
||||||
000182|CNC|FAULT|[182] Simbolo giá definito
|
|
||||||
000183|CNC|FAULT|[183] Impossibile inizializzare gli Array
|
|
||||||
000184|CNC|FAULT|[184] Errore inizializzazione variabile
|
|
||||||
000185|CNC|FAULT|[185] Errore sintattico definizione parametrica
|
|
||||||
000186|CNC|FAULT|[186] Tipo di dato incompatibile
|
|
||||||
000187|CNC|FAULT|[187] Impossibile definire altri simboli
|
|
||||||
000188|CNC|FAULT|[188] Simbolo non definito
|
|
||||||
000189|CNC|FAULT|[189] Errore assegnamento stringa
|
|
||||||
000190|CNC|FAULT|[190] Errore assegnamento numerico
|
|
||||||
000191|CNC|FAULT|[191] Simbolo inesistente
|
|
||||||
000192|CNC|FAULT|[192] Errore definizione variabile record [registro logico]
|
|
||||||
000193|CNC|FAULT|[193] Atteso simbolo parametrica
|
|
||||||
000194|CNC|FAULT|[194] Errore accesso registro in defcn
|
|
||||||
000195|CNC|FAULT|[195] Superato numero massimo di variabili simboliche
|
|
||||||
000197|CNC|FAULT|[197] Out of memory/Memory not awarded
|
|
||||||
000199|CNC|FAULT|[199] Errore di inizializzazione
|
|
||||||
000200|CNC|FAULT|[200] <DEBUG: TCO: Codice operativo sconosciuto>
|
|
||||||
000201|CNC|FAULT|[201] <DEBUG: TCO: Errore di gestione risorse>
|
|
||||||
000202|CNC|FAULT|[202] <DEBUG: TCO: Nessuna risorsa>
|
|
||||||
000203|CNC|FAULT|[203] <DEBUG: TCO: Errore di chiusura>
|
|
||||||
000204|CNC|FAULT|[204] <DEBUG: TCO: Pipe interrotta>
|
|
||||||
000205|CNC|FAULT|[205] <DEBUG: TCO: Ripristinato da stallo/Fine file inattesa>
|
|
||||||
000206|CNC|FAULT|[206] <DEBUG: TCO: Non specificato>
|
|
||||||
000207|CNC|FAULT|[207] <DEBUG: TCO: <DEBUG 1>>
|
|
||||||
000208|CNC|FAULT|[208] <DEBUG: TCO: (Per le spiegazioni vedere il Manuale)>
|
|
||||||
000209|CNC|FAULT|[209] <DEBUG: TCO: Task eseguito correttamente>
|
|
||||||
000210|CNC|FAULT|[210] XCL: Violazione Semantica Blocco APND
|
|
||||||
000211|CNC|FAULT|[211] XAM: Violazione Semantica Blocco APND
|
|
||||||
000212|CNC|FAULT|[212] <DEBUG: PMI: Codice operativo non valido>
|
|
||||||
000213|CNC|FAULT|[213] <DEBUG: PMI: Paratetri vettore di I/O errati>
|
|
||||||
000214|CNC|FAULT|[214] <DEBUG: PMI: Ricevuto segnale di terminazione>
|
|
||||||
000215|CNC|FAULT|[215] <DEBUG: PMI: Errore di inizializzazione>
|
|
||||||
000216|CNC|FAULT|[216] <DEBUG: PMI: Errore di chiusura>
|
|
||||||
000217|CNC|FAULT|[217] <DEBUG: PMI: Non specificato>
|
|
||||||
000218|CNC|FAULT|[218] <DEBUG: PMI: (Per le spiegazioni vedere il Manuale)>
|
|
||||||
000219|CNC|FAULT|[219] <DEBUG: PMI: Task eseguito correttamente>
|
|
||||||
000220|CNC|FAULT|[220] Dati Tagliente non trovati
|
|
||||||
000221|CNC|FAULT|[221] Cinematica non supportata
|
|
||||||
000222|CNC|FAULT|[222] Errato orientamento entità TWI
|
|
||||||
000223|CNC|FAULT|[223] Orientamento utensile non definito
|
|
||||||
000224|CNC|FAULT|[224] TCP non trovato
|
|
||||||
000225|CNC|FAULT|[225] Trasformazione THD non supportata
|
|
||||||
000226|CNC|FAULT|[226] Impossibile selezionare tagliente, IJK assenti
|
|
||||||
000227|CNC|FAULT|[227] Violazione tagliente
|
|
||||||
000228|CNC|FAULT|[228] XCL: Vedi manuale
|
|
||||||
000229|CNC|FAULT|[229] Orientamento utensile impossibile
|
|
||||||
000230|CNC|FAULT|[230] Driver assi polari non supportato
|
|
||||||
000231|CNC|FAULT|[231] Beccheggio incoerente
|
|
||||||
000232|CNC|FAULT|[232] Imbardata incoerente
|
|
||||||
000233|CNC|FAULT|[233] Modalità ICDSID non supportata
|
|
||||||
000234|CNC|FAULT|[234] Relazione ambigua tra tagliente e lavorazione
|
|
||||||
000235|CNC|FAULT|[235] Richiesto blocco di movimento dopo G00
|
|
||||||
000236|CNC|FAULT|[236] Troppi blocchi non di movimento
|
|
||||||
000237|CNC|FAULT|[237] Sequenza assi di percorso non gestita
|
|
||||||
000238|CNC|FAULT|[238] Errore interno XCL
|
|
||||||
000240|CNC|FAULT|[240] Overflow buffer DLE
|
|
||||||
000241|CNC|FAULT|[241] Deceleration Look-Ahead: Troppi blocchi non di movimento
|
|
||||||
000242|CNC|FAULT|[242] Formato non riconosciuto da DLE
|
|
||||||
000243|CNC|FAULT|[243] La Pipe interna di DLE é interrotta
|
|
||||||
000244|CNC|FAULT|[244] Errore interno DLE
|
|
||||||
000245|CNC|FAULT|[245] DLE: (Per le spiegazioni vedere il Manuale)
|
|
||||||
000250|CNC|FAULT|[250] TCO: Violazione Semantica Blocco APND
|
|
||||||
000251|CNC|FAULT|[251] PG2: Violazione Semantica Blocco APND
|
|
||||||
000256|CNC|FAULT|[256] Orientamento utensile non definito con ICDSID
|
|
||||||
000257|CNC|FAULT|[257] Vettore di superficie non definito con ICDSID
|
|
||||||
000258|CNC|FAULT|[258] Beccheggio utensile incompatibile con la lavorazione
|
|
||||||
000259|CNC|FAULT|[259] Imbardata utensile indeterminata con PADSID attivo
|
|
||||||
000260|CNC|FAULT|[260] Modalità PADSID non supportata
|
|
||||||
000261|CNC|FAULT|[261] Modalità PADCHK non supportata
|
|
||||||
000262|CNC|FAULT|[262] Discontinuità superficie troppo elevata
|
|
||||||
000263|CNC|FAULT|[263] Avanzamento nel materiale incompatibile con l'utensile
|
|
||||||
000265|CNC|FAULT|[265] Codice TWI troppo elevato
|
|
||||||
000266|CNC|FAULT|[266] Codice THD troppo elevato
|
|
||||||
000267|CNC|FAULT|[267] Codice D troppo elevato
|
|
||||||
000270|CNC|FAULT|[270] Richiesto idoneo orientamento utensile con xSCMOD
|
|
||||||
000271|CNC|FAULT|[271] Richiesto idoneo vettore di superficie con xSCMOD
|
|
||||||
000272|CNC|FAULT|[272] Orientamento utensile non definito con xSCMOD
|
|
||||||
000273|CNC|FAULT|[273] Vettore di superficie non definito con xSCMOD
|
|
||||||
000274|CNC|FAULT|[274] Soli blocchi G1 consentiti con xSCMOD
|
|
||||||
000275|CNC|FAULT|[275] Lunghezza blocco in testa incompatibile con ESCMOD
|
|
||||||
000276|CNC|FAULT|[276] Lunghezza unico blocco incompatibile con xSCMOD
|
|
||||||
000277|CNC|FAULT|[277] Lunghezza blocco in coda incompatibile con XSCMOD
|
|
||||||
000282|CNC|FAULT|[282] PAG: Implementation restriction
|
|
||||||
000283|CNC|FAULT|[283] PAG: Not enough data
|
|
||||||
000284|CNC|FAULT|[284] PAG: Ambiguous data
|
|
||||||
000285|CNC|FAULT|[285] PAG: Undetermined solution
|
|
||||||
000286|CNC|FAULT|[286] PAG: No solution found
|
|
||||||
000287|CNC|FAULT|[287] PAG: Invalid feed command
|
|
||||||
000290|CNC|FAULT|[290] <DEBUG: PMI: Estensione utente non inizializzata>
|
|
||||||
000292|CNC|FAULT|[292] Speed Mandrino < Speed Min
|
|
||||||
000400|CNC|FAULT|[400] Superato numero massimo strutture di controllo
|
|
||||||
000401|CNC|FAULT|[401] IF () THEN non sono sullo stesso blocco
|
|
||||||
000402|CNC|FAULT|[402] BREAK non inserito in struttura di controllo
|
|
||||||
000403|CNC|FAULT|[403] ELSE senza IF/THEN
|
|
||||||
000404|CNC|FAULT|[404] Due ELSE consecutivi
|
|
||||||
000405|CNC|FAULT|[405] Disallineamento strutture di controllo
|
|
||||||
000406|CNC|FAULT|[406] ENDW, ENDFOR,REPEAT non devono essere seguiti da codice
|
|
||||||
000407|CNC|FAULT|[407] UNTIL senza REPEAT
|
|
||||||
000408|CNC|FAULT|[408] FOR senza valore limite
|
|
||||||
000409|CNC|FAULT|[409] RPT/BREAK: errore salto fuori dal ciclo
|
|
||||||
000412|CNC|FAULT|[412] Errore accesso dati ricerca blocco in DEFCN
|
|
||||||
000413|CNC|FAULT|[413] Procedura Overstore: blocchi di movimentazione non ammessi
|
|
||||||
000420|CNC|FAULT|[420] Errore di condivisione file
|
|
||||||
000421|CNC|FAULT|[421] Memoria insufficiente per aprire il file
|
|
||||||
000422|CNC|FAULT|[422] Errore sconosciuto sul file
|
|
||||||
000424|CNC|FAULT|[424] Vita utensile esaurita
|
|
||||||
000513|CNC|FAULT|[513] <DEBUG: Errore accesso dati limiti assi>
|
|
||||||
000514|CNC|FAULT|[514] <DEBUG: Errore interno>
|
|
||||||
000522|CNC|FAULT|[522] Asse X Quota Fuori Limite
|
|
||||||
000523|CNC|FAULT|[523] Asse Y Quota Fuori Limite
|
|
||||||
000524|CNC|FAULT|[524] Asse Z Quota Fuori Limite
|
|
||||||
000525|CNC|FAULT|[525] Asse U Quota Fuori Limite
|
|
||||||
000526|CNC|FAULT|[526] Asse V Quota Fuori Limite
|
|
||||||
000527|CNC|FAULT|[527] Asse W Quota Fuori Limite
|
|
||||||
000528|CNC|FAULT|[528] Asse A Quota Fuori Limite
|
|
||||||
000529|CNC|FAULT|[529] Asse B Quota Fuori Limite
|
|
||||||
000530|CNC|FAULT|[530] Asse C Quota Fuori Limite
|
|
||||||
000549|CNC|FAULT|[549] <DEBUG: Errore sulla pipe di uscita della grafica>
|
|
||||||
000550|CNC|FAULT|[550] <DEBUG: Chiamata alle TMAPI non implementata>
|
|
||||||
000554|CNC|FAULT|[554] <DEBUG: Connessione al server grafico gia' stabilita>
|
|
||||||
000555|CNC|FAULT|[555] <DEBUG: Impossibile registrarsi presso il server grafico>
|
|
||||||
000556|CNC|FAULT|[556] <DEBUG: Nessuna connessione stabilita col server grafico>
|
|
||||||
000557|CNC|FAULT|[557] <DEBUG: Il server grafico ha interrotto le attivita'>
|
|
||||||
000560|CNC|FAULT|[560] <DEBUG: L'evento di chiusura e' stato segnalato dal Kernel>
|
|
||||||
000564|CNC|FAULT|[564] <DEBUG: Non c'e' abbastanza memoria per inizializzare TMAPI>
|
|
||||||
000565|CNC|FAULT|[565] <DEBUG: Non e' stato possibile liberare tutte le risorse>
|
|
||||||
000566|CNC|FAULT|[566] <DEBUG: Non specificato>
|
|
||||||
000569|CNC|FAULT|[569] <DEBUG: Vedere il manuale>
|
|
||||||
000609|CNC|FAULT|[609] <DEBUG: Configurazione di assi non gestita>
|
|
||||||
000610|CNC|FAULT|[610] <DEBUG: La prestazione non e' implementata>
|
|
||||||
000612|CNC|FAULT|[612] <DEBUG: GRAPH Multitool setup has bad freecells>
|
|
||||||
000613|CNC|FAULT|[613] <DEBUG: GRAPH Multitool setup has NO freecells>
|
|
||||||
000625|CNC|FAULT|[625] <DEBUG: Errore nella lettura della configurazione del server grafico>
|
|
||||||
000641|CNC|FAULT|[641] <DEBUG: Fallita scrittura di dati packed>
|
|
||||||
000642|CNC|FAULT|[642] <DEBUG: Errato tipo di destinazione per dato packed>
|
|
||||||
000643|CNC|FAULT|[643] <DEBUG: Errato tipo di sorgente per dato packed>
|
|
||||||
000644|CNC|FAULT|[644] <DEBUG: Impossibile arrotondare il valore del dato packed>
|
|
||||||
000649|CNC|FAULT|[649] <DEBUG: Fallita scrittura di dati unpacked>
|
|
||||||
000650|CNC|FAULT|[650] <DEBUG: Errato tipo di destinazione per dato unpacked>
|
|
||||||
000657|CNC|FAULT|[657] <DEBUG: Semantica errata>
|
|
||||||
000658|CNC|FAULT|[658] <DEBUG: Comando sconosciuto>
|
|
||||||
000659|CNC|FAULT|[659] Codice SPC non riconosciuto
|
|
||||||
000673|CNC|FAULT|[673] <DEBUG: Errore accesso dati CED, THD o TWI>
|
|
||||||
000674|CNC|FAULT|[674] Memoria insufficiente per il tool caching
|
|
||||||
000682|CNC|FAULT|[682] Cinematica non supportata
|
|
||||||
000692|CNC|FAULT|[692] Codice TWI troppo elevato
|
|
||||||
000693|CNC|FAULT|[693] Codice THD troppo elevato
|
|
||||||
000694|CNC|FAULT|[694] Codice D troppo elevato
|
|
||||||
000695|CNC|FAULT|[695] Driver assi polari non supportato
|
|
||||||
000714|CNC|FAULT|[714] Cinematica non supportata
|
|
||||||
000715|CNC|FAULT|[715] Errato orientamento entità TWI
|
|
||||||
000716|CNC|FAULT|[716] Orientamento utensile non definito
|
|
||||||
000717|CNC|FAULT|[717] TCP non trovato
|
|
||||||
000718|CNC|FAULT|[718] Trasformazione THD non supportata
|
|
||||||
000719|CNC|FAULT|[719] Impossibile selezionare tagliente, IJK assenti
|
|
||||||
000720|CNC|FAULT|[720] Violazione tagliente
|
|
||||||
000724|CNC|FAULT|[724] <DEBUG: Vedere il manuale>
|
|
||||||
000738|CNC|FAULT|[738] <DEBUG: Errore pipe di ingresso esec. passante>
|
|
||||||
000743|CNC|FAULT|[743] <DEBUG: Il server della esec. passante ha interrotto le attivita'>
|
|
||||||
000746|CNC|FAULT|[746] <DEBUG: Troppi file non remoti aperti in esec. passante>
|
|
||||||
000749|CNC|FAULT|[749] Salto ad etichetta impossibile in esecuzione passante
|
|
||||||
000750|CNC|FAULT|[750] <DEBUG: Errore nella lettura della configurazione in esec. passante>
|
|
||||||
000751|CNC|FAULT|[751] Linea troppo lunga in esecuzione passante
|
|
||||||
001001|CNC|FAULT|[1001] PLC IN BLOCCO
|
|
||||||
001002|CNC|FAULT|[1002] ERRORE CARICAMENTO PLC
|
|
||||||
001003|CNC|FAULT|[1003] PLC LENTO TIMEOUT
|
|
||||||
001005|CNC|FAULT|[1005] PLC VELOCE TIMEOUT
|
|
||||||
001006|CNC|FAULT|[1006] CN IN BLOCCO
|
|
||||||
001007|CNC|FAULT|[1007] CONFIGURAZIONE NULLA
|
|
||||||
001008|CNC|FAULT|[1008] DATI MACCHINA ERRATI
|
|
||||||
001033|CNC|FAULT|[1033] Errore I/O: CRC
|
|
||||||
001034|CNC|FAULT|[1034] Errore I/O: TIMEOUT
|
|
||||||
001035|CNC|FAULT|[1035] Errore I/O: NACK
|
|
||||||
001036|CNC|FAULT|[1036] Errore I/O: INVALID ID
|
|
||||||
001039|CNC|FAULT|[1039] Errore I/O: RX not READY
|
|
||||||
001040|CNC|FAULT|[1040] Errore I/O: ERRORE GENERICO
|
|
||||||
001041|CNC|FAULT|[1041] Errore I/O: ALIMENTAZIONE NODO KO
|
|
||||||
001042|CNC|FAULT|[1042] Errore I/O: USCITA IN PROTEZIONE
|
|
||||||
001043|CNC|FAULT|[1043] Errore I/O: MANCA 24 VOLT
|
|
||||||
001044|CNC|FAULT|[1044] Errore I/O: ADC BUSY
|
|
||||||
001047|CNC|FAULT|[1047] Errore I/O: SCHEDA NON PRESENTE
|
|
||||||
001049|CNC|FAULT|[1049] V+12 FUORI SOGLIA
|
|
||||||
001050|CNC|FAULT|[1050] V-12 FUORI SOGLIA
|
|
||||||
001051|CNC|FAULT|[1051] V ENCODER FUORI SOGLIA
|
|
||||||
001052|CNC|FAULT|[1052] V BATTERIA FUORI SOGLIA
|
|
||||||
001056|CNC|FAULT|[1056] TEMPERATURA FUORI SOGLIA
|
|
||||||
001057|CNC|FAULT|[1057] CN HARDWARE ERROR: BOARD OR NODE ERROR
|
|
||||||
001058|CNC|FAULT|[1058] X:F.C. Avanti
|
|
||||||
001059|CNC|FAULT|[1059] X:F.C. Indietro
|
|
||||||
001060|CNC|FAULT|[1060] X:F.C. Software
|
|
||||||
001061|CNC|FAULT|[1061] X:Allarme Asse: Richiesta esterna
|
|
||||||
001062|CNC|FAULT|[1062] X:Errore Taratura
|
|
||||||
001063|CNC|FAULT|[1063] X:Asse non definito
|
|
||||||
001064|CNC|FAULT|[1064] X:Asse non presente e fly
|
|
||||||
001065|CNC|FAULT|[1065] X:Errore Tolleranza
|
|
||||||
001066|CNC|FAULT|[1066] X:Errore d'inseguimento
|
|
||||||
001067|CNC|FAULT|[1067] X:Errore Offset
|
|
||||||
001068|CNC|FAULT|[1068] X:Richiesta Allarme I/O di controllo
|
|
||||||
001069|CNC|FAULT|[1069] X:Interfaccia DAC o Encoder mancante
|
|
||||||
001070|CNC|FAULT|[1070] X:Mancanza conteggio Encoder
|
|
||||||
001071|CNC|FAULT|[1071] X:Asse in collisione
|
|
||||||
001072|CNC|FAULT|[1072] X:Gamma non presente
|
|
||||||
001073|CNC|FAULT|[1073] X:Encoder non collegato
|
|
||||||
001074|CNC|FAULT|[1074] X:Asse non disponibile
|
|
||||||
001075|CNC|FAULT|[1075] X:Allarme Servodrive Digitale
|
|
||||||
001076|CNC|FAULT|[1076] X:Disallineamento assi Gantry
|
|
||||||
001077|CNC|FAULT|[1077] X:Allarme Protocollo CanOpen
|
|
||||||
001078|CNC|FAULT|[1078] X:Drive in Allarme
|
|
||||||
001079|CNC|FAULT|[1079] X:Errore Comando
|
|
||||||
001080|CNC|FAULT|[1080] X:Reserved
|
|
||||||
001081|CNC|FAULT|[1081] X:Reserved
|
|
||||||
001082|CNC|FAULT|[1082] X:Reserved
|
|
||||||
001083|CNC|FAULT|[1083] X:Reserved
|
|
||||||
001084|CNC|FAULT|[1084] X:Reserved
|
|
||||||
001085|CNC|FAULT|[1085] X:Azionamento digitale non pronto
|
|
||||||
001086|CNC|FAULT|[1086] X:Dati non validi
|
|
||||||
001087|CNC|FAULT|[1087] X:Pacchetto dati corrotto errore di BCC
|
|
||||||
001088|CNC|FAULT|[1088] X:Rumore sulla linea di comunicazione con l'azionamento
|
|
||||||
001089|CNC|FAULT|[1089] X:Timeout comunicazione con azionamento digitale
|
|
||||||
001090|CNC|FAULT|[1090] Y:F.C. Avanti
|
|
||||||
001091|CNC|FAULT|[1091] Y:F.C. Indietro
|
|
||||||
001092|CNC|FAULT|[1092] Y:F.C. Software
|
|
||||||
001093|CNC|FAULT|[1093] Y:Allarme Asse: Richiesta esterna
|
|
||||||
001094|CNC|FAULT|[1094] Y:Errore Taratura
|
|
||||||
001095|CNC|FAULT|[1095] Y:Asse non definito
|
|
||||||
001096|CNC|FAULT|[1096] Y:Asse non presente e fly
|
|
||||||
001097|CNC|FAULT|[1097] Y:Errore Tolleranza
|
|
||||||
001098|CNC|FAULT|[1098] Y:Errore d'inseguimento
|
|
||||||
001099|CNC|FAULT|[1099] Y:Errore Offset
|
|
||||||
001100|CNC|FAULT|[1100] Y:Richiesta Allarme I/O di controllo
|
|
||||||
001101|CNC|FAULT|[1101] Y:Interfaccia DAC o Encoder mancante
|
|
||||||
001102|CNC|FAULT|[1102] Y:Mancanza conteggio Encoder
|
|
||||||
001103|CNC|FAULT|[1103] Y:Asse in collisione
|
|
||||||
001104|CNC|FAULT|[1104] Y:Gamma non presente
|
|
||||||
001105|CNC|FAULT|[1105] Y:Encoder non collegato
|
|
||||||
001106|CNC|FAULT|[1106] Y:Asse non disponibile
|
|
||||||
001107|CNC|FAULT|[1107] Y:Allarme Servodrive Digitale
|
|
||||||
001108|CNC|FAULT|[1108] Y:Disallineamento assi Gantry
|
|
||||||
001109|CNC|FAULT|[1109] Y:Allarme Protocollo CanOpen
|
|
||||||
001110|CNC|FAULT|[1110] Y:Drive in Allarme
|
|
||||||
001111|CNC|FAULT|[1111] Y:Errore Comando
|
|
||||||
001112|CNC|FAULT|[1112] Y:Reserved
|
|
||||||
001113|CNC|FAULT|[1113] Y:Reserved
|
|
||||||
001114|CNC|FAULT|[1114] Y:Reserved
|
|
||||||
001115|CNC|FAULT|[1115] Y:Reserved
|
|
||||||
001116|CNC|FAULT|[1116] Y:Reserved
|
|
||||||
001117|CNC|FAULT|[1117] Y:Azionamento digitale non pronto
|
|
||||||
001118|CNC|FAULT|[1118] Y:Dati non validi
|
|
||||||
001119|CNC|FAULT|[1119] Y:Pacchetto dati corrotto errore di BCC
|
|
||||||
001120|CNC|FAULT|[1120] Y:Rumore sulla linea di comunicazione con l'azionamento
|
|
||||||
001121|CNC|FAULT|[1121] Y:Timeout comunicazione con azionamento digitale
|
|
||||||
001122|CNC|FAULT|[1122] Z:F.C. Avanti
|
|
||||||
001123|CNC|FAULT|[1123] Z:F.C. Indietro
|
|
||||||
001124|CNC|FAULT|[1124] Z:F.C. Software
|
|
||||||
001125|CNC|FAULT|[1125] Z:Allarme Asse: Richiesta esterna
|
|
||||||
001126|CNC|FAULT|[1126] Z:Errore Taratura
|
|
||||||
001127|CNC|FAULT|[1127] Z:Asse non definito
|
|
||||||
001128|CNC|FAULT|[1128] Z:Asse non presente e fly
|
|
||||||
001129|CNC|FAULT|[1129] Z:Errore Tolleranza
|
|
||||||
001130|CNC|FAULT|[1130] Z:Errore d'inseguimento
|
|
||||||
001131|CNC|FAULT|[1131] Z:Errore Offset
|
|
||||||
001132|CNC|FAULT|[1132] Z:Richiesta Allarme I/O di controllo
|
|
||||||
001133|CNC|FAULT|[1133] Z:Interfaccia DAC o Encoder mancante
|
|
||||||
001134|CNC|FAULT|[1134] Z:Mancanza conteggio Encoder
|
|
||||||
001135|CNC|FAULT|[1135] Z:Asse in collisione
|
|
||||||
001136|CNC|FAULT|[1136] Z:Gamma non presente
|
|
||||||
001137|CNC|FAULT|[1137] Z:Encoder non collegato
|
|
||||||
001138|CNC|FAULT|[1138] Z:Asse non disponibile
|
|
||||||
001139|CNC|FAULT|[1139] Z:Allarme Servodrive Digitale
|
|
||||||
001140|CNC|FAULT|[1140] Z:Disallineamento assi Gantry
|
|
||||||
001141|CNC|FAULT|[1141] Z:Allarme Protocollo CanOpen
|
|
||||||
001142|CNC|FAULT|[1142] Z:Drive in Allarme
|
|
||||||
001143|CNC|FAULT|[1143] Z:Errore Comando
|
|
||||||
001144|CNC|FAULT|[1144] Z:Reserved
|
|
||||||
001145|CNC|FAULT|[1145] Z:Reserved
|
|
||||||
001146|CNC|FAULT|[1146] Z:Reserved
|
|
||||||
001147|CNC|FAULT|[1147] Z:Reserved
|
|
||||||
001148|CNC|FAULT|[1148] Z:Reserved
|
|
||||||
001149|CNC|FAULT|[1149] Z:Azionamento digitale non pronto
|
|
||||||
001150|CNC|FAULT|[1150] Z:Dati non validi
|
|
||||||
001151|CNC|FAULT|[1151] Z:Pacchetto dati corrotto errore di BCC
|
|
||||||
001152|CNC|FAULT|[1152] Z:Rumore sulla linea di comunicazione con l'azionamento
|
|
||||||
001153|CNC|FAULT|[1153] Z:Timeout comunicazione con azionamento digitale
|
|
||||||
001154|CNC|FAULT|[1154] U:F.C. Avanti
|
|
||||||
001155|CNC|FAULT|[1155] U:F.C. Indietro
|
|
||||||
001156|CNC|FAULT|[1156] U:F.C. Software
|
|
||||||
001157|CNC|FAULT|[1157] U:Allarme Asse: Richiesta esterna
|
|
||||||
001158|CNC|FAULT|[1158] U:Errore Taratura
|
|
||||||
001159|CNC|FAULT|[1159] U:Asse non definito
|
|
||||||
001160|CNC|FAULT|[1160] U:Asse non presente e fly
|
|
||||||
001161|CNC|FAULT|[1161] U:Errore Tolleranza
|
|
||||||
001162|CNC|FAULT|[1162] U:Errore d'inseguimento
|
|
||||||
001163|CNC|FAULT|[1163] U:Errore Offset
|
|
||||||
001164|CNC|FAULT|[1164] U:Richiesta Allarme I/O di controllo
|
|
||||||
001165|CNC|FAULT|[1165] U:Interfaccia DAC o Encoder mancante
|
|
||||||
001166|CNC|FAULT|[1166] U:Mancanza conteggio Encoder
|
|
||||||
001167|CNC|FAULT|[1167] U:Asse in collisione
|
|
||||||
001168|CNC|FAULT|[1168] U:Gamma non presente
|
|
||||||
001169|CNC|FAULT|[1169] U:Encoder non collegato
|
|
||||||
001170|CNC|FAULT|[1170] U:Asse non disponibile
|
|
||||||
001171|CNC|FAULT|[1171] U:Allarme Servodrive Digitale
|
|
||||||
001172|CNC|FAULT|[1172] U:Disallineamento assi Gantry
|
|
||||||
001173|CNC|FAULT|[1173] U:Allarme Protocollo CanOpen
|
|
||||||
001174|CNC|FAULT|[1174] U:Drive in Allarme
|
|
||||||
001175|CNC|FAULT|[1175] U:Errore Comando
|
|
||||||
001176|CNC|FAULT|[1176] U:Reserved
|
|
||||||
001177|CNC|FAULT|[1177] U:Reserved
|
|
||||||
001178|CNC|FAULT|[1178] U:Reserved
|
|
||||||
001179|CNC|FAULT|[1179] U:Reserved
|
|
||||||
001180|CNC|FAULT|[1180] U:Reserved
|
|
||||||
001181|CNC|FAULT|[1181] U:Azionamento digitale non pronto
|
|
||||||
001182|CNC|FAULT|[1182] U:Dati non validi
|
|
||||||
001183|CNC|FAULT|[1183] U:Pacchetto dati corrotto errore di BCC
|
|
||||||
001184|CNC|FAULT|[1184] U:Rumore sulla linea di comunicazione con l'azionamento
|
|
||||||
001185|CNC|FAULT|[1185] U:Timeout comunicazione con azionamento digitale
|
|
||||||
001186|CNC|FAULT|[1186] V:F.C. Avanti
|
|
||||||
001187|CNC|FAULT|[1187] V:F.C. Indietro
|
|
||||||
001188|CNC|FAULT|[1188] V:F.C. Software
|
|
||||||
001189|CNC|FAULT|[1189] V:Allarme Asse: Richiesta esterna
|
|
||||||
001190|CNC|FAULT|[1190] V:Errore Taratura
|
|
||||||
001191|CNC|FAULT|[1191] V:Asse non definito
|
|
||||||
001192|CNC|FAULT|[1192] V:Asse non presente e fly
|
|
||||||
001193|CNC|FAULT|[1193] V:Errore Tolleranza
|
|
||||||
001194|CNC|FAULT|[1194] V:Errore d'inseguimento
|
|
||||||
001195|CNC|FAULT|[1195] V:Errore Offset
|
|
||||||
001196|CNC|FAULT|[1196] V:Richiesta Allarme I/O di controllo
|
|
||||||
001197|CNC|FAULT|[1197] V:Interfaccia DAC o Encoder mancante
|
|
||||||
001198|CNC|FAULT|[1198] V:Mancanza conteggio Encoder
|
|
||||||
001199|CNC|FAULT|[1199] V:Asse in collisione
|
|
||||||
001200|CNC|FAULT|[1200] V:Gamma non presente
|
|
||||||
001201|CNC|FAULT|[1201] V:Encoder non collegato
|
|
||||||
001202|CNC|FAULT|[1202] V:Asse non disponibile
|
|
||||||
001203|CNC|FAULT|[1203] V:Allarme Servodrive Digitale
|
|
||||||
001204|CNC|FAULT|[1204] V:Disallineamento assi Gantry
|
|
||||||
001205|CNC|FAULT|[1205] V:Allarme Protocollo CanOpen
|
|
||||||
001206|CNC|FAULT|[1206] V:Drive in Allarme
|
|
||||||
001207|CNC|FAULT|[1207] V:Errore Comando
|
|
||||||
001208|CNC|FAULT|[1208] V:Reserved
|
|
||||||
001209|CNC|FAULT|[1209] V:Reserved
|
|
||||||
001210|CNC|FAULT|[1210] V:Reserved
|
|
||||||
001211|CNC|FAULT|[1211] V:Reserved
|
|
||||||
001212|CNC|FAULT|[1212] V:Reserved
|
|
||||||
001213|CNC|FAULT|[1213] V:Azionamento digitale non pronto
|
|
||||||
001214|CNC|FAULT|[1214] V:Dati non validi
|
|
||||||
001215|CNC|FAULT|[1215] V:Pacchetto dati corrotto errore di BCC
|
|
||||||
001216|CNC|FAULT|[1216] V:Rumore sulla linea di comunicazione con l'azionamento
|
|
||||||
001217|CNC|FAULT|[1217] V:Timeout comunicazione con azionamento digitale
|
|
||||||
001218|CNC|FAULT|[1218] W:F.C. Avanti
|
|
||||||
001219|CNC|FAULT|[1219] W:F.C. Indietro
|
|
||||||
001220|CNC|FAULT|[1220] W:F.C. Software
|
|
||||||
001221|CNC|FAULT|[1221] W:Allarme Asse: Richiesta esterna
|
|
||||||
001222|CNC|FAULT|[1222] W:Errore Taratura
|
|
||||||
001223|CNC|FAULT|[1223] W:Asse non definito
|
|
||||||
001224|CNC|FAULT|[1224] W:Asse non presente e fly
|
|
||||||
001225|CNC|FAULT|[1225] W:Errore Tolleranza
|
|
||||||
001226|CNC|FAULT|[1226] W:Errore d'inseguimento
|
|
||||||
001227|CNC|FAULT|[1227] W:Errore Offset
|
|
||||||
001228|CNC|FAULT|[1228] W:Richiesta Allarme I/O di controllo
|
|
||||||
001229|CNC|FAULT|[1229] W:Interfaccia DAC o Encoder mancante
|
|
||||||
001230|CNC|FAULT|[1230] W:Mancanza conteggio Encoder
|
|
||||||
001231|CNC|FAULT|[1231] W:Asse in collisione
|
|
||||||
001232|CNC|FAULT|[1232] W:Gamma non presente
|
|
||||||
001233|CNC|FAULT|[1233] W:Encoder non collegato
|
|
||||||
001234|CNC|FAULT|[1234] W:Asse non disponibile
|
|
||||||
001235|CNC|FAULT|[1235] W:Allarme Servodrive Digitale
|
|
||||||
001236|CNC|FAULT|[1236] W:Disallineamento assi Gantry
|
|
||||||
001237|CNC|FAULT|[1237] W:Allarme Protocollo CanOpen
|
|
||||||
001238|CNC|FAULT|[1238] W:Drive in Allarme
|
|
||||||
001239|CNC|FAULT|[1239] W:Errore Comando
|
|
||||||
001240|CNC|FAULT|[1240] W:Reserved
|
|
||||||
001241|CNC|FAULT|[1241] W:Reserved
|
|
||||||
001242|CNC|FAULT|[1242] W:Reserved
|
|
||||||
001243|CNC|FAULT|[1243] W:Reserved
|
|
||||||
001244|CNC|FAULT|[1244] W:Reserved
|
|
||||||
001245|CNC|FAULT|[1245] W:Azionamento digitale non pronto
|
|
||||||
001246|CNC|FAULT|[1246] W:Dati non validi
|
|
||||||
001247|CNC|FAULT|[1247] W:Pacchetto dati corrotto errore di BCC
|
|
||||||
001248|CNC|FAULT|[1248] W:Rumore sulla linea di comunicazione con l'azionamento
|
|
||||||
001249|CNC|FAULT|[1249] W:Timeout comunicazione con azionamento digitale
|
|
||||||
001250|CNC|FAULT|[1250] A:F.C. Avanti
|
|
||||||
001251|CNC|FAULT|[1251] A:F.C. Indietro
|
|
||||||
001252|CNC|FAULT|[1252] A:F.C. Software
|
|
||||||
001253|CNC|FAULT|[1253] A:Allarme Asse: Richiesta esterna
|
|
||||||
001254|CNC|FAULT|[1254] A:Errore Taratura
|
|
||||||
001255|CNC|FAULT|[1255] A:Asse non definito
|
|
||||||
001256|CNC|FAULT|[1256] A:Asse non presente e fly
|
|
||||||
001257|CNC|FAULT|[1257] A:Errore Tolleranza
|
|
||||||
001258|CNC|FAULT|[1258] A:Errore d'inseguimento
|
|
||||||
001259|CNC|FAULT|[1259] A:Errore Offset
|
|
||||||
001260|CNC|FAULT|[1260] A:Richiesta Allarme I/O di controllo
|
|
||||||
001261|CNC|FAULT|[1261] A:Interfaccia DAC o Encoder mancante
|
|
||||||
001262|CNC|FAULT|[1262] A:Mancanza conteggio Encoder
|
|
||||||
001263|CNC|FAULT|[1263] A:Asse in collisione
|
|
||||||
001264|CNC|FAULT|[1264] A:Gamma non presente
|
|
||||||
001265|CNC|FAULT|[1265] A:Encoder non collegato
|
|
||||||
001266|CNC|FAULT|[1266] A:Asse non disponibile
|
|
||||||
001267|CNC|FAULT|[1267] A:Allarme Servodrive Digitale
|
|
||||||
001268|CNC|FAULT|[1268] A:Disallineamento assi Gantry
|
|
||||||
001269|CNC|FAULT|[1269] A:Allarme Protocollo CanOpen
|
|
||||||
001270|CNC|FAULT|[1270] A:Drive in Allarme
|
|
||||||
001271|CNC|FAULT|[1271] A:Errore Comando
|
|
||||||
001272|CNC|FAULT|[1272] A:Reserved
|
|
||||||
001273|CNC|FAULT|[1273] A:Reserved
|
|
||||||
001274|CNC|FAULT|[1274] A:Reserved
|
|
||||||
001275|CNC|FAULT|[1275] A:Reserved
|
|
||||||
001276|CNC|FAULT|[1276] A:Reserved
|
|
||||||
001277|CNC|FAULT|[1277] A:Azionamento digitale non pronto
|
|
||||||
001278|CNC|FAULT|[1278] A:Dati non validi
|
|
||||||
001279|CNC|FAULT|[1279] A:Pacchetto dati corrotto errore di BCC
|
|
||||||
001280|CNC|FAULT|[1280] A:Rumore sulla linea di comunicazione con l'azionamento
|
|
||||||
001281|CNC|FAULT|[1281] A:Timeout comunicazione con azionamento digitale
|
|
||||||
001282|CNC|FAULT|[1282] B:F.C. Avanti
|
|
||||||
001283|CNC|FAULT|[1283] B:F.C. Indietro
|
|
||||||
001284|CNC|FAULT|[1284] B:F.C. Software
|
|
||||||
001285|CNC|FAULT|[1285] B:Allarme Asse: Richiesta esterna
|
|
||||||
001286|CNC|FAULT|[1286] B:Errore Taratura
|
|
||||||
001287|CNC|FAULT|[1287] B:Asse non definito
|
|
||||||
001288|CNC|FAULT|[1288] B:Asse non presente e fly
|
|
||||||
001289|CNC|FAULT|[1289] B:Errore Tolleranza
|
|
||||||
001290|CNC|FAULT|[1290] B:Errore d'inseguimento
|
|
||||||
001291|CNC|FAULT|[1291] B:Errore Offset
|
|
||||||
001292|CNC|FAULT|[1292] B:Richiesta Allarme I/O di controllo
|
|
||||||
001293|CNC|FAULT|[1293] B:Interfaccia DAC o Encoder mancante
|
|
||||||
001294|CNC|FAULT|[1294] B:Mancanza conteggio Encoder
|
|
||||||
001295|CNC|FAULT|[1295] B:Asse in collisione
|
|
||||||
001296|CNC|FAULT|[1296] B:Gamma non presente
|
|
||||||
001297|CNC|FAULT|[1297] B:Encoder non collegato
|
|
||||||
001298|CNC|FAULT|[1298] B:Asse non disponibile
|
|
||||||
001299|CNC|FAULT|[1299] B:Allarme Servodrive Digitale
|
|
||||||
001300|CNC|FAULT|[1300] B:Disallineamento assi Gantry
|
|
||||||
001301|CNC|FAULT|[1301] B:Allarme Protocollo CanOpen
|
|
||||||
001302|CNC|FAULT|[1302] B:Drive in Allarme
|
|
||||||
001303|CNC|FAULT|[1303] B:Errore Comando
|
|
||||||
001304|CNC|FAULT|[1304] B:Reserved
|
|
||||||
001305|CNC|FAULT|[1305] B:Reserved
|
|
||||||
001306|CNC|FAULT|[1306] B:Reserved
|
|
||||||
001307|CNC|FAULT|[1307] B:Reserved
|
|
||||||
001308|CNC|FAULT|[1308] B:Reserved
|
|
||||||
001309|CNC|FAULT|[1309] B:Azionamento digitale non pronto
|
|
||||||
001310|CNC|FAULT|[1310] B:Dati non validi
|
|
||||||
001311|CNC|FAULT|[1311] B:Pacchetto dati corrotto errore di BCC
|
|
||||||
001312|CNC|FAULT|[1312] B:Rumore sulla linea di comunicazione con l'azionamento
|
|
||||||
001313|CNC|FAULT|[1313] B:Timeout comunicazione con azionamento digitale
|
|
||||||
001314|CNC|FAULT|[1314] C:F.C. Avanti
|
|
||||||
001315|CNC|FAULT|[1315] C:F.C. Indietro
|
|
||||||
001316|CNC|FAULT|[1316] C:F.C. Software
|
|
||||||
001317|CNC|FAULT|[1317] C:Allarme Asse: Richiesta esterna
|
|
||||||
001318|CNC|FAULT|[1318] C:Errore Taratura
|
|
||||||
001319|CNC|FAULT|[1319] C:Asse non definito
|
|
||||||
001320|CNC|FAULT|[1320] C:Asse non presente e fly
|
|
||||||
001321|CNC|FAULT|[1321] C:Errore Tolleranza
|
|
||||||
001322|CNC|FAULT|[1322] C:Errore d'inseguimento
|
|
||||||
001323|CNC|FAULT|[1323] C:Errore Offset
|
|
||||||
001324|CNC|FAULT|[1324] C:Richiesta Allarme I/O di controllo
|
|
||||||
001325|CNC|FAULT|[1325] C:Interfaccia DAC o Encoder mancante
|
|
||||||
001326|CNC|FAULT|[1326] C:Mancanza conteggio Encoder
|
|
||||||
001327|CNC|FAULT|[1327] C:Asse in collisione
|
|
||||||
001328|CNC|FAULT|[1328] C:Gamma non presente
|
|
||||||
001329|CNC|FAULT|[1329] C:Encoder non collegato
|
|
||||||
001330|CNC|FAULT|[1330] C:Asse non disponibile
|
|
||||||
001331|CNC|FAULT|[1331] C:Allarme Servodrive Digitale
|
|
||||||
001332|CNC|FAULT|[1332] C:Disallineamento Assi Gantry
|
|
||||||
001333|CNC|FAULT|[1333] C:Allarme Protocollo CanOpen
|
|
||||||
001334|CNC|FAULT|[1334] C:Drive Guasto
|
|
||||||
001335|CNC|FAULT|[1335] C:Errore Comando
|
|
||||||
001336|CNC|FAULT|[1336] C:Reserved
|
|
||||||
001337|CNC|FAULT|[1337] C:Reserved
|
|
||||||
001338|CNC|FAULT|[1338] C:Reserved
|
|
||||||
001339|CNC|FAULT|[1339] C:Reserved
|
|
||||||
001340|CNC|FAULT|[1340] C:Reserved
|
|
||||||
001341|CNC|FAULT|[1341] C:Azionamento digitale non pronto
|
|
||||||
001342|CNC|FAULT|[1342] C:Dati non validi
|
|
||||||
001343|CNC|FAULT|[1343] C:Pacchetto dati corrotto errore di BCC
|
|
||||||
001344|CNC|FAULT|[1344] C:Rumore sulla linea di comunicazione con l'azionamento
|
|
||||||
001345|CNC|FAULT|[1345] C:Timeout comunicazione con azionamento digitale
|
|
||||||
Binary file not shown.
@@ -1,98 +0,0 @@
|
|||||||
using System;
|
|
||||||
using System.Collections.Generic;
|
|
||||||
using System.Linq;
|
|
||||||
using System.Text;
|
|
||||||
using System.Threading.Tasks;
|
|
||||||
|
|
||||||
namespace MTC_Adapter
|
|
||||||
{
|
|
||||||
|
|
||||||
public static class EnumerationExtensions
|
|
||||||
{
|
|
||||||
|
|
||||||
/// <summary>
|
|
||||||
/// checks if the value contains the provided type
|
|
||||||
/// </summary>
|
|
||||||
/// <typeparam name="T"></typeparam>
|
|
||||||
/// <param name="type"></param>
|
|
||||||
/// <param name="value"></param>
|
|
||||||
/// <returns></returns>
|
|
||||||
public static bool Has<T>(this System.Enum type, T value)
|
|
||||||
{
|
|
||||||
try
|
|
||||||
{
|
|
||||||
return (((int)(object)type & (int)(object)value) == (int)(object)value);
|
|
||||||
}
|
|
||||||
catch
|
|
||||||
{
|
|
||||||
return false;
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
/// <summary>
|
|
||||||
/// checks if the value is only the provided type
|
|
||||||
/// </summary>
|
|
||||||
/// <typeparam name="T"></typeparam>
|
|
||||||
/// <param name="type"></param>
|
|
||||||
/// <param name="value"></param>
|
|
||||||
/// <returns></returns>
|
|
||||||
public static bool Is<T>(this System.Enum type, T value)
|
|
||||||
{
|
|
||||||
try
|
|
||||||
{
|
|
||||||
return (int)(object)type == (int)(object)value;
|
|
||||||
}
|
|
||||||
catch
|
|
||||||
{
|
|
||||||
return false;
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
/// <summary>
|
|
||||||
/// appends a value
|
|
||||||
/// </summary>
|
|
||||||
/// <typeparam name="T"></typeparam>
|
|
||||||
/// <param name="type"></param>
|
|
||||||
/// <param name="value"></param>
|
|
||||||
/// <returns></returns>
|
|
||||||
public static T Add<T>(this System.Enum type, T value)
|
|
||||||
{
|
|
||||||
try
|
|
||||||
{
|
|
||||||
return (T)(object)(((int)(object)type | (int)(object)value));
|
|
||||||
}
|
|
||||||
catch (Exception ex)
|
|
||||||
{
|
|
||||||
throw new ArgumentException(
|
|
||||||
string.Format(
|
|
||||||
"Could not append value from enumerated type '{0}'.",
|
|
||||||
typeof(T).Name
|
|
||||||
), ex);
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
/// <summary>
|
|
||||||
/// completely removes the value
|
|
||||||
/// </summary>
|
|
||||||
/// <typeparam name="T"></typeparam>
|
|
||||||
/// <param name="type"></param>
|
|
||||||
/// <param name="value"></param>
|
|
||||||
/// <returns></returns>
|
|
||||||
public static T Remove<T>(this System.Enum type, T value)
|
|
||||||
{
|
|
||||||
try
|
|
||||||
{
|
|
||||||
return (T)(object)(((int)(object)type & ~(int)(object)value));
|
|
||||||
}
|
|
||||||
catch (Exception ex)
|
|
||||||
{
|
|
||||||
throw new ArgumentException(
|
|
||||||
string.Format(
|
|
||||||
"Could not remove value from enumerated type '{0}'.",
|
|
||||||
typeof(T).Name
|
|
||||||
), ex);
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
}
|
|
||||||
}
|
|
||||||
@@ -1,382 +0,0 @@
|
|||||||
<?xml version="1.0" encoding="utf-8"?>
|
|
||||||
<Project ToolsVersion="14.0" DefaultTargets="Build" 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>{736DF121-11E6-4D46-835D-6560ACF241E4}</ProjectGuid>
|
|
||||||
<OutputType>WinExe</OutputType>
|
|
||||||
<AppDesignerFolder>Properties</AppDesignerFolder>
|
|
||||||
<RootNamespace>MTC_Adapter</RootNamespace>
|
|
||||||
<AssemblyName>MTC_Adapter</AssemblyName>
|
|
||||||
<TargetFrameworkVersion>v4.5.2</TargetFrameworkVersion>
|
|
||||||
<FileAlignment>512</FileAlignment>
|
|
||||||
<AutoGenerateBindingRedirects>true</AutoGenerateBindingRedirects>
|
|
||||||
<IsWebBootstrapper>false</IsWebBootstrapper>
|
|
||||||
<PublishUrl>publish\</PublishUrl>
|
|
||||||
<Install>true</Install>
|
|
||||||
<InstallFrom>Disk</InstallFrom>
|
|
||||||
<UpdateEnabled>false</UpdateEnabled>
|
|
||||||
<UpdateMode>Foreground</UpdateMode>
|
|
||||||
<UpdateInterval>7</UpdateInterval>
|
|
||||||
<UpdateIntervalUnits>Days</UpdateIntervalUnits>
|
|
||||||
<UpdatePeriodically>false</UpdatePeriodically>
|
|
||||||
<UpdateRequired>false</UpdateRequired>
|
|
||||||
<MapFileExtensions>true</MapFileExtensions>
|
|
||||||
<ApplicationRevision>0</ApplicationRevision>
|
|
||||||
<ApplicationVersion>1.0.0.%2a</ApplicationVersion>
|
|
||||||
<UseApplicationTrust>false</UseApplicationTrust>
|
|
||||||
<BootstrapperEnabled>true</BootstrapperEnabled>
|
|
||||||
<TargetFrameworkProfile />
|
|
||||||
<NuGetPackageImportStamp>
|
|
||||||
</NuGetPackageImportStamp>
|
|
||||||
</PropertyGroup>
|
|
||||||
<PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Debug|AnyCPU' ">
|
|
||||||
<PlatformTarget>AnyCPU</PlatformTarget>
|
|
||||||
<DebugSymbols>true</DebugSymbols>
|
|
||||||
<DebugType>full</DebugType>
|
|
||||||
<Optimize>false</Optimize>
|
|
||||||
<OutputPath>bin\Debug\</OutputPath>
|
|
||||||
<DefineConstants>DEBUG;TRACE</DefineConstants>
|
|
||||||
<ErrorReport>prompt</ErrorReport>
|
|
||||||
<WarningLevel>4</WarningLevel>
|
|
||||||
<UseVSHostingProcess>true</UseVSHostingProcess>
|
|
||||||
<Prefer32Bit>true</Prefer32Bit>
|
|
||||||
</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>
|
|
||||||
<Prefer32Bit>false</Prefer32Bit>
|
|
||||||
</PropertyGroup>
|
|
||||||
<PropertyGroup>
|
|
||||||
<ApplicationIcon>Resources\MTCA.ico</ApplicationIcon>
|
|
||||||
</PropertyGroup>
|
|
||||||
<PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'CMS-FANUC|AnyCPU' ">
|
|
||||||
<OutputPath>bin\CMS-FANUC\</OutputPath>
|
|
||||||
<DefineConstants>TRACE</DefineConstants>
|
|
||||||
<Optimize>true</Optimize>
|
|
||||||
<DebugType>pdbonly</DebugType>
|
|
||||||
<PlatformTarget>AnyCPU</PlatformTarget>
|
|
||||||
<ErrorReport>prompt</ErrorReport>
|
|
||||||
<CodeAnalysisRuleSet>MinimumRecommendedRules.ruleset</CodeAnalysisRuleSet>
|
|
||||||
<Prefer32Bit>true</Prefer32Bit>
|
|
||||||
</PropertyGroup>
|
|
||||||
<PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'SCM-ESA|AnyCPU' ">
|
|
||||||
<OutputPath>bin\SCM-ESA\</OutputPath>
|
|
||||||
<DefineConstants>TRACE</DefineConstants>
|
|
||||||
<Optimize>true</Optimize>
|
|
||||||
<DebugType>pdbonly</DebugType>
|
|
||||||
<PlatformTarget>AnyCPU</PlatformTarget>
|
|
||||||
<ErrorReport>prompt</ErrorReport>
|
|
||||||
<CodeAnalysisRuleSet>MinimumRecommendedRules.ruleset</CodeAnalysisRuleSet>
|
|
||||||
<Prefer32Bit>true</Prefer32Bit>
|
|
||||||
</PropertyGroup>
|
|
||||||
<PropertyGroup Condition="'$(Configuration)|$(Platform)' == 'CMS-SIEMENS|AnyCPU'">
|
|
||||||
<OutputPath>bin\CMS-SIEMENS\</OutputPath>
|
|
||||||
<DefineConstants>TRACE</DefineConstants>
|
|
||||||
<Optimize>true</Optimize>
|
|
||||||
<DebugType>pdbonly</DebugType>
|
|
||||||
<PlatformTarget>AnyCPU</PlatformTarget>
|
|
||||||
<ErrorReport>prompt</ErrorReport>
|
|
||||||
<CodeAnalysisRuleSet>MinimumRecommendedRules.ruleset</CodeAnalysisRuleSet>
|
|
||||||
<Prefer32Bit>true</Prefer32Bit>
|
|
||||||
</PropertyGroup>
|
|
||||||
<PropertyGroup Condition="'$(Configuration)|$(Platform)' == 'CMS-OSAI|AnyCPU'">
|
|
||||||
<OutputPath>bin\CMS-OSAI\</OutputPath>
|
|
||||||
<DefineConstants>TRACE</DefineConstants>
|
|
||||||
<Optimize>true</Optimize>
|
|
||||||
<DebugType>pdbonly</DebugType>
|
|
||||||
<PlatformTarget>AnyCPU</PlatformTarget>
|
|
||||||
<ErrorReport>prompt</ErrorReport>
|
|
||||||
<CodeAnalysisRuleSet>MinimumRecommendedRules.ruleset</CodeAnalysisRuleSet>
|
|
||||||
<Prefer32Bit>true</Prefer32Bit>
|
|
||||||
</PropertyGroup>
|
|
||||||
<ItemGroup>
|
|
||||||
<Reference Include="DotNetAdapterSDK, Version=1.0.0.0, Culture=neutral, processorArchitecture=MSIL">
|
|
||||||
<SpecificVersion>False</SpecificVersion>
|
|
||||||
<HintPath>ExtLib\DotNetAdapterSDK.dll</HintPath>
|
|
||||||
</Reference>
|
|
||||||
<Reference Include="NLog, Version=4.0.0.0, Culture=neutral, PublicKeyToken=5120e14c03d0593c, processorArchitecture=MSIL">
|
|
||||||
<HintPath>..\packages\NLog.4.4.4\lib\net45\NLog.dll</HintPath>
|
|
||||||
<Private>True</Private>
|
|
||||||
</Reference>
|
|
||||||
<Reference Include="System" />
|
|
||||||
<Reference Include="System.configuration" />
|
|
||||||
<Reference Include="System.Core" />
|
|
||||||
<Reference Include="System.Numerics" />
|
|
||||||
<Reference Include="System.Web.Extensions" />
|
|
||||||
<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="..\VersGen\VersGen.cs">
|
|
||||||
<Link>VersGen.cs</Link>
|
|
||||||
</Compile>
|
|
||||||
<Compile Include="AdapterConf.cs" />
|
|
||||||
<Compile Include="AdapterESA.cs" />
|
|
||||||
<Compile Include="AdapterOsai.cs" />
|
|
||||||
<Compile Include="AdapterSiemens.cs" />
|
|
||||||
<Compile Include="AdapterGeneric.cs" />
|
|
||||||
<Compile Include="AdapterDemo.cs" />
|
|
||||||
<Compile Include="AdapterFanuc.cs" />
|
|
||||||
<Compile Include="MainForm.cs">
|
|
||||||
<SubType>Form</SubType>
|
|
||||||
</Compile>
|
|
||||||
<Compile Include="MainForm.Designer.cs">
|
|
||||||
<DependentUpon>MainForm.cs</DependentUpon>
|
|
||||||
</Compile>
|
|
||||||
<Compile Include="EnumExtensions.cs" />
|
|
||||||
<Compile Include="Program.cs" />
|
|
||||||
<Compile Include="Properties\AssemblyInfo.cs" />
|
|
||||||
<Compile Include="SetupAdapter.cs">
|
|
||||||
<SubType>Form</SubType>
|
|
||||||
</Compile>
|
|
||||||
<Compile Include="SetupAdapter.Designer.cs">
|
|
||||||
<DependentUpon>SetupAdapter.cs</DependentUpon>
|
|
||||||
</Compile>
|
|
||||||
<Compile Include="utils.cs" />
|
|
||||||
<EmbeddedResource Include="MainForm.resx">
|
|
||||||
<DependentUpon>MainForm.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>
|
|
||||||
<EmbeddedResource Include="SetupAdapter.resx">
|
|
||||||
<DependentUpon>SetupAdapter.cs</DependentUpon>
|
|
||||||
</EmbeddedResource>
|
|
||||||
<Content Include="Resources\CMS\Appunti CMS OSAI.txt" />
|
|
||||||
<Content Include="Resources\CMS\OSAI.xml">
|
|
||||||
<SubType>Designer</SubType>
|
|
||||||
</Content>
|
|
||||||
<Content Include="Resources\CMS\SIEMENS.xml">
|
|
||||||
<SubType>Designer</SubType>
|
|
||||||
</Content>
|
|
||||||
<Content Include="Resources\SCM\SCM_ESA.xml" />
|
|
||||||
<Content Include="Readme\Analisi tempi.txt" />
|
|
||||||
<None Include="App.CMS-OSAI.config">
|
|
||||||
<DependentUpon>App.config</DependentUpon>
|
|
||||||
<IsTransformFile>True</IsTransformFile>
|
|
||||||
</None>
|
|
||||||
<None Include="App.CMS-SIEMENS.config">
|
|
||||||
<DependentUpon>App.config</DependentUpon>
|
|
||||||
<IsTransformFile>True</IsTransformFile>
|
|
||||||
</None>
|
|
||||||
<None Include="DATA\CONF\AlarmListCNC.map">
|
|
||||||
<CopyToOutputDirectory>Always</CopyToOutputDirectory>
|
|
||||||
</None>
|
|
||||||
<None Include="DATA\CONF\CounterList.map">
|
|
||||||
<CopyToOutputDirectory>Always</CopyToOutputDirectory>
|
|
||||||
</None>
|
|
||||||
<None Include="App.CMS-FANUC.config">
|
|
||||||
<DependentUpon>App.config</DependentUpon>
|
|
||||||
<IsTransformFile>True</IsTransformFile>
|
|
||||||
</None>
|
|
||||||
<None Include="App.SCM-ESA.config">
|
|
||||||
<DependentUpon>App.config</DependentUpon>
|
|
||||||
<SubType>Designer</SubType>
|
|
||||||
<IsTransformFile>True</IsTransformFile>
|
|
||||||
</None>
|
|
||||||
<None Include="DATA\CmsGeneralStatus.mtc" />
|
|
||||||
<None Include="DATA\CONF\EsaKvara.ini" />
|
|
||||||
<None Include="DATA\CONF\IOT_ByteList.map">
|
|
||||||
<CopyToOutputDirectory>Always</CopyToOutputDirectory>
|
|
||||||
</None>
|
|
||||||
<None Include="DATA\CONF\IOT_DWordList.map">
|
|
||||||
<CopyToOutputDirectory>Always</CopyToOutputDirectory>
|
|
||||||
</None>
|
|
||||||
<None Include="DATA\CONF\IOT_StringList.map">
|
|
||||||
<CopyToOutputDirectory>Always</CopyToOutputDirectory>
|
|
||||||
</None>
|
|
||||||
<None Include="DATA\CONF\IOT_WordList.map">
|
|
||||||
<CopyToOutputDirectory>Always</CopyToOutputDirectory>
|
|
||||||
</None>
|
|
||||||
<None Include="NLog.xsd">
|
|
||||||
<SubType>Designer</SubType>
|
|
||||||
</None>
|
|
||||||
<None Include="Resources\CMS\AlarmListOSAI.map" />
|
|
||||||
<None Include="Resources\CMS\AlarmListEmpty.map" />
|
|
||||||
<None Include="Resources\SCM\AlarmListEsaGvCNC.map" />
|
|
||||||
<None Include="Resources\SCM\cnc.msg" />
|
|
||||||
<None Include="Resources\SCM\IOT_StringList.map" />
|
|
||||||
<None Include="Resources\SCM\IOT_DWordList.map" />
|
|
||||||
<None Include="Resources\SCM\IOT_WordList.map" />
|
|
||||||
<None Include="DATA\CONF\StatusList.map">
|
|
||||||
<CopyToOutputDirectory>Always</CopyToOutputDirectory>
|
|
||||||
</None>
|
|
||||||
<Content Include="DATA\CONF\Adapter_ItemList.xml">
|
|
||||||
<CopyToOutputDirectory>Always</CopyToOutputDirectory>
|
|
||||||
<SubType>Designer</SubType>
|
|
||||||
</Content>
|
|
||||||
<Content Include="ExtLib\DotNetAdapterSDK.dll" />
|
|
||||||
<Content Include="Resources\CMS\probe.xml">
|
|
||||||
<SubType>Designer</SubType>
|
|
||||||
</Content>
|
|
||||||
<None Include="Resources\SCM\IOT_ByteList.map" />
|
|
||||||
<None Include="packages.config" />
|
|
||||||
<None Include="Resources\CMS\AlarmListSIEMENS.map" />
|
|
||||||
<None Include="Resources\SCM\AlarmListEsaGv.map" />
|
|
||||||
<Content Include="Resources\SCM\Appunti doc CFG.txt" />
|
|
||||||
<Content Include="Resources\SCM\Appunti SCM.txt" />
|
|
||||||
<Content Include="Resources\SCM\DecodFileProd.txt" />
|
|
||||||
<Content Include="Resources\SCM\IstruzioniTestProd.txt" />
|
|
||||||
<Content Include="Resources\SCM\README.txt" />
|
|
||||||
<Content Include="Resources\SCM\scm_logo_blu.png" />
|
|
||||||
<Content Include="Resources\SCM\scm_logo_blu_resize.png" />
|
|
||||||
<Content Include="Resources\SCM\VariabiliContatori.txt" />
|
|
||||||
<Content Include="Resources\CMS\CMS.ico" />
|
|
||||||
<Content Include="dump\dump.exe">
|
|
||||||
<CopyToOutputDirectory>Always</CopyToOutputDirectory>
|
|
||||||
</Content>
|
|
||||||
<Content Include="logs\.placeholder.txt">
|
|
||||||
<CopyToOutputDirectory>Always</CopyToOutputDirectory>
|
|
||||||
</Content>
|
|
||||||
<Content Include="Resources\SCM\SCM.ico" />
|
|
||||||
<Content Include="Resources\MTCA.ico">
|
|
||||||
<CopyToOutputDirectory>Always</CopyToOutputDirectory>
|
|
||||||
</Content>
|
|
||||||
<None Include="DATA\CONF\SubModeList.map">
|
|
||||||
<CopyToOutputDirectory>Always</CopyToOutputDirectory>
|
|
||||||
</None>
|
|
||||||
<Content Include="NLog.config">
|
|
||||||
<CopyToOutputDirectory>Always</CopyToOutputDirectory>
|
|
||||||
</Content>
|
|
||||||
<None Include="App.Debug.config">
|
|
||||||
<DependentUpon>App.config</DependentUpon>
|
|
||||||
<IsTransformFile>True</IsTransformFile>
|
|
||||||
</None>
|
|
||||||
<None Include="App.Release.config">
|
|
||||||
<DependentUpon>App.config</DependentUpon>
|
|
||||||
<IsTransformFile>True</IsTransformFile>
|
|
||||||
</None>
|
|
||||||
<None Include="DATA\DAT\PersistData.dat">
|
|
||||||
<CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory>
|
|
||||||
</None>
|
|
||||||
<None Include="Resources\SCM\app.msg" />
|
|
||||||
<None Include="Resources\SCM\convertScmAlarm.ps1" />
|
|
||||||
<Content Include="Resources\SCM\EsaKvara_SIM.ini" />
|
|
||||||
<None Include="dump\build.bat" />
|
|
||||||
<None Include="dump\dump.c" />
|
|
||||||
<None Include="dump\dump.obj" />
|
|
||||||
<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>
|
|
||||||
<Content Include="Resources\SCM\EsaKvara_PROD.ini" />
|
|
||||||
<None Include="Resources\SCM\SCM_prodFile.pro" />
|
|
||||||
<Content Include="Resources\SCM\SCM_prodFile-demo.pro" />
|
|
||||||
<None Include="setupTgt.bat" />
|
|
||||||
</ItemGroup>
|
|
||||||
<ItemGroup>
|
|
||||||
<None Include="App.config">
|
|
||||||
<SubType>Designer</SubType>
|
|
||||||
<TransformOnBuild>true</TransformOnBuild>
|
|
||||||
</None>
|
|
||||||
</ItemGroup>
|
|
||||||
<ItemGroup>
|
|
||||||
<ProjectReference Include="..\CMSCncLib\CMSCncLib.vbproj">
|
|
||||||
<Project>{2d769ffd-1122-4276-a115-29246e6d23c5}</Project>
|
|
||||||
<Name>CMSCncLib</Name>
|
|
||||||
</ProjectReference>
|
|
||||||
<ProjectReference Include="..\MTC\MTC.csproj">
|
|
||||||
<Project>{ec83d80e-9f3b-4de9-b16a-ca216543b7ec}</Project>
|
|
||||||
<Name>MTC</Name>
|
|
||||||
</ProjectReference>
|
|
||||||
<ProjectReference Include="..\SCMCncLib\SCMCncLib.csproj">
|
|
||||||
<Project>{7a12fe26-9c58-4630-973d-d4872374dbaf}</Project>
|
|
||||||
<Name>SCMCncLib</Name>
|
|
||||||
</ProjectReference>
|
|
||||||
</ItemGroup>
|
|
||||||
<ItemGroup>
|
|
||||||
<Content Include="Resources\CMS\FANUC.xml">
|
|
||||||
<SubType>Designer</SubType>
|
|
||||||
</Content>
|
|
||||||
<None Include="DATA\CONF\AlarmList.map">
|
|
||||||
<CopyToOutputDirectory>Always</CopyToOutputDirectory>
|
|
||||||
</None>
|
|
||||||
<None Include="Resources\CMS\AlarmListFANUC.map" />
|
|
||||||
<Content Include="Resources\CMS\Appunti CMS FANUC.txt" />
|
|
||||||
<None Include="DATA\CONF\HaltTypeList.map">
|
|
||||||
<CopyToOutputDirectory>Always</CopyToOutputDirectory>
|
|
||||||
</None>
|
|
||||||
</ItemGroup>
|
|
||||||
<ItemGroup>
|
|
||||||
<BootstrapperPackage Include=".NETFramework,Version=v4.5.2">
|
|
||||||
<Visible>False</Visible>
|
|
||||||
<ProductName>Microsoft .NET Framework 4.5.2 %28x86 and x64%29</ProductName>
|
|
||||||
<Install>true</Install>
|
|
||||||
</BootstrapperPackage>
|
|
||||||
<BootstrapperPackage Include="Microsoft.Net.Framework.3.5.SP1">
|
|
||||||
<Visible>False</Visible>
|
|
||||||
<ProductName>.NET Framework 3.5 SP1</ProductName>
|
|
||||||
<Install>false</Install>
|
|
||||||
</BootstrapperPackage>
|
|
||||||
</ItemGroup>
|
|
||||||
<Import Project="$(MSBuildToolsPath)\Microsoft.CSharp.targets" />
|
|
||||||
<!-- To modify your build process, add your task inside one of the targets below and uncomment it.
|
|
||||||
Other similar extension points exist, see Microsoft.Common.targets.
|
|
||||||
<Target Name="BeforeBuild">
|
|
||||||
</Target>
|
|
||||||
<Target Name="AfterBuild">
|
|
||||||
</Target>
|
|
||||||
-->
|
|
||||||
<UsingTask TaskName="TransformXml" AssemblyFile="$(MSBuildExtensionsPath32)\Microsoft\VisualStudio\v$(VisualStudioVersion)\Web\Microsoft.Web.Publishing.Tasks.dll" />
|
|
||||||
<Target Name="AfterCompile" Condition="Exists('App.$(Configuration).config')">
|
|
||||||
<!--Generate transformed app config in the intermediate directory-->
|
|
||||||
<TransformXml Source="App.config" Destination="$(IntermediateOutputPath)$(TargetFileName).config" Transform="App.$(Configuration).config" />
|
|
||||||
<!--Force build process to use the transformed configuration file from now on.-->
|
|
||||||
<ItemGroup>
|
|
||||||
<AppConfigWithTargetPath Remove="App.config" />
|
|
||||||
<AppConfigWithTargetPath Include="$(IntermediateOutputPath)$(TargetFileName).config">
|
|
||||||
<TargetPath>$(TargetFileName).config</TargetPath>
|
|
||||||
</AppConfigWithTargetPath>
|
|
||||||
</ItemGroup>
|
|
||||||
</Target>
|
|
||||||
<PropertyGroup>
|
|
||||||
<PreBuildEvent>"$(ProjectDir)setupTgt.bat" "$(ConfigurationName)" "$(ProjectDir)"</PreBuildEvent>
|
|
||||||
</PropertyGroup>
|
|
||||||
<!--Override After Publish to support ClickOnce AfterPublish. Target replaces the untransformed config file copied to the deployment directory with the transformed one.-->
|
|
||||||
<Target Name="AfterPublish">
|
|
||||||
<PropertyGroup>
|
|
||||||
<DeployedConfig>$(_DeploymentApplicationDir)$(TargetName)$(TargetExt).config$(_DeploymentFileMappingExtension)</DeployedConfig>
|
|
||||||
</PropertyGroup>
|
|
||||||
<!--Publish copies the untransformed App.config to deployment directory so overwrite it-->
|
|
||||||
<Copy Condition="Exists('$(DeployedConfig)')" SourceFiles="$(IntermediateOutputPath)$(TargetFileName).config" DestinationFiles="$(DeployedConfig)" />
|
|
||||||
</Target>
|
|
||||||
<Target Name="AfterBuild">
|
|
||||||
<ItemGroup>
|
|
||||||
<MoveToLibFolder Include="$(OutputPath)*.dll ; $(OutputPath)*.pdb ; $(OutputPath)*.xml" />
|
|
||||||
</ItemGroup>
|
|
||||||
<Move SourceFiles="@(MoveToLibFolder)" DestinationFolder="$(OutputPath)lib" OverwriteReadOnlyFiles="true" />
|
|
||||||
</Target>
|
|
||||||
<Import Project="..\packages\SlowCheetah.2.5.48\build\SlowCheetah.targets" Condition="Exists('..\packages\SlowCheetah.2.5.48\build\SlowCheetah.targets')" />
|
|
||||||
<Target Name="EnsureNuGetPackageBuildImports" BeforeTargets="PrepareForBuild">
|
|
||||||
<PropertyGroup>
|
|
||||||
<ErrorText>Questo progetto fa riferimento a uno o più pacchetti NuGet che non sono presenti in questo computer. Usare lo strumento di ripristino dei pacchetti NuGet per scaricarli. Per altre informazioni, vedere http://go.microsoft.com/fwlink/?LinkID=322105. Il file mancante è {0}.</ErrorText>
|
|
||||||
</PropertyGroup>
|
|
||||||
<Error Condition="!Exists('..\packages\SlowCheetah.2.5.48\build\SlowCheetah.targets')" Text="$([System.String]::Format('$(ErrorText)', '..\packages\SlowCheetah.2.5.48\build\SlowCheetah.targets'))" />
|
|
||||||
</Target>
|
|
||||||
</Project>
|
|
||||||
-2311
File diff suppressed because it is too large
Load Diff
Binary file not shown.
|
Before Width: | Height: | Size: 1.1 KiB |
Binary file not shown.
|
Before Width: | Height: | Size: 145 KiB |
-409
@@ -1,409 +0,0 @@
|
|||||||
namespace MTC_Adapter
|
|
||||||
{
|
|
||||||
partial class SetupAdapter
|
|
||||||
{
|
|
||||||
/// <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(SetupAdapter));
|
|
||||||
this.txtAdapter = new System.Windows.Forms.TextBox();
|
|
||||||
this.label1 = new System.Windows.Forms.Label();
|
|
||||||
this.label2 = new System.Windows.Forms.Label();
|
|
||||||
this.txtFileName = new System.Windows.Forms.TextBox();
|
|
||||||
this.btnSave = new System.Windows.Forms.Button();
|
|
||||||
this.btnLoad = new System.Windows.Forms.Button();
|
|
||||||
this.label3 = new System.Windows.Forms.Label();
|
|
||||||
this.nVacPump = new System.Windows.Forms.TextBox();
|
|
||||||
this.label4 = new System.Windows.Forms.Label();
|
|
||||||
this.nVacAct = new System.Windows.Forms.TextBox();
|
|
||||||
this.label5 = new System.Windows.Forms.Label();
|
|
||||||
this.cbTipoAdapt = new System.Windows.Forms.ComboBox();
|
|
||||||
this.label6 = new System.Windows.Forms.Label();
|
|
||||||
this.nLubro = new System.Windows.Forms.TextBox();
|
|
||||||
this.label7 = new System.Windows.Forms.Label();
|
|
||||||
this.nCooler = new System.Windows.Forms.TextBox();
|
|
||||||
this.label8 = new System.Windows.Forms.Label();
|
|
||||||
this.nPress = new System.Windows.Forms.TextBox();
|
|
||||||
this.label9 = new System.Windows.Forms.Label();
|
|
||||||
this.nTempe = new System.Windows.Forms.TextBox();
|
|
||||||
this.label10 = new System.Windows.Forms.Label();
|
|
||||||
this.nPath = new System.Windows.Forms.TextBox();
|
|
||||||
this.label11 = new System.Windows.Forms.Label();
|
|
||||||
this.nUnOp = new System.Windows.Forms.TextBox();
|
|
||||||
this.label12 = new System.Windows.Forms.Label();
|
|
||||||
this.nAssi = new System.Windows.Forms.TextBox();
|
|
||||||
this.label13 = new System.Windows.Forms.Label();
|
|
||||||
this.nMemArea = new System.Windows.Forms.TextBox();
|
|
||||||
this.SuspendLayout();
|
|
||||||
//
|
|
||||||
// txtAdapter
|
|
||||||
//
|
|
||||||
this.txtAdapter.Location = new System.Drawing.Point(121, 12);
|
|
||||||
this.txtAdapter.Margin = new System.Windows.Forms.Padding(4, 4, 4, 4);
|
|
||||||
this.txtAdapter.Name = "txtAdapter";
|
|
||||||
this.txtAdapter.Size = new System.Drawing.Size(284, 22);
|
|
||||||
this.txtAdapter.TabIndex = 0;
|
|
||||||
this.txtAdapter.Text = "CMS_ADAPTER_00";
|
|
||||||
//
|
|
||||||
// label1
|
|
||||||
//
|
|
||||||
this.label1.AutoSize = true;
|
|
||||||
this.label1.Location = new System.Drawing.Point(29, 16);
|
|
||||||
this.label1.Margin = new System.Windows.Forms.Padding(4, 0, 4, 0);
|
|
||||||
this.label1.Name = "label1";
|
|
||||||
this.label1.Size = new System.Drawing.Size(73, 17);
|
|
||||||
this.label1.TabIndex = 1;
|
|
||||||
this.label1.Text = "ADAPTER";
|
|
||||||
//
|
|
||||||
// label2
|
|
||||||
//
|
|
||||||
this.label2.AutoSize = true;
|
|
||||||
this.label2.Location = new System.Drawing.Point(415, 16);
|
|
||||||
this.label2.Margin = new System.Windows.Forms.Padding(4, 0, 4, 0);
|
|
||||||
this.label2.Name = "label2";
|
|
||||||
this.label2.Size = new System.Drawing.Size(79, 17);
|
|
||||||
this.label2.TabIndex = 3;
|
|
||||||
this.label2.Text = "FILE NAME";
|
|
||||||
//
|
|
||||||
// txtFileName
|
|
||||||
//
|
|
||||||
this.txtFileName.Location = new System.Drawing.Point(507, 12);
|
|
||||||
this.txtFileName.Margin = new System.Windows.Forms.Padding(4, 4, 4, 4);
|
|
||||||
this.txtFileName.Name = "txtFileName";
|
|
||||||
this.txtFileName.Size = new System.Drawing.Size(161, 22);
|
|
||||||
this.txtFileName.TabIndex = 2;
|
|
||||||
this.txtFileName.Text = "Adapter_ItemList.xml";
|
|
||||||
//
|
|
||||||
// btnSave
|
|
||||||
//
|
|
||||||
this.btnSave.Location = new System.Drawing.Point(639, 575);
|
|
||||||
this.btnSave.Margin = new System.Windows.Forms.Padding(4, 4, 4, 4);
|
|
||||||
this.btnSave.Name = "btnSave";
|
|
||||||
this.btnSave.Size = new System.Drawing.Size(268, 47);
|
|
||||||
this.btnSave.TabIndex = 4;
|
|
||||||
this.btnSave.Text = "SAVE CONFIGURATION";
|
|
||||||
this.btnSave.UseVisualStyleBackColor = true;
|
|
||||||
this.btnSave.Click += new System.EventHandler(this.btnCreateFile_Click);
|
|
||||||
//
|
|
||||||
// btnLoad
|
|
||||||
//
|
|
||||||
this.btnLoad.Location = new System.Drawing.Point(21, 575);
|
|
||||||
this.btnLoad.Margin = new System.Windows.Forms.Padding(4, 4, 4, 4);
|
|
||||||
this.btnLoad.Name = "btnLoad";
|
|
||||||
this.btnLoad.Size = new System.Drawing.Size(268, 47);
|
|
||||||
this.btnLoad.TabIndex = 5;
|
|
||||||
this.btnLoad.Text = "LOAD CONFIGURATION";
|
|
||||||
this.btnLoad.UseVisualStyleBackColor = true;
|
|
||||||
this.btnLoad.Click += new System.EventHandler(this.btnLoad_Click);
|
|
||||||
//
|
|
||||||
// label3
|
|
||||||
//
|
|
||||||
this.label3.AutoSize = true;
|
|
||||||
this.label3.Location = new System.Drawing.Point(13, 48);
|
|
||||||
this.label3.Margin = new System.Windows.Forms.Padding(4, 0, 4, 0);
|
|
||||||
this.label3.Name = "label3";
|
|
||||||
this.label3.Size = new System.Drawing.Size(96, 17);
|
|
||||||
this.label3.TabIndex = 7;
|
|
||||||
this.label3.Text = "n° VAC PUMP";
|
|
||||||
//
|
|
||||||
// nVacPump
|
|
||||||
//
|
|
||||||
this.nVacPump.Location = new System.Drawing.Point(121, 44);
|
|
||||||
this.nVacPump.Margin = new System.Windows.Forms.Padding(4, 4, 4, 4);
|
|
||||||
this.nVacPump.Name = "nVacPump";
|
|
||||||
this.nVacPump.Size = new System.Drawing.Size(43, 22);
|
|
||||||
this.nVacPump.TabIndex = 6;
|
|
||||||
this.nVacPump.Text = "1";
|
|
||||||
//
|
|
||||||
// label4
|
|
||||||
//
|
|
||||||
this.label4.AutoSize = true;
|
|
||||||
this.label4.Location = new System.Drawing.Point(235, 48);
|
|
||||||
this.label4.Margin = new System.Windows.Forms.Padding(4, 0, 4, 0);
|
|
||||||
this.label4.Name = "label4";
|
|
||||||
this.label4.Size = new System.Drawing.Size(77, 17);
|
|
||||||
this.label4.TabIndex = 9;
|
|
||||||
this.label4.Text = "n° VAC Act";
|
|
||||||
//
|
|
||||||
// nVacAct
|
|
||||||
//
|
|
||||||
this.nVacAct.Location = new System.Drawing.Point(323, 44);
|
|
||||||
this.nVacAct.Margin = new System.Windows.Forms.Padding(4, 4, 4, 4);
|
|
||||||
this.nVacAct.Name = "nVacAct";
|
|
||||||
this.nVacAct.Size = new System.Drawing.Size(43, 22);
|
|
||||||
this.nVacAct.TabIndex = 8;
|
|
||||||
this.nVacAct.Text = "2";
|
|
||||||
//
|
|
||||||
// label5
|
|
||||||
//
|
|
||||||
this.label5.AutoSize = true;
|
|
||||||
this.label5.Location = new System.Drawing.Point(689, 16);
|
|
||||||
this.label5.Margin = new System.Windows.Forms.Padding(4, 0, 4, 0);
|
|
||||||
this.label5.Name = "label5";
|
|
||||||
this.label5.Size = new System.Drawing.Size(40, 17);
|
|
||||||
this.label5.TabIndex = 10;
|
|
||||||
this.label5.Text = "TIPO";
|
|
||||||
//
|
|
||||||
// cbTipoAdapt
|
|
||||||
//
|
|
||||||
this.cbTipoAdapt.FormattingEnabled = true;
|
|
||||||
this.cbTipoAdapt.Items.AddRange(new object[] {
|
|
||||||
"DEMO",
|
|
||||||
"ESAGV",
|
|
||||||
"FANUC",
|
|
||||||
"SIEMENS"});
|
|
||||||
this.cbTipoAdapt.Location = new System.Drawing.Point(740, 12);
|
|
||||||
this.cbTipoAdapt.Margin = new System.Windows.Forms.Padding(4, 4, 4, 4);
|
|
||||||
this.cbTipoAdapt.Name = "cbTipoAdapt";
|
|
||||||
this.cbTipoAdapt.Size = new System.Drawing.Size(160, 24);
|
|
||||||
this.cbTipoAdapt.TabIndex = 11;
|
|
||||||
//
|
|
||||||
// label6
|
|
||||||
//
|
|
||||||
this.label6.AutoSize = true;
|
|
||||||
this.label6.Location = new System.Drawing.Point(419, 48);
|
|
||||||
this.label6.Margin = new System.Windows.Forms.Padding(4, 0, 4, 0);
|
|
||||||
this.label6.Name = "label6";
|
|
||||||
this.label6.Size = new System.Drawing.Size(74, 17);
|
|
||||||
this.label6.TabIndex = 13;
|
|
||||||
this.label6.Text = "n° LUBRO";
|
|
||||||
//
|
|
||||||
// nLubro
|
|
||||||
//
|
|
||||||
this.nLubro.Location = new System.Drawing.Point(507, 44);
|
|
||||||
this.nLubro.Margin = new System.Windows.Forms.Padding(4, 4, 4, 4);
|
|
||||||
this.nLubro.Name = "nLubro";
|
|
||||||
this.nLubro.Size = new System.Drawing.Size(43, 22);
|
|
||||||
this.nLubro.TabIndex = 12;
|
|
||||||
this.nLubro.Text = "1";
|
|
||||||
//
|
|
||||||
// label7
|
|
||||||
//
|
|
||||||
this.label7.AutoSize = true;
|
|
||||||
this.label7.Location = new System.Drawing.Point(631, 48);
|
|
||||||
this.label7.Margin = new System.Windows.Forms.Padding(4, 0, 4, 0);
|
|
||||||
this.label7.Name = "label7";
|
|
||||||
this.label7.Size = new System.Drawing.Size(84, 17);
|
|
||||||
this.label7.TabIndex = 15;
|
|
||||||
this.label7.Text = "n° COOLER";
|
|
||||||
//
|
|
||||||
// nCooler
|
|
||||||
//
|
|
||||||
this.nCooler.Location = new System.Drawing.Point(719, 44);
|
|
||||||
this.nCooler.Margin = new System.Windows.Forms.Padding(4, 4, 4, 4);
|
|
||||||
this.nCooler.Name = "nCooler";
|
|
||||||
this.nCooler.Size = new System.Drawing.Size(43, 22);
|
|
||||||
this.nCooler.TabIndex = 14;
|
|
||||||
this.nCooler.Text = "2";
|
|
||||||
//
|
|
||||||
// label8
|
|
||||||
//
|
|
||||||
this.label8.AutoSize = true;
|
|
||||||
this.label8.Location = new System.Drawing.Point(33, 80);
|
|
||||||
this.label8.Margin = new System.Windows.Forms.Padding(4, 0, 4, 0);
|
|
||||||
this.label8.Name = "label8";
|
|
||||||
this.label8.Size = new System.Drawing.Size(72, 17);
|
|
||||||
this.label8.TabIndex = 17;
|
|
||||||
this.label8.Text = "n° PRESS";
|
|
||||||
//
|
|
||||||
// nPress
|
|
||||||
//
|
|
||||||
this.nPress.Location = new System.Drawing.Point(121, 76);
|
|
||||||
this.nPress.Margin = new System.Windows.Forms.Padding(4, 4, 4, 4);
|
|
||||||
this.nPress.Name = "nPress";
|
|
||||||
this.nPress.Size = new System.Drawing.Size(43, 22);
|
|
||||||
this.nPress.TabIndex = 16;
|
|
||||||
this.nPress.Text = "1";
|
|
||||||
//
|
|
||||||
// label9
|
|
||||||
//
|
|
||||||
this.label9.AutoSize = true;
|
|
||||||
this.label9.Location = new System.Drawing.Point(235, 80);
|
|
||||||
this.label9.Margin = new System.Windows.Forms.Padding(4, 0, 4, 0);
|
|
||||||
this.label9.Name = "label9";
|
|
||||||
this.label9.Size = new System.Drawing.Size(64, 17);
|
|
||||||
this.label9.TabIndex = 19;
|
|
||||||
this.label9.Text = "n° TEMP";
|
|
||||||
//
|
|
||||||
// nTempe
|
|
||||||
//
|
|
||||||
this.nTempe.Location = new System.Drawing.Point(323, 76);
|
|
||||||
this.nTempe.Margin = new System.Windows.Forms.Padding(4, 4, 4, 4);
|
|
||||||
this.nTempe.Name = "nTempe";
|
|
||||||
this.nTempe.Size = new System.Drawing.Size(43, 22);
|
|
||||||
this.nTempe.TabIndex = 18;
|
|
||||||
this.nTempe.Text = "1";
|
|
||||||
//
|
|
||||||
// label10
|
|
||||||
//
|
|
||||||
this.label10.AutoSize = true;
|
|
||||||
this.label10.Location = new System.Drawing.Point(419, 80);
|
|
||||||
this.label10.Margin = new System.Windows.Forms.Padding(4, 0, 4, 0);
|
|
||||||
this.label10.Name = "label10";
|
|
||||||
this.label10.Size = new System.Drawing.Size(63, 17);
|
|
||||||
this.label10.TabIndex = 21;
|
|
||||||
this.label10.Text = "n° PATH";
|
|
||||||
//
|
|
||||||
// nPath
|
|
||||||
//
|
|
||||||
this.nPath.Location = new System.Drawing.Point(507, 76);
|
|
||||||
this.nPath.Margin = new System.Windows.Forms.Padding(4, 4, 4, 4);
|
|
||||||
this.nPath.Name = "nPath";
|
|
||||||
this.nPath.Size = new System.Drawing.Size(43, 22);
|
|
||||||
this.nPath.TabIndex = 20;
|
|
||||||
this.nPath.Text = "1";
|
|
||||||
//
|
|
||||||
// label11
|
|
||||||
//
|
|
||||||
this.label11.AutoSize = true;
|
|
||||||
this.label11.Location = new System.Drawing.Point(631, 80);
|
|
||||||
this.label11.Margin = new System.Windows.Forms.Padding(4, 0, 4, 0);
|
|
||||||
this.label11.Name = "label11";
|
|
||||||
this.label11.Size = new System.Drawing.Size(68, 17);
|
|
||||||
this.label11.TabIndex = 23;
|
|
||||||
this.label11.Text = "n° Un OP";
|
|
||||||
//
|
|
||||||
// nUnOp
|
|
||||||
//
|
|
||||||
this.nUnOp.Location = new System.Drawing.Point(719, 76);
|
|
||||||
this.nUnOp.Margin = new System.Windows.Forms.Padding(4, 4, 4, 4);
|
|
||||||
this.nUnOp.Name = "nUnOp";
|
|
||||||
this.nUnOp.Size = new System.Drawing.Size(43, 22);
|
|
||||||
this.nUnOp.TabIndex = 22;
|
|
||||||
this.nUnOp.Text = "1";
|
|
||||||
//
|
|
||||||
// label12
|
|
||||||
//
|
|
||||||
this.label12.AutoSize = true;
|
|
||||||
this.label12.Location = new System.Drawing.Point(33, 112);
|
|
||||||
this.label12.Margin = new System.Windows.Forms.Padding(4, 0, 4, 0);
|
|
||||||
this.label12.Name = "label12";
|
|
||||||
this.label12.Size = new System.Drawing.Size(52, 17);
|
|
||||||
this.label12.TabIndex = 25;
|
|
||||||
this.label12.Text = "n° Assi";
|
|
||||||
//
|
|
||||||
// nAssi
|
|
||||||
//
|
|
||||||
this.nAssi.Location = new System.Drawing.Point(121, 108);
|
|
||||||
this.nAssi.Margin = new System.Windows.Forms.Padding(4, 4, 4, 4);
|
|
||||||
this.nAssi.Name = "nAssi";
|
|
||||||
this.nAssi.Size = new System.Drawing.Size(43, 22);
|
|
||||||
this.nAssi.TabIndex = 24;
|
|
||||||
this.nAssi.Text = "1";
|
|
||||||
//
|
|
||||||
// label13
|
|
||||||
//
|
|
||||||
this.label13.AutoSize = true;
|
|
||||||
this.label13.Location = new System.Drawing.Point(235, 116);
|
|
||||||
this.label13.Margin = new System.Windows.Forms.Padding(4, 0, 4, 0);
|
|
||||||
this.label13.Name = "label13";
|
|
||||||
this.label13.Size = new System.Drawing.Size(86, 17);
|
|
||||||
this.label13.TabIndex = 27;
|
|
||||||
this.label13.Text = "n° MemArea";
|
|
||||||
//
|
|
||||||
// nMemArea
|
|
||||||
//
|
|
||||||
this.nMemArea.Location = new System.Drawing.Point(323, 112);
|
|
||||||
this.nMemArea.Margin = new System.Windows.Forms.Padding(4);
|
|
||||||
this.nMemArea.Name = "nMemArea";
|
|
||||||
this.nMemArea.Size = new System.Drawing.Size(43, 22);
|
|
||||||
this.nMemArea.TabIndex = 26;
|
|
||||||
this.nMemArea.Text = "1";
|
|
||||||
//
|
|
||||||
// SetupAdapter
|
|
||||||
//
|
|
||||||
this.AutoScaleDimensions = new System.Drawing.SizeF(8F, 16F);
|
|
||||||
this.AutoScaleMode = System.Windows.Forms.AutoScaleMode.Font;
|
|
||||||
this.ClientSize = new System.Drawing.Size(923, 636);
|
|
||||||
this.Controls.Add(this.label13);
|
|
||||||
this.Controls.Add(this.nMemArea);
|
|
||||||
this.Controls.Add(this.label12);
|
|
||||||
this.Controls.Add(this.nAssi);
|
|
||||||
this.Controls.Add(this.label11);
|
|
||||||
this.Controls.Add(this.nUnOp);
|
|
||||||
this.Controls.Add(this.label10);
|
|
||||||
this.Controls.Add(this.nPath);
|
|
||||||
this.Controls.Add(this.label9);
|
|
||||||
this.Controls.Add(this.nTempe);
|
|
||||||
this.Controls.Add(this.label8);
|
|
||||||
this.Controls.Add(this.nPress);
|
|
||||||
this.Controls.Add(this.label7);
|
|
||||||
this.Controls.Add(this.nCooler);
|
|
||||||
this.Controls.Add(this.label6);
|
|
||||||
this.Controls.Add(this.nLubro);
|
|
||||||
this.Controls.Add(this.cbTipoAdapt);
|
|
||||||
this.Controls.Add(this.label5);
|
|
||||||
this.Controls.Add(this.label4);
|
|
||||||
this.Controls.Add(this.nVacAct);
|
|
||||||
this.Controls.Add(this.label3);
|
|
||||||
this.Controls.Add(this.nVacPump);
|
|
||||||
this.Controls.Add(this.btnLoad);
|
|
||||||
this.Controls.Add(this.btnSave);
|
|
||||||
this.Controls.Add(this.label2);
|
|
||||||
this.Controls.Add(this.txtFileName);
|
|
||||||
this.Controls.Add(this.label1);
|
|
||||||
this.Controls.Add(this.txtAdapter);
|
|
||||||
this.Icon = ((System.Drawing.Icon)(resources.GetObject("$this.Icon")));
|
|
||||||
this.Margin = new System.Windows.Forms.Padding(4, 4, 4, 4);
|
|
||||||
this.Name = "SetupAdapter";
|
|
||||||
this.Text = "Adapter Setup Manager";
|
|
||||||
this.ResumeLayout(false);
|
|
||||||
this.PerformLayout();
|
|
||||||
|
|
||||||
}
|
|
||||||
|
|
||||||
#endregion
|
|
||||||
|
|
||||||
private System.Windows.Forms.TextBox txtAdapter;
|
|
||||||
private System.Windows.Forms.Label label1;
|
|
||||||
private System.Windows.Forms.Label label2;
|
|
||||||
private System.Windows.Forms.TextBox txtFileName;
|
|
||||||
private System.Windows.Forms.Button btnSave;
|
|
||||||
private System.Windows.Forms.Button btnLoad;
|
|
||||||
private System.Windows.Forms.Label label3;
|
|
||||||
private System.Windows.Forms.TextBox nVacPump;
|
|
||||||
private System.Windows.Forms.Label label4;
|
|
||||||
private System.Windows.Forms.TextBox nVacAct;
|
|
||||||
private System.Windows.Forms.Label label5;
|
|
||||||
private System.Windows.Forms.ComboBox cbTipoAdapt;
|
|
||||||
private System.Windows.Forms.Label label6;
|
|
||||||
private System.Windows.Forms.TextBox nLubro;
|
|
||||||
private System.Windows.Forms.Label label7;
|
|
||||||
private System.Windows.Forms.TextBox nCooler;
|
|
||||||
private System.Windows.Forms.Label label8;
|
|
||||||
private System.Windows.Forms.TextBox nPress;
|
|
||||||
private System.Windows.Forms.Label label9;
|
|
||||||
private System.Windows.Forms.TextBox nTempe;
|
|
||||||
private System.Windows.Forms.Label label10;
|
|
||||||
private System.Windows.Forms.TextBox nPath;
|
|
||||||
private System.Windows.Forms.Label label11;
|
|
||||||
private System.Windows.Forms.TextBox nUnOp;
|
|
||||||
private System.Windows.Forms.Label label12;
|
|
||||||
private System.Windows.Forms.TextBox nAssi;
|
|
||||||
private System.Windows.Forms.Label label13;
|
|
||||||
private System.Windows.Forms.TextBox nMemArea;
|
|
||||||
}
|
|
||||||
}
|
|
||||||
@@ -1,480 +0,0 @@
|
|||||||
using MTC;
|
|
||||||
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 MTC_Adapter
|
|
||||||
{
|
|
||||||
public partial class SetupAdapter : Form
|
|
||||||
{
|
|
||||||
public SetupAdapter()
|
|
||||||
{
|
|
||||||
InitializeComponent();
|
|
||||||
|
|
||||||
// fix icon!
|
|
||||||
this.Icon = Icon.ExtractAssociatedIcon(defIconFilePath);
|
|
||||||
}
|
|
||||||
protected string defIconFilePath
|
|
||||||
{
|
|
||||||
get
|
|
||||||
{
|
|
||||||
return string.Format(@"{0}\MTCA.ico", utils.resxDir);
|
|
||||||
}
|
|
||||||
}
|
|
||||||
/// <summary>
|
|
||||||
/// Percorso file completo
|
|
||||||
/// </summary>
|
|
||||||
protected string filePath
|
|
||||||
{
|
|
||||||
get
|
|
||||||
{
|
|
||||||
return string.Format("{0}/{1}", utils.CRS("dataConfPath"), txtFileName.Text);
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
protected int numVacPump
|
|
||||||
{
|
|
||||||
get
|
|
||||||
{
|
|
||||||
int answ = 0;
|
|
||||||
try
|
|
||||||
{
|
|
||||||
answ = Convert.ToInt32(nVacPump.Text);
|
|
||||||
}
|
|
||||||
catch
|
|
||||||
{ }
|
|
||||||
return answ;
|
|
||||||
}
|
|
||||||
set
|
|
||||||
{
|
|
||||||
nVacPump.Text = value.ToString();
|
|
||||||
}
|
|
||||||
}
|
|
||||||
protected int numVacAct
|
|
||||||
{
|
|
||||||
get
|
|
||||||
{
|
|
||||||
int answ = 0;
|
|
||||||
try
|
|
||||||
{
|
|
||||||
answ = Convert.ToInt32(nVacAct.Text);
|
|
||||||
}
|
|
||||||
catch
|
|
||||||
{ }
|
|
||||||
return answ;
|
|
||||||
}
|
|
||||||
set
|
|
||||||
{
|
|
||||||
nVacAct.Text = value.ToString();
|
|
||||||
}
|
|
||||||
}
|
|
||||||
protected int numLubro
|
|
||||||
{
|
|
||||||
get
|
|
||||||
{
|
|
||||||
int answ = 0;
|
|
||||||
try
|
|
||||||
{
|
|
||||||
answ = Convert.ToInt32(nLubro.Text);
|
|
||||||
}
|
|
||||||
catch
|
|
||||||
{ }
|
|
||||||
return answ;
|
|
||||||
}
|
|
||||||
set
|
|
||||||
{
|
|
||||||
nLubro.Text = value.ToString();
|
|
||||||
}
|
|
||||||
}
|
|
||||||
protected int numCooler
|
|
||||||
{
|
|
||||||
get
|
|
||||||
{
|
|
||||||
int answ = 0;
|
|
||||||
try
|
|
||||||
{
|
|
||||||
answ = Convert.ToInt32(nCooler.Text);
|
|
||||||
}
|
|
||||||
catch
|
|
||||||
{ }
|
|
||||||
return answ;
|
|
||||||
}
|
|
||||||
set
|
|
||||||
{
|
|
||||||
nCooler.Text = value.ToString();
|
|
||||||
}
|
|
||||||
}
|
|
||||||
protected int numPress
|
|
||||||
{
|
|
||||||
get
|
|
||||||
{
|
|
||||||
int answ = 0;
|
|
||||||
try
|
|
||||||
{
|
|
||||||
answ = Convert.ToInt32(nPress.Text);
|
|
||||||
}
|
|
||||||
catch
|
|
||||||
{ }
|
|
||||||
return answ;
|
|
||||||
}
|
|
||||||
set
|
|
||||||
{
|
|
||||||
nPress.Text = value.ToString();
|
|
||||||
}
|
|
||||||
}
|
|
||||||
protected int numTemp
|
|
||||||
{
|
|
||||||
get
|
|
||||||
{
|
|
||||||
int answ = 0;
|
|
||||||
try
|
|
||||||
{
|
|
||||||
answ = Convert.ToInt32(nTempe.Text);
|
|
||||||
}
|
|
||||||
catch
|
|
||||||
{ }
|
|
||||||
return answ;
|
|
||||||
}
|
|
||||||
set
|
|
||||||
{
|
|
||||||
nTempe.Text = value.ToString();
|
|
||||||
}
|
|
||||||
}
|
|
||||||
protected int numPath
|
|
||||||
{
|
|
||||||
get
|
|
||||||
{
|
|
||||||
int answ = 0;
|
|
||||||
try
|
|
||||||
{
|
|
||||||
answ = Convert.ToInt32(nPath.Text);
|
|
||||||
}
|
|
||||||
catch
|
|
||||||
{ }
|
|
||||||
return answ;
|
|
||||||
}
|
|
||||||
set
|
|
||||||
{
|
|
||||||
nPath.Text = value.ToString();
|
|
||||||
}
|
|
||||||
}
|
|
||||||
protected int numUnOp
|
|
||||||
{
|
|
||||||
get
|
|
||||||
{
|
|
||||||
int answ = 0;
|
|
||||||
try
|
|
||||||
{
|
|
||||||
answ = Convert.ToInt32(nUnOp.Text);
|
|
||||||
}
|
|
||||||
catch
|
|
||||||
{ }
|
|
||||||
return answ;
|
|
||||||
}
|
|
||||||
set
|
|
||||||
{
|
|
||||||
nUnOp.Text = value.ToString();
|
|
||||||
}
|
|
||||||
}
|
|
||||||
protected int numAxis
|
|
||||||
{
|
|
||||||
get
|
|
||||||
{
|
|
||||||
int answ = 0;
|
|
||||||
try
|
|
||||||
{
|
|
||||||
answ = Convert.ToInt32(nAssi.Text);
|
|
||||||
}
|
|
||||||
catch
|
|
||||||
{ }
|
|
||||||
return answ;
|
|
||||||
}
|
|
||||||
set
|
|
||||||
{
|
|
||||||
nAssi.Text = value.ToString();
|
|
||||||
}
|
|
||||||
}
|
|
||||||
protected int numMemArea
|
|
||||||
{
|
|
||||||
get
|
|
||||||
{
|
|
||||||
int answ = 0;
|
|
||||||
try
|
|
||||||
{
|
|
||||||
answ = Convert.ToInt32(nMemArea.Text);
|
|
||||||
}
|
|
||||||
catch
|
|
||||||
{ }
|
|
||||||
return answ;
|
|
||||||
}
|
|
||||||
set
|
|
||||||
{
|
|
||||||
nMemArea.Text = value.ToString();
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
protected element[] oAxisLoad { get; set; }
|
|
||||||
|
|
||||||
private void btnCreateFile_Click(object sender, EventArgs e)
|
|
||||||
{
|
|
||||||
// creo un nuovo file adapter...
|
|
||||||
AdapterConf c = new AdapterConf();
|
|
||||||
// nome da txtbox, vers 1
|
|
||||||
c.NomeAdapt = txtAdapter.Text;
|
|
||||||
c.Version = 1;
|
|
||||||
// tipo da selettore
|
|
||||||
string valTipo = "";
|
|
||||||
try
|
|
||||||
{
|
|
||||||
valTipo = cbTipoAdapt.SelectedItem.ToString().ToUpper();
|
|
||||||
}
|
|
||||||
catch
|
|
||||||
{
|
|
||||||
valTipo = cbTipoAdapt.SelectedText;
|
|
||||||
}
|
|
||||||
switch (valTipo)
|
|
||||||
{
|
|
||||||
case "FANUC":
|
|
||||||
c.TipoAdapt = tipoAdapter.FANUC;
|
|
||||||
break;
|
|
||||||
case "SIEMENS":
|
|
||||||
c.TipoAdapt = tipoAdapter.SIEMENS;
|
|
||||||
break;
|
|
||||||
case "HMI-ESA":
|
|
||||||
case "HMI_ESA":
|
|
||||||
case "ESAGV":
|
|
||||||
c.TipoAdapt = tipoAdapter.ESAGV;
|
|
||||||
break;
|
|
||||||
case "DEMO":
|
|
||||||
default:
|
|
||||||
c.TipoAdapt = tipoAdapter.DEMO;
|
|
||||||
break;
|
|
||||||
}
|
|
||||||
|
|
||||||
// init lista parametri
|
|
||||||
List<DataRefItem<string, string>> listaDR;
|
|
||||||
|
|
||||||
// MemArea
|
|
||||||
if (numMemArea > 0)
|
|
||||||
{
|
|
||||||
// creo elementi richiesti
|
|
||||||
element[] MemArea = new element[numMemArea];
|
|
||||||
// ciclo x istanziare!
|
|
||||||
for (int i = 0; i < numMemArea; i++)
|
|
||||||
{
|
|
||||||
// inizializzo list x parametri
|
|
||||||
listaDR = new List<DataRefItem<string, string>>();
|
|
||||||
MemArea[i] = new element(string.Format("MemArea_{0:00}", i + 1), listaDR);
|
|
||||||
}
|
|
||||||
// salvo oggetto
|
|
||||||
c.MemArea = MemArea;
|
|
||||||
}
|
|
||||||
|
|
||||||
// VAC PUMP
|
|
||||||
if (numVacPump > 0)
|
|
||||||
{
|
|
||||||
// creo elementi richiesti
|
|
||||||
element[] VacuumPump = new element[numVacPump];
|
|
||||||
// ciclo x istanziare!
|
|
||||||
for (int i = 0; i < numVacPump; i++)
|
|
||||||
{
|
|
||||||
// inizializzo list x parametri
|
|
||||||
listaDR = new List<DataRefItem<string, string>>();
|
|
||||||
VacuumPump[i] = new element(string.Format("VacPump_{0:00}", i + 1), listaDR);
|
|
||||||
}
|
|
||||||
// salvo oggetto
|
|
||||||
c.VacuumPump = VacuumPump;
|
|
||||||
}
|
|
||||||
|
|
||||||
// VACUUM ACT
|
|
||||||
if (numVacAct > 0)
|
|
||||||
{
|
|
||||||
// creo elementi richiesti
|
|
||||||
element[] VacuumAct = new element[numVacAct];
|
|
||||||
// ciclo x istanziare!
|
|
||||||
for (int i = 0; i < numVacAct; i++)
|
|
||||||
{
|
|
||||||
// inizializzo list x parametri
|
|
||||||
listaDR = new List<DataRefItem<string, string>>();
|
|
||||||
VacuumAct[i] = new element(string.Format("VacAct_{0:00}", i + 1), listaDR);
|
|
||||||
}
|
|
||||||
// salvo oggetto
|
|
||||||
c.VacuumAct = VacuumAct;
|
|
||||||
}
|
|
||||||
|
|
||||||
// LUBRO
|
|
||||||
if (numLubro > 0)
|
|
||||||
{
|
|
||||||
// creo elementi richiesti
|
|
||||||
element[] Lubro = new element[numLubro];
|
|
||||||
// ciclo x istanziare!
|
|
||||||
for (int i = 0; i < numLubro; i++)
|
|
||||||
{
|
|
||||||
// inizializzo list x parametri
|
|
||||||
listaDR = new List<DataRefItem<string, string>>();
|
|
||||||
Lubro[i] = new element(string.Format("Lubro_{0:00}", i + 1), listaDR);
|
|
||||||
}
|
|
||||||
// salvo oggetto
|
|
||||||
c.Lubro = Lubro;
|
|
||||||
}
|
|
||||||
|
|
||||||
// COOLER
|
|
||||||
if (numCooler > 0)
|
|
||||||
{
|
|
||||||
// creo elementi richiesti
|
|
||||||
element[] Cooler = new element[numCooler];
|
|
||||||
// ciclo x istanziare!
|
|
||||||
for (int i = 0; i < numCooler; i++)
|
|
||||||
{
|
|
||||||
// inizializzo list x parametri
|
|
||||||
listaDR = new List<DataRefItem<string, string>>();
|
|
||||||
Cooler[i] = new element(string.Format("Cooler_{0:00}", i + 1), listaDR);
|
|
||||||
}
|
|
||||||
// salvo oggetto
|
|
||||||
c.Cooler = Cooler;
|
|
||||||
}
|
|
||||||
|
|
||||||
// PRESS
|
|
||||||
if (numPress > 0)
|
|
||||||
{
|
|
||||||
// creo elementi richiesti
|
|
||||||
element[] Press = new element[numPress];
|
|
||||||
// ciclo x istanziare!
|
|
||||||
for (int i = 0; i < numPress; i++)
|
|
||||||
{
|
|
||||||
// inizializzo list x parametri
|
|
||||||
listaDR = new List<DataRefItem<string, string>>();
|
|
||||||
Press[i] = new element(string.Format("Press_{0:00}", i + 1), listaDR);
|
|
||||||
}
|
|
||||||
// salvo oggetto
|
|
||||||
c.Press = Press;
|
|
||||||
}
|
|
||||||
|
|
||||||
// TEMPERATURE
|
|
||||||
if (numTemp > 0)
|
|
||||||
{
|
|
||||||
// creo elementi richiesti
|
|
||||||
element[] Temp = new element[numTemp];
|
|
||||||
// ciclo x istanziare!
|
|
||||||
for (int i = 0; i < numTemp; i++)
|
|
||||||
{
|
|
||||||
// inizializzo list x parametri
|
|
||||||
listaDR = new List<DataRefItem<string, string>>();
|
|
||||||
Temp[i] = new element(string.Format("Temp_{0:00}", i + 1), listaDR);
|
|
||||||
}
|
|
||||||
// salvo oggetto
|
|
||||||
c.Temp = Temp;
|
|
||||||
}
|
|
||||||
|
|
||||||
// PATH
|
|
||||||
if (numPath > 0)
|
|
||||||
{
|
|
||||||
// creo elementi richiesti
|
|
||||||
element[] Path = new element[numPath];
|
|
||||||
// ciclo x istanziare!
|
|
||||||
for (int i = 0; i < numPath; i++)
|
|
||||||
{
|
|
||||||
// inizializzo list x parametri
|
|
||||||
listaDR = new List<DataRefItem<string, string>>();
|
|
||||||
Path[i] = new element(string.Format("Path_{0:00}", i + 1), listaDR);
|
|
||||||
}
|
|
||||||
// salvo oggetto
|
|
||||||
c.Path = Path;
|
|
||||||
}
|
|
||||||
|
|
||||||
// UNITA OPERATRICI
|
|
||||||
if (numUnOp > 0)
|
|
||||||
{
|
|
||||||
// creo elementi richiesti
|
|
||||||
element[] UnOp = new element[numUnOp];
|
|
||||||
// ciclo x istanziare!
|
|
||||||
for (int i = 0; i < numUnOp; i++)
|
|
||||||
{
|
|
||||||
// inizializzo list x parametri
|
|
||||||
listaDR = new List<DataRefItem<string, string>>();
|
|
||||||
UnOp[i] = new element(string.Format("UnOp_{0:00}", i + 1), listaDR);
|
|
||||||
}
|
|
||||||
// salvo oggetto
|
|
||||||
c.UnOp = UnOp;
|
|
||||||
}
|
|
||||||
|
|
||||||
// ASSI
|
|
||||||
if (numAxis > 0)
|
|
||||||
{
|
|
||||||
// creo elementi richiesti
|
|
||||||
element[] newAxis = new element[numAxis];
|
|
||||||
// ciclo x istanziare!
|
|
||||||
for (int i = 0; i < numAxis; i++)
|
|
||||||
{
|
|
||||||
// inizializzo list x parametri
|
|
||||||
listaDR = new List<DataRefItem<string, string>>();
|
|
||||||
// se ho un vettore di assi uso i valori già letti..
|
|
||||||
if (oAxisLoad != null && oAxisLoad.Length > 0 && i < oAxisLoad.Length)
|
|
||||||
{
|
|
||||||
newAxis[i] = oAxisLoad[i];
|
|
||||||
// se non ho tutto aggiungo...
|
|
||||||
if (newAxis[i].dataRefList.Count < 2)
|
|
||||||
{
|
|
||||||
// copio lista attuale
|
|
||||||
listaDR = newAxis[i].dataRefList;
|
|
||||||
// in base a cosa manca aggiunto...
|
|
||||||
if (listaDR.Count == 0)
|
|
||||||
{
|
|
||||||
// aggiungo tutto con valori default
|
|
||||||
listaDR.Add(new DataRefItem<string, string>(string.Format("Axis_{0:00}_Type", i + 1), "LINEAR"));
|
|
||||||
listaDR.Add(new DataRefItem<string, string>(string.Format("Axis_{0:00}_Grp", i + 1), "00"));
|
|
||||||
newAxis[i] = new element(string.Format("Axis_{0:00}", i + 1), listaDR);
|
|
||||||
}
|
|
||||||
else if (listaDR.Count == 1)
|
|
||||||
{
|
|
||||||
// aggiungo solo GRP con valori default, IPOTIZZO di avere solo type...
|
|
||||||
listaDR.Add(new DataRefItem<string, string>(string.Format("Axis_{0:00}_Grp", i + 1), "00"));
|
|
||||||
newAxis[i] = new element(string.Format("Axis_{0:00}", i + 1), listaDR);
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
||||||
else
|
|
||||||
{
|
|
||||||
// altrimenti popolo con valori default
|
|
||||||
listaDR.Add(new DataRefItem<string, string>(string.Format("Axis_{0:00}_Type", i + 1), "LINEAR"));
|
|
||||||
listaDR.Add(new DataRefItem<string, string>(string.Format("Axis_{0:00}_Grp", i + 1), "00"));
|
|
||||||
newAxis[i] = new element(string.Format("Axis_{0:00}", i + 1), listaDR);
|
|
||||||
}
|
|
||||||
}
|
|
||||||
// salvo oggetto
|
|
||||||
c.Axis = newAxis;
|
|
||||||
}
|
|
||||||
|
|
||||||
// Serializzo oggetto conf su file
|
|
||||||
AdapterConf.Serialize(filePath, c);
|
|
||||||
}
|
|
||||||
|
|
||||||
private void btnLoad_Click(object sender, EventArgs e)
|
|
||||||
{
|
|
||||||
// Read the configuration object from a file
|
|
||||||
AdapterConf objLoad = AdapterConf.Deserialize(filePath);
|
|
||||||
|
|
||||||
txtAdapter.Text = objLoad.NomeAdapt;
|
|
||||||
cbTipoAdapt.SelectedText = objLoad.TipoAdapt.ToString();
|
|
||||||
//cbTipoAdapt.Refresh();
|
|
||||||
numVacPump = objLoad.nVacuumPump;
|
|
||||||
numVacAct = objLoad.nVacuumAct;
|
|
||||||
numLubro = objLoad.nLubro;
|
|
||||||
numCooler = objLoad.nCooler;
|
|
||||||
numPress = objLoad.nPress;
|
|
||||||
numTemp = objLoad.nTemp;
|
|
||||||
numPath = objLoad.nPath;
|
|
||||||
numUnOp = objLoad.nUnOp;
|
|
||||||
numAxis = objLoad.nAxis;
|
|
||||||
numMemArea = objLoad.nMemArea;
|
|
||||||
// salvo assi correnti...
|
|
||||||
oAxisLoad = objLoad.Axis;
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
||||||
@@ -1,8 +0,0 @@
|
|||||||
<?xml version="1.0" encoding="utf-8"?>
|
|
||||||
<packages>
|
|
||||||
<package id="NLog" version="4.4.4" targetFramework="net452" />
|
|
||||||
<package id="NLog.Config" version="4.4.4" targetFramework="net452" />
|
|
||||||
<package id="NLog.Schema" version="4.4.4" targetFramework="net452" />
|
|
||||||
<package id="PrettyBin" version="1.1.0" targetFramework="net452" />
|
|
||||||
<package id="SlowCheetah" version="2.5.48" targetFramework="net452" />
|
|
||||||
</packages>
|
|
||||||
@@ -1,49 +0,0 @@
|
|||||||
using System.Windows.Forms;
|
|
||||||
using MTC;
|
|
||||||
|
|
||||||
namespace MTC_Adapter
|
|
||||||
{
|
|
||||||
public class utils : MTC.baseUtils
|
|
||||||
{
|
|
||||||
/// <summary>
|
|
||||||
/// folder archiviazione dati configurazione (DATA\CONF)
|
|
||||||
/// </summary>
|
|
||||||
public static string resxDir
|
|
||||||
{
|
|
||||||
get
|
|
||||||
{
|
|
||||||
return string.Format(@"{0}\{1}", Application.StartupPath, CRS("resxPath"));
|
|
||||||
}
|
|
||||||
}
|
|
||||||
/// <summary>
|
|
||||||
/// folder archiviazione dati configurazione (DATA\CONF)
|
|
||||||
/// </summary>
|
|
||||||
public static string confDir
|
|
||||||
{
|
|
||||||
get
|
|
||||||
{
|
|
||||||
return string.Format(@"{0}\{1}", Application.StartupPath, CRS("dataConfPath"));
|
|
||||||
}
|
|
||||||
}
|
|
||||||
/// <summary>
|
|
||||||
/// folder archiviazione dati storici giornalieri (DATA\DAT)
|
|
||||||
/// </summary>
|
|
||||||
public static string dataDatDir
|
|
||||||
{
|
|
||||||
get
|
|
||||||
{
|
|
||||||
return string.Format(@"{0}\{1}", Application.StartupPath, CRS("dataDatPath"));
|
|
||||||
}
|
|
||||||
}
|
|
||||||
/// <summary>
|
|
||||||
/// folder archiviazione dati (DATA)
|
|
||||||
/// </summary>
|
|
||||||
public static string dataDir
|
|
||||||
{
|
|
||||||
get
|
|
||||||
{
|
|
||||||
return string.Format(@"{0}\{1}", Application.StartupPath, CRS("dataPath"));
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
||||||
@@ -0,0 +1,16 @@
|
|||||||
|
G1128 ed F1343
|
||||||
|
|
||||||
|
leggo bit, se in AND sono 1 --> processo migrato
|
||||||
|
|
||||||
|
parametro 981 --> assegno a
|
||||||
|
1
|
||||||
|
1
|
||||||
|
1
|
||||||
|
2
|
||||||
|
2
|
||||||
|
2
|
||||||
|
1
|
||||||
|
1
|
||||||
|
1
|
||||||
|
|
||||||
|
devo guardare dove ho 2 (processo predisposto) e se i bit sono 1 --> sono spostati di PROCESSO, e devo guardare quelli...
|
||||||
@@ -0,0 +1,707 @@
|
|||||||
|
using MTC;
|
||||||
|
using NLog;
|
||||||
|
using System;
|
||||||
|
using System.Collections;
|
||||||
|
using System.Collections.Generic;
|
||||||
|
|
||||||
|
namespace OPC_UA_REDIS
|
||||||
|
{
|
||||||
|
public class AdapterRed
|
||||||
|
{
|
||||||
|
/// <summary>
|
||||||
|
/// wrapper di log
|
||||||
|
/// </summary>
|
||||||
|
public static Logger lg;
|
||||||
|
/// <summary>
|
||||||
|
/// Determina se il server redis sia attivo e connesso (check periodico...)
|
||||||
|
/// </summary>
|
||||||
|
public bool redServAlive;
|
||||||
|
/// <summary>
|
||||||
|
/// DataOra ultimo controllo stato server REDIS
|
||||||
|
/// </summary>
|
||||||
|
protected DateTime lastRedSrvCheck;
|
||||||
|
/// <summary>
|
||||||
|
/// Bool x verifica SE SIANO DA INVIARE info in fase di START (no se REDIS non attivo...)
|
||||||
|
/// </summary>
|
||||||
|
protected bool startData2Send = false;
|
||||||
|
/// <summary>
|
||||||
|
/// Bool x verifica SE SIANO DA INVIARE info in fase di STOP (no se REDIS non attivo...)
|
||||||
|
/// </summary>
|
||||||
|
protected bool stopData2Send = false;
|
||||||
|
/// <summary>
|
||||||
|
/// Bool x verifica SE SIANO DA INVIARE info in fase di REFRESH (no se REDIS non attivo...)
|
||||||
|
/// </summary>
|
||||||
|
protected bool refreshData2Send = false;
|
||||||
|
/// <summary>
|
||||||
|
/// Metodo send changed iniziato e stiamo inviando conditions.
|
||||||
|
/// </summary>
|
||||||
|
bool mBegun = false;
|
||||||
|
/// <summary>
|
||||||
|
/// DataModel di riferimento
|
||||||
|
/// </summary>
|
||||||
|
public string DataModel;
|
||||||
|
/// <summary>
|
||||||
|
/// Oggetto elenco allarmi (in + lingue...)
|
||||||
|
/// </summary>
|
||||||
|
public allarme[] elencoAllarmi { get; set; }
|
||||||
|
/// <summary>
|
||||||
|
/// Dizionario REGOLE conversione nome variabili con replace "like" (per gestione REDIS "_" --> ":")
|
||||||
|
/// </summary>
|
||||||
|
public Dictionary<string, replDict> nameRepRoles { get; set; }
|
||||||
|
/// <summary>
|
||||||
|
/// Dizionario di TUTTE le conversioni variabili (MTC-->OPC-UA) applicate
|
||||||
|
/// </summary>
|
||||||
|
public Dictionary<string, string> nameReplaced = new Dictionary<string, string>();
|
||||||
|
/// <summary>
|
||||||
|
/// Dizionario di TUTTE le conversioni variabili (OPC-UA-->MTC) applicate
|
||||||
|
/// </summary>
|
||||||
|
public Dictionary<string, string> nameReplacedInvert = new Dictionary<string, string>();
|
||||||
|
/// <summary>
|
||||||
|
/// Dizionario di TUTTE le variabili ESCLUSE (filtrate)
|
||||||
|
/// </summary>
|
||||||
|
public Dictionary<string, string> nameExcluded = new Dictionary<string, string>();
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// Elenco di TUTTI i NODI ITEMS gestiti dal gateway (item/variabile)...
|
||||||
|
/// </summary>
|
||||||
|
public Dictionary<string, itemNode> itemNodes { get; set; }
|
||||||
|
/// <summary>
|
||||||
|
/// Elenco di TUTTI i NODI CONDITIONS gestiti dal gateway (allarme/condizione)...
|
||||||
|
/// </summary>
|
||||||
|
public Dictionary<string, itemNode> conditionNodes { get; set; }
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// All the data items we're tracking.
|
||||||
|
/// </summary>
|
||||||
|
private ArrayList mDataItems = new ArrayList();
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// Classe adapter verso REDIS
|
||||||
|
/// </summary>
|
||||||
|
/// <param name="sPort"></param>
|
||||||
|
/// <param name="sAddress"></param>
|
||||||
|
/// <param name="verbose"></param>
|
||||||
|
public AdapterRed(int sPort = 6379, string sAddress = "127.0.0.1", bool verbose = false)
|
||||||
|
{
|
||||||
|
lg = LogManager.GetCurrentClassLogger();
|
||||||
|
ServerPort = sPort;
|
||||||
|
ServerAddr = sAddress;
|
||||||
|
Verbose = verbose;
|
||||||
|
nameRepRoles = new Dictionary<string, replDict>();
|
||||||
|
itemNodes = new Dictionary<string, itemNode>();
|
||||||
|
conditionNodes = new Dictionary<string, itemNode>();
|
||||||
|
// aggiungo controllo server...
|
||||||
|
checkAlive();
|
||||||
|
lastRedSrvCheck = DateTime.Now;
|
||||||
|
}
|
||||||
|
/// <summary>
|
||||||
|
/// Controlla stato server alive
|
||||||
|
/// </summary>
|
||||||
|
private void checkAlive()
|
||||||
|
{
|
||||||
|
bool newStatus = redUtil.connRedis.IsConnected;
|
||||||
|
// controllo se cambia lo stato...
|
||||||
|
string message = "";
|
||||||
|
if (redServAlive != newStatus)
|
||||||
|
{
|
||||||
|
message = newStatus ? "Server REDIS tornato ONLINE! salvo aggiornamento di stato" : "Server REDIS offline, impossibile inviare aggiornamenti.";
|
||||||
|
lg.Info(message);
|
||||||
|
redServAlive = newStatus;
|
||||||
|
if (newStatus)
|
||||||
|
{
|
||||||
|
checkRedisStatusAndSend();
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
public int Heartbeat { get; set; }
|
||||||
|
public bool Running { get; }
|
||||||
|
public int ServerPort { get; set; }
|
||||||
|
public string ServerAddr { get; set; }
|
||||||
|
public bool Verbose { get; set; }
|
||||||
|
|
||||||
|
#region metodi esposti
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// The asks all data items to begin themselves for collection. Only
|
||||||
|
/// required for conditions and should not be called if you are not
|
||||||
|
/// planning on adding all the conditions before you send. If you skip this
|
||||||
|
/// the adapter will not perform the mark and sweep.
|
||||||
|
/// </summary>
|
||||||
|
public void Begin()
|
||||||
|
{
|
||||||
|
mBegun = true;
|
||||||
|
foreach (DataItemRed di in mDataItems)
|
||||||
|
{
|
||||||
|
di.Begin();
|
||||||
|
}
|
||||||
|
}
|
||||||
|
/// <summary>
|
||||||
|
/// Aggiunta di un DataItem (generico)
|
||||||
|
/// </summary>
|
||||||
|
/// <param name="aDI"></param>
|
||||||
|
public void AddDataItem(DataItemRed aDI)
|
||||||
|
{
|
||||||
|
// controllo se ci sia già (sennò NON duplico...)
|
||||||
|
if (!mDataItems.Contains(aDI))
|
||||||
|
{
|
||||||
|
mDataItems.Add(aDI);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
/// <summary>
|
||||||
|
/// Remove all data items.
|
||||||
|
/// </summary>
|
||||||
|
public void RemoveAllDataItems()
|
||||||
|
{
|
||||||
|
mDataItems.Clear();
|
||||||
|
}
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// Remove a data item from the adapter.
|
||||||
|
/// </summary>
|
||||||
|
/// <param name="aItem"></param>
|
||||||
|
public void RemoveDataItem(DataItemRed aItem)
|
||||||
|
{
|
||||||
|
int ind = mDataItems.IndexOf(aItem);
|
||||||
|
if (ind >= 0)
|
||||||
|
{
|
||||||
|
mDataItems.RemoveAt(ind);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// Make all data items unavailable
|
||||||
|
/// </summary>
|
||||||
|
public void Unavailable()
|
||||||
|
{
|
||||||
|
foreach (DataItemRed di in mDataItems)
|
||||||
|
{
|
||||||
|
di.Unavailable();
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// Effettua invio di tutte le variabili modificate...
|
||||||
|
/// </summary>
|
||||||
|
/// <param name="timestamp"></param>
|
||||||
|
public void SendChanged()
|
||||||
|
{
|
||||||
|
// registro che necessito invio dati STOP
|
||||||
|
refreshData2Send = true;
|
||||||
|
if (redServAlive)
|
||||||
|
{
|
||||||
|
sendChangedData(false);
|
||||||
|
}
|
||||||
|
else
|
||||||
|
{
|
||||||
|
// controllo se sia scaduto timeout 5 sec prima di scrivere errore...
|
||||||
|
if (DateTime.Now.AddSeconds(-baseUtils.CRI("logRedConnWaitTime")) > lastRedSrvCheck)
|
||||||
|
{
|
||||||
|
lg.Error("Attenzione! server REDIS non disponibile (SendChanged)");
|
||||||
|
lastRedSrvCheck = DateTime.Now;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
// forzo controllo stato
|
||||||
|
checkAlive();
|
||||||
|
}
|
||||||
|
/// <summary>
|
||||||
|
/// Invio dati modificati
|
||||||
|
/// </summary>
|
||||||
|
/// <param name="forceSend">forza invio di TUTTO comunque...</param>
|
||||||
|
/// <returns></returns>
|
||||||
|
private string sendChangedData(bool forceSend = false)
|
||||||
|
{
|
||||||
|
string timestamp = null;
|
||||||
|
// var accessorie
|
||||||
|
string hashKey = "";
|
||||||
|
string hashVal = "";
|
||||||
|
|
||||||
|
if (mBegun)
|
||||||
|
{
|
||||||
|
foreach (DataItemRed di in mDataItems)
|
||||||
|
{
|
||||||
|
di.Prepare();
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
// Separate out the data items into those that are on one line and those
|
||||||
|
// need separate lines.
|
||||||
|
List<DataItemRed> together = new List<DataItemRed>();
|
||||||
|
foreach (DataItemRed di in mDataItems)
|
||||||
|
{
|
||||||
|
List<DataItemRed> list = di.ItemList(forceSend);
|
||||||
|
together.AddRange(list);
|
||||||
|
}
|
||||||
|
|
||||||
|
if (timestamp == null)
|
||||||
|
{
|
||||||
|
timestamp = DateTime.UtcNow.ToString("yyyy-MM-dd\\THH:mm:ss.fffK");
|
||||||
|
}
|
||||||
|
if (redServAlive)
|
||||||
|
{
|
||||||
|
if (together.Count > 0)
|
||||||
|
{
|
||||||
|
// salvo su REDIS!!!
|
||||||
|
foreach (DataItemRed di in together)
|
||||||
|
{
|
||||||
|
hashKey = machineHash(di.Name);
|
||||||
|
hashVal = di.Value.ToString().Trim();
|
||||||
|
saveHashKeyVal(hashKey, hashVal);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
// salvo anche heartbeat e running...
|
||||||
|
hashKey = redUtil.man.redHash("Adp:Heartbeat");
|
||||||
|
saveHashKeyVal(hashKey, timestamp);
|
||||||
|
hashKey = redUtil.man.redHash("Adp:Status");
|
||||||
|
hashVal = "running";
|
||||||
|
saveHashKeyVal(hashKey, hashVal);
|
||||||
|
}
|
||||||
|
else
|
||||||
|
{
|
||||||
|
lg.Error("Attenzione! server REDIS non disponibile (SendChanged:toghether)");
|
||||||
|
checkAlive();
|
||||||
|
}
|
||||||
|
|
||||||
|
// Cleanup
|
||||||
|
foreach (DataItemRed di in mDataItems)
|
||||||
|
{
|
||||||
|
di.Cleanup();
|
||||||
|
}
|
||||||
|
|
||||||
|
// finito
|
||||||
|
mBegun = false;
|
||||||
|
return timestamp;
|
||||||
|
}
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// Salva hask KeyVal in REDIS
|
||||||
|
/// </summary>
|
||||||
|
/// <param name="hashKey"></param>
|
||||||
|
/// <param name="hashVal"></param>
|
||||||
|
private static void saveHashKeyVal(string hashKey, string hashVal)
|
||||||
|
{
|
||||||
|
if (!hashKey.EndsWith("NONE"))
|
||||||
|
{
|
||||||
|
redUtil.man.setRSV(hashKey, hashVal);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// Arresto adapter
|
||||||
|
/// </summary>
|
||||||
|
public void Stop()
|
||||||
|
{
|
||||||
|
// registro che necessito invio dati STOP
|
||||||
|
stopData2Send = true;
|
||||||
|
if (redServAlive)
|
||||||
|
{
|
||||||
|
sendStopData();
|
||||||
|
}
|
||||||
|
else
|
||||||
|
{
|
||||||
|
lg.Error("Attenzione! server REDIS non disponibile (STOP)");
|
||||||
|
// forzo controllo stato
|
||||||
|
checkAlive();
|
||||||
|
}
|
||||||
|
}
|
||||||
|
/// <summary>
|
||||||
|
/// Invio dati in fase di CHIUSURA
|
||||||
|
/// </summary>
|
||||||
|
private void sendStopData()
|
||||||
|
{
|
||||||
|
// var accessorie
|
||||||
|
string hashKey = "";
|
||||||
|
string hashVal = "";
|
||||||
|
|
||||||
|
// Imposto CONF
|
||||||
|
hashKey = redUtil.man.redHash("Adp:Status");
|
||||||
|
hashVal = string.Format("stopped");
|
||||||
|
saveHashKeyVal(hashKey, hashVal);
|
||||||
|
hashKey = redUtil.man.redHash("Adp:Heartbeat");
|
||||||
|
hashVal = DateTime.UtcNow.ToString("yyyy-MM-dd\\THH:mm:ss.fffK");
|
||||||
|
saveHashKeyVal(hashKey, hashVal);
|
||||||
|
|
||||||
|
// SOLO se richiesto FULL RESET...
|
||||||
|
if (baseUtils.CRB("fullReset"))
|
||||||
|
{
|
||||||
|
// ora il valore delle chaivi diventa unavailable...
|
||||||
|
hashVal = availStatus.UNAVAILABLE.ToString();
|
||||||
|
// percorro tutto l'albero nodi item ed allarmi e SCRIVO!!!!
|
||||||
|
foreach (var item in itemNodes)
|
||||||
|
{
|
||||||
|
hashKey = machineHash(item.Key);
|
||||||
|
saveHashKeyVal(hashKey, hashVal);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
stopData2Send = false;
|
||||||
|
}
|
||||||
|
/// <summary>
|
||||||
|
/// Aggiorna stato redis server + invio dati pending
|
||||||
|
/// </summary>
|
||||||
|
private void checkRedisStatusAndSend()
|
||||||
|
{
|
||||||
|
// verifico eventuali invii pending... SE connesso...
|
||||||
|
if (redServAlive)
|
||||||
|
{
|
||||||
|
if (startData2Send)
|
||||||
|
{
|
||||||
|
sendStartData();
|
||||||
|
lg.Info("Reinviati dati sendStartData");
|
||||||
|
}
|
||||||
|
if (refreshData2Send)
|
||||||
|
{
|
||||||
|
sendChangedData(true);
|
||||||
|
lg.Info("Reinviati dati sendChangedData");
|
||||||
|
}
|
||||||
|
if (stopData2Send)
|
||||||
|
{
|
||||||
|
sendStopData();
|
||||||
|
lg.Info("Reinviati dati sendStopData");
|
||||||
|
}
|
||||||
|
}
|
||||||
|
// aggiorno stato redis
|
||||||
|
checkAlive();
|
||||||
|
}
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// Avvio adapter (popolamento iniziale su redis...)
|
||||||
|
/// </summary>
|
||||||
|
public void Start()
|
||||||
|
{
|
||||||
|
// registro che necessito invio dati START
|
||||||
|
startData2Send = true;
|
||||||
|
stopData2Send = false;
|
||||||
|
if (redServAlive)
|
||||||
|
{
|
||||||
|
sendStartData();
|
||||||
|
}
|
||||||
|
else
|
||||||
|
{
|
||||||
|
lg.Error("Attenzione! server REDIS non disponibile (START)");
|
||||||
|
// forzo controllo stato
|
||||||
|
checkAlive();
|
||||||
|
}
|
||||||
|
}
|
||||||
|
/// <summary>
|
||||||
|
/// Decodifica il livello di severiti da testo a numerico:
|
||||||
|
/// 900 Alarm
|
||||||
|
/// 500 Warning
|
||||||
|
/// 200 Info
|
||||||
|
/// 100 Maintenance
|
||||||
|
/// </summary>
|
||||||
|
/// <param name="livello"></param>
|
||||||
|
/// <returns></returns>
|
||||||
|
public static string condLevel(string livello)
|
||||||
|
{
|
||||||
|
string answ = "0";
|
||||||
|
switch (livello.ToLower())
|
||||||
|
{
|
||||||
|
case "alarm":
|
||||||
|
case "fault":
|
||||||
|
answ = "900";
|
||||||
|
break;
|
||||||
|
case "warning":
|
||||||
|
answ = "500";
|
||||||
|
break;
|
||||||
|
case "info":
|
||||||
|
answ = "200";
|
||||||
|
break;
|
||||||
|
case "maintenance":
|
||||||
|
answ = "100";
|
||||||
|
break;
|
||||||
|
default:
|
||||||
|
// verifico sia una stringa
|
||||||
|
int lev = 0;
|
||||||
|
int.TryParse(livello, out lev);
|
||||||
|
answ = lev.ToString("000");
|
||||||
|
break;
|
||||||
|
}
|
||||||
|
return answ;
|
||||||
|
}
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// Invio dati in fase di AVVIO
|
||||||
|
/// </summary>
|
||||||
|
private void sendStartData()
|
||||||
|
{
|
||||||
|
// var accessorie
|
||||||
|
string hashKey = "";
|
||||||
|
string hashVal = "";
|
||||||
|
string nLevel = "";
|
||||||
|
var listCNC_curr = new List<KeyValuePair<string, string>>();
|
||||||
|
var listPLC_curr = new List<KeyValuePair<string, string>>();
|
||||||
|
var listHMI_curr = new List<KeyValuePair<string, string>>();
|
||||||
|
var listCNC_it = new List<KeyValuePair<string, string>>();
|
||||||
|
var listPLC_it = new List<KeyValuePair<string, string>>();
|
||||||
|
var listHMI_it = new List<KeyValuePair<string, string>>();
|
||||||
|
var listCNC_en = new List<KeyValuePair<string, string>>();
|
||||||
|
var listPLC_en = new List<KeyValuePair<string, string>>();
|
||||||
|
var listHMI_en = new List<KeyValuePair<string, string>>();
|
||||||
|
// resetto TUTTE le aree di competenza
|
||||||
|
redUtil.man.redFlushKey(redUtil.man.redHash("AdpVeto*"));
|
||||||
|
redUtil.man.redFlushKey(redUtil.man.redHash("AdpConf*"));
|
||||||
|
redUtil.man.redFlushKey(redUtil.man.redHash("Adp*"));
|
||||||
|
redUtil.man.redFlushKey(redUtil.man.redHash("Machine*"));
|
||||||
|
// imposto valori "empty" di default....
|
||||||
|
listCNC_curr.Add(new KeyValuePair<string, string>("000000000000|000", "NONE"));
|
||||||
|
listCNC_en.Add(new KeyValuePair<string, string>("000000000000|000", "NONE"));
|
||||||
|
listCNC_it.Add(new KeyValuePair<string, string>("000000000000|000", "NONE"));
|
||||||
|
listHMI_curr.Add(new KeyValuePair<string, string>("000000000000|000", "NONE"));
|
||||||
|
listHMI_en.Add(new KeyValuePair<string, string>("000000000000|000", "NONE"));
|
||||||
|
listHMI_it.Add(new KeyValuePair<string, string>("000000000000|000", "NONE"));
|
||||||
|
listPLC_curr.Add(new KeyValuePair<string, string>("000000000000|000", "NONE"));
|
||||||
|
listPLC_en.Add(new KeyValuePair<string, string>("000000000000|000", "NONE"));
|
||||||
|
listPLC_it.Add(new KeyValuePair<string, string>("000000000000|000", "NONE"));
|
||||||
|
// Imposto CONF
|
||||||
|
hashKey = redUtil.man.redHash("Adp:Vers");
|
||||||
|
hashVal = System.Reflection.Assembly.GetExecutingAssembly().GetName().Version.ToString();
|
||||||
|
saveHashKeyVal(hashKey, hashVal);
|
||||||
|
hashKey = redUtil.man.redHash("Adp:Status");
|
||||||
|
hashVal = "started";
|
||||||
|
saveHashKeyVal(hashKey, hashVal);
|
||||||
|
hashKey = redUtil.man.redHash("Adp:Heartbeat");
|
||||||
|
hashVal = DateTime.UtcNow.ToString("yyyy-MM-dd\\THH:mm:ss.fffK");
|
||||||
|
saveHashKeyVal(hashKey, hashVal);
|
||||||
|
// allarmi CNC, aggiungo Curr (rif SOURS 2018.11.14)
|
||||||
|
foreach (var item in elencoAllarmi)
|
||||||
|
{
|
||||||
|
// aggiungo secondo gruppo
|
||||||
|
if (item.gruppo.ToUpper().Contains("CNC"))
|
||||||
|
{
|
||||||
|
nLevel = condLevel(item.livello);
|
||||||
|
listCNC_curr.Add(new KeyValuePair<string, string>(item.codNum + "|" + nLevel, item.descrizione));
|
||||||
|
listCNC_en.Add(new KeyValuePair<string, string>(item.codNum + "|" + nLevel, item.descrizioneEn));
|
||||||
|
listCNC_it.Add(new KeyValuePair<string, string>(item.codNum + "|" + nLevel, item.descrizioneIt));
|
||||||
|
}
|
||||||
|
else if (item.gruppo.ToUpper().Contains("HMI"))
|
||||||
|
{
|
||||||
|
nLevel = condLevel(item.livello);
|
||||||
|
listHMI_curr.Add(new KeyValuePair<string, string>(item.codNum + "|" + nLevel, item.descrizione));
|
||||||
|
listHMI_en.Add(new KeyValuePair<string, string>(item.codNum + "|" + nLevel, item.descrizioneEn));
|
||||||
|
listHMI_it.Add(new KeyValuePair<string, string>(item.codNum + "|" + nLevel, item.descrizioneIt));
|
||||||
|
}
|
||||||
|
else if (item.gruppo.ToUpper().Contains("PLC"))
|
||||||
|
{
|
||||||
|
nLevel = condLevel(item.livello);
|
||||||
|
listPLC_curr.Add(new KeyValuePair<string, string>(item.codNum + "|" + nLevel, item.descrizione));
|
||||||
|
listPLC_en.Add(new KeyValuePair<string, string>(item.codNum + "|" + nLevel, item.descrizioneEn));
|
||||||
|
listPLC_it.Add(new KeyValuePair<string, string>(item.codNum + "|" + nLevel, item.descrizioneIt));
|
||||||
|
}
|
||||||
|
}
|
||||||
|
// salvo vettori lingua CURR
|
||||||
|
hashKey = confHash("Cnc:Condition:Curr");
|
||||||
|
redUtil.man.redFlushKey(hashKey);
|
||||||
|
redUtil.man.redSaveHashList(hashKey, listCNC_curr);
|
||||||
|
hashKey = confHash("Hmi:Condition:Curr");
|
||||||
|
redUtil.man.redFlushKey(hashKey);
|
||||||
|
redUtil.man.redSaveHashList(hashKey, listHMI_curr);
|
||||||
|
hashKey = confHash("Plc:Condition:Curr");
|
||||||
|
redUtil.man.redFlushKey(hashKey);
|
||||||
|
redUtil.man.redSaveHashList(hashKey, listPLC_curr);
|
||||||
|
// salvo vettori lingua EN
|
||||||
|
hashKey = confHash("Cnc:Condition:En");
|
||||||
|
redUtil.man.redFlushKey(hashKey);
|
||||||
|
redUtil.man.redSaveHashList(hashKey, listCNC_en);
|
||||||
|
hashKey = confHash("Hmi:Condition:En");
|
||||||
|
redUtil.man.redFlushKey(hashKey);
|
||||||
|
redUtil.man.redSaveHashList(hashKey, listHMI_en);
|
||||||
|
hashKey = confHash("Plc:Condition:En");
|
||||||
|
redUtil.man.redFlushKey(hashKey);
|
||||||
|
redUtil.man.redSaveHashList(hashKey, listPLC_en);
|
||||||
|
// salvo vettori lingua IT
|
||||||
|
hashKey = confHash("Cnc:Condition:It");
|
||||||
|
redUtil.man.redFlushKey(hashKey);
|
||||||
|
redUtil.man.redSaveHashList(hashKey, listCNC_it);
|
||||||
|
hashKey = confHash("Hmi:Condition:It");
|
||||||
|
redUtil.man.redFlushKey(hashKey);
|
||||||
|
redUtil.man.redSaveHashList(hashKey, listHMI_it);
|
||||||
|
hashKey = confHash("Plc:Condition:It");
|
||||||
|
redUtil.man.redFlushKey(hashKey);
|
||||||
|
redUtil.man.redSaveHashList(hashKey, listPLC_it);
|
||||||
|
|
||||||
|
// DataModel --> salvo in redis!
|
||||||
|
hashKey = confHash("DataModel");
|
||||||
|
hashVal = DataModel;
|
||||||
|
saveHashKeyVal(hashKey, hashVal);
|
||||||
|
|
||||||
|
// imposto VETO
|
||||||
|
hashKey = vetoHash("Cnc:Condition");
|
||||||
|
hashVal = "0,0|000";
|
||||||
|
redUtil.man.redFlushKey(hashKey);
|
||||||
|
saveHashKeyVal(hashKey, hashVal);
|
||||||
|
hashKey = vetoHash("Hmi:Condition");
|
||||||
|
hashVal = "0,0|000";
|
||||||
|
redUtil.man.redFlushKey(hashKey);
|
||||||
|
saveHashKeyVal(hashKey, hashVal);
|
||||||
|
hashKey = vetoHash("Plc:Condition");
|
||||||
|
hashVal = "0,0|000";
|
||||||
|
redUtil.man.redFlushKey(hashKey);
|
||||||
|
saveHashKeyVal(hashKey, hashVal);
|
||||||
|
|
||||||
|
// Imposto DATI: percorro tutto l'albero nodi item ed allarmi e SCRIVO!!!!
|
||||||
|
foreach (var item in itemNodes)
|
||||||
|
{
|
||||||
|
hashKey = machineHash(item.Key);
|
||||||
|
hashVal = availStatus.UNAVAILABLE.ToString(); // item.Value.cObject.ToString();
|
||||||
|
saveHashKeyVal(hashKey, hashVal);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
#endregion
|
||||||
|
|
||||||
|
#region helper gestione REDIS
|
||||||
|
|
||||||
|
public string getOrigKey(string redKey)
|
||||||
|
{
|
||||||
|
string answ = redKey;
|
||||||
|
if (nameReplacedInvert.ContainsKey(redKey))
|
||||||
|
{
|
||||||
|
answ = nameReplacedInvert[redKey];
|
||||||
|
}
|
||||||
|
return answ;
|
||||||
|
}
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// Fix KEY x standard redis ("_" --> ":")
|
||||||
|
/// </summary>
|
||||||
|
/// <param name="origKey"></param>
|
||||||
|
/// <returns></returns>
|
||||||
|
public string fixRedKey(string origKey)
|
||||||
|
{
|
||||||
|
// parto da variabile dichiarata
|
||||||
|
string answ = origKey;
|
||||||
|
// se la trovo nel dizionario restituisco...
|
||||||
|
if (nameReplaced != null && nameReplaced.ContainsKey(origKey))
|
||||||
|
{
|
||||||
|
answ = nameReplaced[origKey];
|
||||||
|
}
|
||||||
|
// altrimenti controllo tra esclusi
|
||||||
|
else if (nameExcluded != null && nameExcluded.ContainsKey(origKey))
|
||||||
|
{
|
||||||
|
answ = nameExcluded[origKey];
|
||||||
|
}
|
||||||
|
// altrimenti calcolo e salvo in dizionario...
|
||||||
|
else
|
||||||
|
{
|
||||||
|
bool trovato = false;
|
||||||
|
bool keyExcluded = false;
|
||||||
|
string txt2find = "";
|
||||||
|
// se NON HO un MATCH processo il replace e se trovo corrispondenza processo
|
||||||
|
foreach (var item in nameRepRoles)
|
||||||
|
{
|
||||||
|
// SE NON trovato procedo...
|
||||||
|
if (!trovato)
|
||||||
|
{
|
||||||
|
// cerco se escluso o aggiunto...
|
||||||
|
keyExcluded = item.Value.modo == subsMode.X;
|
||||||
|
// testo cercato
|
||||||
|
txt2find = item.Key;
|
||||||
|
// B --> cerco inizio
|
||||||
|
if (item.Value.search == substSearch.B)
|
||||||
|
{
|
||||||
|
trovato = answ.StartsWith(txt2find);
|
||||||
|
}
|
||||||
|
// E --> cerco fine
|
||||||
|
else if (item.Value.search == substSearch.E)
|
||||||
|
{
|
||||||
|
trovato = answ.EndsWith(txt2find);
|
||||||
|
}
|
||||||
|
// I --> cerco IDENTICO
|
||||||
|
else if (item.Value.search == substSearch.I)
|
||||||
|
{
|
||||||
|
trovato = (answ == txt2find);
|
||||||
|
}
|
||||||
|
// C --> cerco OVUNQUE contenuto
|
||||||
|
else if (item.Value.search == substSearch.C)
|
||||||
|
{
|
||||||
|
trovato = answ.IndexOf(txt2find) >= 0;
|
||||||
|
}
|
||||||
|
// se trovato SOSTITUISCO...
|
||||||
|
if (trovato)
|
||||||
|
{
|
||||||
|
// effetuo sostituzione chiave/valore
|
||||||
|
answ = answ.Replace(txt2find, item.Value.tradz);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
// se è escluso --> salvo in escluso e restituisco NONE
|
||||||
|
if (keyExcluded && trovato)
|
||||||
|
{
|
||||||
|
answ = "NONE";
|
||||||
|
// salvo in dizionario
|
||||||
|
if (nameExcluded != null && nameExcluded.ContainsKey(origKey))
|
||||||
|
{
|
||||||
|
nameExcluded.Remove(origKey);
|
||||||
|
}
|
||||||
|
// salvo in dizionario
|
||||||
|
nameExcluded.Add(origKey, "NONE");
|
||||||
|
}
|
||||||
|
else
|
||||||
|
{
|
||||||
|
// altrimenti continuo: sostituzione "_" --> ":"
|
||||||
|
try
|
||||||
|
{
|
||||||
|
answ = answ.Replace("_", ":");
|
||||||
|
}
|
||||||
|
catch
|
||||||
|
{ }
|
||||||
|
// SOLO SE DIFFERISCONO SALVO...
|
||||||
|
if (answ != origKey)
|
||||||
|
{
|
||||||
|
if (nameReplaced != null && !nameReplaced.ContainsKey(origKey))
|
||||||
|
{
|
||||||
|
// salvo in dizionario
|
||||||
|
nameReplaced.Add(origKey, answ);
|
||||||
|
}
|
||||||
|
if (nameReplacedInvert != null && !nameReplacedInvert.ContainsKey(answ))
|
||||||
|
{
|
||||||
|
// salvo in dizionario INVERSO (SE C'E' conversione...)
|
||||||
|
nameReplacedInvert.Add(answ, origKey);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
return answ;
|
||||||
|
}
|
||||||
|
/// <summary>
|
||||||
|
/// HASH x la parte MACHINE del server REDIS
|
||||||
|
/// </summary>
|
||||||
|
/// <param name="keyName"></param>
|
||||||
|
/// <returns></returns>
|
||||||
|
public string machineHash(string keyName)
|
||||||
|
{
|
||||||
|
return redUtil.man.redHash("Machine:" + fixRedKey(keyName));
|
||||||
|
}
|
||||||
|
/// <summary>
|
||||||
|
/// HASH x la parte ADAPTER CONF del server REDIS
|
||||||
|
/// </summary>
|
||||||
|
/// <param name="keyName"></param>
|
||||||
|
/// <returns></returns>
|
||||||
|
public string confHash(string keyName)
|
||||||
|
{
|
||||||
|
return redUtil.man.redHash("AdpConf:" + fixRedKey(keyName));
|
||||||
|
}
|
||||||
|
/// <summary>
|
||||||
|
/// HASH x la parte ADAPTER ERRORS del server REDIS
|
||||||
|
/// </summary>
|
||||||
|
/// <param name="keyName"></param>
|
||||||
|
/// <returns></returns>
|
||||||
|
public string adpErHash(string keyName)
|
||||||
|
{
|
||||||
|
return redUtil.man.redHash("AdpError:" + fixRedKey(keyName));
|
||||||
|
}
|
||||||
|
/// <summary>
|
||||||
|
/// HASH x la parte VETO del server REDIS
|
||||||
|
/// </summary>
|
||||||
|
/// <param name="keyName"></param>
|
||||||
|
/// <returns></returns>
|
||||||
|
public string vetoHash(string keyName)
|
||||||
|
{
|
||||||
|
return redUtil.man.redHash("AdpVeto:" + fixRedKey(keyName));
|
||||||
|
}
|
||||||
|
|
||||||
|
#endregion
|
||||||
|
}
|
||||||
|
}
|
||||||
@@ -0,0 +1,510 @@
|
|||||||
|
using System;
|
||||||
|
using System.Collections.Generic;
|
||||||
|
using System.Linq;
|
||||||
|
|
||||||
|
namespace OPC_UA_REDIS
|
||||||
|
{
|
||||||
|
/// <summary>
|
||||||
|
/// Classe dataitem x REDIS:
|
||||||
|
/// - classe base x dataItem
|
||||||
|
/// - possiede valore e nome astratti
|
||||||
|
/// - tiene traccia di modifica dall'ultimo reset
|
||||||
|
/// </summary>
|
||||||
|
public class DataItemRed
|
||||||
|
{
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// NOME del data item
|
||||||
|
/// </summary>
|
||||||
|
protected String mName;
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// VALORE del data item, può essere ogni type.
|
||||||
|
/// </summary>
|
||||||
|
protected object mValue = "UNAVAILABLE";
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// A flag to indicate if the data item's value has changed since it
|
||||||
|
/// has last been set.
|
||||||
|
/// </summary>
|
||||||
|
protected bool mChanged = true;
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// Prefisso (opzionale)
|
||||||
|
/// </summary>
|
||||||
|
public string DevicePrefix = null;
|
||||||
|
|
||||||
|
public DataItemRed(string name)
|
||||||
|
{
|
||||||
|
mName = name;
|
||||||
|
}
|
||||||
|
public string Name { get { return mName; } }
|
||||||
|
/// <summary>
|
||||||
|
/// Get/set del valore
|
||||||
|
/// </summary>
|
||||||
|
public object Value
|
||||||
|
{
|
||||||
|
get
|
||||||
|
{
|
||||||
|
return mValue;
|
||||||
|
}
|
||||||
|
set
|
||||||
|
{
|
||||||
|
if (!mValue.Equals(value))
|
||||||
|
{
|
||||||
|
mValue = value;
|
||||||
|
mChanged = true;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
/// <summary>
|
||||||
|
/// Rende data item unavailable.
|
||||||
|
/// </summary>
|
||||||
|
public virtual void Unavailable() { Value = "NULL"; }
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// Controlla se data item sia unavailable.
|
||||||
|
/// </summary>
|
||||||
|
/// <returns>true if Unavailable</returns>
|
||||||
|
public bool IsUnavailable() { return mValue.Equals("NULL"); }
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// Getter x la proprietà mChanged
|
||||||
|
/// </summary>
|
||||||
|
public bool Changed { get { return mChanged; } }
|
||||||
|
public void ForceChanged()
|
||||||
|
{
|
||||||
|
mChanged = true;
|
||||||
|
}
|
||||||
|
/// <summary>
|
||||||
|
/// These methods are mainly for conditions. They allow for
|
||||||
|
/// mark and sweep of the condition activations.
|
||||||
|
/// </summary>
|
||||||
|
public virtual void Begin() { }
|
||||||
|
public virtual void Prepare() { }
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// Reset the Changed flag.
|
||||||
|
/// </summary>
|
||||||
|
public virtual void Cleanup() { mChanged = false; }
|
||||||
|
/// <summary>
|
||||||
|
/// Get a list of all the changed data items. Since this is a
|
||||||
|
/// single value, just return a list with one item if it has
|
||||||
|
/// changed
|
||||||
|
/// </summary>
|
||||||
|
/// <param name="onlyChanged">true means to return this data item regardless of the
|
||||||
|
/// changed flag. This is used to send initial data back to a new client.</param>
|
||||||
|
/// <returns>The changed data item</returns>
|
||||||
|
public virtual List<DataItemRed> ItemList(bool all = false)
|
||||||
|
{
|
||||||
|
List<DataItemRed> list = new List<DataItemRed>();
|
||||||
|
if (all || mChanged)
|
||||||
|
{
|
||||||
|
list.Add(this);
|
||||||
|
}
|
||||||
|
|
||||||
|
return list;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// A condition handles the fact that a single condition can have multiple
|
||||||
|
/// activations and needs to check when the are present and are cleared.
|
||||||
|
/// </summary>
|
||||||
|
public class ConditionRed : DataItemRed
|
||||||
|
{
|
||||||
|
/// <summary>
|
||||||
|
/// The four values for the condition.
|
||||||
|
/// </summary>
|
||||||
|
public enum Level
|
||||||
|
{
|
||||||
|
UNAVAILABLE,
|
||||||
|
NORMAL,
|
||||||
|
WARNING,
|
||||||
|
FAULT
|
||||||
|
}
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// The Activation is itself a data item. This is so it can be cleared
|
||||||
|
/// and treated like other data items when generating text.
|
||||||
|
/// </summary>
|
||||||
|
public class Active : DataItemRed
|
||||||
|
{
|
||||||
|
// The pieces of the activation are only used by the condition.
|
||||||
|
public Level mLevel;
|
||||||
|
public string mText;
|
||||||
|
public string mNativeCode;
|
||||||
|
public string mNativeSeverity;
|
||||||
|
public string mQualifier;
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// The marked flag tells if this alarm has been reasserted.
|
||||||
|
/// </summary>
|
||||||
|
public bool mMarked = true;
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// A placeholder activation is just a normal or unavailable.
|
||||||
|
/// </summary>
|
||||||
|
public bool mPlaceholder = false;
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// Create a new activation
|
||||||
|
/// </summary>
|
||||||
|
/// <param name="name">The name of the condition, passed from the parent</param>
|
||||||
|
/// <param name="level">The condition level</param>
|
||||||
|
/// <param name="text">The descriptive text for the condition</param>
|
||||||
|
/// <param name="code">The native code of the alarm or warning</param>
|
||||||
|
/// <param name="qualifier">A high/low qualifier</param>
|
||||||
|
/// <param name="severity">The native severity of the condition</param>
|
||||||
|
public Active(string name, Level level, string text = "", string code = "",
|
||||||
|
string qualifier = "", string severity = "")
|
||||||
|
: base(name)
|
||||||
|
{
|
||||||
|
mLevel = level;
|
||||||
|
mText = text;
|
||||||
|
mNativeCode = code;
|
||||||
|
mQualifier = qualifier;
|
||||||
|
mNativeSeverity = severity;
|
||||||
|
|
||||||
|
if (mNativeCode.Length == 0 && (mLevel == Level.NORMAL || mLevel == Level.UNAVAILABLE))
|
||||||
|
{
|
||||||
|
mPlaceholder = true;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// Update the values of the activation. Also marks this activation.
|
||||||
|
/// </summary>
|
||||||
|
/// <param name="level">The condition level</param>
|
||||||
|
/// <param name="text">The descriptive text for the condition</param>
|
||||||
|
/// <param name="qualifier">A high/low qualifier</param>
|
||||||
|
/// <param name="severity">The native severity of the condition</param>
|
||||||
|
/// <returns>true if the condition has changed</returns>
|
||||||
|
public bool Set(Level level, string text = "",
|
||||||
|
string qualifier = "", string severity = "")
|
||||||
|
{
|
||||||
|
mChanged = level != mLevel || text != mText || qualifier != mQualifier ||
|
||||||
|
severity != mNativeSeverity;
|
||||||
|
if (mChanged)
|
||||||
|
{
|
||||||
|
mLevel = level;
|
||||||
|
mQualifier = qualifier;
|
||||||
|
mText = text;
|
||||||
|
mNativeSeverity = severity;
|
||||||
|
}
|
||||||
|
|
||||||
|
mMarked = true;
|
||||||
|
return mChanged;
|
||||||
|
}
|
||||||
|
|
||||||
|
public override string ToString()
|
||||||
|
{
|
||||||
|
return mName + "|" + Enum.GetName(mLevel.GetType(), mLevel) + "|" + mNativeCode + "|" + mNativeSeverity + "|" + mQualifier + "|" + mText;
|
||||||
|
}
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// Resets the marked flag.
|
||||||
|
/// </summary>
|
||||||
|
public void Clear()
|
||||||
|
{
|
||||||
|
mMarked = false;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// A flag to indicate that the mark and sweep has begun.
|
||||||
|
/// </summary>
|
||||||
|
bool mBegun = false;
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// A flag indicating the second phase of the mark and sweep has completed.
|
||||||
|
/// </summary>
|
||||||
|
bool mPrepared = false;
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// true means this is a simple condition and does not require
|
||||||
|
/// mark and sweep processing.
|
||||||
|
/// </summary>
|
||||||
|
bool mSimple;
|
||||||
|
List<Active> mActiveList = new List<Active>();
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// Create a new condition
|
||||||
|
/// </summary>
|
||||||
|
/// <param name="name">The name of the data item</param>
|
||||||
|
/// <param name="simple">If this is a simple condition or if it uses
|
||||||
|
/// mark and sweep</param>
|
||||||
|
public ConditionRed(String name, bool simple = false) : base(name)
|
||||||
|
{
|
||||||
|
mSimple = simple;
|
||||||
|
Add(new Active(mName, Level.UNAVAILABLE));
|
||||||
|
}
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// Make this condition unavailable
|
||||||
|
/// </summary>
|
||||||
|
public override void Unavailable()
|
||||||
|
{
|
||||||
|
Add(Level.UNAVAILABLE);
|
||||||
|
}
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// This clears all the marks and begins so we can tell which
|
||||||
|
/// conditions were not added during this pass. This is not
|
||||||
|
/// required for simple conditions.
|
||||||
|
/// </summary>
|
||||||
|
public override void Begin()
|
||||||
|
{
|
||||||
|
if (!mSimple)
|
||||||
|
{
|
||||||
|
foreach (Active active in mActiveList)
|
||||||
|
{
|
||||||
|
active.Clear();
|
||||||
|
}
|
||||||
|
|
||||||
|
mBegun = true;
|
||||||
|
}
|
||||||
|
|
||||||
|
mPrepared = mChanged = false;
|
||||||
|
}
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// This is called before we send the actual changed data. It
|
||||||
|
/// does the diff from the previous state and finds all the
|
||||||
|
/// activations that need to be removed. This also check to see
|
||||||
|
/// if all the activations have been removed because we only
|
||||||
|
/// need to do a single normal with no native code to clear all.
|
||||||
|
///
|
||||||
|
/// This is not required for simple conditions.
|
||||||
|
/// </summary>
|
||||||
|
public override void Prepare()
|
||||||
|
{
|
||||||
|
if (mBegun)
|
||||||
|
{
|
||||||
|
bool marked = false;
|
||||||
|
|
||||||
|
// Check to see if we have any active marked conditions
|
||||||
|
foreach (Active active in mActiveList)
|
||||||
|
{
|
||||||
|
if (active.mPlaceholder || active.mMarked)
|
||||||
|
{
|
||||||
|
marked = true;
|
||||||
|
break;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
// If they've all been cleared, then go back to normal.
|
||||||
|
if (!marked)
|
||||||
|
{
|
||||||
|
Normal();
|
||||||
|
}
|
||||||
|
|
||||||
|
// Sweep the old conditions and if they are not marked
|
||||||
|
// set them to normal.
|
||||||
|
foreach (Active active in mActiveList)
|
||||||
|
{
|
||||||
|
if (!active.mPlaceholder && !active.mMarked)
|
||||||
|
{
|
||||||
|
active.Set(Level.NORMAL, "");
|
||||||
|
active.mMarked = false;
|
||||||
|
}
|
||||||
|
if (active.Changed)
|
||||||
|
{
|
||||||
|
mChanged = true;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
mPrepared = true;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// This is the sweep phase where we removed the changed flags
|
||||||
|
/// and remove all the stale activations.
|
||||||
|
/// </summary>
|
||||||
|
public override void Cleanup()
|
||||||
|
{
|
||||||
|
base.Cleanup();
|
||||||
|
|
||||||
|
mBegun = mPrepared = false;
|
||||||
|
foreach (Active active in mActiveList.ToList())
|
||||||
|
{
|
||||||
|
// It is assumed that if the activations are no longer needed, they will
|
||||||
|
// be removed here after they are returned.
|
||||||
|
if (!active.mPlaceholder && !active.mMarked)
|
||||||
|
{
|
||||||
|
mActiveList.Remove(active);
|
||||||
|
}
|
||||||
|
|
||||||
|
active.Cleanup();
|
||||||
|
}
|
||||||
|
|
||||||
|
// Remvoe stale items from the active list that are not marked
|
||||||
|
}
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// Add a new activation.
|
||||||
|
/// </summary>
|
||||||
|
/// <param name="active"></param>
|
||||||
|
private void Add(Active active)
|
||||||
|
{
|
||||||
|
mActiveList.Add(active);
|
||||||
|
}
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// Adds a new activation to the condition or if normal or unavailable, removes the
|
||||||
|
/// activation.
|
||||||
|
/// </summary>
|
||||||
|
/// <param name="level">The level</param>
|
||||||
|
/// <param name="text">The descriptive text for the condition</param>
|
||||||
|
/// <param name="code">The native code</param>
|
||||||
|
/// <param name="qualifier">The qualifier</param>
|
||||||
|
/// <param name="severity">The native severity</param>
|
||||||
|
/// <returns>true if the activation is modified</returns>
|
||||||
|
public bool Add(Level level, string text = "", string code = "", string qualifier = "", string severity = "")
|
||||||
|
{
|
||||||
|
bool result = false;
|
||||||
|
|
||||||
|
// Get the first activation
|
||||||
|
Active first = null;
|
||||||
|
if (mActiveList.Count > 0)
|
||||||
|
{
|
||||||
|
first = mActiveList.First();
|
||||||
|
}
|
||||||
|
|
||||||
|
// Check for a reset of all conditions for a normal or an unavailable
|
||||||
|
if ((level == Level.NORMAL || level == Level.UNAVAILABLE) && code.Length == 0)
|
||||||
|
{
|
||||||
|
// If we haven't changed.
|
||||||
|
if (mActiveList.Count == 1 && first.mLevel == level)
|
||||||
|
{
|
||||||
|
first.mMarked = true;
|
||||||
|
}
|
||||||
|
else
|
||||||
|
{
|
||||||
|
// Create a new placeholder activation. We don't need to remember the
|
||||||
|
// old activations because the global normal will reset everything.
|
||||||
|
mActiveList.Clear();
|
||||||
|
Add(new Active(mName, level));
|
||||||
|
result = mChanged = true;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
else
|
||||||
|
{
|
||||||
|
// If the first entry is a normal or unavailable and we are entering
|
||||||
|
// into a warning or fault, remove the normal or unavailable
|
||||||
|
if (mActiveList.Count() == 1 && first.mPlaceholder)
|
||||||
|
{
|
||||||
|
mActiveList.Clear();
|
||||||
|
}
|
||||||
|
|
||||||
|
// See if we can find the activation with the same native code.
|
||||||
|
Active found = mActiveList.Find(delegate (Active ak) { return ak.mNativeCode == code; });
|
||||||
|
|
||||||
|
if (found != null)
|
||||||
|
{
|
||||||
|
// If we found it, update all the properties and see if it has changed.
|
||||||
|
// This will mark this activation
|
||||||
|
result = found.Set(level, text, qualifier, severity);
|
||||||
|
mChanged = mChanged || result;
|
||||||
|
}
|
||||||
|
else
|
||||||
|
{
|
||||||
|
// Otherwise, we have a new activation and we should create a new one.
|
||||||
|
Add(new Active(mName, level, text, code, qualifier, severity));
|
||||||
|
result = mChanged = true;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
return result;
|
||||||
|
}
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// Clear a condition from the active list - Used only for simple Conditions.
|
||||||
|
/// </summary>
|
||||||
|
/// <param name="code">The native code</param>
|
||||||
|
/// <returns>true if the activation is found</returns>
|
||||||
|
public bool Clear(string code)
|
||||||
|
{
|
||||||
|
// Find the activation.
|
||||||
|
Active found = mActiveList.Find(delegate (Active ak) { return ak.mNativeCode == code; });
|
||||||
|
|
||||||
|
if (found != null)
|
||||||
|
{
|
||||||
|
// If we've removed the last activation, go back to normal.
|
||||||
|
if (mActiveList.Count() == 1)
|
||||||
|
{
|
||||||
|
Add(Level.NORMAL);
|
||||||
|
}
|
||||||
|
else
|
||||||
|
{
|
||||||
|
// Otherwise, just clear this one.
|
||||||
|
found.Set(Level.NORMAL);
|
||||||
|
// Clear makes the activation be removed next sweep.
|
||||||
|
found.Clear();
|
||||||
|
}
|
||||||
|
mChanged = true;
|
||||||
|
return true;
|
||||||
|
}
|
||||||
|
else
|
||||||
|
{
|
||||||
|
return false;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
// Cover to set everything to normal.
|
||||||
|
public bool Normal()
|
||||||
|
{
|
||||||
|
return Add(Level.NORMAL);
|
||||||
|
}
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// Used to get a list of the active conditions for writing out to
|
||||||
|
/// the clients.
|
||||||
|
/// </summary>
|
||||||
|
/// <param name="all">This flag is used to get all activations, regardless
|
||||||
|
/// of their changed state. This is used to deliver initial state to the client</param>
|
||||||
|
/// <returns>A list of activations (also DataItems)</returns>
|
||||||
|
public override List<DataItemRed> ItemList(bool all = false)
|
||||||
|
{
|
||||||
|
List<DataItemRed> list = new List<DataItemRed>();
|
||||||
|
if (all)
|
||||||
|
{
|
||||||
|
// Just grab all the activations.
|
||||||
|
foreach (Active active in mActiveList)
|
||||||
|
{
|
||||||
|
list.Add(active);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
else if (mSimple)
|
||||||
|
{
|
||||||
|
// For a simple condition, we are only looking for the changed set.
|
||||||
|
// Since we don't care about the mark and sweep, this is similar to
|
||||||
|
// all other data items.
|
||||||
|
foreach (Active active in mActiveList)
|
||||||
|
{
|
||||||
|
if (active.Changed)
|
||||||
|
{
|
||||||
|
list.Add(active);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
else if (mBegun && mPrepared)
|
||||||
|
{
|
||||||
|
if (mChanged)
|
||||||
|
{
|
||||||
|
// Find all the changed activations and add them to the list
|
||||||
|
foreach (Active active in mActiveList)
|
||||||
|
{
|
||||||
|
if (active.Changed)
|
||||||
|
{
|
||||||
|
list.Add(active);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
return list;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
+26
-11
@@ -4,38 +4,53 @@
|
|||||||
xsi:schemaLocation="http://www.nlog-project.org/schemas/NLog.xsd NLog.xsd"
|
xsi:schemaLocation="http://www.nlog-project.org/schemas/NLog.xsd NLog.xsd"
|
||||||
autoReload="true"
|
autoReload="true"
|
||||||
throwExceptions="false"
|
throwExceptions="false"
|
||||||
internalLogLevel="Off" internalLogFile="c:\temp\nlog-internal.log">
|
internalLogLevel="Off" internalLogFile="c:\temp\nlog-internal.log" >
|
||||||
|
|
||||||
<!-- optional, add some variables
|
|
||||||
|
<!-- optional, add some variabeles
|
||||||
https://github.com/nlog/NLog/wiki/Configuration-file#variables
|
https://github.com/nlog/NLog/wiki/Configuration-file#variables
|
||||||
-->
|
-->
|
||||||
<variable name="myvar" value="myvalue"/>
|
<variable name="myvar" value="myvalue"/>
|
||||||
|
|
||||||
<!--
|
<!--
|
||||||
See https://github.com/nlog/nlog/wiki/Configuration-file
|
See https://github.com/nlog/nlog/wiki/Configuration-file
|
||||||
for information on customizing logging rules and outputs.
|
for information on customizing logging rules and outputs.
|
||||||
-->
|
-->
|
||||||
<targets>
|
|
||||||
|
|
||||||
<!--
|
<targets async="true">
|
||||||
add your targets here
|
<!--
|
||||||
|
add your targets here
|
||||||
See https://github.com/nlog/NLog/wiki/Targets for possible targets.
|
See https://github.com/nlog/NLog/wiki/Targets for possible targets.
|
||||||
See https://github.com/nlog/NLog/wiki/Layout-Renderers for the possible layout renderers.
|
See https://github.com/nlog/NLog/wiki/Layout-Renderers for the possible layout renderers.
|
||||||
-->
|
-->
|
||||||
|
|
||||||
<!--
|
<!--
|
||||||
Write events to a file with the date in the filename.
|
Write events to a file with the date in the filename.
|
||||||
<target xsi:type="File" name="f" fileName="${basedir}/logs/${shortdate}.log"
|
<target xsi:type="File" name="f" fileName="${basedir}/logs/${shortdate}.log"
|
||||||
layout="${longdate} ${uppercase:${level}} ${message}" />
|
layout="${longdate} ${uppercase:${level}} ${message}" />
|
||||||
-->
|
-->
|
||||||
|
<target xsi:type="File"
|
||||||
|
name="f"
|
||||||
|
fileName="${basedir}/logs/${shortdate}.log"
|
||||||
|
layout="${longdate} ${uppercase:${level}} ${message}"
|
||||||
|
/>
|
||||||
|
<!--<target xsi:type="File"
|
||||||
|
name="default"
|
||||||
|
layout="${longdate} - ${level:uppercase=true}: ${message}${onexception:${newline}EXCEPTION\: ${exception:format=ToString}}"
|
||||||
|
fileName="${specialfolder:ApplicationData}\${appName}\Debug.log"
|
||||||
|
keepFileOpen="false"
|
||||||
|
archiveFileName="${specialfolder:ApplicationData}\${appName}\Debug_${shortdate}.{##}.log"
|
||||||
|
archiveNumbering="Sequence"
|
||||||
|
archiveEvery="Day"
|
||||||
|
maxArchiveFiles="30"
|
||||||
|
/>-->
|
||||||
</targets>
|
</targets>
|
||||||
|
|
||||||
<rules>
|
<rules>
|
||||||
<!-- add your logging rules here -->
|
<!-- add your logging rules here -->
|
||||||
|
|
||||||
<!--
|
<!--
|
||||||
Write all events with minimal level of Debug (So Debug, Info, Warn, Error and Fatal, but not Trace) to "f"
|
Write all events with minimal level of Debug (So Debug, Info, Warn, Error and Fatal, but not Trace) to "f"
|
||||||
<logger name="*" minlevel="Debug" writeTo="f" />
|
<logger name="*" minlevel="Debug" writeTo="f" />
|
||||||
-->
|
-->
|
||||||
|
<logger name="*" minlevel="Debug" writeTo="f" />
|
||||||
</rules>
|
</rules>
|
||||||
</nlog>
|
</nlog>
|
||||||
+1083
-393
File diff suppressed because it is too large
Load Diff
@@ -0,0 +1,135 @@
|
|||||||
|
<?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>{5AFCCD6A-3758-44C8-96ED-84E809FCA8A1}</ProjectGuid>
|
||||||
|
<OutputType>Library</OutputType>
|
||||||
|
<AppDesignerFolder>Properties</AppDesignerFolder>
|
||||||
|
<RootNamespace>OPC_UA_REDIS</RootNamespace>
|
||||||
|
<AssemblyName>OPC-UA-REDIS</AssemblyName>
|
||||||
|
<TargetFrameworkVersion>v4.6.2</TargetFrameworkVersion>
|
||||||
|
<FileAlignment>512</FileAlignment>
|
||||||
|
<Deterministic>true</Deterministic>
|
||||||
|
<TargetFrameworkProfile />
|
||||||
|
</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|x86'">
|
||||||
|
<DebugSymbols>true</DebugSymbols>
|
||||||
|
<OutputPath>bin\x86\Debug\</OutputPath>
|
||||||
|
<DefineConstants>DEBUG;TRACE</DefineConstants>
|
||||||
|
<DebugType>full</DebugType>
|
||||||
|
<PlatformTarget>x86</PlatformTarget>
|
||||||
|
<LangVersion>7.3</LangVersion>
|
||||||
|
<ErrorReport>prompt</ErrorReport>
|
||||||
|
</PropertyGroup>
|
||||||
|
<PropertyGroup Condition="'$(Configuration)|$(Platform)' == 'Release|x86'">
|
||||||
|
<OutputPath>bin\x86\Release\</OutputPath>
|
||||||
|
<DefineConstants>TRACE</DefineConstants>
|
||||||
|
<Optimize>true</Optimize>
|
||||||
|
<DebugType>pdbonly</DebugType>
|
||||||
|
<PlatformTarget>x86</PlatformTarget>
|
||||||
|
<LangVersion>7.3</LangVersion>
|
||||||
|
<ErrorReport>prompt</ErrorReport>
|
||||||
|
</PropertyGroup>
|
||||||
|
<ItemGroup>
|
||||||
|
<Reference Include="Microsoft.Bcl.AsyncInterfaces, Version=5.0.0.0, Culture=neutral, PublicKeyToken=cc7b13ffcd2ddd51, processorArchitecture=MSIL">
|
||||||
|
<HintPath>..\packages\Microsoft.Bcl.AsyncInterfaces.5.0.0\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.7.10\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.2.0\lib\net461\Pipelines.Sockets.Unofficial.dll</HintPath>
|
||||||
|
</Reference>
|
||||||
|
<Reference Include="StackExchange.Redis, Version=2.0.0.0, Culture=neutral, PublicKeyToken=c219ff1ca8c2ce46, processorArchitecture=MSIL">
|
||||||
|
<HintPath>..\packages\StackExchange.Redis.2.2.3\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=5.0.0.0, Culture=neutral, PublicKeyToken=cc7b13ffcd2ddd51, processorArchitecture=MSIL">
|
||||||
|
<HintPath>..\packages\System.Diagnostics.PerformanceCounter.5.0.0\lib\net461\System.Diagnostics.PerformanceCounter.dll</HintPath>
|
||||||
|
</Reference>
|
||||||
|
<Reference Include="System.IO.Compression, Version=4.3.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089, processorArchitecture=MSIL">
|
||||||
|
<HintPath>..\packages\System.IO.Compression.4.3.0\lib\net46\System.IO.Compression.dll</HintPath>
|
||||||
|
</Reference>
|
||||||
|
<Reference Include="System.IO.Pipelines, Version=5.0.0.0, Culture=neutral, PublicKeyToken=cc7b13ffcd2ddd51, processorArchitecture=MSIL">
|
||||||
|
<HintPath>..\packages\System.IO.Pipelines.5.0.0\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.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=4.0.6.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a, processorArchitecture=MSIL">
|
||||||
|
<HintPath>..\packages\System.Runtime.CompilerServices.Unsafe.4.7.1\lib\net461\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>
|
||||||
|
</Reference>
|
||||||
|
<Reference Include="System.Runtime.Serialization" />
|
||||||
|
<Reference Include="System.ServiceModel" />
|
||||||
|
<Reference Include="System.Threading.Channels, Version=5.0.0.0, Culture=neutral, PublicKeyToken=cc7b13ffcd2ddd51, processorArchitecture=MSIL">
|
||||||
|
<HintPath>..\packages\System.Threading.Channels.5.0.0\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" />
|
||||||
|
</ItemGroup>
|
||||||
|
<ItemGroup>
|
||||||
|
<Compile Include="AdapterRed.cs" />
|
||||||
|
<Compile Include="Properties\AssemblyInfo.cs" />
|
||||||
|
<Compile Include="DataItemRed.cs" />
|
||||||
|
<Compile Include="redUtil.cs" />
|
||||||
|
</ItemGroup>
|
||||||
|
<ItemGroup>
|
||||||
|
<Content Include="NLog.config">
|
||||||
|
<CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory>
|
||||||
|
</Content>
|
||||||
|
<None Include="app.config" />
|
||||||
|
<None Include="NLog.xsd">
|
||||||
|
<SubType>Designer</SubType>
|
||||||
|
</None>
|
||||||
|
<None Include="packages.config" />
|
||||||
|
</ItemGroup>
|
||||||
|
<ItemGroup>
|
||||||
|
<ProjectReference Include="..\MTC\MTC.csproj">
|
||||||
|
<Project>{ec83d80e-9f3b-4de9-b16a-ca216543b7ec}</Project>
|
||||||
|
<Name>MTC</Name>
|
||||||
|
</ProjectReference>
|
||||||
|
</ItemGroup>
|
||||||
|
<Import Project="$(MSBuildToolsPath)\Microsoft.CSharp.targets" />
|
||||||
|
</Project>
|
||||||
@@ -0,0 +1,36 @@
|
|||||||
|
using System.Reflection;
|
||||||
|
using System.Runtime.CompilerServices;
|
||||||
|
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("OPC-UA-REDIS")]
|
||||||
|
[assembly: AssemblyDescription("")]
|
||||||
|
[assembly: AssemblyConfiguration("")]
|
||||||
|
[assembly: AssemblyCompany("")]
|
||||||
|
[assembly: AssemblyProduct("OPC-UA-REDIS")]
|
||||||
|
[assembly: AssemblyCopyright("Copyright © 2018")]
|
||||||
|
[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("5afccd6a-3758-44c8-96ed-84e809fca8a1")]
|
||||||
|
|
||||||
|
// 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("1.0.0.0")]
|
||||||
|
[assembly: AssemblyFileVersion("1.0.0.0")]
|
||||||
@@ -0,0 +1,35 @@
|
|||||||
|
<?xml version="1.0" encoding="utf-8"?>
|
||||||
|
<configuration>
|
||||||
|
<runtime>
|
||||||
|
<assemblyBinding xmlns="urn:schemas-microsoft-com:asm.v1">
|
||||||
|
<dependentAssembly>
|
||||||
|
<assemblyIdentity name="System.Runtime.CompilerServices.Unsafe" publicKeyToken="b03f5f7f11d50a3a" culture="neutral" />
|
||||||
|
<bindingRedirect oldVersion="0.0.0.0-4.0.6.0" newVersion="4.0.6.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.IO.Pipelines" publicKeyToken="cc7b13ffcd2ddd51" culture="neutral" />
|
||||||
|
<bindingRedirect oldVersion="0.0.0.0-5.0.0.0" newVersion="5.0.0.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.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.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,19 @@
|
|||||||
|
<?xml version="1.0" encoding="utf-8"?>
|
||||||
|
<packages>
|
||||||
|
<package id="Microsoft.Bcl.AsyncInterfaces" version="5.0.0" targetFramework="net462" />
|
||||||
|
<package id="Newtonsoft.Json" version="12.0.3" targetFramework="net452" />
|
||||||
|
<package id="NLog" version="4.7.10" targetFramework="net462" />
|
||||||
|
<package id="NLog.Schema" version="4.7.10" targetFramework="net462" />
|
||||||
|
<package id="Pipelines.Sockets.Unofficial" version="2.2.0" targetFramework="net462" />
|
||||||
|
<package id="StackExchange.Redis" version="2.2.3" targetFramework="net462" />
|
||||||
|
<package id="System.Buffers" version="4.5.1" targetFramework="net462" />
|
||||||
|
<package id="System.Diagnostics.PerformanceCounter" version="5.0.0" targetFramework="net462" />
|
||||||
|
<package id="System.IO.Compression" version="4.3.0" targetFramework="net462" />
|
||||||
|
<package id="System.IO.Pipelines" version="5.0.0" 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="4.7.1" targetFramework="net462" />
|
||||||
|
<package id="System.Runtime.InteropServices.RuntimeInformation" version="4.3.0" targetFramework="net462" />
|
||||||
|
<package id="System.Threading.Channels" version="5.0.0" targetFramework="net462" />
|
||||||
|
<package id="System.Threading.Tasks.Extensions" version="4.5.4" targetFramework="net462" />
|
||||||
|
</packages>
|
||||||
@@ -0,0 +1,803 @@
|
|||||||
|
using MTC;
|
||||||
|
using NLog;
|
||||||
|
using StackExchange.Redis;
|
||||||
|
using System;
|
||||||
|
using System.Collections.Generic;
|
||||||
|
|
||||||
|
namespace OPC_UA_REDIS
|
||||||
|
{
|
||||||
|
public class redUtil
|
||||||
|
{
|
||||||
|
/// <summary>
|
||||||
|
/// wrapper di log
|
||||||
|
/// </summary>
|
||||||
|
public static Logger lg;
|
||||||
|
|
||||||
|
|
||||||
|
public redUtil()
|
||||||
|
{
|
||||||
|
lg = LogManager.GetCurrentClassLogger();
|
||||||
|
}
|
||||||
|
/// <summary>
|
||||||
|
/// Metodo accesso statico
|
||||||
|
/// </summary>
|
||||||
|
public static redUtil man = new redUtil();
|
||||||
|
|
||||||
|
#region gestione valori in RedisCache
|
||||||
|
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// Nome della variabile HASH da utilizzare (dato CodModulo / Server / DB impiegato da funzionalita' DbConfig) + keyName richiesto...
|
||||||
|
/// </summary>
|
||||||
|
public string redHash(string keyName)
|
||||||
|
{
|
||||||
|
string answ = keyName;
|
||||||
|
try
|
||||||
|
{
|
||||||
|
answ = string.Format("{0}:{1}", baseUtils.CRS("SOURS_baseHash"), keyName);
|
||||||
|
}
|
||||||
|
catch
|
||||||
|
{ }
|
||||||
|
return answ;
|
||||||
|
}
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// Connessione lazy a redis...
|
||||||
|
/// </summary>
|
||||||
|
private static Lazy<ConnectionMultiplexer> lazyConnection = new Lazy<ConnectionMultiplexer>(() =>
|
||||||
|
{
|
||||||
|
return ConnectionMultiplexer.Connect("127.0.0.1,abortConnect=false,ssl=false");
|
||||||
|
});
|
||||||
|
/// <summary>
|
||||||
|
/// Connessione lazy a redis...
|
||||||
|
/// </summary>
|
||||||
|
private static Lazy<ConnectionMultiplexer> lazyConnectionAdmin = new Lazy<ConnectionMultiplexer>(() =>
|
||||||
|
{
|
||||||
|
return ConnectionMultiplexer.Connect("127.0.0.1,abortConnect=false,ssl=false,allowAdmin=true");
|
||||||
|
});
|
||||||
|
/// <summary>
|
||||||
|
/// Oggetto statico connessione redis
|
||||||
|
/// </summary>
|
||||||
|
public static ConnectionMultiplexer connRedis
|
||||||
|
{
|
||||||
|
get
|
||||||
|
{
|
||||||
|
return lazyConnection.Value;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
/// <summary>
|
||||||
|
/// Oggetto statico connessione redis
|
||||||
|
/// </summary>
|
||||||
|
public static ConnectionMultiplexer connRedisAdmin
|
||||||
|
{
|
||||||
|
get
|
||||||
|
{
|
||||||
|
return lazyConnectionAdmin.Value;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
/// <summary>
|
||||||
|
/// Restituisce info dei server connessi...
|
||||||
|
/// </summary>
|
||||||
|
/// <returns></returns>
|
||||||
|
public IServer[] redServInfo()
|
||||||
|
{
|
||||||
|
IServer[] answ = new IServer[1];
|
||||||
|
if (connRedisAdmin.IsConnected)
|
||||||
|
{
|
||||||
|
try
|
||||||
|
{
|
||||||
|
answ = new IServer[connRedisAdmin.GetEndPoints().Length];
|
||||||
|
int i = 0;
|
||||||
|
foreach (var ep in connRedisAdmin.GetEndPoints())
|
||||||
|
{
|
||||||
|
var server = connRedisAdmin.GetServer(ep);
|
||||||
|
answ[i] = server;
|
||||||
|
i++;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
catch (Exception exc)
|
||||||
|
{
|
||||||
|
lg.Error("Eccezione in redServInfo: " + exc.ToString());
|
||||||
|
}
|
||||||
|
}
|
||||||
|
else
|
||||||
|
{
|
||||||
|
lg.Error("Server REDIS Admin non disponibile");
|
||||||
|
}
|
||||||
|
return answ;
|
||||||
|
}
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// Restituisce una chiave salvata in RedisCache
|
||||||
|
/// </summary>
|
||||||
|
/// <param name="chiave"></param>
|
||||||
|
/// <returns></returns>
|
||||||
|
public string getRSV(string chiave)
|
||||||
|
{
|
||||||
|
string answ = "";
|
||||||
|
if (connRedis.IsConnected)
|
||||||
|
{
|
||||||
|
try
|
||||||
|
{
|
||||||
|
IDatabase cache = connRedis.GetDatabase();
|
||||||
|
answ = cache.StringGet(chiave);
|
||||||
|
}
|
||||||
|
catch (Exception exc)
|
||||||
|
{
|
||||||
|
lg.Info(string.Format("Errore in getRSV:{0}{1}", Environment.NewLine, exc));
|
||||||
|
}
|
||||||
|
}
|
||||||
|
else
|
||||||
|
{
|
||||||
|
lg.Error("Server REDIS non disponibile per getRSV");
|
||||||
|
}
|
||||||
|
return answ;
|
||||||
|
}
|
||||||
|
/// <summary>
|
||||||
|
/// Salva una chiave in RedisCache
|
||||||
|
/// </summary>
|
||||||
|
/// <param name="chiave"></param>
|
||||||
|
/// <param name="valore"></param>
|
||||||
|
/// <returns></returns>
|
||||||
|
public bool setRSV(string chiave, string valore)
|
||||||
|
{
|
||||||
|
bool answ = false;
|
||||||
|
if (connRedis.IsConnected)
|
||||||
|
{
|
||||||
|
try
|
||||||
|
{
|
||||||
|
IDatabase cache = connRedis.GetDatabase();
|
||||||
|
cache.StringSet(chiave, valore);
|
||||||
|
answ = true;
|
||||||
|
}
|
||||||
|
catch (Exception exc)
|
||||||
|
{
|
||||||
|
lg.Info(string.Format("Errore in setRSV:{0}{1}", Environment.NewLine, exc));
|
||||||
|
}
|
||||||
|
}
|
||||||
|
else
|
||||||
|
{
|
||||||
|
lg.Error("Server REDIS non disponibile (setRSV)");
|
||||||
|
}
|
||||||
|
return answ;
|
||||||
|
}
|
||||||
|
/// <summary>
|
||||||
|
/// Salva una chiave in RedisCache
|
||||||
|
/// </summary>
|
||||||
|
/// <param name="chiave"></param>
|
||||||
|
/// <param name="valore"></param>
|
||||||
|
/// <param name="TTL_sec">in secondi</param>
|
||||||
|
/// <returns></returns>
|
||||||
|
public bool setRSV(string chiave, string valore, int TTL_sec)
|
||||||
|
{
|
||||||
|
bool answ = false;
|
||||||
|
if (connRedis.IsConnected)
|
||||||
|
{
|
||||||
|
try
|
||||||
|
{
|
||||||
|
IDatabase cache = connRedis.GetDatabase();
|
||||||
|
TimeSpan expT = new TimeSpan(0, 0, TTL_sec);
|
||||||
|
// salvo con expyry...
|
||||||
|
cache.StringSet(chiave, valore, expT);
|
||||||
|
answ = true;
|
||||||
|
}
|
||||||
|
catch (Exception exc)
|
||||||
|
{
|
||||||
|
lg.Info(string.Format("Errore in setRSV:{0}{1}", Environment.NewLine, exc));
|
||||||
|
}
|
||||||
|
}
|
||||||
|
else
|
||||||
|
{
|
||||||
|
lg.Error("Server REDIS non disponibile (setRSV:TTL)");
|
||||||
|
}
|
||||||
|
return answ;
|
||||||
|
}
|
||||||
|
/// <summary>
|
||||||
|
/// Incrementa un contatore in Redis
|
||||||
|
/// </summary>
|
||||||
|
/// <param name="chiave"></param>
|
||||||
|
/// <returns></returns>
|
||||||
|
public long setRCntI(string chiave)
|
||||||
|
{
|
||||||
|
long answ = 0;
|
||||||
|
try
|
||||||
|
{
|
||||||
|
IDatabase cache = connRedis.GetDatabase();
|
||||||
|
answ = cache.StringIncrement(chiave, 1);
|
||||||
|
}
|
||||||
|
catch (Exception exc)
|
||||||
|
{
|
||||||
|
lg.Info(string.Format("Errore in setRCI:{0}{1}", Environment.NewLine, exc));
|
||||||
|
}
|
||||||
|
return answ;
|
||||||
|
}
|
||||||
|
/// <summary>
|
||||||
|
/// Decrementa un contatore in Redis
|
||||||
|
/// </summary>
|
||||||
|
/// <param name="chiave"></param>
|
||||||
|
/// <returns></returns>
|
||||||
|
public long setRCntD(string chiave)
|
||||||
|
{
|
||||||
|
long answ = 0;
|
||||||
|
try
|
||||||
|
{
|
||||||
|
IDatabase cache = connRedis.GetDatabase();
|
||||||
|
answ = cache.StringDecrement(chiave, 1);
|
||||||
|
}
|
||||||
|
catch (Exception exc)
|
||||||
|
{
|
||||||
|
lg.Info(string.Format("Errore in setRCD:{0}{1}", Environment.NewLine, exc));
|
||||||
|
}
|
||||||
|
return answ;
|
||||||
|
}
|
||||||
|
/// <summary>
|
||||||
|
/// Restituisce una chiave COUNTER in RedisCache
|
||||||
|
/// </summary>
|
||||||
|
/// <param name="chiave"></param>
|
||||||
|
/// <returns></returns>
|
||||||
|
public int getRCnt(string chiave)
|
||||||
|
{
|
||||||
|
int answInt = 0;
|
||||||
|
string answ = "";
|
||||||
|
try
|
||||||
|
{
|
||||||
|
IDatabase cache = connRedis.GetDatabase();
|
||||||
|
answ = cache.StringGet(chiave);
|
||||||
|
answInt = Convert.ToInt32(answ);
|
||||||
|
}
|
||||||
|
catch (Exception exc)
|
||||||
|
{
|
||||||
|
lg.Info(string.Format("Errore in getRSV:{0}{1}", Environment.NewLine, exc));
|
||||||
|
}
|
||||||
|
return answInt;
|
||||||
|
}
|
||||||
|
/// <summary>
|
||||||
|
/// Resetta (elimina) un contatore in Redis
|
||||||
|
/// </summary>
|
||||||
|
/// <param name="chiave"></param>
|
||||||
|
/// <returns></returns>
|
||||||
|
public bool resetRCnt(string chiave)
|
||||||
|
{
|
||||||
|
bool answ = false;
|
||||||
|
try
|
||||||
|
{
|
||||||
|
IDatabase cache = connRedis.GetDatabase();
|
||||||
|
answ = cache.KeyDelete(chiave);
|
||||||
|
}
|
||||||
|
catch (Exception exc)
|
||||||
|
{
|
||||||
|
lg.Info(string.Format("Errore in resetRCnt:{0}{1}", Environment.NewLine, exc));
|
||||||
|
}
|
||||||
|
return answ;
|
||||||
|
}
|
||||||
|
/// <summary>
|
||||||
|
/// Restituisce un set KVP (Key Value Pair) salvati in RedisCache
|
||||||
|
/// </summary>
|
||||||
|
/// <param name="chiavi"></param>
|
||||||
|
/// <returns></returns>
|
||||||
|
public RedisValue[] getRKeys(RedisKey[] chiavi)
|
||||||
|
{
|
||||||
|
RedisValue[] answ = null;
|
||||||
|
try
|
||||||
|
{
|
||||||
|
IDatabase cache = connRedis.GetDatabase();
|
||||||
|
answ = cache.StringGet(chiavi);
|
||||||
|
}
|
||||||
|
catch (Exception exc)
|
||||||
|
{
|
||||||
|
lg.Info(string.Format("Errore in getRKeys:{0}{1}", Environment.NewLine, exc));
|
||||||
|
}
|
||||||
|
return answ;
|
||||||
|
}
|
||||||
|
/// <summary>
|
||||||
|
/// Salva un set KVP (Key Value Pair) in RedisCache
|
||||||
|
/// </summary>
|
||||||
|
/// <param name="valori">Set KVP chiave-valore da salvare</param>
|
||||||
|
/// <returns></returns>
|
||||||
|
public bool setRKeys(KeyValuePair<RedisKey, RedisValue>[] valori)
|
||||||
|
{
|
||||||
|
bool answ = false;
|
||||||
|
try
|
||||||
|
{
|
||||||
|
IDatabase cache = connRedis.GetDatabase();
|
||||||
|
cache.StringSet(valori);
|
||||||
|
answ = true;
|
||||||
|
}
|
||||||
|
catch (Exception exc)
|
||||||
|
{
|
||||||
|
lg.Info(string.Format("Errore in setRKeys:{0}{1}", Environment.NewLine, exc));
|
||||||
|
}
|
||||||
|
return answ;
|
||||||
|
}
|
||||||
|
/// <summary>
|
||||||
|
/// Verifica se ci siano valori nella hash indicata...
|
||||||
|
/// </summary>
|
||||||
|
/// <param name="key"></param>
|
||||||
|
/// <returns></returns>
|
||||||
|
public bool redHashPresent(RedisKey key)
|
||||||
|
{
|
||||||
|
bool answ = false;
|
||||||
|
// cerco se ci sia valore in redis...
|
||||||
|
IDatabase cache = connRedis.GetDatabase();
|
||||||
|
try
|
||||||
|
{
|
||||||
|
answ = cache.HashGetAll(key).Length > 0;
|
||||||
|
}
|
||||||
|
catch
|
||||||
|
{ }
|
||||||
|
return answ;
|
||||||
|
}
|
||||||
|
/// <summary>
|
||||||
|
/// Verifica se ci siano valori nella hash indicata (string)
|
||||||
|
/// </summary>
|
||||||
|
/// <param name="key"></param>
|
||||||
|
/// <returns></returns>
|
||||||
|
public bool redHashPresentSz(string key)
|
||||||
|
{
|
||||||
|
bool answ = false;
|
||||||
|
try
|
||||||
|
{
|
||||||
|
RedisKey chiave = key;
|
||||||
|
answ = redHashPresent(chiave);
|
||||||
|
}
|
||||||
|
catch
|
||||||
|
{ }
|
||||||
|
return answ;
|
||||||
|
}
|
||||||
|
/// <summary>
|
||||||
|
/// Recupera tutti i valori dalla hash
|
||||||
|
/// </summary>
|
||||||
|
/// <param name="hashKey"></param>
|
||||||
|
/// <returns></returns>
|
||||||
|
public KeyValuePair<string, string>[] redGetHash(string hashKey)
|
||||||
|
{
|
||||||
|
KeyValuePair<string, string>[] answ = new KeyValuePair<string, string>[1];
|
||||||
|
// cerco se ci sia valore in redis...
|
||||||
|
IDatabase cache = connRedis.GetDatabase();
|
||||||
|
try
|
||||||
|
{
|
||||||
|
RedisKey chiave = hashKey;
|
||||||
|
HashEntry[] valori = cache.HashGetAll(chiave);
|
||||||
|
answ = new KeyValuePair<string, string>[valori.Length];
|
||||||
|
int i = 0;
|
||||||
|
foreach (HashEntry item in valori)
|
||||||
|
{
|
||||||
|
answ[i] = new KeyValuePair<string, string>(item.Name, item.Value);
|
||||||
|
i++;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
catch
|
||||||
|
{ }
|
||||||
|
return answ;
|
||||||
|
}
|
||||||
|
/// <summary>
|
||||||
|
/// Recupera tutti i valori dalla hash in formato Dictionary
|
||||||
|
/// </summary>
|
||||||
|
/// <param name="hashKey"></param>
|
||||||
|
/// <returns></returns>
|
||||||
|
public Dictionary<string, string> redGetHashDict(string hashKey)
|
||||||
|
{
|
||||||
|
Dictionary<string, string> answ = new Dictionary<string, string>();
|
||||||
|
// cerco se ci sia valore in redis...
|
||||||
|
IDatabase cache = connRedis.GetDatabase();
|
||||||
|
try
|
||||||
|
{
|
||||||
|
RedisKey chiave = hashKey;
|
||||||
|
HashEntry[] valori = cache.HashGetAll(chiave);
|
||||||
|
foreach (HashEntry item in valori)
|
||||||
|
{
|
||||||
|
answ.Add(item.Name, item.Value);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
catch
|
||||||
|
{ }
|
||||||
|
return answ;
|
||||||
|
}
|
||||||
|
/// <summary>
|
||||||
|
/// Recupera UN SINGOLO VALORE dalla hash per un dato field
|
||||||
|
/// </summary>
|
||||||
|
/// <param name="hashKey"></param>
|
||||||
|
/// <param name="hashField"></param>
|
||||||
|
/// <returns></returns>
|
||||||
|
public string redGetHashField(string hashKey, string hashField)
|
||||||
|
{
|
||||||
|
string answ = "";
|
||||||
|
// cerco se ci sia valore in redis...
|
||||||
|
IDatabase cache = connRedis.GetDatabase();
|
||||||
|
try
|
||||||
|
{
|
||||||
|
RedisKey chiave = hashKey;
|
||||||
|
RedisValue campo = hashField;
|
||||||
|
RedisValue valOut = cache.HashGet(chiave, campo);
|
||||||
|
answ = valOut.ToString();
|
||||||
|
}
|
||||||
|
catch
|
||||||
|
{ }
|
||||||
|
return answ;
|
||||||
|
}
|
||||||
|
/// <summary>
|
||||||
|
/// Salvataggio di una hash di valori
|
||||||
|
/// </summary>
|
||||||
|
/// <param name="hashKey">chiave</param>
|
||||||
|
/// <param name="hashFields">valori</param>
|
||||||
|
/// <returns></returns>
|
||||||
|
public bool redSaveHash(string hashKey, KeyValuePair<string, string>[] hashFields)
|
||||||
|
{
|
||||||
|
bool answ = false;
|
||||||
|
if (connRedis.IsConnected)
|
||||||
|
{
|
||||||
|
// cerco se ci sia valore in redis...
|
||||||
|
IDatabase cache = connRedis.GetDatabase();
|
||||||
|
try
|
||||||
|
{
|
||||||
|
RedisKey chiave = hashKey;
|
||||||
|
HashEntry[] valori = new HashEntry[hashFields.Length];
|
||||||
|
int i = 0;
|
||||||
|
foreach (KeyValuePair<string, string> kvp in hashFields)
|
||||||
|
{
|
||||||
|
valori[i] = new HashEntry(kvp.Key, kvp.Value);
|
||||||
|
i++;
|
||||||
|
}
|
||||||
|
cache.HashSet(chiave, valori);
|
||||||
|
answ = true;
|
||||||
|
}
|
||||||
|
catch
|
||||||
|
{ }
|
||||||
|
}
|
||||||
|
else
|
||||||
|
{
|
||||||
|
lg.Error("Server REDIS non disponibile (redSaveHash)");
|
||||||
|
}
|
||||||
|
return answ;
|
||||||
|
}
|
||||||
|
/// <summary>
|
||||||
|
/// Salvataggio di una hash di valori
|
||||||
|
/// </summary>
|
||||||
|
/// <param name="hashKey">chiave</param>
|
||||||
|
/// <param name="hashListKVP">valori come lista KVP</param>
|
||||||
|
/// <returns></returns>
|
||||||
|
public bool redSaveHashList(string hashKey, List<KeyValuePair<string, string>> hashListKVP)
|
||||||
|
{
|
||||||
|
bool answ = false;
|
||||||
|
if (connRedis.IsConnected)
|
||||||
|
{
|
||||||
|
// cerco se ci sia valore in redis...
|
||||||
|
IDatabase cache = connRedis.GetDatabase();
|
||||||
|
try
|
||||||
|
{
|
||||||
|
RedisKey chiave = hashKey;
|
||||||
|
HashEntry[] valori = new HashEntry[hashListKVP.Count];
|
||||||
|
int i = 0;
|
||||||
|
foreach (KeyValuePair<string, string> kvp in hashListKVP)
|
||||||
|
{
|
||||||
|
valori[i] = new HashEntry(kvp.Key, kvp.Value);
|
||||||
|
i++;
|
||||||
|
}
|
||||||
|
cache.HashSet(chiave, valori);
|
||||||
|
answ = true;
|
||||||
|
}
|
||||||
|
catch
|
||||||
|
{ }
|
||||||
|
}
|
||||||
|
else
|
||||||
|
{
|
||||||
|
lg.Error("Server REDIS non disponibile (redSaveHashList)");
|
||||||
|
}
|
||||||
|
return answ;
|
||||||
|
}
|
||||||
|
/// <summary>
|
||||||
|
/// Salvataggio di una hash di valori in formato Dictionary
|
||||||
|
/// </summary>
|
||||||
|
/// <param name="hashKey">chiave</param>
|
||||||
|
/// <param name="hashFields">valori</param>
|
||||||
|
/// <returns></returns>
|
||||||
|
public bool redSaveHashDict(string hashKey, Dictionary<string, string> hashFields)
|
||||||
|
{
|
||||||
|
bool answ = false;
|
||||||
|
// cerco se ci sia valore in redis...
|
||||||
|
IDatabase cache = connRedis.GetDatabase();
|
||||||
|
try
|
||||||
|
{
|
||||||
|
RedisKey chiave = hashKey;
|
||||||
|
HashEntry[] valori = new HashEntry[hashFields.Count];
|
||||||
|
int i = 0;
|
||||||
|
foreach (KeyValuePair<string, string> kvp in hashFields)
|
||||||
|
{
|
||||||
|
valori[i] = new HashEntry(kvp.Key, kvp.Value);
|
||||||
|
i++;
|
||||||
|
}
|
||||||
|
cache.HashSet(chiave, valori);
|
||||||
|
answ = true;
|
||||||
|
}
|
||||||
|
catch
|
||||||
|
{ }
|
||||||
|
return answ;
|
||||||
|
}
|
||||||
|
/// <summary>
|
||||||
|
/// Salvataggio di una hash di valori
|
||||||
|
/// </summary>
|
||||||
|
/// <param name="hashKey">chiave</param>
|
||||||
|
/// <param name="hashFields">valori</param>
|
||||||
|
/// <param name="expireSeconds">scadenza preimpostata hash (secondi) | defaoult = -1 (non scade)</param>
|
||||||
|
/// <returns></returns>
|
||||||
|
public bool redSaveHash(string hashKey, KeyValuePair<string, string>[] hashFields, double expireSeconds = -1)
|
||||||
|
{
|
||||||
|
bool answ = false;
|
||||||
|
// cerco se ci sia valore in redis...
|
||||||
|
IDatabase cache = connRedis.GetDatabase();
|
||||||
|
try
|
||||||
|
{
|
||||||
|
RedisKey chiave = hashKey;
|
||||||
|
answ = redSaveHash(hashKey, hashFields);
|
||||||
|
if (expireSeconds > 0)
|
||||||
|
{
|
||||||
|
cache.KeyExpire(chiave, DateTime.Now.AddSeconds(expireSeconds));
|
||||||
|
}
|
||||||
|
//answ = true;
|
||||||
|
}
|
||||||
|
catch
|
||||||
|
{ }
|
||||||
|
return answ;
|
||||||
|
}
|
||||||
|
/// <summary>
|
||||||
|
/// Salvataggio di una hash di valori in formato Dictionary
|
||||||
|
/// </summary>
|
||||||
|
/// <param name="hashKey">chiave</param>
|
||||||
|
/// <param name="hashFields">valori</param>
|
||||||
|
/// <param name="expireSeconds">scadenza preimpostata hash (secondi) | defaoult = -1 (non scade)</param>
|
||||||
|
/// <returns></returns>
|
||||||
|
public bool redSaveHashDict(string hashKey, Dictionary<string, string> hashFields, double expireSeconds = -1)
|
||||||
|
{
|
||||||
|
bool answ = false;
|
||||||
|
// cerco se ci sia valore in redis...
|
||||||
|
IDatabase cache = connRedis.GetDatabase();
|
||||||
|
try
|
||||||
|
{
|
||||||
|
RedisKey chiave = hashKey;
|
||||||
|
answ = redSaveHashDict(hashKey, hashFields);
|
||||||
|
if (expireSeconds > 0)
|
||||||
|
{
|
||||||
|
cache.KeyExpire(chiave, DateTime.Now.AddSeconds(expireSeconds));
|
||||||
|
}
|
||||||
|
//answ = true;
|
||||||
|
}
|
||||||
|
catch
|
||||||
|
{ }
|
||||||
|
return answ;
|
||||||
|
}
|
||||||
|
/// <summary>
|
||||||
|
/// Elimina una key (hash, string)
|
||||||
|
/// </summary>
|
||||||
|
/// <param name="key"></param>
|
||||||
|
/// <returns></returns>
|
||||||
|
public bool redDelKey(string key)
|
||||||
|
{
|
||||||
|
bool answ = false;
|
||||||
|
// cerco se ci sia valore in redis...
|
||||||
|
IDatabase cache = connRedis.GetDatabase();
|
||||||
|
try
|
||||||
|
{
|
||||||
|
RedisKey chiave = key;
|
||||||
|
cache.KeyDelete(chiave);
|
||||||
|
answ = true;
|
||||||
|
}
|
||||||
|
catch
|
||||||
|
{ }
|
||||||
|
return answ;
|
||||||
|
}
|
||||||
|
/// <summary>
|
||||||
|
/// Flush completo cache redis
|
||||||
|
/// </summary>
|
||||||
|
/// <param name="keyPattern">** = tutti</param>
|
||||||
|
/// <returns></returns>
|
||||||
|
public bool redFlushKey(string keyPattern)
|
||||||
|
{
|
||||||
|
bool answ = false;
|
||||||
|
// cerco se ci sia valore in redis...
|
||||||
|
IDatabase cache = connRedis.GetDatabase();
|
||||||
|
// se vuoto = ALL...
|
||||||
|
keyPattern = keyPattern == "" ? "**" : keyPattern;
|
||||||
|
try
|
||||||
|
{
|
||||||
|
foreach (var ep in connRedis.GetEndPoints())
|
||||||
|
{
|
||||||
|
var server = connRedis.GetServer(ep);
|
||||||
|
foreach (var key in server.Keys(pattern: keyPattern))
|
||||||
|
{
|
||||||
|
cache.KeyDelete(key);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
answ = true;
|
||||||
|
}
|
||||||
|
catch (Exception exc)
|
||||||
|
{
|
||||||
|
lg.Error(string.Format("Eccezione: {0}", exc));
|
||||||
|
}
|
||||||
|
return answ;
|
||||||
|
}
|
||||||
|
/// <summary>
|
||||||
|
/// Conta num oggetti cache redis che rispondono a pattern
|
||||||
|
/// </summary>
|
||||||
|
/// <param name="keyPattern">** = tutti</param>
|
||||||
|
/// <returns></returns>
|
||||||
|
public int redCountKey(string keyPattern)
|
||||||
|
{
|
||||||
|
int answ = 0;
|
||||||
|
// cerco se ci sia valore in redis...
|
||||||
|
IDatabase cache = connRedis.GetDatabase();
|
||||||
|
// se vuoto = ALL...
|
||||||
|
keyPattern = keyPattern == "" ? "**" : keyPattern;
|
||||||
|
try
|
||||||
|
{
|
||||||
|
foreach (var ep in connRedis.GetEndPoints())
|
||||||
|
{
|
||||||
|
var server = connRedis.GetServer(ep);
|
||||||
|
foreach (var key in server.Keys(pattern: keyPattern))
|
||||||
|
{
|
||||||
|
answ++;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
catch (Exception exc)
|
||||||
|
{
|
||||||
|
lg.Error(string.Format("Eccezione: {0}", exc));
|
||||||
|
}
|
||||||
|
return answ;
|
||||||
|
}
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// Restituisce numero record in Redis DB
|
||||||
|
/// </summary>
|
||||||
|
public long numRecRedis
|
||||||
|
{
|
||||||
|
get
|
||||||
|
{
|
||||||
|
long answ = 0;
|
||||||
|
try
|
||||||
|
{
|
||||||
|
foreach (var ep in connRedis.GetEndPoints())
|
||||||
|
{
|
||||||
|
var server = connRedis.GetServer(ep);
|
||||||
|
answ += server.DatabaseSize();
|
||||||
|
}
|
||||||
|
}
|
||||||
|
catch
|
||||||
|
{ }
|
||||||
|
return answ;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
/// <summary>
|
||||||
|
/// Restituisce oggetti cache redis che rispondono a pattern
|
||||||
|
/// </summary>
|
||||||
|
/// <param name="keyPattern">** = tutti</param>
|
||||||
|
/// <param name="orderBy">Tipo di ordinamento per kvp</param>
|
||||||
|
/// <returns></returns>
|
||||||
|
public List<KeyValuePair<string, int>> redGetCounterByKey(string keyPattern, kvpOrderBy orderBy)
|
||||||
|
{
|
||||||
|
int numAnsw = redCountKey(keyPattern);
|
||||||
|
RedisKey[] chiavi = new RedisKey[numAnsw];
|
||||||
|
List<KeyValuePair<string, int>> answ = new List<KeyValuePair<string, int>>();
|
||||||
|
// se vuoto = ALL...
|
||||||
|
keyPattern = keyPattern == "" ? "**" : keyPattern;
|
||||||
|
|
||||||
|
// recupero in primis elenco chiavi
|
||||||
|
try
|
||||||
|
{
|
||||||
|
int i = 0;
|
||||||
|
foreach (var ep in connRedis.GetEndPoints())
|
||||||
|
{
|
||||||
|
var server = connRedis.GetServer(ep);
|
||||||
|
foreach (var key in server.Keys(pattern: keyPattern))
|
||||||
|
{
|
||||||
|
chiavi[i] = key;
|
||||||
|
i++;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
catch (Exception exc)
|
||||||
|
{
|
||||||
|
lg.Error(string.Format("Eccezione: {0}", exc));
|
||||||
|
}
|
||||||
|
// ora recupero valori!
|
||||||
|
var valori = getRKeys(chiavi);
|
||||||
|
int currVal = 0;
|
||||||
|
// popolo rispsota
|
||||||
|
try
|
||||||
|
{
|
||||||
|
for (int i = 0; i < numAnsw; i++)
|
||||||
|
{
|
||||||
|
Int32.TryParse(valori[i], out currVal);
|
||||||
|
answ.Add(new KeyValuePair<string, int>(chiavi[i], currVal));
|
||||||
|
}
|
||||||
|
}
|
||||||
|
catch
|
||||||
|
{ }
|
||||||
|
// se richiesto riordino...
|
||||||
|
switch (orderBy)
|
||||||
|
{
|
||||||
|
case kvpOrderBy.KeyAsc:
|
||||||
|
answ.Sort(CompareKey);
|
||||||
|
break;
|
||||||
|
case kvpOrderBy.KeyDesc:
|
||||||
|
answ.Sort(CompareKeyDesc);
|
||||||
|
break;
|
||||||
|
case kvpOrderBy.ValAsc:
|
||||||
|
answ.Sort(CompareVal);
|
||||||
|
break;
|
||||||
|
case kvpOrderBy.ValDesc:
|
||||||
|
answ.Sort(CompareValDesc);
|
||||||
|
break;
|
||||||
|
default:
|
||||||
|
break;
|
||||||
|
}
|
||||||
|
return answ;
|
||||||
|
}
|
||||||
|
/// <summary>
|
||||||
|
/// Effettua comaprazione x CHIAVE in KVP ASC
|
||||||
|
/// </summary>
|
||||||
|
/// <param name="x"></param>
|
||||||
|
/// <param name="y"></param>
|
||||||
|
/// <returns></returns>
|
||||||
|
private int CompareKey(KeyValuePair<string, int> x, KeyValuePair<string, int> y)
|
||||||
|
{
|
||||||
|
return x.Key.CompareTo(y.Key);
|
||||||
|
}
|
||||||
|
/// <summary>
|
||||||
|
/// Effettua comaprazione x VALORE in KVP ASC
|
||||||
|
/// </summary>
|
||||||
|
/// <param name="x"></param>
|
||||||
|
/// <param name="y"></param>
|
||||||
|
/// <returns></returns>
|
||||||
|
public int CompareVal(KeyValuePair<string, int> x, KeyValuePair<string, int> y)
|
||||||
|
{
|
||||||
|
return x.Value.CompareTo(y.Value);
|
||||||
|
}
|
||||||
|
/// <summary>
|
||||||
|
/// Effettua comaprazione x CHIAVE in KVP DESC
|
||||||
|
/// </summary>
|
||||||
|
/// <param name="x"></param>
|
||||||
|
/// <param name="y"></param>
|
||||||
|
/// <returns></returns>
|
||||||
|
private int CompareKeyDesc(KeyValuePair<string, int> x, KeyValuePair<string, int> y)
|
||||||
|
{
|
||||||
|
return y.Key.CompareTo(x.Key);
|
||||||
|
}
|
||||||
|
/// <summary>
|
||||||
|
/// Effettua comaprazione x VALORE in KVP DESC
|
||||||
|
/// </summary>
|
||||||
|
/// <param name="x"></param>
|
||||||
|
/// <param name="y"></param>
|
||||||
|
/// <returns></returns>
|
||||||
|
public int CompareValDesc(KeyValuePair<string, int> x, KeyValuePair<string, int> y)
|
||||||
|
{
|
||||||
|
return y.Value.CompareTo(x.Value);
|
||||||
|
}
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// Tipologia di ordinamento x liste KVP
|
||||||
|
/// </summary>
|
||||||
|
public enum kvpOrderBy
|
||||||
|
{
|
||||||
|
/// <summary>
|
||||||
|
/// Ordinamento ASCending per KEY
|
||||||
|
/// </summary>
|
||||||
|
KeyAsc,
|
||||||
|
/// <summary>
|
||||||
|
/// Ordinamento DESCending per KEY
|
||||||
|
/// </summary>
|
||||||
|
KeyDesc,
|
||||||
|
/// <summary>
|
||||||
|
/// Ordinamento ASCending per VAL
|
||||||
|
/// </summary>
|
||||||
|
ValAsc,
|
||||||
|
/// <summary>
|
||||||
|
/// Ordinamento DESCending per VAL
|
||||||
|
/// </summary>
|
||||||
|
ValDesc
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
#endregion
|
||||||
|
}
|
||||||
|
}
|
||||||
@@ -0,0 +1,314 @@
|
|||||||
|
|
||||||
|
Microsoft Visual Studio Solution File, Format Version 12.00
|
||||||
|
# Visual Studio Version 16
|
||||||
|
VisualStudioVersion = 16.0.29926.136
|
||||||
|
MinimumVisualStudioVersion = 10.0.40219.1
|
||||||
|
Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "Solution Items", "Solution Items", "{695A97F7-B396-4DD3-8596-F043ECA3E2BD}"
|
||||||
|
ProjectSection(SolutionItems) = preProject
|
||||||
|
Y:\30_Clienti\CMS\CMS-MTC\SetupMTC\AGENT\DATA\CONF_DEMO\Agent_ItemList_ESAKVARA.xml = Y:\30_Clienti\CMS\CMS-MTC\SetupMTC\AGENT\DATA\CONF_DEMO\Agent_ItemList_ESAKVARA.xml
|
||||||
|
Y:\30_Clienti\CMS\CMS-MTC\SetupMTC\AGENT\DATA\CONF_DEMO\Agent_ItemList_FANUC.xml = Y:\30_Clienti\CMS\CMS-MTC\SetupMTC\AGENT\DATA\CONF_DEMO\Agent_ItemList_FANUC.xml
|
||||||
|
Y:\30_Clienti\CMS\CMS-MTC\SetupMTC\AGENT\DATA\CONF_DEMO\Agent_ItemList_OSAI.xml = Y:\30_Clienti\CMS\CMS-MTC\SetupMTC\AGENT\DATA\CONF_DEMO\Agent_ItemList_OSAI.xml
|
||||||
|
..\AgentBin\CMS.xml = ..\AgentBin\CMS.xml
|
||||||
|
..\AgentBin\SCM.xml = ..\AgentBin\SCM.xml
|
||||||
|
EndProjectSection
|
||||||
|
EndProject
|
||||||
|
Project("{F184B08F-C81C-45F6-A57F-5ABD9991F28F}") = "CMSCncLib", "CMSCncLib\CMSCncLib.vbproj", "{2D769FFD-1122-4276-A115-29246E6D23C5}"
|
||||||
|
EndProject
|
||||||
|
Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "SCMA", "SCMA\SCMA.csproj", "{736DF121-11E6-4D46-835D-6560ACF241E4}"
|
||||||
|
EndProject
|
||||||
|
Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "VersGen", "VersGen\VersGen.csproj", "{58E399F3-9D4E-49D3-AB35-9ED536543D50}"
|
||||||
|
EndProject
|
||||||
|
Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "SCMCncLib", "SCMCncLib\SCMCncLib.csproj", "{7A12FE26-9C58-4630-973D-D4872374DBAF}"
|
||||||
|
EndProject
|
||||||
|
Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "MTC-ADB", "MTC-ADB\MTC-ADB.csproj", "{DF877E5E-8D04-4532-BA01-CEFD8636D4DA}"
|
||||||
|
EndProject
|
||||||
|
Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "MTC", "MTC\MTC.csproj", "{EC83D80E-9F3B-4DE9-B16A-CA216543B7EC}"
|
||||||
|
EndProject
|
||||||
|
Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "OPC-UA-REDIS", "OPC-UA-REDIS\OPC-UA-REDIS.csproj", "{5AFCCD6A-3758-44C8-96ED-84E809FCA8A1}"
|
||||||
|
EndProject
|
||||||
|
Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "EsaCncLib", "EsaCncLib\EsaCncLib.csproj", "{884C07F1-7E6E-4A3D-BF1E-FECF36348268}"
|
||||||
|
EndProject
|
||||||
|
Global
|
||||||
|
GlobalSection(SolutionConfigurationPlatforms) = preSolution
|
||||||
|
CMS-ESA|Any CPU = CMS-ESA|Any CPU
|
||||||
|
CMS-ESA|x86 = CMS-ESA|x86
|
||||||
|
CMS-FANUC|Any CPU = CMS-FANUC|Any CPU
|
||||||
|
CMS-FANUC|x86 = CMS-FANUC|x86
|
||||||
|
CMS-OSAI|Any CPU = CMS-OSAI|Any CPU
|
||||||
|
CMS-OSAI|x86 = CMS-OSAI|x86
|
||||||
|
CMS-SIEMENS|Any CPU = CMS-SIEMENS|Any CPU
|
||||||
|
CMS-SIEMENS|x86 = CMS-SIEMENS|x86
|
||||||
|
Debug|Any CPU = Debug|Any CPU
|
||||||
|
Debug|x86 = Debug|x86
|
||||||
|
MySql|Any CPU = MySql|Any CPU
|
||||||
|
MySql|x86 = MySql|x86
|
||||||
|
Release|Any CPU = Release|Any CPU
|
||||||
|
Release|x86 = Release|x86
|
||||||
|
SCM-ESA|Any CPU = SCM-ESA|Any CPU
|
||||||
|
SCM-ESA|x86 = SCM-ESA|x86
|
||||||
|
EndGlobalSection
|
||||||
|
GlobalSection(ProjectConfigurationPlatforms) = postSolution
|
||||||
|
{2D769FFD-1122-4276-A115-29246E6D23C5}.CMS-ESA|Any CPU.ActiveCfg = Release|Any CPU
|
||||||
|
{2D769FFD-1122-4276-A115-29246E6D23C5}.CMS-ESA|Any CPU.Build.0 = Release|Any CPU
|
||||||
|
{2D769FFD-1122-4276-A115-29246E6D23C5}.CMS-ESA|x86.ActiveCfg = Debug|x86
|
||||||
|
{2D769FFD-1122-4276-A115-29246E6D23C5}.CMS-ESA|x86.Build.0 = Debug|x86
|
||||||
|
{2D769FFD-1122-4276-A115-29246E6D23C5}.CMS-FANUC|Any CPU.ActiveCfg = Release|Any CPU
|
||||||
|
{2D769FFD-1122-4276-A115-29246E6D23C5}.CMS-FANUC|Any CPU.Build.0 = Release|Any CPU
|
||||||
|
{2D769FFD-1122-4276-A115-29246E6D23C5}.CMS-FANUC|x86.ActiveCfg = Debug|x86
|
||||||
|
{2D769FFD-1122-4276-A115-29246E6D23C5}.CMS-FANUC|x86.Build.0 = Debug|x86
|
||||||
|
{2D769FFD-1122-4276-A115-29246E6D23C5}.CMS-OSAI|Any CPU.ActiveCfg = Release|Any CPU
|
||||||
|
{2D769FFD-1122-4276-A115-29246E6D23C5}.CMS-OSAI|Any CPU.Build.0 = Release|Any CPU
|
||||||
|
{2D769FFD-1122-4276-A115-29246E6D23C5}.CMS-OSAI|x86.ActiveCfg = Debug|x86
|
||||||
|
{2D769FFD-1122-4276-A115-29246E6D23C5}.CMS-OSAI|x86.Build.0 = Debug|x86
|
||||||
|
{2D769FFD-1122-4276-A115-29246E6D23C5}.CMS-SIEMENS|Any CPU.ActiveCfg = Release|Any CPU
|
||||||
|
{2D769FFD-1122-4276-A115-29246E6D23C5}.CMS-SIEMENS|Any CPU.Build.0 = Release|Any CPU
|
||||||
|
{2D769FFD-1122-4276-A115-29246E6D23C5}.CMS-SIEMENS|x86.ActiveCfg = Debug|x86
|
||||||
|
{2D769FFD-1122-4276-A115-29246E6D23C5}.CMS-SIEMENS|x86.Build.0 = Debug|x86
|
||||||
|
{2D769FFD-1122-4276-A115-29246E6D23C5}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
|
||||||
|
{2D769FFD-1122-4276-A115-29246E6D23C5}.Debug|Any CPU.Build.0 = Debug|Any CPU
|
||||||
|
{2D769FFD-1122-4276-A115-29246E6D23C5}.Debug|x86.ActiveCfg = Debug|x86
|
||||||
|
{2D769FFD-1122-4276-A115-29246E6D23C5}.Debug|x86.Build.0 = Debug|x86
|
||||||
|
{2D769FFD-1122-4276-A115-29246E6D23C5}.MySql|Any CPU.ActiveCfg = Release|Any CPU
|
||||||
|
{2D769FFD-1122-4276-A115-29246E6D23C5}.MySql|Any CPU.Build.0 = Release|Any CPU
|
||||||
|
{2D769FFD-1122-4276-A115-29246E6D23C5}.MySql|x86.ActiveCfg = Debug|x86
|
||||||
|
{2D769FFD-1122-4276-A115-29246E6D23C5}.MySql|x86.Build.0 = Debug|x86
|
||||||
|
{2D769FFD-1122-4276-A115-29246E6D23C5}.Release|Any CPU.ActiveCfg = Release|Any CPU
|
||||||
|
{2D769FFD-1122-4276-A115-29246E6D23C5}.Release|Any CPU.Build.0 = Release|Any CPU
|
||||||
|
{2D769FFD-1122-4276-A115-29246E6D23C5}.Release|x86.ActiveCfg = Release|x86
|
||||||
|
{2D769FFD-1122-4276-A115-29246E6D23C5}.Release|x86.Build.0 = Release|x86
|
||||||
|
{2D769FFD-1122-4276-A115-29246E6D23C5}.SCM-ESA|Any CPU.ActiveCfg = Release|Any CPU
|
||||||
|
{2D769FFD-1122-4276-A115-29246E6D23C5}.SCM-ESA|Any CPU.Build.0 = Release|Any CPU
|
||||||
|
{2D769FFD-1122-4276-A115-29246E6D23C5}.SCM-ESA|x86.ActiveCfg = Debug|x86
|
||||||
|
{2D769FFD-1122-4276-A115-29246E6D23C5}.SCM-ESA|x86.Build.0 = Debug|x86
|
||||||
|
{736DF121-11E6-4D46-835D-6560ACF241E4}.CMS-ESA|Any CPU.ActiveCfg = CMS-ESA|Any CPU
|
||||||
|
{736DF121-11E6-4D46-835D-6560ACF241E4}.CMS-ESA|Any CPU.Build.0 = CMS-ESA|Any CPU
|
||||||
|
{736DF121-11E6-4D46-835D-6560ACF241E4}.CMS-ESA|x86.ActiveCfg = CMS-ESA|x86
|
||||||
|
{736DF121-11E6-4D46-835D-6560ACF241E4}.CMS-ESA|x86.Build.0 = CMS-ESA|x86
|
||||||
|
{736DF121-11E6-4D46-835D-6560ACF241E4}.CMS-FANUC|Any CPU.ActiveCfg = CMS-FANUC|Any CPU
|
||||||
|
{736DF121-11E6-4D46-835D-6560ACF241E4}.CMS-FANUC|Any CPU.Build.0 = CMS-FANUC|Any CPU
|
||||||
|
{736DF121-11E6-4D46-835D-6560ACF241E4}.CMS-FANUC|x86.ActiveCfg = CMS-FANUC|x86
|
||||||
|
{736DF121-11E6-4D46-835D-6560ACF241E4}.CMS-FANUC|x86.Build.0 = CMS-FANUC|x86
|
||||||
|
{736DF121-11E6-4D46-835D-6560ACF241E4}.CMS-OSAI|Any CPU.ActiveCfg = CMS-OSAI|Any CPU
|
||||||
|
{736DF121-11E6-4D46-835D-6560ACF241E4}.CMS-OSAI|Any CPU.Build.0 = CMS-OSAI|Any CPU
|
||||||
|
{736DF121-11E6-4D46-835D-6560ACF241E4}.CMS-OSAI|x86.ActiveCfg = CMS-OSAI|x86
|
||||||
|
{736DF121-11E6-4D46-835D-6560ACF241E4}.CMS-OSAI|x86.Build.0 = CMS-OSAI|x86
|
||||||
|
{736DF121-11E6-4D46-835D-6560ACF241E4}.CMS-SIEMENS|Any CPU.ActiveCfg = CMS-SIEMENS|Any CPU
|
||||||
|
{736DF121-11E6-4D46-835D-6560ACF241E4}.CMS-SIEMENS|Any CPU.Build.0 = CMS-SIEMENS|Any CPU
|
||||||
|
{736DF121-11E6-4D46-835D-6560ACF241E4}.CMS-SIEMENS|x86.ActiveCfg = CMS-SIEMENS|x86
|
||||||
|
{736DF121-11E6-4D46-835D-6560ACF241E4}.CMS-SIEMENS|x86.Build.0 = CMS-SIEMENS|x86
|
||||||
|
{736DF121-11E6-4D46-835D-6560ACF241E4}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
|
||||||
|
{736DF121-11E6-4D46-835D-6560ACF241E4}.Debug|Any CPU.Build.0 = Debug|Any CPU
|
||||||
|
{736DF121-11E6-4D46-835D-6560ACF241E4}.Debug|x86.ActiveCfg = Debug|x86
|
||||||
|
{736DF121-11E6-4D46-835D-6560ACF241E4}.Debug|x86.Build.0 = Debug|x86
|
||||||
|
{736DF121-11E6-4D46-835D-6560ACF241E4}.MySql|Any CPU.ActiveCfg = Release|Any CPU
|
||||||
|
{736DF121-11E6-4D46-835D-6560ACF241E4}.MySql|Any CPU.Build.0 = Release|Any CPU
|
||||||
|
{736DF121-11E6-4D46-835D-6560ACF241E4}.MySql|x86.ActiveCfg = Debug|x86
|
||||||
|
{736DF121-11E6-4D46-835D-6560ACF241E4}.MySql|x86.Build.0 = Debug|x86
|
||||||
|
{736DF121-11E6-4D46-835D-6560ACF241E4}.Release|Any CPU.ActiveCfg = Release|Any CPU
|
||||||
|
{736DF121-11E6-4D46-835D-6560ACF241E4}.Release|Any CPU.Build.0 = Release|Any CPU
|
||||||
|
{736DF121-11E6-4D46-835D-6560ACF241E4}.Release|x86.ActiveCfg = Release|x86
|
||||||
|
{736DF121-11E6-4D46-835D-6560ACF241E4}.Release|x86.Build.0 = Release|x86
|
||||||
|
{736DF121-11E6-4D46-835D-6560ACF241E4}.SCM-ESA|Any CPU.ActiveCfg = SCM-ESA|Any CPU
|
||||||
|
{736DF121-11E6-4D46-835D-6560ACF241E4}.SCM-ESA|Any CPU.Build.0 = SCM-ESA|Any CPU
|
||||||
|
{736DF121-11E6-4D46-835D-6560ACF241E4}.SCM-ESA|x86.ActiveCfg = SCM-ESA|x86
|
||||||
|
{736DF121-11E6-4D46-835D-6560ACF241E4}.SCM-ESA|x86.Build.0 = SCM-ESA|x86
|
||||||
|
{58E399F3-9D4E-49D3-AB35-9ED536543D50}.CMS-ESA|Any CPU.ActiveCfg = Release|Any CPU
|
||||||
|
{58E399F3-9D4E-49D3-AB35-9ED536543D50}.CMS-ESA|Any CPU.Build.0 = Release|Any CPU
|
||||||
|
{58E399F3-9D4E-49D3-AB35-9ED536543D50}.CMS-ESA|x86.ActiveCfg = Debug|x86
|
||||||
|
{58E399F3-9D4E-49D3-AB35-9ED536543D50}.CMS-ESA|x86.Build.0 = Debug|x86
|
||||||
|
{58E399F3-9D4E-49D3-AB35-9ED536543D50}.CMS-FANUC|Any CPU.ActiveCfg = Release|Any CPU
|
||||||
|
{58E399F3-9D4E-49D3-AB35-9ED536543D50}.CMS-FANUC|Any CPU.Build.0 = Release|Any CPU
|
||||||
|
{58E399F3-9D4E-49D3-AB35-9ED536543D50}.CMS-FANUC|x86.ActiveCfg = Debug|x86
|
||||||
|
{58E399F3-9D4E-49D3-AB35-9ED536543D50}.CMS-FANUC|x86.Build.0 = Debug|x86
|
||||||
|
{58E399F3-9D4E-49D3-AB35-9ED536543D50}.CMS-OSAI|Any CPU.ActiveCfg = Release|Any CPU
|
||||||
|
{58E399F3-9D4E-49D3-AB35-9ED536543D50}.CMS-OSAI|Any CPU.Build.0 = Release|Any CPU
|
||||||
|
{58E399F3-9D4E-49D3-AB35-9ED536543D50}.CMS-OSAI|x86.ActiveCfg = Debug|x86
|
||||||
|
{58E399F3-9D4E-49D3-AB35-9ED536543D50}.CMS-OSAI|x86.Build.0 = Debug|x86
|
||||||
|
{58E399F3-9D4E-49D3-AB35-9ED536543D50}.CMS-SIEMENS|Any CPU.ActiveCfg = Release|Any CPU
|
||||||
|
{58E399F3-9D4E-49D3-AB35-9ED536543D50}.CMS-SIEMENS|Any CPU.Build.0 = Release|Any CPU
|
||||||
|
{58E399F3-9D4E-49D3-AB35-9ED536543D50}.CMS-SIEMENS|x86.ActiveCfg = Debug|x86
|
||||||
|
{58E399F3-9D4E-49D3-AB35-9ED536543D50}.CMS-SIEMENS|x86.Build.0 = Debug|x86
|
||||||
|
{58E399F3-9D4E-49D3-AB35-9ED536543D50}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
|
||||||
|
{58E399F3-9D4E-49D3-AB35-9ED536543D50}.Debug|Any CPU.Build.0 = Debug|Any CPU
|
||||||
|
{58E399F3-9D4E-49D3-AB35-9ED536543D50}.Debug|x86.ActiveCfg = Debug|x86
|
||||||
|
{58E399F3-9D4E-49D3-AB35-9ED536543D50}.Debug|x86.Build.0 = Debug|x86
|
||||||
|
{58E399F3-9D4E-49D3-AB35-9ED536543D50}.MySql|Any CPU.ActiveCfg = Release|Any CPU
|
||||||
|
{58E399F3-9D4E-49D3-AB35-9ED536543D50}.MySql|Any CPU.Build.0 = Release|Any CPU
|
||||||
|
{58E399F3-9D4E-49D3-AB35-9ED536543D50}.MySql|x86.ActiveCfg = Debug|x86
|
||||||
|
{58E399F3-9D4E-49D3-AB35-9ED536543D50}.MySql|x86.Build.0 = Debug|x86
|
||||||
|
{58E399F3-9D4E-49D3-AB35-9ED536543D50}.Release|Any CPU.ActiveCfg = Release|Any CPU
|
||||||
|
{58E399F3-9D4E-49D3-AB35-9ED536543D50}.Release|Any CPU.Build.0 = Release|Any CPU
|
||||||
|
{58E399F3-9D4E-49D3-AB35-9ED536543D50}.Release|x86.ActiveCfg = Release|x86
|
||||||
|
{58E399F3-9D4E-49D3-AB35-9ED536543D50}.Release|x86.Build.0 = Release|x86
|
||||||
|
{58E399F3-9D4E-49D3-AB35-9ED536543D50}.SCM-ESA|Any CPU.ActiveCfg = Release|Any CPU
|
||||||
|
{58E399F3-9D4E-49D3-AB35-9ED536543D50}.SCM-ESA|Any CPU.Build.0 = Release|Any CPU
|
||||||
|
{58E399F3-9D4E-49D3-AB35-9ED536543D50}.SCM-ESA|x86.ActiveCfg = Debug|x86
|
||||||
|
{58E399F3-9D4E-49D3-AB35-9ED536543D50}.SCM-ESA|x86.Build.0 = Debug|x86
|
||||||
|
{7A12FE26-9C58-4630-973D-D4872374DBAF}.CMS-ESA|Any CPU.ActiveCfg = Release|Any CPU
|
||||||
|
{7A12FE26-9C58-4630-973D-D4872374DBAF}.CMS-ESA|Any CPU.Build.0 = Release|Any CPU
|
||||||
|
{7A12FE26-9C58-4630-973D-D4872374DBAF}.CMS-ESA|x86.ActiveCfg = Debug|x86
|
||||||
|
{7A12FE26-9C58-4630-973D-D4872374DBAF}.CMS-ESA|x86.Build.0 = Debug|x86
|
||||||
|
{7A12FE26-9C58-4630-973D-D4872374DBAF}.CMS-FANUC|Any CPU.ActiveCfg = Release|Any CPU
|
||||||
|
{7A12FE26-9C58-4630-973D-D4872374DBAF}.CMS-FANUC|Any CPU.Build.0 = Release|Any CPU
|
||||||
|
{7A12FE26-9C58-4630-973D-D4872374DBAF}.CMS-FANUC|x86.ActiveCfg = Debug|x86
|
||||||
|
{7A12FE26-9C58-4630-973D-D4872374DBAF}.CMS-FANUC|x86.Build.0 = Debug|x86
|
||||||
|
{7A12FE26-9C58-4630-973D-D4872374DBAF}.CMS-OSAI|Any CPU.ActiveCfg = Release|Any CPU
|
||||||
|
{7A12FE26-9C58-4630-973D-D4872374DBAF}.CMS-OSAI|Any CPU.Build.0 = Release|Any CPU
|
||||||
|
{7A12FE26-9C58-4630-973D-D4872374DBAF}.CMS-OSAI|x86.ActiveCfg = Debug|x86
|
||||||
|
{7A12FE26-9C58-4630-973D-D4872374DBAF}.CMS-OSAI|x86.Build.0 = Debug|x86
|
||||||
|
{7A12FE26-9C58-4630-973D-D4872374DBAF}.CMS-SIEMENS|Any CPU.ActiveCfg = Release|Any CPU
|
||||||
|
{7A12FE26-9C58-4630-973D-D4872374DBAF}.CMS-SIEMENS|Any CPU.Build.0 = Release|Any CPU
|
||||||
|
{7A12FE26-9C58-4630-973D-D4872374DBAF}.CMS-SIEMENS|x86.ActiveCfg = Debug|x86
|
||||||
|
{7A12FE26-9C58-4630-973D-D4872374DBAF}.CMS-SIEMENS|x86.Build.0 = Debug|x86
|
||||||
|
{7A12FE26-9C58-4630-973D-D4872374DBAF}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
|
||||||
|
{7A12FE26-9C58-4630-973D-D4872374DBAF}.Debug|Any CPU.Build.0 = Debug|Any CPU
|
||||||
|
{7A12FE26-9C58-4630-973D-D4872374DBAF}.Debug|x86.ActiveCfg = Debug|x86
|
||||||
|
{7A12FE26-9C58-4630-973D-D4872374DBAF}.Debug|x86.Build.0 = Debug|x86
|
||||||
|
{7A12FE26-9C58-4630-973D-D4872374DBAF}.MySql|Any CPU.ActiveCfg = Release|Any CPU
|
||||||
|
{7A12FE26-9C58-4630-973D-D4872374DBAF}.MySql|Any CPU.Build.0 = Release|Any CPU
|
||||||
|
{7A12FE26-9C58-4630-973D-D4872374DBAF}.MySql|x86.ActiveCfg = Debug|x86
|
||||||
|
{7A12FE26-9C58-4630-973D-D4872374DBAF}.MySql|x86.Build.0 = Debug|x86
|
||||||
|
{7A12FE26-9C58-4630-973D-D4872374DBAF}.Release|Any CPU.ActiveCfg = Release|Any CPU
|
||||||
|
{7A12FE26-9C58-4630-973D-D4872374DBAF}.Release|Any CPU.Build.0 = Release|Any CPU
|
||||||
|
{7A12FE26-9C58-4630-973D-D4872374DBAF}.Release|x86.ActiveCfg = Release|x86
|
||||||
|
{7A12FE26-9C58-4630-973D-D4872374DBAF}.Release|x86.Build.0 = Release|x86
|
||||||
|
{7A12FE26-9C58-4630-973D-D4872374DBAF}.SCM-ESA|Any CPU.ActiveCfg = Release|Any CPU
|
||||||
|
{7A12FE26-9C58-4630-973D-D4872374DBAF}.SCM-ESA|Any CPU.Build.0 = Release|Any CPU
|
||||||
|
{7A12FE26-9C58-4630-973D-D4872374DBAF}.SCM-ESA|x86.ActiveCfg = Debug|x86
|
||||||
|
{7A12FE26-9C58-4630-973D-D4872374DBAF}.SCM-ESA|x86.Build.0 = Debug|x86
|
||||||
|
{DF877E5E-8D04-4532-BA01-CEFD8636D4DA}.CMS-ESA|Any CPU.ActiveCfg = Release|Any CPU
|
||||||
|
{DF877E5E-8D04-4532-BA01-CEFD8636D4DA}.CMS-ESA|Any CPU.Build.0 = Release|Any CPU
|
||||||
|
{DF877E5E-8D04-4532-BA01-CEFD8636D4DA}.CMS-ESA|x86.ActiveCfg = Debug|x86
|
||||||
|
{DF877E5E-8D04-4532-BA01-CEFD8636D4DA}.CMS-ESA|x86.Build.0 = Debug|x86
|
||||||
|
{DF877E5E-8D04-4532-BA01-CEFD8636D4DA}.CMS-FANUC|Any CPU.ActiveCfg = Release|Any CPU
|
||||||
|
{DF877E5E-8D04-4532-BA01-CEFD8636D4DA}.CMS-FANUC|Any CPU.Build.0 = Release|Any CPU
|
||||||
|
{DF877E5E-8D04-4532-BA01-CEFD8636D4DA}.CMS-FANUC|x86.ActiveCfg = Debug|x86
|
||||||
|
{DF877E5E-8D04-4532-BA01-CEFD8636D4DA}.CMS-FANUC|x86.Build.0 = Debug|x86
|
||||||
|
{DF877E5E-8D04-4532-BA01-CEFD8636D4DA}.CMS-OSAI|Any CPU.ActiveCfg = Release|Any CPU
|
||||||
|
{DF877E5E-8D04-4532-BA01-CEFD8636D4DA}.CMS-OSAI|Any CPU.Build.0 = Release|Any CPU
|
||||||
|
{DF877E5E-8D04-4532-BA01-CEFD8636D4DA}.CMS-OSAI|x86.ActiveCfg = Debug|x86
|
||||||
|
{DF877E5E-8D04-4532-BA01-CEFD8636D4DA}.CMS-OSAI|x86.Build.0 = Debug|x86
|
||||||
|
{DF877E5E-8D04-4532-BA01-CEFD8636D4DA}.CMS-SIEMENS|Any CPU.ActiveCfg = Release|Any CPU
|
||||||
|
{DF877E5E-8D04-4532-BA01-CEFD8636D4DA}.CMS-SIEMENS|Any CPU.Build.0 = Release|Any CPU
|
||||||
|
{DF877E5E-8D04-4532-BA01-CEFD8636D4DA}.CMS-SIEMENS|x86.ActiveCfg = Debug|x86
|
||||||
|
{DF877E5E-8D04-4532-BA01-CEFD8636D4DA}.CMS-SIEMENS|x86.Build.0 = Debug|x86
|
||||||
|
{DF877E5E-8D04-4532-BA01-CEFD8636D4DA}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
|
||||||
|
{DF877E5E-8D04-4532-BA01-CEFD8636D4DA}.Debug|Any CPU.Build.0 = Debug|Any CPU
|
||||||
|
{DF877E5E-8D04-4532-BA01-CEFD8636D4DA}.Debug|x86.ActiveCfg = Debug|x86
|
||||||
|
{DF877E5E-8D04-4532-BA01-CEFD8636D4DA}.Debug|x86.Build.0 = Debug|x86
|
||||||
|
{DF877E5E-8D04-4532-BA01-CEFD8636D4DA}.MySql|Any CPU.ActiveCfg = MySql|Any CPU
|
||||||
|
{DF877E5E-8D04-4532-BA01-CEFD8636D4DA}.MySql|Any CPU.Build.0 = MySql|Any CPU
|
||||||
|
{DF877E5E-8D04-4532-BA01-CEFD8636D4DA}.MySql|x86.ActiveCfg = MySql|x86
|
||||||
|
{DF877E5E-8D04-4532-BA01-CEFD8636D4DA}.MySql|x86.Build.0 = MySql|x86
|
||||||
|
{DF877E5E-8D04-4532-BA01-CEFD8636D4DA}.Release|Any CPU.ActiveCfg = Release|Any CPU
|
||||||
|
{DF877E5E-8D04-4532-BA01-CEFD8636D4DA}.Release|Any CPU.Build.0 = Release|Any CPU
|
||||||
|
{DF877E5E-8D04-4532-BA01-CEFD8636D4DA}.Release|x86.ActiveCfg = Release|x86
|
||||||
|
{DF877E5E-8D04-4532-BA01-CEFD8636D4DA}.Release|x86.Build.0 = Release|x86
|
||||||
|
{DF877E5E-8D04-4532-BA01-CEFD8636D4DA}.SCM-ESA|Any CPU.ActiveCfg = Release|Any CPU
|
||||||
|
{DF877E5E-8D04-4532-BA01-CEFD8636D4DA}.SCM-ESA|Any CPU.Build.0 = Release|Any CPU
|
||||||
|
{DF877E5E-8D04-4532-BA01-CEFD8636D4DA}.SCM-ESA|x86.ActiveCfg = Debug|x86
|
||||||
|
{DF877E5E-8D04-4532-BA01-CEFD8636D4DA}.SCM-ESA|x86.Build.0 = Debug|x86
|
||||||
|
{EC83D80E-9F3B-4DE9-B16A-CA216543B7EC}.CMS-ESA|Any CPU.ActiveCfg = Release|Any CPU
|
||||||
|
{EC83D80E-9F3B-4DE9-B16A-CA216543B7EC}.CMS-ESA|Any CPU.Build.0 = Release|Any CPU
|
||||||
|
{EC83D80E-9F3B-4DE9-B16A-CA216543B7EC}.CMS-ESA|x86.ActiveCfg = Debug|x86
|
||||||
|
{EC83D80E-9F3B-4DE9-B16A-CA216543B7EC}.CMS-ESA|x86.Build.0 = Debug|x86
|
||||||
|
{EC83D80E-9F3B-4DE9-B16A-CA216543B7EC}.CMS-FANUC|Any CPU.ActiveCfg = Release|Any CPU
|
||||||
|
{EC83D80E-9F3B-4DE9-B16A-CA216543B7EC}.CMS-FANUC|Any CPU.Build.0 = Release|Any CPU
|
||||||
|
{EC83D80E-9F3B-4DE9-B16A-CA216543B7EC}.CMS-FANUC|x86.ActiveCfg = Debug|x86
|
||||||
|
{EC83D80E-9F3B-4DE9-B16A-CA216543B7EC}.CMS-FANUC|x86.Build.0 = Debug|x86
|
||||||
|
{EC83D80E-9F3B-4DE9-B16A-CA216543B7EC}.CMS-OSAI|Any CPU.ActiveCfg = Release|Any CPU
|
||||||
|
{EC83D80E-9F3B-4DE9-B16A-CA216543B7EC}.CMS-OSAI|Any CPU.Build.0 = Release|Any CPU
|
||||||
|
{EC83D80E-9F3B-4DE9-B16A-CA216543B7EC}.CMS-OSAI|x86.ActiveCfg = Debug|x86
|
||||||
|
{EC83D80E-9F3B-4DE9-B16A-CA216543B7EC}.CMS-OSAI|x86.Build.0 = Debug|x86
|
||||||
|
{EC83D80E-9F3B-4DE9-B16A-CA216543B7EC}.CMS-SIEMENS|Any CPU.ActiveCfg = Release|Any CPU
|
||||||
|
{EC83D80E-9F3B-4DE9-B16A-CA216543B7EC}.CMS-SIEMENS|Any CPU.Build.0 = Release|Any CPU
|
||||||
|
{EC83D80E-9F3B-4DE9-B16A-CA216543B7EC}.CMS-SIEMENS|x86.ActiveCfg = Debug|x86
|
||||||
|
{EC83D80E-9F3B-4DE9-B16A-CA216543B7EC}.CMS-SIEMENS|x86.Build.0 = Debug|x86
|
||||||
|
{EC83D80E-9F3B-4DE9-B16A-CA216543B7EC}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
|
||||||
|
{EC83D80E-9F3B-4DE9-B16A-CA216543B7EC}.Debug|Any CPU.Build.0 = Debug|Any CPU
|
||||||
|
{EC83D80E-9F3B-4DE9-B16A-CA216543B7EC}.Debug|x86.ActiveCfg = Debug|x86
|
||||||
|
{EC83D80E-9F3B-4DE9-B16A-CA216543B7EC}.Debug|x86.Build.0 = Debug|x86
|
||||||
|
{EC83D80E-9F3B-4DE9-B16A-CA216543B7EC}.MySql|Any CPU.ActiveCfg = Release|Any CPU
|
||||||
|
{EC83D80E-9F3B-4DE9-B16A-CA216543B7EC}.MySql|Any CPU.Build.0 = Release|Any CPU
|
||||||
|
{EC83D80E-9F3B-4DE9-B16A-CA216543B7EC}.MySql|x86.ActiveCfg = Debug|x86
|
||||||
|
{EC83D80E-9F3B-4DE9-B16A-CA216543B7EC}.MySql|x86.Build.0 = Debug|x86
|
||||||
|
{EC83D80E-9F3B-4DE9-B16A-CA216543B7EC}.Release|Any CPU.ActiveCfg = Release|Any CPU
|
||||||
|
{EC83D80E-9F3B-4DE9-B16A-CA216543B7EC}.Release|Any CPU.Build.0 = Release|Any CPU
|
||||||
|
{EC83D80E-9F3B-4DE9-B16A-CA216543B7EC}.Release|x86.ActiveCfg = Release|x86
|
||||||
|
{EC83D80E-9F3B-4DE9-B16A-CA216543B7EC}.Release|x86.Build.0 = Release|x86
|
||||||
|
{EC83D80E-9F3B-4DE9-B16A-CA216543B7EC}.SCM-ESA|Any CPU.ActiveCfg = Release|Any CPU
|
||||||
|
{EC83D80E-9F3B-4DE9-B16A-CA216543B7EC}.SCM-ESA|Any CPU.Build.0 = Release|Any CPU
|
||||||
|
{EC83D80E-9F3B-4DE9-B16A-CA216543B7EC}.SCM-ESA|x86.ActiveCfg = Debug|x86
|
||||||
|
{EC83D80E-9F3B-4DE9-B16A-CA216543B7EC}.SCM-ESA|x86.Build.0 = Debug|x86
|
||||||
|
{5AFCCD6A-3758-44C8-96ED-84E809FCA8A1}.CMS-ESA|Any CPU.ActiveCfg = Release|Any CPU
|
||||||
|
{5AFCCD6A-3758-44C8-96ED-84E809FCA8A1}.CMS-ESA|Any CPU.Build.0 = Release|Any CPU
|
||||||
|
{5AFCCD6A-3758-44C8-96ED-84E809FCA8A1}.CMS-ESA|x86.ActiveCfg = Debug|x86
|
||||||
|
{5AFCCD6A-3758-44C8-96ED-84E809FCA8A1}.CMS-ESA|x86.Build.0 = Debug|x86
|
||||||
|
{5AFCCD6A-3758-44C8-96ED-84E809FCA8A1}.CMS-FANUC|Any CPU.ActiveCfg = Release|Any CPU
|
||||||
|
{5AFCCD6A-3758-44C8-96ED-84E809FCA8A1}.CMS-FANUC|Any CPU.Build.0 = Release|Any CPU
|
||||||
|
{5AFCCD6A-3758-44C8-96ED-84E809FCA8A1}.CMS-FANUC|x86.ActiveCfg = Debug|x86
|
||||||
|
{5AFCCD6A-3758-44C8-96ED-84E809FCA8A1}.CMS-FANUC|x86.Build.0 = Debug|x86
|
||||||
|
{5AFCCD6A-3758-44C8-96ED-84E809FCA8A1}.CMS-OSAI|Any CPU.ActiveCfg = Release|Any CPU
|
||||||
|
{5AFCCD6A-3758-44C8-96ED-84E809FCA8A1}.CMS-OSAI|Any CPU.Build.0 = Release|Any CPU
|
||||||
|
{5AFCCD6A-3758-44C8-96ED-84E809FCA8A1}.CMS-OSAI|x86.ActiveCfg = Debug|x86
|
||||||
|
{5AFCCD6A-3758-44C8-96ED-84E809FCA8A1}.CMS-OSAI|x86.Build.0 = Debug|x86
|
||||||
|
{5AFCCD6A-3758-44C8-96ED-84E809FCA8A1}.CMS-SIEMENS|Any CPU.ActiveCfg = Release|Any CPU
|
||||||
|
{5AFCCD6A-3758-44C8-96ED-84E809FCA8A1}.CMS-SIEMENS|Any CPU.Build.0 = Release|Any CPU
|
||||||
|
{5AFCCD6A-3758-44C8-96ED-84E809FCA8A1}.CMS-SIEMENS|x86.ActiveCfg = Debug|x86
|
||||||
|
{5AFCCD6A-3758-44C8-96ED-84E809FCA8A1}.CMS-SIEMENS|x86.Build.0 = Debug|x86
|
||||||
|
{5AFCCD6A-3758-44C8-96ED-84E809FCA8A1}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
|
||||||
|
{5AFCCD6A-3758-44C8-96ED-84E809FCA8A1}.Debug|Any CPU.Build.0 = Debug|Any CPU
|
||||||
|
{5AFCCD6A-3758-44C8-96ED-84E809FCA8A1}.Debug|x86.ActiveCfg = Debug|x86
|
||||||
|
{5AFCCD6A-3758-44C8-96ED-84E809FCA8A1}.Debug|x86.Build.0 = Debug|x86
|
||||||
|
{5AFCCD6A-3758-44C8-96ED-84E809FCA8A1}.MySql|Any CPU.ActiveCfg = Release|Any CPU
|
||||||
|
{5AFCCD6A-3758-44C8-96ED-84E809FCA8A1}.MySql|Any CPU.Build.0 = Release|Any CPU
|
||||||
|
{5AFCCD6A-3758-44C8-96ED-84E809FCA8A1}.MySql|x86.ActiveCfg = Debug|x86
|
||||||
|
{5AFCCD6A-3758-44C8-96ED-84E809FCA8A1}.MySql|x86.Build.0 = Debug|x86
|
||||||
|
{5AFCCD6A-3758-44C8-96ED-84E809FCA8A1}.Release|Any CPU.ActiveCfg = Release|Any CPU
|
||||||
|
{5AFCCD6A-3758-44C8-96ED-84E809FCA8A1}.Release|Any CPU.Build.0 = Release|Any CPU
|
||||||
|
{5AFCCD6A-3758-44C8-96ED-84E809FCA8A1}.Release|x86.ActiveCfg = Release|x86
|
||||||
|
{5AFCCD6A-3758-44C8-96ED-84E809FCA8A1}.Release|x86.Build.0 = Release|x86
|
||||||
|
{5AFCCD6A-3758-44C8-96ED-84E809FCA8A1}.SCM-ESA|Any CPU.ActiveCfg = Release|Any CPU
|
||||||
|
{5AFCCD6A-3758-44C8-96ED-84E809FCA8A1}.SCM-ESA|Any CPU.Build.0 = Release|Any CPU
|
||||||
|
{5AFCCD6A-3758-44C8-96ED-84E809FCA8A1}.SCM-ESA|x86.ActiveCfg = Debug|x86
|
||||||
|
{5AFCCD6A-3758-44C8-96ED-84E809FCA8A1}.SCM-ESA|x86.Build.0 = Debug|x86
|
||||||
|
{884C07F1-7E6E-4A3D-BF1E-FECF36348268}.CMS-ESA|Any CPU.ActiveCfg = Release|Any CPU
|
||||||
|
{884C07F1-7E6E-4A3D-BF1E-FECF36348268}.CMS-ESA|Any CPU.Build.0 = Release|Any CPU
|
||||||
|
{884C07F1-7E6E-4A3D-BF1E-FECF36348268}.CMS-ESA|x86.ActiveCfg = Debug|x86
|
||||||
|
{884C07F1-7E6E-4A3D-BF1E-FECF36348268}.CMS-ESA|x86.Build.0 = Debug|x86
|
||||||
|
{884C07F1-7E6E-4A3D-BF1E-FECF36348268}.CMS-FANUC|Any CPU.ActiveCfg = Release|Any CPU
|
||||||
|
{884C07F1-7E6E-4A3D-BF1E-FECF36348268}.CMS-FANUC|Any CPU.Build.0 = Release|Any CPU
|
||||||
|
{884C07F1-7E6E-4A3D-BF1E-FECF36348268}.CMS-FANUC|x86.ActiveCfg = Debug|x86
|
||||||
|
{884C07F1-7E6E-4A3D-BF1E-FECF36348268}.CMS-FANUC|x86.Build.0 = Debug|x86
|
||||||
|
{884C07F1-7E6E-4A3D-BF1E-FECF36348268}.CMS-OSAI|Any CPU.ActiveCfg = Release|Any CPU
|
||||||
|
{884C07F1-7E6E-4A3D-BF1E-FECF36348268}.CMS-OSAI|Any CPU.Build.0 = Release|Any CPU
|
||||||
|
{884C07F1-7E6E-4A3D-BF1E-FECF36348268}.CMS-OSAI|x86.ActiveCfg = Debug|x86
|
||||||
|
{884C07F1-7E6E-4A3D-BF1E-FECF36348268}.CMS-OSAI|x86.Build.0 = Debug|x86
|
||||||
|
{884C07F1-7E6E-4A3D-BF1E-FECF36348268}.CMS-SIEMENS|Any CPU.ActiveCfg = Release|Any CPU
|
||||||
|
{884C07F1-7E6E-4A3D-BF1E-FECF36348268}.CMS-SIEMENS|Any CPU.Build.0 = Release|Any CPU
|
||||||
|
{884C07F1-7E6E-4A3D-BF1E-FECF36348268}.CMS-SIEMENS|x86.ActiveCfg = Debug|x86
|
||||||
|
{884C07F1-7E6E-4A3D-BF1E-FECF36348268}.CMS-SIEMENS|x86.Build.0 = Debug|x86
|
||||||
|
{884C07F1-7E6E-4A3D-BF1E-FECF36348268}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
|
||||||
|
{884C07F1-7E6E-4A3D-BF1E-FECF36348268}.Debug|Any CPU.Build.0 = Debug|Any CPU
|
||||||
|
{884C07F1-7E6E-4A3D-BF1E-FECF36348268}.Debug|x86.ActiveCfg = Debug|x86
|
||||||
|
{884C07F1-7E6E-4A3D-BF1E-FECF36348268}.Debug|x86.Build.0 = Debug|x86
|
||||||
|
{884C07F1-7E6E-4A3D-BF1E-FECF36348268}.MySql|Any CPU.ActiveCfg = Release|Any CPU
|
||||||
|
{884C07F1-7E6E-4A3D-BF1E-FECF36348268}.MySql|Any CPU.Build.0 = Release|Any CPU
|
||||||
|
{884C07F1-7E6E-4A3D-BF1E-FECF36348268}.MySql|x86.ActiveCfg = Debug|x86
|
||||||
|
{884C07F1-7E6E-4A3D-BF1E-FECF36348268}.MySql|x86.Build.0 = Debug|x86
|
||||||
|
{884C07F1-7E6E-4A3D-BF1E-FECF36348268}.Release|Any CPU.ActiveCfg = Release|Any CPU
|
||||||
|
{884C07F1-7E6E-4A3D-BF1E-FECF36348268}.Release|Any CPU.Build.0 = Release|Any CPU
|
||||||
|
{884C07F1-7E6E-4A3D-BF1E-FECF36348268}.Release|x86.ActiveCfg = Release|x86
|
||||||
|
{884C07F1-7E6E-4A3D-BF1E-FECF36348268}.Release|x86.Build.0 = Release|x86
|
||||||
|
{884C07F1-7E6E-4A3D-BF1E-FECF36348268}.SCM-ESA|Any CPU.ActiveCfg = Release|Any CPU
|
||||||
|
{884C07F1-7E6E-4A3D-BF1E-FECF36348268}.SCM-ESA|Any CPU.Build.0 = Release|Any CPU
|
||||||
|
{884C07F1-7E6E-4A3D-BF1E-FECF36348268}.SCM-ESA|x86.ActiveCfg = Debug|x86
|
||||||
|
{884C07F1-7E6E-4A3D-BF1E-FECF36348268}.SCM-ESA|x86.Build.0 = Debug|x86
|
||||||
|
EndGlobalSection
|
||||||
|
GlobalSection(SolutionProperties) = preSolution
|
||||||
|
HideSolutionNode = FALSE
|
||||||
|
EndGlobalSection
|
||||||
|
GlobalSection(ExtensibilityGlobals) = postSolution
|
||||||
|
SolutionGuid = {C7C9CC69-EF84-4B45-8C42-E5002A954A03}
|
||||||
|
EndGlobalSection
|
||||||
|
EndGlobal
|
||||||
Some files were not shown because too many files have changed in this diff Show More
Reference in New Issue
Block a user