dp_user.h
上传用户:hualang
上传日期:2022-04-11
资源大小:104k
文件大小:7k
开发平台:

C/C++

  1. ///////////////////////////////////////////////////////////////
  2. // 文 件 名 : dp_user.h
  3. // 文件功能 : vpc3用户接口部分
  4. // 作    者 : 530
  5. // 创建时间 : 
  6. // 项目名称 : Blackfin
  7. // 操作系统 : 
  8. // 备    注 :
  9. // 历史记录 : 
  10. ///////////////////////////////////////////////////////////////
  11. #ifndef DP_USER_H
  12. #define DP_USER_H  
  13. //动作状态
  14. #define SPI_ON 0x01
  15. #define SPI_OFF 0x00
  16. //报警类型
  17. #define ALARM_ACTION 0x01
  18. #define ALARM_DI          0x02
  19. #define ALARM_WAVE 0x03
  20. #define ALARM_ABNORMAL       0x04
  21. #define ALARM_SOFTSTRAP    0x05
  22. #define ALARM_HARDSTRAP    0x06
  23. #define ALARM_V0_DIAG                       0x07  //V0诊断方式
  24. //录波文件类型
  25. #define WAVE_FORAMT_FILE 0x01
  26. #define WAVE_FORAMT_SAMPLE 0x02
  27. //非周期读服务slot定义
  28. #define SlotNum_Read_BhPara 0x02
  29. #define SlotNum_Read_Energy 0x03
  30. #define SlotNum_Read_WaveConfig 0x04
  31. #define SlotNum_Read_WaveData_File_Zone0 0x05
  32. #define SlotNum_Read_WaveData_File_Zone1 0x06
  33. #define SlotNum_Read_WaveData_File_Zone2 0x07
  34. #define SlotNum_Read_WaveData_File_Zone3 0x08
  35. #define SlotNum_Read_WaveData_Sample_Zone0 0x09
  36. #define SlotNum_Read_WaveData_Sample_Zone1 0x0a
  37. #define SlotNum_Read_WaveData_Sample_Zone2 0x0b
  38. #define SlotNum_Read_WaveData_Sample_Zone3 0x0c
  39. #define SlotNum_Read_WaveData_Sample_Zone4 0x0d
  40. #define SlotNum_Read_WaveData_Sample_Zone5 0x0e
  41. #define SlotNum_Read_BhPara_Zone0 0x0f
  42. #define SlotNum_Read_BhPara_Zone1 0x10
  43. #define SlotNum_Read_BhPara_Zone2 0x11
  44. #define SlotNum_Read_BhPara_Zone3 0x12
  45. #define SlotNum_Read_BhPara_Zone4 0x13
  46. #define SlotNum_Read_BhPara_Zone5 0x14
  47. #define SlotNum_Read_DeviceInfo   0x15
  48. #define SlotNum_Read_WaveData_Comtrade_Zone0 22
  49. #define SlotNum_Read_WaveData_Comtrade_Zone1 23
  50. #define SlotNum_Read_WaveData_Comtrade_Zone2 24
  51. #define SlotNum_Read_WaveData_Comtrade_Zone3 25
  52. #define SlotNum_Read_WaveData_Comtrade_Zone4 26
  53. #define SlotNum_Read_WaveData_Comtrade_Zone5 27
  54. #define SlotNum_Read_WaveData_Comtrade_Zone6 28
  55. #define SlotNum_Read_WaveData_Comtrade_Zone7 29
  56. #define SlotNum_Read_WaveData_Comtrade_Zone8 30
  57. //EDD 扩展
  58. #define SlotNum_50 50
  59. #define SlotNum_51 51
  60. #define SlotNum_52 52
  61. #define SlotNum_53 53
  62. #define SlotNum_54 54
  63. #define SlotNum_55 55   //读写虚拟液晶
  64. #define SlotNum_50_SYSINFO      0
  65. #define SlotNum_50_DEVMODEL  1
  66. #define SlotNum_50_SYSCFG      2
  67. #define SlotNum_50_PROTSETTING  3
  68. #define SlotNum_50_DICFG      4
  69. #define SlotNum_50_DOCFG      5
  70. #define SlotNum_50_PW         6
  71. #define SlotNum_50_CTRLOBJ            7
  72. #define SlotNum_50_SOFTSTRAP         8
  73. #define SlotNum_50_SIGNALRESET         9
  74. #define SlotNum_50_STARTWAVE         10
  75. #define SlotNum_50_LANGUAGE         11
  76. //增加用户开入常开常闭
  77. #define SlotNum_50_DI_NONC      20
  78. #define SlotNum_51_MEASFOLDER0   0   
  79. #define SlotNum_51_MEASFOLDER1   1
  80. #define SlotNum_51_MEASFOLDER2   2
  81. #define SlotNum_51_MEAS_COMMUSEND_BARVAL      10 //通讯上送的测量值, 棒图显示实际值
  82. #define SlotNum_51_MEAS_COMMUSEND_TRENDVIEW   11 //通讯上送的测量值, 趋势图显示实际值
  83. #define SlotNum_52_DBGDATA_FOLDER0   0   
  84. #define SlotNum_52_DBGDATA_FOLDER1   1
  85. #define SlotNum_52_DBGDATA_FOLDER2   2
  86. #define SlotNum_53_DI             0 
  87. #define SlotNum_53_DO             1
  88. #define SlotNum_53_PT             2
  89. #define SlotNum_53_SOFTSTRAP      3     
  90. #define SlotNum_53_ABNLSIG        4     
  91. #define SlotNum_53_ACTSIG         5 
  92. #define SlotNum_53_ENERGY         6 
  93. #define SlotNum_53_STAT         7 
  94. #define SlotNum_53_PBSTAT         8
  95. //非周期写服务slot定义
  96. #define SlotNum_Write_BhPara 0x02
  97. #define SlotNum_Write_StartWave 0x03
  98. #define SlotNum_Write_ModifyTime 0x04
  99. #define SlotNum_Write_CtrlSelect 0x05
  100. #define SlotNum_Write_CtrlExecute 0x06
  101. #define SlotNum_Write_ResetSignal 0x07 
  102. #define SlotNum_Write_BhPara_Zone0 0x08
  103. #define SlotNum_Write_BhPara_Zone1 0x09
  104. #define SlotNum_Write_BhPara_Zone2 0x0A
  105. #define SlotNum_Write_BhPara_Zone3 0x0B
  106. #define SlotNum_Write_BhPara_Zone4 0x0C
  107. #define SlotNum_Write_BhPara_Zone5 0x0D
  108. #define SlotNum_Write_CtrlCancel            0x0E
  109. //error-code2定义
  110. #define ErrCode2_Read_BhPara 0x01
  111. #define ErrCode2_Read_Energy 0x02
  112. #define ErrCode2_Read_WaveConfig 0x03
  113. #define ErrCode2_Read_WaveData 0x04
  114. #define ErrCode2_Write_BhPara 0x05
  115. #define ErrCode2_Write_StartWave 0x06
  116. #define ErrCode2_Write_SETTIME    0x07
  117. #define ErrCode2_Write_SIGNALRESET  0x08
  118. //遥控控制结果
  119. #define ErrCode2_Write_Control    0x10
  120. #define ErrCode2_Write_DICFG              0x11
  121. #define ErrCode2_Write_DOCFG             0x12
  122. #define ErrCode2_Write_DINONCCFG          0x13
  123. #define MAX_DPV1_DU_COUNT                   240
  124. /************************************************************************/
  125. /* 导出给其他文件用相关函数                                             */
  126. /************************************************************************/
  127. void   ResetVPC3(uint8 dev_num);
  128. bool16 InitVPC3(int dev_num, uint8 nAddr);
  129. void   user_main(int dev_num);
  130. int GetProfibusBaudRate(int dev_num);
  131. bool16 IsInDPV1Status(uint8 nDevID);
  132. int GetProfibusMasterAddr(int dev_num);
  133. int GetProfibusDPState(int dev_num);
  134. int GetProfibusPrmCount(int dev_num);
  135. int GetProfibusCheckCfgCount(int dev_num);
  136. void application_ready(uint8 dev_num);
  137. //void ClockSyncProcInADInt(uint8 dev_num);
  138. /************************************************************************/
  139. /* 导出给VPC3用户状态机使用的相关函数                                   */
  140. /************************************************************************/
  141. uint8* GetInputBuffer(uint8 nDevID, uint8* pUserLen);
  142. void   SetOutputBuffer(uint8 nDevID, uint8* pDxOutputData, uint8 nOutputLen);
  143. uint8* GetRealCfgBuffer(uint8 nDevID, uint8* pCfgLen);
  144. bool16 SetPrmBuffer(uint8 nDevID, uint8* pUserPrmData, uint8 nPrmLen);
  145. int DPV1_ReadReq(uint8 nDevID, uint8 nSlot, uint8 nIndex, uint8 nReadLen, uint8** pDataRet, uint8* pLenAssemb,  uint8* nErrCode1, uint8* nErrCode2);
  146. int DPV1_WriteReq(uint8 nDevID, uint8 nSlot, uint8 nIndex, uint8 nWriteLen, uint8* pDataWrite, uint8* nErrCode1, uint8* nErrCode2);
  147. void ReceiveProcess(uint8 nDevID, int nLength);
  148. void SendProcess(uint8 nDevID, int nLength);
  149. void AlarmProcess(uint8 nDevID);
  150. void AlarmACK(uint8 nDevID);
  151. void DoEventInDxState(uint8 nDevID);
  152. void SetDataExchangeLED(uint8 bOn);
  153. int xmemcmp(void* pSrc, void* pDest, int nLen);
  154. // uint8 AssembActionSOE(uint8 nDevID, const TSOE_ACTION_STRUCT * pActSOE,uint8* pDataRet);
  155. // uint8 AssembDISOE(uint8 nDevID, const TSOE_DIEVENT_STRUCT * pActSOE,uint8* pDataRet);
  156. // uint8 AssembAbnormalSOE(uint8 nDevID, const TSOE_ABNORMAL_STRUCT * pActSOE,uint8* pDataRet);
  157. // uint8 AssembWaveExSOE(uint8 nDevID, const TSOE_EX_WAVE_FILE_STRUCT * pWaveSOE,uint8* pDataRet);
  158. uint8 SendUserDiagnostic(uint8 dev_num, uint8 nDiagType, const void * pDiagData, uint8 bAlarm);
  159. void QuitAlarm(uint8 dev_num);
  160. void EDD_C2_InitiateReq(uint8 nDevID);
  161. void EDD_C2_AbortInd(uint8 nDevID);
  162. //请求设置子站地址
  163. void SetSlaveAddressReq(int nAddress);
  164. #endif