Внешняя компонента для работы с весами Massa-K (технология NativeAPI) из 1С

Внешняя компонента создавалась для работы с терминалами типа А и RA, вполне вероятно, будет работать и с другими терминалами масса-К.
Получает показания весов в любой момент времени, также можно подключить выдачу внешнего события при окончании взвешивания (при звуковом сигнале весов).

Подключение весов:

ПодключитьВнешнююКомпоненту(ПутьКФайлам+"MassaKNativeAPI.dll", "MassaKNativeAPI", AddInType.Native);
Весы = Новый("AddIn.MassaKNativeAPI.ExecExtention");
Весы.НомерПорта =ВесыПорт; //тип: число; "1" соответсвует СОМ1
Весы.СкоростьПорта = ВесыСкоростьПередачи; //тип: число; как правило 4800
Весы.Четность = ВесыЧетность; //тип: число; "1" или "2"
Весы.СтоповыеБиты = ВесыСтоповыеБиты; //тип: число; как правило "0"
Весы.ЗадержкаПроверкиПорта = ЗадержкаПроверкиПорта; //тип: число; период проверки порта на окончание взвешивания и выдачи сообщения во внешнее событие
Весы.ОткрытьПорт();

Получение веса в любой момент времени:

ТекВесСтр  =  Весы.ПолучитьВес() //тип: строка

Организация выдачи результата во внешнее событие:

Весы.ЗапуститьСообытиеВеса();

Весы.ОстановитьСообытиеВеса();

Процедура ВнешнееСобытие(Источник, Событие, Данные)
Если Событие =  "ПолученВес" Тогда

ТекВесСтр = СтрЗаменить(Данные,",","."); //тип: строка

КонецЕсли;
КонецПроцедуры

 

13 Comments

  1. MSK_Step

    К Massa-K подходили стандартные дрова, сейчас непомню какие, но я делал на основание ее обработку для розницы 2.0.

    Reply
  2. Kant1975

    Стандартные подходят, но не всегда удобно с ними работать, подробно я со стандартными не разбирался, но нужного мне режима работы драйверов не нашел. Я писал под задачу где важна скорость и точность выдачи результата при окончании взвешивания, для чекования продукции, функционал аппаратов bizerba, где каждая доля секунды дорога. 1C-ка может работать с обработчиком ожидания не менее 1сек, а здесь выдача результата веса при окончании взвешивания, т.е. дрова сами анализируют положили на платформу новый кусок или еще не убрали старый.

    Reply
  3. Tatitutu

    Massa-K МК-15.2-ТН21 — не взлетело с этой dll

    у них она в оригинале почти 18 мб весит (с ней работает)

    Reply
  4. Kant1975

    Странно что не взлетело, протоколы и команды идентичны, параметры порта сходные.

    Юрий может быть на весах не выставлен протокол обмена №2?

    Оригинальные дрова на протоколе «1С» обычно заводятся.

    Reply
  5. Геннадьевич

    (3) У меня тоже не работает с Massa-K МК-15.2-А11, можно ссылку на библиотеку?

    Есть пример работающий?

    Вес всегда = 0.

    Reply
  6. Kant1975

    (5) Геннадий протокол на весах №2 выставлен? И каким методом пользуетесь ПолучитьВес() или через ВнешнееСобытие?

    Reply
  7. Kant1975

    При использовании ВнешнегоСобытия параметр ЗадержкаПроверкиПорта указывается милисекундах, я обычно ставил от 100 до 500, т.е. от 0,1 сек до 0,5сек

    Reply
  8. Геннадьевич

    Протокол стоял не тот. ВнешнееСобытие работает, а ПолучитьВес() нет.

    Reply
  9. Kant1975

    (8) При запущенной функции ЗапуститьСообытиеВеса() не работает ПолучитьВес(), т.к. событие очень плотно опрашивает весы и разовое получитьВес может просто подвесить контроллер весов. Необходимо или не запускать событие или выполнить функцию ОстановитьСообытиеВеса().

    Reply
  10. IamGikk

    А будет ли работать в 8.1?

    Reply
  11. Kant1975

    (10) NativeAPI появилась в версиях 8.2, в 8.1 использовалась СОМ технология. Я отрабатывал компоненту на 8.3, о 8.1 даже и не думал 🙂

    Reply
  12. IamGikk

    (11) Жаль. Имеем очень кастомизированную конфу на 8.1 и зоопарк массакашных весов. Штатная библиотека из состава драйверов масса-к не дает задавать скорость порта и соответственно не работает с некоторыми видами весов 🙁

    Reply
  13. Kant1975

    (12) как вариант поставьте платформу 8.3 или 8.2 в режим совместимости с 8.1 или могу предложить компоненту с COM технологией. Она работает без функций внешнего события но в остальном она схожа с выложенной, можно задавать и параметры порта и получать при запросе состояние значения весов. Если интересно пишите a-kulyashov@1key.spb.ru договоримся 🙂

    Reply

Leave a Comment

Ваш адрес email не будет опубликован. Обязательные поля помечены *