PmCommData - Deatiled object description
See: Object PmCommData
The object is generated by the type of the communication protocol set by the PmComm
object. That's why it is advisable to create the PmCommData
object after the configuration of the PmComm
An addressing identifier is assigned to each variable defined in this object (see the configurator "ItemID
"), that positively defines, haw to obtain the variable value from the communication. The object then intelligently separates the variables into optimised communication messages (creates something like invisible PmCommMsg
type objects) and according to the settings in this object takes care of sending or receiving such communication messages.
PmCommMsg and PmCommData objects comparation:
- The PmCommMsg
- Is a "low level" object, meaning that the data format in this object is created depending on the communication message type, defined by corresponding protocol. If you want to receive, for example, both registers and counters, then two PmCommMsg
objects must be created, because the current protocol does not support receiving both registers and counters in one message.
- The PmCommData
- compared to the PmCommMsg
object, it is on a higher level, because the data in this object are not depending on used protocol. It is possible, for example, to define data for both counters and registers and the object will intelligently assemble this data into communication messages.
- so far this object can be used only for following drivers: PmModbusMr
. For some drivers the PmCommData
object cannot be used based on the principles (e.g. for the PmChar
driver, because this user defined protocol does not have any general addressing and depends only on the user, what kind of message will be created by the PmCommMsg
In the PmCommData object, the #vars identifer is used in order to enables access to the variables of the Var type defined on the Data page. This identifier can be used in methods working with application object tree (e.g. for the Pm method), or for the PP binding in the application and in panels. For example the Pm("opcdata/#vars/aaa") method returns the variable aaa data item from the object named commdata that is of the PmCommData type.
The variables in the PmData object can use ExtComm and register itself directly into the PmCommData object. Then, on the page PmCommData > Data, it is not needed to define any variables.