You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
111 lines
2.3 KiB
111 lines
2.3 KiB
<?php
|
|
|
|
namespace PHPModbus\Network;
|
|
|
|
|
|
class ModbusConnectionBuilder extends ModbusConnectionProperties
|
|
{
|
|
/**
|
|
* Return built instance of ModbusConnection
|
|
*
|
|
* @return ModbusConnection built instance
|
|
* @throws \LogicException
|
|
*/
|
|
public function build()
|
|
{
|
|
if (empty($this->host)) {
|
|
throw new \LogicException('host property can not be left null or empty!');
|
|
}
|
|
return new ModbusConnection($this);
|
|
}
|
|
|
|
/**
|
|
* @param string $client
|
|
* @return ModbusConnectionBuilder
|
|
*/
|
|
public function setClient($client)
|
|
{
|
|
$this->client = $client;
|
|
return $this;
|
|
}
|
|
|
|
/**
|
|
* @param string $clientPort
|
|
* @return ModbusConnectionBuilder
|
|
*/
|
|
public function setClientPort($clientPort)
|
|
{
|
|
$this->clientPort = $clientPort;
|
|
return $this;
|
|
}
|
|
|
|
/**
|
|
* @param float $timeoutSec
|
|
* @return ModbusConnectionBuilder
|
|
*/
|
|
public function setTimeoutSec($timeoutSec)
|
|
{
|
|
$this->timeoutSec = $timeoutSec;
|
|
return $this;
|
|
}
|
|
|
|
/**
|
|
* @param float $connectTimeoutSec
|
|
* @return ModbusConnectionBuilder
|
|
*/
|
|
public function setConnectTimeoutSec($connectTimeoutSec)
|
|
{
|
|
$this->connectTimeoutSec = $connectTimeoutSec;
|
|
return $this;
|
|
}
|
|
|
|
/**
|
|
* @param float $readTimeoutSec
|
|
* @return ModbusConnectionBuilder
|
|
*/
|
|
public function setReadTimeoutSec($readTimeoutSec)
|
|
{
|
|
$this->readTimeoutSec = $readTimeoutSec;
|
|
return $this;
|
|
}
|
|
|
|
/**
|
|
* @param float $writeTimeoutSec
|
|
* @return ModbusConnectionBuilder
|
|
*/
|
|
public function setWriteTimeoutSec($writeTimeoutSec)
|
|
{
|
|
$this->writeTimeoutSec = $writeTimeoutSec;
|
|
return $this;
|
|
}
|
|
|
|
/**
|
|
* @param string $protocol
|
|
* @return ModbusConnectionBuilder
|
|
*/
|
|
public function setProtocol($protocol)
|
|
{
|
|
$this->protocol = $protocol;
|
|
return $this;
|
|
}
|
|
|
|
/**
|
|
* @param string $host
|
|
* @return ModbusConnectionBuilder
|
|
*/
|
|
public function setHost($host)
|
|
{
|
|
$this->host = $host;
|
|
return $this;
|
|
}
|
|
|
|
/**
|
|
* @param string $port
|
|
* @return ModbusConnectionBuilder
|
|
*/
|
|
public function setPort($port)
|
|
{
|
|
$this->port = $port;
|
|
return $this;
|
|
}
|
|
}
|
|
|