PDA

Просмотр полной версии : Siemens ПЛК-110 brainChild



vitiali
05.07.2010, 16:00
Имею расходомер Siemens вторичний блок MAG 6000 c модулем modbus
Испльзую как слейв для ПЛК-110. HMI601S как мастер для ПЛК-110. К выходам подключены поворотные пневмовентели с електромагнитными клапанами и насос, к входам, датчики положения вентилей. Обмен настроил в конфигураторе. Принимаю данные о мгновенном расходе, и с накопительных счетчиков прямого и обратного потока. Не могу сделать сброс двух счетчиков и удержание значений на момент мойки линии, поскольку, необходимо применить функцию 05 (запись coil). Регистры с 0 по 20 отведены в расходомере под coils попробовал использовать функцию 0F получил ответ ошибка 8F код исключения 01. Попробовал функцию 06 получил 86 01.
Подскажите что делать без функции 05. Система работает, но не в полном обеме и ее не приймут.
P.s Писать о том что 05 не поддерживается овен не надо прочитал пожже чем купил контролер. Дайте варианты выхода с ситуации.

Филоненко Владислав
05.07.2010, 16:25
Написать или использовать библиотеку ModBus.

vitiali
05.07.2010, 19:09
Нашел на диске ПЛК -63 библиотеку ModBus. Чтобы открыть порт настроить его и получить дискриптор надо убрать ветку с этим портом в конфигураторе или можно дискптор получить и по другому ?

Другими словами возможно, только для функции 05 использовать библиотеку (захватывая порт), а для остальных данных пользоватся конфигуратором?

Филоненко Владислав
06.07.2010, 12:27
или/или. или конфигуратор или библиотека

vitiali
07.07.2010, 18:34
Создал программу на основе примеров, но не могу проверить, что поет порт, система в работе. К тому же не нашел какие номера Settings.Port для 485-1 и485-2. Пример программы MODBUS c функциями 01, 05, 03 для float. Запись битовой переменной происходит не постоянно, а только при необходимости. При неудачной записи пробует записать еще 3 раза. Не понял зачем манипуляции с переменной enabl в конце программы.

vitiali
14.07.2010, 18:19
попробовал на свободном плк63 L после некоторых исправлений в программе выдает в порт нужные запросы. проверял только запросы поскольку, немогу присоединить к расходомеру.

интересную вещь выдает отладчик в параметре Settings.Port пишет *** INVALID:0*** выделяет красным и звездочками, но при этом работает.

ПЛК мастер в сети Modbus. Использованы функции 01 чтение дискретных ячеек, 05 запись дискрктных ячеек и 03 чтение переменной float

Sergey666
18.07.2010, 14:32
Потренируйтесь с Modbus tester с вашим расходометром .
Т.е вместо ПЛКашек запускайте программу тестер и смотрите какие запросы и какие адреса вам необходимы.
Буржуи (практически все по разному интерпретируют Модбас).
В ПЛК можно писать бит в регистр и регистр распологать в нужный адрес.
Модбас изначально работает только с регистрами (16 бит) , остальное - приблуда.
Так , например пишем в ПЛК регистр с адресом 1 ,в регистр пишем биты,а с панели (HMI601 ) можем читать бит , или битовый регистр .

vitiali
19.07.2010, 09:37
C ОРС сервера, на другой задаче, все прекрасно сбрасывается и работает. Но в этой задаче понадобилось управление исполнительными механизмами и нет РС.

Так , например пишем в ПЛК регистр с адресом 1 ,в регистр пишем биты,а с панели (HMI601 ) можем читать бит , или битовый регистр .
Я в начеле писал, что пробовал.

Modbus tester работает только в режиме мастер, а моя проблема не в обмене с расходомером. Мне необходимо чтобы ПЛК выдавал нужные команды.