Ответы в темах
-
АвторЗаписи
-
Crouli
УчастникДобрый день. Изменил драйвер. Опрос и привязку необходимо делать в ProcUnreadIncomingReq?
public override bool ProcUnreadIncomingReq(Connection conn, ref KPLogic targetKP) { if (targetKP == null) { //привязка кп targetKP = CommLineSvc.FindKPLogic(-1, a_MBAP_device_address.ToString()); } else { //.... чтение данных ..... for (int i = 0; i < g_modbus_slave.g_Elems.Elems.Count; i++) { if (g_modbus_slave.g_Elems.GetElemValNeedUpdateAndSetFalse(i)) { SetCurData(i, g_modbus_slave.g_Elems.GetElemVal(i), 1); } } } } return base.ProcUnreadIncomingReq(conn, ref targetKP);; }В текущей реализации если у одного из КП поставить большой таймаут и он не ответит то другие КП не будут опрашиваться на время этого таймаута. Еще пробовал создавать бесконечный пустой цикл для одного из КП в ProcUnreadIncomingReq
while (Number == 58) { }после подключения и идентификации этого КП перестают опрашиваться все
Crouli
УчастникПопробовал установить поведение TCP сервера слейв в логах
———————————————————————————
2017-10-03 15:59:48 Инициализация линии связи 16 «TcpПорт(0.70Tcp5028)<-Плк304(НолинскКот)»
2017-10-03 15:59:48 Ошибка при инициализации канала связи: Поведение Slave канала связи не поддерживается КП 58 «Нолинск Котельная №11».Есть ли пример драйвера работающего в режиме слейв?
Crouli
УчастникСпасибо за ответ
У нас написан драйвер для получения данные по Modbus TCP в slave режиме (ПЛК подключается к TCP серверу и начинает записывать регистры). Это как KpModbus.dll только работающий в режиме слейв. Привязка идет при первом полученном регистре по адресу устройства.
НО поведение TCP сервера стоит мастер, если поставить слейв для каждого соединения будет создаваться свой поток?27.03.2017 в 13:35 в ответ на: Как увеличить время после которого статус канала станет недостоверным #4911Crouli
УчастникБольшое спасибо!
Crouli
УчастникСпасибо за помощь, будем рассматривать варианты.
Crouli
УчастникВ качестве основного канала связи выступает ADSL, резервного GPRS. У обоих операторов услуга статического ip адреса платная. У нас довольно много таких объектов, так что все упирается в желание сэкономить.
Рассматриваем возможность установки сетевого оборудования которое будет поднимать VPN соединение, и таким образом ПЛК будет получать статический ip адрес.Crouli
УчастникСпасибо за ответы.
В настоящее время такая схема у нас уже работает с ПЛК ОВЕН 304 на Codesys 3. ПЛК подключается к «MasterOPC Universal Modbus Server» дальше в MasterSCADA.
Настроить ПЛК в качестве Модбас слейва но при этом TCP-клиента не получается. -
АвторЗаписи