Ответы в темах
-
АвторЗаписи
-
manjey73УчастникВ догонку, насколько понимаю, переход с одной схемы на другую и обратно планируется несколько позже, либо используем древовидную структуру, но простой переход тоже был бы не плох. Например можно было бы не загружать само дерево объектов. На основной схеме есть к примеру «Вентиляция», жмем на ссылку и переходим на структурную схему вентиляции, при этом саму структурную схему в дереве скрываем.
А вот переход в окне с основной схемы на страницу оборудования с логированием тоже было бы чудесно.
Например у многого оборудования есть собственные web страницы — ИБП, Кондиционеры, контроллеры и т.д. Соответственно должна быть кнопка возврата на схему.
manjey73УчастникЕще возможность показа нужного окна по активированию объекта на основной схеме.
Например вверху на схеме объект, например ИБП с отображением основных параметров ток, напряжение, мощность.
Нажав на схеме на ИБП в нижнем окне открывается табличное представление.
Нажав на Ток — открывается график тока в нижнем окне.
manjey73УчастникНужно сделать так, чтобы в нижней части было то, что хочешь — графики, табличное представление схемы, которая будет сверху и т.д. и т.п. раз уж плагинами.
Но чтобы таблица аварий всегда перекрывало нижнее окно с вожможностью прокрутки аварий, экспорта в файл отчета и до подтверждения оператором. Потом скрывалось и показывалось выбранное окно.
В идеале возможность подключения нескольких окон с возможностью переключения между ними.
manjey73УчастникОбъявление переменных
FUNCTION_BLOCK TOGGLE
VAR_INPUT
CLK : BOOL;
rst : BOOL;
END_VAR
VAR_OUTPUT
Q : BOOL;
END_VAR
VAR
edge : BOOL;
END_VARКод функции
IF rst THEN
q := 0;
ELSIF clk AND NOT edge THEN
Q := NOT Q;
END_IF;
edge := clk;А это просто переключалка, должно быть проще реализовать на С#
У меня пока времени нет этим заниматься, а так из ПЛК-шных функций готовых библиотек можно много интересного подготовить.
manjey73УчастникОбъявление переменных
FUNCTION_BLOCK FF_DRE
VAR_INPUT
SET : BOOL;
D : BOOL;
CLK : BOOL;
RST : BOOL;
END_VAR
VAR_OUTPUT
Q : BOOL;
END_VAR
VAR
edge : BOOL;
END_VAR(*version 1.2 30. oct. 2008
programmer hugo
tested by oscatD-type flip flop with set, reset and rising clock trigger*)
Код функции
IF rst OR set THEN
Q := NOT rst;
ELSIF clk AND NOT edge THEN
Q := D;
END_IF;
edge := CLK;Это функция D триггера.
здесь вход SET устанавливает выход в 1
RESET сбрасывает в 0
вход CLK работает по переднему фронту (не знаю как это в С# реализовать, надо отлавливать изменение из 0 в 1).
Чтобы выход менял свое состояние при каждом изменении из 0 в 1 необходимо с выхода через инверсию на вход D завести сигнал
Управляющий сигнал подавать на вход CLK. (входа SET и RESET при этом не используются).
manjey73УчастникEvgen, либо по нему сервис плачет, либо у вас что-то с сетью.
У меня 100-ка дома как часики по сети работает, да и на объекте ставил 150-й и 154-й тоже на сеть никаких нареканий не было ни разу.Один совет, проверьте в какой порт коммутатора вы включили свой ПЛК, если в гигабитный, переключите на 100-ку его.
Иногда сетевые карты со скоростью 100, подключенные к гигабитным портам начинают с ума сходить…-
Ответ изменён 10 лет, 3 месяца назад пользователем
manjey73.
manjey73УчастникМожно попробовать сделать функцией реализацию триггера, как это реализовано в ПЛК.
Есть функции Toggle и D-Trigger например на языке ST в среде CoDeSys.
Там паскалеподобный язык.
Если нужны коды этих функций могу выложить, возможно получится их адаптировать.
Ну или поискать примеры на С# подобных функций.
manjey73УчастникНа Сигнетике будет очень и очень сложно опросить прибор с собственным протоколом. У них вроде нет текстовых языков программирования из числа МЭК.
manjey73УчастникУж что, что, а Ethernet у Овен это наверное самое стабильное 🙂
Там других проблем хватает.
К тому же автоматизация это одно, а чтение других приборов это другое-
Ответ изменён 10 лет, 4 месяца назад пользователем
manjey73.
manjey73УчастникЗачем для снятия показаний вообще ПЛК ?
Пишите драйвер для Rapid Scada и опрашивайте напрямую.Из бюджета только Овен, все остальное либо дороже, либо устанете программировать для снятия показаний.
manjey73УчастникCoDeSys ни при чем. По заявлению Овен ПЛК100 и остальное их оборудование адресуется с 0. Но при подключении к SCADA необходимо указывать с 1-цы
manjey73УчастникVitalii для получения почты используется SSL на каком-то порту, для отправки скорее всего все так же 25.
Отсюда наверное и затык.
manjey73УчастникМне для опроса счетчика был нужен ОРС для проверки. Сейчас пишем под счетчик драйвер, так что необходимость в ОРС отпадет.
manjey73Участникdjbond07 Править пути в скрипте запуска для установки в другую директорию ОБЯЗАТЕЛЬНО.
Проверял на трех разных машинах, в том числе и на Raspberry.Советую изменить порт с 10000 на какой-нибудь другой так же сразу, так как 10000 порт в Linux используется сервисом Webmin, это его родной порт как никак.
Кстати тоже работает.ОРС в Linux нет, по совету Михаила устанавливал Коммуникатор на Windows машину, и указывал в нем отправку при опросе OPC на сервер со скадой, установленной на Linux. Все работало.
Первый Raspberry слабоват, а вот Pi2 и Pi3 позволит в виртуалке, например VirtualBox запустить экземпляр XP и в нем Коммуникатор и OPC и отправлять на хост машину в скада, но это откровенно извращение ?)
manjey73УчастникВ обоих случаях тип команды стандартный.
Закоментировал кусочек кода (его нет в первом варианте, где нет ошибки).
Ошибка пропала. Но глядя на код пока не соображу в чем проблема.
Вернусь из командировки, продолжу.Удивляет то, что в порт отсылается все как положено.
-
Ответ изменён 10 лет, 3 месяца назад пользователем
-
АвторЗаписи