Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > C/C++ программирование > Общие вопросы C/C++
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 16.02.2010, 07:57   #1
Isparina
Новичок
Джуниор
 
Регистрация: 16.02.2010
Сообщений: 1
По умолчанию TwoIntToFloat

Доброе время суток!
Подскажите как из 2х int (Word1, Word2) полученых из регистров ModBus (40001, 40002) создать переменную float (TwoIntToFloat) регистры 40001, 40002 являются старшим и младшим регистром значения формата float. Релизовывается на процессоре SH для контроллера ScadaPack.

Код:
void main(void)
{
	int Word1, Word2;
	float TwoIntToFloat;

	while (TRUE)
	{
		request_resource(IO_SYSTEM); // обращение к входам выходам контроллера
		Word1 = dbase(MODBUS, 40001); // запись значения в Word1 из регистра 40001
		Word2 = dbase(MODBUS, 40002); // запись значения в Word2 из регистра 40002
		TwoIntToFloat (Word1[0], Word2[16]); // здесь  точно неверно так как не знаю что надо сделать 
		setdbase(MODBUS, 40005, 5); // запись в регистр 40005 значения 5(int)
		release_resource(IO_SYSTEM); // выполнение заданных дейтвий входам выходам контроллеру
		
		release_processor(); //реализация процессором
	}
}

Последний раз редактировалось Stilet; 16.02.2010 в 08:28.
Isparina вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц