Автомат білетодрукарський (АБП)
Ще одна копія хабора
Автомат білетодрукарський (АБП). Деякі особливості

Моделі АБП
АБП бувають різні: чорні, білі, червоні. Жарт, але в кожному жарті є частка жарту. Моделі дійсно часто відрізняються кольором: у нас на роботі для тестів стоять синій, зелений та жовтий автомати. Були у нас ще червоні та сірі.
Вітаємо SFour-синій:

Вітаємо М3, зелений:

Розглянемо деякі пристрої трохи докладніше.

Начинка АБП моделі М2

Залізні особливості
При прочитанні даного розділу слід пам'ятати, що умови експлуатації АБП дуже важкі. На них йде сніг, на них ллє дощ, їх морозить мороз, їх б'ють камінням, ломами, ногами, руками, іноді головами.
Приймач купюр CashCode SM
CashCode SM, що використовується, - відмінний, майже безвідмовний пристрій. Треба тільки правильно встановити, щоб він не рвав і не гофрував купюри. Іноді касири вставляють його криво, або не до клацання, яке є характерною звуковою особливістю коректної установки пристрою. Встановити купюроприймач некоректно досить важко, але іноді все ж таки може пощастити і тоді купюри в кращому випадку вам просто виїжджатимуть назад. У гіршому, пристрій їх рватиме, не на шматки, звичайно, але неприємно. У не гіршому, але й не найкращому випадку, купюру ви вставите нормальну, а вийде вам «гофрована».
Приймач монет NRI-G13
З ним пов'язано багато проблем експлуатації. Не знаю, чи є на ринку пристрої, які усувають проблеми, які зазнають під час роботи з цією моделлю. Наприклад, взимку, всередину пристрою потрапляє вода та замерзає – в результаті пристрій не працює. Його легко "забити". Монетинабиваються і все, що кидають після «забиття» в нього провалюється на деяку глибину, але ПЗ їх не зараховує (оскільки датчик не повідомляє про надходження нової монети) і витягнути їх звичайному пасажиру неможливо. Цей пристрій дуже люблять шахраї, які найчастіше мешкають на вокзалах. Вони вигадують різні способи штучного «забиття» цього пристрою, наприклад, шматком паперу. Після того, як пасажири накидають туди монет, шахрай за допомогою нехитрих пристроїв типу вигнутого дроту витягує видобуток. Так виходить тому, що далеко не кожен пасажир скаржиться на втрату монети, бо він поспішає на електричку, або йому просто не хочеться чекати касира і паритися через один або п'ять рублів. Шахраїв ганяють місцеві охоронці. Про притягнення до відповідальності, до речі, жодного разу не чув. До речі, захист від опускання монети на ниточці надається самим пристроєм – він визначає таку ситуацію (зворотний хід монети) та повертає нагору відповідний код.
Диспенсер монет Cube Hopper MKII
У моделях М2 та М3 він має три канали, по одному номіналу на канал. У даній моделі канал не прив'язаний до діаметра монети, тому можна засипати в будь-який канал будь-який номінал. Відмінний, надійний пристрій. Некоректно працює зазвичай тільки коли зовсім погано: проблеми з харчуванням, здохли датчики. Найстрашніша ситуація - якщо здох датчик при видачі здачі, тоді пасажир може отримати джек-пот на суму рівну кількості монет, що видається в секунду, помноженому на час, що витрачається на кілька спроб видачі здачі. Періодично касири плутають номер каналу і налаштований номінал, закладаючи, наприклад, п'ять карбованців на канал, яким, як вважає ПЗ, повинні лежати рублеві монети. Результат очевидний. Касира,до речі, за таке б'ють по голові та зарплаті.
Диспенсер купюр LCDM
Пристрій досить надійний. Однак, іноді, купюри, що видаються, не вилітають у лоток, а застряють між диспенсером і зовнішньою стінкою АБП. Результат: ПЗ весело показує пасажиру, що здачу видано, пасажир сказується і щось починає робити: трощити, кричати, звати касирів.
Диспенсер карток CRT570\CRT530
Моделі М2 та М3 обладнуються двома такими пристроями – один налаштовується на прийом карток, інший на продаж. Вони можуть продавати як ультралайти, і звичайні транспортні карти. Як відомо, товщина у карт буває різна, тому у цих пристроїв спеціальним коліском налаштовується товщина карт, що закладаються в стекер. При неправильному налаштуванні карта ніколи не буде висунута, або буде висунуто відразу дві, замість однієї. Цей пристрій приносить багато головного болю. Зі стекера карта подається роликом, так ось, коли карт залишається мало, то ролик, починаючи крутиться, просто піднімає карти і прокручується, поки ПЗ не вичерпає тайм і не видасть пасажиру повідомлення про те, що карта продана бути не може. Для вирішення проблеми зверху потрібен невеликий вантаж, проте ніхто ніде не переймається цими проблемами – нехай пасажири мучаться. Справа цим не обмежується. Я програмував драйвер для роботи з цим дивом техніки. Пам'ятаю, як одного разу китайці їх почали постачати просто з несправною прошивкою. Пристрій має логічний стан із трьох можливих значень: приймати картку, заборонити прийом, при прийомі відразу складати у відсік бракованих карток. Так ось у цій прошивці перша ж команда зі зміни цього стану вводила пристрій у ступор і на наступні команди пристрій просто перестав відповідати. Нам довгозамовник не вірив і вважав, що наше ПЗ працює некоректно, проте все ж таки ми дійшли консенсусу, і замовник впорався з китайцями. Як точно, я не знаю. У підзаголовку вказано дві моделі. Диспенсерів моделі CRT530, дякувати Богу, є невелика кількість. Протокол комунікації той самий, але китайці у своєму репертуарі. У CRT530 команда зміни вищезгаданого стану займає аж цілих 2 секунди! Крім того, для одного і того ж положення карти в тракті, дані моделі повертають різний статус по одним і тим самим датчикам.
Фіскальний реєстратор
Цей пристрій є джерелом невеликих проблем. Він часто папір заїдає, намотує на барабан і таке інше. Хоча, за умови правильної експлуатації, все це трапляється досить рідко. Але варто забути витягувати папір у міру друкування довгого звіту і його обов'язково намотає на барабан. Цей пристрій друкує квитки, до речі. Без фіскального реєстратора АБП не може працювати. Зовсім недавно наш ЦТО (центр технічного обслуговування) розповів чудову історію (привіт, хлопці!). На одній із станцій вранці частина АБП «падають» у режим блокування (у автомата є режим продажу, блокування та сервісний режим). Причому одночасно з невеликою різницею. З'ясувалося, що в цей час встає сонце та його промені потрапляють чітко в щілинку реєстратора так, що засвічується датчик, який визначає наявність паперу. ПЗ опитує датчик, розуміє, що паперу немає і переходить у режим блокування.
Висновок
Все вищеописане пред'являє жорсткі вимоги розробки ПЗ. ПЗ має бути дуже надійно, працювати, по суті, 24 на 7. Не можна допускати витоків пам'яті, навіть мінімальних, потрібно обробляти величезну кількість збійних ситуацій. І на жаль, не всі ситуації можна вирішити уавтоматичний режим. Іноді втручання людини просто необхідне, це без урахування необхідності заміни паперу та внесення розмінного фонду.