Ошибки и диагностика
Статья формата ObjectTypeVersion 1.0. Разбор OBJTYPE не прерывается из-за ошибки в одном подключении: парсер пишет сообщение и собирает остальное.
Сообщения лога
Section titled “Сообщения лога”| Ситуация | Поведение |
|---|---|
Лист без известного префикса вида (в т.ч. Tmpl.*, Wntk.*) | подключение пропущено + Warn |
| Файл или лист не найден | Error с путём и файлом, где объявлено подключение; повторно — в конце парсинга, с именем объекта |
| В файле / имени листа осталась переменная, которую нечем раскрыть | подключения нет + Error в конце парсинга, с объектом и причиной |
| Вложенность отложенных подключений глубже 8 | подключение не состоялось, запись в списке несостоявшихся |
В листе осталась неподставленная {переменная} | остаётся как есть, без сообщения |
Два объекта DevStudio с одинаковым DevStudioTemplate | Warn, привязка каналов неоднозначна |
| Лист подключает сам себя по кругу | защита от цикла + Warn |
Нет ни Tmpl.<Template>, ни <Template> | OBJTYPE не разобран + Error с искомыми именами, списком шаблонов файла и подсказкой про раскладку |
| Выключатель (кол. E) пуст | подключения нет, запись Debug — по разу на сочетание условий |
| Канал ссылается на выключенный объект DevStudio | канал остаётся + Warn |
$ATTFL: переменная или <script/> в C/D | блок не подключён + Error с подсказкой вынести выбор в $FL |
$ATTFL: колонки блока ≠ колонкам листа | Warn, строки всё равно добавлены |
$JSM: не задан путь (C) или имя вывода (D) | подключение пропущено + Warn |
$JSM: нет значений (нет алиасов в F) | jsm в первой строке объекта + Warn |
$JSM: алиаса из F нет в UnimodFB | jsm для алиаса нет + Error |
Объявлены $JSM, но нет ни одной строки UnimodFB | ST-программа не собрана + Warn |
Файл .jsm не найден при генерации | POU не сгенерирован + Warn с полным путём (в Unimod 1 — Error) |
Частые проблемы
Section titled “Частые проблемы”Подключение «пропало», в выходе нет объекта. Проверьте по порядку:
- выключатель в колонке E — не пуст ли он у этого объекта;
- на листе
systemестьObjectTypeVersion; - у листа в колонке D правильный префикс (
Ch./DevSt./HMI./HMIS.); - файл и лист существуют по указанному пути;
- лист базы назван так же, как в манифесте, включая раскладку.
В выходе осталась {переменная}. Не передано значение или перепутан порядок в $FL. Помните: пустые ячейки позицию не занимают.
Всё съехало на одну колонку — alias равен имени шаблона DevStudio, иконки исчезли. Модель собрана до появления колонки-выключателя — см. Миграция.
Канал не привязался к объекту DevStudio. DsTemplate канала (2-е значение) не совпадает с DevStudioTemplate объекта (1-е значение).
Модель пошла по старой обработке. Нет листа system или пуст ObjectTypeVersion.
«Отсутствует шаблон Tmpl.X (и X)». Экземпляр указывает Template = X, а в OBJTYPE нет ни Tmpl.X, ни X. Сообщение перечислит имеющиеся шаблоны и отдельно скажет, если нашёлся лист, отличающийся только раскладкой (кириллица / латиница).
«Подключение не состоялось» в конце парсинга. Отложенное подключение: в пути или имени листа осталась переменная либо такого листа нет. Если сообщение добавляет «к концу парсинга имя раскрывается в …» — значение приходит позже сборки объекта, так писать подключение нельзя.
Ошибка про несуществующий алиас в $JSM. Строка $JSM записана до появления алиасов в F — см. Миграция.
jsm попал в POU дважды. Одинаковые пары «путь + имя вывода» отбрасываются; два разных jsm в один POU — штатное дописывание.
Файл перестал читаться. OBJTYPE редактировали не в Excel. Откройте и пересохраните через Excel.