log
to send data to the cloud, or a discover
to only display information. There must be a config file when running log
or a discover
. The config file defines which variables need to be collected, what names they appear on the the Ardexa cloud, units and scaling, what table(s) they variables will be sent to, and the source name(s). Example config file as follows. Always verify data accuracy by running a discover
first, before committing the plugin to collect data.#
is a comment line, and will be ignoredMemory Area
is sometimes referred to as the "block". Valid values can be things like OB
, DB
, SDB
, FC
, SFC
, FB
, SFB
. However, they can also be customised implementations.Block Number
, this is an integer value, usually in the range [0...127]. Check with the PLC project manager.Memory Address
MUST be formatted as follows:MX13.1
. The value M
is ignored, but the X
denotes a bit wise mapping. 13
is the memory location, and .1
is bit 1.MW2
. The value M
is ignored, but the W
denotes a WORD (2 byte) entry . 2
is the memory location, in this case.freal334
. The value freal
is used to denote a real (4 bytes value). 334
is the memory location, in this case.Scale
will only be used for decimal
and integer
types. An error will be reported if you try and divide an integer, or multiply by anything other than a whole number. The scale can also be a value such as 0.75-9
, where the -9
is a BIAS value (addition or subtraction). In which case it will FIRST subtract the 9, THEN multiply by 0.75. If using a bias value, then it can ONLY be used with a decimal
type.Invalidate
. This column will only do the following task": If an entry starts with >
, it will invalidate ALL entries in a configuration file, if the value for this entry is greater than the specified amount. For example; if the Invalidate
column entry is >10000
, then a value of 12,000 will ensure ALL readings in the configuration file are invalidated. Use this item with caution. Also, it will ONLY work on dec
values. This invalidation feature is intended for those machines that have poor quality control, and sometimes transmit wildly wrong values.Lookup Table
; Sometimes you want to convert an INT to a keyword, through a lookup table. Or you may want to get a register bit and convert it to a keyword, or the string length. See examples below.Type
column values are as follows:dec
... Converts the S7 location to a decimal. Can be scaled (including division).int
... Converts the S7 location to an integer. Can only be scaled upwards (not divided). So a scale
value that is not a whole number will be rejected. bool
... S7 location is converted to an INT. This value is then check as follows: Anything other than 0
will output a True
. Else, output will be False
.int_bool
... S7 location is converted to an INT. This value is then check as follows: Anything other than 0
will output a 1
. Else, output will be 0
.bin
... Converts the S7 location to an integer, then to a binary representation.bit
... Used with a lookup table (in the Lookup Table
column) to define a bit being turned or off. See example contents of file below. bitb
... If a bit in the S7 location is turned on/off, it will reflect a boolean ("True"/"False") output. bitb_int
... If a bit in the S7 location is turned on/off, it will reflect a boolean ("1"/"0") output. str
... Treated as an ASCII character. If it can't be converted, it will output an empty fieldstr_rep
... Same as str
, but it will clear \0
values in the resultant string.str_raw
... Treated as raw characters without ANY conversion. Note the INTEGER in the example above specifies the LENGTH of the string to the PLCip_address
This is the IP Address of the S7 PLC. Make sure that Port 102 is open. config_path
. This is the config file location--attempts
Is the number of attempts to make to get data from the PLC. The default=2--rack
and --slot
values are both integers. They default to rack=0
and slot=1
. The Rack (0..7) and Slot (1..31) can be found in the hardware configuration of the project. There is however some special cases for which those values are fixed or can work with a defaults, as shown:S7_write
table, and is available in SEARCHES on the Ardexa front end. The command is s7_ardexa set_command {arguments}
. The arguments for the write capability include, in order:IP address
if the IP Address of the S7 PLCarea
(eg; DB
)block
(eg; 99
)memory address
(eg; MW916
)--rack
and --slot
values are both optional integers. See the above Read Arguments
s7_ardexa set_command 192.168.1.2 db 2 MW876 1193
1
. Include a 0
value to display something (or blank) if no bits are turned on