diff --git a/ds18b20.aliases b/ds18b20.aliases new file mode 100644 index 0000000..c735085 --- /dev/null +++ b/ds18b20.aliases @@ -0,0 +1,3 @@ +[My Computer] +My Computer = "127.0.0.1" + diff --git a/ds18b20.lvlps b/ds18b20.lvlps new file mode 100644 index 0000000..dd02f3a --- /dev/null +++ b/ds18b20.lvlps @@ -0,0 +1,19 @@ +[ProjectWindow_Data] +ProjectExplorer.ClassicPosition[String] = "124,868,1361,1826" + +[AB_Cache_{C8EBF7D6-657A-4E65-AEE3-B862EABA3F7F}] +Cache_Path[Path] Line0001 = "/C/Users/z/AppData/Local/Temp/AB_Cache_{C8EBF7D6-6" +Cache_Path[Path] Line0002 = "57A-4E65-AEE3-B862EABA3F7F}.txt" + +[AB_Cache_{087EE1D5-3790-4A5C-A7A3-C86684E2BE1D}] +Cache_Path[Path] Line0001 = "/C/Users/z/AppData/Local/Temp/AB_Cache_{087EE1D5-3" +Cache_Path[Path] Line0002 = "790-4A5C-A7A3-C86684E2BE1D}.txt" + +[AB_Cache_{B7340701-DE2A-44B0-AF07-6C66FF5DCD86}] +Cache_Path[Path] Line0001 = "/C/Users/z/AppData/Local/Temp/AB_Cache_{B7340701-D" +Cache_Path[Path] Line0002 = "E2A-44B0-AF07-6C66FF5DCD86}.txt" + +[AB_Cache_{EE6280B4-6A30-4F73-8030-E414CD637626}] +Cache_Path[Path] Line0001 = "/C/Users/z/AppData/Local/Temp/AB_Cache_{EE6280B4-6" +Cache_Path[Path] Line0002 = "A30-4F73-8030-E414CD637626}.txt" + diff --git a/ds18b20.lvproj b/ds18b20.lvproj new file mode 100644 index 0000000..b41ac26 --- /dev/null +++ b/ds18b20.lvproj @@ -0,0 +1,119 @@ + + + + true + true + false + 0 + My Computer/VI Server + My Computer/VI Server + true + true + false + + + + + + + + + + + + + + + + true + {40E93CB7-FDA1-4C19-8AE3-0F2342690D29} + {D4D69FF4-7E4E-46F9-A918-DB8071436980} + 8002 + true + {B7340701-DE2A-44B0-AF07-6C66FF5DCD86} + My DLL + true + true + true + ../builds/NI_AB_PROJECTNAME/My DLL + relativeToCommon + true + {EE6280B4-6A30-4F73-8030-E414CD637626} + 1 + 1 + SharedLib.dll + ../builds/NI_AB_PROJECTNAME/My DLL/SharedLib.dll + true + App + Support Directory + ../builds/NI_AB_PROJECTNAME/My DLL/data + 2 + false + true + {D40D4CE1-A3D4-4337-A107-D7FF181A1F6A} + {6BF091CB-5B82-4A69-8232-D98FEA75C60C} + true + {6EC34403-A46C-4C4D-AA54-72C2544BDDF7} + Container + 0 + /My Computer/termDallas.vi + TopLevel + ExportedVI + 2 + My DLL + My DLL + Copyright © 2025 + My DLL + {FA36A048-F0EF-42EE-B21D-99F1B1A89CD6} + SharedLib.dll + true + + + true + {6FFBC329-834E-4724-A67C-F272BFAC2E01} + {5F4A30D2-D400-477F-A778-24EB5FDFA319} + 8002 + true + {C8EBF7D6-657A-4E65-AEE3-B862EABA3F7F} + termDallas + true + true + true + ../builds/NI_AB_PROJECTNAME/termDallas + relativeToCommon + true + {087EE1D5-3790-4A5C-A7A3-C86684E2BE1D} + 1 + 1 + Application.exe + ../builds/NI_AB_PROJECTNAME/termDallas/Application.exe + true + App + Support Directory + ../builds/NI_AB_PROJECTNAME/termDallas/data + 2 + {6EC34403-A46C-4C4D-AA54-72C2544BDDF7} + Container + 0 + /My Computer/termDallas.vi + TopLevel + VI + /My Computer/gomno.vi + Run when opened + false + Allow debugging + false + 2 + VI + 3 + termDallas + termDallas + Copyright © 2025 + termDallas + {FFC19120-369B-4C06-8250-2488CB234A4F} + Application.exe + true + + + + diff --git a/john103C6T6/Core/Src/main.c b/john103C6T6/Core/Src/main.c index c3e1522..74338bd 100644 --- a/john103C6T6/Core/Src/main.c +++ b/john103C6T6/Core/Src/main.c @@ -183,24 +183,31 @@ for ( int i=0; iRomCnt;i++) if (init) { init=0; + MB_DATA.Coils.init_param=0; + for(int i=0;iRomCnt;i++) + { + MB_DATA.HoldRegs.set_Temp[i]=21; + + } // init_all_T_sense(); - DS18B20_Search(&DS, &OW); + //DS18B20_Search(&DS, &OW); } - + init=MB_DATA.Coils.init_param; Dallas_StartConvertTAll(&hdallas,DALLAS_WAIT_BUS,0); for(int i=0;iRomCnt;i++) { Dallas_ReadTemperature(&sens[i]); - sens[i].set_temp = MB_DATA.InRegs.set_Temp[i]; + sens[i].set_temp = MB_DATA.HoldRegs.set_Temp[i]; MB_DATA.InRegs.sens_Temp[i]=sens[i].temperature*10; if (sens[i].temperatureODR|=1<<13; + MB_DATA.Coils.coils.all|=1<RomCnt;i++) if (sens[i].temperature>sens[i].set_temp+sens[i].hyst) { - GPIOC->ODR&=~(1<<13); + GPIOC->ODR&=~(1<<13); + MB_DATA.Coils.coils.all&=~(1<2 6 1 - 1 + 0 0 0 ..\Core\Src\ow_port.c @@ -389,7 +389,7 @@ 2 8 1 - 0 + 1 0 0 ..\Modbus\modbus.c diff --git a/john103C6T6/Modbus/modbus_data.h b/john103C6T6/Modbus/modbus_data.h index b952f55..d3ef42b 100644 --- a/john103C6T6/Modbus/modbus_data.h +++ b/john103C6T6/Modbus/modbus_data.h @@ -47,12 +47,13 @@ typedef struct //MB_DataInRegsTypeDef { + uint16_t sens_Temp[MAX_SENSE]; uint16_t UzptPLUS; uint16_t UzptMINUS; uint16_t UzptPLUS_MIN; - uint16_t sens_Temp[MAX_SENSE]; + - uint16_t set_Temp[MAX_SENSE]; + }MB_DataInRegsTypeDef; @@ -62,7 +63,7 @@ typedef struct //MB_DataInRegsTypeDef */ typedef struct //MB_DataInRegsTypeDef { - + uint16_t set_Temp[MAX_SENSE]; }MB_DataHoldRegsTypeDef; @@ -107,9 +108,38 @@ typedef struct //MB_DataInRegsTypeDef * @brief Коилы * @details Желательно с помощью reserved делать стркутуру кратной 16-битам */ +typedef union + { + struct { + unsigned state_val_01:1; + unsigned state_val_02:1; + unsigned state_val_03:1; + unsigned state_val_04:1; + unsigned state_val_05:1; + unsigned state_val_06:1; + unsigned state_val_07:1; + unsigned state_val_08:1; + unsigned state_val_09:1; + unsigned state_val_10:1; + unsigned state_val_11:1; + unsigned state_val_12:1; + unsigned state_val_13:1; + unsigned state_val_14:1; + unsigned state_val_15:1; + unsigned state_val_16:1; + } state_val_bit; + uint16_t all; + + + }word; typedef struct //MB_DataCoilsTypeDef { - unsigned reserved:16; + + + word coils; + unsigned init_param:1; + unsigned reserved:15; + }MB_DataCoilsTypeDef; // DEFINES FOR COIL ARRAYS diff --git a/modbus_master.vi b/modbus_master.vi new file mode 100644 index 0000000..bf731f1 Binary files /dev/null and b/modbus_master.vi differ diff --git a/termDallas.vi b/termDallas.vi new file mode 100644 index 0000000..5a15bec Binary files /dev/null and b/termDallas.vi differ