SIEMENS, DF&PD

Предыдущее посещение: Сб июл 02, 2016 4:31 Текущее время: Сб июл 02, 2016 4:31

Часовой пояс: UTC + 3 часа




 [ Сообщений: 18 ] 
Автор Сообщение
 Заголовок сообщения: ET200S & Modbus
СообщениеДобавлено: Пн фев 20, 2012 4:29 
Не в сети
Новый писатель

Зарегистрирован: Вт янв 17, 2012 13:28
Сообщения: 15
Откуда: Челябинск
Всем доброго времени суток!
Есть такая задача...

Имеется IM151-7 CPU и модуль 1SI Modbus master (6ES7 138-4DF11-0AB0)
Необходимо получать информацию с Sepam 1000+ 40s

Всё подключил, сконфигурировал без проблем, SF не горит.
Установил биб-ку с блоками для организации запросов для модбас, согласно мануалу http://support.automation.siemens.com/W ... aller=view
Operating System Updates устанавливать побоялся.
Согласно, тому же мануалу сделал запрос по сети, как я понял, не зависимо в сети ли абонент, запрос должен отослаться и светодиод на модуле должен мигать. Однако этого не происходит - ошибок нет, сигнала об успешном результате нет, но блок подсвечивается зелёным как будто выполняется...
Изображение
Вот так выглядит нетворк запроса
Изображение
область send

Объясните, пожалуйста, как правильно составить запрос?


Вернуться к началу
 Профиль  
 
 Заголовок сообщения:
СообщениеДобавлено: Пн фев 20, 2012 7:40 
Не в сети
Ведущий специалист

Зарегистрирован: Вт янв 11, 2005 9:27
Сообщения: 5022
Откуда: SIEMENS I IA AS Москва
А почему длина запроса 4-ре?


Вернуться к началу
 Профиль  
 
 Заголовок сообщения:
СообщениеДобавлено: Пн фев 20, 2012 8:38 
Не в сети
Новый писатель

