PDA

Просмотр полной версии : Конфигурация ТРМ251 в Master OPC Universal



neuch
09.04.2015, 22:10
Хочу попробовать перейти с Owen OPC на Master OPC Universal в связи с этой проблемой http://www.owen.ru/forum/showthread.php?t=20976.
Но знаний не хватило, проблема в том что не проходит команда старта стопа и не устойчиво чтение по входу, на английском чтобы не переделывать проект сделанный под OPC owen(только меняю название сервера и все связи востанавливаются). Готовый конфигуратор частично мне не доступен т.к. ограничение в 32 обрезает много. Прилагаю экспорт узла и список параметров.

SCADAMaster
10.04.2015, 09:03
Не совсем ясно в чем именно проблема. Опишите подробнее.

neuch
10.04.2015, 13:31
Нашел почему глючило, если прописать имена устройств TRM251(8bit adr=16) и TRM251(8bit adr=24) как в OPC овен то один прибор не работает. В чем проблемма? В прилагаемом файле нужная мне конфигурация, все работает кроме пуск-стоп, хотя параметры подсмотрел в готовом конфигураторе в текстовом режиме. Можете поправить?

_Mikhail
10.04.2015, 13:45
Нашел почему глючило, если прописать имена устройств TRM251(8bit adr=16) и TRM251(8bit adr=24) как в OPC овен то один прибор не работает. В чем проблемма? В прилагаемом файле нужная мне конфигурация, все работает кроме пуск-стоп, хотя параметры подсмотрел в готовом конфигураторе в текстовом режиме. Можете поправить?

Если Вы работаете в протоколе ОВЕН, то ничего удивительного, что с данными адресами Вы видите только один прибор. Особенность протокола ОВЕН в том, что под каждый параметр он занимает один сетевой адрес. Первый прибор по адресу 16, что бы увидеть прибор с адресом 24, должно опрашиваться не более 8 параметров. Если нужно больше, то измените адреса приборов

SCADAMaster
10.04.2015, 14:16
С именем узла ошибка проявилась. Мы устраним ее в следующем релизе.
По записи "Пуск-Останов" есть ошибка в работе скрипта. В приложении конфигурация с исправленным скриптом.
Но надежнее установить тип в сервере - Uint32 и отключите скрипт после записи. Запись 0 - останов, запись 65280 - старт.

