Стартовая страница › Форумы › Разработка и интеграция › Ошибка кода Коммуникатора
- В этой теме 25 ответов, 4 участника, последнее обновление 5 месяцев, 3 недели назад сделано
Mikhail.
-
АвторСообщения
-
06.06.2025 в 12:17 #38753
manjey73УчастникТам к сожалению тяжелое наследие от 5-й версии 🙂 боюсь что-то поломать, если переходить на прототипы.
Кстати вопрос по прототипам, как сделать так, чтобы не указывать Тип данных и Длину данных, если в этом нет необходимости ?
А то у меня все каналы создаются Double, и длина 1, хотя можно было и не писать этого.06.06.2025 в 12:46 #38758
MikhailМодератор> Кстати вопрос по прототипам, как сделать так, чтобы не указывать Тип данных и Длину данных, если в этом нет необходимости ?
Здесь не указывается. По умолчанию тип Double, длина 1.> Там к сожалению тяжелое наследие от 5-й версии боюсь что-то поломать, если переходить на прототипы
Теги устройства в любом случае должны создаваться внутри InitDeviceTags(). Каналы к ним привязываются Коммуникатором позже. С этим связано возникающее исключение.06.06.2025 в 13:22 #38767
manjey73УчастникКаналы к ним привязываются Коммуникатором позже. С этим связано возникающее исключение.
а, теперь понятно. Типа потом после привязки можно пользоваться этим определяя что есть что…
06.06.2025 в 13:25 #38768
manjey73УчастникПо ссылке все понятно, но у меня цикл перебора в foreach и каким-то каналам надо выставлять длину, а остальным нет. А тут просто каждому каналу же не будешь задавать отдельно. да просто потому, что неизвестно количество каналов для чтения из прибора.
Одному 10 хватит, а другому все подавай. то есть цикл появляется по умолчанию.06.06.2025 в 16:10 #38769
manjey73УчастникРазобрался, оказывается некоторым можно выставлять int? = null;
А по мере необходимости присваивать.
Тогда в общем коде в цикле нет присвоений ненужных в типах данных и в длине данных.Но заметил другой косяк. Количество переменных при создании и их реальные номера.



обратите внимание на количество переменных, реальное количество каналов и их нумерацию.
И собственно, а когда поправите(добавите) контроль нумерации каналов при добавлении в базе после каналов с длиной > 1 ?
06.06.2025 в 16:51 #38770
JurasskParkУчастникТак информация о приборе — это разве не стринг длинной каналов в 5? То есть 20 utf и 40 ASCII символов?
06.06.2025 в 16:52 #38771
JurasskParkУчастникПросто если это стриг, то все правильно по нумерации. Т.к. к номеру каналу прибавляется длина канала.
08.06.2025 в 20:15 #38781
MikhailМодераторВероятно, конченый канал на шаге 3 должен быть 626.
Проверю, возможно ли сделать расчёт с учётом длины на этом шаге.08.06.2025 в 20:50 #38785
manjey73УчастникНу на самом же деле и каналов тут не 22, если рассматривать с точки зрения Сервера.
Сигналов из устройства да, 22, но каналов то больше08.06.2025 в 20:58 #38786
manjey73УчастникМожет на первом скрине указывать что х каналов массивы ?
Соответственно конечный канал правильно расчитывать.17.06.2025 в 11:56 #38970
MikhailМодераторПометил, что нужно исправить расчёт номеров каналов.
-
АвторСообщения
- Для ответа в этой теме необходимо авторизоваться.


