EasyBuilder, замеченные ошибки, пожелания усовершенствования

Работа с панелями оператора Weintek - подключение, программирование, совмещение с ПЛК

Модераторы: kiv, 8bit, VanMo

Re: EasyBuilder, замеченные ошибки, пожелания усовершенствов

Сообщение ArtemPM » 08 дек 2021, 12:16

8bit писал(а):К чему такие сложности ?
У вас структура с полями из массивов ? Покажите как объявили эти переменные в Codesys.
Даже если такие нагромождения нужны для вычисления в ПЛК, то точно не нужны в HMI.
Хорошим тоном является создавать отдельный набор тегов, DB'шечки для тегов HMI, в котором можно учесть особенности синтаксиса тегов самого HMI

Сложностей там нет.
Есть структура данных с характеристиками камеры
Изображение
Есть массив камер, имеющий тип данной структуры
Изображение
Я посмотрел, что по подобному массиву можно делать навигацию через индекс и сделал так специально, чтобы не делать кучу окон для каждой камеры.

8bit писал(а):Синтаксически Application.PLC_PRG.TestInt[0 + value in Index Register 0] немного отлиается от Application.GVL.Cmr[0+1].HeatH

Это я уже описывая тут, подставил место индекса единицу, так то там у меня корректно стоит индекс.
Суть в чем:
Application.GVL.Cmr[0+value in Index Register 0].HeatH при Index Register 0 = 1 должен давать ссылку на ячейку памяти Application.GVL.Cmr[0+1].HeatH, то есть по сути Application.GVL.Cmr[1].HeatH, но в реальности эти ячейки имеют разное значение.
А вот если я сделаю несколько полей с разными индексами, например:
Application.GVL.Cmr[0+Index0].HeatH, Application.GVL.Cmr[0+Index1].HeatH и.т.р, то при равных Index0 и Index1 они покажут одинаковое значение.
Я допускаю, что когда это будет работать с реальным ПЛК то всё будет корректно, но в режиме симуляции это немного мешает отлаживать программу.
8bit писал(а):Так же не будет работать вариант индекса в двойном массиве типа Application.PLC_PRG.TestInt[0 + idx0, 1]

Двойной массив не используется у меня.
У меня есть вариант массив в массиве
Application.GVL.Cmr[0].Countdown[0+Index0]
И данный вариант работает абсолютно корректно в симуляции
ArtemPM
 
Сообщения: 197
Зарегистрирован: 14 апр 2021, 05:16

Re: EasyBuilder, замеченные ошибки, пожелания усовершенствов

Сообщение Number17 » 08 дек 2021, 13:28

8bit писал(а):
Number17 писал(а):По макросам. Затруднительно понять где используется и каким образом запускается макрос (особенно если копаешь чужой проект). Если с атрибутами макроса I, P, S всё понятно, то вот как например узнать что макрос запускается по активации какого либо элемента, триггера или вызывается из другого макроса методом SYNC_TRIG_MACRO? Хотелось бы иметь инструмент дающий максимум информации по макросу.


как бы вы хотели это видеть ?


История моего пожелания:
Потребовалось подкорректировать чужой проект. В нём было много макросов. Долго разбирался какие используются, а какие нет. Присутствовало значительное количество вызовов макросов из макросов.
Пришлось просмотреть все макросы что бы понять как работает всё это хозяйство.
Как бы хотел видеть? Примерно так:
Для каждого макроса отображается некое окно со свойствами макроса, а именно:
- ID и имя макроса,
- размер макроса, например, в количестве строк,
- активация макроса ( I, P, S, триггера, ID макроса из которого происходит вызов и его тип sync или async, макрос привязан к активации переключателя и тд и тп ),
- Ячейки и теги с которыми производятся операции в макросе.
Это то что первое на ум пришло.
Ещё полезной штукой была бы реализация глобального поиска по всем макросам. Закинул в поле поиска имя тега (или текстовую строку ) и получил информацию об
ID и номере строки макроса где искомое встречается. Собственно через это возможно и места вызова макроса в макросе локализовать.
Number17
 
Сообщения: 152
Зарегистрирован: 06 мар 2018, 12:08

Re: EasyBuilder, замеченные ошибки, пожелания усовершенствов

Сообщение Number17 » 09 дек 2021, 14:42

8bit писал(а):
Number17 писал(а):EBP версия 6.06.01.400

Если открыть карту адресов и кликнуть по какой либо ячейке LW, RW или LB, то внизу отображается где используется эта ячейка -окно, элемент, макрос.
Но вот с LW_bit, RW_bit ситуация немного иная. Если выделить какой то бит в карте LW_bit, например, то отображение места использования происходит только в случае если используется где то всё слово целиком.


версия 6.06.02.190
использованный LW_Bit прекрасно отображается в таблице адресов: к лампочке привязан 1 бит в слове LW-90 - он отмечен желтым в таблице адресов

LW_Bit_pointer.png


Всё дело в в двоеточии оказалось... Если бит определять как 19:01, например, то в определении тегов это прокатывает. Всё вроде работает, но не отображается использование бита. Если определять как 1900 в теге, то всё определяется. Тогда пожелание: что бы при определении LW_Bitа в теге в формате XX:YY программа ругалась, а не проглатывала это. Я и запутался из за этой неоднозначности.
Number17
 
Сообщения: 152
Зарегистрирован: 06 мар 2018, 12:08

Re: EasyBuilder, замеченные ошибки, пожелания усовершенствов

Сообщение 8bit » 09 дек 2021, 15:11

Number17 писал(а):Если бит определять как 19:01


где вы такой синтаксис то взяли ?
Хороший вопрос содержит половину ответа - A good question contains half the answer
Аватара пользователя
8bit
 
