Esempio n. 1
0
        public void GetValues(ConnectionProperties connectionProperties, int functionPropertyID)
        {
            modbusClient = connectionProperties.modbusClient;
            if (!modbusClient.Connected)
            {
                modbusClient.IPAddress = connectionProperties.ModbusTCPAddress;
                modbusClient.Port      = connectionProperties.Port;
                modbusClient.Connect();
            }

            switch (connectionProperties.FunctionPropertiesList[functionPropertyID].FunctionCode)
            {
            case FunctionCode.ReadCoils:
                connectionProperties.FunctionPropertiesList[functionPropertyID].values = modbusClient.ReadCoils(connectionProperties.FunctionPropertiesList[functionPropertyID].StartingAdress, connectionProperties.FunctionPropertiesList[functionPropertyID].Quantity);
                break;

            case FunctionCode.ReadDiscreteInputs:
                connectionProperties.FunctionPropertiesList[functionPropertyID].values = modbusClient.ReadDiscreteInputs(connectionProperties.FunctionPropertiesList[functionPropertyID].StartingAdress, connectionProperties.FunctionPropertiesList[functionPropertyID].Quantity);
                break;

            case FunctionCode.ReadHoldingRegisters:
                connectionProperties.FunctionPropertiesList[functionPropertyID].values = modbusClient.ReadHoldingRegisters(connectionProperties.FunctionPropertiesList[functionPropertyID].StartingAdress, connectionProperties.FunctionPropertiesList[functionPropertyID].Quantity);
                break;

            case FunctionCode.ReadInputRegisters:
                connectionProperties.FunctionPropertiesList[functionPropertyID].values = modbusClient.ReadInputRegisters(connectionProperties.FunctionPropertiesList[functionPropertyID].StartingAdress, connectionProperties.FunctionPropertiesList[functionPropertyID].Quantity);
                break;

            default: break;
            }
            if (valuesChanged != null)
            {
                valuesChanged(this);
            }
        }
 void BtnConnectClick(object sender, EventArgs e)
 {
     modbusClient.IPAddress = txtIpAddressInput.Text;
     modbusClient.Port      = int.Parse(txtPortInput.Text);
     modbusClient.Connect();
 }