prisme-flow
Version:
prisme platform flow engine
86 lines (77 loc) • 3.52 kB
HTML
<!--
Created by prisme.io on 09/06/2017.
@author <a href="mailto:hello@prisme.io">savane vamara</a> (prisme.io)
-->
<script type="text/javascript">
RED.nodes.registerType('modbus-server', {
category: 'plc',
color: '#E9967A',
defaults: {
name: {value: ""},
logEnabled: {value: false},
serverPort: {value: 10502, required: true, validate: RED.validators.number()},
responseDelay: {value: 100, required: true, validate: RED.validators.number()},
delayUnit: {
value: "ms", required: true, validate: function (v) {
return "ms" == v || "s" == v || "m" == v || "h" == v
}
},
coilsBufferSize: {value: 1024, validate: RED.validators.number()},
holdingBufferSize: {value: 1024, validate: RED.validators.number()},
inputBufferSize: {value: 1024, validate: RED.validators.number()}
},
inputs: 1,
outputs: 3,
icon: "modbus.png",
paletteLabel: "Modbus-Server",
label: function () {
return this.name || "modbus server"
}
})
</script>
<script type="text/x-red" data-template-name="modbus-server">
<div class="form-row">
<label for="node-input-name"><i class="icon-tag"></i> Name</label>
<input type="text" id="node-input-name" placeholder="Name">
</div>
<div class="form-row">
<label for="node-input-serverPort"><i class="icon-tag"></i> Port</label>
<input type="text" id="node-input-serverPort" placeholder="8888">
</div>
<div class="form-row">
<label for="node-input-responseDelay"><i class="icon-tag"></i> Response Delay</label>
<input type="text" id="node-input-responseDelay" placeholder="100" style="max-width:120px">
<select id="node-input-delayUnit" style="max-width:160px">
<option value="ms">millisecond(s)</option>
<option value="s">second(s)</option>
<option value="m">minute(s)</option>
<option value="h">hour(s)</option>
</select>
</div>
<div class="form-row">
<label for="node-input-coilsBufferSize"><i class="icon-tag"></i> Coils</label>
<input type="text" id="node-input-coilsBufferSize" placeholder="1024">
</div>
<div class="form-row">
<label for="node-input-holdingBufferSize"><i class="icon-tag"></i> Holding</label>
<input type="text" id="node-input-holdingBufferSize" placeholder="1024">
</div>
<div class="form-row">
<label for="node-input-inputBufferSize"><i class="icon-tag"></i> Input</label>
<input type="text" id="node-input-inputBufferSize" placeholder="1024">
</div>
<hr>
<div class="form-row">
<label style="min-width:160px" for="node-input-logEnabled"><i class="fa fa-th"></i> Log active</label>
<input type="checkbox" id="node-input-logEnabled" style="max-width:30px">
</div>
</script>
<script type="text/x-red" data-help-name="modbus-server">
<p>Node to provide a Modbus TCP server</p>
<p>On injecting the server sends the Buffers to the separate outputs</p>
<p>You can use the Modbus write nodes (FC) to write data to the server buffers.</p>
<p>You can use the Modbus read nodes (FC) to read data from the server buffers.</p>
<p>Output 1: holding Buffer, type, msg</p>
<p>Output 2: coils Buffer, type, msg</p>
<p>Output 3: input Buffer, type, msg</p>
</script>