Сообщение от Taхир
					
						
						
							
							
							
							
								
								
								
								
									Посмотреть сообщение
								
							
						
					
				
				
			
		Объявление
				
					Свернуть
				
			
		
	
		
			
				Пока нет объявлений.
				
			
				
	
AgavaScada. Modbus.
				
					Свернуть
				
			
		
	X
- 
	
		
		
		
		
		
	
	
	
	
 В AgavaSCADA используется собственный диалект С/С++, адаптированный под softlogic системы и имеющий некоторые отличия от привычного С/С++. Дополнительные библиотеки, если вы имели в виду произвольные, доступные в Internet, подключать нельзя, так как стандартов языка довольно много, в том числе под разные платформы.Последний раз редактировалось Таушканов Константин; 07-10-2024, 04:44 AM.
 
- 
	
		
		
		
		
		
	
	
	
	
 Используйте битовые операторы:Сообщение от Taхир Посмотреть сообщениеВопрос относительно WORD или Int16, если я получаю слова состояния, в виде int или word, могу ли я разложить их на биты? Какими средствами это возможно сделать? Позволяет ли функционал АгаваСкада С++ сделать это? Можно ли подключать доп. библиотеки С++?
 Код:& - битовое И | - битовое ИЛИ ^ - битовое ИСКЛ. ИЛИ << - сдвиг влево >> - сдвиг вправо Да, можно. Подобным образом можно обращаться со со всеми простыми (численными, булевскими и строковыми) свойствами узлов.Сообщение от Taхир Посмотреть сообщениеМожно ли таким образом записать значение в Свойство узла?Последний раз редактировалось Таушканов Константин; 05-10-2024, 07:09 AM.
 Прокомментировать:
- 
	
		
		
		
		
		
	
	
	
	
 Вопрос относительно WORD или Int16, если я получаю слова состояния, в виде int или word, могу ли я разложить их на биты? Какими средствами это возможно сделать? Позволяет ли функционал АгаваСкада С++ сделать это? Можно ли подключать доп. библиотеки С++?
 
 Можно ли таким образом записать значение в Свойство узла?Последний раз редактировалось Taхир; 26-09-2024, 05:29 AM.
 Прокомментировать:
- 
	
		
		
		
		
		
	
	
	
	
 Добрый день!
 
 Сделал как описано выше. Забыл добавить у свойства Текст, у виджета "Текстовая метка", формат отображения, %f.
 
 Но теперь у меня значение в формате E0009 или E0008.
 
 Подскажите как быть что делать.
 
 UPD.
 
 Значение Int16 передает без проблем.
 
 Значение с плавающей точкой теперь отображены в виде E0009 или E0008.
 
 Можно ли сказать что это из-за того что, порядок байт не совпадает на Modbus_Slave. Я пытался менять порядок на эмуляторе, по идеи little-endian DCBA, со свапом должен был отработать.
 
 От сюда вопрос, есть ли возможности у встроенного Скрипта С++ возможность работы с побитовой логикой? или он лимитирован тем что указано в руководстве?
 
 
 UPD.UPD. Решил проблему. Формат передачи имеет место быть, порядок регистров должен соответствовать тому что в Агаве.
 Последний раз редактировалось Taхир; 26-09-2024, 04:10 AM.
 Прокомментировать:
- 
	
		
		
		
		
		
	
	
	
	
 Добрый день!
 Если вы хотите вести опрос внешних устройств, например эмулятора Modbus Slave, в свойствах транспорта TCP-IP в свойстве "Режим работы" установите значение "Master".
 Далее в свойствах "IP адрес" и "IP порт" укажите адрес и порт, на которых слушает Modbus slave.
 Номер регистра ("Регистр чтения", "Регистр записи") указывается начиная с нуля (это не адрес ячейки).
 Если вы захотите чтобы панель была сервером (ведомым) Modbus-TCP, то режим работы нужно поставить "Slave".
 Обратите внимание, если у вас на панельке установлена прошивка 2023 года и новее, рекомендую вместо пары "транспорт"-"протокол" использовать "Транспорт Modbus-TCP". Он более функционален.
 Последний раз редактировалось Таушканов Константин; 10-09-2024, 07:27 AM.
 Прокомментировать:
- 
	
		
		
			
			
			
		
		
		
		
	
	
	
	
 AgavaScada. Modbus.Добрый день!
 
 
 Столкнулся с интересной проблемой.
 
 Modbus Slave генерирует значения в 40001 (0) регистре. На чтение пытался задать и 0 регистр и 40001 без результатно.
 
 На входе у меня E1001 можно уточнить как настраивается Modbus Slave в AgavaScada?
 Последний раз редактировалось Taхир; 09-09-2024, 12:30 PM.Метки: Нет
 


Прокомментировать: