Уведомления

Группа в Telegram: @pythonsu

#1 Авг. 1, 2016 09:44:36

kvn
Зарегистрирован: 2016-08-01
Сообщения: 8
Репутация: +  0  -
Профиль   Отправить e-mail  

pymodbus3

Добрый день!
Развернул сервер для обмена в протоколе Modbus TCP на базе pymodbus3.
Перед запуском сервера в Datastore for Modbus Server Context задал нулевые значения для обмена с клиентом.
Обмен работает, в клиенте наблюдаю 0 значения.

А как теперь в сервере можно изменять заданные значения для обмена с клиентом?
Изменять их каким то образом в Datastore?
Помогите кто сталкивался с таким.

Офлайн

#2 Авг. 1, 2016 16:19:03

PooH
От:
Зарегистрирован: 2006-12-05
Сообщения: 1948
Репутация: +  72  -
Профиль   Отправить e-mail  

pymodbus3

Да, у Datastore методы set_values и get_values



Вот здесь один из первых отарков съел лаборанта. Это был такой умный отарк, что понимал даже теорию относительности. Он разговаривал с лаборантом, а потом бросился на него и загрыз…

Офлайн

#3 Авг. 12, 2016 14:43:53

kvn
Зарегистрирован: 2016-08-01
Сообщения: 8
Репутация: +  0  -
Профиль   Отправить e-mail  

pymodbus3

Применяю метод set_values.
В результате получаю, что fc3 почему то не имеет метода set_values.
Не знаю правильно или нет пишу, может ошибка в написании кода?

 Python 3.4.4 (v3.4.4:737efcadf5a6, Dec 20 2015, 20:20:57) [MSC v.1600 64 bit (AMD64)] on win32
Type "copyright", "credits" or "license()" for more information.
>>> from pymodbus3.server.sync import StartTcpServer
>>> from pymodbus3.datastore import ModbusSequentialDataBlock
>>> from pymodbus3.datastore import ModbusSlaveContext, ModbusServerContext
>>> fc3 = ModbusSequentialDataBlock(0, [0] * 2000)
>>> fc3
<pymodbus3.datastore.store.ModbusSequentialDataBlock object at 0x0000000003327240>
>>> fc3.setValues(0, random.randint(0, 1))
Traceback (most recent call last):
  File "<pyshell#5>", line 1, in <module>
    fc3.setValues(0, random.randint(0, 1))
AttributeError: 'ModbusSequentialDataBlock' object has no attribute 'setValues'
>>> 

Офлайн

#4 Авг. 13, 2016 05:06:21

PooH
От:
Зарегистрирован: 2006-12-05
Сообщения: 1948
Репутация: +  72  -
Профиль   Отправить e-mail  

pymodbus3

не вижу у вас применения set_values, вижу setValues



Вот здесь один из первых отарков съел лаборанта. Это был такой умный отарк, что понимал даже теорию относительности. Он разговаривал с лаборантом, а потом бросился на него и загрыз…

Офлайн

#5 Авг. 15, 2016 07:05:35

kvn
Зарегистрирован: 2016-08-01
Сообщения: 8
Репутация: +  0  -
Профиль   Отправить e-mail  

pymodbus3

ок! Спасибо!

Писал по инструкциии pymodbus3.pdf.
Взял от сюда - https://github.com/uzumaxy/pymodbus3/blob/master/doc/pymodbus3.pdf
В ней указано -
setValues(address, values)
Sets the requested values of the datastore
Parameters
• address – The starting address
• values – The new values to be set

Здесь тоже setValues -
https://pythonhosted.org/pymodbus/library/datastore.html?highlight=modbussequentialdatablock#pymodbus.datastore.ModbusSequentialDataBlock

Может есть какое другое описание, более свежее?

Офлайн

#6 Авг. 15, 2016 07:37:38

PooH
От:
Зарегистрирован: 2006-12-05
Сообщения: 1948
Репутация: +  72  -
Профиль   Отправить e-mail  

pymodbus3

kvn
Может есть какое другое описание, более свежее?
Конечно, в исходниках все видно :D



Вот здесь один из первых отарков съел лаборанта. Это был такой умный отарк, что понимал даже теорию относительности. Он разговаривал с лаборантом, а потом бросился на него и загрыз…

Офлайн

Board footer

Модераторировать

Powered by DjangoBB

Lo-Fi Version