PDA

Просмотр полной версии : Электронные весы и СПК



Andrey_Rudakov
18.08.2016, 17:51
Нужна помощь.

Имеем: весы электронные CAS BW-30RB, у этих весов есть интерфейс RS232, указана скорость передачи (9600), бит данных 8, стоп-бит 1, без контроля чётности, кодировка ASCII. Всё, больше никакой информации по протоколу передачи нет.

Необходимо: подключить эти весы к СПК-110. Контроллер в процессе выполнения программы должен включить насос и из ёмкости, стоящей на весах, выкачать "М" кГ. жидкости. ТОЛЬКО ТАК (только по весу, никаких время/объём/плотность/текучесть/положениезвёзднанебе)

Кто что знает, буду признателен за советы.

murdemon
18.08.2016, 19:26
Был опыт подключения CAS к СПК... там обычный протокол ASCII прямо выдает вес в строку. (только режим динамический надо установить, по умолчанию он выдает вес только когда вес перестанет изменяться в течении какого то времени) Напиши в личные сообщения или на email: dmitriy.murashov@automation-engineering.ru

Eugene.A
18.08.2016, 19:29
Вряд ли вам удастся получить что-либо вразумительное с этими весами, даже если свяжете их с ПР. Они предназначены для статического взвешивания, и не выдадут достоверных данных, пока не произойдет стабилизация веса. Вам надо было применять весовой терминал с функцией дозирования.

murdemon
18.08.2016, 21:02
надо установить "значение функции «F-2»" 1 Непрерывная передача данных и все нормально получиться. Не надо вводить людей в заблуждение (http://www.entero.ru/manuals/40818/CAS-BW-30RB.pdf)

Eugene.A
18.08.2016, 22:05
Меня сбило с толку слово "статических" в описании весов:
" Весы CAS BW-30 - товарные влагозащищенные весы CAS предназначены для статических измерений массы грузов максимальным весов 30кг при учетных и технологических операциях."
Намеренно я никого в заблуждение вводить не собирался.

Андрей007
26.07.2017, 16:58
надо установить "значение функции «F-2»" 1 Непрерывная передача данных и все нормально получиться. Не надо вводить людей в заблуждение (http://www.entero.ru/manuals/40818/CAS-BW-30RB.pdf)

Подскажите пожалуйста, а в случае непрерывной передачи данных как выглядит принимаемый массив байтов?
В момент чтения я в буфере увижу ряд байтов где мне нужно будет найти начальные символы, а за ними вес? Я правильно понимаю?
Нет ли у вас примера программы в CoDeSys?

Андрей007
24.08.2017, 20:45
Еще раз повторяю свою пррсьбу.
Опишите как нужно правильно принимать данные при непрерывном потоке.
Получил сегодня весы Cas. Связался нормально, но данные в буфере выглядят распозноваемо
только при устоявшемся весе. При изменяющемся, в буфере получаю явное наслоение данных.
При связи с com-монитором на ПК прием данных идет хорошо все байты целые наложений нет.
Если есть у кого пример скиньте пожалуйста!

Андрей007
25.08.2017, 09:54
Вопрос снят.
Всё дело в невнимательности.
Кстати к теме про скользящие считывания данных:
count := count + SysComRead(port, ADR(buffer) + count, SIZEOF(buffer) - count);
В данном случае не имеет ни какого положительного влияния, читается сразу по 40 байт без проблем.