AS200 и весы Масса-К по ethernet

Ответить
bayk
Сообщения: 887
Зарегистрирован: 30 май 2015, 21:20

AS200 и весы Масса-К по ethernet

Сообщение bayk »

Всем привет! мучаюсь тут с опросом весового терминала масса-к A(RUEW) по протоколу 100.
В этой теме буду задавать вопросы, которые будут возникать в процессе создания нормальной заготовки обмена.
обмен вроде бы наладил, но пока через одно место.
Текущие вопросы:
1. обязательно ли проверять ID терминала (терминал к контроллеру только один подключен) перед началом получения данных?
2. как извлекать отдельные байты из регистра и потом передавать каждый извлеченный байт в свой отдельный регистр? дело в том, что из весов прилетает набор из int и byte переменных, а поступают они всегда в word (2 байта)

Kaii-h
Сообщения: 21
Зарегистрирован: 15 фев 2021, 22:49
Откуда: Екатеринбург

Re: AS200 и весы Масса-К по ethernet

Сообщение Kaii-h »

Если весы одни, то зачем проверять кто ответил?
MOVB - может как группой переносить биты, так и раскладывать в\из М.
И если вы запрашиваете текущий вес, то там 4 байта (по описанию протокола 100) - 2 ячейки по 16 + 4 отдельных байта. Интересно как плк будет сохранять отдельные байты (которые цена деления, стабильность и другое) - последовательно заполнять ячейки или отдельно... Хотя, все же стандартно - смотреть что плк принимает, и пытаться понять.
Мучали другой протокол, где надо 42 (или 45) отправлять по rs232 и весы отвечают текущим весом, но что-то у следующих купленных весов сломалось, или ушло, что перестали они отвечать на запрос. У плк посылка идет, и это видно при прослушке, а весы молчат. Если отправлять с ПК запрос - весы отвечают.

bayk
Сообщения: 887
Зарегистрирован: 30 май 2015, 21:20

Re: AS200 и весы Масса-К по ethernet

Сообщение bayk »

moVB - прям поможет! я упустил его из вида.
при приеме контроллер валит все байты в последовательные регистры. хорошо хоть масса попадает в один word два ее байта....
еще один прикол уничтожил 3 часа моего времени. оказывается если буфер меньше чем принимаемые данные, то ошибки не возникает, но данные не принимаются.... и еще прикол, оно написано в инструкции конечно но неочевидно. в настройках сокета указываешь номер стартового регистра но длина передачи и приема указывается не в регистрах, а в байтах. а еще байты передаются от младшего к старшему. а записываешь их в регистр как хочется слева направо, потому от старшего к младшему. ну я чтоб не ломать мозг сначала записал чтобы было понятно, а потом сделал SWYPE

Ответить