Difference between revisions of "MC-Basic:RECORD$"
(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 | + | 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 | + | {{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 |
|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>'': | + | ''<number of points>'': -MaxLong to MaxLong<br> |
− | ''<record gap>'': 1 to | + | ''<record gap>'': 1 to 64 |
|UNITS= | |UNITS= | ||
Line 60: | Line 65: | ||
RecordClose | RecordClose | ||
− | Record RecFileString | + | Record$ RecFileString 1000 RingBuffer=On RecData = a1.pcmd, a1.pfb, a2.pcmd, MyVar |
RecordOn | RecordOn | ||
Line 69: | Line 74: | ||
|SEE ALSO= | |SEE ALSO= | ||
− | * [[ | + | * [[MC-Basic:RECORD|RECORD]] |
− | * [[ | + | * [[MC-Basic:RECORDCLOSE|RECORDCLOSE]] |
− | * [[ | + | * [[MC-Basic:RECORDING|RECORDING]] |
− | * [[ | + | * [[MC-Basic:RECORDOFF|RECORDOFF]] |
− | * [[ | + | * [[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 | |
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