Jump to content

Is it possible to "ignore" UniStream PLC Uni-I/O hardware configuration?


Recommended Posts

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.

Link to comment
Share on other sites

  • MVP 2023
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.

 

 

 

Link to comment
Share on other sites

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.

 

Link to comment
Share on other sites

  • 3 weeks later...

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!

Link to comment
Share on other sites

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.
Note: Your post will require moderator approval before it will be visible.

Guest
Reply to this topic...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

×
×
  • Create New...