У меня в контроллер и из контроллера передаются температуры по каналам DWORD, в которых считается что младшая десятичная цифра стоит после запятой. Как отображать эту информацию в окне Genesisa понятно, а вот как передать, например 12,3, непонятно. Помогите
Куда передать? не совсем понятна суть проблемы
У Genesisa формат отображения и ввода числа настраивается
Сергей
Передается как целое, но подразумевается, что последний знак это десятичная дробь... Делите на 10 будет дробь. используйте вкладку выражение.
Все правильно для отображения применяю деление и вывожу в окно, а как сделать чтобы в этом же окне изменить это значение и передать его обратно в контроллер. Т.е. логически понимаю что нужно это число уже умножить на 10 и отослать в контроллер, а как это сделать технически. Выражении это не позволяет. Выражения только служат для изменениия отображения тега.
Думаю, можно использовать тег DataWork'а брать тег с экрана и множить на 10
Да наверно это подойдет, но значит это что нужно заводить столько же промежуточных регистров сколько и тегов (аналоговых) для передачи в контроллер. А если их много то это куча времени. Очень неудобно. Например в TraceMode можно масштабировать теги, и давольно таки просто, а здесь. Я думал, что в инспекторе объектов формат представления данных и служит для того, чтобы указать на каком месте стоит запятая, а нет. В скриптах я плохо разбираюсь, может быть через них проще будет, точнее быстрее разработка пойдет?
Быстрее скриптом не выйдет. Скрипт должен быть прикручен к какому нибудь событию, это делает универсальные скрипты не особо эффективными, а если прикручивать скрипт к каждому тегу, то по времени нифига не быстрее выходит. Единственное я не задействовал ни разу ScriptWork и в полной мере не знаю его функциональности, но сложилось мнение что это глобальный репозиторий скриптов с возможностью запуска выполнения. ИМХО для перемалывания данных лучше подходит DataWork. Предположим у вас несколько экранов, нужная вам функциональность реализованная на мнемосхеме будет зависет от текущего состояния HMI, в то время как теги DataWork всегда доступны, тут как говориться мухи отдельно котлеты отдельно. ИМХО в Genesis буферизировать ДВУХсторонний обмен нужно обязательно...
Вы не можете публиковать новые темы в этом форуме Вы не можете отвечать на сообщения в этом форуме Вы не можете удалять Ваши сообщения на этом форуме Вы не можете редактировать Ваши сообщения на этом форуме Вы не можете создавать голосования на этом форуме Вы не можете выражать своё мнение в голосованиях на этом форуме