Arduino -> ModBus -> LCNC
- 
				nkp
 - Мастер
 - Сообщения: 8340
 - Зарегистрирован: 28 ноя 2011, 00:25
 - Репутация: 1589
 - Контактная информация:
 
Re: Arduino -> ModBus -> LCNC
здесь тестируют компонент mb2hal,
будет работать с устройствами через модбас в емс ...
в примерах - работа с Arduino Mega 2560
при компиляции требует libmodbus3 , поставлю - попробую , что за зверь ...
первое впечатление - наверно в силу универсальности применения скрипта все раздуто ...
может и оправдано , но мое мнение - инструмент, заточеный под одну конкретную задачу лучше универсального))
			
			
									
									
						будет работать с устройствами через модбас в емс ...
в примерах - работа с Arduino Mega 2560
при компиляции требует libmodbus3 , поставлю - попробую , что за зверь ...
первое впечатление - наверно в силу универсальности применения скрипта все раздуто ...
может и оправдано , но мое мнение - инструмент, заточеный под одну конкретную задачу лучше универсального))
- 
				nkp
 - Мастер
 - Сообщения: 8340
 - Зарегистрирован: 28 ноя 2011, 00:25
 - Репутация: 1589
 - Контактная информация:
 
Re: Arduino -> ModBus -> LCNC
вот еще один проект  arduino-modbus-slave
https://www.youtube.com/watch?v=PCaEYBh8ubs https://sites.google.com/site/jpmzometa ... dbus-slave
			
			
									
									
						https://www.youtube.com/watch?v=PCaEYBh8ubs https://sites.google.com/site/jpmzometa ... dbus-slave
- 
				nkp
 - Мастер
 - Сообщения: 8340
 - Зарегистрирован: 28 ноя 2011, 00:25
 - Репутация: 1589
 - Контактная информация:
 
Re: Arduino -> ModBus -> LCNC
надо бы в строку загрузки компонента добавить аргумент, устанавливающий  режимы регистров (in or out)...
например loadusr gs2_vfd -v 1101 устанавливает : in,in,out,in
зы
не устанавливает конечно непосредственно(это мы прописываем в прошивке) - но формирует в зависимости от аргумента соответствующие пины Hal
			
			
									
									
						например loadusr gs2_vfd -v 1101 устанавливает : in,in,out,in
зы
не устанавливает конечно непосредственно(это мы прописываем в прошивке) - но формирует в зависимости от аргумента соответствующие пины Hal
- 
				nkp
 - Мастер
 - Сообщения: 8340
 - Зарегистрирован: 28 ноя 2011, 00:25
 - Репутация: 1589
 - Контактная информация:
 
Re: Arduino -> ModBus -> LCNC
попробовал добавить
----
вопрос : нужен ли шим в рассматриваемой связке?
			
			
									
									
						на одном регистре - из-за этой универсальности весь код будет в if-ахnkp писал(а):loadusr gs2_vfd -v 1101 устанавливает : in,in,out,in
----
вопрос : нужен ли шим в рассматриваемой связке?
- 
				aftaev
 - Зачётный участник

 - Сообщения: 34042
 - Зарегистрирован: 04 апр 2010, 19:22
 - Репутация: 6194
 - Откуда: Казахстан.
 - Контактная информация:
 
Re: Arduino -> ModBus -> LCNC
вдруг кто то захочет частотником по +-10в управлять.nkp писал(а):вопрос : нужен ли шим в рассматриваемой связке?
Дилетанту сложные вещи кажутся очень простыми, и только профессионал понимает насколько сложна самая простая вещь
Кто хочет - ищет возможности, кто не хочет - ищет оправдание.
Найди работу по душе и тебе не придется работать.
						Кто хочет - ищет возможности, кто не хочет - ищет оправдание.
Найди работу по душе и тебе не придется работать.
- 
				nkp
 - Мастер
 - Сообщения: 8340
 - Зарегистрирован: 28 ноя 2011, 00:25
 - Репутация: 1589
 - Контактная информация:
 
Re: Arduino -> ModBus -> LCNC
наверно оптимальней по тому же модбасу непосредственно управлять...aftaev писал(а):частотником по +-10в управлять.
из ардуины шимом слишком грубо получится (хотя там конечно требования к частоте вращения и не такие уж жесткие)
- 
				aftaev
 - Зачётный участник

 - Сообщения: 34042
 - Зарегистрирован: 04 апр 2010, 19:22
 - Репутация: 6194
 - Откуда: Казахстан.
 - Контактная информация:
 