Сообщения: 1108
Зарегистрирован: 20 апр 2020, 19:07

Re: EasyBuilder, замеченные ошибки, пожелания усовершенствов

Сообщение X200881 » 09 дек 2021, 16:06

8bit писал(а):Такая ситуация и с другими "текстовыми" (иерархичным в виде дерева) тегами есть - теги хранятся "в драйвере".
Как вы это себе представляете ?
Как бы вы это хотели видеть ?
Чем точнее желаемый результат описывается разработчикам Weintek, тем выше вероятность его реализации...


Здравствуйте.
1. Я хотел бы видеть как и у других производителей HMI. Способ импортирования тегов должен не иметь значения, после импорта все пользовательские тэги должны отобразится в библиотеке адресных меток. Для просмотра, редактирования или добавления новых. Что понятно и логично.
2. Хотелось бы чтобы элементы на экране реальной панели отображались без связи с ПЛК, а не был пустой экран, кроме статичных объектов. Ошибка нет связи выводится, не пойму почему это должно мешать прорисовки элементов? Если связь подключить, все прорисовывается, после отключаю объекты остаются, и выводится сообщение о потери связи. Считаю это не логичным.
3. Хотелось бы иметь возможность для дискретных сообщений (ошибок) выбирать бит в слове. А непобитно как сейчас. Например: ошибки читаются из MW0-общяя переменная для 16 ошибок, я пишу 1. m0.0(mw0 бит-0)-теплуха, m0.1-ошибка частотника
X200881
 
Сообщения: 45
Зарегистрирован: 27 авг 2014, 13:00

Re: EasyBuilder, замеченные ошибки, пожелания усовершенствов

Сообщение Number17 » 09 дек 2021, 16:36

8bit писал(а):
Number17 писал(а):Если бит определять как 19:01


где вы такой синтаксис то взяли ?


Не помню уже. Написал так и заработало же. Не совсем понятно почему работает если формат неверный?
Number17
 
Сообщения: 152
Зарегистрирован: 06 мар 2018, 12:08

Re: EasyBuilder, замеченные ошибки, пожелания усовершенствов

Сообщение ArtemPM » 09 дек 2021, 17:06

X200881 писал(а):3. Хотелось бы иметь возможность для дискретных сообщений (ошибок) выбирать бит в слове. А непобитно как сейчас. Например: ошибки читаются из MW0-общяя переменная для 16 ошибок, я пишу 1. m0.0(mw0 бит-0)-теплуха, m0.1-ошибка частотника

Так это есть и сейчас, только в виде LW_bit, 4x_bit.
А если уж говорить о синтаксисе сименса, то в драйверах есть и VW_bit и DBnBit и даже M, если он вам так нужен.
Зачем выдумывать то, что уже работает? Тот пример, что вы привели так и будет записываться: M00, M01.
ArtemPM
 
Сообщения: 197
Зарегистрирован: 14 апр 2021, 05:16

Re: EasyBuilder, замеченные ошибки, пожелания усовершенствов

Сообщение ArtemPM » 09 дек 2021, 17:14

8bit писал(а):Такая ситуация и с другими "текстовыми" (иерархичным в виде дерева) тегами есть - теги хранятся "в драйвере".
Как вы это себе представляете ?
Как бы вы это хотели видеть ?

Кстати, а ведь у них оказывается было уже что-то похожее. Смотрел мануалы и наткнулся на картинку:
https://dl.weintek.com/public/cMT/eng/U ... al_eng.pdf
Вот в этом мануале, на странице 12 (9 по нумерации внутри документа), есть скриншот менеджера тегов для текстовых тегов. Видимо они его по какой-то причине убрали или сделали, но забыли поместить кнопку на панель, по крайней мере я ни где ни чего похожего не нашел.
Вот в таком виде он бы меня наверно вполне устроил. Если еще добавить подсветку используемых тегов, то вообще будет замечательно
ArtemPM
 
Сообщения: 197
Зарегистрирован: 14 апр 2021, 05:16

Re: EasyBuilder, замеченные ошибки, пожелания усовершенствов

Сообщение X200881 » 09 дек 2021, 22:03

ArtemPM писал(а):
X200881 писал(а):3. Хотелось бы иметь возможность для дискретных сообщений (ошибок) выбирать бит в слове. А непобитно как сейчас. Например: ошибки читаются из MW0-общяя переменная для 16 ошибок, я пишу 1. m0.0(mw0 бит-0)-теплуха, m0.1-ошибка частотника

Так это есть и сейчас, только в виде LW_bit, 4x_bit.
А если уж говорить о синтаксисе сименса, то в драйверах есть и VW_bit и DBnBit и даже M, если он вам так нужен.
Зачем выдумывать то, что уже работает? Тот пример, что вы привели так и будет записываться: M00, M01.

Можете фотку окна выложить, где LW_bit, 4x_bit. для сименс?
X200881
 
Сообщения: 45
Зарегистрирован: 27 авг 2014, 13:00

Re: EasyBuilder, замеченные ошибки, пожелания усовершенствов

Сообщение ArtemPM » 10 дек 2021, 03:55

X200881 писал(а):Можете фотку окна выложить, где LW_bit, 4x_bit. для сименс?

А где я утверждал, что они для сименса? Это просто пример.
Для сименса ниже описаны адреса
ArtemPM писал(а):А если уж говорить о синтаксисе сименса, то в драйверах есть и VW_bit и DBnBit и даже M, если он вам так нужен.
ArtemPM
 
Сообщения: 197
Зарегистрирован: 14 апр 2021, 05:16

Пред.След.

Вернуться в Weintek

Кто сейчас на конференции

Сейчас этот форум просматривают: Google [Bot] и гости: 8