Схемы, 
виртуальные приборы 
и др
.
mylab.wmsite.ru


Главная · Карта сайта · форум · Климат

 реализация протокола MODBUS  на платформе PSoC  


Очень часто появляется необходимость в создании устройств, поддерживающих протокол MODBUS.
Поэтому на этой странице я выложу несколько примеров устройств, которые мне пришлось создать.

Для создания своих устройств я использовал следующие материалы (автор Sam Walsh, 2014):
https://github.com/funcooker/Modbus-Slave-for-PSoC4
https://github.com/EmbeddedSam/PSoC-4-Compass-Sensor
http://samselectronicsprojects.blogspot.co.uk/p/about.html


1. Начнем с проекта slave устройства на базе  USBUART.

Это  наиболее простое в реализации устройство.

Здесь данные передаются внутри пакета, размером до 64 байт .
Это дает простоту реализации, но ограничивает в объеме данных пределами одного пакета.
Обычно этого размера вполне достаточно, поэтому я не искал решений по обходу этого ограничения.
Краткое описание проекта:
Поддерживаемые команды:

- 0x01: чтение статуса Coils (дискретных выходных битов)
- 0x02: чтение статуса дискретных входов
- 0x03: *чтение значения выходных/внутренних регистров. 
- 0x04: *чтение значения входных регистров  
- 0x05: запись выходного/внутреннего бита (Coil).
- 0x06: *запись внутреннего регистра.
- 0x0F: запись нескольких выходных/внутренних битов (Coils).
- 0x10: запись нескольких внутренних регистров.

* - присутствует обработчик ошибок (проверка регистров на наличие ( количество) )

Для тестирования своих устроиств я использовал Hercules SETUP utility 
и программу Modbus Tester 2.0.5    от Vadim A. Abramov   
Но это уже - кому что нравится.
                                                   

  Проект для PSoC5LP (hardware: CY8CKIT-059 PSoC 5LP Software: PSoC Creator 3.3 ):      USB_Modbus.zip      


2.  Проект для PSoC 4 

Функции MODBUS  - те же что и в предыдущем примере.
Количество регистров ограничено объемом памяти устройства. 
 
Аппаратная реализация:
-  для обнаружения конца пакета  используется  подсчет импульсов  SysTick Timer   
-  интерфейс с мастером - RS-485.

Проект для PSoC4 (hardware: CY8CKIT - 042 PSoC4 Software: PSoC Creator 3.3 ) :        PSoC 4ModbusSlave.cywrk.zip       
  

3.  Проект для PSoC 5LP           

Отличие от предыдущего проекта - немного другая настройка  WDT и SysTick  таймеров у PSoC5LP


Проект для PSoC5LP  (hardware: CY8CKIT - 042 PSoC4CY8CKIT-059 PSoC 5LP      Software: PSoC Creator 3.3 ) :     PSoC5LP_ModbusSlave.zip
Гостевая книга · Ссылки · Обо мне · Мои разработки
Схемы, LabVIEW и др.
ВебСтолица.РУ: создай свой бесплатный сайт!  | Пожаловаться  
Движок: Amiro CMS