И как часто у вас запись происходит? Подробнее.
Вид для печати
данные меняются 1 раз в 12 часов (беру данные с модуля мэ210-701, из профиля мощности, срез 12 часов)
теперь эти 12-ти часовки нужно размазать на 10 дней и уместить в одном окне графика
У меня не совсем вопрос. У меня непонимание. Я сделал проект для панели СП307. Там используется Цифровой дисплей, с параметрами разрядности Float: Всего знаков: 4 и Дробная часть: 1. В моем наивном понимании это означает отображение чисел в диапазоне: 000,0 ... 999,9. Пусть и со знаком. Вместо этого, при неподключенном датчике мне панель отображает следующее: 1,0 +04. Это что вообще? Как это соотносится с выставленными параметрами? И зачем тогда выставлять эти параметры, если разработчикам ОВЕН на них начхать? Если у вас число не влазит в выбранный формат, то пишите например ЕЕЕ,Е? Или что-нибудь подобное, но что за "колхоз" у вас вместо этого?
Для начала надо проверить правильность передачи регистров и байт с подключённым датчиком, а так же написать какой модуль (датчик).
1,0 +04 это 10000, у вас максимум 999.9 так что всё логично, знаков не хватает. Также возможно модуль передаёт ошибку, тут надо всё проверять.
Если отображает не верно, возможно надо поставить галку, Переставить регистры в настройках панели, переменная Float состоит из 2 регистров (4 байта)
чисто абстрактно
вам не нравится, как условно, пусть будет "овен", решил отображать число в каком-то случае в экспоненциальном виде, стандартизированной нотации, понятной всем, кто связан с информатикой и программированием
и у вас с этого бомбит
вы хотите чтобы это было по-другому. например ЕЕЕ или ФФФ, вам же надо "подобное"?
я правильно понимаю, что это чисто ваши вкусовые субъективные личностные предпочтения и хотелки и вы не знаете, что такое экспоненциальный вид записи числа?
Меня "бомбит" от того, что я средствами Конфигуратора от ОВЕН настроил нужный мне формат отображения числа. А вместо этого отображается абы что. Я конечно решил проблему, но если вы (допустим ОВЕН) сами определяете параметры настройки отображения, так почему не следуете собственным же параметрам? Вот в чем дело. Мое предложение про ЕЕЕ - и было просто предложением и все, но которое позволило бы разработчиками ОВЕН вписаться в их же формат, если бы им было не начхать. А для разработчика системы, т.е. в данном случае меня, важно чтобы отображалось то, что задано, потому что "экспоненциальная запись" вылазит за границы элемента, что для у конечного заказчика неприятный "осадок" оставляет.
To starmos
Так понял что пытаясь налить 0.5 в рюмку, вы предъявляете производителю рюмки за мокрый стол?
а меня вот лично бомбит от того, что в 1961 году, наши деды и прадеды запустили первыми в мире ракету с человеком в космос, не имея телефонов, калькуляторов и компьютеров, а только логарифмическую линейку и в лучшем случае механический арифмометр, у которого крутили ручку
а китайцы в это время в подавляющем большинстве своём мотыгами копали канавы, ходили в тряпичных тапках с картонной подошвой и ели чашку риса в день и смотрели на наши запуски в космос как на нечто недостижимое
а спустя каких-то 70 лет, потомок тех китайцев, за вас подумал "а вдруг белый господин поставит галочку на 4 знака, а сам подаст сигнал в 5 знаков, что тогда делать?" и написал за вас алгоритм, обработки превышения ограничений поставленных пользователем и сделал автоматический перевод в экспоненциальный формат, чтобы всё-таки постараться дать белому господину информацию о значении его параметра, вдруг это для него важно будет?
Но китаец не может даже представить, что потомки людей, запустивших первыми ракету с человеком в космос, и называющих себя типа "программист", не знают что такое экспоненциальный формат представления числа, который применяется для больших или многознаковых чисел и у него "осадок остаётся" и он не понимает, что он сам же задал ограничение по числу знаков и сам же его превысил
и обвинил в этом несчастного китайца, пользуясь при этом компьютером, собранным в Китае из китайских комплектующих и разговаривая по китайскому телефону и смотря в китайский монитор
както вот так вот это всё выглядит
Просто мы хотим быть всегда первыми!!! Тогда быть первыми в космосе, а теперь первыми в ж...е. Ну согласитесь. У нас же хорошо и это получается.
Здравствуйте, подскажите, пожалуйста, как передать переменную типа DT из ПЛК в панель
Данные будут передаваться в "таблицу отображения данных. В инструкции написано что тип данных DT содержит 6 слов
Вложение 84979
Вопрос: как разложить DT в ПЛК правильно на 6 слов (и в каком виде это должно быть - разделит Дата-месяц-день-час-мин-сек по словам или как то иначе), какую библиотеку использовать, и выставить их в правильной последовательности, что бы панель считала и адекватно отобразила дату
теперь возник следующий вопрос как перевести в стринг (в панели занимает 3 слова), oscat basic не нашел такой функции
извиняюсь за глупый вопрос...
кажется что то делаю не так
Вложение 84984
Вложение 84985
Вложение 84986
посмотрел приме (спасибо за него), вроде все так, кроме того что я читаю с входных регистров (0х3)
Вложение 84991
Вложение 84992
В итоге все показывает кроме даты
Должно показывать
Вложение 85001
а в плк нужно из word переводить в BCD?, потому что у меня сейчас именно так, как у вас на картинке
Да, заработало, сделал преобразование в плк word_to_bcd и дата/время начали отображаться на панели корректно
Вложение 85014
Спасибо за помощь!
Подскажите, имеется панель оператора СП310р подключённая к сети ethernet видимо через modbus tcp, к контроллеру и датчикам (не более 6) климата, задача мониторинг диспетчером, но у диспетчера 4 монитора и смотреть ещё на выносную панель не удобно, хочу докинуть в один из мониторов на виртуалке мониторинг, эмуляция в конфигураторе работает плохо да не более 25 минут, я не асутпшник,но вроде понимаю как устроена логика, как можно реализовать , подойдёт ли SCADA-система Owen Monitor? или надо что то более навороченое+ орс сервер или MasterSCADA 4D? Или есть простой вариант передавать данные с панели в браузер (как на apc упс) или альтернативную систему?
Рапид скаду юзай, она еще и бесплатна. Для мониторинга пойдет.
PS Только не с панели, а с плк и датчиков, как и сама панель.
Спасибо, скада вроде понятная, но при добавлении устройства modbus tcp прописал адрес IP и адресацию 1, линия связи не видит, при этом эмулятор на локал хост видит данные, а плк нет, пробовал общий и индивидуальный, не видит, на форуме пишут, что настраивать нужно не стандартно а иметь понимание в скада ОВЕН и использовать приёмы конфигов в Рапиде учитывая специфику рапиды, тоесть нужно хорошо знать и рапиду, что совсем не подходит новичку, модет ктото уже делал проект с овен ПЛК и есть сохранённый я конфиги попробую переделать?
PS: вроде победа видит датчики, осталось нарисовать мнемосхему
Есть несколько предложений.
1. Если данные нужны только на определенном экране, передавайте и принимайте их в локальном виде только на этом экране.
2. журналы событий\исторические таблицы - привязывайте к битам слова, скажем PSW. В слова информацию формируйте в контроллере и передавайте отдельным общим запросом. Получается, что каждая таблица отдельно ведет опрос по протоколу с контроллером. Так вы будете запрашивать из одного места.
3. Когда в функциональной области формируете запрос, делайте не постоянный опрос а с интервалом, скажем 1 секунда.
4. Возможно поможет галочка групповые запросы.
5. Архивирование на USB нужно делать в параллельном режиме.
6. Попробовать заменить Modbus на Modbus TCP.
7.
Такое решение - самообман.
Любые функции чтения регистров или группы регистров в ф.области вызывают операции чтения всех соответствующих регистров "источника" непрерывно и безусловно, даже если "Условие запуска" ф.области не выполняется.
И лишь реальное обновление регистров "приемника" выполняются в момент наступления "условия запуска" ф. области.
Т.е. эсли Вы попытаетесь делать опрос(копирование в регистры панели) 100 регистров из слейва с интервалом, скажем 1 секунда, то панель будет непрерывно, делать запросы на чтение 100 регистров из слейва и только один раз в секунду обновлять значения в регистрах панели.
ЗЫ.
В общем случае
Регистры 3х и 4х. Чтение
Все регистры, используемые в качестве источника данных для элементов активного экрана, постоянно и безусловно читаются из слейва с периодичностью заданной в настройках "Коммуникационный интервал" порта панели.
Чтение будет осуществляться группой если адреса регистров отличаются не более чем на 5, например
- для двух дисплеев с регистрами Wrd 4х00 и 4х5 будет одна команда чтения шести регистров 0,1,2,3,4,5. А для двух дисплеев с регистрами Wrd 4х00 и 4х6 будут две отдельные команды чтения по одному регистру.
- для двух дисплеев с регистрами DWrd 4х00 и 4х6 будет одна команда чтения восьми регистров 0,1,2,3,4,5,6,7. А для двух дисплеев с регистрами DWrd 4х00 и 4х8 будут две отдельные команды чтения по два регистра.
Соответственно к вышеописанной цепочки из двух регистров могут добавляться последующие регистры, если их адрес отличаются не более чем на 5 от предыдущего. Например
- для трех дисплеев с регистрами Wrd 4х00, 4х5 и 4х8 будет одна команда чтения девяти регистров 0,1,2,3,4,5,6,7,8.
и т.д.
Но максимальное число регистров в групповой команде чтения не может превышать 16.
Запись регистров 3х и 4х, используемых в полях ввода - однократная, в момент нажатия ENTER.
Запись регистров из ф. областей тоже по возможности группами из 16 рег.
Если на экране есть регистры на чтение и на запись, то чтение запись чередуются
-чтение 1 группы
- запись 1 группы
-чтение 2 группы
- запись 2 группы
и т.д
Таблицы в группировке с другими элементами экрана не участвуют. Для таблиц всегда будут свои групповые(если столбцов несколько) или одиночные(если только один столбец) запросы к слейву.
Таблица представлена массивом структур.
Формат структуры и количество регистров в ней определяется количество столбцов и типом данных в каждом столбце.
Таблицы читаются построчно. Причем второе правило "максимальное число регистров в групповой команде чтения не может превышать 16" на таблицы не распространяется, в одной группе будет столько регистров, сколько нужно для одной строки, хоть 125!
Запросы на чтение строк разнесены по разным циклам выполнения программы.
В каждом цикле читаются все регистры только одной строки
Например на экране есть ДИСПЛЕЙ и ТАБЛИЦА 1 столбец 3 строки
1. чтение 4х0 (дисплей)
2. чтение 4х2 (первая строка таблицы)
3. чтение 4х0 (дисплей)
4. чтение 4х3 (вторая строка таблицы)
5. чтение 4х0 (дисплей)
6. чтение 4х4 (третья строка таблицы)
и т.д.
Если ДИСПЛЕЙ и ТАБЛИЦА 10 столбцов 3 строки
1. чтение 4х0 (дисплей)
2. чтение группы 4х2, 4х3...4х19 (первая строка таблицы)
3. чтение 4х0 (дисплей)
4. чтение группы 4х20, 4х21...4х29 (вторая строка таблицы)
5. чтение 4х0 (дисплей)
6. чтение группы 4х30, 4х31...4х39 (третья строка таблицы)
и т.д.
Надо различать элементы экрана
- обычные, глобальные, на системных экранах
Например, на экране есть
дисплей с регистром 4х0
Функциональная область в которой
- читать один рег. 4х3
- читать группу из 5 рег. с адреса 4х5
Если дисплей и ф. область обычные, то будет один групповой запрос
читать группу из десяти регистров - 0, 1, 2, 3, 4, 5, 6, 7, 8, 9
Если и дисплей и ф. область будут глобальными, то также будет один групповой запрос
читать группу из десяти регистров - 0, 1, 2, 3, 4, 5, 6, 7, 8, 9
Но если только дисплей или только ф. область будут глобальными, то будет два отдельных запроса
1. читать рег. 4х0
2. читать группу из семи регистров - 3, 4, 5, 6, 7, 8, 9
Следует иметь ввиду, что кроме обычных экранов у панели есть еще системные (невидимые) экраны, их несколько.
И выполнение(обслуживание) экранов происходит как и в ПЛК - циклически
- системный экран 1
- системный экран 2
........
- системный экран N
- пользовательский активный экран
Считайте, что элементы со свойством глобальный находятся на невидимом системном экране
Группировка с правилом "разница между стартовыми адресами не более 5" на активном экране своя, на системных (не видимых) экранах своя
Полезная информация, спасибо.
Пара вопросов:
1. "Коммуникационный интервал" - где такая настройка?
2. Содержимое системных экранов увидеть никак нельзя? И сколько их? Чему равно N? Кол-ву глобальных ФО?
И последнее: писать в регистры 3х всё же не стоит, наверное. ;)
Вложение 85218вот здесь.
И что там является "коммуникационным интервалом"? Кроме времени ожидания по смыслу вроде более ничего не подходит. Но оно ли это?
В документации описано именно так, ка написал выше.
Работа с запросом по протоколу в системе скрыта от пользователя, по этому как на самом деле идет обмен по протоколу, как строится очередь из набора ячеек памяти - могу лишь догадываться. Возможен и приведенный вами вариант.
Ну и при наличии макросов можно не выяснять как оно там, а просто написать как себе нужно
Я как-то не так давно этот момент отмечал:
https://owen.ru/forum/showthread.php...l=1#post464998Цитата:
Любопытно, что период опроса у ФО задан 3 сек, однако, 3-мя секундами там и не пахнет - счетчик запросов как из пулемёта строчит. Я еще в онлайн-эмуляции внимание обратил, думал, что на живой панели будет по-другому. А там то же самое.
Простой тест
Вложение 85230
Вложение 85231
Можно в эмуляции, а можно в панель загрузить и убедится, что при выключенном бите управления ФО, чтение регистров в ней выполняется на ура
Вложение 85233
Проект прилагаю
Как интересно форум модерируется....
добрый день. Возникла проблема - установил параметр "выключить подсветку" с интервалом 5 минут (вкладка настройки проекта), панель через 5 минут погасила подсветку, после выхода из заданного режима (касание экрана) на открывшемся экране перестают работать кнопки вызова окна, т.е. я не могу из текущего экрана ни куда перейти. если заставку отключить, то все нормально работает. Подскажите пожалуйста как быть.