Здравствуйте, помогите, пожалуйста, решить, на первый взгляд, простую задачку: от датчика продукции сигнал поступает на вход ПЛК, выдерживается заданная задержка, и на выход ПЛК формируется импульс 20 мс. Проблема в том, что входные импульсы поступають очень быстро, быстрее чем задержка на выход.  
							
						
					Объявление
				
					Свернуть
				
			
		
	
		
			
				Пока нет объявлений.
				
			
				
	
Простая задачка для ПЛК 40
				
					Свернуть
				
			
		
	X
- 
	
	
	
		
	
	
		
		
		
		
		
		
		
	
	
Если рассматривать библиотеку AgavaModules и самостоятельное определение нужных типов ФБ и их экземпляров из данной библиотеки, то отличие от корзины заключается в том, что программист сам должен организовать процесс опроса таких модулей, а именно создать отдельную задачу( хотя задача может использовать общая , если проект не большой ). Далее нужно определить место в программе где будет выполняться вызов экземпляров модулей опроса, данный подход более гибкий и позволяет создавать динамически модули в процессе работы ПО, если при этом использовать динамическое выделение памяти. Также программисту самому придется решать проблему с опросом модулей, если задача в проекте всего одна и в ней идет опрос модулей и основная логика работы ПО, то есть вероятность что обмен с модулями может замедлиться, в виду особенностей исполнения основной логи работы ПО.Сообщение от Антон Посмотреть сообщениеВ чем отличие использования функциональных блоков опроса входов и формирования выходов в программе и использования модуле вх/вых в дереве проекта?
Использование конфигуратора(корзины) решает проблему с организацией обмена с модулями, опрос происходит отдельно от основной задачи тем самым исключает конфликты пользовательской программы и процессом опроса модулей. Подход удобен если в процессе работы ПО аппаратная конфигурация "жестко" определена и ее изменение не планируется в дальнейшем, благодаря конфигуратору, в проекте достаточно объявить нужные переменные и соотнести их входами модулей в корзине.
Комментарий
 - 
	
	
	
		
	
	
		
		
		
		
		
		
		
	
	
Добрый день, т.е используется DI вход, на него приходит импульс, далее после получения импульса нужно включать DO\R\SIM выход на 20ms. Проблема у Вас заключается в чем? В том что импульс на DI канал приходит быстрый и Вы его не успеваете читать?Сообщение от Антон Посмотреть сообщениеЗдравствуйте, помогите, пожалуйста, решить, на первый взгляд, простую задачку: от датчика продукции сигнал поступает на вход ПЛК, выдерживается заданная задержка, и на выход ПЛК формируется импульс 20 мс. Проблема в том, что входные импульсы поступають очень быстро, быстрее чем задержка на выход.
Комментарий
 - 
	
	
	
		
	
	
		
		
		
		
		
		
		
	
	
Проблема при использовании тамеров, что импульсы на входе следуют часто, до отработки импульса на выходе.
Сделал при помощи ФИФО от Оскат библиотеки. Читаю метку времени в которую срабатывает вход di, прибавляю выдержку, и проверяю истекло ли заданное время. После формирую выход в течение 20 мс.
Комментарий
 - 
	
	
	
		
	
	
		
		
		
		
		
		
		
	
	
частота опроса настраивается в задаче PLCModulesTask которая добавляется автоматически при добавлении корзины, по умолчанию 20мс, значение меньше 10мс, устанавливать не рекомендуется, т.к субмодули имеют свой таймаут на не ответ 10мс, фактически обмен там быстрее этого значения, но иметь в виду его стоит.Сообщение от Антон Посмотреть сообщениеС какой частотой идёт опрос входов и формирование выходов, при использовании корзины модулей?Последний раз редактировалось Пушкарев Андрей; 02-12-2024, 09:26 AM.
Комментарий
 - 
	
	
	
		
	
	
		
		
		
		
		
		
		
	
	
Вероятно для вашей цели , нужно сделать доп.задачу с временем цикла от 1-5 мс, в ней обрабатывать нужный таймер и импульс, возможно Вы используете штатную задачу, обмен там 20 мс по умолчанию, в такой задаче таймер будет работать не корректно если импульсы будут идти быстрее этого времени. Импульсы в таком случае нужно считать счетным входом DI модуля.Сообщение от Антон Посмотреть сообщениеПроблема при использовании тамеров, что импульсы на входе следуют часто, до отработки импульса на выходе.
Сделал при помощи ФИФО от Оскат библиотеки. Читаю метку времени в которую срабатывает вход di, прибавляю выдержку, и проверяю истекло ли заданное время. После формирую выход в течение 20 мс.
Комментарий
 - 
	
	
	
		
	
	
		
		
		
		
		
		
		
	
	
Задача такая : по транспортёру едут банки, датчик считывает наличие банки, далее камера считывает код, если он корректный, то банка продолжает движение, если нет её выталкивает пневмоцилиндр. На входы ПЛК идут сигналы с датчика и камеры, выход ПЛК управляет чтением кода и работой пневмоцилиндра.
Комментарий
 

Комментарий