Machine Automation Forum
A forum addressing machine automation solutions for the complete machine lifecycle. Including offers like Machine Advisor, Modicon PLC/PacDrive, Lexium or Preventa. Discuss and share knowledge on offers relating to cloud-based service platforms, machine localization and monitoring, industrial operations control, motion products as well as safety function!
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.