Просмотр полной версии : Считывание значений секунд, минут и часов в переменные, CoDeSys 3.5, язык ST, ПЛК-210
Роман Андреевич
21.04.2025, 00:28
Здравствуйте, уважаемые коллеги! Прошу помощи. Я новичок в создании программ для данного контроллера, пишу впервые. До этого работал в среде Visual Studio (С++), а так же Arduino IDE, Visual Basic. Кстати обратил внимание на огромное сходство ST в CoDeSys с VB6. Суть такова. Нужно считать текущее время (Real Clock Time) в переменные my_hour, my_min, и my_sec, да желательно что бы переменные эти были INT. Прошу сразу не возвращать меня в досканальное изучение предыдущих похожих вопросов: подходящего для себя ответа не нашел. Искал через поиск, и тоже не нашел подходящего. В одних местах предлагают использовать функциональный блок, но я не хочу. Я просто взял и вообще удалил страницу PLC_PRG из проекта уже в процессе работы. Оставил созданную собой страницу POU, чисто под ST, и GVL для глобальных переменных. Само собой визуализации несколько экранов. Вот с библиотеками не разберусь: какую скачать для этого? Или уже есть сразу в программе? Где-то что-то читал про узел owenRTC, но тоже не понял, как получить нужные мне переменные. Старые библиотеки просто не ставятся. Уже которые сутки бьюсь над такой элементарной задачей - и толку ноль. Например, в панели инструментов есть готовые аналоговые часы. Они идут при загрузке в виртуальный ПЛК, в визуализации. Время их совпадает со временем на моем ноуте. Но там тоже нет, как мне для своих личных нужд получить заветное значение в переменную... Помогите, пожалуйста!
PS Маленькое (Но, видимо, серьезное уточнение): Физического контроллера нет. Пишу на виртуальном, а соответственно не на ПЛК-210, коих виртуальных, видимо, не существует, а на CODESYS Control Win V3).
Ну так как минимум под VB6 и особенно по VS6 была крутая документация MSDN.
Почему ж ты не можешь взять и почитать документацию по программированию ПЛК с сайта ОВЕНа?
А то ты ещё и PLC_PRG удалил, и не сказал нам о том, что сделал дальше: привязал к задаче MainTask свои POU или нет.
А если уж ты не разобрался с узлом времени и как в него привязывать переменные - так тем более придётся почитать документацию. Чтобы потом не взорвался завод, созданный товими руками на промышленном ПЛК.
Евгений Кислов
21.04.2025, 06:11
Добрый день.
Пишу на виртуальном, а соответственно не на ПЛК-210, коих виртуальных, видимо, не существует, а на CODESYS Control Win V3
Вот тут показано, как получить системное время виртуального контроллера в формате DT:
https://owen.ru/forum/showthread.php?t=28167&p=461341&viewfull=1#post461341
Чтобы преобразовать его в отдельные разряды - воспользуйтесь функцией SplitDateTime из библиотеки Util:
https://owen.ru/forum/showthread.php?t=28167&p=351122&viewfull=1#post351122
Роман Андреевич
21.04.2025, 22:09
Ну так как минимум под VB6 и особенно по VS6 была крутая документация MSDN.
Почему ж ты не можешь взять и почитать документацию по программированию ПЛК с сайта ОВЕНа?
А то ты ещё и PLC_PRG удалил, и не сказал нам о том, что сделал дальше: привязал к задаче MainTask свои POU или нет.
А если уж ты не разобрался с узлом времени и как в него привязывать переменные - так тем более придётся почитать документацию. Чтобы потом не взорвался завод, созданный товими руками на промышленном ПЛК.
Ну, свои POU я, естественно привязал к главной задаче на выполнение циклическое, само собой, поэтому и говорить об этом не стал. Раз работает - значит привязано. PLC_PRG удалил - потому, что начал проект в CFC, а потом понял, что оно мне не нужно, что хочу все написать на ST. Про такие серьезные последствия Ты, конечно же, преувеличиваешь. Не такая ответственная программа, никаких газов и взрывоопасных, горючих материалов он не контролирует. Нет и ответственных задач у ПЛК. Какие именно - не важно. Нужно, что бы просто он выполнял нужные задачи. На момент написания просьбы о том, что бы люди поделились знаниями, мне нужно было всего навсего узнать, как считать реальное время, да и всё. Твоими руками много заводов было повреждено, наверное? Раз ты даже не знаешь таких вещей, что виртуальный контроллер не поддерживает узел owenRTC. Этот узел актуален только для физического контроллера и появляется после изменений свойств проекта с виртуального Control Win V3 на именно ПЛК-210, а что бы получить минуты и секунды в переменные, используются совершенно другие функции. Что хочется тебе сказать: Не знаешь, что ответить - пройди мимо, не нужно лезть со своими бесполезными советами, типа "потрать кучу времени и не достигни результата, пока я в это время выполню твою работу и заработаю твои деньги".
Дополнено:
"завод, созданный товими руками на промышленном ПЛК."
Учебник Русского языка знаешь где продается? Как может быть завод создан на ПЛК? :D
Дополнение №2. Прошла неделя. А я всё думал о твоем ответе. И вот что пришло в голову: ты когда электрика вызываешь, ты ему тоже говоришь "Не лезь в розетку, там же ток!"? А ты вызываешь, там же ток! :-D Словосочетание-то какое подобрал, "Промышленный ПЛК" :-D
Powered by vBulletin® Version 4.2.3 Copyright © 2025 vBulletin Solutions, Inc. All rights reserved. Перевод: zCarot