ZWB пожелания

Автор VoronovMaksim88, 07 января 2016, 12:31:31

« назад - далее »

serov

Недавно у заказчика опять вылетело частое переключение реле. Отработало без сбоев уже пол года. Когда уже решится проблема? Может нафиг этот функционал? Или на уровне прошивки разруливать.
Может я не так что-то делаю? На выходах специально стоят макросы, прикладываю.

VoronovMaksim88

Цитата: serov от 28 октября 2016, 11:01:10
У меня предложение по усовершенствованию блока таймера:
Было бы удобно добавить функционал удержания выхода в течении некоторого времени и включения по стробу (импульсу) на EN. Например на вход пришел сигнал на включение - выход включается и держится заданное время.
Это крайне легко реализовать программно. Сделать ? Или сами сообразите ?

VoronovMaksim88

Цитата: serov от 28 октября 2016, 11:13:04
Когда уже решится проблема?
Дык вот же решение ))

serov

Цитата: VoronovMaksim88 от 28 октября 2016, 12:15:35
Цитата: serov от 28 октября 2016, 11:01:10
Так нет не надо. Так и делаем програмно. Тут в чем нюанс - в проекте возникает дополнительная переменная для организации обратной связи, а можно было бы избежать. Просто хотелось бы побольше совместимости с другими ПЛК, где есть TON и TOF. Просто башка иногда кипит от разнообразия, сложно переключиться с общепринятых стандартов на стандарт Зентек.
У меня предложение по усовершенствованию блока таймера:
Было бы удобно добавить функционал удержания выхода в течении некоторого времени и включения по стробу (импульсу) на EN. Например на вход пришел сигнал на включение - выход включается и держится заданное время.
Это крайне легко реализовать программно. Сделать ? Или сами сообразите ?
Так нет не надо. Так и делаем програмно. Тут в чем нюанс - в проекте возникает дополнительная переменная для организации обратной связи, а можно было бы избежать. Просто хотелось бы побольше совместимости с другими ПЛК, где есть TON и TOF. Просто башка иногда кипит от разнообразия, сложно переключиться с общепринятых стандартов на стандарт Зентек.

serov

Цитата: VoronovMaksim88 от 28 октября 2016, 12:19:53
Цитата: serov от 28 октября 2016, 11:13:04
Когда уже решится проблема?
Дык вот же решение ))
Согласен, похоже так и придется. Но не есть ведь правильно. Хотелось бы всё таки видеть ошибки-то свои. Хотя наверное по другому сделаю, ошибка пусть появляется и сбрасывается но фиксируется и сообщается.

mike

Цитата: serov от 28 октября 2016, 12:52:15
Цитата: VoronovMaksim88 от 28 октября 2016, 12:15:35
Цитата: serov от 28 октября 2016, 11:01:10
Так нет не надо. Так и делаем програмно. Тут в чем нюанс - в проекте возникает дополнительная переменная для организации обратной связи, а можно было бы избежать. Просто хотелось бы побольше совместимости с другими ПЛК, где есть TON и TOF. Просто башка иногда кипит от разнообразия, сложно переключиться с общепринятых стандартов на стандарт Зентек.
У меня предложение по усовершенствованию блока таймера:
Было бы удобно добавить функционал удержания выхода в течении некоторого времени и включения по стробу (импульсу) на EN. Например на вход пришел сигнал на включение - выход включается и держится заданное время.
Это крайне легко реализовать программно. Сделать ? Или сами сообразите ?
Так нет не надо. Так и делаем програмно. Тут в чем нюанс - в проекте возникает дополнительная переменная для организации обратной связи, а можно было бы избежать. Просто хотелось бы побольше совместимости с другими ПЛК, где есть TON и TOF. Просто башка иногда кипит от разнообразия, сложно переключиться с общепринятых стандартов на стандарт Зентек.

Принято

VoronovMaksim88

Я давно запилил таймеры TON и TOF  в виде макросов.
Но я думаю, надо чтобы такие частоиспользуемые и широковостребованные макросы были в системных библиотеках. Это сильно облегчит задачу начинающим программистам. Главное чтоб макрос в библиотеке был открытым, т.е. можно было бы поглядеть что внутри него.
Кстати могу от себя накидать список макросов, которые хотел бы видеть в системных библиотеках. Можно чтобы все желающие сделали свои списки. Тогда получится нужная пользователям системная библиотека макросов.

Как вам такая идея, коллеги ?

Artem

Цитата: VoronovMaksim88 от 28 октября 2016, 14:08:52


Как вам такая идея, коллеги ?

Идея хорошая, давай попробуем. Некоторые маленькие макросы мы сможем и в блоки закатать.

serge197a

Цитата: serov от 28 октября 2016, 12:52:15
...хотелось бы побольше совместимости с другими ПЛК, где есть TON и TOF. Просто башка иногда кипит от разнообразия, сложно переключиться с общепринятых стандартов на стандарт Зентек.....
на самом деле это не стандарт Зентек. Очень у многих больших производителей
используется только такой таймер.
К примеру Омрон,  Юнитроникс и еще много кто.
тон и тоф удобно, это фб. Для часто используемого можно макрос сделать, как уже советовали. Наращивание библиотек производителем, опять неминуемо упрется в цену изделия. Уж лучше пусть как есть.


