PDA

Просмотр полной версии : Вопросы полного новичка



Korion
03.02.2010, 08:58
Здравствуйте!
Программирую впервые, инструкцию прочёл, вроде всё ясно. Составил программу, но она компилируется с ошибкой. Подскажите, в чём дело.

ПЛК150 работает совместно с ИП320. Нужно записать отфильтрованное значение с датчика в регистр, а затем считывать данные регистра для отображения на экране.
Записываю в регистр командой %MD8 (тип переменной REAL). Компилятор выдаёт «Ошибка 3729: Неверный тип REAL по адресу %MD8». Нормально компилируются только %MD0 и %MD1. :(

И второй вопрос. При загрузке старого проекта (переписан с другого компьютера) в «конфигурации ПЛК» вместо списка входов-выходов стоит «__not_found__». Попробовал перезагрузить target-файл, но всё осталось по-прежнему. Что можно сделать?

Николаев Андрей
03.02.2010, 10:34
1. Используете не ту память. Выкладывайте программу.
2. not found - значит Target не тот (не та версия, или не для того контроллера). Ну или пример писался не для конкретного контроллера, а для симуляции.

Korion
03.02.2010, 11:43
1.Прикрепил. Значения du_fix, dpd_fix, dd1_fix и dd2_fix нужно записать в память, чтобы затем считывать их с ИП320.
2.Пример писался для контроллера 150.U-L и target-файл был соответствующий установлен. Я устанавливал target с диска, а на том компьютере его установили, скачав с сайта. То есть там, возможно, старая (или наоборот, более новая) версия target-файла. Это как-нибудь влияет?

Николаев Андрей
03.02.2010, 12:11
Вот интересно, для кого мы примеры пишем...
http://www.owen.ru/forum/showpost.php?p=7574&postcount=8

Korion
03.02.2010, 12:37
Не работает ссылка. "Архив повреждён или имеет неизвестный формат"

Korion
03.02.2010, 21:32
Вот интересно, для кого мы примеры пишем...
http://www.owen.ru/forum/showpost.php?p=7574&postcount=8

***Подключение ИП320 в режиме Мастера

Подключение ИП320 к ПЛК.rar ***

Можете перезалить файл? Не открывается.

kaktus3431
05.02.2010, 16:38
Таргет дружище Ваще отдельная Песня, поэтому не верь всему что написано, а сравнивай два таргета по свойствам самих таргетов, золотыми ручками в Винде. А тем корешам Вышли свой таргет, если не помниш с какого CD-выгружал? выгрузи его из винды (Фирма Owen постаралась народить сиEго добра, а папки таргетов не имеют номера версии, и лежать может по закону подло.... там не то) И лежит он милый в папочке в винде и ждЁт хозяина. УДАЧИ: ICQ-342086971

Ufolog
05.02.2010, 21:15
Почему?

на st

x:real

x:=9/2
x=4

x:=9.0/2
x=4.5


как сделать чтоб неполучались выражения типа x:=(a+0.0)/2

чтоб получить дробную часть ?????

Safron
07.02.2010, 20:21
именно потому, что ты указываешь или не указываешь десятичную часть в числителе программа и оценивает какой ты хочешь иметь ответ - только целую часть или ещё и дробную...

Игорь Петров
08.02.2010, 13:28
Компилятор CoDeSys выделяет под константы минимально необходимый тип. Так, для 9/2 будут выделены ячейки памяти типа SINT. В этом типе будут выполнены вычисления и только потом будет преобразование в REAL. Чтобы явно заставить компилятор делать то, что нужно, в неоднозначных ситуациях существуют типизированные константы:

x := REAL#9 / REAL#2;

Korion
09.02.2010, 09:08
епасибо за советы. с регистрами удалось более-менее разобраться самостоятельно.

ещё такой есть вопрос. допустим, у меня две одинаковые программы, разница только в том, что в одном случае используется выход контроллера 4...20 ма, а в другом - 0...10 в. если просто изменить таргет в "настройках целевой платформы", то "конфигурация плк" не поменяется. нужно удалять конфигурацию и вбивать её заново. а можно как-нибудь проще сделать?

Николаев Андрей
09.02.2010, 10:08
можно не делать всего вышесказанного. но тогда работать не будет.
не такая это большая плата за возможность переносить программу - переделка конфигурации плк.