|
  |
Modbus&Citect |
|
|
|
12.11.2011, 18:27
|
Группа: Участники форума
Сообщений: 42
Регистрация: 17.8.2011
Из: Санкт-Петербург
Пользователь №: 118840

|
Уважаемые специалисты, имеется устройство siemens sentron 3200 co встроенным Modbus TCP/IP, имею опыт интеграции Modbus устройств в Citect, по средствам встроенного драйвера , no карта Modbus регистров данного устройства имеет не Modbus организацию, т.е значение выходных регистров размещаются с адреса 1 и т.д. В Citect доступ к выходным регистрам возможен только начиная с адреса 40000. Имеет ли кто нибудь опыт настройки драйвера Modbus в Citect для возможности доступа к произвольной карте регистров?
|
|
|
|
|
12.11.2011, 20:59
|
Группа: Участники форума
Сообщений: 170
Регистрация: 10.5.2008
Пользователь №: 18574

|
"no карта Modbus регистров данного устройства имеет не Modbus организацию" ...вообще-то нет уже "ModBus не ModBus" организации памяти, есть единая МЭК адресация регистров с 0x, а номер ModBus функции определяет уже к какой памяти идет обращение, например 0x3 - чтение регистров RW, 0x4 - чтение регистров R, в большинстве OPC-SCADA есть выбор между способами адресации, обычно если заявленная карта устройства в МЭК адресации, с 0x, в Modicon формат переводится 400001 + МЭК адрес регистра, если он заявлен как RW, и 300001 + ... если он заявлен как R, но иногда надо делать поправку на фантазию разработчиков устройства:), МЭК адресацию могут сделать со своим тайным смещением:), иногда с 1x, был случай с одним девайсом с 1x00:))...
|
|
|
|
|
13.11.2011, 12:42
|
Группа: Участники форума
Сообщений: 531
Регистрация: 10.1.2008
Из: Киев
Пользователь №: 14316

|
Посмотрите тут рис.8 http://www.modbus.org/docs/Modbus_Applicat...tocol_V1_1b.pdfВ большинстве случаев модель адресации Модбас ложится на конкретное устройство совсем не так, как это сделано в старых Модиконах. По этому при обращении з Citect по адресам 400001 всего навсего означает что вы обращаетесь к 1-й по счету ячейке в области памяти устройства на который спроецированы Holding Registers. Где-то это будут выходы устройтсва, где-то внутренние регистры, где-то произвольно выделенный блок памяти. Как бы то нибыло в этом девайсе, в Сайтект все-равно будет выглядеть как 40000х ну или %MW0, если выберете Модбас для Модикон Микро/Премиум/М340.
|
|
|
|
|
13.11.2011, 13:10
|
Группа: Участники форума
Сообщений: 42
Регистрация: 17.8.2011
Из: Санкт-Петербург
Пользователь №: 118840

|
Во-первых, ОРС сервер не используется, а используется встроенный драйвер Modbus точнее Modnet. Во-вторых, средства citect не позволяют обращаться к произвольным регистрам, т.е. при создании тэга типа int,real возможно вводить только адреса 3000х или 4000х. Возможно, это ограничение можно изменить где-то в конфиг. файлах. Так вот вопрос: Возможно ли это сделать в citect?
|
|
|
|
|
13.11.2011, 13:58
|
Группа: Участники форума
Сообщений: 531
Регистрация: 10.1.2008
Из: Киев
Пользователь №: 14316

|
При чем тут ОРС. Кто говорил о ОРС? Если Вы думаете что когда я говорил о Премиумах и Микрах то я имел ввиду работу через OFS, то должен Вам открыть тайну, что драйвер MODNET30 совсем меняет представление перемнных для юзеров с вида типа 4000х на %MW. А в середине это все-равно остается Modbus/TCP. Что значит не позволяет обращаться к произвольным регистрам? Адреса 3000х и 4000х это всего-лишь обращение к 2-м видам памяти - Input Registers и Holding Registers, в зоне которых находятся ваши перемнные. Ищите в мануалах как обращаться к нужным Вам переменным для Вашего ПЛК. Так, например, если вы взяли какой-то 300-й Siemns и захотели к нему обращаться через Modbus TCP (глупость конечно но бывает) из Citect, то все-равно будете указывать 40000х/3000х (MODNET) или %MW (например MODNET30) и будете попадать в ту же область памяти, отнюдь не ту, что указанная в Сайтект , а ту которую задали в S7 300 (например какой-то там DB100). Слушайтесь советов, Вы все таки за помощью обратились а не для спорить. Киньте на общее обозрение мануал по вашому контроллеру в контексте Modbus TCР, а мы уже Вам скажем где искать переменные. Очень возможно, что к входам/выходам ПЛК вобще можно не обратится.
|
|
|
|
|
13.11.2011, 15:38
|
Группа: Участники форума
Сообщений: 42
Регистрация: 17.8.2011
Из: Санкт-Петербург
Пользователь №: 118840

|
Всем спасибо, разобрался наконец то!!!)
|
|
|
|
|
14.11.2011, 18:38
|
Группа: Участники форума
Сообщений: 42
Регистрация: 17.8.2011
Из: Санкт-Петербург
Пользователь №: 118840

|
В продолжение темы... siemens sentron 3200 предоставляет данные по потребленной энергии в четырех регистрах(8 байт), тип данных double. Возможно ли прочитать данные данного типа в citect стандартными средствами? В перечне поддерживаемых типов citect отсутствует double.
|
|
|
|
|
14.11.2011, 20:29
|
Группа: Участники форума
Сообщений: 531
Регистрация: 10.1.2008
Из: Киев
Пользователь №: 14316

|
Это конечно очень забавно, зачем так усложнять жизнь пользователям? Если формат известен - CiCODE вам в руки. Читайте 4 инта и делайте с ними что надо. Только вот как вы хранить эту информацию в трендах будете, все равно с точностю REAL.
|
|
|
|
|
16.11.2011, 9:40
|
Группа: Участники форума
Сообщений: 42
Регистрация: 17.8.2011
Из: Санкт-Петербург
Пользователь №: 118840

|
Спасибо за совет, попробую победить
|
|
|
|
|
  |
1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0
|
|
Реклама
ООО «Арктика групп» ИНН: 7713634274
ООО "Русич" ИНН 9721068883 / ЕРИД 2Vtzqx9HerZ
ООО «УНИСПЛИТ» ИНН: 6453155081 erid: 2VtzqvmjJqS
ООО "АйДи-Электро" ИНН:6670013662 erid:2Vtzqwtpv5j
Последние сообщения Форума
|