PmCommMsg - Deatiled object description
See: Object PmCommMsg
No other PROMOTIC objects can be created in this object. The PmCommMsg
object can be created only in the PmComm
object. There can be even more PmCommMsg
objects in the PmComm
This object adds variables into the calculation of the application size, which influences the basic runtime license type/size (see: Price list of PROMOTIC system ).
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 PmCommMsg
object after the configuration of the PmComm
The object includes two groups of variables. One serves for the specification of the sending data
(see the Data-sent
page) and the other serves as receiving data
from the communication (see the Data-received
It is possible to access these variables even by the script (See property WriteVars and ReadVars).
- writing into the first (zero-based index) variable for sending data:
- reading the third (zero-based index) variable for receiving data:
#rcvvars and #sndvars identificators:
In the PmCommMsg object, the #rcvvars and #sndvars identificators are used for accessing the data subobjects (of the Var type) defined on Data-received and Data-sent pages. 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("/Comm/Msg1/#rcvvars/aaa") method returns the received data item aaa from the object named Msg1 that is of the PmCommMsg type.
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 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