PDA

Просмотр полной версии : вытащить нужные данные из STRING



werg
04.09.2014, 16:42
Здравствуйте!
из прибора по модбас считываю структуру STRING.
структура Real(4),Err(2),Timer(2)
как вытащить из этой каши Err (там должно быть числовое значение ошибки) ?

Yegor
04.09.2014, 17:33
Пример строки лучше приведите. Не понимаю языка, которым вы описываете структуры.

werg
04.09.2014, 17:48
Прошу прощения, я забыл написать что считываю в ПЛК 110 из прибора ТМ5103

rwg
05.09.2014, 12:30
Здравствуйте!
из прибора по модбас считываю структуру STRING.
структура Real(4),Err(2),Timer(2)
как вытащить из этой каши Err (там должно быть числовое значение ошибки) ?

Сравните байты 5 и 6 с байтами, которые бывают при исправном датчике. Если отличаются, значит датчик неисправен.

vodav
08.09.2014, 11:34
Можно вот так
14296
(знаем адрес строки ответа)
И здесь уже оперируем с этой строкой как с байтовым массивом:
14297

werg
08.09.2014, 14:07
Спасибо! сделал проще
через компонент LEN
при ошибке меняется длина строки, сравниваю целое с 5.
Единственное, что я не понимаю, это как в кодесис по условию производить сравнение (в FBD).
Как передать данные по условию из одной области в другую.
В блоке MOVE только 1 вход и 1 выход.

petera
08.09.2014, 14:19
Спасибо! сделал проще
через компонент LEN
при ошибке меняется длина строки, сравниваю целое с 5.
Единственное, что я не понимаю, это как в кодесис по условию производить сравнение (в FBD).
Как передать данные по условию из одной области в другую.
В блоке MOVE только 1 вход и 1 выход.
Добавить для MOVE вход EN

werg
08.09.2014, 14:38
Добавить для MOVE вход EN
Как это сделать в FBD ?
не добавляется.

petera
08.09.2014, 14:59
Как это сделать в FBD ?
не добавляется.
В FBD только с помощью переходов.

werg
10.09.2014, 08:18
Можно вот так
14296
(знаем адрес строки ответа)
И здесь уже оперируем с этой строкой как с байтовым массивом:
14297
Ошибка преобразования бит в ворд

vodav
10.09.2014, 18:25
Ошибка преобразования бит в ворд
???????? ???????? ?????