SMC_ReadNCFile

作用: 

由于读取G代码文件。解析给SMC_NCDecoder

  SMC_ReadNCFile_第1张图片

SMC_ReadNCFile
// in
bExecute    上升沿:开始执行。TRUE时,功能块处于活动状态。
sFileName   文件路径
pvl                         如果CNC程序中没有变量,则不会设置此输入。SMC_VARLIST列表
pBuffer                     在IEC应用程序中分配的足够大的空闲数据区(缓冲区)上的指针。强烈建议将 
                            缓冲区分配为ARRAY[0..x]OF|ioSMC_GCODE_WORD|,以确保数据对齐正确。 
                            字节数组[0..x]的定义可能会导致某些平台上的数据访问不对齐。
dwBufferSize    缓冲区的大小(以字节为单位)
fDefaultVel     默认速度;(如果CNC文件中未指定速度,则使用。)
fDefaultAccel   默认加速度;
fDefaultDecel   默认减速度
fDefaultVelFF    (G0)默认速度
fDefaultAccelFF  (G0)默认加速度
fDefaultDecelFF  (G0)默认减速度,使用非负值。
b3DMode            如果为TRUE,则隐含执行G17命令(激活3D模式)。
pStringBuffer      指向SMC_StringBuffer类型的对象的指针。该对象用于存储G代码程序中定义的字符                                                        
                     串,以便使用G36和37将其写入变量。如果指针未设置(0),并且G代码程序中使用 
                     了字符串常量,则会生成错误。(SMC_RNCF_NO_STRINGBUFFER)。
bEnableSyntaxChecks 打开语法检查,在这种情况下会检测到无效的G代码并以错误停止

// out
bDone        如果参数可用,则为TRUE
bBusy        功能块执行未完成时为TRUE
bError        TRUE表示发生错误。
ErrorID        错误识别,SMC_Error
bExecuteDecoder    用于触发SMC_NC解码器模块的输入执行的信号。
ncprog            CNC程序,随后的SMC_NC解码器模块的输入。
dwFileSize        %1(%2)文件的大小(以字节为单位)。
dwPos            光标在文件中的当前位置。

 SMC_NCDecoder   NC解码器

SMC_NCDecoder   淘汰

SMC_NCInterpreter

FUNCTION_BLOCK最终SMC_NC解码器
此功能块用于将CNC程序(Din 66025,G代码)转换为SMC_GEOINFO对象列表。在每个循环中,对程序的一行进行解码。
笔记
一行中M函数的最大数目为64。如果G代码在一行中包含超过64个M函数,则会出现错误SMC_DEC_OUTQUEUE_RAN_EMPTY。这种限制可以通过在序列的第一个M-函数之前插入G75来规避。G4元素也算作M-函数。
笔记
从编程系统的V3.5 SP2开始,iLineNumberDecoded存储CNC文件刚刚编码的基于0的行号。在早期的版本中,特别是CODESYS V2.3,语句编号(=N字的值)已经存储在那里。
笔记
此功能块已被SMC_NCInterpreter取代,仅为兼容性而保留。建议使用SMC_NCInterpreter(以及SMC_ReadNCFile2),它具有其他功能,如中的数学表达式或子程序

 

 SMC_ReadNCFile_第2张图片

 

SMC_NCDecoder
// in
ncprog
bExecute
bAbort
bAppend
bStepSuppress
piStartPosition
vStartToolLength
nSizeOutQueue
pbyBufferOutQueue
bEnableSyntaxChecks
eOriConv
dCircleTolerance

//  out
bDone
bBusy
bError
wErrorID
poqDataOut







 

你可能感兴趣的:(3D打印机,Marlin,Grbl,CNC,plc,cnc)