Просмотр полной версии : Плк 63 + МУ 110-8И + МВ 110-8АС HELP
KIPiA_Krg
09.01.2012, 09:39
Добрый день !!! (можно сказать я "чайник")
как можно подробнее подскажите как управлять (передать значение ) выходами МУ 110-8И желательно на языке ST )))
сетевой адрес 24 выход AO1 [6]
send_fl_owen не могу разобраться
Николаев Андрей
09.01.2012, 10:49
Вам нужно использовать библиотеку owen.lib или ModBus.lib.
Примеры использования на диске к контроллеру ПЛК63. На st.
KIPiA_Krg
09.01.2012, 12:57
чтение получилось по примеру а вот запись не получилось как осуществить ? (желательно по подробнее) не то что бы не получилось понять не могу , можно на конкретном примере показать ?
Николаев Андрей
09.01.2012, 15:33
Подробнее в чем Вам конкретно помочь и что не понятно в примерах шлите на plc@owen.ru
http://www.owen.ru/forum/showthread.php?t=11237тут то что, разве плохие примеры?
KIPiA_Krg
11.01.2012, 07:28
День добрый !! Николаев Андрей я вам отправил на почту plc@owen.ru
KIPiA_Krg
11.01.2012, 09:15
тут то что, разве плохие примеры?
хорошие ))) но вот подскажите как в частности записать значение на выход МУ 110-8И ?
По протоколу ModBus в прибор передается значение, подаваемое на аналоговый ВЭ (в диапазоне от 0 до 1000) (см. таблицу 4.1). Запись в соответствующие регистры осуществляется командой 16 (0x10), чтение – командами 3 (0x03) или 4 (0x04). Список регистров протокола ModBus приведен в Приложении В (таблица В.4)
Открываете архив под номером 7, открываете проект под названием "Modbus запись Int и Real (ST).pro" и выбираете за основу своего проекта запись 16 функцией, с одной лишь разницей что (*количество записываемых регистров*) ставите равным 1, таким образом Вы запишите всего лишь одно INT-овое значение. Как то так
KIPiA_Krg
11.01.2012, 10:30
По протоколу ModBus в прибор передается значение, подаваемое на аналоговый ВЭ (в диапазоне от 0 до 1000) (см. таблицу 4.1). Запись в соответствующие регистры осуществляется командой 16 (0x10), чтение – командами 3 (0x03) или 4 (0x04). Список регистров протокола ModBus приведен в Приложении В (таблица В.4)
Открываете архив под номером 7, открываете проект под названием "Modbus запись Int и Real (ST).pro" и выбираете за основу своего проекта запись 16 функцией, с одной лишь разницей что (*количество записываемых регистров*) ставите равным 1, таким образом Вы запишите всего лишь одно INT-овое значение. Как то так
спасибо*.
а по протоколу ОВЕН ? (просто все модули и сама программа написана с использованием протокола ОВЕН ) .
тоже самое, открываете проект "OWEN запись и чтение REAL из TPM201(ST).pro", используете все что касается send_fl_owen
Адрес прибора в соответствии с таблицей Г.1 руководства, если у Вас
сетевой адрес 24 выход AO1 [6], то 6 выход будет 29
Имя параметра "r.ое"
Value от 0.0 до 1.0
KIPiA_Krg
11.01.2012, 11:33
send_fl_owen(
Enable:=Enabl , (* разрешение работы блока *)
Addr:= 29, (*адрес прибора*)
AddrLen:=A8BIT, (*длина адреса*)
Name:= 'r.OE', (*имя параметра, значение которого записываем в МУ 110-8И *)
Index:= 0, (*индекс параметра*)
RealType:= FLOAT24, (*тип параметра, значение которого записываем*)
Value:=a , (*параметр, значение значение которого записываем a = 0.2 )
ComHandle:=Settings.Port, (*номер COM-порта*)
TimeOut:=TimeOut , (* время тайм-аута [мс] - макс. задержка на обработку запроса *)
Complete=>cmpl , (* скопировать признак готовности результата *)
Error=> err); (* скопировать регистр ошибок *)
контролер перезагружается и все ..... как быть ?
1. На какой FB указывает send_fl_owen?
2. Вы не правильно пользуетесь библиотекой в общем случае. Enable - это триггер. Его взвели, сбросили и ждем готовности Complete. А иначе - постоянная попытка рестарта посылки.
KIPiA_Krg
11.01.2012, 11:50
1. На какой FB указывает send_fl_owen?
2. Вы не правильно пользуетесь библиотекой в общем случае. Enable - это триггер. Его взвели, сбросили и ждем готовности Complete. А иначе - постоянная попытка рестарта посылки.
owen_set_real
KIPiA_Krg
11.01.2012, 12:10
CASE Addres OF
24..31: a:=AO1[i]; (*присваиваем массиву значение на выходе*)
END_CASE
так правильно ? 29 адрес , a = AO1[6] (a=0.2 для примера то на выходе AO1[6] = 0.2 )
KIPiA_Krg
11.01.2012, 12:21
цель такая , нужно что бы на выходе МУ 110-8И переменная AO1 [i] = j (i =6, j=0.2 для примера)
Проект выложите. Будет время, посмотрю.
Powered by vBulletin® Version 4.2.3 Copyright © 2024 vBulletin Solutions, Inc. All rights reserved. Перевод: zCarot