Re: Arduino -> ModBus -> LCNC
тема но форуме про модбас+частотник показывает что не все частотники так просто можно подключить к модбасуnkp писал(а):наверно оптимальней по тому же модбасу непосредственно управлять...
Дилетанту сложные вещи кажутся очень простыми, и только профессионал понимает насколько сложна самая простая вещь
Кто хочет - ищет возможности, кто не хочет - ищет оправдание.
Найди работу по душе и тебе не придется работать.
						Кто хочет - ищет возможности, кто не хочет - ищет оправдание.
Найди работу по душе и тебе не придется работать.
- Nick
 - Мастер
 - Сообщения: 22776
 - Зарегистрирован: 23 ноя 2009, 16:45
 - Репутация: 1735
 - Заслуга: Developer
 - Откуда: Gatchina, Saint-Petersburg distr., Russia
 - Контактная информация:
 
Re: Arduino -> ModBus -> LCNC
Лучше число писать десятичное, но брать от него битовое представление.nkp писал(а):например loadusr gs2_vfd -v 1101 устанавливает : in,in,out,in
Т.е. будет например cfg= 107, это побитово равно 01101011
В коде надо что-то вроде
Код: Выделить всё
for i in range(...):
  if cfg%2 :
    in
  else:
    out
  cfg = cfg>>1Код: Выделить всё
for i in range(...):
  if cfg & 1<<i :
    in
  else:
    out
- 
				nkp
 - Мастер
 - Сообщения: 8340
 - Зарегистрирован: 28 ноя 2011, 00:25
 - Репутация: 1589
 - Контактная информация:
 
Re: Arduino -> ModBus -> LCNC
хмм...а как люди далекие от программирования будут настраивать регистры?Nick писал(а):Лучше число писать десятичное, но брать от него битовое представление
а так - прям как тумблеры переключаются...
- 
				aftaev
 - Зачётный участник

 - Сообщения: 34042
 - Зарегистрирован: 04 апр 2010, 19:22
 - Репутация: 6194
 - Откуда: Казахстан.
 - Контактная информация:
 
Re: Arduino -> ModBus -> LCNC
правильно, нужно думать за простых людейnkp писал(а):а так - прям как тумблеры переключаются...
Дилетанту сложные вещи кажутся очень простыми, и только профессионал понимает насколько сложна самая простая вещь
Кто хочет - ищет возможности, кто не хочет - ищет оправдание.
Найди работу по душе и тебе не придется работать.
						Кто хочет - ищет возможности, кто не хочет - ищет оправдание.
Найди работу по душе и тебе не придется работать.
- 
				nkp
 - Мастер
 - Сообщения: 8340
 - Зарегистрирован: 28 ноя 2011, 00:25
 - Репутация: 1589
 - Контактная информация:
 
Re: Arduino -> ModBus -> LCNC
к его популярности нужно прибавить все вышедшее из его алгоритмов и исходниковaftaev писал(а):LCNC кто делал видать думали как Nick вот LCNC не шибко популярен
в коде некоторых "других" программ просматриваются куски емс
- 
				aftaev
 - Зачётный участник

 - Сообщения: 34042
 - Зарегистрирован: 04 апр 2010, 19:22
 - Репутация: 6194
 - Откуда: Казахстан.
 - Контактная информация:
 
Re: Arduino -> ModBus -> LCNC
если бы ЕМС был бы заточен под обычного пользователя, а не для программеров то мож других и не появилось, просто надобности не было быnkp писал(а):к его популярности нужно прибавить все вышедшее из его алгоритмов и исходников
в коде некоторых "других" программ просматриваются куски емс
Дилетанту сложные вещи кажутся очень простыми, и только профессионал понимает насколько сложна самая простая вещь
Кто хочет - ищет возможности, кто не хочет - ищет оправдание.
Найди работу по душе и тебе не придется работать.
						Кто хочет - ищет возможности, кто не хочет - ищет оправдание.
Найди работу по душе и тебе не придется работать.
- Nick
 - Мастер
 - Сообщения: 22776
 - Зарегистрирован: 23 ноя 2009, 16:45
 - Репутация: 1735
 - Заслуга: Developer
 - Откуда: Gatchina, Saint-Petersburg distr., Russia
 - Контактная информация:
 
Re: Arduino -> ModBus -> LCNC
Ну записать 0b1010110, а потом уже парсить это как число в двоичном коде... 
Так правильнее, и в 1 int можно запихать 32 бита, вместо 9 знаков в деситичной записи...
PS на каком языке компонент написан?
			
			
									
									
						Так правильнее, и в 1 int можно запихать 32 бита, вместо 9 знаков в деситичной записи...
