Программирование в CoDeSys. Вопросы |
Ответить | Страница 12> |
Автор | |
Профили участников
Послать частное письмо
Поиск публикаций участников
Посетить домашнюю страницу участника
Добавить в список приятелей
Действительный член Присоединился: 14 Май 2003 Online Status: Offline Публикации: 770 |
Опубликовано: 05 Апрель 2009 23:26 |
Обнаружил любопытный факт при работе со строками. Вот два примера, которые я проверял во встроенном эмуляторе.
Пример 1. Программа отлично работает: Слегка изменяем программу, пример 2. Программа компилируется, но в рантайме выдает сообщение об ошибке: Получается, что строковые переменные и строковые константы - это не совсем одно и то же? Более того, получается, что компилятор об этом не знает, так как, с его точки зрения, все нормально? Кто-нибудь может проверить на реальном железе? |
|
Инженер-системотехник
+7 (916) 477 3925 |
|
Профили участников
Послать частное письмо
Поиск публикаций участников
Посетить домашнюю страницу участника
Добавить в список приятелей
Действительный член Присоединился: 14 Май 2003 Online Status: Offline Публикации: 770 |
|
Продолжаем копаться со строками. Функция CONCAT ведет себя не совсем так, как ожидалось...
Вроде бы, ничего криминального. Проверяю в эмуляторе: Одну и ту же функцию подключаю к разным входам CONCAT. Разница, как видим, существенная. В самой подключаемой функции ничего особенного нет, это наш первый пример из предыдущего сообщения: Странно... Может, дело в эмуляторе? |
|
Инженер-системотехник
+7 (916) 477 3925 |
|
Профили участников
Послать частное письмо
Поиск публикаций участников
Посетить домашнюю страницу участника
Добавить в список приятелей
Действительный член Присоединился: 14 Май 2003 Online Status: Offline Публикации: 770 |
|
Нет, дело оказалось не в эмуляторе. Установил PLCWinNT, перекомпилировал под него, ругается: 3150 "Parameter <number> of function '<name>': Cannot pass the result of a IEC-function as string parameter to a C-function." Use a intermediate variable, to which the result of the IEC function is assigned. Вот, значит, на чем нужно отлаживаться... Переделал, теперь работает и на эмуляторе, и на софт-ПЛК: Оказывается, и функции бывают разные... |
|
Инженер-системотехник
+7 (916) 477 3925 |
|
Профили участников
Послать частное письмо
Поиск публикаций участников
Посетить домашнюю страницу участника
Добавить в список приятелей
Действительный член Присоединился: 14 Май 2003 Online Status: Offline Публикации: 770 |
|
А вот с первым примером не так просто. Ошибок не выдает, в PLCWinNT работает, а в эмуляторе - не работает...
|
|
Инженер-системотехник
+7 (916) 477 3925 |
|
Новичок Присоединился: 03 Март 2009 Категория: Russian Federation Online Status: Offline Публикации: 26 |
|
Доброго времени суток.
Такой вот банальный вопросик: можно ли как нибудь в CodeSyS получить текущее время? Условие задачи подразумевает наличие контроллера wago и отсутствие АРМ. |
|
Добрым словом и матом можно сделать гораздо больше, чем просто добрым словом.
|
|
Действительный член Присоединился: 01 Июнь 2006 Категория: Russian Federation Online Status: Offline Публикации: 464 |
|
Кстати в примере моторесурса я использовал этот FB |
|
Профили участников
Послать частное письмо
Поиск публикаций участников
Посетить домашнюю страницу участника
Добавить в список приятелей
Действительный член Присоединился: 14 Май 2003 Online Status: Offline Публикации: 770 |
|
Текущее время можно получить, если а) в контроллере есть часы реального времени (например, 750-841) и б) реализована библиотека SysLibRTC.lib (разработчик не обязан её реализовывать). Например, в 750-841 можно воспользоваться функцией: |
|
Инженер-системотехник
+7 (916) 477 3925 |
|
Новичок Присоединился: 03 Март 2009 Категория: Russian Federation Online Status: Offline Публикации: 26 |
|
Спасибо Максим. Воспользовался функцией- все работает.
2Dismay: вся фишка была в том, что на вход RTC надо ставить какое то значение)) А так как АРМа нету, то соответственно нельзя вход "запитать" например с ОПЦ-сервера ) Спасибо- помогли |
|
Добрым словом и матом можно сделать гораздо больше, чем просто добрым словом.
|
|
Действительный член Присоединился: 01 Июнь 2006 Категория: Russian Federation Online Status: Offline Публикации: 464 |
|
|
|
Новичок Присоединился: 03 Март 2009 Категория: Russian Federation Online Status: Offline Публикации: 26 |
|
кстати пробовал альтернативный вариант, на который меня натолкнул товарищ Dismay:
панелька HMI504T имеет у себя внутренние часы, там уже все так удобненько лежит по вордам в памяти. однако реализовывая RTC с входом начального времени с панельки столкнулся с такой вот проблемой: блок РТЦ хавает вход нормально, потом время обратно в панелю, однако "время контроллера" запаздывает на 2-3сек. |
|
Добрым словом и матом можно сделать гораздо больше, чем просто добрым словом.
|
|
Ответить | Страница 12> |
Переход на форум | Права доступа на форуме Вы не можете публиковать новые темы в этом форуме Вы не можете отвечать на сообщения в этом форуме Вы не можете удалять Ваши сообщения на этом форуме Вы не можете редактировать Ваши сообщения на этом форуме Вы не можете создавать голосования на этом форуме Вы не можете выражать своё мнение в голосованиях на этом форуме |