RedLion Dynamic Tag Address?

seth350

Member
Join Date
Jul 2011
Location
Over yonder
Posts
373
I have never used a RedLion HMI before, but I am fixing to. I have three identical yet separate processes where each will have its own RedLion C3000 HMI programmed in Crimson 3.1.

The environment these will be in is acidic and eventually, they will need to be replaced. I want to make that replacement process as easy as possible.
My theory is that instead of making three separate projects that the techs will need to keep up with, I instead want to create one project and have the internal tags needed for the process to be configurable at runtime to point to different tags in a PLC.

Hang on....hear me out.

This will be configured in a password protected portion of the HMI where a tech can select which machine the HMI is controlling. This selection would write a number (1,2,3) to an internal tag in the HMI. A Save button would execute a script to change the IP address and reboot.

Theoretically, I should be able to point different PLC tags to a single internal tag based on what machine the HMI is setup to control. I figured I would use a background process and write some script that simply compares the value of the selection tag, and calls the program to change the pointers to the internal tags.

I am not sure if this is possible, I have tried to simulate it in Crimson 3.0 but it doesn't seem to run programs in background? Theoretically, it seems possible, I am just not sure what kind of performance impact it would have.
*Edit: I set the program to be called on "Tick" and it works. The "Background" setting had me thinking it was called automatically and continuously.

Code:
//background program
if (selection == 1) {
    PointToMachine1();
}
if (selection == 2) {
    PointToMachine2();
}

Code:
//PointToMachine1()

//internal tag .........  plc tag
ActTemperature = m1ActTemperature
SetTemperature = m1SetTemperature

//PointToMachine2()

//internal tag .........  plc tag
ActTemperature = m2ActTemperature
SetTemperature = m2SetTemperature
 
Last edited:
The simpler solution:
Have 3 unique applications. Make sure you set the application to store images internal to the database (include data = yes). Save as image.ci3 to a memory card.

That memory card will hold a complete image of the file for each HMI as well as any log files (if you are doing any data logging), so replacing the HMI is as simple as power down, yank the memory card, stick it in the new HMI, power up.

The name of the file has to be "image.ci3" and newer than the image in memory in order for the HMI to load it when it boots. If it has a matching date already, it will not load from memory card and boot normally. This method takes care of firmware too.
 
Thank you OkiePC for yanking me out of the clouds. I wasn't positive how it handled runtime projects on a memory card and didn't want the guys to run into any "gotchas".

Much simpler solution!(y)
 

Similar Topics

Hey guys, hoping someone here could give me a little advice. I'm working with a CR1000-04000 in Crimson 3.1 and I was interested in adding the...
Replies
4
Views
145
Hi, I have a complex database in Crimson 3.0 and in one of the display pages I am trying to get a tag to show the sum of several other tags. The...
Replies
3
Views
178
Hi All, Hoping to get some insight into best way to terminate shielded twisted pair + common into a RJ45 required for RedLion RS485...
Replies
3
Views
236
I have 8 of these systems all running the same code. Just this one seem to gain about 30 seconds in time everyday. So in 48hrs time will be...
Replies
3
Views
667
Hello, can anyone help with what driver to use in Crimson to communicate Ethernet/IP to a Prosoft PLX31-EIP-MBS gateway. The gateway will pull...
Replies
6
Views
834
Back
Top Bottom