Страница 1 из 18

Weintek и PLC "..."

СообщениеДобавлено: 16 авг 2011, 10:16
kiv
Здесь мы обсуждаем соединение операторских панелей Weintek с различными контроллерами. Интерфейсы, протоколы, драйверы и т.д.

Re: Weintek и PLC "..."

СообщениеДобавлено: 17 авг 2011, 08:46
_jsi_
Приветствую,

Панель МТ6070iH. Разбираюсь с Modbus RTU. Взял за исходный демопроект Free Protocol из примеров.
2 Wire, Com3, подключил свое устройство, 9600, noparity, 1 stop, период опроса 5 сек, runtime 0,1 сек. Поправил макрос. Обмен идет.
Отключаю свое устройство. Окно сообщение о потере связи не появляется.
В проекте окно №5 есть. По руководству вроде системное сообщение выставляется самой системой.
В настройках ничего найти не удалось, как инициировать это окно. Каков критерий его появления, сколько нужно сбоев обмена?
Подскажите пожалуйста кто в теме
Спасибо.

Re: Weintek и PLC "..."

СообщениеДобавлено: 17 авг 2011, 09:47
VanMo
Здравствуйте.
При использовании Free Protocol, обмен данными с внешним устройством контролируется исключительно макросами.
Окно о потере связи будет автоматически появляться при использовании стандартного драйвера Modbus RTU или его производных.
Рекомендую Вам использовать именно этот путь.
Если Вы все же хотите заставить этот демопроект выдавать ошибку связи, Вам придется добавить в макросы соответствующие инструкции.
Удачи.

MT8070iH и Simatic S7-1200

СообщениеДобавлено: 24 авг 2011, 15:50
MeF
Здравствуйте!
До недавнего времени работал с панелями MT8070iH в связке с PLC Simatic S7-200.
Сейчас делаю первый проект с той же панелью, но c PLC Simatic S7-1200. Обнаружены следующие непонятные моменты:
1. Невозможно создать триггер ПЛК с типом "Сменить окно" по адресу ПЛК (при открытии окна выбора переменной списки всех областей памяти ПЛК пусты, хотя в других элементах, таких как числовой дисплей, например, список доступен).
2. При выборе элемента числовой дисплей видны не все переменные, хотя получение метки проходит успешно (через системные настройки-> получение информации о переменных). Используется канал связи Ethernet.
3. И еще, при использовании табличной выборки данных, после отключения питания некоторые записи пропадают, причем как то бессистемно (в свойствах файла журнала указано сохранение в памяти панели).
Если можете подсказать по какому либо вопросу, буду благодарен.

Re: Weintek и PLC "..."

СообщениеДобавлено: 19 сен 2011, 14:03
IvanV
Здравствуйте!
Наша фирма для автоматизации использует собственные PLC и панель . Связь осуществляется исключительно при помощи макросов по протоколу MODBUS. Проблема в том что имеется 5 модулей расположенных последовательно со своими адресами ...если отключается какой либо модуль , то все остальные модули , которые следовали после отключенного , перестают опрашиваться панелью. Вопрос почему панель затыкается при опросе как бы ''несуществующего адреса'' ???

Re: Weintek и PLC "..."

СообщениеДобавлено: 19 сен 2011, 20:45
Артём
Здравствуйте, у меня вопрос как подключить панель к плк по протоколу modbus(использую плк100 компании овен), попробывал что то не получилось. Может там есть какие нибудь нюансы. Надо чтобы ПЛК работал как slave, а панель - master.
Заранее спасибо.

Re: Weintek и PLC "..."

СообщениеДобавлено: 20 сен 2011, 09:47
VanMo
Здравствуйте, Артём.
1. Проверьте подключение ПЛК-панель. Распайка разъемов панели нестандартная.
2. Проверьте тип протокола RTU/ASCII, он должен соответствовать типу, используемому в ПЛК.
3. Проверьте параметры порта (Скорость, паритет и т.д).
4. Проверьте адрес ПЛК и адрес, к которому обращается панель, по-умолчанию - 1.
Еще удобно пользоваться программами вроде HHD Free Serial Port Monitor, чтобы увидеть что отправляется в порт.

Re: Weintek и PLC "..."

СообщениеДобавлено: 20 сен 2011, 10:32
VanMo
Здравствуйте, IvanV.
Макрос может закончить работу досрочно, если нет ответа от устройства.
Вы пробовали связываться с контроллерами без использования макросов?
Не известно как они у Вас реализованы, можете выложить исходник?

Re: Weintek и PLC "..."

СообщениеДобавлено: 20 сен 2011, 12:24
IvanV
В исходнике реализовано вот так :
// Переключатель 1
GetData(perem_1, "MODBUS RTU", 0x, key_1, 1) // Считывание состояния ключа_1 из контроллера
SetData(perem_1, "Local HMI", LB, p_key_1, 1) // Запись состояния ключа_1 в память панели

// Переключатель 2
GetData(perem_1, "MODBUS RTU", 0x, key_2, 1) // Считывание состояния ключа_2 из контроллера
SetData(perem_1, "Local HMI", LB, p_key_2, 1) // Запись состояния ключа_2 в память панели

и если не отвечает первый то следующий он не опрашивает

Re: Weintek и PLC "..."

СообщениеДобавлено: 20 сен 2011, 14:40
VanMo
IvanV писал(а):В исходнике реализовано вот так :
// Переключатель 1
GetData(perem_1, "MODBUS RTU", 0x, key_1, 1) // Считывание состояния ключа_1 из контроллера
SetData(perem_1, "Local HMI", LB, p_key_1, 1) // Запись состояния ключа_1 в память панели

// Переключатель 2
GetData(perem_1, "MODBUS RTU", 0x, key_2, 1) // Считывание состояния ключа_2 из контроллера
SetData(perem_1, "Local HMI", LB, p_key_2, 1) // Запись состояния ключа_2 в память панели

и если не отвечает первый то следующий он не опрашивает


Макрос прерывается, если контроллер не отвечает на команды GetData, SetData.
Вместо них используйте GetDataEx и SetDataEx:
Код: Выделить всё
GetDataEx(perem_1, "MODBUS RTU", 0x, key_1, 1)  // Считывание состояния ключа_1 из контроллера
SetDataEx(perem_1, "Local HMI", LB, p_key_1, 1) // Запись состояния ключа_1 в память панели