├── .gitignore ├── LICENSE ├── README.md ├── demos ├── FireMonkey │ ├── Master │ │ ├── ModbusMaster.dpr │ │ ├── ModbusMaster.dproj │ │ ├── ModbusMaster.res │ │ ├── ModbusMaster_project.tvsconfig │ │ ├── frm_Main.fmx │ │ └── frm_Main.pas │ ├── Slave │ │ ├── ModbusSlave.dpr │ │ ├── ModbusSlave.dproj │ │ ├── ModbusSlave.res │ │ ├── frm_Main.fmx │ │ └── frm_Main.pas │ ├── demos.groupproj │ └── demos_prjgroup.tvsconfig ├── Indy10 │ ├── Master │ │ ├── ModbusMaster.dpr │ │ ├── ModbusMaster.dproj │ │ ├── ModbusMaster.dsk │ │ ├── ModbusMaster.exe │ │ ├── ModbusMaster.res │ │ ├── ModbusMaster_Icon.ico │ │ ├── frm_Main.dfm │ │ └── frm_Main.pas │ ├── Slave │ │ ├── ModbusSlave.dpr │ │ ├── ModbusSlave.dproj │ │ ├── ModbusSlave.exe │ │ ├── ModbusSlave.res │ │ ├── ModbusSlave_Icon.ico │ │ ├── frm_Main.dfm │ │ └── frm_Main.pas │ ├── demos.groupproj │ └── demos_prjgroup.tvsconfig ├── Indy9 │ ├── Master │ │ ├── ModbusMaster.cfg │ │ ├── ModbusMaster.dof │ │ ├── ModbusMaster.dpr │ │ ├── ModbusMaster.exe │ │ ├── ModbusMaster.res │ │ ├── frm_Main.ddp │ │ ├── frm_Main.dfm │ │ └── frm_Main.pas │ ├── Slave │ │ ├── ModbusSlave.cfg │ │ ├── ModbusSlave.dof │ │ ├── ModbusSlave.dpr │ │ ├── ModbusSlave.exe │ │ ├── ModbusSlave.res │ │ ├── frm_Main.ddp │ │ ├── frm_Main.dfm │ │ └── frm_Main.pas │ └── demos.bpg ├── Lazarus │ └── Master │ │ ├── ModbusMaster.exe │ │ ├── ModbusMaster.ico │ │ ├── ModbusMaster.lpi │ │ ├── ModbusMaster.lpr │ │ ├── ModbusMaster.res │ │ ├── frm_Main.lfm │ │ └── frm_Main.pas └── readme.txt ├── docs ├── history.txt └── readme.txt ├── packages ├── DelphiModbus101Berlin.dpk ├── DelphiModbus101Berlin.dproj ├── DelphiModbus101Berlin.res ├── DelphiModbus102Tokyo.dpk ├── DelphiModbus102Tokyo.dproj ├── DelphiModbus102Tokyo.res ├── DelphiModbus103Rio.dpk ├── DelphiModbus103Rio.dproj ├── DelphiModbus103Rio.res ├── DelphiModbus104Sydney.dpk ├── DelphiModbus104Sydney.dproj ├── DelphiModbus104Sydney.res ├── DelphiModbus10Seattle.dpk ├── DelphiModbus10Seattle.dproj ├── DelphiModbus10Seattle.res ├── DelphiModbus11Alexandria.dpk ├── DelphiModbus11Alexandria.dproj ├── DelphiModbus11Alexandria.res ├── DelphiModbus12Athens.dpk ├── DelphiModbus12Athens.dproj ├── DelphiModbus12Athens.res ├── DelphiModbus2005.dpk ├── DelphiModbus2006.dpk ├── DelphiModbus2007.dpk ├── DelphiModbus2007.dproj ├── DelphiModbus2007.res ├── DelphiModbus2009.dpk ├── DelphiModbus2009.dproj ├── DelphiModbus2009.res ├── DelphiModbus2010.dpk ├── DelphiModbus2010.dproj ├── DelphiModbus2010.res ├── DelphiModbus50.dpk ├── DelphiModbus60.dpk ├── DelphiModbus70.dpk ├── DelphiModbus70.res ├── DelphiModbusXE.dpk ├── DelphiModbusXE.dproj ├── DelphiModbusXE.res ├── DelphiModbusXE2.dpk ├── DelphiModbusXE2.dproj ├── DelphiModbusXE2.res ├── DelphiModbusXE3.dpk ├── DelphiModbusXE3.dproj ├── DelphiModbusXE3.res ├── DelphiModbusXE4.dpk ├── DelphiModbusXE4.dproj ├── DelphiModbusXE4.res ├── DelphiModbusXE5.dpk ├── DelphiModbusXE5.dproj ├── DelphiModbusXE5.res ├── DelphiModbusXE6.dpk ├── DelphiModbusXE6.dproj ├── DelphiModbusXE6.res ├── DelphiModbusXE7.dpk ├── DelphiModbusXE7.dproj ├── DelphiModbusXE7.res ├── DelphiModbusXE8.dpk ├── DelphiModbusXE8.dproj ├── DelphiModbusXE8.res ├── PackagesDelphiModbus101Berlin.groupproj ├── PackagesDelphiModbus102Tokyo.groupproj ├── PackagesDelphiModbus103Rio.groupproj ├── PackagesDelphiModbus104Sydney.groupproj ├── PackagesDelphiModbus10Seattle.groupproj ├── PackagesDelphiModbus11Alexandria.groupproj ├── PackagesDelphiModbus12Athens.groupproj ├── PackagesDelphiModbus2007.groupproj ├── PackagesDelphiModbus2009.groupproj ├── PackagesDelphiModbus2010.groupproj ├── PackagesDelphiModbus70.bpg ├── PackagesDelphiModbusXE.groupproj ├── PackagesDelphiModbusXE2.groupproj ├── PackagesDelphiModbusXE3.groupproj ├── PackagesDelphiModbusXE4.groupproj ├── PackagesDelphiModbusXE5.groupproj ├── PackagesDelphiModbusXE6.groupproj ├── PackagesDelphiModbusXE7.groupproj ├── PackagesDelphiModbusXE8.groupproj ├── dclDelphiModbus101Berlin.dpk ├── dclDelphiModbus101Berlin.dproj ├── dclDelphiModbus101Berlin.res ├── dclDelphiModbus102Tokyo.dpk ├── dclDelphiModbus102Tokyo.dproj ├── dclDelphiModbus102Tokyo.res ├── dclDelphiModbus103Rio.dpk ├── dclDelphiModbus103Rio.dproj ├── dclDelphiModbus103Rio.res ├── dclDelphiModbus104Sydney.dpk ├── dclDelphiModbus104Sydney.dproj ├── dclDelphiModbus104Sydney.res ├── dclDelphiModbus10Seattle.dpk ├── dclDelphiModbus10Seattle.dproj ├── dclDelphiModbus10Seattle.res ├── dclDelphiModbus11Alexandria.dpk ├── dclDelphiModbus11Alexandria.dproj ├── dclDelphiModbus11Alexandria.res ├── dclDelphiModbus12Athens.dpk ├── dclDelphiModbus12Athens.dproj ├── dclDelphiModbus12Athens.res ├── dclDelphiModbus2005.dpk ├── dclDelphiModbus2006.dpk ├── dclDelphiModbus2007.dpk ├── dclDelphiModbus2007.dproj ├── dclDelphiModbus2007.res ├── dclDelphiModbus2009.dpk ├── dclDelphiModbus2009.dproj ├── dclDelphiModbus2009.res ├── dclDelphiModbus2010.dpk ├── dclDelphiModbus2010.dproj ├── dclDelphiModbus2010.res ├── dclDelphiModbus50.dpk ├── dclDelphiModbus60.dpk ├── dclDelphiModbus70.dpk ├── dclDelphiModbus70.res ├── dclDelphiModbusXE.dpk ├── dclDelphiModbusXE.dproj ├── dclDelphiModbusXE.res ├── dclDelphiModbusXE2.dpk ├── dclDelphiModbusXE2.dproj ├── dclDelphiModbusXE2.res ├── dclDelphiModbusXE3.dpk ├── dclDelphiModbusXE3.dproj ├── dclDelphiModbusXE3.res ├── dclDelphiModbusXE4.dpk ├── dclDelphiModbusXE4.dproj ├── dclDelphiModbusXE4.res ├── dclDelphiModbusXE5.dpk ├── dclDelphiModbusXE5.dproj ├── dclDelphiModbusXE5.res ├── dclDelphiModbusXE6.dpk ├── dclDelphiModbusXE6.dproj ├── dclDelphiModbusXE6.res ├── dclDelphiModbusXE7.dpk ├── dclDelphiModbusXE7.dproj ├── dclDelphiModbusXE7.res ├── dclDelphiModbusXE8.dpk ├── dclDelphiModbusXE8.dproj ├── dclDelphiModbusXE8.res ├── delphimodbuslazarus.lpk └── delphimodbuslazarus.pas └── source ├── AboutComponentEditor.pas ├── IdModbusClient.pas ├── IdModbusServer.pas ├── ModBusCompiler.inc ├── ModBusPlatforms.inc ├── ModbusConsts.pas ├── ModbusReg.dcr ├── ModbusReg.pas ├── ModbusSplash.pas ├── ModbusSplash.res ├── ModbusStrConsts.pas ├── ModbusTypes.pas ├── ModbusUtils.pas ├── frm_About.dfm └── frm_About.pas /.gitignore: -------------------------------------------------------------------------------- 1 | *.optset 2 | *.dcu 3 | *.local 4 | *.identcache 5 | *.txvpck 6 | *.~* 7 | backup/ 8 | lib/ 9 | __history/ 10 | Release/ 11 | Debug/ 12 | *.stat 13 | -------------------------------------------------------------------------------- /LICENSE: -------------------------------------------------------------------------------- 1 | MIT License 2 | 3 | Copyright (c) 2024 COAS Software Systems 4 | 5 | Permission is hereby granted, free of charge, to any person obtaining a copy 6 | of this software and associated documentation files (the "Software"), to deal 7 | in the Software without restriction, including without limitation the rights 8 | to use, copy, modify, merge, publish, distribute, sublicense, and/or sell 9 | copies of the Software, and to permit persons to whom the Software is 10 | furnished to do so, subject to the following conditions: 11 | 12 | The above copyright notice and this permission notice shall be included in all 13 | copies or substantial portions of the Software. 14 | 15 | THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR 16 | IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, 17 | FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE 18 | AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER 19 | LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, 20 | OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE 21 | SOFTWARE. 22 | -------------------------------------------------------------------------------- /README.md: -------------------------------------------------------------------------------- 1 | # delphi-modbus 2 | Delphi ModbusTCP components 3 | 4 | 5 | Download are available [here](https://github.com/coassoftwaresystems/delphi-modbus/releases) 6 | 7 | N.B. The old downloads are still available from [SourceForge.net](http://sourceforge.net/projects/delphimodbus/) 8 | 9 | 10 | A listing of implementations using the components is available in the [wiki](https://github.com/coassoftwaresystems/delphi-modbus/wiki). 11 | -------------------------------------------------------------------------------- /demos/FireMonkey/Master/ModbusMaster.dpr: -------------------------------------------------------------------------------- 1 | program ModbusMaster; 2 | 3 | uses 4 | FMX.Forms, 5 | frm_Main in 'frm_Main.pas' {frmMain}; 6 | 7 | {$R *.res} 8 | 9 | begin 10 | Application.Initialize; 11 | Application.CreateForm(TfrmMain, frmMain); 12 | Application.Run; 13 | end. 14 | -------------------------------------------------------------------------------- /demos/FireMonkey/Master/ModbusMaster.res: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/coassoftwaresystems/delphi-modbus/6cc72803b45ca405b14f9d9218d10d8fa95aad0d/demos/FireMonkey/Master/ModbusMaster.res -------------------------------------------------------------------------------- /demos/FireMonkey/Master/ModbusMaster_project.tvsconfig: -------------------------------------------------------------------------------- 1 | 2 | -------------------------------------------------------------------------------- /demos/FireMonkey/Master/frm_Main.fmx: -------------------------------------------------------------------------------- 1 | object frmMain: TfrmMain 2 | Left = 0 3 | Top = 0 4 | BiDiMode = bdLeftToRight 5 | Caption = 'Delphi modbus master demo' 6 | BorderStyle = bsSingle 7 | BorderIcons = [biSystemMenu] 8 | ClientHeight = 175 9 | ClientWidth = 520 10 | Position = poScreenCenter 11 | Transparency = False 12 | Visible = False 13 | StyleLookup = 'backgroundstyle' 14 | object Label1: TLabel 15 | Position.Point = '(8,12)' 16 | Width = 120.000000000000000000 17 | Height = 15.000000000000000000 18 | TabOrder = 0 19 | Text = 'IP address of the PLC' 20 | end 21 | object edtIPAddress: TEdit 22 | Position.Point = '(128,8)' 23 | Width = 193.000000000000000000 24 | Height = 22.000000000000000000 25 | TabOrder = 1 26 | ReadOnly = False 27 | Password = False 28 | Text = '127.0.0.1' 29 | end 30 | object GroupBox1: TGroupBox 31 | Position.Point = '(8,40)' 32 | Width = 249.000000000000000000 33 | Height = 129.000000000000000000 34 | TabOrder = 2 35 | Text = 'Read test' 36 | object Label2: TLabel 37 | Position.Point = '(16,28)' 38 | Width = 89.000000000000000000 39 | Height = 15.000000000000000000 40 | TabOrder = 0 41 | Text = 'PLC register nr.' 42 | end 43 | object Label3: TLabel 44 | Position.Point = '(16,60)' 45 | Width = 89.000000000000000000 46 | Height = 15.000000000000000000 47 | TabOrder = 1 48 | Text = 'Block length' 49 | end 50 | object edtReadReg: TEdit 51 | Position.Point = '(120,24)' 52 | Width = 121.000000000000000000 53 | Height = 22.000000000000000000 54 | TabOrder = 2 55 | ReadOnly = False 56 | Password = False 57 | Text = '1' 58 | end 59 | object edtReadAmount: TEdit 60 | Position.Point = '(120,56)' 61 | Width = 65.000000000000000000 62 | Height = 22.000000000000000000 63 | TabOrder = 3 64 | ReadOnly = False 65 | Password = False 66 | Text = '1' 67 | end 68 | object btnRead: TButton 69 | Position.Point = '(24,96)' 70 | Width = 217.000000000000000000 71 | Height = 22.000000000000000000 72 | OnClick = btnReadClick 73 | TabOrder = 4 74 | StaysPressed = False 75 | IsPressed = False 76 | Text = 'Read Register' 77 | end 78 | end 79 | object GroupBox2: TGroupBox 80 | Position.Point = '(264,40)' 81 | Width = 249.000000000000000000 82 | Height = 129.000000000000000000 83 | TabOrder = 3 84 | Text = 'Write test' 85 | object Label4: TLabel 86 | Position.Point = '(16,28)' 87 | Width = 89.000000000000000000 88 | Height = 15.000000000000000000 89 | TabOrder = 0 90 | Text = 'PLC register nr.' 91 | end 92 | object Label5: TLabel 93 | Position.Point = '(16,60)' 94 | Width = 65.000000000000000000 95 | Height = 15.000000000000000000 96 | TabOrder = 1 97 | Text = 'New value' 98 | end 99 | object edtWriteReg: TEdit 100 | Position.Point = '(104,24)' 101 | Width = 137.000000000000000000 102 | Height = 22.000000000000000000 103 | TabOrder = 2 104 | ReadOnly = False 105 | Password = False 106 | Text = '1' 107 | end 108 | object edtValue: TEdit 109 | Position.Point = '(104,56)' 110 | Width = 137.000000000000000000 111 | Height = 22.000000000000000000 112 | TabOrder = 3 113 | ReadOnly = False 114 | Password = False 115 | Text = '0' 116 | end 117 | object btnWrite: TButton 118 | Position.Point = '(16,96)' 119 | Width = 225.000000000000000000 120 | Height = 22.000000000000000000 121 | OnClick = btnWriteClick 122 | TabOrder = 4 123 | StaysPressed = False 124 | IsPressed = False 125 | Text = 'Write Register' 126 | end 127 | end 128 | object mctPLC: TIdModBusClient 129 | ConnectTimeout = 0 130 | IPVersion = Id_IPv4 131 | Left = 464 132 | Top = 8 133 | end 134 | end 135 | -------------------------------------------------------------------------------- /demos/FireMonkey/Master/frm_Main.pas: -------------------------------------------------------------------------------- 1 | { 2 | Copyright (c) 2010 P.L. Polak 3 | 4 | Permission is hereby granted, free of charge, to any person obtaining a copy 5 | of this software and associated documentation files (the "Software"), to deal 6 | in the Software without restriction, including without limitation the rights 7 | to use, copy, modify, merge, publish, distribute, sublicense, and/or sell 8 | copies of the Software, and to permit persons to whom the Software is 9 | furnished to do so, subject to the following conditions: 10 | 11 | The above copyright notice and this permission notice shall be included in all 12 | copies or substantial portions of the Software. 13 | 14 | THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR 15 | IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, 16 | FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE 17 | AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER 18 | LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, 19 | OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE 20 | SOFTWARE. 21 | 22 | } 23 | 24 | unit frm_Main; 25 | 26 | interface 27 | 28 | uses 29 | SysUtils, Types, Classes, Variants, FMX.Types, FMX.Controls, FMX.Forms, 30 | FMX.Dialogs, IdBaseComponent, IdComponent, IdTCPConnection, IdTCPClient, 31 | IdModBusClient, FMX.Edit, UITypes; 32 | 33 | type 34 | TfrmMain = class(TForm) 35 | mctPLC: TIdModBusClient; 36 | Label1: TLabel; 37 | edtIPAddress: TEdit; 38 | GroupBox1: TGroupBox; 39 | GroupBox2: TGroupBox; 40 | Label2: TLabel; 41 | Label3: TLabel; 42 | edtReadReg: TEdit; 43 | edtReadAmount: TEdit; 44 | btnRead: TButton; 45 | Label4: TLabel; 46 | Label5: TLabel; 47 | edtWriteReg: TEdit; 48 | edtValue: TEdit; 49 | btnWrite: TButton; 50 | procedure btnReadClick(Sender: TObject); 51 | procedure btnWriteClick(Sender: TObject); 52 | private 53 | { Private declarations } 54 | public 55 | { Public declarations } 56 | end; 57 | 58 | var 59 | frmMain: TfrmMain; 60 | 61 | implementation 62 | 63 | {$R *.fmx} 64 | 65 | procedure TfrmMain.btnReadClick(Sender: TObject); 66 | var 67 | Data: array[0..4096] of Word; 68 | iAmount: Integer; 69 | i: Integer; 70 | sLine: String; 71 | begin 72 | iAmount := StrToInt(edtReadAmount.Text); 73 | if (iAmount > 0) then 74 | begin 75 | mctPLC.Host := edtIPAddress.Text; 76 | if mctPLC.ReadHoldingRegisters(StrToInt(edtReadReg.Text), iAmount, Data) then 77 | begin 78 | sLine := 'Register value(s) read:'; 79 | for i := 0 to (iAmount - 1) do 80 | sLine := sLine + 81 | #13#10' ' + 82 | IntToStr(StrToInt(edtReadReg.Text) + i) + 83 | ': 0x' + 84 | IntToHex(Data[i], 4); 85 | ShowMessage(sLine); 86 | end 87 | else 88 | ShowMessage('PLC read operation failed!'); 89 | end; 90 | end; 91 | 92 | 93 | procedure TfrmMain.btnWriteClick(Sender: TObject); 94 | begin 95 | mctPLC.Host := edtIPAddress.Text; 96 | if mctPLC.WriteRegister(StrToInt(edtWriteReg.Text), StrToInt(edtValue.Text)) then 97 | ShowMessage('PLC register write successful!') 98 | else 99 | ShowMessage('PLC register write failed!'); 100 | end; 101 | 102 | 103 | end. 104 | 105 | -------------------------------------------------------------------------------- /demos/FireMonkey/Slave/ModbusSlave.dpr: -------------------------------------------------------------------------------- 1 | program ModbusSlave; 2 | 3 | uses 4 | FMX.Forms, 5 | frm_Main in 'frm_Main.pas' {frmMain}; 6 | 7 | {$R *.res} 8 | 9 | begin 10 | Application.Initialize; 11 | Application.CreateForm(TfrmMain, frmMain); 12 | Application.Run; 13 | end. 14 | -------------------------------------------------------------------------------- /demos/FireMonkey/Slave/ModbusSlave.res: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/coassoftwaresystems/delphi-modbus/6cc72803b45ca405b14f9d9218d10d8fa95aad0d/demos/FireMonkey/Slave/ModbusSlave.res -------------------------------------------------------------------------------- /demos/FireMonkey/Slave/frm_Main.fmx: -------------------------------------------------------------------------------- 1 | object frmMain: TfrmMain 2 | BiDiMode = bdLeftToRight 3 | Caption = 'Modbus/TCP Slave Demo (Port 502)' 4 | ClientHeight = 450 5 | ClientWidth = 546 6 | Left = 0 7 | Top = 0 8 | Transparency = False 9 | Visible = False 10 | OnCreate = FormCreate 11 | OnClose = FormClose 12 | StyleLookup = 'backgroundstyle' 13 | object btnStart: TButton 14 | Position.Point = '(432,8)' 15 | Width = 104.000000000000000000 16 | Height = 22.000000000000000000 17 | OnClick = btnStartClick 18 | TabOrder = 0 19 | StaysPressed = False 20 | IsPressed = False 21 | Text = 'Start' 22 | end 23 | object edtFirstReg: TEdit 24 | Position.Point = '(432,72)' 25 | Width = 100.000000000000000000 26 | Height = 22.000000000000000000 27 | TabOrder = 1 28 | TextAlign = taTrailing 29 | ReadOnly = False 30 | Password = False 31 | Text = '1' 32 | end 33 | object edtLastReg: TEdit 34 | Position.Point = '(432,120)' 35 | Width = 100.000000000000000000 36 | Height = 22.000000000000000000 37 | TabOrder = 2 38 | TextAlign = taTrailing 39 | ReadOnly = False 40 | Password = False 41 | Text = '200' 42 | end 43 | object Label1: TLabel 44 | Position.Point = '(432,56)' 45 | Width = 80.000000000000000000 46 | Height = 15.000000000000000000 47 | TabOrder = 3 48 | Text = 'First register' 49 | end 50 | object Label2: TLabel 51 | Position.Point = '(432,104)' 52 | Width = 80.000000000000000000 53 | Height = 15.000000000000000000 54 | TabOrder = 4 55 | Text = 'Last register' 56 | end 57 | object sgdRegisters: TStringGrid 58 | Position.Point = '(8,8)' 59 | Width = 417.000000000000000000 60 | Height = 433.000000000000000000 61 | StyleLookup = 'gridstyle' 62 | TabOrder = 5 63 | RowHeight = 21.000000000000000000 64 | RowCount = 0 65 | object StringColumn1: TStringColumn 66 | Width = 64.000000000000000000 67 | Height = 410.000000000000000000 68 | HitTest = False 69 | TabOrder = 0 70 | Header = 'RegNo' 71 | end 72 | object StringColumn2: TStringColumn 73 | Position.Point = '(64,0)' 74 | Width = 116.000000000000000000 75 | Height = 410.000000000000000000 76 | HitTest = False 77 | TabOrder = 1 78 | Header = 'Decimal' 79 | end 80 | object StringColumn3: TStringColumn 81 | Position.Point = '(180,0)' 82 | Width = 86.000000000000000000 83 | Height = 410.000000000000000000 84 | HitTest = False 85 | TabOrder = 2 86 | Header = 'Hex' 87 | end 88 | object StringColumn4: TStringColumn 89 | Position.Point = '(266,0)' 90 | Width = 120.000000000000000000 91 | Height = 410.000000000000000000 92 | HitTest = False 93 | TabOrder = 3 94 | Header = 'Binary' 95 | end 96 | end 97 | object msrPLC: TIdModBusServer 98 | Bindings = <> 99 | OnReadHoldingRegisters = msrPLCReadHoldingRegisters 100 | OnWriteRegisters = msrPLCWriteRegisters 101 | Left = 456 102 | Top = 392 103 | end 104 | end 105 | -------------------------------------------------------------------------------- /demos/FireMonkey/demos.groupproj: -------------------------------------------------------------------------------- 1 |  2 | 3 | {CF3744DA-2390-453E-855A-F1463A038582} 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | Default.Personality.12 15 | 16 | 17 | 18 | 19 | 20 | 21 | 22 | 23 | 24 | 25 | 26 | 27 | 28 | 29 | 30 | 31 | 32 | 33 | 34 | 35 | 36 | 37 | 38 | 39 | 40 | 41 | 42 | 43 | 44 | 45 | 46 | 47 | 48 | 49 | 50 | {9F2ABEE0-669F-45AD-A4E0-2A13458770EA} 51 | Debug 52 | Win32 53 | True 54 | 55 | 56 | {46952E22-D5FD-49B8-BBD2-63F51FA0DF2B} 57 | Debug 58 | Win32 59 | True 60 | 61 | 62 | 63 | -------------------------------------------------------------------------------- /demos/FireMonkey/demos_prjgroup.tvsconfig: -------------------------------------------------------------------------------- 1 | 2 | -------------------------------------------------------------------------------- /demos/Indy10/Master/ModbusMaster.dpr: -------------------------------------------------------------------------------- 1 | {=============================================================================== 2 | 3 | Copyright (c) 2010 P.L. Polak 4 | 5 | Permission is hereby granted, free of charge, to any person obtaining a copy 6 | of this software and associated documentation files (the "Software"), to deal 7 | in the Software without restriction, including without limitation the rights 8 | to use, copy, modify, merge, publish, distribute, sublicense, and/or sell 9 | copies of the Software, and to permit persons to whom the Software is 10 | furnished to do so, subject to the following conditions: 11 | 12 | The above copyright notice and this permission notice shall be included in all 13 | copies or substantial portions of the Software. 14 | 15 | THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR 16 | IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, 17 | FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE 18 | AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER 19 | LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, 20 | OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE 21 | SOFTWARE. 22 | 23 | 24 | ===============================================================================} 25 | 26 | program ModBusMaster; 27 | 28 | uses 29 | Forms, 30 | frm_Main in 'frm_Main.pas' {frmMain}; 31 | 32 | {$R *.res} 33 | 34 | begin 35 | Application.Initialize; 36 | Application.CreateForm(TfrmMain, frmMain); 37 | Application.Run; 38 | end. 39 | -------------------------------------------------------------------------------- /demos/Indy10/Master/ModbusMaster.dproj: -------------------------------------------------------------------------------- 1 |  2 | 3 | {65B7E38E-4AD3-4BBA-8BE2-C123D9D7ED72} 4 | ModbusMaster.dpr 5 | Debug 6 | DCC32 7 | 12.0 8 | 9 | 10 | true 11 | 12 | 13 | true 14 | Base 15 | true 16 | 17 | 18 | true 19 | Base 20 | true 21 | 22 | 23 | ..\..\..\source;$(DCC_UnitSearchPath) 24 | WinTypes=Windows;WinProcs=Windows;$(DCC_UnitAlias) 25 | ModbusMaster.exe 26 | 00400000 27 | x86 28 | 29 | 30 | false 31 | RELEASE;$(DCC_Define) 32 | 0 33 | false 34 | 35 | 36 | DEBUG;$(DCC_Define) 37 | 38 | 39 | 40 | MainSource 41 | 42 | 43 |
frmMain
44 |
45 | 46 | Base 47 | 48 | 49 | Cfg_2 50 | Base 51 | 52 | 53 | Cfg_1 54 | Base 55 | 56 |
57 | 58 | 59 | Delphi.Personality.12 60 | VCLApplication 61 | 62 | 63 | 64 | ModbusMaster.dpr 65 | 66 | 67 | False 68 | True 69 | False 70 | 71 | 72 | False 73 | False 74 | 1 75 | 0 76 | 0 77 | 0 78 | False 79 | False 80 | False 81 | False 82 | False 83 | 1033 84 | 1252 85 | 86 | 87 | 88 | 89 | 1.0.0.0 90 | 91 | 92 | 93 | 94 | 95 | 1.0.0.0 96 | 97 | 98 | 99 | Embarcadero C++Builder Office 2000 Servers Package 100 | Embarcadero C++Builder Office XP Servers Package 101 | Microsoft Office 2000 Sample Automation Server Wrapper Components 102 | Microsoft Office XP Sample Automation Server Wrapper Components 103 | 104 | 105 | 106 | 12 107 | 108 |
109 | -------------------------------------------------------------------------------- /demos/Indy10/Master/ModbusMaster.exe: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/coassoftwaresystems/delphi-modbus/6cc72803b45ca405b14f9d9218d10d8fa95aad0d/demos/Indy10/Master/ModbusMaster.exe -------------------------------------------------------------------------------- /demos/Indy10/Master/ModbusMaster.res: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/coassoftwaresystems/delphi-modbus/6cc72803b45ca405b14f9d9218d10d8fa95aad0d/demos/Indy10/Master/ModbusMaster.res -------------------------------------------------------------------------------- /demos/Indy10/Master/ModbusMaster_Icon.ico: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/coassoftwaresystems/delphi-modbus/6cc72803b45ca405b14f9d9218d10d8fa95aad0d/demos/Indy10/Master/ModbusMaster_Icon.ico -------------------------------------------------------------------------------- /demos/Indy10/Master/frm_Main.dfm: -------------------------------------------------------------------------------- 1 | object frmMain: TfrmMain 2 | Left = 243 3 | Top = 150 4 | BorderStyle = bsDialog 5 | Caption = 'Delphi Modbus master demo' 6 | ClientHeight = 175 7 | ClientWidth = 520 8 | Color = clBtnFace 9 | Font.Charset = DEFAULT_CHARSET 10 | Font.Color = clWindowText 11 | Font.Height = -11 12 | Font.Name = 'MS Shell Dlg 2' 13 | Font.Style = [] 14 | OldCreateOrder = False 15 | Position = poScreenCenter 16 | Scaled = False 17 | PixelsPerInch = 96 18 | TextHeight = 13 19 | object Label1: TLabel 20 | Left = 8 21 | Top = 12 22 | Width = 104 23 | Height = 13 24 | Caption = 'IP address of the PLC' 25 | end 26 | object edtIPAddress: TEdit 27 | Left = 120 28 | Top = 8 29 | Width = 137 30 | Height = 21 31 | TabOrder = 0 32 | Text = '127.0.0.1' 33 | end 34 | object GroupBox1: TGroupBox 35 | Left = 8 36 | Top = 40 37 | Width = 249 38 | Height = 129 39 | Caption = ' Read test ' 40 | TabOrder = 1 41 | object Label2: TLabel 42 | Left = 16 43 | Top = 24 44 | Width = 75 45 | Height = 13 46 | Caption = 'PLC register nr.' 47 | end 48 | object Label5: TLabel 49 | Left = 16 50 | Top = 52 51 | Width = 57 52 | Height = 13 53 | Caption = 'Block length' 54 | end 55 | object edtReadReg: TEdit 56 | Left = 104 57 | Top = 20 58 | Width = 129 59 | Height = 21 60 | TabOrder = 0 61 | Text = '1' 62 | end 63 | object btnRead: TButton 64 | Left = 16 65 | Top = 88 66 | Width = 217 67 | Height = 25 68 | Caption = '&Read register' 69 | TabOrder = 2 70 | OnClick = btnReadClick 71 | end 72 | object edtReadAmount: TEdit 73 | Left = 104 74 | Top = 48 75 | Width = 73 76 | Height = 21 77 | TabOrder = 1 78 | Text = '1' 79 | end 80 | end 81 | object GroupBox2: TGroupBox 82 | Left = 264 83 | Top = 40 84 | Width = 249 85 | Height = 129 86 | Caption = ' Write test ' 87 | TabOrder = 2 88 | object Label3: TLabel 89 | Left = 16 90 | Top = 24 91 | Width = 75 92 | Height = 13 93 | Caption = 'PLC register nr.' 94 | end 95 | object Label4: TLabel 96 | Left = 16 97 | Top = 56 98 | Width = 50 99 | Height = 13 100 | Caption = 'New value' 101 | end 102 | object edtWriteReg: TEdit 103 | Left = 104 104 | Top = 20 105 | Width = 129 106 | Height = 21 107 | TabOrder = 0 108 | end 109 | object edtValue: TEdit 110 | Left = 104 111 | Top = 52 112 | Width = 129 113 | Height = 21 114 | TabOrder = 1 115 | end 116 | object btnWrite: TButton 117 | Left = 16 118 | Top = 88 119 | Width = 217 120 | Height = 25 121 | Caption = '&Write register' 122 | TabOrder = 2 123 | OnClick = btnWriteClick 124 | end 125 | end 126 | object mctPLC: TIdModBusClient 127 | ConnectTimeout = 0 128 | IPVersion = Id_IPv4 129 | Left = 480 130 | Top = 8 131 | end 132 | end 133 | -------------------------------------------------------------------------------- /demos/Indy10/Master/frm_Main.pas: -------------------------------------------------------------------------------- 1 | {=============================================================================== 2 | 3 | Copyright (c) 2010 P.L. Polak 4 | 5 | Permission is hereby granted, free of charge, to any person obtaining a copy 6 | of this software and associated documentation files (the "Software"), to deal 7 | in the Software without restriction, including without limitation the rights 8 | to use, copy, modify, merge, publish, distribute, sublicense, and/or sell 9 | copies of the Software, and to permit persons to whom the Software is 10 | furnished to do so, subject to the following conditions: 11 | 12 | The above copyright notice and this permission notice shall be included in all 13 | copies or substantial portions of the Software. 14 | 15 | THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR 16 | IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, 17 | FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE 18 | AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER 19 | LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, 20 | OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE 21 | SOFTWARE. 22 | 23 | 24 | ===============================================================================} 25 | 26 | unit frm_Main; 27 | 28 | interface 29 | 30 | uses 31 | Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms, 32 | Dialogs, StdCtrls, IdBaseComponent, IdComponent, IdTCPConnection, 33 | IdTCPClient, IdModbusClient, Types; 34 | 35 | type 36 | TfrmMain = class(TForm) 37 | Label1: TLabel; 38 | edtIPAddress: TEdit; 39 | GroupBox1: TGroupBox; 40 | GroupBox2: TGroupBox; 41 | Label2: TLabel; 42 | edtReadReg: TEdit; 43 | btnRead: TButton; 44 | Label3: TLabel; 45 | edtWriteReg: TEdit; 46 | Label4: TLabel; 47 | edtValue: TEdit; 48 | btnWrite: TButton; 49 | Label5: TLabel; 50 | edtReadAmount: TEdit; 51 | mctPLC: TIdModBusClient; 52 | procedure btnReadClick(Sender: TObject); 53 | procedure btnWriteClick(Sender: TObject); 54 | private 55 | { Private declarations } 56 | public 57 | { Public declarations } 58 | end; 59 | 60 | var 61 | frmMain: TfrmMain; 62 | 63 | implementation 64 | 65 | {$R *.dfm} 66 | 67 | procedure TfrmMain.btnReadClick(Sender: TObject); 68 | var 69 | Data: array[0..4096] of Word; 70 | iAmount: Integer; 71 | i: Integer; 72 | sLine: String; 73 | begin 74 | iAmount := StrToInt(edtReadAmount.Text); 75 | if (iAmount > 0) then 76 | begin 77 | mctPLC.Host := edtIPAddress.Text; 78 | if mctPLC.ReadHoldingRegisters(StrToInt(edtReadReg.Text), iAmount, Data) then 79 | begin 80 | sLine := 'Register value(s) read:'; 81 | for i := 0 to (iAmount - 1) do 82 | sLine := sLine + 83 | #13#10' ' + 84 | IntToStr(StrToInt(edtReadReg.Text) + i) + 85 | ': 0x' + 86 | IntToHex(Data[i], 4); 87 | ShowMessage(sLine); 88 | end 89 | else 90 | ShowMessage('PLC read operation failed!'); 91 | end; 92 | end; 93 | 94 | 95 | procedure TfrmMain.btnWriteClick(Sender: TObject); 96 | begin 97 | mctPLC.Host := edtIPAddress.Text; 98 | if mctPLC.WriteRegister(StrToInt(edtWriteReg.Text), StrToInt(edtValue.Text)) then 99 | MessageDlg('PLC register write successful!', mtError, [mbOk], 0) 100 | else 101 | MessageDlg('PLC register write failed!', mtError, [mbOk], 0); 102 | end; 103 | 104 | 105 | end. 106 | 107 | -------------------------------------------------------------------------------- /demos/Indy10/Slave/ModbusSlave.dpr: -------------------------------------------------------------------------------- 1 | {=============================================================================== 2 | 3 | Copyright (c) 2010 P.L. Polak 4 | 5 | Permission is hereby granted, free of charge, to any person obtaining a copy 6 | of this software and associated documentation files (the "Software"), to deal 7 | in the Software without restriction, including without limitation the rights 8 | to use, copy, modify, merge, publish, distribute, sublicense, and/or sell 9 | copies of the Software, and to permit persons to whom the Software is 10 | furnished to do so, subject to the following conditions: 11 | 12 | The above copyright notice and this permission notice shall be included in all 13 | copies or substantial portions of the Software. 14 | 15 | THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR 16 | IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, 17 | FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE 18 | AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER 19 | LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, 20 | OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE 21 | SOFTWARE. 22 | 23 | 24 | ===============================================================================} 25 | 26 | program ModbusSlave; 27 | 28 | uses 29 | Forms, 30 | frm_Main in 'frm_Main.pas' {frmMain}; 31 | 32 | {$R *.res} 33 | 34 | begin 35 | Application.Initialize; 36 | Application.CreateForm(TfrmMain, frmMain); 37 | Application.Run; 38 | end. 39 | -------------------------------------------------------------------------------- /demos/Indy10/Slave/ModbusSlave.dproj: -------------------------------------------------------------------------------- 1 |  2 | 3 | {BB9D6BBF-7705-4FC8-9A4D-F1E3F2B02B2C} 4 | ModbusSlave.dpr 5 | Debug 6 | DCC32 7 | 12.0 8 | 9 | 10 | true 11 | 12 | 13 | true 14 | Base 15 | true 16 | 17 | 18 | true 19 | Base 20 | true 21 | 22 | 23 | ..\..\..\source;$(DCC_UnitSearchPath) 24 | WinTypes=Windows;WinProcs=Windows;$(DCC_UnitAlias) 25 | ModbusSlave.exe 26 | 00400000 27 | x86 28 | 29 | 30 | false 31 | RELEASE;$(DCC_Define) 32 | 0 33 | false 34 | 35 | 36 | DEBUG;$(DCC_Define) 37 | 38 | 39 | 40 | MainSource 41 | 42 | 43 |
frmMain
44 |
45 | 46 | Base 47 | 48 | 49 | Cfg_2 50 | Base 51 | 52 | 53 | Cfg_1 54 | Base 55 | 56 |
57 | 58 | 59 | Delphi.Personality.12 60 | VCLApplication 61 | 62 | 63 | 64 | ModbusSlave.dpr 65 | 66 | 67 | False 68 | True 69 | False 70 | 71 | 72 | False 73 | False 74 | 1 75 | 0 76 | 0 77 | 0 78 | False 79 | False 80 | False 81 | False 82 | False 83 | 1033 84 | 1252 85 | 86 | 87 | 88 | 89 | 1.0.0.0 90 | 91 | 92 | 93 | 94 | 95 | 1.0.0.0 96 | 97 | 98 | 99 | Embarcadero C++Builder Office 2000 Servers Package 100 | Embarcadero C++Builder Office XP Servers Package 101 | Microsoft Office 2000 Sample Automation Server Wrapper Components 102 | Microsoft Office XP Sample Automation Server Wrapper Components 103 | 104 | 105 | 106 | 12 107 | 108 |
109 | -------------------------------------------------------------------------------- /demos/Indy10/Slave/ModbusSlave.exe: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/coassoftwaresystems/delphi-modbus/6cc72803b45ca405b14f9d9218d10d8fa95aad0d/demos/Indy10/Slave/ModbusSlave.exe -------------------------------------------------------------------------------- /demos/Indy10/Slave/ModbusSlave.res: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/coassoftwaresystems/delphi-modbus/6cc72803b45ca405b14f9d9218d10d8fa95aad0d/demos/Indy10/Slave/ModbusSlave.res -------------------------------------------------------------------------------- /demos/Indy10/Slave/ModbusSlave_Icon.ico: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/coassoftwaresystems/delphi-modbus/6cc72803b45ca405b14f9d9218d10d8fa95aad0d/demos/Indy10/Slave/ModbusSlave_Icon.ico -------------------------------------------------------------------------------- /demos/Indy10/demos.groupproj: -------------------------------------------------------------------------------- 1 |  2 | 3 | {C9604D1F-587A-4AB1-8AC9-6A8B5ECB2970} 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | Default.Personality.12 15 | 16 | 17 | 18 | 19 | 20 | 21 | 22 | 23 | 24 | 25 | 26 | 27 | 28 | 29 | 30 | 31 | 32 | 33 | 34 | 35 | 36 | 37 | 38 | 39 | 40 | 41 | 42 | 43 | 44 | 45 | 46 | 47 | 48 | 49 | -------------------------------------------------------------------------------- /demos/Indy10/demos_prjgroup.tvsconfig: -------------------------------------------------------------------------------- 1 | 2 | -------------------------------------------------------------------------------- /demos/Indy9/Master/ModbusMaster.cfg: -------------------------------------------------------------------------------- 1 | -$A8 2 | -$B- 3 | -$C+ 4 | -$D+ 5 | -$E- 6 | -$F- 7 | -$G+ 8 | -$H+ 9 | -$I+ 10 | -$J- 11 | -$K- 12 | -$L+ 13 | -$M- 14 | -$N+ 15 | -$O+ 16 | -$P+ 17 | -$Q- 18 | -$R- 19 | -$S- 20 | -$T- 21 | -$U- 22 | -$V+ 23 | -$W- 24 | -$X+ 25 | -$YD 26 | -$Z1 27 | -cg 28 | -AWinTypes=Windows;WinProcs=Windows;DbiTypes=BDE;DbiProcs=BDE;DbiErrs=BDE; 29 | -H+ 30 | -W+ 31 | -M 32 | -$M16384,1048576 33 | -K$00400000 34 | -LE"c:\program files\borland\delphi7\Projects\Bpl" 35 | -LN"c:\program files\borland\delphi7\Projects\Bpl" 36 | -U"..\..\..\source" 37 | -O"..\..\..\source" 38 | -I"..\..\..\source" 39 | -R"..\..\..\source" 40 | -w-UNSAFE_TYPE 41 | -w-UNSAFE_CODE 42 | -w-UNSAFE_CAST 43 | -------------------------------------------------------------------------------- /demos/Indy9/Master/ModbusMaster.dof: -------------------------------------------------------------------------------- 1 | [FileVersion] 2 | Version=7.0 3 | [Compiler] 4 | A=8 5 | B=0 6 | C=1 7 | D=1 8 | E=0 9 | F=0 10 | G=1 11 | H=1 12 | I=1 13 | J=0 14 | K=0 15 | L=1 16 | M=0 17 | N=1 18 | O=1 19 | P=1 20 | Q=0 21 | R=0 22 | S=0 23 | T=0 24 | U=0 25 | V=1 26 | W=0 27 | X=1 28 | Y=1 29 | Z=1 30 | ShowHints=1 31 | ShowWarnings=1 32 | UnitAliases=WinTypes=Windows;WinProcs=Windows;DbiTypes=BDE;DbiProcs=BDE;DbiErrs=BDE; 33 | NamespacePrefix= 34 | SymbolDeprecated=1 35 | SymbolLibrary=1 36 | SymbolPlatform=1 37 | UnitLibrary=1 38 | UnitPlatform=1 39 | UnitDeprecated=1 40 | HResultCompat=1 41 | HidingMember=1 42 | HiddenVirtual=1 43 | Garbage=1 44 | BoundsError=1 45 | ZeroNilCompat=1 46 | StringConstTruncated=1 47 | ForLoopVarVarPar=1 48 | TypedConstVarPar=1 49 | AsgToTypedConst=1 50 | CaseLabelRange=1 51 | ForVariable=1 52 | ConstructingAbstract=1 53 | ComparisonFalse=1 54 | ComparisonTrue=1 55 | ComparingSignedUnsigned=1 56 | CombiningSignedUnsigned=1 57 | UnsupportedConstruct=1 58 | FileOpen=1 59 | FileOpenUnitSrc=1 60 | BadGlobalSymbol=1 61 | DuplicateConstructorDestructor=1 62 | InvalidDirective=1 63 | PackageNoLink=1 64 | PackageThreadVar=1 65 | ImplicitImport=1 66 | HPPEMITIgnored=1 67 | NoRetVal=1 68 | UseBeforeDef=1 69 | ForLoopVarUndef=1 70 | UnitNameMismatch=1 71 | NoCFGFileFound=1 72 | MessageDirective=1 73 | ImplicitVariants=1 74 | UnicodeToLocale=1 75 | LocaleToUnicode=1 76 | ImagebaseMultiple=1 77 | SuspiciousTypecast=1 78 | PrivatePropAccessor=1 79 | UnsafeType=0 80 | UnsafeCode=0 81 | UnsafeCast=0 82 | [Linker] 83 | MapFile=0 84 | OutputObjs=0 85 | ConsoleApp=1 86 | DebugInfo=0 87 | RemoteSymbols=0 88 | MinStackSize=16384 89 | MaxStackSize=1048576 90 | ImageBase=4194304 91 | ExeDescription= 92 | [Directories] 93 | OutputDir= 94 | UnitOutputDir= 95 | PackageDLLOutputDir= 96 | PackageDCPOutputDir= 97 | SearchPath=..\..\..\source 98 | Packages=rtl;vcl;vclx;indy;inet;xmlrtl;vclie;inetdbbde;inetdbxpress;dbrtl;dsnap;dsnapcon;vcldb;soaprtl;VclSmp;dbexpress;dbxcds;inetdb;bdertl;vcldbx;webdsnap;websnap;adortl;ibxpress;teeui;teedb;tee;dss;visualclx;visualdbclx;vclactnband;vclshlctrls;IntrawebDB_50_70;Intraweb_50_70;Rave50CLX;Rave50VCL;dclOfficeXP;XLSRWII20_D7;NCO86;qrpt70;ah_comp;COASStd;A406_R70;vcloledbdirect;DelphiModbus70;EasyListviewD7 99 | Conditionals= 100 | DebugSourceDirs= 101 | UsePackages=0 102 | [Parameters] 103 | RunParams= 104 | HostApplication= 105 | Launcher= 106 | UseLauncher=0 107 | DebugCWD= 108 | [Language] 109 | ActiveLang= 110 | ProjectLang= 111 | RootDir=C:\Program Files\Borland\Delphi7\Bin\ 112 | [Version Info] 113 | IncludeVerInfo=0 114 | AutoIncBuild=0 115 | MajorVer=1 116 | MinorVer=0 117 | Release=0 118 | Build=0 119 | Debug=0 120 | PreRelease=0 121 | Special=0 122 | Private=0 123 | DLL=0 124 | Locale=1033 125 | CodePage=1252 126 | [Version Info Keys] 127 | CompanyName= 128 | FileDescription= 129 | FileVersion=1.0.0.0 130 | InternalName= 131 | LegalCopyright= 132 | LegalTrademarks= 133 | OriginalFilename= 134 | ProductName= 135 | ProductVersion=1.0.0.0 136 | Comments= 137 | -------------------------------------------------------------------------------- /demos/Indy9/Master/ModbusMaster.dpr: -------------------------------------------------------------------------------- 1 | {=============================================================================== 2 | 3 | Copyright (c) 2010 P.L. Polak 4 | 5 | Permission is hereby granted, free of charge, to any person obtaining a copy 6 | of this software and associated documentation files (the "Software"), to deal 7 | in the Software without restriction, including without limitation the rights 8 | to use, copy, modify, merge, publish, distribute, sublicense, and/or sell 9 | copies of the Software, and to permit persons to whom the Software is 10 | furnished to do so, subject to the following conditions: 11 | 12 | The above copyright notice and this permission notice shall be included in all 13 | copies or substantial portions of the Software. 14 | 15 | THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR 16 | IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, 17 | FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE 18 | AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER 19 | LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, 20 | OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE 21 | SOFTWARE. 22 | 23 | 24 | ===============================================================================} 25 | 26 | program ModBusMaster; 27 | 28 | uses 29 | Forms, 30 | frm_Main in 'frm_Main.pas' {frmMain}; 31 | 32 | {$R *.res} 33 | 34 | begin 35 | Application.Initialize; 36 | Application.CreateForm(TfrmMain, frmMain); 37 | Application.Run; 38 | end. 39 | -------------------------------------------------------------------------------- /demos/Indy9/Master/ModbusMaster.exe: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/coassoftwaresystems/delphi-modbus/6cc72803b45ca405b14f9d9218d10d8fa95aad0d/demos/Indy9/Master/ModbusMaster.exe -------------------------------------------------------------------------------- /demos/Indy9/Master/ModbusMaster.res: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/coassoftwaresystems/delphi-modbus/6cc72803b45ca405b14f9d9218d10d8fa95aad0d/demos/Indy9/Master/ModbusMaster.res -------------------------------------------------------------------------------- /demos/Indy9/Master/frm_Main.ddp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/coassoftwaresystems/delphi-modbus/6cc72803b45ca405b14f9d9218d10d8fa95aad0d/demos/Indy9/Master/frm_Main.ddp -------------------------------------------------------------------------------- /demos/Indy9/Master/frm_Main.dfm: -------------------------------------------------------------------------------- 1 | object frmMain: TfrmMain 2 | Left = 243 3 | Top = 150 4 | BorderStyle = bsDialog 5 | Caption = 'Delphi Modbus master demo' 6 | ClientHeight = 175 7 | ClientWidth = 520 8 | Color = clBtnFace 9 | Font.Charset = DEFAULT_CHARSET 10 | Font.Color = clWindowText 11 | Font.Height = -11 12 | Font.Name = 'MS Shell Dlg 2' 13 | Font.Style = [] 14 | OldCreateOrder = False 15 | Position = poScreenCenter 16 | Scaled = False 17 | PixelsPerInch = 96 18 | TextHeight = 13 19 | object Label1: TLabel 20 | Left = 8 21 | Top = 12 22 | Width = 104 23 | Height = 13 24 | Caption = 'IP address of the PLC' 25 | end 26 | object edtIPAddress: TEdit 27 | Left = 120 28 | Top = 8 29 | Width = 137 30 | Height = 21 31 | TabOrder = 0 32 | Text = '0.0.0.0' 33 | end 34 | object GroupBox1: TGroupBox 35 | Left = 8 36 | Top = 40 37 | Width = 249 38 | Height = 129 39 | Caption = ' Read test ' 40 | TabOrder = 1 41 | object Label2: TLabel 42 | Left = 16 43 | Top = 24 44 | Width = 75 45 | Height = 13 46 | Caption = 'PLC register nr.' 47 | end 48 | object Label5: TLabel 49 | Left = 16 50 | Top = 52 51 | Width = 57 52 | Height = 13 53 | Caption = 'Block length' 54 | end 55 | object edtReadReg: TEdit 56 | Left = 104 57 | Top = 20 58 | Width = 129 59 | Height = 21 60 | TabOrder = 0 61 | end 62 | object btnRead: TButton 63 | Left = 16 64 | Top = 88 65 | Width = 217 66 | Height = 25 67 | Caption = '&Read register' 68 | TabOrder = 2 69 | OnClick = btnReadClick 70 | end 71 | object edtReadAmount: TEdit 72 | Left = 104 73 | Top = 48 74 | Width = 73 75 | Height = 21 76 | TabOrder = 1 77 | Text = '1' 78 | end 79 | end 80 | object GroupBox2: TGroupBox 81 | Left = 264 82 | Top = 40 83 | Width = 249 84 | Height = 129 85 | Caption = ' Write test ' 86 | TabOrder = 2 87 | object Label3: TLabel 88 | Left = 16 89 | Top = 24 90 | Width = 75 91 | Height = 13 92 | Caption = 'PLC register nr.' 93 | end 94 | object Label4: TLabel 95 | Left = 16 96 | Top = 56 97 | Width = 50 98 | Height = 13 99 | Caption = 'New value' 100 | end 101 | object edtWriteReg: TEdit 102 | Left = 104 103 | Top = 20 104 | Width = 129 105 | Height = 21 106 | TabOrder = 0 107 | end 108 | object edtValue: TEdit 109 | Left = 104 110 | Top = 52 111 | Width = 129 112 | Height = 21 113 | TabOrder = 1 114 | end 115 | object btnWrite: TButton 116 | Left = 16 117 | Top = 88 118 | Width = 217 119 | Height = 25 120 | Caption = '&Write register' 121 | TabOrder = 2 122 | OnClick = btnWriteClick 123 | end 124 | end 125 | object mctPLC: TIdModBusClient 126 | MaxLineAction = maException 127 | Left = 488 128 | Top = 8 129 | end 130 | end 131 | -------------------------------------------------------------------------------- /demos/Indy9/Master/frm_Main.pas: -------------------------------------------------------------------------------- 1 | {=============================================================================== 2 | 3 | Copyright (c) 2010 P.L. Polak 4 | 5 | Permission is hereby granted, free of charge, to any person obtaining a copy 6 | of this software and associated documentation files (the "Software"), to deal 7 | in the Software without restriction, including without limitation the rights 8 | to use, copy, modify, merge, publish, distribute, sublicense, and/or sell 9 | copies of the Software, and to permit persons to whom the Software is 10 | furnished to do so, subject to the following conditions: 11 | 12 | The above copyright notice and this permission notice shall be included in all 13 | copies or substantial portions of the Software. 14 | 15 | THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR 16 | IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, 17 | FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE 18 | AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER 19 | LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, 20 | OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE 21 | SOFTWARE. 22 | 23 | 24 | ===============================================================================} 25 | 26 | unit frm_Main; 27 | 28 | interface 29 | 30 | uses 31 | Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms, 32 | Dialogs, StdCtrls, IdBaseComponent, IdComponent, IdTCPConnection, 33 | IdTCPClient, IdModbusClient, Types; 34 | 35 | type 36 | TfrmMain = class(TForm) 37 | Label1: TLabel; 38 | edtIPAddress: TEdit; 39 | GroupBox1: TGroupBox; 40 | GroupBox2: TGroupBox; 41 | mctPLC: TIdModbusClient; 42 | Label2: TLabel; 43 | edtReadReg: TEdit; 44 | btnRead: TButton; 45 | Label3: TLabel; 46 | edtWriteReg: TEdit; 47 | Label4: TLabel; 48 | edtValue: TEdit; 49 | btnWrite: TButton; 50 | Label5: TLabel; 51 | edtReadAmount: TEdit; 52 | procedure btnReadClick(Sender: TObject); 53 | procedure btnWriteClick(Sender: TObject); 54 | private 55 | { Private declarations } 56 | public 57 | { Public declarations } 58 | end; 59 | 60 | var 61 | frmMain: TfrmMain; 62 | 63 | implementation 64 | 65 | {$R *.dfm} 66 | 67 | procedure TfrmMain.btnReadClick(Sender: TObject); 68 | var 69 | Data: array[0..4096] of Word; 70 | iAmount: Integer; 71 | i: Integer; 72 | sLine: String; 73 | begin 74 | iAmount := StrToInt(edtReadAmount.Text); 75 | if (iAmount > 0) then 76 | begin 77 | mctPLC.Host := edtIPAddress.Text; 78 | if mctPLC.ReadHoldingRegisters(StrToInt(edtReadReg.Text), iAmount, Data) then 79 | begin 80 | sLine := 'Register value(s) read:'; 81 | for i := 0 to (iAmount - 1) do 82 | sLine := sLine + 83 | #13#10' ' + 84 | IntToStr(StrToInt(edtReadReg.Text) + i) + 85 | ': 0x' + 86 | IntToHex(Data[i], 4); 87 | ShowMessage(sLine); 88 | end 89 | else 90 | ShowMessage('PLC read operation failed!'); 91 | end; 92 | end; { btnReadClick } 93 | 94 | 95 | procedure TfrmMain.btnWriteClick(Sender: TObject); 96 | begin 97 | mctPLC.Host := edtIPAddress.Text; 98 | if mctPLC.WriteRegister(StrToInt(edtWriteReg.Text), StrToInt(edtValue.Text)) then 99 | MessageDlg('PLC register write successful!', mtError, [mbOk], 0) 100 | else 101 | MessageDlg('PLC register write failed!', mtError, [mbOk], 0); 102 | end; { btnWriteClick } 103 | 104 | 105 | end. 106 | -------------------------------------------------------------------------------- /demos/Indy9/Slave/ModbusSlave.cfg: -------------------------------------------------------------------------------- 1 | -$A8 2 | -$B- 3 | -$C+ 4 | -$D+ 5 | -$E- 6 | -$F- 7 | -$G+ 8 | -$H+ 9 | -$I+ 10 | -$J- 11 | -$K- 12 | -$L+ 13 | -$M- 14 | -$N+ 15 | -$O+ 16 | -$P+ 17 | -$Q- 18 | -$R- 19 | -$S- 20 | -$T- 21 | -$U- 22 | -$V+ 23 | -$W- 24 | -$X+ 25 | -$YD 26 | -$Z1 27 | -cg 28 | -AWinTypes=Windows;WinProcs=Windows;DbiTypes=BDE;DbiProcs=BDE;DbiErrs=BDE; 29 | -H+ 30 | -W+ 31 | -M 32 | -$M16384,1048576 33 | -K$00400000 34 | -LE"c:\program files\borland\delphi7\Projects\Bpl" 35 | -LN"c:\program files\borland\delphi7\Projects\Bpl" 36 | -U"..\..\..\Source" 37 | -O"..\..\..\Source" 38 | -I"..\..\..\Source" 39 | -R"..\..\..\Source" 40 | -w-UNSAFE_TYPE 41 | -w-UNSAFE_CODE 42 | -w-UNSAFE_CAST 43 | -------------------------------------------------------------------------------- /demos/Indy9/Slave/ModbusSlave.dof: -------------------------------------------------------------------------------- 1 | [FileVersion] 2 | Version=7.0 3 | [Compiler] 4 | A=8 5 | B=0 6 | C=1 7 | D=1 8 | E=0 9 | F=0 10 | G=1 11 | H=1 12 | I=1 13 | J=0 14 | K=0 15 | L=1 16 | M=0 17 | N=1 18 | O=1 19 | P=1 20 | Q=0 21 | R=0 22 | S=0 23 | T=0 24 | U=0 25 | V=1 26 | W=0 27 | X=1 28 | Y=1 29 | Z=1 30 | ShowHints=1 31 | ShowWarnings=1 32 | UnitAliases=WinTypes=Windows;WinProcs=Windows;DbiTypes=BDE;DbiProcs=BDE;DbiErrs=BDE; 33 | NamespacePrefix= 34 | SymbolDeprecated=1 35 | SymbolLibrary=1 36 | SymbolPlatform=1 37 | UnitLibrary=1 38 | UnitPlatform=1 39 | UnitDeprecated=1 40 | HResultCompat=1 41 | HidingMember=1 42 | HiddenVirtual=1 43 | Garbage=1 44 | BoundsError=1 45 | ZeroNilCompat=1 46 | StringConstTruncated=1 47 | ForLoopVarVarPar=1 48 | TypedConstVarPar=1 49 | AsgToTypedConst=1 50 | CaseLabelRange=1 51 | ForVariable=1 52 | ConstructingAbstract=1 53 | ComparisonFalse=1 54 | ComparisonTrue=1 55 | ComparingSignedUnsigned=1 56 | CombiningSignedUnsigned=1 57 | UnsupportedConstruct=1 58 | FileOpen=1 59 | FileOpenUnitSrc=1 60 | BadGlobalSymbol=1 61 | DuplicateConstructorDestructor=1 62 | InvalidDirective=1 63 | PackageNoLink=1 64 | PackageThreadVar=1 65 | ImplicitImport=1 66 | HPPEMITIgnored=1 67 | NoRetVal=1 68 | UseBeforeDef=1 69 | ForLoopVarUndef=1 70 | UnitNameMismatch=1 71 | NoCFGFileFound=1 72 | MessageDirective=1 73 | ImplicitVariants=1 74 | UnicodeToLocale=1 75 | LocaleToUnicode=1 76 | ImagebaseMultiple=1 77 | SuspiciousTypecast=1 78 | PrivatePropAccessor=1 79 | UnsafeType=0 80 | UnsafeCode=0 81 | UnsafeCast=0 82 | [Linker] 83 | MapFile=0 84 | OutputObjs=0 85 | ConsoleApp=1 86 | DebugInfo=0 87 | RemoteSymbols=0 88 | MinStackSize=16384 89 | MaxStackSize=1048576 90 | ImageBase=4194304 91 | ExeDescription= 92 | [Directories] 93 | OutputDir= 94 | UnitOutputDir= 95 | PackageDLLOutputDir= 96 | PackageDCPOutputDir= 97 | SearchPath=..\..\..\Source 98 | Packages=rtl;vcl;vclx;indy;inet;xmlrtl;vclie;inetdbbde;inetdbxpress;dbrtl;dsnap;dsnapcon;vcldb;soaprtl;VclSmp;dbexpress;dbxcds;inetdb;bdertl;vcldbx;webdsnap;websnap;adortl;ibxpress;teeui;teedb;tee;dss;visualclx;visualdbclx;vclactnband;vclshlctrls;IntrawebDB_50_70;Intraweb_50_70;Rave50CLX;Rave50VCL;dclOfficeXP;XLSRWII20_D7;NCO86;qrpt70;ah_comp;COASStd;A406_R70;vcloledbdirect;DelphiModbus70;EasyListviewD7 99 | Conditionals= 100 | DebugSourceDirs= 101 | UsePackages=0 102 | [Parameters] 103 | RunParams= 104 | HostApplication= 105 | Launcher= 106 | UseLauncher=0 107 | DebugCWD= 108 | [Language] 109 | ActiveLang= 110 | ProjectLang= 111 | RootDir=C:\Program Files\Borland\Delphi7\Bin\ 112 | [Version Info] 113 | IncludeVerInfo=0 114 | AutoIncBuild=0 115 | MajorVer=1 116 | MinorVer=0 117 | Release=0 118 | Build=0 119 | Debug=0 120 | PreRelease=0 121 | Special=0 122 | Private=0 123 | DLL=0 124 | Locale=1033 125 | CodePage=1252 126 | [Version Info Keys] 127 | CompanyName= 128 | FileDescription= 129 | FileVersion=1.0.0.0 130 | InternalName= 131 | LegalCopyright= 132 | LegalTrademarks= 133 | OriginalFilename= 134 | ProductName= 135 | ProductVersion=1.0.0.0 136 | Comments= 137 | -------------------------------------------------------------------------------- /demos/Indy9/Slave/ModbusSlave.dpr: -------------------------------------------------------------------------------- 1 | {=============================================================================== 2 | 3 | Copyright (c) 2010 P.L. Polak 4 | 5 | Permission is hereby granted, free of charge, to any person obtaining a copy 6 | of this software and associated documentation files (the "Software"), to deal 7 | in the Software without restriction, including without limitation the rights 8 | to use, copy, modify, merge, publish, distribute, sublicense, and/or sell 9 | copies of the Software, and to permit persons to whom the Software is 10 | furnished to do so, subject to the following conditions: 11 | 12 | The above copyright notice and this permission notice shall be included in all 13 | copies or substantial portions of the Software. 14 | 15 | THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR 16 | IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, 17 | FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE 18 | AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER 19 | LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, 20 | OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE 21 | SOFTWARE. 22 | 23 | 24 | ===============================================================================} 25 | 26 | program ModbusSlave; 27 | 28 | uses 29 | Forms, 30 | frm_Main in 'frm_Main.pas' {frmMain}; 31 | 32 | {$R *.res} 33 | 34 | begin 35 | Application.Initialize; 36 | Application.CreateForm(TfrmMain, frmMain); 37 | Application.Run; 38 | end. 39 | -------------------------------------------------------------------------------- /demos/Indy9/Slave/ModbusSlave.exe: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/coassoftwaresystems/delphi-modbus/6cc72803b45ca405b14f9d9218d10d8fa95aad0d/demos/Indy9/Slave/ModbusSlave.exe -------------------------------------------------------------------------------- /demos/Indy9/Slave/ModbusSlave.res: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/coassoftwaresystems/delphi-modbus/6cc72803b45ca405b14f9d9218d10d8fa95aad0d/demos/Indy9/Slave/ModbusSlave.res -------------------------------------------------------------------------------- /demos/Indy9/Slave/frm_Main.ddp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/coassoftwaresystems/delphi-modbus/6cc72803b45ca405b14f9d9218d10d8fa95aad0d/demos/Indy9/Slave/frm_Main.ddp -------------------------------------------------------------------------------- /demos/Indy9/demos.bpg: -------------------------------------------------------------------------------- 1 | #------------------------------------------------------------------------------ 2 | VERSION = BWS.01 3 | #------------------------------------------------------------------------------ 4 | !ifndef ROOT 5 | ROOT = $(MAKEDIR)\.. 6 | !endif 7 | #------------------------------------------------------------------------------ 8 | MAKE = $(ROOT)\bin\make.exe -$(MAKEFLAGS) -f$** 9 | DCC = $(ROOT)\bin\dcc32.exe $** 10 | BRCC = $(ROOT)\bin\brcc32.exe $** 11 | #------------------------------------------------------------------------------ 12 | PROJECTS = ModbusMaster.exe ModbusSlave.exe 13 | #------------------------------------------------------------------------------ 14 | default: $(PROJECTS) 15 | #------------------------------------------------------------------------------ 16 | 17 | ModbusMaster.exe: master\ModbusMaster.dpr 18 | $(DCC) 19 | 20 | ModbusSlave.exe: slave\ModbusSlave.dpr 21 | $(DCC) 22 | 23 | 24 | -------------------------------------------------------------------------------- /demos/Lazarus/Master/ModbusMaster.exe: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/coassoftwaresystems/delphi-modbus/6cc72803b45ca405b14f9d9218d10d8fa95aad0d/demos/Lazarus/Master/ModbusMaster.exe -------------------------------------------------------------------------------- /demos/Lazarus/Master/ModbusMaster.ico: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/coassoftwaresystems/delphi-modbus/6cc72803b45ca405b14f9d9218d10d8fa95aad0d/demos/Lazarus/Master/ModbusMaster.ico -------------------------------------------------------------------------------- /demos/Lazarus/Master/ModbusMaster.lpi: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | 21 | 22 | 23 | 24 | 25 | 26 | 27 | 28 | 29 | 30 | 31 | 32 | 33 | 34 | 35 | 36 | 37 | 38 | 39 | 40 | 41 | 42 | 43 | 44 | 45 | 46 | 47 | 48 | 49 | 50 | 51 | 52 | 53 | 54 | 55 | 56 | 57 | 58 | 59 | 60 | 61 | 62 | 63 | 64 | 65 | 66 | 67 | 68 | 69 | 70 | 71 | 72 | 73 | 74 | 75 | 76 | 77 | 78 | 79 | 80 | 81 | 82 | 83 | 84 | 85 | 86 | 87 | 88 | 89 | 90 | 91 | 92 | 93 | 94 | 95 | 96 | 97 | 98 | 99 | 100 | 101 | 102 | 103 | 104 | 105 | 106 | 107 | 108 | 109 | 110 | 111 | 112 | 113 | 114 | 115 | 116 | -------------------------------------------------------------------------------- /demos/Lazarus/Master/ModbusMaster.lpr: -------------------------------------------------------------------------------- 1 | program ModbusMaster; 2 | 3 | {$mode objfpc}{$H+} 4 | 5 | uses 6 | {$IFDEF UNIX}{$IFDEF UseCThreads} 7 | cthreads, 8 | {$ENDIF}{$ENDIF} 9 | Interfaces, // this includes the LCL widgetset 10 | Forms, frm_Main, delphimodbuslazarus 11 | { you can add units after this }; 12 | 13 | {$R ModbusMaster.res} 14 | 15 | begin 16 | Application.Initialize; 17 | Application.CreateForm(TfrmMain, frmMain); 18 | Application.Run; 19 | end. 20 | 21 | -------------------------------------------------------------------------------- /demos/Lazarus/Master/ModbusMaster.res: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/coassoftwaresystems/delphi-modbus/6cc72803b45ca405b14f9d9218d10d8fa95aad0d/demos/Lazarus/Master/ModbusMaster.res -------------------------------------------------------------------------------- /demos/Lazarus/Master/frm_Main.lfm: -------------------------------------------------------------------------------- 1 | object frmMain: TfrmMain 2 | Left = 327 3 | Height = 163 4 | Top = 186 5 | Width = 522 6 | Caption = 'Delphi Modbus master demo' 7 | ClientHeight = 163 8 | ClientWidth = 522 9 | LCLVersion = '0.9.29' 10 | object Label1: TLabel 11 | Left = 8 12 | Height = 14 13 | Top = 12 14 | Width = 105 15 | Caption = 'IP address of the PLC' 16 | ParentColor = False 17 | end 18 | object edtIPAddress: TEdit 19 | Left = 120 20 | Height = 21 21 | Top = 8 22 | Width = 136 23 | TabOrder = 0 24 | Text = '127.0.0.1' 25 | end 26 | object GroupBox1: TGroupBox 27 | Left = 7 28 | Height = 113 29 | Top = 40 30 | Width = 249 31 | Caption = ' Read test ' 32 | ClientHeight = 95 33 | ClientWidth = 245 34 | TabOrder = 1 35 | object Label2: TLabel 36 | Left = 11 37 | Height = 14 38 | Top = 8 39 | Width = 76 40 | Caption = 'PLC register nr.' 41 | ParentColor = False 42 | end 43 | object edtReadReg: TEdit 44 | Left = 102 45 | Height = 21 46 | Top = 8 47 | Width = 137 48 | TabOrder = 0 49 | Text = '1' 50 | end 51 | object Label3: TLabel 52 | Left = 11 53 | Height = 14 54 | Top = 35 55 | Width = 58 56 | Caption = 'Block length' 57 | ParentColor = False 58 | end 59 | object edtReadAmount: TEdit 60 | Left = 102 61 | Height = 21 62 | Top = 35 63 | Width = 65 64 | TabOrder = 1 65 | Text = '1' 66 | end 67 | object btnRead: TButton 68 | Left = 7 69 | Height = 25 70 | Top = 64 71 | Width = 232 72 | Caption = '&Read register' 73 | OnClick = btnReadClick 74 | TabOrder = 2 75 | end 76 | end 77 | object GroupBox2: TGroupBox 78 | Left = 264 79 | Height = 113 80 | Top = 40 81 | Width = 249 82 | Caption = ' Write test ' 83 | ClientHeight = 95 84 | ClientWidth = 245 85 | TabOrder = 2 86 | object Label4: TLabel 87 | Left = 11 88 | Height = 14 89 | Top = 8 90 | Width = 76 91 | Caption = 'PLC register nr.' 92 | ParentColor = False 93 | end 94 | object edtWriteReg: TEdit 95 | Left = 102 96 | Height = 21 97 | Top = 8 98 | Width = 137 99 | TabOrder = 0 100 | Text = '1' 101 | end 102 | object Label5: TLabel 103 | Left = 11 104 | Height = 14 105 | Top = 35 106 | Width = 51 107 | Caption = 'New Value' 108 | ParentColor = False 109 | end 110 | object edtValue: TEdit 111 | Left = 102 112 | Height = 21 113 | Top = 35 114 | Width = 137 115 | TabOrder = 1 116 | Text = '1' 117 | end 118 | object btnWrite: TButton 119 | Left = 7 120 | Height = 25 121 | Top = 64 122 | Width = 232 123 | Caption = '&Write register' 124 | OnClick = btnWriteClick 125 | TabOrder = 2 126 | end 127 | end 128 | object mctPLC: TIdModBusClient 129 | ConnectTimeout = 0 130 | IPVersion = Id_IPv4 131 | left = 408 132 | top = 8 133 | end 134 | end 135 | -------------------------------------------------------------------------------- /demos/Lazarus/Master/frm_Main.pas: -------------------------------------------------------------------------------- 1 | unit frm_Main; 2 | 3 | {$mode objfpc}{$H+} 4 | 5 | interface 6 | 7 | uses 8 | Classes, SysUtils, FileUtil, LResources, Forms, Controls, Graphics, Dialogs, 9 | StdCtrls, IdModBusClient; 10 | 11 | type 12 | 13 | { TfrmMain } 14 | 15 | TfrmMain = class(TForm) 16 | btnRead: TButton; 17 | btnWrite: TButton; 18 | edtReadAmount: TEdit; 19 | edtValue: TEdit; 20 | edtReadReg: TEdit; 21 | edtIPAddress: TEdit; 22 | edtWriteReg: TEdit; 23 | GroupBox1: TGroupBox; 24 | GroupBox2: TGroupBox; 25 | Label4: TLabel; 26 | Label5: TLabel; 27 | mctPLC: TIdModBusClient; 28 | Label1: TLabel; 29 | Label2: TLabel; 30 | Label3: TLabel; 31 | procedure btnReadClick(Sender: TObject); 32 | procedure btnWriteClick(Sender: TObject); 33 | private 34 | { private declarations } 35 | public 36 | { public declarations } 37 | end; 38 | 39 | var 40 | frmMain: TfrmMain; 41 | 42 | implementation 43 | 44 | {$R *.lfm} 45 | 46 | { TfrmMain } 47 | 48 | procedure TfrmMain.btnReadClick(Sender: TObject); 49 | var 50 | Data: array[0..4096] of Word; 51 | iAmount: Integer; 52 | i: Integer; 53 | sLine: String; 54 | begin 55 | iAmount := StrToInt(edtReadAmount.Text); 56 | if (iAmount > 0) then 57 | begin 58 | mctPLC.Host := edtIPAddress.Text; 59 | if mctPLC.ReadHoldingRegisters(StrToInt(edtReadReg.Text), iAmount, Data) then 60 | begin 61 | sLine := 'Register value(s) read:'; 62 | for i := 0 to (iAmount - 1) do 63 | sLine := sLine + 64 | #13#10' ' + 65 | IntToStr(StrToInt(edtReadReg.Text) + i) + 66 | ': 0x' + 67 | IntToHex(Data[i], 4); 68 | ShowMessage(sLine); 69 | end 70 | else 71 | ShowMessage('PLC read operation failed!'); 72 | end; 73 | end; 74 | 75 | 76 | procedure TfrmMain.btnWriteClick(Sender: TObject); 77 | begin 78 | mctPLC.Host := edtIPAddress.Text; 79 | if mctPLC.WriteRegister(StrToInt(edtWriteReg.Text), StrToInt(edtValue.Text)) then 80 | MessageDlg('PLC register write successful!', mtError, [mbOk], 0) 81 | else 82 | MessageDlg('PLC register write failed!', mtError, [mbOk], 0); 83 | end; 84 | 85 | 86 | end. 87 | 88 | -------------------------------------------------------------------------------- /demos/readme.txt: -------------------------------------------------------------------------------- 1 | Delphi Modbus library demos 2 | =========================== 3 | Demos are available based on Indy 9 and Indy 10 implementation 4 | 5 | Indy9: Demos created in Delphi 7, and should also work on Delphi 5 and 6. 6 | (to open under earlier Delphi versions: delete *.dof). 7 | Indy10: Demos created in Delphi XE, and should also work on higher Delphi versions. 8 | (to open under earlier Delphi versions: delete *.dproj). 9 | 10 | In addition cross platform demos are available: 11 | Lazarus: Demos created using FPC / Lazarus. 12 | FireMonkey: Demos created using FireMonkey on Delphi XE2. Targets Win32, Win64 13 | and OSX. 14 | 15 | Available demos: 16 | 17 | Master: Implements a simple Modbus master which reads and writes registers from 18 | a PLC. 19 | Slave: Implements a simple Modbus slave which can be accessed via ModbusTCP and 20 | handles read and write operations on holding registers. 21 | 22 | 23 | Compiling and running the demo applications 24 | =========================================== 25 | Seperate demos are provided based on both Indy 9 and Indy 10. The Indy 9 demos 26 | have been created in Delphi 7, whilst the Indy 10 demos have been created in 27 | Delphi 2010. By default DelphiModbus is based on Indy 10 for Delphi versions 28 | from 2005 and up (older versions are set to use Indy 9). 29 | 30 | To be able to compile the demos, ensure that the delphimodbus\source folder is 31 | on compiler search path of either the project or the IDE. Without this, the 32 | compiler will not be able to locate the DelphiModbus units. 33 | 34 | When you want to compile and run the demos from a Delphi version which differs 35 | from the version it was created in (see above), you should first open each form 36 | in the demo in the form designer, and ignore any errors about missing properties 37 | it might generate. When such message appears, save the modified form afterwards. 38 | 39 | After taking these steps into account, the demos can be compiled and run from 40 | the IDE. 41 | -------------------------------------------------------------------------------- /docs/readme.txt: -------------------------------------------------------------------------------- 1 | Welcome to the Delphi Modbus library 2 | ==================================== 3 | The Delphi Modbus library is a Modbus Class I Delphi implementation of a Modbus 4 | master and slave over TCP/IP (ModbusTCP). Serial I/O (RTU or ASCII) is not 5 | supported. 6 | 7 | 8 | Supported Delphi versions 9 | ========================= 10 | The components can be used in Delphi versions 5 and higher. The components 11 | are based on the Internet Direct (aka 'Indy') components, which ship with 12 | Delphi versions 6 and up. Only native development is supported (no .NET 13 | version is available). 14 | 15 | For Delphi 5 and 6, you should download the latest Indy version 9.0 from the 16 | Indy website at http://www.indyproject.org/. At the moment of this writing, 17 | 9.0.14 is the latest stable release. 18 | 19 | Delphi Modbus has been tested with both Indy 9 and 10. For using with Delphi 5, 20 | 6 and 7, the usage of Indy9 is the default. For using with Delphi 2005 and 21 | onwards Indy 10 will be used by default. You can overrule the default Indy 22 | version be defining the compile directive FORCE_INDY9 or FORCE_INDY10 in the 23 | package compiler options (To use Indy 10 on Delphi 7 you should first download 24 | the required Indy 10 sources from the Indy project website). 25 | 26 | A Delphi 2005 note: the Indy 10 packages which ship with Delphi 2005 are very 27 | old, and DelphiModbus requires them to be replaced by a more recent version 28 | which is available for download from the Indy project website. 29 | 30 | Packages are provided and tested for all mentioned Delphi versions, although 31 | full testing occurs only on Delphi 7, 2007 and 10.2 Tokyo (which are my main 32 | Delphi versions for production use). I expect that the Delphi 2006 packages will 33 | work with Turbo Delphi 2006 (Pro) as well, although this has not been tested. 34 | 35 | Starting with Delphi XE2, Delphi targets multiple platforms (Win32, Win64 and 36 | 32-bit OSX). The components have been tested to work on all support platforms 37 | (in combination with the FireMonkey framework). Starting with XE4, the mobile 38 | versions are also supported (iOS and Android). 39 | 40 | Installation in the Delphi IDE 41 | ============================== 42 | To install the components in Delphi, identify the packages for your Delphi 43 | version: the 'year' Delphi versions have packages ending in the year of the 44 | Delphi version (e.g. DelphiModbus2010.dpk is for Delphi 2010). The lower Delphi 45 | versions have the version number (e.g. DelphiModbus70.dpk is for Delphi 7.0). 46 | 47 | To install open the runtime package and the designtime package in the IDE: 48 | - DelphiModbus.dpk : The runtime package source 49 | - dclDelphiModbus.dpk : The designtime package source 50 | Choose 'Compile' for the runtime package, and select 'Install' for the design 51 | time package. Delphi will now report that the components have been installed. 52 | 53 | 54 | Support for Free Pascal / Lazarus 55 | ================================= 56 | The Delphi Modbus components have been successfully installed and tested on 57 | Lazarus 0.9.29 with FPC 2.5.1 on Win32. The package has a dependency on the 58 | Indy 10 package provided by the CodeTyphoon FPC distribution, which should be 59 | installed first (http://www.pilotlogic.com/). 60 | 61 | 62 | Support 63 | ======= 64 | For support on the Delphi Modbus library, please visit the project's website on 65 | GitHub: https://github.com/coassoftwaresystems/delphi-modbus 66 | -------------------------------------------------------------------------------- /packages/DelphiModbus101Berlin.dpk: -------------------------------------------------------------------------------- 1 | package DelphiModbus101Berlin; 2 | 3 | {$R *.res} 4 | {$IFDEF IMPLICITBUILDING This IFDEF should not be used by users} 5 | {$ALIGN 8} 6 | {$ASSERTIONS ON} 7 | {$BOOLEVAL OFF} 8 | {$DEBUGINFO OFF} 9 | {$EXTENDEDSYNTAX ON} 10 | {$IMPORTEDDATA ON} 11 | {$IOCHECKS ON} 12 | {$LOCALSYMBOLS ON} 13 | {$LONGSTRINGS ON} 14 | {$OPENSTRINGS ON} 15 | {$OPTIMIZATION OFF} 16 | {$OVERFLOWCHECKS OFF} 17 | {$RANGECHECKS OFF} 18 | {$REFERENCEINFO ON} 19 | {$SAFEDIVIDE OFF} 20 | {$STACKFRAMES ON} 21 | {$TYPEDADDRESS OFF} 22 | {$VARSTRINGCHECKS ON} 23 | {$WRITEABLECONST OFF} 24 | {$MINENUMSIZE 1} 25 | {$IMAGEBASE $400000} 26 | {$DEFINE DEBUG} 27 | {$ENDIF IMPLICITBUILDING} 28 | {$DESCRIPTION 'Delphi Modbus components runtime package'} 29 | {$RUNONLY} 30 | {$IMPLICITBUILD OFF} 31 | 32 | requires 33 | rtl, 34 | IndyCore, 35 | IndyProtocols, 36 | IndySystem; 37 | 38 | contains 39 | IdModbusClient in '..\source\IdModbusClient.pas', 40 | IdModbusServer in '..\source\IdModbusServer.pas', 41 | ModbusConsts in '..\source\ModbusConsts.pas', 42 | ModbusTypes in '..\source\ModbusTypes.pas', 43 | ModbusStrConsts in '..\source\ModbusStrConsts.pas', 44 | ModbusUtils in '..\source\ModbusUtils.pas'; 45 | 46 | end. 47 | -------------------------------------------------------------------------------- /packages/DelphiModbus101Berlin.res: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/coassoftwaresystems/delphi-modbus/6cc72803b45ca405b14f9d9218d10d8fa95aad0d/packages/DelphiModbus101Berlin.res -------------------------------------------------------------------------------- /packages/DelphiModbus102Tokyo.dpk: -------------------------------------------------------------------------------- 1 | package DelphiModbus102Tokyo; 2 | 3 | {$R *.res} 4 | {$IFDEF IMPLICITBUILDING This IFDEF should not be used by users} 5 | {$ALIGN 8} 6 | {$ASSERTIONS ON} 7 | {$BOOLEVAL OFF} 8 | {$DEBUGINFO OFF} 9 | {$EXTENDEDSYNTAX ON} 10 | {$IMPORTEDDATA ON} 11 | {$IOCHECKS ON} 12 | {$LOCALSYMBOLS ON} 13 | {$LONGSTRINGS ON} 14 | {$OPENSTRINGS ON} 15 | {$OPTIMIZATION OFF} 16 | {$OVERFLOWCHECKS OFF} 17 | {$RANGECHECKS OFF} 18 | {$REFERENCEINFO ON} 19 | {$SAFEDIVIDE OFF} 20 | {$STACKFRAMES ON} 21 | {$TYPEDADDRESS OFF} 22 | {$VARSTRINGCHECKS ON} 23 | {$WRITEABLECONST OFF} 24 | {$MINENUMSIZE 1} 25 | {$IMAGEBASE $400000} 26 | {$DEFINE DEBUG} 27 | {$ENDIF IMPLICITBUILDING} 28 | {$DESCRIPTION 'Delphi Modbus components runtime package'} 29 | {$RUNONLY} 30 | {$IMPLICITBUILD OFF} 31 | 32 | requires 33 | rtl, 34 | IndyCore, 35 | IndyProtocols, 36 | IndySystem; 37 | 38 | contains 39 | IdModbusClient in '..\source\IdModbusClient.pas', 40 | IdModbusServer in '..\source\IdModbusServer.pas', 41 | ModbusConsts in '..\source\ModbusConsts.pas', 42 | ModbusTypes in '..\source\ModbusTypes.pas', 43 | ModbusStrConsts in '..\source\ModbusStrConsts.pas', 44 | ModbusUtils in '..\source\ModbusUtils.pas'; 45 | 46 | end. 47 | -------------------------------------------------------------------------------- /packages/DelphiModbus102Tokyo.res: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/coassoftwaresystems/delphi-modbus/6cc72803b45ca405b14f9d9218d10d8fa95aad0d/packages/DelphiModbus102Tokyo.res -------------------------------------------------------------------------------- /packages/DelphiModbus103Rio.dpk: -------------------------------------------------------------------------------- 1 | package DelphiModbus103Rio; 2 | 3 | {$R *.res} 4 | {$IFDEF IMPLICITBUILDING This IFDEF should not be used by users} 5 | {$ALIGN 8} 6 | {$ASSERTIONS ON} 7 | {$BOOLEVAL OFF} 8 | {$DEBUGINFO OFF} 9 | {$EXTENDEDSYNTAX ON} 10 | {$IMPORTEDDATA ON} 11 | {$IOCHECKS ON} 12 | {$LOCALSYMBOLS ON} 13 | {$LONGSTRINGS ON} 14 | {$OPENSTRINGS ON} 15 | {$OPTIMIZATION OFF} 16 | {$OVERFLOWCHECKS OFF} 17 | {$RANGECHECKS OFF} 18 | {$REFERENCEINFO ON} 19 | {$SAFEDIVIDE OFF} 20 | {$STACKFRAMES ON} 21 | {$TYPEDADDRESS OFF} 22 | {$VARSTRINGCHECKS ON} 23 | {$WRITEABLECONST OFF} 24 | {$MINENUMSIZE 1} 25 | {$IMAGEBASE $400000} 26 | {$DEFINE DEBUG} 27 | {$ENDIF IMPLICITBUILDING} 28 | {$DESCRIPTION 'Delphi Modbus components runtime package'} 29 | {$RUNONLY} 30 | {$IMPLICITBUILD OFF} 31 | 32 | requires 33 | rtl, 34 | IndyCore, 35 | IndyProtocols, 36 | IndySystem; 37 | 38 | contains 39 | IdModbusClient in '..\source\IdModbusClient.pas', 40 | IdModbusServer in '..\source\IdModbusServer.pas', 41 | ModbusConsts in '..\source\ModbusConsts.pas', 42 | ModbusTypes in '..\source\ModbusTypes.pas', 43 | ModbusStrConsts in '..\source\ModbusStrConsts.pas', 44 | ModbusUtils in '..\source\ModbusUtils.pas'; 45 | 46 | end. 47 | -------------------------------------------------------------------------------- /packages/DelphiModbus103Rio.res: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/coassoftwaresystems/delphi-modbus/6cc72803b45ca405b14f9d9218d10d8fa95aad0d/packages/DelphiModbus103Rio.res -------------------------------------------------------------------------------- /packages/DelphiModbus104Sydney.dpk: -------------------------------------------------------------------------------- 1 | package DelphiModbus104Sydney; 2 | 3 | {$R *.res} 4 | {$IFDEF IMPLICITBUILDING This IFDEF should not be used by users} 5 | {$ALIGN 8} 6 | {$ASSERTIONS ON} 7 | {$BOOLEVAL OFF} 8 | {$DEBUGINFO OFF} 9 | {$EXTENDEDSYNTAX ON} 10 | {$IMPORTEDDATA ON} 11 | {$IOCHECKS ON} 12 | {$LOCALSYMBOLS ON} 13 | {$LONGSTRINGS ON} 14 | {$OPENSTRINGS ON} 15 | {$OPTIMIZATION OFF} 16 | {$OVERFLOWCHECKS OFF} 17 | {$RANGECHECKS OFF} 18 | {$REFERENCEINFO ON} 19 | {$SAFEDIVIDE OFF} 20 | {$STACKFRAMES ON} 21 | {$TYPEDADDRESS OFF} 22 | {$VARSTRINGCHECKS ON} 23 | {$WRITEABLECONST OFF} 24 | {$MINENUMSIZE 1} 25 | {$IMAGEBASE $400000} 26 | {$DEFINE DEBUG} 27 | {$ENDIF IMPLICITBUILDING} 28 | {$DESCRIPTION 'Delphi Modbus components runtime package'} 29 | {$RUNONLY} 30 | {$IMPLICITBUILD OFF} 31 | 32 | requires 33 | rtl, 34 | IndyCore, 35 | IndyProtocols, 36 | IndySystem; 37 | 38 | contains 39 | IdModbusClient in '..\source\IdModbusClient.pas', 40 | IdModbusServer in '..\source\IdModbusServer.pas', 41 | ModbusConsts in '..\source\ModbusConsts.pas', 42 | ModbusTypes in '..\source\ModbusTypes.pas', 43 | ModbusStrConsts in '..\source\ModbusStrConsts.pas', 44 | ModbusUtils in '..\source\ModbusUtils.pas'; 45 | 46 | end. 47 | -------------------------------------------------------------------------------- /packages/DelphiModbus104Sydney.res: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/coassoftwaresystems/delphi-modbus/6cc72803b45ca405b14f9d9218d10d8fa95aad0d/packages/DelphiModbus104Sydney.res -------------------------------------------------------------------------------- /packages/DelphiModbus10Seattle.dpk: -------------------------------------------------------------------------------- 1 | package DelphiModbus10Seattle; 2 | 3 | {$R *.res} 4 | {$IFDEF IMPLICITBUILDING This IFDEF should not be used by users} 5 | {$ALIGN 8} 6 | {$ASSERTIONS ON} 7 | {$BOOLEVAL OFF} 8 | {$DEBUGINFO OFF} 9 | {$EXTENDEDSYNTAX ON} 10 | {$IMPORTEDDATA ON} 11 | {$IOCHECKS ON} 12 | {$LOCALSYMBOLS ON} 13 | {$LONGSTRINGS ON} 14 | {$OPENSTRINGS ON} 15 | {$OPTIMIZATION OFF} 16 | {$OVERFLOWCHECKS OFF} 17 | {$RANGECHECKS OFF} 18 | {$REFERENCEINFO ON} 19 | {$SAFEDIVIDE OFF} 20 | {$STACKFRAMES ON} 21 | {$TYPEDADDRESS OFF} 22 | {$VARSTRINGCHECKS ON} 23 | {$WRITEABLECONST OFF} 24 | {$MINENUMSIZE 1} 25 | {$IMAGEBASE $400000} 26 | {$DEFINE DEBUG} 27 | {$ENDIF IMPLICITBUILDING} 28 | {$DESCRIPTION 'Delphi Modbus components runtime package'} 29 | {$RUNONLY} 30 | {$IMPLICITBUILD OFF} 31 | 32 | requires 33 | rtl, 34 | IndyCore, 35 | IndyProtocols, 36 | IndySystem; 37 | 38 | contains 39 | IdModbusClient in '..\source\IdModbusClient.pas', 40 | IdModbusServer in '..\source\IdModbusServer.pas', 41 | ModbusConsts in '..\source\ModbusConsts.pas', 42 | ModbusTypes in '..\source\ModbusTypes.pas', 43 | ModbusStrConsts in '..\source\ModbusStrConsts.pas', 44 | ModbusUtils in '..\source\ModbusUtils.pas'; 45 | 46 | end. 47 | -------------------------------------------------------------------------------- /packages/DelphiModbus10Seattle.res: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/coassoftwaresystems/delphi-modbus/6cc72803b45ca405b14f9d9218d10d8fa95aad0d/packages/DelphiModbus10Seattle.res -------------------------------------------------------------------------------- /packages/DelphiModbus11Alexandria.dpk: -------------------------------------------------------------------------------- 1 | package DelphiModbus11Alexandria; 2 | 3 | {$R *.res} 4 | {$IFDEF IMPLICITBUILDING This IFDEF should not be used by users} 5 | {$ALIGN 8} 6 | {$ASSERTIONS ON} 7 | {$BOOLEVAL OFF} 8 | {$DEBUGINFO OFF} 9 | {$EXTENDEDSYNTAX ON} 10 | {$IMPORTEDDATA ON} 11 | {$IOCHECKS ON} 12 | {$LOCALSYMBOLS ON} 13 | {$LONGSTRINGS ON} 14 | {$OPENSTRINGS ON} 15 | {$OPTIMIZATION OFF} 16 | {$OVERFLOWCHECKS OFF} 17 | {$RANGECHECKS OFF} 18 | {$REFERENCEINFO ON} 19 | {$SAFEDIVIDE OFF} 20 | {$STACKFRAMES ON} 21 | {$TYPEDADDRESS OFF} 22 | {$VARSTRINGCHECKS ON} 23 | {$WRITEABLECONST OFF} 24 | {$MINENUMSIZE 1} 25 | {$IMAGEBASE $400000} 26 | {$DEFINE DEBUG} 27 | {$ENDIF IMPLICITBUILDING} 28 | {$DESCRIPTION 'Delphi Modbus components runtime package'} 29 | {$RUNONLY} 30 | {$IMPLICITBUILD OFF} 31 | 32 | requires 33 | rtl, 34 | IndyCore, 35 | IndyProtocols, 36 | IndySystem; 37 | 38 | contains 39 | IdModbusClient in '..\source\IdModbusClient.pas', 40 | IdModbusServer in '..\source\IdModbusServer.pas', 41 | ModbusConsts in '..\source\ModbusConsts.pas', 42 | ModbusTypes in '..\source\ModbusTypes.pas', 43 | ModbusStrConsts in '..\source\ModbusStrConsts.pas', 44 | ModbusUtils in '..\source\ModbusUtils.pas'; 45 | 46 | end. 47 | -------------------------------------------------------------------------------- /packages/DelphiModbus11Alexandria.res: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/coassoftwaresystems/delphi-modbus/6cc72803b45ca405b14f9d9218d10d8fa95aad0d/packages/DelphiModbus11Alexandria.res -------------------------------------------------------------------------------- /packages/DelphiModbus12Athens.dpk: -------------------------------------------------------------------------------- 1 | package DelphiModbus12Athens; 2 | 3 | {$R *.res} 4 | {$IFDEF IMPLICITBUILDING This IFDEF should not be used by users} 5 | {$ALIGN 8} 6 | {$ASSERTIONS ON} 7 | {$BOOLEVAL OFF} 8 | {$DEBUGINFO OFF} 9 | {$EXTENDEDSYNTAX ON} 10 | {$IMPORTEDDATA ON} 11 | {$IOCHECKS ON} 12 | {$LOCALSYMBOLS ON} 13 | {$LONGSTRINGS ON} 14 | {$OPENSTRINGS ON} 15 | {$OPTIMIZATION OFF} 16 | {$OVERFLOWCHECKS OFF} 17 | {$RANGECHECKS OFF} 18 | {$REFERENCEINFO ON} 19 | {$SAFEDIVIDE OFF} 20 | {$STACKFRAMES ON} 21 | {$TYPEDADDRESS OFF} 22 | {$VARSTRINGCHECKS ON} 23 | {$WRITEABLECONST OFF} 24 | {$MINENUMSIZE 1} 25 | {$IMAGEBASE $400000} 26 | {$DEFINE DEBUG} 27 | {$ENDIF IMPLICITBUILDING} 28 | {$DESCRIPTION 'Delphi Modbus components runtime package'} 29 | {$RUNONLY} 30 | {$IMPLICITBUILD OFF} 31 | 32 | requires 33 | rtl, 34 | IndyCore, 35 | IndyProtocols, 36 | IndySystem; 37 | 38 | contains 39 | IdModbusClient in '..\source\IdModbusClient.pas', 40 | IdModbusServer in '..\source\IdModbusServer.pas', 41 | ModbusConsts in '..\source\ModbusConsts.pas', 42 | ModbusTypes in '..\source\ModbusTypes.pas', 43 | ModbusStrConsts in '..\source\ModbusStrConsts.pas', 44 | ModbusUtils in '..\source\ModbusUtils.pas'; 45 | 46 | end. 47 | -------------------------------------------------------------------------------- /packages/DelphiModbus12Athens.res: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/coassoftwaresystems/delphi-modbus/6cc72803b45ca405b14f9d9218d10d8fa95aad0d/packages/DelphiModbus12Athens.res -------------------------------------------------------------------------------- /packages/DelphiModbus2005.dpk: -------------------------------------------------------------------------------- 1 | package DelphiModbus2005; 2 | 3 | {$R *.res} 4 | {$ALIGN 8} 5 | {$ASSERTIONS ON} 6 | {$BOOLEVAL OFF} 7 | {$DEBUGINFO ON} 8 | {$EXTENDEDSYNTAX ON} 9 | {$IMPORTEDDATA ON} 10 | {$IOCHECKS ON} 11 | {$LOCALSYMBOLS ON} 12 | {$LONGSTRINGS ON} 13 | {$OPENSTRINGS ON} 14 | {$OPTIMIZATION ON} 15 | {$OVERFLOWCHECKS OFF} 16 | {$RANGECHECKS OFF} 17 | {$REFERENCEINFO ON} 18 | {$SAFEDIVIDE OFF} 19 | {$STACKFRAMES OFF} 20 | {$TYPEDADDRESS OFF} 21 | {$VARSTRINGCHECKS ON} 22 | {$WRITEABLECONST OFF} 23 | {$MINENUMSIZE 1} 24 | {$IMAGEBASE $400000} 25 | {$DESCRIPTION 'Delphi Modbus components runtime package'} 26 | {$RUNONLY} 27 | {$IMPLICITBUILD OFF} 28 | 29 | requires 30 | rtl, 31 | IndyCore, 32 | IndyProtocols, 33 | IndySystem; 34 | 35 | contains 36 | IdModbusClient in '..\source\IdModbusClient.pas', 37 | IdModbusServer in '..\source\IdModbusServer.pas', 38 | ModbusConsts in '..\source\ModbusConsts.pas', 39 | ModbusTypes in '..\source\ModbusTypes.pas', 40 | ModbusStrConsts in '..\source\ModbusStrConsts.pas', 41 | ModbusUtils in '..\source\ModbusUtils.pas'; 42 | 43 | end. 44 | -------------------------------------------------------------------------------- /packages/DelphiModbus2006.dpk: -------------------------------------------------------------------------------- 1 | package DelphiModbus2006; 2 | 3 | {$R *.res} 4 | {$ALIGN 8} 5 | {$ASSERTIONS ON} 6 | {$BOOLEVAL OFF} 7 | {$DEBUGINFO ON} 8 | {$EXTENDEDSYNTAX ON} 9 | {$IMPORTEDDATA ON} 10 | {$IOCHECKS ON} 11 | {$LOCALSYMBOLS ON} 12 | {$LONGSTRINGS ON} 13 | {$OPENSTRINGS ON} 14 | {$OPTIMIZATION ON} 15 | {$OVERFLOWCHECKS OFF} 16 | {$RANGECHECKS OFF} 17 | {$REFERENCEINFO ON} 18 | {$SAFEDIVIDE OFF} 19 | {$STACKFRAMES OFF} 20 | {$TYPEDADDRESS OFF} 21 | {$VARSTRINGCHECKS ON} 22 | {$WRITEABLECONST OFF} 23 | {$MINENUMSIZE 1} 24 | {$IMAGEBASE $400000} 25 | {$DESCRIPTION 'Delphi Modbus components runtime package'} 26 | {$RUNONLY} 27 | {$IMPLICITBUILD OFF} 28 | 29 | requires 30 | rtl, 31 | IndyCore, 32 | IndyProtocols, 33 | IndySystem; 34 | 35 | contains 36 | IdModbusClient in '..\source\IdModbusClient.pas', 37 | IdModbusServer in '..\source\IdModbusServer.pas', 38 | ModbusConsts in '..\source\ModbusConsts.pas', 39 | ModbusTypes in '..\source\ModbusTypes.pas', 40 | ModbusStrConsts in '..\source\ModbusStrConsts.pas', 41 | ModbusUtils in '..\source\ModbusUtils.pas'; 42 | 43 | end. 44 | -------------------------------------------------------------------------------- /packages/DelphiModbus2007.dpk: -------------------------------------------------------------------------------- 1 | package DelphiModbus2007; 2 | 3 | {$R *.res} 4 | {$ALIGN 8} 5 | {$ASSERTIONS ON} 6 | {$BOOLEVAL OFF} 7 | {$DEBUGINFO ON} 8 | {$EXTENDEDSYNTAX ON} 9 | {$IMPORTEDDATA ON} 10 | {$IOCHECKS ON} 11 | {$LOCALSYMBOLS ON} 12 | {$LONGSTRINGS ON} 13 | {$OPENSTRINGS ON} 14 | {$OPTIMIZATION ON} 15 | {$OVERFLOWCHECKS OFF} 16 | {$RANGECHECKS OFF} 17 | {$REFERENCEINFO ON} 18 | {$SAFEDIVIDE OFF} 19 | {$STACKFRAMES OFF} 20 | {$TYPEDADDRESS OFF} 21 | {$VARSTRINGCHECKS ON} 22 | {$WRITEABLECONST OFF} 23 | {$MINENUMSIZE 1} 24 | {$IMAGEBASE $400000} 25 | {$DESCRIPTION 'Delphi Modbus components runtime package'} 26 | {$RUNONLY} 27 | {$IMPLICITBUILD OFF} 28 | {$DEFINE DEBUG} 29 | 30 | requires 31 | rtl, 32 | IndyCore, 33 | IndyProtocols, 34 | IndySystem; 35 | 36 | contains 37 | IdModbusClient in '..\source\IdModbusClient.pas', 38 | IdModbusServer in '..\source\IdModbusServer.pas', 39 | ModbusConsts in '..\source\ModbusConsts.pas', 40 | ModbusTypes in '..\source\ModbusTypes.pas', 41 | ModbusStrConsts in '..\source\ModbusStrConsts.pas', 42 | ModbusUtils in '..\source\ModbusUtils.pas'; 43 | 44 | end. 45 | -------------------------------------------------------------------------------- /packages/DelphiModbus2007.dproj: -------------------------------------------------------------------------------- 1 |  2 | 3 | {a4f7d362-7a98-4721-bf21-60e5d0e03481} 4 | DelphiModbus2007.dpk 5 | Debug 6 | AnyCPU 7 | DCC32 8 | C:\Documents and Settings\All Users\Documents\RAD Studio\5.0\Bpl\DelphiModbus2007.bpl 9 | 10 | 11 | 7.0 12 | False 13 | False 14 | 0 15 | DEBUG;RELEASE 16 | 17 | 18 | 7.0 19 | DEBUG 20 | 21 | 22 | Delphi.Personality 23 | Package 24 | 25 | 26 | False 27 | True 28 | False 29 | 30 | 31 | Delphi Modbus components runtime package 32 | False 33 | False 34 | True 35 | 36 | 37 | False 38 | False 39 | 1 40 | 0 41 | 0 42 | 0 43 | False 44 | False 45 | False 46 | False 47 | False 48 | 1033 49 | 1252 50 | 51 | 52 | 53 | 54 | 1.0.0.0 55 | 56 | 57 | 58 | 59 | 60 | 1.0.0.0 61 | 62 | 63 | 64 | DelphiModbus2007.dpk 65 | 66 | 67 | 68 | 69 | 70 | 71 | MainSource 72 | 73 | 74 | 75 | 76 | 77 | 78 | 79 | 80 | 81 | 82 | 83 | 84 | 85 | -------------------------------------------------------------------------------- /packages/DelphiModbus2007.res: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/coassoftwaresystems/delphi-modbus/6cc72803b45ca405b14f9d9218d10d8fa95aad0d/packages/DelphiModbus2007.res -------------------------------------------------------------------------------- /packages/DelphiModbus2009.dpk: -------------------------------------------------------------------------------- 1 | package DelphiModbus2009; 2 | 3 | {$R *.res} 4 | {$ALIGN 8} 5 | {$ASSERTIONS ON} 6 | {$BOOLEVAL OFF} 7 | {$DEBUGINFO ON} 8 | {$EXTENDEDSYNTAX ON} 9 | {$IMPORTEDDATA ON} 10 | {$IOCHECKS ON} 11 | {$LOCALSYMBOLS ON} 12 | {$LONGSTRINGS ON} 13 | {$OPENSTRINGS ON} 14 | {$OPTIMIZATION ON} 15 | {$OVERFLOWCHECKS OFF} 16 | {$RANGECHECKS OFF} 17 | {$REFERENCEINFO ON} 18 | {$SAFEDIVIDE OFF} 19 | {$STACKFRAMES OFF} 20 | {$TYPEDADDRESS OFF} 21 | {$VARSTRINGCHECKS ON} 22 | {$WRITEABLECONST OFF} 23 | {$MINENUMSIZE 1} 24 | {$IMAGEBASE $400000} 25 | {$DESCRIPTION 'Delphi Modbus components runtime package'} 26 | {$RUNONLY} 27 | {$IMPLICITBUILD OFF} 28 | {$DEFINE DEBUG} 29 | 30 | requires 31 | rtl, 32 | IndyCore, 33 | IndyProtocols, 34 | IndySystem; 35 | 36 | contains 37 | IdModbusClient in '..\source\IdModbusClient.pas', 38 | IdModbusServer in '..\source\IdModbusServer.pas', 39 | ModbusConsts in '..\source\ModbusConsts.pas', 40 | ModbusTypes in '..\source\ModbusTypes.pas', 41 | ModbusStrConsts in '..\source\ModbusStrConsts.pas', 42 | ModbusUtils in '..\source\ModbusUtils.pas'; 43 | 44 | end. 45 | -------------------------------------------------------------------------------- /packages/DelphiModbus2009.res: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/coassoftwaresystems/delphi-modbus/6cc72803b45ca405b14f9d9218d10d8fa95aad0d/packages/DelphiModbus2009.res -------------------------------------------------------------------------------- /packages/DelphiModbus2010.dpk: -------------------------------------------------------------------------------- 1 | package DelphiModbus2010; 2 | 3 | {$R *.res} 4 | {$ALIGN 8} 5 | {$ASSERTIONS ON} 6 | {$BOOLEVAL OFF} 7 | {$DEBUGINFO ON} 8 | {$EXTENDEDSYNTAX ON} 9 | {$IMPORTEDDATA ON} 10 | {$IOCHECKS ON} 11 | {$LOCALSYMBOLS ON} 12 | {$LONGSTRINGS ON} 13 | {$OPENSTRINGS ON} 14 | {$OPTIMIZATION ON} 15 | {$OVERFLOWCHECKS OFF} 16 | {$RANGECHECKS OFF} 17 | {$REFERENCEINFO ON} 18 | {$SAFEDIVIDE OFF} 19 | {$STACKFRAMES OFF} 20 | {$TYPEDADDRESS OFF} 21 | {$VARSTRINGCHECKS ON} 22 | {$WRITEABLECONST OFF} 23 | {$MINENUMSIZE 1} 24 | {$IMAGEBASE $400000} 25 | {$DESCRIPTION 'Delphi Modbus components runtime package'} 26 | {$RUNONLY} 27 | {$IMPLICITBUILD OFF} 28 | {$DEFINE DEBUG} 29 | 30 | requires 31 | rtl, 32 | IndyCore, 33 | IndyProtocols, 34 | IndySystem; 35 | 36 | contains 37 | IdModbusClient in '..\source\IdModbusClient.pas', 38 | IdModbusServer in '..\source\IdModbusServer.pas', 39 | ModbusConsts in '..\source\ModbusConsts.pas', 40 | ModbusTypes in '..\source\ModbusTypes.pas', 41 | ModbusStrConsts in '..\source\ModbusStrConsts.pas', 42 | ModbusUtils in '..\source\ModbusUtils.pas'; 43 | 44 | end. 45 | -------------------------------------------------------------------------------- /packages/DelphiModbus2010.res: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/coassoftwaresystems/delphi-modbus/6cc72803b45ca405b14f9d9218d10d8fa95aad0d/packages/DelphiModbus2010.res -------------------------------------------------------------------------------- /packages/DelphiModbus50.dpk: -------------------------------------------------------------------------------- 1 | package DelphiModbus50; 2 | 3 | {$R *.res} 4 | {$ALIGN ON} 5 | {$ASSERTIONS ON} 6 | {$BOOLEVAL OFF} 7 | {$DEBUGINFO ON} 8 | {$EXTENDEDSYNTAX ON} 9 | {$IMPORTEDDATA ON} 10 | {$IOCHECKS ON} 11 | {$LOCALSYMBOLS ON} 12 | {$LONGSTRINGS ON} 13 | {$OPENSTRINGS ON} 14 | {$OPTIMIZATION ON} 15 | {$OVERFLOWCHECKS OFF} 16 | {$RANGECHECKS OFF} 17 | {$REFERENCEINFO ON} 18 | {$SAFEDIVIDE OFF} 19 | {$STACKFRAMES OFF} 20 | {$TYPEDADDRESS OFF} 21 | {$VARSTRINGCHECKS ON} 22 | {$WRITEABLECONST OFF} 23 | {$MINENUMSIZE 1} 24 | {$IMAGEBASE $400000} 25 | {$DESCRIPTION 'Delphi Modbus components runtime package'} 26 | {$RUNONLY} 27 | {$IMPLICITBUILD OFF} 28 | 29 | requires 30 | indy50; 31 | 32 | contains 33 | IdModbusClient in '..\source\IdModbusClient.pas', 34 | IdModbusServer in '..\source\IdModbusServer.pas', 35 | ModbusConsts in '..\source\ModbusConsts.pas', 36 | ModbusTypes in '..\source\ModbusTypes.pas', 37 | ModbusStrConsts in '..\source\ModbusStrConsts.pas', 38 | ModbusUtils in '..\source\ModbusUtils.pas'; 39 | 40 | end. 41 | -------------------------------------------------------------------------------- /packages/DelphiModbus60.dpk: -------------------------------------------------------------------------------- 1 | package DelphiModbus60; 2 | 3 | {$R *.res} 4 | {$ALIGN 8} 5 | {$ASSERTIONS ON} 6 | {$BOOLEVAL OFF} 7 | {$DEBUGINFO ON} 8 | {$EXTENDEDSYNTAX ON} 9 | {$IMPORTEDDATA ON} 10 | {$IOCHECKS ON} 11 | {$LOCALSYMBOLS ON} 12 | {$LONGSTRINGS ON} 13 | {$OPENSTRINGS ON} 14 | {$OPTIMIZATION ON} 15 | {$OVERFLOWCHECKS OFF} 16 | {$RANGECHECKS OFF} 17 | {$REFERENCEINFO ON} 18 | {$SAFEDIVIDE OFF} 19 | {$STACKFRAMES OFF} 20 | {$TYPEDADDRESS OFF} 21 | {$VARSTRINGCHECKS ON} 22 | {$WRITEABLECONST OFF} 23 | {$MINENUMSIZE 1} 24 | {$IMAGEBASE $400000} 25 | {$DESCRIPTION 'Delphi Modbus components runtime package'} 26 | {$RUNONLY} 27 | {$IMPLICITBUILD OFF} 28 | 29 | requires 30 | rtl, 31 | indy; 32 | 33 | contains 34 | IdModbusClient in '..\source\IdModbusClient.pas', 35 | IdModbusServer in '..\source\IdModbusServer.pas', 36 | ModbusConsts in '..\source\ModbusConsts.pas', 37 | ModbusTypes in '..\source\ModbusTypes.pas', 38 | ModbusStrConsts in '..\source\ModbusStrConsts.pas', 39 | ModbusUtils in '..\source\ModbusUtils.pas'; 40 | 41 | end. 42 | -------------------------------------------------------------------------------- /packages/DelphiModbus70.dpk: -------------------------------------------------------------------------------- 1 | package DelphiModbus70; 2 | 3 | {$R *.res} 4 | {$ALIGN 8} 5 | {$ASSERTIONS ON} 6 | {$BOOLEVAL OFF} 7 | {$DEBUGINFO ON} 8 | {$EXTENDEDSYNTAX ON} 9 | {$IMPORTEDDATA ON} 10 | {$IOCHECKS ON} 11 | {$LOCALSYMBOLS ON} 12 | {$LONGSTRINGS ON} 13 | {$OPENSTRINGS ON} 14 | {$OPTIMIZATION ON} 15 | {$OVERFLOWCHECKS OFF} 16 | {$RANGECHECKS OFF} 17 | {$REFERENCEINFO ON} 18 | {$SAFEDIVIDE OFF} 19 | {$STACKFRAMES OFF} 20 | {$TYPEDADDRESS OFF} 21 | {$VARSTRINGCHECKS ON} 22 | {$WRITEABLECONST OFF} 23 | {$MINENUMSIZE 1} 24 | {$IMAGEBASE $400000} 25 | {$DESCRIPTION 'Delphi Modbus components runtime package'} 26 | {$RUNONLY} 27 | {$IMPLICITBUILD OFF} 28 | 29 | requires 30 | rtl, 31 | indy; 32 | 33 | contains 34 | IdModbusClient in '..\source\IdModbusClient.pas', 35 | IdModbusServer in '..\source\IdModbusServer.pas', 36 | ModbusConsts in '..\source\ModbusConsts.pas', 37 | ModbusTypes in '..\source\ModbusTypes.pas', 38 | ModbusStrConsts in '..\source\ModbusStrConsts.pas', 39 | ModbusUtils in '..\source\ModbusUtils.pas'; 40 | 41 | end. 42 | -------------------------------------------------------------------------------- /packages/DelphiModbus70.res: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/coassoftwaresystems/delphi-modbus/6cc72803b45ca405b14f9d9218d10d8fa95aad0d/packages/DelphiModbus70.res -------------------------------------------------------------------------------- /packages/DelphiModbusXE.dpk: -------------------------------------------------------------------------------- 1 | package DelphiModbusXE; 2 | 3 | {$R *.res} 4 | {$ALIGN 8} 5 | {$ASSERTIONS ON} 6 | {$BOOLEVAL OFF} 7 | {$DEBUGINFO ON} 8 | {$EXTENDEDSYNTAX ON} 9 | {$IMPORTEDDATA ON} 10 | {$IOCHECKS ON} 11 | {$LOCALSYMBOLS ON} 12 | {$LONGSTRINGS ON} 13 | {$OPENSTRINGS ON} 14 | {$OPTIMIZATION ON} 15 | {$OVERFLOWCHECKS OFF} 16 | {$RANGECHECKS OFF} 17 | {$REFERENCEINFO ON} 18 | {$SAFEDIVIDE OFF} 19 | {$STACKFRAMES OFF} 20 | {$TYPEDADDRESS OFF} 21 | {$VARSTRINGCHECKS ON} 22 | {$WRITEABLECONST OFF} 23 | {$MINENUMSIZE 1} 24 | {$IMAGEBASE $400000} 25 | {$DESCRIPTION 'Delphi Modbus components runtime package'} 26 | {$RUNONLY} 27 | {$IMPLICITBUILD OFF} 28 | {$DEFINE DEBUG} 29 | 30 | requires 31 | rtl, 32 | IndyCore, 33 | IndyProtocols, 34 | IndySystem; 35 | 36 | contains 37 | IdModbusClient in '..\source\IdModbusClient.pas', 38 | IdModbusServer in '..\source\IdModbusServer.pas', 39 | ModbusConsts in '..\source\ModbusConsts.pas', 40 | ModbusTypes in '..\source\ModbusTypes.pas', 41 | ModbusStrConsts in '..\source\ModbusStrConsts.pas', 42 | ModbusUtils in '..\source\ModbusUtils.pas'; 43 | 44 | end. 45 | -------------------------------------------------------------------------------- /packages/DelphiModbusXE.dproj: -------------------------------------------------------------------------------- 1 |  2 | 3 | {B76C769C-7DB5-47FC-A718-D90F5E878C57} 4 | DelphiModbusXE.dpk 5 | True 6 | Debug 7 | Win32 8 | Package 9 | None 10 | DCC32 11 | 12.3 12 | 13 | 14 | true 15 | 16 | 17 | true 18 | Base 19 | true 20 | 21 | 22 | true 23 | Base 24 | true 25 | 26 | 27 | true 28 | 00400000 29 | true 30 | WinTypes=Windows;WinProcs=Windows;DbiTypes=BDE;DbiProcs=BDE;DbiErrs=BDE;WinTypes=Windows;WinProcs=Windows;$(DCC_UnitAlias) 31 | DEBUG;$(DCC_Define) 32 | Delphi Modbus components runtime package 33 | false 34 | false 35 | true 36 | true 37 | false 38 | false 39 | false 40 | 41 | 42 | false 43 | RELEASE;$(DCC_Define) 44 | 0 45 | false 46 | 47 | 48 | false 49 | true 50 | 51 | 52 | 53 | MainSource 54 | 55 | 56 | 57 | 58 | 59 | 60 | 61 | 62 | 63 | 64 | 65 | 66 | Cfg_2 67 | Base 68 | 69 | 70 | Base 71 | 72 | 73 | Cfg_1 74 | Base 75 | 76 | 77 | 78 | 79 | 80 | Delphi.Personality.12 81 | Package 82 | 83 | 84 | 85 | DelphiModbusXE.dpk 86 | 87 | 88 | False 89 | False 90 | 1 91 | 0 92 | 0 93 | 0 94 | False 95 | False 96 | False 97 | False 98 | False 99 | 1033 100 | 1252 101 | 102 | 103 | 104 | 105 | 1.0.0.0 106 | 107 | 108 | 109 | 110 | 111 | 1.0.0.0 112 | 113 | 114 | 115 | 116 | True 117 | 118 | 119 | 12 120 | 121 | 122 | -------------------------------------------------------------------------------- /packages/DelphiModbusXE.res: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/coassoftwaresystems/delphi-modbus/6cc72803b45ca405b14f9d9218d10d8fa95aad0d/packages/DelphiModbusXE.res -------------------------------------------------------------------------------- /packages/DelphiModbusXE2.dpk: -------------------------------------------------------------------------------- 1 | package DelphiModbusXE2; 2 | 3 | {$R *.res} 4 | {$ALIGN 8} 5 | {$ASSERTIONS ON} 6 | {$BOOLEVAL OFF} 7 | {$DEBUGINFO ON} 8 | {$EXTENDEDSYNTAX ON} 9 | {$IMPORTEDDATA ON} 10 | {$IOCHECKS ON} 11 | {$LOCALSYMBOLS ON} 12 | {$LONGSTRINGS ON} 13 | {$OPENSTRINGS ON} 14 | {$OPTIMIZATION OFF} 15 | {$OVERFLOWCHECKS OFF} 16 | {$RANGECHECKS OFF} 17 | {$REFERENCEINFO ON} 18 | {$SAFEDIVIDE OFF} 19 | {$STACKFRAMES ON} 20 | {$TYPEDADDRESS OFF} 21 | {$VARSTRINGCHECKS ON} 22 | {$WRITEABLECONST OFF} 23 | {$MINENUMSIZE 1} 24 | {$IMAGEBASE $400000} 25 | {$DESCRIPTION 'Delphi Modbus components runtime package'} 26 | {$RUNONLY} 27 | {$IMPLICITBUILD OFF} 28 | {$DEFINE DEBUG} 29 | 30 | requires 31 | rtl, 32 | IndyCore, 33 | IndyProtocols, 34 | IndySystem; 35 | 36 | contains 37 | IdModbusClient in '..\source\IdModbusClient.pas', 38 | IdModbusServer in '..\source\IdModbusServer.pas', 39 | ModbusConsts in '..\source\ModbusConsts.pas', 40 | ModbusTypes in '..\source\ModbusTypes.pas', 41 | ModbusStrConsts in '..\source\ModbusStrConsts.pas', 42 | ModbusUtils in '..\source\ModbusUtils.pas'; 43 | 44 | end. 45 | -------------------------------------------------------------------------------- /packages/DelphiModbusXE2.res: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/coassoftwaresystems/delphi-modbus/6cc72803b45ca405b14f9d9218d10d8fa95aad0d/packages/DelphiModbusXE2.res -------------------------------------------------------------------------------- /packages/DelphiModbusXE3.dpk: -------------------------------------------------------------------------------- 1 | package DelphiModbusXE3; 2 | 3 | {$R *.res} 4 | {$ALIGN 8} 5 | {$ASSERTIONS ON} 6 | {$BOOLEVAL OFF} 7 | {$DEBUGINFO ON} 8 | {$EXTENDEDSYNTAX ON} 9 | {$IMPORTEDDATA ON} 10 | {$IOCHECKS ON} 11 | {$LOCALSYMBOLS ON} 12 | {$LONGSTRINGS ON} 13 | {$OPENSTRINGS ON} 14 | {$OPTIMIZATION OFF} 15 | {$OVERFLOWCHECKS OFF} 16 | {$RANGECHECKS OFF} 17 | {$REFERENCEINFO ON} 18 | {$SAFEDIVIDE OFF} 19 | {$STACKFRAMES ON} 20 | {$TYPEDADDRESS OFF} 21 | {$VARSTRINGCHECKS ON} 22 | {$WRITEABLECONST OFF} 23 | {$MINENUMSIZE 1} 24 | {$IMAGEBASE $400000} 25 | {$DESCRIPTION 'Delphi Modbus components runtime package'} 26 | {$RUNONLY} 27 | {$IMPLICITBUILD OFF} 28 | {$DEFINE DEBUG} 29 | 30 | requires 31 | rtl, 32 | IndyCore, 33 | IndyProtocols, 34 | IndySystem; 35 | 36 | contains 37 | IdModbusClient in '..\source\IdModbusClient.pas', 38 | IdModbusServer in '..\source\IdModbusServer.pas', 39 | ModbusConsts in '..\source\ModbusConsts.pas', 40 | ModbusTypes in '..\source\ModbusTypes.pas', 41 | ModbusStrConsts in '..\source\ModbusStrConsts.pas', 42 | ModbusUtils in '..\source\ModbusUtils.pas'; 43 | 44 | end. 45 | -------------------------------------------------------------------------------- /packages/DelphiModbusXE3.res: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/coassoftwaresystems/delphi-modbus/6cc72803b45ca405b14f9d9218d10d8fa95aad0d/packages/DelphiModbusXE3.res -------------------------------------------------------------------------------- /packages/DelphiModbusXE4.dpk: -------------------------------------------------------------------------------- 1 | package DelphiModbusXE4; 2 | 3 | {$R *.res} 4 | {$IFDEF IMPLICITBUILDING This IFDEF should not be used by users} 5 | {$ALIGN 8} 6 | {$ASSERTIONS ON} 7 | {$BOOLEVAL OFF} 8 | {$DEBUGINFO ON} 9 | {$EXTENDEDSYNTAX ON} 10 | {$IMPORTEDDATA ON} 11 | {$IOCHECKS ON} 12 | {$LOCALSYMBOLS ON} 13 | {$LONGSTRINGS ON} 14 | {$OPENSTRINGS ON} 15 | {$OPTIMIZATION OFF} 16 | {$OVERFLOWCHECKS OFF} 17 | {$RANGECHECKS OFF} 18 | {$REFERENCEINFO ON} 19 | {$SAFEDIVIDE OFF} 20 | {$STACKFRAMES ON} 21 | {$TYPEDADDRESS OFF} 22 | {$VARSTRINGCHECKS ON} 23 | {$WRITEABLECONST OFF} 24 | {$MINENUMSIZE 1} 25 | {$IMAGEBASE $400000} 26 | {$DEFINE DEBUG} 27 | {$ENDIF IMPLICITBUILDING} 28 | {$DESCRIPTION 'Delphi Modbus components runtime package'} 29 | {$RUNONLY} 30 | {$IMPLICITBUILD OFF} 31 | 32 | requires 33 | rtl, 34 | IndyCore, 35 | IndyProtocols, 36 | IndySystem; 37 | 38 | contains 39 | IdModbusClient in '..\source\IdModbusClient.pas', 40 | IdModbusServer in '..\source\IdModbusServer.pas', 41 | ModbusConsts in '..\source\ModbusConsts.pas', 42 | ModbusTypes in '..\source\ModbusTypes.pas', 43 | ModbusStrConsts in '..\source\ModbusStrConsts.pas', 44 | ModbusUtils in '..\source\ModbusUtils.pas'; 45 | 46 | end. 47 | -------------------------------------------------------------------------------- /packages/DelphiModbusXE4.res: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/coassoftwaresystems/delphi-modbus/6cc72803b45ca405b14f9d9218d10d8fa95aad0d/packages/DelphiModbusXE4.res -------------------------------------------------------------------------------- /packages/DelphiModbusXE5.dpk: -------------------------------------------------------------------------------- 1 | package DelphiModbusXE5; 2 | 3 | {$R *.res} 4 | {$IFDEF IMPLICITBUILDING This IFDEF should not be used by users} 5 | {$ALIGN 8} 6 | {$ASSERTIONS ON} 7 | {$BOOLEVAL OFF} 8 | {$DEBUGINFO ON} 9 | {$EXTENDEDSYNTAX ON} 10 | {$IMPORTEDDATA ON} 11 | {$IOCHECKS ON} 12 | {$LOCALSYMBOLS ON} 13 | {$LONGSTRINGS ON} 14 | {$OPENSTRINGS ON} 15 | {$OPTIMIZATION OFF} 16 | {$OVERFLOWCHECKS OFF} 17 | {$RANGECHECKS OFF} 18 | {$REFERENCEINFO ON} 19 | {$SAFEDIVIDE OFF} 20 | {$STACKFRAMES ON} 21 | {$TYPEDADDRESS OFF} 22 | {$VARSTRINGCHECKS ON} 23 | {$WRITEABLECONST OFF} 24 | {$MINENUMSIZE 1} 25 | {$IMAGEBASE $400000} 26 | {$DEFINE DEBUG} 27 | {$ENDIF IMPLICITBUILDING} 28 | {$DESCRIPTION 'Delphi Modbus components runtime package'} 29 | {$RUNONLY} 30 | {$IMPLICITBUILD OFF} 31 | 32 | requires 33 | rtl, 34 | IndyCore, 35 | IndyProtocols, 36 | IndySystem; 37 | 38 | contains 39 | IdModbusClient in '..\source\IdModbusClient.pas', 40 | IdModbusServer in '..\source\IdModbusServer.pas', 41 | ModbusConsts in '..\source\ModbusConsts.pas', 42 | ModbusTypes in '..\source\ModbusTypes.pas', 43 | ModbusStrConsts in '..\source\ModbusStrConsts.pas', 44 | ModbusUtils in '..\source\ModbusUtils.pas'; 45 | 46 | end. 47 | -------------------------------------------------------------------------------- /packages/DelphiModbusXE5.res: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/coassoftwaresystems/delphi-modbus/6cc72803b45ca405b14f9d9218d10d8fa95aad0d/packages/DelphiModbusXE5.res -------------------------------------------------------------------------------- /packages/DelphiModbusXE6.dpk: -------------------------------------------------------------------------------- 1 | package DelphiModbusXE6; 2 | 3 | {$R *.res} 4 | {$IFDEF IMPLICITBUILDING This IFDEF should not be used by users} 5 | {$ALIGN 8} 6 | {$ASSERTIONS ON} 7 | {$BOOLEVAL OFF} 8 | {$DEBUGINFO ON} 9 | {$EXTENDEDSYNTAX ON} 10 | {$IMPORTEDDATA ON} 11 | {$IOCHECKS ON} 12 | {$LOCALSYMBOLS ON} 13 | {$LONGSTRINGS ON} 14 | {$OPENSTRINGS ON} 15 | {$OPTIMIZATION OFF} 16 | {$OVERFLOWCHECKS OFF} 17 | {$RANGECHECKS OFF} 18 | {$REFERENCEINFO ON} 19 | {$SAFEDIVIDE OFF} 20 | {$STACKFRAMES ON} 21 | {$TYPEDADDRESS OFF} 22 | {$VARSTRINGCHECKS ON} 23 | {$WRITEABLECONST OFF} 24 | {$MINENUMSIZE 1} 25 | {$IMAGEBASE $400000} 26 | {$DEFINE DEBUG} 27 | {$ENDIF IMPLICITBUILDING} 28 | {$DESCRIPTION 'Delphi Modbus components runtime package'} 29 | {$RUNONLY} 30 | {$IMPLICITBUILD OFF} 31 | 32 | requires 33 | rtl, 34 | IndyCore, 35 | IndyProtocols, 36 | IndySystem; 37 | 38 | contains 39 | IdModbusClient in '..\source\IdModbusClient.pas', 40 | IdModbusServer in '..\source\IdModbusServer.pas', 41 | ModbusConsts in '..\source\ModbusConsts.pas', 42 | ModbusTypes in '..\source\ModbusTypes.pas', 43 | ModbusStrConsts in '..\source\ModbusStrConsts.pas', 44 | ModbusUtils in '..\source\ModbusUtils.pas'; 45 | 46 | end. 47 | -------------------------------------------------------------------------------- /packages/DelphiModbusXE6.res: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/coassoftwaresystems/delphi-modbus/6cc72803b45ca405b14f9d9218d10d8fa95aad0d/packages/DelphiModbusXE6.res -------------------------------------------------------------------------------- /packages/DelphiModbusXE7.dpk: -------------------------------------------------------------------------------- 1 | package DelphiModbusXE7; 2 | 3 | {$R *.res} 4 | {$IFDEF IMPLICITBUILDING This IFDEF should not be used by users} 5 | {$ALIGN 8} 6 | {$ASSERTIONS ON} 7 | {$BOOLEVAL OFF} 8 | {$DEBUGINFO OFF} 9 | {$EXTENDEDSYNTAX ON} 10 | {$IMPORTEDDATA ON} 11 | {$IOCHECKS ON} 12 | {$LOCALSYMBOLS ON} 13 | {$LONGSTRINGS ON} 14 | {$OPENSTRINGS ON} 15 | {$OPTIMIZATION OFF} 16 | {$OVERFLOWCHECKS OFF} 17 | {$RANGECHECKS OFF} 18 | {$REFERENCEINFO ON} 19 | {$SAFEDIVIDE OFF} 20 | {$STACKFRAMES ON} 21 | {$TYPEDADDRESS OFF} 22 | {$VARSTRINGCHECKS ON} 23 | {$WRITEABLECONST OFF} 24 | {$MINENUMSIZE 1} 25 | {$IMAGEBASE $400000} 26 | {$DEFINE DEBUG} 27 | {$ENDIF IMPLICITBUILDING} 28 | {$DESCRIPTION 'Delphi Modbus components runtime package'} 29 | {$RUNONLY} 30 | {$IMPLICITBUILD OFF} 31 | 32 | requires 33 | rtl, 34 | IndyCore, 35 | IndyProtocols, 36 | IndySystem; 37 | 38 | contains 39 | IdModbusClient in '..\source\IdModbusClient.pas', 40 | IdModbusServer in '..\source\IdModbusServer.pas', 41 | ModbusConsts in '..\source\ModbusConsts.pas', 42 | ModbusTypes in '..\source\ModbusTypes.pas', 43 | ModbusStrConsts in '..\source\ModbusStrConsts.pas', 44 | ModbusUtils in '..\source\ModbusUtils.pas'; 45 | 46 | end. 47 | -------------------------------------------------------------------------------- /packages/DelphiModbusXE7.res: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/coassoftwaresystems/delphi-modbus/6cc72803b45ca405b14f9d9218d10d8fa95aad0d/packages/DelphiModbusXE7.res -------------------------------------------------------------------------------- /packages/DelphiModbusXE8.dpk: -------------------------------------------------------------------------------- 1 | package DelphiModbusXE8; 2 | 3 | {$R *.res} 4 | {$IFDEF IMPLICITBUILDING This IFDEF should not be used by users} 5 | {$ALIGN 8} 6 | {$ASSERTIONS ON} 7 | {$BOOLEVAL OFF} 8 | {$DEBUGINFO OFF} 9 | {$EXTENDEDSYNTAX ON} 10 | {$IMPORTEDDATA ON} 11 | {$IOCHECKS ON} 12 | {$LOCALSYMBOLS ON} 13 | {$LONGSTRINGS ON} 14 | {$OPENSTRINGS ON} 15 | {$OPTIMIZATION OFF} 16 | {$OVERFLOWCHECKS OFF} 17 | {$RANGECHECKS OFF} 18 | {$REFERENCEINFO ON} 19 | {$SAFEDIVIDE OFF} 20 | {$STACKFRAMES ON} 21 | {$TYPEDADDRESS OFF} 22 | {$VARSTRINGCHECKS ON} 23 | {$WRITEABLECONST OFF} 24 | {$MINENUMSIZE 1} 25 | {$IMAGEBASE $400000} 26 | {$DEFINE DEBUG} 27 | {$ENDIF IMPLICITBUILDING} 28 | {$DESCRIPTION 'Delphi Modbus components runtime package'} 29 | {$RUNONLY} 30 | {$IMPLICITBUILD OFF} 31 | 32 | requires 33 | rtl, 34 | IndyCore, 35 | IndyProtocols, 36 | IndySystem; 37 | 38 | contains 39 | IdModbusClient in '..\source\IdModbusClient.pas', 40 | IdModbusServer in '..\source\IdModbusServer.pas', 41 | ModbusConsts in '..\source\ModbusConsts.pas', 42 | ModbusTypes in '..\source\ModbusTypes.pas', 43 | ModbusStrConsts in '..\source\ModbusStrConsts.pas', 44 | ModbusUtils in '..\source\ModbusUtils.pas'; 45 | 46 | end. 47 | -------------------------------------------------------------------------------- /packages/DelphiModbusXE8.res: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/coassoftwaresystems/delphi-modbus/6cc72803b45ca405b14f9d9218d10d8fa95aad0d/packages/DelphiModbusXE8.res -------------------------------------------------------------------------------- /packages/PackagesDelphiModbus101Berlin.groupproj: -------------------------------------------------------------------------------- 1 |  2 | 3 | {A8A21CA0-9664-4FFB-9157-DA0DCCD32446} 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | Default.Personality.12 15 | 16 | 17 | 18 | 19 | 20 | 21 | 22 | 23 | 24 | 25 | 26 | 27 | 28 | 29 | 30 | 31 | 32 | 33 | 34 | 35 | 36 | 37 | 38 | 39 | 40 | 41 | 42 | 43 | 44 | 45 | 46 | 47 | 48 | 49 | -------------------------------------------------------------------------------- /packages/PackagesDelphiModbus102Tokyo.groupproj: -------------------------------------------------------------------------------- 1 |  2 | 3 | {A8A21CA0-9664-4FFB-9157-DA0DCCD32446} 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | Default.Personality.12 15 | 16 | 17 | 18 | 19 | 20 | 21 | 22 | 23 | 24 | 25 | 26 | 27 | 28 | 29 | 30 | 31 | 32 | 33 | 34 | 35 | 36 | 37 | 38 | 39 | 40 | 41 | 42 | 43 | 44 | 45 | 46 | 47 | 48 | 49 | -------------------------------------------------------------------------------- /packages/PackagesDelphiModbus103Rio.groupproj: -------------------------------------------------------------------------------- 1 |  2 | 3 | {A8A21CA0-9664-4FFB-9157-DA0DCCD32446} 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | Default.Personality.12 15 | 16 | 17 | 18 | 19 | 20 | 21 | 22 | 23 | 24 | 25 | 26 | 27 | 28 | 29 | 30 | 31 | 32 | 33 | 34 | 35 | 36 | 37 | 38 | 39 | 40 | 41 | 42 | 43 | 44 | 45 | 46 | 47 | 48 | 49 | -------------------------------------------------------------------------------- /packages/PackagesDelphiModbus104Sydney.groupproj: -------------------------------------------------------------------------------- 1 |  2 | 3 | {A8A21CA0-9664-4FFB-9157-DA0DCCD32446} 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | Default.Personality.12 15 | 16 | 17 | 18 | 19 | 20 | 21 | 22 | 23 | 24 | 25 | 26 | 27 | 28 | 29 | 30 | 31 | 32 | 33 | 34 | 35 | 36 | 37 | 38 | 39 | 40 | 41 | 42 | 43 | 44 | 45 | 46 | 47 | 48 | 49 | -------------------------------------------------------------------------------- /packages/PackagesDelphiModbus10Seattle.groupproj: -------------------------------------------------------------------------------- 1 |  2 | 3 | {3E47166A-9AD3-453E-821A-94DE9D7B0E11} 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | Default.Personality.12 15 | 16 | 17 | 18 | 19 | 20 | 21 | 22 | 23 | 24 | 25 | 26 | 27 | 28 | 29 | 30 | 31 | 32 | 33 | 34 | 35 | 36 | 37 | 38 | 39 | 40 | 41 | 42 | 43 | 44 | 45 | 46 | 47 | 48 | 49 | -------------------------------------------------------------------------------- /packages/PackagesDelphiModbus11Alexandria.groupproj: -------------------------------------------------------------------------------- 1 |  2 | 3 | {A8A21CA0-9664-4FFB-9157-DA0DCCD32446} 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | Default.Personality.12 15 | 16 | 17 | 18 | 19 | 20 | 21 | 22 | 23 | 24 | 25 | 26 | 27 | 28 | 29 | 30 | 31 | 32 | 33 | 34 | 35 | 36 | 37 | 38 | 39 | 40 | 41 | 42 | 43 | 44 | 45 | 46 | 47 | 48 | 49 | -------------------------------------------------------------------------------- /packages/PackagesDelphiModbus12Athens.groupproj: -------------------------------------------------------------------------------- 1 |  2 | 3 | {45F9476B-22CE-429A-9796-F37870CF3483} 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | Default.Personality.12 15 | 16 | 17 | 18 | 19 | 20 | 21 | 22 | 23 | 24 | 25 | 26 | 27 | 28 | 29 | 30 | 31 | 32 | 33 | 34 | 35 | 36 | 37 | 38 | 39 | 40 | 41 | 42 | 43 | 44 | 45 | 46 | 47 | 48 | 49 | -------------------------------------------------------------------------------- /packages/PackagesDelphiModbus2007.groupproj: -------------------------------------------------------------------------------- 1 |  2 | 3 | {42251e47-55bf-4f8f-b68f-d12ae186773b} 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | Default.Personality 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | 21 | 22 | 23 | 24 | 25 | 26 | 27 | 28 | 29 | 30 | 31 | 32 | 33 | 34 | 35 | 36 | 37 | 38 | 39 | 40 | 41 | 42 | 43 | 44 | -------------------------------------------------------------------------------- /packages/PackagesDelphiModbus2009.groupproj: -------------------------------------------------------------------------------- 1 |  2 | 3 | {17D2A5B1-2573-46F8-A0D0-7565F975DCBF} 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | Default.Personality.12 15 | 16 | 17 | 18 | 19 | 20 | 21 | 22 | 23 | 24 | 25 | 26 | 27 | 28 | 29 | 30 | 31 | 32 | 33 | 34 | 35 | 36 | 37 | 38 | 39 | 40 | 41 | 42 | 43 | 44 | 45 | 46 | 47 | 48 | 49 | -------------------------------------------------------------------------------- /packages/PackagesDelphiModbus2010.groupproj: -------------------------------------------------------------------------------- 1 |  2 | 3 | {63E967D3-0DC8-4111-AF70-A60DD1F0ACE9} 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | Default.Personality.12 15 | 16 | 17 | 18 | 19 | 20 | 21 | 22 | 23 | 24 | 25 | 26 | 27 | 28 | 29 | 30 | 31 | 32 | 33 | 34 | 35 | 36 | 37 | 38 | 39 | 40 | 41 | 42 | 43 | 44 | 45 | 46 | 47 | 48 | 49 | -------------------------------------------------------------------------------- /packages/PackagesDelphiModbus70.bpg: -------------------------------------------------------------------------------- 1 | #------------------------------------------------------------------------------ 2 | VERSION = BWS.01 3 | #------------------------------------------------------------------------------ 4 | !ifndef ROOT 5 | ROOT = $(MAKEDIR)\.. 6 | !endif 7 | #------------------------------------------------------------------------------ 8 | MAKE = $(ROOT)\bin\make.exe -$(MAKEFLAGS) -f$** 9 | DCC = $(ROOT)\bin\dcc32.exe $** 10 | BRCC = $(ROOT)\bin\brcc32.exe $** 11 | #------------------------------------------------------------------------------ 12 | PROJECTS = DelphiModbus70.bpl dclDelphiModbus70.bpl 13 | #------------------------------------------------------------------------------ 14 | default: $(PROJECTS) 15 | #------------------------------------------------------------------------------ 16 | 17 | DelphiModbus70.bpl: DelphiModbus70.dpk 18 | $(DCC) 19 | 20 | dclDelphiModbus70.bpl: dclDelphiModbus70.dpk 21 | $(DCC) 22 | 23 | 24 | -------------------------------------------------------------------------------- /packages/PackagesDelphiModbusXE.groupproj: -------------------------------------------------------------------------------- 1 |  2 | 3 | {34619982-7D8C-4335-B3B5-9241265188CA} 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | Default.Personality.12 15 | 16 | 17 | 18 | 19 | 20 | 21 | 22 | 23 | 24 | 25 | 26 | 27 | 28 | 29 | 30 | 31 | 32 | 33 | 34 | 35 | 36 | 37 | 38 | 39 | 40 | 41 | 42 | 43 | 44 | 45 | 46 | 47 | 48 | 49 | -------------------------------------------------------------------------------- /packages/PackagesDelphiModbusXE2.groupproj: -------------------------------------------------------------------------------- 1 |  2 | 3 | {34619982-7D8C-4335-B3B5-9241265188CA} 4 | 5 | 6 | 7 | 8 | 9 | 10 | DelphiModbusXE2.dproj 11 | 12 | 13 | 14 | Default.Personality.12 15 | 16 | 17 | 18 | 19 | 20 | 21 | 22 | 23 | 24 | 25 | 26 | 27 | 28 | 29 | 30 | 31 | 32 | 33 | 34 | 35 | 36 | 37 | 38 | 39 | 40 | 41 | 42 | 43 | 44 | 45 | 46 | 47 | 48 | 49 | -------------------------------------------------------------------------------- /packages/PackagesDelphiModbusXE3.groupproj: -------------------------------------------------------------------------------- 1 |  2 | 3 | {34619982-7D8C-4335-B3B5-9241265188CA} 4 | 5 | 6 | 7 | 8 | 9 | 10 | DelphiModbusXE3.dproj 11 | 12 | 13 | 14 | Default.Personality.12 15 | 16 | 17 | 18 | 19 | 20 | 21 | 22 | 23 | 24 | 25 | 26 | 27 | 28 | 29 | 30 | 31 | 32 | 33 | 34 | 35 | 36 | 37 | 38 | 39 | 40 | 41 | 42 | 43 | 44 | 45 | 46 | 47 | 48 | 49 | -------------------------------------------------------------------------------- /packages/PackagesDelphiModbusXE4.groupproj: -------------------------------------------------------------------------------- 1 |  2 | 3 | {34619982-7D8C-4335-B3B5-9241265188CA} 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | Default.Personality.12 15 | 16 | 17 | 18 | 19 | 20 | 21 | 22 | 23 | 24 | 25 | 26 | 27 | 28 | 29 | 30 | 31 | 32 | 33 | 34 | 35 | 36 | 37 | 38 | 39 | 40 | 41 | 42 | 43 | 44 | 45 | 46 | 47 | 48 | 49 | -------------------------------------------------------------------------------- /packages/PackagesDelphiModbusXE5.groupproj: -------------------------------------------------------------------------------- 1 |  2 | 3 | {34619982-7D8C-4335-B3B5-9241265188CA} 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | Default.Personality.12 15 | 16 | 17 | 18 | 19 | 20 | 21 | 22 | 23 | 24 | 25 | 26 | 27 | 28 | 29 | 30 | 31 | 32 | 33 | 34 | 35 | 36 | 37 | 38 | 39 | 40 | 41 | 42 | 43 | 44 | 45 | 46 | 47 | 48 | 49 | -------------------------------------------------------------------------------- /packages/PackagesDelphiModbusXE6.groupproj: -------------------------------------------------------------------------------- 1 |  2 | 3 | {34619982-7D8C-4335-B3B5-9241265188CA} 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | Default.Personality.12 15 | 16 | 17 | 18 | 19 | 20 | 21 | 22 | 23 | 24 | 25 | 26 | 27 | 28 | 29 | 30 | 31 | 32 | 33 | 34 | 35 | 36 | 37 | 38 | 39 | 40 | 41 | 42 | 43 | 44 | 45 | 46 | 47 | 48 | 49 | -------------------------------------------------------------------------------- /packages/PackagesDelphiModbusXE7.groupproj: -------------------------------------------------------------------------------- 1 |  2 | 3 | {CA066616-E29E-4BB3-AC6B-96532FD5458B} 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | Default.Personality.12 15 | 16 | 17 | 18 | 19 | 20 | 21 | 22 | 23 | 24 | 25 | 26 | 27 | 28 | 29 | 30 | 31 | 32 | 33 | 34 | 35 | 36 | 37 | 38 | 39 | 40 | 41 | 42 | 43 | 44 | 45 | 46 | 47 | 48 | 49 | -------------------------------------------------------------------------------- /packages/PackagesDelphiModbusXE8.groupproj: -------------------------------------------------------------------------------- 1 |  2 | 3 | {CA066616-E29E-4BB3-AC6B-96532FD5458B} 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | Default.Personality.12 15 | 16 | 17 | 18 | 19 | 20 | 21 | 22 | 23 | 24 | 25 | 26 | 27 | 28 | 29 | 30 | 31 | 32 | 33 | 34 | 35 | 36 | 37 | 38 | 39 | 40 | 41 | 42 | 43 | 44 | 45 | 46 | 47 | 48 | 49 | -------------------------------------------------------------------------------- /packages/dclDelphiModbus101Berlin.dpk: -------------------------------------------------------------------------------- 1 | package dclDelphiModbus101Berlin; 2 | 3 | {$R *.res} 4 | {$R '..\source\ModbusReg.dcr'} 5 | {$IFDEF IMPLICITBUILDING This IFDEF should not be used by users} 6 | {$ALIGN 8} 7 | {$ASSERTIONS ON} 8 | {$BOOLEVAL OFF} 9 | {$DEBUGINFO ON} 10 | {$EXTENDEDSYNTAX ON} 11 | {$IMPORTEDDATA ON} 12 | {$IOCHECKS ON} 13 | {$LOCALSYMBOLS ON} 14 | {$LONGSTRINGS ON} 15 | {$OPENSTRINGS ON} 16 | {$OPTIMIZATION OFF} 17 | {$OVERFLOWCHECKS OFF} 18 | {$RANGECHECKS OFF} 19 | {$REFERENCEINFO ON} 20 | {$SAFEDIVIDE OFF} 21 | {$STACKFRAMES ON} 22 | {$TYPEDADDRESS OFF} 23 | {$VARSTRINGCHECKS ON} 24 | {$WRITEABLECONST OFF} 25 | {$MINENUMSIZE 1} 26 | {$IMAGEBASE $400000} 27 | {$DEFINE DEBUG} 28 | {$ENDIF IMPLICITBUILDING} 29 | {$DESCRIPTION 'Delphi Modbus components'} 30 | {$DESIGNONLY} 31 | {$IMPLICITBUILD OFF} 32 | 33 | requires 34 | rtl, 35 | DelphiModbus101Berlin, 36 | vcl, 37 | designide, 38 | xmlrtl, 39 | vclactnband, 40 | vclx, 41 | vclimg; 42 | 43 | contains 44 | ModbusReg in '..\source\ModbusReg.pas', 45 | frm_About in '..\source\frm_About.pas' {frmAbout}, 46 | AboutComponentEditor in '..\source\AboutComponentEditor.pas', 47 | ModbusSplash in '..\source\ModbusSplash.pas'; 48 | 49 | end. 50 | -------------------------------------------------------------------------------- /packages/dclDelphiModbus101Berlin.res: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/coassoftwaresystems/delphi-modbus/6cc72803b45ca405b14f9d9218d10d8fa95aad0d/packages/dclDelphiModbus101Berlin.res -------------------------------------------------------------------------------- /packages/dclDelphiModbus102Tokyo.dpk: -------------------------------------------------------------------------------- 1 | package dclDelphiModbus102Tokyo; 2 | 3 | {$R *.res} 4 | {$R '..\source\ModbusReg.dcr'} 5 | {$IFDEF IMPLICITBUILDING This IFDEF should not be used by users} 6 | {$ALIGN 8} 7 | {$ASSERTIONS ON} 8 | {$BOOLEVAL OFF} 9 | {$DEBUGINFO ON} 10 | {$EXTENDEDSYNTAX ON} 11 | {$IMPORTEDDATA ON} 12 | {$IOCHECKS ON} 13 | {$LOCALSYMBOLS ON} 14 | {$LONGSTRINGS ON} 15 | {$OPENSTRINGS ON} 16 | {$OPTIMIZATION OFF} 17 | {$OVERFLOWCHECKS OFF} 18 | {$RANGECHECKS OFF} 19 | {$REFERENCEINFO ON} 20 | {$SAFEDIVIDE OFF} 21 | {$STACKFRAMES ON} 22 | {$TYPEDADDRESS OFF} 23 | {$VARSTRINGCHECKS ON} 24 | {$WRITEABLECONST OFF} 25 | {$MINENUMSIZE 1} 26 | {$IMAGEBASE $400000} 27 | {$DEFINE DEBUG} 28 | {$ENDIF IMPLICITBUILDING} 29 | {$DESCRIPTION 'Delphi Modbus components'} 30 | {$DESIGNONLY} 31 | {$IMPLICITBUILD OFF} 32 | 33 | requires 34 | rtl, 35 | DelphiModbus102Tokyo, 36 | vcl, 37 | designide, 38 | xmlrtl, 39 | vclactnband, 40 | vclx, 41 | vclimg; 42 | 43 | contains 44 | ModbusReg in '..\source\ModbusReg.pas', 45 | frm_About in '..\source\frm_About.pas' {frmAbout}, 46 | AboutComponentEditor in '..\source\AboutComponentEditor.pas', 47 | ModbusSplash in '..\source\ModbusSplash.pas'; 48 | 49 | end. 50 | -------------------------------------------------------------------------------- /packages/dclDelphiModbus102Tokyo.res: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/coassoftwaresystems/delphi-modbus/6cc72803b45ca405b14f9d9218d10d8fa95aad0d/packages/dclDelphiModbus102Tokyo.res -------------------------------------------------------------------------------- /packages/dclDelphiModbus103Rio.dpk: -------------------------------------------------------------------------------- 1 | package dclDelphiModbus103Rio; 2 | 3 | {$R *.res} 4 | {$R '..\source\ModbusReg.dcr'} 5 | {$IFDEF IMPLICITBUILDING This IFDEF should not be used by users} 6 | {$ALIGN 8} 7 | {$ASSERTIONS ON} 8 | {$BOOLEVAL OFF} 9 | {$DEBUGINFO ON} 10 | {$EXTENDEDSYNTAX ON} 11 | {$IMPORTEDDATA ON} 12 | {$IOCHECKS ON} 13 | {$LOCALSYMBOLS ON} 14 | {$LONGSTRINGS ON} 15 | {$OPENSTRINGS ON} 16 | {$OPTIMIZATION OFF} 17 | {$OVERFLOWCHECKS OFF} 18 | {$RANGECHECKS OFF} 19 | {$REFERENCEINFO ON} 20 | {$SAFEDIVIDE OFF} 21 | {$STACKFRAMES ON} 22 | {$TYPEDADDRESS OFF} 23 | {$VARSTRINGCHECKS ON} 24 | {$WRITEABLECONST OFF} 25 | {$MINENUMSIZE 1} 26 | {$IMAGEBASE $400000} 27 | {$DEFINE DEBUG} 28 | {$ENDIF IMPLICITBUILDING} 29 | {$DESCRIPTION 'Delphi Modbus components'} 30 | {$DESIGNONLY} 31 | {$IMPLICITBUILD OFF} 32 | 33 | requires 34 | rtl, 35 | DelphiModbus103Rio, 36 | vcl, 37 | designide, 38 | xmlrtl, 39 | vclactnband, 40 | vclx, 41 | vclimg; 42 | 43 | contains 44 | ModbusReg in '..\source\ModbusReg.pas', 45 | frm_About in '..\source\frm_About.pas' {frmAbout}, 46 | AboutComponentEditor in '..\source\AboutComponentEditor.pas', 47 | ModbusSplash in '..\source\ModbusSplash.pas'; 48 | 49 | end. 50 | -------------------------------------------------------------------------------- /packages/dclDelphiModbus103Rio.res: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/coassoftwaresystems/delphi-modbus/6cc72803b45ca405b14f9d9218d10d8fa95aad0d/packages/dclDelphiModbus103Rio.res -------------------------------------------------------------------------------- /packages/dclDelphiModbus104Sydney.dpk: -------------------------------------------------------------------------------- 1 | package dclDelphiModbus104Sydney; 2 | 3 | {$R *.res} 4 | {$R '..\source\ModbusReg.dcr'} 5 | {$IFDEF IMPLICITBUILDING This IFDEF should not be used by users} 6 | {$ALIGN 8} 7 | {$ASSERTIONS ON} 8 | {$BOOLEVAL OFF} 9 | {$DEBUGINFO ON} 10 | {$EXTENDEDSYNTAX ON} 11 | {$IMPORTEDDATA ON} 12 | {$IOCHECKS ON} 13 | {$LOCALSYMBOLS ON} 14 | {$LONGSTRINGS ON} 15 | {$OPENSTRINGS ON} 16 | {$OPTIMIZATION OFF} 17 | {$OVERFLOWCHECKS OFF} 18 | {$RANGECHECKS OFF} 19 | {$REFERENCEINFO ON} 20 | {$SAFEDIVIDE OFF} 21 | {$STACKFRAMES ON} 22 | {$TYPEDADDRESS OFF} 23 | {$VARSTRINGCHECKS ON} 24 | {$WRITEABLECONST OFF} 25 | {$MINENUMSIZE 1} 26 | {$IMAGEBASE $400000} 27 | {$DEFINE DEBUG} 28 | {$ENDIF IMPLICITBUILDING} 29 | {$DESCRIPTION 'Delphi Modbus components'} 30 | {$DESIGNONLY} 31 | {$IMPLICITBUILD OFF} 32 | 33 | requires 34 | rtl, 35 | DelphiModbus104Sydney, 36 | vcl, 37 | designide, 38 | xmlrtl, 39 | vclactnband, 40 | vclx, 41 | vclimg; 42 | 43 | contains 44 | ModbusReg in '..\source\ModbusReg.pas', 45 | frm_About in '..\source\frm_About.pas' {frmAbout}, 46 | AboutComponentEditor in '..\source\AboutComponentEditor.pas', 47 | ModbusSplash in '..\source\ModbusSplash.pas'; 48 | 49 | end. 50 | -------------------------------------------------------------------------------- /packages/dclDelphiModbus104Sydney.res: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/coassoftwaresystems/delphi-modbus/6cc72803b45ca405b14f9d9218d10d8fa95aad0d/packages/dclDelphiModbus104Sydney.res -------------------------------------------------------------------------------- /packages/dclDelphiModbus10Seattle.dpk: -------------------------------------------------------------------------------- 1 | package dclDelphiModbus10Seattle; 2 | 3 | {$R *.res} 4 | {$R '..\source\ModbusReg.dcr'} 5 | {$IFDEF IMPLICITBUILDING This IFDEF should not be used by users} 6 | {$ALIGN 8} 7 | {$ASSERTIONS ON} 8 | {$BOOLEVAL OFF} 9 | {$DEBUGINFO ON} 10 | {$EXTENDEDSYNTAX ON} 11 | {$IMPORTEDDATA ON} 12 | {$IOCHECKS ON} 13 | {$LOCALSYMBOLS ON} 14 | {$LONGSTRINGS ON} 15 | {$OPENSTRINGS ON} 16 | {$OPTIMIZATION OFF} 17 | {$OVERFLOWCHECKS OFF} 18 | {$RANGECHECKS OFF} 19 | {$REFERENCEINFO ON} 20 | {$SAFEDIVIDE OFF} 21 | {$STACKFRAMES ON} 22 | {$TYPEDADDRESS OFF} 23 | {$VARSTRINGCHECKS ON} 24 | {$WRITEABLECONST OFF} 25 | {$MINENUMSIZE 1} 26 | {$IMAGEBASE $400000} 27 | {$DEFINE DEBUG} 28 | {$ENDIF IMPLICITBUILDING} 29 | {$DESCRIPTION 'Delphi Modbus components'} 30 | {$DESIGNONLY} 31 | {$IMPLICITBUILD OFF} 32 | 33 | requires 34 | rtl, 35 | DelphiModbus10Seattle, 36 | vcl, 37 | designide, 38 | xmlrtl, 39 | vclactnband, 40 | vclx, 41 | vclimg; 42 | 43 | contains 44 | ModbusReg in '..\source\ModbusReg.pas', 45 | frm_About in '..\source\frm_About.pas' {frmAbout}, 46 | AboutComponentEditor in '..\source\AboutComponentEditor.pas', 47 | ModbusSplash in '..\source\ModbusSplash.pas'; 48 | 49 | end. 50 | -------------------------------------------------------------------------------- /packages/dclDelphiModbus10Seattle.res: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/coassoftwaresystems/delphi-modbus/6cc72803b45ca405b14f9d9218d10d8fa95aad0d/packages/dclDelphiModbus10Seattle.res -------------------------------------------------------------------------------- /packages/dclDelphiModbus11Alexandria.dpk: -------------------------------------------------------------------------------- 1 | package dclDelphiModbus11Alexandria; 2 | 3 | {$R *.res} 4 | {$R '..\source\ModbusReg.dcr'} 5 | {$IFDEF IMPLICITBUILDING This IFDEF should not be used by users} 6 | {$ALIGN 8} 7 | {$ASSERTIONS ON} 8 | {$BOOLEVAL OFF} 9 | {$DEBUGINFO ON} 10 | {$EXTENDEDSYNTAX ON} 11 | {$IMPORTEDDATA ON} 12 | {$IOCHECKS ON} 13 | {$LOCALSYMBOLS ON} 14 | {$LONGSTRINGS ON} 15 | {$OPENSTRINGS ON} 16 | {$OPTIMIZATION OFF} 17 | {$OVERFLOWCHECKS OFF} 18 | {$RANGECHECKS OFF} 19 | {$REFERENCEINFO ON} 20 | {$SAFEDIVIDE OFF} 21 | {$STACKFRAMES ON} 22 | {$TYPEDADDRESS OFF} 23 | {$VARSTRINGCHECKS ON} 24 | {$WRITEABLECONST OFF} 25 | {$MINENUMSIZE 1} 26 | {$IMAGEBASE $400000} 27 | {$DEFINE DEBUG} 28 | {$ENDIF IMPLICITBUILDING} 29 | {$DESCRIPTION 'Delphi Modbus components'} 30 | {$DESIGNONLY} 31 | {$IMPLICITBUILD OFF} 32 | 33 | requires 34 | rtl, 35 | DelphiModbus11Alexandria, 36 | vcl, 37 | designide, 38 | xmlrtl, 39 | vclactnband, 40 | vclx, 41 | vclimg; 42 | 43 | contains 44 | ModbusReg in '..\source\ModbusReg.pas', 45 | frm_About in '..\source\frm_About.pas' {frmAbout}, 46 | AboutComponentEditor in '..\source\AboutComponentEditor.pas', 47 | ModbusSplash in '..\source\ModbusSplash.pas'; 48 | 49 | end. 50 | -------------------------------------------------------------------------------- /packages/dclDelphiModbus11Alexandria.res: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/coassoftwaresystems/delphi-modbus/6cc72803b45ca405b14f9d9218d10d8fa95aad0d/packages/dclDelphiModbus11Alexandria.res -------------------------------------------------------------------------------- /packages/dclDelphiModbus12Athens.dpk: -------------------------------------------------------------------------------- 1 | package dclDelphiModbus12Athens; 2 | 3 | {$R *.res} 4 | {$R '..\source\ModbusReg.dcr'} 5 | {$IFDEF IMPLICITBUILDING This IFDEF should not be used by users} 6 | {$ALIGN 8} 7 | {$ASSERTIONS ON} 8 | {$BOOLEVAL OFF} 9 | {$DEBUGINFO ON} 10 | {$EXTENDEDSYNTAX ON} 11 | {$IMPORTEDDATA ON} 12 | {$IOCHECKS ON} 13 | {$LOCALSYMBOLS ON} 14 | {$LONGSTRINGS ON} 15 | {$OPENSTRINGS ON} 16 | {$OPTIMIZATION OFF} 17 | {$OVERFLOWCHECKS OFF} 18 | {$RANGECHECKS OFF} 19 | {$REFERENCEINFO ON} 20 | {$SAFEDIVIDE OFF} 21 | {$STACKFRAMES ON} 22 | {$TYPEDADDRESS OFF} 23 | {$VARSTRINGCHECKS ON} 24 | {$WRITEABLECONST OFF} 25 | {$MINENUMSIZE 1} 26 | {$IMAGEBASE $400000} 27 | {$DEFINE DEBUG} 28 | {$ENDIF IMPLICITBUILDING} 29 | {$DESCRIPTION 'Delphi Modbus components'} 30 | {$DESIGNONLY} 31 | {$IMPLICITBUILD OFF} 32 | 33 | requires 34 | rtl, 35 | DelphiModbus12Athens, 36 | vcl, 37 | designide, 38 | xmlrtl, 39 | vclactnband, 40 | vclx, 41 | vclimg; 42 | 43 | contains 44 | ModbusReg in '..\source\ModbusReg.pas', 45 | frm_About in '..\source\frm_About.pas' {frmAbout}, 46 | AboutComponentEditor in '..\source\AboutComponentEditor.pas', 47 | ModbusSplash in '..\source\ModbusSplash.pas'; 48 | 49 | end. 50 | -------------------------------------------------------------------------------- /packages/dclDelphiModbus12Athens.res: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/coassoftwaresystems/delphi-modbus/6cc72803b45ca405b14f9d9218d10d8fa95aad0d/packages/dclDelphiModbus12Athens.res -------------------------------------------------------------------------------- /packages/dclDelphiModbus2005.dpk: -------------------------------------------------------------------------------- 1 | package dclDelphiModbus2005; 2 | 3 | {$R *.res} 4 | {$R '..\source\ModbusReg.dcr'} 5 | {$ALIGN 8} 6 | {$ASSERTIONS ON} 7 | {$BOOLEVAL OFF} 8 | {$DEBUGINFO ON} 9 | {$EXTENDEDSYNTAX ON} 10 | {$IMPORTEDDATA ON} 11 | {$IOCHECKS ON} 12 | {$LOCALSYMBOLS ON} 13 | {$LONGSTRINGS ON} 14 | {$OPENSTRINGS ON} 15 | {$OPTIMIZATION ON} 16 | {$OVERFLOWCHECKS OFF} 17 | {$RANGECHECKS OFF} 18 | {$REFERENCEINFO ON} 19 | {$SAFEDIVIDE OFF} 20 | {$STACKFRAMES OFF} 21 | {$TYPEDADDRESS OFF} 22 | {$VARSTRINGCHECKS ON} 23 | {$WRITEABLECONST OFF} 24 | {$MINENUMSIZE 1} 25 | {$IMAGEBASE $400000} 26 | {$DESCRIPTION 'Delphi Modbus components'} 27 | {$DESIGNONLY} 28 | {$IMPLICITBUILD OFF} 29 | 30 | requires 31 | rtl, 32 | DelphiModbus2005, 33 | vcl, 34 | designide, 35 | vcljpg; 36 | 37 | contains 38 | ModbusReg in '..\source\ModbusReg.pas', 39 | frm_About in '..\source\frm_About.pas' {frmAbout}, 40 | AboutComponentEditor in '..\source\AboutComponentEditor.pas', 41 | ModbusSplash in '..\source\ModbusSplash.pas'; 42 | 43 | end. 44 | -------------------------------------------------------------------------------- /packages/dclDelphiModbus2006.dpk: -------------------------------------------------------------------------------- 1 | package dclDelphiModbus2006; 2 | 3 | {$R *.res} 4 | {$R '..\source\ModbusReg.dcr'} 5 | {$ALIGN 8} 6 | {$ASSERTIONS ON} 7 | {$BOOLEVAL OFF} 8 | {$DEBUGINFO ON} 9 | {$EXTENDEDSYNTAX ON} 10 | {$IMPORTEDDATA ON} 11 | {$IOCHECKS ON} 12 | {$LOCALSYMBOLS ON} 13 | {$LONGSTRINGS ON} 14 | {$OPENSTRINGS ON} 15 | {$OPTIMIZATION ON} 16 | {$OVERFLOWCHECKS OFF} 17 | {$RANGECHECKS OFF} 18 | {$REFERENCEINFO ON} 19 | {$SAFEDIVIDE OFF} 20 | {$STACKFRAMES OFF} 21 | {$TYPEDADDRESS OFF} 22 | {$VARSTRINGCHECKS ON} 23 | {$WRITEABLECONST OFF} 24 | {$MINENUMSIZE 1} 25 | {$IMAGEBASE $400000} 26 | {$DESCRIPTION 'Delphi Modbus components'} 27 | {$DESIGNONLY} 28 | {$IMPLICITBUILD OFF} 29 | 30 | requires 31 | rtl, 32 | DelphiModbus2006, 33 | vcl, 34 | designide, 35 | vcljpg; 36 | 37 | contains 38 | ModbusReg in '..\source\ModbusReg.pas', 39 | frm_About in '..\source\frm_About.pas' {frmAbout}, 40 | AboutComponentEditor in '..\source\AboutComponentEditor.pas', 41 | ModbusSplash in '..\source\ModbusSplash.pas'; 42 | 43 | end. 44 | -------------------------------------------------------------------------------- /packages/dclDelphiModbus2007.dpk: -------------------------------------------------------------------------------- 1 | package dclDelphiModbus2007; 2 | 3 | {$R *.res} 4 | {$R '..\source\ModbusReg.dcr'} 5 | {$ALIGN 8} 6 | {$ASSERTIONS ON} 7 | {$BOOLEVAL OFF} 8 | {$DEBUGINFO ON} 9 | {$EXTENDEDSYNTAX ON} 10 | {$IMPORTEDDATA ON} 11 | {$IOCHECKS ON} 12 | {$LOCALSYMBOLS ON} 13 | {$LONGSTRINGS ON} 14 | {$OPENSTRINGS ON} 15 | {$OPTIMIZATION ON} 16 | {$OVERFLOWCHECKS OFF} 17 | {$RANGECHECKS OFF} 18 | {$REFERENCEINFO ON} 19 | {$SAFEDIVIDE OFF} 20 | {$STACKFRAMES OFF} 21 | {$TYPEDADDRESS OFF} 22 | {$VARSTRINGCHECKS ON} 23 | {$WRITEABLECONST OFF} 24 | {$MINENUMSIZE 1} 25 | {$IMAGEBASE $400000} 26 | {$DESCRIPTION 'Delphi Modbus components'} 27 | {$DESIGNONLY} 28 | {$IMPLICITBUILD OFF} 29 | 30 | requires 31 | rtl, 32 | DelphiModbus2007, 33 | vcl, 34 | designide, 35 | xmlrtl, 36 | vclactnband, 37 | vclx, 38 | vcljpg; 39 | 40 | contains 41 | ModbusReg in '..\source\ModbusReg.pas', 42 | frm_About in '..\source\frm_About.pas' {frmAbout}, 43 | AboutComponentEditor in '..\source\AboutComponentEditor.pas', 44 | ModbusSplash in '..\source\ModbusSplash.pas'; 45 | 46 | end. 47 | -------------------------------------------------------------------------------- /packages/dclDelphiModbus2007.dproj: -------------------------------------------------------------------------------- 1 |  2 | 3 | {010d7c61-caf3-45b6-af83-f61da2f574a7} 4 | dclDelphiModbus2007.dpk 5 | Debug 6 | AnyCPU 7 | DCC32 8 | C:\Documents and Settings\All Users\Documents\RAD Studio\5.0\Bpl\dclDelphiModbus2007.bpl 9 | 10 | 11 | 7.0 12 | False 13 | False 14 | 0 15 | RELEASE 16 | 17 | 18 | 7.0 19 | 20 | 21 | Delphi.Personality 22 | Package 23 | 24 | FalseTrueFalseDelphi Modbus componentsFalseTrueFalseFalseFalse1000FalseFalseFalseFalseFalse103312521.0.0.01.0.0.0dclDelphiModbus2007.dpk 25 | 26 | 27 | 28 | 29 | MainSource 30 | 31 | 32 | 33 |
frmAbout
34 |
35 | 36 | 37 | 38 | 39 | 40 | 41 | 42 | 43 | 44 | 45 | 46 | 47 |
48 |
-------------------------------------------------------------------------------- /packages/dclDelphiModbus2007.res: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/coassoftwaresystems/delphi-modbus/6cc72803b45ca405b14f9d9218d10d8fa95aad0d/packages/dclDelphiModbus2007.res -------------------------------------------------------------------------------- /packages/dclDelphiModbus2009.dpk: -------------------------------------------------------------------------------- 1 | package dclDelphiModbus2009; 2 | 3 | {$R *.res} 4 | {$R '..\source\ModbusReg.dcr'} 5 | {$ALIGN 8} 6 | {$ASSERTIONS ON} 7 | {$BOOLEVAL OFF} 8 | {$DEBUGINFO ON} 9 | {$EXTENDEDSYNTAX ON} 10 | {$IMPORTEDDATA ON} 11 | {$IOCHECKS ON} 12 | {$LOCALSYMBOLS ON} 13 | {$LONGSTRINGS ON} 14 | {$OPENSTRINGS ON} 15 | {$OPTIMIZATION ON} 16 | {$OVERFLOWCHECKS OFF} 17 | {$RANGECHECKS OFF} 18 | {$REFERENCEINFO ON} 19 | {$SAFEDIVIDE OFF} 20 | {$STACKFRAMES OFF} 21 | {$TYPEDADDRESS OFF} 22 | {$VARSTRINGCHECKS ON} 23 | {$WRITEABLECONST OFF} 24 | {$MINENUMSIZE 1} 25 | {$IMAGEBASE $400000} 26 | {$DESCRIPTION 'Delphi Modbus components'} 27 | {$DESIGNONLY} 28 | {$IMPLICITBUILD OFF} 29 | 30 | requires 31 | rtl, 32 | DelphiModbus2009, 33 | vcl, 34 | designide, 35 | xmlrtl, 36 | vclactnband, 37 | vclx, 38 | vclimg; 39 | 40 | contains 41 | ModbusReg in '..\source\ModbusReg.pas', 42 | frm_About in '..\source\frm_About.pas' {frmAbout}, 43 | AboutComponentEditor in '..\source\AboutComponentEditor.pas', 44 | ModbusSplash in '..\source\ModbusSplash.pas'; 45 | 46 | end. 47 | -------------------------------------------------------------------------------- /packages/dclDelphiModbus2009.res: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/coassoftwaresystems/delphi-modbus/6cc72803b45ca405b14f9d9218d10d8fa95aad0d/packages/dclDelphiModbus2009.res -------------------------------------------------------------------------------- /packages/dclDelphiModbus2010.dpk: -------------------------------------------------------------------------------- 1 | package dclDelphiModbus2010; 2 | 3 | {$R *.res} 4 | {$R '..\source\ModbusReg.dcr'} 5 | {$ALIGN 8} 6 | {$ASSERTIONS ON} 7 | {$BOOLEVAL OFF} 8 | {$DEBUGINFO ON} 9 | {$EXTENDEDSYNTAX ON} 10 | {$IMPORTEDDATA ON} 11 | {$IOCHECKS ON} 12 | {$LOCALSYMBOLS ON} 13 | {$LONGSTRINGS ON} 14 | {$OPENSTRINGS ON} 15 | {$OPTIMIZATION ON} 16 | {$OVERFLOWCHECKS OFF} 17 | {$RANGECHECKS OFF} 18 | {$REFERENCEINFO ON} 19 | {$SAFEDIVIDE OFF} 20 | {$STACKFRAMES OFF} 21 | {$TYPEDADDRESS OFF} 22 | {$VARSTRINGCHECKS ON} 23 | {$WRITEABLECONST OFF} 24 | {$MINENUMSIZE 1} 25 | {$IMAGEBASE $400000} 26 | {$DESCRIPTION 'Delphi Modbus components'} 27 | {$DESIGNONLY} 28 | {$IMPLICITBUILD OFF} 29 | 30 | requires 31 | rtl, 32 | DelphiModbus2010, 33 | vcl, 34 | designide, 35 | xmlrtl, 36 | vclactnband, 37 | vclx, 38 | vclimg; 39 | 40 | contains 41 | ModbusReg in '..\source\ModbusReg.pas', 42 | frm_About in '..\source\frm_About.pas' {frmAbout}, 43 | AboutComponentEditor in '..\source\AboutComponentEditor.pas', 44 | ModbusSplash in '..\source\ModbusSplash.pas'; 45 | 46 | end. 47 | -------------------------------------------------------------------------------- /packages/dclDelphiModbus2010.res: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/coassoftwaresystems/delphi-modbus/6cc72803b45ca405b14f9d9218d10d8fa95aad0d/packages/dclDelphiModbus2010.res -------------------------------------------------------------------------------- /packages/dclDelphiModbus50.dpk: -------------------------------------------------------------------------------- 1 | package dclDelphiModbus50; 2 | 3 | {$R *.RES} 4 | {$R '..\source\ModbusReg.dcr'} 5 | {$ALIGN ON} 6 | {$ASSERTIONS ON} 7 | {$BOOLEVAL OFF} 8 | {$DEBUGINFO ON} 9 | {$EXTENDEDSYNTAX ON} 10 | {$IMPORTEDDATA ON} 11 | {$IOCHECKS ON} 12 | {$LOCALSYMBOLS ON} 13 | {$LONGSTRINGS ON} 14 | {$OPENSTRINGS ON} 15 | {$OPTIMIZATION ON} 16 | {$OVERFLOWCHECKS OFF} 17 | {$RANGECHECKS OFF} 18 | {$REFERENCEINFO ON} 19 | {$SAFEDIVIDE OFF} 20 | {$STACKFRAMES OFF} 21 | {$TYPEDADDRESS OFF} 22 | {$VARSTRINGCHECKS ON} 23 | {$WRITEABLECONST OFF} 24 | {$MINENUMSIZE 1} 25 | {$IMAGEBASE $400000} 26 | {$DESCRIPTION 'Delphi Modbus components'} 27 | {$DESIGNONLY} 28 | {$IMPLICITBUILD OFF} 29 | 30 | requires 31 | DelphiModbus50, 32 | vcljpg; 33 | 34 | contains 35 | ModbusReg in '..\source\ModbusReg.pas', 36 | frm_About in '..\source\frm_About.pas' {frmAbout}, 37 | AboutComponentEditor in '..\source\AboutComponentEditor.pas'; 38 | 39 | end. 40 | -------------------------------------------------------------------------------- /packages/dclDelphiModbus60.dpk: -------------------------------------------------------------------------------- 1 | package dclDelphiModbus60; 2 | 3 | {$R *.res} 4 | {$R '..\source\ModbusReg.dcr'} 5 | {$ALIGN 8} 6 | {$ASSERTIONS ON} 7 | {$BOOLEVAL OFF} 8 | {$DEBUGINFO ON} 9 | {$EXTENDEDSYNTAX ON} 10 | {$IMPORTEDDATA ON} 11 | {$IOCHECKS ON} 12 | {$LOCALSYMBOLS ON} 13 | {$LONGSTRINGS ON} 14 | {$OPENSTRINGS ON} 15 | {$OPTIMIZATION ON} 16 | {$OVERFLOWCHECKS OFF} 17 | {$RANGECHECKS OFF} 18 | {$REFERENCEINFO ON} 19 | {$SAFEDIVIDE OFF} 20 | {$STACKFRAMES OFF} 21 | {$TYPEDADDRESS OFF} 22 | {$VARSTRINGCHECKS ON} 23 | {$WRITEABLECONST OFF} 24 | {$MINENUMSIZE 1} 25 | {$IMAGEBASE $400000} 26 | {$DESCRIPTION 'Delphi Modbus components'} 27 | {$DESIGNONLY} 28 | {$IMPLICITBUILD OFF} 29 | 30 | requires 31 | rtl, 32 | DelphiModbus60, 33 | vcl, 34 | designide, 35 | vcljpg; 36 | 37 | contains 38 | ModbusReg in '..\source\ModbusReg.pas', 39 | frm_About in '..\source\frm_About.pas' {frmAbout}, 40 | AboutComponentEditor in '..\source\AboutComponentEditor.pas'; 41 | 42 | end. 43 | -------------------------------------------------------------------------------- /packages/dclDelphiModbus70.dpk: -------------------------------------------------------------------------------- 1 | package dclDelphiModbus70; 2 | 3 | {$R *.res} 4 | {$R '..\source\ModbusReg.dcr'} 5 | {$ALIGN 8} 6 | {$ASSERTIONS ON} 7 | {$BOOLEVAL OFF} 8 | {$DEBUGINFO ON} 9 | {$EXTENDEDSYNTAX ON} 10 | {$IMPORTEDDATA ON} 11 | {$IOCHECKS ON} 12 | {$LOCALSYMBOLS ON} 13 | {$LONGSTRINGS ON} 14 | {$OPENSTRINGS ON} 15 | {$OPTIMIZATION ON} 16 | {$OVERFLOWCHECKS OFF} 17 | {$RANGECHECKS OFF} 18 | {$REFERENCEINFO ON} 19 | {$SAFEDIVIDE OFF} 20 | {$STACKFRAMES OFF} 21 | {$TYPEDADDRESS OFF} 22 | {$VARSTRINGCHECKS ON} 23 | {$WRITEABLECONST OFF} 24 | {$MINENUMSIZE 1} 25 | {$IMAGEBASE $400000} 26 | {$DESCRIPTION 'Delphi Modbus components'} 27 | {$DESIGNONLY} 28 | {$IMPLICITBUILD OFF} 29 | 30 | requires 31 | rtl, 32 | DelphiModbus70, 33 | vcl, 34 | designide, 35 | vcljpg; 36 | 37 | contains 38 | ModbusReg in '..\source\ModbusReg.pas', 39 | frm_About in '..\source\frm_About.pas' {frmAbout}, 40 | AboutComponentEditor in '..\source\AboutComponentEditor.pas'; 41 | 42 | end. 43 | -------------------------------------------------------------------------------- /packages/dclDelphiModbus70.res: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/coassoftwaresystems/delphi-modbus/6cc72803b45ca405b14f9d9218d10d8fa95aad0d/packages/dclDelphiModbus70.res -------------------------------------------------------------------------------- /packages/dclDelphiModbusXE.dpk: -------------------------------------------------------------------------------- 1 | package dclDelphiModbusXE; 2 | 3 | {$R *.res} 4 | {$R '..\source\ModbusReg.dcr'} 5 | {$ALIGN 8} 6 | {$ASSERTIONS ON} 7 | {$BOOLEVAL OFF} 8 | {$DEBUGINFO ON} 9 | {$EXTENDEDSYNTAX ON} 10 | {$IMPORTEDDATA ON} 11 | {$IOCHECKS ON} 12 | {$LOCALSYMBOLS ON} 13 | {$LONGSTRINGS ON} 14 | {$OPENSTRINGS ON} 15 | {$OPTIMIZATION ON} 16 | {$OVERFLOWCHECKS OFF} 17 | {$RANGECHECKS OFF} 18 | {$REFERENCEINFO ON} 19 | {$SAFEDIVIDE OFF} 20 | {$STACKFRAMES OFF} 21 | {$TYPEDADDRESS OFF} 22 | {$VARSTRINGCHECKS ON} 23 | {$WRITEABLECONST OFF} 24 | {$MINENUMSIZE 1} 25 | {$IMAGEBASE $400000} 26 | {$DESCRIPTION 'Delphi Modbus components'} 27 | {$DESIGNONLY} 28 | {$IMPLICITBUILD OFF} 29 | 30 | requires 31 | rtl, 32 | DelphiModbusXE, 33 | vcl, 34 | designide, 35 | xmlrtl, 36 | vclactnband, 37 | vclx, 38 | vclimg; 39 | 40 | contains 41 | ModbusReg in '..\source\ModbusReg.pas', 42 | frm_About in '..\source\frm_About.pas' {frmAbout}, 43 | AboutComponentEditor in '..\source\AboutComponentEditor.pas', 44 | ModbusSplash in '..\source\ModbusSplash.pas'; 45 | 46 | end. 47 | -------------------------------------------------------------------------------- /packages/dclDelphiModbusXE.res: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/coassoftwaresystems/delphi-modbus/6cc72803b45ca405b14f9d9218d10d8fa95aad0d/packages/dclDelphiModbusXE.res -------------------------------------------------------------------------------- /packages/dclDelphiModbusXE2.dpk: -------------------------------------------------------------------------------- 1 | package dclDelphiModbusXE2; 2 | 3 | {$R *.res} 4 | {$R '..\source\ModbusReg.dcr'} 5 | {$ALIGN 8} 6 | {$ASSERTIONS ON} 7 | {$BOOLEVAL OFF} 8 | {$DEBUGINFO ON} 9 | {$EXTENDEDSYNTAX ON} 10 | {$IMPORTEDDATA ON} 11 | {$IOCHECKS ON} 12 | {$LOCALSYMBOLS ON} 13 | {$LONGSTRINGS ON} 14 | {$OPENSTRINGS ON} 15 | {$OPTIMIZATION OFF} 16 | {$OVERFLOWCHECKS OFF} 17 | {$RANGECHECKS OFF} 18 | {$REFERENCEINFO ON} 19 | {$SAFEDIVIDE OFF} 20 | {$STACKFRAMES ON} 21 | {$TYPEDADDRESS OFF} 22 | {$VARSTRINGCHECKS ON} 23 | {$WRITEABLECONST OFF} 24 | {$MINENUMSIZE 1} 25 | {$IMAGEBASE $400000} 26 | {$DESCRIPTION 'Delphi Modbus components'} 27 | {$DESIGNONLY} 28 | {$IMPLICITBUILD OFF} 29 | {$DEFINE DEBUG} 30 | 31 | requires 32 | rtl, 33 | DelphiModbusXE2, 34 | vcl, 35 | designide, 36 | xmlrtl, 37 | vclactnband, 38 | vclx, 39 | vclimg; 40 | 41 | contains 42 | ModbusReg in '..\source\ModbusReg.pas', 43 | frm_About in '..\source\frm_About.pas' {frmAbout}, 44 | AboutComponentEditor in '..\source\AboutComponentEditor.pas', 45 | ModbusSplash in '..\source\ModbusSplash.pas'; 46 | 47 | end. 48 | -------------------------------------------------------------------------------- /packages/dclDelphiModbusXE2.res: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/coassoftwaresystems/delphi-modbus/6cc72803b45ca405b14f9d9218d10d8fa95aad0d/packages/dclDelphiModbusXE2.res -------------------------------------------------------------------------------- /packages/dclDelphiModbusXE3.dpk: -------------------------------------------------------------------------------- 1 | package dclDelphiModbusXE3; 2 | 3 | {$R *.res} 4 | {$R '..\source\ModbusReg.dcr'} 5 | {$ALIGN 8} 6 | {$ASSERTIONS ON} 7 | {$BOOLEVAL OFF} 8 | {$DEBUGINFO ON} 9 | {$EXTENDEDSYNTAX ON} 10 | {$IMPORTEDDATA ON} 11 | {$IOCHECKS ON} 12 | {$LOCALSYMBOLS ON} 13 | {$LONGSTRINGS ON} 14 | {$OPENSTRINGS ON} 15 | {$OPTIMIZATION OFF} 16 | {$OVERFLOWCHECKS OFF} 17 | {$RANGECHECKS OFF} 18 | {$REFERENCEINFO ON} 19 | {$SAFEDIVIDE OFF} 20 | {$STACKFRAMES ON} 21 | {$TYPEDADDRESS OFF} 22 | {$VARSTRINGCHECKS ON} 23 | {$WRITEABLECONST OFF} 24 | {$MINENUMSIZE 1} 25 | {$IMAGEBASE $400000} 26 | {$DESCRIPTION 'Delphi Modbus components'} 27 | {$DESIGNONLY} 28 | {$IMPLICITBUILD OFF} 29 | {$DEFINE DEBUG} 30 | 31 | requires 32 | rtl, 33 | DelphiModbusXE3, 34 | vcl, 35 | designide, 36 | xmlrtl, 37 | vclactnband, 38 | vclx, 39 | vclimg; 40 | 41 | contains 42 | ModbusReg in '..\source\ModbusReg.pas', 43 | frm_About in '..\source\frm_About.pas' {frmAbout}, 44 | AboutComponentEditor in '..\source\AboutComponentEditor.pas', 45 | ModbusSplash in '..\source\ModbusSplash.pas'; 46 | 47 | end. 48 | -------------------------------------------------------------------------------- /packages/dclDelphiModbusXE3.res: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/coassoftwaresystems/delphi-modbus/6cc72803b45ca405b14f9d9218d10d8fa95aad0d/packages/dclDelphiModbusXE3.res -------------------------------------------------------------------------------- /packages/dclDelphiModbusXE4.dpk: -------------------------------------------------------------------------------- 1 | package dclDelphiModbusXE4; 2 | 3 | {$R *.res} 4 | {$R '..\source\ModbusReg.dcr'} 5 | {$ALIGN 8} 6 | {$ASSERTIONS ON} 7 | {$BOOLEVAL OFF} 8 | {$DEBUGINFO ON} 9 | {$EXTENDEDSYNTAX ON} 10 | {$IMPORTEDDATA ON} 11 | {$IOCHECKS ON} 12 | {$LOCALSYMBOLS ON} 13 | {$LONGSTRINGS ON} 14 | {$OPENSTRINGS ON} 15 | {$OPTIMIZATION OFF} 16 | {$OVERFLOWCHECKS OFF} 17 | {$RANGECHECKS OFF} 18 | {$REFERENCEINFO ON} 19 | {$SAFEDIVIDE OFF} 20 | {$STACKFRAMES ON} 21 | {$TYPEDADDRESS OFF} 22 | {$VARSTRINGCHECKS ON} 23 | {$WRITEABLECONST OFF} 24 | {$MINENUMSIZE 1} 25 | {$IMAGEBASE $400000} 26 | {$DESCRIPTION 'Delphi Modbus components'} 27 | {$DESIGNONLY} 28 | {$IMPLICITBUILD OFF} 29 | {$DEFINE DEBUG} 30 | 31 | requires 32 | rtl, 33 | DelphiModbusXE4, 34 | vcl, 35 | designide, 36 | xmlrtl, 37 | vclactnband, 38 | vclx, 39 | vclimg; 40 | 41 | contains 42 | ModbusReg in '..\source\ModbusReg.pas', 43 | frm_About in '..\source\frm_About.pas' {frmAbout}, 44 | AboutComponentEditor in '..\source\AboutComponentEditor.pas', 45 | ModbusSplash in '..\source\ModbusSplash.pas'; 46 | 47 | end. 48 | -------------------------------------------------------------------------------- /packages/dclDelphiModbusXE4.res: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/coassoftwaresystems/delphi-modbus/6cc72803b45ca405b14f9d9218d10d8fa95aad0d/packages/dclDelphiModbusXE4.res -------------------------------------------------------------------------------- /packages/dclDelphiModbusXE5.dpk: -------------------------------------------------------------------------------- 1 | package dclDelphiModbusXE5; 2 | 3 | {$R *.res} 4 | {$R '..\source\ModbusReg.dcr'} 5 | {$ALIGN 8} 6 | {$ASSERTIONS ON} 7 | {$BOOLEVAL OFF} 8 | {$DEBUGINFO ON} 9 | {$EXTENDEDSYNTAX ON} 10 | {$IMPORTEDDATA ON} 11 | {$IOCHECKS ON} 12 | {$LOCALSYMBOLS ON} 13 | {$LONGSTRINGS ON} 14 | {$OPENSTRINGS ON} 15 | {$OPTIMIZATION OFF} 16 | {$OVERFLOWCHECKS OFF} 17 | {$RANGECHECKS OFF} 18 | {$REFERENCEINFO ON} 19 | {$SAFEDIVIDE OFF} 20 | {$STACKFRAMES ON} 21 | {$TYPEDADDRESS OFF} 22 | {$VARSTRINGCHECKS ON} 23 | {$WRITEABLECONST OFF} 24 | {$MINENUMSIZE 1} 25 | {$IMAGEBASE $400000} 26 | {$DESCRIPTION 'Delphi Modbus components'} 27 | {$DESIGNONLY} 28 | {$IMPLICITBUILD OFF} 29 | {$DEFINE DEBUG} 30 | 31 | requires 32 | rtl, 33 | DelphiModbusXE5, 34 | vcl, 35 | designide, 36 | xmlrtl, 37 | vclactnband, 38 | vclx, 39 | vclimg; 40 | 41 | contains 42 | ModbusReg in '..\source\ModbusReg.pas', 43 | frm_About in '..\source\frm_About.pas' {frmAbout}, 44 | AboutComponentEditor in '..\source\AboutComponentEditor.pas', 45 | ModbusSplash in '..\source\ModbusSplash.pas'; 46 | 47 | end. 48 | -------------------------------------------------------------------------------- /packages/dclDelphiModbusXE5.res: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/coassoftwaresystems/delphi-modbus/6cc72803b45ca405b14f9d9218d10d8fa95aad0d/packages/dclDelphiModbusXE5.res -------------------------------------------------------------------------------- /packages/dclDelphiModbusXE6.dpk: -------------------------------------------------------------------------------- 1 | package dclDelphiModbusXE6; 2 | 3 | {$R *.res} 4 | {$R '..\source\ModbusReg.dcr'} 5 | {$ALIGN 8} 6 | {$ASSERTIONS ON} 7 | {$BOOLEVAL OFF} 8 | {$DEBUGINFO ON} 9 | {$EXTENDEDSYNTAX ON} 10 | {$IMPORTEDDATA ON} 11 | {$IOCHECKS ON} 12 | {$LOCALSYMBOLS ON} 13 | {$LONGSTRINGS ON} 14 | {$OPENSTRINGS ON} 15 | {$OPTIMIZATION OFF} 16 | {$OVERFLOWCHECKS OFF} 17 | {$RANGECHECKS OFF} 18 | {$REFERENCEINFO ON} 19 | {$SAFEDIVIDE OFF} 20 | {$STACKFRAMES ON} 21 | {$TYPEDADDRESS OFF} 22 | {$VARSTRINGCHECKS ON} 23 | {$WRITEABLECONST OFF} 24 | {$MINENUMSIZE 1} 25 | {$IMAGEBASE $400000} 26 | {$DESCRIPTION 'Delphi Modbus components'} 27 | {$DESIGNONLY} 28 | {$IMPLICITBUILD OFF} 29 | {$DEFINE DEBUG} 30 | 31 | requires 32 | rtl, 33 | DelphiModbusXE6, 34 | vcl, 35 | designide, 36 | xmlrtl, 37 | vclactnband, 38 | vclx, 39 | vclimg; 40 | 41 | contains 42 | ModbusReg in '..\source\ModbusReg.pas', 43 | frm_About in '..\source\frm_About.pas' {frmAbout}, 44 | AboutComponentEditor in '..\source\AboutComponentEditor.pas', 45 | ModbusSplash in '..\source\ModbusSplash.pas'; 46 | 47 | end. 48 | -------------------------------------------------------------------------------- /packages/dclDelphiModbusXE6.res: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/coassoftwaresystems/delphi-modbus/6cc72803b45ca405b14f9d9218d10d8fa95aad0d/packages/dclDelphiModbusXE6.res -------------------------------------------------------------------------------- /packages/dclDelphiModbusXE7.dpk: -------------------------------------------------------------------------------- 1 | package dclDelphiModbusXE7; 2 | 3 | {$R *.res} 4 | {$R '..\source\ModbusReg.dcr'} 5 | {$IFDEF IMPLICITBUILDING This IFDEF should not be used by users} 6 | {$ALIGN 8} 7 | {$ASSERTIONS ON} 8 | {$BOOLEVAL OFF} 9 | {$DEBUGINFO ON} 10 | {$EXTENDEDSYNTAX ON} 11 | {$IMPORTEDDATA ON} 12 | {$IOCHECKS ON} 13 | {$LOCALSYMBOLS ON} 14 | {$LONGSTRINGS ON} 15 | {$OPENSTRINGS ON} 16 | {$OPTIMIZATION OFF} 17 | {$OVERFLOWCHECKS OFF} 18 | {$RANGECHECKS OFF} 19 | {$REFERENCEINFO ON} 20 | {$SAFEDIVIDE OFF} 21 | {$STACKFRAMES ON} 22 | {$TYPEDADDRESS OFF} 23 | {$VARSTRINGCHECKS ON} 24 | {$WRITEABLECONST OFF} 25 | {$MINENUMSIZE 1} 26 | {$IMAGEBASE $400000} 27 | {$DEFINE DEBUG} 28 | {$ENDIF IMPLICITBUILDING} 29 | {$DESCRIPTION 'Delphi Modbus components'} 30 | {$DESIGNONLY} 31 | {$IMPLICITBUILD OFF} 32 | 33 | requires 34 | rtl, 35 | DelphiModbusXE7, 36 | vcl, 37 | designide, 38 | xmlrtl, 39 | vclactnband, 40 | vclx, 41 | vclimg; 42 | 43 | contains 44 | ModbusReg in '..\source\ModbusReg.pas', 45 | frm_About in '..\source\frm_About.pas' {frmAbout}, 46 | AboutComponentEditor in '..\source\AboutComponentEditor.pas', 47 | ModbusSplash in '..\source\ModbusSplash.pas'; 48 | 49 | end. 50 | -------------------------------------------------------------------------------- /packages/dclDelphiModbusXE7.res: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/coassoftwaresystems/delphi-modbus/6cc72803b45ca405b14f9d9218d10d8fa95aad0d/packages/dclDelphiModbusXE7.res -------------------------------------------------------------------------------- /packages/dclDelphiModbusXE8.dpk: -------------------------------------------------------------------------------- 1 | package dclDelphiModbusXE8; 2 | 3 | {$R *.res} 4 | {$R '..\source\ModbusReg.dcr'} 5 | {$IFDEF IMPLICITBUILDING This IFDEF should not be used by users} 6 | {$ALIGN 8} 7 | {$ASSERTIONS ON} 8 | {$BOOLEVAL OFF} 9 | {$DEBUGINFO ON} 10 | {$EXTENDEDSYNTAX ON} 11 | {$IMPORTEDDATA ON} 12 | {$IOCHECKS ON} 13 | {$LOCALSYMBOLS ON} 14 | {$LONGSTRINGS ON} 15 | {$OPENSTRINGS ON} 16 | {$OPTIMIZATION OFF} 17 | {$OVERFLOWCHECKS OFF} 18 | {$RANGECHECKS OFF} 19 | {$REFERENCEINFO ON} 20 | {$SAFEDIVIDE OFF} 21 | {$STACKFRAMES ON} 22 | {$TYPEDADDRESS OFF} 23 | {$VARSTRINGCHECKS ON} 24 | {$WRITEABLECONST OFF} 25 | {$MINENUMSIZE 1} 26 | {$IMAGEBASE $400000} 27 | {$DEFINE DEBUG} 28 | {$ENDIF IMPLICITBUILDING} 29 | {$DESCRIPTION 'Delphi Modbus components'} 30 | {$DESIGNONLY} 31 | {$IMPLICITBUILD OFF} 32 | 33 | requires 34 | rtl, 35 | DelphiModbusXE8, 36 | vcl, 37 | designide, 38 | xmlrtl, 39 | vclactnband, 40 | vclx, 41 | vclimg; 42 | 43 | contains 44 | ModbusReg in '..\source\ModbusReg.pas', 45 | frm_About in '..\source\frm_About.pas' {frmAbout}, 46 | AboutComponentEditor in '..\source\AboutComponentEditor.pas', 47 | ModbusSplash in '..\source\ModbusSplash.pas'; 48 | 49 | end. 50 | -------------------------------------------------------------------------------- /packages/dclDelphiModbusXE8.res: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/coassoftwaresystems/delphi-modbus/6cc72803b45ca405b14f9d9218d10d8fa95aad0d/packages/dclDelphiModbusXE8.res -------------------------------------------------------------------------------- /packages/delphimodbuslazarus.lpk: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | 21 | 22 | 23 | 24 | 25 | 26 | 27 | 28 | 29 | 30 | 31 | 32 | 33 | 34 | 35 | 36 | 37 | 38 | 39 | 40 | 41 | 42 | 43 | 44 | 45 | 46 | 47 | 48 | 49 | 50 | 51 | 52 | 53 | 54 | 55 | 56 | 57 | 58 | 59 | 60 | 61 | 62 | 63 | 64 | 65 | 66 | 67 | 68 | 69 | 70 | -------------------------------------------------------------------------------- /packages/delphimodbuslazarus.pas: -------------------------------------------------------------------------------- 1 | { This file was automatically created by Lazarus. do not edit! 2 | This source is only used to compile and install the package. 3 | } 4 | 5 | unit delphimodbuslazarus; 6 | 7 | interface 8 | 9 | uses 10 | IdModbusClient, ModbusUtils, ModbusTypes, ModbusStrConsts, ModbusConsts, 11 | IdModbusServer, ModbusReg, LazarusPackageIntf; 12 | 13 | implementation 14 | 15 | procedure Register; 16 | begin 17 | RegisterUnit('ModbusReg', @ModbusReg.Register); 18 | end; 19 | 20 | initialization 21 | RegisterPackage('DelphiModbusLazarus', @Register); 22 | end. 23 | -------------------------------------------------------------------------------- /source/AboutComponentEditor.pas: -------------------------------------------------------------------------------- 1 | {=============================================================================== 2 | 3 | Copyright (c) 2010 P.L. Polak 4 | 5 | The MIT License (MIT) 6 | 7 | Permission is hereby granted, free of charge, to any person obtaining a copy 8 | of this software and associated documentation files (the "Software"), to deal 9 | in the Software without restriction, including without limitation the rights 10 | to use, copy, modify, merge, publish, distribute, sublicense, and/or sell 11 | copies of the Software, and to permit persons to whom the Software is 12 | furnished to do so, subject to the following conditions: 13 | 14 | The above copyright notice and this permission notice shall be included in all 15 | copies or substantial portions of the Software. 16 | 17 | THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR 18 | IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, 19 | FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE 20 | AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER 21 | LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, 22 | OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE 23 | SOFTWARE. 24 | 25 | ===============================================================================} 26 | 27 | {$I ModBusCompiler.inc} 28 | 29 | unit AboutComponentEditor; 30 | 31 | interface 32 | 33 | uses 34 | {$IFDEF DMB_DELPHI6} 35 | DesignIntf 36 | ,DesignEditors 37 | {$ELSE} 38 | DsgnIntf 39 | {$ENDIF} 40 | ; 41 | 42 | type 43 | TAboutComponentEditor = class(TDefaultEditor) 44 | public 45 | procedure ExecuteVerb(Index: Integer); override; 46 | function GetVerb(Index: Integer): string; override; 47 | function GetVerbCount: Integer; override; 48 | procedure Edit; override; 49 | end; { TAboutComponentEditor } 50 | 51 | type 52 | TAboutPropertyEditor = class(TPropertyEditor) 53 | public 54 | procedure Edit; override; 55 | function GetAttributes: TPropertyAttributes; override; 56 | function GetValue:string; override; 57 | end; { TAboutPropertyEditor } 58 | 59 | 60 | implementation 61 | 62 | uses 63 | frm_About 64 | ,SysUtils 65 | ,ModbusConsts; 66 | 67 | 68 | procedure ShowAboutDialog; 69 | begin 70 | frmAbout := TfrmAbout.Create(nil); 71 | try 72 | frmAbout.ShowModal; 73 | finally 74 | frmAbout.Free; 75 | end; 76 | end; { ShowAboutDialog } 77 | 78 | 79 | { TAboutComponentEditor } 80 | 81 | procedure TAboutComponentEditor.Edit; 82 | begin 83 | ShowAboutDialog; 84 | end; { Edit } 85 | 86 | 87 | procedure TAboutComponentEditor.ExecuteVerb(Index: Integer); 88 | begin 89 | inherited; 90 | if (Index = 0) then 91 | Edit; 92 | end; { ExecuteVerb } 93 | 94 | 95 | function TAboutComponentEditor.GetVerb(Index: Integer): string; 96 | begin 97 | Result := '&About...'; 98 | end; { GetVerb } 99 | 100 | 101 | function TAboutComponentEditor.GetVerbCount: Integer; 102 | begin 103 | Result := 1; 104 | end; { GetVerbCount } 105 | 106 | 107 | { TAboutPropertyEditor } 108 | 109 | procedure TAboutPropertyEditor.Edit; 110 | begin 111 | ShowAboutDialog; 112 | end; { Edit } 113 | 114 | 115 | function TAboutPropertyEditor.GetAttributes: TPropertyAttributes; 116 | begin 117 | Result := [paDialog, paReadOnly]; 118 | end; { GetAttributes } 119 | 120 | 121 | function TAboutPropertyEditor.GetValue: String; 122 | begin 123 | Result := Format('(%s)', [DMB_VERSION]); 124 | end; { GetValue } 125 | 126 | 127 | end. 128 | -------------------------------------------------------------------------------- /source/ModBusPlatforms.inc: -------------------------------------------------------------------------------- 1 | {$IFDEF DMB_DELPHIXE3} 2 | [ComponentPlatformsAttribute(pidWin32 or pidWin64 or 3 | {$IFDEF DMB_DELPHI10_2_TOKYO} 4 | pidLinux32 or pidLinux64 or 5 | {$ENDIF} 6 | {$IFDEF DMB_DELPHI10_1_BERLIN} 7 | pidiOSDevice32 or pidiOSSimulator32 or 8 | pidAndroid32Arm or pidAndroid64Arm or 9 | pidiOSDevice64 or pidiOSSimulator64 or 10 | {$ELSE} 11 | {$IFDEF DMB_DELPHIXE4} 12 | pidiOSDevice or pidiOSSimulator or 13 | {$ENDIF} 14 | {$IFDEF DMB_DELPHIXE5} 15 | pidAndroid or 16 | {$ENDIF} 17 | {$ENDIF} 18 | {$IFDEF DMB_DELPHI10_3_RIO} 19 | pidOSX32 or pidOSX64 or 20 | {$ELSE} 21 | pidOSX or 22 | {$ENDIF} 23 | 0)] // Make statement complete with 0 (which is harmless) 24 | {$ENDIF} 25 | -------------------------------------------------------------------------------- /source/ModbusConsts.pas: -------------------------------------------------------------------------------- 1 | {=============================================================================== 2 | 3 | Copyright (c) 2010 P.L. Polak 4 | 5 | The MIT License (MIT) 6 | 7 | Permission is hereby granted, free of charge, to any person obtaining a copy 8 | of this software and associated documentation files (the "Software"), to deal 9 | in the Software without restriction, including without limitation the rights 10 | to use, copy, modify, merge, publish, distribute, sublicense, and/or sell 11 | copies of the Software, and to permit persons to whom the Software is 12 | furnished to do so, subject to the following conditions: 13 | 14 | The above copyright notice and this permission notice shall be included in all 15 | copies or substantial portions of the Software. 16 | 17 | THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR 18 | IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, 19 | FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE 20 | AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER 21 | LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, 22 | OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE 23 | SOFTWARE. 24 | 25 | 26 | ===============================================================================} 27 | 28 | {$I ModBusCompiler.inc} 29 | 30 | unit ModbusConsts; 31 | 32 | interface 33 | 34 | const 35 | MB_PORT = 502; 36 | MB_IGNORE_UNITID = 255; 37 | MB_PROTOCOL = 0; 38 | 39 | // Define constants for the ModBus functions 40 | const 41 | mbfReadCoils = $01; 42 | mbfReadInputBits = $02; 43 | mbfReadHoldingRegs = $03; 44 | mbfReadInputRegs = $04; 45 | mbfWriteOneCoil = $05; 46 | mbfWriteOneReg = $06; 47 | mbfWriteCoils = $0F; 48 | mbfWriteRegs = $10; 49 | mbfReportSlaveID = $11; 50 | mbfReadFileRecord = $14; 51 | mbfWriteFileRecord = $15; 52 | mbfMaskWriteReg = $16; 53 | mbfReadWriteRegs = $17; 54 | mbfReadFiFoQueue = $18; 55 | 56 | // Define constants for the ModBus exceptions 57 | const 58 | mbeOk = $00; 59 | mbeIllegalFunction = $01; 60 | mbeIllegalRegister = $02; 61 | mbeIllegalDataValue = $03; 62 | mbeServerFailure = $04; 63 | mbeAcknowledge = $05; 64 | mbeServerBusy = $06; 65 | mbeGatewayPathNotAvailable = $0A; 66 | mbeGatewayNoResponseFromTarget = $0B; 67 | 68 | const 69 | MaxBlockLength = 125; 70 | MaxCoils = 2000; 71 | 72 | const 73 | DMB_VERSION = '1.7.3'; {Do not Localize} 74 | 75 | const 76 | DefaultLogTimeFormat = 'yyyy-mm-dd hh:nn:ss.zzz'; {Do not Localize} 77 | 78 | implementation 79 | 80 | end. 81 | 82 | -------------------------------------------------------------------------------- /source/ModbusReg.dcr: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/coassoftwaresystems/delphi-modbus/6cc72803b45ca405b14f9d9218d10d8fa95aad0d/source/ModbusReg.dcr -------------------------------------------------------------------------------- /source/ModbusReg.pas: -------------------------------------------------------------------------------- 1 | {=============================================================================== 2 | 3 | Copyright (c) 2010 P.L. Polak 4 | 5 | The MIT License (MIT) 6 | 7 | Permission is hereby granted, free of charge, to any person obtaining a copy 8 | of this software and associated documentation files (the "Software"), to deal 9 | in the Software without restriction, including without limitation the rights 10 | to use, copy, modify, merge, publish, distribute, sublicense, and/or sell 11 | copies of the Software, and to permit persons to whom the Software is 12 | furnished to do so, subject to the following conditions: 13 | 14 | The above copyright notice and this permission notice shall be included in all 15 | copies or substantial portions of the Software. 16 | 17 | THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR 18 | IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, 19 | FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE 20 | AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER 21 | LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, 22 | OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE 23 | SOFTWARE. 24 | 25 | 26 | ===============================================================================} 27 | 28 | {$I ModBusCompiler.inc} 29 | 30 | unit ModbusReg; 31 | 32 | interface 33 | 34 | procedure Register; 35 | 36 | implementation 37 | 38 | uses 39 | Classes 40 | {$IFDEF DMB_DELPHI6} 41 | ,DesignIntf 42 | {$ELSE} 43 | {$IFDEF FPC} 44 | ,LazarusPackageIntf 45 | {$ELSE} 46 | ,DsgnIntf 47 | {$ENDIF} 48 | {$ENDIF} 49 | ,IdModbusClient 50 | ,IdModbusServer 51 | {$IFNDEF FPC} 52 | {$IFDEF DMB_DELPHI2005} 53 | ,ModbusSplash 54 | {$ENDIF} 55 | ,AboutComponentEditor 56 | {$ENDIF} 57 | ,ModbusStrConsts; 58 | 59 | 60 | procedure Register; 61 | begin 62 | { Register the components } 63 | RegisterComponents('Modbus', [TIdModbusClient, TIdModbusServer]); 64 | {$IFNDEF FPC} 65 | { Register the component editors } 66 | RegisterComponentEditor(TIdModbusClient, TAboutComponentEditor); 67 | RegisterComponentEditor(TIdModbusServer, TAboutComponentEditor); 68 | { Register the property editors } 69 | RegisterPropertyEditor(TypeInfo(String), TIdModbusClient, 'Version', TAboutPropertyEditor); 70 | RegisterPropertyEditor(TypeInfo(String), TIdModbusServer, 'Version', TAboutPropertyEditor); 71 | {$ENDIF} 72 | {$IFDEF DMB_DELPHI6} 73 | { Register the property categories for the client component } 74 | RegisterPropertyInCategory(sModbus, TIdModbusClient, 'AutoConnect'); 75 | RegisterPropertyInCategory(sModbus, TIdModbusClient, 'BaseRegister'); 76 | RegisterPropertyInCategory(sModbus, TIdModbusClient, 'BlockLength'); 77 | {$IFNDEF DMB_INDY10} 78 | RegisterPropertyInCategory(sModbus, TIdModbusClient, 'ConnectTimeOut'); 79 | {$ENDIF} 80 | RegisterPropertyInCategory(sModbus, TIdModbusClient, 'ReadTimeout'); 81 | RegisterPropertyInCategory(sModbus, TIdModbusClient, 'TimeOut'); 82 | RegisterPropertyInCategory(sModbus, TIdModbusClient, 'UnitID'); 83 | RegisterPropertyInCategory(sModbus, TIdModbusClient, 'Version'); 84 | { Register the property categories for the client events } 85 | RegisterPropertyInCategory(sModbus, TIdModbusClient, 'OnResponseError'); 86 | RegisterPropertyInCategory(sModbus, TIdModbusClient, 'OnResponseMismatch'); 87 | 88 | { Register the property categories for the server component } 89 | RegisterPropertyInCategory(sModbus, TIdModbusServer, 'BaseRegister'); 90 | RegisterPropertyInCategory(sModbus, TIdModbusServer, 'OneShotConnection'); 91 | RegisterPropertyInCategory(sModbus, TIdModbusServer, 'MaxRegister'); 92 | RegisterPropertyInCategory(sModbus, TIdModbusServer, 'MinRegister'); 93 | RegisterPropertyInCategory(sModbus, TIdModbusServer, 'UnitID'); 94 | RegisterPropertyInCategory(sModbus, TIdModbusServer, 'Version'); 95 | RegisterPropertyInCategory(sLogging, TIdModbusServer, 'LogEnabled'); 96 | RegisterPropertyInCategory(sLogging, TIdModbusServer, 'LogFile'); 97 | RegisterPropertyInCategory(sLogging, TIdModbusServer, 'LogTimeFormat'); 98 | { Register the property categories for the server events } 99 | RegisterPropertyInCategory(sModbus, TIdModbusServer, 'OnError'); 100 | RegisterPropertyInCategory(sModbus, TIdModbusServer, 'OnInvalidFunction'); 101 | RegisterPropertyInCategory(sModbus, TIdModbusServer, 'OnReadCoils'); 102 | RegisterPropertyInCategory(sModbus, TIdModbusServer, 'OnReadHoldingRegisters'); 103 | RegisterPropertyInCategory(sModbus, TIdModbusServer, 'OnReadInputBits'); 104 | RegisterPropertyInCategory(sModbus, TIdModbusServer, 'OnReadInputRegisters'); 105 | RegisterPropertyInCategory(sModbus, TIdModbusServer, 'OnWriteCoils'); 106 | RegisterPropertyInCategory(sModbus, TIdModbusServer, 'OnWriteRegisters'); 107 | {$ENDIF} 108 | {$IFDEF DMB_DELPHI2005} 109 | RegisterIDEPlugins; 110 | {$ENDIF} 111 | end; 112 | 113 | 114 | end. 115 | 116 | -------------------------------------------------------------------------------- /source/ModbusSplash.pas: -------------------------------------------------------------------------------- 1 | {=============================================================================== 2 | 3 | Copyright (c) 2010 P.L. Polak 4 | 5 | The MIT License (MIT) 6 | 7 | Permission is hereby granted, free of charge, to any person obtaining a copy 8 | of this software and associated documentation files (the "Software"), to deal 9 | in the Software without restriction, including without limitation the rights 10 | to use, copy, modify, merge, publish, distribute, sublicense, and/or sell 11 | copies of the Software, and to permit persons to whom the Software is 12 | furnished to do so, subject to the following conditions: 13 | 14 | The above copyright notice and this permission notice shall be included in all 15 | copies or substantial portions of the Software. 16 | 17 | THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR 18 | IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, 19 | FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE 20 | AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER 21 | LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, 22 | OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE 23 | SOFTWARE. 24 | 25 | 26 | ===============================================================================} 27 | 28 | {$I ModBusCompiler.inc} 29 | 30 | unit ModbusSplash; 31 | 32 | interface 33 | 34 | {$R ModBusSplash.res} 35 | 36 | procedure RegisterIDEPlugins; 37 | 38 | implementation 39 | 40 | uses 41 | ToolsApi, Windows, Classes, Graphics, ModbusConsts; 42 | 43 | var 44 | PluginIndex: Integer = -1; 45 | 46 | type 47 | TLogoRegisterProc = procedure(const AImage: HBITMAP); 48 | 49 | 50 | procedure AddToAboutBox(const AImage: HBITMAP); 51 | {$IFDEF DMB_DELPHI2005} 52 | var 53 | AboutBoxServices: IOTAAboutBoxServices; 54 | {$ENDIF} 55 | begin 56 | {$IFDEF DMB_DELPHI2005} 57 | if BorlandIDEServices.SupportsService(IOTAAboutBoxServices) then 58 | begin 59 | AboutBoxServices := BorlandIDEServices.GetService(IOTAAboutBoxServices) as IOTAAboutBoxServices; 60 | if (AboutBoxServices <> nil) then 61 | begin 62 | PluginIndex := AboutBoxServices.AddPluginInfo( 63 | 'Delphi ModbusTCP components ' + DMB_VERSION 64 | ,'Free Delphi components for ModbusTCP communication version ' + DMB_VERSION 65 | ,AImage 66 | ,False 67 | ,'Open source' 68 | ,'Delphi Modbus'); 69 | end; 70 | end; 71 | {$ENDIF} 72 | end; 73 | 74 | 75 | procedure AddToSplash(const AImage: HBITMAP); 76 | begin 77 | {$IFDEF DMB_DELPHI2005} 78 | SplashScreenServices.AddPluginBitmap( 79 | 'Delphi ModbusTCP components ' + DMB_VERSION 80 | ,AImage 81 | ,False 82 | ,'Open source' 83 | ,''); 84 | {$ENDIF} 85 | end; 86 | 87 | 88 | procedure RegisterLogo(const RegisterProc: TLogoRegisterProc); 89 | var 90 | bmpLogo: TBitmap; 91 | begin 92 | bmpLogo := TBitmap.Create; 93 | try 94 | bmpLogo.LoadFromResourceName(HInstance, 'MODBUSSPLASH'); 95 | RegisterProc(bmpLogo.Handle); 96 | finally 97 | bmpLogo.Free; 98 | end; 99 | end; 100 | 101 | 102 | procedure RegisterIDEPlugins; 103 | begin 104 | RegisterLogo(AddToAboutBox); 105 | end; 106 | 107 | 108 | procedure CleanupIDE; 109 | {$IFDEF DMB_DELPHI2005} 110 | var 111 | AboutBoxServices: IOTAAboutBoxServices; 112 | {$ENDIF} 113 | begin 114 | {$IFDEF DMB_DELPHI2005} 115 | if (PluginIndex >= 0) and BorlandIDEServices.SupportsService(IOTAAboutBoxServices) then 116 | begin 117 | AboutBoxServices := BorlandIDEServices.GetService(IOTAAboutBoxServices) as IOTAAboutBoxServices; 118 | if (AboutBoxServices <> nil) then 119 | AboutBoxServices.RemovePluginInfo(PluginIndex); 120 | end; 121 | {$ENDIF} 122 | end; 123 | 124 | 125 | initialization 126 | RegisterLogo(AddToSplash); 127 | 128 | finalization 129 | CleanupIDE; 130 | 131 | end. 132 | -------------------------------------------------------------------------------- /source/ModbusSplash.res: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/coassoftwaresystems/delphi-modbus/6cc72803b45ca405b14f9d9218d10d8fa95aad0d/source/ModbusSplash.res -------------------------------------------------------------------------------- /source/ModbusStrConsts.pas: -------------------------------------------------------------------------------- 1 | {=============================================================================== 2 | 3 | Copyright (c) 2010 P.L. Polak 4 | 5 | The MIT License (MIT) 6 | 7 | Permission is hereby granted, free of charge, to any person obtaining a copy 8 | of this software and associated documentation files (the "Software"), to deal 9 | in the Software without restriction, including without limitation the rights 10 | to use, copy, modify, merge, publish, distribute, sublicense, and/or sell 11 | copies of the Software, and to permit persons to whom the Software is 12 | furnished to do so, subject to the following conditions: 13 | 14 | The above copyright notice and this permission notice shall be included in all 15 | copies or substantial portions of the Software. 16 | 17 | THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR 18 | IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, 19 | FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE 20 | AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER 21 | LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, 22 | OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE 23 | SOFTWARE. 24 | 25 | 26 | ===============================================================================} 27 | 28 | {$I ModBusCompiler.inc} 29 | 30 | unit ModbusStrConsts; 31 | 32 | interface 33 | 34 | resourcestring 35 | sModbus = 'Modbus'; 36 | sLogging = 'Logging'; 37 | 38 | implementation 39 | 40 | end. 41 | -------------------------------------------------------------------------------- /source/ModbusTypes.pas: -------------------------------------------------------------------------------- 1 | {=============================================================================== 2 | 3 | Copyright (c) 2010 P.L. Polak 4 | 5 | The MIT License (MIT) 6 | 7 | Permission is hereby granted, free of charge, to any person obtaining a copy 8 | of this software and associated documentation files (the "Software"), to deal 9 | in the Software without restriction, including without limitation the rights 10 | to use, copy, modify, merge, publish, distribute, sublicense, and/or sell 11 | copies of the Software, and to permit persons to whom the Software is 12 | furnished to do so, subject to the following conditions: 13 | 14 | The above copyright notice and this permission notice shall be included in all 15 | copies or substantial portions of the Software. 16 | 17 | THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR 18 | IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, 19 | FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE 20 | AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER 21 | LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, 22 | OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE 23 | SOFTWARE. 24 | 25 | 26 | ===============================================================================} 27 | 28 | {$I ModBusCompiler.inc} 29 | 30 | unit ModbusTypes; 31 | 32 | interface 33 | 34 | type 35 | TModBusFunction = Byte; 36 | 37 | type 38 | TModBusDataBuffer = array[0..260] of Byte; 39 | 40 | type 41 | TModBusHeader = packed record 42 | TransactionID: Word; 43 | ProtocolID: Word; 44 | RecLength: Word; 45 | UnitID: Byte; 46 | end; 47 | 48 | type 49 | TModBusRequestBuffer = packed record 50 | Header: TModBusHeader; 51 | FunctionCode: TModBusFunction; 52 | MBPData: TModBusDataBuffer; 53 | end; 54 | 55 | type 56 | TModBusResponseBuffer = packed record 57 | Header: TModBusHeader; 58 | FunctionCode: TModBusFunction; 59 | MBPData: TModBusDataBuffer; 60 | end; 61 | 62 | type 63 | TModBusExceptionBuffer = packed record 64 | Header: TModBusHeader; 65 | ExceptionFunction: TModBusFunction; 66 | ExceptionCode: Byte; 67 | end; 68 | 69 | 70 | implementation 71 | 72 | end. 73 | 74 | -------------------------------------------------------------------------------- /source/frm_About.pas: -------------------------------------------------------------------------------- 1 | {=============================================================================== 2 | 3 | Copyright (c) 2010 P.L. Polak 4 | 5 | The MIT License (MIT) 6 | 7 | Permission is hereby granted, free of charge, to any person obtaining a copy 8 | of this software and associated documentation files (the "Software"), to deal 9 | in the Software without restriction, including without limitation the rights 10 | to use, copy, modify, merge, publish, distribute, sublicense, and/or sell 11 | copies of the Software, and to permit persons to whom the Software is 12 | furnished to do so, subject to the following conditions: 13 | 14 | The above copyright notice and this permission notice shall be included in all 15 | copies or substantial portions of the Software. 16 | 17 | THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR 18 | IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, 19 | FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE 20 | AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER 21 | LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, 22 | OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE 23 | SOFTWARE. 24 | 25 | 26 | ===============================================================================} 27 | 28 | {$I ModBusCompiler.inc} 29 | 30 | unit frm_About; 31 | 32 | interface 33 | 34 | uses 35 | Windows, Messages, SysUtils, Classes, Graphics, Controls, Forms, Dialogs, 36 | StdCtrls, Buttons, ExtCtrls, ModbusConsts, jpeg; 37 | 38 | type 39 | TfrmAbout = class(TForm) 40 | pnlMain: TPanel; 41 | btnOk: TBitBtn; 42 | lblVersion: TLabel; 43 | Label3: TLabel; 44 | Label4: TLabel; 45 | lblWebsite: TLabel; 46 | Image1: TImage; 47 | Label2: TLabel; 48 | procedure FormCreate(Sender: TObject); 49 | procedure lblWebsiteClick(Sender: TObject); 50 | private 51 | { Private declarations } 52 | public 53 | { Public declarations } 54 | end; 55 | 56 | var 57 | frmAbout: TfrmAbout; 58 | 59 | implementation 60 | 61 | uses 62 | ShellAPI; 63 | 64 | {$R *.dfm} 65 | 66 | procedure TfrmAbout.FormCreate(Sender: TObject); 67 | begin 68 | lblVersion.Caption := 'Version ' + DMB_VERSION; 69 | end; { FormCreate } 70 | 71 | 72 | procedure TfrmAbout.lblWebsiteClick(Sender: TObject); 73 | begin 74 | ShellExecute(Handle, 'open', PChar(lblWebSite.Caption), nil, nil, SW_SHOW); 75 | end; { lblWebsiteClick } 76 | 77 | 78 | end. 79 | --------------------------------------------------------------------------------