|
|
před 3 dny | |
|---|---|---|
| __pycache__ | před 3 dny | |
| tests | před 3 dny | |
| wiki | před 3 dny | |
| .dockerignore | před 3 dny | |
| .gitignore | před 3 dny | |
| Dockerfile | před 3 dny | |
| README.md | před 3 dny | |
| app_config.py | před 3 dny | |
| config.yaml | před 3 dny | |
| constants.py | před 3 dny | |
| db.py | před 3 dny | |
| http_value_provider.py | před 3 dny | |
| logging_config.py | před 3 dny | |
| main.py | před 3 dny | |
| modbus_codec.py | před 3 dny | |
| modbus_context.py | před 3 dny | |
| modbus_server.py | před 3 dny | |
| poetry.lock | před 3 dny | |
| point_loader.py | před 3 dny | |
| point_model.py | před 3 dny | |
| pyproject.toml | před 3 dny | |
| register_store.py | před 3 dny | |
| value_provider.py | před 3 dny | |
| value_refresh.py | před 3 dny |
只读 Modbus TCP Server。启动时从 modbus_server_point 加载全部点位,校验 pt_point 中点位是否存在,校验保持寄存器地址是否重叠,并通过实时值接口初始化和周期刷新 Holding Register。
python main.py
默认读取当前目录下的 config.yaml。
不要使用旧的 modbus-server-nd 命令启动服务;当前项目按根目录下的 main.py 启动。
python -m unittest discover -s tests
服务启动后,对比 Modbus TCP 读取值和实时值 HTTP 接口返回值:
python tests/compare_modbus_http_client.py
如果只想验证当前代码的寄存器写入和 Modbus 读取逻辑,可以让脚本从数据库加载点位并自启动一个临时 Modbus Server:
python tests/compare_modbus_http_client.py --self-start --modbus-port 15024
服务启动后,测试 4 个和 8 个 client 同时读取全部点位:
python tests/stress_modbus_clients.py --client-counts 4,8
可以增加重复次数:
python tests/stress_modbus_clients.py --client-counts 4,8 --repeat 3