Процедуры_Модбас_TCP (1032052)
Текст из файла
Читать Регистр-защелку (RegNo(Номер регистра): Word; Значение: Word;): Boolean;
function TIdModBusClient.ReadHoldingRegister(const RegNo: Word;
out Value: Word): Boolean;
var
Data: array[0..0] of Word;
begin
Result := ReadHoldingRegisters(RegNo, 1, Data);
Value := Data[0];
end;
Читать Регистры-защелки (Номер нач.регистра: Word; Blocks(Длина):Word;
Значения: array of Word;): Boolean; Эта процедура в demo
function TIdModBusClient.ReadHoldingRegisters(const RegNo, Blocks: Word;
out RegisterData: array of Word): Boolean;
var
i: Integer;
Data: array of Word; {Открытый массив}
bNewConnection: Boolean;
begin
bNewConnection := False;
if FAutoConnect and not Connected then
begin
{$IFDEF DMB_INDY10}
Connect;
{$ELSE}
Connect(FConnectTimeOut);
{$ENDIF}
bNewConnection := True;
end;
try
SetLength(Data, Blocks);
FillChar(Data[0], Length(Data), 0);
Result := SendCommand(mbfReadHoldingRegs, RegNo, Blocks, Data);
for i := Low(Data) to High(Data) do
RegisterData[i] := Data[i];
finally
if bNewConnection then
DisConnect;
end;
end;
Читать входной регистр (RegNo(Номер регистра): Word; Значение: Word;): Boolean;
function TIdModBusClient.ReadInputRegister(const RegNo: Word;
out Value: Word): Boolean;
var
Data: array[0..0] of Word;
begin
Result := ReadInputRegisters(RegNo, 1, Data);
Value := Data[0];
end;
Читать Входные Регистры (Номер нач.регистра: Word; Blocks(Длина):Word;
Значения: array of Word;): Boolean;
function TIdModBusClient.ReadInputRegisters(const RegNo, Blocks: Word;
var RegisterData: array of Word): Boolean;
var
bNewConnection: Boolean;
begin
bNewConnection := False;
if FAutoConnect and not Connected then
begin
{$IFDEF DMB_INDY10}
Connect;
{$ELSE}
Connect(FConnectTimeOut);
{$ENDIF}
bNewConnection := True;
end;
FillChar(RegisterData[0], Length(RegisterData), 0);
try
Result := SendCommand(mbfReadInputRegs, RegNo, Blocks, RegisterData);
finally
if bNewConnection then
DisConnect;
end;
end;
Записать в регистр (RegNo(Номер регистра): Word; Значение: Word;): Boolean;
Эта процедура в demo.
function TIdModBusClient.WriteRegister(const RegNo, Value: Word): Boolean;
var
Data: array[0..0] of Word;
bNewConnection: Boolean;
begin
bNewConnection := False;
Data[0] := Value;
if FAutoConnect and not Connected then
begin
{$IFDEF DMB_INDY10}
Connect;
{$ELSE}
Connect(FConnectTimeOut);
{$ENDIF}
bNewConnection := True;
end;
try
Result := SendCommand(mbfWriteOneReg, RegNo, 0, Data);
finally
if bNewConnection then
DisConnect;
end;
end;
Записать в регистры (RegNo(Номер нач.регистра): Word; Blocks(Длина):Word;
Значения: array of Word;): Boolean;
function TIdModBusClient.WriteRegisters(const RegNo: Word;
const RegisterData: array of Word): Boolean;
var
i: Integer;
iBlockLength: Integer;
Data: array of Word;
bNewConnection: Boolean;
begin
bNewConnection := False;
iBlockLength := High(RegisterData) - Low(RegisterData) + 1;
if FAutoConnect and not Connected then
begin
{$IFDEF DMB_INDY10}
Connect;
{$ELSE}
Connect(FConnectTimeOut);
{$ENDIF}
bNewConnection := True;
end;
try
SetLength(Data, Length(RegisterData));
for i := Low(RegisterData) to High(RegisterData) do
Data[i] := RegisterData[i];
Result := SendCommand(mbfWriteRegs, RegNo, iBlockLength, Data);
finally
if bNewConnection then
DisConnect;
end;
end;
Характеристики
Тип файла документ
Документы такого типа открываются такими программами, как Microsoft Office Word на компьютерах Windows, Apple Pages на компьютерах Mac, Open Office - бесплатная альтернатива на различных платформах, в том числе Linux. Наиболее простым и современным решением будут Google документы, так как открываются онлайн без скачивания прямо в браузере на любой платформе. Существуют российские качественные аналоги, например от Яндекса.
Будьте внимательны на мобильных устройствах, так как там используются упрощённый функционал даже в официальном приложении от Microsoft, поэтому для просмотра скачивайте PDF-версию. А если нужно редактировать файл, то используйте оригинальный файл.
Файлы такого типа обычно разбиты на страницы, а текст может быть форматированным (жирный, курсив, выбор шрифта, таблицы и т.п.), а также в него можно добавлять изображения. Формат идеально подходит для рефератов, докладов и РПЗ курсовых проектов, которые необходимо распечатать. Кстати перед печатью также сохраняйте файл в PDF, так как принтер может начудить со шрифтами.















