Показать сообщение отдельно
Старый 23.11.2022, 00:21   #18
Vitaliy
Новичок
 
Регистрация: Aug 2022
Сообщения: 15
Благодарил(а): 3 раз(а)
Поблагодарили: 0 раз(а) в 0 сообщениях
По умолчанию Ответ: Интеграция стороннего оборудования в Segnetics

Приношу свои извинения. В теме программирования ПЛК совсем не давно. Поставили задачу написать программу для ПЛК (segnetics matrix 1321). Для отслеживания массы груза используются промышленные весы. Производитель весового оборудования ответил, что для получения веса необходимо:

Цитата:
отправить команду D0 на адрес 0

Все данные в ASCII кодах, конец команды - символы с кодами 0x0D 0x0A или просто 0x0A

Запрос веса:
D0, где 0 - адрес, установленный в настройках

Ответ:
W008700+0124 C2
где 0 - адрес ответившего терминала,
08 - режим работы
7 - состояние входов, 7 значит все три входа в состоянии лог. 1.
Бит 0 соответствует датчику положения контейнера,
бит 1 - датчик заслонки,
бит 2 - датчик каретки (каплесбора?).
00 - состояние выходов, в шестнадцатеричной системе. 00 - все выключено, 1F - все включено
бит 0 - транспортер
бит 1 - загрузка
бит 2 - насос
бит 3 - каретка
бит 4 - зумер
+0124 - вес.
С2 - контрольная сумма.
Прошу помощи, объясните пожалуйста как отправить команду D0 и обработать ответ. Общение ПЛК с весами происходит по RS-485, протокол неизвестен.

Подобное можно написать при помощи ST примерно как-то так наверное:

Код:
//Код команды 
             data[0] = 44; // D
//Адрес устройства
            data[1] = 33; // 0
но поддержки ST в matrix нет.

Подскажите каким образом можно решить данную проблему.
Vitaliy вне форума   Ответить с цитированием