Ви не можете вибрати більше 25 тем Теми мають розпочинатися з літери або цифри, можуть містити дефіси (-) і не повинні перевищувати 35 символів.

98 рядки
2.7KB

  1. classdef Equipment < handle
  2. %EQUIPMENT Summary of this class goes here
  3. % Detailed explanation goes here
  4. properties (SetAccess=private)
  5. name
  6. tcp
  7. channel
  8. end
  9. methods
  10. function DMM = equipment(name,connection,channel)
  11. DMM.name = name;
  12. DMM.tcp = tcpip(connection,1234);
  13. DMM.channel = channel;
  14. end
  15. function idn(DMM)
  16. fprintf(DMM.tcp,['++addr ',num2str(DMM.channel)]);
  17. fprintf(DMM.tcp,'*idn?');
  18. fprintf(DMM.tcp,'++read');
  19. fprintf(fscanf(DMM.tcp));
  20. end
  21. function starttcp(DMM)
  22. fopen(DMM.tcp);
  23. end
  24. end
  25. methods (Static)
  26. function getTCP(ipAddress)
  27. persistent stored_ipaddress;
  28. if ~isempty(stored_ipaddress)
  29. ipaddress = stored_ipaddress;
  30. return
  31. end
  32. end
  33. end
  34. end
  35. % classdef BankAccount < handle
  36. % properties (Access = ?AccountManager)
  37. % AccountStatus = 'open'
  38. % end
  39. % properties (SetAccess = private)
  40. % AccountNumber
  41. % AccountBalance
  42. % end
  43. % properties (Transient)
  44. % AccountListener
  45. % end
  46. % events
  47. % InsufficientFunds
  48. % end
  49. % methods
  50. % function BA = BankAccount(accNum,initBal)
  51. % BA.AccountNumber = accNum;
  52. % BA.AccountBalance = initBal;
  53. % BA.AccountListener = AccountManager.addAccount(BA);
  54. % end
  55. % function deposit(BA,amt)
  56. % BA.AccountBalance = BA.AccountBalance + amt;
  57. % if BA.AccountBalance > 0
  58. % BA.AccountStatus = 'open';
  59. % end
  60. % end
  61. % function withdraw(BA,amt)
  62. % if (strcmp(BA.AccountStatus,'closed')&& BA.AccountBalance <= 0)
  63. % disp(['Account ',num2str(BA.AccountNumber),' has been closed.'])
  64. % return
  65. % end
  66. % newbal = BA.AccountBalance - amt;
  67. % BA.AccountBalance = newbal;
  68. % if newbal < 0
  69. % notify(BA,'InsufficientFunds')
  70. % end
  71. % end
  72. % function getStatement(BA)
  73. % disp('-------------------------')
  74. % disp(['Account: ',num2str(BA.AccountNumber)])
  75. % ab = sprintf('%0.2f',BA.AccountBalance);
  76. % disp(['CurrentBalance: ',ab])
  77. % disp(['Account Status: ',BA.AccountStatus])
  78. % disp('-------------------------')
  79. % end
  80. % end
  81. % methods (Static)
  82. % function obj = loadobj(s)
  83. % if isstruct(s)
  84. % accNum = s.AccountNumber;
  85. % initBal = s.AccountBalance;
  86. % obj = BankAccount(accNum,initBal);
  87. % else
  88. % obj.AccountListener = AccountManager.addAccount(s);
  89. % end
  90. % end
  91. % end
  92. % end