X0 в обеих случаях перед Первым сканом был в ON.
ISP функциональный блок
Re: ISP функциональный блок
- Вложения
-
- Scan_7.png (34.33 КБ) 1825 просмотров
-
- Scan_6.png (37.02 КБ) 1825 просмотров
Re: ISP функциональный блок
Это все фишки языка LD. Гляньте в дебагере переведенный машинный код IL(так сказать ПЛК-ашный Ассэмблер). Ничего там не передается, а просто переводится в абсолютные значения маркеров, регистров, счетчиков и др. Здесь не так как в языках программирования Си, Паскаль, Бейсик, когда данные передаются через стэк.
Да и потом с инструкцией LDF такого бага нет.
Re: ISP функциональный блок
Тогда опишите эту проблему в компанию Стоик, и тогда они передадут ваш обоснованный вопрос китайцам, а они возможно поправят, ведь получается у вас настолько редкий случай, что вряд ли, не узнав о нем, кто-то что-то будет поправлять в уже практически брошенном поколении контроллеров.
с LDF надо проверять, чтобы тогда x0 был всегда выключен.
кстати, я забыл, а вы это в железе проверяли?
с LDF надо проверять, чтобы тогда x0 был всегда выключен.
кстати, я забыл, а вы это в железе проверяли?
Re: ISP функциональный блок
Для каждой инструкци LDP и LDF проверял оба варианта когда операнд "ON" и "OFF". Только в одном из четырех сигнал "проскакивал" через инструкцию. В железе DVP-14SS2 баг тоже проявлялся. Скорей всего проблема не в компиляторе, как я думал раньше, а в самой операционной системе контроллера и симулятора. Есть смысл попробовать на других моделях, хотя бы в симуляторе.
В поддержку написать дело конечно хорошее, вот еще бы кто-то подтвердил этот баг.
Re: ISP функциональный блок
Оказалось, дело даже не в первом проходе подпрограммы, а просто в первой обработке LDP. Проверьте пример на рисунке. М1, М2 - всегда "ON"; М2, М3 - всегда "OFF"; И пощелкайте М0. При первом проходе включается М10, при последующих - нет.
- Вложения
-
- bug.jpg (30.8 КБ) 1801 просмотр