Связанные сообщения
- Обновилась программа Modbus Slave (v8.2.2.1962) _x32_x64/ положил в
upload /лекарство прилагается.2023-07-20
 
... но не любой ценой.
- 
	
- Но зачем использовать убогий питон, если есть С? - Eddy_Em(14.07.2025 19:02)
			
- не впечатлил Ralex(1 знак., 15.07.2025 15:01, картинка)
 - Даже неловко читать, как какой-то си-шник называет любое средство
"убогим". Коллега, Вы что нибудь слышали про Паскаль, Фортран,
Аналитик? - Kpoк(14.07.2025 22:34)
					
- На фортране когда-то делал курсовую; паскалем мучали в ВУЗе на
первом курсе. Тьфу-тьфу, с этими недоразумениями покончено.  Eddy_Em(613 знак., 15.07.2025 09:48, ссылка)
							
- Насчёт типизации ты не прав. Она там, хоть и не явная, но строгая. - Nikolay_Po(15.07.2025 12:22)
									
- Он целиком не прав. - Kpoк(15.07.2025 12:24)
											
- Мое мнение - единственное верное ☺ Eddy_Em(300 знак., 15.07.2025 13:57)
 - Он не может быть прав или неправ, он - Эд! :) - Cкpипaч(15.07.2025 12:40)
													
- В старину даже повесть такая была детская "Милый Эд" - Kpoк(15.07.2025 12:43)
															
- Типа того :) - Cкpипaч(15.07.2025 14:00)
 
 
 - В старину даже повесть такая была детская "Милый Эд" - Kpoк(15.07.2025 12:43)
															
 
 
 - Он целиком не прав. - Kpoк(15.07.2025 12:24)
											
 
 - Насчёт типизации ты не прав. Она там, хоть и не явная, но строгая. - Nikolay_Po(15.07.2025 12:22)
									
 
 - На фортране когда-то делал курсовую; паскалем мучали в ВУЗе на
первом курсе. Тьфу-тьфу, с этими недоразумениями покончено.  Eddy_Em(613 знак., 15.07.2025 09:48, ссылка)
							
 - Ради денег, естественно. Ну или ради удовольствия, по ситуации. - Cкpипaч(14.07.2025 19:27)
					
- С моей точки зрения - очень сомнительное удовольствие…  Eddy_Em(248 знак., 14.07.2025 19:36)
							
- Indie Style. Vit(497 знак., 14.07.2025 20:28)
 - Сочувствую :Р  Cкpипaч(965 знак., 14.07.2025 20:18)
									
- А можно подробней про компилятор питона? Не встречал еще такого… - Eddy_Em(14.07.2025 21:06)
											
- На самом деле, трансляторов в С и native-code для Питона есть
некоторое количество. Есть еще PyPy (JIT в native-code). Но писать
на Питоне это обычно 97% функционала - в библиотеках. Самому
компилировать их? Отгребая все глюки и несовместимости? Данунах. И
без этого полно чем заняться. - Cкpипaч(15.07.2025 12:54)
													
- Если попытаться увеличить производительность (скажем, за 10 секунд
не один кадр с 30тыс звездами фотометрировать, а три; да еще и
распараллелить что возможно), любой упрется в предел возможностей
интерпретируемого языка.  Eddy_Em(570 знак., 15.07.2025 14:01)
															
- Я не занимаюсь астрономией. Честно. Cкpипaч(230 знак., 15.07.2025 14:16)
 
 
 - Если попытаться увеличить производительность (скажем, за 10 секунд
не один кадр с 30тыс звездами фотометрировать, а три; да еще и
распараллелить что возможно), любой упрется в предел возможностей
интерпретируемого языка.  Eddy_Em(570 знак., 15.07.2025 14:01)
															
 - ...в байт-код. Исходный текст (*.ру) всегда сначала компилируется в байт-код (*.рус) и только тогда отдаётся на исполнение интерпретатору. Cкpипaч(170 знак., 14.07.2025 21:22)
 
 - На самом деле, трансляторов в С и native-code для Питона есть
