petera, огромное спасибо, но я уже сам макрос написал (ну как написал, переложил вашу функцию под Лоджик ). Практически закончил макрос обратного преобразования (дни недели осталось). Как доделаю выложу на форум.
petera, огромное спасибо, но я уже сам макрос написал (ну как написал, переложил вашу функцию под Лоджик ). Практически закончил макрос обратного преобразования (дни недели осталось). Как доделаю выложу на форум.
Дни недели здесь не самое сложное
Вложение 26289
Пн - 1, .. Вс - 7
ЗЫ.
Обязательно проверьте свой макрос для третьего месяца.ну как написал, переложил вашу функцию под Лоджик
Из-за того, что в лоджике нет целых переменных со знаком, то для этого фрагмента
(*Вычислить дату с учетом високосных лет*)
IF month > 2 THEN
count := (month - 1) * 30;
IF month > 7 THEN count := count + SHR(month - 3,1);
ELSE count := count + SHR(month - 4,1); END_IF;
..............
Для month=3
При выполнении операции SHR(month - 4,1) в кодесис получим "-1", а в лоджике получим 2147483647 т.к (4294967295/2)=2147483647
Соответственно для месяца=3
в кодесис count + SHR(month - 4,1)=59
а в лоджике получится 2147483707
Пришлось в лоджике добавить проверку месяца на 3 и вычитать явную 1 из count
Вложение 26290
Мой канал на ютубе
https://www.youtube.com/c/ПетрАртюков
Библиотека ГМ для СП300
https://disk.yandex.com/d/gHLMhLi8x1_HBg
Всем привет!
Не могу сохранить значение суммарного расхода. При перезагрузке значение сбрасывается в 0.
Проект на ПЛК160-АМ + СП307Р по ethernet через свитч. В проекте считается суммарный расход через расходомер. Ни как не получается сохранить это значение, что бы при перезагрузке это суммарное значение сохранялось и дальнейшее суммирование продолжалось с последнего значения...
Сделал в PLC_PRG глобальную переменную RETAIN
Вложение 26292
в которую из экземпляра фб пишется суммарный расход
Вложение 26293
присвоил адрес %QD7.15.0. В конфигурации ПЛК присваиваю эту переменную Float переменной %QD7.15.0 для отправки в панель, но вылетает ошибка "...несколько объявлений с одинаковым идентификатором".
Вложение 26294
Пробовал через UDP, та же ошибка... В принципе не пойму логики сохранения значения переменной. Так же пытался сохранять значение переменной в файл через SysLibFile, но тоже не получилось ...
Пишу логику на CFC. ST на перспективу, сейчас хочу понять основы на понятном мне языке.
Может кто-нибудь на пальцах расскажет как можно решить эту задачу. Читал руководство по codesys, но так и не разобрался.
Понятно что я делаю все не так, но так же читал про аккумулятор, и проблему записи RETAIN,но все же хочу решить задачу программно.
Может нужно в фб делать переменную в которую пишется суммарный расход in-out, у меня просто out. И в фб локальные переменные...
Вложение 26295
Вобщем помогите плиз кто-нибудь.
Зачем вы объявляте переменную по десять раз. Пропишите ее в конфигураторе и все. Панель у вас мастер?
Надеюсь, что панель у Вас мастер? В этом случае в ПЛК ВСЕ переменные в модуле Slave являются
а) - глобальными
б) - retain по умолчанию.
По этому:
1. Выкинуть из глобальных переменных все упоминания о "CO1rashod", оставить ее имя только в конфигурации слейва.
2. "в фб делать переменную в которую пишется суммарный расход in-out"
Мой канал на ютубе
https://www.youtube.com/c/ПетрАртюков
Библиотека ГМ для СП300
https://disk.yandex.com/d/gHLMhLi8x1_HBg
Тоже вопрос из той серии назрел. Petera, скажите пожалуйста в чем проблема. У меня на установке стоит сп270(мастер) и плк 160(slave). Проблема в том что при отключении питания все параметры, заданные на панели скидываются в ноль. Грешу на аккумулятор, но как подобного избежать, надеясь на худшее и задействовать память сп270. Такая же проблема при глобальном измении кода в ПЛК, приходится перезабивать все параметры.
Начитавшись про батарейку плк160 я сразу написал блок записи для переменных retain в файл (пишу в память плк при изменении, отключении питания и периодически раз в сутки). При включении плк уставки считываются из памяти. Если интересно вечером вам сброшу там ничего сложного.
Смотрим в Моих темах http://www.owen.ru/forum/showthread.php?t=21387 про Старт СП270 и ПЛК с ретайн при включении питания.
Мой канал на ютубе
https://www.youtube.com/c/ПетрАртюков
Библиотека ГМ для СП300
https://disk.yandex.com/d/gHLMhLi8x1_HBg
Кто не успел, тот опоздал. http://www.owen.ru/forum/showthread....l=1#post219991
Мой канал на ютубе
https://www.youtube.com/c/ПетрАртюков
Библиотека ГМ для СП300
https://disk.yandex.com/d/gHLMhLi8x1_HBg