Siemens S7-300/S7-1200 и весы МАССА-К
Ребята помогите, пожалуйста, тупому.
Есть весовой терминал МАССА-К AB(RUEW) с вайфаем, эзернетом и прочими RS-232.
Есть PLC Siemens S-7 300 и S-7 1200 + HMI панель от сименса. Нужно получить в ПЛК текущий вес с терминала и загнать его в панель ЧМИ, точнее загнать его в дата блок и оттуда забрать в панель. Проблема в том, что я не знаю как организовать запрос из плк в весовой терминал и получить их в блок DB на плк.
Через PowerShell всё получаю таким вот кодом:
$client = new-object net.sockets.udpclient(0)
$peerIP = "10.10.70.136"
$peerPort = "5001"
[Byte[]] $send = 0xF8,0x55,0xCE,0x01,0x00,0x23,0x23,0x00
[void] $client.send($send, $send.length, $peerIP, $peerPort)
$ipep = new-object net.ipendpoint([net.ipaddress]::any, 0)
$receive = $client.receive([ref]$ipep)
echo ($receive|ForEach-Object ToString X2)
$client.close()
Первая строка – создали объект для отправки в сеть.
Вторая и третья – задали адрес и порт
Четвёртая – шестнадцатеричная строка запроса веса (из руководства, CRC там заранее рассчитана)
Пятая – отправили запрос
Шестая – создали объект для приёма из сети.
Седьмая – приняли ответ
Восьмая – вывели побайтно в виде кодов (иначе смайликами всё нарисует)
Девятая – закрыли соединение.
Ниже снимок экрана, на весах стоит груз на 114,7 кг. В руководстве опечатка, длина сообщения 13 символов 0x0D
0x47b – 1147 и множитель 100г (цифра 3 как цена деления)
цветом выделена масса в ответе терминала в шестнадцатеричной системе счисления
Помогите, если можете. Очень надо.
Комменты для минусов внутри.