Зарегистрирован: Вт янв 17, 2012 13:28
Сообщения: 15
Откуда: Челябинск
да, я обсчитался... 6 байт, но всё равно иа же петрушка(


Вернуться к началу
 Профиль  
 
 Заголовок сообщения:
СообщениеДобавлено: Пн фев 20, 2012 9:05 
Не в сети
Известный Писатель

Зарегистрирован: Вс дек 18, 2011 11:25
Сообщения: 243
А у вас запрос на передачу REQ ( M0.1 ) как реализован? Он у вас как тактовый(clock memory) или вы его где-то в программе дергаете?


Вернуться к началу
 Профиль  
 
 Заголовок сообщения:
СообщениеДобавлено: Пн фев 20, 2012 9:24 
Не в сети
Ведущий специалист

Зарегистрирован: Вт янв 11, 2005 9:27
Сообщения: 5022
Откуда: SIEMENS I IA AS Москва
В ОВ100 инициализация модуля была произведена?
Как формируется бит запроса и как он сбрасывается?
Бит ошибки появляется?
Если появляется, то какой код ошибки в момент существования бита ошибки?


Вернуться к началу
 Профиль  
 
 Заголовок сообщения:
СообщениеДобавлено: Пн фев 20, 2012 10:27 
Не в сети
Новый писатель

Зарегистрирован: Вт янв 17, 2012 13:28
Сообщения: 15
Откуда: Челябинск
бит m0.1 тактовый, m1.0 всегда равен единице.

ошибок никаких не выдает, этот блок ошибки не находит, но контроллер уходит в стоп - значит ошибки есть.

в ob100 ничего не делал, можете объяснить как выполнить иниализацию?


Вернуться к началу
 Профиль  
 
 Заголовок сообщения:
СообщениеДобавлено: Пн фев 20, 2012 11:25 
Не в сети
Ведущий специалист

Зарегистрирован: Вт янв 11, 2005 9:27
Сообщения: 5022
Откуда: SIEMENS I IA AS Москва
Тактовый бит в блоках передачи-приема информации использовать нельзя (можно конечно, если время тактового меркера будет установлено заранее с очень большим гарантированным запасом), т.к. передача осуществляется асинхронно от цикла выполнения программы. Обычно его нужно установить, а сбрасывать его должен бит DONE или ERROR, т.к. только в этом случае понятно, что блок закончил выполнение процедуры передачи (с ошибкой или без нее).
При установке программного обеспечения для модуля ET200S 1SI из
http://support.automation.siemens.com/W ... n/25358470
устанавливается и пример по программированию модуля ET200S 1SI для режима Modbus.


Вернуться к началу
 Профиль  
 
 Заголовок сообщения:
СообщениеДобавлено: Ср фев 22, 2012 11:30 
Не в сети
Новый писатель

Зарегистрирован: Вт янв 17, 2012 13:28
Сообщения: 15
Откуда: Челябинск
Спасибо.
Переделал запрос, по вашему совету, но опять же не получилось...
Инициализация, судя по примеру, проходит при завершении перезагрузки контроллера, устанавливая входную/выходную переменную "COM_RST" в единицу? Что-нибудь ещё нужно делать?
Пробывал просто скопировать алгоритм программы из примера к себе, но IM с CPU не может выполнить этот алгоритм
Изображение
перепараметрированный блок запроса
Изображение
инициализация в OB100
А протоколы RS485 и RS322С отличаются чем-нибудь программно?
В примере используется RS322C, а у меня RS485


Вернуться к началу
 Профиль  
 
 Заголовок сообщения:
СообщениеДобавлено: Ср фев 22, 2012 11:37 
Не в сети
Ведущий специалист

Зарегистрирован: Вт янв 11, 2005 9:27
Сообщения: 5022
Откуда: SIEMENS I IA AS Москва
С точки зрения протокола modbus - не отличаются.


Вернуться к началу
 Профиль  
 
 Заголовок сообщения:
СообщениеДобавлено: Пн фев 27, 2012 12:10 
Не в сети
Новый писатель

Зарегистрирован: Вт янв 17, 2012 13:28
Сообщения: 15
Откуда: Челябинск
Скажите пожалуйста, у нормально сконфигурированного/запрограммированного Mobdus master при работе индикатор Tx должен мигать, даже если к нему ничего не подключено? Т. е. запросы могут отсылаться куда-то в пустоту


Вернуться к началу
 Профиль  
 
 Заголовок сообщения:
СообщениеДобавлено: Пн фев 27, 2012 12:52 
Не в сети
Известный Писатель

Зарегистрирован: Вс фев 20, 2011 21:37
Сообщения: 241
Не знаю как у ЕТ200, а у 1200 да


Вернуться к началу
 Профиль  
 
 Заголовок сообщения:
СообщениеДобавлено: Пн фев 27, 2012 13:31 
Не в сети
Известный Писатель

Зарегистрирован: Вс дек 18, 2011 11:25
Сообщения: 243
Если у вас железо рабочее и в программе вы что-то отправляете, то ес-но должен вне зависимости от того, подключен абонент или нет.
Вопрос только, вы картинку сами нарисовали или это из примера?
Логика непонятна. Запрос на передачу REQ появится если либо M10.2 или M10.3 будет в 1. Запустили PLC, программа крутится, а эти мерекеры в каком состоянии? Где гарантии, что после запуска хоть один встанет в 1? Вы пробовали в он-лайне смотреть?
И вообще, это неправильно. Как правильно делать запрос написал
Сергей Кухаренко:
Цитата:
Обычно его нужно установить, а сбрасывать его должен бит DONE или ERROR, т.к. только в этом случае понятно, что блок закончил выполнение процедуры передачи (с ошибкой или без нее).

Т.е. вам нужно установить REQ с помощью чего-либо(тактовый меркер или еще как-нить), а сбрасывать его меркерами M10.2, M10.3.
Мне эта ситуация как-то так видится


Вернуться к началу
 Профиль  
 
 Заголовок сообщения:
СообщениеДобавлено: Пн фев 27, 2012 14:02 
Не в сети
Новый писатель

Зарегистрирован: Вт янв 17, 2012 13:28
Сообщения: 15
Откуда: Челябинск
Maxim_85 писал(а):
Вопрос только, вы картинку сами нарисовали или это из примера?

Это скриншот из рабочего проекта, в котором я пытаюсь настроить чтение данных с Sepam 1000 по сети Modbus
Maxim_85 писал(а):
Логика непонятна. Запрос на передачу REQ появится если либо M10.2 или M10.3 будет в 1. Запустили PLC, программа крутится, а эти мерекеры в каком состоянии? Где гарантии, что после запуска хоть один встанет в 1? Вы пробовали в он-лайне смотреть?

Понял вашу мысль, буду экспериментировать, большое спасибо


Вернуться к началу
 Профиль  
 
 Заголовок сообщения:
СообщениеДобавлено: Пн фев 27, 2012 15:00 
Не в сети
Известный Писатель

Зарегистрирован: Вс дек 18, 2011 11:25
Сообщения: 243
Я может, резко выразился, приведенная выше схема вообщем-то рабочая. Главный вопрос в начальной инциализации. Что даст первый, так сказать импульс? Далее блок будет крутиться, сам себя запуская.
Возможно, нужно в OB100 изначально какой-либо из меркеров(10.2,10.3) установть в 1?.. Нужно доку внимательно прочитать. Или проект внимательно изучите, как там это все реализовано


Вернуться к началу
 Профиль  
 
 Заголовок сообщения:
СообщениеДобавлено: Вт фев 28, 2012 6:11 
Не в сети
Новый писатель

Зарегистрирован: Вт янв 17, 2012 13:28
Сообщения: 15
Откуда: Челябинск
Maxim_85 писал(а):
Я может, резко выразился, приведенная выше схема вообщем-то рабочая. Главный вопрос в начальной инциализации. Что даст первый, так сказать импульс? Далее блок будет крутиться, сам себя запуская.
Возможно, нужно в OB100 изначально какой-либо из меркеров(10.2,10.3) установть в 1?.. Нужно доку внимательно прочитать. Или проект внимательно изучите, как там это все реализовано

В примере при инициализации устанавливают бит "COM_RST" в состояние 1.

Вообще, в наблюдая в онлайне программу, как я уже писал выше все выходы показывают ноль (M10.2, M10.3, MW12). Ваше вчерашнее сообщение навело меня на мысль, что они просто очень быстро обнуляются. Так и есть каждый запрос заканчивается ошибкой, бит М10.4 очень быстро мигает, и статус засек 16#530. Если поможете расшифровать этот статус, буду очень признателен :) В мануалах ответ пока не нашёл
В описании нет ошибки с номером 30, класс события 5 - "Ошибка при выполнении задания CPU"
SFCERR ошибок не выдает, всегда равен нулю


Вернуться к началу
 Профиль  
 
 Заголовок сообщения:
СообщениеДобавлено: Вт фев 28, 2012 9:30 
Не в сети
Новый писатель

Зарегистрирован: Пн окт 26, 2009 11:54
Сообщения: 18
Откуда: Россия, Санкт-Петербург
В русском описании к ET 200S 1SI не полное описание статусов ошибок, смотрите в английском документе (et200s_serial_interface_operating_instructions_en-US_en-US), там есть статус 05 30, он означает, что посылка отменена, так как не получен ответ на предыдущий запрос!!!
У меня есть рабочая версия модбаса - общение с Sepam 80 и 40, могу скинуть по почте, может по ней разберетесь!


Вернуться к началу
 Профиль  
 
 Заголовок сообщения:
СообщениеДобавлено: Пн сен 30, 2013 7:59 
Не в сети
Известный Писатель

Зарегистрирован: Пн ноя 15, 2010 6:41
Сообщения: 322
Откуда: Томск
Подниму тему.

Есть устройство, которое умеет общаться по модбас протоколу (RS485).
В качестве мастера установлен модуль 1SI (6ES7 138-DF11) Modbus master.
Тех. поддержка устройства выдала параметры:
Цитата:
data : 8
parity: NONE
stop: 1


Но! Исходя из инструкции к 1SI:
Цитата:
The number of stop bits defines the smallest possible time interval between two characters to be transmitted. An 11-bit character frame must always be used. If you set the parity to "none", you must select 2 stop bits.

при установке четности в NONE всегда требуется указывать 2 стоп-бита.

Вопрос: получается никак слейв не опросить с помощью данного модуля?

На данный момент во время приема данных с помощью стандартного FB2 S_RCV получаю ошибку 811h - Character frame error - check whether both devices have the same setting for baud rate, parity and number of stop bits.
Что собственно и логично, так как параметры опроса выставить одинаковыми возможности нет..

UPD*. Копаюсь в литературе, нашел фразу: "Data is transmitted between the ET200S 1SI serial interface module and a communication partner via the serial interfacein a 10-bit or 11-bit character frame. Three data formats are available for each character frame. You can parameterize the required format in STEP 7."
Так бы мне настроить модуль на 10 битную посылку, но не вижу данного параметра :( Видимо нельзя.


Вернуться к началу
 Профиль  
 
 Заголовок сообщения:
СообщениеДобавлено: Вт окт 01, 2013 7:48 
Не в сети
Ведущий специалист

Зарегистрирован: Вт янв 11, 2005 9:27
Сообщения: 5022
Откуда: SIEMENS I IA AS Москва
Настроить модуль 1SI Modbus на 10-ти битовую посылку нельзя.
А по поводу информации работы с 10-ти битовой и 11-ти битовой посылкой, то вы скорее всего читаете документацию по другому модулю 1SI с заказным номером -4DF01-, который поддерживает протокол ASCII и в котором напрямую можно задать количество бит данных 7 или 8.


Вернуться к началу
 Профиль  
 
Показать сообщения за:  Поле сортировки  
 [ Сообщений: 18 ] 

Часовой пояс: UTC + 3 часа


Кто сейчас на конференции

Сейчас этот форум просматривают: нет зарегистрированных пользователей и гости: 0


Вы не можете начинать темы
Вы не можете отвечать на сообщения
Вы не можете редактировать свои сообщения
Вы не можете удалять свои сообщения

Перейти:  
Powered by phpBB © 2000, 2002, 2005, 2007 phpBB Group