Redis.cs 4.0 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149
  1. using System;
  2. using System.Collections.Generic;
  3. using System.Linq;
  4. using System.Text;
  5. using System.Threading.Tasks;
  6. using GSG.NET.Extensions;
  7. using GSG.NET.ObjectBase;
  8. using StackExchange.Redis;
  9. namespace OHVLoggerTest
  10. {
  11. public class Redis : SingletonBase<Redis>, IDisposable
  12. {
  13. ConnectionMultiplexer redisMaster = null;
  14. IDatabase database = null;
  15. private Redis()
  16. {
  17. }
  18. public void Dispose()
  19. {
  20. this.redisMaster.Dispose();
  21. }
  22. public void Init()
  23. {
  24. redisMaster = ConnectionMultiplexer.Connect( "127.0.0.1:6379" + ",allowAdmin=true,password=..." );
  25. database = redisMaster.GetDatabase();
  26. }
  27. public bool SetValue( string key, string val ) => database.StringSet( key, val );
  28. public string GetValue( string key ) => database.StringGet( key );
  29. #region GetLogData
  30. /// <summary>
  31. /// 0.1% 단위
  32. /// 100% 1.9Nm
  33. /// </summary>
  34. /// <returns></returns>
  35. public double TorqueFront()
  36. {
  37. return LoadFacterFront() * 1.9 / 100;
  38. }
  39. /// <summary>
  40. /// 0.1% 단위
  41. /// </summary>
  42. /// <returns></returns>
  43. public double TorqueRear()
  44. {
  45. return LoadFacterRear() * 1.9 / 100;
  46. }
  47. public double LoadFacterFront()
  48. {
  49. var ret = database.HashGet( "7028", "7" );
  50. return Math.Abs( CastTo<double>.From<RedisValue>( ret ) * 0.1 );
  51. }
  52. public double LoadFacterRear()
  53. {
  54. var ret = database.HashGet( "7028", "7" );
  55. return Math.Abs( CastTo<double>.From<RedisValue>( ret ) * 0.1 );
  56. }
  57. public double ActualVelocityToFrontRPM()
  58. {
  59. var ret = database.HashGet( "7026", "7" );
  60. return CastTo<double>.From<RedisValue>( ret ) * 60 * 10 / ( 2 * Math.PI ) / 0.06;
  61. }
  62. public double ActualVelocityToRearRPM()
  63. {
  64. var ret = database.HashGet( "7026", "8" );
  65. return CastTo<double>.From<RedisValue>( ret ) * 60 * 10 / ( 2 * Math.PI ) / 0.06;
  66. }
  67. public double ActualVelocityToSpeed()
  68. {
  69. var ret = database.HashGet( "4034", "7" );
  70. return CastTo<double>.From<RedisValue>( ret ) * 0.0001; //m/sec
  71. }
  72. public int CurrentBCRValue()
  73. {
  74. var ret = database.HashGet( "7121", "7" );
  75. return CastTo<int>.From<RedisValue>( ret );
  76. }
  77. public bool GetDriveMove()
  78. {
  79. var ret = database.HashGet( "3011", "7" );
  80. if ( ret == 0 )
  81. return false;
  82. else
  83. return true;
  84. }
  85. public bool ResetDriveMove()
  86. {
  87. return database.HashSet( "3011", "7", 0 );
  88. }
  89. public bool SetDriveMove()
  90. {
  91. return database.HashSet( "3011", "7", 1 );
  92. }
  93. #endregion
  94. /// <summary>
  95. /// System State
  96. /// </summary>
  97. /// <returns>0=StartUp, 1=DeviceOpened, 2=DiviceOpenFailed, 3=ManualOP, 4=AutomaticOp, 5=DeviceCloseed, 6=Finished</returns>
  98. public int GetSystemState()
  99. {
  100. var ret = database.HashGet( "111", "7" );
  101. return CastTo<int>.From<RedisValue>( ret );
  102. }
  103. public int GetMovePoint()
  104. {
  105. var ret = database.HashGet( "3033", "7" );
  106. return CastTo<int>.From<RedisValue>( ret );
  107. }
  108. public bool GetMoveStart()
  109. {
  110. return database.HashGet( "3031", "7" ).ToString().Equals( "1" ) ? true : false;
  111. }
  112. public bool ResetMoveStart()
  113. {
  114. return database.HashSet( "3031", "7", 0 );
  115. }
  116. public int CurrentPointID()
  117. {
  118. var ret = database.HashGet( "3012", "7" );
  119. return CastTo<int>.From<RedisValue>( ret );
  120. }
  121. public void SetCurrentPointID(int point)
  122. {
  123. database.HashSet( "3012", "7", point );
  124. }
  125. }
  126. }