I have an older PB32 app on a PV600 that was talking DH+ to a PLC5. Well we dumped the PLC5 for a CLX and the plant exchanged the PV600 for a newer ethernet version. The crux is they still want to use PB32 not ME.
Soooooo....
First off I converted the PV type to Ethernet and setup the comms. First thing this did is wipe the tag database as all the tags now are defined within the animations as controller tags so I guess there is no 'database' anymore since I'm not using CIP or Assembly tags.
So, no problem, I just had to go in each animation link, and edit the tag address there to point to a CLX tag. First thing I discovered here is that only native tags are supported. Can't use UDTs...Bummer. Okay so a little mapping later to native tags and now I've got all the addresses changed.
Validate the project and it is complaining of multiple instances of tag writes. Didn't do that on DH+. Are you telling me that I can't have a tag defined as Fault_ACK_PB on each screen? The tag address is HMI_Bits[60].0 which is fine. Do I have to create a different name (IE Fault_ACK_PB1, Fault_ACK_PB2) and if so can they point to the same HMI_Bits[60].0? Or do I have to create different names AND different CLX addresses and OR them all together in the program. Certainly NOT!
As for Alarm Triggers, do bit triggers operate the same in CLX with the different addressing scheme? In PLC5, a bit trigger of B17/0 covered alarm bits B17/0 to B17/254. In CLX, is the equivalent HMI_Alarms[0].0 to HMI_Alarms[x].y where x and y is determined by whether HMI_Alarms is a DINT or INT? Or can a trigger even be a DINT? Or do I have to use an array of BOOL so that it is HMI_Alarms[0] to HMI_Alarms[255]?
And Lastly....If using controller tags and not CIP or Assembly in the PV is there any reason to add the PV in the CLX I/O tree. That creates a bunch of DINTs in CLX but do I need to do that if I'm using direct controller tags in the PV?
Please help on any or all ?s!
Thanks!!
Soooooo....
First off I converted the PV type to Ethernet and setup the comms. First thing this did is wipe the tag database as all the tags now are defined within the animations as controller tags so I guess there is no 'database' anymore since I'm not using CIP or Assembly tags.
So, no problem, I just had to go in each animation link, and edit the tag address there to point to a CLX tag. First thing I discovered here is that only native tags are supported. Can't use UDTs...Bummer. Okay so a little mapping later to native tags and now I've got all the addresses changed.
Validate the project and it is complaining of multiple instances of tag writes. Didn't do that on DH+. Are you telling me that I can't have a tag defined as Fault_ACK_PB on each screen? The tag address is HMI_Bits[60].0 which is fine. Do I have to create a different name (IE Fault_ACK_PB1, Fault_ACK_PB2) and if so can they point to the same HMI_Bits[60].0? Or do I have to create different names AND different CLX addresses and OR them all together in the program. Certainly NOT!
As for Alarm Triggers, do bit triggers operate the same in CLX with the different addressing scheme? In PLC5, a bit trigger of B17/0 covered alarm bits B17/0 to B17/254. In CLX, is the equivalent HMI_Alarms[0].0 to HMI_Alarms[x].y where x and y is determined by whether HMI_Alarms is a DINT or INT? Or can a trigger even be a DINT? Or do I have to use an array of BOOL so that it is HMI_Alarms[0] to HMI_Alarms[255]?
And Lastly....If using controller tags and not CIP or Assembly in the PV is there any reason to add the PV in the CLX I/O tree. That creates a bunch of DINTs in CLX but do I need to do that if I'm using direct controller tags in the PV?
Please help on any or all ?s!
Thanks!!