Michael,
The simple answer to your question is... "It depends!"
One of our programming "beliefs" is, "If you can program one PLC you can program them all".
Your question is like asking...
"I used a "Blue-Brand" hammer to make this. Can I do the same thing with a "Green-Brand" hammer?"
This too is covered by the programming "belief"...
"Even though there are slight differences between various hammers, if you know how to use a hammer at all, then you know how to use a hammer."
You might need to get used to the weight difference, or the fact that it has one of those ergonomic handles, or maybe the claw on the Green-Brand" hammer is straighter than the claw on the "Blue-Brand" hammer. Ultimately, the "Color-Brand" doesn't matter.
A PLC (or a hammer) is nothing more than a device that is used to implement your "SOLUTION" to a "PROBLEM".
The real issues are...
"Do you have a clear understanding of the PROBLEM?"
"Do you have a clear understanding of your SOLUTION?"
"Do you understand your SOLUTION well enough to develop a GENERAL SOLUTION?"
If you answered YES to all three questions, then, you can implement your solution on ANY PLC! (Assumes PLC's of reasonable capabilities.)
In some rare cases, you can literally PORT a program from one PLATFORM to another. These Platforms typically have to be in the same Family (Brand). However, there are usually one or two "gotcha's".
It is very unlikely that you can literally Port a program between different Platforms.
In that case, what you need to Port is the CONCEPT!
If, based on your understanding of the Problem and your Solution, you have developed a reasonable General Solution, then you can Port the Concept to ANY Platform.
A programmer simply needs to become familiar with how the new Platform refers to, and uses, the commands & functions that you are already familiar with.
Caveat!
"All-Platforms" are not necessarily created the same...
Sometimes a "General Solution" applied to one Platform doesn't port as easily as one would like. It could be that the "General Solution" in the original Platform took advantage of a particular feature that you don't find in other Platforms. This situation occurs more often than you might think. In that case, the solution is "General" only in terms of the given Platform (this is a WEAK Generalization).
If you find a way to handle the particular issue on the new Platform and then Port that solution back to the original Platform, then the General Solution in both Platforms becomes "More General"!
This is not a typical concern for End-Users. It is, however, very much a concern with OEM's! They might be selling a particular machine with any of several types of PLC's controlling the system. Sometimes the customer specifies the PLC-Type. In that case, it behooves the OEM to keep the Solution as GENERAL as Possible! While more for the benefit of the OEM, the End-User also benefits.