[?]: Не обновляются данные в DB с симокодов по profibus DP

Промышленные Логические Контроллеры SIMATIC S7-200/300/400
besogon
Posts: 6
Joined: Wed Apr 20, 2011 11:46 am

[?]: Не обновляются данные в DB с симокодов по profibus DP

Post by besogon »

Есть проект для CPU 417-4, написанный на STL.
Есть сеть profibus DP с симокодами.
В программе используется одна FC1 для всех симокодов, в ней описываются входа/выхода для PLC.
В FC2 прописываются непосредственно симокоды, т.е. для каждого механизма используется функция FC1 с подстановкой адресов I/Q из hardware. Из FC2 данные записываются в DB.
Проблема: если откинуть штекер profibus от любого механизма, в DB данные по этому механизму могут обновится не полностью или вообще не обновится.
Почему непонятно.
Помогите решить проблему.
Заранее спасибо.
sania
Site Admin
Posts: 1387
Joined: Sat Aug 13, 2005 6:15 am

Re: [?]: Не обновляются данные в DB с симокодов по profibus

Post by sania »

чтоб полностью обновлялось надо юзать консистентную систему передачи данных
чтоб видеть отключенное устройство надо делать обработку ошибок
besogon
Posts: 6
Joined: Wed Apr 20, 2011 11:46 am

Re: [?]: Не обновляются данные в DB с симокодов по profibus

Post by besogon »

Sania, спасибо за ответ.
Для консистентности данных DP-устройств в программе используются SFC14, SFC15, SFC13, SFC59. Проверка блоков на консистентность (Check Block Consistency) ошибок не выявила.
В другом (практически аналогичном) проекте, но на CFC, проблем с обновлением данных не возникает.
На данный момент, чтобы не нарушать технологию (в частности, для работы блокировочных связей) в проект STL добавили CFC с функцией "Generate module drivers". Система автоматически сформировала блоки FB118 (OB_DIAG1) по каждому DP устройству из Hardware со своим DB..., из DB (по необходимым устройствам) использую IO параметр, который показывает сбой/отказ устройства. Данный бит использую в программе STL.
Получается огород..., хочется переделать программу STL, чтобы она корректно отрабатывала. Буду искать дальше.