What is the main goal of Multiprocess ?

When we select multiprocess we have any troubles (each process has personal local variables and etc)/ Which bonus we have when we select multiprocess ?

In other SCADA systems (for example WinCC, InTouch, RSView32, iFix, Proficy) we have not anything like multiprocess/single_process in Citect .....

Parents
  • >So this processes are Windows processes

    Yes, in multiprocess mode, each Citect runtime process will be a separate Windows process. In the Windows Task Manager you will see multiple copies of citect32.exe (or citect.exe) running. Compare the process ID (PID) in Task Manager with the process ID shown in the Citect Runtime Manager to tell which is which.


    >why we must care about the distribution of processes by the operating system ?
    >why Citect don't run in multiprocess mode by default ?
    >when we started run Runtime in multiprocess this alarms stopped worked

    I think you answered your own question. When you switch from single process to multiprocess you can break certain functionality in your project and have to manually change how it is designed to make it work again. Originally, Citect only had single-process mode. Then, multiprocess mode was added, but each process was locked to a single CPU. Now, each process runs on all available CPUs. Citect still needs to support older projects so you have to choose which mode you want. Tech Support strongly suggests using multiprocess mode since it makes troubleshooting easier, in addition to supporting online changes, improving performance, and allowing each process to access 4GB of memory. However, you have to be aware that local variables and Cicode variables are not shared between processes. Also, some Cicode functions (like alarm and server info functions) need to be run from the correct server process, and some will work differently depending on whether they're called from the client or server process--see the help for each function for details.


    >Why Citect does not automatically make an address for memory tag ?

    That would be nice. However, you can make it easier if you use OPC as the protocol for your memory devices. Then, Citect doesn't care what address you use for each tag. I just copy the tag name into the address field. You also avoid the GENERIC protocol's limits for the number of tags you can have for each data type. That's why OPC is now the default for any new disk/memory devices.

Reply
  • >So this processes are Windows processes

    Yes, in multiprocess mode, each Citect runtime process will be a separate Windows process. In the Windows Task Manager you will see multiple copies of citect32.exe (or citect.exe) running. Compare the process ID (PID) in Task Manager with the process ID shown in the Citect Runtime Manager to tell which is which.


    >why we must care about the distribution of processes by the operating system ?
    >why Citect don't run in multiprocess mode by default ?
    >when we started run Runtime in multiprocess this alarms stopped worked

    I think you answered your own question. When you switch from single process to multiprocess you can break certain functionality in your project and have to manually change how it is designed to make it work again. Originally, Citect only had single-process mode. Then, multiprocess mode was added, but each process was locked to a single CPU. Now, each process runs on all available CPUs. Citect still needs to support older projects so you have to choose which mode you want. Tech Support strongly suggests using multiprocess mode since it makes troubleshooting easier, in addition to supporting online changes, improving performance, and allowing each process to access 4GB of memory. However, you have to be aware that local variables and Cicode variables are not shared between processes. Also, some Cicode functions (like alarm and server info functions) need to be run from the correct server process, and some will work differently depending on whether they're called from the client or server process--see the help for each function for details.


    >Why Citect does not automatically make an address for memory tag ?

    That would be nice. However, you can make it easier if you use OPC as the protocol for your memory devices. Then, Citect doesn't care what address you use for each tag. I just copy the tag name into the address field. You also avoid the GENERIC protocol's limits for the number of tags you can have for each data type. That's why OPC is now the default for any new disk/memory devices.

Children
No Data