How are globals processed in Multiprog? Are they read at the beginning of the scan for each task they are in and written to at the end? The latest value is the last one written? Assuming there is no buffer or other way to update globals during the scan. Trying to determine what would be the equivalent performance/processing in PLCnext if not using ports.
Hello sparky66,
please note this is the PLCnext community, please find the information about GDS and supported variables types under following link: GDS Global Data Space (plcnext.help)
Multiprog is a IDE, the compiled code/variables will be proceed by runtime e.g. ProConOS. If you need more information, please contact the local subsidary.
Thanks & BR
Eduard
Yes, I am fully aware that this is a PLCnext community. I thought that since PLCnext and Multiprog are both Phoenix Contact products, and many Multiprog users will be moving to PLCnext, that this would be good information for PLCnext users.
Hello sparky66,
Multiprog IDE was developed by KW Software, I don’t find this IDE on Phoenix Contact Product site and assume it will be not longer developed and supported.
Regarding Multiprog vs. PLCnext Engineer - the PLCnext Engineer was developed completely new from scratch and I assume it makes no sence to compare it deeply.
I know that there are parts and use cases in the PLCnext Engineer that are already fulfilled with Multiprog, but there are many new functions in PLCnext Engineer that are better there or not possible with Multiprog.
So a direct comparison isn’t really fair.
If the user implement the Application for PLCnext PLC, he can use the PLCnext Engineer IDE and for Classic PLC the PCWorx IDE.
I hope it can help.
BR Eduard
Hi Eduard-
PCWorx=Multiprog. Phoenix Contact bought KW Software(the company, not just the software).
Hello sparky66,
yes, Phoenix Contact bought KW Software but Multiprog IDE and PCWorx IDE are standalone products. PCWorx was/is tailored to the needs of Phoenix Contact (mainly bus configuration and diagnostics). The statement PCWorx=Multiprog isn’t correct.
The important question should be whether the user wants to use Classic PLC or PLCnext PLC in his system. If Classic PLC is chosen, then PCWorx IDE must be used for programming, if PLCnext PLC then the PLCnext Engineer IDE.
If you thought about the Comparison: PLCnext Enginner IDE vs PCWorx IDE
PLCnext Enginner IDE and PCWorx IDE are different environment tools that offer a special type of programming. I think the following evaluation/information will help you:
PLCnext Engineer IDE was developed, on the one hand, to offer all engineering tasks such as programming, visualization and security together and, on the other hand, to develop according to the latest usability standards.
PCWORX IDE , on the other hand, has proven itself a million times over since the early 2000s, but will not be further developed in the future.
We therefore advise all of our customers to use PLCnext Technology for the newly planned automation systems.
BR Eduard
I think we might be losing something in translation. I am merely asking about how Globals behave between the 2 platforms. Ports are not easy to use, so some customers may chose to use the more traditional Globals if they are suitable to their application. If Globals in PCWORX were suitable, then perhaps they would also be suitable in PLCnext Engineer. I am assuming Globals process the same in PCWORX as they do in Multiprog, but I can’t say that for sure.
Hello sparky66,
„If Globals in PCWORX were suitable, then perhaps they would also be suitable in PLCnext Engineer.“
→ Yes of course, the PLCnext Engineer offers the usage of variables according to the IEC 61131-3 standard, please find the detailed information under Topic „Scope of variables“ in PLCnext Engineer Online Help
→ In addition to the IEC 61131-3 standard, the „port variables“ were developed for data exchange between the programs implemented in different languages, e.g. C++, Matlab, IEC61131. The challenge here was to implement a component (GDS) to be able to connect port variables of program-specific data types. Please find the detailed information in PLCnext Engineer Help:
Ports vs resource-global variables
From the view of the IEC 61131-3 programmer, the main difference is that a PLCnext Technology controller uses ports in addition to or instead of resource-global variables known from the IEC 61131-3 standard. Ports enable the communication of program instances between each other independently of the origin of a program.
Even if a program has been developed in a non-IEC 61131-3 language such as C++, it provides IN ports and OUT ports which can be mapped to other ports in PLCnext Engineer. This way, communication is even possible between IEC 61131-3-compliant programs and „non-IEC 61131-3 programs“.
For that purpose, input and output ports can be assigned to each other using the role mapping function in the Port List. Port Lists are available on the ‚PLCnext‘ node and on program instance nodes in the PLANT. A Port List contains the ports which are relevant for the respective PLANT node and allows the port-to-port mapping.
Besides ports, PLCnext Technology controllers also support resource-global variables as known from traditional IEC 61131-3-compliant targets. This means you can develop and use program and FB POUs as usual and declare resource-global variables as well as input/output variables. However, these resource-global variables cannot be connected (mapped) to ports of non-IEC 61131-3 programs. For that purpose, you have to develop programs with IN/OUT ports in PLCnext Engineer.