HVAC and Pumping Forum
Support Forum for HVAC and pumping machines, Modicon M17x and EcoStruxure Machine Expert HVAC software for chillers, AHU, CRAC units for datacenters or process chillers applications - from design, implementation to troubleshooting and more, by Schneider Electric.
Link copied. Please paste this link to share this article on your social media post.
Posted: 2024-10-15 04:27 AM . Last Modified: 2024-10-15 04:28 AM
I am trying to develop a project where I can freely define which input gets assigned to a specific function by using an EEPROM variable, within a certain number of choices. The same criterion should work also for the outputs.
This is based on how Dixell allows you freely define inputs and outputs on their IC100 and IC200 chiller controllers.
I attach here a work in progress test project. I have not done anything on a real PLC yet. I wrote a FB which has the outputs from the different logical FB (for example CompCntrl_OnOff) as inputs, as well as all the EEPROM configuration variables. I have not done anything yet regarding input assignments but should be similar.
Although for a different purpose, this works similar to the SR_Params program used in the air-water cooled chiller for large machines TDVA. I noticed SR_Params is included inside the background tasks.
So my questions are:
1) Is there any easier way ? I know I could use some string function to output a string with contents "DOL1" for example. How about memory notation for the outputs (MW.xxxx) ?
2) Can this work ? Or would it impose an extra overload on the program that would possibly crash it ?
3) What about assigning this program to the background tasks ? Mi idea is that if the user enters the configuration mode in order to change the configuration variables, machine execution should stop. So actually once the configuration is done when the machine is set up, outputs and inputs assignment would actually never change.
This is how the program looks like graphically. FB_assignment assigns for example xMQ_Compressor to DO_ixDOL1 if OutCfg_usilDol1 = 10
Link copied. Please paste this link to share this article on your social media post.
Link copied. Please paste this link to share this article on your social media post.
Posted: 2024-10-15 11:05 PM
The common way to do something like that is to work with pointers. You could see this in the integrated Parametric AHU Project in ESME HVAC. To do anything with string variables is depending on the hardware not a good idea. As example if you use TM171O you will fast get memory problems. If you want to use text in the code for a better understanding use Enumeration instead.
Link copied. Please paste this link to share this article on your social media post.
Link copied. Please paste this link to share this article on your social media post.
Posted: 2024-10-15 11:05 PM
The common way to do something like that is to work with pointers. You could see this in the integrated Parametric AHU Project in ESME HVAC. To do anything with string variables is depending on the hardware not a good idea. As example if you use TM171O you will fast get memory problems. If you want to use text in the code for a better understanding use Enumeration instead.
Link copied. Please paste this link to share this article on your social media post.
Link copied. Please paste this link to share this article on your social media post.
Posted: 2024-10-16 04:19 AM
Thanks. I will study the AHU project in detail.
Regards
Link copied. Please paste this link to share this article on your social media post.
Link copied. Please paste this link to share this article on your social media post.
Posted: 2024-10-23 03:04 AM
Plzz tell me something more about this???
Link copied. Please paste this link to share this article on your social media post.
Create your free account or log in to subscribe to the board - and gain access to more than 10,000+ support articles along with insights from experts and peers.
With achievable small steps, users progress and continually feel satisfaction in task accomplishment.
Usetiful Onboarding Checklist remembers the progress of every user, allowing them to take bite-sized journeys and continue where they left.
of