neuch
10.04.2015, 14:55
Не работает.:( Использую протокол Modbus RTU. Я не програмист и скрипты для меня темный лес.

SCADAMaster
10.04.2015, 16:01
Что именно не работает? Запрос не посылается?
Имя вы оставили такое как у нас или вернули свое старое? Со старым работать не будет.

neuch
10.04.2015, 16:37
Имя как у вас "Пуск-стоп", прибор не стартует.

SCADAMaster
10.04.2015, 16:49
Посмотрите по логу запросов - уходит ли запрос.
Или просто удалите этот тег и сделайте обычный тег Holding Registers. Тип в устройстве - uint16, тип в сервере - Uint32. Для старта запишите в него 65280, для останова 0.

Brewer
10.04.2015, 19:17
Та же проблема.
http://www.owen.ru/forum/showthread.php?t=21014

В Скрипте :
-- инициализация
function OnInit()
end
-- деинициализация
function OnClose()
end
-- обработка
function OnWrite()
local boolval,qual, val;
boolval,qual = server.ReadCurrentTag();
if (boolval==true) then
--если значение равно "истина" - запуск процесса
--записать 0xFF00 = 65280
val=65280;
else
--иначе записать 0
val=0;
end
server.WriteCurrentTagToDevice(val,qual);
end

В логе запрос уходит. Реакции ноль.

SCADAMaster
10.04.2015, 20:02
В работе этого скрипта была ошибка, вместо 65280 отправлялось 1. Посмотрите в конфигурации выше есть исправленная версия скрипта (обратите внимание что у тега регион теперь Server_Only).

neuch
13.04.2015, 15:22
Не смог победить, вот что пишет в логе.17698

SCADAMaster
13.04.2015, 15:45
Пришлите лог обмена с устройством и конфигурацию. Для этого в свойствах сервера включите запись журнала и всех его событий, размер лога задайте равным 10000. Запустите режим исполнения и воспроизведите ошибку. Лог пишется в папку:
c:\Documents and Settings\All Users\Application Data\InSAT\MasterOPC Universal Modbus Server\SERVERLOGS\
Лог заархивируйте и вышлите нам. Также приложите вашу конфигурацию.

neuch
13.04.2015, 16:34
Все работает кроме старт стоп.

SCADAMaster
13.04.2015, 19:02
Запрос со стороны сервера уходит корректный, а вот прибор отвечает ерунду:
[13.04.2015 16:30:27.125] WRITE : ТРМ251:Запись в FromScript1значения 65280
[13.04.2015 16:30:27.125] TRACE : (COM7) Tx: [0011] 10 10 00 50 00 01 02 FF 00 2B A0
[13.04.2015 16:30:27.156] TRACE : (COM7) Rx: [0008] 10 10 00 50 00 01 02 FF
[13.04.2015 16:30:27.156] Err : ТРМ251:Ошибка в процедуре записи (@MeP?+) NodeCom.ТРМ251
[13.04.2015 16:30:27.156] TRACE : (COM7) Tx: [0011] 10 10 00 50 00 01 02 FF 00 2B A0
[13.04.2015 16:30:28.171] Err : ТРМ251:Превышение таймаута при записи в устройство NodeCom.ТРМ251
[13.04.2015 16:30:28.171] TRACE : (COM7) Tx: [0011] 10 10 00 50 00 01 02 FF 00 2B A0
[13.04.2015 16:30:28.234] TRACE : (COM7) Rx: [0011] 10 10 00 50 00 01 02 FF 00 2B A0
То есть прибор отвечает эхом, хотя должен выдать стартовый адрес и количество принятых регистров.

Попробуйте удалить данный тег (или выключить его из работы). Добавить новый тег региона Holding Registers, адрес - 80, тип в устройстве - uint16, тип в сервере - uint32. Запустите режим исполнения и запишите в этот число 65280. Если и в этом случае работа не запустится, то вам нужно обратится в компанию ОВЕН - или прибор работает некорректно или есть ошибка в документации.

И еще. У тега "Значение" отключите исполнения скрипта - поскольку вы удалили тег для определения статуса измерения, то скрипт теперь никакой полезной функции не выполняется - только бросает в лог ошибки.

Brewer
13.04.2015, 21:42
Вот мой лог. Так же ни какой реакции на команду.

[13.04.2015 19:24:35.036] WRITE : TPM251:Запись в FromScript1значения 65280
[13.04.2015 19:24:35.036] TRACE : (COM5) Tx: [0011] 10 10 00 50 00 01 02 FF 00 2B A0
[13.04.2015 19:24:35.078] TRACE : (COM5) Rx: [0011] 10 10 00 50 00 01 02 FF 00 2B A0
[13.04.2015 19:24:35.080] Inf : TPM251:Oтвет NodeRS.TPM251
[13.04.2015 19:24:35.080] WRITE : r-S:Запись в NodeRS.TPM251.RunStopProgram.r-S значения True
17701

SCADAMaster
13.04.2015, 22:22
Попробуйте тоже самое с обычным тегом, и если прибор также не запускается - обратитесь в техподдержку ОВЕН

G.Mark
15.04.2015, 11:54
Запись параметра "пуск/стоп программы технолога" должна осуществляться пятой функцией (write single coil). Таковой как я помню у MasterOPC нет.

SCADAMaster
15.04.2015, 13:02
Таковой как я помню у MasterOPC нет.
Разумеется есть.
Добавьте тег региона Coils, адрес укажите 80. Затем у устройства включите настройку "Не использовать команду Write Single Coil" в ложь.

Brewer
15.04.2015, 15:18
На конец то получилось.Большое спасибо за помощь.Создал тег как было сказано выше.Использовал скрипт из прошлого примера.Все заработало.

SCADAMaster
15.04.2015, 16:06
Скрипт у этого тега уже не нужен - отключите его.

Vladislav_OWEN
12.01.2016, 15:01
Вот, попробуйте так.