PS на каком языке компонент написан?
- NightV
 - Почётный участник

 - Сообщения: 6610
 - Зарегистрирован: 30 дек 2011, 09:14
 - Репутация: 2279
 - Настоящее имя: Владимир Айрапетян
 - Откуда: Israel
 - Контактная информация:
 
Re: Arduino -> ModBus -> LCNC
Nick писал(а):Ну записать 0b1010110, а потом уже парсить это как число в двоичном коде...
Так правильнее, и в 1 int можно запихать 32 бита, вместо 9 знаков в деситичной записи...
Всё просто! если знаешь КАК!
						- 
				nkp
 - Мастер
 - Сообщения: 8340
 - Зарегистрирован: 28 ноя 2011, 00:25
 - Репутация: 1589
 - Контактная информация:
 
Re: Arduino -> ModBus -> LCNC
может в общем случае это и оптимальней - но здесь исходя из принципа минимальной достаточности хватит и этого - просто напросто регистров больше нет))Nick писал(а):в 1 int можно запихать 32 бита, вместо 9 знаков в деситичной записи
- Serg
 - Мастер
 - Сообщения: 21923
 - Зарегистрирован: 17 апр 2012, 14:58
 - Репутация: 5183
 - Заслуга: c781c134843e0c1a3de9
 - Настоящее имя: Сергей
 - Откуда: Москва
 - Контактная информация:
 
Re: Arduino -> ModBus -> LCNC
А не всё-ли равно популярно оно или нет? По мне так главное, чтоб работало как мне надо.aftaev писал(а):если бы ЕМС был бы заточен под обычного пользователя, а не для программеров то мож других и не появилось, просто надобности не было бы
Я не Христос, рыбу не раздаю, но могу научить, как сделать удочку...
						- Nick
 - Мастер
 - Сообщения: 22776
 - Зарегистрирован: 23 ноя 2009, 16:45
 - Репутация: 1735
 - Заслуга: Developer
 - Откуда: Gatchina, Saint-Petersburg distr., Russia
 - Контактная информация:
 
Re: Arduino -> ModBus -> LCNC
А в си работает запись 0b101010?
			
			
									
									
						- 
				nkp
 - Мастер
 - Сообщения: 8340
 - Зарегистрирован: 28 ноя 2011, 00:25
 - Репутация: 1589
 - Контактная информация:
 
Re: Arduino -> ModBus -> LCNC
вроде бы такая запись не нужна...
просто пишешь 42 и делаешь битовые операции ,а компилятор и так представляет это число в памяти как 101010 (ну там еще много нулей впереди)))
инт насколько я знаю можно писать в трех видах:
десятичном, восьмиричном , и 16-ом (лень писать))) , и всё...
зы может ошибаюсь
			
			
									
									
						просто пишешь 42 и делаешь битовые операции ,а компилятор и так представляет это число в памяти как 101010 (ну там еще много нулей впереди)))
инт насколько я знаю можно писать в трех видах:
десятичном, восьмиричном , и 16-ом (лень писать))) , и всё...
зы может ошибаюсь
- 
				aftaev
 - Зачётный участник

 - Сообщения: 34042
 - Зарегистрирован: 04 апр 2010, 19:22
 - Репутация: 6194
 - Откуда: Казахстан.
 - Контактная информация:
 
Re: Arduino -> ModBus -> LCNC
в Ардуине так:Nick писал(а):А в си работает запись 0b101010?
//################ Инициализация I/O ################# // 0 => Выход, 1 => Input, напротив нормальной Arduino, но моя привычка с других платформ, 0 выглядит как O и 1 выглядит как я
Register[IO_Config_Register] = 0b1111111111111111; // UNO and MEGA PIN 00-15
Register[IO_Config_Register+1] = 0b1111111111111111; // MEGA PIN 16-31
Register[IO_Config_Register+2] = 0b1111111111111111; // MEGA PIN 32-47 делаем как входы
Register[IO_Config_Register+3] = 0b1111111111111111; // MEGA PIN 48-64
Register[IO_Config_Register+4] = 0b1111111111111111; // AN Digital PIN A0-A16
Дилетанту сложные вещи кажутся очень простыми, и только профессионал понимает насколько сложна самая простая вещь
Кто хочет - ищет возможности, кто не хочет - ищет оправдание.
Найди работу по душе и тебе не придется работать.
						Кто хочет - ищет возможности, кто не хочет - ищет оправдание.
Найди работу по душе и тебе не придется работать.
