mirror of
https://github.com/emqx/neuron.git
synced 2026-10-29 07:06:32 +08:00
ft: move robotframework tests to pytest
This commit is contained in:
@@ -75,51 +75,6 @@ jobs:
|
||||
directory: ./cov_report/
|
||||
files: cov-ut.info
|
||||
|
||||
ft:
|
||||
runs-on: ubuntu-20.04
|
||||
container: ghcr.io/neugates/build:x86_64-main
|
||||
|
||||
steps:
|
||||
- uses: actions/checkout@v4
|
||||
with:
|
||||
submodules: recursive
|
||||
|
||||
- name: compile
|
||||
run: |
|
||||
git config --global --add safe.directory $(pwd)
|
||||
mkdir -p build && cd build
|
||||
cmake -DUSE_GCOV=1 .. -DCMAKE_TOOLCHAIN_FILE=../cmake/x86_64-linux-gnu.cmake
|
||||
make -j4
|
||||
|
||||
- name: function test
|
||||
run: |
|
||||
sudo apt-get install -y mosquitto
|
||||
mosquitto -v &
|
||||
python3 -m pip install -U pip
|
||||
python3 -m pip install -r ft/requirements.txt
|
||||
python3 -m robot --maxerrorlines=600 -P ft/ -d ft/reports ft
|
||||
|
||||
- uses: actions/upload-artifact@v3
|
||||
with:
|
||||
name: ft_result
|
||||
path: |
|
||||
build/neuron.log
|
||||
|
||||
- name: create cov report
|
||||
run: |
|
||||
sudo apt-get update
|
||||
sudo apt-get -y install lcov
|
||||
mkdir -p cov_report
|
||||
./create_cov_report.sh ft
|
||||
|
||||
- name: Upload coverage to Codecov
|
||||
uses: codecov/codecov-action@v3
|
||||
with:
|
||||
verbose: true
|
||||
fail_ci_if_error: true
|
||||
directory: ./cov_report/
|
||||
files: cov-ft.info
|
||||
|
||||
pft:
|
||||
runs-on: ubuntu-20.04
|
||||
container: ghcr.io/neugates/build:x86_64-main
|
||||
|
||||
@@ -1,258 +0,0 @@
|
||||
import asyncio
|
||||
import time
|
||||
from collections import defaultdict, deque
|
||||
|
||||
from robot.api import logger
|
||||
from robot.api.deco import keyword, library
|
||||
from gmqtt import Client as MQTTClient, Subscription
|
||||
from gmqtt.mqtt.constants import MQTTv311
|
||||
|
||||
ROBOT_AUTO_KEYWORDS = False
|
||||
|
||||
|
||||
@library
|
||||
class Client:
|
||||
"""A keyword library for Robot Framework. It provides keywords for
|
||||
performing various operations on an MQTT broker. See http://mqtt.org/
|
||||
for more details on MQTT specification.
|
||||
|
||||
This library uses gmqtt: Python async MQTT client. For more information
|
||||
on underlying methods and documentation, see:
|
||||
https://github.com/wialon/gmqtt
|
||||
|
||||
"""
|
||||
|
||||
ROBOT_LIBRARY_SCOPE = "GLOBAL"
|
||||
ROBOT_LIBRARY_VERSION = "0.1.0"
|
||||
|
||||
def __init__(self, reconnect_retries=5, reconnect_delay=0):
|
||||
"""
|
||||
`reconnect_retries` number of reconnect attempt in case of lost
|
||||
connections, default to 5
|
||||
|
||||
`reconnect_delay` delay between reconnect attemps in seconds,
|
||||
default to 0
|
||||
|
||||
"""
|
||||
self._client = None
|
||||
self._reconnect_retries = reconnect_retries
|
||||
self._reconnect_delay = reconnect_delay
|
||||
self._messages = defaultdict(deque)
|
||||
self._subcribed = asyncio.Event()
|
||||
self._unsubcribed = asyncio.Event()
|
||||
self._recved = asyncio.Event()
|
||||
self._run = asyncio.get_event_loop().run_until_complete
|
||||
|
||||
@keyword
|
||||
def connect(
|
||||
self,
|
||||
host,
|
||||
port=1883,
|
||||
client_id="",
|
||||
username="",
|
||||
password="",
|
||||
keepalive=60,
|
||||
clean_session=True,
|
||||
):
|
||||
"""Connect to an MQTT broker. This is a pre-requisite step for publish
|
||||
and subscribe keywords.
|
||||
|
||||
`host` MQTT broker host
|
||||
|
||||
`port` broker port (default 1883)
|
||||
|
||||
`client_id` if not specified, a random id is generated
|
||||
|
||||
`username` user name, default to ""
|
||||
|
||||
`password` user password, default to ""
|
||||
|
||||
`keepalive` keepalive in seconds
|
||||
|
||||
`clean_session` specifies the clean session flag for the connection
|
||||
|
||||
Examples:
|
||||
|
||||
Connect to a broker with default port and client id
|
||||
| Connect | 127.0.0.1 |
|
||||
|
||||
Connect to a broker by specifying the port and client id explicitly
|
||||
| Connect | 127.0.0.1 | 1883 | test.client |
|
||||
|
||||
Connect to a broker with clean session flag set to false
|
||||
| Connect | 127.0.0.1 | clean_session=${false} |
|
||||
|
||||
"""
|
||||
client = MQTTClient(client_id, clean_session=clean_session)
|
||||
client.on_connect = self._on_connect
|
||||
client.on_message = self._on_message
|
||||
client.on_disconnect = self._on_disconnect
|
||||
client.on_subscribe = self._on_subscribe
|
||||
client.on_unsubscribe = self._on_unsubscribe
|
||||
client.set_config(
|
||||
{
|
||||
"reconnect_retries": self._reconnect_retries,
|
||||
"reconnect_delay": self._reconnect_delay,
|
||||
}
|
||||
)
|
||||
self._client = client
|
||||
|
||||
self._run(self._client.connect(host, port, version=MQTTv311))
|
||||
|
||||
@keyword
|
||||
def disconnect(self):
|
||||
"""Disconnect from MQTT Broker.
|
||||
|
||||
Example:
|
||||
| Disconnect |
|
||||
|
||||
"""
|
||||
self._run(self._client.disconnect())
|
||||
self._messages.clear()
|
||||
|
||||
@keyword
|
||||
def unsubscribe_all_and_clear_messages(self):
|
||||
"""Unsubscribe all subscriptions and clear all messages in queue."""
|
||||
for topic in self._messages:
|
||||
self.unsubscribe(topic)
|
||||
self._messages.clear()
|
||||
|
||||
@keyword
|
||||
def subscribe(self, topic, qos=0, timeout=1):
|
||||
"""Subscribe to a topic and return a message payload received
|
||||
within the specified time.
|
||||
|
||||
`topic` topic to subscribe to
|
||||
|
||||
`qos` quality of service for the subscription, default to QoS 0
|
||||
|
||||
`timeout` duration of subscription, default to 1 second
|
||||
|
||||
Examples:
|
||||
|
||||
Subscribe and get a list of all messages received within 5 seconds
|
||||
| ${messages}= | Subscribe | test/test | qos=1 | timeout=5 |
|
||||
|
||||
"""
|
||||
timeout = 1 if timeout < 1 else timeout
|
||||
self._client.subscribe(Subscription(topic, qos))
|
||||
if self._wait(self._subcribed, timeout=timeout):
|
||||
raise Exception(
|
||||
"MQTT client subscribe timeout topic=%s qos=%s" % (topic, qos))
|
||||
logger.info("MQTT client subscribed to topic=%s qos=%s" % (topic, qos))
|
||||
|
||||
@keyword
|
||||
def unsubscribe(self, topic, timeout=1):
|
||||
"""Unsubscribe the client from the specified topic.
|
||||
|
||||
`topic` topic to unsubscribe from
|
||||
|
||||
`timeout` duration of unsubscription, default to 1 second
|
||||
|
||||
Example:
|
||||
| Unsubscribe | test/mqtt_test |
|
||||
|
||||
"""
|
||||
timeout = 1 if timeout < 1 else timeout
|
||||
self._client.unsubscribe(topic)
|
||||
if self._wait(self._unsubcribed, timeout=timeout):
|
||||
raise Exception("MQTT client unsubscribe timeout topic=%s" % topic)
|
||||
logger.info("MQTT client unsubscribed topic=%s" % topic)
|
||||
|
||||
@keyword
|
||||
def publish(self, topic, payload, qos=0, retain=False):
|
||||
"""Publish a message to a topic with specified qos and retained flag.
|
||||
It is required that a connection has been established using `Connect`
|
||||
keyword before using this keyword.
|
||||
|
||||
`topic` topic to which the message will be published
|
||||
|
||||
`paylod` message payload to publish
|
||||
|
||||
`qos` qos of the message, default to QoS 0
|
||||
|
||||
`retain` retained flag
|
||||
|
||||
Examples:
|
||||
|
||||
| Publish | test/test | test message | 1 | ${false} |
|
||||
|
||||
"""
|
||||
self._client.publish(topic, payload, qos=qos, retain=retain)
|
||||
|
||||
@keyword
|
||||
def listen(self, topic, timeout=1):
|
||||
"""Listen to a topic and return a message payload received within the
|
||||
specified time. Requires an Subscribe to have been called previously.
|
||||
|
||||
`topic` topic to listen to
|
||||
|
||||
`timeout` duration to listen, default to 1 second
|
||||
|
||||
Examples:
|
||||
|
||||
Listen and get a message received within 5 seconds
|
||||
| ${messages}= | Listen | test/test | timeout=5 |
|
||||
|
||||
"""
|
||||
timeout = 1 if timeout < 1 else timeout
|
||||
start = time.time()
|
||||
while True:
|
||||
if topic in self._messages and self._messages[topic]:
|
||||
msg = self._messages[topic].popleft()
|
||||
return msg
|
||||
|
||||
if (
|
||||
self._wait(self._recved, timeout=timeout)
|
||||
or (time.time() - start) >= timeout
|
||||
):
|
||||
break
|
||||
|
||||
def _wait(self, event, timeout):
|
||||
"""Waits for the given event within timeout.
|
||||
Returns true on timeout, false otherwise."""
|
||||
try:
|
||||
self._run(asyncio.wait_for(event.wait(), timeout))
|
||||
event.clear()
|
||||
except asyncio.TimeoutError:
|
||||
return True
|
||||
return False
|
||||
|
||||
def _on_connect(self, client, flags, rc, properties):
|
||||
logger.info("MQTT client connected")
|
||||
|
||||
def _on_message(self, client, topic, payload, qos, properties):
|
||||
logger.info("MQTT client received: topic=%s qos=%s payload=%s" %
|
||||
(topic, qos, payload))
|
||||
self._messages[topic].append(payload.decode())
|
||||
self._recved.set()
|
||||
return 0
|
||||
|
||||
def _on_disconnect(self, client, packet, exc=None):
|
||||
logger.info("MQTT client disconnected")
|
||||
|
||||
def _on_subscribe(self, client, mid, qos, properties):
|
||||
self._subcribed.set()
|
||||
|
||||
def _on_unsubscribe(self, client, mid, granted_qos):
|
||||
self._unsubcribed.set()
|
||||
|
||||
|
||||
if __name__ == "__main__":
|
||||
# import logging
|
||||
# logging.basicConfig(level=logging.DEBUG)
|
||||
|
||||
host = "127.0.0.1"
|
||||
topic = "test/test_mqtt"
|
||||
client = Client()
|
||||
|
||||
client.connect(host)
|
||||
client.subscribe(topic)
|
||||
|
||||
for i in range(3):
|
||||
client.publish(topic, "hello world %s" % i)
|
||||
msg = client.listen(topic)
|
||||
print("MQTT client receive: topic=%s msg=%s" % (topic, msg))
|
||||
|
||||
client.unsubscribe(topic)
|
||||
client.disconnect()
|
||||
@@ -1,235 +0,0 @@
|
||||
from os import remove
|
||||
import os
|
||||
import random
|
||||
import subprocess
|
||||
import shutil
|
||||
import time
|
||||
|
||||
|
||||
def prepare_persistence_dir():
|
||||
os.system("mkdir -p build/persistence")
|
||||
|
||||
|
||||
class Neuron(object):
|
||||
process = 0
|
||||
profiler_process = None
|
||||
|
||||
def __init__(self):
|
||||
pass
|
||||
|
||||
def Start_Neuron(self):
|
||||
prepare_persistence_dir()
|
||||
self.process = subprocess.Popen(['./neuron', '--log'], cwd='build/')
|
||||
return self.process
|
||||
|
||||
def Stop_Neuron(self, remove_persistence_data=True):
|
||||
if self.profiler_process is not None:
|
||||
# wait for plotting
|
||||
time.sleep(5)
|
||||
self.process.kill()
|
||||
if remove_persistence_data:
|
||||
os.system("rm build/persistence/sqlite.db")
|
||||
prepare_persistence_dir()
|
||||
|
||||
def End_Neuron(self, process):
|
||||
process.kill()
|
||||
|
||||
def Remove_Persistence(self):
|
||||
os.system("rm build/persistence/sqlite.db")
|
||||
prepare_persistence_dir()
|
||||
|
||||
def Profile_Neuron(self, interval, result_dir):
|
||||
cmd = [
|
||||
'psrecord', str(self.process.pid),
|
||||
'--interval', str(interval),
|
||||
'--plot', result_dir + '/cpu_mem.svg'
|
||||
]
|
||||
|
||||
self.profiler_process = subprocess.Popen(cmd)
|
||||
|
||||
|
||||
class Tool(object):
|
||||
|
||||
def __init__(self):
|
||||
pass
|
||||
|
||||
def Array_Len(self, array):
|
||||
return len(array)
|
||||
|
||||
|
||||
class Plugin(object):
|
||||
|
||||
def __init__(self):
|
||||
pass
|
||||
|
||||
def Get_Plugin_By_Name(self, splugins, name):
|
||||
for plugin in splugins:
|
||||
if plugin['name'] == name:
|
||||
return plugin['id']
|
||||
return 0
|
||||
|
||||
def Plugin_With_Name_Sholud_Exist(self, splugins, name):
|
||||
assert 0 != self.Get_Plugin_By_Name(splugins, name)
|
||||
|
||||
def Plugin_With_Name_Should_Not_Exist(self, splugins, name):
|
||||
assert 0 == self.Get_Plugin_By_Name(splugins, name)
|
||||
|
||||
|
||||
class GrpConfig(object):
|
||||
|
||||
def __init__(self):
|
||||
pass
|
||||
|
||||
def Get_Interval_In_Group_Config(self, gconfigs, gname):
|
||||
for gconfig in gconfigs[0]:
|
||||
if gconfig['name'] == gname:
|
||||
return gconfig['interval']
|
||||
return 0
|
||||
|
||||
def Group_Config_Size(self, gconfigs):
|
||||
size = 0
|
||||
for gconfig in gconfigs[0]:
|
||||
size = size + 1
|
||||
return size
|
||||
|
||||
def Get_Random_Group_Config(self, gconfigs):
|
||||
return random.choice(gconfigs)['name']
|
||||
|
||||
def Group_Config_Check(self, gconfigs, name, interval):
|
||||
ret = -1
|
||||
for gconfig in gconfigs:
|
||||
if gconfig['name'] == name:
|
||||
if gconfig['interval'] == int(interval):
|
||||
ret = 0
|
||||
break
|
||||
return ret
|
||||
|
||||
def Get_Group_Config_By_Name(self, sgconfigs, name):
|
||||
for gconfig in sgconfigs:
|
||||
if gconfig['name'] == name:
|
||||
return gconfig['name']
|
||||
return 0
|
||||
|
||||
|
||||
class Node(object):
|
||||
|
||||
def __init__(self):
|
||||
pass
|
||||
|
||||
def Get_Node_By_Name(self, snodes, name):
|
||||
for node in snodes:
|
||||
if node['name'] == name:
|
||||
return True
|
||||
return False
|
||||
|
||||
def Node_Should_Exist(self, snodes, name):
|
||||
assert True == self.Get_Node_By_Name(snodes, name)
|
||||
|
||||
def Node_Should_Not_Exist(self, snodes, name):
|
||||
assert False == self.Get_Node_By_Name(snodes, name)
|
||||
|
||||
def Node_With_Name_Should_Not_Exist(self, snodes, name):
|
||||
assert 0 == self.Get_Node_By_Name(snodes, name)
|
||||
|
||||
def Get_Random_Node(self, snodes):
|
||||
return random.choice(snodes)['id']
|
||||
|
||||
|
||||
class Tag(object):
|
||||
|
||||
def __init__(self):
|
||||
pass
|
||||
|
||||
def Tag_Check(self, tags, name, type, group_config_name, attribute, address):
|
||||
ret = -1
|
||||
for tag in tags:
|
||||
if tag['name'] == name:
|
||||
if tag['type'] == int(type) and tag['group_config_name'] == group_config_name and tag['attribute'] == int(attribute) and tag['address'] == address:
|
||||
ret = 0
|
||||
break
|
||||
return ret
|
||||
|
||||
def Tag_Find_By_Name(self, tags, name):
|
||||
for tag in tags:
|
||||
if tag['name'] == name:
|
||||
return tag
|
||||
|
||||
return None
|
||||
|
||||
|
||||
class Subscribe(object):
|
||||
|
||||
def __init__(self):
|
||||
pass
|
||||
|
||||
def Subscribe_Check(self, groups, node_id, group_config_name):
|
||||
ret = -1
|
||||
for group in groups:
|
||||
if group['node_id'] == int(node_id) and group['group_config_name'] == group_config_name:
|
||||
ret = 0
|
||||
break
|
||||
return ret
|
||||
|
||||
|
||||
class Read(object):
|
||||
|
||||
def __init__(self):
|
||||
pass
|
||||
|
||||
def Compare_Tag_Value_Bool(self, tags, name, value):
|
||||
ret = -1
|
||||
for tag in tags:
|
||||
if tag['name'] == name:
|
||||
if isinstance(value, str):
|
||||
if (tag['value'] == False and value.lower() == "false" or
|
||||
tag['value'] == True and value.lower() == "true"):
|
||||
ret = 0
|
||||
elif tag['value'] == int(value):
|
||||
ret = 0
|
||||
break
|
||||
return ret
|
||||
|
||||
def Compare_Tag_Value_Int(self, tags, name, value):
|
||||
ret = -1
|
||||
for tag in tags:
|
||||
if tag['name'] == name:
|
||||
if int(tag['value']) == int(value):
|
||||
ret = 0
|
||||
break
|
||||
return ret
|
||||
|
||||
def Compare_Tag_Value_Float(self, tags, name, value):
|
||||
ret = -1
|
||||
for tag in tags:
|
||||
if tag['name'] == name:
|
||||
if float(tag['value']) <= float(value) + 0.1 and float(tag['value']) >= float(value) - 0.1:
|
||||
ret = 0
|
||||
break
|
||||
return ret
|
||||
|
||||
def Compare_Tag_Value_String(self, tags, name, value):
|
||||
ret = -1
|
||||
for tag in tags:
|
||||
if tag['name'] == name:
|
||||
if tag['value'] == str(value):
|
||||
ret = 0
|
||||
break
|
||||
return ret
|
||||
|
||||
def Compare_Tag_Value_Strings(self, tags, name, value):
|
||||
ret = -1
|
||||
for tag in tags:
|
||||
if tag['name'] == name:
|
||||
if "\"" + tag['value'] + "\"" == str(value):
|
||||
ret = 0
|
||||
break
|
||||
return ret
|
||||
|
||||
def Check_Tag_Error(self, tags, name, value):
|
||||
ret = -1
|
||||
for tag in tags:
|
||||
if tag['name'] == name:
|
||||
if int(tag['error']) == int(value):
|
||||
ret = 0
|
||||
break
|
||||
return ret
|
||||
@@ -1,35 +0,0 @@
|
||||
# Functional test
|
||||
|
||||
Functional testing uses the robotframework automated testing framework, providing templates for each test case of the northbound APP and southbound DRIVER types.
|
||||
|
||||
Testing is divided into the following categories.
|
||||
|Test case|Description|
|
||||
|-----|----------|
|
||||
|Core interface test|Mainly including the addition, deletion, modification, query, subscription, and other operations of the HTTP API interface for core data(PLUGIN, NODE, GROUP, TAG)|
|
||||
|Southbound DRIVER test||
|
||||
|Northbound APP test||
|
||||
|Plugin specific test case|Such as OPC UA specific device discovery, can different devices be connected normally|
|
||||
|
||||
To run all functional testers
|
||||
|
||||
Enter the neuron/build directory.
|
||||
Install Mosquito software.
|
||||
```shell
|
||||
$ sudo apt-get install -y mosquitto
|
||||
```
|
||||
|
||||
Start the mosquitto server.
|
||||
```shell
|
||||
$ mosquitto -v &
|
||||
```
|
||||
|
||||
Install requirements.
|
||||
```shell
|
||||
$ python3 -m pip install -U pip
|
||||
$ python3 -m pip install -r ft/requirements.txt
|
||||
```
|
||||
|
||||
Run functional tests and generate test reports.
|
||||
```shell
|
||||
$ python3 -m robot --maxerroelines=600 -P ft/ -d ft/reports ft
|
||||
```
|
||||
@@ -1,10 +0,0 @@
|
||||
{
|
||||
"nodes": [
|
||||
{
|
||||
"type": 1,
|
||||
"plugin_name": "modbus-tcp",
|
||||
"name": "modbus-tcp-0000",
|
||||
"state": 1
|
||||
}
|
||||
]
|
||||
}
|
||||
@@ -1,5 +0,0 @@
|
||||
{
|
||||
"read_interval": 1000,
|
||||
"group_config_name": "group-0000",
|
||||
"adapter_name": "modbus-tcp-0000"
|
||||
}
|
||||
-60004
File diff suppressed because it is too large
Load Diff
@@ -1,7 +0,0 @@
|
||||
{
|
||||
"params": {
|
||||
"host": "127.0.0.1",
|
||||
"port": 60502,
|
||||
"connection_mode": 0
|
||||
}
|
||||
}
|
||||
@@ -1,11 +0,0 @@
|
||||
{
|
||||
"params": {
|
||||
"req-topic": "Neuron/req",
|
||||
"res-topic": "Neuron/resp",
|
||||
"ssl": "false",
|
||||
"host": "127.0.0.1",
|
||||
"port": 1883,
|
||||
"username": "",
|
||||
"password": ""
|
||||
}
|
||||
}
|
||||
@@ -1,10 +0,0 @@
|
||||
{
|
||||
"subscriptions": [
|
||||
{
|
||||
"sub_adapter_name": "mqtt-0000",
|
||||
"group_config_name": "group-0000",
|
||||
"src_adapter_name": "modbus-tcp-0000",
|
||||
"read_interval": 1000
|
||||
}
|
||||
]
|
||||
}
|
||||
@@ -1,3 +0,0 @@
|
||||
{
|
||||
"plugins": []
|
||||
}
|
||||
@@ -1,10 +0,0 @@
|
||||
{
|
||||
"nodes": [
|
||||
{
|
||||
"type": 1,
|
||||
"plugin_name": "modbus-tcp",
|
||||
"name": "modbus-tcp-0000",
|
||||
"state": 1
|
||||
}
|
||||
]
|
||||
}
|
||||
@@ -1,5 +0,0 @@
|
||||
{
|
||||
"read_interval": 1000,
|
||||
"group_config_name": "group-0000",
|
||||
"adapter_name": "modbus-tcp-0000"
|
||||
}
|
||||
-6004
File diff suppressed because it is too large
Load Diff
@@ -1,7 +0,0 @@
|
||||
{
|
||||
"params": {
|
||||
"host": "127.0.0.1",
|
||||
"port": 60502,
|
||||
"connection_mode": 0
|
||||
}
|
||||
}
|
||||
@@ -1,11 +0,0 @@
|
||||
{
|
||||
"params": {
|
||||
"req-topic": "Neuron/req",
|
||||
"res-topic": "Neuron/resp",
|
||||
"ssl": "false",
|
||||
"host": "127.0.0.1",
|
||||
"port": 1883,
|
||||
"username": "",
|
||||
"password": ""
|
||||
}
|
||||
}
|
||||
@@ -1,10 +0,0 @@
|
||||
{
|
||||
"subscriptions": [
|
||||
{
|
||||
"sub_adapter_name": "mqtt-0000",
|
||||
"group_config_name": "group-0000",
|
||||
"src_adapter_name": "modbus-tcp-0000",
|
||||
"read_interval": 1000
|
||||
}
|
||||
]
|
||||
}
|
||||
@@ -1,3 +0,0 @@
|
||||
{
|
||||
"plugins": []
|
||||
}
|
||||
@@ -1,124 +0,0 @@
|
||||
{
|
||||
"nodes": [
|
||||
{
|
||||
"type": 1,
|
||||
"plugin_name": "modbus-tcp",
|
||||
"name": "modbus-tcp-0000",
|
||||
"state": 1
|
||||
},
|
||||
{
|
||||
"type": 1,
|
||||
"plugin_name": "modbus-tcp",
|
||||
"name": "modbus-tcp-0001",
|
||||
"state": 1
|
||||
},
|
||||
{
|
||||
"type": 1,
|
||||
"plugin_name": "modbus-tcp",
|
||||
"name": "modbus-tcp-0002",
|
||||
"state": 1
|
||||
},
|
||||
{
|
||||
"type": 1,
|
||||
"plugin_name": "modbus-tcp",
|
||||
"name": "modbus-tcp-0003",
|
||||
"state": 1
|
||||
},
|
||||
{
|
||||
"type": 1,
|
||||
"plugin_name": "modbus-tcp",
|
||||
"name": "modbus-tcp-0004",
|
||||
"state": 1
|
||||
},
|
||||
{
|
||||
"type": 1,
|
||||
"plugin_name": "modbus-tcp",
|
||||
"name": "modbus-tcp-0005",
|
||||
"state": 1
|
||||
},
|
||||
{
|
||||
"type": 1,
|
||||
"plugin_name": "modbus-tcp",
|
||||
"name": "modbus-tcp-0006",
|
||||
"state": 1
|
||||
},
|
||||
{
|
||||
"type": 1,
|
||||
"plugin_name": "modbus-tcp",
|
||||
"name": "modbus-tcp-0007",
|
||||
"state": 1
|
||||
},
|
||||
{
|
||||
"type": 1,
|
||||
"plugin_name": "modbus-tcp",
|
||||
"name": "modbus-tcp-0008",
|
||||
"state": 1
|
||||
},
|
||||
{
|
||||
"type": 1,
|
||||
"plugin_name": "modbus-tcp",
|
||||
"name": "modbus-tcp-0009",
|
||||
"state": 1
|
||||
},
|
||||
{
|
||||
"type": 1,
|
||||
"plugin_name": "neuron-opcua-plugin",
|
||||
"name": "opcua-0000",
|
||||
"state": 1
|
||||
},
|
||||
{
|
||||
"type": 1,
|
||||
"plugin_name": "neuron-opcua-plugin",
|
||||
"name": "opcua-0001",
|
||||
"state": 1
|
||||
},
|
||||
{
|
||||
"type": 1,
|
||||
"plugin_name": "neuron-opcua-plugin",
|
||||
"name": "opcua-0002",
|
||||
"state": 1
|
||||
},
|
||||
{
|
||||
"type": 1,
|
||||
"plugin_name": "neuron-opcua-plugin",
|
||||
"name": "opcua-0003",
|
||||
"state": 1
|
||||
},
|
||||
{
|
||||
"type": 1,
|
||||
"plugin_name": "neuron-opcua-plugin",
|
||||
"name": "opcua-0004",
|
||||
"state": 1
|
||||
},
|
||||
{
|
||||
"type": 1,
|
||||
"plugin_name": "neuron-opcua-plugin",
|
||||
"name": "opcua-0005",
|
||||
"state": 1
|
||||
},
|
||||
{
|
||||
"type": 1,
|
||||
"plugin_name": "neuron-opcua-plugin",
|
||||
"name": "opcua-0006",
|
||||
"state": 1
|
||||
},
|
||||
{
|
||||
"type": 1,
|
||||
"plugin_name": "neuron-opcua-plugin",
|
||||
"name": "opcua-0007",
|
||||
"state": 1
|
||||
},
|
||||
{
|
||||
"type": 1,
|
||||
"plugin_name": "neuron-opcua-plugin",
|
||||
"name": "opcua-0008",
|
||||
"state": 1
|
||||
},
|
||||
{
|
||||
"type": 1,
|
||||
"plugin_name": "neuron-opcua-plugin",
|
||||
"name": "opcua-0009",
|
||||
"state": 1
|
||||
}
|
||||
]
|
||||
}
|
||||
@@ -1,5 +0,0 @@
|
||||
{
|
||||
"read_interval": 1000,
|
||||
"group_config_name": "group-0000",
|
||||
"adapter_name": "modbus-tcp-0000"
|
||||
}
|
||||
-604
@@ -1,604 +0,0 @@
|
||||
{
|
||||
"tags": [
|
||||
{
|
||||
"type": 4,
|
||||
"name": "modbus1",
|
||||
"attribute": 3,
|
||||
"address": "1!400001"
|
||||
},
|
||||
{
|
||||
"type": 4,
|
||||
"name": "modbus2",
|
||||
"attribute": 3,
|
||||
"address": "1!400002"
|
||||
},
|
||||
{
|
||||
"type": 4,
|
||||
"name": "modbus3",
|
||||
"attribute": 3,
|
||||
"address": "1!400003"
|
||||
},
|
||||
{
|
||||
"type": 4,
|
||||
"name": "modbus4",
|
||||
"attribute": 3,
|
||||
"address": "1!400004"
|
||||
},
|
||||
{
|
||||
"type": 4,
|
||||
"name": "modbus5",
|
||||
"attribute": 3,
|
||||
"address": "1!400005"
|
||||
},
|
||||
{
|
||||
"type": 4,
|
||||
"name": "modbus6",
|
||||
"attribute": 3,
|
||||
"address": "1!400006"
|
||||
},
|
||||
{
|
||||
"type": 4,
|
||||
"name": "modbus7",
|
||||
"attribute": 3,
|
||||
"address": "1!400007"
|
||||
},
|
||||
{
|
||||
"type": 4,
|
||||
"name": "modbus8",
|
||||
"attribute": 3,
|
||||
"address": "1!400008"
|
||||
},
|
||||
{
|
||||
"type": 4,
|
||||
"name": "modbus9",
|
||||
"attribute": 3,
|
||||
"address": "1!400009"
|
||||
},
|
||||
{
|
||||
"type": 4,
|
||||
"name": "modbus10",
|
||||
"attribute": 3,
|
||||
"address": "1!400010"
|
||||
},
|
||||
{
|
||||
"type": 4,
|
||||
"name": "modbus11",
|
||||
"attribute": 3,
|
||||
"address": "1!400011"
|
||||
},
|
||||
{
|
||||
"type": 4,
|
||||
"name": "modbus12",
|
||||
"attribute": 3,
|
||||
"address": "1!400012"
|
||||
},
|
||||
{
|
||||
"type": 4,
|
||||
"name": "modbus13",
|
||||
"attribute": 3,
|
||||
"address": "1!400013"
|
||||
},
|
||||
{
|
||||
"type": 4,
|
||||
"name": "modbus14",
|
||||
"attribute": 3,
|
||||
"address": "1!400014"
|
||||
},
|
||||
{
|
||||
"type": 4,
|
||||
"name": "modbus15",
|
||||
"attribute": 3,
|
||||
"address": "1!400015"
|
||||
},
|
||||
{
|
||||
"type": 4,
|
||||
"name": "modbus16",
|
||||
"attribute": 3,
|
||||
"address": "1!400016"
|
||||
},
|
||||
{
|
||||
"type": 4,
|
||||
"name": "modbus17",
|
||||
"attribute": 3,
|
||||
"address": "1!400017"
|
||||
},
|
||||
{
|
||||
"type": 4,
|
||||
"name": "modbus18",
|
||||
"attribute": 3,
|
||||
"address": "1!400018"
|
||||
},
|
||||
{
|
||||
"type": 4,
|
||||
"name": "modbus19",
|
||||
"attribute": 3,
|
||||
"address": "1!400019"
|
||||
},
|
||||
{
|
||||
"type": 4,
|
||||
"name": "modbus20",
|
||||
"attribute": 3,
|
||||
"address": "1!400020"
|
||||
},
|
||||
{
|
||||
"type": 4,
|
||||
"name": "modbus21",
|
||||
"attribute": 3,
|
||||
"address": "1!400021"
|
||||
},
|
||||
{
|
||||
"type": 4,
|
||||
"name": "modbus22",
|
||||
"attribute": 3,
|
||||
"address": "1!400022"
|
||||
},
|
||||
{
|
||||
"type": 4,
|
||||
"name": "modbus23",
|
||||
"attribute": 3,
|
||||
"address": "1!400023"
|
||||
},
|
||||
{
|
||||
"type": 4,
|
||||
"name": "modbus24",
|
||||
"attribute": 3,
|
||||
"address": "1!400024"
|
||||
},
|
||||
{
|
||||
"type": 4,
|
||||
"name": "modbus25",
|
||||
"attribute": 3,
|
||||
"address": "1!400025"
|
||||
},
|
||||
{
|
||||
"type": 4,
|
||||
"name": "modbus26",
|
||||
"attribute": 3,
|
||||
"address": "1!400026"
|
||||
},
|
||||
{
|
||||
"type": 4,
|
||||
"name": "modbus27",
|
||||
"attribute": 3,
|
||||
"address": "1!400027"
|
||||
},
|
||||
{
|
||||
"type": 4,
|
||||
"name": "modbus28",
|
||||
"attribute": 3,
|
||||
"address": "1!400028"
|
||||
},
|
||||
{
|
||||
"type": 4,
|
||||
"name": "modbus29",
|
||||
"attribute": 3,
|
||||
"address": "1!400029"
|
||||
},
|
||||
{
|
||||
"type": 4,
|
||||
"name": "modbus30",
|
||||
"attribute": 3,
|
||||
"address": "1!400030"
|
||||
},
|
||||
{
|
||||
"type": 4,
|
||||
"name": "modbus31",
|
||||
"attribute": 3,
|
||||
"address": "1!400031"
|
||||
},
|
||||
{
|
||||
"type": 4,
|
||||
"name": "modbus32",
|
||||
"attribute": 3,
|
||||
"address": "1!400032"
|
||||
},
|
||||
{
|
||||
"type": 4,
|
||||
"name": "modbus33",
|
||||
"attribute": 3,
|
||||
"address": "1!400033"
|
||||
},
|
||||
{
|
||||
"type": 4,
|
||||
"name": "modbus34",
|
||||
"attribute": 3,
|
||||
"address": "1!400034"
|
||||
},
|
||||
{
|
||||
"type": 4,
|
||||
"name": "modbus35",
|
||||
"attribute": 3,
|
||||
"address": "1!400035"
|
||||
},
|
||||
{
|
||||
"type": 4,
|
||||
"name": "modbus36",
|
||||
"attribute": 3,
|
||||
"address": "1!400036"
|
||||
},
|
||||
{
|
||||
"type": 4,
|
||||
"name": "modbus37",
|
||||
"attribute": 3,
|
||||
"address": "1!400037"
|
||||
},
|
||||
{
|
||||
"type": 4,
|
||||
"name": "modbus38",
|
||||
"attribute": 3,
|
||||
"address": "1!400038"
|
||||
},
|
||||
{
|
||||
"type": 4,
|
||||
"name": "modbus39",
|
||||
"attribute": 3,
|
||||
"address": "1!400039"
|
||||
},
|
||||
{
|
||||
"type": 4,
|
||||
"name": "modbus40",
|
||||
"attribute": 3,
|
||||
"address": "1!400040"
|
||||
},
|
||||
{
|
||||
"type": 4,
|
||||
"name": "modbus41",
|
||||
"attribute": 3,
|
||||
"address": "1!400041"
|
||||
},
|
||||
{
|
||||
"type": 4,
|
||||
"name": "modbus42",
|
||||
"attribute": 3,
|
||||
"address": "1!400042"
|
||||
},
|
||||
{
|
||||
"type": 4,
|
||||
"name": "modbus43",
|
||||
"attribute": 3,
|
||||
"address": "1!400043"
|
||||
},
|
||||
{
|
||||
"type": 4,
|
||||
"name": "modbus44",
|
||||
"attribute": 3,
|
||||
"address": "1!400044"
|
||||
},
|
||||
{
|
||||
"type": 4,
|
||||
"name": "modbus45",
|
||||
"attribute": 3,
|
||||
"address": "1!400045"
|
||||
},
|
||||
{
|
||||
"type": 4,
|
||||
"name": "modbus46",
|
||||
"attribute": 3,
|
||||
"address": "1!400046"
|
||||
},
|
||||
{
|
||||
"type": 4,
|
||||
"name": "modbus47",
|
||||
"attribute": 3,
|
||||
"address": "1!400047"
|
||||
},
|
||||
{
|
||||
"type": 4,
|
||||
"name": "modbus48",
|
||||
"attribute": 3,
|
||||
"address": "1!400048"
|
||||
},
|
||||
{
|
||||
"type": 4,
|
||||
"name": "modbus49",
|
||||
"attribute": 3,
|
||||
"address": "1!400049"
|
||||
},
|
||||
{
|
||||
"type": 4,
|
||||
"name": "modbus50",
|
||||
"attribute": 3,
|
||||
"address": "1!400050"
|
||||
},
|
||||
{
|
||||
"type": 4,
|
||||
"name": "modbus51",
|
||||
"attribute": 3,
|
||||
"address": "1!400051"
|
||||
},
|
||||
{
|
||||
"type": 4,
|
||||
"name": "modbus52",
|
||||
"attribute": 3,
|
||||
"address": "1!400052"
|
||||
},
|
||||
{
|
||||
"type": 4,
|
||||
"name": "modbus53",
|
||||
"attribute": 3,
|
||||
"address": "1!400053"
|
||||
},
|
||||
{
|
||||
"type": 4,
|
||||
"name": "modbus54",
|
||||
"attribute": 3,
|
||||
"address": "1!400054"
|
||||
},
|
||||
{
|
||||
"type": 4,
|
||||
"name": "modbus55",
|
||||
"attribute": 3,
|
||||
"address": "1!400055"
|
||||
},
|
||||
{
|
||||
"type": 4,
|
||||
"name": "modbus56",
|
||||
"attribute": 3,
|
||||
"address": "1!400056"
|
||||
},
|
||||
{
|
||||
"type": 4,
|
||||
"name": "modbus57",
|
||||
"attribute": 3,
|
||||
"address": "1!400057"
|
||||
},
|
||||
{
|
||||
"type": 4,
|
||||
"name": "modbus58",
|
||||
"attribute": 3,
|
||||
"address": "1!400058"
|
||||
},
|
||||
{
|
||||
"type": 4,
|
||||
"name": "modbus59",
|
||||
"attribute": 3,
|
||||
"address": "1!400059"
|
||||
},
|
||||
{
|
||||
"type": 4,
|
||||
"name": "modbus60",
|
||||
"attribute": 3,
|
||||
"address": "1!400060"
|
||||
},
|
||||
{
|
||||
"type": 4,
|
||||
"name": "modbus61",
|
||||
"attribute": 3,
|
||||
"address": "1!400061"
|
||||
},
|
||||
{
|
||||
"type": 4,
|
||||
"name": "modbus62",
|
||||
"attribute": 3,
|
||||
"address": "1!400062"
|
||||
},
|
||||
{
|
||||
"type": 4,
|
||||
"name": "modbus63",
|
||||
"attribute": 3,
|
||||
"address": "1!400063"
|
||||
},
|
||||
{
|
||||
"type": 4,
|
||||
"name": "modbus64",
|
||||
"attribute": 3,
|
||||
"address": "1!400064"
|
||||
},
|
||||
{
|
||||
"type": 4,
|
||||
"name": "modbus65",
|
||||
"attribute": 3,
|
||||
"address": "1!400065"
|
||||
},
|
||||
{
|
||||
"type": 4,
|
||||
"name": "modbus66",
|
||||
"attribute": 3,
|
||||
"address": "1!400066"
|
||||
},
|
||||
{
|
||||
"type": 4,
|
||||
"name": "modbus67",
|
||||
"attribute": 3,
|
||||
"address": "1!400067"
|
||||
},
|
||||
{
|
||||
"type": 4,
|
||||
"name": "modbus68",
|
||||
"attribute": 3,
|
||||
"address": "1!400068"
|
||||
},
|
||||
{
|
||||
"type": 4,
|
||||
"name": "modbus69",
|
||||
"attribute": 3,
|
||||
"address": "1!400069"
|
||||
},
|
||||
{
|
||||
"type": 4,
|
||||
"name": "modbus70",
|
||||
"attribute": 3,
|
||||
"address": "1!400070"
|
||||
},
|
||||
{
|
||||
"type": 4,
|
||||
"name": "modbus71",
|
||||
"attribute": 3,
|
||||
"address": "1!400071"
|
||||
},
|
||||
{
|
||||
"type": 4,
|
||||
"name": "modbus72",
|
||||
"attribute": 3,
|
||||
"address": "1!400072"
|
||||
},
|
||||
{
|
||||
"type": 4,
|
||||
"name": "modbus73",
|
||||
"attribute": 3,
|
||||
"address": "1!400073"
|
||||
},
|
||||
{
|
||||
"type": 4,
|
||||
"name": "modbus74",
|
||||
"attribute": 3,
|
||||
"address": "1!400074"
|
||||
},
|
||||
{
|
||||
"type": 4,
|
||||
"name": "modbus75",
|
||||
"attribute": 3,
|
||||
"address": "1!400075"
|
||||
},
|
||||
{
|
||||
"type": 4,
|
||||
"name": "modbus76",
|
||||
"attribute": 3,
|
||||
"address": "1!400076"
|
||||
},
|
||||
{
|
||||
"type": 4,
|
||||
"name": "modbus77",
|
||||
"attribute": 3,
|
||||
"address": "1!400077"
|
||||
},
|
||||
{
|
||||
"type": 4,
|
||||
"name": "modbus78",
|
||||
"attribute": 3,
|
||||
"address": "1!400078"
|
||||
},
|
||||
{
|
||||
"type": 4,
|
||||
"name": "modbus79",
|
||||
"attribute": 3,
|
||||
"address": "1!400079"
|
||||
},
|
||||
{
|
||||
"type": 4,
|
||||
"name": "modbus80",
|
||||
"attribute": 3,
|
||||
"address": "1!400080"
|
||||
},
|
||||
{
|
||||
"type": 4,
|
||||
"name": "modbus81",
|
||||
"attribute": 3,
|
||||
"address": "1!400081"
|
||||
},
|
||||
{
|
||||
"type": 4,
|
||||
"name": "modbus82",
|
||||
"attribute": 3,
|
||||
"address": "1!400082"
|
||||
},
|
||||
{
|
||||
"type": 4,
|
||||
"name": "modbus83",
|
||||
"attribute": 3,
|
||||
"address": "1!400083"
|
||||
},
|
||||
{
|
||||
"type": 4,
|
||||
"name": "modbus84",
|
||||
"attribute": 3,
|
||||
"address": "1!400084"
|
||||
},
|
||||
{
|
||||
"type": 4,
|
||||
"name": "modbus85",
|
||||
"attribute": 3,
|
||||
"address": "1!400085"
|
||||
},
|
||||
{
|
||||
"type": 4,
|
||||
"name": "modbus86",
|
||||
"attribute": 3,
|
||||
"address": "1!400086"
|
||||
},
|
||||
{
|
||||
"type": 4,
|
||||
"name": "modbus87",
|
||||
"attribute": 3,
|
||||
"address": "1!400087"
|
||||
},
|
||||
{
|
||||
"type": 4,
|
||||
"name": "modbus88",
|
||||
"attribute": 3,
|
||||
"address": "1!400088"
|
||||
},
|
||||
{
|
||||
"type": 4,
|
||||
"name": "modbus89",
|
||||
"attribute": 3,
|
||||
"address": "1!400089"
|
||||
},
|
||||
{
|
||||
"type": 4,
|
||||
"name": "modbus90",
|
||||
"attribute": 3,
|
||||
"address": "1!400090"
|
||||
},
|
||||
{
|
||||
"type": 4,
|
||||
"name": "modbus91",
|
||||
"attribute": 3,
|
||||
"address": "1!400091"
|
||||
},
|
||||
{
|
||||
"type": 4,
|
||||
"name": "modbus92",
|
||||
"attribute": 3,
|
||||
"address": "1!400092"
|
||||
},
|
||||
{
|
||||
"type": 4,
|
||||
"name": "modbus93",
|
||||
"attribute": 3,
|
||||
"address": "1!400093"
|
||||
},
|
||||
{
|
||||
"type": 4,
|
||||
"name": "modbus94",
|
||||
"attribute": 3,
|
||||
"address": "1!400094"
|
||||
},
|
||||
{
|
||||
"type": 4,
|
||||
"name": "modbus95",
|
||||
"attribute": 3,
|
||||
"address": "1!400095"
|
||||
},
|
||||
{
|
||||
"type": 4,
|
||||
"name": "modbus96",
|
||||
"attribute": 3,
|
||||
"address": "1!400096"
|
||||
},
|
||||
{
|
||||
"type": 4,
|
||||
"name": "modbus97",
|
||||
"attribute": 3,
|
||||
"address": "1!400097"
|
||||
},
|
||||
{
|
||||
"type": 4,
|
||||
"name": "modbus98",
|
||||
"attribute": 3,
|
||||
"address": "1!400098"
|
||||
},
|
||||
{
|
||||
"type": 4,
|
||||
"name": "modbus99",
|
||||
"attribute": 3,
|
||||
"address": "1!400099"
|
||||
},
|
||||
{
|
||||
"type": 4,
|
||||
"name": "modbus100",
|
||||
"attribute": 3,
|
||||
"address": "1!400100"
|
||||
}
|
||||
]
|
||||
}
|
||||
@@ -1,5 +0,0 @@
|
||||
{
|
||||
"read_interval": 1000,
|
||||
"group_config_name": "group-0001",
|
||||
"adapter_name": "modbus-tcp-0000"
|
||||
}
|
||||
-604
@@ -1,604 +0,0 @@
|
||||
{
|
||||
"tags": [
|
||||
{
|
||||
"type": 4,
|
||||
"name": "modbus101",
|
||||
"attribute": 3,
|
||||
"address": "1!400101"
|
||||
},
|
||||
{
|
||||
"type": 4,
|
||||
"name": "modbus102",
|
||||
"attribute": 3,
|
||||
"address": "1!400102"
|
||||
},
|
||||
{
|
||||
"type": 4,
|
||||
"name": "modbus103",
|
||||
"attribute": 3,
|
||||
"address": "1!400103"
|
||||
},
|
||||
{
|
||||
"type": 4,
|
||||
"name": "modbus104",
|
||||
"attribute": 3,
|
||||
"address": "1!400104"
|
||||
},
|
||||
{
|
||||
"type": 4,
|
||||
"name": "modbus105",
|
||||
"attribute": 3,
|
||||
"address": "1!400105"
|
||||
},
|
||||
{
|
||||
"type": 4,
|
||||
"name": "modbus106",
|
||||
"attribute": 3,
|
||||
"address": "1!400106"
|
||||
},
|
||||
{
|
||||
"type": 4,
|
||||
"name": "modbus107",
|
||||
"attribute": 3,
|
||||
"address": "1!400107"
|
||||
},
|
||||
{
|
||||
"type": 4,
|
||||
"name": "modbus108",
|
||||
"attribute": 3,
|
||||
"address": "1!400108"
|
||||
},
|
||||
{
|
||||
"type": 4,
|
||||
"name": "modbus109",
|
||||
"attribute": 3,
|
||||
"address": "1!400109"
|
||||
},
|
||||
{
|
||||
"type": 4,
|
||||
"name": "modbus110",
|
||||
"attribute": 3,
|
||||
"address": "1!400110"
|
||||
},
|
||||
{
|
||||
"type": 4,
|
||||
"name": "modbus111",
|
||||
"attribute": 3,
|
||||
"address": "1!400111"
|
||||
},
|
||||
{
|
||||
"type": 4,
|
||||
"name": "modbus112",
|
||||
"attribute": 3,
|
||||
"address": "1!400112"
|
||||
},
|
||||
{
|
||||
"type": 4,
|
||||
"name": "modbus113",
|
||||
"attribute": 3,
|
||||
"address": "1!400113"
|
||||
},
|
||||
{
|
||||
"type": 4,
|
||||
"name": "modbus114",
|
||||
"attribute": 3,
|
||||
"address": "1!400114"
|
||||
},
|
||||
{
|
||||
"type": 4,
|
||||
"name": "modbus115",
|
||||
"attribute": 3,
|
||||
"address": "1!400115"
|
||||
},
|
||||
{
|
||||
"type": 4,
|
||||
"name": "modbus116",
|
||||
"attribute": 3,
|
||||
"address": "1!400116"
|
||||
},
|
||||
{
|
||||
"type": 4,
|
||||
"name": "modbus117",
|
||||
"attribute": 3,
|
||||
"address": "1!400117"
|
||||
},
|
||||
{
|
||||
"type": 4,
|
||||
"name": "modbus118",
|
||||
"attribute": 3,
|
||||
"address": "1!400118"
|
||||
},
|
||||
{
|
||||
"type": 4,
|
||||
"name": "modbus119",
|
||||
"attribute": 3,
|
||||
"address": "1!400119"
|
||||
},
|
||||
{
|
||||
"type": 4,
|
||||
"name": "modbus120",
|
||||
"attribute": 3,
|
||||
"address": "1!400120"
|
||||
},
|
||||
{
|
||||
"type": 4,
|
||||
"name": "modbus121",
|
||||
"attribute": 3,
|
||||
"address": "1!400121"
|
||||
},
|
||||
{
|
||||
"type": 4,
|
||||
"name": "modbus122",
|
||||
"attribute": 3,
|
||||
"address": "1!400122"
|
||||
},
|
||||
{
|
||||
"type": 4,
|
||||
"name": "modbus123",
|
||||
"attribute": 3,
|
||||
"address": "1!400123"
|
||||
},
|
||||
{
|
||||
"type": 4,
|
||||
"name": "modbus124",
|
||||
"attribute": 3,
|
||||
"address": "1!400124"
|
||||
},
|
||||
{
|
||||
"type": 4,
|
||||
"name": "modbus125",
|
||||
"attribute": 3,
|
||||
"address": "1!400125"
|
||||
},
|
||||
{
|
||||
"type": 4,
|
||||
"name": "modbus126",
|
||||
"attribute": 3,
|
||||
"address": "1!400126"
|
||||
},
|
||||
{
|
||||
"type": 4,
|
||||
"name": "modbus127",
|
||||
"attribute": 3,
|
||||
"address": "1!400127"
|
||||
},
|
||||
{
|
||||
"type": 4,
|
||||
"name": "modbus128",
|
||||
"attribute": 3,
|
||||
"address": "1!400128"
|
||||
},
|
||||
{
|
||||
"type": 4,
|
||||
"name": "modbus129",
|
||||
"attribute": 3,
|
||||
"address": "1!400129"
|
||||
},
|
||||
{
|
||||
"type": 4,
|
||||
"name": "modbus130",
|
||||
"attribute": 3,
|
||||
"address": "1!400130"
|
||||
},
|
||||
{
|
||||
"type": 4,
|
||||
"name": "modbus131",
|
||||
"attribute": 3,
|
||||
"address": "1!400131"
|
||||
},
|
||||
{
|
||||
"type": 4,
|
||||
"name": "modbus132",
|
||||
"attribute": 3,
|
||||
"address": "1!400132"
|
||||
},
|
||||
{
|
||||
"type": 4,
|
||||
"name": "modbus133",
|
||||
"attribute": 3,
|
||||
"address": "1!400133"
|
||||
},
|
||||
{
|
||||
"type": 4,
|
||||
"name": "modbus134",
|
||||
"attribute": 3,
|
||||
"address": "1!400134"
|
||||
},
|
||||
{
|
||||
"type": 4,
|
||||
"name": "modbus135",
|
||||
"attribute": 3,
|
||||
"address": "1!400135"
|
||||
},
|
||||
{
|
||||
"type": 4,
|
||||
"name": "modbus136",
|
||||
"attribute": 3,
|
||||
"address": "1!400136"
|
||||
},
|
||||
{
|
||||
"type": 4,
|
||||
"name": "modbus137",
|
||||
"attribute": 3,
|
||||
"address": "1!400137"
|
||||
},
|
||||
{
|
||||
"type": 4,
|
||||
"name": "modbus138",
|
||||
"attribute": 3,
|
||||
"address": "1!400138"
|
||||
},
|
||||
{
|
||||
"type": 4,
|
||||
"name": "modbus139",
|
||||
"attribute": 3,
|
||||
"address": "1!400139"
|
||||
},
|
||||
{
|
||||
"type": 4,
|
||||
"name": "modbus140",
|
||||
"attribute": 3,
|
||||
"address": "1!400140"
|
||||
},
|
||||
{
|
||||
"type": 4,
|
||||
"name": "modbus141",
|
||||
"attribute": 3,
|
||||
"address": "1!400141"
|
||||
},
|
||||
{
|
||||
"type": 4,
|
||||
"name": "modbus142",
|
||||
"attribute": 3,
|
||||
"address": "1!400142"
|
||||
},
|
||||
{
|
||||
"type": 4,
|
||||
"name": "modbus143",
|
||||
"attribute": 3,
|
||||
"address": "1!400143"
|
||||
},
|
||||
{
|
||||
"type": 4,
|
||||
"name": "modbus144",
|
||||
"attribute": 3,
|
||||
"address": "1!400144"
|
||||
},
|
||||
{
|
||||
"type": 4,
|
||||
"name": "modbus145",
|
||||
"attribute": 3,
|
||||
"address": "1!400145"
|
||||
},
|
||||
{
|
||||
"type": 4,
|
||||
"name": "modbus146",
|
||||
"attribute": 3,
|
||||
"address": "1!400146"
|
||||
},
|
||||
{
|
||||
"type": 4,
|
||||
"name": "modbus147",
|
||||
"attribute": 3,
|
||||
"address": "1!400147"
|
||||
},
|
||||
{
|
||||
"type": 4,
|
||||
"name": "modbus148",
|
||||
"attribute": 3,
|
||||
"address": "1!400148"
|
||||
},
|
||||
{
|
||||
"type": 4,
|
||||
"name": "modbus149",
|
||||
"attribute": 3,
|
||||
"address": "1!400149"
|
||||
},
|
||||
{
|
||||
"type": 4,
|
||||
"name": "modbus150",
|
||||
"attribute": 3,
|
||||
"address": "1!400150"
|
||||
},
|
||||
{
|
||||
"type": 4,
|
||||
"name": "modbus151",
|
||||
"attribute": 3,
|
||||
"address": "1!400151"
|
||||
},
|
||||
{
|
||||
"type": 4,
|
||||
"name": "modbus152",
|
||||
"attribute": 3,
|
||||
"address": "1!400152"
|
||||
},
|
||||
{
|
||||
"type": 4,
|
||||
"name": "modbus153",
|
||||
"attribute": 3,
|
||||
"address": "1!400153"
|
||||
},
|
||||
{
|
||||
"type": 4,
|
||||
"name": "modbus154",
|
||||
"attribute": 3,
|
||||
"address": "1!400154"
|
||||
},
|
||||
{
|
||||
"type": 4,
|
||||
"name": "modbus155",
|
||||
"attribute": 3,
|
||||
"address": "1!400155"
|
||||
},
|
||||
{
|
||||
"type": 4,
|
||||
"name": "modbus156",
|
||||
"attribute": 3,
|
||||
"address": "1!400156"
|
||||
},
|
||||
{
|
||||
"type": 4,
|
||||
"name": "modbus157",
|
||||
"attribute": 3,
|
||||
"address": "1!400157"
|
||||
},
|
||||
{
|
||||
"type": 4,
|
||||
"name": "modbus158",
|
||||
"attribute": 3,
|
||||
"address": "1!400158"
|
||||
},
|
||||
{
|
||||
"type": 4,
|
||||
"name": "modbus159",
|
||||
"attribute": 3,
|
||||
"address": "1!400159"
|
||||
},
|
||||
{
|
||||
"type": 4,
|
||||
"name": "modbus160",
|
||||
"attribute": 3,
|
||||
"address": "1!400160"
|
||||
},
|
||||
{
|
||||
"type": 4,
|
||||
"name": "modbus161",
|
||||
"attribute": 3,
|
||||
"address": "1!400161"
|
||||
},
|
||||
{
|
||||
"type": 4,
|
||||
"name": "modbus162",
|
||||
"attribute": 3,
|
||||
"address": "1!400162"
|
||||
},
|
||||
{
|
||||
"type": 4,
|
||||
"name": "modbus163",
|
||||
"attribute": 3,
|
||||
"address": "1!400163"
|
||||
},
|
||||
{
|
||||
"type": 4,
|
||||
"name": "modbus164",
|
||||
"attribute": 3,
|
||||
"address": "1!400164"
|
||||
},
|
||||
{
|
||||
"type": 4,
|
||||
"name": "modbus165",
|
||||
"attribute": 3,
|
||||
"address": "1!400165"
|
||||
},
|
||||
{
|
||||
"type": 4,
|
||||
"name": "modbus166",
|
||||
"attribute": 3,
|
||||
"address": "1!400166"
|
||||
},
|
||||
{
|
||||
"type": 4,
|
||||
"name": "modbus167",
|
||||
"attribute": 3,
|
||||
"address": "1!400167"
|
||||
},
|
||||
{
|
||||
"type": 4,
|
||||
"name": "modbus168",
|
||||
"attribute": 3,
|
||||
"address": "1!400168"
|
||||
},
|
||||
{
|
||||
"type": 4,
|
||||
"name": "modbus169",
|
||||
"attribute": 3,
|
||||
"address": "1!400169"
|
||||
},
|
||||
{
|
||||
"type": 4,
|
||||
"name": "modbus170",
|
||||
"attribute": 3,
|
||||
"address": "1!400170"
|
||||
},
|
||||
{
|
||||
"type": 4,
|
||||
"name": "modbus171",
|
||||
"attribute": 3,
|
||||
"address": "1!400171"
|
||||
},
|
||||
{
|
||||
"type": 4,
|
||||
"name": "modbus172",
|
||||
"attribute": 3,
|
||||
"address": "1!400172"
|
||||
},
|
||||
{
|
||||
"type": 4,
|
||||
"name": "modbus173",
|
||||
"attribute": 3,
|
||||
"address": "1!400173"
|
||||
},
|
||||
{
|
||||
"type": 4,
|
||||
"name": "modbus174",
|
||||
"attribute": 3,
|
||||
"address": "1!400174"
|
||||
},
|
||||
{
|
||||
"type": 4,
|
||||
"name": "modbus175",
|
||||
"attribute": 3,
|
||||
"address": "1!400175"
|
||||
},
|
||||
{
|
||||
"type": 4,
|
||||
"name": "modbus176",
|
||||
"attribute": 3,
|
||||
"address": "1!400176"
|
||||
},
|
||||
{
|
||||
"type": 4,
|
||||
"name": "modbus177",
|
||||
"attribute": 3,
|
||||
"address": "1!400177"
|
||||
},
|
||||
{
|
||||
"type": 4,
|
||||
"name": "modbus178",
|
||||
"attribute": 3,
|
||||
"address": "1!400178"
|
||||
},
|
||||
{
|
||||
"type": 4,
|
||||
"name": "modbus179",
|
||||
"attribute": 3,
|
||||
"address": "1!400179"
|
||||
},
|
||||
{
|
||||
"type": 4,
|
||||
"name": "modbus180",
|
||||
"attribute": 3,
|
||||
"address": "1!400180"
|
||||
},
|
||||
{
|
||||
"type": 4,
|
||||
"name": "modbus181",
|
||||
"attribute": 3,
|
||||
"address": "1!400181"
|
||||
},
|
||||
{
|
||||
"type": 4,
|
||||
"name": "modbus182",
|
||||
"attribute": 3,
|
||||
"address": "1!400182"
|
||||
},
|
||||
{
|
||||
"type": 4,
|
||||
"name": "modbus183",
|
||||
"attribute": 3,
|
||||
"address": "1!400183"
|
||||
},
|
||||
{
|
||||
"type": 4,
|
||||
"name": "modbus184",
|
||||
"attribute": 3,
|
||||
"address": "1!400184"
|
||||
},
|
||||
{
|
||||
"type": 4,
|
||||
"name": "modbus185",
|
||||
"attribute": 3,
|
||||
"address": "1!400185"
|
||||
},
|
||||
{
|
||||
"type": 4,
|
||||
"name": "modbus186",
|
||||
"attribute": 3,
|
||||
"address": "1!400186"
|
||||
},
|
||||
{
|
||||
"type": 4,
|
||||
"name": "modbus187",
|
||||
"attribute": 3,
|
||||
"address": "1!400187"
|
||||
},
|
||||
{
|
||||
"type": 4,
|
||||
"name": "modbus188",
|
||||
"attribute": 3,
|
||||
"address": "1!400188"
|
||||
},
|
||||
{
|
||||
"type": 4,
|
||||
"name": "modbus189",
|
||||
"attribute": 3,
|
||||
"address": "1!400189"
|
||||
},
|
||||
{
|
||||
"type": 4,
|
||||
"name": "modbus190",
|
||||
"attribute": 3,
|
||||
"address": "1!400190"
|
||||
},
|
||||
{
|
||||
"type": 4,
|
||||
"name": "modbus191",
|
||||
"attribute": 3,
|
||||
"address": "1!400191"
|
||||
},
|
||||
{
|
||||
"type": 4,
|
||||
"name": "modbus192",
|
||||
"attribute": 3,
|
||||
"address": "1!400192"
|
||||
},
|
||||
{
|
||||
"type": 4,
|
||||
"name": "modbus193",
|
||||
"attribute": 3,
|
||||
"address": "1!400193"
|
||||
},
|
||||
{
|
||||
"type": 4,
|
||||
"name": "modbus194",
|
||||
"attribute": 3,
|
||||
"address": "1!400194"
|
||||
},
|
||||
{
|
||||
"type": 4,
|
||||
"name": "modbus195",
|
||||
"attribute": 3,
|
||||
"address": "1!400195"
|
||||
},
|
||||
{
|
||||
"type": 4,
|
||||
"name": "modbus196",
|
||||
"attribute": 3,
|
||||
"address": "1!400196"
|
||||
},
|
||||
{
|
||||
"type": 4,
|
||||
"name": "modbus197",
|
||||
"attribute": 3,
|
||||
"address": "1!400197"
|
||||
},
|
||||
{
|
||||
"type": 4,
|
||||
"name": "modbus198",
|
||||
"attribute": 3,
|
||||
"address": "1!400198"
|
||||
},
|
||||
{
|
||||
"type": 4,
|
||||
"name": "modbus199",
|
||||
"attribute": 3,
|
||||
"address": "1!400199"
|
||||
},
|
||||
{
|
||||
"type": 4,
|
||||
"name": "modbus200",
|
||||
"attribute": 3,
|
||||
"address": "1!400200"
|
||||
}
|
||||
]
|
||||
}
|
||||
@@ -1,7 +0,0 @@
|
||||
{
|
||||
"params": {
|
||||
"host":"127.0.0.1",
|
||||
"port":60502,
|
||||
"connection_mode":0
|
||||
}
|
||||
}
|
||||
@@ -1,5 +0,0 @@
|
||||
{
|
||||
"read_interval": 1000,
|
||||
"group_config_name": "group-0000",
|
||||
"adapter_name": "modbus-tcp-0001"
|
||||
}
|
||||
-1204
File diff suppressed because it is too large
Load Diff
@@ -1,5 +0,0 @@
|
||||
{
|
||||
"read_interval": 1000,
|
||||
"group_config_name": "group-0001",
|
||||
"adapter_name": "modbus-tcp-0001"
|
||||
}
|
||||
-1204
File diff suppressed because it is too large
Load Diff
@@ -1,5 +0,0 @@
|
||||
{
|
||||
"read_interval": 1000,
|
||||
"group_config_name": "group-0002",
|
||||
"adapter_name": "modbus-tcp-0001"
|
||||
}
|
||||
-1204
File diff suppressed because it is too large
Load Diff
@@ -1,5 +0,0 @@
|
||||
{
|
||||
"read_interval": 1000,
|
||||
"group_config_name": "group-0003",
|
||||
"adapter_name": "modbus-tcp-0001"
|
||||
}
|
||||
-1204
File diff suppressed because it is too large
Load Diff
@@ -1,7 +0,0 @@
|
||||
{
|
||||
"params": {
|
||||
"host":"127.0.0.1",
|
||||
"port":60502,
|
||||
"connection_mode":0
|
||||
}
|
||||
}
|
||||
@@ -1,5 +0,0 @@
|
||||
{
|
||||
"read_interval": 1000,
|
||||
"group_config_name": "group-0000",
|
||||
"adapter_name": "modbus-tcp-0002"
|
||||
}
|
||||
-1204
File diff suppressed because it is too large
Load Diff
@@ -1,5 +0,0 @@
|
||||
{
|
||||
"read_interval": 1000,
|
||||
"group_config_name": "group-0001",
|
||||
"adapter_name": "modbus-tcp-0002"
|
||||
}
|
||||
-1204
File diff suppressed because it is too large
Load Diff
@@ -1,5 +0,0 @@
|
||||
{
|
||||
"read_interval": 1000,
|
||||
"group_config_name": "group-0002",
|
||||
"adapter_name": "modbus-tcp-0002"
|
||||
}
|
||||
-1204
File diff suppressed because it is too large
Load Diff
@@ -1,5 +0,0 @@
|
||||
{
|
||||
"read_interval": 1000,
|
||||
"group_config_name": "group-0003",
|
||||
"adapter_name": "modbus-tcp-0002"
|
||||
}
|
||||
-1204
File diff suppressed because it is too large
Load Diff
@@ -1,5 +0,0 @@
|
||||
{
|
||||
"read_interval": 1000,
|
||||
"group_config_name": "group-0004",
|
||||
"adapter_name": "modbus-tcp-0002"
|
||||
}
|
||||
-1204
File diff suppressed because it is too large
Load Diff
@@ -1,7 +0,0 @@
|
||||
{
|
||||
"params": {
|
||||
"host":"127.0.0.1",
|
||||
"port":60502,
|
||||
"connection_mode":0
|
||||
}
|
||||
}
|
||||
@@ -1,5 +0,0 @@
|
||||
{
|
||||
"read_interval": 1000,
|
||||
"group_config_name": "group-0000",
|
||||
"adapter_name": "modbus-tcp-0003"
|
||||
}
|
||||
-1204
File diff suppressed because it is too large
Load Diff
@@ -1,5 +0,0 @@
|
||||
{
|
||||
"read_interval": 1000,
|
||||
"group_config_name": "group-0001",
|
||||
"adapter_name": "modbus-tcp-0003"
|
||||
}
|
||||
-1204
File diff suppressed because it is too large
Load Diff
@@ -1,5 +0,0 @@
|
||||
{
|
||||
"read_interval": 1000,
|
||||
"group_config_name": "group-0002",
|
||||
"adapter_name": "modbus-tcp-0003"
|
||||
}
|
||||
-1204
File diff suppressed because it is too large
Load Diff
@@ -1,5 +0,0 @@
|
||||
{
|
||||
"read_interval": 1000,
|
||||
"group_config_name": "group-0003",
|
||||
"adapter_name": "modbus-tcp-0003"
|
||||
}
|
||||
-1204
File diff suppressed because it is too large
Load Diff
@@ -1,5 +0,0 @@
|
||||
{
|
||||
"read_interval": 1000,
|
||||
"group_config_name": "group-0004",
|
||||
"adapter_name": "modbus-tcp-0003"
|
||||
}
|
||||
-1204
File diff suppressed because it is too large
Load Diff
@@ -1,7 +0,0 @@
|
||||
{
|
||||
"params": {
|
||||
"host":"127.0.0.1",
|
||||
"port":60502,
|
||||
"connection_mode":0
|
||||
}
|
||||
}
|
||||
@@ -1,5 +0,0 @@
|
||||
{
|
||||
"read_interval": 1000,
|
||||
"group_config_name": "group-0000",
|
||||
"adapter_name": "modbus-tcp-0004"
|
||||
}
|
||||
-1204
File diff suppressed because it is too large
Load Diff
@@ -1,5 +0,0 @@
|
||||
{
|
||||
"read_interval": 1000,
|
||||
"group_config_name": "group-0001",
|
||||
"adapter_name": "modbus-tcp-0004"
|
||||
}
|
||||
-1204
File diff suppressed because it is too large
Load Diff
@@ -1,5 +0,0 @@
|
||||
{
|
||||
"read_interval": 1000,
|
||||
"group_config_name": "group-0002",
|
||||
"adapter_name": "modbus-tcp-0004"
|
||||
}
|
||||
-1204
File diff suppressed because it is too large
Load Diff
@@ -1,5 +0,0 @@
|
||||
{
|
||||
"read_interval": 1000,
|
||||
"group_config_name": "group-0003",
|
||||
"adapter_name": "modbus-tcp-0004"
|
||||
}
|
||||
-1204
File diff suppressed because it is too large
Load Diff
@@ -1,5 +0,0 @@
|
||||
{
|
||||
"read_interval": 1000,
|
||||
"group_config_name": "group-0004",
|
||||
"adapter_name": "modbus-tcp-0004"
|
||||
}
|
||||
-1204
File diff suppressed because it is too large
Load Diff
@@ -1,7 +0,0 @@
|
||||
{
|
||||
"params": {
|
||||
"host":"127.0.0.1",
|
||||
"port":60502,
|
||||
"connection_mode":0
|
||||
}
|
||||
}
|
||||
@@ -1,5 +0,0 @@
|
||||
{
|
||||
"read_interval": 1000,
|
||||
"group_config_name": "group-0000",
|
||||
"adapter_name": "modbus-tcp-0005"
|
||||
}
|
||||
-1204
File diff suppressed because it is too large
Load Diff
@@ -1,5 +0,0 @@
|
||||
{
|
||||
"read_interval": 1000,
|
||||
"group_config_name": "group-0001",
|
||||
"adapter_name": "modbus-tcp-0005"
|
||||
}
|
||||
-1204
File diff suppressed because it is too large
Load Diff
@@ -1,5 +0,0 @@
|
||||
{
|
||||
"read_interval": 1000,
|
||||
"group_config_name": "group-0002",
|
||||
"adapter_name": "modbus-tcp-0005"
|
||||
}
|
||||
-1204
File diff suppressed because it is too large
Load Diff
@@ -1,5 +0,0 @@
|
||||
{
|
||||
"read_interval": 1000,
|
||||
"group_config_name": "group-0003",
|
||||
"adapter_name": "modbus-tcp-0005"
|
||||
}
|
||||
-1204
File diff suppressed because it is too large
Load Diff
@@ -1,5 +0,0 @@
|
||||
{
|
||||
"read_interval": 1000,
|
||||
"group_config_name": "group-0004",
|
||||
"adapter_name": "modbus-tcp-0005"
|
||||
}
|
||||
-1204
File diff suppressed because it is too large
Load Diff
@@ -1,7 +0,0 @@
|
||||
{
|
||||
"params": {
|
||||
"host":"127.0.0.1",
|
||||
"port":60502,
|
||||
"connection_mode":0
|
||||
}
|
||||
}
|
||||
@@ -1,5 +0,0 @@
|
||||
{
|
||||
"read_interval": 1000,
|
||||
"group_config_name": "group-0000",
|
||||
"adapter_name": "modbus-tcp-0006"
|
||||
}
|
||||
-1204
File diff suppressed because it is too large
Load Diff
@@ -1,5 +0,0 @@
|
||||
{
|
||||
"read_interval": 1000,
|
||||
"group_config_name": "group-0001",
|
||||
"adapter_name": "modbus-tcp-0006"
|
||||
}
|
||||
-1204
File diff suppressed because it is too large
Load Diff
@@ -1,5 +0,0 @@
|
||||
{
|
||||
"read_interval": 1000,
|
||||
"group_config_name": "group-0002",
|
||||
"adapter_name": "modbus-tcp-0006"
|
||||
}
|
||||
-1204
File diff suppressed because it is too large
Load Diff
@@ -1,5 +0,0 @@
|
||||
{
|
||||
"read_interval": 1000,
|
||||
"group_config_name": "group-0003",
|
||||
"adapter_name": "modbus-tcp-0006"
|
||||
}
|
||||
-1204
File diff suppressed because it is too large
Load Diff
@@ -1,5 +0,0 @@
|
||||
{
|
||||
"read_interval": 1000,
|
||||
"group_config_name": "group-0004",
|
||||
"adapter_name": "modbus-tcp-0006"
|
||||
}
|
||||
-1204
File diff suppressed because it is too large
Load Diff
@@ -1,7 +0,0 @@
|
||||
{
|
||||
"params": {
|
||||
"host":"127.0.0.1",
|
||||
"port":60502,
|
||||
"connection_mode":0
|
||||
}
|
||||
}
|
||||
@@ -1,5 +0,0 @@
|
||||
{
|
||||
"read_interval": 1000,
|
||||
"group_config_name": "group-0000",
|
||||
"adapter_name": "modbus-tcp-0007"
|
||||
}
|
||||
-1204
File diff suppressed because it is too large
Load Diff
@@ -1,5 +0,0 @@
|
||||
{
|
||||
"read_interval": 1000,
|
||||
"group_config_name": "group-0001",
|
||||
"adapter_name": "modbus-tcp-0007"
|
||||
}
|
||||
-1204
File diff suppressed because it is too large
Load Diff
@@ -1,5 +0,0 @@
|
||||
{
|
||||
"read_interval": 1000,
|
||||
"group_config_name": "group-0002",
|
||||
"adapter_name": "modbus-tcp-0007"
|
||||
}
|
||||
-1204
File diff suppressed because it is too large
Load Diff
@@ -1,5 +0,0 @@
|
||||
{
|
||||
"read_interval": 1000,
|
||||
"group_config_name": "group-0003",
|
||||
"adapter_name": "modbus-tcp-0007"
|
||||
}
|
||||
-1204
File diff suppressed because it is too large
Load Diff
@@ -1,5 +0,0 @@
|
||||
{
|
||||
"read_interval": 1000,
|
||||
"group_config_name": "group-0004",
|
||||
"adapter_name": "modbus-tcp-0007"
|
||||
}
|
||||
-1204
File diff suppressed because it is too large
Load Diff
@@ -1,7 +0,0 @@
|
||||
{
|
||||
"params": {
|
||||
"host":"127.0.0.1",
|
||||
"port":60502,
|
||||
"connection_mode":0
|
||||
}
|
||||
}
|
||||
@@ -1,5 +0,0 @@
|
||||
{
|
||||
"read_interval": 1000,
|
||||
"group_config_name": "group-0000",
|
||||
"adapter_name": "modbus-tcp-0008"
|
||||
}
|
||||
Some files were not shown because too many files have changed in this diff Show More
Reference in New Issue
Block a user