Compare commits
420 Commits
| Author | SHA1 | Date | |
|---|---|---|---|
| 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 |
+5
-1
@@ -9,12 +9,16 @@ TestResults
|
||||
*.obj
|
||||
Tests.VisualState.xml
|
||||
TestResult.xml
|
||||
*\.vs
|
||||
#MTC_Adapter/\.vs/MTC_Adapter/v15/sqlite3/storage\.ide
|
||||
|
||||
# -----------------------------------------------
|
||||
# MTC_AdapterTest
|
||||
# -----------------------------------------------
|
||||
MTC_Adapter/MTC_AdapterTest/bin/Debug*/
|
||||
MTC_Adapter/MTC_AdapterTest/obj/Debug*/
|
||||
MTC_Adapter/\.vs/*
|
||||
MTC_Adapter/\.vs/MTC_Adapter/v15/sqlite3/storage\.ide
|
||||
|
||||
|
||||
# -----------------------------------------------
|
||||
@@ -29,4 +33,4 @@ MTC_Adapter/MTC_Adapter/obj/Debug*/
|
||||
!MTC_Adapter/MTC_Adapter/dump/dump.obj
|
||||
|
||||
# file temp office
|
||||
MTC_Adapter/MTC_Adapter/Resources/SCM/.~lock*
|
||||
MTC_Adapter/MTC_Adapter/Resources/SCM/.~lock*
|
||||
|
||||
@@ -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>
|
||||
Vendored
+223
@@ -0,0 +1,223 @@
|
||||
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 {
|
||||
/* build delle SteamWare libs! */
|
||||
/*build 'SteamWare/SteamWareLib'*/
|
||||
/* copio le libs...*/
|
||||
// step([$class: 'CopyArtifact', fingerprintArtifacts: true, projectName: 'Steamware/SteamWareLib', selector: [$class: 'WorkspaceSelector'], target: '../Steamware/SteamWareLib'])
|
||||
|
||||
/* calcolo numero versione... diverso x branch MASTER/DEVELOP */
|
||||
script {
|
||||
withEnv(['NEXT_BUILD_NUMBER=293']) {
|
||||
// env.versionNumber = VersionNumber(versionNumberString : '2.0.${BUILD_DATE_FORMATTED, "yyMM"}.${BUILDS_ALL_TIME}', projectStartDate : '2006-01-01', skipFailedBuilds: true)
|
||||
env.versionNumber = VersionNumber(versionNumberString : '2.0.${BUILD_DATE_FORMATTED, "yyMM"}.${BUILDS_ALL_TIME}', 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 VersGen\\VersGen.cs 1.0.0.0 ${env.versionNumber} || EXIT /B 0"
|
||||
bat "e:\\nuget.exe restore ${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 VersGen\\VersGen.cs 1.0.0.0 ${env.versionNumber} || EXIT /B 0"
|
||||
bat "e:\\nuget.exe restore ${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-15.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-15.0'}\" MTC_Adapter/SCMA/SCMA.csproj -target:Build /p:DefineConstants=\"FS30D=1,SIEMENS=1\" /p:Configuration=Release /p:Platform=\"Any CPU\" /p:OutputPath=bin/ /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 VersGen\\VersGen.cs 1.0.0.0 ${env.versionNumber} || EXIT /B 0"
|
||||
bat "e:\\nuget.exe restore ${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-15.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} /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='SCM-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'
|
||||
}
|
||||
bat "\"${tool 'MSBuild-15.0'}\" MTC_Adapter/SCMA/SCMA.csproj -target:Build /p:FS30D=1 /p:SIEMENS=1 /p:Configuration=${env.currConfig} /p:DebugSymbols=false /p:DebugType=None /p:OutputPath=bin/${env.versionNumber} /m"
|
||||
|
||||
// // Build adapters VERI
|
||||
// // bat "\"${tool 'MSBuild-15.0'}\" MTC_Adapter/SCMA/SCMA.csproj -target:Build /p:FS30D=1 /p:SIEMENS=1 /p:Configuration=Release /p:Platform=\"Any CPU\" /p:OutputPath=bin/${env.versionNumber} /m"
|
||||
// // bat "\"${tool 'MSBuild-15.0'}\" MTC_Adapter/SCMA/SCMA.csproj -target:Build /p:DefineConstants=\"FS30D=1,SIEMENS=1\" /p:Configuration=Release /p:Platform=\"Any CPU\" /p:OutputPath=bin/${env.versionNumber} /m"
|
||||
// // bat "\"${tool 'MSBuild-15.0'}\" MTC_Adapter/SCMA/SCMA.csproj -target:Build /p:FS30D=1 /p:SIEMENS=1 /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} /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 {
|
||||
sendEmail("Successful")
|
||||
}
|
||||
failure {
|
||||
sendEmail("Failed")
|
||||
}
|
||||
unstable {
|
||||
sendEmail("Unstable")
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
// // Funzione x pubblicazione su server IIS di deploy
|
||||
// def publishToDeployServer(prjPath, iisPath, packName) {
|
||||
// echo "Richiesto esecuzione publishToDeployServer con parametri: " + prjPath + " | " + iisPath + " | " + packName
|
||||
// // inizio copiando files di base da area VersGen...
|
||||
// bat "xcopy /y VersGen\\ChangeLog.html " + prjPath + "Resources\\ChangeLog.html "
|
||||
// bat "xcopy /y VersGen\\logoSteamware.png " + prjPath + "Resources\\logoSteamware.png "
|
||||
// bat "xcopy /y VersGen\\manifest.xml " + prjPath + "Resources\\manifest.xml "
|
||||
// // manifest.xml: aggiorno versNumber ed URL del branch di update...
|
||||
// bat "e:\\fart.exe " + prjPath + "Resources\\manifest.xml 1.0.0.0 ${env.versionNumber} || EXIT /B 0"
|
||||
// bat "e:\\fart.exe " + prjPath + "Resources\\manifest.xml {{BRANCHNAME}} ${env.BRANCH_NAME} || EXIT /B 0"
|
||||
// bat "e:\\fart.exe " + prjPath + "Resources\\manifest.xml {{PACKNAME}} " + packName + " || EXIT /B 0"
|
||||
// bat "e:\\fart.exe " + prjPath + "Resources\\ChangeLog.html {{CURRENT-REL}} ${env.versionNumber} || EXIT /B 0"
|
||||
// writeFile file: prjPath + 'changeLog.log', text: "${getChangeString()}"
|
||||
// powershell '(Get-Content ' + prjPath + 'Resources\\ChangeLog.html) | ForEach-Object { $_ -replace \"{{LAST-CHANGES}}\", \"${getChangeString()}\" } | Set-Content ' + prjPath + 'Resources\\ChangeLog.html'
|
||||
// // copio ed esporto in IIS02 i vari files .xml, .html, .zip
|
||||
// bat "xcopy /y " + prjPath + "Resources\\manifest.xml " + iisPath + packName + "\\${env.BRANCH_NAME}\\ "
|
||||
// bat "xcopy /y " + prjPath + "Resources\\ChangeLog.html " + iisPath + packName + "\\${env.BRANCH_NAME}\\ "
|
||||
// bat "xcopy /y " + prjPath + "Resources\\logoSteamware.png " + iisPath + packName + "\\${env.BRANCH_NAME}\\ "
|
||||
// // salvo copia della versione...
|
||||
// bat "xcopy /y " + prjPath + "\\ReleaseClienti\\${env.BRANCH_NAME}\\* E:\\Staging\\byProd\\MP\\${env.BRANCH_NAME}\\" + packName + "\\${env.versionNumber}\\ "
|
||||
// // copio x AutoUpdate deploy
|
||||
// bat "xcopy /y " + prjPath + "\\ReleaseClienti\\${env.BRANCH_NAME}\\" + packName + ".zip " + iisPath + packName + "\\${env.BRANCH_NAME}\\ "
|
||||
// }
|
||||
@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 email
|
||||
def sendEmail(status) {
|
||||
mail (
|
||||
to: "$EMAIL_RECIPIENTS",
|
||||
subject: "Build $BUILD_NUMBER - " + status + " ($JOB_NAME)",
|
||||
body: "Modifiche:\n " + getChangeString() + "\n\n Verifica console output: $BUILD_URL/console" + "\n")
|
||||
}
|
||||
Binary file not shown.
@@ -21,10 +21,11 @@
|
||||
<OutputPath>bin\Debug\</OutputPath>
|
||||
<DocumentationFile>CMSCncLib.xml</DocumentationFile>
|
||||
<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>
|
||||
<PlatformTarget>AnyCPU</PlatformTarget>
|
||||
<Prefer32Bit>false</Prefer32Bit>
|
||||
<WarningLevel>0</WarningLevel>
|
||||
</PropertyGroup>
|
||||
<PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Release|AnyCPU' ">
|
||||
<DebugType>pdbonly</DebugType>
|
||||
@@ -34,8 +35,10 @@
|
||||
<OutputPath>bin\Release\</OutputPath>
|
||||
<DocumentationFile>CMSCncLib.xml</DocumentationFile>
|
||||
<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>
|
||||
<WarningLevel>0</WarningLevel>
|
||||
<CodeAnalysisRuleSet>MinimumRecommendedRules.ruleset</CodeAnalysisRuleSet>
|
||||
</PropertyGroup>
|
||||
<PropertyGroup>
|
||||
<OptionExplicit>On</OptionExplicit>
|
||||
@@ -58,8 +61,9 @@
|
||||
<DebugType>pdbonly</DebugType>
|
||||
<PlatformTarget>AnyCPU</PlatformTarget>
|
||||
<CodeAnalysisRuleSet>MinimumRecommendedRules.ruleset</CodeAnalysisRuleSet>
|
||||
<DefineConstants>FS30D=1</DefineConstants>
|
||||
<DefineConstants>FS30D=1,SIEMENS=1</DefineConstants>
|
||||
<Prefer32Bit>false</Prefer32Bit>
|
||||
<WarningLevel>0</WarningLevel>
|
||||
</PropertyGroup>
|
||||
<PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'SCM-ESA|AnyCPU' ">
|
||||
<DefineTrace>true</DefineTrace>
|
||||
@@ -70,32 +74,41 @@
|
||||
<DebugType>pdbonly</DebugType>
|
||||
<PlatformTarget>AnyCPU</PlatformTarget>
|
||||
<CodeAnalysisRuleSet>MinimumRecommendedRules.ruleset</CodeAnalysisRuleSet>
|
||||
<DefineConstants>FS30D=1</DefineConstants>
|
||||
<DefineConstants>FS30D=1,SIEMENS=1</DefineConstants>
|
||||
<Prefer32Bit>false</Prefer32Bit>
|
||||
<WarningLevel>0</WarningLevel>
|
||||
</PropertyGroup>
|
||||
<PropertyGroup Condition="'$(Configuration)|$(Platform)' == 'CMS-SIEMENS|AnyCPU'">
|
||||
<DefineTrace>true</DefineTrace>
|
||||
<OutputPath>bin\CMS-SIEMENS\</OutputPath>
|
||||
<DefineConstants>FS30D=1</DefineConstants>
|
||||
<DefineConstants>FS30D=1,SIEMENS=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>
|
||||
<Prefer32Bit>false</Prefer32Bit>
|
||||
<WarningLevel>0</WarningLevel>
|
||||
</PropertyGroup>
|
||||
<PropertyGroup Condition="'$(Configuration)|$(Platform)' == 'CMS-OSAI|AnyCPU'">
|
||||
<DefineTrace>true</DefineTrace>
|
||||
<OutputPath>bin\CMS-OSAI\</OutputPath>
|
||||
<DefineConstants>FS30D=1</DefineConstants>
|
||||
<DefineConstants>FS30D=1,SIEMENS=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>
|
||||
<Prefer32Bit>false</Prefer32Bit>
|
||||
<WarningLevel>0</WarningLevel>
|
||||
</PropertyGroup>
|
||||
<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.Data" />
|
||||
<Reference Include="System.Drawing" />
|
||||
@@ -126,6 +139,7 @@
|
||||
<Compile Include="CNC\CNC.OSAI\CNC.OSAI.vb" />
|
||||
<Compile Include="CNC\CNC.OSAI\CNC.OSAI_SOAP.vb" />
|
||||
<Compile Include="CNC\CNC.Runtime.vb" />
|
||||
<Compile Include="CNC\CNC.SIEMENS\CNC.SIEMENS.vb" />
|
||||
<Compile Include="CNC\CNC\CNC.CNC.vb" />
|
||||
<Compile Include="Config\Config.Options.vb" />
|
||||
<Compile Include="Config\Config.Settings.vb" />
|
||||
@@ -624,6 +638,10 @@
|
||||
</None>
|
||||
</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" />
|
||||
<!-- 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.
|
||||
|
||||
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
|
||||
Imports CMSCncLib.CNC
|
||||
Imports CMSCncLib.Tools
|
||||
|
||||
Namespace CNC
|
||||
|
||||
Public Class Runtime
|
||||
Public Shared NC As CMSCncLib.CNC.CNC
|
||||
|
||||
|
||||
Public Shared Sub CreateNC(tipoNC As CNC.NcType, ipTarget As String)
|
||||
'************ Istanzio l'oggetto NC *****************
|
||||
Try
|
||||
|
||||
Select Case tipoNC
|
||||
|
||||
Case NC_FANUC
|
||||
'CMSCncLib.App.Runtime.Log.WI("TRY creating NC CNC.NC", "TypeNC=" & Config.Settings.Settings.TypeNC.ToString, CLog.Lev.Principal)
|
||||
Dim ipFanuc As String
|
||||
Dim portIpFanuc As String
|
||||
Dim CncScreenHssb As String
|
||||
|
||||
' SIMULATORE
|
||||
' IP LOOPBACK: 192.168.211.5/255.255.255.0
|
||||
'ipFanuc = "192.168.211.5"
|
||||
' PRODUZIONE
|
||||
' IP ETH: 192.168.139.201/255.255.255.0
|
||||
'ipFanuc = "192.168.139.1"
|
||||
|
||||
' imposto IP da chiamata
|
||||
ipFanuc = ipTarget
|
||||
|
||||
|
||||
portIpFanuc = "8193"
|
||||
CncScreenHssb = "0"
|
||||
NC = New FANUC(0, ipFanuc, portIpFanuc, CncScreenHssb)
|
||||
|
||||
Case NC_OSAI
|
||||
'If Config.Settings.Settings.OsaiCommType = 1 Then 'SOAP
|
||||
NC = New OSAI_OPEN(ipTarget)
|
||||
'Else 'DCOM
|
||||
' 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
|
||||
|
||||
Namespace CNC
|
||||
|
||||
Public Class Runtime
|
||||
Public Shared NC As CMSCncLib.CNC.CNC
|
||||
|
||||
|
||||
Public Shared Sub CreateNC(tipoNC As CNC.NcType, ipTarget As String)
|
||||
'************ Istanzio l'oggetto NC *****************
|
||||
Dim exStr As String
|
||||
Try
|
||||
|
||||
Select Case tipoNC
|
||||
|
||||
Case NC_FANUC
|
||||
Dim ipFanuc As String
|
||||
Dim portIpFanuc As String
|
||||
Dim CncScreenHssb As String
|
||||
|
||||
' imposto IP da chiamata
|
||||
ipFanuc = ipTarget
|
||||
|
||||
portIpFanuc = "8193"
|
||||
CncScreenHssb = "0"
|
||||
NC = New FANUC(0, ipFanuc, portIpFanuc, CncScreenHssb)
|
||||
|
||||
Case NC_OSAI
|
||||
NC = New OSAI_OPEN(ipTarget)
|
||||
|
||||
#If SIEMENS Then
|
||||
Case NC_SIEMENS
|
||||
NC = New SIEMENS
|
||||
#End If
|
||||
End Select
|
||||
|
||||
Catch ex As Exception
|
||||
exStr = ex.Message
|
||||
End Try
|
||||
|
||||
End Sub
|
||||
|
||||
End Class
|
||||
|
||||
End Namespace
|
||||
File diff suppressed because it is too large
Load Diff
@@ -207,30 +207,6 @@ Namespace CNC
|
||||
Public Overridable Sub CloseCnc()
|
||||
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
|
||||
|
||||
|
||||
|
||||
@@ -1,300 +1,294 @@
|
||||
Imports System.ComponentModel
|
||||
Imports System.IO
|
||||
Imports CMSCncLib.App.Runtime
|
||||
|
||||
Imports System.Security
|
||||
|
||||
Namespace Config
|
||||
Class Options
|
||||
|
||||
Public Shared CurrentOptions As Options
|
||||
Public Shared sPathFile As String
|
||||
|
||||
Private _Machine_Enabled As Boolean
|
||||
''' <summary>Maintenance Machine</summary>
|
||||
Public ReadOnly Property Machine_Enabled() As Boolean
|
||||
Get
|
||||
Return Me._Machine_Enabled
|
||||
End Get
|
||||
End Property
|
||||
|
||||
Private _Maintenance_Enabled As Boolean
|
||||
''' <summary>Opzione Maintenance</summary>
|
||||
Public ReadOnly Property Maintenance_Enabled() As Boolean
|
||||
Get
|
||||
Return Me._Maintenance_Enabled
|
||||
End Get
|
||||
End Property
|
||||
|
||||
Private _OpPanel_Enabled As Boolean
|
||||
''' <summary>Opzione OpPanel</summary>
|
||||
Public ReadOnly Property OpPanel_Enabled() As Boolean
|
||||
Get
|
||||
Return Me._OpPanel_Enabled
|
||||
End Get
|
||||
End Property
|
||||
|
||||
Private _Launch_Enabled As Boolean
|
||||
''' <summary>Opzione Launch</summary>
|
||||
Public ReadOnly Property Launch_Enabled() As Boolean
|
||||
Get
|
||||
Return Me._Launch_Enabled
|
||||
End Get
|
||||
End Property
|
||||
Private _TcpSocket_Enabled As Boolean
|
||||
''' <summary>Opzione TcpSocket</summary>
|
||||
Public ReadOnly Property TcpSocket_Enabled() As Boolean
|
||||
Get
|
||||
Return Me._TcpSocket_Enabled
|
||||
End Get
|
||||
End Property
|
||||
|
||||
Private _ToolTable_Enabled As Boolean
|
||||
''' <summary>Opzione ToolTable</summary>
|
||||
Public ReadOnly Property ToolTable_Enabled() As Boolean
|
||||
Get
|
||||
Return Me._ToolTable_Enabled
|
||||
End Get
|
||||
|
||||
End Property
|
||||
|
||||
Private _ToolTable_Famiglie As Boolean
|
||||
''' <summary>Opzione Famiglie</summary>
|
||||
Public ReadOnly Property ToolTable_Famiglie() As Boolean
|
||||
Get
|
||||
Return Me._ToolTable_Famiglie
|
||||
End Get
|
||||
End Property
|
||||
|
||||
Private _ToolTable_Vita As Boolean
|
||||
''' <summary>Opzione Vita</summary>
|
||||
Public ReadOnly Property ToolTable_Vita() As Boolean
|
||||
Get
|
||||
Return (Me._ToolTable_Vita_S Or Me._ToolTable_Vita_N Or Me._ToolTable_Vita_m)
|
||||
End Get
|
||||
End Property
|
||||
|
||||
Private _ToolTable_Vita_S As Boolean
|
||||
''' <summary>Opzione Vita a Tempo</summary>
|
||||
Public ReadOnly Property ToolTable_Vita_S() As Boolean
|
||||
Get
|
||||
Return Me._ToolTable_Vita_S
|
||||
End Get
|
||||
End Property
|
||||
|
||||
Private _ToolTable_Vita_N As Boolean
|
||||
''' <summary>Opzione Vita a Cicli o Colpi</summary>
|
||||
Public ReadOnly Property ToolTable_Vita_N() As Boolean
|
||||
Get
|
||||
Return Me._ToolTable_Vita_N
|
||||
End Get
|
||||
End Property
|
||||
|
||||
Private _ToolTable_Vita_M As Boolean
|
||||
''' <summary>Opzione Vita a Profilo</summary>
|
||||
Public ReadOnly Property ToolTable_Vita_M() As Boolean
|
||||
Get
|
||||
Return Me._ToolTable_Vita_M
|
||||
End Get
|
||||
End Property
|
||||
|
||||
Private _ToolTable_AttrezzaggioAutomatico As Boolean
|
||||
''' <summary>Opzione Attrezzaggio Automatico</summary>
|
||||
Public ReadOnly Property ToolTable_AttrezzaggioAutomatico() As Boolean
|
||||
Get
|
||||
Return Me._ToolTable_AttrezzaggioAutomatico
|
||||
End Get
|
||||
End Property
|
||||
|
||||
Private _ToolTable_PercorsoAutoadattativo As Boolean
|
||||
''' <summary>Opzione Percorso Autoadattativo</summary>
|
||||
Public ReadOnly Property ToolTable_PercorsoAutoadattativo() As Boolean
|
||||
Get
|
||||
Return Me._ToolTable_PercorsoAutoadattativo
|
||||
End Get
|
||||
End Property
|
||||
|
||||
Private _ToolTable_Multiprofilo As Boolean
|
||||
''' <summary>Opzione Multiprofilo</summary>
|
||||
Public ReadOnly Property ToolTable_Multiprofilo() As Boolean
|
||||
Get
|
||||
Return Me._ToolTable_Multiprofilo
|
||||
End Get
|
||||
End Property
|
||||
|
||||
Private _ToolTable_CompensazioneDinamica As Boolean
|
||||
''' <summary>Opzione Compensazione Dinamica</summary>
|
||||
Public ReadOnly Property ToolTable_CompensazioneDinamica() As Boolean
|
||||
Get
|
||||
Return Me._ToolTable_CompensazioneDinamica
|
||||
End Get
|
||||
End Property
|
||||
|
||||
Private _ToolTable_Offset As Boolean
|
||||
''' <summary>Opzione Offset</summary>
|
||||
Public ReadOnly Property ToolTable_Offset() As Boolean
|
||||
Get
|
||||
Return Me._ToolTable_Offset
|
||||
End Get
|
||||
End Property
|
||||
|
||||
Private _ToolTable_FeedMax As Boolean
|
||||
''' <summary>Opzione FeedMax</summary>
|
||||
Public ReadOnly Property ToolTable_FeedMax() As Boolean
|
||||
Get
|
||||
Return Me._ToolTable_FeedMax
|
||||
End Get
|
||||
End Property
|
||||
|
||||
Private _ToolTable_Gamme As Boolean
|
||||
''' <summary>Opzione Gamme</summary>
|
||||
Public ReadOnly Property ToolTable_Gamme() As Boolean
|
||||
Get
|
||||
Return Me._ToolTable_Gamme
|
||||
End Get
|
||||
End Property
|
||||
|
||||
Private _ToolTable_Manine As Boolean
|
||||
''' <summary>Opzione Manine</summary>
|
||||
Public ReadOnly Property ToolTable_Manine() As Boolean
|
||||
Get
|
||||
Return Me._ToolTable_Manine
|
||||
End Get
|
||||
End Property
|
||||
|
||||
|
||||
Private _ToolTable_MaxToolsManaged As Integer
|
||||
''' <summary>Massimo numero di utensili gestibili</summary>
|
||||
Public ReadOnly Property ToolTable_MaxToolsManaged() As Integer
|
||||
Get
|
||||
Return Me._ToolTable_MaxToolsManaged
|
||||
End Get
|
||||
End Property
|
||||
|
||||
Private _ToolTable_Inch As Boolean
|
||||
''' <summary>Opzione gestione in Pollici</summary>
|
||||
Public ReadOnly Property ToolTable_Inch() As Boolean
|
||||
Get
|
||||
Return Me._ToolTable_Inch
|
||||
End Get
|
||||
End Property
|
||||
|
||||
Private _ToolTable_Diameter As Boolean
|
||||
''' <summary>Opzione gestione Diametro</summary>
|
||||
Public ReadOnly Property ToolTable_Diameter() As Boolean
|
||||
Get
|
||||
Return Me._ToolTable_Diameter
|
||||
End Get
|
||||
End Property
|
||||
|
||||
Private _ToolTable_AttrezzaggioInRun As Boolean
|
||||
''' <summary>Opzione modifica con macchina in RUN</summary>
|
||||
Public ReadOnly Property ToolTable_AttrezzaggioInRun() As Boolean
|
||||
Get
|
||||
Return Me._ToolTable_AttrezzaggioInRun
|
||||
End Get
|
||||
End Property
|
||||
|
||||
Private _ToolTable_AttrezzaggioAssistito As Boolean
|
||||
''' <summary>Opzione Attrezzaggio magazzini inaccessibili tramite macchina</summary>
|
||||
Public ReadOnly Property ToolTable_AttrezzaggioAssistito() As Boolean
|
||||
Get
|
||||
Return Me._ToolTable_AttrezzaggioAssistito
|
||||
End Get
|
||||
End Property
|
||||
|
||||
Private _ToolTable_SharedDB As Boolean
|
||||
''' <summary>Opzione magazzino utensili condiviso tra più macchine</summary>
|
||||
Public ReadOnly Property ToolTable_SharedDB() As Boolean
|
||||
Get
|
||||
Return Me._ToolTable_SharedDB
|
||||
End Get
|
||||
End Property
|
||||
Private _ToolTable_AllowRemote As Boolean
|
||||
''' <summary>Opzione AllowRemote Tool Table</summary>
|
||||
Public ReadOnly Property ToolTable_AllowRemote() As Boolean
|
||||
Get
|
||||
Return Me._ToolTable_AllowRemote
|
||||
End Get
|
||||
End Property
|
||||
Public Shared Sub CreateOptions(ByVal sPathF As String)
|
||||
If CurrentOptions Is Nothing Then
|
||||
CurrentOptions = New Options
|
||||
End If
|
||||
|
||||
' Memorizzo il percorso del file INI
|
||||
sPathFile = sPathF
|
||||
|
||||
CurrentOptions.LoadOptions()
|
||||
End Sub
|
||||
|
||||
'carica le opzioni da file
|
||||
Private Sub LoadOptions()
|
||||
''leggo la matricola dal cn
|
||||
''se non è possibile disabilito tutto e chiedo che venga attivata la connessione
|
||||
''se leggo 0 avviso che la metricola deve essere popolata
|
||||
|
||||
''leggo il codice dal file
|
||||
''valore = decodifica(valoreletto, matricola, passwordpubblica)
|
||||
|
||||
Dim szFileIni As String
|
||||
Dim Ini As App.Native.Ini
|
||||
|
||||
' imposto il nome del file
|
||||
szFileIni = sPathFile & "\" & My.Application.Info.AssemblyName & ".ini"
|
||||
|
||||
' verifico che esista il file
|
||||
If My.Computer.FileSystem.FileExists(szFileIni) Then
|
||||
'istanzio la classe di gestione del file
|
||||
Ini = New App.Native.Ini(szFileIni)
|
||||
'leggo i settaggi dal file
|
||||
Me._Machine_Enabled = Ini.GetBoolean("OPTIONS", "MACHINE_ENABLED", 0)
|
||||
Me._Maintenance_Enabled = Ini.GetBoolean("OPTIONS", "MAINTENANCE_ENABLED", 0)
|
||||
Me._OpPanel_Enabled = Ini.GetBoolean("OPTIONS", "OPPANEL_ENABLED", 0)
|
||||
Me._Launch_Enabled = Ini.GetBoolean("OPTIONS", "LAUNCH_ENABLED", 0)
|
||||
Me._TcpSocket_Enabled = Ini.GetBoolean("OPTIONS", "TCPSOCKET_ENABLED", 0)
|
||||
Me._ToolTable_Enabled = Ini.GetBoolean("OPTIONS", "TOOLTABLE_ENABLED", 0)
|
||||
Me._ToolTable_Famiglie = Ini.GetBoolean("OPTIONS", "TOOLTABLE_FAMIGLIE", 0)
|
||||
Me._ToolTable_Vita_S = Ini.GetBoolean("OPTIONS", "TOOLTABLE_VITA_S", 0)
|
||||
Me._ToolTable_Vita_N = Ini.GetBoolean("OPTIONS", "TOOLTABLE_VITA_N", 0)
|
||||
Me._ToolTable_Vita_M = Ini.GetBoolean("OPTIONS", "TOOLTABLE_VITA_M", 0)
|
||||
Me._ToolTable_Multiprofilo = Ini.GetBoolean("OPTIONS", "TOOLTABLE_MULTIPROFILO", 0)
|
||||
Me._ToolTable_AttrezzaggioAutomatico = Ini.GetBoolean("OPTIONS", "TOOLTABLE_ATTREZZAGGIOAUTOMATICO", 0)
|
||||
Me._ToolTable_PercorsoAutoadattativo = Ini.GetBoolean("OPTIONS", "TOOLTABLE_PERCORSOAUTOADATTATIVO", 0)
|
||||
Me._ToolTable_CompensazioneDinamica = Ini.GetBoolean("OPTIONS", "TOOLTABLE_COMPENSAZIONEDINAMICA", 0)
|
||||
Me._ToolTable_Offset = Ini.GetBoolean("OPTIONS", "TOOLTABLE_OFFSET", 0)
|
||||
Me._ToolTable_FeedMax = Ini.GetBoolean("OPTIONS", "TOOLTABLE_FEEDMAX", 0)
|
||||
Me._ToolTable_Gamme = Ini.GetBoolean("OPTIONS", "TOOLTABLE_GAMME", 0)
|
||||
Me._ToolTable_Manine = Ini.GetBoolean("OPTIONS", "TOOLTABLE_MANINE", 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)
|
||||
Me._ToolTable_Diameter = IIf(CNC.Runtime.NC.Type = CNC.CNC.NcType.OSAI, True, False) 'Ini.GetBoolean("OPTIONS", "TOOLTABLE_DIAMETER", 0)
|
||||
Me._ToolTable_AttrezzaggioInRun = Ini.GetBoolean("OPTIONS", "TOOLTABLE_ATTREZZAGGIO_IN_RUN", 0)
|
||||
Me._ToolTable_AttrezzaggioAssistito = Ini.GetBoolean("OPTIONS", "TOOLTABLE_ATTREZZAGGIO_ASSISTITO", 0)
|
||||
|
||||
|
||||
' Se è attiva l'opzione ToolTable_Remote, l'AllowRemote e SharedDB sono ignorati
|
||||
If Config.Settings.Settings.ToolTable_Remote Then
|
||||
Me._ToolTable_AllowRemote = False
|
||||
Me._ToolTable_SharedDB = False
|
||||
Else
|
||||
Me._ToolTable_AllowRemote = Ini.GetBoolean("OPTIONS", "TOOLTABLE_ALLOWREMOTE", 0)
|
||||
Me._ToolTable_SharedDB = Ini.GetBoolean("OPTIONS", "TOOLTABLE_SHAREDDB", 0)
|
||||
End If
|
||||
Else
|
||||
'CMSCncLib.App.Runtime.Log.WW("ERR LoadOptions", String.Format("File {0} not found", szFileIni), True)
|
||||
End If
|
||||
|
||||
End Sub
|
||||
|
||||
'verifica che le opzioni sul cn siano coerenti, se no le corregge
|
||||
Private Sub CheckOptions()
|
||||
''leggo le opzioni dal cn
|
||||
|
||||
''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
|
||||
Namespace Config
|
||||
Class Options
|
||||
|
||||
Public Shared CurrentOptions As Options
|
||||
Public Shared sPathFile As String
|
||||
|
||||
Private _Machine_Enabled As Boolean
|
||||
''' <summary>Maintenance Machine</summary>
|
||||
Public ReadOnly Property Machine_Enabled() As Boolean
|
||||
Get
|
||||
Return Me._Machine_Enabled
|
||||
End Get
|
||||
End Property
|
||||
|
||||
Private _Maintenance_Enabled As Boolean
|
||||
''' <summary>Opzione Maintenance</summary>
|
||||
Public ReadOnly Property Maintenance_Enabled() As Boolean
|
||||
Get
|
||||
Return Me._Maintenance_Enabled
|
||||
End Get
|
||||
End Property
|
||||
|
||||
Private _OpPanel_Enabled As Boolean
|
||||
''' <summary>Opzione OpPanel</summary>
|
||||
Public ReadOnly Property OpPanel_Enabled() As Boolean
|
||||
Get
|
||||
Return Me._OpPanel_Enabled
|
||||
End Get
|
||||
End Property
|
||||
|
||||
Private _Launch_Enabled As Boolean
|
||||
''' <summary>Opzione Launch</summary>
|
||||
Public ReadOnly Property Launch_Enabled() As Boolean
|
||||
Get
|
||||
Return Me._Launch_Enabled
|
||||
End Get
|
||||
End Property
|
||||
Private _TcpSocket_Enabled As Boolean
|
||||
''' <summary>Opzione TcpSocket</summary>
|
||||
Public ReadOnly Property TcpSocket_Enabled() As Boolean
|
||||
Get
|
||||
Return Me._TcpSocket_Enabled
|
||||
End Get
|
||||
End Property
|
||||
|
||||
Private _ToolTable_Enabled As Boolean
|
||||
''' <summary>Opzione ToolTable</summary>
|
||||
Public ReadOnly Property ToolTable_Enabled() As Boolean
|
||||
Get
|
||||
Return Me._ToolTable_Enabled
|
||||
End Get
|
||||
|
||||
End Property
|
||||
|
||||
Private _ToolTable_Famiglie As Boolean
|
||||
''' <summary>Opzione Famiglie</summary>
|
||||
Public ReadOnly Property ToolTable_Famiglie() As Boolean
|
||||
Get
|
||||
Return Me._ToolTable_Famiglie
|
||||
End Get
|
||||
End Property
|
||||
|
||||
Private _ToolTable_Vita As Boolean
|
||||
''' <summary>Opzione Vita</summary>
|
||||
Public ReadOnly Property ToolTable_Vita() As Boolean
|
||||
Get
|
||||
Return (Me._ToolTable_Vita_S Or Me._ToolTable_Vita_N Or Me._ToolTable_Vita_M)
|
||||
End Get
|
||||
End Property
|
||||
|
||||
Private _ToolTable_Vita_S As Boolean
|
||||
''' <summary>Opzione Vita a Tempo</summary>
|
||||
Public ReadOnly Property ToolTable_Vita_S() As Boolean
|
||||
Get
|
||||
Return Me._ToolTable_Vita_S
|
||||
End Get
|
||||
End Property
|
||||
|
||||
Private _ToolTable_Vita_N As Boolean
|
||||
''' <summary>Opzione Vita a Cicli o Colpi</summary>
|
||||
Public ReadOnly Property ToolTable_Vita_N() As Boolean
|
||||
Get
|
||||
Return Me._ToolTable_Vita_N
|
||||
End Get
|
||||
End Property
|
||||
|
||||
Private _ToolTable_Vita_M As Boolean
|
||||
''' <summary>Opzione Vita a Profilo</summary>
|
||||
Public ReadOnly Property ToolTable_Vita_M() As Boolean
|
||||
Get
|
||||
Return Me._ToolTable_Vita_M
|
||||
End Get
|
||||
End Property
|
||||
|
||||
Private _ToolTable_AttrezzaggioAutomatico As Boolean
|
||||
''' <summary>Opzione Attrezzaggio Automatico</summary>
|
||||
Public ReadOnly Property ToolTable_AttrezzaggioAutomatico() As Boolean
|
||||
Get
|
||||
Return Me._ToolTable_AttrezzaggioAutomatico
|
||||
End Get
|
||||
End Property
|
||||
|
||||
Private _ToolTable_PercorsoAutoadattativo As Boolean
|
||||
''' <summary>Opzione Percorso Autoadattativo</summary>
|
||||
Public ReadOnly Property ToolTable_PercorsoAutoadattativo() As Boolean
|
||||
Get
|
||||
Return Me._ToolTable_PercorsoAutoadattativo
|
||||
End Get
|
||||
End Property
|
||||
|
||||
Private _ToolTable_Multiprofilo As Boolean
|
||||
''' <summary>Opzione Multiprofilo</summary>
|
||||
Public ReadOnly Property ToolTable_Multiprofilo() As Boolean
|
||||
Get
|
||||
Return Me._ToolTable_Multiprofilo
|
||||
End Get
|
||||
End Property
|
||||
|
||||
Private _ToolTable_CompensazioneDinamica As Boolean
|
||||
''' <summary>Opzione Compensazione Dinamica</summary>
|
||||
Public ReadOnly Property ToolTable_CompensazioneDinamica() As Boolean
|
||||
Get
|
||||
Return Me._ToolTable_CompensazioneDinamica
|
||||
End Get
|
||||
End Property
|
||||
|
||||
Private _ToolTable_Offset As Boolean
|
||||
''' <summary>Opzione Offset</summary>
|
||||
Public ReadOnly Property ToolTable_Offset() As Boolean
|
||||
Get
|
||||
Return Me._ToolTable_Offset
|
||||
End Get
|
||||
End Property
|
||||
|
||||
Private _ToolTable_FeedMax As Boolean
|
||||
''' <summary>Opzione FeedMax</summary>
|
||||
Public ReadOnly Property ToolTable_FeedMax() As Boolean
|
||||
Get
|
||||
Return Me._ToolTable_FeedMax
|
||||
End Get
|
||||
End Property
|
||||
|
||||
Private _ToolTable_Gamme As Boolean
|
||||
''' <summary>Opzione Gamme</summary>
|
||||
Public ReadOnly Property ToolTable_Gamme() As Boolean
|
||||
Get
|
||||
Return Me._ToolTable_Gamme
|
||||
End Get
|
||||
End Property
|
||||
|
||||
Private _ToolTable_Manine As Boolean
|
||||
''' <summary>Opzione Manine</summary>
|
||||
Public ReadOnly Property ToolTable_Manine() As Boolean
|
||||
Get
|
||||
Return Me._ToolTable_Manine
|
||||
End Get
|
||||
End Property
|
||||
|
||||
|
||||
Private _ToolTable_MaxToolsManaged As Integer
|
||||
''' <summary>Massimo numero di utensili gestibili</summary>
|
||||
Public ReadOnly Property ToolTable_MaxToolsManaged() As Integer
|
||||
Get
|
||||
Return Me._ToolTable_MaxToolsManaged
|
||||
End Get
|
||||
End Property
|
||||
|
||||
Private _ToolTable_Inch As Boolean
|
||||
''' <summary>Opzione gestione in Pollici</summary>
|
||||
Public ReadOnly Property ToolTable_Inch() As Boolean
|
||||
Get
|
||||
Return Me._ToolTable_Inch
|
||||
End Get
|
||||
End Property
|
||||
|
||||
Private _ToolTable_Diameter As Boolean
|
||||
''' <summary>Opzione gestione Diametro</summary>
|
||||
Public ReadOnly Property ToolTable_Diameter() As Boolean
|
||||
Get
|
||||
Return Me._ToolTable_Diameter
|
||||
End Get
|
||||
End Property
|
||||
|
||||
Private _ToolTable_AttrezzaggioInRun As Boolean
|
||||
''' <summary>Opzione modifica con macchina in RUN</summary>
|
||||
Public ReadOnly Property ToolTable_AttrezzaggioInRun() As Boolean
|
||||
Get
|
||||
Return Me._ToolTable_AttrezzaggioInRun
|
||||
End Get
|
||||
End Property
|
||||
|
||||
Private _ToolTable_AttrezzaggioAssistito As Boolean
|
||||
''' <summary>Opzione Attrezzaggio magazzini inaccessibili tramite macchina</summary>
|
||||
Public ReadOnly Property ToolTable_AttrezzaggioAssistito() As Boolean
|
||||
Get
|
||||
Return Me._ToolTable_AttrezzaggioAssistito
|
||||
End Get
|
||||
End Property
|
||||
|
||||
Private _ToolTable_SharedDB As Boolean
|
||||
''' <summary>Opzione magazzino utensili condiviso tra più macchine</summary>
|
||||
Public ReadOnly Property ToolTable_SharedDB() As Boolean
|
||||
Get
|
||||
Return Me._ToolTable_SharedDB
|
||||
End Get
|
||||
End Property
|
||||
Private _ToolTable_AllowRemote As Boolean
|
||||
''' <summary>Opzione AllowRemote Tool Table</summary>
|
||||
Public ReadOnly Property ToolTable_AllowRemote() As Boolean
|
||||
Get
|
||||
Return Me._ToolTable_AllowRemote
|
||||
End Get
|
||||
End Property
|
||||
Public Shared Sub CreateOptions(ByVal sPathF As String)
|
||||
If CurrentOptions Is Nothing Then
|
||||
CurrentOptions = New Options
|
||||
End If
|
||||
|
||||
' Memorizzo il percorso del file INI
|
||||
sPathFile = sPathF
|
||||
|
||||
CurrentOptions.LoadOptions()
|
||||
End Sub
|
||||
|
||||
'carica le opzioni da file
|
||||
Private Sub LoadOptions()
|
||||
''leggo la matricola dal cn
|
||||
''se non è possibile disabilito tutto e chiedo che venga attivata la connessione
|
||||
''se leggo 0 avviso che la metricola deve essere popolata
|
||||
|
||||
''leggo il codice dal file
|
||||
''valore = decodifica(valoreletto, matricola, passwordpubblica)
|
||||
|
||||
Dim szFileIni As String
|
||||
Dim Ini As App.Native.Ini
|
||||
|
||||
' imposto il nome del file
|
||||
szFileIni = sPathFile & "\" & My.Application.Info.AssemblyName & ".ini"
|
||||
|
||||
' verifico che esista il file
|
||||
If My.Computer.FileSystem.FileExists(szFileIni) Then
|
||||
'istanzio la classe di gestione del file
|
||||
Ini = New App.Native.Ini(szFileIni)
|
||||
'leggo i settaggi dal file
|
||||
Me._Machine_Enabled = Ini.GetBoolean("OPTIONS", "MACHINE_ENABLED", 0)
|
||||
Me._Maintenance_Enabled = Ini.GetBoolean("OPTIONS", "MAINTENANCE_ENABLED", 0)
|
||||
Me._OpPanel_Enabled = Ini.GetBoolean("OPTIONS", "OPPANEL_ENABLED", 0)
|
||||
Me._Launch_Enabled = Ini.GetBoolean("OPTIONS", "LAUNCH_ENABLED", 0)
|
||||
Me._TcpSocket_Enabled = Ini.GetBoolean("OPTIONS", "TCPSOCKET_ENABLED", 0)
|
||||
Me._ToolTable_Enabled = Ini.GetBoolean("OPTIONS", "TOOLTABLE_ENABLED", 0)
|
||||
Me._ToolTable_Famiglie = Ini.GetBoolean("OPTIONS", "TOOLTABLE_FAMIGLIE", 0)
|
||||
Me._ToolTable_Vita_S = Ini.GetBoolean("OPTIONS", "TOOLTABLE_VITA_S", 0)
|
||||
Me._ToolTable_Vita_N = Ini.GetBoolean("OPTIONS", "TOOLTABLE_VITA_N", 0)
|
||||
Me._ToolTable_Vita_M = Ini.GetBoolean("OPTIONS", "TOOLTABLE_VITA_M", 0)
|
||||
Me._ToolTable_Multiprofilo = Ini.GetBoolean("OPTIONS", "TOOLTABLE_MULTIPROFILO", 0)
|
||||
Me._ToolTable_AttrezzaggioAutomatico = Ini.GetBoolean("OPTIONS", "TOOLTABLE_ATTREZZAGGIOAUTOMATICO", 0)
|
||||
Me._ToolTable_PercorsoAutoadattativo = Ini.GetBoolean("OPTIONS", "TOOLTABLE_PERCORSOAUTOADATTATIVO", 0)
|
||||
Me._ToolTable_CompensazioneDinamica = Ini.GetBoolean("OPTIONS", "TOOLTABLE_COMPENSAZIONEDINAMICA", 0)
|
||||
Me._ToolTable_Offset = Ini.GetBoolean("OPTIONS", "TOOLTABLE_OFFSET", 0)
|
||||
Me._ToolTable_FeedMax = Ini.GetBoolean("OPTIONS", "TOOLTABLE_FEEDMAX", 0)
|
||||
Me._ToolTable_Gamme = Ini.GetBoolean("OPTIONS", "TOOLTABLE_GAMME", 0)
|
||||
Me._ToolTable_Manine = Ini.GetBoolean("OPTIONS", "TOOLTABLE_MANINE", 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)
|
||||
Me._ToolTable_Diameter = IIf(CNC.Runtime.NC.Type = CNC.CNC.NcType.OSAI, True, False) 'Ini.GetBoolean("OPTIONS", "TOOLTABLE_DIAMETER", 0)
|
||||
Me._ToolTable_AttrezzaggioInRun = Ini.GetBoolean("OPTIONS", "TOOLTABLE_ATTREZZAGGIO_IN_RUN", 0)
|
||||
Me._ToolTable_AttrezzaggioAssistito = Ini.GetBoolean("OPTIONS", "TOOLTABLE_ATTREZZAGGIO_ASSISTITO", 0)
|
||||
|
||||
|
||||
' Se è attiva l'opzione ToolTable_Remote, l'AllowRemote e SharedDB sono ignorati
|
||||
If Config.Settings.Settings.ToolTable_Remote Then
|
||||
Me._ToolTable_AllowRemote = False
|
||||
Me._ToolTable_SharedDB = False
|
||||
Else
|
||||
Me._ToolTable_AllowRemote = Ini.GetBoolean("OPTIONS", "TOOLTABLE_ALLOWREMOTE", 0)
|
||||
Me._ToolTable_SharedDB = Ini.GetBoolean("OPTIONS", "TOOLTABLE_SHAREDDB", 0)
|
||||
End If
|
||||
Else
|
||||
'CMSCncLib.App.Runtime.Log.WW("ERR LoadOptions", String.Format("File {0} not found", szFileIni), True)
|
||||
End If
|
||||
|
||||
End Sub
|
||||
|
||||
'verifica che le opzioni sul cn siano coerenti, se no le corregge
|
||||
Private Sub CheckOptions()
|
||||
''leggo le opzioni dal cn
|
||||
|
||||
''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.
File diff suppressed because it is too large
Load Diff
@@ -52,12 +52,15 @@
|
||||
<HintPath>..\packages\MySql.Data.6.9.9\lib\net45\MySql.Data.dll</HintPath>
|
||||
</Reference>
|
||||
<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>
|
||||
<Private>True</Private>
|
||||
<HintPath>..\packages\NLog.4.5.8\lib\net45\NLog.dll</HintPath>
|
||||
</Reference>
|
||||
<Reference Include="System" />
|
||||
<Reference Include="System.configuration" />
|
||||
<Reference Include="System.Core" />
|
||||
<Reference Include="System.IO.Compression" />
|
||||
<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" />
|
||||
@@ -117,7 +120,7 @@
|
||||
<CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory>
|
||||
</None>
|
||||
<Content Include="NLog.config">
|
||||
<CopyToOutputDirectory>Always</CopyToOutputDirectory>
|
||||
<CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory>
|
||||
</Content>
|
||||
<None Include="dump\build.bat" />
|
||||
<None Include="dump\dump.obj" />
|
||||
|
||||
@@ -53,4 +53,4 @@
|
||||
-->
|
||||
<logger name="*" minlevel="Debug" writeTo="f" />
|
||||
</rules>
|
||||
</nlog>
|
||||
</nlog>
|
||||
+516
-314
File diff suppressed because it is too large
Load Diff
@@ -1,9 +1,9 @@
|
||||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<packages>
|
||||
<package id="MySql.Data" version="6.9.9" targetFramework="net452" />
|
||||
<package id="NLog" version="4.4.5" targetFramework="net452" />
|
||||
<package id="NLog.Config" version="4.4.5" targetFramework="net452" />
|
||||
<package id="NLog.Schema" version="4.4.5" targetFramework="net452" />
|
||||
<package id="NLog" version="4.5.8" targetFramework="net452" />
|
||||
<package id="NLog.Config" version="4.5.8" targetFramework="net452" />
|
||||
<package id="NLog.Schema" version="4.5.8" targetFramework="net452" />
|
||||
<package id="PrettyBin" version="1.1.0" targetFramework="net452" />
|
||||
<package id="SlowCheetah" version="2.5.48" targetFramework="net452" />
|
||||
</packages>
|
||||
@@ -30,13 +30,24 @@
|
||||
<WarningLevel>4</WarningLevel>
|
||||
</PropertyGroup>
|
||||
<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="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.5.8\lib\net45\NLog.dll</HintPath>
|
||||
<Private>True</Private>
|
||||
</Reference>
|
||||
<Reference Include="System" />
|
||||
<Reference Include="System.configuration" />
|
||||
<Reference Include="System.Core" />
|
||||
<Reference Include="System.IO.Compression" />
|
||||
<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.Data.DataSetExtensions" />
|
||||
<Reference Include="Microsoft.CSharp" />
|
||||
@@ -50,9 +61,7 @@
|
||||
<Compile Include="baseUtils.cs" />
|
||||
</ItemGroup>
|
||||
<ItemGroup>
|
||||
<Content Include="NLog.config">
|
||||
<CopyToOutputDirectory>Always</CopyToOutputDirectory>
|
||||
</Content>
|
||||
<None Include="NLog.config" />
|
||||
<None Include="NLog.xsd">
|
||||
<SubType>Designer</SubType>
|
||||
</None>
|
||||
|
||||
+523
-315
File diff suppressed because it is too large
Load Diff
+915
-730
File diff suppressed because it is too large
Load Diff
@@ -1,6 +1,8 @@
|
||||
<?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="AForge" version="2.2.5" targetFramework="net452" />
|
||||
<package id="AForge.Math" version="2.2.5" targetFramework="net452" />
|
||||
<package id="NLog" version="4.5.8" targetFramework="net452" />
|
||||
<package id="NLog.Config" version="4.5.8" targetFramework="net452" />
|
||||
<package id="NLog.Schema" version="4.5.8" targetFramework="net452" />
|
||||
</packages>
|
||||
@@ -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
File diff suppressed because it is too large
Load Diff
@@ -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);
|
||||
}
|
||||
}
|
||||
|
||||
}
|
||||
}
|
||||
-2311
File diff suppressed because it is too large
Load Diff
File diff suppressed because it is too large
Load Diff
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"));
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
+516
-314
File diff suppressed because it is too large
Load Diff
@@ -0,0 +1,68 @@
|
||||
<?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.1</TargetFrameworkVersion>
|
||||
<FileAlignment>512</FileAlignment>
|
||||
<Deterministic>true</Deterministic>
|
||||
</PropertyGroup>
|
||||
<PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Debug|AnyCPU' ">
|
||||
<DebugSymbols>true</DebugSymbols>
|
||||
<DebugType>full</DebugType>
|
||||
<Optimize>false</Optimize>
|
||||
<OutputPath>bin\Debug\</OutputPath>
|
||||
<DefineConstants>DEBUG;TRACE</DefineConstants>
|
||||
<ErrorReport>prompt</ErrorReport>
|
||||
<WarningLevel>4</WarningLevel>
|
||||
</PropertyGroup>
|
||||
<PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Release|AnyCPU' ">
|
||||
<DebugType>pdbonly</DebugType>
|
||||
<Optimize>true</Optimize>
|
||||
<OutputPath>bin\Release\</OutputPath>
|
||||
<DefineConstants>TRACE</DefineConstants>
|
||||
<ErrorReport>prompt</ErrorReport>
|
||||
<WarningLevel>4</WarningLevel>
|
||||
</PropertyGroup>
|
||||
<ItemGroup>
|
||||
<Reference Include="NLog, Version=4.0.0.0, Culture=neutral, PublicKeyToken=5120e14c03d0593c, processorArchitecture=MSIL">
|
||||
<HintPath>..\packages\NLog.4.5.8\lib\net45\NLog.dll</HintPath>
|
||||
</Reference>
|
||||
<Reference Include="StackExchange.Redis, Version=1.2.6.0, Culture=neutral, processorArchitecture=MSIL">
|
||||
<HintPath>..\packages\StackExchange.Redis.1.2.6\lib\net46\StackExchange.Redis.dll</HintPath>
|
||||
</Reference>
|
||||
<Reference Include="System" />
|
||||
<Reference Include="System.Configuration" />
|
||||
<Reference Include="System.Core" />
|
||||
<Reference Include="System.IO.Compression" />
|
||||
<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="Properties\AssemblyInfo.cs" />
|
||||
<Compile Include="SOUR-IO.cs" />
|
||||
</ItemGroup>
|
||||
<ItemGroup>
|
||||
<Content Include="NLog.config">
|
||||
<CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory>
|
||||
</Content>
|
||||
<None Include="NLog.xsd">
|
||||
<SubType>Designer</SubType>
|
||||
</None>
|
||||
<None Include="packages.config" />
|
||||
</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,15 @@
|
||||
using System;
|
||||
using System.Collections.Generic;
|
||||
using System.Linq;
|
||||
using System.Text;
|
||||
using System.Threading.Tasks;
|
||||
|
||||
namespace OPC_UA_REDIS
|
||||
{
|
||||
/// <summary>
|
||||
/// Classe utilità per Input/Output su SERVER REDIS
|
||||
/// </summary>
|
||||
public class SOUR_IO
|
||||
{
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,7 @@
|
||||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<packages>
|
||||
<package id="NLog" version="4.5.8" targetFramework="net461" />
|
||||
<package id="NLog.Config" version="4.5.8" targetFramework="net461" />
|
||||
<package id="NLog.Schema" version="4.5.8" targetFramework="net461" />
|
||||
<package id="StackExchange.Redis" version="1.2.6" targetFramework="net461" />
|
||||
</packages>
|
||||
@@ -1,21 +1,20 @@
|
||||
|
||||
Microsoft Visual Studio Solution File, Format Version 12.00
|
||||
# Visual Studio 14
|
||||
VisualStudioVersion = 14.0.25420.1
|
||||
# Visual Studio 15
|
||||
VisualStudioVersion = 15.0.26403.7
|
||||
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
|
||||
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}") = "MTC-Adapter", "MTC_Adapter\MTC-Adapter.csproj", "{736DF121-11E6-4D46-835D-6560ACF241E4}"
|
||||
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
|
||||
@@ -25,6 +24,10 @@ Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "MTC-ADB", "MTC-ADB\MTC-ADB.
|
||||
EndProject
|
||||
Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "MTC", "MTC\MTC.csproj", "{EC83D80E-9F3B-4DE9-B16A-CA216543B7EC}"
|
||||
EndProject
|
||||
Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "DotNetAdapterSDK", "..\..\..\..\GitHub\MTConnect\dot_net_sdk\DotNetAdapterSDK.csproj", "{D8D08DBE-B511-4DE0-B5A9-563EBFC60C4F}"
|
||||
EndProject
|
||||
Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "OPC-UA-REDIS", "OPC-UA-REDIS\OPC-UA-REDIS.csproj", "{5AFCCD6A-3758-44C8-96ED-84E809FCA8A1}"
|
||||
EndProject
|
||||
Global
|
||||
GlobalSection(SolutionConfigurationPlatforms) = preSolution
|
||||
CMS-FANUC|Any CPU = CMS-FANUC|Any CPU
|
||||
@@ -36,19 +39,6 @@ Global
|
||||
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
|
||||
@@ -133,8 +123,39 @@ Global
|
||||
{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
|
||||
{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}.CMS-SIEMENS|Any CPU.Build.0 = 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
|
||||
{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-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-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}.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}.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}.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}.SCM-ESA|Any CPU.ActiveCfg = Release|Any CPU
|
||||
{5AFCCD6A-3758-44C8-96ED-84E809FCA8A1}.SCM-ESA|Any CPU.Build.0 = Release|Any CPU
|
||||
EndGlobalSection
|
||||
GlobalSection(SolutionProperties) = preSolution
|
||||
HideSolutionNode = FALSE
|
||||
EndGlobalSection
|
||||
GlobalSection(ExtensibilityGlobals) = postSolution
|
||||
SolutionGuid = {C7C9CC69-EF84-4B45-8C42-E5002A954A03}
|
||||
EndGlobalSection
|
||||
EndGlobal
|
||||
@@ -0,0 +1,602 @@
|
||||
using MTC;
|
||||
using System;
|
||||
using System.Collections.Generic;
|
||||
|
||||
namespace SCMA.AdapterCom
|
||||
{
|
||||
/// <summary>
|
||||
/// Gateway di comunicazione secondo diversi standard, partendo da oggetti BASE MTC
|
||||
/// </summary>
|
||||
public class Gateway
|
||||
{
|
||||
|
||||
#region oggetti base
|
||||
|
||||
/// <summary>
|
||||
/// Protocollo attivo per la comunicazione dell'adapter
|
||||
/// </summary>
|
||||
public gwProtocol protocollo;
|
||||
/// <summary>
|
||||
/// STOBE allarmi:
|
||||
/// 1024 bit di strobe degli allarmi attivi (32 word da 4byte/32 bit di flags...)
|
||||
/// </summary>
|
||||
public byte[] AlarmFlags;
|
||||
/// <summary>
|
||||
/// Oggetto elenco allarmi
|
||||
/// </summary>
|
||||
public allarme[] elencoAllarmi;
|
||||
/// <summary>
|
||||
/// Porta comunicazione standard oggetto
|
||||
/// </summary>
|
||||
public int port;
|
||||
/// <summary>
|
||||
/// Stringa di configurazione globale
|
||||
/// </summary>
|
||||
public string connConfig;
|
||||
/// <summary>
|
||||
/// Flag per indicare se l'obj stia ancora girando
|
||||
/// </summary>
|
||||
private bool myRunning = false;
|
||||
/// <summary>
|
||||
/// Indicatore public di oggetto running running.
|
||||
/// </summary>
|
||||
public bool Running { get { return myRunning; } }
|
||||
/// <summary>
|
||||
/// la parte di "mark & sweep" (segnala ed invia) è iniziata e stiamo tracciando le conditions.
|
||||
/// </summary>
|
||||
bool myBegun = false;
|
||||
/// <summary>
|
||||
/// Elenco di TUTTI i NODI ITEMS gestiti dal gateway (item/variabile)...
|
||||
/// </summary>
|
||||
public Dictionary<string, itemNode> itemNodes = new Dictionary<string, itemNode>();
|
||||
/// <summary>
|
||||
/// Elenco di TUTTI i NODI CONDITIONS gestiti dal gateway (allarme/condizione)...
|
||||
/// </summary>
|
||||
public Dictionary<string, itemNode> conditionNodes = new Dictionary<string, itemNode>();
|
||||
|
||||
#endregion
|
||||
|
||||
#region gestione globale oggetto
|
||||
|
||||
/// <summary>
|
||||
/// init classe come output su LOGFILE
|
||||
/// </summary>
|
||||
public Gateway()
|
||||
{
|
||||
port = 0;
|
||||
connConfig = "";
|
||||
protocollo = gwProtocol.LOGFILE;
|
||||
}
|
||||
/// <summary>
|
||||
/// Inizia la raccolta dati per confronto modifica da precedente...
|
||||
/// </summary>
|
||||
public virtual void beginDataCollect()
|
||||
{
|
||||
myBegun = true;
|
||||
foreach (object di in itemNodes)
|
||||
{
|
||||
// inizializza ogni oggetto (in particolare di tipo alarm/conditions x check variazione)
|
||||
//di.Begin();
|
||||
}
|
||||
}
|
||||
/// <summary>
|
||||
/// Fa la verifica di cosa sia cambiato ed invia
|
||||
/// </summary>
|
||||
public virtual void sendChanged()
|
||||
{
|
||||
if (myBegun)
|
||||
{
|
||||
foreach (object di in itemNodes)
|
||||
{
|
||||
//di.Prepare();
|
||||
}
|
||||
}
|
||||
|
||||
#if false
|
||||
// Separate out the data items into those that are on one line and those
|
||||
// need separate lines.
|
||||
List<SimpleDataItem> together = new List<SimpleDataItem>();
|
||||
List<SimpleDataItem> separate = new List<SimpleDataItem>();
|
||||
foreach (object di in trackItems)
|
||||
{
|
||||
List<SimpleDataItem> list = di.ItemList();
|
||||
if (di.NewLine)
|
||||
separate.AddRange(list);
|
||||
else
|
||||
together.AddRange(list);
|
||||
}
|
||||
|
||||
// Compone all the same line data items onto one line.
|
||||
string line;
|
||||
if (timestamp == null)
|
||||
{
|
||||
DateTime now = DateTime.UtcNow;
|
||||
timestamp = now.ToString("yyyy-MM-dd\\THH:mm:ss.fffffffK");
|
||||
}
|
||||
if (together.Count > 0)
|
||||
{
|
||||
line = timestamp;
|
||||
foreach (SimpleDataItem di in together)
|
||||
line += "|" + di.ToString();
|
||||
line += "\n";
|
||||
|
||||
SendToAll(line);
|
||||
}
|
||||
|
||||
// Now write out all the separate lines
|
||||
if (separate.Count > 0)
|
||||
{
|
||||
foreach (SimpleDataItem di in separate)
|
||||
{
|
||||
line = timestamp;
|
||||
line += "|" + di.ToString() + "\n";
|
||||
SendToAll(line);
|
||||
}
|
||||
}
|
||||
|
||||
// Flush the output
|
||||
FlushAll();
|
||||
#endif
|
||||
|
||||
// Cleanup
|
||||
foreach (object di in itemNodes)
|
||||
{
|
||||
// pulizia oggetti
|
||||
//di.Cleanup();
|
||||
}
|
||||
myBegun = false;
|
||||
}
|
||||
/// <summary>
|
||||
/// Imposta TUTTI i data items unavailable
|
||||
/// </summary>
|
||||
public virtual void setAllUnavailable()
|
||||
{
|
||||
foreach (object di in itemNodes)
|
||||
{
|
||||
//// imposta a unavailable
|
||||
//di.Unavailable();
|
||||
}
|
||||
}
|
||||
/// <summary>
|
||||
/// AVVIA processo lettura CNC e invio dati a client
|
||||
/// </summary>
|
||||
public virtual void start()
|
||||
{
|
||||
#if false
|
||||
if (!mRunning)
|
||||
{
|
||||
mListener = new TcpListener(IPAddress.Any, mPort);
|
||||
mListener.Start();
|
||||
mListenThread = new Thread(new ThreadStart(ListenForClients));
|
||||
mListenThread.Start();
|
||||
}
|
||||
#endif
|
||||
}
|
||||
/// <summary>
|
||||
/// FERMA processo lettura CNC e invio dati a client
|
||||
/// </summary>
|
||||
public virtual void stop()
|
||||
{
|
||||
#if false
|
||||
if (mRunning)
|
||||
{
|
||||
mRunning = false;
|
||||
mListener.Stop();
|
||||
foreach (Object obj in mClients)
|
||||
{
|
||||
Stream client = (Stream)obj;
|
||||
client.Close();
|
||||
}
|
||||
mClients.Clear();
|
||||
|
||||
// Wait 5 seconds for the thread to exit.
|
||||
mListenThread.Join(2000);
|
||||
|
||||
// Wait for all client threads to exit.
|
||||
mActiveClients.Wait(2000);
|
||||
}
|
||||
#endif
|
||||
}
|
||||
|
||||
#endregion
|
||||
|
||||
#region gestione nodi (dataItems / conditions)
|
||||
|
||||
/// <summary>
|
||||
/// Aggiunge un generico item all'elenco di quelli tracciati INDICANDO IL TYPE
|
||||
/// </summary>
|
||||
/// <param name="key"></param>
|
||||
/// <param name="value"></param>
|
||||
public virtual void addItemNodeByType(string key, itemType tipo)
|
||||
{
|
||||
if (!itemNodes.ContainsKey(key))
|
||||
{
|
||||
itemNode currItem = new itemNode(tipo, availStatus.UNAVAILABLE.ToString());
|
||||
#if false
|
||||
// di base salvo tipo/valore come KVP nell'item...
|
||||
Dictionary<itemType, object> currObj = new Dictionary<itemType, object>();
|
||||
currObj.Add(tipo, "UNAVAILABLE");
|
||||
#endif
|
||||
itemNodes.Add(key, currItem);
|
||||
}
|
||||
}
|
||||
/// <summary>
|
||||
/// Aggiunge un generico item all'elenco di quelli tracciati INDICANDO IL TYPE ed il valore iniziale
|
||||
/// </summary>
|
||||
/// <param name="key"></param>
|
||||
/// <param name="value"></param>
|
||||
public virtual void addItemNodeAndSet(string key, itemType tipo, object value)
|
||||
{
|
||||
addItemNodeByType(key, tipo);
|
||||
updateItemNodeValue(key, value);
|
||||
}
|
||||
/// <summary>
|
||||
/// Aggiunge un generico item all'elenco di quelli tracciati (NON STRONGLY TYPED!!! occhio!!!)
|
||||
/// </summary>
|
||||
/// <param name="key"></param>
|
||||
/// <param name="value"></param>
|
||||
public virtual void addItemNode(string key, object value)
|
||||
{
|
||||
// se non c'è già elemento lo aggiungo...
|
||||
if (!itemNodes.ContainsKey(key))
|
||||
{
|
||||
// default: event...
|
||||
itemNode currItem = new itemNode(itemType.Event, value);
|
||||
itemNodes.Add(key, currItem);
|
||||
}
|
||||
}
|
||||
public virtual void addItemNode(object value)
|
||||
{
|
||||
if (!itemNodes.ContainsKey(value.ToString()))
|
||||
{
|
||||
// default: event...
|
||||
itemNode currItem = new itemNode(itemType.Event, value);
|
||||
itemNodes.Add(value.ToString(), currItem);
|
||||
}
|
||||
}
|
||||
/// <summary>
|
||||
/// Rimuove TUTTI i data items tracciati
|
||||
/// </summary>
|
||||
public virtual void removeAllItemNodes()
|
||||
{
|
||||
itemNodes.Clear();
|
||||
}
|
||||
/// <summary>
|
||||
/// Rimuove un item dall'elenco di quelli tracciati
|
||||
/// </summary>
|
||||
/// <param name="key"></param>
|
||||
public virtual void removeItemNode(string key)
|
||||
{
|
||||
itemNodes.Remove(key);
|
||||
}
|
||||
/// <summary>
|
||||
/// RESTITUISCE un item da KEY
|
||||
/// </summary>
|
||||
/// <param name="key"></param>
|
||||
public virtual object getItemNode(string key)
|
||||
{
|
||||
return itemNodes[key].cObject;
|
||||
}
|
||||
/// <summary>
|
||||
/// AGGIORNA un generico item all'elenco di quelli tracciati (NON STRONGLY TYPED!!! occhio!!!)
|
||||
/// </summary>
|
||||
/// <param name="key"></param>
|
||||
/// <param name="value"></param>
|
||||
public virtual void updateItemNodeValue(string key, object value)
|
||||
{
|
||||
itemNodes[key].cObject = value;
|
||||
}
|
||||
/// <summary>
|
||||
/// AGGIORNA un generico item all'elenco di quelli tracciati (NON STRONGLY TYPED!!! occhio!!!)
|
||||
/// </summary>
|
||||
/// <param name="key"></param>
|
||||
/// <param name="code"></param>
|
||||
/// <param name="value"></param>
|
||||
public virtual void updateItemNodeCodeValue(string key, string code, object value)
|
||||
{
|
||||
itemNodes[key].cObject = value;
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// Aggiunge un generico item all'elenco di quelli tracciati (NON STRONGLY TYPED!!! occhio!!!)
|
||||
/// </summary>
|
||||
/// <param name="key"></param>
|
||||
/// <param name="value"></param>
|
||||
public virtual void addConditionNode(string key, object value)
|
||||
{
|
||||
// se non c'è già elemento lo aggiungo...
|
||||
if (!conditionNodes.ContainsKey(key))
|
||||
{
|
||||
// default: event...
|
||||
itemNode currItem = new itemNode(itemType.Condition, value);
|
||||
conditionNodes.Add(key, currItem);
|
||||
}
|
||||
}
|
||||
/// <summary>
|
||||
/// Rimuove TUTTI i CONDITION NODES tracciati
|
||||
/// </summary>
|
||||
public virtual void removeAllConditionNodes()
|
||||
{
|
||||
conditionNodes.Clear();
|
||||
}
|
||||
/// <summary>
|
||||
/// Rimuove un CONDITION NODE dall'elenco di quelli tracciati
|
||||
/// </summary>
|
||||
/// <param name="key">chaive</param>
|
||||
public virtual void removeConditionNode(string key)
|
||||
{
|
||||
conditionNodes.Remove(key);
|
||||
}
|
||||
|
||||
#endregion
|
||||
|
||||
#region gestione allarmi
|
||||
|
||||
/// <summary>
|
||||
/// processo il vettore LOCALE degli allarmi
|
||||
/// </summary>
|
||||
public virtual void processAlarm()
|
||||
{
|
||||
if (AlarmFlags != null)
|
||||
{
|
||||
// variabili helper
|
||||
StFlag32 AlarmBlock = 0;
|
||||
allarme currAllarm;
|
||||
// controllo TUTTI i bit della variabile COMPLETA degli status allarmi: se ce ne sono di alzati DEVO processare...
|
||||
for (int i = 0; i < AlarmFlags.Length / 4; i++)
|
||||
{
|
||||
// leggo 32bit alla volta...
|
||||
AlarmBlock = (StFlag32)BitConverter.ToUInt32(AlarmFlags, i * 4);
|
||||
for (int j = 0; j < 32; j++)
|
||||
{
|
||||
// converto! e aggiungo allarmi sollevati al corretto controller allarmi...
|
||||
if (AlarmBlock.HasFlag((StFlag32)Math.Pow(2, j)))
|
||||
{
|
||||
// recupero allarme da oggetto in memoria...
|
||||
currAllarm = elencoAllarmi[i * 32 + j];
|
||||
addAlarm(currAllarm);
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
/// <summary>
|
||||
/// SETUP oggetti gestione allarmi
|
||||
/// </summary>
|
||||
public virtual void addAlarmNodes()
|
||||
{
|
||||
// minimo sempre PLC/CNC
|
||||
addConditionNode("CNC", "CNC");
|
||||
addConditionNode("PLC", "PLC");
|
||||
}
|
||||
/// <summary>
|
||||
/// INIT allarmi a normal
|
||||
/// </summary>
|
||||
public virtual void initAlarms()
|
||||
{
|
||||
}
|
||||
/// <summary>
|
||||
/// INIT di un SINGOLO NODO di allarme a normal
|
||||
/// </summary>
|
||||
/// <param name="alarmNode"></param>
|
||||
public virtual void initAlarm(itemNode alarmNode)
|
||||
{
|
||||
}
|
||||
/// <summary>
|
||||
/// Aggiunta SINGOLO allarme su GENERICO (global) nodo
|
||||
/// </summary>
|
||||
/// <param name="currAllarm">Allarme da riportare al nodo</param>
|
||||
public virtual void addAlarm(allarme currAllarm)
|
||||
{
|
||||
#if false
|
||||
// in base al tipo di allarme decodifico condizione...
|
||||
Condition.Level livello = Condition.Level.NORMAL;
|
||||
switch (currAllarm.livello)
|
||||
{
|
||||
case "WARNING":
|
||||
livello = Condition.Level.WARNING;
|
||||
break;
|
||||
case "FAULT":
|
||||
default:
|
||||
livello = Condition.Level.FAULT;
|
||||
break;
|
||||
}
|
||||
// in base al gruppo decido dove assegnare come CONDITION...
|
||||
switch (currAllarm.gruppo)
|
||||
{
|
||||
case "PLC":
|
||||
mAlarmPLC.Add(livello, currAllarm.descrizione, currAllarm.codNum, "", "");
|
||||
break;
|
||||
case "CNC":
|
||||
default:
|
||||
mAlarmCNC.Add(livello, currAllarm.descrizione, currAllarm.codNum, "", "");
|
||||
break;
|
||||
}
|
||||
#endif
|
||||
}
|
||||
/// <summary>
|
||||
/// Aggiunta SINGOLO allarme su SPECIFICO nodo
|
||||
/// </summary>
|
||||
/// <param name="alarmNode">Generico nodo di tipo condition</param>
|
||||
/// <param name="currAllarm">Allarme da riportare al nodo</param>
|
||||
public virtual void addAlarm(itemNode alarmNode, allarme currAllarm)
|
||||
{
|
||||
#if false
|
||||
// in base al tipo di allarme decodifico condizione...
|
||||
Condition.Level livello = Condition.Level.NORMAL;
|
||||
switch (currAllarm.livello)
|
||||
{
|
||||
case "WARNING":
|
||||
livello = Condition.Level.WARNING;
|
||||
break;
|
||||
case "FAULT":
|
||||
default:
|
||||
livello = Condition.Level.FAULT;
|
||||
break;
|
||||
}
|
||||
// in base al gruppo decido dove assegnare come CONDITION...
|
||||
switch (currAllarm.gruppo)
|
||||
{
|
||||
case "PLC":
|
||||
mAlarmPLC.Add(livello, currAllarm.descrizione, currAllarm.codNum, "", "");
|
||||
break;
|
||||
case "CNC":
|
||||
default:
|
||||
mAlarmCNC.Add(livello, currAllarm.descrizione, currAllarm.codNum, "", "");
|
||||
break;
|
||||
}
|
||||
#endif
|
||||
}
|
||||
/// <summary>
|
||||
/// RESTITUISCE un nodo CONDITION da KEY
|
||||
/// </summary>
|
||||
/// <param name="key"></param>
|
||||
public virtual object getAlarmNode(string key)
|
||||
{
|
||||
return conditionNodes[key];
|
||||
}
|
||||
|
||||
#endregion
|
||||
|
||||
}
|
||||
/// <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 protocolli di comunicazione ammessi
|
||||
/// </summary>
|
||||
public enum gwProtocol
|
||||
{
|
||||
/// <summary>
|
||||
/// NESSUN protocollo reale --> FILE DUMP sul log...
|
||||
/// </summary>
|
||||
LOGFILE,
|
||||
/// <summary>
|
||||
/// Protocollo di comunicazione MTConnect
|
||||
/// </summary>
|
||||
MTC,
|
||||
/// <summary>
|
||||
/// Protocollo di comunicazione SCM.OPC.UA.REDIS.SERVER
|
||||
/// </summary>
|
||||
SOURS
|
||||
}
|
||||
/// <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>
|
||||
/// Varibili STATO per AVAIL
|
||||
/// </summary>
|
||||
public enum availStatus
|
||||
{
|
||||
/// <summary>
|
||||
/// Stato DISPONIBILE
|
||||
/// </summary>
|
||||
AVAILABLE = 0,
|
||||
/// <summary>
|
||||
/// Stato NON disponibile
|
||||
/// </summary>
|
||||
UNAVAILABLE
|
||||
}
|
||||
/// <summary>
|
||||
/// Varibili STATO per AVAIL
|
||||
/// </summary>
|
||||
public enum pathType
|
||||
{
|
||||
/// <summary>
|
||||
/// Stato LAVORO
|
||||
/// </summary>
|
||||
LAVORO = 0,
|
||||
/// <summary>
|
||||
/// Stato ASSERV
|
||||
/// </summary>
|
||||
ASSERV
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,287 @@
|
||||
//using System;
|
||||
//using System.Collections.Generic;
|
||||
//using System.Linq;
|
||||
//using System.Text;
|
||||
//using System.Threading.Tasks;
|
||||
//using MTC;
|
||||
using MTC;
|
||||
using MTConnect;
|
||||
|
||||
namespace SCMA.AdapterCom
|
||||
{
|
||||
public class GatewayMTC : Gateway
|
||||
{
|
||||
/// <summary>
|
||||
/// adapter globale MTC
|
||||
/// </summary>
|
||||
/// <summary>
|
||||
public Adapter mAdapter = new Adapter();
|
||||
|
||||
#region gestione globale oggetto
|
||||
|
||||
/// <summary>
|
||||
/// wrapper init
|
||||
/// </summary>
|
||||
public GatewayMTC()
|
||||
{
|
||||
protocollo = gwProtocol.MTC;
|
||||
}
|
||||
/// <summary>
|
||||
/// Wrapper metodo Begin
|
||||
/// </summary>
|
||||
public override void beginDataCollect()
|
||||
{
|
||||
mAdapter.Begin();
|
||||
}
|
||||
/// <summary>
|
||||
/// Wrapper metodo SendChanged
|
||||
/// </summary>
|
||||
public override void sendChanged()
|
||||
{
|
||||
mAdapter.SendChanged();
|
||||
}
|
||||
/// <summary>
|
||||
/// Wrapper metodo imposta tutto a UNAVAILABLE
|
||||
/// </summary>
|
||||
public override void setAllUnavailable()
|
||||
{
|
||||
mAdapter.Unavailable();
|
||||
}
|
||||
/// <summary>
|
||||
/// Wrapper metodo START
|
||||
/// </summary>
|
||||
public override void start()
|
||||
{
|
||||
mAdapter.Port = port;
|
||||
mAdapter.Start();
|
||||
}
|
||||
/// <summary>
|
||||
/// Wrapper metodo STOP
|
||||
/// </summary>
|
||||
public override void stop()
|
||||
{
|
||||
mAdapter.Stop();
|
||||
}
|
||||
|
||||
#endregion
|
||||
|
||||
#region gestione nodi (dataItems, conditions)
|
||||
|
||||
public override void addItemNodeByType(string key, itemType tipo)
|
||||
{
|
||||
if (!itemNodes.ContainsKey(key))
|
||||
{
|
||||
// in base al TIPO genero l'oggetto corretto...
|
||||
DataItem currObj;
|
||||
switch (tipo)
|
||||
{
|
||||
case itemType.Condition:
|
||||
currObj = new Condition(key);
|
||||
break;
|
||||
case itemType.Event:
|
||||
currObj = new Event(key);
|
||||
break;
|
||||
case itemType.Message:
|
||||
currObj = new Message(key);
|
||||
break;
|
||||
case itemType.Sample:
|
||||
currObj = new Sample(key);
|
||||
break;
|
||||
default:
|
||||
currObj = new DataItem(key);
|
||||
break;
|
||||
}
|
||||
mAdapter.AddDataItem(currObj);
|
||||
if (tipo == itemType.Condition)
|
||||
{
|
||||
addConditionNode(key, currObj);
|
||||
addItemNode(key, currObj);
|
||||
}
|
||||
else
|
||||
{
|
||||
addItemNode(key, currObj);
|
||||
}
|
||||
}
|
||||
}
|
||||
/// Effettua chiamata VERA su adapter MTConnect...
|
||||
/// </summary>
|
||||
/// <param name="value"></param>
|
||||
public override void addItemNode(string key, object value)
|
||||
{
|
||||
if (!itemNodes.ContainsKey(key))
|
||||
{
|
||||
base.addItemNode(key, value);
|
||||
// aggiungo ad adapter
|
||||
mAdapter.AddDataItem((DataItem)value);
|
||||
}
|
||||
}
|
||||
/// <summary>
|
||||
/// Effettua chiamata VERA su adapter MTConnect...
|
||||
/// </summary>
|
||||
/// <param name="value"></param>
|
||||
public override void addItemNode(object value)
|
||||
{
|
||||
DataItem currObj = (DataItem)value;
|
||||
string key = value.ToString().Replace("|", "");
|
||||
try
|
||||
{
|
||||
key = key.Replace(currObj.Value.ToString(), "");
|
||||
}
|
||||
catch
|
||||
{
|
||||
}
|
||||
if (!itemNodes.ContainsKey(key))
|
||||
{
|
||||
base.addItemNode(key, value);
|
||||
// aggiungo ad adapter
|
||||
mAdapter.AddDataItem((DataItem)value);
|
||||
}
|
||||
}
|
||||
/// <summary>
|
||||
/// Wrapper metodo rimozione di TUTTI gli ITEMS
|
||||
/// </summary>
|
||||
public override void removeAllItemNodes()
|
||||
{
|
||||
foreach (var item in itemNodes)
|
||||
{
|
||||
// rimuovo da MTC
|
||||
mAdapter.RemoveDataItem((DataItem)item.Value.cObject);
|
||||
}
|
||||
base.removeAllItemNodes();
|
||||
}
|
||||
/// <summary>
|
||||
/// Wrapper metodo rimozione ITEMS
|
||||
/// </summary>
|
||||
/// <param name="anItem"></param>
|
||||
public override void removeItemNode(string key)
|
||||
{
|
||||
// rimuovo da MTC
|
||||
mAdapter.RemoveDataItem((DataItem)itemNodes[key].cObject);
|
||||
// rimuovo da vett interno
|
||||
base.removeItemNode(key);
|
||||
}
|
||||
public override void updateItemNodeValue(string key, object value)
|
||||
{
|
||||
((DataItem)getItemNode(key)).Value = value;
|
||||
}
|
||||
public override void updateItemNodeCodeValue(string key, string code, object value)
|
||||
{
|
||||
((Message)getItemNode(key)).Code = code;
|
||||
((Message)getItemNode(key)).Value = value;
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// wrapper aggiunta condizione
|
||||
/// </summary>
|
||||
/// <param name="key"></param>
|
||||
/// <param name="value"></param>
|
||||
public override void addConditionNode(string key, object value)
|
||||
{
|
||||
base.addConditionNode(key, value);
|
||||
// aggiungo ad adapter
|
||||
mAdapter.AddDataItem((Condition)value);
|
||||
}
|
||||
public override void removeAllConditionNodes()
|
||||
{
|
||||
foreach (var item in conditionNodes)
|
||||
{
|
||||
// rimuovo da MTC
|
||||
mAdapter.RemoveDataItem((Condition)item.Value.cObject);
|
||||
}
|
||||
base.removeAllConditionNodes();
|
||||
}
|
||||
public override void removeConditionNode(string key)
|
||||
{
|
||||
// rimuovo da MTC
|
||||
mAdapter.RemoveDataItem((Condition)conditionNodes[key].cObject);
|
||||
// rimuovo da vett interno
|
||||
base.removeConditionNode(key);
|
||||
}
|
||||
|
||||
#endregion
|
||||
|
||||
#region gestione allarmi
|
||||
|
||||
/// <summary>
|
||||
/// Speciofica implementazione x formattazione ALLARMI
|
||||
/// </summary>
|
||||
/// <param name="currAllarm"></param>
|
||||
public override void addAlarm(allarme currAllarm)
|
||||
{
|
||||
// in base al tipo di allarme decodifico condizione...
|
||||
Condition.Level livello = Condition.Level.NORMAL;
|
||||
switch (currAllarm.livello)
|
||||
{
|
||||
case "WARNING":
|
||||
livello = Condition.Level.WARNING;
|
||||
break;
|
||||
case "FAULT":
|
||||
default:
|
||||
livello = Condition.Level.FAULT;
|
||||
break;
|
||||
}
|
||||
if (conditionNodes.ContainsKey(currAllarm.gruppo))
|
||||
{
|
||||
Condition mAlarm = (Condition)conditionNodes[currAllarm.gruppo].cObject;
|
||||
mAlarm.Add(livello, currAllarm.descrizione, currAllarm.codNum, "", "");
|
||||
}
|
||||
}
|
||||
/// <summary>
|
||||
/// Speciofica implementazione x formattazione ALLARMI
|
||||
/// </summary>
|
||||
/// <param name="currAllarm"></param>
|
||||
/// <param name="alarmNode">Generico nodo di tipo condition</param>
|
||||
public override void addAlarm(itemNode alarmNode, allarme currAllarm)
|
||||
{
|
||||
// in base al tipo di allarme decodifico condizione...
|
||||
Condition.Level livello = Condition.Level.NORMAL;
|
||||
switch (currAllarm.livello)
|
||||
{
|
||||
case "WARNING":
|
||||
livello = Condition.Level.WARNING;
|
||||
break;
|
||||
case "FAULT":
|
||||
default:
|
||||
livello = Condition.Level.FAULT;
|
||||
break;
|
||||
}
|
||||
Condition mAlarm = (Condition)alarmNode.cObject;
|
||||
mAlarm.Add(livello, currAllarm.descrizione, currAllarm.codNum, "", "");
|
||||
}
|
||||
/// <summary>
|
||||
/// Wrapper setup obj allarmi
|
||||
/// </summary>
|
||||
public override void addAlarmNodes()
|
||||
{
|
||||
// registro
|
||||
Condition newCondNode;
|
||||
newCondNode = new Condition("CNC");
|
||||
addConditionNode("CNC", newCondNode);
|
||||
newCondNode = new Condition("PLC");
|
||||
addConditionNode("PLC", newCondNode);
|
||||
}
|
||||
/// <summary>
|
||||
/// Wrapper inizializzazione allarmi
|
||||
/// </summary>
|
||||
public override void initAlarms()
|
||||
{
|
||||
// trasformo i nodi in elenchi conditions e li aggiungo...
|
||||
foreach (var item in conditionNodes)
|
||||
{
|
||||
((Condition)item.Value.cObject).Normal();
|
||||
}
|
||||
}
|
||||
/// <summary>
|
||||
/// inizializazione allarme a normal
|
||||
/// </summary>
|
||||
/// <param name="alarmNode"></param>
|
||||
public override void initAlarm(itemNode alarmNode)
|
||||
{
|
||||
Condition mAlarm = (Condition)alarmNode.cObject;
|
||||
mAlarm.Normal();
|
||||
}
|
||||
|
||||
#endregion
|
||||
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,16 @@
|
||||
//using System;
|
||||
//using System.Collections.Generic;
|
||||
//using System.Linq;
|
||||
//using System.Text;
|
||||
//using System.Threading.Tasks;
|
||||
|
||||
namespace SCMA.AdapterCom
|
||||
{
|
||||
public class GatewaySOURS : Gateway
|
||||
{
|
||||
public GatewaySOURS()
|
||||
{
|
||||
protocollo = gwProtocol.SOURS;
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,458 @@
|
||||
using MTC;
|
||||
using System;
|
||||
using System.Collections.Generic;
|
||||
using System.IO;
|
||||
using System.Xml.Serialization;
|
||||
|
||||
namespace SCMA
|
||||
{
|
||||
#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;
|
||||
double tContSlittaTast;
|
||||
int[] _ContGiriElettrom;
|
||||
float[] _ContKmMovAssi;
|
||||
tipoAdapter etipoAdapt;
|
||||
|
||||
element[] _VacuumPump;
|
||||
element[] _VacuumAct;
|
||||
element[] _Lubro;
|
||||
element[] _SlittaMag;
|
||||
element[] _ProtMag;
|
||||
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 nSlittaMag
|
||||
{
|
||||
get
|
||||
{
|
||||
int answ = 0;
|
||||
if (SlittaMag != null)
|
||||
{
|
||||
try
|
||||
{
|
||||
answ = Convert.ToInt32(SlittaMag.Length);
|
||||
}
|
||||
catch
|
||||
{ }
|
||||
}
|
||||
return answ;
|
||||
}
|
||||
}
|
||||
public int nProtMag
|
||||
{
|
||||
get
|
||||
{
|
||||
int answ = 0;
|
||||
if (ProtMag != null)
|
||||
{
|
||||
try
|
||||
{
|
||||
answ = Convert.ToInt32(ProtMag.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 double ContSlittaTast
|
||||
{
|
||||
get { return tContSlittaTast; }
|
||||
set { tContSlittaTast = 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[] SlittaMag
|
||||
{
|
||||
get { return _SlittaMag; }
|
||||
set { _SlittaMag = value; }
|
||||
}
|
||||
public element[] ProtMag
|
||||
{
|
||||
get { return _ProtMag; }
|
||||
set { _ProtMag = 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
|
||||
}
|
||||
@@ -0,0 +1,168 @@
|
||||
using MTC;
|
||||
using MTConnect;
|
||||
using SCMA.AdapterCom;
|
||||
using System;
|
||||
|
||||
namespace SCMA
|
||||
{
|
||||
public class AdapterDemo : AdapterGeneric
|
||||
{
|
||||
public Condition mTemp;
|
||||
public Condition mFillLevel;
|
||||
|
||||
/// <summary>
|
||||
/// estende l'init della classe base...
|
||||
/// </summary>
|
||||
/// <param name="caller">FORM chaimante</param>
|
||||
/// <param name="adpConf">CONFIGURAZIONE adapter</param>
|
||||
/// <param name="gatewayObj">OGGETTO gestione comunicazione OUT (tipologia e metodi)</param>
|
||||
public AdapterDemo(MainForm caller, AdapterConf adpConf, Gateway gatewayObj) : base(caller, adpConf, gatewayObj)
|
||||
{
|
||||
if (utils.CRB("verbose"))
|
||||
{
|
||||
lg.Info("Start init Adapter DEMO");
|
||||
}
|
||||
// IMPLICITO: carica da metodo base tutte le specifiche del conf...
|
||||
|
||||
mTemp = new Condition("temp");
|
||||
mFillLevel = new Condition("cool_low", true);
|
||||
// aggiungo specifiche del demo: allarmi gestiti a buttons!!!
|
||||
currGateway.addItemNode("temp", mTemp);
|
||||
currGateway.addItemNode("cool_low", mFillLevel);
|
||||
}
|
||||
|
||||
public override void startAdapter()
|
||||
{
|
||||
base.startAdapter();
|
||||
// aggiungo altre condizioni specifiche...
|
||||
mTemp.Normal();
|
||||
mFillLevel.Normal();
|
||||
}
|
||||
|
||||
public override void getSlowChangingData()
|
||||
{
|
||||
// recupero SEMPRE dati ulteriori: status ON/OFF, clock, ...
|
||||
currGateway.updateItemNodeValue("STATUS", parentForm.datiProd.Status);
|
||||
currGateway.updateItemNodeValue("ACC_TIME", parentForm.datiProd.AccTime);
|
||||
currGateway.updateItemNodeValue("OperatorId", parentForm.datiProd.Operator);
|
||||
currGateway.updateItemNodeValue("POWER", parentForm.datiProd.Power);
|
||||
currGateway.updateItemNodeValue("CLOCK", DateTime.Now.Date.ToFileTimeUtc());
|
||||
}
|
||||
|
||||
public override void getStrobeAndAckStatus()
|
||||
{
|
||||
base.getStrobeAndAckStatus();
|
||||
|
||||
// controllo bool allarmi...
|
||||
if (parentForm.datiProd.EmrStop)
|
||||
{
|
||||
currGateway.updateItemNodeValue("E_STOP", emStatus.TRIGGERED.ToString());
|
||||
}
|
||||
else
|
||||
{
|
||||
currGateway.updateItemNodeValue("E_STOP", emStatus.ARMED.ToString());
|
||||
}
|
||||
|
||||
// imposto func mode...
|
||||
currGateway.updateItemNodeValue("FUNCT_MODE", parentForm.datiProd.FuncMode);
|
||||
|
||||
// se ho un messaggio...
|
||||
if (parentForm.datiProd.MessageText.Length > 0)
|
||||
{
|
||||
currGateway.updateItemNodeCodeValue("MESSAGE", parentForm.datiProd.MessageCode, parentForm.datiProd.MessageText);
|
||||
}
|
||||
}
|
||||
|
||||
public override void getConfigParam()
|
||||
{
|
||||
base.getConfigParam();
|
||||
}
|
||||
|
||||
|
||||
public override void 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)
|
||||
{
|
||||
currGateway.updateItemNodeValue(vettPath[PtData.PathSel].feedKey, PtData.PathFeedrate);
|
||||
currGateway.updateItemNodeValue(vettPath[PtData.PathSel].feedOverKey, PtData.PathFeedrateOver);
|
||||
currGateway.updateItemNodeValue(vettPath[PtData.PathSel].rapidOverKey, PtData.PathRapidOver);
|
||||
currGateway.updateItemNodeValue(vettPath[PtData.PathSel].posAct_X_Key, PtData.PathPosAct.x);
|
||||
currGateway.updateItemNodeValue(vettPath[PtData.PathSel].posAct_Y_Key, PtData.PathPosAct.y);
|
||||
currGateway.updateItemNodeValue(vettPath[PtData.PathSel].posAct_Z_Key, PtData.PathPosAct.z);
|
||||
currGateway.updateItemNodeValue(vettPath[PtData.PathSel].posAct_I_Key, PtData.PathPosAct.i);
|
||||
currGateway.updateItemNodeValue(vettPath[PtData.PathSel].posAct_J_Key, PtData.PathPosAct.j);
|
||||
currGateway.updateItemNodeValue(vettPath[PtData.PathSel].posAct_K_Key, PtData.PathPosAct.k);
|
||||
// aggiunta x revisione 2016.05.05
|
||||
currGateway.updateItemNodeValue(vettPath[PtData.PathSel].pathTypeKey, PtData.PathType);
|
||||
currGateway.updateItemNodeValue(vettPath[PtData.PathSel].partIdKey, PtData.PartId);
|
||||
currGateway.updateItemNodeValue(vettPath[PtData.PathSel].partCountKey, PtData.pzTot);
|
||||
currGateway.updateItemNodeValue(vettPath[PtData.PathSel].runModeKey, PtData.RunMode);
|
||||
currGateway.updateItemNodeValue(vettPath[PtData.PathSel].exeModeKey, PtData.ExeMode);
|
||||
currGateway.updateItemNodeValue(vettPath[PtData.PathSel].currProgKey, PtData.ProgramName);
|
||||
currGateway.updateItemNodeValue(vettPath[PtData.PathSel].currProgRowNumKey, PtData.ProgrRow);
|
||||
currGateway.updateItemNodeValue(vettPath[PtData.PathSel].activeAxesKey, PtData.ActiveAxes);
|
||||
}
|
||||
}
|
||||
|
||||
public override void getUnOp()
|
||||
{
|
||||
base.getUnOp();
|
||||
|
||||
UnOpData uoData = parentForm.CurrUnOp;
|
||||
if (uoData.UnOpSel >= 0)
|
||||
{
|
||||
currGateway.updateItemNodeValue(vettUnOp[uoData.UnOpSel].toolIdKey, uoData.UnOpToolId);
|
||||
currGateway.updateItemNodeValue(vettUnOp[uoData.UnOpSel].numCUKey, uoData.UnOpNumCU);
|
||||
currGateway.updateItemNodeValue(vettUnOp[uoData.UnOpSel].statusKey, uoData.UnOpStatus);
|
||||
currGateway.updateItemNodeValue(vettUnOp[uoData.UnOpSel].vitaResKey, uoData.UnOpVitaRes);
|
||||
currGateway.updateItemNodeValue(vettUnOp[uoData.UnOpSel].speedKey, uoData.UnOpSpeed);
|
||||
currGateway.updateItemNodeValue(vettUnOp[uoData.UnOpSel].loadKey, uoData.UnOpLoad);
|
||||
currGateway.updateItemNodeValue(vettUnOp[uoData.UnOpSel].accTimeKey, 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...
|
||||
currGateway.updateItemNodeValue(vettAxis[AxData.AxisSel].mainProcKey, AxData.AxisMainProc);
|
||||
currGateway.updateItemNodeValue(vettAxis[AxData.AxisSel].mainProcKey, AxData.AxisIsMaster);
|
||||
currGateway.updateItemNodeValue(vettAxis[AxData.AxisSel].mainProcKey, AxData.AxisMastId);
|
||||
currGateway.updateItemNodeValue(vettAxis[AxData.AxisSel].mainProcKey, AxData.AxisType);
|
||||
currGateway.updateItemNodeValue(vettAxis[AxData.AxisSel].mainProcKey, AxData.AxisDir);
|
||||
currGateway.updateItemNodeValue(vettAxis[AxData.AxisSel].mainProcKey, AxData.AxisLoad);
|
||||
currGateway.updateItemNodeValue(vettAxis[AxData.AxisSel].mainProcKey, AxData.AxisPosAct);
|
||||
currGateway.updateItemNodeValue(vettAxis[AxData.AxisSel].mainProcKey, AxData.AxisPosTgt);
|
||||
currGateway.updateItemNodeValue(vettAxis[AxData.AxisSel].mainProcKey, AxData.AxisFeedAct);
|
||||
currGateway.updateItemNodeValue(vettAxis[AxData.AxisSel].mainProcKey, AxData.AxisFeedOver);
|
||||
currGateway.updateItemNodeValue(vettAxis[AxData.AxisSel].mainProcKey, AxData.AxisAccel);
|
||||
currGateway.updateItemNodeValue(vettAxis[AxData.AxisSel].mainProcKey, AxData.AxisAccTime);
|
||||
currGateway.updateItemNodeValue(vettAxis[AxData.AxisSel].mainProcKey, 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
File diff suppressed because it is too large
Load Diff
@@ -2,9 +2,20 @@
|
||||
<!-- For more information on using app.config transformation visit http://go.microsoft.com/fwlink/?LinkId=125889 -->
|
||||
<configuration xmlns:xdt="http://schemas.microsoft.com/XML-Document-Transform">
|
||||
<appSettings>
|
||||
<!--clock di base update...-->
|
||||
<add key="timerIntMs" value="5" xdt:Transform="Replace" xdt:Locator="Match(key)"/>
|
||||
<add key="fastCount" value="20" xdt:Transform="Replace" xdt:Locator="Match(key)"/>
|
||||
<add key="normCount" value="50" xdt:Transform="Replace" xdt:Locator="Match(key)"/>
|
||||
<add key="slowCount" value="500" xdt:Transform="Replace" xdt:Locator="Match(key)"/>
|
||||
<add key="alarmSyncCount" value="1000" xdt:Transform="Replace" xdt:Locator="Match(key)"/>
|
||||
<add key="waitEndCycle" value="0" xdt:Transform="Replace" xdt:Locator="Match(key)"/>
|
||||
<add key="loglevel" value="5" xdt:Transform="Replace" xdt:Locator="Match(key)"/>
|
||||
<add key="mode" value="prod" xdt:Transform="Replace" xdt:Locator="Match(key)"/>
|
||||
<add key="autoLoadConf" value="true" xdt:Transform="Replace" xdt:Locator="Match(key)"/>
|
||||
<add key="openDumpOnStart" value="false" xdt:Transform="Replace" xdt:Locator="Match(key)"/>
|
||||
<add key="procIotMem" value="false" xdt:Transform="Replace" xdt:Locator="Match(key)"/>
|
||||
<add key="cycleWatchDog" value="2" xdt:Transform="Replace" xdt:Locator="Match(key)"/>
|
||||
<!--COMMENTATO IN DEBUG LOCALE-->
|
||||
<add key="startMinimized" value="true" xdt:Transform="Replace" xdt:Locator="Match(key)"/>
|
||||
<add key="windowCanMax" value="false" xdt:Transform="Replace" xdt:Locator="Match(key)"/>
|
||||
<add key="trayClose" value="false" xdt:Transform="Replace" xdt:Locator="Match(key)"/>
|
||||
@@ -2,9 +2,20 @@
|
||||
<!-- For more information on using app.config transformation visit http://go.microsoft.com/fwlink/?LinkId=125889 -->
|
||||
<configuration xmlns:xdt="http://schemas.microsoft.com/XML-Document-Transform">
|
||||
<appSettings>
|
||||
<!--clock di base update...-->
|
||||
<add key="timerIntMs" value="5" xdt:Transform="Replace" xdt:Locator="Match(key)"/>
|
||||
<add key="fastCount" value="20" xdt:Transform="Replace" xdt:Locator="Match(key)"/>
|
||||
<add key="normCount" value="100" xdt:Transform="Replace" xdt:Locator="Match(key)"/>
|
||||
<add key="slowCount" value="1000" xdt:Transform="Replace" xdt:Locator="Match(key)"/>
|
||||
<add key="alarmSyncCount" value="12000" xdt:Transform="Replace" xdt:Locator="Match(key)"/>
|
||||
<add key="waitEndCycle" value="0" xdt:Transform="Replace" xdt:Locator="Match(key)"/>
|
||||
<add key="loglevel" value="5" xdt:Transform="Replace" xdt:Locator="Match(key)"/>
|
||||
<add key="mode" value="prod" xdt:Transform="Replace" xdt:Locator="Match(key)"/>
|
||||
<add key="autoLoadConf" value="true" xdt:Transform="Replace" xdt:Locator="Match(key)"/>
|
||||
<add key="openDumpOnStart" value="false" xdt:Transform="Replace" xdt:Locator="Match(key)"/>
|
||||
<add key="procIotMem" value="false" xdt:Transform="Replace" xdt:Locator="Match(key)"/>
|
||||
<add key="cycleWatchDog" value="3" xdt:Transform="Replace" xdt:Locator="Match(key)"/>
|
||||
<!--COMMENTATO IN DEBUG LOCALE-->
|
||||
<add key="startMinimized" value="true" xdt:Transform="Replace" xdt:Locator="Match(key)"/>
|
||||
<add key="windowCanMax" value="false" xdt:Transform="Replace" xdt:Locator="Match(key)"/>
|
||||
<add key="trayClose" value="false" xdt:Transform="Replace" xdt:Locator="Match(key)"/>
|
||||
+12
-1
@@ -2,13 +2,24 @@
|
||||
<!-- For more information on using app.config transformation visit http://go.microsoft.com/fwlink/?LinkId=125889 -->
|
||||
<configuration xmlns:xdt="http://schemas.microsoft.com/XML-Document-Transform">
|
||||
<appSettings>
|
||||
<!--clock di base update...-->
|
||||
<add key="timerIntMs" value="5" xdt:Transform="Replace" xdt:Locator="Match(key)"/>
|
||||
<add key="fastCount" value="60" xdt:Transform="Replace" xdt:Locator="Match(key)"/>
|
||||
<add key="normCount" value="150" xdt:Transform="Replace" xdt:Locator="Match(key)"/>
|
||||
<add key="slowCount" value="1000" xdt:Transform="Replace" xdt:Locator="Match(key)"/>
|
||||
<add key="alarmSyncCount" value="6000" xdt:Transform="Replace" xdt:Locator="Match(key)"/>
|
||||
<add key="waitEndCycle" value="0" xdt:Transform="Replace" xdt:Locator="Match(key)"/>
|
||||
<add key="loglevel" value="5" xdt:Transform="Replace" xdt:Locator="Match(key)"/>
|
||||
<add key="mode" value="prod" xdt:Transform="Replace" xdt:Locator="Match(key)"/>
|
||||
<add key="autoLoadConf" value="true" xdt:Transform="Replace" xdt:Locator="Match(key)"/>
|
||||
<add key="openDumpOnStart" value="false" xdt:Transform="Replace" xdt:Locator="Match(key)"/>
|
||||
<add key="procIotMem" value="false" xdt:Transform="Replace" xdt:Locator="Match(key)"/>
|
||||
<add key="cycleWatchDog" value="3" xdt:Transform="Replace" xdt:Locator="Match(key)"/>
|
||||
<!--COMMENTATO IN DEBUG LOCALE-->
|
||||
<add key="startMinimized" value="true" xdt:Transform="Replace" xdt:Locator="Match(key)"/>
|
||||
<add key="windowCanMax" value="false" xdt:Transform="Replace" xdt:Locator="Match(key)"/>
|
||||
<add key="trayClose" value="false" xdt:Transform="Replace" xdt:Locator="Match(key)"/>
|
||||
<add key="recTime" value="false" xdt:Transform="Replace" xdt:Locator="Match(key)"/>
|
||||
<add key="ipPLC" value="192.168.111.1" xdt:Transform="Replace" xdt:Locator="Match(key)"/>
|
||||
<add key="ipPLC" value="192.168.214.1" xdt:Transform="Replace" xdt:Locator="Match(key)"/>
|
||||
</appSettings>
|
||||
</configuration>
|
||||
@@ -2,7 +2,11 @@
|
||||
<!-- For more information on using app.config transformation visit http://go.microsoft.com/fwlink/?LinkId=125889 -->
|
||||
<configuration xmlns:xdt="http://schemas.microsoft.com/XML-Document-Transform">
|
||||
<appSettings>
|
||||
<!--<add key="loglevel" value="5" xdt:Transform="Replace" xdt:Locator="Match(key)"/>
|
||||
<add key="mode" value="prod" xdt:Transform="Replace" xdt:Locator="Match(key)"/>
|
||||
<add key="autoLoadConf" value="true" xdt:Transform="Replace" xdt:Locator="Match(key)"/>
|
||||
<add key="defaultConfFile" value="Adapter_ItemList.xml" xdt:Transform="Replace" xdt:Locator="Match(key)"/>-->
|
||||
<add key="autoLoadConf" value="false" xdt:Transform="Replace" xdt:Locator="Match(key)"/>
|
||||
<add key="defaultConfFile" value="Adapter_ItemList.xml" xdt:Transform="Replace" xdt:Locator="Match(key)"/>
|
||||
</appSettings>
|
||||
</configuration>
|
||||
@@ -2,15 +2,24 @@
|
||||
<!-- For more information on using app.config transformation visit http://go.microsoft.com/fwlink/?LinkId=125889 -->
|
||||
<configuration xmlns:xdt="http://schemas.microsoft.com/XML-Document-Transform">
|
||||
<appSettings>
|
||||
<!--clock di base update...-->
|
||||
<add key="timerIntMs" value="10" xdt:Transform="Replace" xdt:Locator="Match(key)"/>
|
||||
<add key="fastCount" value="20" xdt:Transform="Replace" xdt:Locator="Match(key)"/>
|
||||
<add key="normCount" value="50" xdt:Transform="Replace" xdt:Locator="Match(key)"/>
|
||||
<add key="slowCount" value="500" xdt:Transform="Replace" xdt:Locator="Match(key)"/>
|
||||
<add key="alarmSyncCount" value="6000" xdt:Transform="Replace" xdt:Locator="Match(key)"/>
|
||||
<add key="waitEndCycle" value="0" xdt:Transform="Replace" xdt:Locator="Match(key)"/>
|
||||
<add key="loglevel" value="5" xdt:Transform="Replace" xdt:Locator="Match(key)"/>
|
||||
<add key="mode" value="prod" xdt:Transform="Replace" xdt:Locator="Match(key)"/>
|
||||
<add key="autoLoadConf" value="true" xdt:Transform="Replace" xdt:Locator="Match(key)"/>
|
||||
<add key="openDumpOnStart" value="false" xdt:Transform="Replace" xdt:Locator="Match(key)"/>
|
||||
<add key="procIotMem" value="true" xdt:Transform="Replace" xdt:Locator="Match(key)"/>
|
||||
<!--clock di base update...-->
|
||||
<add key="timerIntMs" value="10" xdt:Transform="Replace" xdt:Locator="Match(key)"/>
|
||||
<add key="cycleWatchDog" value="2" xdt:Transform="Replace" xdt:Locator="Match(key)"/>
|
||||
<!--COMMENTATO IN DEBUG LOCALE-->
|
||||
<add key="startMinimized" value="true" xdt:Transform="Replace" xdt:Locator="Match(key)"/>
|
||||
<add key="windowCanMax" value="false" xdt:Transform="Replace" xdt:Locator="Match(key)"/>
|
||||
<add key="trayClose" value="false" xdt:Transform="Replace" xdt:Locator="Match(key)"/>
|
||||
<add key="recTime" value="false" xdt:Transform="Replace" xdt:Locator="Match(key)"/>
|
||||
<add key="ipPLC" value="127.0.0.1" xdt:Transform="Replace" xdt:Locator="Match(key)"/>
|
||||
</appSettings>
|
||||
</configuration>
|
||||
@@ -1,20 +1,34 @@
|
||||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<configuration>
|
||||
<startup>
|
||||
|
||||
<supportedRuntime version="v4.0" sku=".NETFramework,Version=v4.5.2"/></startup>
|
||||
<startup useLegacyV2RuntimeActivationPolicy="true">
|
||||
<supportedRuntime version="v4.0" sku=".NETFramework,Version=v4.5.2"/>
|
||||
</startup>
|
||||
<appSettings>
|
||||
<!--MAIN CONF-->
|
||||
<add key="appName" value="MTConnect Adapter"/>
|
||||
<!--parametri protocollo comunicazione-->
|
||||
<add key="adpProto" value="MTC"/>
|
||||
<add key="MTC_port" value="7878"/>
|
||||
<add key="SOURS_IP" value="localhost"/>
|
||||
<add key="SOURS_port" value="6379"/>
|
||||
<!--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="normCount" value="100"/><!--500ms-->
|
||||
<add key="slowCount" value="1000"/><!--5 sec-->
|
||||
<add key="alarmSyncCount" value="6000"/><!--30 sec-->
|
||||
|
||||
<add key="waitEndCycle" value="0"/><!--ms attesa dopo ogni ciclo lettura...--><!--30 sec-->
|
||||
<!--num cicli PRIMA di leggere davvero GCode x rallentare-->
|
||||
<add key="contChkGCod" value="2"/>
|
||||
<!--gestione FINESTRA campionamento x counter in secondi (dati validi dati DOPO che è piena la coda x la finestra richiesta, mantenuta a quella durata...)-->
|
||||
<add key="countWindSize" value="30"/>
|
||||
<!--parametri gestione watchdog-->
|
||||
<add key="maxAdapterLockSec" value="5"/>
|
||||
<!--disabilito letture avanzate che UCCIDONO il programma (x ora SOLO allarmi CNC x FANUC-->
|
||||
<add key="disableAdvRead" value="true"/>
|
||||
<!--gestione x abilitare/disabilitare lettura nome asse e path di controllo (OSAI)-->
|
||||
<add key="enableAxNamePath" value="true"/>
|
||||
<!--AREA CONF IP FANUC-->
|
||||
<!--SIMULATORE LOCALE
|
||||
IP LOOPBACK: 192.168.211.5/255.255.255.0
|
||||
@@ -25,19 +39,26 @@
|
||||
ipPLC = "192.168.139.100"-->
|
||||
<!--<add key="ipPLC" value="192.168.139.100" />-->
|
||||
<!--<add key="ipPLC" value="192.168.139.1" />-->
|
||||
<!--Sviluppo Steamware
|
||||
<!--<add key="ipPLC" value="192.168.157.2"/>-->
|
||||
<!--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" />-->
|
||||
<!--<add key="ipPLC" value="192.168.157.2"/>-->
|
||||
<!--OSAI DEV-->
|
||||
<!--<add key ="ipPLC" value="192.168.157.2" />-->
|
||||
<!--SIEMENS DEV-->
|
||||
<!--<add key ="ipPLC" value="192.168.214.1" />-->
|
||||
<!--CMS PROD-->
|
||||
<!--<add key ="ipPLC" value="192.168.139.1" />-->
|
||||
<add key ="ipPLC" value="192.168.157.2" />
|
||||
|
||||
<add key="recTime" value="true"/>
|
||||
<add key="verbose" value="true"/>
|
||||
<add key="loglevel" value="5"/>
|
||||
<add key="mode" value="prod"/>
|
||||
<!--Definizione avvio Adapter-->
|
||||
<add key="autoLoadConf" value="false"/>
|
||||
<add key="autoStartOnLoad" value="true"/>
|
||||
@@ -50,6 +71,7 @@
|
||||
<add key="testCharSep" value="|"/>
|
||||
<add key="fattdecimale" value="1000"/>
|
||||
<add key="fattConvDistAssi" value="1000"/>
|
||||
<add key="fattDecVA" value="1000"/>
|
||||
<!--conf file-->
|
||||
<add key="dataPath" value="DATA"/>
|
||||
<add key="dataConfPath" value="DATA\CONF"/>
|
||||
@@ -62,13 +84,18 @@
|
||||
<add key="maxNumDD" value="30"/>
|
||||
<add key="defaultEsaFile" value="EsaKvara.ini"/>
|
||||
<add key="CounterListFilePath" value="CounterList.map"/>
|
||||
<add key="AnalogDataFilePath" value="AnalogData.map"/>
|
||||
<add key="StatusListFilePath" value="StatusList.map"/>
|
||||
<add key="SubModeListFilePath" value="SubModeList.map"/>
|
||||
<!--Gestione path siemens-->
|
||||
<add key="SiemensBaseCountPath" value="0"/>
|
||||
<!--gestione FANUC con assi limitati-->
|
||||
<add key="FanucLimit3D" value="false"/>
|
||||
<!--conf gestione "semplificata" accesso a tutta la memoria ogni volta-->
|
||||
<!--conf x CMS-->
|
||||
<!--<add key="procIotMem" value="false"/>-->
|
||||
<add key="procIotMem" value="false"/>
|
||||
<!--conf x ESA-KVARA-->
|
||||
<add key="procIotMem" value="true"/>
|
||||
<!--<add key="procIotMem" value="true"/>-->
|
||||
<!--file configurazione IotMem (ESA KVARA)-->
|
||||
<add key="IOTByteFilePath" value="IOT_ByteList.map"/>
|
||||
<add key="IOTWordFilePath" value="IOT_WordList.map"/>
|
||||
@@ -80,7 +107,12 @@
|
||||
<add key="eStopCode" value="152"/>
|
||||
<!--gestione watchdog CMS-->
|
||||
<add key="sendWatchDog" value="true"/>
|
||||
<add key="cycleWatchDog" value="3"/>
|
||||
<add key="readAllTop" value="true"/>
|
||||
<add key="fastCopy" value="true"/>
|
||||
<add key="ClientSettingsProvider.ServiceUri" value=""/>
|
||||
<!--gestione spindle override gobale forzato da max valori letti...-->
|
||||
<add key="getMaxSpOver" value="true"/>
|
||||
</appSettings>
|
||||
<system.web>
|
||||
<membership defaultProvider="ClientAuthenticationMembershipProvider">
|
||||
+43
-2
@@ -1,10 +1,11 @@
|
||||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<AdapterConf xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:xsd="http://www.w3.org/2001/XMLSchema">
|
||||
<Version>1</Version>
|
||||
<NomeAdapt>ADAPTER_SIEMENS</NomeAdapt>
|
||||
<TipoAdapt>SIEMENS</TipoAdapt>
|
||||
<NomeAdapt>ADAPTER_OSAI</NomeAdapt>
|
||||
<TipoAdapt>OSAI</TipoAdapt>
|
||||
<ContOreMaccOn>0</ContOreMaccOn>
|
||||
<ContOreMaccLav>0</ContOreMaccLav>
|
||||
<ContSlittaTast>0</ContSlittaTast>
|
||||
<VacuumPump>
|
||||
<element>
|
||||
<ident>VacPump_01</ident>
|
||||
@@ -35,6 +36,18 @@
|
||||
<dataRefList />
|
||||
</element>
|
||||
</Lubro>
|
||||
<SlittaMag>
|
||||
<element>
|
||||
<ident>SlittaMagazzino_01</ident>
|
||||
<dataRefList />
|
||||
</element>
|
||||
</SlittaMag>
|
||||
<ProtMag>
|
||||
<element>
|
||||
<ident>ProtMagazzino_01</ident>
|
||||
<dataRefList />
|
||||
</element>
|
||||
</ProtMag>
|
||||
<Cooler>
|
||||
<element>
|
||||
<ident>Cooler_01</ident>
|
||||
@@ -70,6 +83,10 @@
|
||||
<ident>Path_01</ident>
|
||||
<dataRefList />
|
||||
</element>
|
||||
<!--<element>
|
||||
<ident>Path_02</ident>
|
||||
<dataRefList />
|
||||
</element>-->
|
||||
</Path>
|
||||
<UnOp>
|
||||
<element>
|
||||
@@ -85,6 +102,10 @@
|
||||
<Key>Axis_01_Type</Key>
|
||||
<Value>LINEAR</Value>
|
||||
</dataRef>
|
||||
<dataRef>
|
||||
<Key>Axis_01_Grp</Key>
|
||||
<Value>00</Value>
|
||||
</dataRef>
|
||||
</dataRefList>
|
||||
</element>
|
||||
<element>
|
||||
@@ -94,6 +115,10 @@
|
||||
<Key>Axis_02_Type</Key>
|
||||
<Value>LINEAR</Value>
|
||||
</dataRef>
|
||||
<dataRef>
|
||||
<Key>Axis_02_Grp</Key>
|
||||
<Value>00</Value>
|
||||
</dataRef>
|
||||
</dataRefList>
|
||||
</element>
|
||||
<element>
|
||||
@@ -103,6 +128,10 @@
|
||||
<Key>Axis_03_Type</Key>
|
||||
<Value>LINEAR</Value>
|
||||
</dataRef>
|
||||
<dataRef>
|
||||
<Key>Axis_03_Grp</Key>
|
||||
<Value>00</Value>
|
||||
</dataRef>
|
||||
</dataRefList>
|
||||
</element>
|
||||
<element>
|
||||
@@ -112,6 +141,10 @@
|
||||
<Key>Axis_04_Type</Key>
|
||||
<Value>ROTARY</Value>
|
||||
</dataRef>
|
||||
<dataRef>
|
||||
<Key>Axis_04_Grp</Key>
|
||||
<Value>00</Value>
|
||||
</dataRef>
|
||||
</dataRefList>
|
||||
</element>
|
||||
<element>
|
||||
@@ -121,6 +154,10 @@
|
||||
<Key>Axis_05_Type</Key>
|
||||
<Value>ROTARY</Value>
|
||||
</dataRef>
|
||||
<dataRef>
|
||||
<Key>Axis_05_Grp</Key>
|
||||
<Value>00</Value>
|
||||
</dataRef>
|
||||
</dataRefList>
|
||||
</element>
|
||||
<element>
|
||||
@@ -130,6 +167,10 @@
|
||||
<Key>Axis_06_Type</Key>
|
||||
<Value>LINEAR</Value>
|
||||
</dataRef>
|
||||
<dataRef>
|
||||
<Key>Axis_06_Grp</Key>
|
||||
<Value>00</Value>
|
||||
</dataRef>
|
||||
</dataRefList>
|
||||
</element>
|
||||
</Axis>
|
||||
@@ -0,0 +1,7 @@
|
||||
# Commenti con cancelletto, struttura un variabile per riga, tipo chiave|valore (occhio che il separatore è configurato da .cofig come "testCharSep"); spazi e tabulazioni dovrei trimmarli in acquisizione (qui inseriti per comodità di lettura)
|
||||
001|Axis_01_Load |NUM
|
||||
002|Axis_02_Load |NUM
|
||||
003|Axis_03_Load |NUM
|
||||
004|Axis_04_Load |NUM
|
||||
005|Axis_05_Load |NUM
|
||||
006|Axis_06_Load |NUM
|
||||
+6
-3
@@ -21,12 +21,15 @@
|
||||
020|VacAct_02_Count |COUNT
|
||||
021|Lubro_01_Num |COUNT
|
||||
022|SlittaTastatore_Count |COUNT
|
||||
023|SlittaMagazzino_01_Count |COUNT
|
||||
024|ProtMagazzino_01_Count |COUNT
|
||||
023|ProtMagazzino_01_Count |COUNT
|
||||
024|ProtMagazzino_02_Count |COUNT
|
||||
025|UnOp_01_NumCambiUT |COUNT
|
||||
026|Axis_01_AccTime |COUNT
|
||||
027|Axis_02_AccTime |COUNT
|
||||
028|Axis_03_AccTime |COUNT
|
||||
029|Axis_04_AccTime |COUNT
|
||||
030|Axis_05_AccTime |COUNT
|
||||
031|Axis_06_AccTime |COUNT
|
||||
031|Axis_06_AccTime |COUNT
|
||||
032|Counter_001 |COUNT
|
||||
033|Counter_002 |COUNT
|
||||
034|Counter_003 |COUNT
|
||||
+1
-1
@@ -6,4 +6,4 @@
|
||||
004:[COD 004] - MANUTENZIONE
|
||||
005:[COD 005] - PULIZIA
|
||||
006:[COD 006] - REGOLAZIONI
|
||||
007:[COD 007] - PIPPO
|
||||
007:[COD 007] - PIPPO
|
||||
@@ -0,0 +1,94 @@
|
||||
using System;
|
||||
|
||||
namespace SCMA
|
||||
{
|
||||
|
||||
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);
|
||||
}
|
||||
}
|
||||
|
||||
}
|
||||
}
|
||||
Binary file not shown.
Binary file not shown.
Generated
+2541
File diff suppressed because it is too large
Load Diff
File diff suppressed because it is too large
Load Diff
@@ -2676,6 +2676,9 @@
|
||||
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA=
|
||||
</value>
|
||||
</data>
|
||||
<metadata name="$this.TrayHeight" type="System.Int32, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
|
||||
<value>59</value>
|
||||
</metadata>
|
||||
<data name="$this.Icon" type="System.Drawing.Icon, System.Drawing" mimetype="application/x-microsoft.net.object.bytearray.base64">
|
||||
<value>
|
||||
AAABAA0AAAAAAAEAIAA3LgAA1gAAAICAAAABACAAKAgBAA0vAACAgAAAAQAIAChMAAA1NwEAQEAAAAEA
|
||||
@@ -28,9 +28,9 @@
|
||||
<target xsi:type="File" name="f" fileName="${basedir}/logs/${shortdate}.log"
|
||||
layout="${longdate} ${uppercase:${level}} ${message}" />
|
||||
-->
|
||||
<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}"
|
||||
/>
|
||||
<!--<target xsi:type="File"
|
||||
+523
-315
File diff suppressed because it is too large
Load Diff
@@ -2,7 +2,7 @@
|
||||
using System.Runtime.InteropServices;
|
||||
using System.Windows.Forms;
|
||||
|
||||
namespace MTC_Adapter
|
||||
namespace SCMA
|
||||
{
|
||||
static class Program
|
||||
{
|
||||
+3
-4
@@ -1,14 +1,13 @@
|
||||
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("MTC_Adapter")]
|
||||
[assembly: AssemblyDescription("")]
|
||||
[assembly: AssemblyTitle("SCMA")]
|
||||
[assembly: AssemblyDescription("SCM Group Adapter")]
|
||||
[assembly: AssemblyConfiguration("")]
|
||||
[assembly: AssemblyProduct("MTC_Adapter")]
|
||||
[assembly: AssemblyProduct("SCMA")]
|
||||
[assembly: AssemblyTrademark("")]
|
||||
[assembly: AssemblyCulture("")]
|
||||
|
||||
+3
-3
@@ -8,7 +8,7 @@
|
||||
// </auto-generated>
|
||||
//------------------------------------------------------------------------------
|
||||
|
||||
namespace MTC_Adapter.Properties {
|
||||
namespace SCMA.Properties {
|
||||
using System;
|
||||
|
||||
|
||||
@@ -19,7 +19,7 @@ namespace MTC_Adapter.Properties {
|
||||
// tramite uno strumento quale ResGen o Visual Studio.
|
||||
// Per aggiungere o rimuovere un membro, modificare il file con estensione ResX ed eseguire nuovamente ResGen
|
||||
// con l'opzione /str oppure ricompilare il progetto VS.
|
||||
[global::System.CodeDom.Compiler.GeneratedCodeAttribute("System.Resources.Tools.StronglyTypedResourceBuilder", "4.0.0.0")]
|
||||
[global::System.CodeDom.Compiler.GeneratedCodeAttribute("System.Resources.Tools.StronglyTypedResourceBuilder", "15.0.0.0")]
|
||||
[global::System.Diagnostics.DebuggerNonUserCodeAttribute()]
|
||||
[global::System.Runtime.CompilerServices.CompilerGeneratedAttribute()]
|
||||
internal class Resources {
|
||||
@@ -39,7 +39,7 @@ namespace MTC_Adapter.Properties {
|
||||
internal static global::System.Resources.ResourceManager ResourceManager {
|
||||
get {
|
||||
if (object.ReferenceEquals(resourceMan, null)) {
|
||||
global::System.Resources.ResourceManager temp = new global::System.Resources.ResourceManager("MTC_Adapter.Properties.Resources", typeof(Resources).Assembly);
|
||||
global::System.Resources.ResourceManager temp = new global::System.Resources.ResourceManager("SCMA.Properties.Resources", typeof(Resources).Assembly);
|
||||
resourceMan = temp;
|
||||
}
|
||||
return resourceMan;
|
||||
+2
-2
@@ -8,11 +8,11 @@
|
||||
// </auto-generated>
|
||||
//------------------------------------------------------------------------------
|
||||
|
||||
namespace MTC_Adapter.Properties {
|
||||
namespace SCMA.Properties {
|
||||
|
||||
|
||||
[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", "15.8.0.0")]
|
||||
internal sealed partial class Settings : global::System.Configuration.ApplicationSettingsBase {
|
||||
|
||||
private static Settings defaultInstance = ((Settings)(global::System.Configuration.ApplicationSettingsBase.Synchronized(new Settings())));
|
||||
@@ -0,0 +1,47 @@
|
||||
----------------------------------------------------------------
|
||||
- SIEMENS
|
||||
----------------------------------------------------------------
|
||||
|
||||
- lettura multiValore: implementata x assi, da testare!!!
|
||||
- modificare lettura dati UT per fare un solo accesso con + ItemRead contemporanei...
|
||||
- LF: vanno accorpate letture COntatori (getMtzDataFromPlc | 536+) e Valori Analogici (getAnalogDataFromPlc | 1064+) con un unica lettura di 2 oggetti di dimensione pari a quanti valori ci sono da leggere...
|
||||
- MF: lettura valori status (getStatusDataFromPlc | 1048+) da fare insieme alle altre info con readGlobalData
|
||||
|
||||
controllare:
|
||||
- p133: numAlarms (module S)
|
||||
- p173: 3.3.2 Area N, Block SALA : Alarms: List organized according to time, oldest alarm
|
||||
appears first
|
||||
- p176: 3.3.3 Area N, Block SALAP : Alarms: List organized according to priority
|
||||
- p179: 3.3.4 Area N, Block SALAL : Alarms: Liste organized according to time, most recent
|
||||
alarm appears first
|
||||
- p182: 3.3.5 Area N, Block SMA : State data: Machine axes
|
||||
- p274: 3.4.2 Area C, Block S : Channel-specific status data (codici G)
|
||||
- p306: acToolOCorr (posizione punta utensile?)
|
||||
- p321: actToolEntryCorrLength (posiz punta UT?)
|
||||
|
||||
verifica: arrivaot a pag 352
|
||||
|
||||
variabili: verifica da pannello siemens diagnostica / variabili
|
||||
DB241.dbd0 --> CMD_ACT (p412), dove actToolBasePos =pos act, mentre cmdToolBasePos-actToolBasePos = distance to go... VERIFICARE... AA_IM
|
||||
|
||||
|
||||
|
||||
Elenco assi (16 + 2 mandrini...)
|
||||
TAB[0]="X1"
|
||||
TAB[1]="Y1"
|
||||
TAB[2]="Z1"
|
||||
TAB[3]="A1"
|
||||
TAB[4]="C1"
|
||||
TAB[5]="U1"
|
||||
TAB[6]=""
|
||||
TAB[7]=""
|
||||
TAB[8]=""
|
||||
TAB[9]="X2"
|
||||
TAB[10]="Y2"
|
||||
TAB[11]="Z2"
|
||||
TAB[12]="A2"
|
||||
TAB[13]="C2"
|
||||
TAB[14]="U2"
|
||||
TAB[15]=""
|
||||
TAB[16]="SP1"
|
||||
TAB[17]="SP2"
|
||||
@@ -0,0 +1 @@
|
||||
# Commenti con "#", elenco tipo COD_NUM|GRUPPO|LEVEL|DESCRIZIONE completa
|
||||
Some files were not shown because too many files have changed in this diff Show More
Reference in New Issue
Block a user