コード例 #1
0
        public string ReadInputValue()
        {
            float readvalue;

            ReadFloatFromDevice(29050, out readvalue);
            return(DataConverters.ConvertFloatToString(readvalue, 4));
        }
コード例 #2
0
        private void ReadFloatFromDevice(short registerAddress, out float value)
        {
            short[] bytes = new short[4];
            var     resp  = modbus.ReadRawData(registerAddress, bytes);

            if (resp == 0)
            {
                value = DataConverters.ConvertInt32ToFloat(DataConverters.ConvertRawDataToInt32(bytes), 4);
                return;
            }

            throw new Exception(Common.Errors[resp]);
        }
コード例 #3
0
        public string SetOutputValue(string text)
        {
            var floatValue = DataConverters.ConvertInputTextToFloat(text);

            var intValue = DataConverters.ConvertFloatToIntRemovingDecimalPlaces(floatValue, 4);

            byte[] bytesToBeWrite = DataConverters.ExtractBytesFromInt(intValue);
            Array.Resize(ref bytesToBeWrite, 5);
            bytesToBeWrite[4] = 1;

            var shortToBeWrite = DataConverters.ConvertByteArrayToShortArray(bytesToBeWrite);

            var resp = modbus.WriteRawDataToDevice(29055, shortToBeWrite);

            if (resp == 0)
            {
                return(DataConverters.ConvertFloatToString(floatValue, 4));
            }

            throw new Exception(Common.Errors[resp]);
        }