В описании модуля "счетчик" ПЛК1хх сказано, что счетчик обнуляется
каждый цикл ПЛК.
А в моей программе несколько задач (добавленных через task manager),
по циклу какой задачи обнуляется счетчик?
В описании модуля "счетчик" ПЛК1хх сказано, что счетчик обнуляется
каждый цикл ПЛК.
А в моей программе несколько задач (добавленных через task manager),
по циклу какой задачи обнуляется счетчик?
По циклу ПЛК. Добавьте модуль "статистик" и увидите время цикла
Чтобы не потерять значение счетчика, его надо прочитать в какой-то задаче.
Если у нас одна задача (PLC_PRG), то ясно, в какой.
Но у меня несколько задач.
Если я буду читать значение в одной задаче, а сбрасываться он будет по другой,
или вообще по какому-то "своему" общему циклу, то получу неверные данные.
копируйте в глобальную переменную
Суммируйте в PLC_PRG, для каждой подпрограммы отдельно значения из счетчика. При вызове определенной подпрограммы, считывайте и обнуляйте значение или как там у Вас задумано, не знаю. Значения в PLC_PRG объявите глобальными, для доступа к ним из подпрограмм.
Я так-то доходчиво написал. Что там непонятного?
Глобальные переменные видны в любом POU и совсем не обязательно присутствие PLC_PRG, вот на что Вы должны были обратить внимание, а не на архитектуру программы другого пользователя. Не важно через какие периоды крутятся Ваши квазипараллельные проги, в конфигураторе минимальное время цикла разве от этого пропадает?