예제 #1
0
        /// <summary>
        /// Syncroniously writes specified data to specified address.
        /// </summary>
        /// <param name="startAddress">Address to start write to</param>
        /// <param name="data">Data to write</param>
        public void Write(FinsAddress startAddress, ushort[] data)
        {
            var sid = IncrementSid();
            var cmd = FinsDriver.WriteCommand(startAddress, new Header(sid, true), data);

            Write(sid, cmd);
        }
예제 #2
0
        /// <summary>
        /// Asynchronously writes specified data to specified memory address.
        /// </summary>
        /// <param name="startAddress">Address to start to write to</param>
        /// <param name="data">Data to write</param>
        public async Task WriteAsync(FinsAddress startAddress, ushort[] data)
        {
            var sid = IncrementSid();
            var cmd = FinsDriver.WriteCommand(startAddress, new Header(sid, true), data);

            await CommandAsync(sid, cmd);
        }
예제 #3
0
        /// <summary>
        /// Writes specified data to specified address of data memory without
        /// waiting for a response.
        /// </summary>
        /// <param name="startAddress">Address to start to read from</param>
        /// <param name="count">Number of ushorts to read</param>
        public void WriteNoResponse(FinsAddress startAddress, ushort[] data)
        {
            var sid = IncrementSid();
            var cmd = FinsDriver.WriteCommand(startAddress, new Header(sid, false), data);

            _udpClient.SendAsync(cmd, cmd.Length);
        }