fwConfigs
8.4.5
|
Functions | |
_fwPeriphAddressS7_set (string dpe, dyn_anytype addressConfig, dyn_string &exceptionInfo, bool setWait=true) | |
private void | fwPeriphAddress_parseS7Address_DBx (string addr) |
private void | fwPeriphAddress_parseS7Address_main (string addr) |
fwPeriphAddress_checkS7Parameters (dyn_string dsParameters, dyn_string &exceptionInfo) | |
_fwPeriphAddressS7_get (string dpe, dyn_anytype &addressConfig, bool &isActive, dyn_string &exceptionInfo) | |
_fwPeriphAddressS7_delete (string dpe, dyn_string &exceptionInfo) | |
_fwPeriphAddressS7_initPanel (string dpe, dyn_string &exceptionInfo) | |
string | _fwPeriphAddressS7_setValuesFromRef (string reference, string sSystemName) |
int | _fwPeriphAddressS7_getTransfo () |
string | _fwPeriphAddressS7_encodeAddress () |
int | _fwPeriphAddressS7_getDir (int directionModeS7, int receiveMode) |
_fwPeriphAddressS7_setIOMode (int io, int im, string sSystemName) | |
This library contains function associated with S7 addressing. Functions are provided to set, get and delete the addressing for a dpe
09/07/2014 Marco Boccioli
09/07/2014 Marco Boccioli
01/08/2014 Marco Boccioli
12/11/2012 Marco Boccioli
12/11/2012 Marco Boccioli
13/09/2011 Marco Boccioli
_fwPeriphAddressS7_set | ( | string | dpe, |
dyn_anytype | addressConfig, | ||
dyn_string & | exceptionInfo, | ||
bool | setWait = true |
||
) |
Set the S7 addressing
Note: This function should not be called directly. Call the fwPeriphAddress_set instead.
dpe | input, data point element to configure |
addressConfig | input, object containing address configuration details |
exceptionInfo | output, details of any exceptions are returned here |
private void fwPeriphAddress_parseS7Address_DBx | ( | string | addr | ) |
Parse the DBx part of the address, throwing exceptions as necessary
private void fwPeriphAddress_parseS7Address_main | ( | string | addr | ) |
Allowed patterns {T,Z}y {DBx.DBX , M , E , I , A , Q}y[.z] {DBx.DB, M , E , I , A , Q}{B,W,D}y {DBx.DB, M}DyF
Note that "DB*y" are supposed to be already truncated to "B*y" and bit-included "Qy.z" are converted to "Q#y.z" (actually "Q#y"), and "DBXy.z" into "X#y.z" (actually "X#y"). similarly Ty and Zy were changed to T::y and Z::y
In short: the "addr" will always have two letters: either padded with "#" on 2nd char, or DBX truncated to BX
fwPeriphAddress_checkS7Parameters | ( | dyn_string | dsParameters, |
dyn_string & | exceptionInfo | ||
) |
Check if data is Ok to set a S7 address
The address is generally a dot-separated string, with:
There may also be the symbolic addressing. Again, the first item (before the dot) is the connection name, while the second has some specific formatting.
It may also be a timer or a counter, in which name there are again only 2 items.
Alarm addresses ("TestS7.:1:2:3") are not supported.
Here are a couple of examples:
MyS7Connection.DB498.DBB512:200 - data block 498, start at byte 512, take a blob, and extract 200 bytes; the connection is defined as "MyS7Connection" inside WinCC OA
MyS7Connection.DB1.DBX30.3 - data block 1, start at byte 30, take bit 3 in "MyS7Connection"
MyS7Connection.T5 - timer 5
MyS7Connection.Z3 - counter 3
dsParameters | parameters used to set the _address config (see constants definition) |
exceptionInfo | for any error. If a parameter is incorrect, exceptionInfo is not empty ! |
_fwPeriphAddressS7_get | ( | string | dpe, |
dyn_anytype & | addressConfig, | ||
bool & | isActive, | ||
dyn_string & | exceptionInfo | ||
) |
Get the S7 addressing
Note: This function should not be called directly. Call the fwPeriphAddress_get instead.
dpe | input, data point element to read |
addressConfig | output, object containing address configuration details |
isActive | output, TRUE is addressing is active, else FALSE |
exceptionInfo | output, details of any exceptions are returned here |
_fwPeriphAddressS7_delete | ( | string | dpe, |
dyn_string & | exceptionInfo | ||
) |
Delete the S7 addressing
Note: This function should not be called directly. Call the fwPeriphAddress_delete instead.
dpe | input, data point element to configure |
exceptionInfo | output, details of any exceptions are returned here |
_fwPeriphAddressS7_initPanel | ( | string | dpe, |
dyn_string & | exceptionInfo | ||
) |
Initialise the graphics of the address panel symbol.
Note: This function should only be called from fwPeriphAddres.pnl.
dpe | input, data point element to configure |
exceptionInfo | output, details of any exceptions are returned here |
string _fwPeriphAddressS7_setValuesFromRef | ( | string | reference, |
string | sSystemName | ||
) |
Set S7 panel values
Note: This function fills the panel fields in funciton of the REFERENCE selected by the user in several fields of the fwPeriphAddressS7.pnl
reference | input, user introduced reference |
sSystemName | input, system name |
int _fwPeriphAddressS7_getTransfo | ( | ) |
Recuperate transformation type
Note: This function recuperates the selected trasnforamtion type selected by the user in several fields of the fwPeriphAddressS7.pnl
string _fwPeriphAddressS7_encodeAddress | ( | ) |
Encode the S7 address
Note: This function encodes the S7 address introduced by the user in several fields of the fwPeriphAddressS7.pnl
int _fwPeriphAddressS7_getDir | ( | int | directionModeS7, |
int | receiveMode | ||
) |
Get the S7 IO mode
Note: This function gets the IO mode from the user selection in the _fwPeriphAddressS7.pnl. new constants are defined to the In/out modes
directionModeS7 | input, direction mode (Output, Input, Input/Output) |
receiveMode | input, type mode (TSPP, Polling, Single Query) |
_fwPeriphAddressS7_setIOMode | ( | int | io, |
int | im, | ||
string | sSystemName | ||
) |
Set the S7 IO mode
Note: This function sets the IO mode from the user selection. There is the case "1" which is also used to set up the INPUT mode when user introduce an PLC peripherial INPUT from the address field.
io | input, direction mode (Output, Input, Input/Output) |
im | input, type mode (TSPP, Polling, Single Query) |
sSystemName | input, system name |
!!pollgroup