PIL-Commands in Automation Studio 6

Hello,

I recently migrated my project to Automation Studio 6.

Since then, I’ve run into an issue with our PIL instruction lists.

We use them to either:

  • to write specific values to PLC variables, or
  • to trigger the PLC to export a list of variables into a .txt file.

The problem is that when I execute these commands from the instruction list, the PLC — which is still running a project created with Automation Studio 4.12 — returns an error.

For example:

VariableListFile ".\ListOfVars.txt" ".\MachineVariables.txt"
Command not supported for discontinued Automation Runtime Q4.93

and

WriteVariable "TestVar", "BOOL", "TRUE"
Command not supported for discontinued Automation Runtime Q4.93

Does anyone know how this can be handled?

Is my assumption correct that PVI Manager 6 can generally no longer be used to set variables on PLCs running Automation Runtime 4.x?

Hi,

as I know you’re right: among other things, also variable services aren’t compatible between PVI6 and PVI - that means, PVI6 tools like Runtime Utility Center 6 can only be used with Automation Runtime 6 targets.

You can have PVI and PVI6 plus Runtime Utlilty Center in both versions 4 and 6 installed in parallel on your PC and / or use the Runtime Utility Center function “create installation package” to create a folder structure including all PVI executables, dlls, and so on to have a “local copy” of Runtime Utility Center 4.

Best regards!

Thanks for the reply @alexander.hefner .

If I understand correctly, it is not possible to start a PVI instruction list with PVI Manager 6, check whether the runtime on the target system is below version 6.x.x, and then decide whether to continue executing the instruction list with PVI Manager 6 or stop PVI 6 and start PVI 4 instead to execute, for example, the WriteVariable command, and afterwards switch back to PVI Manager 6 again.

Is that correct?
Or do you have any suggestion for how this could best be handled?

Hi,

honestly spoken, I haven’t tried it until now.
Reading the SSWVersion of a AR4.x target should be still possible with PVI6:

But I’m not sure how to proceed then, because I don’t know a way how to end the PVI manager and start a different(!) one directly inside RUC… maybe using some CMD scripting around the RUC calls could help, e.g. like: “check the version with RUC6, if < 6.xx start a RUC4 instance with local PviMan” … but right now I’m not sure if this is just solvable by RUCxx + CMD/Powershell, I have think a bit more about it :wink:

Best regards!

All right, that’s pretty much what I had in mind, too.

Unless I can think of something else, I think that’s the only way to go.

Thanks!

Hi,

I checked the idea, maybe the following could work:

  • passing the “read AR version” command result from RUC to a batch file
  • the batch file just extracts the 2nd character of the AR version, and passes it back (via stdout) to RUC
  • RUC checks if this return value equals “6”, and uses GOTOs for true or false result

I haven’t tried calling a RUC4 instance in case if “6 is false”, but I had already run a RUC4 and RUC6 instance in parallel so it should work anyway.

Example screeenshot of the basic logic in RUC6:

Example screenshot of the batch file for extracting the 2nd character:

And here’s the ZIP containing these batch and PIL files.

ProbeAR.zip (1.0 KB)

If you are satisfied, please mark the reply as the solution that helped you the most.