- Обязательно представиться на русском языке кириллицей (заполнить поле "Имя").
- Фиктивные имена мы не приветствуем. Ивановых и Пупкиных здесь уже достаточно.
- Не писать свой вопрос в первую попавшуюся тему - вместо этого создать новую тему.
- За поиск, предложение и обсуждение пиратского ПО и средств взлома - бан без предупреждения. Непонятно? - Читать здесь.
- Рекламу и частные объявления "куплю/продам/есть халтура" мы не размещаем ни на каких условиях.
- Перед тем как что-то написать - читать здесь и здесь, а студентам - обязательно здесь.
- Не надо писать в ЛС администраторам свои технические вопросы. Администраторы форума отлично знают как работает форум, а не все-все контроллеры, о которых тут пишут.
UNITY PRO
Модератор: Специалисты SE
-
- здесь недавно
- Сообщения: 65
- Зарегистрирован: 27 июл 2010, 14:13
- Имя: Стахин Е.В
- Страна: Россия
- город/регион: Москва
Re: UNITY PRO
Вопрос появился?
Подскажите,с помощью каких моделей или с помощью какиъх средств осуществить упаковку данных? то есть чтобы биты %M101 106 111 упаковывались в слова
Подскажите пож-та?
Подскажите,с помощью каких моделей или с помощью какиъх средств осуществить упаковку данных? то есть чтобы биты %M101 106 111 упаковывались в слова
Подскажите пож-та?
-
- здесь недавно
- Сообщения: 65
- Зарегистрирован: 27 июл 2010, 14:13
- Имя: Стахин Е.В
- Страна: Россия
- город/регион: Москва
Re: UNITY PRO
подскажите пож-та выдает следующие ошибки
{Derived Variables} : The topological type is incompatible. : Massive2_36
Хотя область памяти выделена...
{Derived Variables} : The topological type is incompatible. : Massive2_36
Хотя область памяти выделена...
-
- здесь недавно
- Сообщения: 65
- Зарегистрирован: 27 июл 2010, 14:13
- Имя: Стахин Е.В
- Страна: Россия
- город/регион: Москва
Re: UNITY PRO
Подскажите пож-та,что может быть за ошибка,когда я подключаюсь к контроллеру,Unity пишут
This isnt a valid PLC Address,or PLC is busy,or media is off
Точнее как ее решить?
This isnt a valid PLC Address,or PLC is busy,or media is off
Точнее как ее решить?
-
- здесь недавно
- Сообщения: 67
- Зарегистрирован: 20 дек 2010, 12:59
- Имя: Евгений
- Страна: Россия
- город/регион: Москва
Re: UNITY PRO
Простите может вопрос не в тему, но он имеет место быть.
Как снять блокировку DFB блока, если потерян пароль (склероз проклятый). Просто блок емкий и писать заново нет желания
Как снять блокировку DFB блока, если потерян пароль (склероз проклятый). Просто блок емкий и писать заново нет желания
-
- здесь недавно
- Сообщения: 8
- Зарегистрирован: 23 дек 2012, 13:08
- Имя: Алишов Ескендыр Турсынкулович
- Страна: Россия
- город/регион: Горно-Алтайск
Re: UNITY PRO
Приветствую уважаемые форумчане!
Столкнулся со следующей ситуацией:
Имеется Modikon M340, и две группы однотипных modbus устройств (Sepam 40- 5шт. и 2 шт. автоматов Isarc), с которых необходимо считать по последовательной линии связи переменные для последующей отправки на диспетчерский пункт по ethernet.
Так как имеем дело с 2 группами однотипных устройств, и последовательный порт не может обрабатывать более одного запроса, было принято решение использовать только одну функцию read_var создав подпрограмму которая работает с последовательным портом (отслеживает исполнение обмена данными). и пару подпрограмм устройств которые в свою очередь обращаются к первой со своими адресами. Главная программа при этом только обеспечивает запрос о считывании данных того или иного устройства распределяя по типу и размещение данных во внутренних ячейках памяти для последующей обработки и передачи на диспетчерский пункт.
С компиляцией проекта, а также работой проекта (подстановки адресов для инструкции read_var, реализация следующего запроса по окончание предыдущего ) проблем не возникает, ошибка происходит при передаче данных, байт отвечающий за отчет коммуникации (младший) выдает ошибку 16#07 (Problem in sending to the destination, что по русски означает "Проблема в отправке к месту назначения") и обмен данными срывается, светодиод активности com-порта отображает активность. Светодиод слейва также отображает активность, когда адрес запроса соответствует его адресу, что косвенно говорит о том что настройки com-порта (протокол, скорость, четность) произведены правильно (Слейв мастера понимает)
Есть подозрение что инструкция read_var не может правильно сформировать данные проверки (контрольная сумма или т. д. и т. п.) и
тем самым сама себя блокирует. Как с этим бороться ума не приложу.
Может кто-нибудь сталкивался с подобной проблемой? Буду очень признателен.
Столкнулся со следующей ситуацией:
Имеется Modikon M340, и две группы однотипных modbus устройств (Sepam 40- 5шт. и 2 шт. автоматов Isarc), с которых необходимо считать по последовательной линии связи переменные для последующей отправки на диспетчерский пункт по ethernet.
Так как имеем дело с 2 группами однотипных устройств, и последовательный порт не может обрабатывать более одного запроса, было принято решение использовать только одну функцию read_var создав подпрограмму которая работает с последовательным портом (отслеживает исполнение обмена данными). и пару подпрограмм устройств которые в свою очередь обращаются к первой со своими адресами. Главная программа при этом только обеспечивает запрос о считывании данных того или иного устройства распределяя по типу и размещение данных во внутренних ячейках памяти для последующей обработки и передачи на диспетчерский пункт.
С компиляцией проекта, а также работой проекта (подстановки адресов для инструкции read_var, реализация следующего запроса по окончание предыдущего ) проблем не возникает, ошибка происходит при передаче данных, байт отвечающий за отчет коммуникации (младший) выдает ошибку 16#07 (Problem in sending to the destination, что по русски означает "Проблема в отправке к месту назначения") и обмен данными срывается, светодиод активности com-порта отображает активность. Светодиод слейва также отображает активность, когда адрес запроса соответствует его адресу, что косвенно говорит о том что настройки com-порта (протокол, скорость, четность) произведены правильно (Слейв мастера понимает)
Есть подозрение что инструкция read_var не может правильно сформировать данные проверки (контрольная сумма или т. д. и т. п.) и
тем самым сама себя блокирует. Как с этим бороться ума не приложу.
Может кто-нибудь сталкивался с подобной проблемой? Буду очень признателен.
Последний раз редактировалось eskendyr 23 дек 2012, 15:21, всего редактировалось 1 раз.
-
- преподаватель
- Сообщения: 1357
- Зарегистрирован: 01 сен 2008, 18:32
- Имя: Пупена Александр
- Страна: Украина
- город/регион: Киев
- Поблагодарили: 6 раз
Re: UNITY PRO
Много слов и мало кода.
Для корректности вызова READ_VAR а также других комм. функций используйте проверку бита активности (0-й бит в 0-м слове коммуникационных параметров), как показано в хелпе. Вот когда-то писал пример для DATA_EXCH
Для корректности вызова READ_VAR а также других комм. функций используйте проверку бита активности (0-й бит в 0-м слове коммуникационных параметров), как показано в хелпе. Вот когда-то писал пример для DATA_EXCH
-
- здесь недавно
- Сообщения: 8
- Зарегистрирован: 23 дек 2012, 13:08
- Имя: Алишов Ескендыр Турсынкулович
- Страна: Россия
- город/регион: Горно-Алтайск
Re: UNITY PRO
Проверка активности производится, и на основе ее производится переход к следующему запросу, так же производится контроль над отчетами реализовано несколько не так как в вашем примере, вот моя подпрограмма:
adr_aray := ADDM (IN := modbus_adr[k]);
if obmen_zakonchen and end_time then
READ_VAR (ADR := adr_aray,
OBJ := '%MW',
NUM := adr,
NB := kol,
GEST := gest_p,
RECP => out_var);
end_if;
obmen_zakonchen:=not gest_p[0].0;
start_time:= not start_time; (* Пауза для облечения просмотра параметров отчета*)
CTU_INT_0 (CU := obmen_zakonchen and start_time,
R := not obmen_zakonchen,
PV := pause,
Q => end_time,
CV => time_real);
n_obmena := BIT_TO_BYTE (BIT0 := gest_p[0].8,
BIT1 := gest_p[0].9,
BIT2 := gest_p[0].10,
BIT3 := gest_p[0].11,
BIT4 := gest_p[0].12,
BIT5 := gest_p[0].13,
BIT6 := gest_p[0].14,
BIT7 := gest_p[0].15);
otchet_com:= BIT_TO_BYTE (BIT0 := gest_p[1].0,
BIT1 := gest_p[1].1,
BIT2 := gest_p[1].2,
BIT3 := gest_p[1].3,
BIT4 := gest_p[1].4,
BIT5 := gest_p[1].5,
BIT6 := gest_p[1].6,
BIT7 := gest_p[1].7);
otchet_oper:=BIT_TO_BYTE (BIT0 := gest_p[1].8,
BIT1 := gest_p[1].9,
BIT2 := gest_p[1].10,
BIT3 := gest_p[1].11,
BIT4 := gest_p[1].12,
BIT5 := gest_p[1].13,
BIT6 := gest_p[1].14,
BIT7 := gest_p[1].15);
out_ok := obmen_zakonchen and otchet_com = 0 and otchet_oper = 0;
return;
adr_aray := ADDM (IN := modbus_adr[k]);
if obmen_zakonchen and end_time then
READ_VAR (ADR := adr_aray,
OBJ := '%MW',
NUM := adr,
NB := kol,
GEST := gest_p,
RECP => out_var);
end_if;
obmen_zakonchen:=not gest_p[0].0;
start_time:= not start_time; (* Пауза для облечения просмотра параметров отчета*)
CTU_INT_0 (CU := obmen_zakonchen and start_time,
R := not obmen_zakonchen,
PV := pause,
Q => end_time,
CV => time_real);
n_obmena := BIT_TO_BYTE (BIT0 := gest_p[0].8,
BIT1 := gest_p[0].9,
BIT2 := gest_p[0].10,
BIT3 := gest_p[0].11,
BIT4 := gest_p[0].12,
BIT5 := gest_p[0].13,
BIT6 := gest_p[0].14,
BIT7 := gest_p[0].15);
otchet_com:= BIT_TO_BYTE (BIT0 := gest_p[1].0,
BIT1 := gest_p[1].1,
BIT2 := gest_p[1].2,
BIT3 := gest_p[1].3,
BIT4 := gest_p[1].4,
BIT5 := gest_p[1].5,
BIT6 := gest_p[1].6,
BIT7 := gest_p[1].7);
otchet_oper:=BIT_TO_BYTE (BIT0 := gest_p[1].8,
BIT1 := gest_p[1].9,
BIT2 := gest_p[1].10,
BIT3 := gest_p[1].11,
BIT4 := gest_p[1].12,
BIT5 := gest_p[1].13,
BIT6 := gest_p[1].14,
BIT7 := gest_p[1].15);
out_ok := obmen_zakonchen and otchet_com = 0 and otchet_oper = 0;
return;
-
- преподаватель
- Сообщения: 1357
- Зарегистрирован: 01 сен 2008, 18:32
- Имя: Пупена Александр
- Страна: Украина
- город/регион: Киев
- Поблагодарили: 6 раз
Re: UNITY PRO
А как Вы организовываете порядок доступа разных подпрограмм к одной функции, очередь организовываете или внутрипрограммуню конкуренцию устраиваете?
Кстати, а поодиночку все нормально обрабатываются? Может в физике проблема?
Кстати, а поодиночку все нормально обрабатываются? Может в физике проблема?
-
- здесь недавно
- Сообщения: 8
- Зарегистрирован: 23 дек 2012, 13:08
- Имя: Алишов Ескендыр Турсынкулович
- Страна: Россия
- город/регион: Горно-Алтайск
Re: UNITY PRO
Очередь организуется на уровне главной программы, та задает порядковый номер устройства [k] в зависимости от индекса k запускается та или иная подпрограмма которая содержит информацию о количестве запросов , адреса и количества регистров в каждом запросе и собственно обращение к данной подпрограмме к примеру
if opros_zakonchen then i:=1; end_if;
adr:=adr_sepam;
kol:=kol_sepam;
com_read ();
if out_ok then
for j:=0 to kol-1
do
if i=1 then zon_sost[j]:=out_var[j]; end_if;
if i=2 then zon_izm1[j]:=out_var[j]; end_if;
if i=3 then zon_izm2[j]:=out_var[j]; end_if;
end_for;
end_if;
opros_zakonchen:= i=n and obmen_zakonchen;
if i<n and end_time then i:=i+1; end_if;
return;
на счет физики не уверен такое ощущение что ошибка возникает сразу после отправки или даже во время отправки сообщения в адрес слейва, так как слейв по крайней мере реагирует на адрес устройства в запросе, возможно даже отвечает, так как индикатор (светодиод) com-порта слейва отображает активность при совпадении адреса устройства в запросе и адреса физического устройства, а ошибка otchet_com= 16#07 в отчете появляется вне зависимости от целостности физической линии. По идее при обрыве физической линии должно быть 16#01.
Может требуется что то дополнительно настроить в настройках проекта?
Для меня несколько расплывчатым понятием до сих пор является параметр Length в моей программе gest_p[3] как он рассчитывается для функции read_var?
if opros_zakonchen then i:=1; end_if;
adr:=adr_sepam;
kol:=kol_sepam;
com_read ();
if out_ok then
for j:=0 to kol-1
do
if i=1 then zon_sost[j]:=out_var[j]; end_if;
if i=2 then zon_izm1[j]:=out_var[j]; end_if;
if i=3 then zon_izm2[j]:=out_var[j]; end_if;
end_for;
end_if;
opros_zakonchen:= i=n and obmen_zakonchen;
if i<n and end_time then i:=i+1; end_if;
return;
на счет физики не уверен такое ощущение что ошибка возникает сразу после отправки или даже во время отправки сообщения в адрес слейва, так как слейв по крайней мере реагирует на адрес устройства в запросе, возможно даже отвечает, так как индикатор (светодиод) com-порта слейва отображает активность при совпадении адреса устройства в запросе и адреса физического устройства, а ошибка otchet_com= 16#07 в отчете появляется вне зависимости от целостности физической линии. По идее при обрыве физической линии должно быть 16#01.
Может требуется что то дополнительно настроить в настройках проекта?
Для меня несколько расплывчатым понятием до сих пор является параметр Length в моей программе gest_p[3] как он рассчитывается для функции read_var?
Последний раз редактировалось eskendyr 23 дек 2012, 21:41, всего редактировалось 1 раз.
-
- преподаватель
- Сообщения: 1357
- Зарегистрирован: 01 сен 2008, 18:32
- Имя: Пупена Александр
- Страна: Украина
- город/регион: Киев
- Поблагодарили: 6 раз
Re: UNITY PRO
Я б начал с одного устройства без организации такой сложной программы. Попробуйте с одним, потом с двумя, а потом с большим количеством. Это нормальная практика идти от простого к сложному.
-
- преподаватель
- Сообщения: 1357
- Зарегистрирован: 01 сен 2008, 18:32
- Имя: Пупена Александр
- Страна: Украина
- город/регион: Киев
- Поблагодарили: 6 раз
Re: UNITY PRO
Этот кусок кода компатнее может выглядеть такeskendyr писал(а): otchet_com:= BIT_TO_BYTE (BIT0 := gest_p[1].0,
BIT1 := gest_p[1].1,
BIT2 := gest_p[1].2,
BIT3 := gest_p[1].3,
BIT4 := gest_p[1].4,
BIT5 := gest_p[1].5,
BIT6 := gest_p[1].6,
BIT7 := gest_p[1].7);
otchet_oper:=BIT_TO_BYTE (BIT0 := gest_p[1].8,
BIT1 := gest_p[1].9,
BIT2 := gest_p[1].10,
BIT3 := gest_p[1].11,
BIT4 := gest_p[1].12,
BIT5 := gest_p[1].13,
BIT6 := gest_p[1].14,
BIT7 := gest_p[1].15);
otchet_com:= INT_TO_BYTE (gest_p[1]);
otchet_oper:= INT_TO_BYTE (SHR(gest_p[1],8));
Это конечно не поможет проблеме, просто может пригодится :D
-
- здесь недавно
- Сообщения: 8
- Зарегистрирован: 23 дек 2012, 13:08
- Имя: Алишов Ескендыр Турсынкулович
- Страна: Россия
- город/регион: Горно-Алтайск
Re: UNITY PRO
Спасибо буду использовать,
сократил программу до одного запроса одного устройства, присвоил адреса непосредственно к инструкции получилась вот такая вот программка:
adr_aray := ADDM (IN := '0.0.0.1');
gest_p[2]:=5; (*Тайм аут =500мс > 3*100мс*)
if obmen_zakonchen and end_time then
READ_VAR (ADR := adr_aray,
OBJ := '%MW',
NUM := 16#a000,
NB := 6,
GEST := gest_p,
RECP => out_var);
end_if;
obmen_zakonchen:=not gest_p[0].0;
start_time:= not start_time; (* Пауза для облечения просмотра параметров отчета*)
CTU_INT_0 (CU := obmen_zakonchen and start_time,
R := not obmen_zakonchen,
PV := pause,
Q => end_time,
CV => time_real);
n_obmena := INT_TO_BYTE (SHR(gest_p[0],8));
otchet_com:= INT_TO_BYTE (gest_p[1]);
otchet_oper:= INT_TO_BYTE (SHR(gest_p[1],8));
out_ok := obmen_zakonchen and otchet_com = 0 and otchet_oper = 0;
ошибка не изменилась, по прежнему после каждого запроса otchet_com = 7
Скорей всего ошибка возникает при обращении инструкции read_var к com-порту,
Порт настроен следующим образом Task Mast, Function modbus link, RS485, протокол RTU, 8,bit, скорость 9600, паритет нет, стоп бит 2, пауза между кадрами default (4ms), 3 попытки через 100мс.
Единственный параметр который вызывает вопрос это gest_p[3], длина в байтах при стандартном запросе modbus rtu на чтение переменных длина сообщения составляет 8 байт, если исключить адрес устройства и байты циклической проверки 5 байт. Пробовал и 0,5,7,8 никаких изменений на выходе может что-то не так делаю?
сократил программу до одного запроса одного устройства, присвоил адреса непосредственно к инструкции получилась вот такая вот программка:
adr_aray := ADDM (IN := '0.0.0.1');
gest_p[2]:=5; (*Тайм аут =500мс > 3*100мс*)
if obmen_zakonchen and end_time then
READ_VAR (ADR := adr_aray,
OBJ := '%MW',
NUM := 16#a000,
NB := 6,
GEST := gest_p,
RECP => out_var);
end_if;
obmen_zakonchen:=not gest_p[0].0;
start_time:= not start_time; (* Пауза для облечения просмотра параметров отчета*)
CTU_INT_0 (CU := obmen_zakonchen and start_time,
R := not obmen_zakonchen,
PV := pause,
Q => end_time,
CV => time_real);
n_obmena := INT_TO_BYTE (SHR(gest_p[0],8));
otchet_com:= INT_TO_BYTE (gest_p[1]);
otchet_oper:= INT_TO_BYTE (SHR(gest_p[1],8));
out_ok := obmen_zakonchen and otchet_com = 0 and otchet_oper = 0;
ошибка не изменилась, по прежнему после каждого запроса otchet_com = 7
Скорей всего ошибка возникает при обращении инструкции read_var к com-порту,
Порт настроен следующим образом Task Mast, Function modbus link, RS485, протокол RTU, 8,bit, скорость 9600, паритет нет, стоп бит 2, пауза между кадрами default (4ms), 3 попытки через 100мс.
Единственный параметр который вызывает вопрос это gest_p[3], длина в байтах при стандартном запросе modbus rtu на чтение переменных длина сообщения составляет 8 байт, если исключить адрес устройства и байты циклической проверки 5 байт. Пробовал и 0,5,7,8 никаких изменений на выходе может что-то не так делаю?
-
- преподаватель
- Сообщения: 1357
- Зарегистрирован: 01 сен 2008, 18:32
- Имя: Пупена Александр
- Страна: Украина
- город/регион: Киев
- Поблагодарили: 6 раз
Re: UNITY PRO
Меня смущает NUM := 16#a000, если вы хотите обратится к 40960 (к 960-му регистру из зоны памяти Holding Registers), то нужно писать NUM := 960 или NUM := 959 (в зависимости от того с 1-цы или с нуля начинается счёт), так как %MW уже указывает на зону Holding Registers.
Кроме того, странные параметры "паритет нет, стоп бит 2", так на всех девайсах?
Таймаут не должен быть больше "3*100мс", это параметры таймаута функции, а не ожидания ответа от устройства. Это аправда в данном случае не имеет никакого значения.
Кроме того, странные параметры "паритет нет, стоп бит 2", так на всех девайсах?
Таймаут не должен быть больше "3*100мс", это параметры таймаута функции, а не ожидания ответа от устройства. Это аправда в данном случае не имеет никакого значения.
-
- преподаватель
- Сообщения: 1357
- Зарегистрирован: 01 сен 2008, 18:32
- Имя: Пупена Александр
- Страна: Украина
- город/регион: Киев
- Поблагодарили: 6 раз
Re: UNITY PRO
Я ещё не понял зачем Вы используете счетчик. Это конечно не относится к теме обмена, но всё же интересно.
-
- здесь недавно
- Сообщения: 8
- Зарегистрирован: 23 дек 2012, 13:08
- Имя: Алишов Ескендыр Турсынкулович
- Страна: Россия
- город/регион: Горно-Алтайск
Re: UNITY PRO
San благодарю за помощь, дело было в настройках com-порта стоило изменить на всех устройствах 8N2 на 8N1, и все заработало, как оказалось M340 не поддерживает формат 8N2, а на счет адреса 16#a000 (40960) все верно, иначе читается что то непонятное и непонятно откуда.
я в unity новичек, точнее первый раз, до этого работал с другими контроллерами, хотел сделать паузу между опросами для того что бы прочитать отчеты обмена, а библиотеке Timer&Counters таймеров не было, все что нашел так это счетчик использовал его, в некоторых контроллерах с фиксированным тиком таймеры только так и реализуются, конечно когда все работает он ни к чему... Далее думаю реализовать алгоритм для отправки адреса modbus устройства в котором возникла ошибка чтения с кодом ошибки на диспетчерский пункт, надеюсь с этим проблем не возникнет.
Еще один вопросик возник, другой modikon M340 (у меня их много :D ) при подключении к нему unity_pro выдает ошибку, примерно такого смысла: Этот контроллер работает неправильно, переведите бит работы контролера в состояние 0 (стоп) для его инициализации
Можете подсказать как убрать данную ошибку? Каким образом добраться до этого бита если даже программа которой контроллер программируется добраться до него не может?
san писал(а):Я ещё не понял зачем Вы используете счетчик. Это конечно не относится к теме обмена, но всё же интересно.
я в unity новичек, точнее первый раз, до этого работал с другими контроллерами, хотел сделать паузу между опросами для того что бы прочитать отчеты обмена, а библиотеке Timer&Counters таймеров не было, все что нашел так это счетчик использовал его, в некоторых контроллерах с фиксированным тиком таймеры только так и реализуются, конечно когда все работает он ни к чему... Далее думаю реализовать алгоритм для отправки адреса modbus устройства в котором возникла ошибка чтения с кодом ошибки на диспетчерский пункт, надеюсь с этим проблем не возникнет.
Еще один вопросик возник, другой modikon M340 (у меня их много :D ) при подключении к нему unity_pro выдает ошибку, примерно такого смысла: Этот контроллер работает неправильно, переведите бит работы контролера в состояние 0 (стоп) для его инициализации
Можете подсказать как убрать данную ошибку? Каким образом добраться до этого бита если даже программа которой контроллер программируется добраться до него не может?
-
- преподаватель
- Сообщения: 1357
- Зарегистрирован: 01 сен 2008, 18:32
- Имя: Пупена Александр
- Страна: Украина
- город/регион: Киев
- Поблагодарили: 6 раз
Re: UNITY PRO
там есть таймеры TON, TOF, TPeskendyr писал(а): а библиотеке Timer&Counters таймеров не было
Вот по этой ссылке ещё сходите viewtopic.php?f=60&t=2977
Лучше привести текст ошибки без перевода, а лучше скриншот.eskendyr писал(а): Еще один вопросик возник, другой modikon M340 (у меня их много :D ) при подключении к нему unity_pro выдает ошибку, примерно такого смысла: Этот контроллер работает неправильно, переведите бит работы контролера в состояние 0 (стоп) для его инициализации
Можете подсказать как убрать данную ошибку? Каким образом добраться до этого бита если даже программа которой контроллер программируется добраться до него не может?
-
- здесь недавно
- Сообщения: 8
- Зарегистрирован: 23 дек 2012, 13:08
- Имя: Алишов Ескендыр Турсынкулович
- Страна: Россия
- город/регион: Горно-Алтайск
Re: UNITY PRO
прошу прощения невнимательность, интерфейс в unity тот еще, привыкать надо.там есть таймеры TON, TOF, TP
На счет ошибки при подключении к контроллеру, unity контроллер видит, но считать ничего не может при попытке загрузки проекта выдает сначала вот такой экран: после подтверждения загрузки проекта выдает такое сообщение: При рассоединении c контроллером, выдает такое сообщение: и после подтверждения:
У вас нет необходимых прав для просмотра вложений в этом сообщении.
-
- здесь недавно
- Сообщения: 8
- Зарегистрирован: 23 дек 2012, 13:08
- Имя: Алишов Ескендыр Турсынкулович
- Страна: Россия
- город/регион: Горно-Алтайск
-
- преподаватель
- Сообщения: 1357
- Зарегистрирован: 01 сен 2008, 18:32
- Имя: Пупена Александр
- Страна: Украина
- город/регион: Киев
- Поблагодарили: 6 раз
Re: UNITY PRO
Мне интерфейс в UNITY как раз очень нравится, по сравнению например с тем же STEP7. Хотя это моё ИМХО.
У Вас две проблемы:
1. М340 пустой, по этому надо создать проект и залить его в М340.
2. Выберите версию проца ниже, поскольку в вашем ПЛК версия ниже чем по умолчанию в конфигурации UNITY. Для выбора нужной версии нужно при создании проекта выставить опцию "показа всех версий" (сейчас юнити при себе нет не помню как точно называется).
Ещё одно важное предупреждение: при заливке скомпилированого(построенного) проекта, по умолчанию заливается также и загрузочный код. Эта опция может быть отключена - тогда выгрузить проект с контроллера не будет возможным.
У Вас две проблемы:
1. М340 пустой, по этому надо создать проект и залить его в М340.
2. Выберите версию проца ниже, поскольку в вашем ПЛК версия ниже чем по умолчанию в конфигурации UNITY. Для выбора нужной версии нужно при создании проекта выставить опцию "показа всех версий" (сейчас юнити при себе нет не помню как точно называется).
Ещё одно важное предупреждение: при заливке скомпилированого(построенного) проекта, по умолчанию заливается также и загрузочный код. Эта опция может быть отключена - тогда выгрузить проект с контроллера не будет возможным.
-
- здесь недавно
- Сообщения: 8
- Зарегистрирован: 23 дек 2012, 13:08
- Имя: Алишов Ескендыр Турсынкулович
- Страна: Россия
- город/регион: Горно-Алтайск
Re: UNITY PRO
Проблема решена, дело было в версии прошивки, просто как то интересно контроллер V2.20, а в программе нужно устанавливать 2.10, было 2.30 как то не логично, но это тоже ИМХО. Благодарю за помощь!
-
- здесь недавно
- Сообщения: 3
- Зарегистрирован: 20 авг 2014, 12:29
- Имя: Эндрю
- Страна: рос
- город/регион: стрж
Re: UNITY PRO
Подскажите пож-та,что может быть за ошибка,когда я подключаюсь к контроллеру,Unity пишут
This isnt a valid PLC Address,or PLC is busy,or media is off
к одному процу подключился и спокойно скачал проект, второй проц хоть убей не отадет данные по ethernet, через модуль NOE. хотя оба квантума настроены и первый спокойно выдает данные.
что же это может быть?
This isnt a valid PLC Address,or PLC is busy,or media is off
к одному процу подключился и спокойно скачал проект, второй проц хоть убей не отадет данные по ethernet, через модуль NOE. хотя оба квантума настроены и первый спокойно выдает данные.
что же это может быть?
-
- эксперт
- Сообщения: 1102
- Зарегистрирован: 25 июл 2008, 10:06
- Имя: Леонид
- Страна: РФ
- Благодарил (а): 42 раза
- Поблагодарили: 126 раз
Re: UNITY PRO
Такое сообщение выдается, если Unity не может связаться с контроллером.
Глупый вопрос - а NOE пингуется по IP адресу, настроенному для подключения в Unity?
Глупый вопрос - а NOE пингуется по IP адресу, настроенному для подключения в Unity?
Хард - это то, что можно швырнуть об стенку, а софт - это то, что можно лишь обматерить.
-
- здесь недавно
- Сообщения: 12
- Зарегистрирован: 04 янв 2015, 16:15
- Имя: Максим А.Д.
- Страна: Russia
Re: UNITY PRO
Подскажите как узнать, что находится в области *%IW900* (см. прикрепленный файл)?
У вас нет необходимых прав для просмотра вложений в этом сообщении.
-
- почётный участник форума
- Сообщения: 1746
- Зарегистрирован: 18 янв 2009, 12:25
- Имя: Дмитрий
- Страна: Россия
- город/регион: Москва
- Благодарил (а): 6 раз
- Поблагодарили: 143 раза
Re: UNITY PRO
Статус состояния слотов 1 и 2 корзины Quantum, для которой начальный адрес установлен 900. Смотри по какой корзине Quantum Drop Config Starting Addres Status Table=900. Не факт, что это именно так, но обычно для корзин выбирают круглые адреса. Дальше по тексту программы - статус корзины УСО 6.1MaxML писал(а):Подскажите как узнать, что находится в области *%IW900* (см. прикрепленный файл)?
"Умные люди обсуждают идеи, средние - события, а глупые - людей" Л.Н. Толстой
-
- эксперт
- Сообщения: 1102
- Зарегистрирован: 25 июл 2008, 10:06
- Имя: Леонид
- Страна: РФ
- Благодарил (а): 42 раза
- Поблагодарили: 126 раз
Re: UNITY PRO
PLC - State Ram Viewer позволяет узнать, чем задан конкретный адрес.
PS. Так понимаю, это программа для УСО 1.1 автоматики НПС для "АК "Транснефть" - отключение МНА через 10 секунд после потери связи с ЦП :)
PS. Так понимаю, это программа для УСО 1.1 автоматики НПС для "АК "Транснефть" - отключение МНА через 10 секунд после потери связи с ЦП :)
Хард - это то, что можно швырнуть об стенку, а софт - это то, что можно лишь обматерить.