Ответы в темах
-
АвторЗаписи
-
scmember
УчастникДобрый день. Вот ссылка на файл со скриншотами: https://www.dropbox.com/s/xfubraqzu8ceye6/Doc1.docx?dl=0
Вобщем с другим клиентом все ок, он пишет как массив целиком, так и его отдельные элементы. Что касается коммуникатора, то я пробовал и ТУ и бинарные и строкой, разные значения, и в тег массива, и в теги его элементов — все команды выполняются с ошибкой.
scmember
УчастникОтлично, спасибо!
Насчет массивов — в то мто и дело, что есть возможность обратиться к каждому элементу массива как к отдельному тегу, они добавляются в качестве команд ТУ. например на базе массива из 3 bytes могут быть созданы 4 команды ТУ — команда array для тега всего массива, и команды array[0] array[1] array[2] для его элементов. Но отправка команды ТУ допустим, меняющую значение тега array[1], изменит не значение тега array[1], а значение тега массива array. Поменять значение тега отдельного элемента массива нет возможности, хотя должна бы быть…
scmember
Участникhttps://www.dropbox.com/s/p7jd32jq0v7wbyn/Doc2.docx?dl=0
документ со скринами всех атрибутов
scmember
Участник1. Контроллер https://www.vipa.com/ru/produkcija/sistemy-upravlenija/slio/moduli-cpu/artn/015-cefpr01-18/detail/2/
2. Скриншот с возможными типами: https://www.dropbox.com/s/3785qwu0jgxl6us/%D0%A1%D0%BD%D0%B8%D0%BC%D0%BE%D0%BA.PNG?dl=0
3. Скриншот с атрибутами узлов: https://www.dropbox.com/s/fjnga3aqfdvcmam/%D0%A1%D0%BD%D0%B8%D0%BC%D0%BE%D0%BA1.PNG?dl=0 выписал только основные типы
с массивами тоже есть нюанс — например я создал массив byte, он сам как элемент успешно добавился в качестве команды ТУ, и все его элементы тоже, но при этом команды ТУ элементов меняют элемент массива, а не себя. на всякий случай скриншот с атрибутами узла элемент массива: https://www.dropbox.com/s/51rm1k7t8d65vi3/%D0%A1%D0%BD%D0%B8%D0%BC%D0%BE%D0%BA3.PNG?dl=0
-
Ответ изменён 3 года, 11 месяцев назад пользователем
scmember.
scmember
УчастникДобрый день, вернусь к вопросу. Опытным путем выяснилось, что из почти 20 типов данных, которые готов передавать opc сервер, драйвер «знает» только один тип byte. Практика показала, что обмениваться данными с плк через один тип крайне неудобно. Может быть, можно чтоот сделать с клиентом, чтобы хотя бы real передавать?
scmember
УчастникОгромное спасибо, совет помог!!
scmember
Участникhttps://www.dropbox.com/s/3785qwu0jgxl6us/%D0%A1%D0%BD%D0%B8%D0%BC%D0%BE%D0%BA.PNG?dl=0
ссылка на скриншот (почему то не включился в сообщение)
scmember
УчастникСпасибо за информацию, попробую поискать такие файлы. Насчет модуля получается что надо уточнить — речь идет о модуле автоматического управления, насколько я понимаю он не «веб»…
scmember
УчастникНаоборот — необходимо интегрироваться в тот GUI.
Ну вот есть некая программа, в ней две кнопки ВКЛ и ВЫКЛ. Оператор жмет ВКЛ, GUI генерирует сообщение, что надо включить устройство. Устройство должно включиться. Через какое то время оператор жмет ВЫКЛ, GUI генерирует сообщение, что надо выключить. Всего два сообщения
Вот есть контроллер устройства, который включит его, если на вход ему записать скажем 1, и выключит, если записать 0.
Сейчас получается так — при нажатии кнопки ВКЛ в GUI скада успешно записывает единицу на вход контроллера, но при последующих обменах ПЛК и Коммуникатора судя по всему, скада снова начинает писать на вход ноль. Устройство соотв, если и включается то на какието доли секунды…
А хотелось бы так — при нажатии кнопки ВКЛ в GUI скада должна записать единицу на вход контроллера, и так ее и оставить, пока от GUI не придет новое значение. Или записывать это значение при каждом обмене, если она подругому не умеет.. главное не писать ноль
Готов накидать схему, если нужно уточнить
scmember
УчастникВам надо фиксировать значение последней переменной, соответствующей нажатию кнопок ?
с точки зрения GUI — именно так. Если оператор GUI нажал на кнопку, которая отправляет ПЛК команду 2 — ПЛК будет выполнять эту команду, пока на его входе записана 2. Соотв от скады ожидаю, что она будет передавать на вход ПЛК эту команду, пока не придет новая
Такие вещи должны делаться в ПЛК по большей части, или единственная возможность сейчас делать только на RapidScada ?
При необходимости можно сделать это и в ПЛК. Но… скажем так — многие другие скады по умолчанию работают именно по описанной мной логике… вобщем пытаюсь разобраться как именно лучше сделать в случае с rapidscada )
-
Ответ изменён 3 года, 11 месяцев назад пользователем
-
АвторЗаписи