UNPKG

prisme-flow

Version:

prisme platform flow engine

132 lines (120 loc) 5.36 kB
<!-- 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-read', { category: 'plc', color: '#E9967A', defaults: { name: {value: ""}, showStatusActivities: {value: false}, showErrors: {value: false}, unitid: {value: ""}, dataType: {value: "", required: true}, adr: {value: "", required: true, validate: RED.validators.number()}, quantity: {value: "", required: true, validate: RED.validators.number()}, rate: { value: "", required: true, validate: function (v) { return v > 0 } }, rateUnit: { value: "", required: true, validate: function (v) { return "ms" == v || "s" == v || "m" == v || "h" == v } }, server: {type: "modbus-client", required:true} }, inputs: 0, outputs: 2, icon: "modbus.png", paletteLabel: "Modbus-Read", label: function () { return this.name || "modbus read" } }) </script> <script type="text/x-red" data-template-name="modbus-read"> <div class="form-row"> <label for="node-input-name"><i class="icon-tag"></i> <span>Name</span></label> <input type="text" id="node-input-name" placeholder="Name"> </div> <div class="form-row"> <label for="node-input-unitid"><i class="icon-bookmark"></i> <span>Unit-Id</span></label> <input type="text" id="node-input-unitid"> </div> <div class="form-row"> <label for="node-input-dataType"><i class="icon-list"></i> <span>FC</span></label> <select id="node-input-dataType"> <option value="Coil">FC 1: Read Coil Status</option> <option value="Input">FC 2: Read Input Status</option> <option value="HoldingRegister">FC 3: Read Holding Registers</option> <option value="InputRegister">FC 4: Read Input Registers</option> </select> </div> <div class="form-row"> <label for="node-input-adr"><i class="icon-home"></i> <span>Address</span></label> <input type="text" id="node-input-adr" placeholder="0:65535"> </div> <div class="form-row"> <label for="node-input-quantity"><i class="icon-bookmark"></i> <span>Quantity</span></label> <input type="text" id="node-input-quantity" placeholder="1-65535"> </div> <div class="form-row"> <label for="node-input-rate"><i class="icon-bookmark"></i> <span>Poll Rate</span></label> <input type="number" id="node-input-rate" placeholder="1-65535" style="max-width:120px"> <select id="node-input-rateUnit" 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-server"><i class="icon-globe"></i> <span>Server</span></label> <input type="text" id="node-input-server"> </div> <hr> <div class="form-row"> <label style="min-width:160px" for="node-input-showStatusActivities"><i class="fa fa-th"></i> <span>Show Activities</span></label> <input type="checkbox" id="node-input-showStatusActivities" style="max-width:30px"> </div> <div class="form-row"> <label style="min-width:160px" for="node-input-showErrors"><i class="fa fa-th"></i> <span>Show Errors</span></label> <input type="checkbox" id="node-input-showErrors" style="max-width:30px"> </div> </script> <script type="text/x-red" data-help-name="modbus-read"> <p><strong> If you have more than 10 nodes on one communication configuration, use the Modbus-Flex-Getter or think about multiple connections to your Modbus device, please! You can do polling with the Modbus-Getter and Modbus-Flex-Getter, too by using an injecting node with an interval. </strong></p> <p>Modbus TCP/Serial read node.</p> <p>Connects to a Modbus TCP or serial to read registers/coils values with a given polling rate.</p> <p> <h4>Function codes currently supported include:</h4> <ul> <li>FC 1: Read Coil Status</li> <li>FC 2: Read Input Status</li> <li>FC 3: Read Holding Registers</li> <li>FC 4: Read Input Registers</li> </ul> </p> <p> Choose a function code (FC) from the dropdown menu, select the coil/input/register start address (0:65535), and the quantity of coils/inputs/registers to be read from the start address. </p> <p>Unit-Id (0..255 tcp | 1..247 serial) - leave empty, otherwise it overrides the default Unit-ID of client config</p> <p> Setup a polling rate (greater than zero) and the time unit. Choose or edit the Modbus connection configuration. </p> <p>Output 1: data Array (PDU), modbus response Buffer, input message</p> <p>Output 2: modbus response Buffer, data Array (PDU), input message</p> </script>