некоторое количество. Есть еще PyPy (JIT в native-code). Но писать
на Питоне это обычно 97% функционала - в библиотеках. Самому
компилировать их? Отгребая все глюки и несовместимости? Данунах. И
без этого полно чем заняться. - Cкpипaч(15.07.2025 12:54)
													
 
 - А можно подробней про компилятор питона? Не встречал еще такого… - Eddy_Em(14.07.2025 21:06)
											
 - просто он работает. прям из коробки.  LordN(592 знак., 14.07.2025 19:51)
									
- У меня есть своя библиотечка "usefull_macros", которая все жирней и
жирней становится.  Eddy_Em(132 знак., 14.07.2025 21:08)
											
- Ты сразу AI-помощника лобай, ёба :) Библиотека "сортировки пузырьком" уже никому и даром не нужна. - Cкpипaч(14.07.2025 21:24)
 
 
 - У меня есть своя библиотечка "usefull_macros", которая все жирней и
жирней становится.  Eddy_Em(132 знак., 14.07.2025 21:08)
											
 
 
 - С моей точки зрения - очень сомнительное удовольствие…  Eddy_Em(248 знак., 14.07.2025 19:36)
							
 
 - глянул в их код. доставило check_CRC(). а ещё дисклеймер в камментах с занимательными табличками бито-таймаутов, мол через
USB-свистки может нихрена с таймаутами не получиться. - Vit(14.07.2025 13:28 - 14:40)
			
- Ткни пальцем, где, плиз :) - Cкpипaч(14.07.2025 13:37)
					
- всё в pymodbus-dev/pymodbus/framer/rtu.py  Vit(255 знак., 14.07.2025 14:42)
							
- 1) return 0, 0, 0, self.EMPTY; 2) 2ms@19200bps - ничего
неожиданного, как по мне. - Cкpипaч(14.07.2025 15:34)
									
- контрольная сумма на всю длину должна дать ноль. и нормально именно
это проверять. а тут сначала закат Солнца вручную, потом вызов
табличного расчёта - вроде как для проверки на равно - Vit(14.07.2025 16:09)
											
- У них CRC проверяется "в цикле" на несколько вариантов окончания
приема. Напрочь не понял что ты считаешь "закатом вручную".  Cкpипaч(1316 знак., 14.07.2025 17:37)
													
- CRC должен считаться на всю длину пакета. и пох на варианты нутрянки. это арифметика. выбоены с последней парой байт (где укладывается CRC) это мрак. при этом кросавчеги намалевали табличный расчёт, который используют только в том маразме. по сути decode должен вызываться после таймаута на разрыв пакета и сам пакет уже есть. его не имеет смысла скрести по частям. ему сразу после транспортной части определяют битость, а не скребутся по расчётам длин исходя из кишок. а уже Vit(578 знак., 14.07.2025 18:17)
 - Как один из способов определения окончания кадра при кривых времянках. - Nikolay_Po(14.07.2025 18:00)
 
 
 - У них CRC проверяется "в цикле" на несколько вариантов окончания
приема. Напрочь не понял что ты считаешь "закатом вручную".  Cкpипaч(1316 знак., 14.07.2025 17:37)
													
 
 - контрольная сумма на всю длину должна дать ноль. и нормально именно
это проверять. а тут сначала закат Солнца вручную, потом вызов
табличного расчёта - вроде как для проверки на равно - Vit(14.07.2025 16:09)
											
 
 - 1) return 0, 0, 0, self.EMPTY; 2) 2ms@19200bps - ничего
неожиданного, как по мне. - Cкpипaч(14.07.2025 15:34)
									
 
 - всё в pymodbus-dev/pymodbus/framer/rtu.py  Vit(255 знак., 14.07.2025 14:42)
							
 
 - Ткни пальцем, где, плиз :) - Cкpипaч(14.07.2025 13:37)
					
 - Разобрался. Как и ожидалось, диагностика ошибки - сказочная (в
прямом смысле).  Cкpипaч(193 знак., 11.07.2025 15:08)
			
- Ужасы перфекционизма.  Cкpипaч(622 знак., 13.07.2025 13:39, картинка)
					
