Просмотр полной версии : помогите: использование библиотеки SysLibSockets.lib
незарегистрированный
16.11.2007, 11:06
Здравствуйте. Необходимо реализовать следующее:
Имеется ПЛК 150 U-L или I-L необходимо написать программу, которая проверяет питание и в случае его отсутствия отправляет сообщение на компьютер. Проверяю питание с помощью переменной Power Status модуля Statistic. Передачу сообщения можно передавать с помощью сокетов.
1. Приведите, пожалуйста, пример работы с данной библиотекой
2. Возможно есть другие более удобные способы - какие?
3. По кабелю, входящему в состав комплекта, возможно осуществить данную передачу или необходимо использовать сторонний кабель?
Заранее спасибо!
Филоненко Владислав
16.11.2007, 11:16
При пропадании питания RS232, DBGU и RS485 на работают, но работает Ehternet. Поэтому вам надо передавать сообщение по Ethernet. Самый простой способ - воспользоваться ModBus master/slave на TCP/IP, а на уд. компьютере анализировать сообщения
незарегистрированный
16.11.2007, 11:28
Спасибо за ответ. А не могли бы Вы, если есть и Вам не трудно, привести пример работы с модулем ModBus master/slave и какой именно из этих модулей мне использовать? (В PLC_Configuration_OWEN - документации написано какие переменные используются в данном модуле, но хотелось бы знать последовательность действий именно для настройки передачи сообщения)
Филоненко Владислав
16.11.2007, 11:44
Добавляете мастер, вставляете Universal ModBus device, настраиваете его на режим TCP/ip, задаёте адрес и режим по команде.
Вставляете переменную на запись, настраиваете её.
При пропадании питания запысываете в переменную код сообщения и подаете команду на запуск (255 в канал управления мастера)
незарегистрированный
16.11.2007, 14:04
Добавили модуль Modbus(Master), вставили Universal ModBus device, настроили его на режим TCP/ip, задали адрес, но вот что вы имеете под "режим по команде" - не понятно. Вставлять переменную на запись с помощью команды Append Subelement? то какой именно элемент для записи выбирать?
Филоненко Владислав
16.11.2007, 14:44
В зависимости от размера передаваемых данных.
незарегистрированный
16.11.2007, 15:08
Вставили на запись переменную 8 bit output - задали имя f. Настроили как Register Address 0, Command - Write bytes. Сам стартовый канал обозвали Ok. В программе прописали:
f:=1;
Ok:=255;
т.е. передаем 1 и стартуем - проверку осуществляем на симуляторе - пакет не отправляется. Что не так?
Филоненко Владислав
16.11.2007, 17:19
А симулятор не может отправлять пакеты по Ethernet - только на реальном ПЛК. Симулятор позволяет отладить программу, но не взаимодействие ПЛК с окр. миром (его то нет в симуляторе!)
незарегистрированный
19.11.2007, 20:22
Попробовали на реальном оборудовании. Компьютер с IP 162.168.1.4. В Овене прописали IP 162.168.1.10. Добавили модуль Modbus(Master), вставили Universal ModBus device, настроили его на режим TCP/ip, задали адрес ModuleIP на 162.168.1.4, Work Mode сделали по команде. Вставили на запись переменную 8 bit output - задали имя f. Настроили как Register Address 0, Command - Force multiply coil. Сам стартовый канал обозвали Ok. В программе прописали:
f:=1;
Ok:=255;
При этом отправки байта не происходит. Отслеживаем пакеты при помощи снифера. Что не так? Приведите пример передачи пакета и настройки всех параметров, пожалуйста!!!
Филоненко Владислав
20.11.2007, 08:28
ModBus master сначала должен установить соединение с программой (др. ПЛК/устройством) по TCP/IP должна быть поддержка мин. порта 502 и файрвол должен пропускать такие пакеты. Установите либо 2 ПЛК с ModBus slave, либо программу, эмулирующую Modbus slave TCP/IP устройство на компьютере.
незарегистрированный
20.11.2007, 09:13
Что Вы понимаете под "поддержкой мин. порта"? Фаервол отключили. Как создать эмулирующее устройство Modbus slave TCP/IP?
И еще снифер показывает, что происходит обмен пакетами именно по тому порту, который указан при настройке Mastera, по обмен происходит непрерывный.
Филоненко Владислав
20.11.2007, 10:07
1. Использовать эмулятор ModBus slave или др. ПЛК.
2. Это не обмен, это попытки мастера установить соединение!
незарегистрированный
20.11.2007, 10:15
Откуда взять такой эмулятор? Укажите, пожалуйста, шаги создания.
Alex_lav
20.11.2007, 13:43
Вот ссылка на программу Modbus Slave
http://www.modbustools.com/modbus_slave.asp
незарегистрированный
20.11.2007, 17:00
Спасибо большое за ссылку! Эмуляторы между собой (master и slave) между собою пересылаются по адресам 0:0:0:0. А вот когда подключаешь прибор, т.е. уже происходит локальная передача, эмулятор slave не могу заставить слушать сеть - как в приведенном Вами эмуляторе изменить IP прослушивания?
Alex_lav
21.11.2007, 09:39
как в приведенном Вами эмуляторе изменить IP прослушивания?
IP адрес прослушивания в программе Modbus Slave такой же, как и у компьютера, на котором она установлена. Порт 502.
незарегистрированный
26.11.2007, 22:19
Спасибо Вам, у нас все получилось.
Девушки 5 курса.
Powered by vBulletin® Version 4.2.3 Copyright © 2024 vBulletin Solutions, Inc. All rights reserved. Перевод: zCarot