title: Plc4x addressing system
body: <p>I am discovering the Plc4x java implementation which seems to be of great interest in our field. But the youth of the project and the documentation makes us hesitate. I have been able to implement the basic hello world for reading out of our PLCs, but I was unable to write. I could not find how the addresses are handled and what the <code>maskwrite</code>, <code>andMask</code> and <code>orMask</code> fields mean.</p>
  
  <p>Please can somebody explain to me the following example and detail how the addresses should be used?</p>
  
  <pre><code>    @Test
      void testWriteToPlc() {
          // Establish a connection to the plc using the url provided as first argument
          try( PlcConnection plcConnection = new PlcDriverManager().getConnection( "modbus:tcp://1.1.2.1" ) ){
              // Create a new read request:
              // - Give the single item requested the alias name "value"
              var builder = plcConnection.writeRequestBuilder();
              builder.addItem( "value-" + 1, "maskwrite:1[1]/2/3", 2 );
              var writeRequest = builder.build();
  
              LOGGER.info( "Synchronous request ..." );
              var syncResponse = writeRequest.execute().get();
          }catch(Exception e){
              e.printStackTrace();
          }
      }
  </code></pre>