Difference between revisions of "MC-Basic:RECORD$"

From SoftMC-Wiki
Jump to: navigation, search
(Created page with '{{MC-Basic |SHORT FORM= |SYNTAX= RECORD$ ''<record file name> <number of points> ''{RingBuffer = ''<ON <nowiki>|</nowiki> OFF>''}  {Gap = ''<record gap>''} RecData = ''<expres…')
 
(gap limited to 64, explained meaning of negative value of number of points)
 
(13 intermediate revisions by 6 users not shown)
Line 4: Line 4:
  
 
|SYNTAX=
 
|SYNTAX=
RECORD$ ''<record file name> <number of points> ''{RingBuffer = ''<ON <nowiki>|</nowiki> OFF>''}  {Gap = ''<record gap>''} RecData = ''<expression>''{, ''<expression>''}*
+
RECORD$ ''<record file name> <number of points> ''{RingBuffer = ''<ON ?'"`UNIQ--nowiki-00000001-QINU`"'? OFF>''}  {Gap = ''<record gap>''} RecData = <''expression''>{, <''expression''>}*
  
 
|AVAILABILITY=
 
|AVAILABILITY=
Line 13: Line 13:
  
 
You must specify the ''<number of points>'' to be recorded, where one point is a set of data recorded at a given instant in time. The recorder may be stopped before the specified number of points have been recorded (using RECORDOFF).
 
You must specify the ''<number of points>'' to be recorded, where one point is a set of data recorded at a given instant in time. The recorder may be stopped before the specified number of points have been recorded (using RECORDOFF).
 +
 +
Negative value of ''<number of points>'' means ''<RingBuffer=On>'' and converted to positive number.
  
 
Optional <''RingBuffer>'' allows continous recording until recorder is either paused or stopped. In that case only last ''<number of points>'' records are kept.
 
Optional <''RingBuffer>'' allows continous recording until recorder is either paused or stopped. In that case only last ''<number of points>'' records are kept.
Line 18: Line 20:
 
The time between successive samples of the data is given by ''<record gap>'', which specifies the number of SERCOS cycles between samples. A maximum of six expressions may be recorded.
 
The time between successive samples of the data is given by ''<record gap>'', which specifies the number of SERCOS cycles between samples. A maximum of six expressions may be recorded.
  
Data   are recorded in realtime, so complex expressions add to the system load.   Recording of expressions containing strings, points or structures may result   in an overlap error, due to memory allocation processes. RECORD only defines   the data to be recorded. The actual recording process is triggered by   RECORDON.
+
{{Note|Data are recorded in realtime, so complex expressions add to the system load.  
 +
Recording of expressions containing strings, points or structures may result in an overlap error, due to memory allocation processes.  
 +
RECORD only defines the data to be recorded.  
 +
The actual recording process is triggered by RECORDON.}}
  
 
|TYPE=
 
|TYPE=
Line 28: Line 33:
 
''                             <record gap>'': Long
 
''                             <record gap>'': Long
  
''<expression>'': Long, Double
+
<''expression''>: Long, Double
  
 
|RANGE=
 
|RANGE=
 
''<record file name>'': Any filename extension must be REC.<br>
 
''<record file name>'': Any filename extension must be REC.<br>
''<number of points>'': 1 to MaxLong<br>
+
''<number of points>'': -MaxLong to MaxLong<br>
''<record gap>'': 1 to MaxLong
+
''<record gap>'': 1 to 64
  
 
|UNITS=
 
|UNITS=
Line 60: Line 65:
 
RecordClose
 
RecordClose
  
Record RecFileString -1000 Gap = 1 RecData = a1.pcmd, a1.pfb, a2.pcmd, MyVar
+
Record$ RecFileString 1000 RingBuffer=On RecData = a1.pcmd, a1.pfb, a2.pcmd, MyVar
  
 
RecordOn
 
RecordOn
Line 69: Line 74:
  
 
|SEE ALSO=
 
|SEE ALSO=
* [[Axystems:MC-Basic:RECORD|RECORD]]
+
* [[MC-Basic:RECORD|RECORD]]
* [[Axystems:MC-Basic:RECORDCLOSE|RECORDCLOSE]]
+
* [[MC-Basic:RECORDCLOSE|RECORDCLOSE]]
* [[Axystems:MC-Basic:RECORDING|RECORDING]]
+
* [[MC-Basic:RECORDING|RECORDING]]
* [[Axystems:MC-Basic:RECORDOFF|RECORDOFF]]
+
* [[MC-Basic:RECORDOFF|RECORDOFF]]
* [[Axystems:MC-Basic:RECORDON|RECORDON]]
+
* [[MC-Basic:RECORDON|RECORDON]]
  
 +
[[Category:MC-Basic:Data Recording|RECORD$]]
  
 
}}
 
}}

Latest revision as of 13:28, 5 May 2020

This command is used to arm (not trigger) data recording. Data are recorded into the specified file, which is then retrieved for viewing. The record file must always have the extension REC. The recorded data file is stored on RAM drive, so the file is lost after power off.

You must specify the <number of points> to be recorded, where one point is a set of data recorded at a given instant in time. The recorder may be stopped before the specified number of points have been recorded (using RECORDOFF).

Negative value of <number of points> means <RingBuffer=On> and converted to positive number.

Optional <RingBuffer> allows continous recording until recorder is either paused or stopped. In that case only last <number of points> records are kept.

The time between successive samples of the data is given by <record gap>, which specifies the number of SERCOS cycles between samples. A maximum of six expressions may be recorded.

NOTE-Info.svgNOTE
Data are recorded in realtime, so complex expressions add to the system load.

Recording of expressions containing strings, points or structures may result in an overlap error, due to memory allocation processes. RECORD only defines the data to be recorded.

The actual recording process is triggered by RECORDON.

Syntax

RECORD$ <record file name> <number of points> {RingBuffer = <ON ?'"`UNIQ--nowiki-00000001-QINU`"'? OFF>}  {Gap = <record gap>} RecData = <expression>{, <expression>}*

Availability

All versions

Type

<record file name>: String, including file name and extension.
<number of points>: Long

<ring buffer>: 1/0

                             <record gap>: Long

<expression>: Long, Double

Range

<record file name>: Any filename extension must be REC.
<number of points>: -MaxLong to MaxLong
<record gap>: 1 to 64

Scope

Task or Terminal

Limitations

The record file is stored on the RAM drive, so size is limited. Recording stops if there is no space available on the RAM drive. A RECORDCLOSE command must be issued before a second RECORD command is issued.

Local variables cannot be recorded.

Examples

Record$ “Motion.rec” 1000 Gap = 1RecData = a1.pcmd, a1.pfb, a2.pcmd, MyVar

Dim shared RecFileString as string = “Motion.rec”

Record$ RecFileString 1000 Gap = 1 RecData =a1.pcmd, a1.pfb, a2.pcmd, MyVar

RecordOn

RecordClose

Record$ RecFileString 1000 RingBuffer=On RecData = a1.pcmd, a1.pfb, a2.pcmd, MyVar

RecordOn

RecordClose

See Also