⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 关于ttu软件.txt

📁 此源代码为电力系统中的RTU终端反馈!具有GPRS通讯功能!
💻 TXT
字号:

2005.6.17  发现电度量保存有错,修改。

2005.11.5   淮南现场发现 在文件通讯,没有相关数据, 数据总重发
   修改  : 通讯  在远程 reset 中 增加  对多桢的操作, 

   见 //05-11-5      

   修改文件:
   
  2005.11.16  修改, 增加版本号   目前版本为100既1。00
  
  使用控制参数1位控制TTU发送分桢间隔
  控制参数  :
       b7:   1:清当天数据
       b6:   1:清所有数据数据  
       
       b2:   :  1 通讯转发    0:不转发  
       b1:   :  1发送空隙可变    0:发送空隙固定
       b0:   :  1有遥脉   0:无遥脉      
        
  2005.11.20   发现程序改后电度量有问题。 考虑flash  寿命,电量保存: 该位 每小时保存,和停电保存。电量单位用0。01度为单位。
  
 改进思路: 不能保存停电记录之原因:为当停电时,已不能进入捕获中断,如在捕获下,则不进行采集,故采样已不正确。
 
 加快处理速度
 
 2005.12.4  改进正确。
 2005.12.12   个别FTU不能保存, 问题表现: 在保存前,电压不变。解决思路:在监测到
 //脉冲的个数和测频的时间 的相关内容已不需要。 
  extern int PulseCounter;                 //脉冲的个数
  extern int PulseTime;                    //脉冲的记数时间
 
 
  2005.12.23  
  修改历史数据保存。
  
  
  2006年 5月 16日
  
  版本改为1。1 
  
  修改内容: 现场运行出现有通讯正常,但程序采集数据不变化。怀疑
  解决方法: 使用: 如出现电压完全不变化,不再喂狗,重启动。
修改地方:  
  增加变量: 
   Uaold=-1; 
   numconst=30;  
  在秒变化中: 
   if(Uaold == BD_data.Ua + BD_data.Ub + BD_data.Uc) 
   {
   if(numconst) numconst--;   
   }
   else 
   {
   Uaold=Uaold == BD_data.Ua + BD_data.Ub + BD_data.Uc;
   numconst=30;
   }
   
  clr_watchdog()
  {
  if(!numconst) return ;
   .....
  }

    
  
  修改内容: 保存历史数据 每15分钟保存一条
  
  修改文件:
  
   if(DeviceState.Minutef0==1)
  {
   分时间为 0 : 15: 30: 45: 加保存标志
  
  } 
   
  Get1024Page
  
  GetAddrInPage 
  
  SaveHisData
  
  ReadHisData
    
  EncodeHistData
  
  
  修改内容: 保存历史数据 每15分钟保存一条
  
  修改文件:  
 if(DeviceState.Minutef0==1)
  {
   分时间为 0 : 15: 30: 45: 加保存标志  
  }    
  Get1024Page  
  GetAddrInPage   
  SaveHisData  
  ReadHisData    
  EncodeHistData


2006年 6月28日:
修改版本 111; 
问题:
1: 现场发现历史数据存储有15分钟丢数据问题。
2: 运行时间不能到1440分钟。

1。在void RefreshTimer(void)中存储标志DeviceState.doSaveHisdata置1,
在主循环中
   if(DeviceState.doSaveHisdata)   
   {
      DeviceState.doSaveHisdata = 0;
      SavePower();
      SaveHisData();
   } 
 
2。在void RefreshTimer(void)中添加使
   if((stDateTime.hour ==23 )&& (stDateTime.minute == 59)  && (stDateTime.second == 59)  ) 
   {
       ptr_1024=Get1024Page(stDateTime,1); //保存统计数据时间到 
       if(RunState.nAOffNums == 0 && RunState.ARunTime > 1435)RunState.ARunTime = 1440;
       if(RunState.nBOffNums == 0 && RunState.BRunTime > 1435)RunState.BRunTime = 1440;
       if(RunState.nCOffNums == 0 && RunState.CRunTime > 1435)RunState.CRunTime = 1440;
       if(RunState.nSOffNums == 0 && RunState.SRunTime > 1435)RunState.SRunTime = 1440;
       WriteStaticsData(0xff);  
   }
  
2006年 7月18日:
修改版本 112; 
修改内容:

1。485通讯控制信号置反
Init.h中改为
#define   CS485ReceiveEnable   P2OUT |= BIT6     //485接收使能
#define   CS485TransmitEnable  P2OUT &= ~BIT6       //485发送使能

2。加入软件看门狗
Init.c 中添加clr_Syswtdog(),并在硬件喂狗时软件喂狗。

3。主循环加入数据不变判断
将原有数据不变判断由秒处理内改到主循环中,并将记数值改为unsigned int型,记数赋值为60000。

4。中断陷阱
在所有没有打开的中断服务程序中添加死循环。


2006年 8月9日:
修改版本 113;
修改内容: 保存历史数据,分三种存储模式
             1.控制参数TTU_RunParam.nIntervalOfSave为15时,每15分钟保存一条
             2.控制参数TTU_RunParam.nIntervalOfSave为30时,每30分钟保存一条
             3.控制参数TTU_RunParam.nIntervalOfSave为其他值时,每1小时保存一条
修改文件:           
  main.c文件中
  void main(void)
  {  
    ....
    switch(TTU_RunParam.nIntervalOfSave)
    {
    case 15:  HisCate = 1;break;
    case 30:  HisCate = 2;break;
    default:  HisCate = 4;break;
    }
    ....
  } 
  
  CommPulic.c文件中
  void RefreshTimer(void)
  {
    ....
    if((stDateTime.minute%(15*HisCate))==0)
    {
      DeviceState.doSaveHisdata = 1;
    }
    ....
  }
  DeviceState.doSaveHisdata置1在主循环中执行存储

  1024.c文件中
  Get1024Page       按保存7、15、31天每天分别保存48、24、12页寻找天首页地址,并将统计数据的首地址改为373
  GetAddrInPage     再分别按每15分钟、每30分钟、每一个小时时间寻找精确的页地址和页内地址。

  EncodeHistData    在数据打包中将每个文件名(日+ 时)后的存储点名 * HisCate + 128,
                    并相应的改
                    if((SpecialFlag.FileTxFlag==1)  && (CommState.TxWait==0))
                    {
                       .... 
                       if(SpecialFlag.nSGCount >= (32/HisCate-1))
                    }
                    
 2006年12月4日
 修改版本:114
 
 硬件修改基本时钟使用8563时钟输入,软件去除起振判断,将基本时钟关闭低频模式。
 

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -