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

Программирование - Внешние компоненты

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

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

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

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

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

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

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

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

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

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

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

 

Скачать файлы

Наименование Файл Версия Размер
Внешняя компонента для работы с весам Massa-K (технология NativeAPI) из 1С.:
.dll 89,00Kb
15.09.17
2
.dll 89,00Kb 2 Скачать

См. также

Комментарии
1. Stepan 21231312 (MSK_Step) 6 16.09.17 12:37 Сейчас в теме
К Massa-K подходили стандартные дрова, сейчас непомню какие, но я делал на основание ее обработку для розницы 2.0.
2. Андрей Куляшов (Kant1975) 8 18.09.17 13:36 Сейчас в теме
Стандартные подходят, но не всегда удобно с ними работать, подробно я со стандартными не разбирался, но нужного мне режима работы драйверов не нашел. Я писал под задачу где важна скорость и точность выдачи результата при окончании взвешивания, для чекования продукции, функционал аппаратов bizerba, где каждая доля секунды дорога. 1C-ка может работать с обработчиком ожидания не менее 1сек, а здесь выдача результата веса при окончании взвешивания, т.е. дрова сами анализируют положили на платформу новый кусок или еще не убрали старый.
3. Юрий Тимофеев (Tatitutu) 3672 19.09.17 14:35 Сейчас в теме
Massa-K МК-15.2-ТН21 - не взлетело с этой dll
у них она в оригинале почти 18 мб весит (с ней работает)
5. Геннадьевич Бу (Геннадьевич) 1 22.09.17 12:04 Сейчас в теме
(3) У меня тоже не работает с Massa-K МК-15.2-А11, можно ссылку на библиотеку?
Есть пример работающий?

Вес всегда = 0.
6. Андрей Куляшов (Kant1975) 8 22.09.17 15:49 Сейчас в теме
(5) Геннадий протокол на весах №2 выставлен? И каким методом пользуетесь ПолучитьВес() или через ВнешнееСобытие?
4. Андрей Куляшов (Kant1975) 8 19.09.17 17:39 Сейчас в теме
Странно что не взлетело, протоколы и команды идентичны, параметры порта сходные.
Юрий может быть на весах не выставлен протокол обмена №2?
Оригинальные дрова на протоколе "1С" обычно заводятся.
7. Андрей Куляшов (Kant1975) 8 22.09.17 15:51 Сейчас в теме
При использовании ВнешнегоСобытия параметр ЗадержкаПроверкиПорта указывается милисекундах, я обычно ставил от 100 до 500, т.е. от 0,1 сек до 0,5сек
8. Геннадьевич Бу (Геннадьевич) 1 25.09.17 05:19 Сейчас в теме
Протокол стоял не тот. ВнешнееСобытие работает, а ПолучитьВес() нет.
9. Андрей Куляшов (Kant1975) 8 26.09.17 12:21 Сейчас в теме
(8) При запущенной функции ЗапуститьСообытиеВеса() не работает ПолучитьВес(), т.к. событие очень плотно опрашивает весы и разовое получитьВес может просто подвесить контроллер весов. Необходимо или не запускать событие или выполнить функцию ОстановитьСообытиеВеса().
Оставьте свое сообщение