comit_job ver new modbus
This commit is contained in:
@@ -40,7 +40,7 @@
|
||||
|
||||
#include "def.h"
|
||||
#include <stdio.h>
|
||||
#include "rs_message.h"
|
||||
#include "modbus.h"
|
||||
#include "eeprom_emul.h"
|
||||
#include "stdio.h"
|
||||
|
||||
@@ -68,7 +68,7 @@ uint8_t ralay_5v_on_var=0;
|
||||
/* Private macro -------------------------------------------------------------*/
|
||||
/* USER CODE BEGIN PM */
|
||||
float temperature;
|
||||
extern uint8_t roms[MAX_DEVICES][8];
|
||||
uint8_t roms[MAX_DEVICES][8];
|
||||
Flags_TypeDef flag;
|
||||
//extern uint8_t devices_found ;
|
||||
uint8_t _debug_init=0;
|
||||
@@ -143,9 +143,13 @@ int main(void)
|
||||
/* USER CODE BEGIN 2 */
|
||||
|
||||
led_blink(GPIOC,13,rest_iter,reset_blink_delay);
|
||||
MODBUS_FirstInit();
|
||||
MODBUS_FirstInit(&hmodbus1, &mb_huart, &mb_htim);
|
||||
MODBUS_Config(&hmodbus1, MODBUS_DEVICE_ID, MODBUS_TIMEOUT, MODBUS_MODE_SLAVE);
|
||||
|
||||
// Запуск приема Modbus
|
||||
MODBUS_SlaveStart(&hmodbus1, NULL);
|
||||
uint8_t uart_byte = 0;
|
||||
RS_Receive_IT(&hmodbus1, &MODBUS_MSG);
|
||||
|
||||
Dallas_BusFirstInit(&htim1);
|
||||
// <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
||||
// <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> (<28><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>)
|
||||
@@ -162,7 +166,7 @@ int main(void)
|
||||
|
||||
|
||||
|
||||
if( hmodbus1.pMessagePtr->Func_Code&ERR_VALUES_START)
|
||||
if( hmodbus1.pMessagePtr->FuncCode&FC_ERR_VALUES_START)
|
||||
{
|
||||
static int pause_Alarm_led;
|
||||
while (1)
|
||||
@@ -221,32 +225,8 @@ int main(void)
|
||||
{
|
||||
GPIOA->ODR&=~(1<<10);
|
||||
}
|
||||
|
||||
//// if (sens[i].temperature<sens[i].set_temp-sens[i].hyst)
|
||||
////
|
||||
//// {
|
||||
////
|
||||
//// MB_DATA.Coils.coils[0].all|=1<<i;
|
||||
////
|
||||
//// }
|
||||
////
|
||||
//// else
|
||||
////
|
||||
//// if (sens[i].temperature>sens[i].set_temp+sens[i].hyst)
|
||||
//// {
|
||||
////
|
||||
//// MB_DATA.Coils.coils[0].all&=~(1<<i);
|
||||
////
|
||||
//// }
|
||||
//// if(GPIOB11_valve)
|
||||
//// {
|
||||
//// GPIOB->ODR|=1<<11;
|
||||
//// }
|
||||
//// else
|
||||
//// {
|
||||
//// GPIOB->ODR&=~(1<<11);
|
||||
////
|
||||
//// }
|
||||
value_control();
|
||||
|
||||
}
|
||||
|
||||
|
||||
@@ -435,39 +415,74 @@ FuncStat Field_modbus(MB_DataStructureTypeDef* MB_DATA, Flags_TypeDef* flag)
|
||||
};
|
||||
|
||||
|
||||
FuncStat value_control(void )
|
||||
{
|
||||
|
||||
for(int i=0;i<10;i++)
|
||||
{
|
||||
if (sens[i].temperature<sens[i].set_temp-sens[i].hyst)
|
||||
|
||||
{
|
||||
|
||||
MB_DATA.Coils.coils[0].all|=1<<i;
|
||||
|
||||
}
|
||||
|
||||
else
|
||||
|
||||
if (sens[i].temperature>sens[i].set_temp+sens[i].hyst)
|
||||
{
|
||||
|
||||
MB_DATA.Coils.coils[0].all&=~(1<<i);
|
||||
|
||||
}
|
||||
if(GPIOB11_valve)
|
||||
{
|
||||
GPIOB->ODR|=1<<11;
|
||||
}
|
||||
else
|
||||
{
|
||||
GPIOB->ODR&=~(1<<11);
|
||||
|
||||
}
|
||||
|
||||
|
||||
}
|
||||
return FuncOK;
|
||||
}
|
||||
|
||||
|
||||
uint16_t handle_valves(TEMP_TypeDef* temp_sense[MAX_SENSE] )
|
||||
{
|
||||
|
||||
if (temp_sense[0]->state==STATE_OPEN_VALVE)
|
||||
{
|
||||
GPIOC->ODR|=1<<14;
|
||||
}
|
||||
else
|
||||
if (temp_sense[0]->state==STATE_CLOSE_VALVE)
|
||||
{
|
||||
GPIOC->ODR&=~(1<<14);
|
||||
}
|
||||
|
||||
return 1;
|
||||
|
||||
}
|
||||
|
||||
//uint16_t handle_valves(TEMP_TypeDef* tmp_sense )
|
||||
//{
|
||||
//
|
||||
// if (temp_sense[0].state==STATE_OPEN_VALVE)
|
||||
// {
|
||||
// GPIOC->ODR|=1<<14;
|
||||
// }
|
||||
// else
|
||||
// if (temp_sense[0].state==STATE_CLOSE_VALVE)
|
||||
// {
|
||||
// GPIOC->ODR&=~(1<<14);
|
||||
// }
|
||||
//
|
||||
// return 1;
|
||||
//
|
||||
//}
|
||||
|
||||
//void init_setpoint _all_T_sense(void)
|
||||
//{
|
||||
// //ds_search_devices();
|
||||
// for(int i=0;i<hdallas.onewire->RomCnt;i++)
|
||||
//{
|
||||
// temp_sense[i].id[0]=roms[i][0]<<0|roms[i][1]<<8|roms[i][2]<<16|roms[i][3]<<24;
|
||||
// temp_sense[i].id[1]=roms[i][4]<<0|roms[i][5]<<8|roms[i][6]<<16|roms[i][7]<<24;
|
||||
// temp_sense[i].count =i+1;
|
||||
// temp_sense[i].location=1;
|
||||
// temp_sense[i].t_open=22;
|
||||
// temp_sense[i].t_close=18;
|
||||
// temp_sense[i].status_T_sense=1;
|
||||
//}
|
||||
//}
|
||||
void init_setpoint_all_T_sense(TEMP_TypeDef* temp_sense[MAX_SENSE])
|
||||
{
|
||||
//ds_search_devices();
|
||||
for(int i=0;i<hdallas.onewire->RomCnt;i++)
|
||||
{
|
||||
temp_sense[i]->id[0]=roms[i][0]<<0|roms[i][1]<<8|roms[i][2]<<16|roms[i][3]<<24;
|
||||
temp_sense[i]->id[1]=roms[i][4]<<0|roms[i][5]<<8|roms[i][6]<<16|roms[i][7]<<24;
|
||||
temp_sense[i]->count =i+1;
|
||||
temp_sense[i]->location=1;
|
||||
temp_sense[i]->t_open=22;
|
||||
temp_sense[i]->t_close=18;
|
||||
temp_sense[i]->status_T_sense=1;
|
||||
}
|
||||
}
|
||||
/* USER CODE END 4 */
|
||||
|
||||
/**
|
||||
|
||||
Reference in New Issue
Block a user