- По косвенным признакам, ведомый сообщает, что ему было передано
значение, которое он не может применить. Другими словами, кадр
прошел проверку, но содержимое не верно - не прошло проверку
значения.  Nikolay_Po(213 знак., 13.07.2025 14:22)
							
- Ну что, больше двух часов ни одной ошибки. Ничего не менял. Можно
делать ставки :) В общем, похоже "учет фазы луны" - не с моей
стороны, в этот раз. - Cкpипaч(13.07.2025 16:09)
									
- Только написал, как сразу вывалилось две ошибки. Всё оставляю так,
перфекционизм, в наше непростое время, неуместен. - Cкpипaч(13.07.2025 16:59)
											
- две неделю ебусь с проблемой на объекте - венты нет-нет да и
слетают с ума, вернее ихние пи-регуляторы, приточный тормозится, а
вытяжной разгоняется до одури и вырывает потолочные плитки нах.  LordN(227 знак., 14.07.2025 09:58)
													
- Избегаю встроенных регуляторов. Ставить внешнее реле контроля
напряжения и принудительно отключать ПЧ. - Cкpипaч(14.07.2025 10:07)
															
- тут не пч, а ес-венты. но не суть.  LordN(207 знак., 14.07.2025 11:46)
																	
- Да в общем-то все и так работает. Муки перфекционизма просто :) - Cкpипaч(14.07.2025 19:31)
																			
- перфекционизм надо постоянно полировать похуизмом, иначе они оба
жить нормально не дают. - LordN(15.07.2025 09:49)
																					
- Клин клином вышибают? Добавить к одной болезни другую в надежде,
что они друг друга уравновесят? Простую адекватность не предлагать
:-) - SciFi(15.07.2025 09:51)
																							
- Когда по канату ходят, в руки берут длииинную тяжелую палку... - Cкpипaч(15.07.2025 10:40)
																									
- Но страховку всё равно надо зацепить. А - адекватность :-) - SciFi(15.07.2025 10:42)
 
 
 - Когда по канату ходят, в руки берут длииинную тяжелую палку... - Cкpипaч(15.07.2025 10:40)
																									
 
 - Клин клином вышибают? Добавить к одной болезни другую в надежде,
что они друг друга уравновесят? Простую адекватность не предлагать
:-) - SciFi(15.07.2025 09:51)
																							
 
 - перфекционизм надо постоянно полировать похуизмом, иначе они оба
жить нормально не дают. - LordN(15.07.2025 09:49)
																					
 - ДА! Полдня убил, не понимая, почему сокет на питоне один байт в
середине посылки теряет,TCP посылки. При этом в шарке все ок, пакет
целый и правильный. Оказывается я в своем девайсе накосячил, писал
куда не надо и выставлялся флаг URG и поле его ненулевое. И хз
почему виндошный стек херит срочный байт вообще, но искать заебся. - Andreas(14.07.2025 12:08)
																			
- ладно когда девайс твой, а когда нет? LordN(524 знак., 14.07.2025 12:17)
 
 - По идее, хорошая система должна вести себя адекватно и при
"моргании света". А то "свет моргнул" - и потолок разобрало. Как-то
не хорошо. - Nikolay_Po(14.07.2025 12:05)
																			
- Примерчик "нехорошо".  maik-vs(396 знак., 14.07.2025 17:58)
																					
- Они не рассчитывали на такую подлянку, как волны. - Nikolay_Po(14.07.2025 18:02)
																							
- Конечно, откуда в море волны... ))) - maik-vs(14.07.2025 18:05)
 
 
 - Они не рассчитывали на такую подлянку, как волны. - Nikolay_Po(14.07.2025 18:02)
																							
 - хехе, так-то такие объекты должны иметь соответствующую категорию энергоснабжения, но кто на это смотрит? LordN(69 знак., 14.07.2025 12:13)
 
 - Примерчик "нехорошо".  maik-vs(396 знак., 14.07.2025 17:58)
																					
 
 - Да в общем-то все и так работает. Муки перфекционизма просто :) - Cкpипaч(14.07.2025 19:31)
																			
 
 - тут не пч, а ес-венты. но не суть.  LordN(207 знак., 14.07.2025 11:46)
																	
 
 - Избегаю встроенных регуляторов. Ставить внешнее реле контроля
