Не обязательно хранить рецепты в файле на ПЛК.
Я, например, их храню в retain переменных в ПЛК.
Не обязательно хранить рецепты в файле на ПЛК.
Я, например, их храню в retain переменных в ПЛК.
Мой канал на ютубе
https://www.youtube.com/c/ПетрАртюков
Мой канал на РУТУБЕ
https://rutube.ru/channel/23641433/
Библиотека ГМ для СП300
https://disk.yandex.com/d/gHLMhLi8x1_HBg
Есть подозрения, что "переменных по 2byte - 2850 шт, переменных DWORD(REAL) - 505 шт" просто физически не влезут в конфигурацию слейва.
Да и зачем, когда
"Для редактирования с панели или из скада достаточно в слейве иметь регистры только ОДНОГО рецепта и номер редактируемого рецепта."
А как хранить 100 рецептов в ПЛК не имеет принципиального значения - хотите в файле, хотите в retain переменных. И там и там в программе будет массив из 100 структур. Структура - совокупность параметров одного рецепта.
Мой канал на ютубе
https://www.youtube.com/c/ПетрАртюков
Мой канал на РУТУБЕ
https://rutube.ru/channel/23641433/
Библиотека ГМ для СП300
https://disk.yandex.com/d/gHLMhLi8x1_HBg
Говорят, что в прошивке 0.3.72 или 0.3.73 все проблемы с retain решены.
Если рецептов так много, то нужно еще учесть максимальный размер retain. Может быть файл единственное решение.
Я задавал этот вопрос изначально в тех поддержку и писал в группу ВК по поводу RETAIN
В группе ВК упорно посоветовали фигачить все в SLAVE, к SLAVE привязать порт на котором будет панель и порт TCP на котором будет скада. Все что в SLAVE автоматом в энергонезависимой памяти.
Тех поддержка тоже ответила что ресурсов хватит.
Посмотрел. Согласно руководства по эксплуатации ПЛК110 М02 объем ретейн 16 Кб (таблица 2.1). Конечно, хватит.
Но вот в слейв Вы вряд ли это запихнете. Так что, действуйте как написал petera.
Вот тут я задался еще одним вопросом. Мы запустим одну печь, далее технологи забьют через панель все параметры 100 рецептов и все бы хорошо. Но надо еще сделать 2 печи, как потом мне из одной печи перенести параметры рецептов другую? Чтоб занаово вручную не набивать. Файл ПЛК можно выгрузить из контроллера и загрузить в новый? А как быть если я пойду путем через RETAIN переменные?