PDA

Просмотр полной версии : Область памяти ПЛК_100



Dimko
12.05.2017, 22:02
Всех приветствую!

Не могу разобраться с область памяти ПЛК, объявляю Modbus Slave через конфигуратор, туда вкладываю 200 2 байтных переменных, но обрашатся могу только до 113 переменной, на остальные что дальше ругается что нет такого адреса либо неверный тип word.
Помогите разобраться нужно именно 200 переменных. По указателю на первую вроде как я понял можно все их обрабатывать, но хотелось к примеру в переменную 200 отдельное слово для контроля связи к примеру.

приборист
13.05.2017, 00:24
Лицензия у ПЛК видимо L.
Поэтому и ограничения.

Dimko
13.05.2017, 09:02
Да нет он М, думаю может в таргете беда. Либо в Codesys глюк, неделю как заметил, после обрашения к переменной, ФБ, входу в ST после точки можно выбрать что нужно и дальше печатать, а теперь каждый раз мышкой жмыкать приходится для возврата для печати далее, очень напрягает.

capzap
13.05.2017, 09:23
стоит изучить формат запроса/ответа протокола модбас, за раз нельзя прочитать 200 регистров. При любых трудностях с конфигураторм надо сразу переходить на библиотечный вариант

petera
13.05.2017, 10:08
В конфигурации можно и 2 и 3 и 4 и ... слейвов сделать с одним и тем же портом, сделайте, например, два слейва по 100 регистров.

Dimko
13.05.2017, 19:19
В конфигурации можно и 2 и 3 и 4 и ... слейвов сделать с одним и тем же портом, сделайте, например, два слейва по 100 регистров.

так а нумерация регистров при этом как будет? одна и таже или разная?
И ещё вопрос к знающим людям, ПЛК 110 Modbus Slave через конфигуратор, там 50 слов word обьявлены, на первое слово я даю указатель на к примеру ФБ каких либо переменных, СПК 107-110 при этом является мастером, так вот почему при такой связке у спк получается смешение в 2 регистра по отношению к ПЛК110. Т.е. идет ФБ там word - 0 регистр, word - 1 регистр, dword 2-3 регистр, real 4-5 регистр; У СПК при обращении к регистру 0 ни чего не лежит, а данные лежат в регистре 2, 3, 4-5, 6-7 соответственно. Обьявляю указатель на ФБ и даю адрес в первый регистр при штатном слэйве ПЛК. Я так понимаю передаётся сналача размер самого ФБ(т.е. указателя 4 байта) а потом только данные кладутся?

petera
14.05.2017, 05:24
так а нумерация регистров при этом как будет? одна и таже или разная?

В каждом слейве нумерация регистров начинается с нуля.

Dimko
14.05.2017, 22:38
В каждом слейве нумерация регистров начинается с нуля.

А зачем мне тогда два , три , четыре слейва с один и тем же портом, по 100 регистров с одинаковой нумерацией.

Scream
14.05.2017, 22:45
Всех приветствую!

Не могу разобраться с область памяти ПЛК, объявляю Modbus Slave через конфигуратор, туда вкладываю 200 2 байтных переменных, но обрашатся могу только до 113 переменной, на остальные что дальше ругается что нет такого адреса либо неверный тип word.
Помогите разобраться нужно именно 200 переменных. По указателю на первую вроде как я понял можно все их обрабатывать, но хотелось к примеру в переменную 200 отдельное слово для контроля связи к примеру.

Неужели всё это создавали в ручную?
А использовать String для чтения сразу по 40 регистров с указателями не? почему?

Dimko
14.05.2017, 23:14
Неужели всё это создавали в ручную?
А использовать String для чтения сразу по 40 регистров с указателями не? почему?

Я и говорю, указатель на ФБ переменных... Разобрался уже codesys криво встал, новый с сайта codesys. просто в 200 регистр контроль связи, отдельно от ФБ, а конфигуратор не хотел далее 113 регистра, ругался как при лицензии Л. Вопрос был ещё в другом, у СПК почему-то при такой связке нумерация съезжает на 4 байта, т.е. адрес указателя со стороны СПК - 4 байта. Если отдельно по регистрам, то всё гуд, но штатный мастер СПК не более 10 опросов, а ФБ сразу кучу забирает.

petera
14.05.2017, 23:44
А зачем мне тогда два , три , четыре слейва с один и тем же портом, по 100 регистров с одинаковой нумерацией.
Ну и что, что нумерация регистров в каждом слейве одинаковая, ведь адреса слейвов разные. Мастеру ведь нужен и номер регистра и адрес слейва. А со стороны программы адреса регистров в памяти у всех регистров во всех слейвах уникальные.