BeckhoffS7Client
BeckhoffS7Client copied to clipboard
Unofficial TwinCAT function for S7 Communication
BeckhoffS7Client
Unofficial TwinCAT function for S7 Communication
This software is an (unofficial) opensource implementation of TF6610 | TC3 S5/S7 Communication similar to my other project BeckhoffHttpClient.
Main features
Your surely gonna love this software, but if you still need a couple of information for starring this project...
- FREE! (for commercial use as well)
- Resilient: doesn't matter what you do with the beckhoff (Start, Stop, Config-Mode, Run-Mode, etc.)
- Modern: build with the newest TwinCAT Version and .Net Core 3.1
- Clever: don't need to specify any datatype or bit numbering
Requirements
- TwinCAT 3.1.4024.7+
How to use this software
Install and setup connections
- Download the setup and install it on your beckhoff.
- Ajdust the settings file
TFU002.settings.json
locatedC:\TwinCAT\Functions\Unofficial\BeckhoffS7Client
putting your connection parameters for all your S7 PLC in the settings file.
{
"BeckhoffSettings": {
"AmsNetId": "",
"Port": 851
},
"ExtenalPlcSettings": [
{
"Name": "s7-300",
"IpAddress": "10.30.10.50",
"Port": 102,
"Rack": 0,
"Slot": 2
}
]
}
Use The S7 Attribute
Use the S7 attribute in your project for connect your primitive variables (like an input or output) to a S7.
VAR_GLOBAL
{attribute 'S7.Out'}
{attribute 'S7.Address' := 'db2.dbx0.0'}
imAlive : BOOL;
{attribute 'S7.In'}
{attribute 'S7.Address' := 'db2.dbx1.0'}
{attribute 'S7.Plc' := 's7-300'} // you have to select a plc by name only if you have more then one
otherSystemAlive :BOOL;
END_VAR
Supported TwinCAT Datatypes
- BOOL
- BYTE und BYTE[]
- INT / UINT
- DINT / UDINT
- LINT / ULINT
- REAL
S7 Addressing rules
every address has the form (case unsenible) DB<number>.<TYPE><Start>.<Length/Position>
i.e.: DB42.DBX0.7
=> (means) Datablock 42, Bit (DBX), Start: 0, Position: 7 .
Following types are supported:
-
DBX
=> Bit (BOOL) -
DBB
=> BYTE or BYTE[] -
INT
-
DINT
-
DUL
=> LINT -
D
=> REAL
Logfiles
Logfiles are saved into C:\TwinCAT\Functions\Unofficial\BeckhoffS7Client\Service.log
.
You can use TailBlazer for a live view.
Would you like to contribute?
Yes, please!
Try the library and feel free to open an issue or ask for support.
Don't forget to star this project!
Credits
Special thanks to JetBrains for supporting this open source project.