Пример ТА4 контроллер

INT

  1. $events(true)
  2. STATUS = "GET_PAY"
  3. SENSOR = "2255777"
  4. MONITOR = "2256555"
  5. PUSHER = "2256562"
  6. all_money = 0.0
  7. PAY_MONEY = 0.0
  8. $clear_screen(MONITOR)
  9. $send_cmnd(SENSOR, "text", "Положите деньги в ячейки и \nнажмите F1 для оплаты наличными")
  10. $display(MONITOR, 1, "Status: "..STATUS)
  11. $display(MONITOR, 2, "System START...")

LOOP

  1. if event and $get_input(SENSOR) == "on" then
  2. msg_text = ""
  3. $clear_screen(MONITOR)
  4. state = $send_cmnd(SENSOR, "state")
  5. name, action = $send_cmnd(SENSOR, "action")
  6. $print("action"..": "..name.." "..action)
  7.  
  8. if action == "f1" then
  9. STATUS = "PAY"
  10. elseif action == "f2" then
  11. STATUS = "FILL"
  12. elseif action == "take" and STATUS == "PAY" then
  13. $send_cmnd(PUSHER, "off")
  14. PAY_MONEY = 0.0
  15. msg_text = "ERROR BANK"
  16. STATUS = "GET_PAY"
  17. end
  18. all_money = 0.0
  19. stacks = $send_cmnd(SENSOR, "stacks")
  20. for i,stack in stacks.next() do
  21. s_name = stack.get("name")
  22. s_count = stack.get("count")
  23. $print("stack: "..s_name.." "..s_count)
  24. if s_name == "currency:minegeld_cent_5" then
  25. all_money = all_money + (5*s_count)
  26. elseif s_name == "currency:minegeld_cent_10" then
  27. all_money = all_money + (10*s_count)
  28. elseif s_name == "currency:minegeld_cent_25" then
  29. all_money = all_money + (25*s_count)
  30. elseif s_name == "currency:minegeld" then
  31. all_money = all_money + (100*s_count)
  32. elseif s_name == "currency:minegeld" then
  33. all_money = all_money + (100*s_count)
  34. elseif s_name == "currency:minegeld_5" then
  35. all_money = all_money + (500*s_count)
  36. elseif s_name == "currency:minegeld_10" then
  37. all_money = all_money + (1000*s_count)
  38. elseif s_name == "currency:minegeld_50" then
  39. all_money = all_money + (5000*s_count)
  40. elseif s_name == "currency:minegeld_100" then
  41. all_money = all_money + (10000*s_count)
  42. else
  43. msg_text = "ERROR"
  44. end
  45. end
  46. if msg_text == "ERROR" then
  47. $send_cmnd(SENSOR, "text", "Уберите лишние предметы!")
  48. $display(MONITOR, 2, msg_text)
  49. msg_text=""
  50. elseif msg_text == "ERROR BANK" then
  51. $send_cmnd(SENSOR, "text", "Попытка ограбления, операция остановлена")
  52. $display(MONITOR, 2, msg_text)
  53. msg_text=""
  54. else
  55. $send_cmnd(SENSOR, "text", "Положите деньги в ячейки и \nнажмите F1 для оплаты наличными\nнажмите F2 для ЗАПРАВКИ\nВы положили: "..(all_money/100).." \nЗАПРАВКА НА СУММУ: "..(PAY_MONEY/100))
  56. $display(MONITOR, 2, "SUMM: "..all_money/100)
  57. end
  58. $print("")
  59. end
  60.  
  61. if STATUS == "PAY" then
  62. PAY_MONEY = PAY_MONEY + all_money
  63. all_money = 0.0
  64. $display(MONITOR, 2, "SUMM: "..all_money/100)
  65. $send_cmnd(PUSHER, "on")
  66. $send_cmnd(SENSOR, "text", "ВНИМАНИЕ, ОСУЩЕСТВЛЯЕТСЯ\nТРАНЗАКЦИЯ!!!\nНе делайте никаких операций!!!")
  67. if $send_cmnd(SENSOR, "state") == "empty" then
  68. $send_cmnd(PUSHER, "off")
  69. STATUS = "GET_PAY"
  70. $send_cmnd(SENSOR, "text", "Положите деньги в ячейки и \nнажмите F1 для оплаты наличными\nнажмите F2 для ЗАПРАВКИ\n\nЗАПРАВКА НА СУММУ: "..(PAY_MONEY/100))
  71. end
  72. end
  73.  
  74. if STATUS == "FILL" then
  75. $send_cmnd(SENSOR, "text", "ИДЕТ ЗАЛИВКА ТОПЛИВА!\nНе делайте никаких операций!!!")
  76. all_money = 0.0
  77. PAY_MONEY = 0.0
  78. STATUS = "GET_PAY"
  79. end
  80.  
  81. $display(MONITOR, 1, "Status: "..STATUS)
  82. $display(MONITOR, 5, "FILL PAYMENT "..PAY_MONEY/100)
13:05
Нет комментариев. Ваш будет первым!
Посещая этот сайт, вы соглашаетесь с тем, что мы используем файлы cookie.