Есть CPU 315-2 DP, на профибусе сидит частотник, подробности на скриншоте:
http://img268.spamm.us/img268/2347/s73152dp.jpg
Подскажите пожалуйста, как найти программный блок, где происходит чтение-запись по адресам input-output этого частотника (288...299); в Cross-references их нет. Могут ли они быть в защищенных блоках и что делать в этом случае?
Спасибо.
[?]: Как найти в программе обращение к адресам
RE:[?]: Как найти в программе обращение к адресам
Это адреса чтения и записи слов для частотника (слов статуса, ток, скорость и слово управления)...данные адреса используются в дата блоках при использовании функций DP_SEND (например DB1) и DP_RESEIVE (напрмер DB2).
RE:[?]: Как найти в программе обращение к адресам
Ты проект выложи,тогда можно будет точно сказать в каком месте. Возможно используются для приема/передачи функции SFC14&SFC15
RE:[?]: Как найти в программе обращение к адресам
Если в кросреференце нет - возможно адреса задаются обычным числом.
В таком случае поможет генерация всей программы в STL исходник и обычный текстовый поиск в нем. В вашем случае по числу 288.
В таком случае поможет генерация всей программы в STL исходник и обычный текстовый поиск в нем. В вашем случае по числу 288.
Re: [?]Как найти в программе обращение к адресам
Если в защищенных блоках, то кроссреференс все равно покажет, только блок открыть нельзя будет.EuGrach wrote:Есть CPU 315-2 DP, на профибусе сидит частотник, подробности на скриншоте:
http://img268.spamm.us/img268/2347/s73152dp.jpg
Подскажите пожалуйста, как найти программный блок, где происходит чтение-запись по адресам input-output этого частотника (288...299); в Cross-references их нет. Могут ли они быть в защищенных блоках и что делать в этом случае?
Спасибо.
Обычно обращение по профибасу сначала обязательно обращается к начальному слову (в твоем случае 288), а затем идет обращение к различным адресам (в заданном диапазоне) в различном формате.
Но я видел немецкий проект, где написан специально блок (FC) для управления устройством, и явного обращения не было вовсе.
Тогда мне пришлось искать обращение (вызов) к незнакомым блокам и в обращении уже искал адрес (в твоем случае 288).
Но, что бы "расковырять" этот блок пришлось попердеть, блин.
RE:[?]: Как найти в программе обращение к адресам
Да верно, так и оказалось.CHANt wrote:Возможно используются для приема/передачи функции SFC14&SFC15
Да я бы и рад выложить, но не знаю, дозволено ли это у нас, просто начальство может неправильно понять.CHANt wrote:Ты проект выложи,тогда можно будет точно сказать в каком месте.
Да это действительно помогло.komatic wrote:Если в кросреференце нет - возможно адреса задаются обычным числом.
В таком случае поможет генерация всей программы в STL исходник и обычный текстовый поиск в нем. В вашем случае по числу 288.
Всем спасибо за отклик.