######################################## # DataFurt Bridge Configuration # Modbus TCP -> OPC UA ######################################## [source] type = "modbus" # Modbus TCP only - Modbus RTU/serial is not supported. # Specify the host and port of the HTTP server. host = "192.168.1.10" port = 502 # Slave/unit id (0-255) of the device. Must match the id configured on the # device itself. unit_id = 1 # Socket read/write timeout in seconds. timeout = 5 # Word order for 32-bit values (uint32, int32, float32) split across two # registers. Most devices use "high_first". Switch to "low_first" if your # readings look byte-swapped. word_order = "high_first" # Poll interval in seconds. delay = 2 # Specify the registers to poll. Format: # ":
[:]". The data type # (holding/input only) defaults to "uint16"; other options are "int16", # "uint32", "int32" and "float32". registers = ["holding:0", "coil:5"] # DataFurt Bridge places received messages in a forwarding queue before # processing and sending them to the target system. It absorbs differences # between source and target processing speeds, keeping sources responsive # during short target interruptions or temporary bursts of incoming data. # While the target is disconnected, queued messages wait until it # reconnects. Adjust the queue size (maximum number of messages that can # wait to be processed) and the queue overflow behavior ('drop_newest' or # 'drop_oldest') according to your system's capacity and workload # requirements. queue_size = 1000 queue_overflow = "drop_newest" # (Optional) Transformer function to modify data via JavaScript between the # source and target systems. transformer = "./modbus-opcua-transformer.js" [target] type = "opcua" # OPC UA server endpoint URL. Only supports the opc.tcp scheme. endpoint_url = "opc.tcp://opcua.example.com:51210/UA/SampleServer" # Security mode for the connection. Possible values: "none", "sign" and # "sign_and_encrypt". "sign" is a good default; use "none" only on trusted # networks. security_mode = "sign" # Security policy, only relevant when security_mode isn't "none". # Possible values are 'basic256sha256', 'aes128_sha256_rsaoaep', and # 'aes256_sha256_rsapss'. security_policy = "basic256sha256" # For testing, you can trust the server certificate explicitly (not # recommended for production). trust_server_certificate = false # Uncomment 'username' and either 'password' or 'password_env' to enable # authentication (otherwise the client will connect anonymously). For testing # purposes, it's easier to specify the password directly here in plain text. In # production, use an environment variable instead. #username = "username" #password = "password" #password_env = "MY_ENV_VARIABLE_HOLDING_THE_PASSWORD" # Directory used to store DataFurt Bridge's own OPC UA client certificate # and the trusted/rejected server certificate stores. pki_path = "./pki" # Uncomment to specify your own OPC UA client ID. Otherwise, a random one is # generated. #client_id = "my-custom-client-id" # Requested OPC UA session timeout in seconds. session_timeout_seconds = 60 # Interval in seconds at which DataFurt Bridge checks that the OPC UA # session is still alive. keep_alive_seconds = 5