VoronovMaksim88

Уважаемые разработчики. Умоляючи прошу вас сделать системную библиотеку для обработки аналоговых входов (температурных).
По сути мне нужен макрос, который бы я мог СКОПИРОВАТЬ (именно скопировать !!!) в программу из системной библиотеки и потом выкинуть на поляну. На входе этого макрос значение с аналогового входа, на выходе температура. Дополнительно есть вход "фильтр" и выход "авария". Что внутри мне всё равно, лишь бы работало.

Для экономии ресурса программы можно сделать ещё пару макросов например для 3-х и для 6-ти входов.

Как приходится делать сейчас.
1. Создаю новый проект.
2. Открываю какой-нибудь старый проект
3. Экспортирую из него макрос Ain_MUX
4. Экспортирую из него макрос полосовой фильтр
5. Экспортирую из него макрос aperiodic filter (float)
6. Импортирую все эти макросы в свой проект
7. Переподключаю внутри Ain_MUX все макросы полосовой фильтр
8. Переподключаю внутри Ain_MUX все макросы aperiodic filter (float)

и только потом могу получить значения 3-х температур.
По-моему не очевидно, особенно для того, кто первый раз сядет кодить на ZWB.

Может я что-то не так делаю ? Может есть более простой способ ?

serge197a

после отладок остается много неиспользуемых переменных.
хорошо было бы иметь кнопку "контроль" проекта,
для выделения неиспользуемых переменных.
Можно было бы их быстро удалять.
К примеру как это реализовано в разделе с модбас переменными.
(очень правильно их подсветили и есть кнопка удаления.)

VoronovMaksim88

Да, неплохая затея.

serov

Цитата: VoronovMaksim88 от 28 октября 2016, 14:08:52
Я давно запилил таймеры TON и TOF  в виде макросов.
Но я думаю, надо чтобы такие частоиспользуемые и широковостребованные макросы были в системных библиотеках. Это сильно облегчит задачу начинающим программистам. Главное чтоб макрос в библиотеке был открытым, т.е. можно было бы поглядеть что внутри него.
Кстати могу от себя накидать список макросов, которые хотел бы видеть в системных библиотеках. Можно чтобы все желающие сделали свои списки. Тогда получится нужная пользователям системная библиотека макросов.

Как вам такая идея, коллеги ?
Мне нравится. Соглашусь - пусть будут системные библиотеки. На самом деле так даже лучше наверное.

serov

Цитата: VoronovMaksim88 от 06 ноября 2016, 16:15:16
Уважаемые разработчики. Умоляючи прошу вас сделать системную библиотеку для обработки аналоговых входов (температурных).
По сути мне нужен макрос, который бы я мог СКОПИРОВАТЬ (именно скопировать !!!) в программу из системной библиотеки и потом выкинуть на поляну. На входе этого макрос значение с аналогового входа, на выходе температура. Дополнительно есть вход "фильтр" и выход "авария". Что внутри мне всё равно, лишь бы работало.

Для экономии ресурса программы можно сделать ещё пару макросов например для 3-х и для 6-ти входов.

Как приходится делать сейчас.
1. Создаю новый проект.
2. Открываю какой-нибудь старый проект
3. Экспортирую из него макрос Ain_MUX
4. Экспортирую из него макрос полосовой фильтр
5. Экспортирую из него макрос aperiodic filter (float)
6. Импортирую все эти макросы в свой проект
7. Переподключаю внутри Ain_MUX все макросы полосовой фильтр
8. Переподключаю внутри Ain_MUX все макросы aperiodic filter (float)

и только потом могу получить значения 3-х температур.
По-моему не очевидно, особенно для того, кто первый раз сядет кодить на ZWB.

Может я что-то не так делаю ? Может есть более простой способ ?
А я например пока так и не воспользовался в своих проектах таким способом. На сколько помню немного больше отъедает ресурсов наличие нескольких блоков линеаризации, поэтому введено мультиплексирование. Я не парюсь, и у меня несколько блоков линеаризации - по одному на температурный вход. Сильно не напрягало ещё. Но теоретически думаю (предполагаю) что на уровне ядра можно было бы оптимизировать это дело - в микроконтроллере ведь всё равно один АЦП, просто входы переключаются.Так может быть обрабатывать линеаризацию входов сразу после считывания входа АЦП? Тем более что всё равно нужна задержка после переключения входа перед измерением. И тогда таблицу датчика в ЗВБ загружать не в блок линеаризации, а в свойствах входа. Будет вообще красиво, можно получать со входа реальное значение любой измеряемой величины (0-10В, 4-20мА, температуру, давление и т.д.), а не абстрактные 0...1023 попугая.

mike

А была такая идея. Она пока в процессе обсуждения. Несколько сложно ее реализовать. Да и на лету не изменить тип универсального входа