напряжения и принудительно отключать ПЧ. - Cкpипaч(14.07.2025 10:07)
															
 
 - две неделю ебусь с проблемой на объекте - венты нет-нет да и
слетают с ума, вернее ихние пи-регуляторы, приточный тормозится, а
вытяжной разгоняется до одури и вырывает потолочные плитки нах.  LordN(227 знак., 14.07.2025 09:58)
													
 
 - Только написал, как сразу вывалилось две ошибки. Всё оставляю так,
перфекционизм, в наше непростое время, неуместен. - Cкpипaч(13.07.2025 16:59)
											
 
 - Ну что, больше двух часов ни одной ошибки. Ничего не менял. Можно
делать ставки :) В общем, похоже "учет фазы луны" - не с моей
стороны, в этот раз. - Cкpипaч(13.07.2025 16:09)
									
 - С просторов Интернета:  Nikolay_Po(214 знак., 13.07.2025 14:17)
							
- Фрагмент кода. Я ничего не шлю. Только read_input_registers. И если
бы ошибка была в получении команды, несошлось бы CRC.  Cкpипaч(896 знак., 13.07.2025 15:07)
									
- parity 'E'ven хоть и типа требуется (modbus_over_serial_line), но
сам практически не встречал. может слейву понравится 'N'?:) - Vit(14.07.2025 12:36)
											
- На слейв есть инструкция. Поставишь 'N' и посылка будет девять бит,
а не десять. - Cкpипaч(14.07.2025 12:57)
													
- 10 можно и при 8N2. - Vit(14.07.2025 13:05)
															
- А зачем? В инструкции на прибор сказанно как настроить UART, зачем
искать себе приключения? - Cкpипaч(14.07.2025 13:36)
																	
- если до того случайно(?) не перестроил кто в слейве - Vit(14.07.2025 14:40)
																			
- Речь идет об одной ошибке в час. Т.е. каждый час, кто-то на пол секунды случайно меняет настройки фирмовой железки (ну как фирмовой, Болгарская
фирма- отже фирма)? - Cкpипaч(14.07.2025 15:38)
																					
- они могут в основном плевать на такую фигню, а иногда пробиваться - Vit(14.07.2025 16:10)
																							
- Я другое нарыл. В библиотеке, по умолчанию retries=3. Поставил ноль
- полезли простые и понятные таймауты. Пришлось растянуть задержку
между запросами до 100ms. Наблюдаем. - Cкpипaч(14.07.2025 16:23)
																									
- В общем, хренушки. Таймауты то отдельно, эксепшн все равно ловим
каждые полчаса-час. - Cкpипaч(14.07.2025 17:39)
																											
- Как предположение. Слейв чего-то пишет во внутренюю флешь и в этот
момент не может сформировать ответ. - reZident(14.07.2025 17:59)
																													
- Всё что угодно может быть. Фирмовая вещь, писать в техподдержку бесполезно. - Cкpипaч(14.07.2025 20:00)
 
 
 - Как предположение. Слейв чего-то пишет во внутренюю флешь и в этот
момент не может сформировать ответ. - reZident(14.07.2025 17:59)
																													
 
 - В общем, хренушки. Таймауты то отдельно, эксепшн все равно ловим
каждые полчаса-час. - Cкpипaч(14.07.2025 17:39)
																											
 
 - Я другое нарыл. В библиотеке, по умолчанию retries=3. Поставил ноль
- полезли простые и понятные таймауты. Пришлось растянуть задержку
между запросами до 100ms. Наблюдаем. - Cкpипaч(14.07.2025 16:23)
																									
 
 - они могут в основном плевать на такую фигню, а иногда пробиваться - Vit(14.07.2025 16:10)
																							
 
 - Речь идет об одной ошибке в час. Т.е. каждый час, кто-то на пол секунды случайно меняет настройки фирмовой железки (ну как фирмовой, Болгарская
фирма- отже фирма)? - Cкpипaч(14.07.2025 15:38)
																					
 
 - если до того случайно(?) не перестроил кто в слейве - Vit(14.07.2025 14:40)
																			
 
 - А зачем? В инструкции на прибор сказанно как настроить UART, зачем
