Вопросы использования сторонних (не входящих в состав FPC и Lazarus) утилит и библиотек.
	
		
			Модератор: Модераторы
		
	
	
		
		
			
			
			 balbes_spb » 27.09.2018 14:47:15
 balbes_spb » 27.09.2018 14:47:15 
			
			Для чтения ячеки памяти устройства использую TPLCTagNumber.
Чтение одной ячсейки проходит без проблем.
Но хотелось бы за один пакет читать не одну ячейку памяти, а сразу область памяти.
Как это сделать?
Какие поля TPLCTagNumber нужно для этого использовать?
Спасибо.
			
		 
		
			
			- 
				balbes_spb
			
- незнакомец
-  
- Сообщения: 5
- Зарегистрирован: 26.09.2018 16:32:31
- Откуда: Санкт-Петербург
 
	 
	
	
		
		
			
			
			 serg_iv » 29.09.2018 13:00:55
 serg_iv » 29.09.2018 13:00:55 
			
			вместо PLCTagNumber использовать PLCBlock, у которого в свою очередь имеется свойство size (отвечающее за количество ожидаемых байт)
в этой теме еще глянь, может что пригодится: 
http://freepascal.ru/forum/viewtopic.php?f=6&t=8029 
		
			
			- 
				serg_iv
			
- постоялец
-  
- Сообщения: 276
- Зарегистрирован: 15.10.2005 18:45:46
- Откуда: Миасс
- 
				
			
 
	 
	
	
		
		
			
			
			 balbes_spb » 30.09.2018 22:32:32
 balbes_spb » 30.09.2018 22:32:32 
			
			Спасибо, работает.
Инициализация чтения:
- Код: Выделить всё
-       self.PLCBlock1.MemReadFunction:=3; // номер функции modbus rtu
 self.PLCBlock1.PLCStation:=1; // номер узла  modbus rtu
 self.PLCBlock1.MemAddress:=0; // начальный адрес памяти узла modbus
 self.PLCBlock1.Size:=100; // количество, я думаю именно 16 битных регистров памяти узла сети Modbus, а не байт
 self.PLCBlock1.AutoRead:=true; // авточтение
 
чтение данных:
- Код: Выделить всё
- length(self.PLCBlock1.ValuesRaw); // количество регистров чтения
 self.PLCBlock1.ValuesRaw[i]; // чтение данных
 
P.S. Я думаю статью надо дополнить этой инфой или добавить в FAQ по pascalscada ссылку на данную тему. Т.к. чтение областей памяти в Modbus очень важно. Это в CAN пакеты мелкие...
 
		
			
			- 
				balbes_spb
			
- незнакомец
-  
- Сообщения: 5
- Зарегистрирован: 26.09.2018 16:32:31
- Откуда: Санкт-Петербург
 
	 
	
	
	
	Вернуться в Сторонние средства
	
	Кто сейчас на конференции
	Сейчас этот форум просматривают: нет зарегистрированных пользователей и гости: 1