макросы для подключения ПР200+МДВВ при помощи битовой маски
Вложение 22095
отдельная благодарность за советы Сергею0308 и capzap....
Вид для печати
макросы для подключения ПР200+МДВВ при помощи битовой маски
Вложение 22095
отдельная благодарность за советы Сергею0308 и capzap....
в проекте макросы для модуля 32 дискретнх входа , 32 дискретнх выхода, макрос регистрации аварий, макрос контроль вращения.
Вложение 23167
сам....как понял так и сделал, главное работает.Цитата:
Макрос для управления сетевым обменом кто делал?
а про что? модуль МДВВ подключал, работает прилично, модули мв110-32дн, му110-32р еще не пришли, но думаю проблем не решаемых не будет.....опробую на железе, отпишусь.Цитата:
Не я не про ваш макрос.
может наоборот, уставки хранить в панели, а пр считывает их в момент запуска и изменения
Может использовать второй слот RS485 как слейв для панели мастер ...
Макрос интервального таймера с маской недели (даты и секунд нет), с возможностью вводить с экрана уставки включения и выключения.
Назначение входов и выходов описаны в свойствах, в поле комментарий.
Вложение 23222
Вложение 23229
Вложение 23227
Вложение 23228
ЗЫ авторское право по схеме подключений стандартных ФБ оставляю за собой.
UPD: >>Ссылка на вторую версию (v2) макроса интервального таймера с маской недели.
Именно так и работает, но если при запуске таймера время включения таймера меньше текущего времени, то выход таймера соотвественно включится и далее выключится по заданному времени выключения, и цикл вкл-выкл будет повторятся только, если на входе "off/one/repeat" установлено значение = 2.
В общем-то ничего особенного и пример скорее будет интересен не макросом, т.к. на форуме макрос вычисления дня недели давно уже есть (жаль, я наткнулся на него после того, как собрал сам), а применением на экране элемента управления "Динамический текст" в качестве списка.
Вложение 23268
Вложение 23333
Еще один пример о применении на экране, элемента управления "Динамический текст" в качестве бегущей строки, с помощью простенького макроса "бегущая строка".
Вложение 23334
Speed scroll - Скорость прокрутки текста от 1 до 10, где:
1 = 1 сек., т.е. смещение строки на один символ через 1 секунду;
2 = 0,9 сек. - смещение строки на один символ через 0,9 сек.;
3 = 0,8 сек. - смещение строки на один символ через 0,8 сек.
4 = 0,7 сек. - смещение строки на один символ через 0,7 сек.
и т.д....
На мой взгляд, читабельные скорости от 1=1сек. до 6=0,5сек., а самая оптимальная 5=0,6сек.
ЗЫ если кому-то надо..., то в свойствах блока CTN можно включить: "Сохранение состояния = Да".
Отличное решение для вывода бегущей строки.
Могу предложить своей вариант макроса бегущей строки, не идеальный но рабочий.
https://youtu.be/EG9WuWt-fMk
Некоторые особенности:
Выводит любую информацию, даже строки превышающие размер экрана.
Возможность выводить в бегущей строке переменные (целочисленные, булевские, с плавающей запятой)
Легко создать бегущую строку, создается только одна строка с любым содержимым
Возможно адаптировать под вертикально бегущую строку.
Необходимые настройки:
Длинна строки: суммарное колличество символов включая пробелы
Скорость: указывается в миллисекундах (скорость смещения на 1 символ)
Реализация:
Изменение координаты X или Y путем привязки переменной.
В Архиве проект и макрос.
Класс! не знал, что для координат Х и У, тоже можно указывать переменную.
Вложение 23343
пришли модули мв110-32 и му110-32р, собрал в кучу, результатом доволен, входы-выходы довольно шустро работают
Вложение 23404
Не знаю как реализовать в ОЛ измерение времени, прошедшего от события, с точностью до 10мс. Счет коротких интервалов дает неприемлемую погрешность. Существует ли другой способ?
а какое время цикла пр у вас
Время цикла 5мс. В общем, удалось написать макрос для измерения времени с точностью примерно 1% (на базе 2 мин отклонение счета времени примерно 1с) . Просто если бы как-то можно было прочитать текущее время из таймера, все намного проще было бы. Считаю циклы, и дополнительно вычисляя коэффициент поправки по количеству циклов на базе 1с, получаю высокую точность измерения времени при любом времени цикла. Просто сложновато для такой простой функции, может всё проще можно?
А что нельзя считать импульсы с блинка ,с периодом 10мс?А какая макс.длительность события у вас ?
Блинк работает от внутреннего таймера по прерыванию ,на формирование Тимп и Тпаузы ,нужно два цикла ПР ,если время цикла ПР менее 5мс ,то блинк с периодом 10мс будет считать точно и за 5мин.Если задать меньший период генератора ,чем время цикла ПР ,то генератор будет генерить с периодом 2Тцикла .
Погрешность не накопиться большая за 5мин..
Что большая у вас программа для ПР200 ,если время цикла 5мс,имхо.
10мс от 5сек это 2%.
Если блинк по прерыванию -можно попробовать, спасибо за замечание. Я не был уверен что по прерыванию, про такое негде прочитать. Но если даже полупериод блинка меньше времени цикла, он вообще начнет глотать изменения состояния внутри цикла и будет генерить случайную лабуду. Прицел был взят на будущее время цикла около 10мс. Значит на блинке не менее 15/15мс должно быть? Это погрешность 15мс если ловить в счетчик оба фронта. Но если с этим мириться, то можно упростить и использовать блинк.
Еще стоит заметить что в симуляторе можно минимальное время цикла сделать только 100мс и значит в симуляторе блинк с малым периодом будет работать неправильно, этого не хочется.
а как насчет слежения за системным временем, точнее за секундами, по их изменению подсчитывать количество импульсов с генератора, пересчитывать среднее количество и из полученного значения и текущего количества очередной пачки импульсов вычислять миллисекунды
это как шим ,есть период ,а есть длительность импульса Тц
О, да, да! Прикосновение к этой задаче выявило явную необходимость такого ФБ. Решение простой функции измерения времени окольным путем на существующих средствах ОЛ слишком сложное, это неразумно. У нас ведь нет доступа к прерываниям. Давайте требовать такой ФБ, с выходом времени в миллисекундах! Лучше всего если это будет расширенный TON, на втором выходе которого текущее время в таймере. Это совместило бы две функции и дало бы ограничение счета времени. Конечно, с возможностью читать из ФБ. Можно даже и выхода второго не давать, просто дать возможность читать текущее время из TON. В симуляторе его показывают, дайте читать его в программу!
вас что то не туда понесло ...даже если вам часы давали миллисекунды ,счетчик или таймер то обрабатывается раз в цикле ,который 5мс,например .значит все импульсы которые чаше будут по боку. и не какой макрос не спасет и фб .тут нужен быстрый аппаратный счетчик,которого нет в пр.
как в КДС, каким не был цикл плк, функция TIME возвращает некоторое число равное на данный момент отсчету времени с момента включения плк и если сравнивать два этих вызова между некими событиями у нас будет результат прошедшего времени между ними. Можно обойтись даже без элементв, целочисленные всёравно 4-х байтные поэтому иметь поле показывающее это http://currentmillis.com/ я предлагал еще обсуждая ПР114
Макрос EPROM -16ячеек по 32бит (до 240ячеек) - независимые входа для записи и считывания.
Макрос ROM - 16ячеек по 32бит (нужные значения вводятся в "свойствах макроса") (до 256 ячеек по32бит)
EPROM.JPG
В новом журнале АиП есть статья на стр.34,35 рассказывающая об новых макросах управления котлами которые доступны онлайн, но их там нет. Когда можно будет посмотреть?
на фтп скачайте
Вы таки пальцем покажите,где :) Последние обновления в прошлом году были.
Вложение 24812
Эдуард_Н Они и ПР200 анонсировали в 2014 году. Намёк думаю понятен.
Добрый день.
Действительно пишутся элементы для управления автоматикой котлов. К сожалению АиП вышел чуть раньше, чем готовы макросы.
В ближайшее время выясним ситуацию и обязательно сообщим Вам.