// #ifndef __PCS_NR_H
// #define __PCS_NR_H

// #include "project_var2.h"
// #include "tcp_demo.h"

// // #define ADDR_CONV_COUNT  7

// #define MODBUS_ADDRRESS_PCS_YT 0xF000 // PCS遥调首地址

// #define MODBUS_ADDRRESS_PCS_YK 0x0000 // PCS遥控首地址

// #define PCS_FRAME_COUNT 2 // 请求PCS数据帧数量

// // extern union PCS_10Frame_Tx_Union_TypeDef  PCS_10Frame_Tx_Union;
// // extern union PCS_04Frame_Tx_Union_TypeDef  PCS_04Frame_Tx_Union;

// #pragma pack(1)

// // pcs 04请求帧
// typedef struct
// {
//     u8  check1;   // 检验信息
//     u8  check2;   // 检验信息
//     u16 fix;      //
//     u8  pud_len1; //
//     u8  pud_len2; //

//     u8  addr;     //
//     u8  function; //
//     u16 register_addr;
//     u16 register_count;

// } PCS_04Frame_Tx_TypeDef;

// union PCS_04Frame_Tx_Union_TypeDef
// {
//     PCS_04Frame_Tx_TypeDef PCS04Frame; // 注意顺序,  PCS04Frame在前,  pcs_send_buff在后。 初始化赋值决定
//     u8                     pcs_send_buff[16];
// };

// // pcs 03结果帧
// typedef struct
// {
//     u8 reserve1; // 浮点数组对齐用，否则编译通过，运行进入HardFault_Handler
//     u8 reserve2;
//     u8 reserve3;
//     u8 check1; // 检验信息

//     u8  check2;   // 检验信息
//     u16 fix;      //
//     u8  pud_len1; //

//     u8 pud_len2;       //
//     u8 addr;           //
//     u8 function;       //
//     u8 pcs_data_count; //

//     u16 data[128];

// } PCS_03Frame_Result_TypeDef;

// union PCS_03Frame_Rx_Union_TypeDef
// {
//     u8                         pcs_rec_buff[256];
//     PCS_03Frame_Result_TypeDef PCS03Frame; //
// };

// //////////////////////////******************************************//////////////////////////////

// // pcs 10请求帧
// typedef struct
// {
//     u8  check1;   // 检验信息
//     u8  check2;   // 检验信息
//     u16 fix;      //
//     u8  pud_len1; //
//     u8  pud_len2; //

//     u8  addr;     //
//     u8  function; //
//     u16 register_addr;

//     u16 data; //

// } PCS_10Frame_TypeDef;

// union PCS_10Frame_Tx_Union_TypeDef
// {
//     PCS_10Frame_TypeDef PCS10Frame; //
//     u8                  pcs_send_buff[32];
// };

// #pragma pack() // 取消自定义字节对齐方式

// void CopyPCS1_DataRun(u16 register_addr, u16 count, u16 *p);
// // void CopyPCS2_DataRun(u16 register_addr, u16 count, u16 *p);

// void PCS1_ParSet_YK(u16 register_addr, u16 data);
// // void PCS2_ParSet_YK(u16 register_addr,  u16 data);
// // void PCS_ParSet_YK(u16 register_addr, u16 data, u8 stack_id);
// void PCS_DCBreaker_YK(u8 data);

// void PCS1_ParSet_YT(u16 register_addr, int16_t data);
// // void PCS2_ParSet_YT(u16 register_addr, int16_t data);

// // void PCS1_NetHandle(const u8 *p, u16 register_addr);

// void ReadPcsData(void);

// #endif
