Jump to content

Recommended Posts

Posted

A problem which did not exist with Vision series, but exists in UniStream PLC:

- You want to test some new PLC code.

- In the field, there is USC-B5-T42 PLC installed and working.

- But you have a USC-B5-B1 to test out your code (for example).

There is no simulator in UniLogic. Only way to test your code is to load it into a real PLC.

But problem is that UniLogic doesn't allow you to download a user app if PLC model is different. For example downloading a T42 into a B1 version of PLC and vice versa. It means you basically must have each type of USC PLC on stock to verify certain application modifications, or to do it on-site. Alternatively you just forget about having onboard I/Os on the PLC, and only go with B1 variants.

A solution to this could be as easy as putting a checkbox in UniLogic settings, to report I/O mismatch as warnings, not compilation errors.

  • MVP 2023
Posted

Just change the PLC model in the program temporarily to test, then change it back. I don't program UniStream very often, but it seems like I've done this successfully in the past.

  • MVP 2023
Posted
On 3/27/2024 at 7:35 AM, Flex727 said:

Just change the PLC model in the program temporarily to test, then change it back.

Unfortunately UniStream will stomp on your program if you try this.  If you change to a model that has a different I/O configuration then you have to delete any reference to onboard I/O points that are different.

I would make some buffer input and output bit arrays that match the size of the -T42 onboard I/O.  Then do a search and replace (Edit tab) for each real I/O point and replace it with the buffer bit.  Finally, when you want to put it back in the field add a couple of blocks to copy real inputs to your input bit array and your output bit array to the real outputs. 

For example - 

Original code:

image.png.a71d22ba75d4ef63499754fecf23c538.png

Code for the -T42:

image.png.6ef4d3162fc7a292235ed584aac9e9b1.png

 

After deleting rung 2 I was able to change the model to a -B1.

I realize it is a bit of a pain in the butt to modify your program this way, but it will work.  You do what you can with the tools you have.

 

Joe T.

 

 

 

Posted

Okay, thanks @Joe Tauser, that sounds like a sensible solution.

I noticed option "IO Configs" in Uni-I/O configuration, but it's sad it only refers to add-on modules, not to primary controller configuration. Would be great if it could be somehow updated to work with controller variants.

 

  • 3 weeks later...
Posted

Report from the field: testing PLC is USC-B5-T24, production is T42.

I've made two array writes, one for inputs, and one for outputs. They are reading and writing to and from buffered I/O to real I/Os.  It works on the Production PLC. I can just replace Controller Model and it works. The on-board I/O on the Testing PLC (with less inputs and outputs) does not work, though. But that's fine because testing PLC works by simulating I/Os in software anyway.

outputs.png.654e45a1ee66c77c7f13b48620ffabfc.pnginputs.png.dc87ebf0edf8d0d1ebacde4bc88b0d9c.png

Interestingly enough, deleting the blocks is not necessary. UniLogic doesn't even report a warning. Probably because both PLCs have on-board I/O.

Hope it helps others!

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now
×
×
  • Create New...

Important Information

This site uses cookies. By clicking I accept, you agree to their use.