...
The B&R PVI Interface protocol is used to communicate with the B&R PLC using the PVI interface from Bernecker & Rainer. Read and write are supported. Reading The following features are supported:
- reading and writing (input and output I/O tags),
- reading and writing simple types (i8, i16, i32, i64, u8, u16, u32, u64, boolean, string, wstring, time, dt, date, tod)
...
- ,
- working with individual items (which are of simple types) of structured variables
...
- ,
- reading arrays into structured I/O tags with a configured Destination column of the structure
...
- .
Working with the "data" data type is not yet supported.
Communication was tested with a both virtual and physical B&R PLC with PVI versions:
- Automation Net PVI V4.0
- Automation Net PVI V4.2
- Automation Net PVI V4.3
- Automation Net PVI V4.7
Hierarchy of PVI objects
...
The following global line protocol parameters can be configured for the "B&R PVI Interface" protocol:
Parameter | Meaning | Unit | Default value | ||||||||||||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
--- PVI Parameters --- | |||||||||||||||||||||||||
| Parameter for the PviXInitialize function (PVI interface initialization). | sec | 0 | ||||||||||||||||||||||
| Parameter for the PviXInitialize function (PVI interface initialization). Retry time for PVICOM user messages in seconds. The value specified with this parameter serves as the default setting of the initialization parameter RETR. If no particular presetting is desired, the default value 0 should be entered. | sec | 0 | ||||||||||||||||||||||
| Parameter for the PviXInitialize function (PVI interface initialization).
| - | - | ||||||||||||||||||||||
| ObjectDescriptor parameter for the PviXCreate function when creating a Line object. | - | CD=LnIna2 | ||||||||||||||||||||||
| ObjectDescriptor parameter for the PviXCreate function when creating a Device object. The parameter gives a description of the device. The default value CD="/IF=tcpip /SA=1" creates a connection using TCP/ IP (UDP), the source address (the D2000 KOM address) will be 1. The PVI documentation describes the parameters for individual device types (Serial, Ethernet UDP, Modem, CAN device, Profibus FDL device). | sec | 30 | ||||||||||||||||||||||
--- Other Parameters --- | |||||||||||||||||||||||||
| The parameter affects the scope of browsing used to configure the I/O tags. |
because, on a station, it only makes sense to configure global variables and local variables of the task defined by the Task object definition protocol parameter. Local variables of other tasks will not work. | YES/NO | NO |
|
|
|
This parameter allows the batch file to be started at the (re)start of communication. This batch file can e.g. restart the PVI Manager process (PviMan.exe) - e.g. using the pskill.exe utility or using the Windows utility "sc" if PVI Manager is running as a service.
The symbolic constant #APPDIR# may be used in the command name, which will be substituted by the application directory name, e.g. #APPDIR#cleanup.bat
Inactivity timeout | If the value of the parameter is non-zero, then within the periodic reading of values within the station, it is checked whether any value was received by any station on the line during the last "Inactivity timeout" seconds. If not, the connection to the PVI Manager will be disconnected and re-established. | sec | 0 | ||||||
| This parameter allows the batch file to be started at the (re)start of communication. This batch file can e.g. restart the PVI Manager process (PviMan.exe) - e.g. using the pskill.exe utility or using the Windows utility "sc" if PVI Manager is running as a service. Restarting helps if, for example, the PVI Manager stays in the "Locked" state. | - | - | ||||||
| The time limit in seconds for the batch file specified by the Cleanup command parameter to finish execution. After this time elapses, the command will be terminated. | sec | 10 | ||||||
| Delay after creating each object. This parameter is used to slow down the start of communication for debugging and diagnostics. | sec | 0,0 | ||||||
| The parameter determines the method of communication with the PVI Manager when creating objects and writing values. The asynchronous method is recommended, the synchronous method is implemented only for debugging and diagnostics. In addition, the synchronous mode of operation is not supported by the PVI Manager from several threads, so it can only be used with a single B&R line. | YES/NO | YES |
The time limit in seconds for the batch file specified by the Cleanup command parameter to finish execution. After this time elapses, the command will be terminated.
| Logging of values being read and written, together with names of /O tags. | YES/NO | NO | ||||||
| Logging of additional debug information about communication. | YES/NO | NO |
Kotva | ||||
---|---|---|---|---|
|
...
Parameter | Meaning | Unit | Default value | |||||||||||||||||||||||||||||||||||||||||||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| Definition of an object of Station type. It is not necessary to configure for the INA2000 line (the parameter is used on NET2000, DCAN, MODBUS, and SNMP lines). | - | - | |||||||||||||||||||||||||||||||||||||||||||||||||||||
| Definition of an object of CPU type. The default value CD="/DAIP=127.0.0.1 /REPO=11160 /RT=1000" creates a connection to the locally running (/DAIP=127.0.0.1) virtual PLC on port 11160 (/REPO=11160), with a response timeout of 1000 ms (/RT=1000). According to the PVI documentation, there are the following usable parameters for UDP communication:
| - | CD="/DAIP=127.0.0.1 /REPO=11160 /RT=1000" | |||||||||||||||||||||||||||||||||||||||||||||||||||||
| Definition of object of Module type. The parameter allows the creation of a connection to the module within the PLC. /RO=[<Name of application module>::]<Module name> Examples:
| - | - | |||||||||||||||||||||||||||||||||||||||||||||||||||||
| Definition of an object of Task type. The parameter allows the creation of a connection to a task (program) within the PLC. The I/O tags that are children of the station represent global variables of the PLC and local variables of the task specified by this parameter. It is, therefore, necessary to configure a separate station for each task within the PLC. If no parameter is specified, only global PLC variables are available. | - | - |
...
Mandatory parameters are CD=variable_name VT=value_type.
Parameter VL=element_length is mandatory for strings and wide strings (VT=string and VT=wstring).
Parameter VN=number_of_elements is mandatory for array values.
Note: the the I/O tag is ignored if its address starts with with %IGNORE
According to the PVI documentation, the following parameters are supported:
Parameter | Description |
---|---|
CD | Connection description |
EV | Definition of the enable mask for events. Default: "EV=ed".
If no events should be enabled, then specify "EV=". |
AT | Object attributes. Default: "AT=rw"
|
RF | Refresh rate in ms. Default: "RF=1000".
|
VT | Variable type (Data format description). Default in the process object: "VT=i32"
|
| |
VL | Variable length in bytes (data format description). This parameter can only be specified together with the VT parameter. For single variables, the variable length corresponds to the process data length. For array variables, the variable length is defined as the element length. This parameter does not need to be specified when used in conjunction with variable types which have a fixed variable length (e.g. VT=i32 always has a variable length of 4 bytes). |
VN | The number of elements in array variables (data format description). Default: VN=1. This parameter can only be specified together with the VT parameter. |
VS | Optional additional specification of the variable type (Data format description). This parameter can only be specified together with the VT parameter. The VS parameter provides additional information about the variable type (VT parameter), and does not affect how data is handled (data functions, type changes, etc.) in PVI. Each additional specification consists of one or more specification IDs ('a' - 'z'). The individual specification IDs are separated by semicolons (';'). The following additional specifications are currently defined: 'a' ... array variable, 'b' ... bit string, 'e' ... enumeration, 'v' ... derived data type. |
AL | Structure alignment. Default: "AL=1". This parameter only takes effect in connection with variable type "VT=struct". Alignment values 1, 2, 4, 8, or 16 can be defined. |
CM | Mode for type casting (cast mode). Default: "CM=0". The mode is defined as a bit list and controls type casting between link and process objects.
|
VA | Variable addressing. Default: No variable addressing Using variable addressing, link objects can address subsets from the process data of a variable object. |
DV | The default value for single variables (process data). This parameter can be used to assign a default data value to process variable objects of type Integer, Floating Point, Boolean, or String. If this parameter is specified, then a data format also has to be defined in the object description. This default value is only written to the process image but is not transferred to the PLC. Examples: DV=123, DV=2.561e10, DV="string format" |
HY | Assigned event hysteresis. Default: No hysteresis Definition of event hysteresis for single variables or array variables of type Integer or Floating Point. Event hysteresis is specified as a hysteresis value. Examples: HY=10, HY=2.5 |
FS | Assigned data function. Default: No function Definition of a data function for single variables or array variables of type Integer or Floating Point. The data function is specified as a function description. |
UT | A user tag. With user tags, PVI applications can assign a private user code or specific user data to a process object (module, task, or variable object) in the form of a string. User tags are only managed by PVI, not evaluated. |
Examples of configuration:
...
D2000 Cnf has the recycling of browser windows implemented. If the window is closed by the Cancel button or after selecting an object, it is actually only hidden and is available for browsing for another I/O tag within the same station, so that the list of objects being viewed is preserved. Clicking on the cross at the top right corner will cause the window to actually close.the top right corner will cause the window to actually close.
In the case of structured variables, the window displays individual items that are of basic types. If the local variables of all tasks are browsed ( the Browse task parameter), the local variables not belonging to the task specified as the Task object definition parameter will be displayed in gray and cannot be selected. The following figure shows the items of structured variables as well as local variables of other tasks:
Kotva | ||||
---|---|---|---|---|
|
...
View file | ||||
---|---|---|---|---|
|
Info | ||
---|---|---|
| ||
You can read blogs about the B&R PVI protocol |
Kotva | ||||
---|---|---|---|---|
|
...