Стартовая страница › Форумы › Вопросы по установке › Дополнительные компоненты схем v.6
- В этой теме 78 ответов, 7 участников, последнее обновление 4 недели назад сделано
Mikhail.
-
АвторСообщения
-
18.06.2025 в 15:26 #39030
RomanPertsev
УчастникЗдесь опять какие то скрытые ньансы, недокуметированные и т.п.?
18.06.2025 в 15:27 #39031manjey73
Участникpublic static class PulseSetVal { // сколько проходов держим 2 (измените при необходимости) private const int HoldCycles = 3; private static int cnt = 0;
У вас константа внутри одной формулы, а вы к ней обращаетесь из другой ?
я даже не знаю, сервер компилируется? в ошибку не падает?18.06.2025 в 15:28 #39032manjey73
УчастникОшибка компиляции — потому что 🙂
18.06.2025 в 15:32 #39033RomanPertsev
УчастникPulseSetVal – имя класса;
.InPulse() / .OutPulse() – методы;
Оба метода объявлены public static, значит доступны отовсюду.
18.06.2025 в 15:32 #39034manjey73
УчастникИ да… делая константу за пределами формул, чтобы были доступны всем, у вас не получится применять формулы в разных каналах.
я стараюсь в последнее время использовать словари, раньше использовал массивы.
Посмотрите в примерах формул.
Словарь позволяет сохранять промежуточные значения, имея в качестве ключа номер канала.
Ну и старайтесь сами возвращать в double, вместо например bool. Это позволяет использовать формулы внутри формул.Например public bool XXXX сервером будет автоматически сконвертировано в double. Но попытка применения такой формулы внутри другой приведет к ошибке.
Плюс не забывайте, цикл на небольшом проекте выполняется раз 10 в секунду от младшего канала к старшему. Ну что-то по подобии выполнения программы в ПЛК.18.06.2025 в 15:33 #39035RomanPertsev
УчастникПосоветуйте как можно подправить.
-
Этот ответ был изменен 4 недели, 1 день назад от
RomanPertsev.
18.06.2025 в 15:34 #39036manjey73
УчастникСмотрите ошибки в логе Сервера и в какой строке в CalcEngine.cs (находится в папке логов Сервера)…
Тут немного иначе, потому что Сервер компилирует все формулы на лету при запуске. А за счет того, что формат данных в БД для каналов double, выполняет автоматическую конвертацию в этот формат. Например при этом обрезая строки до первых 8 байт.
18.06.2025 в 17:11 #39038RomanPertsev
УчастникОчень необходимая функция чтоб кнопка импульсом присваивала значение каналу, неужели эту задачу невозможно решить стандартными и даже платными модулями?
18.06.2025 в 17:19 #39039manjey73
УчастникА чем «Отправить команду сразу» не подходит? Если это расчетный канал, то импульс можно организовать скриптами.
Если это передача в устройство, то извиняйте батьку, бананив немае, этот функционал должен предусматриваться в контроллере (устройстве) или применение МАУ.
18.06.2025 в 18:01 #39040RomanPertsev
УчастникДа дело в том что чтобы включить устройство нужно послать «1» на один регистр, а чтоб выключить нужно послать «1» но на другой регистр, делать рядом две кнопки одна для вкл, а другая для выкл это глубо, я сделал две кнопки и настроил им видимость чтоб они исчезали, но беда в том что они даже невидимые доступны для нажатия, а если их расположить одна над другой то вообще та что сверху видимая и не видимая всегда нажимается. Чтоб это решить я сделал третий канал (1000), но и через него нельзя. Несколько дней сижу над такой ерундой как вкл и выкл.
18.06.2025 в 18:05 #39041manjey73
Участникболее подробнее?, может как-то тумблер использовать?
одна над другой не получится, ограничение web текущей. вы всегда верхнюю жмете.
18.06.2025 в 18:21 #39042JurasskPark
Участникони даже невидимые доступны для нажатия
Михаил, это ай-ай-ай! 🤯
18.06.2025 в 18:25 #39043RomanPertsev
УчастникНе-е-е тумблер имеет черезвычайно убогий дизайн и его никак не заменить, можно лишь внутрь него вставить картинку. 🙂
18.06.2025 в 20:07 #39045manjey73
УчастникНу а вариант сделать картинки кнопок по принципу «пуск»-«стоп». Над каждой своя область для команд.
Через расчетный канал выбирать значение 0-1-2, все потушены, 1- нажат пуск, 2 — нажат стоп. Через паузу сброс в 0.
Расчетный проверяет два канала реальных.Но зависит, как там с чтением этих реальных переменных, импульсные в контроллере они или нет и т.д. коих подробностей нет.
-
Этот ответ был изменен 4 недели, 1 день назад от
manjey73.
18.06.2025 в 20:09 #39047manjey73
УчастникНевидимость, не значит не активная.
-
Этот ответ был изменен 4 недели, 1 день назад от
-
АвторСообщения
- Вы должны авторизироваться для ответа в этой теме.