искать себе приключения? - Cкpипaч(14.07.2025 13:36)
																	
 
 - 10 можно и при 8N2. - Vit(14.07.2025 13:05)
															
 
 - На слейв есть инструкция. Поставишь 'N' и посылка будет девять бит,
а не десять. - Cкpипaч(14.07.2025 12:57)
													
 
 - parity 'E'ven хоть и типа требуется (modbus_over_serial_line), но
сам практически не встречал. может слейву понравится 'N'?:) - Vit(14.07.2025 12:36)
											
 - MODBUS APPLICATION PROTOCOL SPECIFICATION V1.1b3(modbus.org)  Cкpипaч(96 знак., 13.07.2025 14:56, картинка)
									
- Ну ОК, значит, собственный глюк слейва. Будь у меня дело, попросил
бы сына исходники библиотеки глянуть. - Nikolay_Po(13.07.2025 18:23)
											
- На ночь поставил паузу перед запросом 1 секунда. Визуально, ошибок
навалило сильно больше.  Cкpипaч(133 знак., 14.07.2025 09:53)
													
- Я бы подключил к линии логический анализатор, нехай пишет. Как
только ошибка - стоп. Вручную даже вполне успеешь если раз в час и
программа своя: пусть пропищит когда ошибка. - maik-vs(14.07.2025 18:04)
															
- Я - в другом городе. И ехать ради ошибки, о которой никто кроме меня не узнает - немного расточительно. - Cкpипaч(14.07.2025 19:26)
 
 
 - Я бы подключил к линии логический анализатор, нехай пишет. Как
только ошибка - стоп. Вручную даже вполне успеешь если раз в час и
программа своя: пусть пропищит когда ошибка. - maik-vs(14.07.2025 18:04)
															
 
 - На ночь поставил паузу перед запросом 1 секунда. Визуально, ошибок
навалило сильно больше.  Cкpипaч(133 знак., 14.07.2025 09:53)
													
 
 - Ну ОК, значит, собственный глюк слейва. Будь у меня дело, попросил
бы сына исходники библиотеки глянуть. - Nikolay_Po(13.07.2025 18:23)
											
 
 - Фрагмент кода. Я ничего не шлю. Только read_input_registers. И если
бы ошибка была в получении команды, несошлось бы CRC.  Cкpипaч(896 знак., 13.07.2025 15:07)
									
 - А по факту, там времянки нормальные? А то вдруг, с учётом тормозов
системы, модуль "видит" кадры слишком близко друг к другу?  Nikolay_Po(359 знак., 13.07.2025 13:45)
							
- Я в явной форме выставил sleep(0.004) перед read_input_registers(). Чем могу, как говорится. Понимаешь, нет уверенности что ошибку вообще можно таким путём забороть. Это не CRC или ошибка фрейма, это слейв сказал "мне чой-то фигово". А может быть ему фигово потому что совпало с какой-то его внутренней операцией и вообще через райминги не лечится? - Cкpипaч(13.07.2025 13:49)
 
 
 - По косвенным признакам, ведомый сообщает, что ему было передано
значение, которое он не может применить. Другими словами, кадр
прошел проверку, но содержимое не верно - не прошло проверку
значения.  Nikolay_Po(213 знак., 13.07.2025 14:22)
							
 - "slave, unit, device_id" - не иначе , как отрыжка толерастии? - Toчкa oпopы(11.07.2025 15:20)
					
- Угу. Она самая. - Cкpипaч(11.07.2025 15:31)
 
 
 - Ужасы перфекционизма.  Cкpипaч(622 знак., 13.07.2025 13:39, картинка)
					
 
 - Но зачем использовать убогий питон, если есть С? - Eddy_Em(14.07.2025 19:02)