Просмотр полной версии : Область памяти ПЛК_100
Всех приветствую!
Не могу разобраться с область памяти ПЛК, объявляю Modbus Slave через конфигуратор, туда вкладываю 200 2 байтных переменных, но обрашатся могу только до 113 переменной, на остальные что дальше ругается что нет такого адреса либо неверный тип word.
Помогите разобраться нужно именно 200 переменных. По указателю на первую вроде как я понял можно все их обрабатывать, но хотелось к примеру в переменную 200 отдельное слово для контроля связи к примеру.
приборист
13.05.2017, 00:24
Лицензия у ПЛК видимо L.
Поэтому и ограничения.
Да нет он М, думаю может в таргете беда. Либо в Codesys глюк, неделю как заметил, после обрашения к переменной, ФБ, входу в ST после точки можно выбрать что нужно и дальше печатать, а теперь каждый раз мышкой жмыкать приходится для возврата для печати далее, очень напрягает.
стоит изучить формат запроса/ответа протокола модбас, за раз нельзя прочитать 200 регистров. При любых трудностях с конфигураторм надо сразу переходить на библиотечный вариант
В конфигурации можно и 2 и 3 и 4 и ... слейвов сделать с одним и тем же портом, сделайте, например, два слейва по 100 регистров.
В конфигурации можно и 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 байта) а потом только данные кладутся?
так а нумерация регистров при этом как будет? одна и таже или разная?
В каждом слейве нумерация регистров начинается с нуля.
В каждом слейве нумерация регистров начинается с нуля.
А зачем мне тогда два , три , четыре слейва с один и тем же портом, по 100 регистров с одинаковой нумерацией.
Всех приветствую!
Не могу разобраться с область памяти ПЛК, объявляю Modbus Slave через конфигуратор, туда вкладываю 200 2 байтных переменных, но обрашатся могу только до 113 переменной, на остальные что дальше ругается что нет такого адреса либо неверный тип word.
Помогите разобраться нужно именно 200 переменных. По указателю на первую вроде как я понял можно все их обрабатывать, но хотелось к примеру в переменную 200 отдельное слово для контроля связи к примеру.
Неужели всё это создавали в ручную?
А использовать String для чтения сразу по 40 регистров с указателями не? почему?
Неужели всё это создавали в ручную?
А использовать String для чтения сразу по 40 регистров с указателями не? почему?
Я и говорю, указатель на ФБ переменных... Разобрался уже codesys криво встал, новый с сайта codesys. просто в 200 регистр контроль связи, отдельно от ФБ, а конфигуратор не хотел далее 113 регистра, ругался как при лицензии Л. Вопрос был ещё в другом, у СПК почему-то при такой связке нумерация съезжает на 4 байта, т.е. адрес указателя со стороны СПК - 4 байта. Если отдельно по регистрам, то всё гуд, но штатный мастер СПК не более 10 опросов, а ФБ сразу кучу забирает.
А зачем мне тогда два , три , четыре слейва с один и тем же портом, по 100 регистров с одинаковой нумерацией.
Ну и что, что нумерация регистров в каждом слейве одинаковая, ведь адреса слейвов разные. Мастеру ведь нужен и номер регистра и адрес слейва. А со стороны программы адреса регистров в памяти у всех регистров во всех слейвах уникальные.
Powered by vBulletin® Version 4.2.3 Copyright © 2025 vBulletin Solutions, Inc. All rights reserved. Перевод: zCarot