Спасибо разобрался - файл "DEFAULT.CHK" не всегда с первого раза зашивается или после перезагрузки пропадает. Когда второй раз только его загружаю - все начинает работать
Вид для печати
Спасибо разобрался - файл "DEFAULT.CHK" не всегда с первого раза зашивается или после перезагрузки пропадает. Когда второй раз только его загружаю - все начинает работать
Я конечно переписал программу в контроллер M02 с прошивкой v62 (там и выхода работают и регистров можно больше сделать, чем в заводской v53 (при использовании 4byte элементов еще больше, но я не проверял)), но в текущих проектах использую контроллер M01, т.к. официально на сайте прошивка 62 еще не выложена, да и у М01 есть некоторые приемущества (перепрограммирование порта, маркировка на корпусе, стабильная работа конфигуратора Modbus). Конечно есть ряд плюсов у М02, но пока с переходом подожду
Добрый день, уважаемы форумчане и тех поддержка.
Хочу продолжить тему так как, мне кажется, она осталась не раскрытой до конца (поясняю, что прочел полностью вот эту и вот эту тему.)
Появился объект, где уже закуплена лицензия на 1000 тегов для MasterSCADA. Проект большей частью уже сделан - количество используемых тэгов будет - 950 +/- 20.
Зная (читал форум), что есть некоторые ограничения на размер области Modbus Slave стал внимательно изучать вопрос.
Имею на стенде ПЛК110-24.30.Р-М (см. PLCInfo.jpg).
Написана простая тестовая программа TestRegsCount.pro (прикрепляю).
В программе в конфигурацию ПЛК добавлен ModbusSlave через TCP и в него 998 dwordов.
998 dword поименован, как dwReg998. Он инкрементируется в PLC_PRG.
Поименовал 12 дискретный выход, как DO12. В PLC_PRG запрограммировано "мигание" DO12 каждые 2 секунды (2 секунды включен, 2 секунды выключен).
Данная программа успешно работает - dwReg998 инкрементируется и опрашивается (см. "Работает с 998 dwordами.jpg"), 12 выход "мигает".
Если в данную программу в ModbusSlave добавить 999-й dword. Программа перестает работать после перезагрузки ПЛК по питанию. Проявляется следующим образом:
светодиод "работа" то горит, то нет. Дискретный выход 12 не "мигает" с периодом 2 секунды (периодически то включается, когда светодиод работа загорается, но тут же выключается).
Причем, если попытаться подключиться к ПЛК из CodeSys, то первые несколько попыток заканчиваются неудачей, а после 3-й или 4-й происходит подключение. После подключения CodeSys ПЛК начинает работать корректно.
Вопросы:
1. Некорректная работа с 999 dwordами это ошибка?
2. Если необходимо передать на верхний уровень больше 998*4 = 3992 байта, то единственный выход это библиотеки?
3. Есть ли ограничения на размер Modbus slave на ПЛК110 старой модификации. Вопрос не праздный, так как в реальном проекте будет использоваться старая модификация. ПЛК110 М02 на стенде.
1. Для начала надо ответить на вопрос - зачем я хочу передавать на верхний уровень 3992 байта, если ему и 30 будет достаточно. Чтобы лицензию MasterSCADA выбрать. Не съим так понадкусываю?
2. Посмотреть на размер области I/O в вкладке таргета
3. Проверить правильность доступа к регистрам (правильно без использования указателей)
4. Добавить модуль статистики и проверить свободные ресурсы ПЛК.
P.S. и таки да, ресурсы ПЛК не бесконечные
1. Владислав, ошибка с 999 dwordом у Вас проявляется?
2. Подробнее - это нигде не описано.
3. Правильно (указатели не используются). Хотя для практически пустого проекта - это не важно.
4. Модуль статистики есть. Все в порядке.
Будет таки вразумительный ответ?
Повторю вопросы немного в другом ключе:
1. Если с 998 dwrodами работает, а с 999 нет, то, видимо, имеет место какая-то ошибка. Так это или нет? Будет ли она удалена?
2. Время выполнения проекта с 998 dwordами составляет 100 мкс. А какой перегрузке ресурсов может идти речь?
3. На мой взгляд, 1000 тэгов - это средняя автоматизация, на что и заявлен ПЛК110.
Цикл 100 мкс (см. скриншот).