![]() |
![]() ![]() |
|
SMLogix Вопросы о работе в среде SMLogix и о FBD-программировании |
![]() |
|
Опции темы | Поиск в этой теме | Опции просмотра |
![]() |
#1 |
Member
Регистрация: Feb 2022
Сообщения: 81
Благодарил(а): 9 раз(а)
Поблагодарили:
0 раз(а) в 0 сообщениях
|
![]()
Есть простой макрос (на изображении), все супер просто и он работает, но только если значения не большие. Но на 3000000, перестаёт работать сложение с 0.1 а складывает от 1, на 17000000 сложение от 2.
Есть ли какой-то способ избежать этого? Я так понимаю, нужно разделить целую часть в long и дробную в int. Но проблема в том, что нужно что была возможность, задавать значение счетчика, т.е. нужно будет из значения счетчика, опять разделять, но разделение на больших значениях не будет работать корректно. Может есть какой то макрос для этого, я что не нашел на форуме, или может направление где смотреть. Я конечно сталкивался с floating point accuracy, но обычно это происходит на больших числах, а тут я даже не знаю что придумать, пока. Последний раз редактировалось Arsie, 30.06.2022 в 03:01 Причина: Удалил вложения за ненужностью |
![]() |
![]() |
![]() |
#2 |
Member
Регистрация: Feb 2022
Сообщения: 81
Благодарил(а): 9 раз(а)
Поблагодарили:
0 раз(а) в 0 сообщениях
|
![]()
Нашел данное сообщение https://forum.segnetics.com/showpost...27&postcount=2, это получается, что ограничение вообще в 1000000, а все что больше, уже с ними работать не реально и как тогда быть?
|
![]() |
![]() |
![]() |
#3 |
Member
Регистрация: Feb 2022
Сообщения: 81
Благодарил(а): 9 раз(а)
Поблагодарили:
0 раз(а) в 0 сообщениях
|
![]()
В общем переделал макрос, возможно не самое правильное решение, но оно работает. Считаю просто в лонг, потом перевожу в реал и делю на цену импульса, попробовал и 10 миллионов и больше, считает, а большего мне и не надо.
Если будут предложения лучше, буду рад, если кто предложит. Просто я пока сильно не тестил, но помню, что вроде так уже делал и со временем начинало глючить преобразование из лонг в реал, не из за превышения значения, а просто плк стоит считает и бац все, после преобразования значение не меняется, как зависает что. |
![]() |
![]() |
![]() |
#4 |
Senior Member
Регистрация: Aug 2013
Сообщения: 3 285
Благодарил(а): 8 раз(а)
Поблагодарили:
164 раз(а) в 161 сообщениях
|
![]() __________________ Не являюсь сотрудником Segnetics !!! |
![]() |
![]() |
![]() |
#5 |
Сотрудник Segnetics
Регистрация: Jan 2006
Адрес: Russia, SPb
Сообщения: 17 384
Благодарил(а): 15 раз(а)
Поблагодарили:
610 раз(а) в 557 сообщениях
|
![]() __________________ Программа делает то что написал программист, а не то что он хотел. Добро всегда побеждает зло. Кто победил - тот и добрый. |
![]() |
![]() |
![]() |
#6 |
Senior Member
Регистрация: Aug 2013
Сообщения: 3 285
Благодарил(а): 8 раз(а)
Поблагодарили:
164 раз(а) в 161 сообщениях
|
![]() ![]() __________________ Не являюсь сотрудником Segnetics !!! |
![]() |
![]() |
![]() |
#7 |
Member
Регистрация: Feb 2022
Сообщения: 81
Благодарил(а): 9 раз(а)
Поблагодарили:
0 раз(а) в 0 сообщениях
|
![]()
В общем мне помогло то решение, что выложил, вот немного допилил макрос счетчика, может кому пригодится, добавил туда средний расход из другого макроса. Всю ночь контролер стоял, щелкал на 5 миллионах, все считает не зависло.
Добавил еще макрос генератора импульсов, для тестов. Время цикла, у меня 50мс, для 100 указано на изображении. Последний раз редактировалось Arsie, 30.06.2022 в 03:01 Причина: Удалил вложения за ненужностью |
![]() |
![]() |
![]() |
#8 |
Сотрудник Segnetics
Регистрация: Jan 2006
Адрес: Russia, SPb
Сообщения: 17 384
Благодарил(а): 15 раз(а)
Поблагодарили:
610 раз(а) в 557 сообщениях
|
![]() __________________ Программа делает то что написал программист, а не то что он хотел. Добро всегда побеждает зло. Кто победил - тот и добрый. |
![]() |
![]() |
![]() |
#9 |
Member
Регистрация: Feb 2022
Сообщения: 81
Благодарил(а): 9 раз(а)
Поблагодарили:
0 раз(а) в 0 сообщениях
|
![]() |
![]() |
![]() |
![]() |
#10 |
Сотрудник Segnetics
Регистрация: Jan 2006
Адрес: Russia, SPb
Сообщения: 17 384
Благодарил(а): 15 раз(а)
Поблагодарили:
610 раз(а) в 557 сообщениях
|
![]() __________________ Программа делает то что написал программист, а не то что он хотел. Добро всегда побеждает зло. Кто победил - тот и добрый. |
![]() |
![]() |
![]() |
#11 |
Member
Регистрация: Feb 2022
Сообщения: 81
Благодарил(а): 9 раз(а)
Поблагодарили:
0 раз(а) в 0 сообщениях
|
![]() 'максимальный регистрируемый временной промежуток' также является временем жизни блока памяти SMH2010, т.к. количество гарантированных записей в неё ограничено - 800000 раз, поэтому нормальное время периода отсчётов должно быть согласовано со сроком жизни контроллера. Рекомендуемое время 450 секунд, при этом для достижения точности в 2% (средневзвешенной) ресурс устройства должен быть не менее 1500 часов, для точности 5% (средневзвешенной) не менее 1000 часов и для точности в 10% (средневзвешенной) не менее 750 часов. Ресурс памяти при рекомендуемом времени периода (450 сек) составляет 11.5 лет (4167 дней). Это справедливо и для SMH4? Что если, я буду использовать так же запись в настройки, но не при каждом срабатывание счётчика, а по времени, например раз в 10 минут? В общем переделаю сейчас макрос, благо это не долго. Последний раз редактировалось nick86, 28.06.2022 в 16:39 |
![]() |
![]() |
![]() |
#12 |
Сотрудник Segnetics
Регистрация: Jan 2006
Адрес: Russia, SPb
Сообщения: 17 384
Благодарил(а): 15 раз(а)
Поблагодарили:
610 раз(а) в 557 сообщениях
|
![]() В лоджике более актуальная версия, там есть про SMH4. Добавлено через 3 минуты Ваш подход, когда вы отталкиваетесь от контроллера, в корне неправильный. При решении, как лечить человека от насморка, не отталкиваются от того, что в кладовке есть только топор и пила, а подыскивают нужного специалиста с нужным инструментарием. Судя по тому, что вы делали ручную корректировку счётчика, контроллер выполняет вспомогательную роль. Т.е. требования к надёжности счёта задаются больше интервалами проверки системы оператором. __________________ Программа делает то что написал программист, а не то что он хотел. Добро всегда побеждает зло. Кто победил - тот и добрый. |
![]() |
![]() |
![]() |
#13 |
Member
Регистрация: Feb 2022
Сообщения: 81
Благодарил(а): 9 раз(а)
Поблагодарили:
0 раз(а) в 0 сообщениях
|
![]() |
![]() |
![]() |
![]() |
#14 |
Сотрудник Segnetics
Регистрация: Jan 2006
Адрес: Russia, SPb
Сообщения: 17 384
Благодарил(а): 15 раз(а)
Поблагодарили:
610 раз(а) в 557 сообщениях
|
![]() __________________ Программа делает то что написал программист, а не то что он хотел. Добро всегда побеждает зло. Кто победил - тот и добрый. |
![]() |
![]() |
![]() |
#15 |
Member
Регистрация: Feb 2022
Сообщения: 81
Благодарил(а): 9 раз(а)
Поблагодарили:
0 раз(а) в 0 сообщениях
|
![]() Буду писать значит раз в минуту или 10. |
![]() |
![]() |
![]() |
#16 |
Member
Регистрация: Feb 2022
Сообщения: 81
Благодарил(а): 9 раз(а)
Поблагодарили:
0 раз(а) в 0 сообщениях
|
![]() Спасибо, что про циклы записи написали, я что то как то про это и не подумал. Последний раз редактировалось Arsie, 30.06.2022 в 03:00 Причина: Удалил вложения за ненужностью |
![]() |
![]() |
![]() |
#17 |
Member
Регистрация: Feb 2022
Сообщения: 81
Благодарил(а): 9 раз(а)
Поблагодарили:
0 раз(а) в 0 сообщениях
|
![]()
В макросе кое что подправил, для надежности.
|
![]() |
![]() |
![]() |
#18 |
Member
Регистрация: Feb 2022
Сообщения: 81
Благодарил(а): 9 раз(а)
Поблагодарили:
0 раз(а) в 0 сообщениях
|
![]()
Ту часть макроса, что отвечает за средний расход, я взял тут с форума, в общем чушь какую то он считает, не фига не правильно, буду переделывать.
|
![]() |
![]() |
![]() |
#19 |
Member
Регистрация: Feb 2022
Сообщения: 81
Благодарил(а): 9 раз(а)
Поблагодарили:
0 раз(а) в 0 сообщениях
|
![]()
Переделал расчет расхода, теперь работает как надо.
|
![]() |
![]() |
![]() |
#20 |
Member
Регистрация: Feb 2022
Сообщения: 81
Благодарил(а): 9 раз(а)
Поблагодарили:
0 раз(а) в 0 сообщениях
|
![]()
Переделал полностью расчет среднего расчета м3/час.
|
![]() |
![]() |
![]() |
Опции темы | Поиск в этой теме |
Опции просмотра | |
|
|
![]() |
||||
Тема | Автор | Раздел | Ответов | Последнее сообщение |
Формат Real в Modbus RTU (нет проблемы) | Vibo | Вопросы о Pixel | 8 | 02.03.2022 10:22 |
Состояние дискретных входов при запуске (нет проблемы) | voltel | Вопросы о программировании | 19 | 26.01.2021 15:29 |
Проблема при подключении FMR к Matrix (нет проблемы) | kulepov | Вопросы о Matrix | 14 | 26.04.2020 16:38 |
Проблема зависание 2Gi/MC | djaval | Вопросы о SMH-2G(i) | 108 | 20.09.2017 18:58 |
SMH2G ошибка при загрузке по RS 232 (нет проблемы) | serg_19 | Форум Segnetics | 6 | 30.08.2016 00:39 |