电机控制项目
Nevar pievienot vairāk kā 25 tēmas Tēmai ir jāsākas ar burtu vai ciparu, tā var saturēt domu zīmes ('-') un var būt līdz 35 simboliem gara.
 
 
 

133 rindas
3.5 KiB

  1. /******************************base.cpp文件说明**********************************
  2. * Descript :源文件,包含项目所需要使用的Xnet函数的实现
  3. * Author :caitiancheng
  4. * Date :2021_12_19
  5. *******************************************************************************/
  6. /******************************************头文件***********************************************/
  7. #include "base.h"
  8. /****************************ConStatus函数*********************************
  9. Function :读从站连接状态
  10. Output :从站连接状态
  11. *********************************************************************/
  12. bool Base::ConStatus()
  13. {
  14. bool Ok=true;
  15. short Res;
  16. Read_Short(XNet_SD,8020,1,&Res);
  17. if(Res==1)
  18. {
  19. Ok=true;
  20. }else
  21. {
  22. Ok=false;
  23. }
  24. return Ok;
  25. }
  26. /****************************SalveStatus函数*********************************
  27. Function :读从站状态
  28. Output :返回读出的值
  29. *********************************************************************/
  30. int Base::SalveStatus()
  31. {
  32. short Res;
  33. Read_Short(XNet_SD,8021,1,&Res);
  34. return Res;
  35. }
  36. /****************************WriteMBool函数*********************************
  37. Function :写M寄存器的值
  38. Output :
  39. *********************************************************************/
  40. void Base::WriteMBool(int start,bool ok)
  41. {
  42. Write_Bool(XNet_M,start,1,ok);
  43. }
  44. /****************************WriteDShort函数*********************************
  45. Function :写D寄存器short型(单字)的值
  46. Output :
  47. *********************************************************************/
  48. void Base::WriteDShort(int start,short value)
  49. {
  50. Write_Short(XNet_D,start,1,value);
  51. }
  52. /****************************WriteDInt函数*********************************
  53. Function :写D寄存器int型(双字)的值
  54. Output :
  55. *********************************************************************/
  56. void Base::WriteDInt(int start,int value)
  57. {
  58. Write_Int(XNet_D,start,2,value);
  59. }
  60. /****************************WriteSDShort函数*********************************
  61. Function :写SD寄存器short型的值
  62. Output :
  63. *********************************************************************/
  64. void Base::WriteSDShort(int start,int value)
  65. {
  66. Write_Short(XNet_SD,start,2,value);
  67. }
  68. /****************************WriteSFDInt函数*********************************
  69. Function :写SFD寄存器int型的值
  70. Output :
  71. *********************************************************************/
  72. void Base::WriteSFDInt(int start,int value)
  73. {
  74. Write_Int(XNet_SFD,start,2,value);
  75. }
  76. /****************************ReadSFDInt函数*********************************
  77. Function :读SFD寄存器int型的值
  78. Output :返回读出的值
  79. *********************************************************************/
  80. int Base::ReadSFDInt(int Addr)
  81. {
  82. int ResValue;
  83. Read_Int(XNet_SFD,Addr,2,&ResValue);
  84. return ResValue;
  85. }
  86. /****************************ReadSMBool函数*********************************
  87. Function :读SM寄存器的值
  88. Output :返回读出的值
  89. *********************************************************************/
  90. bool Base::ReadSMBool(int Addr)
  91. {
  92. bool ResValue;
  93. Read_Bool(XNet_SM,Addr,1,&ResValue);
  94. return ResValue;
  95. }
  96. /****************************ReadSDShort函数*********************************
  97. Function :读SD寄存器的值
  98. Output :返回读出的值
  99. *********************************************************************/
  100. short Base::ReadSDShort(int Addr)
  101. {
  102. short ResValue;
  103. Read_Short(XNet_SD,Addr,1,&ResValue);
  104. return ResValue;
  105. }