Страница 1 из 1

обработка данных побитно

СообщениеДобавлено: Чт апр 11, 2013 8:31 pm
krasnoperovvv
Наткнулся здесь на тему http://www.InTouch.ru/forum/viewtopic.php?f=4&t=3746. Собственно говоря у меня стоит аналогичная задача.
Но меня смутил один момент, а допустим у меня будет 5к аварийных сообщений, как в этом случае будет отрабатывать скрипт, будет ли он успевать?
И второй вопрос, а нельзя ли сделать так: создать memory bit и через механизмы DDE InTouch сделать ссылку на I/O tag, чтобы не городить скрипты?

Re: обработка данных побитно

СообщениеДобавлено: Чт апр 11, 2013 9:56 pm
Генератор зла
krasnoperovvv писал(а):а допустим у меня будет 5к аварийных сообщений, как в этом случае будет отрабатывать скрипт,

Как-нибудь :) Но явно не так, как требуется Вам.
krasnoperovvv писал(а):И второй вопрос, а нельзя ли сделать так: создать memory bit и через механизмы DDE InTouch сделать ссылку на I/O tag, чтобы не городить скрипты?

Совсем не понял, это как??? Memory-тег не имеет I/O-поля (Access Name+Item Name). Что ему через DDE присваивать собрались?

Re: обработка данных побитно

СообщениеДобавлено: Пт апр 19, 2013 5:28 pm
krasnoperovvv
Вообщем суть такая, у меня на данный момент есть порядка 100 тегов в формате word, которые собираются с контроллера по Modbus RTU, в этих тегах побитно упакованы аварии. В дальнейшем планируется увеличения числа данных тегов, соответственно если их обрабатывать скриптом, то я думаю могут возникнуть проблемы при дальнейшем увеличении тегов, есть ли какой-нибудь другой вариант генерировать аварийные сообщения, разбивая слово на биты, кроме как скриптом?

Re: обработка данных побитно

СообщениеДобавлено: Пт апр 19, 2013 7:56 pm
Генератор зла
Видите ли...
Читая с контроллера 100 слов (по 32 бита) и разбивая их на биты в InTouch, Вы используете 32*100 + 100 тегов InTouch. А могли бы использовать 32*100. Не считая потерь вычислительных ресурсов компьютера на пустопорожний скрипт распаковки слов в биты.
krasnoperovvv писал(а):есть ли какой-нибудь другой вариант генерировать аварийные сообщения, разбивая слово на биты, кроме как скриптом?

Масса. Напишите свой ActiveX, делающий это.

Re: обработка данных побитно

СообщениеДобавлено: Пт апр 19, 2013 8:27 pm
Steelman63
Метод класса "Per rectum ad astra"(с)

В интаче создаются эти 100 тегов в/в типа Int и 16(32)*100 тегов в/в типа Dsc
Теги Int привязываются к контроллеру
Теги Dsc привязываются к битовым дотфилдам тегов Int через accessname, ссылающийся на этот же InTouch.
(в accessname пишем имя приложения View, топик - Tagname; у тегов в итемнейме пишем типа IntTagName.01 - первый бит)
На теги Dsc заводятся алармы.

Про быстродействие этого метода ничего не скажу - тестируйте, но скриптов распаковки уже не нужно.

Re: обработка данных побитно

СообщениеДобавлено: Пт апр 19, 2013 9:31 pm
Генератор зла
Backdoor :)

Но плюсы этого метода весьма сомнительны. Ибо вместо 16(32)*100 тегов в/в (битовых) мы получаем +100 тегов в/в типа Integer. Т.е. количество тегов (внешних) не уменьшается. А когда результат один и тот же, зачем платить больше?