PDA

Просмотр полной версии : помогите: использование библиотеки 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 курса.