plcforum.uz.ua

International PLC Forum
It is currently Tue Sep 25, 2018 2:39 am

All times are UTC + 3 hours


Forum rules


Please click here to view the forum rules



Post new topic Reply to topic  [ 5 posts ] 
Author Message
PostPosted: Mon Jul 16, 2018 10:15 am 

Joined: Wed Jul 04, 2018 3:40 am
Posts: 5
Расходомер US800 присылает пакет данных 19 байт, состоящий из данных о расходе, накопленном расходе, времени наработки, состоянии расходомера и др.
Значения переменных закодированы в шестнадцатеричном формате и занимают по 4 байта.
В документации к расходомеру есть пометка "что младшие байты помещены вперёд".

Какими функциями склеить 4 байта, принадлежащие каждой переменной для дальнейшей конвертации, и перекодировать значение переменных в формат Real?


Top
 Profile  
 
PostPosted: Mon Jul 16, 2018 12:17 pm 
Site Admin

Joined: Thu Feb 16, 2006 6:25 pm
Posts: 3343
Location: Russia
В Степ7 в Таблице Символов можно одному адресу присвоить разные типы данных:
MD100 //16#3bbbe741 = 3b bb e7 41
MB100
MB101
MB102
MB103
отсюда пересыл MOVE байт 3b bb e7 41
сюда в нужном порядке 41 e7 bb 3b
MB104
MB105
MB106
MB107
MD104 // и читать результат тут 41 e7 bb 3b = 28.96
для наглядности можешь в статике отладить функцию в PLCSIM
Code:
16#3bbbe741 => 41 e7 bb 3b  = 28.96


Top
 Profile  
 
PostPosted: Mon Jul 16, 2018 2:10 pm 

Joined: Wed Jul 04, 2018 3:40 am
Posts: 5
А я полез в учебники... Решение на поверхности! Спасибо! Хитро, и главное, понятно!
Завтра протестирую.


Top
 Profile  
 
PostPosted: Tue Jul 17, 2018 3:02 pm 
Faq & Info
Faq & Info

Joined: Thu Oct 13, 2005 9:42 pm
Posts: 60
Location: Frequently Asked Questions – Часто Задаваемые Вопросы
stl code:
Code:
MD100
CAD
MD104


Top
 Profile  
 
PostPosted: Thu Jul 19, 2018 3:49 pm 

Joined: Wed Jul 04, 2018 3:40 am
Posts: 5
Когда начал разбираться с задачей, прибор был "из коробки" без времени наработки вообще, поэтому я получил пустой пакет байт. На данный момент я доступа к расходомеру не имею, его увезли накапливать значения расхода на объект.

Сделал в проекте пока так - одному адресу присвоил разные типы данных:
MD100 - Real, которое я хочу получить
MB100 - байт 1 из расходомера (младший)
MB101 - байт 2 из расходомера
MB102 - байт 3 из расходомера
MB103 - байт 4 из расходомера
Хочу поиграться с порядком присвоения адресов байтам, думаю, что всё получится.


Top
 Profile  
 
Display posts from previous:  Sort by  
Post new topic Reply to topic  [ 5 posts ] 

All times are UTC + 3 hours


Who is online

Users browsing this forum: No registered users and 4 guests


You cannot post new topics in this forum
You cannot reply to topics in this forum
You cannot edit your posts in this forum
You cannot delete your posts in this forum

Search for:
Jump to:  
Powered by International PLCforum® Forum Software © PLCforum
Mobile version