M@V
Forum Professor / Завсегдатай форума
Участник № / Member № 1800
отправлено / posted
Господа, подскажите пожалуйста, как в ST-программе реализовать аналог FBD блока TSTEP? С уважением,M@V.
Сообщения / Posts 167 | Из / From: УКРАИНА
| IP / IP: IP адрес / IP address |
M@V
Forum Professor / Завсегдатай форума
Участник № / Member № 1800
отправлено / posted
Или только создавать дополнительный аргумент и привязивать его к атрибуту 118 вызывающего канала CALL, а далее функцией getAttributeI считать атрибут 87 либо 5, как правильно и эффективней? С уважением M@V.
Сообщения / Posts 167 | Из / From: УКРАИНА
| IP / IP: IP адрес / IP address |
M@V
Forum Professor / Завсегдатай форума
Участник № / Member № 1800
отправлено / posted
Пока аргумент программы привязал к 87-му атрибуту вызывающего ее канала CALL. Все вроде работает нормально. Но жду Вашей подсказки. С уважением, M@V.
Сообщения / Posts 167 | Из / From: УКРАИНА
| IP / IP: IP адрес / IP address |
отправлено / posted
В атрибут 87, CC канала CALL вызова программы записывается время (в миллисекундах) между вызовами программы. Это же именно то, что Вам надо?
Сообщения / Posts 17344 | Из / From: Россия
| IP / IP: IP адрес / IP address |
M@V
Forum Professor / Завсегдатай форума
Участник № / Member № 1800
отправлено / posted
Да, именно то, что мне надо для определения количества тактов в секунде, чтобы правильно сформировать временной интервал не привязываясь к пересчету каналов в RTM. Кстати атрибут 87 отражается аргументом типа REAL как тысячные секунды (0.550) а не (550) как Вы говорите. Но дело в том, что в FBD программе мне для решения этого вопроса не требовался дополнительный аргумент типа IN с привязкой к вызываемому каналу! Так и напрашивается специальная функция в ST программе. Ведь за частую период пересчета колеблется или его корректируют по железу, а программа должна точно выдерживать интервалы. С уважением, M@V.
Сообщения / Posts 167 | Из / From: УКРАИНА
| IP / IP: IP адрес / IP address |
M@V
Forum Professor / Завсегдатай форума
Участник № / Member № 1800
отправлено / posted
Интересно, атрибут 87 описан в системе как REAL и отражает период вызова в тысячных долях секунды, но если его принимать в аргумент типа INT то получаем миллисекунды!!! С уважением, M@V.
Сообщения / Posts 167 | Из / From: УКРАИНА
| IP / IP: IP адрес / IP address |
отправлено / posted
Если Вы не хотите иметь дополнительный аргумент в ST-программе, создайте пользовательскую функцию на языке FBD с блоком TSTEP и встройте ее в ST-программу.
Сообщения / Posts 17344 | Из / From: Россия
| IP / IP: IP адрес / IP address |
M@V
Forum Professor / Завсегдатай форума
Участник № / Member № 1800