Здравствуйте, я новичок на форуме.
У меня такая проблема, достал библиотеку работы СПК110М01 с ККТ.
Сам программирую в CFC, но не могу понять как с этим блоком работать. Не хватает навыков.
Кто-то может помочь?
Здравствуйте, я новичок на форуме.
У меня такая проблема, достал библиотеку работы СПК110М01 с ККТ.
Сам программирую в CFC, но не могу понять как с этим блоком работать. Не хватает навыков.
Кто-то может помочь?
pay.jpg
Есть такая библиотека, к ней описание, в нем разобраться не могу, как сформировать команду st_DataToSend
и команду st_SelCommand
допустим как сумму сформировать и дать команду на печать с фискализацией
с двумя верхними проблемы нет)))
Назначение библиотеки
Библиотека предназначена для поддержки работы ККТ PayOnline-01FA совместно с
ПЛК под управлением Codesys 3.5. Библиотека реализует порядок информационного
взаимодействия нижнего уровня, рекомендуемый производителем ККТ.
Порядок работы с библиотекой
В информационном взаимодействии «ПЛК – ККТ» ПЛК является главным
устройством, а ККТ – подчиненным. Физический интерфейс «ПЛК – ККТ» –
последовательный интерфейс RS-232С, без линий аппаратного квитирования, параметры
интерфейса заданы следующими значениями – скорость обмена – 115200, длина слова
данных – 8бит, контроль четности – отсутствует, количество стоп-бит – 1.
В состав библиотеки входит функциональный блок (далее ФБ) «PayOnline», данный
ФБ предназначен для взаимодействия с ККТ PayOnline-01FA через последовательный
интерфейс RS232 ПЛК. Работа с ФБ сводится к выбору одной из поддерживаемых команд
и подачи управляющего сигнала к выполнению. Выбор команды осуществляется
присвоением её номера элементу структуры ФБ «st_SelCommand.usi_CommandToSend»,
управляющий сигнал к выполнению – изменение состояния входа «x_Execute» в TRUE. Для
выполнения ряда команд требуются дополнительные данные, эти данные должны быть
заданы до выполнения команды путем присвоения значений соответствующим элементам
структуры «st_SelCommand. данные команды» (см. Таблица 2). В результате успешной
работы, ФБ возвращает ответ ККТ на выполненную команду, данные ответа содержат
элементы структуры «st_ResponseData».
Помимо поддержки определённого набора команд, ФБ предоставляет возможность
выполнения не поддержанных библиотекой команд ККТ. Для выполнения таких команд
необходимо подготовить команду (см. описание протокола ККТ), заполнить данными
команды элемент структуры «st_DataToSend.a_usi_Data», определить размер команды в
байтах и присвоить данное значение элементу структуры «st_DataToSend.usi_Count», после
чего дать команду ФБ к выполнению.
Перечень поддерживаемых команд:
Таблица 1 – Перечень поддерживаемых команд
Команды ККТ Наименование команды Номер команды в ФБ
E0h Открытие смены 1
41h Суточный отчет с гашением 2
80h Продажа 3
85h Закрытие чека 4
88h Отмена чека 5
B0h Продолжение печати 6
8Ch Повтор последнего
документа
7
1Eh Запись таблицы 8
10h Короткий запрос состояния 10
Описание модели поведения ФБ
Выполнение команды начинается по переднему фронту сигнала на входе «x_Execute»;
Занятость блока отражает флаг x_Busy;
Нет возможности прерывания выполнения до окончания работы ФБ;
Нет ограничения по времени цикла;
Нет ограничения по времени выполнения;
Результатом работы блока является поднятие флага x_Done в случае успеха выполнения, x_Error – в случае ошибки взаимодействия на нижнем уровне. Наличие ошибки в ответе ККТ на выполненную команду не является условием поднятия флага x_Error и обрабатывается верхним уровнем
Выходные данные ФБ доступны в случае активного управляющего сигнала к выполнению, рекомендуется до окончания работы ФБ сохранять состояние входа «x_Execute» в TRUE.
st_DataToSend - видимо структура, откройте и посмотрите.
Так же и st_SelCommand.
Но по скринам разбираться - то еще удовольствие.
Ковырять библиотеку нужно.
Я с Атолом работаю, как в PayOnline - не знаю.
ЗЫ
Судя по описанию - ничего сложного.
Запрашиваем статус.
Если смена закрыта - открываем смену.
Ждем выполнения --> Продажа --> Ждем выполнения --> Закрыть чек --> Ждем выполнения.
Но на CFC это будет громоздко и некрасиво, ИМХО.
Последний раз редактировалось приборист; 22.07.2019 в 11:16.
Вопрос долгий не подскажете? Я могу тимвивер включить
Могу что надо включить, вопрос в неотложке, в отпуск не отпускают...
Вопрос - как пойдет
Обычно думаешь - 10 минут работы, а возишься 2 дня.
А кассы дело такое - то настройки не те, то ошибки другие, то протокол не тот.
Вопрос со связью проблема муторная, знаю, а вот данные в струткурированный код поставить для специалиста не составит проблемы,а мне один раз показать и хватит
В личку же писал Вам. Вы не отвечаете.