Неть, Вы должны выбрать что-то одно: или через AT% прописывать, или в конфигурации.
Вид для печати
понимаете Вы программист, если Ваш код после многократных и разнообразных проверок будет работать как надо, без ошибок, то его можно оставлять. Но существует одно из правил. Представте ситуацию что в разных ПОУ придется считывать один и тот же кaнaл , Вам придется писать этоу строку столько раз сколько нужно будет объявлять, именование в конфигурации делается один раз на весь проект, поэтому не то чтобы это нестандартное решение, а скорее альтернативно-одаренное
Понял вас, спасибо.
Здравствуйте вопрос такой язык используется ST необходимо считать значение с панели тип int и преобразовать его в time причем в секунды . Преобразование типа Int_to_time не работает язык cfc нет желания использовать так как стоит задача именно на ST . На CFC все написал и там работает а на ST конструкция input:=int_to_time(timer); выдает ошибку можно поподробнее рассказать про явное и неявное преобразование типов т.к в в справке по codesys 2.3 написано всего 3 конструкции и что получается в итоге а принцип что требуется ,необходима ли еще переменная для преобразования не сказано прошу прощения за тупой вопрос но синтаксис конструкций не очень ясен .
MantisB
Преобразования xxx_TO_TIME дают результат в миллисекундах.
Долго мучилась с преобразованиями типов, подбешивает зоопарк представлений времени и недостаток функций конвертации.
Выкрутилась так: делаю преобразование:
ttDword := TIME_TO_DWORD(ttTime)/1000; (*без потери разрядности, "/1000" - перевод в секунды*)
ttint := DWORD_TO_INT(ttdw);
Обратно проще:
ttTime := WORD_TO_TIME(ttint*1000);
Всем здравствуйте, снова я с глупым вопросом. Подскажите пожалуйста, что я не так делаю. Контроллер ОВЕН 110-30 К-Л, не могу понять почему не работает дискретный выход. При подключении к ПЛК нажимаю кнопку, в конфигурации ПЛК, в дискретных выходах появляется синий флажок, на контроллере загорается светодиод, что выход работает, по факту напряжения никакого на нем нет. Подключал по схеме. Выхода обычные, не быстрые. Нужно ли каким-то образом подводить к ним какое нибудь питание, как в работе с быстрыми дискретными выходами? Подключал все по схеме.
Вложение 45926Вложение 45927
Я это понимаю, но по факту на нем нет ничего. Если судить по той схеме что то должно быть, а по факту нет ничего.Просто может я что то не понимаю, просто ранее никогда не работал с ПЛК, можно сказать прохожу процесс обучения.
На клемму +U1 нужно подать +24V. Это питание выходных каскадов быстрых выходов FDO1..FDO4. Без этого напряжения индикаторы выходов будут светиться, а сами выхода работать не будут.
Добрый день.
Если вы видите, что светодиод выхода активен, то возможно только четыре варианта.
1) Вы не подали напряжение, на выход
Проверьте еще раз, что минус источника напряжения на клемме COM, а плюс - на нагрузке, выход ПЛК так же должен быть на нагрузке, для создания замкнутого контура протекания тока.
2) Выход не исправен.
Уберите всю нагрузку, и прозвоните выход мультиметром, когда светодиод светится - он должен звониться.
3) Вы перепутали клеммы.
Внимательно проверьте к каким клеммам все подключено.
4) Если речь о быстрых выходах (маркируются как FDO), то возможно не подано питание на быстрые выходы, в РЭ есть схема
Вложение 45928
Скажите пожалуйста, питание быстрых выходных каскадов распространяется на не быстрые дискретные выхода?
Спасибо Всем Огромное!!!
Нет. Остальные выхода DO5..DOxx работают без внешнего питания по логике "открытый коллектор". Т. е. при срабатывании выход "замыкается" на СОМ соответствующей группы.Цитата:
Скажите пожалуйста, питание быстрых выходных каскадов распространяется на не быстрые дискретные выхода?
Сама спросила, сама ответила))).
Если кому-то интересно - проблема решаема, хоть и на троечку. Подключила на RS485 порт шлюз и модем, заработало. Модем отправляет смс только по авариям (эпизодически), блокирует порт на некоторое время, но облачный сервис в моем случае в основном "шоб було", поэтому если какое-то значение не прочитает, т.к. порт занят - ну и фиг с ним. Для МВ обошлись покупкой преобразователя интерфейсов RS232-RS485.
То есть схема получилась следющая: ПЛК RS232-Debug (slave) - СП310 (Master), ПЛК RS232(Master) - конвертер - МВ(slave), ПЛК RS485(UNM) - модем + RS485(slave) шлюз. Настройки RS485 стандартные (поднялось на 115200, RTU), только для обоих устройств одинаковые, чтобы не было конфликта в мозгах плк на физическом уровне.
И снова здравствуйте:)
Народ, подскажите пожалуйста. Вывожу температуру с ТРМ 200 по RS485, все бы хорошо но выводиться она в виде 29,0783, примерно как то так. Как округлить показания до целых чисел. Заранее спасибо.
Читаем про TRUNC
Ок, спасибо. Скажите а где писать код. Переменная задовалась в конфигураторе ПЛК. В списке глобальных переменных ее нет, как вызвать место, где она объявлена?
спасибо вам
Вы не могли бы конкретным примером расписать округление, не получается у меня. Выдается ошибка. Сама программа написана на LD, заранее спасибо Вам за помощь.
элемент с EN и далее на ваыбор
REAL_TO_INT(value) или TRUNC(value)
спасибо вам
Здравствуйте новый вопрос как в окне конфигурирование элемента (объекта визуализации ) присвоить ему номер бита в переменной типа BYTE как именно пишется пока что я использую такое PLC_PRG.lamp(2#0001) . просто в справке по этому поводу ничего не сказано а делать отдельный массив из лампочек с переменыйми типа Int нет особого желания так как вроде есть обращение к каждому биту . И если можно есть ли какие ни будь задачники по codesys и автоматизации в целом буду благодарен .
Спасибо большое просто с++ не очень получается переползать.CFC ближе язык после мк.
Здравствуйте, скажите пожалуйста. Как добраться до переменных. Данные переменные задавал в конфигураторе ПЛК. В таблице глобальных переменных их нет, а в ассистенте ввода они есть.
Вложение 45996Вложение 45997
Вот в конфигураторе и добраться. Они у вас тоже глобальные, но в таблицу глобальных переменных вы можете поместить другие переменные, не связанные со входами/выходами ПЛК, но которые тоже хотите сделать доступными во всех модулях проекта.
Согласен, не очень удобно получается, но плюсы задания переменных в конфигурации ПЛК перевешивают этот минус.
Я имею ввиду таблицу где бы я мог проводить манипуляции с этими переменными, а по сути этого нет. Очень неудобный интерфейс, если не разу не работал. CodeSys после Portala просто ад. Хотя по сути это дело привычки наверное.
Спасибо народ что терпите мои глупые вопросы))
спасибо вам
Дело привычки. Я, например для более-менее больших проектов веду отдельно реестр переменных, вместе со списком задач. Помогает при отладке а также при составлении руководства для Заказчика.
Это поднимает нашу самооценку :cool:Цитата:
Спасибо народ что терпите мои глупые вопросы))
Мне такая мысль тоже в голову пришла. Очень хорошая и нужная вещь.
Добрый день всем. Есть в программе панели СП310Р
Перенёс https://owen.ru/forum/showthread.php?t=22915&page=160
Совсем не похоже на вопрос новичка ;)
Думаю с этим лучше сюда.
Здравствуйте. Подскажите новичку пожалуйста. Есть ли в Codesys 2.3 возможность быстрого старта при подключение к ПЛК и вывод только одной визуализации для работы оператору, то есть пропустить действия такие как открыть Codesys, потом перейти во вкладку онлайн, потом подключение и старт. Может быть можно сделать быстрый старт и вывод только одной визуализации. Заранее спасибо за ответ.
Спасибо огромное