sakhalin_Cat

Ответы в темах

Просмотр 15 сообщений - с 241 по 255 (из 286 всего)
  • Автор
    Записи
  • sakhalin_Cat
    Участник

    Хотя больше подходит таймер Tp но вот как его вписать в формулу до меня пока не доходит, мало форум курил пока еще.

    sakhalin_Cat
    Участник

    А как можно мигнуть битом? Типа как звонковая кнопка 🙂
    Например включить на 0,1сек
    И как сменить состояние на 0,1сек?
    Я так понимаю надо использовать таймер Tol но куда его привязать не совсем понимаю.

    • Ответ изменён 5 лет, 2 месяца назад пользователем sakhalin_Cat.
    • Ответ изменён 5 лет, 2 месяца назад пользователем sakhalin_Cat.
    • Ответ изменён 5 лет, 2 месяца назад пользователем sakhalin_Cat.
    sakhalin_Cat
    Участник

    Огромное спасибо. Всё заработало.

    в ответ на: Функции (формулы) для Rapid SCADA #19617
    sakhalin_Cat
    Участник

    спасибо

    sakhalin_Cat
    Участник

    Вроде добился чтобы менялся бит.
    Только в режиме выключателя не работает.
    Как сделать чтобы вкл\выкл было?
    формула
    SetBit(Val(103), 0, 1) — включает
    SetBit(Val(103), 0, 0) — выключает
    SetBit(Val(103), 0, Cmd) — выключает

    sakhalin_Cat
    Участник

    Давайте упростим задачу.
    Пусть будет канал управления №10499 он привязан к модбасу «двухбайтовое слово». Нужно изменить 1бит.
    Что мне нужно вписать в формулы и как заполнить параметры канала управления?
    Например менять состояние бита-3 с нуля на единицу. можно в режиме вкл-выкл, можно в режиме кнопки. Дальше я уже костылей PLC насую.

    • Ответ изменён 5 лет, 2 месяца назад пользователем sakhalin_Cat.
    • Ответ изменён 5 лет, 2 месяца назад пользователем sakhalin_Cat.
    sakhalin_Cat
    Участник

    Народ ну помогите ктонить, чего сделать то? Три варианта формул и все не пашут.

    sakhalin_Cat
    Участник

    Написал как вы сказали, скада валит ошибку —
    .

    /
    Да скорее всего не верно использую. Я на предыдущей странице внизу подробно расписывал что нужно получить в результате.
    .
    Скрины как и просили
    .


    sakhalin_Cat
    Участник

    И куда писать какой из 16ти нужных битов менять?

    sakhalin_Cat
    Участник

    Так-же вопрос в какой канал управления её прописывать? Тот который на запись модбас идет или в отдельную команду вкл\выкл?
    Какой тип команды использовать «Стандартная» или «Бинарная»
    Какое значение команды «вкл\выкл» «вкл» «Выполнить»???

    sakhalin_Cat
    Участник

    То есть я создал формулу — SetBit2 с содержимым
    ————————- Begin —————-
    public double SetBit(double n, int index, double value)
    {
    long nn = Convert.ToInt64(n);
    return value > 0 ? nn | (1 << index) : nn & ~(1 << index);
    }
    ———————— End ———————

    Куда подставлять значения где единичка стоит?
    Так-же
    SetBit2(Val(????), 1, Cmd)
    И что писать вместо вопросительных знаков?

    sakhalin_Cat
    Участник

    Ответьте чайнику куда сохранить этот код? В формулы? Как его обозвать и куда подставлять значения?
    Обьясните на пальцах, как ребенку который никогда этого не делал.

    sakhalin_Cat
    Участник

    Какой-то разговор на Китайском. Я еще раз говорю я не пргорамист и мне эти слова которые вы пишете ни о чем не говорят.
    Я же по Русски сказал, что не могу написать формулу так как не знаю языка на котором она пишется.
    Какой мне смысл задавать вопросы и просить помощи если бы я знал как сделать?.
    .
    Если кто может реально помочь то помогите пожалуйста, а метод перебора букв и слов в формуле человеком который не понимает за что отвечают какие слова результата не принесут.
    .
    Еще раз опишу задачу:
    Есть адрес 16387 по которому находится 2х байтовое слово. Этот адрес и пишется и читается.
    На чтение этот адрес привязан к каналу — 103 — см фото —
    .

    .
    На канале висит 15 дорасчетных формул которые включают и выключают лампочки на панели в веб-морде — см фото —
    .

    .
    На запись этот адрес привязан к каналу управления- 10499 — см фото —
    .

    .
    И отображается в списке каналов как — см фото—
    .

    .
    Писать мы можем в канал 10499 только полностью «двухбайтовое слово» и читать из канала 103 мы тоже можем только двухбайтовое слово полностью.
    .
    Требуется по нажатии кнопки на вебморде поменять один бит. Для этого нужно считать «два байта» из канала 103, поменять бит и записать эти «два байта» в канал 10499.
    .
    Вот такая вот задача. Прошу помощи в решении.
    .

    • Ответ изменён 5 лет, 2 месяца назад пользователем sakhalin_Cat.
    sakhalin_Cat
    Участник

    И еще один вопрос который меня смущает:
    Основной канал «103» имеет тип WORD состоящий из 2х BYTE соответственно из 16bit, если мы меняем один бит, то по идее нужно прочитать полностью WORD изменить в нем нужный бит и отправит полностью WORD с изменениями обратно иначе все остальные биты слетят в FALSE. Мы же не можем изменить один бит не затронув состояния всех остальных.
    Тогда почему мы берем для изменения дорасчетный канал с выделенным по формуле битом?
    .
    Я просто не программист и плаваю в этих вопросах. Потому вопросы могут быть глупыми.

    sakhalin_Cat
    Участник

    Да, если отключить формулу в канале то все работает. В справочнике я её не трогаю

Просмотр 15 сообщений - с 241 по 255 (из 286 всего)