Help configuring Pvi-OPC DA (v1.53 / 20 years old)

Hi

I’m having a machine where I would like to extract production data from somehow. The machine is over 20 years old and at the HMI PC I can find a PVI Monitor which seems to be the link between the PLC and the HMI.

The PviMon.exe has version 1.53

I can see in the help for the PVI Monitor, that I have the following options to start a server that uses the PVI:

  • OPC-Server
  • DDE-Server
  • WWDDE-Server
  • Web Server

If I turn on logging from PviMon I can see entries like this:

>>> 07-09-2025 23:00:44.309 SvIntf.GetRequ S=0050 Pn=lnina2/com1//RHE_S_38 Svc=RD Dl=1 Offs=-1
>>> 07-09-2025 23:00:44.309 SvIntf.Accept S=0050 Pn=lnina2/com1//RHE_S_38 Svc=RD
>>> 07-09-2025 23:00:44.579 SvIntf.PutReadData S=0050 Pn=lnina2/com1//RHE_S_38 Len=1 Offs=0
. 00
>>> 07-09-2025 23:00:44.579 SvIntf.Quit S=0050 Pn=lnina2/com1//RHE_S_38 Svc=RD

My first try is the OPC-Server since this is what I’ve used for the same task on other machines, but for those it was OPC UA.

I’ve executed PviOPC.exe /RegServer as per the documentation

I can then launch PviOPC.exe but can’t connect to/find it.

!!!Apparently, I connected to some kind of PVI OPC server on this PC!!!

I successfully connect from another computer with kassl dOPC DA Client using COM (it finds the server automatically)

The OPC-Server is discovered as

B&R.PviOPC.2
BR PVI OPC DA _EA SERVER

However, I can not see any tags, except some default system tags.

This make sense, since I haven’t configured which tags that should be exposed on the OPC-Server.

This is where I need help.

I tried to configure (see below), but I don’t think I succeeded.

PN: @/Pvi
PD: LM=100 TC=15
PN: @/Pvi/LNINA2 OT=line
PD: CD=LnIna2
LD: EV=""
PN: @/Pvi/LNINA2/COM1 OT=device
PD: CD="/IF=Com1 /BD=57600 /RS=232 PA=2"
LD: EV=""
PN: @/Pvi/LNINA2/COM1/RHE_S_38 OT=pvar
PD: CD=PV1 RF=250 AT=RW
LD: VT=i32

From the PviMon’s log, I can see that PviOPC client attached and some “CreateRequ” & “CreateResp“ lines

>> 07-09-2025 23:00:42.557 Comm.ClientAttach CId=8b830004 Name=PviOPC.exe ComType=0 TC=15 TR=0 PT=0 LM=100
>> 07-09-2025 23:00:42.587 Comm.CreateRequ CId=8b830004 RId=80000001 Name='@Pvi/LNINA2' OT=Line PDesc=(CD=LnIna2) CDesc=() Msg=(NULL)
>> 07-09-2025 23:00:42.587 Comm.CreateResp C=009f RId=80000001 Msg=(CBA:100051a0,1)
>> 07-09-2025 23:00:42.587 Comm.CreateRequ CId=8b830004 RId=80000002 Name='@Pvi/LNINA2/COM1' OT=Device PDesc=(CD="/IF=Com1 /BD=57600 /RS=232 /PA=2") CDesc=() Msg=(NULL)
>> 07-09-2025 23:00:42.587 Comm.CreateResp C=00a0 RId=80000002 Msg=(CBA:100051a0,2)
>> 07-09-2025 23:00:42.587 Comm.CreateRequ CId=8b830004 RId=80000003 Name='@Pvi/LNINA2/COM1/RHE_S_38' OT=Pvar PDesc=(CD=PV1 RF=250 AT=rw) CDesc=(VT=i32 EV=) Msg=(CB:0041fb10,0)
>> 07-09-2025 23:00:42.587 Comm.CreateResp C=00a1 RId=80000003 Msg=(CBA:100051a0,3)

I don’t have access to the source-code of the PLC or HMI-application (written in Borland Delphi).

I have a few paradox db-files where I can detect some variables/tags and it looks like the tag in my examples above (RHE_S_38) is a boolean if that helps for the configuration.

Please advice me how to proceed further

Regards

Niclas Rådström

In the PviMon you have the possibility to create a Snapshot.

This will contain information about all variables used in the Delphi application.

If this snapshot contains the wanted production data, is the question.

See also post:

Upload program from PLC SG2003 - Ask Questions - B&R Community

In the mentioned HowToBackupSG3Targets_eng_AT.pdf it is described to read out information from the plc (like value of variables) with the PVITransfer tool.

Hi

Thanks for the tip!

The snapshot contains all the tags/variables that I need. The most interesting are these:

Pn=lnina2/com1//messwert[48] INT
Pn=lnina2/com1//jobdaten[1] UDINT

But how do I configure the pviopc.cfg?
In the example cfg it states:

# valid PVI data types for OPC server (VT=...):
#   i8, u8, i16, u16, i32, u32, f32, f64, string
#   (no support for structures and arrays)

Does it meen that the variables that I need, can’t be used at all since they are arrays?

I also noticed that there are 2 forward slashes after com1 in my snapshot. In the example cfg there is a “Station” and a “CPU”. Why do I not have the same structure?

Regards
Niclas

Hi @niclas.r, what is status of your topic, can you update us?

Hi

It’s almost solved.

To begin with, one of the main issues was that I had problem connecting to the HMI. Whatever I tried, nothing seemed to work. I couldn’t even connect to shared folders via SMB.
After troubleshooting some different errors-codes from the client, I got to “system error 86” which eventually pointed me in the direction that it might be that the date and time is not synced between the PC’s. It turned out that the time was off 1.5 days on the HMI and after correcting this, I could establish a connection, but now I faced other problems.

I found another PC/HMI for another machine that had a newer version of BR Automation (2.5), which included “PviOPCConfigurator.exe”. After some trial and error I managed to configure it so that I could connect remotely to that OPC-DA server.
I then copied the installation-folder for v2.5 to the HMI I initially wanted to start the OPC-DA Server at.
I was able to configure it using “PviOPCConfigurator.exe”, but to start the server I think it complained about some missing files, which would be because I didn’t install it correctly.

I think that I will be able to get all this working if I install BrAutomation 2.5 on the HMI, but as this is an old PC I’m too afraid of installing anything new on it.
I would like to make a clone of the drive, but the drive is a IDE (FUJITSU MHT2030AR), which isn’t easy to find nowadays.
For a B&R PC, does it matter what IDE drive I use? Would anything work?
If installing BrAutomation 2.5 over BrAutomation 1.5.3, will the HMI-application still work with it? What can go wrong?

Kind Regards
Niclas Rådström