PDA

Просмотр полной версии : покажите пожалуйста чайнику!!!



Rawill
07.10.2010, 15:17
как преоброзовать real в bool. время поджимает. программу в архиве. ПЛК-100 и МДВВ

Николаев Андрей
07.10.2010, 15:19
Обратите внимание на библиотеку Standart.lib
По мимо всего прочего она включает в себя преобразования.
Надо просто написать команду, например:
a:=real_to_bool(b);
Булевская переменная а будет равна результату преобразования переменной b
На графических языках тоже работает

Rawill
07.10.2010, 15:32
А по конкретнее можно показать на проекте. Куда это real_to_bool вставлять. Я читал про нее, только куда вставить не понял. спасибо.

Кирилл Валюнин
07.10.2010, 15:40
Вкладка ресурсы-Менеджер библиотек-проверяете, чтобы Standart.lib была подключена.
В PRG правой кнопкой мыши Элемент с EN-на блоке пишите real_to_bool

Rawill
07.10.2010, 15:53
именно так и пробовал, пишет " невозможно преоброзовать Real в Bool". библиотеки подключены, поэтому и спрашиваю. где я туплю?

Кирилл Валюнин
07.10.2010, 16:13
так может в типе переменной ошибаетесь? Переменная точно real?

Николаев Андрей
07.10.2010, 16:28
проверьте что переменные одна Real вторая Bool
Посмотрите какой переменной что присваиваете. Чтобы не получилось, что Вы пытаетесь преобразовать булевскую переменную, считая, что она реаловская

Rawill
07.10.2010, 16:28
ну да, там же посмотреть можно. час попробую на другой ос, возможно там.

Rawill
07.10.2010, 16:29
посмотрите какой переменной что присваиваете. чтобы не получилось, что вы пытаетесь преобразовать булевскую переменную, считая, что она реаловская
так я так и так игрался

Rawill
07.10.2010, 16:31
а нельзя при объявлении сразу изменить тип перменной, если можно то как?

Николаев Андрей
07.10.2010, 16:31
кликните на "ругательство" - он укажет Вам место где ошибка (ругательства появляются при компиляции в самом низу CoDeSys).

Rawill
07.10.2010, 16:36
вот скрин.

Николаев Андрей
07.10.2010, 18:14
Ну как бы...
Вам вообще то надо bool_to_real...

Rawill
07.10.2010, 18:17
пробовал и так и сяк.:confused:

Николаев Андрей
07.10.2010, 18:29
ну как бы у меня без проблем.

Rawill
07.10.2010, 18:45
странно, почему же он уменя ошибку дает.

Rawill
07.10.2010, 20:13
а нельзя при объявлении сразу изменить тип перменной, если можно то как?

Николаев Андрей
08.10.2010, 09:17
что значит при объявлении изменить тип переменной?
выкладывайте проект...

Rawill
08.10.2010, 19:57
пожалуйста, если поможите буду премного благодарен.

Николаев Андрей
09.10.2010, 16:59
Кхм...
Эту программу я видел. Где программа, где Real в bool не преобразуется???

Rawill
11.10.2010, 20:16
ну если его прогонять через эмуляцию, там куча ошибок шлепает и все однотипные, т.е. не могу преоброзовать Real в Bool.

Николаев Андрей
11.10.2010, 20:42
Ну так как бы все верно - Вам компилятор и пишет - Вы пытаетесь использовать в логических выражениях Real переменные. Вы их в конфигурации ПЛК как Real используете...
Либо используйте Bool в конфигурации, либо переходите на FBD.

Rawill
11.10.2010, 21:15
а как в конфигурации их сделать Bool?

Николаев Андрей
12.10.2010, 09:39
Так. Все понял. Проблема комплексная - при проектировании :)
1. Настоятельно рекомендую работать с модулями по протоколу ModBus. По протоколу ОВЕН в выхода записывается число в формате Real, так как модуль может ШИМ-ить выходами...
В разделе примеры есть уже готовые программы. Работайте с входами и выходами МДВВ "по маске" Пример опять же есть.
2. При работе с модулями не используйте шаблоны модулей, а подключайте через Universal ModBus Device. Это добавляет надежности и скорости работе по сети.

Rawill
12.10.2010, 18:39
кажется понял, спасибо огромное

Николаев Андрей
13.10.2010, 09:36
обращайтесь.