kvlada Posted March 27 Report Posted March 27 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 Flex727 Posted March 27 MVP 2023 Report Posted March 27 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 Joe Tauser Posted March 29 MVP 2023 Report Posted March 29 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: Code for the -T42: 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.
kvlada Posted April 1 Author Report Posted April 1 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.
kvlada Posted April 20 Author Report Posted April 20 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. 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!
Recommended Posts
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 accountSign in
Already have an account? Sign in here.
Sign In Now