Same pin, program selected functionality

mgoutier 2 years ago updated 2 years ago 6

I maintain 1 program for multiple machines that are very similar, one issue I have to dance around from time to time is if 1 program uses lets say C1:25 on an XA2 as a digital in, and in another program I want to use it as a voltage in, I can not switch it as in the system layout I can only define it as one thing. My workaround is enabling or disabling the XA2's based on my IO assignments, which creates tons of duplicate logic. 

It would be nice if a warning showed up instead of locking this functionality out, giving me the flexibility of assigning IO anyway I choose. A way of safely doing this could be to force an SMC when doing this functionality. This could prevent user mistakes. I personally would rather just have the flexibility to do what I want and have my logic be the functionality decider, but with an SMC I could at least get rid of multiple modules doing 99% of the same tasks. 

can you set the input always a voltage and calculate the digital state in the logic when that is needed?

my inputs are 24v, scale only goes to 5v, not sure if the module would like that, but I think I’ve tried and failed. 

You are correct that voltage ins can only read up to 5V in the application.  However, voltage ins can handle up to battery voltage without damaging the input.  Check appendix A of the specific module for actual max voltage ratings.

For converting a voltage in to digital in the application, add an internal digital channel.  Your digital thresholds, for example, would be something like under 1V for digital low and above 4V for digital high.

that does solve that one. How about C1:25 as a digital or PWM? If there is a work around for this I will be impressed!

Another way to work around may be by adding two XA2 in your program. And using parameter to turn one or the other on.

Ya I already do that but it just creates a bunch of duplicate logic. My point was it would be nice if we weren't restricted... the pin could still be greyed out if used notifying the user, but you still could duplicate. Seems like a fairly straight forward request, hoping it gets traction. 

"My workaround is enabling or disabling the XA2's based on my IO assignments, which creates tons of duplicate logic. "