FLProg
Вход на сайт
Логин:
Пароль:
Поиск
...
Статистика
Суббота, 22.07.2017, 13:46
Приветствую Вас Гость | RSS
Главная | Регистрация | Вход

Поиск по сайту


Форум
[ Новые сообщения · Участники · Правила форума · Поиск · RSS ]
Страница 2 из 2«12
Модератор форума: support, Сергей 
Форум » Основной » Спросить у знатоков » Как считать 4хбайтовое слово по модбасу?
Как считать 4хбайтовое слово по модбасу?
Sancho Дата: Среда, 17.05.2017, 16:58 | Сообщение # 16
Полковник
Группа: Проверенные
Сообщений: 300
Награды: 7
Репутация: 9
Статус: Offline
Kit, Вы меня недопоняли/недоуслышали - при чтении флоат переменных АВТОМАТИЧЕСКИ читаются ДВА регистра. Необходимо лишь указать первый.

Если не получится на контроллере - сделаю на тразисторах и 155/176...
 
Kit Дата: Среда, 17.05.2017, 17:07 | Сообщение # 17
Рядовой
Группа: Проверенные
Сообщений: 10
Награды: 0
Репутация: 0
Статус: Offline
Но это если Holding регистры? А у меня данные хранятся в Input регистрах.
Там считывается только один регистр. Или я чего то не понял?
 
Sancho Дата: Среда, 17.05.2017, 17:34 | Сообщение # 18
Полковник
Группа: Проверенные
Сообщений: 300
Награды: 7
Репутация: 9
Статус: Offline
Сори, вспомнил о модбасе FLPRog.
Сейчас придумаем.

Добавлено (17.05.2017, 17:34)
---------------------------------------------
Если таких преобразований будет несколько в проекте, то правильней будет создать не пользовательский блок , а функцию.


Если не получится на контроллере - сделаю на тразисторах и 155/176...
 
Sancho Дата: Среда, 17.05.2017, 17:50 | Сообщение # 19
Полковник
Группа: Проверенные
Сообщений: 300
Награды: 7
Репутация: 9
Статус: Offline
Прошу попробовать
Прикрепления: 2Int_reg_to_flo.ubi(13Kb)


Если не получится на контроллере - сделаю на тразисторах и 155/176...
 
Kit Дата: Среда, 17.05.2017, 19:56 | Сообщение # 20
Рядовой
Группа: Проверенные
Сообщений: 10
Награды: 0
Репутация: 0
Статус: Offline
Спасибо. Работает.
Вот только про функцию я не понял.
 
Sancho Дата: Четверг, 18.05.2017, 09:52 | Сообщение # 21
Полковник
Группа: Проверенные
Сообщений: 300
Награды: 7
Репутация: 9
Статус: Offline
Цитата Kit ()
Вот только про функцию я не понял.
Попробую объяснить в моём понимании.
Когда в flprog создаём пользовательские блоки, и используем несколько однотипных в одном проекте, мы, сами того не подозревая, добавляем в код С++ очень много дополнительных, промежуточных, переменных, разного рода констант. Иногда это никак не влияет на конечный результат, но в некоторых случаях может быть критично для общего объёма занимаемой памяти в МК.
А функция - это своего рода подпрограмма, выпоняющаяся при обращении(запросе ) к ней с исходными данными и возвращающая результат.
Например, даже когда написать а=cos b, это и есть одна из разновидностей функций, ведь для вычисления косинуса мк задействует подпрограмму(функцию) cos, которую мы не видим в коде, которая возвращает нам результат.
Простой пример. В проекте необходимо несколько раз  производить для разных переменных одни и теже вычисления по формуле  X=(29+2Y)*3/(44-Z).
Если каждый раз описывать это, то в конечном коде количество переменных и констант, и, соответственно, объём занимаемой ими памяти будет очень велик, вплоть до отказа загрузки в МК.
Но мы опишем как нашу, пользовательскую, функцию: myFunc_1(int Y,int Z) {int X= (29+2Y)*3/(44-Z); return X } , то при необходимости вычислять мы просто напишем:
perem_1 = myFunc_1(perem_2,perem_3);
perem_4 = myFunc_1(perem_5,perem_6);
perem_7 = myFunc_1(perem_8,perem_9);
где perem_N - переменные нашего проекта. Синтаксис С++ не соблюдён.
В итоге, для вычисления будет использована наша функция и количество в проекте разного рода 29, 3, 44 и т.д. уменьшится в разы!
Эта-же история касается и всего написанного в постах выше.
Жаль, но в существующей версии FLPRog, данная оптимизация невозможна, а возможна лишь в конечном коде IDE.
Надеюсь, принципиальных ошибок не много, писал по собственному пониманию, образования по програмированию не имею.
Извиняюсь за многабукав.


Если не получится на контроллере - сделаю на тразисторах и 155/176...

Сообщение отредактировал Sancho - Четверг, 18.05.2017, 09:56
 
Форум » Основной » Спросить у знатоков » Как считать 4хбайтовое слово по модбасу?
Страница 2 из 2«12
Поиск:

FLProg © 2017
Яндекс.Метрика